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

41560 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_028C4504 @ 0x28c4504
void Gambit_fn_028C4504(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028C4504: ; // 0x28c4504
/* 028C4504 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C4504 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C4504 */ cpu->r[1] = _t0;
/* 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 */ _t1 = cpu->r[12] + 0xFFFF94ECu;
/* 028C451C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
/* 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 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028C4534 */ cpu->r[4] = rbrew_read32(cpu->mem, _t2);
/* 028C4538 */ cpu->r[3] = cpu->r[10];
/* 028C453C */ Gambit_fn_02C2E220(cpu);
/* 028C4540 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C4540 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028C4544 */ cpu->lr = cpu->r[0];
/* 028C4548 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C454C */ return;
}
// fn_028C4550 @ 0x28c4550
void Gambit_fn_028C4550(CPUState* cpu) {
uint32_t _t0, _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_028C4550: ; // 0x28c4550
/* 028C4550 */ cpu->r[0] = cpu->lr;
/* 028C4554 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028C4554 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C4554 */ cpu->r[1] = _t0;
/* 028C4558 */ _t1 = cpu->r[1] + 0x00000018u;
/* 028C4558 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028C455C */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028C455C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028C4560 */ /* nop */
/* 028C4564 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C4564 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028C4568 */ _t4 = cpu->r[1] + 0x00000020u;
/* 028C4568 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
/* 028C456C */ cpu->r[31] = cpu->r[3];
/* 028C4570 */ _t5 = cpu->r[1] + 0x00000010u;
/* 028C4570 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
/* 028C4574 */ _t6 = cpu->r[1] + 0x0000002Cu;
/* 028C4574 */ rbrew_write32(cpu->mem, _t6, 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 */ _t7 = cpu->r[31] + 0x00000064u;
/* 028C458C */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
/* 028C4590 */ cpu->r[3] = cpu->r[29];
/* 028C4594 */ _t8 = cpu->r[31] + 0x00000060u;
/* 028C4594 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[30]);
/* 028C4598 */ Gambit_fn_0283740C(cpu);
/* 028C459C */ _t9 = cpu->r[31] + 0x0000005Cu;
/* 028C459C */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
/* 028C45A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C45A4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C45A4 */ _t11 = _t10 & 0x00000001u;
/* 028C45A4 */ if (_t11) goto L_028C45B8; else goto L_028C45A8;
L_028C45A8: ; // 0x28c45a8
/* 028C45A8 */ _t12 = cpu->r[3] + 0x00000000u;
/* 028C45A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
/* 028C45AC */ _t13 = cpu->r[12] + 0x00000044u;
/* 028C45AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 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 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C45C4 */ _t15 = _t14 & 0x00000001u;
/* 028C45C4 */ if (_t15) 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 */ _t16 = cpu->r[31] + 0x0000005Cu;
/* 028C45D4 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
/* 028C45D8 */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028C45D8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
/* 028C45DC */ _t18 = cpu->r[1] + 0x00000020u;
/* 028C45DC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t18);
/* 028C45E0 */ _t19 = cpu->r[1] + 0x00000010u;
/* 028C45E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
/* 028C45E4 */ _t20 = cpu->r[1] + 0x00000018u;
/* 028C45E4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t20);
/* 028C45E8 */ _t21 = cpu->r[1] + 0x00000014u;
/* 028C45E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
/* 028C45EC */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C45EC */ _t23 = _t22 & 0x00000001u;
/* 028C45EC */ if (_t23) goto L_028C45F0; // else: addr-0 trap, fall-through
L_028C45F0: ; // 0x28c45f0
/* 028C45F0 */ _t24 = cpu->r[1] + 0x0000002Cu;
/* 028C45F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
/* 028C45F4 */ cpu->lr = cpu->r[0];
/* 028C45F8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028C45FC */ return;
}
// fn_028C4554 @ 0x28c4554
void Gambit_fn_028C4554(CPUState* cpu) {
uint32_t _t0, _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_028C4554: ; // 0x28c4554
/* 028C4554 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028C4554 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C4554 */ cpu->r[1] = _t0;
/* 028C4558 */ _t1 = cpu->r[1] + 0x00000018u;
/* 028C4558 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028C455C */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028C455C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028C4560 */ /* nop */
/* 028C4564 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C4564 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028C4568 */ _t4 = cpu->r[1] + 0x00000020u;
/* 028C4568 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
/* 028C456C */ cpu->r[31] = cpu->r[3];
/* 028C4570 */ _t5 = cpu->r[1] + 0x00000010u;
/* 028C4570 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
/* 028C4574 */ _t6 = cpu->r[1] + 0x0000002Cu;
/* 028C4574 */ rbrew_write32(cpu->mem, _t6, 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 */ _t7 = cpu->r[31] + 0x00000064u;
/* 028C458C */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
/* 028C4590 */ cpu->r[3] = cpu->r[29];
/* 028C4594 */ _t8 = cpu->r[31] + 0x00000060u;
/* 028C4594 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[30]);
/* 028C4598 */ Gambit_fn_0283740C(cpu);
/* 028C459C */ _t9 = cpu->r[31] + 0x0000005Cu;
/* 028C459C */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
/* 028C45A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C45A4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C45A4 */ _t11 = _t10 & 0x00000001u;
/* 028C45A4 */ if (_t11) goto L_028C45B8; else goto L_028C45A8;
L_028C45A8: ; // 0x28c45a8
/* 028C45A8 */ _t12 = cpu->r[3] + 0x00000000u;
/* 028C45A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
/* 028C45AC */ _t13 = cpu->r[12] + 0x00000044u;
/* 028C45AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 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 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C45C4 */ _t15 = _t14 & 0x00000001u;
/* 028C45C4 */ if (_t15) 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 */ _t16 = cpu->r[31] + 0x0000005Cu;
/* 028C45D4 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
/* 028C45D8 */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028C45D8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
/* 028C45DC */ _t18 = cpu->r[1] + 0x00000020u;
/* 028C45DC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t18);
/* 028C45E0 */ _t19 = cpu->r[1] + 0x00000010u;
/* 028C45E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
/* 028C45E4 */ _t20 = cpu->r[1] + 0x00000018u;
/* 028C45E4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t20);
/* 028C45E8 */ _t21 = cpu->r[1] + 0x00000014u;
/* 028C45E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
/* 028C45EC */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C45EC */ _t23 = _t22 & 0x00000001u;
/* 028C45EC */ if (_t23) goto L_028C45F0; // else: addr-0 trap, fall-through
L_028C45F0: ; // 0x28c45f0
/* 028C45F0 */ _t24 = cpu->r[1] + 0x0000002Cu;
/* 028C45F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
/* 028C45F4 */ cpu->lr = cpu->r[0];
/* 028C45F8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028C45FC */ return;
}
// fn_028C4604 @ 0x28c4604
void Gambit_fn_028C4604(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _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_028C4604: ; // 0x28c4604
/* 028C4604 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C4604 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C4604 */ cpu->r[1] = _t0;
/* 028C4608 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028C4608 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028C460C */ cpu->r[30] = cpu->r[3];
/* 028C4610 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028C4610 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028C4614 */ _t3 = cpu->r[1] + 0x00000008u;
/* 028C4614 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
/* 028C4618 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028C4618 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028C461C */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028C461C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028C4620 */ _t6 = cpu->r[30] + 0x000000A4u;
/* 028C4620 */ cpu->r[28] = rbrew_read32(cpu->mem, _t6);
/* 028C4624 */ rbrew_dispatch(cpu, 0x02d0ab30u);
/* 028C4628 */ cpu->r[31] = cpu->r[30] + 0x00000068u;
/* 028C462C */ _t7 = cpu->r[28] + 0x00000000u;
/* 028C462C */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
/* 028C4630 */ cpu->r[3] = cpu->r[31];
/* 028C4634 */ _t8 = cpu->r[28] + 0x00000004u;
/* 028C4634 */ rbrew_write32(cpu->mem, _t8, cpu->r[4]);
/* 028C4638 */ Gambit_fn_02837404(cpu);
/* 028C463C */ _t9 = cpu->r[30] + 0x0000005Cu;
/* 028C463C */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
/* 028C4640 */ cpu->r[3] = cpu->r[31];
/* 028C4644 */ Gambit_fn_0283740C(cpu);
/* 028C4648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028C464C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C464C */ _t11 = _t10 & 0x00000001u;
/* 028C464C */ if (_t11) goto L_028C4680; else goto L_028C4650;
L_028C4650: ; // 0x28c4650
/* 028C4650 */ _t12 = cpu->r[29] + 0x00000004u;
/* 028C4650 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028C4654 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000004u);
/* 028C4658 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C4658 */ _t14 = _t13 & 0x00000001u;
/* 028C4658 */ if (_t14) goto L_028C465C; else goto L_028C466C;
L_028C465C: ; // 0x28c465c
/* 028C465C */ cpu->r[12] = 0x10140000u;
/* 028C4660 */ _t15 = cpu->r[12] + 0xFFFF94F4u;
/* 028C4660 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t15);
/* 028C4664 */ cpu->r[3] = cpu->r[30];
/* 028C4668 */ Gambit_fn_028C4550(cpu);
L_028C466C: ; // 0x28c466c
/* 028C466C */ _t16 = cpu->r[29] + 0x00000000u;
/* 028C466C */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
/* 028C4670 */ _t17 = cpu->r[10] + 0x0000002Cu;
/* 028C4670 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 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 */ _t18 = cpu->r[28] + 0x00000004u;
/* 028C4684 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
/* 028C4688 */ _t19 = cpu->r[28] + 0x00000000u;
/* 028C4688 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
/* 028C468C */ cpu->r[10] = cpu->r[4] - cpu->r[12];
/* 028C4690 */ cpu->r[9] = cpu->r[3] - cpu->r[11];
/* 028C4694 */ _t20 = cpu->r[28] + 0x0000000Cu;
/* 028C4694 */ rbrew_write32(cpu->mem, _t20, cpu->r[10]);
/* 028C4698 */ _t21 = cpu->r[28] + 0x00000008u;
/* 028C4698 */ rbrew_write32(cpu->mem, _t21, cpu->r[9]);
/* 028C469C */ _t22 = cpu->r[1] + 0x00000008u;
/* 028C469C */ cpu->r[28] = rbrew_read32(cpu->mem, _t22);
/* 028C46A0 */ _t23 = cpu->r[1] + 0x0000000Cu;
/* 028C46A0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
/* 028C46A4 */ _t24 = cpu->r[1] + 0x0000001Cu;
/* 028C46A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
/* 028C46A8 */ _t25 = cpu->r[1] + 0x00000010u;
/* 028C46A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
/* 028C46AC */ cpu->lr = cpu->r[0];
/* 028C46B0 */ _t26 = cpu->r[1] + 0x00000014u;
/* 028C46B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
/* 028C46B4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C46B8 */ return;
}
// fn_028C46BC @ 0x28c46bc
void Gambit_fn_028C46BC(CPUState* cpu) {
uint32_t _t0, _t1, _t2;
L_028C46BC: ; // 0x28c46bc
/* 028C46BC */ cpu->r[0] = cpu->lr;
/* 028C46C0 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028C46C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028C46C4 */ cpu->r[4] = cpu->r[3];
/* 028C46C8 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028C46C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028C46C8 */ cpu->r[1] = _t1;
/* 028C46CC */ Gambit_fn_028C440C(cpu);
/* 028C46D0 */ cpu->r[12] = cpu->r[3];
/* 028C46D4 */ cpu->r[3] = cpu->r[4];
/* 028C46D8 */ Gambit_fn_028C4430(cpu);
/* 028C46DC */ cpu->r[5] = cpu->r[3];
/* 028C46E0 */ cpu->r[3] = cpu->r[12];
/* 028C46E4 */ Gambit_fn_02C2E00C(cpu);
/* 028C46E8 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028C46E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
/* 028C46EC */ cpu->lr = cpu->r[0];
/* 028C46F0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028C46F4 */ return;
}
// fn_028C46C8 @ 0x28c46c8
void Gambit_fn_028C46C8(CPUState* cpu) {
uint32_t _t0, _t1;
L_028C46C8: ; // 0x28c46c8
/* 028C46C8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028C46C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C46C8 */ cpu->r[1] = _t0;
/* 028C46CC */ Gambit_fn_028C440C(cpu);
/* 028C46D0 */ cpu->r[12] = cpu->r[3];
/* 028C46D4 */ cpu->r[3] = cpu->r[4];
/* 028C46D8 */ Gambit_fn_028C4430(cpu);
/* 028C46DC */ cpu->r[5] = cpu->r[3];
/* 028C46E0 */ cpu->r[3] = cpu->r[12];
/* 028C46E4 */ Gambit_fn_02C2E00C(cpu);
/* 028C46E8 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C46E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
/* 028C46EC */ cpu->lr = cpu->r[0];
/* 028C46F0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028C46F4 */ return;
}
// fn_028C46FC @ 0x28c46fc
void Gambit_fn_028C46FC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_028C46FC: ; // 0x28c46fc
/* 028C46FC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C46FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C46FC */ cpu->r[1] = _t0;
/* 028C4700 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028C4700 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028C4704 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028C4704 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028C4708 */ cpu->r[30] = cpu->r[4];
/* 028C4708 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028C470C */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C470C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028C4710 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C4710 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C4714 */ cpu->r[29] = cpu->r[3];
/* 028C4718 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C4718 */ _t6 = _t5 & 0x00000001u;
/* 028C4718 */ if (_t6) goto L_028C471C; else goto L_028C4744;
L_028C471C: ; // 0x28c471c
/* 028C471C */ cpu->r[8] = 0x10140000u;
/* 028C4720 */ _t7 = cpu->r[8] + 0xFFFF94F4u;
/* 028C4720 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t7);
/* 028C4724 */ Gambit_fn_028C4550(cpu);
/* 028C4728 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028C4728 */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
/* 028C472C */ _t9 = cpu->r[1] + 0x0000001Cu;
/* 028C472C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028C4730 */ _t10 = cpu->r[1] + 0x00000010u;
/* 028C4730 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028C4734 */ cpu->lr = cpu->r[0];
/* 028C4738 */ _t11 = cpu->r[1] + 0x00000014u;
/* 028C4738 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028C473C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C4740 */ return;
L_028C4744: ; // 0x28c4744
/* 028C4744 */ cpu->r[9] = 0x00000001u;
/* 028C4748 */ _t12 = cpu->r[30] + 0x00000004u;
/* 028C4748 */ rbrew_write32(cpu->mem, _t12, cpu->r[9]);
/* 028C474C */ _t13 = cpu->r[30] + 0x00000004u;
/* 028C474C */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
/* 028C4750 */ Gambit_fn_028C4454(cpu);
/* 028C4754 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C4758 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C4758 */ _t15 = _t14 & 0x00000001u;
/* 028C4758 */ if (_t15) 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 */ _t16 = cpu->r[29] + 0x00000064u;
/* 028C4768 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
/* 028C476C */ cpu->r[0] = 0x00000001u;
/* 028C4770 */ cpu->r[3] = cpu->r[31];
/* 028C4774 */ _t17 = cpu->r[29] + 0x00000060u;
/* 028C4774 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[0]);
/* 028C4778 */ Gambit_fn_0283740C(cpu);
/* 028C477C */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028C477C */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
/* 028C4780 */ _t19 = cpu->r[1] + 0x0000001Cu;
/* 028C4780 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028C4784 */ _t20 = cpu->r[1] + 0x00000010u;
/* 028C4784 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
/* 028C4788 */ cpu->lr = cpu->r[0];
/* 028C478C */ _t21 = cpu->r[1] + 0x00000014u;
/* 028C478C */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
/* 028C4790 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C4794 */ return;
L_028C4798: ; // 0x28c4798
/* 028C4798 */ _t22 = cpu->r[29] + 0x0000005Cu;
/* 028C4798 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
/* 028C479C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C47A0 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C47A0 */ _t24 = _t23 & 0x00000001u;
/* 028C47A0 */ if (_t24) goto L_028C47B4; else goto L_028C47A4;
L_028C47A4: ; // 0x28c47a4
/* 028C47A4 */ _t25 = cpu->r[3] + 0x00000000u;
/* 028C47A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
/* 028C47A8 */ _t26 = cpu->r[12] + 0x00000044u;
/* 028C47A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
/* 028C47AC */ cpu->ctr = cpu->r[0];
/* 028C47B0 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028C47B4: ; // 0x28c47b4
/* 028C47B4 */ cpu->r[3] = cpu->r[29];
/* 028C47B8 */ _t27 = cpu->r[29] + 0x0000005Cu;
/* 028C47B8 */ rbrew_write32(cpu->mem, _t27, cpu->r[30]);
/* 028C47BC */ Gambit_fn_028C46BC(cpu);
/* 028C47C0 */ _t28 = cpu->r[1] + 0x0000000Cu;
/* 028C47C0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t28);
/* 028C47C4 */ _t29 = cpu->r[1] + 0x0000001Cu;
/* 028C47C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
/* 028C47C8 */ _t30 = cpu->r[1] + 0x00000010u;
/* 028C47C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
/* 028C47CC */ cpu->lr = cpu->r[0];
/* 028C47D0 */ _t31 = cpu->r[1] + 0x00000014u;
/* 028C47D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
/* 028C47D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C47D8 */ return;
}
// fn_028C47DC @ 0x28c47dc
void Gambit_fn_028C47DC(CPUState* cpu) {
uint32_t _t0, _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_028C47DC: ; // 0x28c47dc
/* 028C47DC */ cpu->r[0] = cpu->lr;
/* 028C47E0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C47E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C47E0 */ cpu->r[1] = _t0;
/* 028C47E4 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C47E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C47E8 */ cpu->r[12] = 0x101D0000u;
/* 028C47EC */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C47EC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C47F0 */ _t3 = cpu->r[12] + 0xFFFF99E8u;
/* 028C47F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
/* 028C47F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028C47F8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C47F8 */ _t5 = _t4 & 0x00000001u;
/* 028C47F8 */ if (_t5) goto L_028C4858; else goto L_028C47FC;
L_028C47FC: ; // 0x28c47fc
/* 028C47FC */ _t6 = cpu->r[12] + 0x00000014u;
/* 028C47FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
/* 028C4800 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C4804 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C4804 */ _t8 = _t7 & 0x00000001u;
/* 028C4804 */ if (_t8) goto L_028C4858; else goto L_028C4808;
L_028C4808: ; // 0x28c4808
/* 028C4808 */ cpu->r[10] = 0x101D0000u;
/* 028C480C */ _t9 = cpu->r[10] + 0xFFFFF9D0u;
/* 028C480C */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
/* 028C480C */ cpu->r[10] = _t9;
/* 028C4810 */ cpu->r[4] = 0x101D0000u;
/* 028C4814 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028C4818 */ cpu->r[4] = cpu->r[4] + 0xFFFFF9CCu;
/* 028C481C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C481C */ _t11 = _t10 & 0x00000001u;
/* 028C481C */ if (_t11) goto L_028C4820; else goto L_028C4834;
L_028C4820: ; // 0x28c4820
/* 028C4820 */ cpu->r[0] = 0x10140000u;
/* 028C4824 */ cpu->r[12] = 0x00000001u;
/* 028C4828 */ cpu->r[0] = cpu->r[0] + 0xFFFF94A8u;
/* 028C482C */ _t12 = cpu->r[10] + 0x00000000u;
/* 028C482C */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
/* 028C4830 */ _t13 = cpu->r[4] + 0x00000000u;
/* 028C4830 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
L_028C4834: ; // 0x28c4834
/* 028C4834 */ _t14 = cpu->r[31] + 0x00000000u;
/* 028C4834 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
/* 028C4838 */ _t15 = cpu->r[11] + 0x0000000Cu;
/* 028C4838 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028C483C */ cpu->ctr = cpu->r[0];
/* 028C4840 */ cpu->r[3] = cpu->r[31];
/* 028C4844 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C4848 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C484C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C484C */ _t17 = _t16 & 0x00000001u;
/* 028C484C */ if (_t17) goto L_028C4858; else goto L_028C4850;
L_028C4850: ; // 0x28c4850
/* 028C4850 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C4854 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C4854 */ _t19 = _t18 & 0x00000001u;
/* 028C4854 */ if (_t19) goto L_028C4858; else goto L_028C4870;
L_028C4858: ; // 0x28c4858
/* 028C4858 */ _t20 = cpu->r[1] + 0x00000014u;
/* 028C4858 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028C485C */ _t21 = cpu->r[1] + 0x0000000Cu;
/* 028C485C */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
/* 028C4860 */ cpu->lr = cpu->r[0];
/* 028C4864 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C4868 */ cpu->r[3] = 0x00000000u;
/* 028C486C */ return;
L_028C4870: ; // 0x28c4870
/* 028C4870 */ _t22 = cpu->r[1] + 0x00000014u;
/* 028C4870 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
/* 028C4874 */ _t23 = cpu->r[31] + 0x000000F4u;
/* 028C4874 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
/* 028C4878 */ cpu->lr = cpu->r[0];
/* 028C487C */ _t24 = cpu->r[1] + 0x0000000Cu;
/* 028C487C */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
/* 028C4880 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C4884 */ return;
}
// fn_028C47E0 @ 0x28c47e0
void Gambit_fn_028C47E0(CPUState* cpu) {
uint32_t _t0, _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_028C47E0: ; // 0x28c47e0
/* 028C47E0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C47E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C47E0 */ cpu->r[1] = _t0;
/* 028C47E4 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C47E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C47E8 */ cpu->r[12] = 0x101D0000u;
/* 028C47EC */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C47EC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C47F0 */ _t3 = cpu->r[12] + 0xFFFF99E8u;
/* 028C47F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
/* 028C47F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028C47F8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C47F8 */ _t5 = _t4 & 0x00000001u;
/* 028C47F8 */ if (_t5) goto L_028C4858; else goto L_028C47FC;
L_028C47FC: ; // 0x28c47fc
/* 028C47FC */ _t6 = cpu->r[12] + 0x00000014u;
/* 028C47FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
/* 028C4800 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C4804 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C4804 */ _t8 = _t7 & 0x00000001u;
/* 028C4804 */ if (_t8) goto L_028C4858; else goto L_028C4808;
L_028C4808: ; // 0x28c4808
/* 028C4808 */ cpu->r[10] = 0x101D0000u;
/* 028C480C */ _t9 = cpu->r[10] + 0xFFFFF9D0u;
/* 028C480C */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
/* 028C480C */ cpu->r[10] = _t9;
/* 028C4810 */ cpu->r[4] = 0x101D0000u;
/* 028C4814 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028C4818 */ cpu->r[4] = cpu->r[4] + 0xFFFFF9CCu;
/* 028C481C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C481C */ _t11 = _t10 & 0x00000001u;
/* 028C481C */ if (_t11) goto L_028C4820; else goto L_028C4834;
L_028C4820: ; // 0x28c4820
/* 028C4820 */ cpu->r[0] = 0x10140000u;
/* 028C4824 */ cpu->r[12] = 0x00000001u;
/* 028C4828 */ cpu->r[0] = cpu->r[0] + 0xFFFF94A8u;
/* 028C482C */ _t12 = cpu->r[10] + 0x00000000u;
/* 028C482C */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
/* 028C4830 */ _t13 = cpu->r[4] + 0x00000000u;
/* 028C4830 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
L_028C4834: ; // 0x28c4834
/* 028C4834 */ _t14 = cpu->r[31] + 0x00000000u;
/* 028C4834 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
/* 028C4838 */ _t15 = cpu->r[11] + 0x0000000Cu;
/* 028C4838 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028C483C */ cpu->ctr = cpu->r[0];
/* 028C4840 */ cpu->r[3] = cpu->r[31];
/* 028C4844 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C4848 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C484C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C484C */ _t17 = _t16 & 0x00000001u;
/* 028C484C */ if (_t17) goto L_028C4858; else goto L_028C4850;
L_028C4850: ; // 0x28c4850
/* 028C4850 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C4854 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C4854 */ _t19 = _t18 & 0x00000001u;
/* 028C4854 */ if (_t19) goto L_028C4858; else goto L_028C4870;
L_028C4858: ; // 0x28c4858
/* 028C4858 */ _t20 = cpu->r[1] + 0x00000014u;
/* 028C4858 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028C485C */ _t21 = cpu->r[1] + 0x0000000Cu;
/* 028C485C */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
/* 028C4860 */ cpu->lr = cpu->r[0];
/* 028C4864 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C4868 */ cpu->r[3] = 0x00000000u;
/* 028C486C */ return;
L_028C4870: ; // 0x28c4870
/* 028C4870 */ _t22 = cpu->r[1] + 0x00000014u;
/* 028C4870 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
/* 028C4874 */ _t23 = cpu->r[31] + 0x000000F4u;
/* 028C4874 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
/* 028C4878 */ cpu->lr = cpu->r[0];
/* 028C487C */ _t24 = cpu->r[1] + 0x0000000Cu;
/* 028C487C */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
/* 028C4880 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C4884 */ return;
}
// fn_028C4888 @ 0x28c4888
void Gambit_fn_028C4888(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028C4888: ; // 0x28c4888
/* 028C4888 */ cpu->r[12] = 0x00000000u;
/* 028C488C */ _t0 = cpu->r[3] + 0x00000038u;
/* 028C488C */ rbrew_write32(cpu->mem, _t0, cpu->r[12]);
/* 028C4890 */ _t1 = cpu->r[3] + 0x00000044u;
/* 028C4890 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
/* 028C4894 */ _t2 = cpu->r[3] + 0x0000003Cu;
/* 028C4894 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
/* 028C4898 */ _t3 = cpu->r[3] + 0x00000040u;
/* 028C4898 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
/* 028C489C */ return;
}
// fn_028C48A0 @ 0x28c48a0
void Gambit_fn_028C48A0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
L_028C48A0: ; // 0x28c48a0
/* 028C48A0 */ cpu->r[0] = cpu->lr;
/* 028C48A4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C48A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C48A4 */ cpu->r[1] = _t0;
/* 028C48A8 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C48A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028C48AC */ _t2 = cpu->r[1] + 0x00000010u;
/* 028C48AC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C48B0 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C48B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028C48B4 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C48B4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C48B8 */ cpu->r[29] = cpu->r[3];
/* 028C48BC */ _t5 = cpu->r[29] + 0x00000024u;
/* 028C48BC */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
/* 028C48C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C48C4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C48C4 */ _t7 = _t6 & 0x00000001u;
/* 028C48C4 */ if (_t7) goto L_028C48F4; else goto L_028C48C8;
L_028C48C8: ; // 0x28c48c8
/* 028C48C8 */ cpu->r[31] = 0x00000000u;
/* 028C48CC */ cpu->r[30] = 0x00000006u;
L_028C48D0: ; // 0x28c48d0
/* 028C48D0 */ _t8 = cpu->r[29] + 0x0000002Cu;
/* 028C48D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
/* 028C48D4 */ _t9 = cpu->r[29] + 0x00000048u;
/* 028C48D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
/* 028C48D8 */ _t10 = cpu->r[12] + cpu->r[31];
/* 028C48D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
/* 028C48DC */ cpu->r[5] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C48E0 */ cpu->r[4] = 0x00000000u;
/* 028C48E4 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
/* 028C48E8 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
/* 028C48E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028C48EC */ cpu->r[31] = cpu->r[31] + 0x00000004u;
/* 028C48F0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C48F0 */ _t12 = _t11 & 0x00000001u;
/* 028C48F0 */ if (_t12) goto L_028C48F4; else goto L_028C48D0;
L_028C48F4: ; // 0x28c48f4
/* 028C48F4 */ cpu->r[3] = cpu->r[29];
/* 028C48F8 */ Gambit_fn_028C4888(cpu);
/* 028C48FC */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028C48FC */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
/* 028C4900 */ _t14 = cpu->r[1] + 0x0000001Cu;
/* 028C4900 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028C4904 */ _t15 = cpu->r[1] + 0x00000010u;
/* 028C4904 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
/* 028C4908 */ cpu->lr = cpu->r[0];
/* 028C490C */ _t16 = cpu->r[1] + 0x00000014u;
/* 028C490C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
/* 028C4910 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C4914 */ return;
}
// fn_028C48A4 @ 0x28c48a4
void Gambit_fn_028C48A4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
L_028C48A4: ; // 0x28c48a4
/* 028C48A4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C48A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C48A4 */ cpu->r[1] = _t0;
/* 028C48A8 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C48A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028C48AC */ _t2 = cpu->r[1] + 0x00000010u;
/* 028C48AC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C48B0 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C48B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028C48B4 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C48B4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C48B8 */ cpu->r[29] = cpu->r[3];
/* 028C48BC */ _t5 = cpu->r[29] + 0x00000024u;
/* 028C48BC */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
/* 028C48C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C48C4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C48C4 */ _t7 = _t6 & 0x00000001u;
/* 028C48C4 */ if (_t7) goto L_028C48F4; else goto L_028C48C8;
L_028C48C8: ; // 0x28c48c8
/* 028C48C8 */ cpu->r[31] = 0x00000000u;
/* 028C48CC */ cpu->r[30] = 0x00000006u;
L_028C48D0: ; // 0x28c48d0
/* 028C48D0 */ _t8 = cpu->r[29] + 0x0000002Cu;
/* 028C48D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
/* 028C48D4 */ _t9 = cpu->r[29] + 0x00000048u;
/* 028C48D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
/* 028C48D8 */ _t10 = cpu->r[12] + cpu->r[31];
/* 028C48D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
/* 028C48DC */ cpu->r[5] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C48E0 */ cpu->r[4] = 0x00000000u;
/* 028C48E4 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
/* 028C48E8 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
/* 028C48E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028C48EC */ cpu->r[31] = cpu->r[31] + 0x00000004u;
/* 028C48F0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C48F0 */ _t12 = _t11 & 0x00000001u;
/* 028C48F0 */ if (_t12) goto L_028C48F4; else goto L_028C48D0;
L_028C48F4: ; // 0x28c48f4
/* 028C48F4 */ cpu->r[3] = cpu->r[29];
/* 028C48F8 */ Gambit_fn_028C4888(cpu);
/* 028C48FC */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028C48FC */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
/* 028C4900 */ _t14 = cpu->r[1] + 0x0000001Cu;
/* 028C4900 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028C4904 */ _t15 = cpu->r[1] + 0x00000010u;
/* 028C4904 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
/* 028C4908 */ cpu->lr = cpu->r[0];
/* 028C490C */ _t16 = cpu->r[1] + 0x00000014u;
/* 028C490C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
/* 028C4910 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C4914 */ return;
}
// fn_028C4918 @ 0x28c4918
void Gambit_fn_028C4918(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _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_028C4918: ; // 0x28c4918
/* 028C4918 */ cpu->r[0] = cpu->lr;
/* 028C491C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C491C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C491C */ cpu->r[1] = _t0;
/* 028C4920 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C4920 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C4924 */ cpu->r[31] = cpu->r[3];
/* 028C4928 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C4928 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C492C */ _t3 = cpu->r[31] + 0x00000018u;
/* 028C492C */ cpu->r[7] = rbrew_read8(cpu->mem, _t3);
/* 028C4930 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
/* 028C4934 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C4934 */ _t5 = _t4 & 0x00000001u;
/* 028C4934 */ if (_t5) goto L_028C4938; else goto L_028C4948;
L_028C4938: ; // 0x28c4938
/* 028C4938 */ cpu->r[3] = cpu->r[31];
/* 028C493C */ Gambit_fn_02C37C54(cpu);
/* 028C4940 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C4944 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C4944 */ _t7 = _t6 & 0x00000001u;
/* 028C4944 */ if (_t7) goto L_028C4948; else goto L_028C4960;
L_028C4948: ; // 0x28c4948
/* 028C4948 */ _t8 = cpu->r[1] + 0x00000014u;
/* 028C4948 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028C494C */ _t9 = cpu->r[1] + 0x0000000Cu;
/* 028C494C */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
/* 028C4950 */ cpu->lr = cpu->r[0];
/* 028C4954 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C4958 */ cpu->r[3] = 0x00000000u;
/* 028C495C */ return;
L_028C4960: ; // 0x28c4960
/* 028C4960 */ _t10 = cpu->r[31] + 0x00000024u;
/* 028C4960 */ cpu->r[8] = rbrew_read8(cpu->mem, _t10);
/* 028C4964 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028C4968 */ cpu->r[3] = 0x00000000u;
/* 028C496C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C496C */ _t12 = _t11 & 0x00000001u;
/* 028C496C */ if (_t12) goto L_028C4974; else goto L_028C4970;
L_028C4970: ; // 0x28c4970
/* 028C4970 */ Gambit_fn_028C47DC(cpu);
L_028C4974: ; // 0x28c4974
/* 028C4974 */ _t13 = cpu->r[31] + 0x00000028u;
/* 028C4974 */ rbrew_write32(cpu->mem, _t13, cpu->r[3]);
/* 028C4978 */ cpu->r[3] = cpu->r[31];
/* 028C497C */ Gambit_fn_028C48A0(cpu);
/* 028C4980 */ _t14 = cpu->r[31] + 0x0000005Cu;
/* 028C4980 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
/* 028C4984 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C4988 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C4988 */ _t16 = _t15 & 0x00000001u;
/* 028C4988 */ if (_t16) goto L_028C499C; else goto L_028C498C;
L_028C498C: ; // 0x28c498c
/* 028C498C */ _t17 = cpu->r[3] + 0x00000000u;
/* 028C498C */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
/* 028C4990 */ _t18 = cpu->r[9] + 0x0000003Cu;
/* 028C4990 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
/* 028C4994 */ cpu->ctr = cpu->r[10];
/* 028C4998 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028C499C: ; // 0x28c499c
/* 028C499C */ cpu->r[11] = 0x00000003u;
/* 028C49A0 */ cpu->r[10] = 0x00000000u;
/* 028C49A4 */ cpu->ctr = cpu->r[11];
/* 028C49A8 */ cpu->r[0] = cpu->r[10];
L_028C49AC: ; // 0x28c49ac
/* 028C49AC */ _t19 = cpu->r[31] + 0x000000A4u;
/* 028C49AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
/* 028C49B0 */ cpu->r[11] = cpu->r[12] + cpu->r[10];
/* 028C49B4 */ _t20 = cpu->r[11] + 0x00000008u;
/* 028C49B4 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
/* 028C49B8 */ cpu->r[10] = cpu->r[10] + 0x00000018u;
/* 028C49BC */ _t21 = cpu->r[11] + 0x0000000Cu;
/* 028C49BC */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
/* 028C49C0 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028C49C0 */ _t22 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028C49C0 */ _t23 = _t22 >> (0x00000002u & 31u);
/* 028C49C0 */ _t24 = _t23 & 0x00000001u;
/* 028C49C0 */ if (_t24) goto L_028C49AC; else goto L_028C49C4;
L_028C49C4: ; // 0x28c49c4
/* 028C49C4 */ cpu->r[0] = 0x00000001u;
/* 028C49C8 */ _t25 = cpu->r[31] + 0x00000018u;
/* 028C49C8 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[0]);
/* 028C49CC */ cpu->r[3] = cpu->r[0];
/* 028C49D0 */ _t26 = cpu->r[1] + 0x00000014u;
/* 028C49D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
/* 028C49D4 */ cpu->lr = cpu->r[0];
/* 028C49D8 */ _t27 = cpu->r[1] + 0x0000000Cu;
/* 028C49D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
/* 028C49DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C49E0 */ return;
}
// fn_028C491C @ 0x28c491c
void Gambit_fn_028C491C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _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_028C491C: ; // 0x28c491c
/* 028C491C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C491C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C491C */ cpu->r[1] = _t0;
/* 028C4920 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C4920 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C4924 */ cpu->r[31] = cpu->r[3];
/* 028C4928 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C4928 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C492C */ _t3 = cpu->r[31] + 0x00000018u;
/* 028C492C */ cpu->r[7] = rbrew_read8(cpu->mem, _t3);
/* 028C4930 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
/* 028C4934 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C4934 */ _t5 = _t4 & 0x00000001u;
/* 028C4934 */ if (_t5) goto L_028C4938; else goto L_028C4948;
L_028C4938: ; // 0x28c4938
/* 028C4938 */ cpu->r[3] = cpu->r[31];
/* 028C493C */ Gambit_fn_02C37C54(cpu);
/* 028C4940 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C4944 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C4944 */ _t7 = _t6 & 0x00000001u;
/* 028C4944 */ if (_t7) goto L_028C4948; else goto L_028C4960;
L_028C4948: ; // 0x28c4948
/* 028C4948 */ _t8 = cpu->r[1] + 0x00000014u;
/* 028C4948 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028C494C */ _t9 = cpu->r[1] + 0x0000000Cu;
/* 028C494C */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
/* 028C4950 */ cpu->lr = cpu->r[0];
/* 028C4954 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C4958 */ cpu->r[3] = 0x00000000u;
/* 028C495C */ return;
L_028C4960: ; // 0x28c4960
/* 028C4960 */ _t10 = cpu->r[31] + 0x00000024u;
/* 028C4960 */ cpu->r[8] = rbrew_read8(cpu->mem, _t10);
/* 028C4964 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028C4968 */ cpu->r[3] = 0x00000000u;
/* 028C496C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C496C */ _t12 = _t11 & 0x00000001u;
/* 028C496C */ if (_t12) goto L_028C4974; else goto L_028C4970;
L_028C4970: ; // 0x28c4970
/* 028C4970 */ Gambit_fn_028C47DC(cpu);
L_028C4974: ; // 0x28c4974
/* 028C4974 */ _t13 = cpu->r[31] + 0x00000028u;
/* 028C4974 */ rbrew_write32(cpu->mem, _t13, cpu->r[3]);
/* 028C4978 */ cpu->r[3] = cpu->r[31];
/* 028C497C */ Gambit_fn_028C48A0(cpu);
/* 028C4980 */ _t14 = cpu->r[31] + 0x0000005Cu;
/* 028C4980 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
/* 028C4984 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C4988 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C4988 */ _t16 = _t15 & 0x00000001u;
/* 028C4988 */ if (_t16) goto L_028C499C; else goto L_028C498C;
L_028C498C: ; // 0x28c498c
/* 028C498C */ _t17 = cpu->r[3] + 0x00000000u;
/* 028C498C */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
/* 028C4990 */ _t18 = cpu->r[9] + 0x0000003Cu;
/* 028C4990 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
/* 028C4994 */ cpu->ctr = cpu->r[10];
/* 028C4998 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028C499C: ; // 0x28c499c
/* 028C499C */ cpu->r[11] = 0x00000003u;
/* 028C49A0 */ cpu->r[10] = 0x00000000u;
/* 028C49A4 */ cpu->ctr = cpu->r[11];
/* 028C49A8 */ cpu->r[0] = cpu->r[10];
L_028C49AC: ; // 0x28c49ac
/* 028C49AC */ _t19 = cpu->r[31] + 0x000000A4u;
/* 028C49AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
/* 028C49B0 */ cpu->r[11] = cpu->r[12] + cpu->r[10];
/* 028C49B4 */ _t20 = cpu->r[11] + 0x00000008u;
/* 028C49B4 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
/* 028C49B8 */ cpu->r[10] = cpu->r[10] + 0x00000018u;
/* 028C49BC */ _t21 = cpu->r[11] + 0x0000000Cu;
/* 028C49BC */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
/* 028C49C0 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028C49C0 */ _t22 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028C49C0 */ _t23 = _t22 >> (0x00000002u & 31u);
/* 028C49C0 */ _t24 = _t23 & 0x00000001u;
/* 028C49C0 */ if (_t24) goto L_028C49AC; else goto L_028C49C4;
L_028C49C4: ; // 0x28c49c4
/* 028C49C4 */ cpu->r[0] = 0x00000001u;
/* 028C49C8 */ _t25 = cpu->r[31] + 0x00000018u;
/* 028C49C8 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[0]);
/* 028C49CC */ cpu->r[3] = cpu->r[0];
/* 028C49D0 */ _t26 = cpu->r[1] + 0x00000014u;
/* 028C49D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
/* 028C49D4 */ cpu->lr = cpu->r[0];
/* 028C49D8 */ _t27 = cpu->r[1] + 0x0000000Cu;
/* 028C49D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
/* 028C49DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C49E0 */ return;
}
// fn_028C49E4 @ 0x28c49e4
void Gambit_fn_028C49E4(CPUState* cpu) {
uint32_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_028C49E4: ; // 0x28c49e4
/* 028C49E4 */ cpu->r[0] = cpu->lr;
/* 028C49E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C49E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C49E8 */ cpu->r[1] = _t0;
/* 028C49EC */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C49EC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C49F0 */ cpu->r[31] = cpu->r[3];
/* 028C49F4 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028C49F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C49F8 */ cpu->r[30] = cpu->r[31] + 0x00000068u;
/* 028C49FC */ cpu->r[3] = cpu->r[30];
/* 028C4A00 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C4A00 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C4A04 */ Gambit_fn_02837404(cpu);
/* 028C4A08 */ _t4 = cpu->r[31] + 0x00000060u;
/* 028C4A08 */ cpu->r[11] = rbrew_read8(cpu->mem, _t4);
/* 028C4A0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028C4A10 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C4A10 */ _t6 = _t5 & 0x00000001u;
/* 028C4A10 */ if (_t6) goto L_028C4A5C; else goto L_028C4A14;
L_028C4A14: ; // 0x28c4a14
/* 028C4A14 */ _t7 = cpu->r[31] + 0x0000005Cu;
/* 028C4A14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
/* 028C4A18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C4A1C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C4A1C */ _t9 = _t8 & 0x00000001u;
/* 028C4A1C */ if (_t9) goto L_028C4A30; else goto L_028C4A20;
L_028C4A20: ; // 0x28c4a20
/* 028C4A20 */ _t10 = cpu->r[3] + 0x00000000u;
/* 028C4A20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
/* 028C4A24 */ _t11 = cpu->r[12] + 0x00000044u;
/* 028C4A24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028C4A28 */ cpu->ctr = cpu->r[0];
/* 028C4A2C */ rbrew_call_indirect(cpu, cpu->ctr);
L_028C4A30: ; // 0x28c4a30
/* 028C4A30 */ _t12 = cpu->r[31] + 0x00000064u;
/* 028C4A30 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
/* 028C4A34 */ cpu->r[10] = 0x00000000u;
/* 028C4A38 */ _t13 = cpu->r[31] + 0x00000060u;
/* 028C4A38 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[10]);
/* 028C4A3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C4A40 */ _t14 = cpu->r[31] + 0x0000005Cu;
/* 028C4A40 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
/* 028C4A44 */ _t15 = cpu->r[31] + 0x00000064u;
/* 028C4A44 */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
/* 028C4A48 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C4A48 */ _t17 = _t16 & 0x00000001u;
/* 028C4A48 */ if (_t17) goto L_028C4A5C; else goto L_028C4A4C;
L_028C4A4C: ; // 0x28c4a4c
/* 028C4A4C */ _t18 = cpu->r[3] + 0x00000000u;
/* 028C4A4C */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
/* 028C4A50 */ _t19 = cpu->r[12] + 0x0000003Cu;
/* 028C4A50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028C4A54 */ cpu->ctr = cpu->r[0];
/* 028C4A58 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028C4A5C: ; // 0x28c4a5c
/* 028C4A5C */ cpu->r[3] = cpu->r[30];
/* 028C4A60 */ Gambit_fn_0283740C(cpu);
/* 028C4A64 */ _t20 = cpu->r[1] + 0x00000014u;
/* 028C4A64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028C4A68 */ _t21 = cpu->r[1] + 0x00000008u;
/* 028C4A68 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
/* 028C4A6C */ cpu->lr = cpu->r[0];
/* 028C4A70 */ _t22 = cpu->r[1] + 0x0000000Cu;
/* 028C4A70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
/* 028C4A74 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C4A78 */ return;
}
// fn_028C49E8 @ 0x28c49e8
void Gambit_fn_028C49E8(CPUState* cpu) {
uint32_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_028C49E8: ; // 0x28c49e8
/* 028C49E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C49E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C49E8 */ cpu->r[1] = _t0;
/* 028C49EC */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C49EC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C49F0 */ cpu->r[31] = cpu->r[3];
/* 028C49F4 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028C49F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C49F8 */ cpu->r[30] = cpu->r[31] + 0x00000068u;
/* 028C49FC */ cpu->r[3] = cpu->r[30];
/* 028C4A00 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C4A00 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C4A04 */ Gambit_fn_02837404(cpu);
/* 028C4A08 */ _t4 = cpu->r[31] + 0x00000060u;
/* 028C4A08 */ cpu->r[11] = rbrew_read8(cpu->mem, _t4);
/* 028C4A0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028C4A10 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C4A10 */ _t6 = _t5 & 0x00000001u;
/* 028C4A10 */ if (_t6) goto L_028C4A5C; else goto L_028C4A14;
L_028C4A14: ; // 0x28c4a14
/* 028C4A14 */ _t7 = cpu->r[31] + 0x0000005Cu;
/* 028C4A14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
/* 028C4A18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C4A1C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C4A1C */ _t9 = _t8 & 0x00000001u;
/* 028C4A1C */ if (_t9) goto L_028C4A30; else goto L_028C4A20;
L_028C4A20: ; // 0x28c4a20
/* 028C4A20 */ _t10 = cpu->r[3] + 0x00000000u;
/* 028C4A20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
/* 028C4A24 */ _t11 = cpu->r[12] + 0x00000044u;
/* 028C4A24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028C4A28 */ cpu->ctr = cpu->r[0];
/* 028C4A2C */ rbrew_call_indirect(cpu, cpu->ctr);
L_028C4A30: ; // 0x28c4a30
/* 028C4A30 */ _t12 = cpu->r[31] + 0x00000064u;
/* 028C4A30 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
/* 028C4A34 */ cpu->r[10] = 0x00000000u;
/* 028C4A38 */ _t13 = cpu->r[31] + 0x00000060u;
/* 028C4A38 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[10]);
/* 028C4A3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C4A40 */ _t14 = cpu->r[31] + 0x0000005Cu;
/* 028C4A40 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
/* 028C4A44 */ _t15 = cpu->r[31] + 0x00000064u;
/* 028C4A44 */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
/* 028C4A48 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C4A48 */ _t17 = _t16 & 0x00000001u;
/* 028C4A48 */ if (_t17) goto L_028C4A5C; else goto L_028C4A4C;
L_028C4A4C: ; // 0x28c4a4c
/* 028C4A4C */ _t18 = cpu->r[3] + 0x00000000u;
/* 028C4A4C */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
/* 028C4A50 */ _t19 = cpu->r[12] + 0x0000003Cu;
/* 028C4A50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028C4A54 */ cpu->ctr = cpu->r[0];
/* 028C4A58 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028C4A5C: ; // 0x28c4a5c
/* 028C4A5C */ cpu->r[3] = cpu->r[30];
/* 028C4A60 */ Gambit_fn_0283740C(cpu);
/* 028C4A64 */ _t20 = cpu->r[1] + 0x00000014u;
/* 028C4A64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028C4A68 */ _t21 = cpu->r[1] + 0x00000008u;
/* 028C4A68 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
/* 028C4A6C */ cpu->lr = cpu->r[0];
/* 028C4A70 */ _t22 = cpu->r[1] + 0x0000000Cu;
/* 028C4A70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
/* 028C4A74 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C4A78 */ return;
}
// fn_028C4A7C @ 0x28c4a7c
void Gambit_fn_028C4A7C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028C4A7C: ; // 0x28c4a7c
/* 028C4A7C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028C4A7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C4A7C */ cpu->r[1] = _t0;
/* 028C4A80 */ /* nop */
/* 028C4A84 */ cpu->r[0] = cpu->lr;
/* 028C4A88 */ _t1 = cpu->r[1] + 0x0000002Cu;
/* 028C4A88 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028C4A8C */ cpu->r[29] = cpu->r[4];
/* 028C4A90 */ cpu->r[28] = cpu->r[3];
/* 028C4A94 */ _t2 = cpu->r[28] + 0x0000002Cu;
/* 028C4A94 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
/* 028C4A98 */ cpu->r[31] = cpu->r[6];
/* 028C4A9C */ _t3 = cpu->r[28] + 0x00000038u;
/* 028C4A9C */ cpu->r[24] = rbrew_read32(cpu->mem, _t3);
/* 028C4AA0 */ cpu->r[26] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C4AA4 */ _t4 = cpu->r[11] + 0x00000000u;
/* 028C4AA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028C4AA8 */ cpu->r[27] = rbrew_rlwinm(cpu->r[24], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C4AAC */ _t5 = cpu->r[28] + 0x00000030u;
/* 028C4AAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028C4AB0 */ cpu->r[30] = cpu->r[5];
/* 028C4AB4 */ cpu->r[3] = cpu->r[12] + cpu->r[27];
/* 028C4AB8 */ cpu->r[4] = cpu->r[26];
/* 028C4ABC */ cpu->r[25] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)cpu->r[0]);
/* 028C4AC0 */ rbrew_dispatch(cpu, 0x02d09350u);
/* 028C4AC4 */ _t6 = cpu->r[28] + 0x0000002Cu;
/* 028C4AC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
/* 028C4AC8 */ _t7 = cpu->r[12] + 0x00000004u;
/* 028C4AC8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t7);
/* 028C4ACC */ cpu->r[4] = cpu->r[26];
/* 028C4AD0 */ cpu->r[3] = cpu->r[5] + cpu->r[27];
/* 028C4AD4 */ rbrew_dispatch(cpu, 0x02d09350u);
/* 028C4AD8 */ _t8 = cpu->r[28] + 0x0000002Cu;
/* 028C4AD8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t8);
/* 028C4ADC */ _t9 = cpu->r[6] + 0x00000000u;
/* 028C4ADC */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
/* 028C4AE0 */ cpu->r[6] = 0x00000000u;
/* 028C4AE4 */ cpu->r[4] = cpu->r[29];
/* 028C4AE8 */ cpu->r[5] = cpu->r[26];
/* 028C4AEC */ cpu->r[3] = cpu->r[7] + cpu->r[27];
/* 028C4AF0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028C4AF4 */ _t10 = cpu->r[28] + 0x0000002Cu;
/* 028C4AF4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
/* 028C4AF8 */ _t11 = cpu->r[8] + 0x00000004u;
/* 028C4AF8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
/* 028C4AFC */ cpu->r[4] = cpu->r[30];
/* 028C4B00 */ cpu->r[5] = cpu->r[26];
/* 028C4B04 */ cpu->r[6] = 0x00000000u;
/* 028C4B08 */ cpu->r[3] = cpu->r[9] + cpu->r[27];
/* 028C4B0C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028C4B10 */ cpu->r[24] = cpu->r[24] + cpu->r[31];
/* 028C4B14 */ _t12 = cpu->r[28] + 0x00000034u;
/* 028C4B14 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
/* 028C4B18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[25]);
/* 028C4B1C */ _t13 = cpu->r[28] + 0x00000044u;
/* 028C4B1C */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
/* 028C4B20 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C4B20 */ _t15 = _t14 & 0x00000001u;
/* 028C4B20 */ if (_t15) goto L_028C4B28; else goto L_028C4B24;
L_028C4B24: ; // 0x28c4b24
/* 028C4B24 */ cpu->r[24] = 0x00000000u;
L_028C4B28: ; // 0x28c4b28
/* 028C4B28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[10]);
/* 028C4B2C */ _t16 = cpu->r[28] + 0x00000038u;
/* 028C4B2C */ rbrew_write32(cpu->mem, _t16, cpu->r[24]);
/* 028C4B30 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C4B30 */ _t18 = _t17 & 0x00000001u;
/* 028C4B30 */ if (_t18) goto L_028C4B34; else goto L_028C4B3C;
L_028C4B34: ; // 0x28c4b34
/* 028C4B34 */ cpu->r[0] = cpu->r[7] + 0x00000001u;
/* 028C4B38 */ _t19 = cpu->r[28] + 0x00000044u;
/* 028C4B38 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
L_028C4B3C: ; // 0x28c4b3c
/* 028C4B3C */ cpu->r[4] = cpu->r[26];
/* 028C4B40 */ cpu->r[3] = cpu->r[29];
/* 028C4B44 */ _t20 = cpu->r[28] + 0x00000040u;
/* 028C4B44 */ cpu->r[27] = rbrew_read32(cpu->mem, _t20);
/* 028C4B48 */ rbrew_dispatch(cpu, 0x02d09350u);
/* 028C4B4C */ cpu->r[4] = cpu->r[26];
/* 028C4B50 */ cpu->r[3] = cpu->r[30];
/* 028C4B54 */ rbrew_dispatch(cpu, 0x02d09350u);
/* 028C4B58 */ _t21 = cpu->r[28] + 0x0000003Cu;
/* 028C4B58 */ cpu->r[5] = rbrew_read32(cpu->mem, _t21);
/* 028C4B5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[5]);
/* 028C4B60 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C4B60 */ _t23 = _t22 & 0x00000001u;
/* 028C4B60 */ if (_t23) goto L_028C4BF4; else goto L_028C4B64;
L_028C4B64: ; // 0x28c4b64
/* 028C4B64 */ _t24 = cpu->r[28] + 0x00000044u;
/* 028C4B64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
/* 028C4B68 */ _t25 = cpu->r[28] + 0x00000034u;
/* 028C4B68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
/* 028C4B6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
/* 028C4B70 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C4B70 */ _t27 = _t26 & 0x00000001u;
/* 028C4B70 */ if (_t27) goto L_028C4BF4; else goto L_028C4B74;
L_028C4B74: ; // 0x28c4b74
/* 028C4B74 */ _t28 = cpu->r[28] + 0x0000002Cu;
/* 028C4B74 */ cpu->r[6] = rbrew_read32(cpu->mem, _t28);
/* 028C4B78 */ cpu->r[7] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C4B7C */ _t29 = cpu->r[6] + 0x00000000u;
/* 028C4B7C */ cpu->r[8] = rbrew_read32(cpu->mem, _t29);
/* 028C4B80 */ cpu->r[6] = 0x00000000u;
/* 028C4B84 */ cpu->r[5] = cpu->r[26];
/* 028C4B88 */ cpu->r[3] = cpu->r[29];
/* 028C4B8C */ cpu->r[4] = cpu->r[8] + cpu->r[7];
/* 028C4B90 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028C4B94 */ _t30 = cpu->r[28] + 0x0000002Cu;
/* 028C4B94 */ cpu->r[9] = rbrew_read32(cpu->mem, _t30);
/* 028C4B98 */ _t31 = cpu->r[28] + 0x0000003Cu;
/* 028C4B98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
/* 028C4B9C */ cpu->r[5] = cpu->r[26];
/* 028C4BA0 */ _t32 = cpu->r[9] + 0x00000004u;
/* 028C4BA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
/* 028C4BA4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C4BA8 */ cpu->r[3] = cpu->r[30];
/* 028C4BAC */ cpu->r[6] = 0x00000000u;
/* 028C4BB0 */ cpu->r[4] = cpu->r[12] + cpu->r[10];
/* 028C4BB4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028C4BB8 */ _t33 = cpu->r[28] + 0x0000003Cu;
/* 028C4BB8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t33);
/* 028C4BBC */ cpu->r[0] = cpu->r[6] + cpu->r[31];
/* 028C4BC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[25]);
/* 028C4BC4 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C4BC4 */ _t35 = _t34 & 0x00000001u;
/* 028C4BC4 */ if (_t35) goto L_028C4BC8; else goto L_028C4BDC;
L_028C4BC8: ; // 0x28c4bc8
/* 028C4BC8 */ _t36 = cpu->r[28] + 0x00000028u;
/* 028C4BC8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
/* 028C4BCC */ cpu->r[4] = cpu->r[28] + 0x0000000Cu;
/* 028C4BD0 */ _t37 = cpu->r[28] + 0x0000003Cu;
/* 028C4BD0 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
/* 028C4BD4 */ Gambit_fn_0284D288(cpu);
/* 028C4BD8 */ goto L_028C4C20;
L_028C4BDC: ; // 0x28c4bdc
/* 028C4BDC */ cpu->r[8] = 0x00000000u;
/* 028C4BE0 */ _t38 = cpu->r[28] + 0x00000028u;
/* 028C4BE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
/* 028C4BE4 */ cpu->r[4] = cpu->r[28] + 0x0000000Cu;
/* 028C4BE8 */ _t39 = cpu->r[28] + 0x0000003Cu;
/* 028C4BE8 */ rbrew_write32(cpu->mem, _t39, cpu->r[8]);
/* 028C4BEC */ Gambit_fn_0284D288(cpu);
/* 028C4BF0 */ goto L_028C4C20;
L_028C4BF4: ; // 0x28c4bf4
/* 028C4BF4 */ cpu->r[4] = 0x00000000u;
/* 028C4BF8 */ cpu->r[5] = cpu->r[26];
/* 028C4BFC */ cpu->r[3] = cpu->r[29];
/* 028C4C00 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
/* 028C4C04 */ cpu->r[4] = 0x00000000u;
/* 028C4C08 */ cpu->r[5] = cpu->r[26];
/* 028C4C0C */ cpu->r[3] = cpu->r[30];
/* 028C4C10 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
/* 028C4C14 */ _t40 = cpu->r[28] + 0x00000028u;
/* 028C4C14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
/* 028C4C18 */ cpu->r[4] = cpu->r[28] + 0x0000000Cu;
/* 028C4C1C */ Gambit_fn_0284D288(cpu);
L_028C4C20: ; // 0x28c4c20
/* 028C4C20 */ /* nop */
/* 028C4C24 */ _t41 = cpu->r[1] + 0x0000002Cu;
/* 028C4C24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
/* 028C4C28 */ cpu->lr = cpu->r[0];
/* 028C4C2C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028C4C30 */ return;
}
// fn_028C4C34 @ 0x28c4c34
void Gambit_fn_028C4C34(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55;
L_028C4C34: ; // 0x28c4c34
/* 028C4C34 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
/* 028C4C34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C4C34 */ cpu->r[1] = _t0;
/* 028C4C38 */ /* nop */
/* 028C4C3C */ cpu->r[0] = cpu->lr;
/* 028C4C40 */ _t1 = cpu->r[1] + 0x00000034u;
/* 028C4C40 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028C4C44 */ cpu->r[29] = cpu->r[6];
/* 028C4C48 */ cpu->r[28] = cpu->r[3];
/* 028C4C4C */ cpu->r[31] = cpu->r[8];
/* 028C4C50 */ cpu->r[24] = cpu->r[4];
/* 028C4C54 */ _t2 = cpu->r[28] + 0x0000002Cu;
/* 028C4C54 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
/* 028C4C58 */ cpu->r[25] = cpu->r[5];
/* 028C4C5C */ _t3 = cpu->r[28] + 0x00000038u;
/* 028C4C5C */ cpu->r[23] = rbrew_read32(cpu->mem, _t3);
/* 028C4C60 */ cpu->r[26] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C4C64 */ _t4 = cpu->r[11] + 0x00000000u;
/* 028C4C64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028C4C68 */ cpu->r[22] = rbrew_rlwinm(cpu->r[23], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C4C6C */ _t5 = cpu->r[28] + 0x00000030u;
/* 028C4C6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028C4C70 */ cpu->r[30] = cpu->r[7];
/* 028C4C74 */ cpu->r[3] = cpu->r[12] + cpu->r[22];
/* 028C4C78 */ cpu->r[4] = cpu->r[26];
/* 028C4C7C */ cpu->r[27] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)cpu->r[0]);
/* 028C4C80 */ rbrew_dispatch(cpu, 0x02d09350u);
/* 028C4C84 */ _t6 = cpu->r[28] + 0x0000002Cu;
/* 028C4C84 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
/* 028C4C88 */ _t7 = cpu->r[5] + 0x00000004u;
/* 028C4C88 */ cpu->r[6] = rbrew_read32(cpu->mem, _t7);
/* 028C4C8C */ cpu->r[4] = cpu->r[26];
/* 028C4C90 */ cpu->r[3] = cpu->r[6] + cpu->r[22];
/* 028C4C94 */ rbrew_dispatch(cpu, 0x02d09350u);
/* 028C4C98 */ _t8 = cpu->r[28] + 0x0000002Cu;
/* 028C4C98 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
/* 028C4C9C */ _t9 = cpu->r[7] + 0x00000008u;
/* 028C4C9C */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
/* 028C4CA0 */ cpu->r[4] = cpu->r[26];
/* 028C4CA4 */ cpu->r[3] = cpu->r[8] + cpu->r[22];
/* 028C4CA8 */ rbrew_dispatch(cpu, 0x02d09350u);
/* 028C4CAC */ _t10 = cpu->r[28] + 0x0000002Cu;
/* 028C4CAC */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
/* 028C4CB0 */ _t11 = cpu->r[9] + 0x0000000Cu;
/* 028C4CB0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
/* 028C4CB4 */ cpu->r[4] = cpu->r[26];
/* 028C4CB8 */ cpu->r[3] = cpu->r[10] + cpu->r[22];
/* 028C4CBC */ rbrew_dispatch(cpu, 0x02d09350u);
/* 028C4CC0 */ _t12 = cpu->r[28] + 0x0000002Cu;
/* 028C4CC0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
/* 028C4CC4 */ _t13 = cpu->r[11] + 0x00000000u;
/* 028C4CC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
/* 028C4CC8 */ cpu->r[6] = 0x00000000u;
/* 028C4CCC */ cpu->r[5] = cpu->r[26];
/* 028C4CD0 */ cpu->r[4] = cpu->r[24];
/* 028C4CD4 */ cpu->r[3] = cpu->r[12] + cpu->r[22];
/* 028C4CD8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028C4CDC */ _t14 = cpu->r[28] + 0x0000002Cu;
/* 028C4CDC */ cpu->r[7] = rbrew_read32(cpu->mem, _t14);
/* 028C4CE0 */ _t15 = cpu->r[7] + 0x00000004u;
/* 028C4CE0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
/* 028C4CE4 */ cpu->r[6] = 0x00000000u;
/* 028C4CE8 */ cpu->r[5] = cpu->r[26];
/* 028C4CEC */ cpu->r[4] = cpu->r[25];
/* 028C4CF0 */ cpu->r[3] = cpu->r[8] + cpu->r[22];
/* 028C4CF4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028C4CF8 */ _t16 = cpu->r[28] + 0x0000002Cu;
/* 028C4CF8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
/* 028C4CFC */ _t17 = cpu->r[9] + 0x00000008u;
/* 028C4CFC */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
/* 028C4D00 */ cpu->r[4] = cpu->r[29];
/* 028C4D04 */ cpu->r[5] = cpu->r[26];
/* 028C4D08 */ cpu->r[6] = 0x00000000u;
/* 028C4D0C */ cpu->r[3] = cpu->r[10] + cpu->r[22];
/* 028C4D10 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028C4D14 */ _t18 = cpu->r[28] + 0x0000002Cu;
/* 028C4D14 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
/* 028C4D18 */ _t19 = cpu->r[11] + 0x0000000Cu;
/* 028C4D18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
/* 028C4D1C */ cpu->r[6] = 0x00000000u;
/* 028C4D20 */ cpu->r[5] = cpu->r[26];
/* 028C4D24 */ cpu->r[4] = cpu->r[30];
/* 028C4D28 */ cpu->r[3] = cpu->r[12] + cpu->r[22];
/* 028C4D2C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028C4D30 */ cpu->r[23] = cpu->r[23] + cpu->r[31];
/* 028C4D34 */ _t20 = cpu->r[28] + 0x00000034u;
/* 028C4D34 */ cpu->r[5] = rbrew_read32(cpu->mem, _t20);
/* 028C4D38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[27]);
/* 028C4D3C */ _t21 = cpu->r[28] + 0x00000044u;
/* 028C4D3C */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
/* 028C4D40 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C4D40 */ _t23 = _t22 & 0x00000001u;
/* 028C4D40 */ if (_t23) goto L_028C4D48; else goto L_028C4D44;
L_028C4D44: ; // 0x28c4d44
/* 028C4D44 */ cpu->r[23] = 0x00000000u;
L_028C4D48: ; // 0x28c4d48
/* 028C4D48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[5]);
/* 028C4D4C */ _t24 = cpu->r[28] + 0x00000038u;
/* 028C4D4C */ rbrew_write32(cpu->mem, _t24, cpu->r[23]);
/* 028C4D50 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C4D50 */ _t26 = _t25 & 0x00000001u;
/* 028C4D50 */ if (_t26) goto L_028C4D54; else goto L_028C4D5C;
L_028C4D54: ; // 0x28c4d54
/* 028C4D54 */ cpu->r[6] = cpu->r[8] + 0x00000001u;
/* 028C4D58 */ _t27 = cpu->r[28] + 0x00000044u;
/* 028C4D58 */ rbrew_write32(cpu->mem, _t27, cpu->r[6]);
L_028C4D5C: ; // 0x28c4d5c
/* 028C4D5C */ cpu->r[4] = cpu->r[26];
/* 028C4D60 */ cpu->r[3] = cpu->r[24];
/* 028C4D64 */ _t28 = cpu->r[28] + 0x00000040u;
/* 028C4D64 */ cpu->r[23] = rbrew_read32(cpu->mem, _t28);
/* 028C4D68 */ rbrew_dispatch(cpu, 0x02d09350u);
/* 028C4D6C */ cpu->r[4] = cpu->r[26];
/* 028C4D70 */ cpu->r[3] = cpu->r[25];
/* 028C4D74 */ rbrew_dispatch(cpu, 0x02d09350u);
/* 028C4D78 */ cpu->r[4] = cpu->r[26];
/* 028C4D7C */ cpu->r[3] = cpu->r[29];
/* 028C4D80 */ rbrew_dispatch(cpu, 0x02d09350u);
/* 028C4D84 */ cpu->r[4] = cpu->r[26];
/* 028C4D88 */ cpu->r[3] = cpu->r[30];
/* 028C4D8C */ rbrew_dispatch(cpu, 0x02d09350u);
/* 028C4D90 */ _t29 = cpu->r[28] + 0x0000003Cu;
/* 028C4D90 */ cpu->r[6] = rbrew_read32(cpu->mem, _t29);
/* 028C4D94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[6]);
/* 028C4D98 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C4D98 */ _t31 = _t30 & 0x00000001u;
/* 028C4D98 */ if (_t31) goto L_028C4E74; else goto L_028C4D9C;
L_028C4D9C: ; // 0x28c4d9c
/* 028C4D9C */ _t32 = cpu->r[28] + 0x00000044u;
/* 028C4D9C */ cpu->r[7] = rbrew_read32(cpu->mem, _t32);
/* 028C4DA0 */ _t33 = cpu->r[28] + 0x00000034u;
/* 028C4DA0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t33);
/* 028C4DA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
/* 028C4DA8 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C4DA8 */ _t35 = _t34 & 0x00000001u;
/* 028C4DA8 */ if (_t35) goto L_028C4E74; else goto L_028C4DAC;
L_028C4DAC: ; // 0x28c4dac
/* 028C4DAC */ _t36 = cpu->r[28] + 0x0000002Cu;
/* 028C4DAC */ cpu->r[9] = rbrew_read32(cpu->mem, _t36);
/* 028C4DB0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C4DB4 */ _t37 = cpu->r[9] + 0x00000000u;
/* 028C4DB4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t37);
/* 028C4DB8 */ cpu->r[6] = 0x00000000u;
/* 028C4DBC */ cpu->r[5] = cpu->r[26];
/* 028C4DC0 */ cpu->r[3] = cpu->r[24];
/* 028C4DC4 */ cpu->r[4] = cpu->r[11] + cpu->r[10];
/* 028C4DC8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028C4DCC */ _t38 = cpu->r[28] + 0x0000002Cu;
/* 028C4DCC */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
/* 028C4DD0 */ _t39 = cpu->r[28] + 0x0000003Cu;
/* 028C4DD0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t39);
/* 028C4DD4 */ cpu->r[5] = cpu->r[26];
/* 028C4DD8 */ _t40 = cpu->r[12] + 0x00000004u;
/* 028C4DD8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t40);
/* 028C4DDC */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C4DE0 */ cpu->r[3] = cpu->r[25];
/* 028C4DE4 */ cpu->r[6] = 0x00000000u;
/* 028C4DE8 */ cpu->r[4] = cpu->r[11] + cpu->r[0];
/* 028C4DEC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028C4DF0 */ _t41 = cpu->r[28] + 0x0000002Cu;
/* 028C4DF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t41);
/* 028C4DF4 */ _t42 = cpu->r[28] + 0x0000003Cu;
/* 028C4DF4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t42);
/* 028C4DF8 */ cpu->r[5] = cpu->r[26];
/* 028C4DFC */ _t43 = cpu->r[12] + 0x00000008u;
/* 028C4DFC */ cpu->r[7] = rbrew_read32(cpu->mem, _t43);
/* 028C4E00 */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C4E04 */ cpu->r[6] = 0x00000000u;
/* 028C4E08 */ cpu->r[3] = cpu->r[29];
/* 028C4E0C */ cpu->r[4] = cpu->r[7] + cpu->r[0];
/* 028C4E10 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028C4E14 */ _t44 = cpu->r[28] + 0x0000002Cu;
/* 028C4E14 */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
/* 028C4E18 */ _t45 = cpu->r[28] + 0x0000003Cu;
/* 028C4E18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
/* 028C4E1C */ cpu->r[5] = cpu->r[26];
/* 028C4E20 */ _t46 = cpu->r[8] + 0x0000000Cu;
/* 028C4E20 */ cpu->r[11] = rbrew_read32(cpu->mem, _t46);
/* 028C4E24 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C4E28 */ cpu->r[6] = 0x00000000u;
/* 028C4E2C */ cpu->r[3] = cpu->r[30];
/* 028C4E30 */ cpu->r[4] = cpu->r[11] + cpu->r[9];
/* 028C4E34 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028C4E38 */ _t47 = cpu->r[28] + 0x0000003Cu;
/* 028C4E38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t47);
/* 028C4E3C */ cpu->r[9] = cpu->r[12] + cpu->r[31];
/* 028C4E40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[27]);
/* 028C4E44 */ _t48 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C4E44 */ _t49 = _t48 & 0x00000001u;
/* 028C4E44 */ if (_t49) goto L_028C4E48; else goto L_028C4E5C;
L_028C4E48: ; // 0x28c4e48
/* 028C4E48 */ _t50 = cpu->r[28] + 0x00000028u;
/* 028C4E48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t50);
/* 028C4E4C */ cpu->r[4] = cpu->r[28] + 0x0000000Cu;
/* 028C4E50 */ _t51 = cpu->r[28] + 0x0000003Cu;
/* 028C4E50 */ rbrew_write32(cpu->mem, _t51, cpu->r[9]);
/* 028C4E54 */ Gambit_fn_0284D288(cpu);
/* 028C4E58 */ goto L_028C4EC0;
L_028C4E5C: ; // 0x28c4e5c
/* 028C4E5C */ cpu->r[5] = 0x00000000u;
/* 028C4E60 */ _t52 = cpu->r[28] + 0x00000028u;
/* 028C4E60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
/* 028C4E64 */ cpu->r[4] = cpu->r[28] + 0x0000000Cu;
/* 028C4E68 */ _t53 = cpu->r[28] + 0x0000003Cu;
/* 028C4E68 */ rbrew_write32(cpu->mem, _t53, cpu->r[5]);
/* 028C4E6C */ Gambit_fn_0284D288(cpu);
/* 028C4E70 */ goto L_028C4EC0;
L_028C4E74: ; // 0x28c4e74
/* 028C4E74 */ cpu->r[4] = 0x00000000u;
/* 028C4E78 */ cpu->r[5] = cpu->r[26];
/* 028C4E7C */ cpu->r[3] = cpu->r[24];
/* 028C4E80 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
/* 028C4E84 */ cpu->r[4] = 0x00000000u;
/* 028C4E88 */ cpu->r[5] = cpu->r[26];
/* 028C4E8C */ cpu->r[3] = cpu->r[25];
/* 028C4E90 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
/* 028C4E94 */ cpu->r[4] = 0x00000000u;
/* 028C4E98 */ cpu->r[5] = cpu->r[26];
/* 028C4E9C */ cpu->r[3] = cpu->r[29];
/* 028C4EA0 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
/* 028C4EA4 */ cpu->r[4] = 0x00000000u;
/* 028C4EA8 */ cpu->r[5] = cpu->r[26];
/* 028C4EAC */ cpu->r[3] = cpu->r[30];
/* 028C4EB0 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
/* 028C4EB4 */ _t54 = cpu->r[28] + 0x00000028u;
/* 028C4EB4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t54);
/* 028C4EB8 */ cpu->r[4] = cpu->r[28] + 0x0000000Cu;
/* 028C4EBC */ Gambit_fn_0284D288(cpu);
L_028C4EC0: ; // 0x28c4ec0
/* 028C4EC0 */ /* nop */
/* 028C4EC4 */ _t55 = cpu->r[1] + 0x00000034u;
/* 028C4EC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
/* 028C4EC8 */ cpu->lr = cpu->r[0];
/* 028C4ECC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
/* 028C4ED0 */ return;
}
// fn_028C4ED4 @ 0x28c4ed4
void Gambit_fn_028C4ED4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69;
L_028C4ED4: ; // 0x28c4ed4
/* 028C4ED4 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
/* 028C4ED4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C4ED4 */ cpu->r[1] = _t0;
/* 028C4ED8 */ /* nop */
/* 028C4EDC */ cpu->r[0] = cpu->lr;
/* 028C4EE0 */ _t1 = cpu->r[1] + 0x0000003Cu;
/* 028C4EE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028C4EE4 */ cpu->r[29] = cpu->r[8];
/* 028C4EE8 */ cpu->r[27] = cpu->r[6];
/* 028C4EEC */ cpu->r[24] = cpu->r[3];
/* 028C4EF0 */ cpu->r[31] = cpu->r[10];
/* 028C4EF4 */ cpu->r[28] = cpu->r[7];
/* 028C4EF8 */ cpu->r[25] = cpu->r[4];
/* 028C4EFC */ _t2 = cpu->r[24] + 0x0000002Cu;
/* 028C4EFC */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
/* 028C4F00 */ cpu->r[26] = cpu->r[5];
/* 028C4F04 */ _t3 = cpu->r[24] + 0x00000038u;
/* 028C4F04 */ cpu->r[22] = rbrew_read32(cpu->mem, _t3);
/* 028C4F08 */ cpu->r[20] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C4F0C */ _t4 = cpu->r[10] + 0x00000000u;
/* 028C4F0C */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
/* 028C4F10 */ cpu->r[23] = rbrew_rlwinm(cpu->r[22], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C4F14 */ _t5 = cpu->r[24] + 0x00000030u;
/* 028C4F14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028C4F18 */ cpu->r[30] = cpu->r[9];
/* 028C4F1C */ cpu->r[3] = cpu->r[11] + cpu->r[23];
/* 028C4F20 */ cpu->r[4] = cpu->r[20];
/* 028C4F24 */ cpu->r[21] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)cpu->r[0]);
/* 028C4F28 */ rbrew_dispatch(cpu, 0x02d09350u);
/* 028C4F2C */ _t6 = cpu->r[24] + 0x0000002Cu;
/* 028C4F2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
/* 028C4F30 */ _t7 = cpu->r[12] + 0x00000004u;
/* 028C4F30 */ cpu->r[5] = rbrew_read32(cpu->mem, _t7);
/* 028C4F34 */ cpu->r[4] = cpu->r[20];
/* 028C4F38 */ cpu->r[3] = cpu->r[5] + cpu->r[23];
/* 028C4F3C */ rbrew_dispatch(cpu, 0x02d09350u);
/* 028C4F40 */ _t8 = cpu->r[24] + 0x0000002Cu;
/* 028C4F40 */ cpu->r[6] = rbrew_read32(cpu->mem, _t8);
/* 028C4F44 */ _t9 = cpu->r[6] + 0x00000008u;
/* 028C4F44 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
/* 028C4F48 */ cpu->r[4] = cpu->r[20];
/* 028C4F4C */ cpu->r[3] = cpu->r[7] + cpu->r[23];
/* 028C4F50 */ rbrew_dispatch(cpu, 0x02d09350u);
/* 028C4F54 */ _t10 = cpu->r[24] + 0x0000002Cu;
/* 028C4F54 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
/* 028C4F58 */ _t11 = cpu->r[8] + 0x0000000Cu;
/* 028C4F58 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
/* 028C4F5C */ cpu->r[4] = cpu->r[20];
/* 028C4F60 */ cpu->r[3] = cpu->r[9] + cpu->r[23];
/* 028C4F64 */ rbrew_dispatch(cpu, 0x02d09350u);
/* 028C4F68 */ _t12 = cpu->r[24] + 0x0000002Cu;
/* 028C4F68 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
/* 028C4F6C */ _t13 = cpu->r[10] + 0x00000010u;
/* 028C4F6C */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
/* 028C4F70 */ cpu->r[4] = cpu->r[20];
/* 028C4F74 */ cpu->r[3] = cpu->r[11] + cpu->r[23];
/* 028C4F78 */ rbrew_dispatch(cpu, 0x02d09350u);
/* 028C4F7C */ _t14 = cpu->r[24] + 0x0000002Cu;
/* 028C4F7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
/* 028C4F80 */ _t15 = cpu->r[12] + 0x00000014u;
/* 028C4F80 */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
/* 028C4F84 */ cpu->r[4] = cpu->r[20];
/* 028C4F88 */ cpu->r[3] = cpu->r[5] + cpu->r[23];
/* 028C4F8C */ rbrew_dispatch(cpu, 0x02d09350u);
/* 028C4F90 */ _t16 = cpu->r[24] + 0x0000002Cu;
/* 028C4F90 */ cpu->r[6] = rbrew_read32(cpu->mem, _t16);
/* 028C4F94 */ _t17 = cpu->r[6] + 0x00000000u;
/* 028C4F94 */ cpu->r[7] = rbrew_read32(cpu->mem, _t17);
/* 028C4F98 */ cpu->r[6] = 0x00000000u;
/* 028C4F9C */ cpu->r[4] = cpu->r[25];
/* 028C4FA0 */ cpu->r[5] = cpu->r[20];
/* 028C4FA4 */ cpu->r[3] = cpu->r[7] + cpu->r[23];
/* 028C4FA8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028C4FAC */ _t18 = cpu->r[24] + 0x0000002Cu;
/* 028C4FAC */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
/* 028C4FB0 */ _t19 = cpu->r[8] + 0x00000004u;
/* 028C4FB0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
/* 028C4FB4 */ cpu->r[4] = cpu->r[26];
/* 028C4FB8 */ cpu->r[5] = cpu->r[20];
/* 028C4FBC */ cpu->r[6] = 0x00000000u;
/* 028C4FC0 */ cpu->r[3] = cpu->r[9] + cpu->r[23];
/* 028C4FC4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028C4FC8 */ _t20 = cpu->r[24] + 0x0000002Cu;
/* 028C4FC8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
/* 028C4FCC */ _t21 = cpu->r[10] + 0x00000008u;
/* 028C4FCC */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
/* 028C4FD0 */ cpu->r[4] = cpu->r[27];
/* 028C4FD4 */ cpu->r[5] = cpu->r[20];
/* 028C4FD8 */ cpu->r[6] = 0x00000000u;
/* 028C4FDC */ cpu->r[3] = cpu->r[11] + cpu->r[23];
/* 028C4FE0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028C4FE4 */ _t22 = cpu->r[24] + 0x0000002Cu;
/* 028C4FE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
/* 028C4FE8 */ _t23 = cpu->r[12] + 0x0000000Cu;
/* 028C4FE8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t23);
/* 028C4FEC */ cpu->r[6] = 0x00000000u;
/* 028C4FF0 */ cpu->r[5] = cpu->r[20];
/* 028C4FF4 */ cpu->r[4] = cpu->r[28];
/* 028C4FF8 */ cpu->r[3] = cpu->r[8] + cpu->r[23];
/* 028C4FFC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028C5000 */ _t24 = cpu->r[24] + 0x0000002Cu;
/* 028C5000 */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
/* 028C5004 */ _t25 = cpu->r[9] + 0x00000010u;
/* 028C5004 */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
/* 028C5008 */ cpu->r[4] = cpu->r[29];
/* 028C500C */ cpu->r[5] = cpu->r[20];
/* 028C5010 */ cpu->r[6] = 0x00000000u;
/* 028C5014 */ cpu->r[3] = cpu->r[10] + cpu->r[23];
/* 028C5018 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028C501C */ _t26 = cpu->r[24] + 0x0000002Cu;
/* 028C501C */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
/* 028C5020 */ _t27 = cpu->r[11] + 0x00000014u;
/* 028C5020 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
/* 028C5024 */ cpu->r[4] = cpu->r[30];
/* 028C5028 */ cpu->r[5] = cpu->r[20];
/* 028C502C */ cpu->r[6] = 0x00000000u;
/* 028C5030 */ cpu->r[3] = cpu->r[12] + cpu->r[23];
/* 028C5034 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028C5038 */ cpu->r[22] = cpu->r[22] + cpu->r[31];
/* 028C503C */ _t28 = cpu->r[24] + 0x00000034u;
/* 028C503C */ cpu->r[5] = rbrew_read32(cpu->mem, _t28);
/* 028C5040 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[21]);
/* 028C5044 */ _t29 = cpu->r[24] + 0x00000044u;
/* 028C5044 */ cpu->r[8] = rbrew_read32(cpu->mem, _t29);
/* 028C5048 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C5048 */ _t31 = _t30 & 0x00000001u;
/* 028C5048 */ if (_t31) goto L_028C5050; else goto L_028C504C;
L_028C504C: ; // 0x28c504c
/* 028C504C */ cpu->r[22] = 0x00000000u;
L_028C5050: ; // 0x28c5050
/* 028C5050 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[5]);
/* 028C5054 */ _t32 = cpu->r[24] + 0x00000038u;
/* 028C5054 */ rbrew_write32(cpu->mem, _t32, cpu->r[22]);
/* 028C5058 */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C5058 */ _t34 = _t33 & 0x00000001u;
/* 028C5058 */ if (_t34) goto L_028C505C; else goto L_028C5064;
L_028C505C: ; // 0x28c505c
/* 028C505C */ cpu->r[6] = cpu->r[8] + 0x00000001u;
/* 028C5060 */ _t35 = cpu->r[24] + 0x00000044u;
/* 028C5060 */ rbrew_write32(cpu->mem, _t35, cpu->r[6]);
L_028C5064: ; // 0x28c5064
/* 028C5064 */ cpu->r[4] = cpu->r[20];
/* 028C5068 */ cpu->r[3] = cpu->r[25];
/* 028C506C */ _t36 = cpu->r[24] + 0x00000040u;
/* 028C506C */ cpu->r[23] = rbrew_read32(cpu->mem, _t36);
/* 028C5070 */ rbrew_dispatch(cpu, 0x02d09350u);
/* 028C5074 */ cpu->r[4] = cpu->r[20];
/* 028C5078 */ cpu->r[3] = cpu->r[26];
/* 028C507C */ rbrew_dispatch(cpu, 0x02d09350u);
/* 028C5080 */ cpu->r[4] = cpu->r[20];
/* 028C5084 */ cpu->r[3] = cpu->r[27];
/* 028C5088 */ rbrew_dispatch(cpu, 0x02d09350u);
/* 028C508C */ cpu->r[4] = cpu->r[20];
/* 028C5090 */ cpu->r[3] = cpu->r[28];
/* 028C5094 */ rbrew_dispatch(cpu, 0x02d09350u);
/* 028C5098 */ cpu->r[3] = cpu->r[29];
/* 028C509C */ cpu->r[4] = cpu->r[20];
/* 028C50A0 */ rbrew_dispatch(cpu, 0x02d09350u);
/* 028C50A4 */ cpu->r[3] = cpu->r[30];
/* 028C50A8 */ cpu->r[4] = cpu->r[20];
/* 028C50AC */ rbrew_dispatch(cpu, 0x02d09350u);
/* 028C50B0 */ _t37 = cpu->r[24] + 0x0000003Cu;
/* 028C50B0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t37);
/* 028C50B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[6]);
/* 028C50B8 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C50B8 */ _t39 = _t38 & 0x00000001u;
/* 028C50B8 */ if (_t39) goto L_028C51DC; else goto L_028C50BC;
L_028C50BC: ; // 0x28c50bc
/* 028C50BC */ _t40 = cpu->r[24] + 0x00000044u;
/* 028C50BC */ cpu->r[7] = rbrew_read32(cpu->mem, _t40);
/* 028C50C0 */ _t41 = cpu->r[24] + 0x00000034u;
/* 028C50C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t41);
/* 028C50C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
/* 028C50C8 */ _t42 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C50C8 */ _t43 = _t42 & 0x00000001u;
/* 028C50C8 */ if (_t43) goto L_028C51DC; else goto L_028C50CC;
L_028C50CC: ; // 0x28c50cc
/* 028C50CC */ _t44 = cpu->r[24] + 0x0000002Cu;
/* 028C50CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t44);
/* 028C50D0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C50D4 */ _t45 = cpu->r[9] + 0x00000000u;
/* 028C50D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t45);
/* 028C50D8 */ cpu->r[6] = 0x00000000u;
/* 028C50DC */ cpu->r[5] = cpu->r[20];
/* 028C50E0 */ cpu->r[3] = cpu->r[25];
/* 028C50E4 */ cpu->r[4] = cpu->r[11] + cpu->r[0];
/* 028C50E8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028C50EC */ _t46 = cpu->r[24] + 0x0000002Cu;
/* 028C50EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t46);
/* 028C50F0 */ _t47 = cpu->r[24] + 0x0000003Cu;
/* 028C50F0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t47);
/* 028C50F4 */ cpu->r[5] = cpu->r[20];
/* 028C50F8 */ _t48 = cpu->r[12] + 0x00000004u;
/* 028C50F8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t48);
/* 028C50FC */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C5100 */ cpu->r[6] = 0x00000000u;
/* 028C5104 */ cpu->r[3] = cpu->r[26];
/* 028C5108 */ cpu->r[4] = cpu->r[7] + cpu->r[0];
/* 028C510C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028C5110 */ _t49 = cpu->r[24] + 0x0000002Cu;
/* 028C5110 */ cpu->r[8] = rbrew_read32(cpu->mem, _t49);
/* 028C5114 */ _t50 = cpu->r[24] + 0x0000003Cu;
/* 028C5114 */ cpu->r[10] = rbrew_read32(cpu->mem, _t50);
/* 028C5118 */ cpu->r[5] = cpu->r[20];
/* 028C511C */ _t51 = cpu->r[8] + 0x00000008u;
/* 028C511C */ cpu->r[11] = rbrew_read32(cpu->mem, _t51);
/* 028C5120 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C5124 */ cpu->r[3] = cpu->r[27];
/* 028C5128 */ cpu->r[6] = 0x00000000u;
/* 028C512C */ cpu->r[4] = cpu->r[11] + cpu->r[9];
/* 028C5130 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028C5134 */ _t52 = cpu->r[24] + 0x0000002Cu;
/* 028C5134 */ cpu->r[12] = rbrew_read32(cpu->mem, _t52);
/* 028C5138 */ _t53 = cpu->r[24] + 0x0000003Cu;
/* 028C5138 */ cpu->r[7] = rbrew_read32(cpu->mem, _t53);
/* 028C513C */ cpu->r[5] = cpu->r[20];
/* 028C5140 */ _t54 = cpu->r[12] + 0x0000000Cu;
/* 028C5140 */ cpu->r[8] = rbrew_read32(cpu->mem, _t54);
/* 028C5144 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C5148 */ cpu->r[6] = 0x00000000u;
/* 028C514C */ cpu->r[4] = cpu->r[8] + cpu->r[0];
/* 028C5150 */ cpu->r[3] = cpu->r[28];
/* 028C5154 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028C5158 */ _t55 = cpu->r[24] + 0x0000002Cu;
/* 028C5158 */ cpu->r[9] = rbrew_read32(cpu->mem, _t55);
/* 028C515C */ _t56 = cpu->r[24] + 0x0000003Cu;
/* 028C515C */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
/* 028C5160 */ cpu->r[3] = cpu->r[29];
/* 028C5164 */ _t57 = cpu->r[9] + 0x00000010u;
/* 028C5164 */ cpu->r[12] = rbrew_read32(cpu->mem, _t57);
/* 028C5168 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C516C */ cpu->r[5] = cpu->r[20];
/* 028C5170 */ cpu->r[6] = 0x00000000u;
/* 028C5174 */ cpu->r[4] = cpu->r[12] + cpu->r[10];
/* 028C5178 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028C517C */ _t58 = cpu->r[24] + 0x0000002Cu;
/* 028C517C */ cpu->r[7] = rbrew_read32(cpu->mem, _t58);
/* 028C5180 */ _t59 = cpu->r[24] + 0x0000003Cu;
/* 028C5180 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
/* 028C5184 */ cpu->r[6] = 0x00000000u;
/* 028C5188 */ _t60 = cpu->r[7] + 0x00000014u;
/* 028C5188 */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
/* 028C518C */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C5190 */ cpu->r[3] = cpu->r[30];
/* 028C5194 */ cpu->r[5] = cpu->r[20];
/* 028C5198 */ cpu->r[4] = cpu->r[12] + cpu->r[9];
/* 028C519C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028C51A0 */ _t61 = cpu->r[24] + 0x0000003Cu;
/* 028C51A0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t61);
/* 028C51A4 */ cpu->r[10] = cpu->r[7] + cpu->r[31];
/* 028C51A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[21]);
/* 028C51AC */ _t62 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C51AC */ _t63 = _t62 & 0x00000001u;
/* 028C51AC */ if (_t63) goto L_028C51B0; else goto L_028C51C4;
L_028C51B0: ; // 0x28c51b0
/* 028C51B0 */ _t64 = cpu->r[24] + 0x00000028u;
/* 028C51B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t64);
/* 028C51B4 */ cpu->r[4] = cpu->r[24] + 0x0000000Cu;
/* 028C51B8 */ _t65 = cpu->r[24] + 0x0000003Cu;
/* 028C51B8 */ rbrew_write32(cpu->mem, _t65, cpu->r[10]);
/* 028C51BC */ Gambit_fn_0284D288(cpu);
/* 028C51C0 */ goto L_028C5248;
L_028C51C4: ; // 0x28c51c4
/* 028C51C4 */ cpu->r[8] = 0x00000000u;
/* 028C51C8 */ _t66 = cpu->r[24] + 0x00000028u;
/* 028C51C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t66);
/* 028C51CC */ cpu->r[4] = cpu->r[24] + 0x0000000Cu;
/* 028C51D0 */ _t67 = cpu->r[24] + 0x0000003Cu;
/* 028C51D0 */ rbrew_write32(cpu->mem, _t67, cpu->r[8]);
/* 028C51D4 */ Gambit_fn_0284D288(cpu);
/* 028C51D8 */ goto L_028C5248;
L_028C51DC: ; // 0x28c51dc
/* 028C51DC */ cpu->r[4] = 0x00000000u;
/* 028C51E0 */ cpu->r[5] = cpu->r[20];
/* 028C51E4 */ cpu->r[3] = cpu->r[25];
/* 028C51E8 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
/* 028C51EC */ cpu->r[4] = 0x00000000u;
/* 028C51F0 */ cpu->r[5] = cpu->r[20];
/* 028C51F4 */ cpu->r[3] = cpu->r[26];
/* 028C51F8 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
/* 028C51FC */ cpu->r[4] = 0x00000000u;
/* 028C5200 */ cpu->r[5] = cpu->r[20];
/* 028C5204 */ cpu->r[3] = cpu->r[27];
/* 028C5208 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
/* 028C520C */ cpu->r[4] = 0x00000000u;
/* 028C5210 */ cpu->r[5] = cpu->r[20];
/* 028C5214 */ cpu->r[3] = cpu->r[28];
/* 028C5218 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
/* 028C521C */ cpu->r[4] = 0x00000000u;
/* 028C5220 */ cpu->r[5] = cpu->r[20];
/* 028C5224 */ cpu->r[3] = cpu->r[29];
/* 028C5228 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
/* 028C522C */ cpu->r[4] = 0x00000000u;
/* 028C5230 */ cpu->r[5] = cpu->r[20];
/* 028C5234 */ cpu->r[3] = cpu->r[30];
/* 028C5238 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
/* 028C523C */ _t68 = cpu->r[24] + 0x00000028u;
/* 028C523C */ cpu->r[3] = rbrew_read32(cpu->mem, _t68);
/* 028C5240 */ cpu->r[4] = cpu->r[24] + 0x0000000Cu;
/* 028C5244 */ Gambit_fn_0284D288(cpu);
L_028C5248: ; // 0x28c5248
/* 028C5248 */ /* nop */
/* 028C524C */ _t69 = cpu->r[1] + 0x0000003Cu;
/* 028C524C */ cpu->r[0] = rbrew_read32(cpu->mem, _t69);
/* 028C5250 */ cpu->lr = cpu->r[0];
/* 028C5254 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
/* 028C5258 */ return;
}
// fn_028C525C @ 0x28c525c
void Gambit_fn_028C525C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96;
L_028C525C: ; // 0x28c525c
/* 028C525C */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
/* 028C525C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C525C */ cpu->r[1] = _t0;
/* 028C5260 */ /* nop */
/* 028C5264 */ cpu->r[0] = cpu->lr;
/* 028C5268 */ _t1 = cpu->r[1] + 0x00000040u;
/* 028C5268 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028C526C */ /* nop */
/* 028C5270 */ _t2 = cpu->r[1] + 0x00000048u;
/* 028C5270 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
/* 028C5274 */ _t3 = cpu->r[1] + 0x00000054u;
/* 028C5274 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C5278 */ cpu->r[29] = cpu->r[3];
/* 028C527C */ cpu->r[31] = cpu->r[4];
/* 028C5280 */ _t4 = cpu->r[29] + 0x00000018u;
/* 028C5280 */ cpu->r[7] = rbrew_read8(cpu->mem, _t4);
/* 028C5284 */ cpu->r[27] = cpu->r[5];
/* 028C5288 */ _t5 = cpu->r[29] + 0x000000A4u;
/* 028C5288 */ cpu->r[5] = rbrew_read32(cpu->mem, _t5);
/* 028C528C */ cpu->r[28] = cpu->r[6];
/* 028C5290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
/* 028C5294 */ cpu->f[31] = cpu->f[1];
/* 028C5298 */ cpu->r[30] = cpu->r[5] + 0x00000018u;
/* 028C529C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C529C */ _t7 = _t6 & 0x00000001u;
/* 028C529C */ if (_t7) goto L_028C52A0; else goto L_028C52CC;
L_028C52A0: ; // 0x28c52a0
/* 028C52A0 */ cpu->r[9] = 0x00000000u;
/* 028C52A4 */ _t8 = cpu->r[30] + 0x00000008u;
/* 028C52A4 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
/* 028C52A8 */ _t9 = cpu->r[30] + 0x0000000Cu;
/* 028C52A8 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
/* 028C52AC */ /* nop */
/* 028C52B0 */ _t10 = cpu->r[1] + 0x00000048u;
/* 028C52B0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t10);
/* 028C52B4 */ _t11 = cpu->r[1] + 0x00000040u;
/* 028C52B4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t11);
/* 028C52B8 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C52B8 */ _t13 = _t12 & 0x00000001u;
/* 028C52B8 */ if (_t13) goto L_028C52BC; // else: addr-0 trap, fall-through
L_028C52BC: ; // 0x28c52bc
/* 028C52BC */ _t14 = cpu->r[1] + 0x00000054u;
/* 028C52BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028C52C0 */ cpu->lr = cpu->r[0];
/* 028C52C4 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
/* 028C52C8 */ return;
L_028C52CC: ; // 0x28c52cc
/* 028C52CC */ rbrew_dispatch(cpu, 0x02d0ab30u);
/* 028C52D0 */ _t15 = cpu->r[30] + 0x00000000u;
/* 028C52D0 */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
/* 028C52D4 */ cpu->r[3] = cpu->r[29];
/* 028C52D8 */ _t16 = cpu->r[30] + 0x00000004u;
/* 028C52D8 */ rbrew_write32(cpu->mem, _t16, cpu->r[4]);
/* 028C52DC */ Gambit_fn_028C49E4(cpu);
/* 028C52E0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C52E4 */ _t17 = cpu->r[29] + 0x0000001Cu;
/* 028C52E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
/* 028C52E8 */ cpu->r[0] = cpu->r[31];
/* 028C52EC */ cpu->r[28] = cpu->r[28] / cpu->r[11];
/* 028C52F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028C52F4 */ _t18 = cpu->r[29] + 0x00000020u;
/* 028C52F4 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
/* 028C52F8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C52F8 */ _t20 = _t19 & 0x00000001u;
/* 028C52F8 */ if (_t20) goto L_028C5308; else goto L_028C52FC;
L_028C52FC: ; // 0x28c52fc
/* 028C52FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
/* 028C5300 */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C5300 */ _t22 = _t21 & 0x00000001u;
/* 028C5300 */ if (_t22) goto L_028C5304; else goto L_028C5308;
L_028C5304: ; // 0x28c5304
/* 028C5304 */ _t23 = cpu->r[29] + 0x00000020u;
/* 028C5304 */ rbrew_write32(cpu->mem, _t23, cpu->r[12]);
L_028C5308: ; // 0x28c5308
/* 028C5308 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C530C */ cpu->r[12] = 0x00000000u;
/* 028C5310 */ _t24 = cpu->r[29] + 0x0000004Cu;
/* 028C5310 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[31]);
/* 028C5314 */ _t25 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C5314 */ _t26 = _t25 & 0x00000001u;
/* 028C5314 */ if (_t26) goto L_028C5318; else goto L_028C5338;
L_028C5318: ; // 0x28c5318
/* 028C5318 */ cpu->ctr = cpu->r[31];
/* 028C531C */ cpu->r[10] = 0x00000000u;
/* 028C5320 */ cpu->r[11] = cpu->r[1] + 0x00000004u;
/* 028C5324 */ cpu->r[12] = cpu->r[12] + cpu->r[31];
L_028C5328: ; // 0x28c5328
/* 028C5328 */ _t27 = cpu->r[27] + cpu->r[10];
/* 028C5328 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
/* 028C532C */ cpu->r[10] = cpu->r[10] + 0x00000004u;
/* 028C5330 */ _t28 = cpu->r[11] + 0x00000004u;
/* 028C5330 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
/* 028C5330 */ cpu->r[11] = _t28;
/* 028C5334 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028C5334 */ _t29 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028C5334 */ _t30 = _t29 >> (0x00000002u & 31u);
/* 028C5334 */ _t31 = _t30 & 0x00000001u;
/* 028C5334 */ if (_t31) goto L_028C5328; else goto L_028C5338;
L_028C5338: ; // 0x28c5338
/* 028C5338 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000006u);
/* 028C533C */ cpu->r[10] = 0x00000006u - cpu->r[12];
/* 028C5340 */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C5340 */ _t33 = _t32 & 0x00000001u;
/* 028C5340 */ if (_t33) goto L_028C5344; else goto L_028C5364;
L_028C5344: ; // 0x28c5344
/* 028C5344 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
/* 028C5348 */ cpu->r[5] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C534C */ cpu->ctr = cpu->r[10];
/* 028C5350 */ cpu->r[7] = cpu->r[6] + cpu->r[5];
/* 028C5354 */ cpu->r[0] = 0x00000000u;
/* 028C5358 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFCu;
L_028C535C: ; // 0x28c535c
/* 028C535C */ _t34 = cpu->r[7] + 0x00000004u;
/* 028C535C */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
/* 028C535C */ cpu->r[7] = _t34;
/* 028C5360 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028C5360 */ _t35 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028C5360 */ _t36 = _t35 >> (0x00000002u & 31u);
/* 028C5360 */ _t37 = _t36 & 0x00000001u;
/* 028C5360 */ if (_t37) goto L_028C535C; else goto L_028C5364;
L_028C5364: ; // 0x28c5364
/* 028C5364 */ _t38 = cpu->r[29] + 0x00000024u;
/* 028C5364 */ cpu->r[0] = rbrew_read8(cpu->mem, _t38);
/* 028C5368 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C536C */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C536C */ _t40 = _t39 & 0x00000001u;
/* 028C536C */ if (_t40) goto L_028C5458; else goto L_028C5370;
L_028C5370: ; // 0x28c5370
/* 028C5370 */ _t41 = cpu->r[29] + 0x00000020u;
/* 028C5370 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
/* 028C5374 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
/* 028C5378 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5378 */ _t43 = _t42 & 0x00000001u;
/* 028C5378 */ if (_t43) goto L_028C539C; else goto L_028C537C;
L_028C537C: ; // 0x28c537c
/* 028C537C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000004u);
/* 028C5380 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5380 */ _t45 = _t44 & 0x00000001u;
/* 028C5380 */ if (_t45) goto L_028C53B8; else goto L_028C5384;
L_028C5384: ; // 0x28c5384
/* 028C5384 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000006u);
/* 028C5388 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5388 */ _t47 = _t46 & 0x00000001u;
/* 028C5388 */ if (_t47) goto L_028C53DC; else goto L_028C538C;
L_028C538C: ; // 0x28c538c
/* 028C538C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[31]);
/* 028C5390 */ cpu->r[27] = cpu->r[31] - cpu->r[0];
/* 028C5394 */ _t48 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C5394 */ _t49 = _t48 & 0x00000001u;
/* 028C5394 */ if (_t49) goto L_028C5410; else goto L_028C5398;
L_028C5398: ; // 0x28c5398
/* 028C5398 */ goto L_028C54D8;
L_028C539C: ; // 0x28c539c
/* 028C539C */ _t50 = cpu->r[1] + 0x00000008u;
/* 028C539C */ cpu->r[4] = rbrew_read32(cpu->mem, _t50);
/* 028C53A0 */ cpu->r[6] = cpu->r[28];
/* 028C53A4 */ _t51 = cpu->r[1] + 0x0000000Cu;
/* 028C53A4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t51);
/* 028C53A8 */ cpu->r[3] = cpu->r[29];
/* 028C53AC */ Gambit_fn_028C4A7C(cpu);
/* 028C53B0 */ _t52 = cpu->r[29] + 0x00000020u;
/* 028C53B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
/* 028C53B4 */ goto L_028C5404;
L_028C53B8: ; // 0x28c53b8
/* 028C53B8 */ _t53 = cpu->r[1] + 0x00000010u;
/* 028C53B8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t53);
/* 028C53BC */ cpu->r[8] = cpu->r[28];
/* 028C53C0 */ _t54 = cpu->r[1] + 0x0000000Cu;
/* 028C53C0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t54);
/* 028C53C4 */ cpu->r[3] = cpu->r[29];
/* 028C53C8 */ _t55 = cpu->r[1] + 0x00000014u;
/* 028C53C8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t55);
/* 028C53CC */ _t56 = cpu->r[1] + 0x00000008u;
/* 028C53CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t56);
/* 028C53D0 */ Gambit_fn_028C4C34(cpu);
/* 028C53D4 */ _t57 = cpu->r[29] + 0x00000020u;
/* 028C53D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
/* 028C53D8 */ goto L_028C5404;
L_028C53DC: ; // 0x28c53dc
/* 028C53DC */ _t58 = cpu->r[1] + 0x00000014u;
/* 028C53DC */ cpu->r[7] = rbrew_read32(cpu->mem, _t58);
/* 028C53E0 */ cpu->r[10] = cpu->r[28];
/* 028C53E4 */ _t59 = cpu->r[1] + 0x00000018u;
/* 028C53E4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t59);
/* 028C53E8 */ cpu->r[3] = cpu->r[29];
/* 028C53EC */ _t60 = cpu->r[1] + 0x0000001Cu;
/* 028C53EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t60);
/* 028C53F0 */ _t61 = cpu->r[1] + 0x00000010u;
/* 028C53F0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t61);
/* 028C53F4 */ _t62 = cpu->r[1] + 0x0000000Cu;
/* 028C53F4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t62);
/* 028C53F8 */ _t63 = cpu->r[1] + 0x00000008u;
/* 028C53F8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t63);
/* 028C53FC */ Gambit_fn_028C4ED4(cpu);
/* 028C5400 */ _t64 = cpu->r[29] + 0x00000020u;
/* 028C5400 */ cpu->r[0] = rbrew_read32(cpu->mem, _t64);
L_028C5404: ; // 0x28c5404
/* 028C5404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[31]);
/* 028C5408 */ cpu->r[27] = cpu->r[31] - cpu->r[0];
/* 028C540C */ _t65 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C540C */ _t66 = _t65 & 0x00000001u;
/* 028C540C */ if (_t66) goto L_028C5410; else goto L_028C54D8;
L_028C5410: ; // 0x28c5410
/* 028C5410 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C5414 */ cpu->r[9] = cpu->r[1] + 0x00000008u;
/* 028C5418 */ cpu->r[29] = cpu->r[9] + cpu->r[0];
/* 028C541C */ cpu->r[31] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C5420 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFCu;
L_028C5424: ; // 0x28c5424
/* 028C5424 */ _t67 = cpu->r[29] + 0x00000004u;
/* 028C5424 */ cpu->r[3] = rbrew_read32(cpu->mem, _t67);
/* 028C5424 */ cpu->r[29] = _t67;
/* 028C5428 */ cpu->r[5] = cpu->r[31];
/* 028C542C */ cpu->r[4] = 0x00000000u;
/* 028C5430 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
/* 028C5434 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
/* 028C5434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
/* 028C5438 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5438 */ _t69 = _t68 & 0x00000001u;
/* 028C5438 */ if (_t69) goto L_028C543C; else goto L_028C5424;
L_028C543C: ; // 0x28c543c
/* 028C543C */ rbrew_dispatch(cpu, 0x02d0ab30u);
/* 028C5440 */ _t70 = cpu->r[30] + 0x00000004u;
/* 028C5440 */ cpu->r[8] = rbrew_read32(cpu->mem, _t70);
/* 028C5444 */ _t71 = cpu->r[30] + 0x00000000u;
/* 028C5444 */ cpu->r[6] = rbrew_read32(cpu->mem, _t71);
/* 028C5448 */ cpu->r[9] = cpu->r[4] - cpu->r[8];
/* 028C544C */ cpu->r[0] = cpu->r[3] - cpu->r[6];
/* 028C5450 */ _t72 = cpu->r[30] + 0x00000008u;
/* 028C5450 */ rbrew_write32(cpu->mem, _t72, cpu->r[0]);
/* 028C5454 */ goto L_028C54F0;
L_028C5458: ; // 0x28c5458
/* 028C5458 */ _t73 = cpu->r[29] + 0x0000005Cu;
/* 028C5458 */ cpu->r[3] = rbrew_read32(cpu->mem, _t73);
/* 028C545C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C5460 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5460 */ _t75 = _t74 & 0x00000001u;
/* 028C5460 */ if (_t75) goto L_028C54D8; else goto L_028C5464;
L_028C5464: ; // 0x28c5464
/* 028C5464 */ _t76 = cpu->r[29] + 0x00000054u;
/* 028C5464 */ cpu->r[0] = rbrew_read32(cpu->mem, _t76);
/* 028C5468 */ cpu->r[12] = 0x00000002u;
/* 028C546C */ _t77 = cpu->r[3] + 0x00000000u;
/* 028C546C */ cpu->r[11] = rbrew_read32(cpu->mem, _t77);
/* 028C5470 */ _t78 = cpu->r[1] + 0x00000020u;
/* 028C5470 */ rbrew_write32(cpu->mem, _t78, cpu->r[12]);
/* 028C5474 */ _t79 = cpu->r[1] + 0x00000024u;
/* 028C5474 */ rbrew_write32(cpu->mem, _t79, cpu->r[0]);
/* 028C5478 */ _t80 = cpu->r[11] + 0x0000004Cu;
/* 028C5478 */ cpu->r[0] = rbrew_read32(cpu->mem, _t80);
/* 028C547C */ cpu->f[1] = cpu->f[31];
/* 028C5480 */ cpu->ctr = cpu->r[0];
/* 028C5484 */ cpu->r[7] = cpu->r[1] + 0x00000020u;
/* 028C5488 */ _t81 = cpu->r[29] + 0x00000020u;
/* 028C5488 */ cpu->r[4] = rbrew_read32(cpu->mem, _t81);
/* 028C548C */ cpu->r[8] = cpu->r[1] + 0x00000024u;
/* 028C5490 */ cpu->r[5] = cpu->r[27];
/* 028C5494 */ cpu->r[6] = cpu->r[28];
/* 028C5498 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C549C */ _t82 = cpu->r[29] + 0x00000020u;
/* 028C549C */ cpu->r[10] = rbrew_read32(cpu->mem, _t82);
/* 028C54A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[31]);
/* 028C54A4 */ cpu->r[27] = cpu->r[31] - cpu->r[10];
/* 028C54A8 */ _t83 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C54A8 */ _t84 = _t83 & 0x00000001u;
/* 028C54A8 */ if (_t84) goto L_028C54AC; else goto L_028C54D8;
L_028C54AC: ; // 0x28c54ac
/* 028C54AC */ cpu->r[6] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C54B0 */ cpu->r[8] = cpu->r[1] + 0x00000008u;
/* 028C54B4 */ cpu->r[29] = cpu->r[8] + cpu->r[6];
/* 028C54B8 */ cpu->r[31] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C54BC */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFCu;
L_028C54C0: ; // 0x28c54c0
/* 028C54C0 */ _t85 = cpu->r[29] + 0x00000004u;
/* 028C54C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t85);
/* 028C54C0 */ cpu->r[29] = _t85;
/* 028C54C4 */ cpu->r[5] = cpu->r[31];
/* 028C54C8 */ cpu->r[4] = 0x00000000u;
/* 028C54CC */ rbrew_dispatch(cpu, 0x02d0a6f0u);
/* 028C54D0 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
/* 028C54D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
/* 028C54D4 */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C54D4 */ _t87 = _t86 & 0x00000001u;
/* 028C54D4 */ if (_t87) goto L_028C54D8; else goto L_028C54C0;
L_028C54D8: ; // 0x28c54d8
/* 028C54D8 */ rbrew_dispatch(cpu, 0x02d0ab30u);
/* 028C54DC */ _t88 = cpu->r[30] + 0x00000004u;
/* 028C54DC */ cpu->r[8] = rbrew_read32(cpu->mem, _t88);
/* 028C54E0 */ _t89 = cpu->r[30] + 0x00000000u;
/* 028C54E0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t89);
/* 028C54E4 */ cpu->r[9] = cpu->r[4] - cpu->r[8];
/* 028C54E8 */ cpu->r[0] = cpu->r[3] - cpu->r[6];
/* 028C54EC */ _t90 = cpu->r[30] + 0x00000008u;
/* 028C54EC */ rbrew_write32(cpu->mem, _t90, cpu->r[0]);
L_028C54F0: ; // 0x28c54f0
/* 028C54F0 */ _t91 = cpu->r[30] + 0x0000000Cu;
/* 028C54F0 */ rbrew_write32(cpu->mem, _t91, cpu->r[9]);
/* 028C54F4 */ /* nop */
/* 028C54F8 */ _t92 = cpu->r[1] + 0x00000048u;
/* 028C54F8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t92);
/* 028C54FC */ _t93 = cpu->r[1] + 0x00000040u;
/* 028C54FC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t93);
/* 028C5500 */ _t94 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C5500 */ _t95 = _t94 & 0x00000001u;
/* 028C5500 */ if (_t95) goto L_028C5504; // else: addr-0 trap, fall-through
L_028C5504: ; // 0x28c5504
/* 028C5504 */ _t96 = cpu->r[1] + 0x00000054u;
/* 028C5504 */ cpu->r[0] = rbrew_read32(cpu->mem, _t96);
/* 028C5508 */ cpu->lr = cpu->r[0];
/* 028C550C */ cpu->r[1] = cpu->r[1] + 0x00000050u;
/* 028C5510 */ return;
}
// fn_028C5514 @ 0x28c5514
void Gambit_fn_028C5514(CPUState* cpu) {
L_028C5514: ; // 0x28c5514
/* 028C5514 */ goto L_02C37C60;
L_02C37C60: ; // 0x2c37c60
/* 02C37C60 */ return;
}
// fn_028C5518 @ 0x28c5518
void Gambit_fn_028C5518(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_028C5518: ; // 0x28c5518
/* 028C5518 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C551C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C551C */ _t17 = _t16 & 0x00000001u;
/* 028C551C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028C551C */ goto L_028C5520;
L_028C5520: ; // 0x28c5520
/* 028C5520 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028C5520 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C5524 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5524 */ _t19 = _t18 & 0x00000001u;
/* 028C5524 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028C5524 */ goto L_028C5528;
L_028C5528: ; // 0x28c5528
/* 028C5528 */ goto L_02801BB0;
}
// fn_028C552C @ 0x28c552c
void Gambit_fn_028C552C(CPUState* cpu) {
L_028C552C: ; // 0x28c552c
/* 028C552C */ return;
}
// fn_028C5530 @ 0x28c5530
void Gambit_fn_028C5530(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_028C5530: ; // 0x28c5530
/* 028C5530 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C5534 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5534 */ _t17 = _t16 & 0x00000001u;
/* 028C5534 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028C5534 */ goto L_028C5538;
L_028C5538: ; // 0x28c5538
/* 028C5538 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028C5538 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C553C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C553C */ _t19 = _t18 & 0x00000001u;
/* 028C553C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028C553C */ goto L_028C5540;
L_028C5540: ; // 0x28c5540
/* 028C5540 */ goto L_02801BB0;
}
// fn_028C5544 @ 0x28c5544
void Gambit_fn_028C5544(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028C5544: ; // 0x28c5544
/* 028C5544 */ _t0 = cpu->r[3] + 0x00000000u;
/* 028C5544 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
/* 028C5548 */ _t1 = cpu->r[3] + 0x00000008u;
/* 028C5548 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
/* 028C554C */ cpu->r[12] = cpu->r[11] + cpu->r[12];
/* 028C5550 */ cpu->r[11] = 0x10110000u;
/* 028C5554 */ _t2 = cpu->r[11] + 0x00007399u;
/* 028C5554 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
/* 028C5558 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
/* 028C5558 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
/* 028C555C */ return;
}
// fn_028C5560 @ 0x28c5560
void Gambit_fn_028C5560(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_028C5560: ; // 0x28c5560
/* 028C5560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C5564 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5564 */ _t17 = _t16 & 0x00000001u;
/* 028C5564 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028C5564 */ goto L_028C5568;
L_028C5568: ; // 0x28c5568
/* 028C5568 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028C5568 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C556C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C556C */ _t19 = _t18 & 0x00000001u;
/* 028C556C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028C556C */ goto L_028C5570;
L_028C5570: ; // 0x28c5570
/* 028C5570 */ goto L_02801BB0;
}
// fn_028C5574 @ 0x28c5574
void Gambit_fn_028C5574(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_028C5574: ; // 0x28c5574
/* 028C5574 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C5578 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5578 */ _t17 = _t16 & 0x00000001u;
/* 028C5578 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028C5578 */ goto L_028C557C;
L_028C557C: ; // 0x28c557c
/* 028C557C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028C557C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C5580 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5580 */ _t19 = _t18 & 0x00000001u;
/* 028C5580 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028C5580 */ goto L_028C5584;
L_028C5584: ; // 0x28c5584
/* 028C5584 */ goto L_02801BB0;
}
// fn_028C5588 @ 0x28c5588
void Gambit_fn_028C5588(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20;
L_02801B30: ; // 0x2801b30
/* 02801B30 */ cpu->r[0] = cpu->lr;
/* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 02801B34 */ cpu->r[1] = _t0;
/* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 02801B3C */ cpu->r[31] = cpu->r[3];
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
/* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u;
/* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 02801B50 */ _t5 = _t4 & 0x00000001u;
/* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70;
L_02801B54: ; // 0x2801b54
/* 02801B54 */ cpu->r[3] = cpu->r[31];
/* 02801B58 */ Gambit_fn_02801B20(cpu);
/* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u;
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
/* 02801B64 */ cpu->lr = cpu->r[0];
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 02801B6C */ return;
L_02801B70: ; // 0x2801b70
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 02801B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 02801B74 */ _t9 = _t8 & 0x00000001u;
/* 02801B74 */ if (_t9) goto L_02801B9C; else goto L_02801B78;
L_02801B78: ; // 0x2801b78
/* 02801B78 */ cpu->r[4] = cpu->r[31];
/* 02801B7C */ Gambit_fn_02826B90(cpu);
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 02801B84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 02801B84 */ _t11 = _t10 & 0x00000001u;
/* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88;
L_02801B88: ; // 0x2801b88
/* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu;
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
/* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu;
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 02801B90 */ cpu->ctr = cpu->r[0];
/* 02801B94 */ cpu->r[4] = cpu->r[31];
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
L_02801B9C: ; // 0x2801b9c
/* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u;
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
/* 02801BA4 */ cpu->lr = cpu->r[0];
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 02801BAC */ return;
L_02801BB0: ; // 0x2801bb0
/* 02801BB0 */ goto L_02801B30;
L_028C5588: ; // 0x28c5588
/* 028C5588 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C558C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C558C */ _t17 = _t16 & 0x00000001u;
/* 028C558C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028C558C */ goto L_028C5590;
L_028C5590: ; // 0x28c5590
/* 028C5590 */ cpu->r[12] = 0x00000000u;
/* 028C5594 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028C5594 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C5598 */ _t18 = cpu->r[3] + 0x0000023Cu;
/* 028C5598 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[12]);
/* 028C559C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C559C */ _t20 = _t19 & 0x00000001u;
/* 028C559C */ if (_t20) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028C559C */ goto L_028C55A0;
L_028C55A0: ; // 0x28c55a0
/* 028C55A0 */ goto L_02801BB0;
}
// fn_028C55A8 @ 0x28c55a8
void Gambit_fn_028C55A8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028C55A8: ; // 0x28c55a8
/* 028C55A8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C55A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C55A8 */ cpu->r[1] = _t0;
/* 028C55AC */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C55AC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C55B0 */ cpu->r[31] = cpu->r[3];
/* 028C55B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C55B4 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C55B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C55B8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C55B8 */ _t4 = _t3 & 0x00000001u;
/* 028C55B8 */ if (_t4) goto L_028C55BC; else goto L_028C55CC;
L_028C55BC: ; // 0x28c55bc
/* 028C55BC */ cpu->r[3] = 0x00000018u;
/* 028C55C0 */ Gambit_fn_02801A78(cpu);
/* 028C55C4 */ cpu->r[31] = cpu->r[3];
/* 028C55C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C55C8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C55C8 */ _t6 = _t5 & 0x00000001u;
/* 028C55C8 */ if (_t6) goto L_028C55F0; else goto L_028C55CC;
L_028C55CC: ; // 0x28c55cc
/* 028C55CC */ rbrew_dispatch(cpu, 0x02d0ab30u);
/* 028C55D0 */ _t7 = cpu->r[31] + 0x00000000u;
/* 028C55D0 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
/* 028C55D4 */ cpu->r[12] = 0x10140000u;
/* 028C55D8 */ _t8 = cpu->r[12] + 0xFFFF9504u;
/* 028C55D8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
/* 028C55DC */ _t9 = cpu->r[31] + 0x00000004u;
/* 028C55DC */ rbrew_write32(cpu->mem, _t9, cpu->r[4]);
/* 028C55E0 */ cpu->r[0] = 0x00000000u;
/* 028C55E4 */ _t10 = cpu->r[31] + 0x00000010u;
/* 028C55E4 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
/* 028C55E8 */ _t11 = cpu->r[31] + 0x0000000Cu;
/* 028C55E8 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
/* 028C55EC */ _t12 = cpu->r[31] + 0x00000008u;
/* 028C55EC */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
L_028C55F0: ; // 0x28c55f0
/* 028C55F0 */ _t13 = cpu->r[1] + 0x00000014u;
/* 028C55F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028C55F4 */ cpu->r[3] = cpu->r[31];
/* 028C55F8 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028C55F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028C55FC */ cpu->lr = cpu->r[0];
/* 028C5600 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C5604 */ return;
}
// fn_028C5608 @ 0x28c5608
void Gambit_fn_028C5608(CPUState* cpu) {
uint32_t _t0;
L_028C5608: ; // 0x28c5608
/* 028C5608 */ cpu->r[0] = 0x00000000u;
/* 028C560C */ _t0 = cpu->r[3] + 0x00000000u;
/* 028C560C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028C5610 */ return;
}
// fn_028C5614 @ 0x28c5614
void Gambit_fn_028C5614(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028C5614: ; // 0x28c5614
/* 028C5614 */ cpu->r[0] = cpu->lr;
/* 028C5618 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C5618 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C5618 */ cpu->r[1] = _t0;
/* 028C561C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C561C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C5620 */ cpu->r[31] = cpu->r[3];
/* 028C5620 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C5624 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C5624 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C5628 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5628 */ _t4 = _t3 & 0x00000001u;
/* 028C5628 */ if (_t4) goto L_028C562C; else goto L_028C563C;
L_028C562C: ; // 0x28c562c
/* 028C562C */ cpu->r[3] = 0x00000008u;
/* 028C5630 */ Gambit_fn_02801A78(cpu);
/* 028C5634 */ cpu->r[31] = cpu->r[3];
/* 028C5634 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C5638 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5638 */ _t6 = _t5 & 0x00000001u;
/* 028C5638 */ if (_t6) goto L_028C5670; else goto L_028C563C;
L_028C563C: ; // 0x28c563c
/* 028C563C */ cpu->r[12] = 0x10140000u;
/* 028C5640 */ cpu->r[12] = cpu->r[12] + 0xFFFF9590u;
/* 028C5644 */ cpu->r[3] = cpu->r[31];
/* 028C5644 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C5648 */ _t7 = cpu->r[31] + 0x00000004u;
/* 028C5648 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
/* 028C564C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C564C */ _t9 = _t8 & 0x00000001u;
/* 028C564C */ if (_t9) goto L_028C5650; else goto L_028C5660;
L_028C5650: ; // 0x28c5650
/* 028C5650 */ cpu->r[3] = 0x00000004u;
/* 028C5654 */ Gambit_fn_02801A78(cpu);
/* 028C5658 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C565C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C565C */ _t11 = _t10 & 0x00000001u;
/* 028C565C */ if (_t11) goto L_028C5668; else goto L_028C5660;
L_028C5660: ; // 0x28c5660
/* 028C5660 */ cpu->r[0] = 0x00000000u;
/* 028C5664 */ _t12 = cpu->r[3] + 0x00000000u;
/* 028C5664 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
L_028C5668: ; // 0x28c5668
/* 028C5668 */ cpu->r[3] = cpu->r[31];
/* 028C566C */ Gambit_fn_028C5608(cpu);
L_028C5670: ; // 0x28c5670
/* 028C5670 */ _t13 = cpu->r[1] + 0x00000014u;
/* 028C5670 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028C5674 */ cpu->r[3] = cpu->r[31];
/* 028C5678 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028C5678 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028C567C */ cpu->lr = cpu->r[0];
/* 028C5680 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C5684 */ return;
}
// fn_028C5618 @ 0x28c5618
void Gambit_fn_028C5618(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028C5618: ; // 0x28c5618
/* 028C5618 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C5618 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C5618 */ cpu->r[1] = _t0;
/* 028C561C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C561C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C5620 */ cpu->r[31] = cpu->r[3];
/* 028C5620 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C5624 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C5624 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C5628 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5628 */ _t4 = _t3 & 0x00000001u;
/* 028C5628 */ if (_t4) goto L_028C562C; else goto L_028C563C;
L_028C562C: ; // 0x28c562c
/* 028C562C */ cpu->r[3] = 0x00000008u;
/* 028C5630 */ Gambit_fn_02801A78(cpu);
/* 028C5634 */ cpu->r[31] = cpu->r[3];
/* 028C5634 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C5638 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5638 */ _t6 = _t5 & 0x00000001u;
/* 028C5638 */ if (_t6) goto L_028C5670; else goto L_028C563C;
L_028C563C: ; // 0x28c563c
/* 028C563C */ cpu->r[12] = 0x10140000u;
/* 028C5640 */ cpu->r[12] = cpu->r[12] + 0xFFFF9590u;
/* 028C5644 */ cpu->r[3] = cpu->r[31];
/* 028C5644 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C5648 */ _t7 = cpu->r[31] + 0x00000004u;
/* 028C5648 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
/* 028C564C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C564C */ _t9 = _t8 & 0x00000001u;
/* 028C564C */ if (_t9) goto L_028C5650; else goto L_028C5660;
L_028C5650: ; // 0x28c5650
/* 028C5650 */ cpu->r[3] = 0x00000004u;
/* 028C5654 */ Gambit_fn_02801A78(cpu);
/* 028C5658 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C565C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C565C */ _t11 = _t10 & 0x00000001u;
/* 028C565C */ if (_t11) goto L_028C5668; else goto L_028C5660;
L_028C5660: ; // 0x28c5660
/* 028C5660 */ cpu->r[0] = 0x00000000u;
/* 028C5664 */ _t12 = cpu->r[3] + 0x00000000u;
/* 028C5664 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
L_028C5668: ; // 0x28c5668
/* 028C5668 */ cpu->r[3] = cpu->r[31];
/* 028C566C */ Gambit_fn_028C5608(cpu);
L_028C5670: ; // 0x28c5670
/* 028C5670 */ _t13 = cpu->r[1] + 0x00000014u;
/* 028C5670 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028C5674 */ cpu->r[3] = cpu->r[31];
/* 028C5678 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028C5678 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028C567C */ cpu->lr = cpu->r[0];
/* 028C5680 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C5684 */ return;
}
// fn_028C5688 @ 0x28c5688
void Gambit_fn_028C5688(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028C5688: ; // 0x28c5688
/* 028C5688 */ cpu->r[0] = cpu->lr;
/* 028C568C */ _t0 = cpu->r[1] + 0x00000004u;
/* 028C568C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028C5690 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028C5690 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028C5690 */ cpu->r[1] = _t1;
/* 028C5694 */ Gambit_fn_028C5608(cpu);
/* 028C5698 */ _t2 = cpu->r[3] + 0x00000004u;
/* 028C5698 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
/* 028C569C */ _t3 = cpu->r[12] + 0x00000024u;
/* 028C569C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028C56A0 */ cpu->ctr = cpu->r[0];
/* 028C56A4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C56A8 */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028C56A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028C56AC */ cpu->lr = cpu->r[0];
/* 028C56B0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028C56B4 */ return;
}
// fn_028C5690 @ 0x28c5690
void Gambit_fn_028C5690(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028C5690: ; // 0x28c5690
/* 028C5690 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028C5690 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C5690 */ cpu->r[1] = _t0;
/* 028C5694 */ Gambit_fn_028C5608(cpu);
/* 028C5698 */ _t1 = cpu->r[3] + 0x00000004u;
/* 028C5698 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
/* 028C569C */ _t2 = cpu->r[12] + 0x00000024u;
/* 028C569C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
/* 028C56A0 */ cpu->ctr = cpu->r[0];
/* 028C56A4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C56A8 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028C56A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028C56AC */ cpu->lr = cpu->r[0];
/* 028C56B0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028C56B4 */ return;
}
// fn_028C56B8 @ 0x28c56b8
void Gambit_fn_028C56B8(CPUState* cpu) {
uint32_t _t0;
L_028C56B8: ; // 0x28c56b8
/* 028C56B8 */ cpu->r[0] = 0x00000001u;
/* 028C56BC */ _t0 = cpu->r[3] + 0x00000000u;
/* 028C56BC */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
/* 028C56C0 */ /* nop */
/* 028C56C4 */ cpu->r[0] = cpu->r[10] & cpu->r[12];
/* 028C56C8 */ cpu->r[11] = cpu->r[0] + 0xFFFFFFFFu;
/* 028C56CC */ cpu->r[3] = cpu->r[0] - cpu->r[11];
/* 028C56D0 */ return;
}
// fn_028C56EC @ 0x28c56ec
void Gambit_fn_028C56EC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
L_028C56EC: ; // 0x28c56ec
/* 028C56EC */ cpu->r[0] = cpu->lr;
/* 028C56F0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028C56F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C56F0 */ cpu->r[1] = _t0;
/* 028C56F4 */ cpu->r[10] = 0x10140000u;
/* 028C56F8 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028C56F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
/* 028C56FC */ cpu->r[28] = cpu->r[3];
/* 028C5700 */ cpu->r[10] = cpu->r[10] + 0xFFFF9568u;
/* 028C5704 */ _t2 = cpu->r[1] + 0x00000018u;
/* 028C5704 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C5708 */ cpu->r[3] = 0x00000000u;
/* 028C570C */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028C570C */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
/* 028C5710 */ cpu->r[30] = cpu->r[4];
/* 028C5714 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028C5714 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
/* 028C5718 */ cpu->r[7] = cpu->r[3];
/* 028C571C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028C5720 */ _t5 = cpu->r[1] + 0x00000024u;
/* 028C5720 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028C5724 */ cpu->r[0] = 0x10140000u;
/* 028C5728 */ _t6 = cpu->r[1] + 0x0000001Cu;
/* 028C5728 */ rbrew_write32(cpu->mem, _t6, cpu->r[31]);
/* 028C572C */ cpu->r[0] = cpu->r[0] + 0xFFFF95D0u;
/* 028C5730 */ cpu->r[31] = cpu->r[5];
/* 028C5734 */ cpu->r[5] = cpu->r[6];
/* 028C5738 */ cpu->r[6] = 0x00000001u;
/* 028C573C */ _t7 = cpu->r[1] + 0x00000008u;
/* 028C573C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028C5740 */ Gambit_fn_02822600(cpu);
/* 028C5744 */ cpu->r[29] = cpu->r[3];
/* 028C5748 */ cpu->r[4] = cpu->r[31];
/* 028C574C */ cpu->r[3] = cpu->r[30];
/* 028C5750 */ cpu->r[5] = cpu->r[29];
/* 028C5754 */ Gambit_fn_028CE7D8(cpu);
/* 028C5758 */ cpu->r[4] = cpu->r[3];
/* 028C5758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028C575C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C575C */ _t9 = _t8 & 0x00000001u;
/* 028C575C */ if (_t9) goto L_028C5788; else goto L_028C5760;
L_028C5760: ; // 0x28c5760
/* 028C5760 */ _t10 = cpu->r[28] + 0x00000004u;
/* 028C5760 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
/* 028C5764 */ _t11 = cpu->r[8] + 0x0000002Cu;
/* 028C5764 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
/* 028C5768 */ cpu->ctr = cpu->r[9];
/* 028C576C */ cpu->r[3] = cpu->r[28];
/* 028C5770 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C5774 */ _t12 = cpu->r[29] + 0x0000000Cu;
/* 028C5774 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
/* 028C5778 */ _t13 = cpu->r[11] + 0x00000024u;
/* 028C5778 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
/* 028C577C */ cpu->ctr = cpu->r[12];
/* 028C5780 */ cpu->r[3] = cpu->r[29];
/* 028C5784 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028C5788: ; // 0x28c5788
/* 028C5788 */ _t14 = cpu->r[1] + 0x00000010u;
/* 028C5788 */ cpu->r[28] = rbrew_read32(cpu->mem, _t14);
/* 028C578C */ _t15 = cpu->r[1] + 0x00000014u;
/* 028C578C */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
/* 028C5790 */ _t16 = cpu->r[1] + 0x00000024u;
/* 028C5790 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028C5794 */ _t17 = cpu->r[1] + 0x00000018u;
/* 028C5794 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
/* 028C5798 */ cpu->lr = cpu->r[0];
/* 028C579C */ _t18 = cpu->r[1] + 0x0000001Cu;
/* 028C579C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
/* 028C57A0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C57A4 */ return;
}
// fn_028C56F0 @ 0x28c56f0
void Gambit_fn_028C56F0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
L_028C56F0: ; // 0x28c56f0
/* 028C56F0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028C56F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C56F0 */ cpu->r[1] = _t0;
/* 028C56F4 */ cpu->r[10] = 0x10140000u;
/* 028C56F8 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028C56F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
/* 028C56FC */ cpu->r[28] = cpu->r[3];
/* 028C5700 */ cpu->r[10] = cpu->r[10] + 0xFFFF9568u;
/* 028C5704 */ _t2 = cpu->r[1] + 0x00000018u;
/* 028C5704 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C5708 */ cpu->r[3] = 0x00000000u;
/* 028C570C */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028C570C */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
/* 028C5710 */ cpu->r[30] = cpu->r[4];
/* 028C5714 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028C5714 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
/* 028C5718 */ cpu->r[7] = cpu->r[3];
/* 028C571C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028C5720 */ _t5 = cpu->r[1] + 0x00000024u;
/* 028C5720 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028C5724 */ cpu->r[0] = 0x10140000u;
/* 028C5728 */ _t6 = cpu->r[1] + 0x0000001Cu;
/* 028C5728 */ rbrew_write32(cpu->mem, _t6, cpu->r[31]);
/* 028C572C */ cpu->r[0] = cpu->r[0] + 0xFFFF95D0u;
/* 028C5730 */ cpu->r[31] = cpu->r[5];
/* 028C5734 */ cpu->r[5] = cpu->r[6];
/* 028C5738 */ cpu->r[6] = 0x00000001u;
/* 028C573C */ _t7 = cpu->r[1] + 0x00000008u;
/* 028C573C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028C5740 */ Gambit_fn_02822600(cpu);
/* 028C5744 */ cpu->r[29] = cpu->r[3];
/* 028C5748 */ cpu->r[4] = cpu->r[31];
/* 028C574C */ cpu->r[3] = cpu->r[30];
/* 028C5750 */ cpu->r[5] = cpu->r[29];
/* 028C5754 */ Gambit_fn_028CE7D8(cpu);
/* 028C5758 */ cpu->r[4] = cpu->r[3];
/* 028C5758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028C575C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C575C */ _t9 = _t8 & 0x00000001u;
/* 028C575C */ if (_t9) goto L_028C5788; else goto L_028C5760;
L_028C5760: ; // 0x28c5760
/* 028C5760 */ _t10 = cpu->r[28] + 0x00000004u;
/* 028C5760 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
/* 028C5764 */ _t11 = cpu->r[8] + 0x0000002Cu;
/* 028C5764 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
/* 028C5768 */ cpu->ctr = cpu->r[9];
/* 028C576C */ cpu->r[3] = cpu->r[28];
/* 028C5770 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C5774 */ _t12 = cpu->r[29] + 0x0000000Cu;
/* 028C5774 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
/* 028C5778 */ _t13 = cpu->r[11] + 0x00000024u;
/* 028C5778 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
/* 028C577C */ cpu->ctr = cpu->r[12];
/* 028C5780 */ cpu->r[3] = cpu->r[29];
/* 028C5784 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028C5788: ; // 0x28c5788
/* 028C5788 */ _t14 = cpu->r[1] + 0x00000010u;
/* 028C5788 */ cpu->r[28] = rbrew_read32(cpu->mem, _t14);
/* 028C578C */ _t15 = cpu->r[1] + 0x00000014u;
/* 028C578C */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
/* 028C5790 */ _t16 = cpu->r[1] + 0x00000024u;
/* 028C5790 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028C5794 */ _t17 = cpu->r[1] + 0x00000018u;
/* 028C5794 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
/* 028C5798 */ cpu->lr = cpu->r[0];
/* 028C579C */ _t18 = cpu->r[1] + 0x0000001Cu;
/* 028C579C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
/* 028C57A0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C57A4 */ return;
}
// fn_028C57A8 @ 0x28c57a8
void Gambit_fn_028C57A8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028C57A8: ; // 0x28c57a8
/* 028C57A8 */ cpu->r[0] = cpu->lr;
/* 028C57AC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C57AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C57AC */ cpu->r[1] = _t0;
/* 028C57B0 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C57B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C57B4 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C57B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C57B8 */ _t3 = cpu->r[3] + 0x00000000u;
/* 028C57B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
/* 028C57BC */ _t4 = cpu->r[12] + 0x00000064u;
/* 028C57BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028C57C0 */ cpu->ctr = cpu->r[0];
/* 028C57C4 */ cpu->r[31] = cpu->r[3];
/* 028C57C8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C57CC */ cpu->r[3] = cpu->r[31];
/* 028C57D0 */ Gambit_fn_028C2F50(cpu);
/* 028C57D4 */ _t5 = cpu->r[1] + 0x00000014u;
/* 028C57D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028C57D8 */ _t6 = cpu->r[1] + 0x0000000Cu;
/* 028C57D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
/* 028C57DC */ cpu->lr = cpu->r[0];
/* 028C57E0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C57E4 */ return;
}
// fn_028C57AC @ 0x28c57ac
void Gambit_fn_028C57AC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028C57AC: ; // 0x28c57ac
/* 028C57AC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C57AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C57AC */ cpu->r[1] = _t0;
/* 028C57B0 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C57B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C57B4 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C57B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C57B8 */ _t3 = cpu->r[3] + 0x00000000u;
/* 028C57B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
/* 028C57BC */ _t4 = cpu->r[12] + 0x00000064u;
/* 028C57BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028C57C0 */ cpu->ctr = cpu->r[0];
/* 028C57C4 */ cpu->r[31] = cpu->r[3];
/* 028C57C8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C57CC */ cpu->r[3] = cpu->r[31];
/* 028C57D0 */ Gambit_fn_028C2F50(cpu);
/* 028C57D4 */ _t5 = cpu->r[1] + 0x00000014u;
/* 028C57D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028C57D8 */ _t6 = cpu->r[1] + 0x0000000Cu;
/* 028C57D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
/* 028C57DC */ cpu->lr = cpu->r[0];
/* 028C57E0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C57E4 */ return;
}
// fn_028C57E8 @ 0x28c57e8
void Gambit_fn_028C57E8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
L_028C57E8: ; // 0x28c57e8
/* 028C57E8 */ cpu->r[0] = cpu->lr;
/* 028C57EC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C57EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C57EC */ cpu->r[1] = _t0;
/* 028C57F0 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028C57F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028C57F4 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028C57F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028C57F8 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C57F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C57FC */ _t4 = cpu->r[3] + 0x00000000u;
/* 028C57FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028C5800 */ _t5 = cpu->r[12] + 0x0000006Cu;
/* 028C5800 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028C5804 */ cpu->ctr = cpu->r[0];
/* 028C5808 */ cpu->r[30] = cpu->r[3];
/* 028C580C */ cpu->r[31] = 0x00000000u;
/* 028C5810 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C5814 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C5818 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5818 */ _t7 = _t6 & 0x00000001u;
/* 028C5818 */ if (_t7) goto L_028C5828; else goto L_028C581C;
L_028C581C: ; // 0x28c581c
/* 028C581C */ cpu->r[3] = cpu->r[30];
/* 028C5820 */ Gambit_fn_028C2FF8(cpu);
/* 028C5824 */ cpu->r[31] = cpu->r[3];
L_028C5828: ; // 0x28c5828
/* 028C5828 */ _t8 = cpu->r[1] + 0x00000014u;
/* 028C5828 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028C582C */ cpu->r[3] = cpu->r[31];
/* 028C5830 */ _t9 = cpu->r[1] + 0x0000000Cu;
/* 028C5830 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
/* 028C5834 */ cpu->lr = cpu->r[0];
/* 028C5838 */ _t10 = cpu->r[1] + 0x00000008u;
/* 028C5838 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028C583C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C5840 */ return;
}
// fn_028C57EC @ 0x28c57ec
void Gambit_fn_028C57EC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
L_028C57EC: ; // 0x28c57ec
/* 028C57EC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C57EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C57EC */ cpu->r[1] = _t0;
/* 028C57F0 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028C57F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028C57F4 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028C57F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028C57F8 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C57F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C57FC */ _t4 = cpu->r[3] + 0x00000000u;
/* 028C57FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028C5800 */ _t5 = cpu->r[12] + 0x0000006Cu;
/* 028C5800 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028C5804 */ cpu->ctr = cpu->r[0];
/* 028C5808 */ cpu->r[30] = cpu->r[3];
/* 028C580C */ cpu->r[31] = 0x00000000u;
/* 028C5810 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C5814 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C5818 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5818 */ _t7 = _t6 & 0x00000001u;
/* 028C5818 */ if (_t7) goto L_028C5828; else goto L_028C581C;
L_028C581C: ; // 0x28c581c
/* 028C581C */ cpu->r[3] = cpu->r[30];
/* 028C5820 */ Gambit_fn_028C2FF8(cpu);
/* 028C5824 */ cpu->r[31] = cpu->r[3];
L_028C5828: ; // 0x28c5828
/* 028C5828 */ _t8 = cpu->r[1] + 0x00000014u;
/* 028C5828 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028C582C */ cpu->r[3] = cpu->r[31];
/* 028C5830 */ _t9 = cpu->r[1] + 0x0000000Cu;
/* 028C5830 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
/* 028C5834 */ cpu->lr = cpu->r[0];
/* 028C5838 */ _t10 = cpu->r[1] + 0x00000008u;
/* 028C5838 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028C583C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C5840 */ return;
}
// fn_028C5844 @ 0x28c5844
void Gambit_fn_028C5844(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028C5844: ; // 0x28c5844
/* 028C5844 */ cpu->r[0] = cpu->lr;
/* 028C5848 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C5848 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C5848 */ cpu->r[1] = _t0;
/* 028C584C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C584C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C5850 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C5850 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C5854 */ _t3 = cpu->r[3] + 0x00000000u;
/* 028C5854 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
/* 028C5858 */ _t4 = cpu->r[12] + 0x00000074u;
/* 028C5858 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028C585C */ cpu->ctr = cpu->r[0];
/* 028C5860 */ cpu->r[31] = cpu->r[3];
/* 028C5864 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C5868 */ cpu->r[3] = cpu->r[31];
/* 028C586C */ Gambit_fn_028C2E50(cpu);
/* 028C5870 */ _t5 = cpu->r[1] + 0x00000014u;
/* 028C5870 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028C5874 */ _t6 = cpu->r[1] + 0x0000000Cu;
/* 028C5874 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
/* 028C5878 */ cpu->lr = cpu->r[0];
/* 028C587C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C5880 */ return;
}
// fn_028C5848 @ 0x28c5848
void Gambit_fn_028C5848(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028C5848: ; // 0x28c5848
/* 028C5848 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C5848 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C5848 */ cpu->r[1] = _t0;
/* 028C584C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C584C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C5850 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C5850 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C5854 */ _t3 = cpu->r[3] + 0x00000000u;
/* 028C5854 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
/* 028C5858 */ _t4 = cpu->r[12] + 0x00000074u;
/* 028C5858 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028C585C */ cpu->ctr = cpu->r[0];
/* 028C5860 */ cpu->r[31] = cpu->r[3];
/* 028C5864 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C5868 */ cpu->r[3] = cpu->r[31];
/* 028C586C */ Gambit_fn_028C2E50(cpu);
/* 028C5870 */ _t5 = cpu->r[1] + 0x00000014u;
/* 028C5870 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028C5874 */ _t6 = cpu->r[1] + 0x0000000Cu;
/* 028C5874 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
/* 028C5878 */ cpu->lr = cpu->r[0];
/* 028C587C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C5880 */ return;
}
// fn_028C5884 @ 0x28c5884
void Gambit_fn_028C5884(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
L_028C5884: ; // 0x28c5884
/* 028C5884 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
/* 028C5884 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C5884 */ cpu->r[1] = _t0;
/* 028C5888 */ /* nop */
/* 028C588C */ cpu->r[0] = cpu->lr;
/* 028C5890 */ _t1 = cpu->r[1] + 0x00000028u;
/* 028C5890 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028C5894 */ _t2 = cpu->r[1] + 0x0000003Cu;
/* 028C5894 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C5898 */ /* nop */
/* 028C589C */ _t3 = cpu->r[1] + 0x00000030u;
/* 028C589C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028C58A0 */ cpu->r[30] = cpu->r[7];
/* 028C58A4 */ _t4 = cpu->r[30] + 0x00000000u;
/* 028C58A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028C58A8 */ cpu->r[31] = cpu->r[8];
/* 028C58AC */ _t5 = cpu->r[1] + 0x00000008u;
/* 028C58AC */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
/* 028C58B0 */ _t6 = cpu->r[31] + 0x00000000u;
/* 028C58B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028C58B4 */ cpu->r[29] = cpu->r[6];
/* 028C58B8 */ _t7 = cpu->r[3] + 0x00000000u;
/* 028C58B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
/* 028C58BC */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028C58BC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028C58C0 */ _t9 = cpu->r[11] + 0x0000007Cu;
/* 028C58C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028C58C4 */ cpu->ctr = cpu->r[0];
/* 028C58C8 */ cpu->f[31] = cpu->f[1];
/* 028C58CC */ cpu->r[27] = cpu->r[4];
/* 028C58D0 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
/* 028C58D4 */ cpu->r[8] = cpu->r[1] + 0x0000000Cu;
/* 028C58D8 */ cpu->r[26] = cpu->r[3];
/* 028C58DC */ cpu->r[28] = cpu->r[5];
/* 028C58E0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C58E4 */ _t10 = cpu->r[30] + 0x00000000u;
/* 028C58E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028C58E8 */ cpu->r[3] = cpu->r[26];
/* 028C58EC */ cpu->r[4] = cpu->r[27];
/* 028C58F0 */ cpu->f[1] = cpu->f[31];
/* 028C58F4 */ _t11 = cpu->r[1] + 0x00000008u;
/* 028C58F4 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
/* 028C58F8 */ cpu->r[5] = cpu->r[28];
/* 028C58FC */ _t12 = cpu->r[31] + 0x00000000u;
/* 028C58FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
/* 028C5900 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
/* 028C5904 */ cpu->r[6] = cpu->r[29];
/* 028C5908 */ cpu->r[8] = cpu->r[1] + 0x0000000Cu;
/* 028C590C */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028C590C */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
/* 028C5910 */ Gambit_fn_028C3274(cpu);
/* 028C5914 */ /* nop */
/* 028C5918 */ _t14 = cpu->r[1] + 0x00000030u;
/* 028C5918 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t14);
/* 028C591C */ _t15 = cpu->r[1] + 0x00000028u;
/* 028C591C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t15);
/* 028C5920 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C5920 */ _t17 = _t16 & 0x00000001u;
/* 028C5920 */ if (_t17) goto L_028C5924; // else: addr-0 trap, fall-through
L_028C5924: ; // 0x28c5924
/* 028C5924 */ _t18 = cpu->r[1] + 0x0000003Cu;
/* 028C5924 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028C5928 */ cpu->lr = cpu->r[0];
/* 028C592C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
/* 028C5930 */ return;
}
// fn_028C5934 @ 0x28c5934
void Gambit_fn_028C5934(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_028C5934: ; // 0x28c5934
/* 028C5934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C5938 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5938 */ _t17 = _t16 & 0x00000001u;
/* 028C5938 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028C5938 */ goto L_028C593C;
L_028C593C: ; // 0x28c593c
/* 028C593C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028C593C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C5940 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5940 */ _t19 = _t18 & 0x00000001u;
/* 028C5940 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028C5940 */ goto L_028C5944;
L_028C5944: ; // 0x28c5944
/* 028C5944 */ goto L_02801BB0;
}
// fn_028C5948 @ 0x28c5948
void Gambit_fn_028C5948(CPUState* cpu) {
L_028C5948: ; // 0x28c5948
/* 028C5948 */ return;
}
// fn_028C594C @ 0x28c594c
void Gambit_fn_028C594C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028C594C: ; // 0x28c594c
/* 028C594C */ cpu->r[11] = 0x101D0000u;
/* 028C5950 */ _t0 = cpu->r[11] + 0xFFFFF728u;
/* 028C5950 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
/* 028C5950 */ cpu->r[11] = _t0;
/* 028C5954 */ cpu->r[12] = 0x101D0000u;
/* 028C5958 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C595C */ cpu->r[12] = cpu->r[12] + 0xFFFFF73Cu;
/* 028C5960 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5960 */ _t2 = _t1 & 0x00000001u;
/* 028C5960 */ if (_t2) goto L_028C5964; else goto L_028C5978;
L_028C5964: ; // 0x28c5964
/* 028C5964 */ cpu->r[9] = 0x10140000u;
/* 028C5968 */ cpu->r[8] = 0x00000001u;
/* 028C596C */ cpu->r[9] = cpu->r[9] + 0xFFFF9580u;
/* 028C5970 */ _t3 = cpu->r[11] + 0x00000000u;
/* 028C5970 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
/* 028C5974 */ _t4 = cpu->r[12] + 0x00000000u;
/* 028C5974 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
L_028C5978: ; // 0x28c5978
/* 028C5978 */ cpu->r[10] = cpu->r[4] ^ cpu->r[12];
/* 028C597C */ cpu->r[0] = rbrew_clz32(cpu->r[10]);
/* 028C5980 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
/* 028C5984 */ return;
}
// fn_028C5988 @ 0x28c5988
void Gambit_fn_028C5988(CPUState* cpu) {
L_028C5988: ; // 0x28c5988
/* 028C5988 */ return;
}
// fn_028C598C @ 0x28c598c
void Gambit_fn_028C598C(CPUState* cpu) {
L_028C598C: ; // 0x28c598c
/* 028C598C */ return;
}
// fn_028C5990 @ 0x28c5990
void Gambit_fn_028C5990(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
L_028C5990: ; // 0x28c5990
/* 028C5990 */ cpu->r[0] = cpu->lr;
/* 028C5994 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028C5994 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028C5998 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C599C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028C599C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028C599C */ cpu->r[1] = _t1;
/* 028C59A0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C59A0 */ _t3 = _t2 & 0x00000001u;
/* 028C59A0 */ if (_t3) goto L_028C59A4; else goto L_028C59B4;
L_028C59A4: ; // 0x28c59a4
/* 028C59A4 */ cpu->r[3] = 0x00000008u;
/* 028C59A8 */ Gambit_fn_02801A78(cpu);
/* 028C59AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C59B0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C59B0 */ _t5 = _t4 & 0x00000001u;
/* 028C59B0 */ if (_t5) goto L_028C59CC; else goto L_028C59B4;
L_028C59B4: ; // 0x28c59b4
/* 028C59B4 */ cpu->r[0] = 0x10140000u;
/* 028C59B8 */ cpu->r[12] = 0x10140000u;
/* 028C59BC */ cpu->r[0] = cpu->r[0] + 0xFFFF960Cu;
/* 028C59C0 */ _t6 = cpu->r[12] + 0xFFFF9654u;
/* 028C59C0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
/* 028C59C4 */ _t7 = cpu->r[3] + 0x00000000u;
/* 028C59C4 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028C59C8 */ _t8 = cpu->r[3] + 0x00000004u;
/* 028C59C8 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
L_028C59CC: ; // 0x28c59cc
/* 028C59CC */ _t9 = cpu->r[1] + 0x0000000Cu;
/* 028C59CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028C59D0 */ cpu->lr = cpu->r[0];
/* 028C59D4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028C59D8 */ return;
}
// fn_028C599C @ 0x28c599c
void Gambit_fn_028C599C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_028C599C: ; // 0x28c599c
/* 028C599C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028C599C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C599C */ cpu->r[1] = _t0;
/* 028C59A0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C59A0 */ _t2 = _t1 & 0x00000001u;
/* 028C59A0 */ if (_t2) goto L_028C59A4; else goto L_028C59B4;
L_028C59A4: ; // 0x28c59a4
/* 028C59A4 */ cpu->r[3] = 0x00000008u;
/* 028C59A8 */ Gambit_fn_02801A78(cpu);
/* 028C59AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C59B0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C59B0 */ _t4 = _t3 & 0x00000001u;
/* 028C59B0 */ if (_t4) goto L_028C59CC; else goto L_028C59B4;
L_028C59B4: ; // 0x28c59b4
/* 028C59B4 */ cpu->r[0] = 0x10140000u;
/* 028C59B8 */ cpu->r[12] = 0x10140000u;
/* 028C59BC */ cpu->r[0] = cpu->r[0] + 0xFFFF960Cu;
/* 028C59C0 */ _t5 = cpu->r[12] + 0xFFFF9654u;
/* 028C59C0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
/* 028C59C4 */ _t6 = cpu->r[3] + 0x00000000u;
/* 028C59C4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028C59C8 */ _t7 = cpu->r[3] + 0x00000004u;
/* 028C59C8 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
L_028C59CC: ; // 0x28c59cc
/* 028C59CC */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028C59CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028C59D0 */ cpu->lr = cpu->r[0];
/* 028C59D4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028C59D8 */ return;
}
// fn_028C59DC @ 0x28c59dc
void Gambit_fn_028C59DC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
L_028C59DC: ; // 0x28c59dc
/* 028C59DC */ cpu->r[0] = cpu->lr;
/* 028C59E0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C59E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C59E0 */ cpu->r[1] = _t0;
/* 028C59E4 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C59E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C59E8 */ cpu->r[31] = cpu->r[3];
/* 028C59E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C59EC */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C59EC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C59F0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C59F0 */ _t4 = _t3 & 0x00000001u;
/* 028C59F0 */ if (_t4) goto L_028C59F4; else goto L_028C5A04;
L_028C59F4: ; // 0x28c59f4
/* 028C59F4 */ cpu->r[3] = 0x0000001Cu;
/* 028C59F8 */ Gambit_fn_02801A78(cpu);
/* 028C59FC */ cpu->r[31] = cpu->r[3];
/* 028C59FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C5A00 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5A00 */ _t6 = _t5 & 0x00000001u;
/* 028C5A00 */ if (_t6) goto L_028C5A48; else goto L_028C5A04;
L_028C5A04: ; // 0x28c5a04
/* 028C5A04 */ cpu->r[3] = cpu->r[31];
/* 028C5A08 */ Gambit_fn_028C5614(cpu);
/* 028C5A0C */ cpu->r[12] = 0x10140000u;
/* 028C5A10 */ _t7 = cpu->r[12] + 0xFFFF965Cu;
/* 028C5A10 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
/* 028C5A14 */ cpu->r[12] = 0x10140000u;
/* 028C5A18 */ _t8 = cpu->r[12] + 0xFFFF9658u;
/* 028C5A18 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t8);
/* 028C5A1C */ _t9 = cpu->r[31] + 0x00000010u;
/* 028C5A1C */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
/* 028C5A20 */ cpu->r[0] = 0x10140000u;
/* 028C5A24 */ _t10 = cpu->r[31] + 0x0000000Cu;
/* 028C5A24 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
/* 028C5A28 */ cpu->r[12] = 0x10140000u;
/* 028C5A2C */ _t11 = cpu->r[31] + 0x00000018u;
/* 028C5A2C */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
/* 028C5A30 */ cpu->r[0] = cpu->r[0] + 0xFFFF96C0u;
/* 028C5A34 */ _t12 = cpu->r[12] + 0xFFFF9654u;
/* 028C5A34 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
/* 028C5A38 */ _t13 = cpu->r[31] + 0x00000004u;
/* 028C5A38 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
/* 028C5A3C */ cpu->r[3] = cpu->r[31];
/* 028C5A40 */ _t14 = cpu->r[31] + 0x00000008u;
/* 028C5A40 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
/* 028C5A44 */ Gambit_fn_028C5688(cpu);
L_028C5A48: ; // 0x28c5a48
/* 028C5A48 */ _t15 = cpu->r[1] + 0x00000014u;
/* 028C5A48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028C5A4C */ cpu->r[3] = cpu->r[31];
/* 028C5A50 */ _t16 = cpu->r[1] + 0x0000000Cu;
/* 028C5A50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
/* 028C5A54 */ cpu->lr = cpu->r[0];
/* 028C5A58 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C5A5C */ return;
}
// fn_028C59E0 @ 0x28c59e0
void Gambit_fn_028C59E0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
L_028C59E0: ; // 0x28c59e0
/* 028C59E0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C59E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C59E0 */ cpu->r[1] = _t0;
/* 028C59E4 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C59E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C59E8 */ cpu->r[31] = cpu->r[3];
/* 028C59E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C59EC */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C59EC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C59F0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C59F0 */ _t4 = _t3 & 0x00000001u;
/* 028C59F0 */ if (_t4) goto L_028C59F4; else goto L_028C5A04;
L_028C59F4: ; // 0x28c59f4
/* 028C59F4 */ cpu->r[3] = 0x0000001Cu;
/* 028C59F8 */ Gambit_fn_02801A78(cpu);
/* 028C59FC */ cpu->r[31] = cpu->r[3];
/* 028C59FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C5A00 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5A00 */ _t6 = _t5 & 0x00000001u;
/* 028C5A00 */ if (_t6) goto L_028C5A48; else goto L_028C5A04;
L_028C5A04: ; // 0x28c5a04
/* 028C5A04 */ cpu->r[3] = cpu->r[31];
/* 028C5A08 */ Gambit_fn_028C5614(cpu);
/* 028C5A0C */ cpu->r[12] = 0x10140000u;
/* 028C5A10 */ _t7 = cpu->r[12] + 0xFFFF965Cu;
/* 028C5A10 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
/* 028C5A14 */ cpu->r[12] = 0x10140000u;
/* 028C5A18 */ _t8 = cpu->r[12] + 0xFFFF9658u;
/* 028C5A18 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t8);
/* 028C5A1C */ _t9 = cpu->r[31] + 0x00000010u;
/* 028C5A1C */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
/* 028C5A20 */ cpu->r[0] = 0x10140000u;
/* 028C5A24 */ _t10 = cpu->r[31] + 0x0000000Cu;
/* 028C5A24 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
/* 028C5A28 */ cpu->r[12] = 0x10140000u;
/* 028C5A2C */ _t11 = cpu->r[31] + 0x00000018u;
/* 028C5A2C */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
/* 028C5A30 */ cpu->r[0] = cpu->r[0] + 0xFFFF96C0u;
/* 028C5A34 */ _t12 = cpu->r[12] + 0xFFFF9654u;
/* 028C5A34 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
/* 028C5A38 */ _t13 = cpu->r[31] + 0x00000004u;
/* 028C5A38 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
/* 028C5A3C */ cpu->r[3] = cpu->r[31];
/* 028C5A40 */ _t14 = cpu->r[31] + 0x00000008u;
/* 028C5A40 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
/* 028C5A44 */ Gambit_fn_028C5688(cpu);
L_028C5A48: ; // 0x28c5a48
/* 028C5A48 */ _t15 = cpu->r[1] + 0x00000014u;
/* 028C5A48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028C5A4C */ cpu->r[3] = cpu->r[31];
/* 028C5A50 */ _t16 = cpu->r[1] + 0x0000000Cu;
/* 028C5A50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
/* 028C5A54 */ cpu->lr = cpu->r[0];
/* 028C5A58 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C5A5C */ return;
}
// fn_028C5A60 @ 0x28c5a60
void Gambit_fn_028C5A60(CPUState* cpu) {
uint32_t _t0, _t1, _t2;
L_028C56D4: ; // 0x28c56d4
/* 028C56D4 */ cpu->r[11] = 0x00000001u;
/* 028C56D8 */ _t0 = cpu->r[3] + 0x00000000u;
/* 028C56D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028C56DC */ /* nop */
/* 028C56E0 */ cpu->r[12] = cpu->r[12] | cpu->r[0];
/* 028C56E4 */ _t1 = cpu->r[3] + 0x00000000u;
/* 028C56E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
/* 028C56E8 */ return;
L_028C5A60: ; // 0x28c5a60
/* 028C5A60 */ cpu->r[4] = 0x00000000u;
/* 028C5A64 */ _t2 = cpu->r[3] + 0x00000008u;
/* 028C5A64 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[1]);
/* 028C5A68 */ goto L_028C56D4;
}
// fn_028C5A6C @ 0x28c5a6c
void Gambit_fn_028C5A6C(CPUState* cpu) {
uint32_t _t0, _t1, _t2;
L_028C56D4: ; // 0x28c56d4
/* 028C56D4 */ cpu->r[11] = 0x00000001u;
/* 028C56D8 */ _t0 = cpu->r[3] + 0x00000000u;
/* 028C56D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028C56DC */ /* nop */
/* 028C56E0 */ cpu->r[12] = cpu->r[12] | cpu->r[0];
/* 028C56E4 */ _t1 = cpu->r[3] + 0x00000000u;
/* 028C56E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
/* 028C56E8 */ return;
L_028C5A6C: ; // 0x28c5a6c
/* 028C5A6C */ cpu->r[4] = 0x00000001u;
/* 028C5A70 */ _t2 = cpu->r[3] + 0x0000000Cu;
/* 028C5A70 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[1]);
/* 028C5A74 */ goto L_028C56D4;
}
// fn_028C5A78 @ 0x28c5a78
void Gambit_fn_028C5A78(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028C56D4: ; // 0x28c56d4
/* 028C56D4 */ cpu->r[11] = 0x00000001u;
/* 028C56D8 */ _t0 = cpu->r[3] + 0x00000000u;
/* 028C56D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028C56DC */ /* nop */
/* 028C56E0 */ cpu->r[12] = cpu->r[12] | cpu->r[0];
/* 028C56E4 */ _t1 = cpu->r[3] + 0x00000000u;
/* 028C56E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
/* 028C56E8 */ return;
L_028C5A78: ; // 0x28c5a78
/* 028C5A78 */ _t2 = cpu->r[3] + 0x00000010u;
/* 028C5A78 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[1]);
/* 028C5A7C */ cpu->r[4] = 0x00000002u;
/* 028C5A80 */ _t3 = cpu->r[3] + 0x00000014u;
/* 028C5A80 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[2]);
/* 028C5A84 */ goto L_028C56D4;
}
// fn_028C5A88 @ 0x28c5a88
void Gambit_fn_028C5A88(CPUState* cpu) {
uint32_t _t0, _t1, _t2;
L_028C56D4: ; // 0x28c56d4
/* 028C56D4 */ cpu->r[11] = 0x00000001u;
/* 028C56D8 */ _t0 = cpu->r[3] + 0x00000000u;
/* 028C56D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028C56DC */ /* nop */
/* 028C56E0 */ cpu->r[12] = cpu->r[12] | cpu->r[0];
/* 028C56E4 */ _t1 = cpu->r[3] + 0x00000000u;
/* 028C56E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
/* 028C56E8 */ return;
L_028C5A88: ; // 0x28c5a88
/* 028C5A88 */ cpu->r[4] = 0x00000003u;
/* 028C5A8C */ _t2 = cpu->r[3] + 0x00000018u;
/* 028C5A8C */ rbrew_write_f32(cpu->mem, _t2, cpu->f[1]);
/* 028C5A90 */ goto L_028C56D4;
}
// fn_028C5A94 @ 0x28c5a94
void Gambit_fn_028C5A94(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028C5A94: ; // 0x28c5a94
/* 028C5A94 */ cpu->r[12] = 0x10140000u;
/* 028C5A98 */ _t0 = cpu->r[12] + 0xFFFF965Cu;
/* 028C5A98 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t0);
/* 028C5A9C */ cpu->r[12] = 0x10140000u;
/* 028C5AA0 */ _t1 = cpu->r[12] + 0xFFFF9658u;
/* 028C5AA0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
/* 028C5AA4 */ _t2 = cpu->r[3] + 0x00000010u;
/* 028C5AA4 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[13]);
/* 028C5AA8 */ cpu->r[12] = 0x10140000u;
/* 028C5AAC */ _t3 = cpu->r[3] + 0x0000000Cu;
/* 028C5AAC */ rbrew_write_f32(cpu->mem, _t3, cpu->f[0]);
/* 028C5AB0 */ _t4 = cpu->r[12] + 0xFFFF9654u;
/* 028C5AB0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
/* 028C5AB4 */ _t5 = cpu->r[3] + 0x00000018u;
/* 028C5AB4 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[13]);
/* 028C5AB8 */ _t6 = cpu->r[3] + 0x00000008u;
/* 028C5AB8 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[0]);
/* 028C5ABC */ return;
}
// fn_028C5AC0 @ 0x28c5ac0
void Gambit_fn_028C5AC0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71;
L_028C5AC0: ; // 0x28c5ac0
/* 028C5AC0 */ _t0 = cpu->r[1] + 0xFFFFFF88u;
/* 028C5AC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C5AC0 */ cpu->r[1] = _t0;
/* 028C5AC4 */ /* nop */
/* 028C5AC8 */ cpu->r[0] = cpu->lr;
/* 028C5ACC */ _t1 = cpu->r[1] + 0x0000007Cu;
/* 028C5ACC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028C5AD0 */ _t2 = cpu->r[4] + 0x00000000u;
/* 028C5AD0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t2);
/* 028C5AD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028C5AD8 */ cpu->r[31] = cpu->r[3];
/* 028C5ADC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5ADC */ _t4 = _t3 & 0x00000001u;
/* 028C5ADC */ if (_t4) goto L_028C5CF0; else goto L_028C5AE0;
L_028C5AE0: ; // 0x28c5ae0
/* 028C5AE0 */ cpu->r[30] = 0x10140000u;
/* 028C5AE4 */ cpu->r[5] = 0x10140000u;
/* 028C5AE8 */ cpu->r[30] = cpu->r[30] + 0xFFFF95E4u;
/* 028C5AEC */ cpu->r[5] = cpu->r[5] + 0xFFFF9678u;
/* 028C5AF0 */ _t5 = cpu->r[1] + 0x0000000Cu;
/* 028C5AF0 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
/* 028C5AF4 */ _t6 = cpu->r[1] + 0x00000008u;
/* 028C5AF4 */ rbrew_write32(cpu->mem, _t6, cpu->r[5]);
/* 028C5AF8 */ _t7 = cpu->r[29] + 0x00000014u;
/* 028C5AF8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t7);
/* 028C5AFC */ _t8 = cpu->r[6] + 0x00000014u;
/* 028C5AFC */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
/* 028C5B00 */ cpu->r[27] = cpu->r[29] + 0x00000010u;
/* 028C5B04 */ cpu->ctr = cpu->r[9];
/* 028C5B08 */ cpu->r[3] = cpu->r[27];
/* 028C5B0C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C5B10 */ _t9 = cpu->r[29] + 0x00000014u;
/* 028C5B10 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
/* 028C5B14 */ _t10 = cpu->r[7] + 0x00000014u;
/* 028C5B14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028C5B18 */ cpu->ctr = cpu->r[0];
/* 028C5B1C */ cpu->r[3] = cpu->r[27];
/* 028C5B20 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C5B24 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028C5B24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
/* 028C5B28 */ _t12 = cpu->r[12] + 0x00000014u;
/* 028C5B28 */ cpu->r[6] = rbrew_read32(cpu->mem, _t12);
/* 028C5B2C */ cpu->ctr = cpu->r[6];
/* 028C5B30 */ _t13 = cpu->r[29] + 0x00000010u;
/* 028C5B30 */ cpu->r[28] = rbrew_read32(cpu->mem, _t13);
/* 028C5B34 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028C5B38 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C5B3C */ _t14 = cpu->r[1] + 0x00000008u;
/* 028C5B3C */ cpu->r[7] = rbrew_read32(cpu->mem, _t14);
/* 028C5B40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[7]);
/* 028C5B44 */ cpu->r[28] = 0x10110000u;
/* 028C5B48 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5B48 */ _t16 = _t15 & 0x00000001u;
/* 028C5B48 */ if (_t16) goto L_028C5B4C; else goto L_028C5B5C;
L_028C5B4C: ; // 0x28c5b4c
/* 028C5B4C */ cpu->r[0] = 0x00000000u;
/* 028C5B50 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
/* 028C5B50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C5B54 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5B54 */ _t18 = _t17 & 0x00000001u;
/* 028C5B54 */ if (_t18) goto L_028C5BA4; else goto L_028C5B58;
L_028C5B58: ; // 0x28c5b58
/* 028C5B58 */ goto L_028C5CF0;
L_028C5B5C: ; // 0x28c5b5c
/* 028C5B5C */ _t19 = cpu->r[27] + 0x00000000u;
/* 028C5B5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
/* 028C5B60 */ cpu->r[12] = 0x00080000u;
/* 028C5B64 */ _t20 = cpu->r[1] + 0x00000008u;
/* 028C5B64 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
/* 028C5B68 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028C5B6C */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
/* 028C5B70 */ _t21 = cpu->r[28] + 0x00007399u;
/* 028C5B70 */ cpu->r[0] = rbrew_read8(cpu->mem, _t21);
/* 028C5B74 */ cpu->ctr = cpu->r[12];
/* 028C5B78 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
L_028C5B7C: ; // 0x28c5b7c
/* 028C5B7C */ _t22 = cpu->r[11] + 0x00000001u;
/* 028C5B7C */ cpu->r[6] = rbrew_read8(cpu->mem, _t22);
/* 028C5B7C */ cpu->r[11] = _t22;
/* 028C5B80 */ _t23 = cpu->r[10] + 0x00000001u;
/* 028C5B80 */ cpu->r[8] = rbrew_read8(cpu->mem, _t23);
/* 028C5B80 */ cpu->r[10] = _t23;
/* 028C5B84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[8]);
/* 028C5B88 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5B88 */ _t25 = _t24 & 0x00000001u;
/* 028C5B88 */ if (_t25) goto L_028C5B8C; else goto L_028C5B98;
L_028C5B8C: ; // 0x28c5b8c
/* 028C5B8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[0]);
/* 028C5B90 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5B90 */ _t27 = _t26 & 0x00000001u;
/* 028C5B90 */ if (_t27) goto L_028C5B4C; else goto L_028C5B94;
L_028C5B94: ; // 0x28c5b94
/* 028C5B94 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028C5B94 */ _t28 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028C5B94 */ _t29 = _t28 >> (0x00000002u & 31u);
/* 028C5B94 */ _t30 = _t29 & 0x00000001u;
/* 028C5B94 */ if (_t30) goto L_028C5B7C; else goto L_028C5B98;
L_028C5B98: ; // 0x28c5b98
/* 028C5B98 */ cpu->r[0] = 0x00000001u;
/* 028C5B9C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
/* 028C5B9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C5BA0 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5BA0 */ _t32 = _t31 & 0x00000001u;
/* 028C5BA0 */ if (_t32) goto L_028C5BA4; else goto L_028C5CF0;
L_028C5BA4: ; // 0x28c5ba4
/* 028C5BA4 */ cpu->r[9] = 0x10140000u;
/* 028C5BA8 */ _t33 = cpu->r[1] + 0x00000024u;
/* 028C5BA8 */ rbrew_write32(cpu->mem, _t33, cpu->r[30]);
/* 028C5BAC */ cpu->r[4] = cpu->r[29];
/* 028C5BB0 */ cpu->r[9] = cpu->r[9] + 0xFFFF9670u;
/* 028C5BB4 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
/* 028C5BB8 */ cpu->r[5] = cpu->r[1] + 0x00000020u;
/* 028C5BBC */ _t34 = cpu->r[1] + 0x00000020u;
/* 028C5BBC */ rbrew_write32(cpu->mem, _t34, cpu->r[9]);
/* 028C5BC0 */ Gambit_fn_028CE83C(cpu);
/* 028C5BC4 */ _t35 = cpu->r[1] + 0x00000028u;
/* 028C5BC4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
/* 028C5BC8 */ _t36 = cpu->r[28] + 0x00007399u;
/* 028C5BC8 */ cpu->r[28] = rbrew_read8(cpu->mem, _t36);
/* 028C5BCC */ _t37 = cpu->r[10] + 0x00000000u;
/* 028C5BCC */ cpu->r[11] = rbrew_read8(cpu->mem, _t37);
/* 028C5BD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[28]);
/* 028C5BD4 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5BD4 */ _t39 = _t38 & 0x00000001u;
/* 028C5BD4 */ if (_t39) goto L_028C5BF8; else goto L_028C5BD8;
L_028C5BD8: ; // 0x28c5bd8
/* 028C5BD8 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
/* 028C5BDC */ cpu->r[4] = cpu->r[1] + 0x00000028u;
/* 028C5BE0 */ Gambit_fn_0282C750(cpu);
/* 028C5BE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C5BE8 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5BE8 */ _t41 = _t40 & 0x00000001u;
/* 028C5BE8 */ if (_t41) goto L_028C5BF8; else goto L_028C5BEC;
L_028C5BEC: ; // 0x28c5bec
/* 028C5BEC */ _t42 = cpu->r[1] + 0x00000010u;
/* 028C5BEC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t42);
/* 028C5BF0 */ cpu->r[3] = cpu->r[31];
/* 028C5BF4 */ Gambit_fn_028C5A60(cpu);
L_028C5BF8: ; // 0x28c5bf8
/* 028C5BF8 */ cpu->r[0] = 0x10140000u;
/* 028C5BFC */ _t43 = cpu->r[1] + 0x00000034u;
/* 028C5BFC */ rbrew_write32(cpu->mem, _t43, cpu->r[30]);
/* 028C5C00 */ cpu->r[4] = cpu->r[29];
/* 028C5C04 */ cpu->r[0] = cpu->r[0] + 0xFFFF9688u;
/* 028C5C08 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
/* 028C5C0C */ cpu->r[5] = cpu->r[1] + 0x00000030u;
/* 028C5C10 */ _t44 = cpu->r[1] + 0x00000030u;
/* 028C5C10 */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
/* 028C5C14 */ Gambit_fn_028CE83C(cpu);
/* 028C5C18 */ _t45 = cpu->r[1] + 0x00000038u;
/* 028C5C18 */ cpu->r[8] = rbrew_read32(cpu->mem, _t45);
/* 028C5C1C */ _t46 = cpu->r[8] + 0x00000000u;
/* 028C5C1C */ cpu->r[9] = rbrew_read8(cpu->mem, _t46);
/* 028C5C20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[28]);
/* 028C5C24 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5C24 */ _t48 = _t47 & 0x00000001u;
/* 028C5C24 */ if (_t48) goto L_028C5C48; else goto L_028C5C28;
L_028C5C28: ; // 0x28c5c28
/* 028C5C28 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
/* 028C5C2C */ cpu->r[4] = cpu->r[1] + 0x00000038u;
/* 028C5C30 */ Gambit_fn_0282C750(cpu);
/* 028C5C34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C5C38 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5C38 */ _t50 = _t49 & 0x00000001u;
/* 028C5C38 */ if (_t50) goto L_028C5C48; else goto L_028C5C3C;
L_028C5C3C: ; // 0x28c5c3c
/* 028C5C3C */ _t51 = cpu->r[1] + 0x00000014u;
/* 028C5C3C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t51);
/* 028C5C40 */ cpu->r[3] = cpu->r[31];
/* 028C5C44 */ Gambit_fn_028C5A6C(cpu);
L_028C5C48: ; // 0x28c5c48
/* 028C5C48 */ cpu->r[10] = 0x10140000u;
/* 028C5C4C */ _t52 = cpu->r[1] + 0x00000044u;
/* 028C5C4C */ rbrew_write32(cpu->mem, _t52, cpu->r[30]);
/* 028C5C50 */ cpu->r[4] = cpu->r[29];
/* 028C5C54 */ cpu->r[10] = cpu->r[10] + 0xFFFF9664u;
/* 028C5C58 */ cpu->r[3] = cpu->r[1] + 0x00000048u;
/* 028C5C5C */ cpu->r[5] = cpu->r[1] + 0x00000040u;
/* 028C5C60 */ _t53 = cpu->r[1] + 0x00000040u;
/* 028C5C60 */ rbrew_write32(cpu->mem, _t53, cpu->r[10]);
/* 028C5C64 */ Gambit_fn_028CE83C(cpu);
/* 028C5C68 */ _t54 = cpu->r[1] + 0x00000048u;
/* 028C5C68 */ cpu->r[11] = rbrew_read32(cpu->mem, _t54);
/* 028C5C6C */ _t55 = cpu->r[11] + 0x00000000u;
/* 028C5C6C */ cpu->r[0] = rbrew_read8(cpu->mem, _t55);
/* 028C5C70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[28]);
/* 028C5C74 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5C74 */ _t57 = _t56 & 0x00000001u;
/* 028C5C74 */ if (_t57) goto L_028C5CA0; else goto L_028C5C78;
L_028C5C78: ; // 0x28c5c78
/* 028C5C78 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
/* 028C5C7C */ cpu->r[4] = cpu->r[1] + 0x00000048u;
/* 028C5C80 */ Gambit_fn_0282C750(cpu);
/* 028C5C84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C5C88 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5C88 */ _t59 = _t58 & 0x00000001u;
/* 028C5C88 */ if (_t59) goto L_028C5CA0; else goto L_028C5C8C;
L_028C5C8C: ; // 0x28c5c8c
/* 028C5C8C */ cpu->r[5] = 0x10140000u;
/* 028C5C90 */ _t60 = cpu->r[1] + 0x00000018u;
/* 028C5C90 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t60);
/* 028C5C94 */ _t61 = cpu->r[5] + 0xFFFF9660u;
/* 028C5C94 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t61);
/* 028C5C98 */ cpu->r[3] = cpu->r[31];
/* 028C5C9C */ Gambit_fn_028C5A78(cpu);
L_028C5CA0: ; // 0x28c5ca0
/* 028C5CA0 */ cpu->r[0] = 0x10140000u;
/* 028C5CA4 */ _t62 = cpu->r[1] + 0x00000054u;
/* 028C5CA4 */ rbrew_write32(cpu->mem, _t62, cpu->r[30]);
/* 028C5CA8 */ cpu->r[4] = cpu->r[29];
/* 028C5CAC */ cpu->r[0] = cpu->r[0] + 0xFFFF966Cu;
/* 028C5CB0 */ cpu->r[3] = cpu->r[1] + 0x00000058u;
/* 028C5CB4 */ cpu->r[5] = cpu->r[1] + 0x00000050u;
/* 028C5CB8 */ _t63 = cpu->r[1] + 0x00000050u;
/* 028C5CB8 */ rbrew_write32(cpu->mem, _t63, cpu->r[0]);
/* 028C5CBC */ Gambit_fn_028CE83C(cpu);
/* 028C5CC0 */ _t64 = cpu->r[1] + 0x00000058u;
/* 028C5CC0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t64);
/* 028C5CC4 */ _t65 = cpu->r[11] + 0x00000000u;
/* 028C5CC4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t65);
/* 028C5CC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[28]);
/* 028C5CCC */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5CCC */ _t67 = _t66 & 0x00000001u;
/* 028C5CCC */ if (_t67) goto L_028C5CF0; else goto L_028C5CD0;
L_028C5CD0: ; // 0x28c5cd0
/* 028C5CD0 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
/* 028C5CD4 */ cpu->r[4] = cpu->r[1] + 0x00000058u;
/* 028C5CD8 */ Gambit_fn_0282C750(cpu);
/* 028C5CDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C5CE0 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5CE0 */ _t69 = _t68 & 0x00000001u;
/* 028C5CE0 */ if (_t69) goto L_028C5CF0; else goto L_028C5CE4;
L_028C5CE4: ; // 0x28c5ce4
/* 028C5CE4 */ _t70 = cpu->r[1] + 0x0000001Cu;
/* 028C5CE4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t70);
/* 028C5CE8 */ cpu->r[3] = cpu->r[31];
/* 028C5CEC */ Gambit_fn_028C5A88(cpu);
L_028C5CF0: ; // 0x28c5cf0
/* 028C5CF0 */ /* nop */
/* 028C5CF4 */ _t71 = cpu->r[1] + 0x0000007Cu;
/* 028C5CF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t71);
/* 028C5CF8 */ cpu->lr = cpu->r[0];
/* 028C5CFC */ cpu->r[1] = cpu->r[1] + 0x00000078u;
/* 028C5D00 */ return;
}
// fn_028C5D04 @ 0x28c5d04
void Gambit_fn_028C5D04(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
L_028C5D04: ; // 0x28c5d04
/* 028C5D04 */ cpu->r[0] = cpu->lr;
/* 028C5D08 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C5D08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C5D08 */ cpu->r[1] = _t0;
/* 028C5D0C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C5D0C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C5D10 */ cpu->r[31] = cpu->r[3];
/* 028C5D10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C5D14 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C5D14 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C5D18 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5D18 */ _t4 = _t3 & 0x00000001u;
/* 028C5D18 */ if (_t4) goto L_028C5D1C; else goto L_028C5D2C;
L_028C5D1C: ; // 0x28c5d1c
/* 028C5D1C */ cpu->r[3] = 0x000000A8u;
/* 028C5D20 */ Gambit_fn_02801A78(cpu);
/* 028C5D24 */ cpu->r[31] = cpu->r[3];
/* 028C5D24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C5D28 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5D28 */ _t6 = _t5 & 0x00000001u;
/* 028C5D28 */ if (_t6) goto L_028C5D78; else goto L_028C5D2C;
L_028C5D2C: ; // 0x28c5d2c
/* 028C5D2C */ cpu->r[3] = cpu->r[31];
/* 028C5D30 */ Gambit_fn_028C2D58(cpu);
/* 028C5D34 */ cpu->r[11] = 0x10140000u;
/* 028C5D38 */ cpu->r[0] = 0x00000000u;
/* 028C5D3C */ _t7 = cpu->r[11] + 0xFFFF9660u;
/* 028C5D3C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
/* 028C5D40 */ cpu->r[12] = 0x10140000u;
/* 028C5D44 */ _t8 = cpu->r[31] + 0x000000A4u;
/* 028C5D44 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028C5D48 */ cpu->r[12] = cpu->r[12] + 0xFFFF9700u;
/* 028C5D4C */ _t9 = cpu->r[31] + 0x00000070u;
/* 028C5D4C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
/* 028C5D50 */ _t10 = cpu->r[31] + 0x00000000u;
/* 028C5D50 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
/* 028C5D54 */ _t11 = cpu->r[31] + 0x0000006Cu;
/* 028C5D54 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[0]);
/* 028C5D58 */ /* nop */
/* 028C5D5C */ _t12 = cpu->r[31] + 0x00000074u;
/* 028C5D5C */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
/* 028C5D60 */ /* nop */
/* 028C5D64 */ _t13 = cpu->r[31] + 0x00000078u;
/* 028C5D64 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
/* 028C5D68 */ /* nop */
/* 028C5D6C */ _t14 = cpu->r[31] + 0x0000007Cu;
/* 028C5D6C */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
/* 028C5D70 */ /* nop */
/* 028C5D74 */ _t15 = cpu->r[31] + 0x00000088u;
/* 028C5D74 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
L_028C5D78: ; // 0x28c5d78
/* 028C5D78 */ _t16 = cpu->r[1] + 0x00000014u;
/* 028C5D78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028C5D7C */ cpu->r[3] = cpu->r[31];
/* 028C5D80 */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028C5D80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
/* 028C5D84 */ cpu->lr = cpu->r[0];
/* 028C5D88 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C5D8C */ return;
}
// fn_028C5D08 @ 0x28c5d08
void Gambit_fn_028C5D08(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
L_028C5D08: ; // 0x28c5d08
/* 028C5D08 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C5D08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C5D08 */ cpu->r[1] = _t0;
/* 028C5D0C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C5D0C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C5D10 */ cpu->r[31] = cpu->r[3];
/* 028C5D10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C5D14 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C5D14 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C5D18 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5D18 */ _t4 = _t3 & 0x00000001u;
/* 028C5D18 */ if (_t4) goto L_028C5D1C; else goto L_028C5D2C;
L_028C5D1C: ; // 0x28c5d1c
/* 028C5D1C */ cpu->r[3] = 0x000000A8u;
/* 028C5D20 */ Gambit_fn_02801A78(cpu);
/* 028C5D24 */ cpu->r[31] = cpu->r[3];
/* 028C5D24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C5D28 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5D28 */ _t6 = _t5 & 0x00000001u;
/* 028C5D28 */ if (_t6) goto L_028C5D78; else goto L_028C5D2C;
L_028C5D2C: ; // 0x28c5d2c
/* 028C5D2C */ cpu->r[3] = cpu->r[31];
/* 028C5D30 */ Gambit_fn_028C2D58(cpu);
/* 028C5D34 */ cpu->r[11] = 0x10140000u;
/* 028C5D38 */ cpu->r[0] = 0x00000000u;
/* 028C5D3C */ _t7 = cpu->r[11] + 0xFFFF9660u;
/* 028C5D3C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
/* 028C5D40 */ cpu->r[12] = 0x10140000u;
/* 028C5D44 */ _t8 = cpu->r[31] + 0x000000A4u;
/* 028C5D44 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028C5D48 */ cpu->r[12] = cpu->r[12] + 0xFFFF9700u;
/* 028C5D4C */ _t9 = cpu->r[31] + 0x00000070u;
/* 028C5D4C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
/* 028C5D50 */ _t10 = cpu->r[31] + 0x00000000u;
/* 028C5D50 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
/* 028C5D54 */ _t11 = cpu->r[31] + 0x0000006Cu;
/* 028C5D54 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[0]);
/* 028C5D58 */ /* nop */
/* 028C5D5C */ _t12 = cpu->r[31] + 0x00000074u;
/* 028C5D5C */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
/* 028C5D60 */ /* nop */
/* 028C5D64 */ _t13 = cpu->r[31] + 0x00000078u;
/* 028C5D64 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
/* 028C5D68 */ /* nop */
/* 028C5D6C */ _t14 = cpu->r[31] + 0x0000007Cu;
/* 028C5D6C */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
/* 028C5D70 */ /* nop */
/* 028C5D74 */ _t15 = cpu->r[31] + 0x00000088u;
/* 028C5D74 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
L_028C5D78: ; // 0x28c5d78
/* 028C5D78 */ _t16 = cpu->r[1] + 0x00000014u;
/* 028C5D78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028C5D7C */ cpu->r[3] = cpu->r[31];
/* 028C5D80 */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028C5D80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
/* 028C5D84 */ cpu->lr = cpu->r[0];
/* 028C5D88 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C5D8C */ return;
}
// fn_028C5D90 @ 0x28c5d90
void Gambit_fn_028C5D90(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028C5D90: ; // 0x28c5d90
/* 028C5D90 */ cpu->r[12] = 0x101D0000u;
/* 028C5D94 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C5D94 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C5D94 */ cpu->r[1] = _t0;
/* 028C5D98 */ _t1 = cpu->r[12] + 0xFFFF9A8Cu;
/* 028C5D98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
/* 028C5D9C */ _t2 = cpu->r[12] + 0x0000001Cu;
/* 028C5D9C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t2);
/* 028C5DA0 */ cpu->r[12] = 0x10140000u;
/* 028C5DA4 */ cpu->f[13] = cpu->f[13] * cpu->f[1];
/* 028C5DA8 */ _t3 = cpu->r[12] + 0xFFFF96ACu;
/* 028C5DA8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
/* 028C5DAC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
/* 028C5DB0 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C5DB0 */ _t5 = _t4 & 0x00000001u;
/* 028C5DB0 */ if (_t5) goto L_028C5DB4; else goto L_028C5DD4;
L_028C5DB4: ; // 0x28c5db4
/* 028C5DB4 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[13];
/* 028C5DB8 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
/* 028C5DBC */ /* nop */
/* 028C5DC0 */ _t6 = cpu->r[1] + 0x00000008u;
/* 028C5DC0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
/* 028C5DC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
/* 028C5DC8 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C5DC8 */ _t8 = _t7 & 0x00000001u;
/* 028C5DC8 */ if (_t8) goto L_028C5DCC; else goto L_028C5DD0;
L_028C5DCC: ; // 0x28c5dcc
/* 028C5DCC */ cpu->r[3] = 0x00000001u;
L_028C5DD0: ; // 0x28c5dd0
/* 028C5DD0 */ goto L_028C5DF8;
L_028C5DD4: ; // 0x28c5dd4
/* 028C5DD4 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
/* 028C5DD8 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[0];
/* 028C5DDC */ cpu->r[0] = cpu->r[1] + 0x00000008u;
/* 028C5DE0 */ /* nop */
/* 028C5DE4 */ _t9 = cpu->r[1] + 0x00000008u;
/* 028C5DE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
/* 028C5DE8 */ cpu->r[3] = cpu->r[12] + 0x80000000u;
/* 028C5DEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
/* 028C5DF0 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C5DF0 */ _t11 = _t10 & 0x00000001u;
/* 028C5DF0 */ if (_t11) goto L_028C5DF4; else goto L_028C5DF8;
L_028C5DF4: ; // 0x28c5df4
/* 028C5DF4 */ cpu->r[3] = 0x00000001u;
L_028C5DF8: ; // 0x28c5df8
/* 028C5DF8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C5DFC */ return;
}
// fn_028C5D94 @ 0x28c5d94
void Gambit_fn_028C5D94(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028C5D94: ; // 0x28c5d94
/* 028C5D94 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C5D94 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C5D94 */ cpu->r[1] = _t0;
/* 028C5D98 */ _t1 = cpu->r[12] + 0xFFFF9A8Cu;
/* 028C5D98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
/* 028C5D9C */ _t2 = cpu->r[12] + 0x0000001Cu;
/* 028C5D9C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t2);
/* 028C5DA0 */ cpu->r[12] = 0x10140000u;
/* 028C5DA4 */ cpu->f[13] = cpu->f[13] * cpu->f[1];
/* 028C5DA8 */ _t3 = cpu->r[12] + 0xFFFF96ACu;
/* 028C5DA8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
/* 028C5DAC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
/* 028C5DB0 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C5DB0 */ _t5 = _t4 & 0x00000001u;
/* 028C5DB0 */ if (_t5) goto L_028C5DB4; else goto L_028C5DD4;
L_028C5DB4: ; // 0x28c5db4
/* 028C5DB4 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[13];
/* 028C5DB8 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
/* 028C5DBC */ /* nop */
/* 028C5DC0 */ _t6 = cpu->r[1] + 0x00000008u;
/* 028C5DC0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
/* 028C5DC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
/* 028C5DC8 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C5DC8 */ _t8 = _t7 & 0x00000001u;
/* 028C5DC8 */ if (_t8) goto L_028C5DCC; else goto L_028C5DD0;
L_028C5DCC: ; // 0x28c5dcc
/* 028C5DCC */ cpu->r[3] = 0x00000001u;
L_028C5DD0: ; // 0x28c5dd0
/* 028C5DD0 */ goto L_028C5DF8;
L_028C5DD4: ; // 0x28c5dd4
/* 028C5DD4 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
/* 028C5DD8 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[0];
/* 028C5DDC */ cpu->r[0] = cpu->r[1] + 0x00000008u;
/* 028C5DE0 */ /* nop */
/* 028C5DE4 */ _t9 = cpu->r[1] + 0x00000008u;
/* 028C5DE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
/* 028C5DE8 */ cpu->r[3] = cpu->r[12] + 0x80000000u;
/* 028C5DEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
/* 028C5DF0 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C5DF0 */ _t11 = _t10 & 0x00000001u;
/* 028C5DF0 */ if (_t11) goto L_028C5DF4; else goto L_028C5DF8;
L_028C5DF4: ; // 0x28c5df4
/* 028C5DF4 */ cpu->r[3] = 0x00000001u;
L_028C5DF8: ; // 0x28c5df8
/* 028C5DF8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C5DFC */ return;
}
// fn_028C5E00 @ 0x28c5e00
void Gambit_fn_028C5E00(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028C5E00: ; // 0x28c5e00
/* 028C5E00 */ cpu->r[12] = 0x10140000u;
/* 028C5E04 */ _t0 = cpu->r[12] + 0xFFFF96B0u;
/* 028C5E04 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0);
/* 028C5E08 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
/* 028C5E0C */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C5E0C */ _t2 = _t1 & 0x00000001u;
/* 028C5E0C */ if (_t2) goto L_028C5E10; else goto L_028C5E14;
L_028C5E10: ; // 0x28c5e10
/* 028C5E10 */ cpu->f[1] = cpu->f[0];
L_028C5E14: ; // 0x28c5e14
/* 028C5E14 */ cpu->r[12] = 0x10140000u;
/* 028C5E18 */ _t3 = cpu->r[12] + 0xFFFF965Cu;
/* 028C5E18 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t3);
/* 028C5E1C */ /* nop */
/* 028C5E20 */ cpu->f[12] = cpu->f[13] - cpu->f[1];
/* 028C5E24 */ /* nop */
/* 028C5E28 */ /* nop */
/* 028C5E2C */ return;
}
// fn_028C5E30 @ 0x28c5e30
void Gambit_fn_028C5E30(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_028C5E30: ; // 0x28c5e30
/* 028C5E30 */ cpu->r[0] = cpu->lr;
/* 028C5E34 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028C5E34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C5E34 */ cpu->r[1] = _t0;
/* 028C5E38 */ _t1 = cpu->r[1] + 0x00000018u;
/* 028C5E38 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028C5E3C */ /* nop */
/* 028C5E40 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028C5E40 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
/* 028C5E44 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028C5E44 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028C5E48 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028C5E48 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028C5E4C */ _t5 = cpu->r[1] + 0x00000010u;
/* 028C5E4C */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
/* 028C5E50 */ _t6 = cpu->r[1] + 0x0000002Cu;
/* 028C5E50 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028C5E54 */ cpu->r[30] = cpu->r[3];
/* 028C5E58 */ _t7 = cpu->r[1] + 0x00000020u;
/* 028C5E58 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[31]);
/* 028C5E5C */ _t8 = cpu->r[30] + 0x00000070u;
/* 028C5E5C */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
/* 028C5E60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028C5E64 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5E64 */ _t10 = _t9 & 0x00000001u;
/* 028C5E64 */ if (_t10) goto L_028C5EC8; else goto L_028C5E68;
L_028C5E68: ; // 0x28c5e68
/* 028C5E68 */ _t11 = cpu->r[30] + 0x00000088u;
/* 028C5E68 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
/* 028C5E6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028C5E70 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5E70 */ _t13 = _t12 & 0x00000001u;
/* 028C5E70 */ if (_t13) goto L_028C5EC8; else goto L_028C5E74;
L_028C5E74: ; // 0x28c5e74
/* 028C5E74 */ cpu->r[7] = 0x10140000u;
/* 028C5E78 */ cpu->r[28] = 0x00000000u;
/* 028C5E7C */ cpu->r[31] = 0x00000003u;
/* 028C5E80 */ _t14 = cpu->r[7] + 0xFFFF9660u;
/* 028C5E80 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t14);
/* 028C5E84 */ cpu->r[29] = cpu->r[28];
L_028C5E88: ; // 0x28c5e88
/* 028C5E88 */ _t15 = cpu->r[30] + 0x00000074u;
/* 028C5E88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
/* 028C5E8C */ cpu->r[4] = 0x00000000u;
/* 028C5E90 */ _t16 = cpu->r[8] + cpu->r[29];
/* 028C5E90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
/* 028C5E94 */ cpu->r[5] = rbrew_rlwinm(cpu->r[12], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C5E98 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
/* 028C5E9C */ _t17 = cpu->r[30] + 0x00000088u;
/* 028C5E9C */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
/* 028C5EA0 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
/* 028C5EA4 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
/* 028C5EA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C5EA8 */ cpu->r[9] = cpu->r[11] + cpu->r[28];
/* 028C5EAC */ cpu->r[28] = cpu->r[28] + 0x00000008u;
/* 028C5EB0 */ /* nop */
/* 028C5EB4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5EB4 */ _t19 = _t18 & 0x00000001u;
/* 028C5EB4 */ if (_t19) goto L_028C5EC0; else goto L_028C5EB8;
L_028C5EB8: ; // 0x28c5eb8
/* 028C5EB8 */ _t20 = cpu->r[30] + 0x00000070u;
/* 028C5EB8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
/* 028C5EBC */ goto L_028C5E88;
L_028C5EC0: ; // 0x28c5ec0
/* 028C5EC0 */ cpu->r[0] = 0x00000000u;
/* 028C5EC4 */ _t21 = cpu->r[30] + 0x0000007Cu;
/* 028C5EC4 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
L_028C5EC8: ; // 0x28c5ec8
/* 028C5EC8 */ _t22 = cpu->r[1] + 0x00000008u;
/* 028C5EC8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t22);
/* 028C5ECC */ _t23 = cpu->r[1] + 0x0000000Cu;
/* 028C5ECC */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
/* 028C5ED0 */ _t24 = cpu->r[1] + 0x00000020u;
/* 028C5ED0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t24);
/* 028C5ED4 */ _t25 = cpu->r[1] + 0x00000010u;
/* 028C5ED4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
/* 028C5ED8 */ _t26 = cpu->r[1] + 0x00000018u;
/* 028C5ED8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t26);
/* 028C5EDC */ _t27 = cpu->r[1] + 0x00000014u;
/* 028C5EDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
/* 028C5EE0 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C5EE0 */ _t29 = _t28 & 0x00000001u;
/* 028C5EE0 */ if (_t29) goto L_028C5EE4; // else: addr-0 trap, fall-through
L_028C5EE4: ; // 0x28c5ee4
/* 028C5EE4 */ _t30 = cpu->r[1] + 0x0000002Cu;
/* 028C5EE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
/* 028C5EE8 */ cpu->lr = cpu->r[0];
/* 028C5EEC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028C5EF0 */ return;
}
// fn_028C5E34 @ 0x28c5e34
void Gambit_fn_028C5E34(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_028C5E34: ; // 0x28c5e34
/* 028C5E34 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028C5E34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C5E34 */ cpu->r[1] = _t0;
/* 028C5E38 */ _t1 = cpu->r[1] + 0x00000018u;
/* 028C5E38 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028C5E3C */ /* nop */
/* 028C5E40 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028C5E40 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
/* 028C5E44 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028C5E44 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028C5E48 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028C5E48 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028C5E4C */ _t5 = cpu->r[1] + 0x00000010u;
/* 028C5E4C */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
/* 028C5E50 */ _t6 = cpu->r[1] + 0x0000002Cu;
/* 028C5E50 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028C5E54 */ cpu->r[30] = cpu->r[3];
/* 028C5E58 */ _t7 = cpu->r[1] + 0x00000020u;
/* 028C5E58 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[31]);
/* 028C5E5C */ _t8 = cpu->r[30] + 0x00000070u;
/* 028C5E5C */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
/* 028C5E60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028C5E64 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5E64 */ _t10 = _t9 & 0x00000001u;
/* 028C5E64 */ if (_t10) goto L_028C5EC8; else goto L_028C5E68;
L_028C5E68: ; // 0x28c5e68
/* 028C5E68 */ _t11 = cpu->r[30] + 0x00000088u;
/* 028C5E68 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
/* 028C5E6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028C5E70 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5E70 */ _t13 = _t12 & 0x00000001u;
/* 028C5E70 */ if (_t13) goto L_028C5EC8; else goto L_028C5E74;
L_028C5E74: ; // 0x28c5e74
/* 028C5E74 */ cpu->r[7] = 0x10140000u;
/* 028C5E78 */ cpu->r[28] = 0x00000000u;
/* 028C5E7C */ cpu->r[31] = 0x00000003u;
/* 028C5E80 */ _t14 = cpu->r[7] + 0xFFFF9660u;
/* 028C5E80 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t14);
/* 028C5E84 */ cpu->r[29] = cpu->r[28];
L_028C5E88: ; // 0x28c5e88
/* 028C5E88 */ _t15 = cpu->r[30] + 0x00000074u;
/* 028C5E88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
/* 028C5E8C */ cpu->r[4] = 0x00000000u;
/* 028C5E90 */ _t16 = cpu->r[8] + cpu->r[29];
/* 028C5E90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
/* 028C5E94 */ cpu->r[5] = rbrew_rlwinm(cpu->r[12], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C5E98 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
/* 028C5E9C */ _t17 = cpu->r[30] + 0x00000088u;
/* 028C5E9C */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
/* 028C5EA0 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
/* 028C5EA4 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
/* 028C5EA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C5EA8 */ cpu->r[9] = cpu->r[11] + cpu->r[28];
/* 028C5EAC */ cpu->r[28] = cpu->r[28] + 0x00000008u;
/* 028C5EB0 */ /* nop */
/* 028C5EB4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5EB4 */ _t19 = _t18 & 0x00000001u;
/* 028C5EB4 */ if (_t19) goto L_028C5EC0; else goto L_028C5EB8;
L_028C5EB8: ; // 0x28c5eb8
/* 028C5EB8 */ _t20 = cpu->r[30] + 0x00000070u;
/* 028C5EB8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
/* 028C5EBC */ goto L_028C5E88;
L_028C5EC0: ; // 0x28c5ec0
/* 028C5EC0 */ cpu->r[0] = 0x00000000u;
/* 028C5EC4 */ _t21 = cpu->r[30] + 0x0000007Cu;
/* 028C5EC4 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
L_028C5EC8: ; // 0x28c5ec8
/* 028C5EC8 */ _t22 = cpu->r[1] + 0x00000008u;
/* 028C5EC8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t22);
/* 028C5ECC */ _t23 = cpu->r[1] + 0x0000000Cu;
/* 028C5ECC */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
/* 028C5ED0 */ _t24 = cpu->r[1] + 0x00000020u;
/* 028C5ED0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t24);
/* 028C5ED4 */ _t25 = cpu->r[1] + 0x00000010u;
/* 028C5ED4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
/* 028C5ED8 */ _t26 = cpu->r[1] + 0x00000018u;
/* 028C5ED8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t26);
/* 028C5EDC */ _t27 = cpu->r[1] + 0x00000014u;
/* 028C5EDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
/* 028C5EE0 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C5EE0 */ _t29 = _t28 & 0x00000001u;
/* 028C5EE0 */ if (_t29) goto L_028C5EE4; // else: addr-0 trap, fall-through
L_028C5EE4: ; // 0x28c5ee4
/* 028C5EE4 */ _t30 = cpu->r[1] + 0x0000002Cu;
/* 028C5EE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
/* 028C5EE8 */ cpu->lr = cpu->r[0];
/* 028C5EEC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028C5EF0 */ return;
}
// fn_028C5EF4 @ 0x28c5ef4
void Gambit_fn_028C5EF4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51;
L_028C5EF4: ; // 0x28c5ef4
/* 028C5EF4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028C5EF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C5EF4 */ cpu->r[1] = _t0;
/* 028C5EF8 */ /* nop */
/* 028C5EFC */ cpu->r[0] = cpu->lr;
/* 028C5F00 */ _t1 = cpu->r[1] + 0x00000024u;
/* 028C5F00 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028C5F04 */ cpu->r[28] = cpu->r[3];
/* 028C5F08 */ _t2 = cpu->r[28] + 0x0000006Cu;
/* 028C5F08 */ cpu->r[10] = rbrew_read8(cpu->mem, _t2);
/* 028C5F0C */ cpu->r[30] = cpu->r[4];
/* 028C5F10 */ cpu->r[31] = cpu->r[5];
/* 028C5F14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028C5F18 */ cpu->r[27] = cpu->r[6];
/* 028C5F1C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5F1C */ _t4 = _t3 & 0x00000001u;
/* 028C5F1C */ if (_t4) goto L_028C5F20; else goto L_028C60A8;
L_028C5F20: ; // 0x28c5f20
/* 028C5F20 */ cpu->r[8] = 0x101D0000u;
/* 028C5F24 */ _t5 = cpu->r[8] + 0xFFFFF748u;
/* 028C5F24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
/* 028C5F24 */ cpu->r[8] = _t5;
/* 028C5F28 */ cpu->r[4] = 0x101D0000u;
/* 028C5F2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028C5F30 */ cpu->r[4] = cpu->r[4] + 0x00001964u;
/* 028C5F34 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5F34 */ _t7 = _t6 & 0x00000001u;
/* 028C5F34 */ if (_t7) goto L_028C5F38; else goto L_028C5F4C;
L_028C5F38: ; // 0x28c5f38
/* 028C5F38 */ cpu->r[5] = 0x10140000u;
/* 028C5F3C */ cpu->r[0] = 0x00000001u;
/* 028C5F40 */ cpu->r[5] = cpu->r[5] + 0xFFFF9634u;
/* 028C5F44 */ _t8 = cpu->r[8] + 0x00000000u;
/* 028C5F44 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028C5F48 */ _t9 = cpu->r[4] + 0x00000000u;
/* 028C5F48 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
L_028C5F4C: ; // 0x28c5f4c
/* 028C5F4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028C5F50 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5F50 */ _t11 = _t10 & 0x00000001u;
/* 028C5F50 */ if (_t11) goto L_028C5F70; else goto L_028C5F54;
L_028C5F54: ; // 0x28c5f54
/* 028C5F54 */ _t12 = cpu->r[30] + 0x00000000u;
/* 028C5F54 */ cpu->r[6] = rbrew_read32(cpu->mem, _t12);
/* 028C5F58 */ _t13 = cpu->r[6] + 0x0000000Cu;
/* 028C5F58 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
/* 028C5F5C */ cpu->ctr = cpu->r[11];
/* 028C5F60 */ cpu->r[3] = cpu->r[30];
/* 028C5F64 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C5F68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C5F6C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5F6C */ _t15 = _t14 & 0x00000001u;
/* 028C5F6C */ if (_t15) goto L_028C5F70; else goto L_028C5F74;
L_028C5F70: ; // 0x28c5f70
/* 028C5F70 */ cpu->r[30] = 0x00000000u;
L_028C5F74: ; // 0x28c5f74
/* 028C5F74 */ cpu->r[7] = 0x101D0000u;
/* 028C5F78 */ _t16 = cpu->r[7] + 0xFFFFF74Cu;
/* 028C5F78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028C5F78 */ cpu->r[7] = _t16;
/* 028C5F7C */ cpu->r[4] = 0x101D0000u;
/* 028C5F80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C5F84 */ cpu->r[4] = cpu->r[4] + 0x00001968u;
/* 028C5F88 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5F88 */ _t18 = _t17 & 0x00000001u;
/* 028C5F88 */ if (_t18) goto L_028C5F8C; else goto L_028C5FA0;
L_028C5F8C: ; // 0x28c5f8c
/* 028C5F8C */ cpu->r[9] = 0x10140000u;
/* 028C5F90 */ cpu->r[0] = 0x00000001u;
/* 028C5F94 */ cpu->r[9] = cpu->r[9] + 0xFFFF9644u;
/* 028C5F98 */ _t19 = cpu->r[7] + 0x00000000u;
/* 028C5F98 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
/* 028C5F9C */ _t20 = cpu->r[4] + 0x00000000u;
/* 028C5F9C */ rbrew_write32(cpu->mem, _t20, cpu->r[9]);
L_028C5FA0: ; // 0x28c5fa0
/* 028C5FA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C5FA4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5FA4 */ _t22 = _t21 & 0x00000001u;
/* 028C5FA4 */ if (_t22) goto L_028C5FC4; else goto L_028C5FA8;
L_028C5FA8: ; // 0x28c5fa8
/* 028C5FA8 */ _t23 = cpu->r[31] + 0x00000004u;
/* 028C5FA8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t23);
/* 028C5FAC */ _t24 = cpu->r[10] + 0x0000000Cu;
/* 028C5FAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
/* 028C5FB0 */ cpu->ctr = cpu->r[0];
/* 028C5FB4 */ cpu->r[3] = cpu->r[31];
/* 028C5FB8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C5FBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C5FC0 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C5FC0 */ _t26 = _t25 & 0x00000001u;
/* 028C5FC0 */ if (_t26) goto L_028C5FC4; else goto L_028C5FC8;
L_028C5FC4: ; // 0x28c5fc4
/* 028C5FC4 */ cpu->r[31] = 0x00000000u;
L_028C5FC8: ; // 0x28c5fc8
/* 028C5FC8 */ _t27 = cpu->r[30] + 0x00000004u;
/* 028C5FC8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t27);
/* 028C5FCC */ cpu->r[3] = cpu->r[28];
/* 028C5FD0 */ Gambit_fn_028C5D90(cpu);
/* 028C5FD4 */ _t28 = cpu->r[28] + 0x00000078u;
/* 028C5FD4 */ rbrew_write32(cpu->mem, _t28, cpu->r[3]);
/* 028C5FD8 */ _t29 = cpu->r[31] + 0x00000008u;
/* 028C5FD8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t29);
/* 028C5FDC */ cpu->r[3] = cpu->r[28];
/* 028C5FE0 */ Gambit_fn_028C5D90(cpu);
/* 028C5FE4 */ _t30 = cpu->r[28] + 0x00000078u;
/* 028C5FE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
/* 028C5FE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]);
/* 028C5FEC */ _t31 = cpu->r[28] + 0x00000074u;
/* 028C5FEC */ rbrew_write32(cpu->mem, _t31, cpu->r[3]);
/* 028C5FF0 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C5FF0 */ _t33 = _t32 & 0x00000001u;
/* 028C5FF0 */ if (_t33) goto L_028C5FF4; else goto L_028C5FF8;
L_028C5FF4: ; // 0x28c5ff4
/* 028C5FF4 */ _t34 = cpu->r[28] + 0x00000074u;
/* 028C5FF4 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
L_028C5FF8: ; // 0x28c5ff8
/* 028C5FF8 */ cpu->r[4] = cpu->r[27];
/* 028C5FFC */ cpu->r[3] = 0x0000000Cu;
/* 028C6000 */ cpu->r[5] = 0x00000020u;
/* 028C6004 */ Gambit_fn_02801ADC(cpu);
/* 028C6008 */ _t35 = cpu->r[28] + 0x00000070u;
/* 028C6008 */ rbrew_write32(cpu->mem, _t35, cpu->r[3]);
/* 028C600C */ cpu->r[30] = 0x00000000u;
/* 028C6010 */ cpu->r[29] = 0x00000003u;
L_028C6014: ; // 0x28c6014
/* 028C6014 */ _t36 = cpu->r[28] + 0x00000078u;
/* 028C6014 */ cpu->r[9] = rbrew_read32(cpu->mem, _t36);
/* 028C6018 */ cpu->r[5] = 0x00000020u;
/* 028C601C */ cpu->r[4] = cpu->r[27];
/* 028C6020 */ cpu->r[3] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C6024 */ _t37 = cpu->r[28] + 0x00000070u;
/* 028C6024 */ cpu->r[26] = rbrew_read32(cpu->mem, _t37);
/* 028C6028 */ Gambit_fn_02801ADC(cpu);
/* 028C602C */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
/* 028C602C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028C6030 */ _t38 = cpu->r[26] + cpu->r[30];
/* 028C6030 */ rbrew_write32(cpu->mem, _t38, cpu->r[3]);
/* 028C6034 */ cpu->r[30] = cpu->r[30] + 0x00000004u;
/* 028C6038 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6038 */ _t40 = _t39 & 0x00000001u;
/* 028C6038 */ if (_t40) goto L_028C603C; else goto L_028C6014;
L_028C603C: ; // 0x28c603c
/* 028C603C */ cpu->r[4] = cpu->r[27];
/* 028C6040 */ cpu->r[3] = 0x00000018u;
/* 028C6044 */ cpu->r[5] = 0x00000020u;
/* 028C6048 */ Gambit_fn_02801ADC(cpu);
/* 028C604C */ _t41 = cpu->r[28] + 0x00000088u;
/* 028C604C */ rbrew_write32(cpu->mem, _t41, cpu->r[3]);
/* 028C6050 */ cpu->r[4] = cpu->r[27];
/* 028C6054 */ cpu->r[3] = 0x00000014u;
/* 028C6058 */ cpu->r[5] = 0x00000004u;
/* 028C605C */ Gambit_fn_02801AC8(cpu);
/* 028C6060 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C6064 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6064 */ _t43 = _t42 & 0x00000001u;
/* 028C6064 */ if (_t43) goto L_028C6074; else goto L_028C6068;
L_028C6068: ; // 0x28c6068
/* 028C6068 */ cpu->r[6] = 0x10140000u;
/* 028C606C */ _t44 = cpu->r[6] + 0xFFFF965Cu;
/* 028C606C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t44);
/* 028C6070 */ Gambit_fn_028CA0E4(cpu);
L_028C6074: ; // 0x28c6074
/* 028C6074 */ _t45 = cpu->r[28] + 0x000000A4u;
/* 028C6074 */ rbrew_write32(cpu->mem, _t45, cpu->r[3]);
/* 028C6078 */ _t46 = cpu->r[31] + 0x0000000Cu;
/* 028C6078 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t46);
/* 028C607C */ cpu->r[5] = 0x10140000u;
/* 028C6080 */ _t47 = cpu->r[5] + 0xFFFF9660u;
/* 028C6080 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t47);
/* 028C6084 */ /* nop */
/* 028C6088 */ _t48 = cpu->r[31] + 0x00000010u;
/* 028C6088 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t48);
/* 028C608C */ Gambit_fn_028CA1D8(cpu);
/* 028C6090 */ _t49 = cpu->r[31] + 0x00000018u;
/* 028C6090 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t49);
/* 028C6094 */ cpu->r[3] = cpu->r[28];
/* 028C6098 */ Gambit_fn_028C5E00(cpu);
/* 028C609C */ Gambit_fn_028C5E30(cpu);
/* 028C60A0 */ cpu->r[11] = 0x00000001u;
/* 028C60A4 */ _t50 = cpu->r[28] + 0x0000006Cu;
/* 028C60A4 */ rbrew_write8(cpu->mem, _t50, (uint8_t)cpu->r[11]);
L_028C60A8: ; // 0x28c60a8
/* 028C60A8 */ /* nop */
/* 028C60AC */ _t51 = cpu->r[1] + 0x00000024u;
/* 028C60AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
/* 028C60B0 */ cpu->lr = cpu->r[0];
/* 028C60B4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C60B8 */ return;
}
// fn_028C60BC @ 0x28c60bc
void Gambit_fn_028C60BC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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_028C60BC: ; // 0x28c60bc
/* 028C60BC */ cpu->r[0] = cpu->lr;
/* 028C60C0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C60C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C60C0 */ cpu->r[1] = _t0;
/* 028C60C4 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C60C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C60C8 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028C60C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C60CC */ cpu->r[31] = cpu->r[4];
/* 028C60D0 */ cpu->r[10] = 0x101D0000u;
/* 028C60D4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C60D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C60D8 */ _t4 = cpu->r[10] + 0xFFFFF74Cu;
/* 028C60D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028C60D8 */ cpu->r[10] = _t4;
/* 028C60DC */ cpu->r[30] = cpu->r[3];
/* 028C60E0 */ cpu->r[4] = 0x101D0000u;
/* 028C60E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C60E8 */ cpu->r[4] = cpu->r[4] + 0x00001968u;
/* 028C60EC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C60EC */ _t6 = _t5 & 0x00000001u;
/* 028C60EC */ if (_t6) goto L_028C60F0; else goto L_028C6104;
L_028C60F0: ; // 0x28c60f0
/* 028C60F0 */ cpu->r[0] = 0x10140000u;
/* 028C60F4 */ cpu->r[11] = 0x00000001u;
/* 028C60F8 */ cpu->r[0] = cpu->r[0] + 0xFFFF9644u;
/* 028C60FC */ _t7 = cpu->r[10] + 0x00000000u;
/* 028C60FC */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
/* 028C6100 */ _t8 = cpu->r[4] + 0x00000000u;
/* 028C6100 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
L_028C6104: ; // 0x28c6104
/* 028C6104 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C6108 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6108 */ _t10 = _t9 & 0x00000001u;
/* 028C6108 */ if (_t10) goto L_028C6128; else goto L_028C610C;
L_028C610C: ; // 0x28c610c
/* 028C610C */ _t11 = cpu->r[31] + 0x00000004u;
/* 028C610C */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
/* 028C6110 */ _t12 = cpu->r[7] + 0x0000000Cu;
/* 028C6110 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
/* 028C6114 */ cpu->ctr = cpu->r[12];
/* 028C6118 */ cpu->r[3] = cpu->r[31];
/* 028C611C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C6120 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C6124 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6124 */ _t14 = _t13 & 0x00000001u;
/* 028C6124 */ if (_t14) goto L_028C6128; else goto L_028C612C;
L_028C6128: ; // 0x28c6128
/* 028C6128 */ cpu->r[31] = 0x00000000u;
L_028C612C: ; // 0x28c612c
/* 028C612C */ cpu->r[3] = cpu->r[31];
/* 028C6130 */ cpu->r[4] = 0x00000000u;
/* 028C6134 */ Gambit_fn_028C56B8(cpu);
/* 028C6138 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C613C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C613C */ _t16 = _t15 & 0x00000001u;
/* 028C613C */ if (_t16) goto L_028C6168; else goto L_028C6140;
L_028C6140: ; // 0x28c6140
/* 028C6140 */ _t17 = cpu->r[31] + 0x00000008u;
/* 028C6140 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t17);
/* 028C6144 */ cpu->r[3] = cpu->r[30];
/* 028C6148 */ Gambit_fn_028C5D90(cpu);
/* 028C614C */ _t18 = cpu->r[30] + 0x00000078u;
/* 028C614C */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
/* 028C6150 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[8]);
/* 028C6154 */ _t19 = cpu->r[30] + 0x00000074u;
/* 028C6154 */ rbrew_write32(cpu->mem, _t19, cpu->r[3]);
/* 028C6158 */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C6158 */ _t21 = _t20 & 0x00000001u;
/* 028C6158 */ if (_t21) goto L_028C615C; else goto L_028C6160;
L_028C615C: ; // 0x28c615c
/* 028C615C */ _t22 = cpu->r[30] + 0x00000074u;
/* 028C615C */ rbrew_write32(cpu->mem, _t22, cpu->r[8]);
L_028C6160: ; // 0x28c6160
/* 028C6160 */ cpu->r[3] = cpu->r[30];
/* 028C6164 */ Gambit_fn_028C5E30(cpu);
L_028C6168: ; // 0x28c6168
/* 028C6168 */ cpu->r[3] = cpu->r[31];
/* 028C616C */ cpu->r[4] = 0x00000001u;
/* 028C6170 */ Gambit_fn_028C56B8(cpu);
/* 028C6174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C6178 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6178 */ _t24 = _t23 & 0x00000001u;
/* 028C6178 */ if (_t24) goto L_028C6184; else goto L_028C617C;
L_028C617C: ; // 0x28c617c
/* 028C617C */ _t25 = cpu->r[31] + 0x0000000Cu;
/* 028C617C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
/* 028C6180 */ /* nop */
L_028C6184: ; // 0x28c6184
/* 028C6184 */ cpu->r[3] = cpu->r[31];
/* 028C6188 */ cpu->r[4] = 0x00000002u;
/* 028C618C */ Gambit_fn_028C56B8(cpu);
/* 028C6190 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C6194 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6194 */ _t27 = _t26 & 0x00000001u;
/* 028C6194 */ if (_t27) goto L_028C61A8; else goto L_028C6198;
L_028C6198: ; // 0x28c6198
/* 028C6198 */ _t28 = cpu->r[31] + 0x00000010u;
/* 028C6198 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t28);
/* 028C619C */ _t29 = cpu->r[30] + 0x000000A4u;
/* 028C619C */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
/* 028C61A0 */ _t30 = cpu->r[31] + 0x00000014u;
/* 028C61A0 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t30);
/* 028C61A4 */ Gambit_fn_028CA1D8(cpu);
L_028C61A8: ; // 0x28c61a8
/* 028C61A8 */ cpu->r[3] = cpu->r[31];
/* 028C61AC */ cpu->r[4] = 0x00000003u;
/* 028C61B0 */ Gambit_fn_028C56B8(cpu);
/* 028C61B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C61B8 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C61B8 */ _t32 = _t31 & 0x00000001u;
/* 028C61B8 */ if (_t32) goto L_028C61C8; else goto L_028C61BC;
L_028C61BC: ; // 0x28c61bc
/* 028C61BC */ _t33 = cpu->r[31] + 0x00000018u;
/* 028C61BC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t33);
/* 028C61C0 */ cpu->r[3] = cpu->r[30];
/* 028C61C4 */ Gambit_fn_028C5E00(cpu);
L_028C61C8: ; // 0x28c61c8
/* 028C61C8 */ _t34 = cpu->r[1] + 0x00000014u;
/* 028C61C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
/* 028C61CC */ _t35 = cpu->r[1] + 0x00000008u;
/* 028C61CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
/* 028C61D0 */ cpu->lr = cpu->r[0];
/* 028C61D4 */ _t36 = cpu->r[1] + 0x0000000Cu;
/* 028C61D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
/* 028C61D8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C61DC */ return;
}
// fn_028C60C0 @ 0x28c60c0
void Gambit_fn_028C60C0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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_028C60C0: ; // 0x28c60c0
/* 028C60C0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C60C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C60C0 */ cpu->r[1] = _t0;
/* 028C60C4 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C60C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C60C8 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028C60C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C60CC */ cpu->r[31] = cpu->r[4];
/* 028C60D0 */ cpu->r[10] = 0x101D0000u;
/* 028C60D4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C60D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C60D8 */ _t4 = cpu->r[10] + 0xFFFFF74Cu;
/* 028C60D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028C60D8 */ cpu->r[10] = _t4;
/* 028C60DC */ cpu->r[30] = cpu->r[3];
/* 028C60E0 */ cpu->r[4] = 0x101D0000u;
/* 028C60E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C60E8 */ cpu->r[4] = cpu->r[4] + 0x00001968u;
/* 028C60EC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C60EC */ _t6 = _t5 & 0x00000001u;
/* 028C60EC */ if (_t6) goto L_028C60F0; else goto L_028C6104;
L_028C60F0: ; // 0x28c60f0
/* 028C60F0 */ cpu->r[0] = 0x10140000u;
/* 028C60F4 */ cpu->r[11] = 0x00000001u;
/* 028C60F8 */ cpu->r[0] = cpu->r[0] + 0xFFFF9644u;
/* 028C60FC */ _t7 = cpu->r[10] + 0x00000000u;
/* 028C60FC */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
/* 028C6100 */ _t8 = cpu->r[4] + 0x00000000u;
/* 028C6100 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
L_028C6104: ; // 0x28c6104
/* 028C6104 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C6108 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6108 */ _t10 = _t9 & 0x00000001u;
/* 028C6108 */ if (_t10) goto L_028C6128; else goto L_028C610C;
L_028C610C: ; // 0x28c610c
/* 028C610C */ _t11 = cpu->r[31] + 0x00000004u;
/* 028C610C */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
/* 028C6110 */ _t12 = cpu->r[7] + 0x0000000Cu;
/* 028C6110 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
/* 028C6114 */ cpu->ctr = cpu->r[12];
/* 028C6118 */ cpu->r[3] = cpu->r[31];
/* 028C611C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C6120 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C6124 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6124 */ _t14 = _t13 & 0x00000001u;
/* 028C6124 */ if (_t14) goto L_028C6128; else goto L_028C612C;
L_028C6128: ; // 0x28c6128
/* 028C6128 */ cpu->r[31] = 0x00000000u;
L_028C612C: ; // 0x28c612c
/* 028C612C */ cpu->r[3] = cpu->r[31];
/* 028C6130 */ cpu->r[4] = 0x00000000u;
/* 028C6134 */ Gambit_fn_028C56B8(cpu);
/* 028C6138 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C613C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C613C */ _t16 = _t15 & 0x00000001u;
/* 028C613C */ if (_t16) goto L_028C6168; else goto L_028C6140;
L_028C6140: ; // 0x28c6140
/* 028C6140 */ _t17 = cpu->r[31] + 0x00000008u;
/* 028C6140 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t17);
/* 028C6144 */ cpu->r[3] = cpu->r[30];
/* 028C6148 */ Gambit_fn_028C5D90(cpu);
/* 028C614C */ _t18 = cpu->r[30] + 0x00000078u;
/* 028C614C */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
/* 028C6150 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[8]);
/* 028C6154 */ _t19 = cpu->r[30] + 0x00000074u;
/* 028C6154 */ rbrew_write32(cpu->mem, _t19, cpu->r[3]);
/* 028C6158 */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C6158 */ _t21 = _t20 & 0x00000001u;
/* 028C6158 */ if (_t21) goto L_028C615C; else goto L_028C6160;
L_028C615C: ; // 0x28c615c
/* 028C615C */ _t22 = cpu->r[30] + 0x00000074u;
/* 028C615C */ rbrew_write32(cpu->mem, _t22, cpu->r[8]);
L_028C6160: ; // 0x28c6160
/* 028C6160 */ cpu->r[3] = cpu->r[30];
/* 028C6164 */ Gambit_fn_028C5E30(cpu);
L_028C6168: ; // 0x28c6168
/* 028C6168 */ cpu->r[3] = cpu->r[31];
/* 028C616C */ cpu->r[4] = 0x00000001u;
/* 028C6170 */ Gambit_fn_028C56B8(cpu);
/* 028C6174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C6178 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6178 */ _t24 = _t23 & 0x00000001u;
/* 028C6178 */ if (_t24) goto L_028C6184; else goto L_028C617C;
L_028C617C: ; // 0x28c617c
/* 028C617C */ _t25 = cpu->r[31] + 0x0000000Cu;
/* 028C617C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
/* 028C6180 */ /* nop */
L_028C6184: ; // 0x28c6184
/* 028C6184 */ cpu->r[3] = cpu->r[31];
/* 028C6188 */ cpu->r[4] = 0x00000002u;
/* 028C618C */ Gambit_fn_028C56B8(cpu);
/* 028C6190 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C6194 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6194 */ _t27 = _t26 & 0x00000001u;
/* 028C6194 */ if (_t27) goto L_028C61A8; else goto L_028C6198;
L_028C6198: ; // 0x28c6198
/* 028C6198 */ _t28 = cpu->r[31] + 0x00000010u;
/* 028C6198 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t28);
/* 028C619C */ _t29 = cpu->r[30] + 0x000000A4u;
/* 028C619C */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
/* 028C61A0 */ _t30 = cpu->r[31] + 0x00000014u;
/* 028C61A0 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t30);
/* 028C61A4 */ Gambit_fn_028CA1D8(cpu);
L_028C61A8: ; // 0x28c61a8
/* 028C61A8 */ cpu->r[3] = cpu->r[31];
/* 028C61AC */ cpu->r[4] = 0x00000003u;
/* 028C61B0 */ Gambit_fn_028C56B8(cpu);
/* 028C61B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C61B8 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C61B8 */ _t32 = _t31 & 0x00000001u;
/* 028C61B8 */ if (_t32) goto L_028C61C8; else goto L_028C61BC;
L_028C61BC: ; // 0x28c61bc
/* 028C61BC */ _t33 = cpu->r[31] + 0x00000018u;
/* 028C61BC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t33);
/* 028C61C0 */ cpu->r[3] = cpu->r[30];
/* 028C61C4 */ Gambit_fn_028C5E00(cpu);
L_028C61C8: ; // 0x28c61c8
/* 028C61C8 */ _t34 = cpu->r[1] + 0x00000014u;
/* 028C61C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
/* 028C61CC */ _t35 = cpu->r[1] + 0x00000008u;
/* 028C61CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
/* 028C61D0 */ cpu->lr = cpu->r[0];
/* 028C61D4 */ _t36 = cpu->r[1] + 0x0000000Cu;
/* 028C61D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
/* 028C61D8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C61DC */ return;
}
// fn_028C61E0 @ 0x28c61e0
void Gambit_fn_028C61E0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
L_028C61E0: ; // 0x28c61e0
/* 028C61E0 */ cpu->r[0] = cpu->lr;
/* 028C61E4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C61E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C61E4 */ cpu->r[1] = _t0;
/* 028C61E8 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C61E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C61EC */ cpu->r[31] = cpu->r[3];
/* 028C61F0 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C61F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C61F4 */ _t3 = cpu->r[31] + 0x0000006Cu;
/* 028C61F4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
/* 028C61F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C61FC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C61FC */ _t5 = _t4 & 0x00000001u;
/* 028C61FC */ if (_t5) goto L_028C6214; else goto L_028C6200;
L_028C6200: ; // 0x28c6200
/* 028C6200 */ _t6 = cpu->r[31] + 0x000000A4u;
/* 028C6200 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
/* 028C6204 */ Gambit_fn_028CA194(cpu);
/* 028C6208 */ _t7 = cpu->r[31] + 0x000000A4u;
/* 028C6208 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
/* 028C620C */ _t8 = cpu->r[12] + 0x00000000u;
/* 028C620C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
/* 028C6210 */ /* nop */
L_028C6214: ; // 0x28c6214
/* 028C6214 */ _t9 = cpu->r[1] + 0x00000014u;
/* 028C6214 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028C6218 */ _t10 = cpu->r[1] + 0x0000000Cu;
/* 028C6218 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
/* 028C621C */ cpu->lr = cpu->r[0];
/* 028C6220 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C6224 */ return;
}
// fn_028C61E4 @ 0x28c61e4
void Gambit_fn_028C61E4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
L_028C61E4: ; // 0x28c61e4
/* 028C61E4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C61E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C61E4 */ cpu->r[1] = _t0;
/* 028C61E8 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C61E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C61EC */ cpu->r[31] = cpu->r[3];
/* 028C61F0 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C61F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C61F4 */ _t3 = cpu->r[31] + 0x0000006Cu;
/* 028C61F4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
/* 028C61F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C61FC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C61FC */ _t5 = _t4 & 0x00000001u;
/* 028C61FC */ if (_t5) goto L_028C6214; else goto L_028C6200;
L_028C6200: ; // 0x28c6200
/* 028C6200 */ _t6 = cpu->r[31] + 0x000000A4u;
/* 028C6200 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
/* 028C6204 */ Gambit_fn_028CA194(cpu);
/* 028C6208 */ _t7 = cpu->r[31] + 0x000000A4u;
/* 028C6208 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
/* 028C620C */ _t8 = cpu->r[12] + 0x00000000u;
/* 028C620C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
/* 028C6210 */ /* nop */
L_028C6214: ; // 0x28c6214
/* 028C6214 */ _t9 = cpu->r[1] + 0x00000014u;
/* 028C6214 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028C6218 */ _t10 = cpu->r[1] + 0x0000000Cu;
/* 028C6218 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
/* 028C621C */ cpu->lr = cpu->r[0];
/* 028C6220 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C6224 */ return;
}
// fn_028C6228 @ 0x28c6228
void Gambit_fn_028C6228(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028C6228: ; // 0x28c6228
/* 028C6228 */ cpu->r[0] = cpu->lr;
/* 028C622C */ _t0 = cpu->r[1] + 0x00000004u;
/* 028C622C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028C6230 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028C6230 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028C6230 */ cpu->r[1] = _t1;
/* 028C6234 */ _t2 = cpu->r[3] + 0x0000006Cu;
/* 028C6234 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
/* 028C6238 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C623C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C623C */ _t4 = _t3 & 0x00000001u;
/* 028C623C */ if (_t4) goto L_028C6240; else goto L_028C6254;
L_028C6240: ; // 0x28c6240
/* 028C6240 */ _t5 = cpu->r[1] + 0x0000000Cu;
/* 028C6240 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028C6244 */ cpu->lr = cpu->r[0];
/* 028C6248 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028C624C */ cpu->r[3] = 0x00000000u;
/* 028C6250 */ return;
L_028C6254: ; // 0x28c6254
/* 028C6254 */ Gambit_fn_028C5E30(cpu);
/* 028C6258 */ _t6 = cpu->r[1] + 0x0000000Cu;
/* 028C6258 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028C625C */ cpu->lr = cpu->r[0];
/* 028C6260 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028C6264 */ cpu->r[3] = 0x00000001u;
/* 028C6268 */ return;
}
// fn_028C6230 @ 0x28c6230
void Gambit_fn_028C6230(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
L_028C6230: ; // 0x28c6230
/* 028C6230 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028C6230 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C6230 */ cpu->r[1] = _t0;
/* 028C6234 */ _t1 = cpu->r[3] + 0x0000006Cu;
/* 028C6234 */ cpu->r[0] = rbrew_read8(cpu->mem, _t1);
/* 028C6238 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C623C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C623C */ _t3 = _t2 & 0x00000001u;
/* 028C623C */ if (_t3) goto L_028C6240; else goto L_028C6254;
L_028C6240: ; // 0x28c6240
/* 028C6240 */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028C6240 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028C6244 */ cpu->lr = cpu->r[0];
/* 028C6248 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028C624C */ cpu->r[3] = 0x00000000u;
/* 028C6250 */ return;
L_028C6254: ; // 0x28c6254
/* 028C6254 */ Gambit_fn_028C5E30(cpu);
/* 028C6258 */ _t5 = cpu->r[1] + 0x0000000Cu;
/* 028C6258 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028C625C */ cpu->lr = cpu->r[0];
/* 028C6260 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028C6264 */ cpu->r[3] = 0x00000001u;
/* 028C6268 */ return;
}
// fn_028C626C @ 0x28c626c
void Gambit_fn_028C626C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _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_028C626C: ; // 0x28c626c
/* 028C626C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C626C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C626C */ cpu->r[1] = _t0;
/* 028C6270 */ /* nop */
/* 028C6274 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
/* 028C6278 */ /* nop */
/* 028C627C */ /* nop */
/* 028C6280 */ /* nop */
/* 028C6284 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6284 */ _t2 = _t1 & 0x00000001u;
/* 028C6284 */ if (_t2) goto L_028C635C; else goto L_028C6288;
L_028C6288: ; // 0x28c6288
/* 028C6288 */ cpu->ctr = cpu->r[6];
/* 028C628C */ cpu->r[10] = 0x00000000u;
L_028C6290: ; // 0x28c6290
/* 028C6290 */ _t3 = cpu->r[4] + 0x00000000u;
/* 028C6290 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
/* 028C6294 */ cpu->r[6] = 0x43300000u;
/* 028C6298 */ cpu->r[12] = 0x10140000u;
/* 028C629C */ _t4 = cpu->r[5] + 0x00000000u;
/* 028C629C */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
/* 028C62A0 */ cpu->r[7] = cpu->r[11] ^ 0x80000000u;
/* 028C62A4 */ _t5 = cpu->r[1] + 0x00000008u;
/* 028C62A4 */ rbrew_write32(cpu->mem, _t5, cpu->r[6]);
/* 028C62A8 */ cpu->r[0] = cpu->r[8] ^ 0x80000000u;
/* 028C62AC */ _t6 = cpu->r[12] + 0xFFFF96B8u;
/* 028C62AC */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t6);
/* 028C62B0 */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 028C62B0 */ rbrew_write32(cpu->mem, _t7, cpu->r[7]);
/* 028C62B4 */ _t8 = cpu->r[1] + 0x00000008u;
/* 028C62B4 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t8);
/* 028C62B8 */ _t9 = cpu->r[1] + 0x0000000Cu;
/* 028C62B8 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
/* 028C62BC */ _t10 = cpu->r[1] + 0x00000008u;
/* 028C62BC */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t10);
/* 028C62C0 */ cpu->f[10] = cpu->f[13] - cpu->f[0];
/* 028C62C4 */ cpu->f[13] = cpu->f[12] - cpu->f[0];
/* 028C62C8 */ cpu->f[12] = (double)(float)cpu->f[10];
/* 028C62CC */ cpu->f[11] = (double)(float)cpu->f[13];
/* 028C62D0 */ _t11 = cpu->r[3] + 0x00000088u;
/* 028C62D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
/* 028C62D4 */ /* nop */
/* 028C62D8 */ /* nop */
/* 028C62DC */ /* nop */
/* 028C62E0 */ /* nop */
/* 028C62E4 */ /* nop */
/* 028C62E8 */ _t12 = cpu->r[3] + 0x0000007Cu;
/* 028C62E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
/* 028C62EC */ _t13 = cpu->r[3] + 0x00000070u;
/* 028C62EC */ cpu->r[6] = rbrew_read32(cpu->mem, _t13);
/* 028C62F0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C62F4 */ _t14 = cpu->r[6] + 0x00000000u;
/* 028C62F4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
/* 028C62F8 */ cpu->r[9] = cpu->r[11] + cpu->r[8];
/* 028C62FC */ /* nop */
/* 028C6300 */ /* nop */
/* 028C6304 */ /* nop */
/* 028C6308 */ cpu->f[12] = (uint32_t)(int32_t)cpu->f[10];
/* 028C630C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
/* 028C6310 */ /* nop */
/* 028C6314 */ /* nop */
/* 028C6318 */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[13];
/* 028C631C */ /* nop */
/* 028C6320 */ _t15 = cpu->r[1] + 0x00000008u;
/* 028C6320 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028C6324 */ /* nop */
/* 028C6328 */ _t16 = cpu->r[1] + 0x00000008u;
/* 028C6328 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
/* 028C632C */ _t17 = cpu->r[4] + 0x00000000u;
/* 028C632C */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
/* 028C6330 */ _t18 = cpu->r[5] + 0x00000000u;
/* 028C6330 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
/* 028C6334 */ _t19 = cpu->r[3] + 0x0000007Cu;
/* 028C6334 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
/* 028C6338 */ cpu->r[4] = cpu->r[4] + 0x00000004u;
/* 028C633C */ _t20 = cpu->r[3] + 0x00000074u;
/* 028C633C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028C6340 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028C6344 */ cpu->r[5] = cpu->r[5] + 0x00000004u;
/* 028C6348 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
/* 028C634C */ _t21 = cpu->r[3] + 0x0000007Cu;
/* 028C634C */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
/* 028C6350 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C6350 */ _t23 = _t22 & 0x00000001u;
/* 028C6350 */ if (_t23) goto L_028C6358; else goto L_028C6354;
L_028C6354: ; // 0x28c6354
/* 028C6354 */ _t24 = cpu->r[3] + 0x0000007Cu;
/* 028C6354 */ rbrew_write32(cpu->mem, _t24, cpu->r[10]);
L_028C6358: ; // 0x28c6358
/* 028C6358 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028C6358 */ _t25 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028C6358 */ _t26 = _t25 >> (0x00000002u & 31u);
/* 028C6358 */ _t27 = _t26 & 0x00000001u;
/* 028C6358 */ if (_t27) goto L_028C6290; else goto L_028C635C;
L_028C635C: ; // 0x28c635c
/* 028C635C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C6360 */ return;
}
// fn_028C6364 @ 0x28c6364
void Gambit_fn_028C6364(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_028C6364: ; // 0x28c6364
/* 028C6364 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C6364 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C6364 */ cpu->r[1] = _t0;
/* 028C6368 */ /* nop */
/* 028C636C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028C6370 */ /* nop */
/* 028C6374 */ /* nop */
/* 028C6378 */ /* nop */
/* 028C637C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C637C */ _t2 = _t1 & 0x00000001u;
/* 028C637C */ if (_t2) goto L_028C64F4; else goto L_028C6380;
L_028C6380: ; // 0x28c6380
/* 028C6380 */ cpu->ctr = cpu->r[8];
/* 028C6384 */ cpu->r[12] = 0x00000000u;
L_028C6388: ; // 0x28c6388
/* 028C6388 */ _t3 = cpu->r[4] + 0x00000000u;
/* 028C6388 */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
/* 028C638C */ cpu->r[0] = 0x43300000u;
/* 028C6390 */ _t4 = cpu->r[5] + 0x00000000u;
/* 028C6390 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
/* 028C6394 */ cpu->r[8] = cpu->r[8] ^ 0x80000000u;
/* 028C6398 */ _t5 = cpu->r[1] + 0x00000008u;
/* 028C6398 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028C639C */ _t6 = cpu->r[1] + 0x0000000Cu;
/* 028C639C */ rbrew_write32(cpu->mem, _t6, cpu->r[8]);
/* 028C63A0 */ _t7 = cpu->r[1] + 0x00000008u;
/* 028C63A0 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t7);
/* 028C63A4 */ cpu->r[8] = 0x10140000u;
/* 028C63A8 */ _t8 = cpu->r[6] + 0x00000000u;
/* 028C63A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028C63AC */ cpu->r[9] = cpu->r[10] ^ 0x80000000u;
/* 028C63B0 */ _t9 = cpu->r[8] + 0xFFFF96B8u;
/* 028C63B0 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t9);
/* 028C63B4 */ cpu->r[0] = cpu->r[0] ^ 0x80000000u;
/* 028C63B8 */ _t10 = cpu->r[1] + 0x0000000Cu;
/* 028C63B8 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
/* 028C63BC */ _t11 = cpu->r[1] + 0x00000008u;
/* 028C63BC */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t11);
/* 028C63C0 */ cpu->f[12] = cpu->f[12] - cpu->f[0];
/* 028C63C4 */ _t12 = cpu->r[1] + 0x0000000Cu;
/* 028C63C4 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
/* 028C63C8 */ _t13 = cpu->r[1] + 0x00000008u;
/* 028C63C8 */ cpu->f[6] = rbrew_read_f64(cpu->mem, _t13);
/* 028C63CC */ cpu->f[11] = (double)(float)cpu->f[12];
/* 028C63D0 */ _t14 = cpu->r[7] + 0x00000000u;
/* 028C63D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028C63D4 */ cpu->f[6] = cpu->f[6] - cpu->f[0];
/* 028C63D8 */ cpu->r[8] = cpu->r[0] ^ 0x80000000u;
/* 028C63DC */ cpu->f[12] = cpu->f[13] - cpu->f[0];
/* 028C63E0 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028C63E0 */ rbrew_write32(cpu->mem, _t15, cpu->r[8]);
/* 028C63E4 */ cpu->f[13] = (double)(float)cpu->f[6];
/* 028C63E8 */ _t16 = cpu->r[1] + 0x00000008u;
/* 028C63E8 */ cpu->f[6] = rbrew_read_f64(cpu->mem, _t16);
/* 028C63EC */ cpu->f[12] = (double)(float)cpu->f[12];
/* 028C63F0 */ cpu->f[6] = cpu->f[6] - cpu->f[0];
/* 028C63F4 */ _t17 = cpu->r[3] + 0x00000088u;
/* 028C63F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
/* 028C63F8 */ /* nop */
/* 028C63FC */ /* nop */
/* 028C6400 */ /* nop */
/* 028C6404 */ /* nop */
/* 028C6408 */ cpu->f[0] = (double)(float)cpu->f[6];
/* 028C640C */ /* nop */
/* 028C6410 */ _t18 = cpu->r[3] + 0x00000088u;
/* 028C6410 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
/* 028C6414 */ /* nop */
/* 028C6418 */ /* nop */
/* 028C641C */ /* nop */
/* 028C6420 */ /* nop */
/* 028C6424 */ /* nop */
/* 028C6428 */ _t19 = cpu->r[3] + 0x0000007Cu;
/* 028C6428 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028C642C */ _t20 = cpu->r[3] + 0x00000070u;
/* 028C642C */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
/* 028C6430 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C6434 */ _t21 = cpu->r[8] + 0x00000000u;
/* 028C6434 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
/* 028C6438 */ cpu->r[9] = cpu->r[8] + cpu->r[0];
/* 028C643C */ /* nop */
/* 028C6440 */ /* nop */
/* 028C6444 */ /* nop */
/* 028C6448 */ /* nop */
/* 028C644C */ _t22 = cpu->r[3] + 0x00000070u;
/* 028C644C */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
/* 028C6450 */ cpu->f[13] = cpu->f[0];
/* 028C6454 */ _t23 = cpu->r[3] + 0x0000007Cu;
/* 028C6454 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
/* 028C6458 */ /* nop */
/* 028C645C */ _t24 = cpu->r[10] + 0x00000004u;
/* 028C645C */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
/* 028C6460 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C6464 */ cpu->f[12] = (uint32_t)(int32_t)cpu->f[13];
/* 028C6468 */ cpu->r[10] = cpu->r[10] + cpu->r[8];
/* 028C646C */ cpu->r[8] = cpu->r[1] + 0x00000008u;
/* 028C6470 */ /* nop */
/* 028C6474 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[0];
/* 028C6478 */ /* nop */
/* 028C647C */ _t25 = cpu->r[1] + 0x00000008u;
/* 028C647C */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
/* 028C6480 */ /* nop */
/* 028C6484 */ /* nop */
/* 028C6488 */ /* nop */
/* 028C648C */ _t26 = cpu->r[1] + 0x00000008u;
/* 028C648C */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
/* 028C6490 */ cpu->f[13] = cpu->f[0];
/* 028C6494 */ /* nop */
/* 028C6498 */ /* nop */
/* 028C649C */ _t27 = cpu->r[4] + 0x00000000u;
/* 028C649C */ rbrew_write32(cpu->mem, _t27, cpu->r[11]);
/* 028C64A0 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[13];
/* 028C64A4 */ _t28 = cpu->r[5] + 0x00000000u;
/* 028C64A4 */ rbrew_write32(cpu->mem, _t28, cpu->r[9]);
/* 028C64A8 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[0];
/* 028C64AC */ /* nop */
/* 028C64B0 */ _t29 = cpu->r[1] + 0x00000008u;
/* 028C64B0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t29);
/* 028C64B4 */ /* nop */
/* 028C64B8 */ _t30 = cpu->r[1] + 0x00000008u;
/* 028C64B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
/* 028C64BC */ cpu->r[4] = cpu->r[4] + 0x00000004u;
/* 028C64C0 */ _t31 = cpu->r[6] + 0x00000000u;
/* 028C64C0 */ rbrew_write32(cpu->mem, _t31, cpu->r[10]);
/* 028C64C4 */ cpu->r[5] = cpu->r[5] + 0x00000004u;
/* 028C64C8 */ _t32 = cpu->r[7] + 0x00000000u;
/* 028C64C8 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
/* 028C64CC */ _t33 = cpu->r[3] + 0x0000007Cu;
/* 028C64CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t33);
/* 028C64D0 */ cpu->r[6] = cpu->r[6] + 0x00000004u;
/* 028C64D4 */ _t34 = cpu->r[3] + 0x00000074u;
/* 028C64D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
/* 028C64D8 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
/* 028C64DC */ cpu->r[7] = cpu->r[7] + 0x00000004u;
/* 028C64E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
/* 028C64E4 */ _t35 = cpu->r[3] + 0x0000007Cu;
/* 028C64E4 */ rbrew_write32(cpu->mem, _t35, cpu->r[10]);
/* 028C64E8 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C64E8 */ _t37 = _t36 & 0x00000001u;
/* 028C64E8 */ if (_t37) goto L_028C64F0; else goto L_028C64EC;
L_028C64EC: ; // 0x28c64ec
/* 028C64EC */ _t38 = cpu->r[3] + 0x0000007Cu;
/* 028C64EC */ rbrew_write32(cpu->mem, _t38, cpu->r[12]);
L_028C64F0: ; // 0x28c64f0
/* 028C64F0 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028C64F0 */ _t39 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028C64F0 */ _t40 = _t39 >> (0x00000002u & 31u);
/* 028C64F0 */ _t41 = _t40 & 0x00000001u;
/* 028C64F0 */ if (_t41) goto L_028C6388; else goto L_028C64F4;
L_028C64F4: ; // 0x28c64f4
/* 028C64F4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C64F8 */ return;
}
// fn_028C64FC @ 0x28c64fc
void Gambit_fn_028C64FC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _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;
L_028C64FC: ; // 0x28c64fc
/* 028C64FC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C64FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C64FC */ cpu->r[1] = _t0;
/* 028C6500 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028C6500 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028C6504 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C6504 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028C6508 */ /* nop */
/* 028C650C */ /* nop */
/* 028C6510 */ /* nop */
/* 028C6514 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028C6518 */ /* nop */
/* 028C651C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C651C */ _t4 = _t3 & 0x00000001u;
/* 028C651C */ if (_t4) goto L_028C6730; else goto L_028C6520;
L_028C6520: ; // 0x28c6520
/* 028C6520 */ cpu->ctr = cpu->r[10];
/* 028C6524 */ cpu->r[31] = 0x00000000u;
L_028C6528: ; // 0x28c6528
/* 028C6528 */ _t5 = cpu->r[4] + 0x00000000u;
/* 028C6528 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
/* 028C652C */ cpu->r[11] = 0x43300000u;
/* 028C6530 */ _t6 = cpu->r[5] + 0x00000000u;
/* 028C6530 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
/* 028C6534 */ cpu->r[12] = cpu->r[12] ^ 0x80000000u;
/* 028C6538 */ _t7 = cpu->r[6] + 0x00000000u;
/* 028C6538 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
/* 028C653C */ _t8 = cpu->r[1] + 0x00000008u;
/* 028C653C */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
/* 028C6540 */ _t9 = cpu->r[1] + 0x0000000Cu;
/* 028C6540 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
/* 028C6544 */ cpu->r[12] = 0x10140000u;
/* 028C6548 */ _t10 = cpu->r[1] + 0x00000008u;
/* 028C6548 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t10);
/* 028C654C */ cpu->r[30] = cpu->r[30] ^ 0x80000000u;
/* 028C6550 */ _t11 = cpu->r[12] + 0xFFFF96B8u;
/* 028C6550 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t11);
/* 028C6554 */ cpu->r[12] = cpu->r[10] ^ 0x80000000u;
/* 028C6558 */ _t12 = cpu->r[7] + 0x00000000u;
/* 028C6558 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
/* 028C655C */ cpu->f[12] = cpu->f[13] - cpu->f[0];
/* 028C6560 */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028C6560 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
/* 028C6564 */ _t14 = cpu->r[1] + 0x00000008u;
/* 028C6564 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t14);
/* 028C6568 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028C6568 */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
/* 028C656C */ cpu->f[13] = cpu->f[11] - cpu->f[0];
/* 028C6570 */ _t16 = cpu->r[1] + 0x00000008u;
/* 028C6570 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t16);
/* 028C6574 */ cpu->f[12] = (double)(float)cpu->f[12];
/* 028C6578 */ _t17 = cpu->r[3] + 0x00000088u;
/* 028C6578 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
/* 028C657C */ cpu->r[30] = cpu->r[10] ^ 0x80000000u;
/* 028C6580 */ cpu->f[10] = cpu->f[11] - cpu->f[0];
/* 028C6584 */ _t18 = cpu->r[8] + 0x00000000u;
/* 028C6584 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
/* 028C6588 */ cpu->f[13] = (double)(float)cpu->f[13];
/* 028C658C */ _t19 = cpu->r[9] + 0x00000000u;
/* 028C658C */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
/* 028C6590 */ cpu->r[10] = cpu->r[10] ^ 0x80000000u;
/* 028C6594 */ /* nop */
/* 028C6598 */ cpu->f[3] = (double)(float)cpu->f[10];
/* 028C659C */ _t20 = cpu->r[1] + 0x0000000Cu;
/* 028C659C */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
/* 028C65A0 */ /* nop */
/* 028C65A4 */ _t21 = cpu->r[1] + 0x00000008u;
/* 028C65A4 */ cpu->f[4] = rbrew_read_f64(cpu->mem, _t21);
/* 028C65A8 */ cpu->r[11] = cpu->r[11] ^ 0x80000000u;
/* 028C65AC */ /* nop */
/* 028C65B0 */ _t22 = cpu->r[1] + 0x0000000Cu;
/* 028C65B0 */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
/* 028C65B4 */ _t23 = cpu->r[1] + 0x00000008u;
/* 028C65B4 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t23);
/* 028C65B8 */ /* nop */
/* 028C65BC */ _t24 = cpu->r[1] + 0x0000000Cu;
/* 028C65BC */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
/* 028C65C0 */ cpu->f[9] = cpu->f[12] - cpu->f[0];
/* 028C65C4 */ _t25 = cpu->r[1] + 0x00000008u;
/* 028C65C4 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t25);
/* 028C65C8 */ cpu->f[12] = cpu->f[4] - cpu->f[0];
/* 028C65CC */ cpu->f[0] = cpu->f[13] - cpu->f[0];
/* 028C65D0 */ /* nop */
/* 028C65D4 */ cpu->f[13] = (double)(float)cpu->f[12];
/* 028C65D8 */ _t26 = cpu->r[3] + 0x00000088u;
/* 028C65D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
/* 028C65DC */ cpu->f[12] = (double)(float)cpu->f[0];
/* 028C65E0 */ /* nop */
/* 028C65E4 */ /* nop */
/* 028C65E8 */ /* nop */
/* 028C65EC */ /* nop */
/* 028C65F0 */ cpu->f[0] = (double)(float)cpu->f[9];
/* 028C65F4 */ /* nop */
/* 028C65F8 */ _t27 = cpu->r[3] + 0x00000088u;
/* 028C65F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
/* 028C65FC */ /* nop */
/* 028C6600 */ /* nop */
/* 028C6604 */ /* nop */
/* 028C6608 */ /* nop */
/* 028C660C */ /* nop */
/* 028C6610 */ _t28 = cpu->r[3] + 0x0000007Cu;
/* 028C6610 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
/* 028C6614 */ _t29 = cpu->r[3] + 0x00000070u;
/* 028C6614 */ cpu->r[10] = rbrew_read32(cpu->mem, _t29);
/* 028C6618 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C661C */ _t30 = cpu->r[10] + 0x00000000u;
/* 028C661C */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
/* 028C6620 */ cpu->r[11] = cpu->r[12] + cpu->r[11];
/* 028C6624 */ /* nop */
/* 028C6628 */ /* nop */
/* 028C662C */ /* nop */
/* 028C6630 */ _t31 = cpu->r[3] + 0x00000070u;
/* 028C6630 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
/* 028C6634 */ _t32 = cpu->r[3] + 0x0000007Cu;
/* 028C6634 */ cpu->r[11] = rbrew_read32(cpu->mem, _t32);
/* 028C6638 */ _t33 = cpu->r[12] + 0x00000004u;
/* 028C6638 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
/* 028C663C */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C6640 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
/* 028C6644 */ /* nop */
/* 028C6648 */ /* nop */
/* 028C664C */ /* nop */
/* 028C6650 */ /* nop */
/* 028C6654 */ /* nop */
/* 028C6658 */ _t34 = cpu->r[3] + 0x00000070u;
/* 028C6658 */ cpu->r[11] = rbrew_read32(cpu->mem, _t34);
/* 028C665C */ cpu->f[9] = (uint32_t)(int32_t)cpu->f[0];
/* 028C6660 */ _t35 = cpu->r[3] + 0x0000007Cu;
/* 028C6660 */ cpu->r[12] = rbrew_read32(cpu->mem, _t35);
/* 028C6664 */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[13];
/* 028C6668 */ _t36 = cpu->r[11] + 0x00000008u;
/* 028C6668 */ cpu->r[10] = rbrew_read32(cpu->mem, _t36);
/* 028C666C */ cpu->r[11] = cpu->r[1] + 0x00000008u;
/* 028C6670 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C6674 */ /* nop */
/* 028C6678 */ /* nop */
/* 028C667C */ cpu->r[12] = cpu->r[10] + cpu->r[12];
/* 028C6680 */ _t37 = cpu->r[1] + 0x00000008u;
/* 028C6680 */ cpu->r[10] = rbrew_read32(cpu->mem, _t37);
/* 028C6684 */ cpu->f[11] = cpu->f[0];
/* 028C6688 */ /* nop */
/* 028C668C */ /* nop */
/* 028C6690 */ /* nop */
/* 028C6694 */ /* nop */
/* 028C6698 */ _t38 = cpu->r[1] + 0x00000008u;
/* 028C6698 */ cpu->r[11] = rbrew_read32(cpu->mem, _t38);
/* 028C669C */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[11];
/* 028C66A0 */ /* nop */
/* 028C66A4 */ cpu->r[12] = cpu->r[1] + 0x00000008u;
/* 028C66A8 */ _t39 = cpu->r[4] + 0x00000000u;
/* 028C66A8 */ rbrew_write32(cpu->mem, _t39, cpu->r[10]);
/* 028C66AC */ cpu->f[12] = (uint32_t)(int32_t)cpu->f[0];
/* 028C66B0 */ _t40 = cpu->r[5] + 0x00000000u;
/* 028C66B0 */ rbrew_write32(cpu->mem, _t40, cpu->r[11]);
/* 028C66B4 */ /* nop */
/* 028C66B8 */ /* nop */
/* 028C66BC */ _t41 = cpu->r[1] + 0x00000008u;
/* 028C66BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t41);
/* 028C66C0 */ /* nop */
/* 028C66C4 */ /* nop */
/* 028C66C8 */ _t42 = cpu->r[1] + 0x00000008u;
/* 028C66C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t42);
/* 028C66CC */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[13];
/* 028C66D0 */ _t43 = cpu->r[6] + 0x00000000u;
/* 028C66D0 */ rbrew_write32(cpu->mem, _t43, cpu->r[11]);
/* 028C66D4 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[0];
/* 028C66D8 */ _t44 = cpu->r[7] + 0x00000000u;
/* 028C66D8 */ rbrew_write32(cpu->mem, _t44, cpu->r[12]);
/* 028C66DC */ cpu->r[12] = cpu->r[1] + 0x00000008u;
/* 028C66E0 */ /* nop */
/* 028C66E4 */ _t45 = cpu->r[1] + 0x00000008u;
/* 028C66E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t45);
/* 028C66E8 */ /* nop */
/* 028C66EC */ _t46 = cpu->r[1] + 0x00000008u;
/* 028C66EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t46);
/* 028C66F0 */ _t47 = cpu->r[8] + 0x00000000u;
/* 028C66F0 */ rbrew_write32(cpu->mem, _t47, cpu->r[11]);
/* 028C66F4 */ cpu->r[5] = cpu->r[5] + 0x00000004u;
/* 028C66F8 */ _t48 = cpu->r[9] + 0x00000000u;
/* 028C66F8 */ rbrew_write32(cpu->mem, _t48, cpu->r[12]);
/* 028C66FC */ _t49 = cpu->r[3] + 0x0000007Cu;
/* 028C66FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t49);
/* 028C6700 */ cpu->r[8] = cpu->r[8] + 0x00000004u;
/* 028C6704 */ cpu->r[6] = cpu->r[6] + 0x00000004u;
/* 028C6708 */ _t50 = cpu->r[3] + 0x00000074u;
/* 028C6708 */ cpu->r[12] = rbrew_read32(cpu->mem, _t50);
/* 028C670C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
/* 028C6710 */ cpu->r[9] = cpu->r[9] + 0x00000004u;
/* 028C6714 */ cpu->r[7] = cpu->r[7] + 0x00000004u;
/* 028C6718 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
/* 028C671C */ _t51 = cpu->r[3] + 0x0000007Cu;
/* 028C671C */ rbrew_write32(cpu->mem, _t51, cpu->r[11]);
/* 028C6720 */ cpu->r[4] = cpu->r[4] + 0x00000004u;
/* 028C6724 */ _t52 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C6724 */ _t53 = _t52 & 0x00000001u;
/* 028C6724 */ if (_t53) goto L_028C672C; else goto L_028C6728;
L_028C6728: ; // 0x28c6728
/* 028C6728 */ _t54 = cpu->r[3] + 0x0000007Cu;
/* 028C6728 */ rbrew_write32(cpu->mem, _t54, cpu->r[31]);
L_028C672C: ; // 0x28c672c
/* 028C672C */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028C672C */ _t55 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028C672C */ _t56 = _t55 >> (0x00000002u & 31u);
/* 028C672C */ _t57 = _t56 & 0x00000001u;
/* 028C672C */ if (_t57) goto L_028C6528; else goto L_028C6730;
L_028C6730: ; // 0x28c6730
/* 028C6730 */ _t58 = cpu->r[1] + 0x00000010u;
/* 028C6730 */ cpu->r[30] = rbrew_read32(cpu->mem, _t58);
/* 028C6734 */ _t59 = cpu->r[1] + 0x00000014u;
/* 028C6734 */ cpu->r[31] = rbrew_read32(cpu->mem, _t59);
/* 028C6738 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C673C */ return;
}
// fn_028C6740 @ 0x28c6740
void Gambit_fn_028C6740(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _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_028C6740: ; // 0x28c6740
/* 028C6740 */ cpu->r[0] = cpu->lr;
/* 028C6744 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028C6744 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028C6748 */ _t1 = cpu->r[1] + 0xFFFFFFD8u;
/* 028C6748 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028C6748 */ cpu->r[1] = _t1;
/* 028C674C */ _t2 = cpu->r[3] + 0x0000006Cu;
/* 028C674C */ cpu->r[9] = rbrew_read8(cpu->mem, _t2);
/* 028C6750 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028C6754 */ cpu->r[8] = cpu->r[6];
/* 028C6758 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6758 */ _t4 = _t3 & 0x00000001u;
/* 028C6758 */ if (_t4) goto L_028C680C; else goto L_028C675C;
L_028C675C: ; // 0x28c675c
/* 028C675C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028C6760 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C6760 */ _t6 = _t5 & 0x00000001u;
/* 028C6760 */ if (_t6) goto L_028C6764; else goto L_028C6780;
L_028C6764: ; // 0x28c6764
/* 028C6764 */ cpu->ctr = cpu->r[4];
/* 028C6768 */ cpu->r[10] = 0x00000000u;
/* 028C676C */ cpu->r[12] = cpu->r[1] + 0x00000004u;
L_028C6770: ; // 0x28c6770
/* 028C6770 */ _t7 = cpu->r[5] + cpu->r[10];
/* 028C6770 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028C6774 */ cpu->r[10] = cpu->r[10] + 0x00000004u;
/* 028C6778 */ _t8 = cpu->r[12] + 0x00000004u;
/* 028C6778 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028C6778 */ cpu->r[12] = _t8;
/* 028C677C */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028C677C */ _t9 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028C677C */ _t10 = _t9 >> (0x00000002u & 31u);
/* 028C677C */ _t11 = _t10 & 0x00000001u;
/* 028C677C */ if (_t11) goto L_028C6770; else goto L_028C6780;
L_028C6780: ; // 0x28c6780
/* 028C6780 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000002u);
/* 028C6784 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6784 */ _t13 = _t12 & 0x00000001u;
/* 028C6784 */ if (_t13) goto L_028C67A8; else goto L_028C6788;
L_028C6788: ; // 0x28c6788
/* 028C6788 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000004u);
/* 028C678C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C678C */ _t15 = _t14 & 0x00000001u;
/* 028C678C */ if (_t15) goto L_028C67C8; else goto L_028C6790;
L_028C6790: ; // 0x28c6790
/* 028C6790 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000006u);
/* 028C6794 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6794 */ _t17 = _t16 & 0x00000001u;
/* 028C6794 */ if (_t17) goto L_028C67EC; else goto L_028C6798;
L_028C6798: ; // 0x28c6798
/* 028C6798 */ _t18 = cpu->r[1] + 0x0000002Cu;
/* 028C6798 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028C679C */ cpu->lr = cpu->r[0];
/* 028C67A0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028C67A4 */ return;
L_028C67A8: ; // 0x28c67a8
/* 028C67A8 */ _t19 = cpu->r[1] + 0x0000000Cu;
/* 028C67A8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t19);
/* 028C67AC */ cpu->r[6] = cpu->r[8];
/* 028C67B0 */ _t20 = cpu->r[1] + 0x00000008u;
/* 028C67B0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
/* 028C67B4 */ Gambit_fn_028C626C(cpu);
/* 028C67B8 */ _t21 = cpu->r[1] + 0x0000002Cu;
/* 028C67B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
/* 028C67BC */ cpu->lr = cpu->r[0];
/* 028C67C0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028C67C4 */ return;
L_028C67C8: ; // 0x28c67c8
/* 028C67C8 */ _t22 = cpu->r[1] + 0x00000010u;
/* 028C67C8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t22);
/* 028C67CC */ _t23 = cpu->r[1] + 0x0000000Cu;
/* 028C67CC */ cpu->r[5] = rbrew_read32(cpu->mem, _t23);
/* 028C67D0 */ _t24 = cpu->r[1] + 0x00000014u;
/* 028C67D0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t24);
/* 028C67D4 */ _t25 = cpu->r[1] + 0x00000008u;
/* 028C67D4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t25);
/* 028C67D8 */ Gambit_fn_028C6364(cpu);
/* 028C67DC */ _t26 = cpu->r[1] + 0x0000002Cu;
/* 028C67DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
/* 028C67E0 */ cpu->lr = cpu->r[0];
/* 028C67E4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028C67E8 */ return;
L_028C67EC: ; // 0x28c67ec
/* 028C67EC */ _t27 = cpu->r[1] + 0x00000010u;
/* 028C67EC */ cpu->r[6] = rbrew_read32(cpu->mem, _t27);
/* 028C67F0 */ cpu->r[10] = cpu->r[8];
/* 028C67F4 */ _t28 = cpu->r[1] + 0x0000000Cu;
/* 028C67F4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t28);
/* 028C67F8 */ _t29 = cpu->r[1] + 0x00000014u;
/* 028C67F8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t29);
/* 028C67FC */ _t30 = cpu->r[1] + 0x0000001Cu;
/* 028C67FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t30);
/* 028C6800 */ _t31 = cpu->r[1] + 0x00000008u;
/* 028C6800 */ cpu->r[4] = rbrew_read32(cpu->mem, _t31);
/* 028C6804 */ _t32 = cpu->r[1] + 0x00000018u;
/* 028C6804 */ cpu->r[8] = rbrew_read32(cpu->mem, _t32);
/* 028C6808 */ Gambit_fn_028C64FC(cpu);
L_028C680C: ; // 0x28c680c
/* 028C680C */ _t33 = cpu->r[1] + 0x0000002Cu;
/* 028C680C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
/* 028C6810 */ cpu->lr = cpu->r[0];
/* 028C6814 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028C6818 */ return;
}
// fn_028C6748 @ 0x28c6748
void Gambit_fn_028C6748(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_028C6748: ; // 0x28c6748
/* 028C6748 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028C6748 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C6748 */ cpu->r[1] = _t0;
/* 028C674C */ _t1 = cpu->r[3] + 0x0000006Cu;
/* 028C674C */ cpu->r[9] = rbrew_read8(cpu->mem, _t1);
/* 028C6750 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028C6754 */ cpu->r[8] = cpu->r[6];
/* 028C6758 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6758 */ _t3 = _t2 & 0x00000001u;
/* 028C6758 */ if (_t3) goto L_028C680C; else goto L_028C675C;
L_028C675C: ; // 0x28c675c
/* 028C675C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028C6760 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C6760 */ _t5 = _t4 & 0x00000001u;
/* 028C6760 */ if (_t5) goto L_028C6764; else goto L_028C6780;
L_028C6764: ; // 0x28c6764
/* 028C6764 */ cpu->ctr = cpu->r[4];
/* 028C6768 */ cpu->r[10] = 0x00000000u;
/* 028C676C */ cpu->r[12] = cpu->r[1] + 0x00000004u;
L_028C6770: ; // 0x28c6770
/* 028C6770 */ _t6 = cpu->r[5] + cpu->r[10];
/* 028C6770 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028C6774 */ cpu->r[10] = cpu->r[10] + 0x00000004u;
/* 028C6778 */ _t7 = cpu->r[12] + 0x00000004u;
/* 028C6778 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028C6778 */ cpu->r[12] = _t7;
/* 028C677C */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028C677C */ _t8 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028C677C */ _t9 = _t8 >> (0x00000002u & 31u);
/* 028C677C */ _t10 = _t9 & 0x00000001u;
/* 028C677C */ if (_t10) goto L_028C6770; else goto L_028C6780;
L_028C6780: ; // 0x28c6780
/* 028C6780 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000002u);
/* 028C6784 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6784 */ _t12 = _t11 & 0x00000001u;
/* 028C6784 */ if (_t12) goto L_028C67A8; else goto L_028C6788;
L_028C6788: ; // 0x28c6788
/* 028C6788 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000004u);
/* 028C678C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C678C */ _t14 = _t13 & 0x00000001u;
/* 028C678C */ if (_t14) goto L_028C67C8; else goto L_028C6790;
L_028C6790: ; // 0x28c6790
/* 028C6790 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000006u);
/* 028C6794 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6794 */ _t16 = _t15 & 0x00000001u;
/* 028C6794 */ if (_t16) goto L_028C67EC; else goto L_028C6798;
L_028C6798: ; // 0x28c6798
/* 028C6798 */ _t17 = cpu->r[1] + 0x0000002Cu;
/* 028C6798 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028C679C */ cpu->lr = cpu->r[0];
/* 028C67A0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028C67A4 */ return;
L_028C67A8: ; // 0x28c67a8
/* 028C67A8 */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028C67A8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t18);
/* 028C67AC */ cpu->r[6] = cpu->r[8];
/* 028C67B0 */ _t19 = cpu->r[1] + 0x00000008u;
/* 028C67B0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t19);
/* 028C67B4 */ Gambit_fn_028C626C(cpu);
/* 028C67B8 */ _t20 = cpu->r[1] + 0x0000002Cu;
/* 028C67B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028C67BC */ cpu->lr = cpu->r[0];
/* 028C67C0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028C67C4 */ return;
L_028C67C8: ; // 0x28c67c8
/* 028C67C8 */ _t21 = cpu->r[1] + 0x00000010u;
/* 028C67C8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t21);
/* 028C67CC */ _t22 = cpu->r[1] + 0x0000000Cu;
/* 028C67CC */ cpu->r[5] = rbrew_read32(cpu->mem, _t22);
/* 028C67D0 */ _t23 = cpu->r[1] + 0x00000014u;
/* 028C67D0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t23);
/* 028C67D4 */ _t24 = cpu->r[1] + 0x00000008u;
/* 028C67D4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t24);
/* 028C67D8 */ Gambit_fn_028C6364(cpu);
/* 028C67DC */ _t25 = cpu->r[1] + 0x0000002Cu;
/* 028C67DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
/* 028C67E0 */ cpu->lr = cpu->r[0];
/* 028C67E4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028C67E8 */ return;
L_028C67EC: ; // 0x28c67ec
/* 028C67EC */ _t26 = cpu->r[1] + 0x00000010u;
/* 028C67EC */ cpu->r[6] = rbrew_read32(cpu->mem, _t26);
/* 028C67F0 */ cpu->r[10] = cpu->r[8];
/* 028C67F4 */ _t27 = cpu->r[1] + 0x0000000Cu;
/* 028C67F4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t27);
/* 028C67F8 */ _t28 = cpu->r[1] + 0x00000014u;
/* 028C67F8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t28);
/* 028C67FC */ _t29 = cpu->r[1] + 0x0000001Cu;
/* 028C67FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t29);
/* 028C6800 */ _t30 = cpu->r[1] + 0x00000008u;
/* 028C6800 */ cpu->r[4] = rbrew_read32(cpu->mem, _t30);
/* 028C6804 */ _t31 = cpu->r[1] + 0x00000018u;
/* 028C6804 */ cpu->r[8] = rbrew_read32(cpu->mem, _t31);
/* 028C6808 */ Gambit_fn_028C64FC(cpu);
L_028C680C: ; // 0x28c680c
/* 028C680C */ _t32 = cpu->r[1] + 0x0000002Cu;
/* 028C680C */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
/* 028C6810 */ cpu->lr = cpu->r[0];
/* 028C6814 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028C6818 */ return;
}
// fn_028C681C @ 0x28c681c
void Gambit_fn_028C681C(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_028C681C: ; // 0x28c681c
/* 028C681C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C6820 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6820 */ _t17 = _t16 & 0x00000001u;
/* 028C6820 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028C6820 */ goto L_028C6824;
L_028C6824: ; // 0x28c6824
/* 028C6824 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028C6824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C6828 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6828 */ _t19 = _t18 & 0x00000001u;
/* 028C6828 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028C6828 */ goto L_028C682C;
L_028C682C: ; // 0x28c682c
/* 028C682C */ goto L_02801BB0;
}
// fn_028C6830 @ 0x28c6830
void Gambit_fn_028C6830(CPUState* cpu) {
L_028C6830: ; // 0x28c6830
/* 028C6830 */ return;
}
// fn_028C6834 @ 0x28c6834
void Gambit_fn_028C6834(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028C6834: ; // 0x28c6834
/* 028C6834 */ cpu->r[9] = 0x101D0000u;
/* 028C6838 */ _t0 = cpu->r[9] + 0xFFFFF748u;
/* 028C6838 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
/* 028C6838 */ cpu->r[9] = _t0;
/* 028C683C */ cpu->r[12] = 0x101D0000u;
/* 028C6840 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028C6844 */ cpu->r[12] = cpu->r[12] + 0x00001964u;
/* 028C6848 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6848 */ _t2 = _t1 & 0x00000001u;
/* 028C6848 */ if (_t2) goto L_028C684C; else goto L_028C6860;
L_028C684C: ; // 0x28c684c
/* 028C684C */ cpu->r[7] = 0x10140000u;
/* 028C6850 */ cpu->r[0] = 0x00000001u;
/* 028C6854 */ cpu->r[7] = cpu->r[7] + 0xFFFF9634u;
/* 028C6858 */ _t3 = cpu->r[9] + 0x00000000u;
/* 028C6858 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C685C */ _t4 = cpu->r[12] + 0x00000000u;
/* 028C685C */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
L_028C6860: ; // 0x28c6860
/* 028C6860 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
/* 028C6864 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6864 */ _t6 = _t5 & 0x00000001u;
/* 028C6864 */ if (_t6) goto L_028C6868; else goto L_028C6870;
L_028C6868: ; // 0x28c6868
/* 028C6868 */ cpu->r[3] = 0x00000001u;
/* 028C686C */ return;
L_028C6870: ; // 0x28c6870
/* 028C6870 */ cpu->r[7] = 0x101D0000u;
/* 028C6874 */ _t7 = cpu->r[7] + 0xFFFFF724u;
/* 028C6874 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
/* 028C6874 */ cpu->r[7] = _t7;
/* 028C6878 */ cpu->r[11] = 0x101D0000u;
/* 028C687C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028C6880 */ cpu->r[11] = cpu->r[11] + 0xFFFFF738u;
/* 028C6884 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6884 */ _t9 = _t8 & 0x00000001u;
/* 028C6884 */ if (_t9) goto L_028C6888; else goto L_028C689C;
L_028C6888: ; // 0x28c6888
/* 028C6888 */ cpu->r[0] = 0x10140000u;
/* 028C688C */ cpu->r[9] = 0x00000001u;
/* 028C6890 */ cpu->r[0] = cpu->r[0] + 0xFFFF95FCu;
/* 028C6894 */ _t10 = cpu->r[7] + 0x00000000u;
/* 028C6894 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
/* 028C6898 */ _t11 = cpu->r[11] + 0x00000000u;
/* 028C6898 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
L_028C689C: ; // 0x28c689c
/* 028C689C */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
/* 028C68A0 */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
/* 028C68A4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
/* 028C68A8 */ return;
}
// fn_028C68AC @ 0x28c68ac
void Gambit_fn_028C68AC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028C68AC: ; // 0x28c68ac
/* 028C68AC */ cpu->r[9] = 0x101D0000u;
/* 028C68B0 */ _t0 = cpu->r[9] + 0xFFFFF74Cu;
/* 028C68B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
/* 028C68B0 */ cpu->r[9] = _t0;
/* 028C68B4 */ cpu->r[12] = 0x101D0000u;
/* 028C68B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028C68BC */ cpu->r[12] = cpu->r[12] + 0x00001968u;
/* 028C68C0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C68C0 */ _t2 = _t1 & 0x00000001u;
/* 028C68C0 */ if (_t2) goto L_028C68C4; else goto L_028C68D8;
L_028C68C4: ; // 0x28c68c4
/* 028C68C4 */ cpu->r[7] = 0x10140000u;
/* 028C68C8 */ cpu->r[0] = 0x00000001u;
/* 028C68CC */ cpu->r[7] = cpu->r[7] + 0xFFFF9644u;
/* 028C68D0 */ _t3 = cpu->r[9] + 0x00000000u;
/* 028C68D0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C68D4 */ _t4 = cpu->r[12] + 0x00000000u;
/* 028C68D4 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
L_028C68D8: ; // 0x28c68d8
/* 028C68D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
/* 028C68DC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C68DC */ _t6 = _t5 & 0x00000001u;
/* 028C68DC */ if (_t6) goto L_028C68E0; else goto L_028C68E8;
L_028C68E0: ; // 0x28c68e0
/* 028C68E0 */ cpu->r[3] = 0x00000001u;
/* 028C68E4 */ return;
L_028C68E8: ; // 0x28c68e8
/* 028C68E8 */ cpu->r[7] = 0x101D0000u;
/* 028C68EC */ _t7 = cpu->r[7] + 0xFFFFF728u;
/* 028C68EC */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
/* 028C68EC */ cpu->r[7] = _t7;
/* 028C68F0 */ cpu->r[11] = 0x101D0000u;
/* 028C68F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028C68F8 */ cpu->r[11] = cpu->r[11] + 0xFFFFF73Cu;
/* 028C68FC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C68FC */ _t9 = _t8 & 0x00000001u;
/* 028C68FC */ if (_t9) goto L_028C6900; else goto L_028C6914;
L_028C6900: ; // 0x28c6900
/* 028C6900 */ cpu->r[0] = 0x10140000u;
/* 028C6904 */ cpu->r[9] = 0x00000001u;
/* 028C6908 */ cpu->r[0] = cpu->r[0] + 0xFFFF95FCu;
/* 028C690C */ _t10 = cpu->r[7] + 0x00000000u;
/* 028C690C */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
/* 028C6910 */ _t11 = cpu->r[11] + 0x00000000u;
/* 028C6910 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
L_028C6914: ; // 0x28c6914
/* 028C6914 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
/* 028C6918 */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
/* 028C691C */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
/* 028C6920 */ return;
}
// fn_028C6924 @ 0x28c6924
void Gambit_fn_028C6924(CPUState* cpu) {
L_028C6924: ; // 0x28c6924
/* 028C6924 */ return;
}
// fn_028C6928 @ 0x28c6928
void Gambit_fn_028C6928(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
L_028C6928: ; // 0x28c6928
/* 028C6928 */ cpu->r[0] = cpu->lr;
/* 028C692C */ _t0 = cpu->r[1] + 0x00000004u;
/* 028C692C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028C6930 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C6934 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028C6934 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028C6934 */ cpu->r[1] = _t1;
/* 028C6938 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6938 */ _t3 = _t2 & 0x00000001u;
/* 028C6938 */ if (_t3) goto L_028C693C; else goto L_028C694C;
L_028C693C: ; // 0x28c693c
/* 028C693C */ cpu->r[3] = 0x00000018u;
/* 028C6940 */ Gambit_fn_02801A78(cpu);
/* 028C6944 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C6948 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6948 */ _t5 = _t4 & 0x00000001u;
/* 028C6948 */ if (_t5) goto L_028C698C; else goto L_028C694C;
L_028C694C: ; // 0x28c694c
/* 028C694C */ cpu->r[0] = 0x10140000u;
/* 028C6950 */ cpu->r[10] = 0x10140000u;
/* 028C6954 */ cpu->r[0] = cpu->r[0] + 0xFFFF97B0u;
/* 028C6958 */ _t6 = cpu->r[10] + 0xFFFF98FCu;
/* 028C6958 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
/* 028C695C */ cpu->r[9] = 0x10140000u;
/* 028C6960 */ _t7 = cpu->r[3] + 0x00000000u;
/* 028C6960 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028C6964 */ _t8 = cpu->r[9] + 0xFFFF98F8u;
/* 028C6964 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t8);
/* 028C6968 */ _t9 = cpu->r[3] + 0x0000000Cu;
/* 028C6968 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
/* 028C696C */ _t10 = cpu->r[3] + 0x00000004u;
/* 028C696C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
/* 028C6970 */ cpu->r[11] = 0x101F0000u;
/* 028C6974 */ _t11 = cpu->r[3] + 0x00000008u;
/* 028C6974 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[13]);
/* 028C6978 */ _t12 = cpu->r[11] + 0x00007130u;
/* 028C6978 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
/* 028C697C */ cpu->r[12] = 0x101F0000u;
/* 028C6980 */ _t13 = cpu->r[3] + 0x00000010u;
/* 028C6980 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
/* 028C6984 */ _t14 = cpu->r[12] + 0x00007134u;
/* 028C6984 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
/* 028C6988 */ _t15 = cpu->r[3] + 0x00000014u;
/* 028C6988 */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
L_028C698C: ; // 0x28c698c
/* 028C698C */ _t16 = cpu->r[1] + 0x0000000Cu;
/* 028C698C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028C6990 */ cpu->lr = cpu->r[0];
/* 028C6994 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028C6998 */ return;
}
// fn_028C6934 @ 0x28c6934
void Gambit_fn_028C6934(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
L_028C6934: ; // 0x28c6934
/* 028C6934 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028C6934 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C6934 */ cpu->r[1] = _t0;
/* 028C6938 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6938 */ _t2 = _t1 & 0x00000001u;
/* 028C6938 */ if (_t2) goto L_028C693C; else goto L_028C694C;
L_028C693C: ; // 0x28c693c
/* 028C693C */ cpu->r[3] = 0x00000018u;
/* 028C6940 */ Gambit_fn_02801A78(cpu);
/* 028C6944 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C6948 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6948 */ _t4 = _t3 & 0x00000001u;
/* 028C6948 */ if (_t4) goto L_028C698C; else goto L_028C694C;
L_028C694C: ; // 0x28c694c
/* 028C694C */ cpu->r[0] = 0x10140000u;
/* 028C6950 */ cpu->r[10] = 0x10140000u;
/* 028C6954 */ cpu->r[0] = cpu->r[0] + 0xFFFF97B0u;
/* 028C6958 */ _t5 = cpu->r[10] + 0xFFFF98FCu;
/* 028C6958 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
/* 028C695C */ cpu->r[9] = 0x10140000u;
/* 028C6960 */ _t6 = cpu->r[3] + 0x00000000u;
/* 028C6960 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028C6964 */ _t7 = cpu->r[9] + 0xFFFF98F8u;
/* 028C6964 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7);
/* 028C6968 */ _t8 = cpu->r[3] + 0x0000000Cu;
/* 028C6968 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
/* 028C696C */ _t9 = cpu->r[3] + 0x00000004u;
/* 028C696C */ rbrew_write_f32(cpu->mem, _t9, cpu->f[13]);
/* 028C6970 */ cpu->r[11] = 0x101F0000u;
/* 028C6974 */ _t10 = cpu->r[3] + 0x00000008u;
/* 028C6974 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
/* 028C6978 */ _t11 = cpu->r[11] + 0x00007130u;
/* 028C6978 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
/* 028C697C */ cpu->r[12] = 0x101F0000u;
/* 028C6980 */ _t12 = cpu->r[3] + 0x00000010u;
/* 028C6980 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
/* 028C6984 */ _t13 = cpu->r[12] + 0x00007134u;
/* 028C6984 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
/* 028C6988 */ _t14 = cpu->r[3] + 0x00000014u;
/* 028C6988 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
L_028C698C: ; // 0x28c698c
/* 028C698C */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028C698C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028C6990 */ cpu->lr = cpu->r[0];
/* 028C6994 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028C6998 */ return;
}
// fn_028C699C @ 0x28c699c
void Gambit_fn_028C699C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
L_028C699C: ; // 0x28c699c
/* 028C699C */ cpu->r[0] = cpu->lr;
/* 028C69A0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C69A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C69A0 */ cpu->r[1] = _t0;
/* 028C69A4 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C69A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C69A8 */ cpu->r[31] = cpu->r[3];
/* 028C69A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C69AC */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C69AC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C69B0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C69B0 */ _t4 = _t3 & 0x00000001u;
/* 028C69B0 */ if (_t4) goto L_028C69B4; else goto L_028C69C4;
L_028C69B4: ; // 0x28c69b4
/* 028C69B4 */ cpu->r[3] = 0x00000038u;
/* 028C69B8 */ Gambit_fn_02801A78(cpu);
/* 028C69BC */ cpu->r[31] = cpu->r[3];
/* 028C69BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C69C0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C69C0 */ _t6 = _t5 & 0x00000001u;
/* 028C69C0 */ if (_t6) goto L_028C69E0; else goto L_028C69C4;
L_028C69C4: ; // 0x28c69c4
/* 028C69C4 */ cpu->r[3] = cpu->r[31];
/* 028C69C8 */ Gambit_fn_028C5614(cpu);
/* 028C69CC */ cpu->r[0] = 0x10140000u;
/* 028C69D0 */ cpu->r[0] = cpu->r[0] + 0xFFFF9A20u;
/* 028C69D4 */ cpu->r[3] = cpu->r[31];
/* 028C69D8 */ _t7 = cpu->r[31] + 0x00000004u;
/* 028C69D8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028C69DC */ Gambit_fn_028C5688(cpu);
L_028C69E0: ; // 0x28c69e0
/* 028C69E0 */ _t8 = cpu->r[1] + 0x00000014u;
/* 028C69E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028C69E4 */ cpu->r[3] = cpu->r[31];
/* 028C69E8 */ _t9 = cpu->r[1] + 0x0000000Cu;
/* 028C69E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
/* 028C69EC */ cpu->lr = cpu->r[0];
/* 028C69F0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C69F4 */ return;
}
// fn_028C69A0 @ 0x28c69a0
void Gambit_fn_028C69A0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
L_028C69A0: ; // 0x28c69a0
/* 028C69A0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C69A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C69A0 */ cpu->r[1] = _t0;
/* 028C69A4 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C69A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C69A8 */ cpu->r[31] = cpu->r[3];
/* 028C69A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C69AC */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C69AC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C69B0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C69B0 */ _t4 = _t3 & 0x00000001u;
/* 028C69B0 */ if (_t4) goto L_028C69B4; else goto L_028C69C4;
L_028C69B4: ; // 0x28c69b4
/* 028C69B4 */ cpu->r[3] = 0x00000038u;
/* 028C69B8 */ Gambit_fn_02801A78(cpu);
/* 028C69BC */ cpu->r[31] = cpu->r[3];
/* 028C69BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C69C0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C69C0 */ _t6 = _t5 & 0x00000001u;
/* 028C69C0 */ if (_t6) goto L_028C69E0; else goto L_028C69C4;
L_028C69C4: ; // 0x28c69c4
/* 028C69C4 */ cpu->r[3] = cpu->r[31];
/* 028C69C8 */ Gambit_fn_028C5614(cpu);
/* 028C69CC */ cpu->r[0] = 0x10140000u;
/* 028C69D0 */ cpu->r[0] = cpu->r[0] + 0xFFFF9A20u;
/* 028C69D4 */ cpu->r[3] = cpu->r[31];
/* 028C69D8 */ _t7 = cpu->r[31] + 0x00000004u;
/* 028C69D8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028C69DC */ Gambit_fn_028C5688(cpu);
L_028C69E0: ; // 0x28c69e0
/* 028C69E0 */ _t8 = cpu->r[1] + 0x00000014u;
/* 028C69E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028C69E4 */ cpu->r[3] = cpu->r[31];
/* 028C69E8 */ _t9 = cpu->r[1] + 0x0000000Cu;
/* 028C69E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
/* 028C69EC */ cpu->lr = cpu->r[0];
/* 028C69F0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C69F4 */ return;
}
// fn_028C69F8 @ 0x28c69f8
void Gambit_fn_028C69F8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028C56D4: ; // 0x28c56d4
/* 028C56D4 */ cpu->r[11] = 0x00000001u;
/* 028C56D8 */ _t0 = cpu->r[3] + 0x00000000u;
/* 028C56D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028C56DC */ /* nop */
/* 028C56E0 */ cpu->r[12] = cpu->r[12] | cpu->r[0];
/* 028C56E4 */ _t1 = cpu->r[3] + 0x00000000u;
/* 028C56E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
/* 028C56E8 */ return;
L_028C69F8: ; // 0x28c69f8
/* 028C69F8 */ _t2 = cpu->r[3] + 0x00000008u;
/* 028C69F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[4]);
/* 028C69FC */ cpu->r[4] = 0x00000000u;
/* 028C6A00 */ _t3 = cpu->r[3] + 0x00000034u;
/* 028C6A00 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[1]);
/* 028C6A04 */ goto L_028C56D4;
}
// fn_028C6A08 @ 0x28c6a08
void Gambit_fn_028C6A08(CPUState* cpu) {
uint32_t _t0, _t1, _t2;
L_028C56D4: ; // 0x28c56d4
/* 028C56D4 */ cpu->r[11] = 0x00000001u;
/* 028C56D8 */ _t0 = cpu->r[3] + 0x00000000u;
/* 028C56D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028C56DC */ /* nop */
/* 028C56E0 */ cpu->r[12] = cpu->r[12] | cpu->r[0];
/* 028C56E4 */ _t1 = cpu->r[3] + 0x00000000u;
/* 028C56E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
/* 028C56E8 */ return;
L_028C6A08: ; // 0x28c6a08
/* 028C6A08 */ _t2 = cpu->r[3] + 0x0000000Cu;
/* 028C6A08 */ rbrew_write32(cpu->mem, _t2, cpu->r[4]);
/* 028C6A0C */ cpu->r[4] = 0x00000001u;
/* 028C6A10 */ goto L_028C56D4;
}
// fn_028C6A14 @ 0x28c6a14
void Gambit_fn_028C6A14(CPUState* cpu) {
uint32_t _t0, _t1, _t2;
L_028C56D4: ; // 0x28c56d4
/* 028C56D4 */ cpu->r[11] = 0x00000001u;
/* 028C56D8 */ _t0 = cpu->r[3] + 0x00000000u;
/* 028C56D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028C56DC */ /* nop */
/* 028C56E0 */ cpu->r[12] = cpu->r[12] | cpu->r[0];
/* 028C56E4 */ _t1 = cpu->r[3] + 0x00000000u;
/* 028C56E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
/* 028C56E8 */ return;
L_028C6A14: ; // 0x28c6a14
/* 028C6A14 */ cpu->r[4] = 0x00000002u;
/* 028C6A18 */ _t2 = cpu->r[3] + 0x00000010u;
/* 028C6A18 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[1]);
/* 028C6A1C */ goto L_028C56D4;
}
// fn_028C6A20 @ 0x28c6a20
void Gambit_fn_028C6A20(CPUState* cpu) {
uint32_t _t0, _t1, _t2;
L_028C56D4: ; // 0x28c56d4
/* 028C56D4 */ cpu->r[11] = 0x00000001u;
/* 028C56D8 */ _t0 = cpu->r[3] + 0x00000000u;
/* 028C56D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028C56DC */ /* nop */
/* 028C56E0 */ cpu->r[12] = cpu->r[12] | cpu->r[0];
/* 028C56E4 */ _t1 = cpu->r[3] + 0x00000000u;
/* 028C56E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
/* 028C56E8 */ return;
L_028C6A20: ; // 0x28c6a20
/* 028C6A20 */ cpu->r[4] = 0x00000003u;
/* 028C6A24 */ _t2 = cpu->r[3] + 0x00000014u;
/* 028C6A24 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[1]);
/* 028C6A28 */ goto L_028C56D4;
}
// fn_028C6A2C @ 0x28c6a2c
void Gambit_fn_028C6A2C(CPUState* cpu) {
uint32_t _t0, _t1, _t2;
L_028C56D4: ; // 0x28c56d4
/* 028C56D4 */ cpu->r[11] = 0x00000001u;
/* 028C56D8 */ _t0 = cpu->r[3] + 0x00000000u;
/* 028C56D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028C56DC */ /* nop */
/* 028C56E0 */ cpu->r[12] = cpu->r[12] | cpu->r[0];
/* 028C56E4 */ _t1 = cpu->r[3] + 0x00000000u;
/* 028C56E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
/* 028C56E8 */ return;
L_028C6A2C: ; // 0x28c6a2c
/* 028C6A2C */ _t2 = cpu->r[3] + 0x00000018u;
/* 028C6A2C */ rbrew_write32(cpu->mem, _t2, cpu->r[4]);
/* 028C6A30 */ cpu->r[4] = 0x00000004u;
/* 028C6A34 */ goto L_028C56D4;
}
// fn_028C6A38 @ 0x28c6a38
void Gambit_fn_028C6A38(CPUState* cpu) {
uint32_t _t0, _t1, _t2;
L_028C56D4: ; // 0x28c56d4
/* 028C56D4 */ cpu->r[11] = 0x00000001u;
/* 028C56D8 */ _t0 = cpu->r[3] + 0x00000000u;
/* 028C56D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028C56DC */ /* nop */
/* 028C56E0 */ cpu->r[12] = cpu->r[12] | cpu->r[0];
/* 028C56E4 */ _t1 = cpu->r[3] + 0x00000000u;
/* 028C56E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
/* 028C56E8 */ return;
L_028C6A38: ; // 0x28c6a38
/* 028C6A38 */ cpu->r[4] = 0x00000005u;
/* 028C6A3C */ _t2 = cpu->r[3] + 0x0000001Cu;
/* 028C6A3C */ rbrew_write_f32(cpu->mem, _t2, cpu->f[1]);
/* 028C6A40 */ goto L_028C56D4;
}
// fn_028C6A44 @ 0x28c6a44
void Gambit_fn_028C6A44(CPUState* cpu) {
uint32_t _t0, _t1, _t2;
L_028C56D4: ; // 0x28c56d4
/* 028C56D4 */ cpu->r[11] = 0x00000001u;
/* 028C56D8 */ _t0 = cpu->r[3] + 0x00000000u;
/* 028C56D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028C56DC */ /* nop */
/* 028C56E0 */ cpu->r[12] = cpu->r[12] | cpu->r[0];
/* 028C56E4 */ _t1 = cpu->r[3] + 0x00000000u;
/* 028C56E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
/* 028C56E8 */ return;
L_028C6A44: ; // 0x28c6a44
/* 028C6A44 */ _t2 = cpu->r[3] + 0x00000020u;
/* 028C6A44 */ rbrew_write32(cpu->mem, _t2, cpu->r[4]);
/* 028C6A48 */ cpu->r[4] = 0x00000006u;
/* 028C6A4C */ goto L_028C56D4;
}
// fn_028C6A50 @ 0x28c6a50
void Gambit_fn_028C6A50(CPUState* cpu) {
uint32_t _t0, _t1, _t2;
L_028C56D4: ; // 0x28c56d4
/* 028C56D4 */ cpu->r[11] = 0x00000001u;
/* 028C56D8 */ _t0 = cpu->r[3] + 0x00000000u;
/* 028C56D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028C56DC */ /* nop */
/* 028C56E0 */ cpu->r[12] = cpu->r[12] | cpu->r[0];
/* 028C56E4 */ _t1 = cpu->r[3] + 0x00000000u;
/* 028C56E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
/* 028C56E8 */ return;
L_028C6A50: ; // 0x28c6a50
/* 028C6A50 */ cpu->r[4] = 0x00000007u;
/* 028C6A54 */ _t2 = cpu->r[3] + 0x00000024u;
/* 028C6A54 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[1]);
/* 028C6A58 */ goto L_028C56D4;
}
// fn_028C6A5C @ 0x28c6a5c
void Gambit_fn_028C6A5C(CPUState* cpu) {
uint32_t _t0, _t1, _t2;
L_028C56D4: ; // 0x28c56d4
/* 028C56D4 */ cpu->r[11] = 0x00000001u;
/* 028C56D8 */ _t0 = cpu->r[3] + 0x00000000u;
/* 028C56D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028C56DC */ /* nop */
/* 028C56E0 */ cpu->r[12] = cpu->r[12] | cpu->r[0];
/* 028C56E4 */ _t1 = cpu->r[3] + 0x00000000u;
/* 028C56E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
/* 028C56E8 */ return;
L_028C6A5C: ; // 0x28c6a5c
/* 028C6A5C */ cpu->r[4] = 0x00000008u;
/* 028C6A60 */ _t2 = cpu->r[3] + 0x00000028u;
/* 028C6A60 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[1]);
/* 028C6A64 */ goto L_028C56D4;
}
// fn_028C6A68 @ 0x28c6a68
void Gambit_fn_028C6A68(CPUState* cpu) {
uint32_t _t0, _t1, _t2;
L_028C56D4: ; // 0x28c56d4
/* 028C56D4 */ cpu->r[11] = 0x00000001u;
/* 028C56D8 */ _t0 = cpu->r[3] + 0x00000000u;
/* 028C56D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028C56DC */ /* nop */
/* 028C56E0 */ cpu->r[12] = cpu->r[12] | cpu->r[0];
/* 028C56E4 */ _t1 = cpu->r[3] + 0x00000000u;
/* 028C56E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
/* 028C56E8 */ return;
L_028C6A68: ; // 0x28c6a68
/* 028C6A68 */ cpu->r[4] = 0x00000009u;
/* 028C6A6C */ _t2 = cpu->r[3] + 0x0000002Cu;
/* 028C6A6C */ rbrew_write_f32(cpu->mem, _t2, cpu->f[1]);
/* 028C6A70 */ goto L_028C56D4;
}
// fn_028C6A74 @ 0x28c6a74
void Gambit_fn_028C6A74(CPUState* cpu) {
uint32_t _t0, _t1, _t2;
L_028C56D4: ; // 0x28c56d4
/* 028C56D4 */ cpu->r[11] = 0x00000001u;
/* 028C56D8 */ _t0 = cpu->r[3] + 0x00000000u;
/* 028C56D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028C56DC */ /* nop */
/* 028C56E0 */ cpu->r[12] = cpu->r[12] | cpu->r[0];
/* 028C56E4 */ _t1 = cpu->r[3] + 0x00000000u;
/* 028C56E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
/* 028C56E8 */ return;
L_028C6A74: ; // 0x28c6a74
/* 028C6A74 */ cpu->r[4] = 0x0000000Au;
/* 028C6A78 */ _t2 = cpu->r[3] + 0x00000030u;
/* 028C6A78 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[1]);
/* 028C6A7C */ goto L_028C56D4;
}
// fn_028C6A80 @ 0x28c6a80
void Gambit_fn_028C6A80(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
L_028C6A80: ; // 0x28c6a80
/* 028C6A80 */ cpu->r[12] = 0x10140000u;
/* 028C6A84 */ cpu->r[11] = 0x10140000u;
/* 028C6A88 */ _t0 = cpu->r[12] + 0xFFFF9914u;
/* 028C6A88 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t0);
/* 028C6A8C */ _t1 = cpu->r[11] + 0xFFFF9910u;
/* 028C6A8C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
/* 028C6A90 */ cpu->r[11] = 0x10140000u;
/* 028C6A94 */ _t2 = cpu->r[3] + 0x00000030u;
/* 028C6A94 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[13]);
/* 028C6A98 */ _t3 = cpu->r[11] + 0xFFFF9918u;
/* 028C6A98 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t3);
/* 028C6A9C */ _t4 = cpu->r[3] + 0x00000028u;
/* 028C6A9C */ rbrew_write_f32(cpu->mem, _t4, cpu->f[0]);
/* 028C6AA0 */ cpu->r[12] = 0x10140000u;
/* 028C6AA4 */ _t5 = cpu->r[3] + 0x00000034u;
/* 028C6AA4 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[13]);
/* 028C6AA8 */ _t6 = cpu->r[12] + 0xFFFF9904u;
/* 028C6AA8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t6);
/* 028C6AAC */ cpu->r[11] = 0x10140000u;
/* 028C6AB0 */ _t7 = cpu->r[3] + 0x0000002Cu;
/* 028C6AB0 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
/* 028C6AB4 */ cpu->r[12] = 0xFFFFFC18u;
/* 028C6AB8 */ _t8 = cpu->r[11] + 0xFFFF9908u;
/* 028C6AB8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
/* 028C6ABC */ _t9 = cpu->r[3] + 0x00000008u;
/* 028C6ABC */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
/* 028C6AC0 */ cpu->r[11] = 0x10140000u;
/* 028C6AC4 */ _t10 = cpu->r[3] + 0x0000001Cu;
/* 028C6AC4 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
/* 028C6AC8 */ _t11 = cpu->r[11] + 0xFFFF990Cu;
/* 028C6AC8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
/* 028C6ACC */ _t12 = cpu->r[3] + 0x00000020u;
/* 028C6ACC */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
/* 028C6AD0 */ _t13 = cpu->r[3] + 0x00000024u;
/* 028C6AD0 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
/* 028C6AD4 */ _t14 = cpu->r[3] + 0x00000018u;
/* 028C6AD4 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
/* 028C6AD8 */ cpu->r[11] = 0x10140000u;
/* 028C6ADC */ _t15 = cpu->r[3] + 0x00000014u;
/* 028C6ADC */ rbrew_write_f32(cpu->mem, _t15, cpu->f[13]);
/* 028C6AE0 */ cpu->r[0] = 0x00000000u;
/* 028C6AE4 */ _t16 = cpu->r[11] + 0xFFFF9900u;
/* 028C6AE4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t16);
/* 028C6AE8 */ _t17 = cpu->r[3] + 0x0000000Cu;
/* 028C6AE8 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
/* 028C6AEC */ _t18 = cpu->r[3] + 0x00000010u;
/* 028C6AEC */ rbrew_write_f32(cpu->mem, _t18, cpu->f[13]);
/* 028C6AF0 */ return;
}
// fn_028C6AF4 @ 0x28c6af4
void Gambit_fn_028C6AF4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _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;
L_028C6AF4: ; // 0x28c6af4
/* 028C6AF4 */ _t0 = cpu->r[1] + 0xFFFFFF00u;
/* 028C6AF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C6AF4 */ cpu->r[1] = _t0;
/* 028C6AF8 */ /* nop */
/* 028C6AFC */ cpu->r[0] = cpu->lr;
/* 028C6B00 */ _t1 = cpu->r[1] + 0x00000104u;
/* 028C6B00 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028C6B04 */ _t2 = cpu->r[4] + 0x00000000u;
/* 028C6B04 */ cpu->r[29] = rbrew_read32(cpu->mem, _t2);
/* 028C6B08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028C6B0C */ cpu->r[31] = cpu->r[3];
/* 028C6B10 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6B10 */ _t4 = _t3 & 0x00000001u;
/* 028C6B10 */ if (_t4) goto L_028C6F64; else goto L_028C6B14;
L_028C6B14: ; // 0x28c6b14
/* 028C6B14 */ cpu->r[30] = 0x10140000u;
/* 028C6B18 */ cpu->r[0] = 0x10140000u;
/* 028C6B1C */ cpu->r[30] = cpu->r[30] + 0xFFFF9788u;
/* 028C6B20 */ cpu->r[0] = cpu->r[0] + 0xFFFF9978u;
/* 028C6B24 */ _t5 = cpu->r[1] + 0x0000000Cu;
/* 028C6B24 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
/* 028C6B28 */ _t6 = cpu->r[1] + 0x00000008u;
/* 028C6B28 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028C6B2C */ _t7 = cpu->r[29] + 0x00000014u;
/* 028C6B2C */ cpu->r[6] = rbrew_read32(cpu->mem, _t7);
/* 028C6B30 */ _t8 = cpu->r[6] + 0x00000014u;
/* 028C6B30 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
/* 028C6B34 */ cpu->r[27] = cpu->r[29] + 0x00000010u;
/* 028C6B38 */ cpu->ctr = cpu->r[8];
/* 028C6B3C */ cpu->r[3] = cpu->r[27];
/* 028C6B40 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C6B44 */ _t9 = cpu->r[29] + 0x00000014u;
/* 028C6B44 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
/* 028C6B48 */ _t10 = cpu->r[7] + 0x00000014u;
/* 028C6B48 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
/* 028C6B4C */ cpu->ctr = cpu->r[9];
/* 028C6B50 */ cpu->r[3] = cpu->r[27];
/* 028C6B54 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C6B58 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028C6B58 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
/* 028C6B5C */ _t12 = cpu->r[10] + 0x00000014u;
/* 028C6B5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
/* 028C6B60 */ cpu->ctr = cpu->r[11];
/* 028C6B64 */ _t13 = cpu->r[29] + 0x00000010u;
/* 028C6B64 */ cpu->r[28] = rbrew_read32(cpu->mem, _t13);
/* 028C6B68 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028C6B6C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C6B70 */ _t14 = cpu->r[1] + 0x00000008u;
/* 028C6B70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
/* 028C6B74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[12]);
/* 028C6B78 */ cpu->r[28] = 0x10110000u;
/* 028C6B7C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6B7C */ _t16 = _t15 & 0x00000001u;
/* 028C6B7C */ if (_t16) goto L_028C6B80; else goto L_028C6B90;
L_028C6B80: ; // 0x28c6b80
/* 028C6B80 */ cpu->r[0] = 0x00000000u;
/* 028C6B84 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
/* 028C6B84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C6B88 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6B88 */ _t18 = _t17 & 0x00000001u;
/* 028C6B88 */ if (_t18) goto L_028C6BD8; else goto L_028C6B8C;
L_028C6B8C: ; // 0x28c6b8c
/* 028C6B8C */ goto L_028C6F64;
L_028C6B90: ; // 0x28c6b90
/* 028C6B90 */ _t19 = cpu->r[27] + 0x00000000u;
/* 028C6B90 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
/* 028C6B94 */ cpu->r[0] = 0x00080000u;
/* 028C6B98 */ _t20 = cpu->r[1] + 0x00000008u;
/* 028C6B98 */ cpu->r[7] = rbrew_read32(cpu->mem, _t20);
/* 028C6B9C */ cpu->r[0] = cpu->r[0] | 0x00000001u;
/* 028C6BA0 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
/* 028C6BA4 */ _t21 = cpu->r[28] + 0x00007399u;
/* 028C6BA4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t21);
/* 028C6BA8 */ cpu->ctr = cpu->r[0];
/* 028C6BAC */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
L_028C6BB0: ; // 0x28c6bb0
/* 028C6BB0 */ _t22 = cpu->r[10] + 0x00000001u;
/* 028C6BB0 */ cpu->r[5] = rbrew_read8(cpu->mem, _t22);
/* 028C6BB0 */ cpu->r[10] = _t22;
/* 028C6BB4 */ _t23 = cpu->r[7] + 0x00000001u;
/* 028C6BB4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t23);
/* 028C6BB4 */ cpu->r[7] = _t23;
/* 028C6BB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]);
/* 028C6BBC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6BBC */ _t25 = _t24 & 0x00000001u;
/* 028C6BBC */ if (_t25) goto L_028C6BC0; else goto L_028C6BCC;
L_028C6BC0: ; // 0x28c6bc0
/* 028C6BC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[11]);
/* 028C6BC4 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6BC4 */ _t27 = _t26 & 0x00000001u;
/* 028C6BC4 */ if (_t27) goto L_028C6B80; else goto L_028C6BC8;
L_028C6BC8: ; // 0x28c6bc8
/* 028C6BC8 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028C6BC8 */ _t28 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028C6BC8 */ _t29 = _t28 >> (0x00000002u & 31u);
/* 028C6BC8 */ _t30 = _t29 & 0x00000001u;
/* 028C6BC8 */ if (_t30) goto L_028C6BB0; else goto L_028C6BCC;
L_028C6BCC: ; // 0x28c6bcc
/* 028C6BCC */ cpu->r[0] = 0x00000001u;
/* 028C6BD0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
/* 028C6BD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C6BD4 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6BD4 */ _t32 = _t31 & 0x00000001u;
/* 028C6BD4 */ if (_t32) goto L_028C6BD8; else goto L_028C6F64;
L_028C6BD8: ; // 0x28c6bd8
/* 028C6BD8 */ cpu->r[5] = 0x10140000u;
/* 028C6BDC */ _t33 = cpu->r[1] + 0x00000040u;
/* 028C6BDC */ rbrew_write32(cpu->mem, _t33, cpu->r[30]);
/* 028C6BE0 */ cpu->r[5] = cpu->r[5] + 0xFFFF9924u;
/* 028C6BE4 */ cpu->r[4] = cpu->r[29];
/* 028C6BE8 */ cpu->r[3] = cpu->r[1] + 0x00000044u;
/* 028C6BEC */ _t34 = cpu->r[1] + 0x0000003Cu;
/* 028C6BEC */ rbrew_write32(cpu->mem, _t34, cpu->r[5]);
/* 028C6BF0 */ cpu->r[5] = cpu->r[1] + 0x0000003Cu;
/* 028C6BF4 */ Gambit_fn_028CE83C(cpu);
/* 028C6BF8 */ _t35 = cpu->r[1] + 0x00000044u;
/* 028C6BF8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t35);
/* 028C6BFC */ _t36 = cpu->r[28] + 0x00007399u;
/* 028C6BFC */ cpu->r[28] = rbrew_read8(cpu->mem, _t36);
/* 028C6C00 */ _t37 = cpu->r[6] + 0x00000000u;
/* 028C6C00 */ cpu->r[7] = rbrew_read8(cpu->mem, _t37);
/* 028C6C04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[28]);
/* 028C6C08 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6C08 */ _t39 = _t38 & 0x00000001u;
/* 028C6C08 */ if (_t39) goto L_028C6C38; else goto L_028C6C0C;
L_028C6C0C: ; // 0x28c6c0c
/* 028C6C0C */ cpu->r[5] = 0xFFFFFFFFu;
/* 028C6C10 */ cpu->r[4] = cpu->r[1] + 0x00000044u;
/* 028C6C14 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
/* 028C6C18 */ Gambit_fn_0282C744(cpu);
/* 028C6C1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C6C20 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6C20 */ _t41 = _t40 & 0x00000001u;
/* 028C6C20 */ if (_t41) goto L_028C6C38; else goto L_028C6C24;
L_028C6C24: ; // 0x28c6c24
/* 028C6C24 */ cpu->r[9] = 0x10140000u;
/* 028C6C28 */ _t42 = cpu->r[1] + 0x00000010u;
/* 028C6C28 */ cpu->r[4] = rbrew_read32(cpu->mem, _t42);
/* 028C6C2C */ _t43 = cpu->r[9] + 0xFFFF9918u;
/* 028C6C2C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t43);
/* 028C6C30 */ cpu->r[3] = cpu->r[31];
/* 028C6C34 */ Gambit_fn_028C69F8(cpu);
L_028C6C38: ; // 0x28c6c38
/* 028C6C38 */ cpu->r[8] = 0x10140000u;
/* 028C6C3C */ _t44 = cpu->r[1] + 0x00000050u;
/* 028C6C3C */ rbrew_write32(cpu->mem, _t44, cpu->r[30]);
/* 028C6C40 */ cpu->r[4] = cpu->r[29];
/* 028C6C44 */ cpu->r[8] = cpu->r[8] + 0xFFFF992Cu;
/* 028C6C48 */ cpu->r[3] = cpu->r[1] + 0x00000054u;
/* 028C6C4C */ cpu->r[5] = cpu->r[1] + 0x0000004Cu;
/* 028C6C50 */ _t45 = cpu->r[1] + 0x0000004Cu;
/* 028C6C50 */ rbrew_write32(cpu->mem, _t45, cpu->r[8]);
/* 028C6C54 */ Gambit_fn_028CE83C(cpu);
/* 028C6C58 */ _t46 = cpu->r[1] + 0x00000054u;
/* 028C6C58 */ cpu->r[9] = rbrew_read32(cpu->mem, _t46);
/* 028C6C5C */ _t47 = cpu->r[9] + 0x00000000u;
/* 028C6C5C */ cpu->r[10] = rbrew_read8(cpu->mem, _t47);
/* 028C6C60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[28]);
/* 028C6C64 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6C64 */ _t49 = _t48 & 0x00000001u;
/* 028C6C64 */ if (_t49) goto L_028C6C8C; else goto L_028C6C68;
L_028C6C68: ; // 0x28c6c68
/* 028C6C68 */ cpu->r[5] = 0xFFFFFFFFu;
/* 028C6C6C */ cpu->r[4] = cpu->r[1] + 0x00000054u;
/* 028C6C70 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
/* 028C6C74 */ Gambit_fn_0282C744(cpu);
/* 028C6C78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C6C7C */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6C7C */ _t51 = _t50 & 0x00000001u;
/* 028C6C7C */ if (_t51) goto L_028C6C8C; else goto L_028C6C80;
L_028C6C80: ; // 0x28c6c80
/* 028C6C80 */ _t52 = cpu->r[1] + 0x00000014u;
/* 028C6C80 */ cpu->r[4] = rbrew_read32(cpu->mem, _t52);
/* 028C6C84 */ cpu->r[3] = cpu->r[31];
/* 028C6C88 */ Gambit_fn_028C6A08(cpu);
L_028C6C8C: ; // 0x28c6c8c
/* 028C6C8C */ cpu->r[11] = 0x10140000u;
/* 028C6C90 */ _t53 = cpu->r[1] + 0x00000060u;
/* 028C6C90 */ rbrew_write32(cpu->mem, _t53, cpu->r[30]);
/* 028C6C94 */ cpu->r[4] = cpu->r[29];
/* 028C6C98 */ cpu->r[11] = cpu->r[11] + 0xFFFF9960u;
/* 028C6C9C */ cpu->r[3] = cpu->r[1] + 0x00000064u;
/* 028C6CA0 */ cpu->r[5] = cpu->r[1] + 0x0000005Cu;
/* 028C6CA4 */ _t54 = cpu->r[1] + 0x0000005Cu;
/* 028C6CA4 */ rbrew_write32(cpu->mem, _t54, cpu->r[11]);
/* 028C6CA8 */ Gambit_fn_028CE83C(cpu);
/* 028C6CAC */ _t55 = cpu->r[1] + 0x00000064u;
/* 028C6CAC */ cpu->r[12] = rbrew_read32(cpu->mem, _t55);
/* 028C6CB0 */ _t56 = cpu->r[12] + 0x00000000u;
/* 028C6CB0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t56);
/* 028C6CB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[28]);
/* 028C6CB8 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6CB8 */ _t58 = _t57 & 0x00000001u;
/* 028C6CB8 */ if (_t58) goto L_028C6CDC; else goto L_028C6CBC;
L_028C6CBC: ; // 0x28c6cbc
/* 028C6CBC */ cpu->r[3] = cpu->r[1] + 0x00000018u;
/* 028C6CC0 */ cpu->r[4] = cpu->r[1] + 0x00000064u;
/* 028C6CC4 */ Gambit_fn_0282C750(cpu);
/* 028C6CC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C6CCC */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6CCC */ _t60 = _t59 & 0x00000001u;
/* 028C6CCC */ if (_t60) goto L_028C6CDC; else goto L_028C6CD0;
L_028C6CD0: ; // 0x28c6cd0
/* 028C6CD0 */ _t61 = cpu->r[1] + 0x00000018u;
/* 028C6CD0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t61);
/* 028C6CD4 */ cpu->r[3] = cpu->r[31];
/* 028C6CD8 */ Gambit_fn_028C6A14(cpu);
L_028C6CDC: ; // 0x28c6cdc
/* 028C6CDC */ cpu->r[5] = 0x10140000u;
/* 028C6CE0 */ _t62 = cpu->r[1] + 0x00000070u;
/* 028C6CE0 */ rbrew_write32(cpu->mem, _t62, cpu->r[30]);
/* 028C6CE4 */ cpu->r[5] = cpu->r[5] + 0xFFFF998Cu;
/* 028C6CE8 */ cpu->r[4] = cpu->r[29];
/* 028C6CEC */ cpu->r[3] = cpu->r[1] + 0x00000074u;
/* 028C6CF0 */ _t63 = cpu->r[1] + 0x0000006Cu;
/* 028C6CF0 */ rbrew_write32(cpu->mem, _t63, cpu->r[5]);
/* 028C6CF4 */ cpu->r[5] = cpu->r[1] + 0x0000006Cu;
/* 028C6CF8 */ Gambit_fn_028CE83C(cpu);
/* 028C6CFC */ _t64 = cpu->r[1] + 0x00000074u;
/* 028C6CFC */ cpu->r[6] = rbrew_read32(cpu->mem, _t64);
/* 028C6D00 */ _t65 = cpu->r[6] + 0x00000000u;
/* 028C6D00 */ cpu->r[7] = rbrew_read8(cpu->mem, _t65);
/* 028C6D04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[28]);
/* 028C6D08 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6D08 */ _t67 = _t66 & 0x00000001u;
/* 028C6D08 */ if (_t67) goto L_028C6D2C; else goto L_028C6D0C;
L_028C6D0C: ; // 0x28c6d0c
/* 028C6D0C */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
/* 028C6D10 */ cpu->r[4] = cpu->r[1] + 0x00000074u;
/* 028C6D14 */ Gambit_fn_0282C750(cpu);
/* 028C6D18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C6D1C */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6D1C */ _t69 = _t68 & 0x00000001u;
/* 028C6D1C */ if (_t69) goto L_028C6D2C; else goto L_028C6D20;
L_028C6D20: ; // 0x28c6d20
/* 028C6D20 */ _t70 = cpu->r[1] + 0x0000001Cu;
/* 028C6D20 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t70);
/* 028C6D24 */ cpu->r[3] = cpu->r[31];
/* 028C6D28 */ Gambit_fn_028C6A20(cpu);
L_028C6D2C: ; // 0x28c6d2c
/* 028C6D2C */ cpu->r[8] = 0x10140000u;
/* 028C6D30 */ _t71 = cpu->r[1] + 0x00000080u;
/* 028C6D30 */ rbrew_write32(cpu->mem, _t71, cpu->r[30]);
/* 028C6D34 */ cpu->r[4] = cpu->r[29];
/* 028C6D38 */ cpu->r[8] = cpu->r[8] + 0xFFFF993Cu;
/* 028C6D3C */ cpu->r[3] = cpu->r[1] + 0x00000084u;
/* 028C6D40 */ cpu->r[5] = cpu->r[1] + 0x0000007Cu;
/* 028C6D44 */ _t72 = cpu->r[1] + 0x0000007Cu;
/* 028C6D44 */ rbrew_write32(cpu->mem, _t72, cpu->r[8]);
/* 028C6D48 */ Gambit_fn_028CE83C(cpu);
/* 028C6D4C */ _t73 = cpu->r[1] + 0x00000084u;
/* 028C6D4C */ cpu->r[9] = rbrew_read32(cpu->mem, _t73);
/* 028C6D50 */ _t74 = cpu->r[9] + 0x00000000u;
/* 028C6D50 */ cpu->r[10] = rbrew_read8(cpu->mem, _t74);
/* 028C6D54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[28]);
/* 028C6D58 */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6D58 */ _t76 = _t75 & 0x00000001u;
/* 028C6D58 */ if (_t76) goto L_028C6D80; else goto L_028C6D5C;
L_028C6D5C: ; // 0x28c6d5c
/* 028C6D5C */ cpu->r[5] = 0xFFFFFFFFu;
/* 028C6D60 */ cpu->r[4] = cpu->r[1] + 0x00000084u;
/* 028C6D64 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
/* 028C6D68 */ Gambit_fn_0282C744(cpu);
/* 028C6D6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C6D70 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6D70 */ _t78 = _t77 & 0x00000001u;
/* 028C6D70 */ if (_t78) goto L_028C6D80; else goto L_028C6D74;
L_028C6D74: ; // 0x28c6d74
/* 028C6D74 */ _t79 = cpu->r[1] + 0x00000020u;
/* 028C6D74 */ cpu->r[4] = rbrew_read32(cpu->mem, _t79);
/* 028C6D78 */ cpu->r[3] = cpu->r[31];
/* 028C6D7C */ Gambit_fn_028C6A2C(cpu);
L_028C6D80: ; // 0x28c6d80
/* 028C6D80 */ cpu->r[0] = 0x10140000u;
/* 028C6D84 */ _t80 = cpu->r[1] + 0x00000090u;
/* 028C6D84 */ rbrew_write32(cpu->mem, _t80, cpu->r[30]);
/* 028C6D88 */ cpu->r[4] = cpu->r[29];
/* 028C6D8C */ cpu->r[0] = cpu->r[0] + 0xFFFF999Cu;
/* 028C6D90 */ cpu->r[3] = cpu->r[1] + 0x00000094u;
/* 028C6D94 */ cpu->r[5] = cpu->r[1] + 0x0000008Cu;
/* 028C6D98 */ _t81 = cpu->r[1] + 0x0000008Cu;
/* 028C6D98 */ rbrew_write32(cpu->mem, _t81, cpu->r[0]);
/* 028C6D9C */ Gambit_fn_028CE83C(cpu);
/* 028C6DA0 */ _t82 = cpu->r[1] + 0x00000094u;
/* 028C6DA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t82);
/* 028C6DA4 */ _t83 = cpu->r[12] + 0x00000000u;
/* 028C6DA4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t83);
/* 028C6DA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[28]);
/* 028C6DAC */ _t84 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6DAC */ _t85 = _t84 & 0x00000001u;
/* 028C6DAC */ if (_t85) goto L_028C6DD0; else goto L_028C6DB0;
L_028C6DB0: ; // 0x28c6db0
/* 028C6DB0 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
/* 028C6DB4 */ cpu->r[4] = cpu->r[1] + 0x00000094u;
/* 028C6DB8 */ Gambit_fn_0282C750(cpu);
/* 028C6DBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C6DC0 */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6DC0 */ _t87 = _t86 & 0x00000001u;
/* 028C6DC0 */ if (_t87) goto L_028C6DD0; else goto L_028C6DC4;
L_028C6DC4: ; // 0x28c6dc4
/* 028C6DC4 */ _t88 = cpu->r[1] + 0x00000024u;
/* 028C6DC4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t88);
/* 028C6DC8 */ cpu->r[3] = cpu->r[31];
/* 028C6DCC */ Gambit_fn_028C6A38(cpu);
L_028C6DD0: ; // 0x28c6dd0
/* 028C6DD0 */ cpu->r[0] = 0x10140000u;
/* 028C6DD4 */ _t89 = cpu->r[1] + 0x000000A0u;
/* 028C6DD4 */ rbrew_write32(cpu->mem, _t89, cpu->r[30]);
/* 028C6DD8 */ cpu->r[4] = cpu->r[29];
/* 028C6DDC */ cpu->r[0] = cpu->r[0] + 0xFFFF9934u;
/* 028C6DE0 */ cpu->r[3] = cpu->r[1] + 0x000000A4u;
/* 028C6DE4 */ cpu->r[5] = cpu->r[1] + 0x0000009Cu;
/* 028C6DE8 */ _t90 = cpu->r[1] + 0x0000009Cu;
/* 028C6DE8 */ rbrew_write32(cpu->mem, _t90, cpu->r[0]);
/* 028C6DEC */ Gambit_fn_028CE83C(cpu);
/* 028C6DF0 */ _t91 = cpu->r[1] + 0x000000A4u;
/* 028C6DF0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t91);
/* 028C6DF4 */ _t92 = cpu->r[7] + 0x00000000u;
/* 028C6DF4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t92);
/* 028C6DF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[28]);
/* 028C6DFC */ _t93 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6DFC */ _t94 = _t93 & 0x00000001u;
/* 028C6DFC */ if (_t94) goto L_028C6E24; else goto L_028C6E00;
L_028C6E00: ; // 0x28c6e00
/* 028C6E00 */ cpu->r[5] = 0xFFFFFFFFu;
/* 028C6E04 */ cpu->r[4] = cpu->r[1] + 0x000000A4u;
/* 028C6E08 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
/* 028C6E0C */ Gambit_fn_0282C744(cpu);
/* 028C6E10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C6E14 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6E14 */ _t96 = _t95 & 0x00000001u;
/* 028C6E14 */ if (_t96) goto L_028C6E24; else goto L_028C6E18;
L_028C6E18: ; // 0x28c6e18
/* 028C6E18 */ _t97 = cpu->r[1] + 0x00000028u;
/* 028C6E18 */ cpu->r[4] = rbrew_read32(cpu->mem, _t97);
/* 028C6E1C */ cpu->r[3] = cpu->r[31];
/* 028C6E20 */ Gambit_fn_028C6A44(cpu);
L_028C6E24: ; // 0x28c6e24
/* 028C6E24 */ cpu->r[10] = 0x10140000u;
/* 028C6E28 */ _t98 = cpu->r[1] + 0x000000B0u;
/* 028C6E28 */ rbrew_write32(cpu->mem, _t98, cpu->r[30]);
/* 028C6E2C */ cpu->r[4] = cpu->r[29];
/* 028C6E30 */ cpu->r[10] = cpu->r[10] + 0xFFFF9948u;
/* 028C6E34 */ cpu->r[3] = cpu->r[1] + 0x000000B4u;
/* 028C6E38 */ cpu->r[5] = cpu->r[1] + 0x000000ACu;
/* 028C6E3C */ _t99 = cpu->r[1] + 0x000000ACu;
/* 028C6E3C */ rbrew_write32(cpu->mem, _t99, cpu->r[10]);
/* 028C6E40 */ Gambit_fn_028CE83C(cpu);
/* 028C6E44 */ _t100 = cpu->r[1] + 0x000000B4u;
/* 028C6E44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t100);
/* 028C6E48 */ _t101 = cpu->r[12] + 0x00000000u;
/* 028C6E48 */ cpu->r[8] = rbrew_read8(cpu->mem, _t101);
/* 028C6E4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[28]);
/* 028C6E50 */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6E50 */ _t103 = _t102 & 0x00000001u;
/* 028C6E50 */ if (_t103) goto L_028C6E74; else goto L_028C6E54;
L_028C6E54: ; // 0x28c6e54
/* 028C6E54 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
/* 028C6E58 */ cpu->r[4] = cpu->r[1] + 0x000000B4u;
/* 028C6E5C */ Gambit_fn_0282C750(cpu);
/* 028C6E60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C6E64 */ _t104 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6E64 */ _t105 = _t104 & 0x00000001u;
/* 028C6E64 */ if (_t105) goto L_028C6E74; else goto L_028C6E68;
L_028C6E68: ; // 0x28c6e68
/* 028C6E68 */ _t106 = cpu->r[1] + 0x0000002Cu;
/* 028C6E68 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t106);
/* 028C6E6C */ cpu->r[3] = cpu->r[31];
/* 028C6E70 */ Gambit_fn_028C6A50(cpu);
L_028C6E74: ; // 0x28c6e74
/* 028C6E74 */ cpu->r[0] = 0x10140000u;
/* 028C6E78 */ _t107 = cpu->r[1] + 0x000000C0u;
/* 028C6E78 */ rbrew_write32(cpu->mem, _t107, cpu->r[30]);
/* 028C6E7C */ cpu->r[4] = cpu->r[29];
/* 028C6E80 */ cpu->r[0] = cpu->r[0] + 0xFFFF996Cu;
/* 028C6E84 */ cpu->r[3] = cpu->r[1] + 0x000000C4u;
/* 028C6E88 */ cpu->r[5] = cpu->r[1] + 0x000000BCu;
/* 028C6E8C */ _t108 = cpu->r[1] + 0x000000BCu;
/* 028C6E8C */ rbrew_write32(cpu->mem, _t108, cpu->r[0]);
/* 028C6E90 */ Gambit_fn_028CE83C(cpu);
/* 028C6E94 */ _t109 = cpu->r[1] + 0x000000C4u;
/* 028C6E94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t109);
/* 028C6E98 */ _t110 = cpu->r[12] + 0x00000000u;
/* 028C6E98 */ cpu->r[0] = rbrew_read8(cpu->mem, _t110);
/* 028C6E9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[28]);
/* 028C6EA0 */ _t111 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6EA0 */ _t112 = _t111 & 0x00000001u;
/* 028C6EA0 */ if (_t112) goto L_028C6EC4; else goto L_028C6EA4;
L_028C6EA4: ; // 0x28c6ea4
/* 028C6EA4 */ cpu->r[3] = cpu->r[1] + 0x00000030u;
/* 028C6EA8 */ cpu->r[4] = cpu->r[1] + 0x000000C4u;
/* 028C6EAC */ Gambit_fn_0282C750(cpu);
/* 028C6EB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C6EB4 */ _t113 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6EB4 */ _t114 = _t113 & 0x00000001u;
/* 028C6EB4 */ if (_t114) goto L_028C6EC4; else goto L_028C6EB8;
L_028C6EB8: ; // 0x28c6eb8
/* 028C6EB8 */ _t115 = cpu->r[1] + 0x00000030u;
/* 028C6EB8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t115);
/* 028C6EBC */ cpu->r[3] = cpu->r[31];
/* 028C6EC0 */ Gambit_fn_028C6A5C(cpu);
L_028C6EC4: ; // 0x28c6ec4
/* 028C6EC4 */ cpu->r[7] = 0x10140000u;
/* 028C6EC8 */ _t116 = cpu->r[1] + 0x000000D0u;
/* 028C6EC8 */ rbrew_write32(cpu->mem, _t116, cpu->r[30]);
/* 028C6ECC */ cpu->r[4] = cpu->r[29];
/* 028C6ED0 */ cpu->r[7] = cpu->r[7] + 0xFFFF991Cu;
/* 028C6ED4 */ cpu->r[3] = cpu->r[1] + 0x000000D4u;
/* 028C6ED8 */ cpu->r[5] = cpu->r[1] + 0x000000CCu;
/* 028C6EDC */ _t117 = cpu->r[1] + 0x000000CCu;
/* 028C6EDC */ rbrew_write32(cpu->mem, _t117, cpu->r[7]);
/* 028C6EE0 */ Gambit_fn_028CE83C(cpu);
/* 028C6EE4 */ _t118 = cpu->r[1] + 0x000000D4u;
/* 028C6EE4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t118);
/* 028C6EE8 */ _t119 = cpu->r[8] + 0x00000000u;
/* 028C6EE8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t119);
/* 028C6EEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[28]);
/* 028C6EF0 */ _t120 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6EF0 */ _t121 = _t120 & 0x00000001u;
/* 028C6EF0 */ if (_t121) goto L_028C6F14; else goto L_028C6EF4;
L_028C6EF4: ; // 0x28c6ef4
/* 028C6EF4 */ cpu->r[3] = cpu->r[1] + 0x00000034u;
/* 028C6EF8 */ cpu->r[4] = cpu->r[1] + 0x000000D4u;
/* 028C6EFC */ Gambit_fn_0282C750(cpu);
/* 028C6F00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C6F04 */ _t122 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6F04 */ _t123 = _t122 & 0x00000001u;
/* 028C6F04 */ if (_t123) goto L_028C6F14; else goto L_028C6F08;
L_028C6F08: ; // 0x28c6f08
/* 028C6F08 */ _t124 = cpu->r[1] + 0x00000034u;
/* 028C6F08 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t124);
/* 028C6F0C */ cpu->r[3] = cpu->r[31];
/* 028C6F10 */ Gambit_fn_028C6A68(cpu);
L_028C6F14: ; // 0x28c6f14
/* 028C6F14 */ cpu->r[10] = 0x10140000u;
/* 028C6F18 */ _t125 = cpu->r[1] + 0x000000E0u;
/* 028C6F18 */ rbrew_write32(cpu->mem, _t125, cpu->r[30]);
/* 028C6F1C */ cpu->r[4] = cpu->r[29];
/* 028C6F20 */ cpu->r[10] = cpu->r[10] + 0xFFFF9954u;
/* 028C6F24 */ cpu->r[3] = cpu->r[1] + 0x000000E4u;
/* 028C6F28 */ cpu->r[5] = cpu->r[1] + 0x000000DCu;
/* 028C6F2C */ _t126 = cpu->r[1] + 0x000000DCu;
/* 028C6F2C */ rbrew_write32(cpu->mem, _t126, cpu->r[10]);
/* 028C6F30 */ Gambit_fn_028CE83C(cpu);
/* 028C6F34 */ _t127 = cpu->r[1] + 0x000000E4u;
/* 028C6F34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t127);
/* 028C6F38 */ _t128 = cpu->r[12] + 0x00000000u;
/* 028C6F38 */ cpu->r[0] = rbrew_read8(cpu->mem, _t128);
/* 028C6F3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[28]);
/* 028C6F40 */ _t129 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6F40 */ _t130 = _t129 & 0x00000001u;
/* 028C6F40 */ if (_t130) goto L_028C6F64; else goto L_028C6F44;
L_028C6F44: ; // 0x28c6f44
/* 028C6F44 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
/* 028C6F48 */ cpu->r[4] = cpu->r[1] + 0x000000E4u;
/* 028C6F4C */ Gambit_fn_0282C750(cpu);
/* 028C6F50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C6F54 */ _t131 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6F54 */ _t132 = _t131 & 0x00000001u;
/* 028C6F54 */ if (_t132) goto L_028C6F64; else goto L_028C6F58;
L_028C6F58: ; // 0x28c6f58
/* 028C6F58 */ _t133 = cpu->r[1] + 0x00000038u;
/* 028C6F58 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t133);
/* 028C6F5C */ cpu->r[3] = cpu->r[31];
/* 028C6F60 */ Gambit_fn_028C6A74(cpu);
L_028C6F64: ; // 0x28c6f64
/* 028C6F64 */ /* nop */
/* 028C6F68 */ _t134 = cpu->r[1] + 0x00000104u;
/* 028C6F68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t134);
/* 028C6F6C */ cpu->lr = cpu->r[0];
/* 028C6F70 */ cpu->r[1] = cpu->r[1] + 0x00000100u;
/* 028C6F74 */ return;
}
// fn_028C6F78 @ 0x28c6f78
void Gambit_fn_028C6F78(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_028C6F78: ; // 0x28c6f78
/* 028C6F78 */ cpu->r[0] = cpu->lr;
/* 028C6F7C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C6F7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C6F7C */ cpu->r[1] = _t0;
/* 028C6F80 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C6F80 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C6F84 */ cpu->r[31] = cpu->r[3];
/* 028C6F84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C6F88 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C6F88 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C6F8C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6F8C */ _t4 = _t3 & 0x00000001u;
/* 028C6F8C */ if (_t4) goto L_028C6F90; else goto L_028C6FA0;
L_028C6F90: ; // 0x28c6f90
/* 028C6F90 */ cpu->r[3] = 0x00000124u;
/* 028C6F94 */ Gambit_fn_02801A78(cpu);
/* 028C6F98 */ cpu->r[31] = cpu->r[3];
/* 028C6F98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C6F9C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6F9C */ _t6 = _t5 & 0x00000001u;
/* 028C6F9C */ if (_t6) goto L_028C705C; else goto L_028C6FA0;
L_028C6FA0: ; // 0x28c6fa0
/* 028C6FA0 */ cpu->r[3] = cpu->r[31];
/* 028C6FA4 */ Gambit_fn_028C2D58(cpu);
/* 028C6FA8 */ cpu->r[12] = 0x10140000u;
/* 028C6FAC */ cpu->r[0] = 0x00000000u;
/* 028C6FB0 */ _t7 = cpu->r[12] + 0xFFFF9918u;
/* 028C6FB0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
/* 028C6FB4 */ _t8 = cpu->r[31] + 0x000000D0u;
/* 028C6FB4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028C6FB8 */ /* nop */
/* 028C6FBC */ _t9 = cpu->r[31] + 0x00000088u;
/* 028C6FBC */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
/* 028C6FC0 */ /* nop */
/* 028C6FC4 */ _t10 = cpu->r[31] + 0x000000A8u;
/* 028C6FC4 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
/* 028C6FC8 */ /* nop */
/* 028C6FCC */ _t11 = cpu->r[31] + 0x000000D4u;
/* 028C6FCC */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
/* 028C6FD0 */ /* nop */
/* 028C6FD4 */ _t12 = cpu->r[31] + 0x00000070u;
/* 028C6FD4 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
/* 028C6FD8 */ /* nop */
/* 028C6FDC */ _t13 = cpu->r[31] + 0x0000010Cu;
/* 028C6FDC */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
/* 028C6FE0 */ cpu->r[12] = 0x10140000u;
/* 028C6FE4 */ _t14 = cpu->r[31] + 0x00000078u;
/* 028C6FE4 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
/* 028C6FE8 */ cpu->r[12] = cpu->r[12] + 0xFFFF9A60u;
/* 028C6FEC */ /* nop */
/* 028C6FF0 */ _t15 = cpu->r[31] + 0x00000000u;
/* 028C6FF0 */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
/* 028C6FF4 */ _t16 = cpu->r[31] + 0x00000120u;
/* 028C6FF4 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
/* 028C6FF8 */ _t17 = cpu->r[31] + 0x000000B4u;
/* 028C6FF8 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
/* 028C6FFC */ _t18 = cpu->r[31] + 0x000000E0u;
/* 028C6FFC */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
/* 028C7000 */ _t19 = cpu->r[31] + 0x000000F8u;
/* 028C7000 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
/* 028C7004 */ _t20 = cpu->r[31] + 0x00000084u;
/* 028C7004 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
/* 028C7008 */ _t21 = cpu->r[31] + 0x0000007Cu;
/* 028C7008 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
/* 028C700C */ _t22 = cpu->r[31] + 0x00000110u;
/* 028C700C */ rbrew_write_f32(cpu->mem, _t22, cpu->f[0]);
/* 028C7010 */ _t23 = cpu->r[31] + 0x000000F4u;
/* 028C7010 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
/* 028C7014 */ _t24 = cpu->r[31] + 0x000000A4u;
/* 028C7014 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
/* 028C7018 */ _t25 = cpu->r[31] + 0x0000009Cu;
/* 028C7018 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
/* 028C701C */ _t26 = cpu->r[31] + 0x00000114u;
/* 028C701C */ rbrew_write_f32(cpu->mem, _t26, cpu->f[0]);
/* 028C7020 */ _t27 = cpu->r[31] + 0x000000B0u;
/* 028C7020 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
/* 028C7024 */ _t28 = cpu->r[31] + 0x000000CCu;
/* 028C7024 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
/* 028C7028 */ _t29 = cpu->r[31] + 0x00000074u;
/* 028C7028 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
/* 028C702C */ _t30 = cpu->r[31] + 0x00000118u;
/* 028C702C */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
/* 028C7030 */ _t31 = cpu->r[31] + 0x000000ACu;
/* 028C7030 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
/* 028C7034 */ _t32 = cpu->r[31] + 0x000000B8u;
/* 028C7034 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
/* 028C7038 */ _t33 = cpu->r[31] + 0x00000094u;
/* 028C7038 */ rbrew_write32(cpu->mem, _t33, cpu->r[0]);
/* 028C703C */ _t34 = cpu->r[31] + 0x0000011Cu;
/* 028C703C */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
/* 028C7040 */ _t35 = cpu->r[31] + 0x00000098u;
/* 028C7040 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
/* 028C7044 */ _t36 = cpu->r[31] + 0x000000A0u;
/* 028C7044 */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
/* 028C7048 */ /* nop */
/* 028C704C */ /* nop */
/* 028C7050 */ /* nop */
/* 028C7054 */ _t37 = cpu->r[31] + 0x00000080u;
/* 028C7054 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
/* 028C7058 */ _t38 = cpu->r[31] + 0x0000006Cu;
/* 028C7058 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[0]);
L_028C705C: ; // 0x28c705c
/* 028C705C */ _t39 = cpu->r[1] + 0x00000014u;
/* 028C705C */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
/* 028C7060 */ cpu->r[3] = cpu->r[31];
/* 028C7064 */ _t40 = cpu->r[1] + 0x0000000Cu;
/* 028C7064 */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
/* 028C7068 */ cpu->lr = cpu->r[0];
/* 028C706C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C7070 */ return;
}
// fn_028C6F7C @ 0x28c6f7c
void Gambit_fn_028C6F7C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_028C6F7C: ; // 0x28c6f7c
/* 028C6F7C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C6F7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C6F7C */ cpu->r[1] = _t0;
/* 028C6F80 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C6F80 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C6F84 */ cpu->r[31] = cpu->r[3];
/* 028C6F84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C6F88 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C6F88 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C6F8C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6F8C */ _t4 = _t3 & 0x00000001u;
/* 028C6F8C */ if (_t4) goto L_028C6F90; else goto L_028C6FA0;
L_028C6F90: ; // 0x28c6f90
/* 028C6F90 */ cpu->r[3] = 0x00000124u;
/* 028C6F94 */ Gambit_fn_02801A78(cpu);
/* 028C6F98 */ cpu->r[31] = cpu->r[3];
/* 028C6F98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C6F9C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C6F9C */ _t6 = _t5 & 0x00000001u;
/* 028C6F9C */ if (_t6) goto L_028C705C; else goto L_028C6FA0;
L_028C6FA0: ; // 0x28c6fa0
/* 028C6FA0 */ cpu->r[3] = cpu->r[31];
/* 028C6FA4 */ Gambit_fn_028C2D58(cpu);
/* 028C6FA8 */ cpu->r[12] = 0x10140000u;
/* 028C6FAC */ cpu->r[0] = 0x00000000u;
/* 028C6FB0 */ _t7 = cpu->r[12] + 0xFFFF9918u;
/* 028C6FB0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
/* 028C6FB4 */ _t8 = cpu->r[31] + 0x000000D0u;
/* 028C6FB4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028C6FB8 */ /* nop */
/* 028C6FBC */ _t9 = cpu->r[31] + 0x00000088u;
/* 028C6FBC */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
/* 028C6FC0 */ /* nop */
/* 028C6FC4 */ _t10 = cpu->r[31] + 0x000000A8u;
/* 028C6FC4 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
/* 028C6FC8 */ /* nop */
/* 028C6FCC */ _t11 = cpu->r[31] + 0x000000D4u;
/* 028C6FCC */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
/* 028C6FD0 */ /* nop */
/* 028C6FD4 */ _t12 = cpu->r[31] + 0x00000070u;
/* 028C6FD4 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
/* 028C6FD8 */ /* nop */
/* 028C6FDC */ _t13 = cpu->r[31] + 0x0000010Cu;
/* 028C6FDC */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
/* 028C6FE0 */ cpu->r[12] = 0x10140000u;
/* 028C6FE4 */ _t14 = cpu->r[31] + 0x00000078u;
/* 028C6FE4 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
/* 028C6FE8 */ cpu->r[12] = cpu->r[12] + 0xFFFF9A60u;
/* 028C6FEC */ /* nop */
/* 028C6FF0 */ _t15 = cpu->r[31] + 0x00000000u;
/* 028C6FF0 */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
/* 028C6FF4 */ _t16 = cpu->r[31] + 0x00000120u;
/* 028C6FF4 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
/* 028C6FF8 */ _t17 = cpu->r[31] + 0x000000B4u;
/* 028C6FF8 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
/* 028C6FFC */ _t18 = cpu->r[31] + 0x000000E0u;
/* 028C6FFC */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
/* 028C7000 */ _t19 = cpu->r[31] + 0x000000F8u;
/* 028C7000 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
/* 028C7004 */ _t20 = cpu->r[31] + 0x00000084u;
/* 028C7004 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
/* 028C7008 */ _t21 = cpu->r[31] + 0x0000007Cu;
/* 028C7008 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
/* 028C700C */ _t22 = cpu->r[31] + 0x00000110u;
/* 028C700C */ rbrew_write_f32(cpu->mem, _t22, cpu->f[0]);
/* 028C7010 */ _t23 = cpu->r[31] + 0x000000F4u;
/* 028C7010 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
/* 028C7014 */ _t24 = cpu->r[31] + 0x000000A4u;
/* 028C7014 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
/* 028C7018 */ _t25 = cpu->r[31] + 0x0000009Cu;
/* 028C7018 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
/* 028C701C */ _t26 = cpu->r[31] + 0x00000114u;
/* 028C701C */ rbrew_write_f32(cpu->mem, _t26, cpu->f[0]);
/* 028C7020 */ _t27 = cpu->r[31] + 0x000000B0u;
/* 028C7020 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
/* 028C7024 */ _t28 = cpu->r[31] + 0x000000CCu;
/* 028C7024 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
/* 028C7028 */ _t29 = cpu->r[31] + 0x00000074u;
/* 028C7028 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
/* 028C702C */ _t30 = cpu->r[31] + 0x00000118u;
/* 028C702C */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
/* 028C7030 */ _t31 = cpu->r[31] + 0x000000ACu;
/* 028C7030 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
/* 028C7034 */ _t32 = cpu->r[31] + 0x000000B8u;
/* 028C7034 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
/* 028C7038 */ _t33 = cpu->r[31] + 0x00000094u;
/* 028C7038 */ rbrew_write32(cpu->mem, _t33, cpu->r[0]);
/* 028C703C */ _t34 = cpu->r[31] + 0x0000011Cu;
/* 028C703C */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
/* 028C7040 */ _t35 = cpu->r[31] + 0x00000098u;
/* 028C7040 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
/* 028C7044 */ _t36 = cpu->r[31] + 0x000000A0u;
/* 028C7044 */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
/* 028C7048 */ /* nop */
/* 028C704C */ /* nop */
/* 028C7050 */ /* nop */
/* 028C7054 */ _t37 = cpu->r[31] + 0x00000080u;
/* 028C7054 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
/* 028C7058 */ _t38 = cpu->r[31] + 0x0000006Cu;
/* 028C7058 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[0]);
L_028C705C: ; // 0x28c705c
/* 028C705C */ _t39 = cpu->r[1] + 0x00000014u;
/* 028C705C */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
/* 028C7060 */ cpu->r[3] = cpu->r[31];
/* 028C7064 */ _t40 = cpu->r[1] + 0x0000000Cu;
/* 028C7064 */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
/* 028C7068 */ cpu->lr = cpu->r[0];
/* 028C706C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C7070 */ return;
}
// fn_028C7074 @ 0x28c7074
void Gambit_fn_028C7074(CPUState* cpu) {
uint32_t _t0, _t1;
L_028C7074: ; // 0x28c7074
/* 028C7074 */ cpu->r[12] = 0x10140000u;
/* 028C7078 */ _t0 = cpu->r[12] + 0xFFFF9910u;
/* 028C7078 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0);
/* 028C707C */ cpu->r[12] = 0x10140000u;
/* 028C7080 */ cpu->f[0] = cpu->f[1] / cpu->f[0];
/* 028C7084 */ _t1 = cpu->r[12] + 0xFFFF99E0u;
/* 028C7084 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t1);
/* 028C7088 */ cpu->f[1] = cpu->f[13] - cpu->f[0];
/* 028C708C */ return;
}
// fn_028C7090 @ 0x28c7090
void Gambit_fn_028C7090(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75;
L_028C7090: ; // 0x28c7090
/* 028C7090 */ cpu->r[0] = cpu->lr;
/* 028C7094 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C7094 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C7094 */ cpu->r[1] = _t0;
/* 028C7098 */ _t1 = cpu->r[1] + 0x00000014u;
/* 028C7098 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C709C */ cpu->r[12] = 0x101D0000u;
/* 028C70A0 */ _t2 = cpu->r[1] + 0x0000001Cu;
/* 028C70A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C70A4 */ _t3 = cpu->r[12] + 0xFFFF9A8Cu;
/* 028C70A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
/* 028C70A8 */ _t4 = cpu->r[4] + 0x00000004u;
/* 028C70A8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t4);
/* 028C70AC */ _t5 = cpu->r[12] + 0x0000001Cu;
/* 028C70AC */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t5);
/* 028C70B0 */ cpu->r[5] = 0x10140000u;
/* 028C70B4 */ cpu->f[0] = cpu->f[8] * cpu->f[10];
/* 028C70B8 */ _t6 = cpu->r[5] + 0xFFFF99E4u;
/* 028C70B8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t6);
/* 028C70BC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[12]);
/* 028C70C0 */ cpu->r[31] = cpu->r[3];
/* 028C70C4 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C70C4 */ _t8 = _t7 & 0x00000001u;
/* 028C70C4 */ if (_t8) goto L_028C70C8; else goto L_028C70F0;
L_028C70C8: ; // 0x28c70c8
/* 028C70C8 */ cpu->r[10] = 0x10140000u;
/* 028C70CC */ cpu->f[9] = (uint32_t)(int32_t)cpu->f[0];
/* 028C70D0 */ _t9 = cpu->r[10] + 0xFFFF99E8u;
/* 028C70D0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t9);
/* 028C70D4 */ cpu->r[12] = cpu->r[1] + 0x00000008u;
/* 028C70D8 */ /* nop */
/* 028C70DC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[11]);
/* 028C70E0 */ _t10 = cpu->r[1] + 0x00000008u;
/* 028C70E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
/* 028C70E4 */ _t11 = cpu->r[31] + 0x0000007Cu;
/* 028C70E4 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
/* 028C70E8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C70E8 */ _t13 = _t12 & 0x00000001u;
/* 028C70E8 */ if (_t13) goto L_028C70EC; else goto L_028C7134;
L_028C70EC: ; // 0x28c70ec
/* 028C70EC */ goto L_028C711C;
L_028C70F0: ; // 0x28c70f0
/* 028C70F0 */ cpu->f[11] = cpu->f[0] - cpu->f[12];
/* 028C70F4 */ cpu->r[10] = 0x10140000u;
/* 028C70F8 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[11];
/* 028C70FC */ _t14 = cpu->r[10] + 0xFFFF99E8u;
/* 028C70FC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t14);
/* 028C7100 */ cpu->r[11] = cpu->r[1] + 0x00000008u;
/* 028C7104 */ /* nop */
/* 028C7108 */ _t15 = cpu->r[1] + 0x00000008u;
/* 028C7108 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
/* 028C710C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[11]);
/* 028C7110 */ cpu->r[11] = cpu->r[11] + 0x80000000u;
/* 028C7114 */ _t16 = cpu->r[31] + 0x0000007Cu;
/* 028C7114 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
/* 028C7118 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C7118 */ _t18 = _t17 & 0x00000001u;
/* 028C7118 */ if (_t18) goto L_028C711C; else goto L_028C7134;
L_028C711C: ; // 0x28c711c
/* 028C711C */ _t19 = cpu->r[4] + 0x00000010u;
/* 028C711C */ cpu->r[7] = rbrew_read32(cpu->mem, _t19);
/* 028C7120 */ cpu->r[6] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C7124 */ cpu->r[8] = cpu->r[6] + 0x10140000u;
/* 028C7128 */ _t20 = cpu->r[8] + 0xFFFF97F8u;
/* 028C7128 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
/* 028C712C */ _t21 = cpu->r[31] + 0x00000084u;
/* 028C712C */ rbrew_write32(cpu->mem, _t21, cpu->r[11]);
/* 028C7130 */ goto L_028C7158;
L_028C7134: ; // 0x28c7134
/* 028C7134 */ cpu->r[10] = 0x10140000u;
/* 028C7138 */ _t22 = cpu->r[10] + 0xFFFF99ECu;
/* 028C7138 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t22);
/* 028C713C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[13]);
/* 028C7140 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C7140 */ _t24 = _t23 & 0x00000001u;
/* 028C7140 */ if (_t24) goto L_028C7144; else goto L_028C7158;
L_028C7144: ; // 0x28c7144
/* 028C7144 */ _t25 = cpu->r[4] + 0x00000010u;
/* 028C7144 */ cpu->r[5] = rbrew_read32(cpu->mem, _t25);
/* 028C7148 */ cpu->r[12] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C714C */ cpu->r[7] = cpu->r[12] + 0x10140000u;
/* 028C7150 */ _t26 = cpu->r[7] + 0xFFFF9818u;
/* 028C7150 */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
/* 028C7154 */ _t27 = cpu->r[31] + 0x00000084u;
/* 028C7154 */ rbrew_write32(cpu->mem, _t27, cpu->r[11]);
L_028C7158: ; // 0x28c7158
/* 028C7158 */ _t28 = cpu->r[4] + 0x00000010u;
/* 028C7158 */ cpu->r[8] = rbrew_read32(cpu->mem, _t28);
/* 028C715C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000003u);
/* 028C7160 */ _t29 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C7160 */ _t30 = _t29 & 0x00000001u;
/* 028C7160 */ if (_t30) goto L_028C7184; else goto L_028C7164;
L_028C7164: ; // 0x28c7164
/* 028C7164 */ cpu->r[9] = 0x10140000u;
/* 028C7168 */ _t31 = cpu->r[9] + 0xFFFF99F0u;
/* 028C7168 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31);
/* 028C716C */ /* nop */
/* 028C7170 */ _t32 = cpu->r[4] + 0x00000008u;
/* 028C7170 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t32);
/* 028C7174 */ cpu->f[9] = cpu->f[8] * cpu->f[0];
/* 028C7178 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[12]);
/* 028C717C */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C717C */ _t34 = _t33 & 0x00000001u;
/* 028C717C */ if (_t34) goto L_028C7180; else goto L_028C71CC;
L_028C7180: ; // 0x28c7180
/* 028C7180 */ goto L_028C71A0;
L_028C7184: ; // 0x28c7184
/* 028C7184 */ cpu->r[6] = 0x10140000u;
/* 028C7188 */ _t35 = cpu->r[6] + 0xFFFF99F4u;
/* 028C7188 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t35);
/* 028C718C */ /* nop */
/* 028C7190 */ _t36 = cpu->r[4] + 0x00000008u;
/* 028C7190 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t36);
/* 028C7194 */ cpu->f[9] = cpu->f[8] * cpu->f[0];
/* 028C7198 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[12]);
/* 028C719C */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C719C */ _t38 = _t37 & 0x00000001u;
/* 028C719C */ if (_t38) goto L_028C71A0; else goto L_028C71CC;
L_028C71A0: ; // 0x28c71a0
/* 028C71A0 */ cpu->f[9] = (uint32_t)(int32_t)cpu->f[9];
/* 028C71A4 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
/* 028C71A8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[11]);
/* 028C71AC */ cpu->r[7] = 0x10140000u;
/* 028C71B0 */ /* nop */
/* 028C71B4 */ _t39 = cpu->r[1] + 0x00000008u;
/* 028C71B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
/* 028C71B8 */ cpu->r[7] = cpu->r[7] + 0xFFFF9898u;
/* 028C71BC */ _t40 = cpu->r[31] + 0x000000A0u;
/* 028C71BC */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
/* 028C71C0 */ _t41 = cpu->r[4] + 0x00000014u;
/* 028C71C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
/* 028C71C4 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C71C4 */ _t43 = _t42 & 0x00000001u;
/* 028C71C4 */ if (_t43) goto L_028C71C8; else goto L_028C7204;
L_028C71C8: ; // 0x28c71c8
/* 028C71C8 */ goto L_028C71FC;
L_028C71CC: ; // 0x28c71cc
/* 028C71CC */ cpu->f[10] = cpu->f[9] - cpu->f[12];
/* 028C71D0 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[10];
/* 028C71D4 */ cpu->r[10] = cpu->r[1] + 0x00000008u;
/* 028C71D8 */ /* nop */
/* 028C71DC */ _t44 = cpu->r[1] + 0x00000008u;
/* 028C71DC */ cpu->r[6] = rbrew_read32(cpu->mem, _t44);
/* 028C71E0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[11]);
/* 028C71E4 */ cpu->r[7] = 0x10140000u;
/* 028C71E8 */ cpu->r[0] = cpu->r[6] + 0x80000000u;
/* 028C71EC */ cpu->r[7] = cpu->r[7] + 0xFFFF9898u;
/* 028C71F0 */ _t45 = cpu->r[31] + 0x000000A0u;
/* 028C71F0 */ rbrew_write32(cpu->mem, _t45, cpu->r[0]);
/* 028C71F4 */ _t46 = cpu->r[4] + 0x00000014u;
/* 028C71F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
/* 028C71F8 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C71F8 */ _t48 = _t47 & 0x00000001u;
/* 028C71F8 */ if (_t48) goto L_028C71FC; else goto L_028C7204;
L_028C71FC: ; // 0x28c71fc
/* 028C71FC */ cpu->r[7] = 0x10140000u;
/* 028C7200 */ cpu->r[7] = cpu->r[7] + 0xFFFF9838u;
L_028C7204: ; // 0x28c7204
/* 028C7204 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000000u, 0x0000001Bu);
/* 028C7208 */ cpu->r[8] = 0x00000002u;
/* 028C720C */ cpu->r[7] = cpu->r[7] + cpu->r[9];
/* 028C7210 */ cpu->r[6] = 0x00000000u;
/* 028C7214 */ cpu->r[5] = cpu->r[7] + 0xFFFFFFFCu;
/* 028C7218 */ _t49 = cpu->r[31] + 0x0000011Cu;
/* 028C7218 */ rbrew_write32(cpu->mem, _t49, cpu->r[7]);
L_028C721C: ; // 0x28c721c
/* 028C721C */ cpu->r[9] = 0x10140000u;
/* 028C7220 */ _t50 = cpu->r[5] + 0x00000004u;
/* 028C7220 */ cpu->r[10] = rbrew_read32(cpu->mem, _t50);
/* 028C7220 */ cpu->r[5] = _t50;
/* 028C7224 */ cpu->r[0] = 0x43300000u;
/* 028C7228 */ _t51 = cpu->r[9] + 0xFFFF99F8u;
/* 028C7228 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t51);
/* 028C722C */ _t52 = cpu->r[1] + 0x00000008u;
/* 028C722C */ rbrew_write32(cpu->mem, _t52, cpu->r[0]);
/* 028C7230 */ _t53 = cpu->r[1] + 0x0000000Cu;
/* 028C7230 */ rbrew_write32(cpu->mem, _t53, cpu->r[10]);
/* 028C7234 */ _t54 = cpu->r[1] + 0x00000008u;
/* 028C7234 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t54);
/* 028C7238 */ cpu->f[11] = cpu->f[9] - cpu->f[10];
/* 028C723C */ _t55 = cpu->r[4] + 0x0000000Cu;
/* 028C723C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t55);
/* 028C7240 */ cpu->r[3] = cpu->r[31];
/* 028C7244 */ cpu->f[11] = (double)(float)cpu->f[11];
/* 028C7248 */ Gambit_fn_028C7074(cpu);
/* 028C724C */ cpu->f[0] = cpu->f[11] * cpu->f[1];
/* 028C7250 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[12]);
/* 028C7254 */ _t56 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C7254 */ _t57 = _t56 & 0x00000001u;
/* 028C7254 */ if (_t57) goto L_028C7258; else goto L_028C7280;
L_028C7258: ; // 0x28c7258
/* 028C7258 */ cpu->f[10] = (uint32_t)(int32_t)cpu->f[0];
/* 028C725C */ cpu->r[0] = cpu->r[1] + 0x00000008u;
/* 028C7260 */ /* nop */
/* 028C7264 */ _t58 = cpu->r[1] + 0x00000008u;
/* 028C7264 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
/* 028C7268 */ _t59 = cpu->r[31] + 0x000000B4u;
/* 028C7268 */ cpu->r[10] = rbrew_read32(cpu->mem, _t59);
/* 028C726C */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
/* 028C726C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028C7270 */ _t60 = cpu->r[10] + cpu->r[6];
/* 028C7270 */ rbrew_write32(cpu->mem, _t60, cpu->r[0]);
/* 028C7274 */ cpu->r[6] = cpu->r[6] + 0x00000004u;
/* 028C7278 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C7278 */ _t62 = _t61 & 0x00000001u;
/* 028C7278 */ if (_t62) goto L_028C727C; else goto L_028C721C;
L_028C727C: ; // 0x28c727c
/* 028C727C */ goto L_028C72AC;
L_028C7280: ; // 0x28c7280
/* 028C7280 */ cpu->f[13] = cpu->f[0] - cpu->f[12];
/* 028C7284 */ cpu->f[10] = (uint32_t)(int32_t)cpu->f[13];
/* 028C7288 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
/* 028C728C */ /* nop */
/* 028C7290 */ _t63 = cpu->r[1] + 0x00000008u;
/* 028C7290 */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
/* 028C7294 */ _t64 = cpu->r[31] + 0x000000B4u;
/* 028C7294 */ cpu->r[10] = rbrew_read32(cpu->mem, _t64);
/* 028C7298 */ cpu->r[12] = cpu->r[9] + 0x80000000u;
/* 028C729C */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
/* 028C729C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028C72A0 */ _t65 = cpu->r[10] + cpu->r[6];
/* 028C72A0 */ rbrew_write32(cpu->mem, _t65, cpu->r[12]);
/* 028C72A4 */ cpu->r[6] = cpu->r[6] + 0x00000004u;
/* 028C72A8 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C72A8 */ _t67 = _t66 & 0x00000001u;
/* 028C72A8 */ if (_t67) goto L_028C72AC; else goto L_028C721C;
L_028C72AC: ; // 0x28c72ac
/* 028C72AC */ cpu->r[12] = 0x00000002u;
/* 028C72B0 */ cpu->r[10] = cpu->r[7] + 0x00000004u;
/* 028C72B4 */ cpu->ctr = cpu->r[12];
/* 028C72B8 */ cpu->r[11] = 0x00000000u;
L_028C72BC: ; // 0x28c72bc
/* 028C72BC */ _t68 = cpu->r[31] + 0x000000D0u;
/* 028C72BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t68);
/* 028C72C0 */ _t69 = cpu->r[10] + 0x00000004u;
/* 028C72C0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t69);
/* 028C72C0 */ cpu->r[10] = _t69;
/* 028C72C4 */ _t70 = cpu->r[12] + cpu->r[11];
/* 028C72C4 */ rbrew_write32(cpu->mem, _t70, cpu->r[5]);
/* 028C72C8 */ cpu->r[11] = cpu->r[11] + 0x00000004u;
/* 028C72CC */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028C72CC */ _t71 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028C72CC */ _t72 = _t71 >> (0x00000002u & 31u);
/* 028C72CC */ _t73 = _t72 & 0x00000001u;
/* 028C72CC */ if (_t73) goto L_028C72BC; else goto L_028C72D0;
L_028C72D0: ; // 0x28c72d0
/* 028C72D0 */ _t74 = cpu->r[1] + 0x0000001Cu;
/* 028C72D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t74);
/* 028C72D4 */ _t75 = cpu->r[1] + 0x00000014u;
/* 028C72D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t75);
/* 028C72D8 */ cpu->lr = cpu->r[0];
/* 028C72DC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C72E0 */ return;
}
// fn_028C7094 @ 0x28c7094
void Gambit_fn_028C7094(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75;
L_028C7094: ; // 0x28c7094
/* 028C7094 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C7094 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C7094 */ cpu->r[1] = _t0;
/* 028C7098 */ _t1 = cpu->r[1] + 0x00000014u;
/* 028C7098 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C709C */ cpu->r[12] = 0x101D0000u;
/* 028C70A0 */ _t2 = cpu->r[1] + 0x0000001Cu;
/* 028C70A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C70A4 */ _t3 = cpu->r[12] + 0xFFFF9A8Cu;
/* 028C70A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
/* 028C70A8 */ _t4 = cpu->r[4] + 0x00000004u;
/* 028C70A8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t4);
/* 028C70AC */ _t5 = cpu->r[12] + 0x0000001Cu;
/* 028C70AC */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t5);
/* 028C70B0 */ cpu->r[5] = 0x10140000u;
/* 028C70B4 */ cpu->f[0] = cpu->f[8] * cpu->f[10];
/* 028C70B8 */ _t6 = cpu->r[5] + 0xFFFF99E4u;
/* 028C70B8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t6);
/* 028C70BC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[12]);
/* 028C70C0 */ cpu->r[31] = cpu->r[3];
/* 028C70C4 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C70C4 */ _t8 = _t7 & 0x00000001u;
/* 028C70C4 */ if (_t8) goto L_028C70C8; else goto L_028C70F0;
L_028C70C8: ; // 0x28c70c8
/* 028C70C8 */ cpu->r[10] = 0x10140000u;
/* 028C70CC */ cpu->f[9] = (uint32_t)(int32_t)cpu->f[0];
/* 028C70D0 */ _t9 = cpu->r[10] + 0xFFFF99E8u;
/* 028C70D0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t9);
/* 028C70D4 */ cpu->r[12] = cpu->r[1] + 0x00000008u;
/* 028C70D8 */ /* nop */
/* 028C70DC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[11]);
/* 028C70E0 */ _t10 = cpu->r[1] + 0x00000008u;
/* 028C70E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
/* 028C70E4 */ _t11 = cpu->r[31] + 0x0000007Cu;
/* 028C70E4 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
/* 028C70E8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C70E8 */ _t13 = _t12 & 0x00000001u;
/* 028C70E8 */ if (_t13) goto L_028C70EC; else goto L_028C7134;
L_028C70EC: ; // 0x28c70ec
/* 028C70EC */ goto L_028C711C;
L_028C70F0: ; // 0x28c70f0
/* 028C70F0 */ cpu->f[11] = cpu->f[0] - cpu->f[12];
/* 028C70F4 */ cpu->r[10] = 0x10140000u;
/* 028C70F8 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[11];
/* 028C70FC */ _t14 = cpu->r[10] + 0xFFFF99E8u;
/* 028C70FC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t14);
/* 028C7100 */ cpu->r[11] = cpu->r[1] + 0x00000008u;
/* 028C7104 */ /* nop */
/* 028C7108 */ _t15 = cpu->r[1] + 0x00000008u;
/* 028C7108 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
/* 028C710C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[11]);
/* 028C7110 */ cpu->r[11] = cpu->r[11] + 0x80000000u;
/* 028C7114 */ _t16 = cpu->r[31] + 0x0000007Cu;
/* 028C7114 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
/* 028C7118 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C7118 */ _t18 = _t17 & 0x00000001u;
/* 028C7118 */ if (_t18) goto L_028C711C; else goto L_028C7134;
L_028C711C: ; // 0x28c711c
/* 028C711C */ _t19 = cpu->r[4] + 0x00000010u;
/* 028C711C */ cpu->r[7] = rbrew_read32(cpu->mem, _t19);
/* 028C7120 */ cpu->r[6] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C7124 */ cpu->r[8] = cpu->r[6] + 0x10140000u;
/* 028C7128 */ _t20 = cpu->r[8] + 0xFFFF97F8u;
/* 028C7128 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
/* 028C712C */ _t21 = cpu->r[31] + 0x00000084u;
/* 028C712C */ rbrew_write32(cpu->mem, _t21, cpu->r[11]);
/* 028C7130 */ goto L_028C7158;
L_028C7134: ; // 0x28c7134
/* 028C7134 */ cpu->r[10] = 0x10140000u;
/* 028C7138 */ _t22 = cpu->r[10] + 0xFFFF99ECu;
/* 028C7138 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t22);
/* 028C713C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[13]);
/* 028C7140 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C7140 */ _t24 = _t23 & 0x00000001u;
/* 028C7140 */ if (_t24) goto L_028C7144; else goto L_028C7158;
L_028C7144: ; // 0x28c7144
/* 028C7144 */ _t25 = cpu->r[4] + 0x00000010u;
/* 028C7144 */ cpu->r[5] = rbrew_read32(cpu->mem, _t25);
/* 028C7148 */ cpu->r[12] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C714C */ cpu->r[7] = cpu->r[12] + 0x10140000u;
/* 028C7150 */ _t26 = cpu->r[7] + 0xFFFF9818u;
/* 028C7150 */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
/* 028C7154 */ _t27 = cpu->r[31] + 0x00000084u;
/* 028C7154 */ rbrew_write32(cpu->mem, _t27, cpu->r[11]);
L_028C7158: ; // 0x28c7158
/* 028C7158 */ _t28 = cpu->r[4] + 0x00000010u;
/* 028C7158 */ cpu->r[8] = rbrew_read32(cpu->mem, _t28);
/* 028C715C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000003u);
/* 028C7160 */ _t29 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C7160 */ _t30 = _t29 & 0x00000001u;
/* 028C7160 */ if (_t30) goto L_028C7184; else goto L_028C7164;
L_028C7164: ; // 0x28c7164
/* 028C7164 */ cpu->r[9] = 0x10140000u;
/* 028C7168 */ _t31 = cpu->r[9] + 0xFFFF99F0u;
/* 028C7168 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31);
/* 028C716C */ /* nop */
/* 028C7170 */ _t32 = cpu->r[4] + 0x00000008u;
/* 028C7170 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t32);
/* 028C7174 */ cpu->f[9] = cpu->f[8] * cpu->f[0];
/* 028C7178 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[12]);
/* 028C717C */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C717C */ _t34 = _t33 & 0x00000001u;
/* 028C717C */ if (_t34) goto L_028C7180; else goto L_028C71CC;
L_028C7180: ; // 0x28c7180
/* 028C7180 */ goto L_028C71A0;
L_028C7184: ; // 0x28c7184
/* 028C7184 */ cpu->r[6] = 0x10140000u;
/* 028C7188 */ _t35 = cpu->r[6] + 0xFFFF99F4u;
/* 028C7188 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t35);
/* 028C718C */ /* nop */
/* 028C7190 */ _t36 = cpu->r[4] + 0x00000008u;
/* 028C7190 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t36);
/* 028C7194 */ cpu->f[9] = cpu->f[8] * cpu->f[0];
/* 028C7198 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[12]);
/* 028C719C */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C719C */ _t38 = _t37 & 0x00000001u;
/* 028C719C */ if (_t38) goto L_028C71A0; else goto L_028C71CC;
L_028C71A0: ; // 0x28c71a0
/* 028C71A0 */ cpu->f[9] = (uint32_t)(int32_t)cpu->f[9];
/* 028C71A4 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
/* 028C71A8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[11]);
/* 028C71AC */ cpu->r[7] = 0x10140000u;
/* 028C71B0 */ /* nop */
/* 028C71B4 */ _t39 = cpu->r[1] + 0x00000008u;
/* 028C71B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
/* 028C71B8 */ cpu->r[7] = cpu->r[7] + 0xFFFF9898u;
/* 028C71BC */ _t40 = cpu->r[31] + 0x000000A0u;
/* 028C71BC */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
/* 028C71C0 */ _t41 = cpu->r[4] + 0x00000014u;
/* 028C71C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
/* 028C71C4 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C71C4 */ _t43 = _t42 & 0x00000001u;
/* 028C71C4 */ if (_t43) goto L_028C71C8; else goto L_028C7204;
L_028C71C8: ; // 0x28c71c8
/* 028C71C8 */ goto L_028C71FC;
L_028C71CC: ; // 0x28c71cc
/* 028C71CC */ cpu->f[10] = cpu->f[9] - cpu->f[12];
/* 028C71D0 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[10];
/* 028C71D4 */ cpu->r[10] = cpu->r[1] + 0x00000008u;
/* 028C71D8 */ /* nop */
/* 028C71DC */ _t44 = cpu->r[1] + 0x00000008u;
/* 028C71DC */ cpu->r[6] = rbrew_read32(cpu->mem, _t44);
/* 028C71E0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[11]);
/* 028C71E4 */ cpu->r[7] = 0x10140000u;
/* 028C71E8 */ cpu->r[0] = cpu->r[6] + 0x80000000u;
/* 028C71EC */ cpu->r[7] = cpu->r[7] + 0xFFFF9898u;
/* 028C71F0 */ _t45 = cpu->r[31] + 0x000000A0u;
/* 028C71F0 */ rbrew_write32(cpu->mem, _t45, cpu->r[0]);
/* 028C71F4 */ _t46 = cpu->r[4] + 0x00000014u;
/* 028C71F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
/* 028C71F8 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C71F8 */ _t48 = _t47 & 0x00000001u;
/* 028C71F8 */ if (_t48) goto L_028C71FC; else goto L_028C7204;
L_028C71FC: ; // 0x28c71fc
/* 028C71FC */ cpu->r[7] = 0x10140000u;
/* 028C7200 */ cpu->r[7] = cpu->r[7] + 0xFFFF9838u;
L_028C7204: ; // 0x28c7204
/* 028C7204 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000000u, 0x0000001Bu);
/* 028C7208 */ cpu->r[8] = 0x00000002u;
/* 028C720C */ cpu->r[7] = cpu->r[7] + cpu->r[9];
/* 028C7210 */ cpu->r[6] = 0x00000000u;
/* 028C7214 */ cpu->r[5] = cpu->r[7] + 0xFFFFFFFCu;
/* 028C7218 */ _t49 = cpu->r[31] + 0x0000011Cu;
/* 028C7218 */ rbrew_write32(cpu->mem, _t49, cpu->r[7]);
L_028C721C: ; // 0x28c721c
/* 028C721C */ cpu->r[9] = 0x10140000u;
/* 028C7220 */ _t50 = cpu->r[5] + 0x00000004u;
/* 028C7220 */ cpu->r[10] = rbrew_read32(cpu->mem, _t50);
/* 028C7220 */ cpu->r[5] = _t50;
/* 028C7224 */ cpu->r[0] = 0x43300000u;
/* 028C7228 */ _t51 = cpu->r[9] + 0xFFFF99F8u;
/* 028C7228 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t51);
/* 028C722C */ _t52 = cpu->r[1] + 0x00000008u;
/* 028C722C */ rbrew_write32(cpu->mem, _t52, cpu->r[0]);
/* 028C7230 */ _t53 = cpu->r[1] + 0x0000000Cu;
/* 028C7230 */ rbrew_write32(cpu->mem, _t53, cpu->r[10]);
/* 028C7234 */ _t54 = cpu->r[1] + 0x00000008u;
/* 028C7234 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t54);
/* 028C7238 */ cpu->f[11] = cpu->f[9] - cpu->f[10];
/* 028C723C */ _t55 = cpu->r[4] + 0x0000000Cu;
/* 028C723C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t55);
/* 028C7240 */ cpu->r[3] = cpu->r[31];
/* 028C7244 */ cpu->f[11] = (double)(float)cpu->f[11];
/* 028C7248 */ Gambit_fn_028C7074(cpu);
/* 028C724C */ cpu->f[0] = cpu->f[11] * cpu->f[1];
/* 028C7250 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[12]);
/* 028C7254 */ _t56 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C7254 */ _t57 = _t56 & 0x00000001u;
/* 028C7254 */ if (_t57) goto L_028C7258; else goto L_028C7280;
L_028C7258: ; // 0x28c7258
/* 028C7258 */ cpu->f[10] = (uint32_t)(int32_t)cpu->f[0];
/* 028C725C */ cpu->r[0] = cpu->r[1] + 0x00000008u;
/* 028C7260 */ /* nop */
/* 028C7264 */ _t58 = cpu->r[1] + 0x00000008u;
/* 028C7264 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
/* 028C7268 */ _t59 = cpu->r[31] + 0x000000B4u;
/* 028C7268 */ cpu->r[10] = rbrew_read32(cpu->mem, _t59);
/* 028C726C */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
/* 028C726C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028C7270 */ _t60 = cpu->r[10] + cpu->r[6];
/* 028C7270 */ rbrew_write32(cpu->mem, _t60, cpu->r[0]);
/* 028C7274 */ cpu->r[6] = cpu->r[6] + 0x00000004u;
/* 028C7278 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C7278 */ _t62 = _t61 & 0x00000001u;
/* 028C7278 */ if (_t62) goto L_028C727C; else goto L_028C721C;
L_028C727C: ; // 0x28c727c
/* 028C727C */ goto L_028C72AC;
L_028C7280: ; // 0x28c7280
/* 028C7280 */ cpu->f[13] = cpu->f[0] - cpu->f[12];
/* 028C7284 */ cpu->f[10] = (uint32_t)(int32_t)cpu->f[13];
/* 028C7288 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
/* 028C728C */ /* nop */
/* 028C7290 */ _t63 = cpu->r[1] + 0x00000008u;
/* 028C7290 */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
/* 028C7294 */ _t64 = cpu->r[31] + 0x000000B4u;
/* 028C7294 */ cpu->r[10] = rbrew_read32(cpu->mem, _t64);
/* 028C7298 */ cpu->r[12] = cpu->r[9] + 0x80000000u;
/* 028C729C */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
/* 028C729C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028C72A0 */ _t65 = cpu->r[10] + cpu->r[6];
/* 028C72A0 */ rbrew_write32(cpu->mem, _t65, cpu->r[12]);
/* 028C72A4 */ cpu->r[6] = cpu->r[6] + 0x00000004u;
/* 028C72A8 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C72A8 */ _t67 = _t66 & 0x00000001u;
/* 028C72A8 */ if (_t67) goto L_028C72AC; else goto L_028C721C;
L_028C72AC: ; // 0x28c72ac
/* 028C72AC */ cpu->r[12] = 0x00000002u;
/* 028C72B0 */ cpu->r[10] = cpu->r[7] + 0x00000004u;
/* 028C72B4 */ cpu->ctr = cpu->r[12];
/* 028C72B8 */ cpu->r[11] = 0x00000000u;
L_028C72BC: ; // 0x28c72bc
/* 028C72BC */ _t68 = cpu->r[31] + 0x000000D0u;
/* 028C72BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t68);
/* 028C72C0 */ _t69 = cpu->r[10] + 0x00000004u;
/* 028C72C0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t69);
/* 028C72C0 */ cpu->r[10] = _t69;
/* 028C72C4 */ _t70 = cpu->r[12] + cpu->r[11];
/* 028C72C4 */ rbrew_write32(cpu->mem, _t70, cpu->r[5]);
/* 028C72C8 */ cpu->r[11] = cpu->r[11] + 0x00000004u;
/* 028C72CC */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028C72CC */ _t71 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028C72CC */ _t72 = _t71 >> (0x00000002u & 31u);
/* 028C72CC */ _t73 = _t72 & 0x00000001u;
/* 028C72CC */ if (_t73) goto L_028C72BC; else goto L_028C72D0;
L_028C72D0: ; // 0x28c72d0
/* 028C72D0 */ _t74 = cpu->r[1] + 0x0000001Cu;
/* 028C72D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t74);
/* 028C72D4 */ _t75 = cpu->r[1] + 0x00000014u;
/* 028C72D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t75);
/* 028C72D8 */ cpu->lr = cpu->r[0];
/* 028C72DC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C72E0 */ return;
}
// fn_028C72E4 @ 0x28c72e4
void Gambit_fn_028C72E4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
L_028C72E4: ; // 0x28c72e4
/* 028C72E4 */ cpu->r[12] = 0x101D0000u;
/* 028C72E8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C72E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C72E8 */ cpu->r[1] = _t0;
/* 028C72EC */ _t1 = cpu->r[12] + 0xFFFF9A8Cu;
/* 028C72EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
/* 028C72F0 */ _t2 = cpu->r[12] + 0x0000001Cu;
/* 028C72F0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t2);
/* 028C72F4 */ cpu->r[10] = 0x10140000u;
/* 028C72F8 */ cpu->f[13] = cpu->f[13] * cpu->f[1];
/* 028C72FC */ _t3 = cpu->r[10] + 0xFFFF99E4u;
/* 028C72FC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
/* 028C7300 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
/* 028C7304 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C7304 */ _t5 = _t4 & 0x00000001u;
/* 028C7304 */ if (_t5) goto L_028C7308; else goto L_028C732C;
L_028C7308: ; // 0x28c7308
/* 028C7308 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[13];
/* 028C730C */ cpu->r[9] = cpu->r[1] + 0x00000008u;
/* 028C7310 */ /* nop */
/* 028C7314 */ _t6 = cpu->r[1] + 0x00000008u;
/* 028C7314 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028C7318 */ _t7 = cpu->r[3] + 0x0000007Cu;
/* 028C7318 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
/* 028C731C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
/* 028C7320 */ _t8 = cpu->r[3] + 0x00000074u;
/* 028C7320 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028C7324 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C7324 */ _t10 = _t9 & 0x00000001u;
/* 028C7324 */ if (_t10) goto L_028C7328; else goto L_028C7358;
L_028C7328: ; // 0x28c7328
/* 028C7328 */ goto L_028C7354;
L_028C732C: ; // 0x28c732c
/* 028C732C */ cpu->f[0] = cpu->f[13] - cpu->f[0];
/* 028C7330 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[0];
/* 028C7334 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
/* 028C7338 */ /* nop */
/* 028C733C */ _t11 = cpu->r[1] + 0x00000008u;
/* 028C733C */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
/* 028C7340 */ cpu->r[0] = cpu->r[12] + 0x80000000u;
/* 028C7344 */ _t12 = cpu->r[3] + 0x0000007Cu;
/* 028C7344 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
/* 028C7348 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
/* 028C734C */ _t13 = cpu->r[3] + 0x00000074u;
/* 028C734C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
/* 028C7350 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C7350 */ _t15 = _t14 & 0x00000001u;
/* 028C7350 */ if (_t15) goto L_028C7354; else goto L_028C7358;
L_028C7354: ; // 0x28c7354
/* 028C7354 */ _t16 = cpu->r[3] + 0x00000074u;
/* 028C7354 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
L_028C7358: ; // 0x28c7358
/* 028C7358 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C735C */ return;
}
// fn_028C72E8 @ 0x28c72e8
void Gambit_fn_028C72E8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
L_028C72E8: ; // 0x28c72e8
/* 028C72E8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C72E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C72E8 */ cpu->r[1] = _t0;
/* 028C72EC */ _t1 = cpu->r[12] + 0xFFFF9A8Cu;
/* 028C72EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
/* 028C72F0 */ _t2 = cpu->r[12] + 0x0000001Cu;
/* 028C72F0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t2);
/* 028C72F4 */ cpu->r[10] = 0x10140000u;
/* 028C72F8 */ cpu->f[13] = cpu->f[13] * cpu->f[1];
/* 028C72FC */ _t3 = cpu->r[10] + 0xFFFF99E4u;
/* 028C72FC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
/* 028C7300 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
/* 028C7304 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C7304 */ _t5 = _t4 & 0x00000001u;
/* 028C7304 */ if (_t5) goto L_028C7308; else goto L_028C732C;
L_028C7308: ; // 0x28c7308
/* 028C7308 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[13];
/* 028C730C */ cpu->r[9] = cpu->r[1] + 0x00000008u;
/* 028C7310 */ /* nop */
/* 028C7314 */ _t6 = cpu->r[1] + 0x00000008u;
/* 028C7314 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028C7318 */ _t7 = cpu->r[3] + 0x0000007Cu;
/* 028C7318 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
/* 028C731C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
/* 028C7320 */ _t8 = cpu->r[3] + 0x00000074u;
/* 028C7320 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028C7324 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C7324 */ _t10 = _t9 & 0x00000001u;
/* 028C7324 */ if (_t10) goto L_028C7328; else goto L_028C7358;
L_028C7328: ; // 0x28c7328
/* 028C7328 */ goto L_028C7354;
L_028C732C: ; // 0x28c732c
/* 028C732C */ cpu->f[0] = cpu->f[13] - cpu->f[0];
/* 028C7330 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[0];
/* 028C7334 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
/* 028C7338 */ /* nop */
/* 028C733C */ _t11 = cpu->r[1] + 0x00000008u;
/* 028C733C */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
/* 028C7340 */ cpu->r[0] = cpu->r[12] + 0x80000000u;
/* 028C7344 */ _t12 = cpu->r[3] + 0x0000007Cu;
/* 028C7344 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
/* 028C7348 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
/* 028C734C */ _t13 = cpu->r[3] + 0x00000074u;
/* 028C734C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
/* 028C7350 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C7350 */ _t15 = _t14 & 0x00000001u;
/* 028C7350 */ if (_t15) goto L_028C7354; else goto L_028C7358;
L_028C7354: ; // 0x28c7354
/* 028C7354 */ _t16 = cpu->r[3] + 0x00000074u;
/* 028C7354 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
L_028C7358: ; // 0x28c7358
/* 028C7358 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C735C */ return;
}
// fn_028C7360 @ 0x28c7360
void Gambit_fn_028C7360(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
L_028C7360: ; // 0x28c7360
/* 028C7360 */ cpu->r[12] = 0x101D0000u;
/* 028C7364 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C7364 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C7364 */ cpu->r[1] = _t0;
/* 028C7368 */ _t1 = cpu->r[12] + 0xFFFF9A8Cu;
/* 028C7368 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
/* 028C736C */ _t2 = cpu->r[12] + 0x0000001Cu;
/* 028C736C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t2);
/* 028C7370 */ cpu->r[10] = 0x10140000u;
/* 028C7374 */ cpu->f[13] = cpu->f[13] * cpu->f[1];
/* 028C7378 */ _t3 = cpu->r[10] + 0xFFFF99E4u;
/* 028C7378 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
/* 028C737C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
/* 028C7380 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C7380 */ _t5 = _t4 & 0x00000001u;
/* 028C7380 */ if (_t5) goto L_028C7384; else goto L_028C73A8;
L_028C7384: ; // 0x28c7384
/* 028C7384 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[13];
/* 028C7388 */ cpu->r[9] = cpu->r[1] + 0x00000008u;
/* 028C738C */ /* nop */
/* 028C7390 */ _t6 = cpu->r[1] + 0x00000008u;
/* 028C7390 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028C7394 */ _t7 = cpu->r[3] + 0x000000A0u;
/* 028C7394 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
/* 028C7398 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
/* 028C739C */ _t8 = cpu->r[3] + 0x00000098u;
/* 028C739C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028C73A0 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C73A0 */ _t10 = _t9 & 0x00000001u;
/* 028C73A0 */ if (_t10) goto L_028C73A4; else goto L_028C73D4;
L_028C73A4: ; // 0x28c73a4
/* 028C73A4 */ goto L_028C73D0;
L_028C73A8: ; // 0x28c73a8
/* 028C73A8 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
/* 028C73AC */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[0];
/* 028C73B0 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
/* 028C73B4 */ /* nop */
/* 028C73B8 */ _t11 = cpu->r[1] + 0x00000008u;
/* 028C73B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
/* 028C73BC */ cpu->r[0] = cpu->r[12] + 0x80000000u;
/* 028C73C0 */ _t12 = cpu->r[3] + 0x000000A0u;
/* 028C73C0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
/* 028C73C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
/* 028C73C8 */ _t13 = cpu->r[3] + 0x00000098u;
/* 028C73C8 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
/* 028C73CC */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C73CC */ _t15 = _t14 & 0x00000001u;
/* 028C73CC */ if (_t15) goto L_028C73D0; else goto L_028C73D4;
L_028C73D0: ; // 0x28c73d0
/* 028C73D0 */ _t16 = cpu->r[3] + 0x00000098u;
/* 028C73D0 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
L_028C73D4: ; // 0x28c73d4
/* 028C73D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C73D8 */ return;
}
// fn_028C7364 @ 0x28c7364
void Gambit_fn_028C7364(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
L_028C7364: ; // 0x28c7364
/* 028C7364 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C7364 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C7364 */ cpu->r[1] = _t0;
/* 028C7368 */ _t1 = cpu->r[12] + 0xFFFF9A8Cu;
/* 028C7368 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
/* 028C736C */ _t2 = cpu->r[12] + 0x0000001Cu;
/* 028C736C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t2);
/* 028C7370 */ cpu->r[10] = 0x10140000u;
/* 028C7374 */ cpu->f[13] = cpu->f[13] * cpu->f[1];
/* 028C7378 */ _t3 = cpu->r[10] + 0xFFFF99E4u;
/* 028C7378 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
/* 028C737C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
/* 028C7380 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C7380 */ _t5 = _t4 & 0x00000001u;
/* 028C7380 */ if (_t5) goto L_028C7384; else goto L_028C73A8;
L_028C7384: ; // 0x28c7384
/* 028C7384 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[13];
/* 028C7388 */ cpu->r[9] = cpu->r[1] + 0x00000008u;
/* 028C738C */ /* nop */
/* 028C7390 */ _t6 = cpu->r[1] + 0x00000008u;
/* 028C7390 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028C7394 */ _t7 = cpu->r[3] + 0x000000A0u;
/* 028C7394 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
/* 028C7398 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
/* 028C739C */ _t8 = cpu->r[3] + 0x00000098u;
/* 028C739C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028C73A0 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C73A0 */ _t10 = _t9 & 0x00000001u;
/* 028C73A0 */ if (_t10) goto L_028C73A4; else goto L_028C73D4;
L_028C73A4: ; // 0x28c73a4
/* 028C73A4 */ goto L_028C73D0;
L_028C73A8: ; // 0x28c73a8
/* 028C73A8 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
/* 028C73AC */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[0];
/* 028C73B0 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
/* 028C73B4 */ /* nop */
/* 028C73B8 */ _t11 = cpu->r[1] + 0x00000008u;
/* 028C73B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
/* 028C73BC */ cpu->r[0] = cpu->r[12] + 0x80000000u;
/* 028C73C0 */ _t12 = cpu->r[3] + 0x000000A0u;
/* 028C73C0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
/* 028C73C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
/* 028C73C8 */ _t13 = cpu->r[3] + 0x00000098u;
/* 028C73C8 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
/* 028C73CC */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C73CC */ _t15 = _t14 & 0x00000001u;
/* 028C73CC */ if (_t15) goto L_028C73D0; else goto L_028C73D4;
L_028C73D0: ; // 0x28c73d0
/* 028C73D0 */ _t16 = cpu->r[3] + 0x00000098u;
/* 028C73D0 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
L_028C73D4: ; // 0x28c73d4
/* 028C73D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C73D8 */ return;
}
// fn_028C73DC @ 0x28c73dc
void Gambit_fn_028C73DC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_028C73DC: ; // 0x28c73dc
/* 028C73DC */ cpu->r[0] = cpu->lr;
/* 028C73E0 */ cpu->r[8] = 0x00000002u;
/* 028C73E4 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028C73E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028C73E8 */ cpu->r[9] = cpu->r[3];
/* 028C73EC */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C73EC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028C73EC */ cpu->r[1] = _t1;
/* 028C73F0 */ Gambit_fn_028C7074(cpu);
/* 028C73F4 */ cpu->r[10] = 0x10140000u;
/* 028C73F8 */ cpu->ctr = cpu->r[8];
/* 028C73FC */ _t2 = cpu->r[10] + 0xFFFF99E4u;
/* 028C73FC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
/* 028C7400 */ cpu->r[10] = 0x00000000u;
L_028C7404: ; // 0x28c7404
/* 028C7404 */ _t3 = cpu->r[9] + 0x0000011Cu;
/* 028C7404 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
/* 028C7408 */ cpu->r[7] = 0x10140000u;
/* 028C740C */ _t4 = cpu->r[7] + 0xFFFF99F8u;
/* 028C740C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t4);
/* 028C7410 */ _t5 = cpu->r[11] + cpu->r[10];
/* 028C7410 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
/* 028C7414 */ cpu->r[0] = 0x43300000u;
/* 028C7418 */ _t6 = cpu->r[1] + 0x00000008u;
/* 028C7418 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028C741C */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 028C741C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
/* 028C7420 */ _t8 = cpu->r[1] + 0x00000008u;
/* 028C7420 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t8);
/* 028C7424 */ cpu->f[13] = cpu->f[12] - cpu->f[13];
/* 028C7428 */ cpu->f[11] = (double)(float)cpu->f[13];
/* 028C742C */ cpu->f[13] = cpu->f[11] * cpu->f[1];
/* 028C7430 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
/* 028C7434 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C7434 */ _t10 = _t9 & 0x00000001u;
/* 028C7434 */ if (_t10) goto L_028C7438; else goto L_028C7464;
L_028C7438: ; // 0x28c7438
/* 028C7438 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[13];
/* 028C743C */ cpu->r[0] = cpu->r[1] + 0x00000008u;
/* 028C7440 */ /* nop */
/* 028C7444 */ _t11 = cpu->r[1] + 0x00000008u;
/* 028C7444 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028C7448 */ _t12 = cpu->r[9] + 0x000000A8u;
/* 028C7448 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
/* 028C744C */ _t13 = cpu->r[8] + cpu->r[10];
/* 028C744C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
/* 028C7450 */ _t14 = cpu->r[9] + 0x000000B4u;
/* 028C7450 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
/* 028C7454 */ _t15 = cpu->r[11] + cpu->r[10];
/* 028C7454 */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
/* 028C7458 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
/* 028C745C */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C745C */ _t17 = _t16 & 0x00000001u;
/* 028C745C */ if (_t17) goto L_028C7460; else goto L_028C749C;
L_028C7460: ; // 0x28c7460
/* 028C7460 */ goto L_028C7494;
L_028C7464: ; // 0x28c7464
/* 028C7464 */ cpu->f[12] = cpu->f[13] - cpu->f[0];
/* 028C7468 */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[12];
/* 028C746C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
/* 028C7470 */ /* nop */
/* 028C7474 */ _t18 = cpu->r[1] + 0x00000008u;
/* 028C7474 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
/* 028C7478 */ cpu->r[0] = cpu->r[12] + 0x80000000u;
/* 028C747C */ _t19 = cpu->r[9] + 0x000000A8u;
/* 028C747C */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
/* 028C7480 */ _t20 = cpu->r[8] + cpu->r[10];
/* 028C7480 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
/* 028C7484 */ _t21 = cpu->r[9] + 0x000000B4u;
/* 028C7484 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
/* 028C7488 */ _t22 = cpu->r[11] + cpu->r[10];
/* 028C7488 */ cpu->r[8] = rbrew_read32(cpu->mem, _t22);
/* 028C748C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
/* 028C7490 */ _t23 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C7490 */ _t24 = _t23 & 0x00000001u;
/* 028C7490 */ if (_t24) goto L_028C7494; else goto L_028C749C;
L_028C7494: ; // 0x28c7494
/* 028C7494 */ _t25 = cpu->r[9] + 0x000000A8u;
/* 028C7494 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
/* 028C7498 */ _t26 = cpu->r[12] + cpu->r[10];
/* 028C7498 */ rbrew_write32(cpu->mem, _t26, cpu->r[8]);
L_028C749C: ; // 0x28c749c
/* 028C749C */ cpu->r[10] = cpu->r[10] + 0x00000004u;
/* 028C74A0 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028C74A0 */ _t27 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028C74A0 */ _t28 = _t27 >> (0x00000002u & 31u);
/* 028C74A0 */ _t29 = _t28 & 0x00000001u;
/* 028C74A0 */ if (_t29) goto L_028C7404; else goto L_028C74A4;
L_028C74A4: ; // 0x28c74a4
/* 028C74A4 */ _t30 = cpu->r[1] + 0x00000014u;
/* 028C74A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
/* 028C74A8 */ cpu->lr = cpu->r[0];
/* 028C74AC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C74B0 */ return;
}
// fn_028C73EC @ 0x28c73ec
void Gambit_fn_028C73EC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_028C73EC: ; // 0x28c73ec
/* 028C73EC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C73EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C73EC */ cpu->r[1] = _t0;
/* 028C73F0 */ Gambit_fn_028C7074(cpu);
/* 028C73F4 */ cpu->r[10] = 0x10140000u;
/* 028C73F8 */ cpu->ctr = cpu->r[8];
/* 028C73FC */ _t1 = cpu->r[10] + 0xFFFF99E4u;
/* 028C73FC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
/* 028C7400 */ cpu->r[10] = 0x00000000u;
L_028C7404: ; // 0x28c7404
/* 028C7404 */ _t2 = cpu->r[9] + 0x0000011Cu;
/* 028C7404 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
/* 028C7408 */ cpu->r[7] = 0x10140000u;
/* 028C740C */ _t3 = cpu->r[7] + 0xFFFF99F8u;
/* 028C740C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t3);
/* 028C7410 */ _t4 = cpu->r[11] + cpu->r[10];
/* 028C7410 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028C7414 */ cpu->r[0] = 0x43300000u;
/* 028C7418 */ _t5 = cpu->r[1] + 0x00000008u;
/* 028C7418 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028C741C */ _t6 = cpu->r[1] + 0x0000000Cu;
/* 028C741C */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
/* 028C7420 */ _t7 = cpu->r[1] + 0x00000008u;
/* 028C7420 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t7);
/* 028C7424 */ cpu->f[13] = cpu->f[12] - cpu->f[13];
/* 028C7428 */ cpu->f[11] = (double)(float)cpu->f[13];
/* 028C742C */ cpu->f[13] = cpu->f[11] * cpu->f[1];
/* 028C7430 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
/* 028C7434 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C7434 */ _t9 = _t8 & 0x00000001u;
/* 028C7434 */ if (_t9) goto L_028C7438; else goto L_028C7464;
L_028C7438: ; // 0x28c7438
/* 028C7438 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[13];
/* 028C743C */ cpu->r[0] = cpu->r[1] + 0x00000008u;
/* 028C7440 */ /* nop */
/* 028C7444 */ _t10 = cpu->r[1] + 0x00000008u;
/* 028C7444 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028C7448 */ _t11 = cpu->r[9] + 0x000000A8u;
/* 028C7448 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
/* 028C744C */ _t12 = cpu->r[8] + cpu->r[10];
/* 028C744C */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
/* 028C7450 */ _t13 = cpu->r[9] + 0x000000B4u;
/* 028C7450 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
/* 028C7454 */ _t14 = cpu->r[11] + cpu->r[10];
/* 028C7454 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
/* 028C7458 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
/* 028C745C */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C745C */ _t16 = _t15 & 0x00000001u;
/* 028C745C */ if (_t16) goto L_028C7460; else goto L_028C749C;
L_028C7460: ; // 0x28c7460
/* 028C7460 */ goto L_028C7494;
L_028C7464: ; // 0x28c7464
/* 028C7464 */ cpu->f[12] = cpu->f[13] - cpu->f[0];
/* 028C7468 */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[12];
/* 028C746C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
/* 028C7470 */ /* nop */
/* 028C7474 */ _t17 = cpu->r[1] + 0x00000008u;
/* 028C7474 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
/* 028C7478 */ cpu->r[0] = cpu->r[12] + 0x80000000u;
/* 028C747C */ _t18 = cpu->r[9] + 0x000000A8u;
/* 028C747C */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
/* 028C7480 */ _t19 = cpu->r[8] + cpu->r[10];
/* 028C7480 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
/* 028C7484 */ _t20 = cpu->r[9] + 0x000000B4u;
/* 028C7484 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
/* 028C7488 */ _t21 = cpu->r[11] + cpu->r[10];
/* 028C7488 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
/* 028C748C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
/* 028C7490 */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C7490 */ _t23 = _t22 & 0x00000001u;
/* 028C7490 */ if (_t23) goto L_028C7494; else goto L_028C749C;
L_028C7494: ; // 0x28c7494
/* 028C7494 */ _t24 = cpu->r[9] + 0x000000A8u;
/* 028C7494 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
/* 028C7498 */ _t25 = cpu->r[12] + cpu->r[10];
/* 028C7498 */ rbrew_write32(cpu->mem, _t25, cpu->r[8]);
L_028C749C: ; // 0x28c749c
/* 028C749C */ cpu->r[10] = cpu->r[10] + 0x00000004u;
/* 028C74A0 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028C74A0 */ _t26 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028C74A0 */ _t27 = _t26 >> (0x00000002u & 31u);
/* 028C74A0 */ _t28 = _t27 & 0x00000001u;
/* 028C74A0 */ if (_t28) goto L_028C7404; else goto L_028C74A4;
L_028C74A4: ; // 0x28c74a4
/* 028C74A4 */ _t29 = cpu->r[1] + 0x00000014u;
/* 028C74A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
/* 028C74A8 */ cpu->lr = cpu->r[0];
/* 028C74AC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C74B0 */ return;
}
// fn_028C74B4 @ 0x28c74b4
void Gambit_fn_028C74B4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
L_028C74B4: ; // 0x28c74b4
/* 028C74B4 */ cpu->r[0] = cpu->lr;
/* 028C74B8 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028C74B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028C74BC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028C74BC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028C74BC */ cpu->r[1] = _t1;
/* 028C74C0 */ _t2 = cpu->r[4] + 0x0000001Cu;
/* 028C74C0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t2);
/* 028C74C4 */ Gambit_fn_028C72E4(cpu);
/* 028C74C8 */ _t3 = cpu->r[4] + 0x00000024u;
/* 028C74C8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t3);
/* 028C74CC */ Gambit_fn_028C7360(cpu);
/* 028C74D0 */ _t4 = cpu->r[4] + 0x00000028u;
/* 028C74D0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t4);
/* 028C74D4 */ Gambit_fn_028C73DC(cpu);
/* 028C74D8 */ _t5 = cpu->r[1] + 0x0000000Cu;
/* 028C74D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028C74DC */ cpu->lr = cpu->r[0];
/* 028C74E0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028C74E4 */ return;
}
// fn_028C74BC @ 0x28c74bc
void Gambit_fn_028C74BC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028C74BC: ; // 0x28c74bc
/* 028C74BC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028C74BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C74BC */ cpu->r[1] = _t0;
/* 028C74C0 */ _t1 = cpu->r[4] + 0x0000001Cu;
/* 028C74C0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t1);
/* 028C74C4 */ Gambit_fn_028C72E4(cpu);
/* 028C74C8 */ _t2 = cpu->r[4] + 0x00000024u;
/* 028C74C8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t2);
/* 028C74CC */ Gambit_fn_028C7360(cpu);
/* 028C74D0 */ _t3 = cpu->r[4] + 0x00000028u;
/* 028C74D0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t3);
/* 028C74D4 */ Gambit_fn_028C73DC(cpu);
/* 028C74D8 */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028C74D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028C74DC */ cpu->lr = cpu->r[0];
/* 028C74E0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028C74E4 */ return;
}
// fn_028C74E8 @ 0x28c74e8
void Gambit_fn_028C74E8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55;
L_028C74E8: ; // 0x28c74e8
/* 028C74E8 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028C74E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C74E8 */ cpu->r[1] = _t0;
/* 028C74EC */ /* nop */
/* 028C74F0 */ cpu->r[0] = cpu->lr;
/* 028C74F4 */ _t1 = cpu->r[1] + 0x0000002Cu;
/* 028C74F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028C74F8 */ cpu->r[27] = cpu->r[3];
/* 028C74FC */ _t2 = cpu->r[27] + 0x0000007Cu;
/* 028C74FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
/* 028C7500 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C7504 */ cpu->r[28] = cpu->r[4];
/* 028C7508 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C7508 */ _t4 = _t3 & 0x00000001u;
/* 028C7508 */ if (_t4) goto L_028C750C; else goto L_028C752C;
L_028C750C: ; // 0x28c750c
/* 028C750C */ cpu->r[4] = cpu->r[28];
/* 028C7510 */ cpu->r[3] = 0x0000000Cu;
/* 028C7514 */ cpu->r[5] = 0x00000004u;
/* 028C7518 */ Gambit_fn_02801ADC(cpu);
/* 028C751C */ cpu->r[31] = 0x00000003u;
/* 028C7520 */ _t5 = cpu->r[27] + 0x00000080u;
/* 028C7520 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
/* 028C7524 */ cpu->r[29] = 0x00000000u;
/* 028C7528 */ goto L_028C758C;
L_028C752C: ; // 0x28c752c
/* 028C752C */ cpu->r[4] = cpu->r[28];
/* 028C7530 */ cpu->r[3] = 0x0000000Cu;
/* 028C7534 */ cpu->r[5] = 0x00000004u;
/* 028C7538 */ Gambit_fn_02801ADC(cpu);
/* 028C753C */ _t6 = cpu->r[27] + 0x00000070u;
/* 028C753C */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
/* 028C7540 */ cpu->r[29] = 0x00000000u;
/* 028C7544 */ cpu->r[31] = 0x00000003u;
L_028C7548: ; // 0x28c7548
/* 028C7548 */ _t7 = cpu->r[27] + 0x0000007Cu;
/* 028C7548 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028C754C */ cpu->r[4] = cpu->r[28];
/* 028C7550 */ cpu->r[5] = 0x00000040u;
/* 028C7554 */ _t8 = cpu->r[27] + 0x00000070u;
/* 028C7554 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
/* 028C7558 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C755C */ Gambit_fn_02801ADC(cpu);
/* 028C7560 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
/* 028C7560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C7564 */ _t9 = cpu->r[30] + cpu->r[29];
/* 028C7564 */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
/* 028C7568 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
/* 028C756C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C756C */ _t11 = _t10 & 0x00000001u;
/* 028C756C */ if (_t11) goto L_028C7570; else goto L_028C7548;
L_028C7570: ; // 0x28c7570
/* 028C7570 */ cpu->r[4] = cpu->r[28];
/* 028C7574 */ cpu->r[3] = 0x0000000Cu;
/* 028C7578 */ cpu->r[5] = 0x00000004u;
/* 028C757C */ Gambit_fn_02801ADC(cpu);
/* 028C7580 */ _t12 = cpu->r[27] + 0x00000080u;
/* 028C7580 */ rbrew_write32(cpu->mem, _t12, cpu->r[3]);
/* 028C7584 */ cpu->r[29] = 0x00000000u;
/* 028C7588 */ cpu->r[31] = 0x00000003u;
L_028C758C: ; // 0x28c758c
/* 028C758C */ _t13 = cpu->r[27] + 0x00000084u;
/* 028C758C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028C7590 */ cpu->r[4] = cpu->r[28];
/* 028C7594 */ cpu->r[5] = 0x00000040u;
/* 028C7598 */ _t14 = cpu->r[27] + 0x00000080u;
/* 028C7598 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
/* 028C759C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C75A0 */ Gambit_fn_02801ADC(cpu);
/* 028C75A4 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
/* 028C75A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C75A8 */ _t15 = cpu->r[30] + cpu->r[29];
/* 028C75A8 */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
/* 028C75AC */ cpu->r[29] = cpu->r[29] + 0x00000004u;
/* 028C75B0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C75B0 */ _t17 = _t16 & 0x00000001u;
/* 028C75B0 */ if (_t17) goto L_028C75B4; else goto L_028C758C;
L_028C75B4: ; // 0x28c75b4
/* 028C75B4 */ _t18 = cpu->r[27] + 0x000000A0u;
/* 028C75B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028C75B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C75BC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C75BC */ _t20 = _t19 & 0x00000001u;
/* 028C75BC */ if (_t20) goto L_028C7604; else goto L_028C75C0;
L_028C75C0: ; // 0x28c75c0
/* 028C75C0 */ cpu->r[5] = 0x00000004u;
/* 028C75C4 */ cpu->r[3] = 0x0000000Cu;
/* 028C75C8 */ cpu->r[4] = cpu->r[28];
/* 028C75CC */ Gambit_fn_02801ADC(cpu);
/* 028C75D0 */ cpu->r[31] = 0x00000000u;
/* 028C75D4 */ cpu->r[30] = 0x00000003u;
/* 028C75D8 */ _t21 = cpu->r[27] + 0x00000094u;
/* 028C75D8 */ rbrew_write32(cpu->mem, _t21, cpu->r[3]);
L_028C75DC: ; // 0x28c75dc
/* 028C75DC */ _t22 = cpu->r[27] + 0x000000A0u;
/* 028C75DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
/* 028C75E0 */ cpu->r[4] = cpu->r[28];
/* 028C75E4 */ cpu->r[5] = 0x00000040u;
/* 028C75E8 */ _t23 = cpu->r[27] + 0x00000094u;
/* 028C75E8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
/* 028C75EC */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C75F0 */ Gambit_fn_02801ADC(cpu);
/* 028C75F4 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
/* 028C75F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028C75F8 */ _t24 = cpu->r[29] + cpu->r[31];
/* 028C75F8 */ rbrew_write32(cpu->mem, _t24, cpu->r[3]);
/* 028C75FC */ cpu->r[31] = cpu->r[31] + 0x00000004u;
/* 028C7600 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C7600 */ _t26 = _t25 & 0x00000001u;
/* 028C7600 */ if (_t26) goto L_028C7604; else goto L_028C75DC;
L_028C7604: ; // 0x28c7604
/* 028C7604 */ cpu->r[5] = 0x00000004u;
/* 028C7608 */ cpu->r[3] = 0x00000008u;
/* 028C760C */ cpu->r[4] = cpu->r[28];
/* 028C7610 */ Gambit_fn_02801ADC(cpu);
/* 028C7614 */ _t27 = cpu->r[27] + 0x000000A4u;
/* 028C7614 */ rbrew_write32(cpu->mem, _t27, cpu->r[3]);
/* 028C7618 */ cpu->r[5] = 0x00000004u;
/* 028C761C */ cpu->r[3] = 0x00000008u;
/* 028C7620 */ cpu->r[4] = cpu->r[28];
/* 028C7624 */ Gambit_fn_02801ADC(cpu);
/* 028C7628 */ cpu->r[31] = 0x00000000u;
/* 028C762C */ cpu->r[26] = 0x00000002u;
/* 028C7630 */ _t28 = cpu->r[27] + 0x000000B8u;
/* 028C7630 */ rbrew_write32(cpu->mem, _t28, cpu->r[3]);
L_028C7634: ; // 0x28c7634
/* 028C7634 */ cpu->r[5] = 0x00000004u;
/* 028C7638 */ cpu->r[4] = cpu->r[28];
/* 028C763C */ cpu->r[3] = 0x0000000Cu;
/* 028C7640 */ _t29 = cpu->r[27] + 0x000000A4u;
/* 028C7640 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
/* 028C7644 */ Gambit_fn_02801ADC(cpu);
/* 028C7648 */ cpu->r[4] = cpu->r[28];
/* 028C764C */ cpu->r[5] = 0x00000004u;
/* 028C7650 */ _t30 = cpu->r[30] + cpu->r[31];
/* 028C7650 */ rbrew_write32(cpu->mem, _t30, cpu->r[3]);
/* 028C7654 */ _t31 = cpu->r[27] + 0x000000B8u;
/* 028C7654 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
/* 028C7658 */ cpu->r[3] = 0x00000018u;
/* 028C765C */ Gambit_fn_02801ADC(cpu);
/* 028C7660 */ cpu->r[25] = 0x00000003u;
/* 028C7664 */ _t32 = cpu->r[30] + cpu->r[31];
/* 028C7664 */ rbrew_write32(cpu->mem, _t32, cpu->r[3]);
/* 028C7668 */ cpu->r[29] = 0x00000000u;
L_028C766C: ; // 0x28c766c
/* 028C766C */ _t33 = cpu->r[27] + 0x000000B4u;
/* 028C766C */ cpu->r[9] = rbrew_read32(cpu->mem, _t33);
/* 028C7670 */ _t34 = cpu->r[27] + 0x000000A4u;
/* 028C7670 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
/* 028C7674 */ cpu->r[4] = cpu->r[28];
/* 028C7678 */ _t35 = cpu->r[9] + cpu->r[31];
/* 028C7678 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
/* 028C767C */ cpu->r[5] = 0x00000040u;
/* 028C7680 */ _t36 = cpu->r[12] + cpu->r[31];
/* 028C7680 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
/* 028C7684 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C7688 */ Gambit_fn_02801ADC(cpu);
/* 028C768C */ _t37 = cpu->r[30] + cpu->r[29];
/* 028C768C */ rbrew_write32(cpu->mem, _t37, cpu->r[3]);
/* 028C7690 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
/* 028C7690 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
/* 028C7694 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
/* 028C7698 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C7698 */ _t39 = _t38 & 0x00000001u;
/* 028C7698 */ if (_t39) goto L_028C769C; else goto L_028C766C;
L_028C769C: ; // 0x28c769c
/* 028C769C */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu;
/* 028C769C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
/* 028C76A0 */ cpu->r[31] = cpu->r[31] + 0x00000004u;
/* 028C76A4 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C76A4 */ _t41 = _t40 & 0x00000001u;
/* 028C76A4 */ if (_t41) goto L_028C76A8; else goto L_028C7634;
L_028C76A8: ; // 0x28c76a8
/* 028C76A8 */ cpu->r[4] = cpu->r[28];
/* 028C76AC */ cpu->r[3] = 0x00000008u;
/* 028C76B0 */ cpu->r[5] = 0x00000004u;
/* 028C76B4 */ Gambit_fn_02801ADC(cpu);
/* 028C76B8 */ _t42 = cpu->r[27] + 0x000000CCu;
/* 028C76B8 */ rbrew_write32(cpu->mem, _t42, cpu->r[3]);
/* 028C76BC */ cpu->r[31] = 0x00000000u;
/* 028C76C0 */ cpu->r[29] = 0x00000002u;
L_028C76C4: ; // 0x28c76c4
/* 028C76C4 */ _t43 = cpu->r[27] + 0x000000CCu;
/* 028C76C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t43);
/* 028C76C8 */ cpu->r[4] = cpu->r[28];
/* 028C76CC */ cpu->r[5] = 0x00000004u;
/* 028C76D0 */ cpu->r[3] = 0x0000000Cu;
/* 028C76D4 */ Gambit_fn_02801ADC(cpu);
/* 028C76D8 */ _t44 = cpu->r[30] + cpu->r[31];
/* 028C76D8 */ rbrew_write32(cpu->mem, _t44, cpu->r[3]);
/* 028C76DC */ cpu->r[30] = 0x00000000u;
/* 028C76E0 */ cpu->r[26] = 0x00000003u;
L_028C76E4: ; // 0x28c76e4
/* 028C76E4 */ _t45 = cpu->r[27] + 0x000000D0u;
/* 028C76E4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t45);
/* 028C76E8 */ _t46 = cpu->r[27] + 0x000000CCu;
/* 028C76E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t46);
/* 028C76EC */ cpu->r[4] = cpu->r[28];
/* 028C76F0 */ _t47 = cpu->r[6] + cpu->r[31];
/* 028C76F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
/* 028C76F4 */ cpu->r[5] = 0x00000040u;
/* 028C76F8 */ _t48 = cpu->r[12] + cpu->r[31];
/* 028C76F8 */ cpu->r[25] = rbrew_read32(cpu->mem, _t48);
/* 028C76FC */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C7700 */ Gambit_fn_02801ADC(cpu);
/* 028C7704 */ _t49 = cpu->r[25] + cpu->r[30];
/* 028C7704 */ rbrew_write32(cpu->mem, _t49, cpu->r[3]);
/* 028C7708 */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu;
/* 028C7708 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
/* 028C770C */ cpu->r[30] = cpu->r[30] + 0x00000004u;
/* 028C7710 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C7710 */ _t51 = _t50 & 0x00000001u;
/* 028C7710 */ if (_t51) goto L_028C7714; else goto L_028C76E4;
L_028C7714: ; // 0x28c7714
/* 028C7714 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
/* 028C7714 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028C7718 */ cpu->r[31] = cpu->r[31] + 0x00000004u;
/* 028C771C */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C771C */ _t53 = _t52 & 0x00000001u;
/* 028C771C */ if (_t53) goto L_028C7720; else goto L_028C76C4;
L_028C7720: ; // 0x28c7720
/* 028C7720 */ cpu->r[4] = cpu->r[28];
/* 028C7724 */ cpu->r[3] = 0x00000018u;
/* 028C7728 */ cpu->r[5] = 0x00000004u;
/* 028C772C */ Gambit_fn_02801ADC(cpu);
/* 028C7730 */ _t54 = cpu->r[27] + 0x000000E0u;
/* 028C7730 */ rbrew_write32(cpu->mem, _t54, cpu->r[3]);
/* 028C7734 */ /* nop */
/* 028C7738 */ _t55 = cpu->r[1] + 0x0000002Cu;
/* 028C7738 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
/* 028C773C */ cpu->lr = cpu->r[0];
/* 028C7740 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028C7744 */ return;
}
// fn_028C7748 @ 0x28c7748
void Gambit_fn_028C7748(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
L_028C7748: ; // 0x28c7748
/* 028C7748 */ cpu->r[10] = 0x00000000u;
/* 028C774C */ cpu->r[0] = 0x00000002u;
/* 028C7750 */ _t0 = cpu->r[3] + 0x00000078u;
/* 028C7750 */ rbrew_write32(cpu->mem, _t0, cpu->r[10]);
/* 028C7754 */ cpu->r[11] = cpu->r[10];
/* 028C7758 */ _t1 = cpu->r[3] + 0x0000009Cu;
/* 028C7758 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
/* 028C775C */ cpu->ctr = cpu->r[0];
/* 028C7760 */ _t2 = cpu->r[3] + 0x00000088u;
/* 028C7760 */ rbrew_write32(cpu->mem, _t2, cpu->r[10]);
L_028C7764: ; // 0x28c7764
/* 028C7764 */ _t3 = cpu->r[3] + 0x000000ACu;
/* 028C7764 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
/* 028C7768 */ _t4 = cpu->r[12] + cpu->r[10];
/* 028C7768 */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
/* 028C776C */ cpu->r[10] = cpu->r[10] + 0x00000004u;
/* 028C7770 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028C7770 */ _t5 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028C7770 */ _t6 = _t5 >> (0x00000002u & 31u);
/* 028C7770 */ _t7 = _t6 & 0x00000001u;
/* 028C7770 */ if (_t7) goto L_028C7764; else goto L_028C7774;
L_028C7774: ; // 0x28c7774
/* 028C7774 */ cpu->r[10] = 0x00000002u;
/* 028C7778 */ cpu->r[12] = 0x00000000u;
/* 028C777C */ cpu->ctr = cpu->r[10];
/* 028C7780 */ cpu->r[0] = cpu->r[12];
L_028C7784: ; // 0x28c7784
/* 028C7784 */ _t8 = cpu->r[3] + 0x000000D4u;
/* 028C7784 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
/* 028C7788 */ _t9 = cpu->r[9] + cpu->r[12];
/* 028C7788 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
/* 028C778C */ cpu->r[12] = cpu->r[12] + 0x00000004u;
/* 028C7790 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028C7790 */ _t10 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028C7790 */ _t11 = _t10 >> (0x00000002u & 31u);
/* 028C7790 */ _t12 = _t11 & 0x00000001u;
/* 028C7790 */ if (_t12) goto L_028C7784; else goto L_028C7794;
L_028C7794: ; // 0x28c7794
/* 028C7794 */ return;
}
// fn_028C7798 @ 0x28c7798
void Gambit_fn_028C7798(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _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_028C7798: ; // 0x28c7798
/* 028C7798 */ cpu->r[0] = cpu->lr;
/* 028C779C */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
/* 028C779C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C779C */ cpu->r[1] = _t0;
/* 028C77A0 */ _t1 = cpu->r[1] + 0x00000020u;
/* 028C77A0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[29]);
/* 028C77A4 */ /* nop */
/* 028C77A8 */ _t2 = cpu->r[1] + 0x00000030u;
/* 028C77A8 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
/* 028C77AC */ _t3 = cpu->r[1] + 0x00000028u;
/* 028C77AC */ rbrew_write_f32(cpu->mem, _t3, cpu->f[29]);
/* 028C77B0 */ /* nop */
/* 028C77B4 */ _t4 = cpu->r[1] + 0x00000040u;
/* 028C77B4 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[31]);
/* 028C77B8 */ _t5 = cpu->r[1] + 0x00000038u;
/* 028C77B8 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[30]);
/* 028C77BC */ /* nop */
/* 028C77C0 */ _t6 = cpu->r[1] + 0x00000054u;
/* 028C77C0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028C77C4 */ _t7 = cpu->r[1] + 0x00000048u;
/* 028C77C4 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[31]);
/* 028C77C8 */ /* nop */
/* 028C77CC */ cpu->r[31] = 0x00000000u;
/* 028C77D0 */ cpu->r[30] = 0x00000003u;
/* 028C77D4 */ cpu->r[29] = cpu->r[3];
L_028C77D8: ; // 0x28c77d8
/* 028C77D8 */ _t8 = cpu->r[29] + 0x00000070u;
/* 028C77D8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
/* 028C77DC */ _t9 = cpu->r[7] + cpu->r[31];
/* 028C77DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
/* 028C77E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C77E4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C77E4 */ _t11 = _t10 & 0x00000001u;
/* 028C77E4 */ if (_t11) goto L_028C77F8; else goto L_028C77E8;
L_028C77E8: ; // 0x28c77e8
/* 028C77E8 */ _t12 = cpu->r[29] + 0x00000074u;
/* 028C77E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
/* 028C77EC */ cpu->r[4] = 0x00000000u;
/* 028C77F0 */ cpu->r[5] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C77F4 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
L_028C77F8: ; // 0x28c77f8
/* 028C77F8 */ _t13 = cpu->r[29] + 0x00000080u;
/* 028C77F8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
/* 028C77FC */ _t14 = cpu->r[29] + 0x00000084u;
/* 028C77FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
/* 028C7800 */ _t15 = cpu->r[8] + cpu->r[31];
/* 028C7800 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
/* 028C7804 */ cpu->r[5] = rbrew_rlwinm(cpu->r[10], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C7808 */ cpu->r[4] = 0x00000000u;
/* 028C780C */ rbrew_dispatch(cpu, 0x02d0a6f0u);
/* 028C7810 */ _t16 = cpu->r[29] + 0x00000094u;
/* 028C7810 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
/* 028C7814 */ _t17 = cpu->r[12] + cpu->r[31];
/* 028C7814 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
/* 028C7818 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C781C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C781C */ _t19 = _t18 & 0x00000001u;
/* 028C781C */ if (_t19) goto L_028C7830; else goto L_028C7820;
L_028C7820: ; // 0x28c7820
/* 028C7820 */ _t20 = cpu->r[29] + 0x00000098u;
/* 028C7820 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028C7824 */ cpu->r[4] = 0x00000000u;
/* 028C7828 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C782C */ rbrew_dispatch(cpu, 0x02d0a6f0u);
L_028C7830: ; // 0x28c7830
/* 028C7830 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
/* 028C7830 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028C7834 */ cpu->r[31] = cpu->r[31] + 0x00000004u;
/* 028C7838 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C7838 */ _t22 = _t21 & 0x00000001u;
/* 028C7838 */ if (_t22) goto L_028C783C; else goto L_028C77D8;
L_028C783C: ; // 0x28c783c
/* 028C783C */ cpu->r[11] = 0x10140000u;
/* 028C7840 */ _t23 = cpu->r[11] + 0xFFFF9918u;
/* 028C7840 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t23);
/* 028C7844 */ cpu->r[26] = 0x00000002u;
/* 028C7848 */ cpu->f[29] = cpu->f[31];
/* 028C784C */ cpu->r[31] = 0x00000000u;
L_028C7850: ; // 0x28c7850
/* 028C7850 */ cpu->r[27] = 0x00000000u;
/* 028C7854 */ cpu->r[30] = 0x00000003u;
/* 028C7858 */ cpu->r[28] = cpu->r[27];
/* 028C785C */ /* nop */
L_028C7860: ; // 0x28c7860
/* 028C7860 */ _t24 = cpu->r[29] + 0x000000A4u;
/* 028C7860 */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
/* 028C7864 */ _t25 = cpu->r[29] + 0x000000A8u;
/* 028C7864 */ cpu->r[6] = rbrew_read32(cpu->mem, _t25);
/* 028C7868 */ _t26 = cpu->r[10] + cpu->r[31];
/* 028C7868 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
/* 028C786C */ _t27 = cpu->r[6] + cpu->r[31];
/* 028C786C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
/* 028C7870 */ _t28 = cpu->r[12] + cpu->r[28];
/* 028C7870 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
/* 028C7874 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C7878 */ cpu->r[4] = 0x00000000u;
/* 028C787C */ rbrew_dispatch(cpu, 0x02d0a6f0u);
/* 028C7880 */ _t29 = cpu->r[29] + 0x000000B8u;
/* 028C7880 */ cpu->r[8] = rbrew_read32(cpu->mem, _t29);
/* 028C7884 */ _t30 = cpu->r[8] + cpu->r[31];
/* 028C7884 */ cpu->r[9] = rbrew_read32(cpu->mem, _t30);
/* 028C7888 */ cpu->r[28] = cpu->r[28] + 0x00000004u;
/* 028C788C */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
/* 028C788C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028C7890 */ cpu->r[4] = cpu->r[9] + cpu->r[27];
/* 028C7894 */ cpu->r[27] = cpu->r[27] + 0x00000008u;
/* 028C7898 */ /* nop */
/* 028C789C */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C789C */ _t32 = _t31 & 0x00000001u;
/* 028C789C */ if (_t32) goto L_028C78A0; else goto L_028C7860;
L_028C78A0: ; // 0x28c78a0
/* 028C78A0 */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu;
/* 028C78A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
/* 028C78A4 */ cpu->r[31] = cpu->r[31] + 0x00000004u;
/* 028C78A8 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C78A8 */ _t34 = _t33 & 0x00000001u;
/* 028C78A8 */ if (_t34) goto L_028C78AC; else goto L_028C7850;
L_028C78AC: ; // 0x28c78ac
/* 028C78AC */ cpu->r[31] = 0x00000000u;
/* 028C78B0 */ cpu->r[27] = 0x00000002u;
L_028C78B4: ; // 0x28c78b4
/* 028C78B4 */ cpu->r[28] = 0x00000000u;
/* 028C78B8 */ cpu->r[30] = 0x00000003u;
L_028C78BC: ; // 0x28c78bc
/* 028C78BC */ _t35 = cpu->r[29] + 0x000000CCu;
/* 028C78BC */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
/* 028C78C0 */ _t36 = cpu->r[29] + 0x000000D0u;
/* 028C78C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t36);
/* 028C78C4 */ _t37 = cpu->r[10] + cpu->r[31];
/* 028C78C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t37);
/* 028C78C8 */ _t38 = cpu->r[12] + cpu->r[31];
/* 028C78C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
/* 028C78CC */ _t39 = cpu->r[11] + cpu->r[28];
/* 028C78CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t39);
/* 028C78D0 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C78D4 */ cpu->r[4] = 0x00000000u;
/* 028C78D8 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
/* 028C78DC */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
/* 028C78DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028C78E0 */ cpu->r[28] = cpu->r[28] + 0x00000004u;
/* 028C78E4 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C78E4 */ _t41 = _t40 & 0x00000001u;
/* 028C78E4 */ if (_t41) goto L_028C78E8; else goto L_028C78BC;
L_028C78E8: ; // 0x28c78e8
/* 028C78E8 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
/* 028C78E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
/* 028C78EC */ cpu->r[31] = cpu->r[31] + 0x00000004u;
/* 028C78F0 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C78F0 */ _t43 = _t42 & 0x00000001u;
/* 028C78F0 */ if (_t43) goto L_028C78F4; else goto L_028C78B4;
L_028C78F4: ; // 0x28c78f4
/* 028C78F4 */ cpu->r[0] = 0x00000003u;
/* 028C78F8 */ cpu->r[4] = 0x00000000u;
/* 028C78FC */ cpu->ctr = cpu->r[0];
/* 028C7900 */ /* nop */
L_028C7904: ; // 0x28c7904
/* 028C7904 */ _t44 = cpu->r[29] + 0x000000E0u;
/* 028C7904 */ cpu->r[5] = rbrew_read32(cpu->mem, _t44);
/* 028C7908 */ cpu->r[6] = cpu->r[5] + cpu->r[4];
/* 028C790C */ cpu->r[4] = cpu->r[4] + 0x00000008u;
/* 028C7910 */ /* nop */
/* 028C7914 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028C7914 */ _t45 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028C7914 */ _t46 = _t45 >> (0x00000002u & 31u);
/* 028C7914 */ _t47 = _t46 & 0x00000001u;
/* 028C7914 */ if (_t47) goto L_028C7904; else goto L_028C7918;
L_028C7918: ; // 0x28c7918
/* 028C7918 */ cpu->r[3] = cpu->r[29];
/* 028C791C */ Gambit_fn_028C7748(cpu);
/* 028C7920 */ /* nop */
/* 028C7924 */ _t48 = cpu->r[1] + 0x00000028u;
/* 028C7924 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t48);
/* 028C7928 */ _t49 = cpu->r[1] + 0x00000038u;
/* 028C7928 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t49);
/* 028C792C */ _t50 = cpu->r[1] + 0x00000020u;
/* 028C792C */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t50);
/* 028C7930 */ _t51 = cpu->r[1] + 0x00000048u;
/* 028C7930 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t51);
/* 028C7934 */ _t52 = cpu->r[1] + 0x00000030u;
/* 028C7934 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t52);
/* 028C7938 */ _t53 = cpu->r[1] + 0x00000040u;
/* 028C7938 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t53);
/* 028C793C */ _t54 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C793C */ _t55 = _t54 & 0x00000001u;
/* 028C793C */ if (_t55) goto L_028C7940; // else: addr-0 trap, fall-through
L_028C7940: ; // 0x28c7940
/* 028C7940 */ _t56 = cpu->r[1] + 0x00000054u;
/* 028C7940 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
/* 028C7944 */ cpu->lr = cpu->r[0];
/* 028C7948 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
/* 028C794C */ return;
}
// fn_028C779C @ 0x28c779c
void Gambit_fn_028C779C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _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_028C779C: ; // 0x28c779c
/* 028C779C */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
/* 028C779C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C779C */ cpu->r[1] = _t0;
/* 028C77A0 */ _t1 = cpu->r[1] + 0x00000020u;
/* 028C77A0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[29]);
/* 028C77A4 */ /* nop */
/* 028C77A8 */ _t2 = cpu->r[1] + 0x00000030u;
/* 028C77A8 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
/* 028C77AC */ _t3 = cpu->r[1] + 0x00000028u;
/* 028C77AC */ rbrew_write_f32(cpu->mem, _t3, cpu->f[29]);
/* 028C77B0 */ /* nop */
/* 028C77B4 */ _t4 = cpu->r[1] + 0x00000040u;
/* 028C77B4 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[31]);
/* 028C77B8 */ _t5 = cpu->r[1] + 0x00000038u;
/* 028C77B8 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[30]);
/* 028C77BC */ /* nop */
/* 028C77C0 */ _t6 = cpu->r[1] + 0x00000054u;
/* 028C77C0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028C77C4 */ _t7 = cpu->r[1] + 0x00000048u;
/* 028C77C4 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[31]);
/* 028C77C8 */ /* nop */
/* 028C77CC */ cpu->r[31] = 0x00000000u;
/* 028C77D0 */ cpu->r[30] = 0x00000003u;
/* 028C77D4 */ cpu->r[29] = cpu->r[3];
L_028C77D8: ; // 0x28c77d8
/* 028C77D8 */ _t8 = cpu->r[29] + 0x00000070u;
/* 028C77D8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
/* 028C77DC */ _t9 = cpu->r[7] + cpu->r[31];
/* 028C77DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
/* 028C77E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C77E4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C77E4 */ _t11 = _t10 & 0x00000001u;
/* 028C77E4 */ if (_t11) goto L_028C77F8; else goto L_028C77E8;
L_028C77E8: ; // 0x28c77e8
/* 028C77E8 */ _t12 = cpu->r[29] + 0x00000074u;
/* 028C77E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
/* 028C77EC */ cpu->r[4] = 0x00000000u;
/* 028C77F0 */ cpu->r[5] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C77F4 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
L_028C77F8: ; // 0x28c77f8
/* 028C77F8 */ _t13 = cpu->r[29] + 0x00000080u;
/* 028C77F8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
/* 028C77FC */ _t14 = cpu->r[29] + 0x00000084u;
/* 028C77FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
/* 028C7800 */ _t15 = cpu->r[8] + cpu->r[31];
/* 028C7800 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
/* 028C7804 */ cpu->r[5] = rbrew_rlwinm(cpu->r[10], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C7808 */ cpu->r[4] = 0x00000000u;
/* 028C780C */ rbrew_dispatch(cpu, 0x02d0a6f0u);
/* 028C7810 */ _t16 = cpu->r[29] + 0x00000094u;
/* 028C7810 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
/* 028C7814 */ _t17 = cpu->r[12] + cpu->r[31];
/* 028C7814 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
/* 028C7818 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C781C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C781C */ _t19 = _t18 & 0x00000001u;
/* 028C781C */ if (_t19) goto L_028C7830; else goto L_028C7820;
L_028C7820: ; // 0x28c7820
/* 028C7820 */ _t20 = cpu->r[29] + 0x00000098u;
/* 028C7820 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028C7824 */ cpu->r[4] = 0x00000000u;
/* 028C7828 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C782C */ rbrew_dispatch(cpu, 0x02d0a6f0u);
L_028C7830: ; // 0x28c7830
/* 028C7830 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
/* 028C7830 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028C7834 */ cpu->r[31] = cpu->r[31] + 0x00000004u;
/* 028C7838 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C7838 */ _t22 = _t21 & 0x00000001u;
/* 028C7838 */ if (_t22) goto L_028C783C; else goto L_028C77D8;
L_028C783C: ; // 0x28c783c
/* 028C783C */ cpu->r[11] = 0x10140000u;
/* 028C7840 */ _t23 = cpu->r[11] + 0xFFFF9918u;
/* 028C7840 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t23);
/* 028C7844 */ cpu->r[26] = 0x00000002u;
/* 028C7848 */ cpu->f[29] = cpu->f[31];
/* 028C784C */ cpu->r[31] = 0x00000000u;
L_028C7850: ; // 0x28c7850
/* 028C7850 */ cpu->r[27] = 0x00000000u;
/* 028C7854 */ cpu->r[30] = 0x00000003u;
/* 028C7858 */ cpu->r[28] = cpu->r[27];
/* 028C785C */ /* nop */
L_028C7860: ; // 0x28c7860
/* 028C7860 */ _t24 = cpu->r[29] + 0x000000A4u;
/* 028C7860 */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
/* 028C7864 */ _t25 = cpu->r[29] + 0x000000A8u;
/* 028C7864 */ cpu->r[6] = rbrew_read32(cpu->mem, _t25);
/* 028C7868 */ _t26 = cpu->r[10] + cpu->r[31];
/* 028C7868 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
/* 028C786C */ _t27 = cpu->r[6] + cpu->r[31];
/* 028C786C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
/* 028C7870 */ _t28 = cpu->r[12] + cpu->r[28];
/* 028C7870 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
/* 028C7874 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C7878 */ cpu->r[4] = 0x00000000u;
/* 028C787C */ rbrew_dispatch(cpu, 0x02d0a6f0u);
/* 028C7880 */ _t29 = cpu->r[29] + 0x000000B8u;
/* 028C7880 */ cpu->r[8] = rbrew_read32(cpu->mem, _t29);
/* 028C7884 */ _t30 = cpu->r[8] + cpu->r[31];
/* 028C7884 */ cpu->r[9] = rbrew_read32(cpu->mem, _t30);
/* 028C7888 */ cpu->r[28] = cpu->r[28] + 0x00000004u;
/* 028C788C */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
/* 028C788C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028C7890 */ cpu->r[4] = cpu->r[9] + cpu->r[27];
/* 028C7894 */ cpu->r[27] = cpu->r[27] + 0x00000008u;
/* 028C7898 */ /* nop */
/* 028C789C */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C789C */ _t32 = _t31 & 0x00000001u;
/* 028C789C */ if (_t32) goto L_028C78A0; else goto L_028C7860;
L_028C78A0: ; // 0x28c78a0
/* 028C78A0 */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu;
/* 028C78A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
/* 028C78A4 */ cpu->r[31] = cpu->r[31] + 0x00000004u;
/* 028C78A8 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C78A8 */ _t34 = _t33 & 0x00000001u;
/* 028C78A8 */ if (_t34) goto L_028C78AC; else goto L_028C7850;
L_028C78AC: ; // 0x28c78ac
/* 028C78AC */ cpu->r[31] = 0x00000000u;
/* 028C78B0 */ cpu->r[27] = 0x00000002u;
L_028C78B4: ; // 0x28c78b4
/* 028C78B4 */ cpu->r[28] = 0x00000000u;
/* 028C78B8 */ cpu->r[30] = 0x00000003u;
L_028C78BC: ; // 0x28c78bc
/* 028C78BC */ _t35 = cpu->r[29] + 0x000000CCu;
/* 028C78BC */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
/* 028C78C0 */ _t36 = cpu->r[29] + 0x000000D0u;
/* 028C78C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t36);
/* 028C78C4 */ _t37 = cpu->r[10] + cpu->r[31];
/* 028C78C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t37);
/* 028C78C8 */ _t38 = cpu->r[12] + cpu->r[31];
/* 028C78C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
/* 028C78CC */ _t39 = cpu->r[11] + cpu->r[28];
/* 028C78CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t39);
/* 028C78D0 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C78D4 */ cpu->r[4] = 0x00000000u;
/* 028C78D8 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
/* 028C78DC */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
/* 028C78DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028C78E0 */ cpu->r[28] = cpu->r[28] + 0x00000004u;
/* 028C78E4 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C78E4 */ _t41 = _t40 & 0x00000001u;
/* 028C78E4 */ if (_t41) goto L_028C78E8; else goto L_028C78BC;
L_028C78E8: ; // 0x28c78e8
/* 028C78E8 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
/* 028C78E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
/* 028C78EC */ cpu->r[31] = cpu->r[31] + 0x00000004u;
/* 028C78F0 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C78F0 */ _t43 = _t42 & 0x00000001u;
/* 028C78F0 */ if (_t43) goto L_028C78F4; else goto L_028C78B4;
L_028C78F4: ; // 0x28c78f4
/* 028C78F4 */ cpu->r[0] = 0x00000003u;
/* 028C78F8 */ cpu->r[4] = 0x00000000u;
/* 028C78FC */ cpu->ctr = cpu->r[0];
/* 028C7900 */ /* nop */
L_028C7904: ; // 0x28c7904
/* 028C7904 */ _t44 = cpu->r[29] + 0x000000E0u;
/* 028C7904 */ cpu->r[5] = rbrew_read32(cpu->mem, _t44);
/* 028C7908 */ cpu->r[6] = cpu->r[5] + cpu->r[4];
/* 028C790C */ cpu->r[4] = cpu->r[4] + 0x00000008u;
/* 028C7910 */ /* nop */
/* 028C7914 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028C7914 */ _t45 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028C7914 */ _t46 = _t45 >> (0x00000002u & 31u);
/* 028C7914 */ _t47 = _t46 & 0x00000001u;
/* 028C7914 */ if (_t47) goto L_028C7904; else goto L_028C7918;
L_028C7918: ; // 0x28c7918
/* 028C7918 */ cpu->r[3] = cpu->r[29];
/* 028C791C */ Gambit_fn_028C7748(cpu);
/* 028C7920 */ /* nop */
/* 028C7924 */ _t48 = cpu->r[1] + 0x00000028u;
/* 028C7924 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t48);
/* 028C7928 */ _t49 = cpu->r[1] + 0x00000038u;
/* 028C7928 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t49);
/* 028C792C */ _t50 = cpu->r[1] + 0x00000020u;
/* 028C792C */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t50);
/* 028C7930 */ _t51 = cpu->r[1] + 0x00000048u;
/* 028C7930 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t51);
/* 028C7934 */ _t52 = cpu->r[1] + 0x00000030u;
/* 028C7934 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t52);
/* 028C7938 */ _t53 = cpu->r[1] + 0x00000040u;
/* 028C7938 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t53);
/* 028C793C */ _t54 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C793C */ _t55 = _t54 & 0x00000001u;
/* 028C793C */ if (_t55) goto L_028C7940; // else: addr-0 trap, fall-through
L_028C7940: ; // 0x28c7940
/* 028C7940 */ _t56 = cpu->r[1] + 0x00000054u;
/* 028C7940 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
/* 028C7944 */ cpu->lr = cpu->r[0];
/* 028C7948 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
/* 028C794C */ return;
}
// fn_028C7950 @ 0x28c7950
void Gambit_fn_028C7950(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028C7950: ; // 0x28c7950
/* 028C7950 */ cpu->r[0] = cpu->lr;
/* 028C7954 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C7954 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C7954 */ cpu->r[1] = _t0;
/* 028C7958 */ cpu->r[12] = 0x10140000u;
/* 028C795C */ _t1 = cpu->r[12] + 0xFFFF9A00u;
/* 028C795C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t1);
/* 028C7960 */ cpu->r[12] = 0x43300000u;
/* 028C7964 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028C7964 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
/* 028C7968 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C7968 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028C796C */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C796C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C7970 */ cpu->r[0] = cpu->r[4] ^ 0x80000000u;
/* 028C7974 */ _t5 = cpu->r[1] + 0x0000000Cu;
/* 028C7974 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028C7978 */ _t6 = cpu->r[1] + 0x00000008u;
/* 028C7978 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t6);
/* 028C797C */ cpu->f[0] = cpu->f[13] - cpu->f[0];
/* 028C7980 */ cpu->f[1] = (double)(float)cpu->f[0];
/* 028C7984 */ cpu->r[31] = cpu->r[3];
/* 028C7988 */ Gambit_fn_02C8BA2C(cpu);
/* 028C798C */ _t7 = cpu->r[31] + 0x00000120u;
/* 028C798C */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
/* 028C7990 */ _t8 = cpu->r[31] + 0x000000F4u;
/* 028C7990 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[1]);
/* 028C7994 */ _t9 = cpu->r[11] + 0x00000000u;
/* 028C7994 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
/* 028C7998 */ cpu->f[0] = cpu->f[1] * cpu->f[0];
/* 028C799C */ /* nop */
/* 028C79A0 */ _t10 = cpu->r[1] + 0x0000001Cu;
/* 028C79A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028C79A4 */ cpu->lr = cpu->r[0];
/* 028C79A8 */ _t11 = cpu->r[1] + 0x00000014u;
/* 028C79A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028C79AC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C79B0 */ return;
}
// fn_028C7954 @ 0x28c7954
void Gambit_fn_028C7954(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028C7954: ; // 0x28c7954
/* 028C7954 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C7954 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C7954 */ cpu->r[1] = _t0;
/* 028C7958 */ cpu->r[12] = 0x10140000u;
/* 028C795C */ _t1 = cpu->r[12] + 0xFFFF9A00u;
/* 028C795C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t1);
/* 028C7960 */ cpu->r[12] = 0x43300000u;
/* 028C7964 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028C7964 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
/* 028C7968 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C7968 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028C796C */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C796C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C7970 */ cpu->r[0] = cpu->r[4] ^ 0x80000000u;
/* 028C7974 */ _t5 = cpu->r[1] + 0x0000000Cu;
/* 028C7974 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028C7978 */ _t6 = cpu->r[1] + 0x00000008u;
/* 028C7978 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t6);
/* 028C797C */ cpu->f[0] = cpu->f[13] - cpu->f[0];
/* 028C7980 */ cpu->f[1] = (double)(float)cpu->f[0];
/* 028C7984 */ cpu->r[31] = cpu->r[3];
/* 028C7988 */ Gambit_fn_02C8BA2C(cpu);
/* 028C798C */ _t7 = cpu->r[31] + 0x00000120u;
/* 028C798C */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
/* 028C7990 */ _t8 = cpu->r[31] + 0x000000F4u;
/* 028C7990 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[1]);
/* 028C7994 */ _t9 = cpu->r[11] + 0x00000000u;
/* 028C7994 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
/* 028C7998 */ cpu->f[0] = cpu->f[1] * cpu->f[0];
/* 028C799C */ /* nop */
/* 028C79A0 */ _t10 = cpu->r[1] + 0x0000001Cu;
/* 028C79A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028C79A4 */ cpu->lr = cpu->r[0];
/* 028C79A8 */ _t11 = cpu->r[1] + 0x00000014u;
/* 028C79A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028C79AC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C79B0 */ return;
}
// fn_028C79B4 @ 0x28c79b4
void Gambit_fn_028C79B4(CPUState* cpu) {
uint32_t _t0;
L_028C79B4: ; // 0x28c79b4
/* 028C79B4 */ _t0 = cpu->r[3] + 0x0000010Cu;
/* 028C79B4 */ rbrew_write_f32(cpu->mem, _t0, cpu->f[1]);
/* 028C79B8 */ return;
}
// fn_028C79BC @ 0x28c79bc
void Gambit_fn_028C79BC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _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_028C79BC: ; // 0x28c79bc
/* 028C79BC */ cpu->r[0] = cpu->lr;
/* 028C79C0 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
/* 028C79C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C79C0 */ cpu->r[1] = _t0;
/* 028C79C4 */ _t1 = cpu->r[1] + 0x00000020u;
/* 028C79C4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[29]);
/* 028C79C8 */ _t2 = cpu->r[1] + 0x00000030u;
/* 028C79C8 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
/* 028C79CC */ /* nop */
/* 028C79D0 */ _t3 = cpu->r[1] + 0x00000040u;
/* 028C79D0 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[31]);
/* 028C79D4 */ _t4 = cpu->r[1] + 0x00000028u;
/* 028C79D4 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[29]);
/* 028C79D8 */ _t5 = cpu->r[1] + 0x00000010u;
/* 028C79D8 */ rbrew_write32(cpu->mem, _t5, cpu->r[28]);
/* 028C79DC */ _t6 = cpu->r[1] + 0x00000054u;
/* 028C79DC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028C79E0 */ _t7 = cpu->r[1] + 0x00000014u;
/* 028C79E0 */ rbrew_write32(cpu->mem, _t7, cpu->r[29]);
/* 028C79E4 */ _t8 = cpu->r[1] + 0x00000018u;
/* 028C79E4 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
/* 028C79E8 */ /* nop */
/* 028C79EC */ _t9 = cpu->r[1] + 0x0000001Cu;
/* 028C79EC */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
/* 028C79F0 */ /* nop */
/* 028C79F4 */ _t10 = cpu->r[1] + 0x00000038u;
/* 028C79F4 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[30]);
/* 028C79F8 */ cpu->r[12] = 0x101D0000u;
/* 028C79FC */ _t11 = cpu->r[1] + 0x00000048u;
/* 028C79FC */ rbrew_write_f32(cpu->mem, _t11, cpu->f[31]);
/* 028C7A00 */ _t12 = cpu->r[12] + 0xFFFF9A8Cu;
/* 028C7A00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
/* 028C7A04 */ cpu->f[30] = cpu->f[1];
/* 028C7A08 */ cpu->r[11] = 0x10140000u;
/* 028C7A0C */ cpu->r[28] = 0x00000002u;
/* 028C7A10 */ _t13 = cpu->r[12] + 0x0000001Cu;
/* 028C7A10 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t13);
/* 028C7A14 */ cpu->r[31] = cpu->r[3];
/* 028C7A18 */ cpu->r[30] = 0x00000000u;
/* 028C7A1C */ _t14 = cpu->r[11] + 0xFFFF9A08u;
/* 028C7A1C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t14);
/* 028C7A20 */ cpu->f[29] = cpu->f[30] * cpu->f[11];
/* 028C7A24 */ cpu->r[29] = cpu->r[30];
L_028C7A28: ; // 0x28c7a28
/* 028C7A28 */ cpu->r[11] = 0x10140000u;
/* 028C7A2C */ _t15 = cpu->r[31] + 0x000000A8u;
/* 028C7A2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
/* 028C7A30 */ _t16 = cpu->r[11] + 0xFFFF99F8u;
/* 028C7A30 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t16);
/* 028C7A34 */ cpu->r[11] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C7A38 */ cpu->r[0] = 0x43300000u;
/* 028C7A3C */ _t17 = cpu->r[11] + cpu->r[12];
/* 028C7A3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
/* 028C7A40 */ _t18 = cpu->r[1] + 0x00000008u;
/* 028C7A40 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
/* 028C7A44 */ cpu->r[12] = 0x10140000u;
/* 028C7A48 */ _t19 = cpu->r[1] + 0x0000000Cu;
/* 028C7A48 */ rbrew_write32(cpu->mem, _t19, cpu->r[11]);
/* 028C7A4C */ _t20 = cpu->r[1] + 0x00000008u;
/* 028C7A4C */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t20);
/* 028C7A50 */ _t21 = cpu->r[12] + 0xFFFF9A0Cu;
/* 028C7A50 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t21);
/* 028C7A54 */ cpu->f[10] = cpu->f[12] - cpu->f[0];
/* 028C7A58 */ cpu->f[0] = (double)(float)cpu->f[10];
/* 028C7A5C */ cpu->f[1] = cpu->f[31];
/* 028C7A60 */ cpu->f[12] = cpu->f[13] * cpu->f[0];
/* 028C7A64 */ cpu->f[2] = cpu->f[12] / cpu->f[29];
/* 028C7A68 */ Gambit_fn_02C88860(cpu);
/* 028C7A6C */ _t22 = cpu->r[31] + 0x000000B0u;
/* 028C7A6C */ cpu->r[11] = rbrew_read32(cpu->mem, _t22);
/* 028C7A70 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
/* 028C7A70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028C7A74 */ /* nop */
/* 028C7A78 */ cpu->r[12] = cpu->r[11] + cpu->r[29];
/* 028C7A7C */ cpu->r[29] = cpu->r[29] + 0x00000008u;
/* 028C7A80 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028C7A84 */ /* nop */
/* 028C7A88 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C7A88 */ _t24 = _t23 & 0x00000001u;
/* 028C7A88 */ if (_t24) goto L_028C7A8C; else goto L_028C7A28;
L_028C7A8C: ; // 0x28c7a8c
/* 028C7A8C */ _t25 = cpu->r[31] + 0x00000110u;
/* 028C7A8C */ rbrew_write_f32(cpu->mem, _t25, cpu->f[30]);
/* 028C7A90 */ _t26 = cpu->r[1] + 0x00000010u;
/* 028C7A90 */ cpu->r[28] = rbrew_read32(cpu->mem, _t26);
/* 028C7A94 */ _t27 = cpu->r[1] + 0x00000014u;
/* 028C7A94 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
/* 028C7A98 */ _t28 = cpu->r[1] + 0x00000048u;
/* 028C7A98 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t28);
/* 028C7A9C */ _t29 = cpu->r[1] + 0x00000028u;
/* 028C7A9C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t29);
/* 028C7AA0 */ _t30 = cpu->r[1] + 0x00000040u;
/* 028C7AA0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t30);
/* 028C7AA4 */ _t31 = cpu->r[1] + 0x00000038u;
/* 028C7AA4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t31);
/* 028C7AA8 */ _t32 = cpu->r[1] + 0x00000020u;
/* 028C7AA8 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t32);
/* 028C7AAC */ _t33 = cpu->r[1] + 0x00000030u;
/* 028C7AAC */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t33);
/* 028C7AB0 */ _t34 = cpu->r[1] + 0x0000001Cu;
/* 028C7AB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
/* 028C7AB4 */ _t35 = cpu->r[1] + 0x00000018u;
/* 028C7AB4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
/* 028C7AB8 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C7AB8 */ _t37 = _t36 & 0x00000001u;
/* 028C7AB8 */ if (_t37) goto L_028C7ABC; // else: addr-0 trap, fall-through
L_028C7ABC: ; // 0x28c7abc
/* 028C7ABC */ _t38 = cpu->r[1] + 0x00000054u;
/* 028C7ABC */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
/* 028C7AC0 */ cpu->lr = cpu->r[0];
/* 028C7AC4 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
/* 028C7AC8 */ return;
}
// fn_028C79C0 @ 0x28c79c0
void Gambit_fn_028C79C0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _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_028C79C0: ; // 0x28c79c0
/* 028C79C0 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
/* 028C79C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C79C0 */ cpu->r[1] = _t0;
/* 028C79C4 */ _t1 = cpu->r[1] + 0x00000020u;
/* 028C79C4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[29]);
/* 028C79C8 */ _t2 = cpu->r[1] + 0x00000030u;
/* 028C79C8 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
/* 028C79CC */ /* nop */
/* 028C79D0 */ _t3 = cpu->r[1] + 0x00000040u;
/* 028C79D0 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[31]);
/* 028C79D4 */ _t4 = cpu->r[1] + 0x00000028u;
/* 028C79D4 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[29]);
/* 028C79D8 */ _t5 = cpu->r[1] + 0x00000010u;
/* 028C79D8 */ rbrew_write32(cpu->mem, _t5, cpu->r[28]);
/* 028C79DC */ _t6 = cpu->r[1] + 0x00000054u;
/* 028C79DC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028C79E0 */ _t7 = cpu->r[1] + 0x00000014u;
/* 028C79E0 */ rbrew_write32(cpu->mem, _t7, cpu->r[29]);
/* 028C79E4 */ _t8 = cpu->r[1] + 0x00000018u;
/* 028C79E4 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
/* 028C79E8 */ /* nop */
/* 028C79EC */ _t9 = cpu->r[1] + 0x0000001Cu;
/* 028C79EC */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
/* 028C79F0 */ /* nop */
/* 028C79F4 */ _t10 = cpu->r[1] + 0x00000038u;
/* 028C79F4 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[30]);
/* 028C79F8 */ cpu->r[12] = 0x101D0000u;
/* 028C79FC */ _t11 = cpu->r[1] + 0x00000048u;
/* 028C79FC */ rbrew_write_f32(cpu->mem, _t11, cpu->f[31]);
/* 028C7A00 */ _t12 = cpu->r[12] + 0xFFFF9A8Cu;
/* 028C7A00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
/* 028C7A04 */ cpu->f[30] = cpu->f[1];
/* 028C7A08 */ cpu->r[11] = 0x10140000u;
/* 028C7A0C */ cpu->r[28] = 0x00000002u;
/* 028C7A10 */ _t13 = cpu->r[12] + 0x0000001Cu;
/* 028C7A10 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t13);
/* 028C7A14 */ cpu->r[31] = cpu->r[3];
/* 028C7A18 */ cpu->r[30] = 0x00000000u;
/* 028C7A1C */ _t14 = cpu->r[11] + 0xFFFF9A08u;
/* 028C7A1C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t14);
/* 028C7A20 */ cpu->f[29] = cpu->f[30] * cpu->f[11];
/* 028C7A24 */ cpu->r[29] = cpu->r[30];
L_028C7A28: ; // 0x28c7a28
/* 028C7A28 */ cpu->r[11] = 0x10140000u;
/* 028C7A2C */ _t15 = cpu->r[31] + 0x000000A8u;
/* 028C7A2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
/* 028C7A30 */ _t16 = cpu->r[11] + 0xFFFF99F8u;
/* 028C7A30 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t16);
/* 028C7A34 */ cpu->r[11] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028C7A38 */ cpu->r[0] = 0x43300000u;
/* 028C7A3C */ _t17 = cpu->r[11] + cpu->r[12];
/* 028C7A3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
/* 028C7A40 */ _t18 = cpu->r[1] + 0x00000008u;
/* 028C7A40 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
/* 028C7A44 */ cpu->r[12] = 0x10140000u;
/* 028C7A48 */ _t19 = cpu->r[1] + 0x0000000Cu;
/* 028C7A48 */ rbrew_write32(cpu->mem, _t19, cpu->r[11]);
/* 028C7A4C */ _t20 = cpu->r[1] + 0x00000008u;
/* 028C7A4C */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t20);
/* 028C7A50 */ _t21 = cpu->r[12] + 0xFFFF9A0Cu;
/* 028C7A50 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t21);
/* 028C7A54 */ cpu->f[10] = cpu->f[12] - cpu->f[0];
/* 028C7A58 */ cpu->f[0] = (double)(float)cpu->f[10];
/* 028C7A5C */ cpu->f[1] = cpu->f[31];
/* 028C7A60 */ cpu->f[12] = cpu->f[13] * cpu->f[0];
/* 028C7A64 */ cpu->f[2] = cpu->f[12] / cpu->f[29];
/* 028C7A68 */ Gambit_fn_02C88860(cpu);
/* 028C7A6C */ _t22 = cpu->r[31] + 0x000000B0u;
/* 028C7A6C */ cpu->r[11] = rbrew_read32(cpu->mem, _t22);
/* 028C7A70 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
/* 028C7A70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028C7A74 */ /* nop */
/* 028C7A78 */ cpu->r[12] = cpu->r[11] + cpu->r[29];
/* 028C7A7C */ cpu->r[29] = cpu->r[29] + 0x00000008u;
/* 028C7A80 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028C7A84 */ /* nop */
/* 028C7A88 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C7A88 */ _t24 = _t23 & 0x00000001u;
/* 028C7A88 */ if (_t24) goto L_028C7A8C; else goto L_028C7A28;
L_028C7A8C: ; // 0x28c7a8c
/* 028C7A8C */ _t25 = cpu->r[31] + 0x00000110u;
/* 028C7A8C */ rbrew_write_f32(cpu->mem, _t25, cpu->f[30]);
/* 028C7A90 */ _t26 = cpu->r[1] + 0x00000010u;
/* 028C7A90 */ cpu->r[28] = rbrew_read32(cpu->mem, _t26);
/* 028C7A94 */ _t27 = cpu->r[1] + 0x00000014u;
/* 028C7A94 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
/* 028C7A98 */ _t28 = cpu->r[1] + 0x00000048u;
/* 028C7A98 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t28);
/* 028C7A9C */ _t29 = cpu->r[1] + 0x00000028u;
/* 028C7A9C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t29);
/* 028C7AA0 */ _t30 = cpu->r[1] + 0x00000040u;
/* 028C7AA0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t30);
/* 028C7AA4 */ _t31 = cpu->r[1] + 0x00000038u;
/* 028C7AA4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t31);
/* 028C7AA8 */ _t32 = cpu->r[1] + 0x00000020u;
/* 028C7AA8 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t32);
/* 028C7AAC */ _t33 = cpu->r[1] + 0x00000030u;
/* 028C7AAC */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t33);
/* 028C7AB0 */ _t34 = cpu->r[1] + 0x0000001Cu;
/* 028C7AB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
/* 028C7AB4 */ _t35 = cpu->r[1] + 0x00000018u;
/* 028C7AB4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
/* 028C7AB8 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C7AB8 */ _t37 = _t36 & 0x00000001u;
/* 028C7AB8 */ if (_t37) goto L_028C7ABC; // else: addr-0 trap, fall-through
L_028C7ABC: ; // 0x28c7abc
/* 028C7ABC */ _t38 = cpu->r[1] + 0x00000054u;
/* 028C7ABC */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
/* 028C7AC0 */ cpu->lr = cpu->r[0];
/* 028C7AC4 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
/* 028C7AC8 */ return;
}
// fn_028C7ACC @ 0x28c7acc
void Gambit_fn_028C7ACC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29;
double _ft19, _ft20;
L_028C7ACC: ; // 0x28c7acc
/* 028C7ACC */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
/* 028C7ACC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C7ACC */ cpu->r[1] = _t0;
/* 028C7AD0 */ cpu->r[0] = cpu->lr;
/* 028C7AD4 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028C7AD4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[29]);
/* 028C7AD8 */ /* nop */
/* 028C7ADC */ _t2 = cpu->r[1] + 0x00000018u;
/* 028C7ADC */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
/* 028C7AE0 */ /* nop */
/* 028C7AE4 */ _t3 = cpu->r[1] + 0x00000010u;
/* 028C7AE4 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[29]);
/* 028C7AE8 */ cpu->r[12] = 0x10140000u;
/* 028C7AEC */ _t4 = cpu->r[1] + 0x00000020u;
/* 028C7AEC */ rbrew_write_f32(cpu->mem, _t4, cpu->f[30]);
/* 028C7AF0 */ cpu->f[29] = cpu->f[2];
/* 028C7AF4 */ _t5 = cpu->r[12] + 0xFFFF9900u;
/* 028C7AF4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t5);
/* 028C7AF8 */ cpu->r[11] = 0x10140000u;
/* 028C7AFC */ _t6 = cpu->r[1] + 0x0000003Cu;
/* 028C7AFC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028C7B00 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[29], cpu->f[30]);
/* 028C7B04 */ _t7 = cpu->r[1] + 0x00000028u;
/* 028C7B04 */ rbrew_write_f64(cpu->mem, _t7, cpu->f[31]);
/* 028C7B08 */ /* nop */
/* 028C7B0C */ cpu->r[12] = 0x101D0000u;
/* 028C7B10 */ _t8 = cpu->r[1] + 0x00000030u;
/* 028C7B10 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[31]);
/* 028C7B14 */ _t9 = cpu->r[12] + 0xFFFF9A8Cu;
/* 028C7B14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
/* 028C7B18 */ _t10 = cpu->r[11] + 0xFFFF9918u;
/* 028C7B18 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t10);
/* 028C7B1C */ _t11 = cpu->r[12] + 0x0000001Cu;
/* 028C7B1C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t11);
/* 028C7B20 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C7B20 */ _t13 = _t12 & 0x00000001u;
/* 028C7B20 */ if (_t13) goto L_028C7B8C; else goto L_028C7B24;
L_028C7B24: ; // 0x28c7b24
/* 028C7B24 */ cpu->r[12] = 0x10140000u;
/* 028C7B28 */ _t14 = cpu->r[12] + 0xFFFF9A10u;
/* 028C7B28 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t14);
/* 028C7B2C */ cpu->f[11] = cpu->f[12] * cpu->f[1];
/* 028C7B30 */ cpu->f[1] = cpu->f[11] / cpu->f[8];
/* 028C7B34 */ Gambit_fn_02C88F2C(cpu);
/* 028C7B38 */ cpu->f[8] = cpu->f[30] - cpu->f[1];
/* 028C7B3C */ cpu->f[10] = -fma(cpu->f[1], cpu->f[1], -(cpu->f[30]));
/* 028C7B40 */ cpu->f[9] = cpu->f[29] * cpu->f[29];
/* 028C7B44 */ cpu->f[7] = cpu->f[29] + cpu->f[29];
/* 028C7B48 */ cpu->f[11] = cpu->f[9] * cpu->f[10];
/* 028C7B4C */ cpu->f[11] = fma(cpu->f[7], cpu->f[8], -(cpu->f[11]));
/* 028C7B50 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[31]);
/* 028C7B54 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C7B54 */ _t16 = _t15 & 0x00000001u;
/* 028C7B54 */ if (_t16) goto L_028C7B58; else goto L_028C7B7C;
L_028C7B58: ; // 0x28c7b58
/* 028C7B58 */ cpu->r[12] = 0x10140000u;
/* 028C7B5C */ _t17 = cpu->r[12] + 0xFFFF9A14u;
/* 028C7B5C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
/* 028C7B60 */ cpu->r[12] = 0x10140000u;
/* 028C7B64 */ _t18 = cpu->r[12] + 0xFFFF9904u;
/* 028C7B64 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
/* 028C7B68 */ _ft19 = sqrt(cpu->f[11]);
/* 028C7B68 */ _ft20 = (double)(int32_t)0x00000001u;
/* 028C7B68 */ cpu->f[31] = _ft20 / _ft19;
/* 028C7B6C */ cpu->f[12] = cpu->f[31] * cpu->f[31];
/* 028C7B70 */ cpu->f[8] = cpu->f[31] * cpu->f[0];
/* 028C7B74 */ cpu->f[12] = -fma(cpu->f[12], cpu->f[11], -(cpu->f[13]));
/* 028C7B78 */ cpu->f[31] = cpu->f[12] * cpu->f[8];
L_028C7B7C: ; // 0x28c7b7c
/* 028C7B7C */ cpu->f[7] = -fma(cpu->f[29], cpu->f[1], -(cpu->f[30]));
/* 028C7B80 */ cpu->f[10] = cpu->f[30] - cpu->f[29];
/* 028C7B84 */ cpu->f[9] = -fma(cpu->f[31], cpu->f[11], -(cpu->f[7]));
/* 028C7B88 */ cpu->f[31] = cpu->f[9] / cpu->f[10];
L_028C7B8C: ; // 0x28c7b8c
/* 028C7B8C */ _t21 = cpu->r[1] + 0x00000010u;
/* 028C7B8C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t21);
/* 028C7B90 */ _t22 = cpu->r[1] + 0x00000020u;
/* 028C7B90 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t22);
/* 028C7B94 */ _t23 = cpu->r[1] + 0x00000008u;
/* 028C7B94 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t23);
/* 028C7B98 */ cpu->f[1] = cpu->f[31];
/* 028C7B9C */ _t24 = cpu->r[1] + 0x00000030u;
/* 028C7B9C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t24);
/* 028C7BA0 */ _t25 = cpu->r[1] + 0x00000018u;
/* 028C7BA0 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t25);
/* 028C7BA4 */ _t26 = cpu->r[1] + 0x00000028u;
/* 028C7BA4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t26);
/* 028C7BA8 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C7BA8 */ _t28 = _t27 & 0x00000001u;
/* 028C7BA8 */ if (_t28) goto L_028C7BAC; // else: addr-0 trap, fall-through
L_028C7BAC: ; // 0x28c7bac
/* 028C7BAC */ _t29 = cpu->r[1] + 0x0000003Cu;
/* 028C7BAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
/* 028C7BB0 */ cpu->lr = cpu->r[0];
/* 028C7BB4 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
/* 028C7BB8 */ return;
}
// fn_028C7BBC @ 0x28c7bbc
void Gambit_fn_028C7BBC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
L_028C7BBC: ; // 0x28c7bbc
/* 028C7BBC */ cpu->r[0] = cpu->lr;
/* 028C7BC0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028C7BC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C7BC0 */ cpu->r[1] = _t0;
/* 028C7BC4 */ cpu->r[12] = 0x10140000u;
/* 028C7BC8 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028C7BC8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028C7BCC */ /* nop */
/* 028C7BD0 */ _t2 = cpu->r[12] + 0xFFFF98F8u;
/* 028C7BD0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t2);
/* 028C7BD4 */ cpu->r[12] = 0x10140000u;
/* 028C7BD8 */ _t3 = cpu->r[1] + 0x00000018u;
/* 028C7BD8 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028C7BDC */ cpu->f[31] = cpu->f[1];
/* 028C7BE0 */ _t4 = cpu->r[12] + 0xFFFF9A18u;
/* 028C7BE0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
/* 028C7BE4 */ _t5 = cpu->r[1] + 0x0000000Cu;
/* 028C7BE4 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
/* 028C7BE8 */ cpu->f[2] = fma(cpu->f[0], cpu->f[31], cpu->f[12]);
/* 028C7BEC */ _t6 = cpu->r[1] + 0x00000024u;
/* 028C7BEC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028C7BF0 */ _t7 = cpu->r[3] + 0x0000010Cu;
/* 028C7BF0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t7);
/* 028C7BF4 */ cpu->r[31] = cpu->r[3];
/* 028C7BF8 */ Gambit_fn_028C7ACC(cpu);
/* 028C7BFC */ cpu->r[11] = 0x10140000u;
/* 028C7C00 */ _t8 = cpu->r[11] + 0xFFFF9900u;
/* 028C7C00 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t8);
/* 028C7C04 */ /* nop */
/* 028C7C08 */ _t9 = cpu->r[31] + 0x00000114u;
/* 028C7C08 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[31]);
/* 028C7C0C */ cpu->f[11] = cpu->f[13] - cpu->f[1];
/* 028C7C10 */ /* nop */
/* 028C7C14 */ /* nop */
/* 028C7C18 */ _t10 = cpu->r[1] + 0x00000018u;
/* 028C7C18 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t10);
/* 028C7C1C */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028C7C1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028C7C20 */ _t12 = cpu->r[1] + 0x00000010u;
/* 028C7C20 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t12);
/* 028C7C24 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C7C24 */ _t14 = _t13 & 0x00000001u;
/* 028C7C24 */ if (_t14) goto L_028C7C28; // else: addr-0 trap, fall-through
L_028C7C28: ; // 0x28c7c28
/* 028C7C28 */ _t15 = cpu->r[1] + 0x00000024u;
/* 028C7C28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028C7C2C */ cpu->lr = cpu->r[0];
/* 028C7C30 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C7C34 */ return;
}
// fn_028C7BC0 @ 0x28c7bc0
void Gambit_fn_028C7BC0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
L_028C7BC0: ; // 0x28c7bc0
/* 028C7BC0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028C7BC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C7BC0 */ cpu->r[1] = _t0;
/* 028C7BC4 */ cpu->r[12] = 0x10140000u;
/* 028C7BC8 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028C7BC8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028C7BCC */ /* nop */
/* 028C7BD0 */ _t2 = cpu->r[12] + 0xFFFF98F8u;
/* 028C7BD0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t2);
/* 028C7BD4 */ cpu->r[12] = 0x10140000u;
/* 028C7BD8 */ _t3 = cpu->r[1] + 0x00000018u;
/* 028C7BD8 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028C7BDC */ cpu->f[31] = cpu->f[1];
/* 028C7BE0 */ _t4 = cpu->r[12] + 0xFFFF9A18u;
/* 028C7BE0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
/* 028C7BE4 */ _t5 = cpu->r[1] + 0x0000000Cu;
/* 028C7BE4 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
/* 028C7BE8 */ cpu->f[2] = fma(cpu->f[0], cpu->f[31], cpu->f[12]);
/* 028C7BEC */ _t6 = cpu->r[1] + 0x00000024u;
/* 028C7BEC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028C7BF0 */ _t7 = cpu->r[3] + 0x0000010Cu;
/* 028C7BF0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t7);
/* 028C7BF4 */ cpu->r[31] = cpu->r[3];
/* 028C7BF8 */ Gambit_fn_028C7ACC(cpu);
/* 028C7BFC */ cpu->r[11] = 0x10140000u;
/* 028C7C00 */ _t8 = cpu->r[11] + 0xFFFF9900u;
/* 028C7C00 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t8);
/* 028C7C04 */ /* nop */
/* 028C7C08 */ _t9 = cpu->r[31] + 0x00000114u;
/* 028C7C08 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[31]);
/* 028C7C0C */ cpu->f[11] = cpu->f[13] - cpu->f[1];
/* 028C7C10 */ /* nop */
/* 028C7C14 */ /* nop */
/* 028C7C18 */ _t10 = cpu->r[1] + 0x00000018u;
/* 028C7C18 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t10);
/* 028C7C1C */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028C7C1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028C7C20 */ _t12 = cpu->r[1] + 0x00000010u;
/* 028C7C20 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t12);
/* 028C7C24 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C7C24 */ _t14 = _t13 & 0x00000001u;
/* 028C7C24 */ if (_t14) goto L_028C7C28; // else: addr-0 trap, fall-through
L_028C7C28: ; // 0x28c7c28
/* 028C7C28 */ _t15 = cpu->r[1] + 0x00000024u;
/* 028C7C28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028C7C2C */ cpu->lr = cpu->r[0];
/* 028C7C30 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C7C34 */ return;
}
// fn_028C7C38 @ 0x28c7c38
void Gambit_fn_028C7C38(CPUState* cpu) {
uint32_t _t0, _t1;
L_028C7C38: ; // 0x28c7c38
/* 028C7C38 */ cpu->r[12] = 0x10140000u;
/* 028C7C3C */ _t0 = cpu->r[12] + 0xFFFF9910u;
/* 028C7C3C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t0);
/* 028C7C40 */ cpu->r[12] = 0x10140000u;
/* 028C7C44 */ cpu->f[13] = cpu->f[1] / cpu->f[13];
/* 028C7C48 */ _t1 = cpu->r[12] + 0xFFFF9900u;
/* 028C7C48 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
/* 028C7C4C */ cpu->f[0] = cpu->f[0] - cpu->f[13];
/* 028C7C50 */ /* nop */
/* 028C7C54 */ return;
}
// fn_028C7C58 @ 0x28c7c58
void Gambit_fn_028C7C58(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_028C7C58: ; // 0x28c7c58
/* 028C7C58 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
/* 028C7C58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C7C58 */ cpu->r[1] = _t0;
/* 028C7C5C */ cpu->r[0] = cpu->lr;
/* 028C7C60 */ _t1 = cpu->r[1] + 0x00000020u;
/* 028C7C60 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028C7C64 */ /* nop */
/* 028C7C68 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028C7C68 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
/* 028C7C6C */ /* nop */
/* 028C7C70 */ cpu->r[12] = 0x10140000u;
/* 028C7C74 */ _t3 = cpu->r[1] + 0x00000018u;
/* 028C7C74 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
/* 028C7C78 */ cpu->f[30] = cpu->f[1];
/* 028C7C7C */ _t4 = cpu->r[12] + 0xFFFF9918u;
/* 028C7C7C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t4);
/* 028C7C80 */ _t5 = cpu->r[1] + 0x00000028u;
/* 028C7C80 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[31]);
/* 028C7C84 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[1]);
/* 028C7C88 */ _t6 = cpu->r[1] + 0x00000034u;
/* 028C7C88 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028C7C8C */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 028C7C8C */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
/* 028C7C90 */ cpu->r[31] = cpu->r[3];
/* 028C7C94 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C7C94 */ _t9 = _t8 & 0x00000001u;
/* 028C7C94 */ if (_t9) goto L_028C7CC8; else goto L_028C7C98;
L_028C7C98: ; // 0x28c7c98
/* 028C7C98 */ cpu->r[12] = 0x10140000u;
/* 028C7C9C */ _t10 = cpu->r[12] + 0xFFFF9A1Cu;
/* 028C7C9C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
/* 028C7CA0 */ cpu->r[12] = 0x10140000u;
/* 028C7CA4 */ cpu->f[31] = cpu->f[2] * cpu->f[0];
/* 028C7CA8 */ _t11 = cpu->r[12] + 0xFFFF9A08u;
/* 028C7CA8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t11);
/* 028C7CAC */ Gambit_fn_02827650(cpu);
/* 028C7CB0 */ cpu->f[1] = cpu->f[1] * cpu->f[31];
/* 028C7CB4 */ Gambit_fn_02827584(cpu);
/* 028C7CB8 */ cpu->f[2] = cpu->f[1];
/* 028C7CBC */ cpu->f[1] = cpu->f[30];
/* 028C7CC0 */ cpu->r[3] = cpu->r[31];
/* 028C7CC4 */ Gambit_fn_028C7ACC(cpu);
L_028C7CC8: ; // 0x28c7cc8
/* 028C7CC8 */ _t12 = cpu->r[1] + 0x0000000Cu;
/* 028C7CC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
/* 028C7CCC */ _t13 = cpu->r[1] + 0x00000028u;
/* 028C7CCC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t13);
/* 028C7CD0 */ _t14 = cpu->r[1] + 0x00000018u;
/* 028C7CD0 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t14);
/* 028C7CD4 */ _t15 = cpu->r[1] + 0x00000020u;
/* 028C7CD4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t15);
/* 028C7CD8 */ _t16 = cpu->r[1] + 0x00000010u;
/* 028C7CD8 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t16);
/* 028C7CDC */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C7CDC */ _t18 = _t17 & 0x00000001u;
/* 028C7CDC */ if (_t18) goto L_028C7CE0; // else: addr-0 trap, fall-through
L_028C7CE0: ; // 0x28c7ce0
/* 028C7CE0 */ _t19 = cpu->r[1] + 0x00000034u;
/* 028C7CE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028C7CE4 */ cpu->lr = cpu->r[0];
/* 028C7CE8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
/* 028C7CEC */ return;
}
// fn_028C7CF0 @ 0x28c7cf0
void Gambit_fn_028C7CF0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
L_028C7CF0: ; // 0x28c7cf0
/* 028C7CF0 */ cpu->r[0] = cpu->lr;
/* 028C7CF4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C7CF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C7CF4 */ cpu->r[1] = _t0;
/* 028C7CF8 */ cpu->r[11] = 0x10140000u;
/* 028C7CFC */ _t1 = cpu->r[1] + 0x00000010u;
/* 028C7CFC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028C7D00 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C7D00 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028C7D04 */ cpu->r[31] = cpu->r[4];
/* 028C7D08 */ _t3 = cpu->r[11] + 0xFFFF9A00u;
/* 028C7D08 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t3);
/* 028C7D0C */ cpu->r[12] = 0x43300000u;
/* 028C7D10 */ _t4 = cpu->r[1] + 0x00000008u;
/* 028C7D10 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
/* 028C7D14 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028C7D14 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028C7D18 */ cpu->r[0] = cpu->r[31] ^ 0x80000000u;
/* 028C7D1C */ _t6 = cpu->r[1] + 0x0000000Cu;
/* 028C7D1C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028C7D20 */ _t7 = cpu->r[1] + 0x00000008u;
/* 028C7D20 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t7);
/* 028C7D24 */ cpu->f[0] = cpu->f[0] - cpu->f[13];
/* 028C7D28 */ cpu->f[2] = (double)(float)cpu->f[0];
/* 028C7D2C */ _t8 = cpu->r[3] + 0x0000010Cu;
/* 028C7D2C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t8);
/* 028C7D30 */ cpu->r[30] = cpu->r[3];
/* 028C7D34 */ Gambit_fn_028C7C58(cpu);
/* 028C7D38 */ cpu->r[10] = 0x10140000u;
/* 028C7D3C */ _t9 = cpu->r[10] + 0xFFFF9900u;
/* 028C7D3C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
/* 028C7D40 */ /* nop */
/* 028C7D44 */ _t10 = cpu->r[30] + 0x00000118u;
/* 028C7D44 */ rbrew_write32(cpu->mem, _t10, cpu->r[31]);
/* 028C7D48 */ cpu->f[13] = cpu->f[0] - cpu->f[1];
/* 028C7D4C */ /* nop */
/* 028C7D50 */ /* nop */
/* 028C7D54 */ _t11 = cpu->r[1] + 0x0000001Cu;
/* 028C7D54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028C7D58 */ _t12 = cpu->r[1] + 0x00000014u;
/* 028C7D58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
/* 028C7D5C */ cpu->lr = cpu->r[0];
/* 028C7D60 */ _t13 = cpu->r[1] + 0x00000010u;
/* 028C7D60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
/* 028C7D64 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C7D68 */ return;
}
// fn_028C7CF4 @ 0x28c7cf4
void Gambit_fn_028C7CF4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
L_028C7CF4: ; // 0x28c7cf4
/* 028C7CF4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C7CF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C7CF4 */ cpu->r[1] = _t0;
/* 028C7CF8 */ cpu->r[11] = 0x10140000u;
/* 028C7CFC */ _t1 = cpu->r[1] + 0x00000010u;
/* 028C7CFC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028C7D00 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C7D00 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028C7D04 */ cpu->r[31] = cpu->r[4];
/* 028C7D08 */ _t3 = cpu->r[11] + 0xFFFF9A00u;
/* 028C7D08 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t3);
/* 028C7D0C */ cpu->r[12] = 0x43300000u;
/* 028C7D10 */ _t4 = cpu->r[1] + 0x00000008u;
/* 028C7D10 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
/* 028C7D14 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028C7D14 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028C7D18 */ cpu->r[0] = cpu->r[31] ^ 0x80000000u;
/* 028C7D1C */ _t6 = cpu->r[1] + 0x0000000Cu;
/* 028C7D1C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028C7D20 */ _t7 = cpu->r[1] + 0x00000008u;
/* 028C7D20 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t7);
/* 028C7D24 */ cpu->f[0] = cpu->f[0] - cpu->f[13];
/* 028C7D28 */ cpu->f[2] = (double)(float)cpu->f[0];
/* 028C7D2C */ _t8 = cpu->r[3] + 0x0000010Cu;
/* 028C7D2C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t8);
/* 028C7D30 */ cpu->r[30] = cpu->r[3];
/* 028C7D34 */ Gambit_fn_028C7C58(cpu);
/* 028C7D38 */ cpu->r[10] = 0x10140000u;
/* 028C7D3C */ _t9 = cpu->r[10] + 0xFFFF9900u;
/* 028C7D3C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
/* 028C7D40 */ /* nop */
/* 028C7D44 */ _t10 = cpu->r[30] + 0x00000118u;
/* 028C7D44 */ rbrew_write32(cpu->mem, _t10, cpu->r[31]);
/* 028C7D48 */ cpu->f[13] = cpu->f[0] - cpu->f[1];
/* 028C7D4C */ /* nop */
/* 028C7D50 */ /* nop */
/* 028C7D54 */ _t11 = cpu->r[1] + 0x0000001Cu;
/* 028C7D54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028C7D58 */ _t12 = cpu->r[1] + 0x00000014u;
/* 028C7D58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
/* 028C7D5C */ cpu->lr = cpu->r[0];
/* 028C7D60 */ _t13 = cpu->r[1] + 0x00000010u;
/* 028C7D60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
/* 028C7D64 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C7D68 */ return;
}
// fn_028C7D6C @ 0x28c7d6c
void Gambit_fn_028C7D6C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028C7D6C: ; // 0x28c7d6c
/* 028C7D6C */ cpu->r[0] = cpu->lr;
/* 028C7D70 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C7D70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C7D70 */ cpu->r[1] = _t0;
/* 028C7D74 */ cpu->r[12] = 0x10140000u;
/* 028C7D78 */ _t1 = cpu->r[12] + 0xFFFF9A00u;
/* 028C7D78 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t1);
/* 028C7D7C */ cpu->r[12] = 0x43300000u;
/* 028C7D80 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028C7D80 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
/* 028C7D84 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C7D84 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028C7D88 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C7D88 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C7D8C */ cpu->r[0] = cpu->r[4] ^ 0x80000000u;
/* 028C7D90 */ _t5 = cpu->r[1] + 0x0000000Cu;
/* 028C7D90 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028C7D94 */ _t6 = cpu->r[1] + 0x00000008u;
/* 028C7D94 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t6);
/* 028C7D98 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
/* 028C7D9C */ cpu->f[1] = (double)(float)cpu->f[0];
/* 028C7DA0 */ cpu->r[31] = cpu->r[3];
/* 028C7DA4 */ Gambit_fn_02C8BA2C(cpu);
/* 028C7DA8 */ _t7 = cpu->r[31] + 0x00000120u;
/* 028C7DA8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
/* 028C7DAC */ _t8 = cpu->r[31] + 0x000000F8u;
/* 028C7DAC */ rbrew_write_f32(cpu->mem, _t8, cpu->f[1]);
/* 028C7DB0 */ _t9 = cpu->r[11] + 0x00000000u;
/* 028C7DB0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
/* 028C7DB4 */ cpu->f[0] = cpu->f[1] * cpu->f[0];
/* 028C7DB8 */ /* nop */
/* 028C7DBC */ _t10 = cpu->r[1] + 0x0000001Cu;
/* 028C7DBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028C7DC0 */ cpu->lr = cpu->r[0];
/* 028C7DC4 */ _t11 = cpu->r[1] + 0x00000014u;
/* 028C7DC4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028C7DC8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C7DCC */ return;
}
// fn_028C7D70 @ 0x28c7d70
void Gambit_fn_028C7D70(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028C7D70: ; // 0x28c7d70
/* 028C7D70 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C7D70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C7D70 */ cpu->r[1] = _t0;
/* 028C7D74 */ cpu->r[12] = 0x10140000u;
/* 028C7D78 */ _t1 = cpu->r[12] + 0xFFFF9A00u;
/* 028C7D78 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t1);
/* 028C7D7C */ cpu->r[12] = 0x43300000u;
/* 028C7D80 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028C7D80 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
/* 028C7D84 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C7D84 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028C7D88 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C7D88 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C7D8C */ cpu->r[0] = cpu->r[4] ^ 0x80000000u;
/* 028C7D90 */ _t5 = cpu->r[1] + 0x0000000Cu;
/* 028C7D90 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028C7D94 */ _t6 = cpu->r[1] + 0x00000008u;
/* 028C7D94 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t6);
/* 028C7D98 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
/* 028C7D9C */ cpu->f[1] = (double)(float)cpu->f[0];
/* 028C7DA0 */ cpu->r[31] = cpu->r[3];
/* 028C7DA4 */ Gambit_fn_02C8BA2C(cpu);
/* 028C7DA8 */ _t7 = cpu->r[31] + 0x00000120u;
/* 028C7DA8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
/* 028C7DAC */ _t8 = cpu->r[31] + 0x000000F8u;
/* 028C7DAC */ rbrew_write_f32(cpu->mem, _t8, cpu->f[1]);
/* 028C7DB0 */ _t9 = cpu->r[11] + 0x00000000u;
/* 028C7DB0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
/* 028C7DB4 */ cpu->f[0] = cpu->f[1] * cpu->f[0];
/* 028C7DB8 */ /* nop */
/* 028C7DBC */ _t10 = cpu->r[1] + 0x0000001Cu;
/* 028C7DBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028C7DC0 */ cpu->lr = cpu->r[0];
/* 028C7DC4 */ _t11 = cpu->r[1] + 0x00000014u;
/* 028C7DC4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028C7DC8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C7DCC */ return;
}
// fn_028C7DD0 @ 0x28c7dd0
void Gambit_fn_028C7DD0(CPUState* 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_028C7DD0: ; // 0x28c7dd0
/* 028C7DD0 */ cpu->r[0] = cpu->lr;
/* 028C7DD4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C7DD4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C7DD4 */ cpu->r[1] = _t0;
/* 028C7DD8 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028C7DD8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028C7DDC */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C7DDC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028C7DE0 */ cpu->r[9] = 0x43300000u;
/* 028C7DE4 */ _t3 = cpu->r[1] + 0x00000008u;
/* 028C7DE4 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
/* 028C7DE8 */ cpu->r[31] = cpu->r[4];
/* 028C7DEC */ cpu->r[12] = 0x10140000u;
/* 028C7DF0 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C7DF0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C7DF4 */ _t5 = cpu->r[31] + 0x00000008u;
/* 028C7DF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028C7DF8 */ _t6 = cpu->r[12] + 0xFFFF9A00u;
/* 028C7DF8 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t6);
/* 028C7DFC */ cpu->r[0] = cpu->r[0] ^ 0x80000000u;
/* 028C7E00 */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 028C7E00 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028C7E04 */ _t8 = cpu->r[1] + 0x00000008u;
/* 028C7E04 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t8);
/* 028C7E08 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
/* 028C7E0C */ cpu->f[1] = (double)(float)cpu->f[0];
/* 028C7E10 */ cpu->r[30] = cpu->r[3];
/* 028C7E14 */ Gambit_fn_02C8BA2C(cpu);
/* 028C7E18 */ cpu->r[12] = 0x10140000u;
/* 028C7E1C */ _t9 = cpu->r[30] + 0x00000120u;
/* 028C7E1C */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
/* 028C7E20 */ _t10 = cpu->r[12] + 0xFFFF9918u;
/* 028C7E20 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t10);
/* 028C7E24 */ Gambit_fn_028CA1D8(cpu);
/* 028C7E28 */ _t11 = cpu->r[31] + 0x00000018u;
/* 028C7E28 */ cpu->r[4] = rbrew_read32(cpu->mem, _t11);
/* 028C7E2C */ cpu->r[3] = cpu->r[30];
/* 028C7E30 */ Gambit_fn_028C7950(cpu);
/* 028C7E34 */ _t12 = cpu->r[31] + 0x00000030u;
/* 028C7E34 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t12);
/* 028C7E38 */ cpu->r[3] = cpu->r[30];
/* 028C7E3C */ Gambit_fn_028C79B4(cpu);
/* 028C7E40 */ _t13 = cpu->r[31] + 0x00000010u;
/* 028C7E40 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t13);
/* 028C7E44 */ Gambit_fn_028C79BC(cpu);
/* 028C7E48 */ _t14 = cpu->r[31] + 0x00000014u;
/* 028C7E48 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t14);
/* 028C7E4C */ cpu->r[3] = cpu->r[30];
/* 028C7E50 */ Gambit_fn_028C7BBC(cpu);
/* 028C7E54 */ _t15 = cpu->r[31] + 0x0000002Cu;
/* 028C7E54 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t15);
/* 028C7E58 */ cpu->r[3] = cpu->r[30];
/* 028C7E5C */ Gambit_fn_028C7C38(cpu);
/* 028C7E60 */ _t16 = cpu->r[31] + 0x0000000Cu;
/* 028C7E60 */ cpu->r[4] = rbrew_read32(cpu->mem, _t16);
/* 028C7E64 */ Gambit_fn_028C7CF0(cpu);
/* 028C7E68 */ _t17 = cpu->r[31] + 0x00000020u;
/* 028C7E68 */ cpu->r[4] = rbrew_read32(cpu->mem, _t17);
/* 028C7E6C */ cpu->r[3] = cpu->r[30];
/* 028C7E70 */ Gambit_fn_028C7D6C(cpu);
/* 028C7E74 */ _t18 = cpu->r[1] + 0x0000001Cu;
/* 028C7E74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028C7E78 */ _t19 = cpu->r[1] + 0x00000010u;
/* 028C7E78 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
/* 028C7E7C */ cpu->lr = cpu->r[0];
/* 028C7E80 */ _t20 = cpu->r[1] + 0x00000014u;
/* 028C7E80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
/* 028C7E84 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C7E88 */ return;
}
// fn_028C7DD4 @ 0x28c7dd4
void Gambit_fn_028C7DD4(CPUState* 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_028C7DD4: ; // 0x28c7dd4
/* 028C7DD4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C7DD4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C7DD4 */ cpu->r[1] = _t0;
/* 028C7DD8 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028C7DD8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028C7DDC */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C7DDC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028C7DE0 */ cpu->r[9] = 0x43300000u;
/* 028C7DE4 */ _t3 = cpu->r[1] + 0x00000008u;
/* 028C7DE4 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
/* 028C7DE8 */ cpu->r[31] = cpu->r[4];
/* 028C7DEC */ cpu->r[12] = 0x10140000u;
/* 028C7DF0 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C7DF0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C7DF4 */ _t5 = cpu->r[31] + 0x00000008u;
/* 028C7DF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028C7DF8 */ _t6 = cpu->r[12] + 0xFFFF9A00u;
/* 028C7DF8 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t6);
/* 028C7DFC */ cpu->r[0] = cpu->r[0] ^ 0x80000000u;
/* 028C7E00 */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 028C7E00 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028C7E04 */ _t8 = cpu->r[1] + 0x00000008u;
/* 028C7E04 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t8);
/* 028C7E08 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
/* 028C7E0C */ cpu->f[1] = (double)(float)cpu->f[0];
/* 028C7E10 */ cpu->r[30] = cpu->r[3];
/* 028C7E14 */ Gambit_fn_02C8BA2C(cpu);
/* 028C7E18 */ cpu->r[12] = 0x10140000u;
/* 028C7E1C */ _t9 = cpu->r[30] + 0x00000120u;
/* 028C7E1C */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
/* 028C7E20 */ _t10 = cpu->r[12] + 0xFFFF9918u;
/* 028C7E20 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t10);
/* 028C7E24 */ Gambit_fn_028CA1D8(cpu);
/* 028C7E28 */ _t11 = cpu->r[31] + 0x00000018u;
/* 028C7E28 */ cpu->r[4] = rbrew_read32(cpu->mem, _t11);
/* 028C7E2C */ cpu->r[3] = cpu->r[30];
/* 028C7E30 */ Gambit_fn_028C7950(cpu);
/* 028C7E34 */ _t12 = cpu->r[31] + 0x00000030u;
/* 028C7E34 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t12);
/* 028C7E38 */ cpu->r[3] = cpu->r[30];
/* 028C7E3C */ Gambit_fn_028C79B4(cpu);
/* 028C7E40 */ _t13 = cpu->r[31] + 0x00000010u;
/* 028C7E40 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t13);
/* 028C7E44 */ Gambit_fn_028C79BC(cpu);
/* 028C7E48 */ _t14 = cpu->r[31] + 0x00000014u;
/* 028C7E48 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t14);
/* 028C7E4C */ cpu->r[3] = cpu->r[30];
/* 028C7E50 */ Gambit_fn_028C7BBC(cpu);
/* 028C7E54 */ _t15 = cpu->r[31] + 0x0000002Cu;
/* 028C7E54 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t15);
/* 028C7E58 */ cpu->r[3] = cpu->r[30];
/* 028C7E5C */ Gambit_fn_028C7C38(cpu);
/* 028C7E60 */ _t16 = cpu->r[31] + 0x0000000Cu;
/* 028C7E60 */ cpu->r[4] = rbrew_read32(cpu->mem, _t16);
/* 028C7E64 */ Gambit_fn_028C7CF0(cpu);
/* 028C7E68 */ _t17 = cpu->r[31] + 0x00000020u;
/* 028C7E68 */ cpu->r[4] = rbrew_read32(cpu->mem, _t17);
/* 028C7E6C */ cpu->r[3] = cpu->r[30];
/* 028C7E70 */ Gambit_fn_028C7D6C(cpu);
/* 028C7E74 */ _t18 = cpu->r[1] + 0x0000001Cu;
/* 028C7E74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028C7E78 */ _t19 = cpu->r[1] + 0x00000010u;
/* 028C7E78 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
/* 028C7E7C */ cpu->lr = cpu->r[0];
/* 028C7E80 */ _t20 = cpu->r[1] + 0x00000014u;
/* 028C7E80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
/* 028C7E84 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C7E88 */ return;
}
// fn_028C7E8C @ 0x28c7e8c
void Gambit_fn_028C7E8C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _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_028C7E8C: ; // 0x28c7e8c
/* 028C7E8C */ cpu->r[0] = cpu->lr;
/* 028C7E90 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C7E90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C7E90 */ cpu->r[1] = _t0;
/* 028C7E94 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028C7E94 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
/* 028C7E98 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028C7E98 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C7E9C */ cpu->r[28] = cpu->r[3];
/* 028C7EA0 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028C7EA0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028C7EA4 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028C7EA4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028C7EA8 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028C7EA8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028C7EAC */ cpu->r[29] = cpu->r[6];
/* 028C7EB0 */ _t6 = cpu->r[28] + 0x0000006Cu;
/* 028C7EB0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t6);
/* 028C7EB4 */ cpu->r[31] = cpu->r[5];
/* 028C7EB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028C7EBC */ cpu->r[30] = cpu->r[4];
/* 028C7EC0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C7EC0 */ _t8 = _t7 & 0x00000001u;
/* 028C7EC0 */ if (_t8) goto L_028C7EC4; else goto L_028C8054;
L_028C7EC4: ; // 0x28c7ec4
/* 028C7EC4 */ cpu->r[12] = 0x101D0000u;
/* 028C7EC8 */ _t9 = cpu->r[12] + 0xFFFFF750u;
/* 028C7EC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028C7EC8 */ cpu->r[12] = _t9;
/* 028C7ECC */ cpu->r[4] = 0x101D0000u;
/* 028C7ED0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C7ED4 */ cpu->r[4] = cpu->r[4] + 0x0000196Cu;
/* 028C7ED8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C7ED8 */ _t11 = _t10 & 0x00000001u;
/* 028C7ED8 */ if (_t11) goto L_028C7EDC; else goto L_028C7EF0;
L_028C7EDC: ; // 0x28c7edc
/* 028C7EDC */ cpu->r[0] = 0x10140000u;
/* 028C7EE0 */ cpu->r[7] = 0x00000001u;
/* 028C7EE4 */ cpu->r[0] = cpu->r[0] + 0xFFFF97D8u;
/* 028C7EE8 */ _t12 = cpu->r[12] + 0x00000000u;
/* 028C7EE8 */ rbrew_write32(cpu->mem, _t12, cpu->r[7]);
/* 028C7EEC */ _t13 = cpu->r[4] + 0x00000000u;
/* 028C7EEC */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
L_028C7EF0: ; // 0x28c7ef0
/* 028C7EF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028C7EF4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C7EF4 */ _t15 = _t14 & 0x00000001u;
/* 028C7EF4 */ if (_t15) goto L_028C7F14; else goto L_028C7EF8;
L_028C7EF8: ; // 0x28c7ef8
/* 028C7EF8 */ _t16 = cpu->r[30] + 0x00000000u;
/* 028C7EF8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
/* 028C7EFC */ _t17 = cpu->r[10] + 0x0000000Cu;
/* 028C7EFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
/* 028C7F00 */ cpu->ctr = cpu->r[11];
/* 028C7F04 */ cpu->r[3] = cpu->r[30];
/* 028C7F08 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C7F0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C7F10 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C7F10 */ _t19 = _t18 & 0x00000001u;
/* 028C7F10 */ if (_t19) goto L_028C7F14; else goto L_028C7F18;
L_028C7F14: ; // 0x28c7f14
/* 028C7F14 */ cpu->r[30] = 0x00000000u;
L_028C7F18: ; // 0x28c7f18
/* 028C7F18 */ cpu->r[11] = 0x101D0000u;
/* 028C7F1C */ _t20 = cpu->r[11] + 0xFFFFF754u;
/* 028C7F1C */ cpu->r[7] = rbrew_read32(cpu->mem, _t20);
/* 028C7F1C */ cpu->r[11] = _t20;
/* 028C7F20 */ cpu->r[4] = 0x101D0000u;
/* 028C7F24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
/* 028C7F28 */ cpu->r[4] = cpu->r[4] + 0x00001970u;
/* 028C7F2C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C7F2C */ _t22 = _t21 & 0x00000001u;
/* 028C7F2C */ if (_t22) goto L_028C7F30; else goto L_028C7F44;
L_028C7F30: ; // 0x28c7f30
/* 028C7F30 */ cpu->r[9] = 0x10140000u;
/* 028C7F34 */ cpu->r[8] = 0x00000001u;
/* 028C7F38 */ cpu->r[9] = cpu->r[9] + 0xFFFF97E8u;
/* 028C7F3C */ _t23 = cpu->r[11] + 0x00000000u;
/* 028C7F3C */ rbrew_write32(cpu->mem, _t23, cpu->r[8]);
/* 028C7F40 */ _t24 = cpu->r[4] + 0x00000000u;
/* 028C7F40 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
L_028C7F44: ; // 0x28c7f44
/* 028C7F44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C7F48 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C7F48 */ _t26 = _t25 & 0x00000001u;
/* 028C7F48 */ if (_t26) goto L_028C7F68; else goto L_028C7F4C;
L_028C7F4C: ; // 0x28c7f4c
/* 028C7F4C */ _t27 = cpu->r[31] + 0x00000004u;
/* 028C7F4C */ cpu->r[10] = rbrew_read32(cpu->mem, _t27);
/* 028C7F50 */ _t28 = cpu->r[10] + 0x0000000Cu;
/* 028C7F50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
/* 028C7F54 */ cpu->ctr = cpu->r[0];
/* 028C7F58 */ cpu->r[3] = cpu->r[31];
/* 028C7F5C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C7F60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C7F64 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C7F64 */ _t30 = _t29 & 0x00000001u;
/* 028C7F64 */ if (_t30) goto L_028C7F68; else goto L_028C7F6C;
L_028C7F68: ; // 0x28c7f68
/* 028C7F68 */ cpu->r[31] = 0x00000000u;
L_028C7F6C: ; // 0x28c7f6c
/* 028C7F6C */ cpu->r[4] = cpu->r[29];
/* 028C7F70 */ cpu->r[3] = 0x00000008u;
/* 028C7F74 */ cpu->r[5] = 0x00000004u;
/* 028C7F78 */ Gambit_fn_02801ADC(cpu);
/* 028C7F7C */ _t31 = cpu->r[28] + 0x000000A8u;
/* 028C7F7C */ rbrew_write32(cpu->mem, _t31, cpu->r[3]);
/* 028C7F80 */ cpu->r[4] = cpu->r[29];
/* 028C7F84 */ cpu->r[3] = 0x00000008u;
/* 028C7F88 */ cpu->r[5] = 0x00000004u;
/* 028C7F8C */ Gambit_fn_02801ADC(cpu);
/* 028C7F90 */ _t32 = cpu->r[28] + 0x000000ACu;
/* 028C7F90 */ rbrew_write32(cpu->mem, _t32, cpu->r[3]);
/* 028C7F94 */ cpu->r[4] = cpu->r[29];
/* 028C7F98 */ cpu->r[3] = 0x00000010u;
/* 028C7F9C */ cpu->r[5] = 0x00000004u;
/* 028C7FA0 */ Gambit_fn_02801ADC(cpu);
/* 028C7FA4 */ _t33 = cpu->r[28] + 0x000000B0u;
/* 028C7FA4 */ rbrew_write32(cpu->mem, _t33, cpu->r[3]);
/* 028C7FA8 */ cpu->r[5] = 0x00000004u;
/* 028C7FAC */ cpu->r[3] = 0x00000008u;
/* 028C7FB0 */ cpu->r[4] = cpu->r[29];
/* 028C7FB4 */ Gambit_fn_02801ADC(cpu);
/* 028C7FB8 */ _t34 = cpu->r[28] + 0x000000B4u;
/* 028C7FB8 */ rbrew_write32(cpu->mem, _t34, cpu->r[3]);
/* 028C7FBC */ cpu->r[5] = 0x00000004u;
/* 028C7FC0 */ cpu->r[3] = 0x00000008u;
/* 028C7FC4 */ cpu->r[4] = cpu->r[29];
/* 028C7FC8 */ Gambit_fn_02801ADC(cpu);
/* 028C7FCC */ _t35 = cpu->r[28] + 0x000000D0u;
/* 028C7FCC */ rbrew_write32(cpu->mem, _t35, cpu->r[3]);
/* 028C7FD0 */ cpu->r[4] = cpu->r[29];
/* 028C7FD4 */ cpu->r[3] = 0x00000008u;
/* 028C7FD8 */ cpu->r[5] = 0x00000004u;
/* 028C7FDC */ Gambit_fn_02801ADC(cpu);
/* 028C7FE0 */ _t36 = cpu->r[28] + 0x000000D4u;
/* 028C7FE0 */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
/* 028C7FE4 */ cpu->r[5] = 0x00000004u;
/* 028C7FE8 */ cpu->r[3] = 0x00000014u;
/* 028C7FEC */ cpu->r[4] = cpu->r[29];
/* 028C7FF0 */ Gambit_fn_02801AC8(cpu);
/* 028C7FF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C7FF8 */ cpu->r[0] = cpu->r[3];
/* 028C7FFC */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C7FFC */ _t38 = _t37 & 0x00000001u;
/* 028C7FFC */ if (_t38) goto L_028C8010; else goto L_028C8000;
L_028C8000: ; // 0x28c8000
/* 028C8000 */ cpu->r[9] = 0x10140000u;
/* 028C8004 */ _t39 = cpu->r[9] + 0xFFFF9900u;
/* 028C8004 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t39);
/* 028C8008 */ Gambit_fn_028CA0E4(cpu);
/* 028C800C */ cpu->r[0] = cpu->r[3];
L_028C8010: ; // 0x28c8010
/* 028C8010 */ cpu->r[4] = cpu->r[30];
/* 028C8014 */ cpu->r[3] = cpu->r[28];
/* 028C8018 */ _t40 = cpu->r[28] + 0x00000120u;
/* 028C8018 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
/* 028C801C */ Gambit_fn_028C7090(cpu);
/* 028C8020 */ cpu->r[4] = cpu->r[31];
/* 028C8024 */ cpu->r[3] = cpu->r[28];
/* 028C8028 */ Gambit_fn_028C74B4(cpu);
/* 028C802C */ cpu->r[4] = cpu->r[29];
/* 028C8030 */ cpu->r[3] = cpu->r[28];
/* 028C8034 */ Gambit_fn_028C74E8(cpu);
/* 028C8038 */ cpu->r[3] = cpu->r[28];
/* 028C803C */ Gambit_fn_028C7798(cpu);
/* 028C8040 */ cpu->r[4] = cpu->r[31];
/* 028C8044 */ cpu->r[3] = cpu->r[28];
/* 028C8048 */ Gambit_fn_028C7DD0(cpu);
/* 028C804C */ cpu->r[5] = 0x00000001u;
/* 028C8050 */ _t41 = cpu->r[28] + 0x0000006Cu;
/* 028C8050 */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[5]);
L_028C8054: ; // 0x28c8054
/* 028C8054 */ _t42 = cpu->r[1] + 0x00000008u;
/* 028C8054 */ cpu->r[28] = rbrew_read32(cpu->mem, _t42);
/* 028C8058 */ _t43 = cpu->r[1] + 0x0000000Cu;
/* 028C8058 */ cpu->r[29] = rbrew_read32(cpu->mem, _t43);
/* 028C805C */ _t44 = cpu->r[1] + 0x0000001Cu;
/* 028C805C */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
/* 028C8060 */ _t45 = cpu->r[1] + 0x00000010u;
/* 028C8060 */ cpu->r[30] = rbrew_read32(cpu->mem, _t45);
/* 028C8064 */ cpu->lr = cpu->r[0];
/* 028C8068 */ _t46 = cpu->r[1] + 0x00000014u;
/* 028C8068 */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
/* 028C806C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C8070 */ return;
}
// fn_028C7E90 @ 0x28c7e90
void Gambit_fn_028C7E90(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _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_028C7E90: ; // 0x28c7e90
/* 028C7E90 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C7E90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C7E90 */ cpu->r[1] = _t0;
/* 028C7E94 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028C7E94 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
/* 028C7E98 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028C7E98 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C7E9C */ cpu->r[28] = cpu->r[3];
/* 028C7EA0 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028C7EA0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028C7EA4 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028C7EA4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028C7EA8 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028C7EA8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028C7EAC */ cpu->r[29] = cpu->r[6];
/* 028C7EB0 */ _t6 = cpu->r[28] + 0x0000006Cu;
/* 028C7EB0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t6);
/* 028C7EB4 */ cpu->r[31] = cpu->r[5];
/* 028C7EB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028C7EBC */ cpu->r[30] = cpu->r[4];
/* 028C7EC0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C7EC0 */ _t8 = _t7 & 0x00000001u;
/* 028C7EC0 */ if (_t8) goto L_028C7EC4; else goto L_028C8054;
L_028C7EC4: ; // 0x28c7ec4
/* 028C7EC4 */ cpu->r[12] = 0x101D0000u;
/* 028C7EC8 */ _t9 = cpu->r[12] + 0xFFFFF750u;
/* 028C7EC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028C7EC8 */ cpu->r[12] = _t9;
/* 028C7ECC */ cpu->r[4] = 0x101D0000u;
/* 028C7ED0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C7ED4 */ cpu->r[4] = cpu->r[4] + 0x0000196Cu;
/* 028C7ED8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C7ED8 */ _t11 = _t10 & 0x00000001u;
/* 028C7ED8 */ if (_t11) goto L_028C7EDC; else goto L_028C7EF0;
L_028C7EDC: ; // 0x28c7edc
/* 028C7EDC */ cpu->r[0] = 0x10140000u;
/* 028C7EE0 */ cpu->r[7] = 0x00000001u;
/* 028C7EE4 */ cpu->r[0] = cpu->r[0] + 0xFFFF97D8u;
/* 028C7EE8 */ _t12 = cpu->r[12] + 0x00000000u;
/* 028C7EE8 */ rbrew_write32(cpu->mem, _t12, cpu->r[7]);
/* 028C7EEC */ _t13 = cpu->r[4] + 0x00000000u;
/* 028C7EEC */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
L_028C7EF0: ; // 0x28c7ef0
/* 028C7EF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028C7EF4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C7EF4 */ _t15 = _t14 & 0x00000001u;
/* 028C7EF4 */ if (_t15) goto L_028C7F14; else goto L_028C7EF8;
L_028C7EF8: ; // 0x28c7ef8
/* 028C7EF8 */ _t16 = cpu->r[30] + 0x00000000u;
/* 028C7EF8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
/* 028C7EFC */ _t17 = cpu->r[10] + 0x0000000Cu;
/* 028C7EFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
/* 028C7F00 */ cpu->ctr = cpu->r[11];
/* 028C7F04 */ cpu->r[3] = cpu->r[30];
/* 028C7F08 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C7F0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C7F10 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C7F10 */ _t19 = _t18 & 0x00000001u;
/* 028C7F10 */ if (_t19) goto L_028C7F14; else goto L_028C7F18;
L_028C7F14: ; // 0x28c7f14
/* 028C7F14 */ cpu->r[30] = 0x00000000u;
L_028C7F18: ; // 0x28c7f18
/* 028C7F18 */ cpu->r[11] = 0x101D0000u;
/* 028C7F1C */ _t20 = cpu->r[11] + 0xFFFFF754u;
/* 028C7F1C */ cpu->r[7] = rbrew_read32(cpu->mem, _t20);
/* 028C7F1C */ cpu->r[11] = _t20;
/* 028C7F20 */ cpu->r[4] = 0x101D0000u;
/* 028C7F24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
/* 028C7F28 */ cpu->r[4] = cpu->r[4] + 0x00001970u;
/* 028C7F2C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C7F2C */ _t22 = _t21 & 0x00000001u;
/* 028C7F2C */ if (_t22) goto L_028C7F30; else goto L_028C7F44;
L_028C7F30: ; // 0x28c7f30
/* 028C7F30 */ cpu->r[9] = 0x10140000u;
/* 028C7F34 */ cpu->r[8] = 0x00000001u;
/* 028C7F38 */ cpu->r[9] = cpu->r[9] + 0xFFFF97E8u;
/* 028C7F3C */ _t23 = cpu->r[11] + 0x00000000u;
/* 028C7F3C */ rbrew_write32(cpu->mem, _t23, cpu->r[8]);
/* 028C7F40 */ _t24 = cpu->r[4] + 0x00000000u;
/* 028C7F40 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
L_028C7F44: ; // 0x28c7f44
/* 028C7F44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C7F48 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C7F48 */ _t26 = _t25 & 0x00000001u;
/* 028C7F48 */ if (_t26) goto L_028C7F68; else goto L_028C7F4C;
L_028C7F4C: ; // 0x28c7f4c
/* 028C7F4C */ _t27 = cpu->r[31] + 0x00000004u;
/* 028C7F4C */ cpu->r[10] = rbrew_read32(cpu->mem, _t27);
/* 028C7F50 */ _t28 = cpu->r[10] + 0x0000000Cu;
/* 028C7F50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
/* 028C7F54 */ cpu->ctr = cpu->r[0];
/* 028C7F58 */ cpu->r[3] = cpu->r[31];
/* 028C7F5C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C7F60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C7F64 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C7F64 */ _t30 = _t29 & 0x00000001u;
/* 028C7F64 */ if (_t30) goto L_028C7F68; else goto L_028C7F6C;
L_028C7F68: ; // 0x28c7f68
/* 028C7F68 */ cpu->r[31] = 0x00000000u;
L_028C7F6C: ; // 0x28c7f6c
/* 028C7F6C */ cpu->r[4] = cpu->r[29];
/* 028C7F70 */ cpu->r[3] = 0x00000008u;
/* 028C7F74 */ cpu->r[5] = 0x00000004u;
/* 028C7F78 */ Gambit_fn_02801ADC(cpu);
/* 028C7F7C */ _t31 = cpu->r[28] + 0x000000A8u;
/* 028C7F7C */ rbrew_write32(cpu->mem, _t31, cpu->r[3]);
/* 028C7F80 */ cpu->r[4] = cpu->r[29];
/* 028C7F84 */ cpu->r[3] = 0x00000008u;
/* 028C7F88 */ cpu->r[5] = 0x00000004u;
/* 028C7F8C */ Gambit_fn_02801ADC(cpu);
/* 028C7F90 */ _t32 = cpu->r[28] + 0x000000ACu;
/* 028C7F90 */ rbrew_write32(cpu->mem, _t32, cpu->r[3]);
/* 028C7F94 */ cpu->r[4] = cpu->r[29];
/* 028C7F98 */ cpu->r[3] = 0x00000010u;
/* 028C7F9C */ cpu->r[5] = 0x00000004u;
/* 028C7FA0 */ Gambit_fn_02801ADC(cpu);
/* 028C7FA4 */ _t33 = cpu->r[28] + 0x000000B0u;
/* 028C7FA4 */ rbrew_write32(cpu->mem, _t33, cpu->r[3]);
/* 028C7FA8 */ cpu->r[5] = 0x00000004u;
/* 028C7FAC */ cpu->r[3] = 0x00000008u;
/* 028C7FB0 */ cpu->r[4] = cpu->r[29];
/* 028C7FB4 */ Gambit_fn_02801ADC(cpu);
/* 028C7FB8 */ _t34 = cpu->r[28] + 0x000000B4u;
/* 028C7FB8 */ rbrew_write32(cpu->mem, _t34, cpu->r[3]);
/* 028C7FBC */ cpu->r[5] = 0x00000004u;
/* 028C7FC0 */ cpu->r[3] = 0x00000008u;
/* 028C7FC4 */ cpu->r[4] = cpu->r[29];
/* 028C7FC8 */ Gambit_fn_02801ADC(cpu);
/* 028C7FCC */ _t35 = cpu->r[28] + 0x000000D0u;
/* 028C7FCC */ rbrew_write32(cpu->mem, _t35, cpu->r[3]);
/* 028C7FD0 */ cpu->r[4] = cpu->r[29];
/* 028C7FD4 */ cpu->r[3] = 0x00000008u;
/* 028C7FD8 */ cpu->r[5] = 0x00000004u;
/* 028C7FDC */ Gambit_fn_02801ADC(cpu);
/* 028C7FE0 */ _t36 = cpu->r[28] + 0x000000D4u;
/* 028C7FE0 */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
/* 028C7FE4 */ cpu->r[5] = 0x00000004u;
/* 028C7FE8 */ cpu->r[3] = 0x00000014u;
/* 028C7FEC */ cpu->r[4] = cpu->r[29];
/* 028C7FF0 */ Gambit_fn_02801AC8(cpu);
/* 028C7FF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C7FF8 */ cpu->r[0] = cpu->r[3];
/* 028C7FFC */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C7FFC */ _t38 = _t37 & 0x00000001u;
/* 028C7FFC */ if (_t38) goto L_028C8010; else goto L_028C8000;
L_028C8000: ; // 0x28c8000
/* 028C8000 */ cpu->r[9] = 0x10140000u;
/* 028C8004 */ _t39 = cpu->r[9] + 0xFFFF9900u;
/* 028C8004 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t39);
/* 028C8008 */ Gambit_fn_028CA0E4(cpu);
/* 028C800C */ cpu->r[0] = cpu->r[3];
L_028C8010: ; // 0x28c8010
/* 028C8010 */ cpu->r[4] = cpu->r[30];
/* 028C8014 */ cpu->r[3] = cpu->r[28];
/* 028C8018 */ _t40 = cpu->r[28] + 0x00000120u;
/* 028C8018 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
/* 028C801C */ Gambit_fn_028C7090(cpu);
/* 028C8020 */ cpu->r[4] = cpu->r[31];
/* 028C8024 */ cpu->r[3] = cpu->r[28];
/* 028C8028 */ Gambit_fn_028C74B4(cpu);
/* 028C802C */ cpu->r[4] = cpu->r[29];
/* 028C8030 */ cpu->r[3] = cpu->r[28];
/* 028C8034 */ Gambit_fn_028C74E8(cpu);
/* 028C8038 */ cpu->r[3] = cpu->r[28];
/* 028C803C */ Gambit_fn_028C7798(cpu);
/* 028C8040 */ cpu->r[4] = cpu->r[31];
/* 028C8044 */ cpu->r[3] = cpu->r[28];
/* 028C8048 */ Gambit_fn_028C7DD0(cpu);
/* 028C804C */ cpu->r[5] = 0x00000001u;
/* 028C8050 */ _t41 = cpu->r[28] + 0x0000006Cu;
/* 028C8050 */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[5]);
L_028C8054: ; // 0x28c8054
/* 028C8054 */ _t42 = cpu->r[1] + 0x00000008u;
/* 028C8054 */ cpu->r[28] = rbrew_read32(cpu->mem, _t42);
/* 028C8058 */ _t43 = cpu->r[1] + 0x0000000Cu;
/* 028C8058 */ cpu->r[29] = rbrew_read32(cpu->mem, _t43);
/* 028C805C */ _t44 = cpu->r[1] + 0x0000001Cu;
/* 028C805C */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
/* 028C8060 */ _t45 = cpu->r[1] + 0x00000010u;
/* 028C8060 */ cpu->r[30] = rbrew_read32(cpu->mem, _t45);
/* 028C8064 */ cpu->lr = cpu->r[0];
/* 028C8068 */ _t46 = cpu->r[1] + 0x00000014u;
/* 028C8068 */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
/* 028C806C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C8070 */ return;
}
// fn_028C8074 @ 0x28c8074
void Gambit_fn_028C8074(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
L_028C8074: ; // 0x28c8074
/* 028C8074 */ cpu->r[0] = cpu->lr;
/* 028C8078 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028C8078 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C8078 */ cpu->r[1] = _t0;
/* 028C807C */ _t1 = cpu->r[1] + 0x00000018u;
/* 028C807C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028C8080 */ cpu->r[11] = 0x43300000u;
/* 028C8084 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028C8084 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
/* 028C8088 */ cpu->r[12] = 0x10140000u;
/* 028C808C */ _t3 = cpu->r[12] + 0xFFFF9A00u;
/* 028C808C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t3);
/* 028C8090 */ _t4 = cpu->r[1] + 0x0000002Cu;
/* 028C8090 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C8094 */ cpu->r[0] = cpu->r[4] ^ 0x80000000u;
/* 028C8098 */ /* nop */
/* 028C809C */ _t5 = cpu->r[1] + 0x0000000Cu;
/* 028C809C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028C80A0 */ _t6 = cpu->r[1] + 0x00000008u;
/* 028C80A0 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t6);
/* 028C80A4 */ _t7 = cpu->r[1] + 0x00000020u;
/* 028C80A4 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[31]);
/* 028C80A8 */ cpu->f[13] = cpu->f[12] - cpu->f[0];
/* 028C80AC */ _t8 = cpu->r[1] + 0x00000014u;
/* 028C80AC */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
/* 028C80B0 */ cpu->f[31] = cpu->f[1];
/* 028C80B4 */ cpu->f[1] = (double)(float)cpu->f[13];
/* 028C80B8 */ cpu->r[31] = cpu->r[3];
/* 028C80BC */ Gambit_fn_02C8BA2C(cpu);
/* 028C80C0 */ cpu->f[2] = cpu->f[31];
/* 028C80C4 */ _t9 = cpu->r[31] + 0x00000120u;
/* 028C80C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
/* 028C80C8 */ Gambit_fn_028CA1D8(cpu);
/* 028C80CC */ _t10 = cpu->r[1] + 0x00000020u;
/* 028C80CC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t10);
/* 028C80D0 */ _t11 = cpu->r[1] + 0x00000014u;
/* 028C80D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028C80D4 */ _t12 = cpu->r[1] + 0x00000018u;
/* 028C80D4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t12);
/* 028C80D8 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C80D8 */ _t14 = _t13 & 0x00000001u;
/* 028C80D8 */ if (_t14) goto L_028C80DC; // else: addr-0 trap, fall-through
L_028C80DC: ; // 0x28c80dc
/* 028C80DC */ _t15 = cpu->r[1] + 0x0000002Cu;
/* 028C80DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028C80E0 */ cpu->lr = cpu->r[0];
/* 028C80E4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028C80E8 */ return;
}
// fn_028C8078 @ 0x28c8078
void Gambit_fn_028C8078(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
L_028C8078: ; // 0x28c8078
/* 028C8078 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028C8078 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C8078 */ cpu->r[1] = _t0;
/* 028C807C */ _t1 = cpu->r[1] + 0x00000018u;
/* 028C807C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028C8080 */ cpu->r[11] = 0x43300000u;
/* 028C8084 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028C8084 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
/* 028C8088 */ cpu->r[12] = 0x10140000u;
/* 028C808C */ _t3 = cpu->r[12] + 0xFFFF9A00u;
/* 028C808C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t3);
/* 028C8090 */ _t4 = cpu->r[1] + 0x0000002Cu;
/* 028C8090 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C8094 */ cpu->r[0] = cpu->r[4] ^ 0x80000000u;
/* 028C8098 */ /* nop */
/* 028C809C */ _t5 = cpu->r[1] + 0x0000000Cu;
/* 028C809C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028C80A0 */ _t6 = cpu->r[1] + 0x00000008u;
/* 028C80A0 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t6);
/* 028C80A4 */ _t7 = cpu->r[1] + 0x00000020u;
/* 028C80A4 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[31]);
/* 028C80A8 */ cpu->f[13] = cpu->f[12] - cpu->f[0];
/* 028C80AC */ _t8 = cpu->r[1] + 0x00000014u;
/* 028C80AC */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
/* 028C80B0 */ cpu->f[31] = cpu->f[1];
/* 028C80B4 */ cpu->f[1] = (double)(float)cpu->f[13];
/* 028C80B8 */ cpu->r[31] = cpu->r[3];
/* 028C80BC */ Gambit_fn_02C8BA2C(cpu);
/* 028C80C0 */ cpu->f[2] = cpu->f[31];
/* 028C80C4 */ _t9 = cpu->r[31] + 0x00000120u;
/* 028C80C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
/* 028C80C8 */ Gambit_fn_028CA1D8(cpu);
/* 028C80CC */ _t10 = cpu->r[1] + 0x00000020u;
/* 028C80CC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t10);
/* 028C80D0 */ _t11 = cpu->r[1] + 0x00000014u;
/* 028C80D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028C80D4 */ _t12 = cpu->r[1] + 0x00000018u;
/* 028C80D4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t12);
/* 028C80D8 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C80D8 */ _t14 = _t13 & 0x00000001u;
/* 028C80D8 */ if (_t14) goto L_028C80DC; // else: addr-0 trap, fall-through
L_028C80DC: ; // 0x28c80dc
/* 028C80DC */ _t15 = cpu->r[1] + 0x0000002Cu;
/* 028C80DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028C80E0 */ cpu->lr = cpu->r[0];
/* 028C80E4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028C80E8 */ return;
}
// fn_028C80EC @ 0x28c80ec
void Gambit_fn_028C80EC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _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_028C80EC: ; // 0x28c80ec
/* 028C80EC */ cpu->r[0] = cpu->lr;
/* 028C80F0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C80F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C80F0 */ cpu->r[1] = _t0;
/* 028C80F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C80F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028C80F8 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C80F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028C80FC */ _t3 = cpu->r[1] + 0x00000010u;
/* 028C80FC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028C8100 */ cpu->r[31] = cpu->r[4];
/* 028C8104 */ cpu->r[8] = 0x101D0000u;
/* 028C8108 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C8108 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C810C */ _t5 = cpu->r[8] + 0xFFFFF754u;
/* 028C810C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028C810C */ cpu->r[8] = _t5;
/* 028C8110 */ cpu->r[30] = cpu->r[3];
/* 028C8114 */ cpu->r[4] = 0x101D0000u;
/* 028C8118 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C811C */ cpu->r[4] = cpu->r[4] + 0x00001970u;
/* 028C8120 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C8120 */ _t7 = _t6 & 0x00000001u;
/* 028C8120 */ if (_t7) goto L_028C8124; else goto L_028C8138;
L_028C8124: ; // 0x28c8124
/* 028C8124 */ cpu->r[0] = 0x10140000u;
/* 028C8128 */ cpu->r[9] = 0x00000001u;
/* 028C812C */ cpu->r[0] = cpu->r[0] + 0xFFFF97E8u;
/* 028C8130 */ _t8 = cpu->r[8] + 0x00000000u;
/* 028C8130 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
/* 028C8134 */ _t9 = cpu->r[4] + 0x00000000u;
/* 028C8134 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
L_028C8138: ; // 0x28c8138
/* 028C8138 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C813C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C813C */ _t11 = _t10 & 0x00000001u;
/* 028C813C */ if (_t11) goto L_028C815C; else goto L_028C8140;
L_028C8140: ; // 0x28c8140
/* 028C8140 */ _t12 = cpu->r[31] + 0x00000004u;
/* 028C8140 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
/* 028C8144 */ _t13 = cpu->r[12] + 0x0000000Cu;
/* 028C8144 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028C8148 */ cpu->ctr = cpu->r[0];
/* 028C814C */ cpu->r[3] = cpu->r[31];
/* 028C8150 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C8154 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C8158 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C8158 */ _t15 = _t14 & 0x00000001u;
/* 028C8158 */ if (_t15) goto L_028C815C; else goto L_028C8160;
L_028C815C: ; // 0x28c815c
/* 028C815C */ cpu->r[31] = 0x00000000u;
L_028C8160: ; // 0x28c8160
/* 028C8160 */ cpu->r[29] = 0x00000000u;
/* 028C8164 */ cpu->r[3] = cpu->r[31];
/* 028C8168 */ cpu->r[4] = cpu->r[29];
/* 028C816C */ Gambit_fn_028C56B8(cpu);
/* 028C8170 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C8174 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C8174 */ _t17 = _t16 & 0x00000001u;
/* 028C8174 */ if (_t17) goto L_028C8188; else goto L_028C8178;
L_028C8178: ; // 0x28c8178
/* 028C8178 */ _t18 = cpu->r[31] + 0x00000034u;
/* 028C8178 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t18);
/* 028C817C */ cpu->r[3] = cpu->r[30];
/* 028C8180 */ _t19 = cpu->r[31] + 0x00000008u;
/* 028C8180 */ cpu->r[4] = rbrew_read32(cpu->mem, _t19);
/* 028C8184 */ Gambit_fn_028C8074(cpu);
L_028C8188: ; // 0x28c8188
/* 028C8188 */ cpu->r[3] = cpu->r[31];
/* 028C818C */ cpu->r[4] = 0x00000001u;
/* 028C8190 */ Gambit_fn_028C56B8(cpu);
/* 028C8194 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C8198 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C8198 */ _t21 = _t20 & 0x00000001u;
/* 028C8198 */ if (_t21) goto L_028C81A8; else goto L_028C819C;
L_028C819C: ; // 0x28c819c
/* 028C819C */ _t22 = cpu->r[31] + 0x0000000Cu;
/* 028C819C */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
/* 028C81A0 */ cpu->r[3] = cpu->r[30];
/* 028C81A4 */ Gambit_fn_028C7CF0(cpu);
L_028C81A8: ; // 0x28c81a8
/* 028C81A8 */ cpu->r[3] = cpu->r[31];
/* 028C81AC */ cpu->r[4] = 0x00000002u;
/* 028C81B0 */ Gambit_fn_028C56B8(cpu);
/* 028C81B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C81B8 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C81B8 */ _t24 = _t23 & 0x00000001u;
/* 028C81B8 */ if (_t24) goto L_028C81C8; else goto L_028C81BC;
L_028C81BC: ; // 0x28c81bc
/* 028C81BC */ _t25 = cpu->r[31] + 0x00000010u;
/* 028C81BC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t25);
/* 028C81C0 */ cpu->r[3] = cpu->r[30];
/* 028C81C4 */ Gambit_fn_028C79BC(cpu);
L_028C81C8: ; // 0x28c81c8
/* 028C81C8 */ cpu->r[3] = cpu->r[31];
/* 028C81CC */ cpu->r[4] = 0x00000003u;
/* 028C81D0 */ Gambit_fn_028C56B8(cpu);
/* 028C81D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C81D8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C81D8 */ _t27 = _t26 & 0x00000001u;
/* 028C81D8 */ if (_t27) goto L_028C81E8; else goto L_028C81DC;
L_028C81DC: ; // 0x28c81dc
/* 028C81DC */ _t28 = cpu->r[31] + 0x00000014u;
/* 028C81DC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t28);
/* 028C81E0 */ cpu->r[3] = cpu->r[30];
/* 028C81E4 */ Gambit_fn_028C7BBC(cpu);
L_028C81E8: ; // 0x28c81e8
/* 028C81E8 */ cpu->r[3] = cpu->r[31];
/* 028C81EC */ cpu->r[4] = 0x00000004u;
/* 028C81F0 */ Gambit_fn_028C56B8(cpu);
/* 028C81F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C81F8 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C81F8 */ _t30 = _t29 & 0x00000001u;
/* 028C81F8 */ if (_t30) goto L_028C8208; else goto L_028C81FC;
L_028C81FC: ; // 0x28c81fc
/* 028C81FC */ _t31 = cpu->r[31] + 0x00000018u;
/* 028C81FC */ cpu->r[4] = rbrew_read32(cpu->mem, _t31);
/* 028C8200 */ cpu->r[3] = cpu->r[30];
/* 028C8204 */ Gambit_fn_028C7950(cpu);
L_028C8208: ; // 0x28c8208
/* 028C8208 */ cpu->r[3] = cpu->r[31];
/* 028C820C */ cpu->r[4] = 0x00000005u;
/* 028C8210 */ Gambit_fn_028C56B8(cpu);
/* 028C8214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C8218 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C8218 */ _t33 = _t32 & 0x00000001u;
/* 028C8218 */ if (_t33) goto L_028C822C; else goto L_028C821C;
L_028C821C: ; // 0x28c821c
/* 028C821C */ _t34 = cpu->r[31] + 0x0000001Cu;
/* 028C821C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t34);
/* 028C8220 */ cpu->r[3] = cpu->r[30];
/* 028C8224 */ Gambit_fn_028C72E4(cpu);
/* 028C8228 */ cpu->r[29] = 0x00000001u;
L_028C822C: ; // 0x28c822c
/* 028C822C */ cpu->r[3] = cpu->r[31];
/* 028C8230 */ cpu->r[4] = 0x00000006u;
/* 028C8234 */ Gambit_fn_028C56B8(cpu);
/* 028C8238 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C823C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C823C */ _t36 = _t35 & 0x00000001u;
/* 028C823C */ if (_t36) goto L_028C824C; else goto L_028C8240;
L_028C8240: ; // 0x28c8240
/* 028C8240 */ _t37 = cpu->r[31] + 0x00000020u;
/* 028C8240 */ cpu->r[4] = rbrew_read32(cpu->mem, _t37);
/* 028C8244 */ cpu->r[3] = cpu->r[30];
/* 028C8248 */ Gambit_fn_028C7D6C(cpu);
L_028C824C: ; // 0x28c824c
/* 028C824C */ cpu->r[3] = cpu->r[31];
/* 028C8250 */ cpu->r[4] = 0x00000007u;
/* 028C8254 */ Gambit_fn_028C56B8(cpu);
/* 028C8258 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C825C */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C825C */ _t39 = _t38 & 0x00000001u;
/* 028C825C */ if (_t39) goto L_028C8270; else goto L_028C8260;
L_028C8260: ; // 0x28c8260
/* 028C8260 */ _t40 = cpu->r[31] + 0x00000024u;
/* 028C8260 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t40);
/* 028C8264 */ cpu->r[3] = cpu->r[30];
/* 028C8268 */ Gambit_fn_028C7360(cpu);
/* 028C826C */ cpu->r[29] = 0x00000001u;
L_028C8270: ; // 0x28c8270
/* 028C8270 */ cpu->r[3] = cpu->r[31];
/* 028C8274 */ cpu->r[4] = 0x00000008u;
/* 028C8278 */ Gambit_fn_028C56B8(cpu);
/* 028C827C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C8280 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C8280 */ _t42 = _t41 & 0x00000001u;
/* 028C8280 */ if (_t42) goto L_028C82A0; else goto L_028C8284;
L_028C8284: ; // 0x28c8284
/* 028C8284 */ _t43 = cpu->r[31] + 0x00000028u;
/* 028C8284 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t43);
/* 028C8288 */ cpu->r[3] = cpu->r[30];
/* 028C828C */ Gambit_fn_028C73DC(cpu);
/* 028C8290 */ _t44 = cpu->r[30] + 0x00000110u;
/* 028C8290 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t44);
/* 028C8294 */ cpu->r[3] = cpu->r[30];
/* 028C8298 */ Gambit_fn_028C79BC(cpu);
/* 028C829C */ cpu->r[29] = 0x00000001u;
L_028C82A0: ; // 0x28c82a0
/* 028C82A0 */ cpu->r[3] = cpu->r[31];
/* 028C82A4 */ cpu->r[4] = 0x00000009u;
/* 028C82A8 */ Gambit_fn_028C56B8(cpu);
/* 028C82AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C82B0 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C82B0 */ _t46 = _t45 & 0x00000001u;
/* 028C82B0 */ if (_t46) goto L_028C82C0; else goto L_028C82B4;
L_028C82B4: ; // 0x28c82b4
/* 028C82B4 */ _t47 = cpu->r[31] + 0x0000002Cu;
/* 028C82B4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t47);
/* 028C82B8 */ cpu->r[3] = cpu->r[30];
/* 028C82BC */ Gambit_fn_028C7C38(cpu);
L_028C82C0: ; // 0x28c82c0
/* 028C82C0 */ cpu->r[3] = cpu->r[31];
/* 028C82C4 */ cpu->r[4] = 0x0000000Au;
/* 028C82C8 */ Gambit_fn_028C56B8(cpu);
/* 028C82CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C82D0 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C82D0 */ _t49 = _t48 & 0x00000001u;
/* 028C82D0 */ if (_t49) goto L_028C82F4; else goto L_028C82D4;
L_028C82D4: ; // 0x28c82d4
/* 028C82D4 */ _t50 = cpu->r[31] + 0x00000030u;
/* 028C82D4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t50);
/* 028C82D8 */ cpu->r[3] = cpu->r[30];
/* 028C82DC */ Gambit_fn_028C79B4(cpu);
/* 028C82E0 */ _t51 = cpu->r[30] + 0x00000114u;
/* 028C82E0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t51);
/* 028C82E4 */ Gambit_fn_028C7BBC(cpu);
/* 028C82E8 */ _t52 = cpu->r[30] + 0x00000118u;
/* 028C82E8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t52);
/* 028C82EC */ cpu->r[3] = cpu->r[30];
/* 028C82F0 */ Gambit_fn_028C7CF0(cpu);
L_028C82F4: ; // 0x28c82f4
/* 028C82F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028C82F8 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C82F8 */ _t54 = _t53 & 0x00000001u;
/* 028C82F8 */ if (_t54) goto L_028C8304; else goto L_028C82FC;
L_028C82FC: ; // 0x28c82fc
/* 028C82FC */ cpu->r[3] = cpu->r[30];
/* 028C8300 */ Gambit_fn_028C7798(cpu);
L_028C8304: ; // 0x28c8304
/* 028C8304 */ _t55 = cpu->r[1] + 0x0000000Cu;
/* 028C8304 */ cpu->r[29] = rbrew_read32(cpu->mem, _t55);
/* 028C8308 */ _t56 = cpu->r[1] + 0x0000001Cu;
/* 028C8308 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
/* 028C830C */ _t57 = cpu->r[1] + 0x00000010u;
/* 028C830C */ cpu->r[30] = rbrew_read32(cpu->mem, _t57);
/* 028C8310 */ cpu->lr = cpu->r[0];
/* 028C8314 */ _t58 = cpu->r[1] + 0x00000014u;
/* 028C8314 */ cpu->r[31] = rbrew_read32(cpu->mem, _t58);
/* 028C8318 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C831C */ return;
}
// fn_028C80F0 @ 0x28c80f0
void Gambit_fn_028C80F0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _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_028C80F0: ; // 0x28c80f0
/* 028C80F0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C80F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C80F0 */ cpu->r[1] = _t0;
/* 028C80F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C80F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028C80F8 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C80F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028C80FC */ _t3 = cpu->r[1] + 0x00000010u;
/* 028C80FC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028C8100 */ cpu->r[31] = cpu->r[4];
/* 028C8104 */ cpu->r[8] = 0x101D0000u;
/* 028C8108 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C8108 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C810C */ _t5 = cpu->r[8] + 0xFFFFF754u;
/* 028C810C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028C810C */ cpu->r[8] = _t5;
/* 028C8110 */ cpu->r[30] = cpu->r[3];
/* 028C8114 */ cpu->r[4] = 0x101D0000u;
/* 028C8118 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C811C */ cpu->r[4] = cpu->r[4] + 0x00001970u;
/* 028C8120 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C8120 */ _t7 = _t6 & 0x00000001u;
/* 028C8120 */ if (_t7) goto L_028C8124; else goto L_028C8138;
L_028C8124: ; // 0x28c8124
/* 028C8124 */ cpu->r[0] = 0x10140000u;
/* 028C8128 */ cpu->r[9] = 0x00000001u;
/* 028C812C */ cpu->r[0] = cpu->r[0] + 0xFFFF97E8u;
/* 028C8130 */ _t8 = cpu->r[8] + 0x00000000u;
/* 028C8130 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
/* 028C8134 */ _t9 = cpu->r[4] + 0x00000000u;
/* 028C8134 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
L_028C8138: ; // 0x28c8138
/* 028C8138 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C813C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C813C */ _t11 = _t10 & 0x00000001u;
/* 028C813C */ if (_t11) goto L_028C815C; else goto L_028C8140;
L_028C8140: ; // 0x28c8140
/* 028C8140 */ _t12 = cpu->r[31] + 0x00000004u;
/* 028C8140 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
/* 028C8144 */ _t13 = cpu->r[12] + 0x0000000Cu;
/* 028C8144 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028C8148 */ cpu->ctr = cpu->r[0];
/* 028C814C */ cpu->r[3] = cpu->r[31];
/* 028C8150 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C8154 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C8158 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C8158 */ _t15 = _t14 & 0x00000001u;
/* 028C8158 */ if (_t15) goto L_028C815C; else goto L_028C8160;
L_028C815C: ; // 0x28c815c
/* 028C815C */ cpu->r[31] = 0x00000000u;
L_028C8160: ; // 0x28c8160
/* 028C8160 */ cpu->r[29] = 0x00000000u;
/* 028C8164 */ cpu->r[3] = cpu->r[31];
/* 028C8168 */ cpu->r[4] = cpu->r[29];
/* 028C816C */ Gambit_fn_028C56B8(cpu);
/* 028C8170 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C8174 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C8174 */ _t17 = _t16 & 0x00000001u;
/* 028C8174 */ if (_t17) goto L_028C8188; else goto L_028C8178;
L_028C8178: ; // 0x28c8178
/* 028C8178 */ _t18 = cpu->r[31] + 0x00000034u;
/* 028C8178 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t18);
/* 028C817C */ cpu->r[3] = cpu->r[30];
/* 028C8180 */ _t19 = cpu->r[31] + 0x00000008u;
/* 028C8180 */ cpu->r[4] = rbrew_read32(cpu->mem, _t19);
/* 028C8184 */ Gambit_fn_028C8074(cpu);
L_028C8188: ; // 0x28c8188
/* 028C8188 */ cpu->r[3] = cpu->r[31];
/* 028C818C */ cpu->r[4] = 0x00000001u;
/* 028C8190 */ Gambit_fn_028C56B8(cpu);
/* 028C8194 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C8198 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C8198 */ _t21 = _t20 & 0x00000001u;
/* 028C8198 */ if (_t21) goto L_028C81A8; else goto L_028C819C;
L_028C819C: ; // 0x28c819c
/* 028C819C */ _t22 = cpu->r[31] + 0x0000000Cu;
/* 028C819C */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
/* 028C81A0 */ cpu->r[3] = cpu->r[30];
/* 028C81A4 */ Gambit_fn_028C7CF0(cpu);
L_028C81A8: ; // 0x28c81a8
/* 028C81A8 */ cpu->r[3] = cpu->r[31];
/* 028C81AC */ cpu->r[4] = 0x00000002u;
/* 028C81B0 */ Gambit_fn_028C56B8(cpu);
/* 028C81B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C81B8 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C81B8 */ _t24 = _t23 & 0x00000001u;
/* 028C81B8 */ if (_t24) goto L_028C81C8; else goto L_028C81BC;
L_028C81BC: ; // 0x28c81bc
/* 028C81BC */ _t25 = cpu->r[31] + 0x00000010u;
/* 028C81BC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t25);
/* 028C81C0 */ cpu->r[3] = cpu->r[30];
/* 028C81C4 */ Gambit_fn_028C79BC(cpu);
L_028C81C8: ; // 0x28c81c8
/* 028C81C8 */ cpu->r[3] = cpu->r[31];
/* 028C81CC */ cpu->r[4] = 0x00000003u;
/* 028C81D0 */ Gambit_fn_028C56B8(cpu);
/* 028C81D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C81D8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C81D8 */ _t27 = _t26 & 0x00000001u;
/* 028C81D8 */ if (_t27) goto L_028C81E8; else goto L_028C81DC;
L_028C81DC: ; // 0x28c81dc
/* 028C81DC */ _t28 = cpu->r[31] + 0x00000014u;
/* 028C81DC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t28);
/* 028C81E0 */ cpu->r[3] = cpu->r[30];
/* 028C81E4 */ Gambit_fn_028C7BBC(cpu);
L_028C81E8: ; // 0x28c81e8
/* 028C81E8 */ cpu->r[3] = cpu->r[31];
/* 028C81EC */ cpu->r[4] = 0x00000004u;
/* 028C81F0 */ Gambit_fn_028C56B8(cpu);
/* 028C81F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C81F8 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C81F8 */ _t30 = _t29 & 0x00000001u;
/* 028C81F8 */ if (_t30) goto L_028C8208; else goto L_028C81FC;
L_028C81FC: ; // 0x28c81fc
/* 028C81FC */ _t31 = cpu->r[31] + 0x00000018u;
/* 028C81FC */ cpu->r[4] = rbrew_read32(cpu->mem, _t31);
/* 028C8200 */ cpu->r[3] = cpu->r[30];
/* 028C8204 */ Gambit_fn_028C7950(cpu);
L_028C8208: ; // 0x28c8208
/* 028C8208 */ cpu->r[3] = cpu->r[31];
/* 028C820C */ cpu->r[4] = 0x00000005u;
/* 028C8210 */ Gambit_fn_028C56B8(cpu);
/* 028C8214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C8218 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C8218 */ _t33 = _t32 & 0x00000001u;
/* 028C8218 */ if (_t33) goto L_028C822C; else goto L_028C821C;
L_028C821C: ; // 0x28c821c
/* 028C821C */ _t34 = cpu->r[31] + 0x0000001Cu;
/* 028C821C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t34);
/* 028C8220 */ cpu->r[3] = cpu->r[30];
/* 028C8224 */ Gambit_fn_028C72E4(cpu);
/* 028C8228 */ cpu->r[29] = 0x00000001u;
L_028C822C: ; // 0x28c822c
/* 028C822C */ cpu->r[3] = cpu->r[31];
/* 028C8230 */ cpu->r[4] = 0x00000006u;
/* 028C8234 */ Gambit_fn_028C56B8(cpu);
/* 028C8238 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C823C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C823C */ _t36 = _t35 & 0x00000001u;
/* 028C823C */ if (_t36) goto L_028C824C; else goto L_028C8240;
L_028C8240: ; // 0x28c8240
/* 028C8240 */ _t37 = cpu->r[31] + 0x00000020u;
/* 028C8240 */ cpu->r[4] = rbrew_read32(cpu->mem, _t37);
/* 028C8244 */ cpu->r[3] = cpu->r[30];
/* 028C8248 */ Gambit_fn_028C7D6C(cpu);
L_028C824C: ; // 0x28c824c
/* 028C824C */ cpu->r[3] = cpu->r[31];
/* 028C8250 */ cpu->r[4] = 0x00000007u;
/* 028C8254 */ Gambit_fn_028C56B8(cpu);
/* 028C8258 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C825C */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C825C */ _t39 = _t38 & 0x00000001u;
/* 028C825C */ if (_t39) goto L_028C8270; else goto L_028C8260;
L_028C8260: ; // 0x28c8260
/* 028C8260 */ _t40 = cpu->r[31] + 0x00000024u;
/* 028C8260 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t40);
/* 028C8264 */ cpu->r[3] = cpu->r[30];
/* 028C8268 */ Gambit_fn_028C7360(cpu);
/* 028C826C */ cpu->r[29] = 0x00000001u;
L_028C8270: ; // 0x28c8270
/* 028C8270 */ cpu->r[3] = cpu->r[31];
/* 028C8274 */ cpu->r[4] = 0x00000008u;
/* 028C8278 */ Gambit_fn_028C56B8(cpu);
/* 028C827C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C8280 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C8280 */ _t42 = _t41 & 0x00000001u;
/* 028C8280 */ if (_t42) goto L_028C82A0; else goto L_028C8284;
L_028C8284: ; // 0x28c8284
/* 028C8284 */ _t43 = cpu->r[31] + 0x00000028u;
/* 028C8284 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t43);
/* 028C8288 */ cpu->r[3] = cpu->r[30];
/* 028C828C */ Gambit_fn_028C73DC(cpu);
/* 028C8290 */ _t44 = cpu->r[30] + 0x00000110u;
/* 028C8290 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t44);
/* 028C8294 */ cpu->r[3] = cpu->r[30];
/* 028C8298 */ Gambit_fn_028C79BC(cpu);
/* 028C829C */ cpu->r[29] = 0x00000001u;
L_028C82A0: ; // 0x28c82a0
/* 028C82A0 */ cpu->r[3] = cpu->r[31];
/* 028C82A4 */ cpu->r[4] = 0x00000009u;
/* 028C82A8 */ Gambit_fn_028C56B8(cpu);
/* 028C82AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C82B0 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C82B0 */ _t46 = _t45 & 0x00000001u;
/* 028C82B0 */ if (_t46) goto L_028C82C0; else goto L_028C82B4;
L_028C82B4: ; // 0x28c82b4
/* 028C82B4 */ _t47 = cpu->r[31] + 0x0000002Cu;
/* 028C82B4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t47);
/* 028C82B8 */ cpu->r[3] = cpu->r[30];
/* 028C82BC */ Gambit_fn_028C7C38(cpu);
L_028C82C0: ; // 0x28c82c0
/* 028C82C0 */ cpu->r[3] = cpu->r[31];
/* 028C82C4 */ cpu->r[4] = 0x0000000Au;
/* 028C82C8 */ Gambit_fn_028C56B8(cpu);
/* 028C82CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C82D0 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C82D0 */ _t49 = _t48 & 0x00000001u;
/* 028C82D0 */ if (_t49) goto L_028C82F4; else goto L_028C82D4;
L_028C82D4: ; // 0x28c82d4
/* 028C82D4 */ _t50 = cpu->r[31] + 0x00000030u;
/* 028C82D4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t50);
/* 028C82D8 */ cpu->r[3] = cpu->r[30];
/* 028C82DC */ Gambit_fn_028C79B4(cpu);
/* 028C82E0 */ _t51 = cpu->r[30] + 0x00000114u;
/* 028C82E0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t51);
/* 028C82E4 */ Gambit_fn_028C7BBC(cpu);
/* 028C82E8 */ _t52 = cpu->r[30] + 0x00000118u;
/* 028C82E8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t52);
/* 028C82EC */ cpu->r[3] = cpu->r[30];
/* 028C82F0 */ Gambit_fn_028C7CF0(cpu);
L_028C82F4: ; // 0x28c82f4
/* 028C82F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028C82F8 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C82F8 */ _t54 = _t53 & 0x00000001u;
/* 028C82F8 */ if (_t54) goto L_028C8304; else goto L_028C82FC;
L_028C82FC: ; // 0x28c82fc
/* 028C82FC */ cpu->r[3] = cpu->r[30];
/* 028C8300 */ Gambit_fn_028C7798(cpu);
L_028C8304: ; // 0x28c8304
/* 028C8304 */ _t55 = cpu->r[1] + 0x0000000Cu;
/* 028C8304 */ cpu->r[29] = rbrew_read32(cpu->mem, _t55);
/* 028C8308 */ _t56 = cpu->r[1] + 0x0000001Cu;
/* 028C8308 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
/* 028C830C */ _t57 = cpu->r[1] + 0x00000010u;
/* 028C830C */ cpu->r[30] = rbrew_read32(cpu->mem, _t57);
/* 028C8310 */ cpu->lr = cpu->r[0];
/* 028C8314 */ _t58 = cpu->r[1] + 0x00000014u;
/* 028C8314 */ cpu->r[31] = rbrew_read32(cpu->mem, _t58);
/* 028C8318 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C831C */ return;
}
// fn_028C8320 @ 0x28c8320
void Gambit_fn_028C8320(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
L_028C8320: ; // 0x28c8320
/* 028C8320 */ cpu->r[0] = cpu->lr;
/* 028C8324 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C8324 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C8324 */ cpu->r[1] = _t0;
/* 028C8328 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C8328 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C832C */ cpu->r[31] = cpu->r[3];
/* 028C8330 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C8330 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C8334 */ _t3 = cpu->r[31] + 0x0000006Cu;
/* 028C8334 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
/* 028C8338 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C833C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C833C */ _t5 = _t4 & 0x00000001u;
/* 028C833C */ if (_t5) goto L_028C8368; else goto L_028C8340;
L_028C8340: ; // 0x28c8340
/* 028C8340 */ _t6 = cpu->r[31] + 0x00000120u;
/* 028C8340 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
/* 028C8344 */ Gambit_fn_028CA194(cpu);
/* 028C8348 */ _t7 = cpu->r[31] + 0x00000120u;
/* 028C8348 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
/* 028C834C */ _t8 = cpu->r[31] + 0x000000F4u;
/* 028C834C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
/* 028C8350 */ _t9 = cpu->r[12] + 0x00000000u;
/* 028C8350 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t9);
/* 028C8354 */ _t10 = cpu->r[31] + 0x000000F8u;
/* 028C8354 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
/* 028C8358 */ cpu->f[11] = cpu->f[0] * cpu->f[12];
/* 028C835C */ cpu->f[0] = cpu->f[13] * cpu->f[12];
/* 028C8360 */ /* nop */
/* 028C8364 */ /* nop */
L_028C8368: ; // 0x28c8368
/* 028C8368 */ _t11 = cpu->r[1] + 0x00000014u;
/* 028C8368 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028C836C */ _t12 = cpu->r[1] + 0x0000000Cu;
/* 028C836C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
/* 028C8370 */ cpu->lr = cpu->r[0];
/* 028C8374 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C8378 */ return;
}
// fn_028C8324 @ 0x28c8324
void Gambit_fn_028C8324(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
L_028C8324: ; // 0x28c8324
/* 028C8324 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C8324 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C8324 */ cpu->r[1] = _t0;
/* 028C8328 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C8328 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C832C */ cpu->r[31] = cpu->r[3];
/* 028C8330 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C8330 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C8334 */ _t3 = cpu->r[31] + 0x0000006Cu;
/* 028C8334 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
/* 028C8338 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C833C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C833C */ _t5 = _t4 & 0x00000001u;
/* 028C833C */ if (_t5) goto L_028C8368; else goto L_028C8340;
L_028C8340: ; // 0x28c8340
/* 028C8340 */ _t6 = cpu->r[31] + 0x00000120u;
/* 028C8340 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
/* 028C8344 */ Gambit_fn_028CA194(cpu);
/* 028C8348 */ _t7 = cpu->r[31] + 0x00000120u;
/* 028C8348 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
/* 028C834C */ _t8 = cpu->r[31] + 0x000000F4u;
/* 028C834C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
/* 028C8350 */ _t9 = cpu->r[12] + 0x00000000u;
/* 028C8350 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t9);
/* 028C8354 */ _t10 = cpu->r[31] + 0x000000F8u;
/* 028C8354 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
/* 028C8358 */ cpu->f[11] = cpu->f[0] * cpu->f[12];
/* 028C835C */ cpu->f[0] = cpu->f[13] * cpu->f[12];
/* 028C8360 */ /* nop */
/* 028C8364 */ /* nop */
L_028C8368: ; // 0x28c8368
/* 028C8368 */ _t11 = cpu->r[1] + 0x00000014u;
/* 028C8368 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028C836C */ _t12 = cpu->r[1] + 0x0000000Cu;
/* 028C836C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
/* 028C8370 */ cpu->lr = cpu->r[0];
/* 028C8374 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C8378 */ return;
}
// fn_028C837C @ 0x28c837c
void Gambit_fn_028C837C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028C837C: ; // 0x28c837c
/* 028C837C */ cpu->r[0] = cpu->lr;
/* 028C8380 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028C8380 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028C8384 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028C8384 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028C8384 */ cpu->r[1] = _t1;
/* 028C8388 */ _t2 = cpu->r[3] + 0x0000006Cu;
/* 028C8388 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
/* 028C838C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C8390 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C8390 */ _t4 = _t3 & 0x00000001u;
/* 028C8390 */ if (_t4) goto L_028C8394; else goto L_028C83A8;
L_028C8394: ; // 0x28c8394
/* 028C8394 */ _t5 = cpu->r[1] + 0x0000000Cu;
/* 028C8394 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028C8398 */ cpu->lr = cpu->r[0];
/* 028C839C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028C83A0 */ cpu->r[3] = 0x00000000u;
/* 028C83A4 */ return;
L_028C83A8: ; // 0x28c83a8
/* 028C83A8 */ Gambit_fn_028C7798(cpu);
/* 028C83AC */ _t6 = cpu->r[1] + 0x0000000Cu;
/* 028C83AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028C83B0 */ cpu->lr = cpu->r[0];
/* 028C83B4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028C83B8 */ cpu->r[3] = 0x00000001u;
/* 028C83BC */ return;
}
// fn_028C8384 @ 0x28c8384
void Gambit_fn_028C8384(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
L_028C8384: ; // 0x28c8384
/* 028C8384 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028C8384 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C8384 */ cpu->r[1] = _t0;
/* 028C8388 */ _t1 = cpu->r[3] + 0x0000006Cu;
/* 028C8388 */ cpu->r[0] = rbrew_read8(cpu->mem, _t1);
/* 028C838C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C8390 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C8390 */ _t3 = _t2 & 0x00000001u;
/* 028C8390 */ if (_t3) goto L_028C8394; else goto L_028C83A8;
L_028C8394: ; // 0x28c8394
/* 028C8394 */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028C8394 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028C8398 */ cpu->lr = cpu->r[0];
/* 028C839C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028C83A0 */ cpu->r[3] = 0x00000000u;
/* 028C83A4 */ return;
L_028C83A8: ; // 0x28c83a8
/* 028C83A8 */ Gambit_fn_028C7798(cpu);
/* 028C83AC */ _t5 = cpu->r[1] + 0x0000000Cu;
/* 028C83AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028C83B0 */ cpu->lr = cpu->r[0];
/* 028C83B4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028C83B8 */ cpu->r[3] = 0x00000001u;
/* 028C83BC */ return;
}
// fn_028C83C0 @ 0x28c83c0
void Gambit_fn_028C83C0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127;
L_028C83C0: ; // 0x28c83c0
/* 028C83C0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028C83C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C83C0 */ cpu->r[1] = _t0;
/* 028C83C4 */ _t1 = cpu->r[3] + 0x000000B0u;
/* 028C83C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
/* 028C83C8 */ cpu->r[12] = cpu->r[1] + 0x00000008u;
/* 028C83CC */ /* nop */
/* 028C83D0 */ cpu->r[10] = 0x00000002u;
/* 028C83D4 */ /* nop */
/* 028C83D8 */ cpu->ctr = cpu->r[10];
/* 028C83DC */ cpu->r[11] = cpu->r[11] + 0xFFFFFFF8u;
L_028C83E0: ; // 0x28c83e0
/* 028C83E0 */ /* nop */
/* 028C83E4 */ cpu->r[11] = cpu->r[11] + 0x00000008u;
/* 028C83E8 */ /* nop */
/* 028C83EC */ cpu->r[12] = cpu->r[12] + 0x00000008u;
/* 028C83F0 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028C83F0 */ _t2 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028C83F0 */ _t3 = _t2 >> (0x00000002u & 31u);
/* 028C83F0 */ _t4 = _t3 & 0x00000001u;
/* 028C83F0 */ if (_t4) goto L_028C83E0; else goto L_028C83F4;
L_028C83F4: ; // 0x28c83f4
/* 028C83F4 */ /* nop */
/* 028C83F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
/* 028C83FC */ /* nop */
/* 028C8400 */ /* nop */
/* 028C8404 */ /* nop */
/* 028C8408 */ /* nop */
/* 028C840C */ /* nop */
/* 028C8410 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C8410 */ _t6 = _t5 & 0x00000001u;
/* 028C8410 */ if (_t6) goto L_028C8754; else goto L_028C8414;
L_028C8414: ; // 0x28c8414
/* 028C8414 */ cpu->ctr = cpu->r[6];
/* 028C8418 */ cpu->r[8] = 0x00000000u;
/* 028C841C */ cpu->r[9] = cpu->r[1] + 0x00000010u;
L_028C8420: ; // 0x28c8420
/* 028C8420 */ _t7 = cpu->r[5] + 0x00000000u;
/* 028C8420 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
/* 028C8424 */ cpu->r[12] = 0x43300000u;
/* 028C8428 */ _t8 = cpu->r[4] + 0x00000000u;
/* 028C8428 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
/* 028C842C */ _t9 = cpu->r[1] + 0x00000008u;
/* 028C842C */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
/* 028C8430 */ cpu->r[12] = 0x10140000u;
/* 028C8434 */ cpu->r[10] = cpu->r[10] ^ 0x80000000u;
/* 028C8438 */ _t10 = cpu->r[12] + 0xFFFF9A00u;
/* 028C8438 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t10);
/* 028C843C */ cpu->r[12] = cpu->r[11] ^ 0x80000000u;
/* 028C8440 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028C8440 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
/* 028C8444 */ _t12 = cpu->r[1] + 0x00000008u;
/* 028C8444 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t12);
/* 028C8448 */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028C8448 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
/* 028C844C */ _t14 = cpu->r[1] + 0x00000008u;
/* 028C844C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t14);
/* 028C8450 */ cpu->f[12] = cpu->f[12] - cpu->f[0];
/* 028C8454 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
/* 028C8458 */ cpu->f[13] = (double)(float)cpu->f[12];
/* 028C845C */ _t15 = cpu->r[3] + 0x00000074u;
/* 028C845C */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
/* 028C8460 */ cpu->f[0] = (double)(float)cpu->f[0];
/* 028C8464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028C8468 */ /* nop */
/* 028C846C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C846C */ _t17 = _t16 & 0x00000001u;
/* 028C846C */ if (_t17) goto L_028C84C4; else goto L_028C8470;
L_028C8470: ; // 0x28c8470
/* 028C8470 */ _t18 = cpu->r[3] + 0x00000070u;
/* 028C8470 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
/* 028C8474 */ _t19 = cpu->r[3] + 0x00000078u;
/* 028C8474 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
/* 028C8478 */ _t20 = cpu->r[11] + 0x00000000u;
/* 028C8478 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
/* 028C847C */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C8480 */ cpu->r[11] = cpu->r[10] + cpu->r[12];
/* 028C8484 */ /* nop */
/* 028C8488 */ /* nop */
/* 028C848C */ _t21 = cpu->r[3] + 0x00000088u;
/* 028C848C */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
/* 028C8490 */ _t22 = cpu->r[3] + 0x00000080u;
/* 028C8490 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
/* 028C8494 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C8498 */ _t23 = cpu->r[10] + 0x00000000u;
/* 028C8498 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
/* 028C849C */ cpu->r[11] = cpu->r[12] + cpu->r[11];
/* 028C84A0 */ /* nop */
/* 028C84A4 */ /* nop */
/* 028C84A8 */ /* nop */
/* 028C84AC */ _t24 = cpu->r[3] + 0x00000098u;
/* 028C84AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
/* 028C84B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028C84B4 */ /* nop */
/* 028C84B8 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C84B8 */ _t26 = _t25 & 0x00000001u;
/* 028C84B8 */ if (_t26) goto L_028C84BC; else goto L_028C84F8;
L_028C84BC: ; // 0x28c84bc
/* 028C84BC */ /* nop */
/* 028C84C0 */ goto L_028C8514;
L_028C84C4: ; // 0x28c84c4
/* 028C84C4 */ _t27 = cpu->r[3] + 0x00000088u;
/* 028C84C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
/* 028C84C8 */ _t28 = cpu->r[3] + 0x00000080u;
/* 028C84C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
/* 028C84CC */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C84D0 */ _t29 = cpu->r[10] + 0x00000000u;
/* 028C84D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
/* 028C84D4 */ cpu->r[11] = cpu->r[12] + cpu->r[11];
/* 028C84D8 */ /* nop */
/* 028C84DC */ /* nop */
/* 028C84E0 */ /* nop */
/* 028C84E4 */ /* nop */
/* 028C84E8 */ _t30 = cpu->r[3] + 0x00000098u;
/* 028C84E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
/* 028C84EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028C84F0 */ /* nop */
/* 028C84F4 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C84F4 */ _t32 = _t31 & 0x00000001u;
/* 028C84F4 */ if (_t32) goto L_028C84BC; else goto L_028C84F8;
L_028C84F8: ; // 0x28c84f8
/* 028C84F8 */ _t33 = cpu->r[3] + 0x00000094u;
/* 028C84F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t33);
/* 028C84FC */ _t34 = cpu->r[3] + 0x0000009Cu;
/* 028C84FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
/* 028C8500 */ _t35 = cpu->r[11] + 0x00000000u;
/* 028C8500 */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
/* 028C8504 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C8508 */ cpu->r[11] = cpu->r[10] + cpu->r[12];
/* 028C850C */ /* nop */
/* 028C8510 */ /* nop */
L_028C8514: ; // 0x28c8514
/* 028C8514 */ _t36 = cpu->r[3] + 0x000000ACu;
/* 028C8514 */ cpu->r[12] = rbrew_read32(cpu->mem, _t36);
/* 028C8518 */ _t37 = cpu->r[3] + 0x000000A4u;
/* 028C8518 */ cpu->r[11] = rbrew_read32(cpu->mem, _t37);
/* 028C851C */ _t38 = cpu->r[12] + 0x00000000u;
/* 028C851C */ cpu->r[10] = rbrew_read32(cpu->mem, _t38);
/* 028C8520 */ _t39 = cpu->r[11] + 0x00000000u;
/* 028C8520 */ cpu->r[11] = rbrew_read32(cpu->mem, _t39);
/* 028C8524 */ _t40 = cpu->r[3] + 0x000000B8u;
/* 028C8524 */ cpu->r[12] = rbrew_read32(cpu->mem, _t40);
/* 028C8528 */ _t41 = cpu->r[11] + 0x00000000u;
/* 028C8528 */ cpu->r[11] = rbrew_read32(cpu->mem, _t41);
/* 028C852C */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C8530 */ _t42 = cpu->r[12] + 0x00000000u;
/* 028C8530 */ cpu->r[12] = rbrew_read32(cpu->mem, _t42);
/* 028C8534 */ cpu->r[11] = cpu->r[11] + cpu->r[10];
/* 028C8538 */ /* nop */
/* 028C853C */ /* nop */
/* 028C8540 */ /* nop */
/* 028C8544 */ /* nop */
/* 028C8548 */ /* nop */
/* 028C854C */ /* nop */
/* 028C8550 */ /* nop */
/* 028C8554 */ /* nop */
/* 028C8558 */ _t43 = cpu->r[3] + 0x000000ACu;
/* 028C8558 */ cpu->r[12] = rbrew_read32(cpu->mem, _t43);
/* 028C855C */ _t44 = cpu->r[3] + 0x000000A4u;
/* 028C855C */ cpu->r[11] = rbrew_read32(cpu->mem, _t44);
/* 028C8560 */ _t45 = cpu->r[12] + 0x00000004u;
/* 028C8560 */ cpu->r[10] = rbrew_read32(cpu->mem, _t45);
/* 028C8564 */ _t46 = cpu->r[11] + 0x00000004u;
/* 028C8564 */ cpu->r[11] = rbrew_read32(cpu->mem, _t46);
/* 028C8568 */ _t47 = cpu->r[3] + 0x000000B8u;
/* 028C8568 */ cpu->r[12] = rbrew_read32(cpu->mem, _t47);
/* 028C856C */ _t48 = cpu->r[11] + 0x00000000u;
/* 028C856C */ cpu->r[11] = rbrew_read32(cpu->mem, _t48);
/* 028C8570 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C8574 */ _t49 = cpu->r[12] + 0x00000004u;
/* 028C8574 */ cpu->r[12] = rbrew_read32(cpu->mem, _t49);
/* 028C8578 */ cpu->r[11] = cpu->r[11] + cpu->r[10];
/* 028C857C */ /* nop */
/* 028C8580 */ /* nop */
/* 028C8584 */ /* nop */
/* 028C8588 */ /* nop */
/* 028C858C */ /* nop */
/* 028C8590 */ /* nop */
/* 028C8594 */ /* nop */
/* 028C8598 */ /* nop */
/* 028C859C */ _t50 = cpu->r[3] + 0x000000CCu;
/* 028C859C */ cpu->r[11] = rbrew_read32(cpu->mem, _t50);
/* 028C85A0 */ _t51 = cpu->r[3] + 0x000000D4u;
/* 028C85A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t51);
/* 028C85A4 */ _t52 = cpu->r[11] + 0x00000000u;
/* 028C85A4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t52);
/* 028C85A8 */ _t53 = cpu->r[12] + 0x00000000u;
/* 028C85A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t53);
/* 028C85AC */ _t54 = cpu->r[10] + 0x00000000u;
/* 028C85AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t54);
/* 028C85B0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C85B4 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
/* 028C85B8 */ /* nop */
/* 028C85BC */ /* nop */
/* 028C85C0 */ /* nop */
/* 028C85C4 */ /* nop */
/* 028C85C8 */ _t55 = cpu->r[3] + 0x000000CCu;
/* 028C85C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t55);
/* 028C85CC */ _t56 = cpu->r[3] + 0x000000D4u;
/* 028C85CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t56);
/* 028C85D0 */ _t57 = cpu->r[11] + 0x00000004u;
/* 028C85D0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t57);
/* 028C85D4 */ _t58 = cpu->r[12] + 0x00000004u;
/* 028C85D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t58);
/* 028C85D8 */ _t59 = cpu->r[10] + 0x00000000u;
/* 028C85D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t59);
/* 028C85DC */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C85E0 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
/* 028C85E4 */ /* nop */
/* 028C85E8 */ /* nop */
/* 028C85EC */ /* nop */
/* 028C85F0 */ /* nop */
/* 028C85F4 */ _t60 = cpu->r[3] + 0x000000E0u;
/* 028C85F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
/* 028C85F8 */ /* nop */
/* 028C85FC */ /* nop */
/* 028C8600 */ /* nop */
/* 028C8604 */ /* nop */
/* 028C8608 */ /* nop */
/* 028C860C */ cpu->f[13] = cpu->f[12];
/* 028C8610 */ /* nop */
/* 028C8614 */ /* nop */
/* 028C8618 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[13];
/* 028C861C */ cpu->r[12] = cpu->r[1] + 0x00000008u;
/* 028C8620 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[0];
/* 028C8624 */ /* nop */
/* 028C8628 */ _t61 = cpu->r[1] + 0x00000008u;
/* 028C8628 */ cpu->r[10] = rbrew_read32(cpu->mem, _t61);
/* 028C862C */ /* nop */
/* 028C8630 */ _t62 = cpu->r[1] + 0x00000008u;
/* 028C8630 */ cpu->r[11] = rbrew_read32(cpu->mem, _t62);
/* 028C8634 */ _t63 = cpu->r[4] + 0x00000000u;
/* 028C8634 */ rbrew_write32(cpu->mem, _t63, cpu->r[10]);
/* 028C8638 */ _t64 = cpu->r[5] + 0x00000000u;
/* 028C8638 */ rbrew_write32(cpu->mem, _t64, cpu->r[11]);
/* 028C863C */ _t65 = cpu->r[3] + 0x00000074u;
/* 028C863C */ cpu->r[12] = rbrew_read32(cpu->mem, _t65);
/* 028C8640 */ cpu->r[4] = cpu->r[4] + 0x00000004u;
/* 028C8644 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028C8648 */ cpu->r[5] = cpu->r[5] + 0x00000004u;
/* 028C864C */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C864C */ _t67 = _t66 & 0x00000001u;
/* 028C864C */ if (_t67) goto L_028C866C; else goto L_028C8650;
L_028C8650: ; // 0x28c8650
/* 028C8650 */ _t68 = cpu->r[3] + 0x00000078u;
/* 028C8650 */ cpu->r[11] = rbrew_read32(cpu->mem, _t68);
/* 028C8654 */ _t69 = cpu->r[3] + 0x00000074u;
/* 028C8654 */ cpu->r[12] = rbrew_read32(cpu->mem, _t69);
/* 028C8658 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
/* 028C865C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
/* 028C8660 */ _t70 = cpu->r[3] + 0x00000078u;
/* 028C8660 */ rbrew_write32(cpu->mem, _t70, cpu->r[11]);
/* 028C8664 */ _t71 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C8664 */ _t72 = _t71 & 0x00000001u;
/* 028C8664 */ if (_t72) goto L_028C866C; else goto L_028C8668;
L_028C8668: ; // 0x28c8668
/* 028C8668 */ _t73 = cpu->r[3] + 0x00000078u;
/* 028C8668 */ rbrew_write32(cpu->mem, _t73, cpu->r[8]);
L_028C866C: ; // 0x28c866c
/* 028C866C */ _t74 = cpu->r[3] + 0x00000088u;
/* 028C866C */ cpu->r[11] = rbrew_read32(cpu->mem, _t74);
/* 028C8670 */ _t75 = cpu->r[3] + 0x00000084u;
/* 028C8670 */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
/* 028C8674 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
/* 028C8678 */ _t76 = cpu->r[3] + 0x00000088u;
/* 028C8678 */ rbrew_write32(cpu->mem, _t76, cpu->r[11]);
/* 028C867C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
/* 028C8680 */ _t77 = cpu->r[3] + 0x00000098u;
/* 028C8680 */ cpu->r[12] = rbrew_read32(cpu->mem, _t77);
/* 028C8684 */ _t78 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C8684 */ _t79 = _t78 & 0x00000001u;
/* 028C8684 */ if (_t79) goto L_028C868C; else goto L_028C8688;
L_028C8688: ; // 0x28c8688
/* 028C8688 */ _t80 = cpu->r[3] + 0x00000088u;
/* 028C8688 */ rbrew_write32(cpu->mem, _t80, cpu->r[8]);
L_028C868C: ; // 0x28c868c
/* 028C868C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028C8690 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C8690 */ _t82 = _t81 & 0x00000001u;
/* 028C8690 */ if (_t82) goto L_028C86B0; else goto L_028C8694;
L_028C8694: ; // 0x28c8694
/* 028C8694 */ _t83 = cpu->r[3] + 0x0000009Cu;
/* 028C8694 */ cpu->r[11] = rbrew_read32(cpu->mem, _t83);
/* 028C8698 */ _t84 = cpu->r[3] + 0x00000098u;
/* 028C8698 */ cpu->r[12] = rbrew_read32(cpu->mem, _t84);
/* 028C869C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
/* 028C86A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
/* 028C86A4 */ _t85 = cpu->r[3] + 0x0000009Cu;
/* 028C86A4 */ rbrew_write32(cpu->mem, _t85, cpu->r[11]);
/* 028C86A8 */ _t86 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C86A8 */ _t87 = _t86 & 0x00000001u;
/* 028C86A8 */ if (_t87) goto L_028C86B0; else goto L_028C86AC;
L_028C86AC: ; // 0x28c86ac
/* 028C86AC */ _t88 = cpu->r[3] + 0x0000009Cu;
/* 028C86AC */ rbrew_write32(cpu->mem, _t88, cpu->r[8]);
L_028C86B0: ; // 0x28c86b0
/* 028C86B0 */ _t89 = cpu->r[3] + 0x000000ACu;
/* 028C86B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t89);
/* 028C86B4 */ _t90 = cpu->r[12] + 0x00000000u;
/* 028C86B4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t90);
/* 028C86B8 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
/* 028C86BC */ _t91 = cpu->r[12] + 0x00000000u;
/* 028C86BC */ rbrew_write32(cpu->mem, _t91, cpu->r[10]);
/* 028C86C0 */ _t92 = cpu->r[3] + 0x000000A8u;
/* 028C86C0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t92);
/* 028C86C4 */ _t93 = cpu->r[11] + 0x00000000u;
/* 028C86C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t93);
/* 028C86C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[12]);
/* 028C86CC */ _t94 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C86CC */ _t95 = _t94 & 0x00000001u;
/* 028C86CC */ if (_t95) goto L_028C86D8; else goto L_028C86D0;
L_028C86D0: ; // 0x28c86d0
/* 028C86D0 */ _t96 = cpu->r[3] + 0x000000ACu;
/* 028C86D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t96);
/* 028C86D4 */ _t97 = cpu->r[12] + 0x00000000u;
/* 028C86D4 */ rbrew_write32(cpu->mem, _t97, cpu->r[8]);
L_028C86D8: ; // 0x28c86d8
/* 028C86D8 */ _t98 = cpu->r[3] + 0x000000ACu;
/* 028C86D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t98);
/* 028C86DC */ _t99 = cpu->r[12] + 0x00000004u;
/* 028C86DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t99);
/* 028C86E0 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
/* 028C86E4 */ _t100 = cpu->r[12] + 0x00000004u;
/* 028C86E4 */ rbrew_write32(cpu->mem, _t100, cpu->r[10]);
/* 028C86E8 */ _t101 = cpu->r[3] + 0x000000A8u;
/* 028C86E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t101);
/* 028C86EC */ _t102 = cpu->r[11] + 0x00000004u;
/* 028C86EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t102);
/* 028C86F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[12]);
/* 028C86F4 */ _t103 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C86F4 */ _t104 = _t103 & 0x00000001u;
/* 028C86F4 */ if (_t104) goto L_028C8700; else goto L_028C86F8;
L_028C86F8: ; // 0x28c86f8
/* 028C86F8 */ _t105 = cpu->r[3] + 0x000000ACu;
/* 028C86F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t105);
/* 028C86FC */ _t106 = cpu->r[12] + 0x00000004u;
/* 028C86FC */ rbrew_write32(cpu->mem, _t106, cpu->r[8]);
L_028C8700: ; // 0x28c8700
/* 028C8700 */ _t107 = cpu->r[3] + 0x000000D4u;
/* 028C8700 */ cpu->r[12] = rbrew_read32(cpu->mem, _t107);
/* 028C8704 */ _t108 = cpu->r[12] + 0x00000000u;
/* 028C8704 */ cpu->r[10] = rbrew_read32(cpu->mem, _t108);
/* 028C8708 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
/* 028C870C */ _t109 = cpu->r[12] + 0x00000000u;
/* 028C870C */ rbrew_write32(cpu->mem, _t109, cpu->r[10]);
/* 028C8710 */ _t110 = cpu->r[3] + 0x000000D0u;
/* 028C8710 */ cpu->r[11] = rbrew_read32(cpu->mem, _t110);
/* 028C8714 */ _t111 = cpu->r[11] + 0x00000000u;
/* 028C8714 */ cpu->r[12] = rbrew_read32(cpu->mem, _t111);
/* 028C8718 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[12]);
/* 028C871C */ _t112 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C871C */ _t113 = _t112 & 0x00000001u;
/* 028C871C */ if (_t113) goto L_028C8728; else goto L_028C8720;
L_028C8720: ; // 0x28c8720
/* 028C8720 */ _t114 = cpu->r[3] + 0x000000D4u;
/* 028C8720 */ cpu->r[12] = rbrew_read32(cpu->mem, _t114);
/* 028C8724 */ _t115 = cpu->r[12] + 0x00000000u;
/* 028C8724 */ rbrew_write32(cpu->mem, _t115, cpu->r[8]);
L_028C8728: ; // 0x28c8728
/* 028C8728 */ _t116 = cpu->r[3] + 0x000000D4u;
/* 028C8728 */ cpu->r[12] = rbrew_read32(cpu->mem, _t116);
/* 028C872C */ _t117 = cpu->r[12] + 0x00000004u;
/* 028C872C */ cpu->r[10] = rbrew_read32(cpu->mem, _t117);
/* 028C8730 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
/* 028C8734 */ _t118 = cpu->r[12] + 0x00000004u;
/* 028C8734 */ rbrew_write32(cpu->mem, _t118, cpu->r[10]);
/* 028C8738 */ _t119 = cpu->r[3] + 0x000000D0u;
/* 028C8738 */ cpu->r[11] = rbrew_read32(cpu->mem, _t119);
/* 028C873C */ _t120 = cpu->r[11] + 0x00000004u;
/* 028C873C */ cpu->r[12] = rbrew_read32(cpu->mem, _t120);
/* 028C8740 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[12]);
/* 028C8744 */ _t121 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C8744 */ _t122 = _t121 & 0x00000001u;
/* 028C8744 */ if (_t122) goto L_028C8750; else goto L_028C8748;
L_028C8748: ; // 0x28c8748
/* 028C8748 */ _t123 = cpu->r[3] + 0x000000D4u;
/* 028C8748 */ cpu->r[12] = rbrew_read32(cpu->mem, _t123);
/* 028C874C */ _t124 = cpu->r[12] + 0x00000004u;
/* 028C874C */ rbrew_write32(cpu->mem, _t124, cpu->r[8]);
L_028C8750: ; // 0x28c8750
/* 028C8750 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028C8750 */ _t125 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028C8750 */ _t126 = _t125 >> (0x00000002u & 31u);
/* 028C8750 */ _t127 = _t126 & 0x00000001u;
/* 028C8750 */ if (_t127) goto L_028C8420; else goto L_028C8754;
L_028C8754: ; // 0x28c8754
/* 028C8754 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C8758 */ return;
}
// fn_028C875C @ 0x28c875c
void Gambit_fn_028C875C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190;
L_028C875C: ; // 0x28c875c
/* 028C875C */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
/* 028C875C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C875C */ cpu->r[1] = _t0;
/* 028C8760 */ _t1 = cpu->r[1] + 0x00000028u;
/* 028C8760 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[29]);
/* 028C8764 */ /* nop */
/* 028C8768 */ _t2 = cpu->r[1] + 0x00000038u;
/* 028C8768 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
/* 028C876C */ /* nop */
/* 028C8770 */ _t3 = cpu->r[1] + 0x00000048u;
/* 028C8770 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[31]);
/* 028C8774 */ /* nop */
/* 028C8778 */ _t4 = cpu->r[1] + 0x00000030u;
/* 028C8778 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[29]);
/* 028C877C */ _t5 = cpu->r[1] + 0x00000040u;
/* 028C877C */ rbrew_write_f32(cpu->mem, _t5, cpu->f[30]);
/* 028C8780 */ _t6 = cpu->r[1] + 0x00000050u;
/* 028C8780 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[31]);
/* 028C8784 */ _t7 = cpu->r[1] + 0x00000024u;
/* 028C8784 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
/* 028C8788 */ cpu->r[10] = 0x00000002u;
/* 028C878C */ _t8 = cpu->r[3] + 0x000000B0u;
/* 028C878C */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
/* 028C8790 */ cpu->r[12] = cpu->r[1] + 0x00000008u;
/* 028C8794 */ /* nop */
/* 028C8798 */ cpu->ctr = cpu->r[10];
/* 028C879C */ /* nop */
/* 028C87A0 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFF8u;
L_028C87A4: ; // 0x28c87a4
/* 028C87A4 */ /* nop */
/* 028C87A8 */ cpu->r[11] = cpu->r[11] + 0x00000008u;
/* 028C87AC */ /* nop */
/* 028C87B0 */ cpu->r[12] = cpu->r[12] + 0x00000008u;
/* 028C87B4 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028C87B4 */ _t9 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028C87B4 */ _t10 = _t9 >> (0x00000002u & 31u);
/* 028C87B4 */ _t11 = _t10 & 0x00000001u;
/* 028C87B4 */ if (_t11) goto L_028C87A4; else goto L_028C87B8;
L_028C87B8: ; // 0x28c87b8
/* 028C87B8 */ /* nop */
/* 028C87BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028C87C0 */ /* nop */
/* 028C87C4 */ /* nop */
/* 028C87C8 */ /* nop */
/* 028C87CC */ /* nop */
/* 028C87D0 */ /* nop */
/* 028C87D4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C87D4 */ _t13 = _t12 & 0x00000001u;
/* 028C87D4 */ if (_t13) goto L_028C8D00; else goto L_028C87D8;
L_028C87D8: ; // 0x28c87d8
/* 028C87D8 */ cpu->ctr = cpu->r[8];
/* 028C87DC */ cpu->r[31] = 0x00000000u;
/* 028C87E0 */ cpu->r[9] = cpu->r[1] + 0x00000010u;
L_028C87E4: ; // 0x28c87e4
/* 028C87E4 */ _t14 = cpu->r[4] + 0x00000000u;
/* 028C87E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
/* 028C87E8 */ cpu->r[8] = 0x43300000u;
/* 028C87EC */ _t15 = cpu->r[1] + 0x00000008u;
/* 028C87EC */ rbrew_write32(cpu->mem, _t15, cpu->r[8]);
/* 028C87F0 */ cpu->r[10] = cpu->r[11] ^ 0x80000000u;
/* 028C87F4 */ _t16 = cpu->r[5] + 0x00000000u;
/* 028C87F4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
/* 028C87F8 */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028C87F8 */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
/* 028C87FC */ _t18 = cpu->r[1] + 0x00000008u;
/* 028C87FC */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t18);
/* 028C8800 */ cpu->r[10] = cpu->r[11] ^ 0x80000000u;
/* 028C8804 */ cpu->r[11] = 0x10140000u;
/* 028C8808 */ _t19 = cpu->r[6] + 0x00000000u;
/* 028C8808 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
/* 028C880C */ _t20 = cpu->r[11] + 0xFFFF9A00u;
/* 028C880C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t20);
/* 028C8810 */ cpu->r[11] = cpu->r[12] ^ 0x80000000u;
/* 028C8814 */ _t21 = cpu->r[1] + 0x0000000Cu;
/* 028C8814 */ rbrew_write32(cpu->mem, _t21, cpu->r[10]);
/* 028C8818 */ _t22 = cpu->r[1] + 0x00000008u;
/* 028C8818 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t22);
/* 028C881C */ cpu->f[12] = cpu->f[13] - cpu->f[0];
/* 028C8820 */ _t23 = cpu->r[7] + 0x00000000u;
/* 028C8820 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
/* 028C8824 */ _t24 = cpu->r[1] + 0x0000000Cu;
/* 028C8824 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
/* 028C8828 */ cpu->f[13] = cpu->f[11] - cpu->f[0];
/* 028C882C */ _t25 = cpu->r[1] + 0x00000008u;
/* 028C882C */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t25);
/* 028C8830 */ cpu->r[12] = cpu->r[12] ^ 0x80000000u;
/* 028C8834 */ cpu->f[12] = (double)(float)cpu->f[12];
/* 028C8838 */ _t26 = cpu->r[1] + 0x0000000Cu;
/* 028C8838 */ rbrew_write32(cpu->mem, _t26, cpu->r[12]);
/* 028C883C */ cpu->f[10] = cpu->f[11] - cpu->f[0];
/* 028C8840 */ _t27 = cpu->r[1] + 0x00000008u;
/* 028C8840 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t27);
/* 028C8844 */ cpu->f[13] = (double)(float)cpu->f[13];
/* 028C8848 */ cpu->f[0] = cpu->f[11] - cpu->f[0];
/* 028C884C */ cpu->f[11] = (double)(float)cpu->f[10];
/* 028C8850 */ _t28 = cpu->r[3] + 0x00000074u;
/* 028C8850 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
/* 028C8854 */ cpu->f[0] = (double)(float)cpu->f[0];
/* 028C8858 */ /* nop */
/* 028C885C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028C8860 */ /* nop */
/* 028C8864 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C8864 */ _t30 = _t29 & 0x00000001u;
/* 028C8864 */ if (_t30) goto L_028C8900; else goto L_028C8868;
L_028C8868: ; // 0x28c8868
/* 028C8868 */ _t31 = cpu->r[3] + 0x00000070u;
/* 028C8868 */ cpu->r[11] = rbrew_read32(cpu->mem, _t31);
/* 028C886C */ _t32 = cpu->r[3] + 0x00000078u;
/* 028C886C */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
/* 028C8870 */ _t33 = cpu->r[11] + 0x00000000u;
/* 028C8870 */ cpu->r[10] = rbrew_read32(cpu->mem, _t33);
/* 028C8874 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C8878 */ cpu->r[11] = cpu->r[10] + cpu->r[12];
/* 028C887C */ /* nop */
/* 028C8880 */ /* nop */
/* 028C8884 */ _t34 = cpu->r[3] + 0x00000070u;
/* 028C8884 */ cpu->r[11] = rbrew_read32(cpu->mem, _t34);
/* 028C8888 */ _t35 = cpu->r[3] + 0x00000078u;
/* 028C8888 */ cpu->r[12] = rbrew_read32(cpu->mem, _t35);
/* 028C888C */ _t36 = cpu->r[11] + 0x00000004u;
/* 028C888C */ cpu->r[10] = rbrew_read32(cpu->mem, _t36);
/* 028C8890 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C8894 */ cpu->r[11] = cpu->r[10] + cpu->r[12];
/* 028C8898 */ /* nop */
/* 028C889C */ /* nop */
/* 028C88A0 */ _t37 = cpu->r[3] + 0x00000088u;
/* 028C88A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
/* 028C88A4 */ _t38 = cpu->r[3] + 0x00000080u;
/* 028C88A4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t38);
/* 028C88A8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C88AC */ _t39 = cpu->r[10] + 0x00000000u;
/* 028C88AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
/* 028C88B0 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
/* 028C88B4 */ /* nop */
/* 028C88B8 */ /* nop */
/* 028C88BC */ /* nop */
/* 028C88C0 */ _t40 = cpu->r[3] + 0x00000080u;
/* 028C88C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t40);
/* 028C88C4 */ _t41 = cpu->r[3] + 0x00000088u;
/* 028C88C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t41);
/* 028C88C8 */ _t42 = cpu->r[12] + 0x00000004u;
/* 028C88C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t42);
/* 028C88CC */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C88D0 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
/* 028C88D4 */ /* nop */
/* 028C88D8 */ /* nop */
/* 028C88DC */ /* nop */
/* 028C88E0 */ /* nop */
/* 028C88E4 */ _t43 = cpu->r[3] + 0x00000098u;
/* 028C88E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t43);
/* 028C88E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028C88EC */ /* nop */
/* 028C88F0 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C88F0 */ _t45 = _t44 & 0x00000001u;
/* 028C88F0 */ if (_t45) goto L_028C88F4; else goto L_028C895C;
L_028C88F4: ; // 0x28c88f4
/* 028C88F4 */ /* nop */
/* 028C88F8 */ /* nop */
/* 028C88FC */ goto L_028C8994;
L_028C8900: ; // 0x28c8900
/* 028C8900 */ _t46 = cpu->r[3] + 0x00000088u;
/* 028C8900 */ cpu->r[12] = rbrew_read32(cpu->mem, _t46);
/* 028C8904 */ _t47 = cpu->r[3] + 0x00000080u;
/* 028C8904 */ cpu->r[10] = rbrew_read32(cpu->mem, _t47);
/* 028C8908 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C890C */ _t48 = cpu->r[10] + 0x00000000u;
/* 028C890C */ cpu->r[12] = rbrew_read32(cpu->mem, _t48);
/* 028C8910 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
/* 028C8914 */ /* nop */
/* 028C8918 */ /* nop */
/* 028C891C */ /* nop */
/* 028C8920 */ /* nop */
/* 028C8924 */ /* nop */
/* 028C8928 */ _t49 = cpu->r[3] + 0x00000080u;
/* 028C8928 */ cpu->r[12] = rbrew_read32(cpu->mem, _t49);
/* 028C892C */ _t50 = cpu->r[3] + 0x00000088u;
/* 028C892C */ cpu->r[11] = rbrew_read32(cpu->mem, _t50);
/* 028C8930 */ _t51 = cpu->r[12] + 0x00000004u;
/* 028C8930 */ cpu->r[12] = rbrew_read32(cpu->mem, _t51);
/* 028C8934 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C8938 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
/* 028C893C */ /* nop */
/* 028C8940 */ /* nop */
/* 028C8944 */ /* nop */
/* 028C8948 */ /* nop */
/* 028C894C */ _t52 = cpu->r[3] + 0x00000098u;
/* 028C894C */ cpu->r[12] = rbrew_read32(cpu->mem, _t52);
/* 028C8950 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028C8954 */ /* nop */
/* 028C8958 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C8958 */ _t54 = _t53 & 0x00000001u;
/* 028C8958 */ if (_t54) goto L_028C88F4; else goto L_028C895C;
L_028C895C: ; // 0x28c895c
/* 028C895C */ _t55 = cpu->r[3] + 0x00000094u;
/* 028C895C */ cpu->r[11] = rbrew_read32(cpu->mem, _t55);
/* 028C8960 */ _t56 = cpu->r[3] + 0x0000009Cu;
/* 028C8960 */ cpu->r[12] = rbrew_read32(cpu->mem, _t56);
/* 028C8964 */ _t57 = cpu->r[11] + 0x00000000u;
/* 028C8964 */ cpu->r[10] = rbrew_read32(cpu->mem, _t57);
/* 028C8968 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C896C */ cpu->r[11] = cpu->r[10] + cpu->r[12];
/* 028C8970 */ /* nop */
/* 028C8974 */ /* nop */
/* 028C8978 */ _t58 = cpu->r[3] + 0x00000094u;
/* 028C8978 */ cpu->r[11] = rbrew_read32(cpu->mem, _t58);
/* 028C897C */ _t59 = cpu->r[3] + 0x0000009Cu;
/* 028C897C */ cpu->r[12] = rbrew_read32(cpu->mem, _t59);
/* 028C8980 */ _t60 = cpu->r[11] + 0x00000004u;
/* 028C8980 */ cpu->r[10] = rbrew_read32(cpu->mem, _t60);
/* 028C8984 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C8988 */ cpu->r[11] = cpu->r[10] + cpu->r[12];
/* 028C898C */ /* nop */
/* 028C8990 */ /* nop */
L_028C8994: ; // 0x28c8994
/* 028C8994 */ _t61 = cpu->r[3] + 0x000000ACu;
/* 028C8994 */ cpu->r[12] = rbrew_read32(cpu->mem, _t61);
/* 028C8998 */ _t62 = cpu->r[3] + 0x000000A4u;
/* 028C8998 */ cpu->r[11] = rbrew_read32(cpu->mem, _t62);
/* 028C899C */ _t63 = cpu->r[12] + 0x00000000u;
/* 028C899C */ cpu->r[10] = rbrew_read32(cpu->mem, _t63);
/* 028C89A0 */ _t64 = cpu->r[11] + 0x00000000u;
/* 028C89A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t64);
/* 028C89A4 */ _t65 = cpu->r[3] + 0x000000B8u;
/* 028C89A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t65);
/* 028C89A8 */ _t66 = cpu->r[11] + 0x00000000u;
/* 028C89A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t66);
/* 028C89AC */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C89B0 */ _t67 = cpu->r[12] + 0x00000000u;
/* 028C89B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t67);
/* 028C89B4 */ cpu->r[11] = cpu->r[11] + cpu->r[10];
/* 028C89B8 */ /* nop */
/* 028C89BC */ /* nop */
/* 028C89C0 */ /* nop */
/* 028C89C4 */ /* nop */
/* 028C89C8 */ /* nop */
/* 028C89CC */ /* nop */
/* 028C89D0 */ /* nop */
/* 028C89D4 */ /* nop */
/* 028C89D8 */ _t68 = cpu->r[3] + 0x000000ACu;
/* 028C89D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t68);
/* 028C89DC */ _t69 = cpu->r[3] + 0x000000A4u;
/* 028C89DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t69);
/* 028C89E0 */ _t70 = cpu->r[12] + 0x00000000u;
/* 028C89E0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t70);
/* 028C89E4 */ _t71 = cpu->r[11] + 0x00000000u;
/* 028C89E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t71);
/* 028C89E8 */ _t72 = cpu->r[3] + 0x000000B8u;
/* 028C89E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t72);
/* 028C89EC */ _t73 = cpu->r[11] + 0x00000004u;
/* 028C89EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t73);
/* 028C89F0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C89F4 */ _t74 = cpu->r[12] + 0x00000000u;
/* 028C89F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t74);
/* 028C89F8 */ cpu->r[11] = cpu->r[11] + cpu->r[10];
/* 028C89FC */ /* nop */
/* 028C8A00 */ /* nop */
/* 028C8A04 */ /* nop */
/* 028C8A08 */ /* nop */
/* 028C8A0C */ /* nop */
/* 028C8A10 */ /* nop */
/* 028C8A14 */ /* nop */
/* 028C8A18 */ /* nop */
/* 028C8A1C */ _t75 = cpu->r[3] + 0x000000ACu;
/* 028C8A1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
/* 028C8A20 */ _t76 = cpu->r[3] + 0x000000A4u;
/* 028C8A20 */ cpu->r[11] = rbrew_read32(cpu->mem, _t76);
/* 028C8A24 */ _t77 = cpu->r[12] + 0x00000004u;
/* 028C8A24 */ cpu->r[10] = rbrew_read32(cpu->mem, _t77);
/* 028C8A28 */ _t78 = cpu->r[11] + 0x00000004u;
/* 028C8A28 */ cpu->r[11] = rbrew_read32(cpu->mem, _t78);
/* 028C8A2C */ _t79 = cpu->r[3] + 0x000000B8u;
/* 028C8A2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t79);
/* 028C8A30 */ _t80 = cpu->r[11] + 0x00000000u;
/* 028C8A30 */ cpu->r[11] = rbrew_read32(cpu->mem, _t80);
/* 028C8A34 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C8A38 */ _t81 = cpu->r[12] + 0x00000004u;
/* 028C8A38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t81);
/* 028C8A3C */ cpu->r[11] = cpu->r[11] + cpu->r[10];
/* 028C8A40 */ /* nop */
/* 028C8A44 */ /* nop */
/* 028C8A48 */ /* nop */
/* 028C8A4C */ /* nop */
/* 028C8A50 */ /* nop */
/* 028C8A54 */ /* nop */
/* 028C8A58 */ /* nop */
/* 028C8A5C */ /* nop */
/* 028C8A60 */ _t82 = cpu->r[3] + 0x000000ACu;
/* 028C8A60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t82);
/* 028C8A64 */ _t83 = cpu->r[3] + 0x000000A4u;
/* 028C8A64 */ cpu->r[11] = rbrew_read32(cpu->mem, _t83);
/* 028C8A68 */ _t84 = cpu->r[12] + 0x00000004u;
/* 028C8A68 */ cpu->r[10] = rbrew_read32(cpu->mem, _t84);
/* 028C8A6C */ _t85 = cpu->r[11] + 0x00000004u;
/* 028C8A6C */ cpu->r[11] = rbrew_read32(cpu->mem, _t85);
/* 028C8A70 */ _t86 = cpu->r[3] + 0x000000B8u;
/* 028C8A70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t86);
/* 028C8A74 */ _t87 = cpu->r[11] + 0x00000004u;
/* 028C8A74 */ cpu->r[11] = rbrew_read32(cpu->mem, _t87);
/* 028C8A78 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C8A7C */ _t88 = cpu->r[12] + 0x00000004u;
/* 028C8A7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t88);
/* 028C8A80 */ cpu->r[11] = cpu->r[11] + cpu->r[10];
/* 028C8A84 */ /* nop */
/* 028C8A88 */ /* nop */
/* 028C8A8C */ /* nop */
/* 028C8A90 */ /* nop */
/* 028C8A94 */ /* nop */
/* 028C8A98 */ /* nop */
/* 028C8A9C */ /* nop */
/* 028C8AA0 */ /* nop */
/* 028C8AA4 */ _t89 = cpu->r[3] + 0x000000CCu;
/* 028C8AA4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t89);
/* 028C8AA8 */ _t90 = cpu->r[3] + 0x000000D4u;
/* 028C8AA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t90);
/* 028C8AAC */ _t91 = cpu->r[11] + 0x00000000u;
/* 028C8AAC */ cpu->r[10] = rbrew_read32(cpu->mem, _t91);
/* 028C8AB0 */ _t92 = cpu->r[12] + 0x00000000u;
/* 028C8AB0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t92);
/* 028C8AB4 */ _t93 = cpu->r[10] + 0x00000000u;
/* 028C8AB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t93);
/* 028C8AB8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C8ABC */ cpu->r[12] = cpu->r[12] + cpu->r[11];
/* 028C8AC0 */ /* nop */
/* 028C8AC4 */ /* nop */
/* 028C8AC8 */ /* nop */
/* 028C8ACC */ /* nop */
/* 028C8AD0 */ _t94 = cpu->r[3] + 0x000000CCu;
/* 028C8AD0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t94);
/* 028C8AD4 */ _t95 = cpu->r[3] + 0x000000D4u;
/* 028C8AD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t95);
/* 028C8AD8 */ _t96 = cpu->r[11] + 0x00000000u;
/* 028C8AD8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t96);
/* 028C8ADC */ _t97 = cpu->r[12] + 0x00000000u;
/* 028C8ADC */ cpu->r[11] = rbrew_read32(cpu->mem, _t97);
/* 028C8AE0 */ _t98 = cpu->r[10] + 0x00000004u;
/* 028C8AE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t98);
/* 028C8AE4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C8AE8 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
/* 028C8AEC */ /* nop */
/* 028C8AF0 */ /* nop */
/* 028C8AF4 */ /* nop */
/* 028C8AF8 */ /* nop */
/* 028C8AFC */ _t99 = cpu->r[3] + 0x000000CCu;
/* 028C8AFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t99);
/* 028C8B00 */ _t100 = cpu->r[3] + 0x000000D4u;
/* 028C8B00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t100);
/* 028C8B04 */ _t101 = cpu->r[11] + 0x00000004u;
/* 028C8B04 */ cpu->r[10] = rbrew_read32(cpu->mem, _t101);
/* 028C8B08 */ _t102 = cpu->r[12] + 0x00000004u;
/* 028C8B08 */ cpu->r[11] = rbrew_read32(cpu->mem, _t102);
/* 028C8B0C */ _t103 = cpu->r[10] + 0x00000000u;
/* 028C8B0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t103);
/* 028C8B10 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C8B14 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
/* 028C8B18 */ /* nop */
/* 028C8B1C */ /* nop */
/* 028C8B20 */ /* nop */
/* 028C8B24 */ /* nop */
/* 028C8B28 */ _t104 = cpu->r[3] + 0x000000CCu;
/* 028C8B28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t104);
/* 028C8B2C */ _t105 = cpu->r[3] + 0x000000D4u;
/* 028C8B2C */ cpu->r[11] = rbrew_read32(cpu->mem, _t105);
/* 028C8B30 */ _t106 = cpu->r[12] + 0x00000004u;
/* 028C8B30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t106);
/* 028C8B34 */ _t107 = cpu->r[11] + 0x00000004u;
/* 028C8B34 */ cpu->r[11] = rbrew_read32(cpu->mem, _t107);
/* 028C8B38 */ /* nop */
/* 028C8B3C */ _t108 = cpu->r[12] + 0x00000004u;
/* 028C8B3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t108);
/* 028C8B40 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C8B44 */ /* nop */
/* 028C8B48 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
/* 028C8B4C */ /* nop */
/* 028C8B50 */ /* nop */
/* 028C8B54 */ /* nop */
/* 028C8B58 */ /* nop */
/* 028C8B5C */ _t109 = cpu->r[3] + 0x000000E0u;
/* 028C8B5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t109);
/* 028C8B60 */ /* nop */
/* 028C8B64 */ /* nop */
/* 028C8B68 */ /* nop */
/* 028C8B6C */ /* nop */
/* 028C8B70 */ /* nop */
/* 028C8B74 */ /* nop */
/* 028C8B78 */ _t110 = cpu->r[3] + 0x000000E0u;
/* 028C8B78 */ cpu->r[11] = rbrew_read32(cpu->mem, _t110);
/* 028C8B7C */ /* nop */
/* 028C8B80 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[10];
/* 028C8B84 */ /* nop */
/* 028C8B88 */ /* nop */
/* 028C8B8C */ cpu->r[12] = cpu->r[1] + 0x00000008u;
/* 028C8B90 */ /* nop */
/* 028C8B94 */ /* nop */
/* 028C8B98 */ cpu->f[12] = (uint32_t)(int32_t)cpu->f[0];
/* 028C8B9C */ /* nop */
/* 028C8BA0 */ cpu->f[13] = cpu->f[11];
/* 028C8BA4 */ _t111 = cpu->r[1] + 0x00000008u;
/* 028C8BA4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t111);
/* 028C8BA8 */ /* nop */
/* 028C8BAC */ /* nop */
/* 028C8BB0 */ _t112 = cpu->r[1] + 0x00000008u;
/* 028C8BB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t112);
/* 028C8BB4 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[13];
/* 028C8BB8 */ _t113 = cpu->r[4] + 0x00000000u;
/* 028C8BB8 */ rbrew_write32(cpu->mem, _t113, cpu->r[11]);
/* 028C8BBC */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[0];
/* 028C8BC0 */ _t114 = cpu->r[5] + 0x00000000u;
/* 028C8BC0 */ rbrew_write32(cpu->mem, _t114, cpu->r[12]);
/* 028C8BC4 */ cpu->r[12] = cpu->r[1] + 0x00000008u;
/* 028C8BC8 */ /* nop */
/* 028C8BCC */ _t115 = cpu->r[1] + 0x00000008u;
/* 028C8BCC */ cpu->r[11] = rbrew_read32(cpu->mem, _t115);
/* 028C8BD0 */ /* nop */
/* 028C8BD4 */ _t116 = cpu->r[1] + 0x00000008u;
/* 028C8BD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t116);
/* 028C8BD8 */ _t117 = cpu->r[6] + 0x00000000u;
/* 028C8BD8 */ rbrew_write32(cpu->mem, _t117, cpu->r[11]);
/* 028C8BDC */ _t118 = cpu->r[7] + 0x00000000u;
/* 028C8BDC */ rbrew_write32(cpu->mem, _t118, cpu->r[12]);
/* 028C8BE0 */ _t119 = cpu->r[3] + 0x00000074u;
/* 028C8BE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t119);
/* 028C8BE4 */ cpu->r[6] = cpu->r[6] + 0x00000004u;
/* 028C8BE8 */ cpu->r[5] = cpu->r[5] + 0x00000004u;
/* 028C8BEC */ cpu->r[4] = cpu->r[4] + 0x00000004u;
/* 028C8BF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028C8BF4 */ cpu->r[7] = cpu->r[7] + 0x00000004u;
/* 028C8BF8 */ _t120 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C8BF8 */ _t121 = _t120 & 0x00000001u;
/* 028C8BF8 */ if (_t121) goto L_028C8C18; else goto L_028C8BFC;
L_028C8BFC: ; // 0x28c8bfc
/* 028C8BFC */ _t122 = cpu->r[3] + 0x00000078u;
/* 028C8BFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t122);
/* 028C8C00 */ _t123 = cpu->r[3] + 0x00000074u;
/* 028C8C00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t123);
/* 028C8C04 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
/* 028C8C08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
/* 028C8C0C */ _t124 = cpu->r[3] + 0x00000078u;
/* 028C8C0C */ rbrew_write32(cpu->mem, _t124, cpu->r[11]);
/* 028C8C10 */ _t125 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C8C10 */ _t126 = _t125 & 0x00000001u;
/* 028C8C10 */ if (_t126) goto L_028C8C18; else goto L_028C8C14;
L_028C8C14: ; // 0x28c8c14
/* 028C8C14 */ _t127 = cpu->r[3] + 0x00000078u;
/* 028C8C14 */ rbrew_write32(cpu->mem, _t127, cpu->r[31]);
L_028C8C18: ; // 0x28c8c18
/* 028C8C18 */ _t128 = cpu->r[3] + 0x00000088u;
/* 028C8C18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t128);
/* 028C8C1C */ _t129 = cpu->r[3] + 0x00000084u;
/* 028C8C1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t129);
/* 028C8C20 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
/* 028C8C24 */ _t130 = cpu->r[3] + 0x00000088u;
/* 028C8C24 */ rbrew_write32(cpu->mem, _t130, cpu->r[11]);
/* 028C8C28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
/* 028C8C2C */ _t131 = cpu->r[3] + 0x00000098u;
/* 028C8C2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t131);
/* 028C8C30 */ _t132 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C8C30 */ _t133 = _t132 & 0x00000001u;
/* 028C8C30 */ if (_t133) goto L_028C8C38; else goto L_028C8C34;
L_028C8C34: ; // 0x28c8c34
/* 028C8C34 */ _t134 = cpu->r[3] + 0x00000088u;
/* 028C8C34 */ rbrew_write32(cpu->mem, _t134, cpu->r[31]);
L_028C8C38: ; // 0x28c8c38
/* 028C8C38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028C8C3C */ _t135 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C8C3C */ _t136 = _t135 & 0x00000001u;
/* 028C8C3C */ if (_t136) goto L_028C8C5C; else goto L_028C8C40;
L_028C8C40: ; // 0x28c8c40
/* 028C8C40 */ _t137 = cpu->r[3] + 0x0000009Cu;
/* 028C8C40 */ cpu->r[11] = rbrew_read32(cpu->mem, _t137);
/* 028C8C44 */ _t138 = cpu->r[3] + 0x00000098u;
/* 028C8C44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t138);
/* 028C8C48 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
/* 028C8C4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
/* 028C8C50 */ _t139 = cpu->r[3] + 0x0000009Cu;
/* 028C8C50 */ rbrew_write32(cpu->mem, _t139, cpu->r[11]);
/* 028C8C54 */ _t140 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C8C54 */ _t141 = _t140 & 0x00000001u;
/* 028C8C54 */ if (_t141) goto L_028C8C5C; else goto L_028C8C58;
L_028C8C58: ; // 0x28c8c58
/* 028C8C58 */ _t142 = cpu->r[3] + 0x0000009Cu;
/* 028C8C58 */ rbrew_write32(cpu->mem, _t142, cpu->r[31]);
L_028C8C5C: ; // 0x28c8c5c
/* 028C8C5C */ _t143 = cpu->r[3] + 0x000000ACu;
/* 028C8C5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t143);
/* 028C8C60 */ _t144 = cpu->r[12] + 0x00000000u;
/* 028C8C60 */ cpu->r[11] = rbrew_read32(cpu->mem, _t144);
/* 028C8C64 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
/* 028C8C68 */ _t145 = cpu->r[12] + 0x00000000u;
/* 028C8C68 */ rbrew_write32(cpu->mem, _t145, cpu->r[11]);
/* 028C8C6C */ _t146 = cpu->r[3] + 0x000000A8u;
/* 028C8C6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t146);
/* 028C8C70 */ _t147 = cpu->r[12] + 0x00000000u;
/* 028C8C70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t147);
/* 028C8C74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
/* 028C8C78 */ _t148 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C8C78 */ _t149 = _t148 & 0x00000001u;
/* 028C8C78 */ if (_t149) goto L_028C8C84; else goto L_028C8C7C;
L_028C8C7C: ; // 0x28c8c7c
/* 028C8C7C */ _t150 = cpu->r[3] + 0x000000ACu;
/* 028C8C7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t150);
/* 028C8C80 */ _t151 = cpu->r[12] + 0x00000000u;
/* 028C8C80 */ rbrew_write32(cpu->mem, _t151, cpu->r[31]);
L_028C8C84: ; // 0x28c8c84
/* 028C8C84 */ _t152 = cpu->r[3] + 0x000000ACu;
/* 028C8C84 */ cpu->r[12] = rbrew_read32(cpu->mem, _t152);
/* 028C8C88 */ _t153 = cpu->r[12] + 0x00000004u;
/* 028C8C88 */ cpu->r[11] = rbrew_read32(cpu->mem, _t153);
/* 028C8C8C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
/* 028C8C90 */ _t154 = cpu->r[12] + 0x00000004u;
/* 028C8C90 */ rbrew_write32(cpu->mem, _t154, cpu->r[11]);
/* 028C8C94 */ _t155 = cpu->r[3] + 0x000000A8u;
/* 028C8C94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t155);
/* 028C8C98 */ _t156 = cpu->r[12] + 0x00000004u;
/* 028C8C98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t156);
/* 028C8C9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
/* 028C8CA0 */ _t157 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C8CA0 */ _t158 = _t157 & 0x00000001u;
/* 028C8CA0 */ if (_t158) goto L_028C8CAC; else goto L_028C8CA4;
L_028C8CA4: ; // 0x28c8ca4
/* 028C8CA4 */ _t159 = cpu->r[3] + 0x000000ACu;
/* 028C8CA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t159);
/* 028C8CA8 */ _t160 = cpu->r[12] + 0x00000004u;
/* 028C8CA8 */ rbrew_write32(cpu->mem, _t160, cpu->r[31]);
L_028C8CAC: ; // 0x28c8cac
/* 028C8CAC */ _t161 = cpu->r[3] + 0x000000D4u;
/* 028C8CAC */ cpu->r[12] = rbrew_read32(cpu->mem, _t161);
/* 028C8CB0 */ _t162 = cpu->r[12] + 0x00000000u;
/* 028C8CB0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t162);
/* 028C8CB4 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
/* 028C8CB8 */ _t163 = cpu->r[12] + 0x00000000u;
/* 028C8CB8 */ rbrew_write32(cpu->mem, _t163, cpu->r[11]);
/* 028C8CBC */ _t164 = cpu->r[3] + 0x000000D0u;
/* 028C8CBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t164);
/* 028C8CC0 */ _t165 = cpu->r[12] + 0x00000000u;
/* 028C8CC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t165);
/* 028C8CC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
/* 028C8CC8 */ _t166 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C8CC8 */ _t167 = _t166 & 0x00000001u;
/* 028C8CC8 */ if (_t167) goto L_028C8CD4; else goto L_028C8CCC;
L_028C8CCC: ; // 0x28c8ccc
/* 028C8CCC */ _t168 = cpu->r[3] + 0x000000D4u;
/* 028C8CCC */ cpu->r[12] = rbrew_read32(cpu->mem, _t168);
/* 028C8CD0 */ _t169 = cpu->r[12] + 0x00000000u;
/* 028C8CD0 */ rbrew_write32(cpu->mem, _t169, cpu->r[31]);
L_028C8CD4: ; // 0x28c8cd4
/* 028C8CD4 */ _t170 = cpu->r[3] + 0x000000D4u;
/* 028C8CD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t170);
/* 028C8CD8 */ _t171 = cpu->r[12] + 0x00000004u;
/* 028C8CD8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t171);
/* 028C8CDC */ cpu->r[11] = cpu->r[11] + 0x00000001u;
/* 028C8CE0 */ _t172 = cpu->r[12] + 0x00000004u;
/* 028C8CE0 */ rbrew_write32(cpu->mem, _t172, cpu->r[11]);
/* 028C8CE4 */ _t173 = cpu->r[3] + 0x000000D0u;
/* 028C8CE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t173);
/* 028C8CE8 */ _t174 = cpu->r[12] + 0x00000004u;
/* 028C8CE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t174);
/* 028C8CEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
/* 028C8CF0 */ _t175 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C8CF0 */ _t176 = _t175 & 0x00000001u;
/* 028C8CF0 */ if (_t176) goto L_028C8CFC; else goto L_028C8CF4;
L_028C8CF4: ; // 0x28c8cf4
/* 028C8CF4 */ _t177 = cpu->r[3] + 0x000000D4u;
/* 028C8CF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t177);
/* 028C8CF8 */ _t178 = cpu->r[12] + 0x00000004u;
/* 028C8CF8 */ rbrew_write32(cpu->mem, _t178, cpu->r[31]);
L_028C8CFC: ; // 0x28c8cfc
/* 028C8CFC */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028C8CFC */ _t179 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028C8CFC */ _t180 = _t179 >> (0x00000002u & 31u);
/* 028C8CFC */ _t181 = _t180 & 0x00000001u;
/* 028C8CFC */ if (_t181) goto L_028C87E4; else goto L_028C8D00;
L_028C8D00: ; // 0x28c8d00
/* 028C8D00 */ _t182 = cpu->r[1] + 0x00000050u;
/* 028C8D00 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t182);
/* 028C8D04 */ _t183 = cpu->r[1] + 0x00000040u;
/* 028C8D04 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t183);
/* 028C8D08 */ _t184 = cpu->r[1] + 0x00000048u;
/* 028C8D08 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t184);
/* 028C8D0C */ _t185 = cpu->r[1] + 0x00000030u;
/* 028C8D0C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t185);
/* 028C8D10 */ _t186 = cpu->r[1] + 0x00000038u;
/* 028C8D10 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t186);
/* 028C8D14 */ _t187 = cpu->r[1] + 0x00000028u;
/* 028C8D14 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t187);
/* 028C8D18 */ _t188 = cpu->r[1] + 0x00000024u;
/* 028C8D18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t188);
/* 028C8D1C */ _t189 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C8D1C */ _t190 = _t189 & 0x00000001u;
/* 028C8D1C */ if (_t190) goto L_028C8D20; // else: addr-0 trap, fall-through
L_028C8D20: ; // 0x28c8d20
/* 028C8D20 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
/* 028C8D24 */ return;
}
// fn_028C8D28 @ 0x28c8d28
void Gambit_fn_028C8D28(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253;
L_028C8D28: ; // 0x28c8d28
/* 028C8D28 */ _t0 = cpu->r[1] + 0xFFFFFF70u;
/* 028C8D28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C8D28 */ cpu->r[1] = _t0;
/* 028C8D2C */ _t1 = cpu->r[1] + 0x00000030u;
/* 028C8D2C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[26]);
/* 028C8D30 */ _t2 = cpu->r[1] + 0x00000040u;
/* 028C8D30 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[27]);
/* 028C8D34 */ /* nop */
/* 028C8D38 */ _t3 = cpu->r[1] + 0x00000050u;
/* 028C8D38 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[28]);
/* 028C8D3C */ /* nop */
/* 028C8D40 */ _t4 = cpu->r[1] + 0x00000060u;
/* 028C8D40 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[29]);
/* 028C8D44 */ /* nop */
/* 028C8D48 */ _t5 = cpu->r[1] + 0x00000070u;
/* 028C8D48 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[30]);
/* 028C8D4C */ /* nop */
/* 028C8D50 */ _t6 = cpu->r[1] + 0x00000080u;
/* 028C8D50 */ rbrew_write_f64(cpu->mem, _t6, cpu->f[31]);
/* 028C8D54 */ /* nop */
/* 028C8D58 */ _t7 = cpu->r[1] + 0x00000038u;
/* 028C8D58 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[26]);
/* 028C8D5C */ _t8 = cpu->r[1] + 0x00000048u;
/* 028C8D5C */ rbrew_write_f32(cpu->mem, _t8, cpu->f[27]);
/* 028C8D60 */ /* nop */
/* 028C8D64 */ _t9 = cpu->r[1] + 0x00000058u;
/* 028C8D64 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[28]);
/* 028C8D68 */ _t10 = cpu->r[1] + 0x00000068u;
/* 028C8D68 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[29]);
/* 028C8D6C */ _t11 = cpu->r[1] + 0x00000078u;
/* 028C8D6C */ rbrew_write_f32(cpu->mem, _t11, cpu->f[30]);
/* 028C8D70 */ _t12 = cpu->r[1] + 0x00000088u;
/* 028C8D70 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[31]);
/* 028C8D74 */ _t13 = cpu->r[1] + 0x00000024u;
/* 028C8D74 */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
/* 028C8D78 */ _t14 = cpu->r[1] + 0x00000028u;
/* 028C8D78 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
/* 028C8D7C */ cpu->r[12] = cpu->r[1] + 0x00000008u;
/* 028C8D80 */ _t15 = cpu->r[1] + 0x0000002Cu;
/* 028C8D80 */ rbrew_write32(cpu->mem, _t15, cpu->r[31]);
/* 028C8D84 */ _t16 = cpu->r[3] + 0x000000B0u;
/* 028C8D84 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
/* 028C8D88 */ cpu->r[31] = 0x00000002u;
/* 028C8D8C */ /* nop */
/* 028C8D90 */ cpu->ctr = cpu->r[31];
/* 028C8D94 */ /* nop */
/* 028C8D98 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFF8u;
L_028C8D9C: ; // 0x28c8d9c
/* 028C8D9C */ /* nop */
/* 028C8DA0 */ cpu->r[11] = cpu->r[11] + 0x00000008u;
/* 028C8DA4 */ /* nop */
/* 028C8DA8 */ cpu->r[12] = cpu->r[12] + 0x00000008u;
/* 028C8DAC */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028C8DAC */ _t17 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028C8DAC */ _t18 = _t17 >> (0x00000002u & 31u);
/* 028C8DAC */ _t19 = _t18 & 0x00000001u;
/* 028C8DAC */ if (_t19) goto L_028C8D9C; else goto L_028C8DB0;
L_028C8DB0: ; // 0x28c8db0
/* 028C8DB0 */ /* nop */
/* 028C8DB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028C8DB8 */ /* nop */
/* 028C8DBC */ /* nop */
/* 028C8DC0 */ /* nop */
/* 028C8DC4 */ /* nop */
/* 028C8DC8 */ /* nop */
/* 028C8DCC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C8DCC */ _t21 = _t20 & 0x00000001u;
/* 028C8DCC */ if (_t21) goto L_028C94E8; else goto L_028C8DD0;
L_028C8DD0: ; // 0x28c8dd0
/* 028C8DD0 */ cpu->ctr = cpu->r[10];
/* 028C8DD4 */ cpu->r[30] = 0x00000000u;
/* 028C8DD8 */ cpu->r[31] = cpu->r[1] + 0x00000010u;
L_028C8DDC: ; // 0x28c8ddc
/* 028C8DDC */ _t22 = cpu->r[4] + 0x00000000u;
/* 028C8DDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
/* 028C8DE0 */ _t23 = cpu->r[6] + 0x00000000u;
/* 028C8DE0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
/* 028C8DE4 */ cpu->r[10] = cpu->r[12] ^ 0x80000000u;
/* 028C8DE8 */ _t24 = cpu->r[5] + 0x00000000u;
/* 028C8DE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
/* 028C8DEC */ cpu->r[29] = 0x43300000u;
/* 028C8DF0 */ _t25 = cpu->r[1] + 0x00000008u;
/* 028C8DF0 */ rbrew_write32(cpu->mem, _t25, cpu->r[29]);
/* 028C8DF4 */ _t26 = cpu->r[1] + 0x0000000Cu;
/* 028C8DF4 */ rbrew_write32(cpu->mem, _t26, cpu->r[10]);
/* 028C8DF8 */ cpu->r[10] = cpu->r[12] ^ 0x80000000u;
/* 028C8DFC */ cpu->r[12] = 0x10140000u;
/* 028C8E00 */ _t27 = cpu->r[1] + 0x00000008u;
/* 028C8E00 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t27);
/* 028C8E04 */ _t28 = cpu->r[12] + 0xFFFF9A00u;
/* 028C8E04 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t28);
/* 028C8E08 */ cpu->r[11] = cpu->r[11] ^ 0x80000000u;
/* 028C8E0C */ _t29 = cpu->r[1] + 0x0000000Cu;
/* 028C8E0C */ rbrew_write32(cpu->mem, _t29, cpu->r[10]);
/* 028C8E10 */ _t30 = cpu->r[1] + 0x00000008u;
/* 028C8E10 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t30);
/* 028C8E14 */ cpu->f[11] = cpu->f[12] - cpu->f[0];
/* 028C8E18 */ _t31 = cpu->r[1] + 0x0000000Cu;
/* 028C8E18 */ rbrew_write32(cpu->mem, _t31, cpu->r[11]);
/* 028C8E1C */ _t32 = cpu->r[7] + 0x00000000u;
/* 028C8E1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
/* 028C8E20 */ cpu->f[13] = cpu->f[13] - cpu->f[0];
/* 028C8E24 */ _t33 = cpu->r[1] + 0x00000008u;
/* 028C8E24 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t33);
/* 028C8E28 */ cpu->r[11] = cpu->r[12] ^ 0x80000000u;
/* 028C8E2C */ _t34 = cpu->r[8] + 0x00000000u;
/* 028C8E2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
/* 028C8E30 */ cpu->f[10] = cpu->f[12] - cpu->f[0];
/* 028C8E34 */ _t35 = cpu->r[1] + 0x0000000Cu;
/* 028C8E34 */ rbrew_write32(cpu->mem, _t35, cpu->r[11]);
/* 028C8E38 */ cpu->r[11] = cpu->r[12] ^ 0x80000000u;
/* 028C8E3C */ _t36 = cpu->r[9] + 0x00000000u;
/* 028C8E3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t36);
/* 028C8E40 */ cpu->f[9] = (double)(float)cpu->f[13];
/* 028C8E44 */ _t37 = cpu->r[1] + 0x00000008u;
/* 028C8E44 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t37);
/* 028C8E48 */ cpu->f[8] = (double)(float)cpu->f[11];
/* 028C8E4C */ _t38 = cpu->r[1] + 0x0000000Cu;
/* 028C8E4C */ rbrew_write32(cpu->mem, _t38, cpu->r[11]);
/* 028C8E50 */ _t39 = cpu->r[1] + 0x00000008u;
/* 028C8E50 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t39);
/* 028C8E54 */ cpu->f[13] = cpu->f[13] - cpu->f[0];
/* 028C8E58 */ cpu->r[12] = cpu->r[12] ^ 0x80000000u;
/* 028C8E5C */ cpu->f[12] = cpu->f[12] - cpu->f[0];
/* 028C8E60 */ _t40 = cpu->r[1] + 0x0000000Cu;
/* 028C8E60 */ rbrew_write32(cpu->mem, _t40, cpu->r[12]);
/* 028C8E64 */ cpu->f[11] = (double)(float)cpu->f[13];
/* 028C8E68 */ _t41 = cpu->r[1] + 0x00000008u;
/* 028C8E68 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t41);
/* 028C8E6C */ /* nop */
/* 028C8E70 */ _t42 = cpu->r[3] + 0x00000074u;
/* 028C8E70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t42);
/* 028C8E74 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
/* 028C8E78 */ cpu->f[13] = (double)(float)cpu->f[12];
/* 028C8E7C */ cpu->f[10] = (double)(float)cpu->f[10];
/* 028C8E80 */ cpu->f[0] = (double)(float)cpu->f[0];
/* 028C8E84 */ /* nop */
/* 028C8E88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028C8E8C */ /* nop */
/* 028C8E90 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C8E90 */ _t44 = _t43 & 0x00000001u;
/* 028C8E90 */ if (_t44) goto L_028C8F70; else goto L_028C8E94;
L_028C8E94: ; // 0x28c8e94
/* 028C8E94 */ _t45 = cpu->r[3] + 0x00000070u;
/* 028C8E94 */ cpu->r[11] = rbrew_read32(cpu->mem, _t45);
/* 028C8E98 */ _t46 = cpu->r[3] + 0x00000078u;
/* 028C8E98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t46);
/* 028C8E9C */ _t47 = cpu->r[11] + 0x00000000u;
/* 028C8E9C */ cpu->r[10] = rbrew_read32(cpu->mem, _t47);
/* 028C8EA0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C8EA4 */ cpu->r[11] = cpu->r[10] + cpu->r[12];
/* 028C8EA8 */ /* nop */
/* 028C8EAC */ /* nop */
/* 028C8EB0 */ _t48 = cpu->r[3] + 0x00000070u;
/* 028C8EB0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t48);
/* 028C8EB4 */ _t49 = cpu->r[3] + 0x00000078u;
/* 028C8EB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t49);
/* 028C8EB8 */ _t50 = cpu->r[11] + 0x00000004u;
/* 028C8EB8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t50);
/* 028C8EBC */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C8EC0 */ cpu->r[11] = cpu->r[10] + cpu->r[12];
/* 028C8EC4 */ /* nop */
/* 028C8EC8 */ /* nop */
/* 028C8ECC */ _t51 = cpu->r[3] + 0x00000070u;
/* 028C8ECC */ cpu->r[11] = rbrew_read32(cpu->mem, _t51);
/* 028C8ED0 */ _t52 = cpu->r[3] + 0x00000078u;
/* 028C8ED0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t52);
/* 028C8ED4 */ _t53 = cpu->r[11] + 0x00000008u;
/* 028C8ED4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t53);
/* 028C8ED8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C8EDC */ cpu->r[11] = cpu->r[10] + cpu->r[12];
/* 028C8EE0 */ /* nop */
/* 028C8EE4 */ /* nop */
/* 028C8EE8 */ _t54 = cpu->r[3] + 0x00000088u;
/* 028C8EE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t54);
/* 028C8EEC */ _t55 = cpu->r[3] + 0x00000080u;
/* 028C8EEC */ cpu->r[10] = rbrew_read32(cpu->mem, _t55);
/* 028C8EF0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C8EF4 */ _t56 = cpu->r[10] + 0x00000000u;
/* 028C8EF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t56);
/* 028C8EF8 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
/* 028C8EFC */ /* nop */
/* 028C8F00 */ /* nop */
/* 028C8F04 */ /* nop */
/* 028C8F08 */ _t57 = cpu->r[3] + 0x00000080u;
/* 028C8F08 */ cpu->r[12] = rbrew_read32(cpu->mem, _t57);
/* 028C8F0C */ _t58 = cpu->r[3] + 0x00000088u;
/* 028C8F0C */ cpu->r[11] = rbrew_read32(cpu->mem, _t58);
/* 028C8F10 */ _t59 = cpu->r[12] + 0x00000004u;
/* 028C8F10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t59);
/* 028C8F14 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C8F18 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
/* 028C8F1C */ /* nop */
/* 028C8F20 */ /* nop */
/* 028C8F24 */ /* nop */
/* 028C8F28 */ _t60 = cpu->r[3] + 0x00000080u;
/* 028C8F28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
/* 028C8F2C */ _t61 = cpu->r[3] + 0x00000088u;
/* 028C8F2C */ cpu->r[11] = rbrew_read32(cpu->mem, _t61);
/* 028C8F30 */ _t62 = cpu->r[12] + 0x00000008u;
/* 028C8F30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t62);
/* 028C8F34 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C8F38 */ /* nop */
/* 028C8F3C */ cpu->r[12] = cpu->r[12] + cpu->r[11];
/* 028C8F40 */ /* nop */
/* 028C8F44 */ /* nop */
/* 028C8F48 */ /* nop */
/* 028C8F4C */ /* nop */
/* 028C8F50 */ _t63 = cpu->r[3] + 0x00000098u;
/* 028C8F50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t63);
/* 028C8F54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028C8F58 */ /* nop */
/* 028C8F5C */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C8F5C */ _t65 = _t64 & 0x00000001u;
/* 028C8F5C */ if (_t65) goto L_028C8F60; else goto L_028C8FF4;
L_028C8F60: ; // 0x28c8f60
/* 028C8F60 */ /* nop */
/* 028C8F64 */ /* nop */
/* 028C8F68 */ /* nop */
/* 028C8F6C */ goto L_028C9048;
L_028C8F70: ; // 0x28c8f70
/* 028C8F70 */ _t66 = cpu->r[3] + 0x00000088u;
/* 028C8F70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t66);
/* 028C8F74 */ _t67 = cpu->r[3] + 0x00000080u;
/* 028C8F74 */ cpu->r[10] = rbrew_read32(cpu->mem, _t67);
/* 028C8F78 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C8F7C */ _t68 = cpu->r[10] + 0x00000000u;
/* 028C8F7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t68);
/* 028C8F80 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
/* 028C8F84 */ /* nop */
/* 028C8F88 */ /* nop */
/* 028C8F8C */ /* nop */
/* 028C8F90 */ /* nop */
/* 028C8F94 */ /* nop */
/* 028C8F98 */ _t69 = cpu->r[3] + 0x00000080u;
/* 028C8F98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t69);
/* 028C8F9C */ _t70 = cpu->r[3] + 0x00000088u;
/* 028C8F9C */ cpu->r[11] = rbrew_read32(cpu->mem, _t70);
/* 028C8FA0 */ _t71 = cpu->r[12] + 0x00000004u;
/* 028C8FA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t71);
/* 028C8FA4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C8FA8 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
/* 028C8FAC */ /* nop */
/* 028C8FB0 */ /* nop */
/* 028C8FB4 */ /* nop */
/* 028C8FB8 */ /* nop */
/* 028C8FBC */ _t72 = cpu->r[3] + 0x00000080u;
/* 028C8FBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t72);
/* 028C8FC0 */ _t73 = cpu->r[3] + 0x00000088u;
/* 028C8FC0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t73);
/* 028C8FC4 */ _t74 = cpu->r[12] + 0x00000008u;
/* 028C8FC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t74);
/* 028C8FC8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C8FCC */ /* nop */
/* 028C8FD0 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
/* 028C8FD4 */ /* nop */
/* 028C8FD8 */ /* nop */
/* 028C8FDC */ /* nop */
/* 028C8FE0 */ /* nop */
/* 028C8FE4 */ _t75 = cpu->r[3] + 0x00000098u;
/* 028C8FE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
/* 028C8FE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028C8FEC */ /* nop */
/* 028C8FF0 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C8FF0 */ _t77 = _t76 & 0x00000001u;
/* 028C8FF0 */ if (_t77) goto L_028C8F60; else goto L_028C8FF4;
L_028C8FF4: ; // 0x28c8ff4
/* 028C8FF4 */ _t78 = cpu->r[3] + 0x00000094u;
/* 028C8FF4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t78);
/* 028C8FF8 */ _t79 = cpu->r[3] + 0x0000009Cu;
/* 028C8FF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t79);
/* 028C8FFC */ _t80 = cpu->r[11] + 0x00000000u;
/* 028C8FFC */ cpu->r[10] = rbrew_read32(cpu->mem, _t80);
/* 028C9000 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C9004 */ cpu->r[11] = cpu->r[10] + cpu->r[12];
/* 028C9008 */ /* nop */
/* 028C900C */ /* nop */
/* 028C9010 */ _t81 = cpu->r[3] + 0x00000094u;
/* 028C9010 */ cpu->r[11] = rbrew_read32(cpu->mem, _t81);
/* 028C9014 */ _t82 = cpu->r[3] + 0x0000009Cu;
/* 028C9014 */ cpu->r[12] = rbrew_read32(cpu->mem, _t82);
/* 028C9018 */ _t83 = cpu->r[11] + 0x00000004u;
/* 028C9018 */ cpu->r[10] = rbrew_read32(cpu->mem, _t83);
/* 028C901C */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C9020 */ cpu->r[11] = cpu->r[10] + cpu->r[12];
/* 028C9024 */ /* nop */
/* 028C9028 */ /* nop */
/* 028C902C */ _t84 = cpu->r[3] + 0x00000094u;
/* 028C902C */ cpu->r[11] = rbrew_read32(cpu->mem, _t84);
/* 028C9030 */ _t85 = cpu->r[3] + 0x0000009Cu;
/* 028C9030 */ cpu->r[12] = rbrew_read32(cpu->mem, _t85);
/* 028C9034 */ _t86 = cpu->r[11] + 0x00000008u;
/* 028C9034 */ cpu->r[10] = rbrew_read32(cpu->mem, _t86);
/* 028C9038 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C903C */ cpu->r[11] = cpu->r[10] + cpu->r[12];
/* 028C9040 */ /* nop */
/* 028C9044 */ /* nop */
L_028C9048: ; // 0x28c9048
/* 028C9048 */ _t87 = cpu->r[3] + 0x000000ACu;
/* 028C9048 */ cpu->r[12] = rbrew_read32(cpu->mem, _t87);
/* 028C904C */ _t88 = cpu->r[3] + 0x000000A4u;
/* 028C904C */ cpu->r[11] = rbrew_read32(cpu->mem, _t88);
/* 028C9050 */ _t89 = cpu->r[12] + 0x00000000u;
/* 028C9050 */ cpu->r[10] = rbrew_read32(cpu->mem, _t89);
/* 028C9054 */ _t90 = cpu->r[11] + 0x00000000u;
/* 028C9054 */ cpu->r[11] = rbrew_read32(cpu->mem, _t90);
/* 028C9058 */ _t91 = cpu->r[3] + 0x000000B8u;
/* 028C9058 */ cpu->r[12] = rbrew_read32(cpu->mem, _t91);
/* 028C905C */ _t92 = cpu->r[11] + 0x00000000u;
/* 028C905C */ cpu->r[11] = rbrew_read32(cpu->mem, _t92);
/* 028C9060 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C9064 */ _t93 = cpu->r[12] + 0x00000000u;
/* 028C9064 */ cpu->r[29] = rbrew_read32(cpu->mem, _t93);
/* 028C9068 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
/* 028C906C */ /* nop */
/* 028C9070 */ /* nop */
/* 028C9074 */ /* nop */
/* 028C9078 */ /* nop */
/* 028C907C */ /* nop */
/* 028C9080 */ /* nop */
/* 028C9084 */ /* nop */
/* 028C9088 */ /* nop */
/* 028C908C */ _t94 = cpu->r[3] + 0x000000ACu;
/* 028C908C */ cpu->r[12] = rbrew_read32(cpu->mem, _t94);
/* 028C9090 */ _t95 = cpu->r[3] + 0x000000A4u;
/* 028C9090 */ cpu->r[11] = rbrew_read32(cpu->mem, _t95);
/* 028C9094 */ _t96 = cpu->r[12] + 0x00000000u;
/* 028C9094 */ cpu->r[29] = rbrew_read32(cpu->mem, _t96);
/* 028C9098 */ _t97 = cpu->r[11] + 0x00000000u;
/* 028C9098 */ cpu->r[12] = rbrew_read32(cpu->mem, _t97);
/* 028C909C */ _t98 = cpu->r[3] + 0x000000B8u;
/* 028C909C */ cpu->r[11] = rbrew_read32(cpu->mem, _t98);
/* 028C90A0 */ _t99 = cpu->r[12] + 0x00000004u;
/* 028C90A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t99);
/* 028C90A4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[29], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C90A8 */ _t100 = cpu->r[11] + 0x00000000u;
/* 028C90A8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t100);
/* 028C90AC */ cpu->r[12] = cpu->r[10] + cpu->r[12];
/* 028C90B0 */ /* nop */
/* 028C90B4 */ /* nop */
/* 028C90B8 */ /* nop */
/* 028C90BC */ /* nop */
/* 028C90C0 */ /* nop */
/* 028C90C4 */ /* nop */
/* 028C90C8 */ /* nop */
/* 028C90CC */ /* nop */
/* 028C90D0 */ _t101 = cpu->r[3] + 0x000000ACu;
/* 028C90D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t101);
/* 028C90D4 */ _t102 = cpu->r[3] + 0x000000A4u;
/* 028C90D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t102);
/* 028C90D8 */ _t103 = cpu->r[12] + 0x00000000u;
/* 028C90D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t103);
/* 028C90DC */ _t104 = cpu->r[11] + 0x00000000u;
/* 028C90DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t104);
/* 028C90E0 */ _t105 = cpu->r[3] + 0x000000B8u;
/* 028C90E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t105);
/* 028C90E4 */ _t106 = cpu->r[11] + 0x00000008u;
/* 028C90E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t106);
/* 028C90E8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C90EC */ _t107 = cpu->r[12] + 0x00000000u;
/* 028C90EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t107);
/* 028C90F0 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
/* 028C90F4 */ /* nop */
/* 028C90F8 */ /* nop */
/* 028C90FC */ /* nop */
/* 028C9100 */ /* nop */
/* 028C9104 */ /* nop */
/* 028C9108 */ /* nop */
/* 028C910C */ /* nop */
/* 028C9110 */ /* nop */
/* 028C9114 */ _t108 = cpu->r[3] + 0x000000ACu;
/* 028C9114 */ cpu->r[12] = rbrew_read32(cpu->mem, _t108);
/* 028C9118 */ _t109 = cpu->r[3] + 0x000000A4u;
/* 028C9118 */ cpu->r[11] = rbrew_read32(cpu->mem, _t109);
/* 028C911C */ _t110 = cpu->r[12] + 0x00000004u;
/* 028C911C */ cpu->r[10] = rbrew_read32(cpu->mem, _t110);
/* 028C9120 */ _t111 = cpu->r[11] + 0x00000004u;
/* 028C9120 */ cpu->r[11] = rbrew_read32(cpu->mem, _t111);
/* 028C9124 */ _t112 = cpu->r[3] + 0x000000B8u;
/* 028C9124 */ cpu->r[12] = rbrew_read32(cpu->mem, _t112);
/* 028C9128 */ _t113 = cpu->r[11] + 0x00000000u;
/* 028C9128 */ cpu->r[11] = rbrew_read32(cpu->mem, _t113);
/* 028C912C */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C9130 */ _t114 = cpu->r[12] + 0x00000004u;
/* 028C9130 */ cpu->r[12] = rbrew_read32(cpu->mem, _t114);
/* 028C9134 */ cpu->r[11] = cpu->r[11] + cpu->r[10];
/* 028C9138 */ /* nop */
/* 028C913C */ /* nop */
/* 028C9140 */ /* nop */
/* 028C9144 */ /* nop */
/* 028C9148 */ /* nop */
/* 028C914C */ /* nop */
/* 028C9150 */ /* nop */
/* 028C9154 */ /* nop */
/* 028C9158 */ _t115 = cpu->r[3] + 0x000000ACu;
/* 028C9158 */ cpu->r[12] = rbrew_read32(cpu->mem, _t115);
/* 028C915C */ _t116 = cpu->r[3] + 0x000000A4u;
/* 028C915C */ cpu->r[11] = rbrew_read32(cpu->mem, _t116);
/* 028C9160 */ _t117 = cpu->r[12] + 0x00000004u;
/* 028C9160 */ cpu->r[10] = rbrew_read32(cpu->mem, _t117);
/* 028C9164 */ _t118 = cpu->r[11] + 0x00000004u;
/* 028C9164 */ cpu->r[11] = rbrew_read32(cpu->mem, _t118);
/* 028C9168 */ _t119 = cpu->r[3] + 0x000000B8u;
/* 028C9168 */ cpu->r[12] = rbrew_read32(cpu->mem, _t119);
/* 028C916C */ _t120 = cpu->r[11] + 0x00000004u;
/* 028C916C */ cpu->r[11] = rbrew_read32(cpu->mem, _t120);
/* 028C9170 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C9174 */ _t121 = cpu->r[12] + 0x00000004u;
/* 028C9174 */ cpu->r[12] = rbrew_read32(cpu->mem, _t121);
/* 028C9178 */ cpu->r[11] = cpu->r[11] + cpu->r[10];
/* 028C917C */ /* nop */
/* 028C9180 */ /* nop */
/* 028C9184 */ /* nop */
/* 028C9188 */ /* nop */
/* 028C918C */ /* nop */
/* 028C9190 */ /* nop */
/* 028C9194 */ /* nop */
/* 028C9198 */ /* nop */
/* 028C919C */ _t122 = cpu->r[3] + 0x000000A4u;
/* 028C919C */ cpu->r[11] = rbrew_read32(cpu->mem, _t122);
/* 028C91A0 */ _t123 = cpu->r[3] + 0x000000ACu;
/* 028C91A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t123);
/* 028C91A4 */ _t124 = cpu->r[11] + 0x00000004u;
/* 028C91A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t124);
/* 028C91A8 */ _t125 = cpu->r[12] + 0x00000004u;
/* 028C91A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t125);
/* 028C91AC */ _t126 = cpu->r[11] + 0x00000008u;
/* 028C91AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t126);
/* 028C91B0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C91B4 */ _t127 = cpu->r[3] + 0x000000B8u;
/* 028C91B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t127);
/* 028C91B8 */ cpu->r[11] = cpu->r[11] + cpu->r[10];
/* 028C91BC */ _t128 = cpu->r[12] + 0x00000004u;
/* 028C91BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t128);
/* 028C91C0 */ /* nop */
/* 028C91C4 */ /* nop */
/* 028C91C8 */ /* nop */
/* 028C91CC */ /* nop */
/* 028C91D0 */ /* nop */
/* 028C91D4 */ /* nop */
/* 028C91D8 */ /* nop */
/* 028C91DC */ /* nop */
/* 028C91E0 */ _t129 = cpu->r[3] + 0x000000CCu;
/* 028C91E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t129);
/* 028C91E4 */ _t130 = cpu->r[3] + 0x000000D4u;
/* 028C91E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t130);
/* 028C91E8 */ _t131 = cpu->r[11] + 0x00000000u;
/* 028C91E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t131);
/* 028C91EC */ _t132 = cpu->r[12] + 0x00000000u;
/* 028C91EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t132);
/* 028C91F0 */ _t133 = cpu->r[10] + 0x00000000u;
/* 028C91F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t133);
/* 028C91F4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C91F8 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
/* 028C91FC */ /* nop */
/* 028C9200 */ /* nop */
/* 028C9204 */ /* nop */
/* 028C9208 */ /* nop */
/* 028C920C */ _t134 = cpu->r[3] + 0x000000CCu;
/* 028C920C */ cpu->r[11] = rbrew_read32(cpu->mem, _t134);
/* 028C9210 */ _t135 = cpu->r[3] + 0x000000D4u;
/* 028C9210 */ cpu->r[12] = rbrew_read32(cpu->mem, _t135);
/* 028C9214 */ _t136 = cpu->r[11] + 0x00000000u;
/* 028C9214 */ cpu->r[10] = rbrew_read32(cpu->mem, _t136);
/* 028C9218 */ _t137 = cpu->r[12] + 0x00000000u;
/* 028C9218 */ cpu->r[11] = rbrew_read32(cpu->mem, _t137);
/* 028C921C */ _t138 = cpu->r[10] + 0x00000004u;
/* 028C921C */ cpu->r[12] = rbrew_read32(cpu->mem, _t138);
/* 028C9220 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C9224 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
/* 028C9228 */ /* nop */
/* 028C922C */ /* nop */
/* 028C9230 */ /* nop */
/* 028C9234 */ /* nop */
/* 028C9238 */ _t139 = cpu->r[3] + 0x000000CCu;
/* 028C9238 */ cpu->r[11] = rbrew_read32(cpu->mem, _t139);
/* 028C923C */ _t140 = cpu->r[3] + 0x000000D4u;
/* 028C923C */ cpu->r[12] = rbrew_read32(cpu->mem, _t140);
/* 028C9240 */ _t141 = cpu->r[11] + 0x00000000u;
/* 028C9240 */ cpu->r[10] = rbrew_read32(cpu->mem, _t141);
/* 028C9244 */ _t142 = cpu->r[12] + 0x00000000u;
/* 028C9244 */ cpu->r[11] = rbrew_read32(cpu->mem, _t142);
/* 028C9248 */ _t143 = cpu->r[10] + 0x00000008u;
/* 028C9248 */ cpu->r[12] = rbrew_read32(cpu->mem, _t143);
/* 028C924C */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C9250 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
/* 028C9254 */ /* nop */
/* 028C9258 */ /* nop */
/* 028C925C */ /* nop */
/* 028C9260 */ /* nop */
/* 028C9264 */ _t144 = cpu->r[3] + 0x000000CCu;
/* 028C9264 */ cpu->r[11] = rbrew_read32(cpu->mem, _t144);
/* 028C9268 */ _t145 = cpu->r[3] + 0x000000D4u;
/* 028C9268 */ cpu->r[12] = rbrew_read32(cpu->mem, _t145);
/* 028C926C */ _t146 = cpu->r[11] + 0x00000004u;
/* 028C926C */ cpu->r[10] = rbrew_read32(cpu->mem, _t146);
/* 028C9270 */ _t147 = cpu->r[12] + 0x00000004u;
/* 028C9270 */ cpu->r[11] = rbrew_read32(cpu->mem, _t147);
/* 028C9274 */ _t148 = cpu->r[10] + 0x00000000u;
/* 028C9274 */ cpu->r[12] = rbrew_read32(cpu->mem, _t148);
/* 028C9278 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C927C */ cpu->r[12] = cpu->r[12] + cpu->r[11];
/* 028C9280 */ /* nop */
/* 028C9284 */ /* nop */
/* 028C9288 */ /* nop */
/* 028C928C */ /* nop */
/* 028C9290 */ _t149 = cpu->r[3] + 0x000000CCu;
/* 028C9290 */ cpu->r[11] = rbrew_read32(cpu->mem, _t149);
/* 028C9294 */ _t150 = cpu->r[3] + 0x000000D4u;
/* 028C9294 */ cpu->r[12] = rbrew_read32(cpu->mem, _t150);
/* 028C9298 */ _t151 = cpu->r[11] + 0x00000004u;
/* 028C9298 */ cpu->r[10] = rbrew_read32(cpu->mem, _t151);
/* 028C929C */ _t152 = cpu->r[12] + 0x00000004u;
/* 028C929C */ cpu->r[11] = rbrew_read32(cpu->mem, _t152);
/* 028C92A0 */ _t153 = cpu->r[10] + 0x00000004u;
/* 028C92A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t153);
/* 028C92A4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C92A8 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
/* 028C92AC */ /* nop */
/* 028C92B0 */ /* nop */
/* 028C92B4 */ /* nop */
/* 028C92B8 */ /* nop */
/* 028C92BC */ _t154 = cpu->r[3] + 0x000000CCu;
/* 028C92BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t154);
/* 028C92C0 */ _t155 = cpu->r[3] + 0x000000D4u;
/* 028C92C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t155);
/* 028C92C4 */ _t156 = cpu->r[11] + 0x00000004u;
/* 028C92C4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t156);
/* 028C92C8 */ _t157 = cpu->r[12] + 0x00000004u;
/* 028C92C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t157);
/* 028C92CC */ _t158 = cpu->r[10] + 0x00000008u;
/* 028C92CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t158);
/* 028C92D0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
/* 028C92D4 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
/* 028C92D8 */ /* nop */
/* 028C92DC */ /* nop */
/* 028C92E0 */ /* nop */
/* 028C92E4 */ /* nop */
/* 028C92E8 */ /* nop */
/* 028C92EC */ _t159 = cpu->r[3] + 0x000000E0u;
/* 028C92EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t159);
/* 028C92F0 */ /* nop */
/* 028C92F4 */ /* nop */
/* 028C92F8 */ /* nop */
/* 028C92FC */ /* nop */
/* 028C9300 */ /* nop */
/* 028C9304 */ /* nop */
/* 028C9308 */ _t160 = cpu->r[3] + 0x000000E0u;
/* 028C9308 */ cpu->r[11] = rbrew_read32(cpu->mem, _t160);
/* 028C930C */ /* nop */
/* 028C9310 */ /* nop */
/* 028C9314 */ /* nop */
/* 028C9318 */ /* nop */
/* 028C931C */ /* nop */
/* 028C9320 */ /* nop */
/* 028C9324 */ /* nop */
/* 028C9328 */ _t161 = cpu->r[3] + 0x000000E0u;
/* 028C9328 */ cpu->r[11] = rbrew_read32(cpu->mem, _t161);
/* 028C932C */ cpu->f[0] = cpu->f[9];
/* 028C9330 */ /* nop */
/* 028C9334 */ /* nop */
/* 028C9338 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[0];
/* 028C933C */ cpu->r[12] = cpu->r[1] + 0x00000008u;
/* 028C9340 */ /* nop */
/* 028C9344 */ /* nop */
/* 028C9348 */ _t162 = cpu->r[1] + 0x00000008u;
/* 028C9348 */ cpu->r[12] = rbrew_read32(cpu->mem, _t162);
/* 028C934C */ /* nop */
/* 028C9350 */ /* nop */
/* 028C9354 */ cpu->f[0] = cpu->f[11];
/* 028C9358 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[13];
/* 028C935C */ _t163 = cpu->r[4] + 0x00000000u;
/* 028C935C */ rbrew_write32(cpu->mem, _t163, cpu->r[12]);
/* 028C9360 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[0];
/* 028C9364 */ cpu->r[12] = cpu->r[1] + 0x00000008u;
/* 028C9368 */ /* nop */
/* 028C936C */ /* nop */
/* 028C9370 */ _t164 = cpu->r[1] + 0x00000008u;
/* 028C9370 */ cpu->r[10] = rbrew_read32(cpu->mem, _t164);
/* 028C9374 */ cpu->f[13] = cpu->f[12];
/* 028C9378 */ /* nop */
/* 028C937C */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[11];
/* 028C9380 */ _t165 = cpu->r[1] + 0x00000008u;
/* 028C9380 */ cpu->r[11] = rbrew_read32(cpu->mem, _t165);
/* 028C9384 */ _t166 = cpu->r[5] + 0x00000000u;
/* 028C9384 */ rbrew_write32(cpu->mem, _t166, cpu->r[10]);
/* 028C9388 */ /* nop */
/* 028C938C */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[13];
/* 028C9390 */ _t167 = cpu->r[1] + 0x00000008u;
/* 028C9390 */ cpu->r[12] = rbrew_read32(cpu->mem, _t167);
/* 028C9394 */ /* nop */
/* 028C9398 */ _t168 = cpu->r[6] + 0x00000000u;
/* 028C9398 */ rbrew_write32(cpu->mem, _t168, cpu->r[11]);
/* 028C939C */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[0];
/* 028C93A0 */ _t169 = cpu->r[7] + 0x00000000u;
/* 028C93A0 */ rbrew_write32(cpu->mem, _t169, cpu->r[12]);
/* 028C93A4 */ cpu->r[12] = cpu->r[1] + 0x00000008u;
/* 028C93A8 */ /* nop */
/* 028C93AC */ _t170 = cpu->r[1] + 0x00000008u;
/* 028C93AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t170);
/* 028C93B0 */ /* nop */
/* 028C93B4 */ _t171 = cpu->r[1] + 0x00000008u;
/* 028C93B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t171);
/* 028C93B8 */ cpu->r[5] = cpu->r[5] + 0x00000004u;
/* 028C93BC */ _t172 = cpu->r[8] + 0x00000000u;
/* 028C93BC */ rbrew_write32(cpu->mem, _t172, cpu->r[11]);
/* 028C93C0 */ cpu->r[6] = cpu->r[6] + 0x00000004u;
/* 028C93C4 */ _t173 = cpu->r[9] + 0x00000000u;
/* 028C93C4 */ rbrew_write32(cpu->mem, _t173, cpu->r[12]);
/* 028C93C8 */ _t174 = cpu->r[3] + 0x00000074u;
/* 028C93C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t174);
/* 028C93CC */ cpu->r[4] = cpu->r[4] + 0x00000004u;
/* 028C93D0 */ cpu->r[8] = cpu->r[8] + 0x00000004u;
/* 028C93D4 */ cpu->r[7] = cpu->r[7] + 0x00000004u;
/* 028C93D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028C93DC */ cpu->r[9] = cpu->r[9] + 0x00000004u;
/* 028C93E0 */ _t175 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C93E0 */ _t176 = _t175 & 0x00000001u;
/* 028C93E0 */ if (_t176) goto L_028C9400; else goto L_028C93E4;
L_028C93E4: ; // 0x28c93e4
/* 028C93E4 */ _t177 = cpu->r[3] + 0x00000078u;
/* 028C93E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t177);
/* 028C93E8 */ _t178 = cpu->r[3] + 0x00000074u;
/* 028C93E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t178);
/* 028C93EC */ cpu->r[11] = cpu->r[11] + 0x00000001u;
/* 028C93F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
/* 028C93F4 */ _t179 = cpu->r[3] + 0x00000078u;
/* 028C93F4 */ rbrew_write32(cpu->mem, _t179, cpu->r[11]);
/* 028C93F8 */ _t180 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C93F8 */ _t181 = _t180 & 0x00000001u;
/* 028C93F8 */ if (_t181) goto L_028C9400; else goto L_028C93FC;
L_028C93FC: ; // 0x28c93fc
/* 028C93FC */ _t182 = cpu->r[3] + 0x00000078u;
/* 028C93FC */ rbrew_write32(cpu->mem, _t182, cpu->r[30]);
L_028C9400: ; // 0x28c9400
/* 028C9400 */ _t183 = cpu->r[3] + 0x00000088u;
/* 028C9400 */ cpu->r[11] = rbrew_read32(cpu->mem, _t183);
/* 028C9404 */ _t184 = cpu->r[3] + 0x00000084u;
/* 028C9404 */ cpu->r[12] = rbrew_read32(cpu->mem, _t184);
/* 028C9408 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
/* 028C940C */ _t185 = cpu->r[3] + 0x00000088u;
/* 028C940C */ rbrew_write32(cpu->mem, _t185, cpu->r[11]);
/* 028C9410 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
/* 028C9414 */ _t186 = cpu->r[3] + 0x00000098u;
/* 028C9414 */ cpu->r[12] = rbrew_read32(cpu->mem, _t186);
/* 028C9418 */ _t187 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C9418 */ _t188 = _t187 & 0x00000001u;
/* 028C9418 */ if (_t188) goto L_028C9420; else goto L_028C941C;
L_028C941C: ; // 0x28c941c
/* 028C941C */ _t189 = cpu->r[3] + 0x00000088u;
/* 028C941C */ rbrew_write32(cpu->mem, _t189, cpu->r[30]);
L_028C9420: ; // 0x28c9420
/* 028C9420 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028C9424 */ _t190 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9424 */ _t191 = _t190 & 0x00000001u;
/* 028C9424 */ if (_t191) goto L_028C9444; else goto L_028C9428;
L_028C9428: ; // 0x28c9428
/* 028C9428 */ _t192 = cpu->r[3] + 0x0000009Cu;
/* 028C9428 */ cpu->r[11] = rbrew_read32(cpu->mem, _t192);
/* 028C942C */ _t193 = cpu->r[3] + 0x00000098u;
/* 028C942C */ cpu->r[12] = rbrew_read32(cpu->mem, _t193);
/* 028C9430 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
/* 028C9434 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
/* 028C9438 */ _t194 = cpu->r[3] + 0x0000009Cu;
/* 028C9438 */ rbrew_write32(cpu->mem, _t194, cpu->r[11]);
/* 028C943C */ _t195 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C943C */ _t196 = _t195 & 0x00000001u;
/* 028C943C */ if (_t196) goto L_028C9444; else goto L_028C9440;
L_028C9440: ; // 0x28c9440
/* 028C9440 */ _t197 = cpu->r[3] + 0x0000009Cu;
/* 028C9440 */ rbrew_write32(cpu->mem, _t197, cpu->r[30]);
L_028C9444: ; // 0x28c9444
/* 028C9444 */ _t198 = cpu->r[3] + 0x000000ACu;
/* 028C9444 */ cpu->r[12] = rbrew_read32(cpu->mem, _t198);
/* 028C9448 */ _t199 = cpu->r[12] + 0x00000000u;
/* 028C9448 */ cpu->r[11] = rbrew_read32(cpu->mem, _t199);
/* 028C944C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
/* 028C9450 */ _t200 = cpu->r[12] + 0x00000000u;
/* 028C9450 */ rbrew_write32(cpu->mem, _t200, cpu->r[11]);
/* 028C9454 */ _t201 = cpu->r[3] + 0x000000A8u;
/* 028C9454 */ cpu->r[12] = rbrew_read32(cpu->mem, _t201);
/* 028C9458 */ _t202 = cpu->r[12] + 0x00000000u;
/* 028C9458 */ cpu->r[12] = rbrew_read32(cpu->mem, _t202);
/* 028C945C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
/* 028C9460 */ _t203 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C9460 */ _t204 = _t203 & 0x00000001u;
/* 028C9460 */ if (_t204) goto L_028C946C; else goto L_028C9464;
L_028C9464: ; // 0x28c9464
/* 028C9464 */ _t205 = cpu->r[3] + 0x000000ACu;
/* 028C9464 */ cpu->r[12] = rbrew_read32(cpu->mem, _t205);
/* 028C9468 */ _t206 = cpu->r[12] + 0x00000000u;
/* 028C9468 */ rbrew_write32(cpu->mem, _t206, cpu->r[30]);
L_028C946C: ; // 0x28c946c
/* 028C946C */ _t207 = cpu->r[3] + 0x000000ACu;
/* 028C946C */ cpu->r[12] = rbrew_read32(cpu->mem, _t207);
/* 028C9470 */ _t208 = cpu->r[12] + 0x00000004u;
/* 028C9470 */ cpu->r[11] = rbrew_read32(cpu->mem, _t208);
/* 028C9474 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
/* 028C9478 */ _t209 = cpu->r[12] + 0x00000004u;
/* 028C9478 */ rbrew_write32(cpu->mem, _t209, cpu->r[11]);
/* 028C947C */ _t210 = cpu->r[3] + 0x000000A8u;
/* 028C947C */ cpu->r[12] = rbrew_read32(cpu->mem, _t210);
/* 028C9480 */ _t211 = cpu->r[12] + 0x00000004u;
/* 028C9480 */ cpu->r[12] = rbrew_read32(cpu->mem, _t211);
/* 028C9484 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
/* 028C9488 */ _t212 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C9488 */ _t213 = _t212 & 0x00000001u;
/* 028C9488 */ if (_t213) goto L_028C9494; else goto L_028C948C;
L_028C948C: ; // 0x28c948c
/* 028C948C */ _t214 = cpu->r[3] + 0x000000ACu;
/* 028C948C */ cpu->r[12] = rbrew_read32(cpu->mem, _t214);
/* 028C9490 */ _t215 = cpu->r[12] + 0x00000004u;
/* 028C9490 */ rbrew_write32(cpu->mem, _t215, cpu->r[30]);
L_028C9494: ; // 0x28c9494
/* 028C9494 */ _t216 = cpu->r[3] + 0x000000D4u;
/* 028C9494 */ cpu->r[12] = rbrew_read32(cpu->mem, _t216);
/* 028C9498 */ _t217 = cpu->r[12] + 0x00000000u;
/* 028C9498 */ cpu->r[11] = rbrew_read32(cpu->mem, _t217);
/* 028C949C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
/* 028C94A0 */ _t218 = cpu->r[12] + 0x00000000u;
/* 028C94A0 */ rbrew_write32(cpu->mem, _t218, cpu->r[11]);
/* 028C94A4 */ _t219 = cpu->r[3] + 0x000000D0u;
/* 028C94A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t219);
/* 028C94A8 */ _t220 = cpu->r[12] + 0x00000000u;
/* 028C94A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t220);
/* 028C94AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
/* 028C94B0 */ _t221 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C94B0 */ _t222 = _t221 & 0x00000001u;
/* 028C94B0 */ if (_t222) goto L_028C94BC; else goto L_028C94B4;
L_028C94B4: ; // 0x28c94b4
/* 028C94B4 */ _t223 = cpu->r[3] + 0x000000D4u;
/* 028C94B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t223);
/* 028C94B8 */ _t224 = cpu->r[12] + 0x00000000u;
/* 028C94B8 */ rbrew_write32(cpu->mem, _t224, cpu->r[30]);
L_028C94BC: ; // 0x28c94bc
/* 028C94BC */ _t225 = cpu->r[3] + 0x000000D4u;
/* 028C94BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t225);
/* 028C94C0 */ _t226 = cpu->r[12] + 0x00000004u;
/* 028C94C0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t226);
/* 028C94C4 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
/* 028C94C8 */ _t227 = cpu->r[12] + 0x00000004u;
/* 028C94C8 */ rbrew_write32(cpu->mem, _t227, cpu->r[11]);
/* 028C94CC */ _t228 = cpu->r[3] + 0x000000D0u;
/* 028C94CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t228);
/* 028C94D0 */ _t229 = cpu->r[12] + 0x00000004u;
/* 028C94D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t229);
/* 028C94D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
/* 028C94D8 */ _t230 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C94D8 */ _t231 = _t230 & 0x00000001u;
/* 028C94D8 */ if (_t231) goto L_028C94E4; else goto L_028C94DC;
L_028C94DC: ; // 0x28c94dc
/* 028C94DC */ _t232 = cpu->r[3] + 0x000000D4u;
/* 028C94DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t232);
/* 028C94E0 */ _t233 = cpu->r[12] + 0x00000004u;
/* 028C94E0 */ rbrew_write32(cpu->mem, _t233, cpu->r[30]);
L_028C94E4: ; // 0x28c94e4
/* 028C94E4 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028C94E4 */ _t234 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028C94E4 */ _t235 = _t234 >> (0x00000002u & 31u);
/* 028C94E4 */ _t236 = _t235 & 0x00000001u;
/* 028C94E4 */ if (_t236) goto L_028C8DDC; else goto L_028C94E8;
L_028C94E8: ; // 0x28c94e8
/* 028C94E8 */ _t237 = cpu->r[1] + 0x00000024u;
/* 028C94E8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t237);
/* 028C94EC */ _t238 = cpu->r[1] + 0x00000058u;
/* 028C94EC */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t238);
/* 028C94F0 */ _t239 = cpu->r[1] + 0x00000048u;
/* 028C94F0 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t239);
/* 028C94F4 */ _t240 = cpu->r[1] + 0x00000050u;
/* 028C94F4 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t240);
/* 028C94F8 */ _t241 = cpu->r[1] + 0x00000068u;
/* 028C94F8 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t241);
/* 028C94FC */ _t242 = cpu->r[1] + 0x00000040u;
/* 028C94FC */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t242);
/* 028C9500 */ _t243 = cpu->r[1] + 0x00000060u;
/* 028C9500 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t243);
/* 028C9504 */ _t244 = cpu->r[1] + 0x00000088u;
/* 028C9504 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t244);
/* 028C9508 */ _t245 = cpu->r[1] + 0x0000002Cu;
/* 028C9508 */ cpu->r[31] = rbrew_read32(cpu->mem, _t245);
/* 028C950C */ _t246 = cpu->r[1] + 0x00000080u;
/* 028C950C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t246);
/* 028C9510 */ _t247 = cpu->r[1] + 0x00000078u;
/* 028C9510 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t247);
/* 028C9514 */ _t248 = cpu->r[1] + 0x00000038u;
/* 028C9514 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t248);
/* 028C9518 */ _t249 = cpu->r[1] + 0x00000070u;
/* 028C9518 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t249);
/* 028C951C */ _t250 = cpu->r[1] + 0x00000030u;
/* 028C951C */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t250);
/* 028C9520 */ _t251 = cpu->r[1] + 0x00000028u;
/* 028C9520 */ cpu->r[30] = rbrew_read32(cpu->mem, _t251);
/* 028C9524 */ _t252 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C9524 */ _t253 = _t252 & 0x00000001u;
/* 028C9524 */ if (_t253) goto L_028C9528; // else: addr-0 trap, fall-through
L_028C9528: ; // 0x28c9528
/* 028C9528 */ cpu->r[1] = cpu->r[1] + 0x00000090u;
/* 028C952C */ return;
}
// fn_028C9530 @ 0x28c9530
void Gambit_fn_028C9530(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _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_028C9530: ; // 0x28c9530
/* 028C9530 */ cpu->r[0] = cpu->lr;
/* 028C9534 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028C9534 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028C9538 */ _t1 = cpu->r[1] + 0xFFFFFFD8u;
/* 028C9538 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028C9538 */ cpu->r[1] = _t1;
/* 028C953C */ _t2 = cpu->r[3] + 0x0000006Cu;
/* 028C953C */ cpu->r[8] = rbrew_read8(cpu->mem, _t2);
/* 028C9540 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028C9544 */ cpu->r[10] = cpu->r[6];
/* 028C9548 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9548 */ _t4 = _t3 & 0x00000001u;
/* 028C9548 */ if (_t4) goto L_028C95FC; else goto L_028C954C;
L_028C954C: ; // 0x28c954c
/* 028C954C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028C9550 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C9550 */ _t6 = _t5 & 0x00000001u;
/* 028C9550 */ if (_t6) goto L_028C9554; else goto L_028C9570;
L_028C9554: ; // 0x28c9554
/* 028C9554 */ cpu->ctr = cpu->r[4];
/* 028C9558 */ cpu->r[9] = 0x00000000u;
/* 028C955C */ cpu->r[12] = cpu->r[1] + 0x00000004u;
L_028C9560: ; // 0x28c9560
/* 028C9560 */ _t7 = cpu->r[5] + cpu->r[9];
/* 028C9560 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028C9564 */ cpu->r[9] = cpu->r[9] + 0x00000004u;
/* 028C9568 */ _t8 = cpu->r[12] + 0x00000004u;
/* 028C9568 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028C9568 */ cpu->r[12] = _t8;
/* 028C956C */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028C956C */ _t9 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028C956C */ _t10 = _t9 >> (0x00000002u & 31u);
/* 028C956C */ _t11 = _t10 & 0x00000001u;
/* 028C956C */ if (_t11) goto L_028C9560; else goto L_028C9570;
L_028C9570: ; // 0x28c9570
/* 028C9570 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000002u);
/* 028C9574 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9574 */ _t13 = _t12 & 0x00000001u;
/* 028C9574 */ if (_t13) goto L_028C9598; else goto L_028C9578;
L_028C9578: ; // 0x28c9578
/* 028C9578 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000004u);
/* 028C957C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C957C */ _t15 = _t14 & 0x00000001u;
/* 028C957C */ if (_t15) goto L_028C95B8; else goto L_028C9580;
L_028C9580: ; // 0x28c9580
/* 028C9580 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000006u);
/* 028C9584 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9584 */ _t17 = _t16 & 0x00000001u;
/* 028C9584 */ if (_t17) goto L_028C95E0; else goto L_028C9588;
L_028C9588: ; // 0x28c9588
/* 028C9588 */ _t18 = cpu->r[1] + 0x0000002Cu;
/* 028C9588 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028C958C */ cpu->lr = cpu->r[0];
/* 028C9590 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028C9594 */ return;
L_028C9598: ; // 0x28c9598
/* 028C9598 */ _t19 = cpu->r[1] + 0x0000000Cu;
/* 028C9598 */ cpu->r[5] = rbrew_read32(cpu->mem, _t19);
/* 028C959C */ cpu->r[6] = cpu->r[10];
/* 028C95A0 */ _t20 = cpu->r[1] + 0x00000008u;
/* 028C95A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
/* 028C95A4 */ Gambit_fn_028C83C0(cpu);
/* 028C95A8 */ _t21 = cpu->r[1] + 0x0000002Cu;
/* 028C95A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
/* 028C95AC */ cpu->lr = cpu->r[0];
/* 028C95B0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028C95B4 */ return;
L_028C95B8: ; // 0x28c95b8
/* 028C95B8 */ _t22 = cpu->r[1] + 0x0000000Cu;
/* 028C95B8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t22);
/* 028C95BC */ cpu->r[8] = cpu->r[10];
/* 028C95C0 */ _t23 = cpu->r[1] + 0x00000014u;
/* 028C95C0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t23);
/* 028C95C4 */ _t24 = cpu->r[1] + 0x00000010u;
/* 028C95C4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t24);
/* 028C95C8 */ _t25 = cpu->r[1] + 0x00000008u;
/* 028C95C8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t25);
/* 028C95CC */ Gambit_fn_028C875C(cpu);
/* 028C95D0 */ _t26 = cpu->r[1] + 0x0000002Cu;
/* 028C95D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
/* 028C95D4 */ cpu->lr = cpu->r[0];
/* 028C95D8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028C95DC */ return;
L_028C95E0: ; // 0x28c95e0
/* 028C95E0 */ _t27 = cpu->r[1] + 0x0000001Cu;
/* 028C95E0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
/* 028C95E4 */ _t28 = cpu->r[1] + 0x00000014u;
/* 028C95E4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t28);
/* 028C95E8 */ _t29 = cpu->r[1] + 0x00000010u;
/* 028C95E8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t29);
/* 028C95EC */ _t30 = cpu->r[1] + 0x00000018u;
/* 028C95EC */ cpu->r[8] = rbrew_read32(cpu->mem, _t30);
/* 028C95F0 */ _t31 = cpu->r[1] + 0x0000000Cu;
/* 028C95F0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t31);
/* 028C95F4 */ _t32 = cpu->r[1] + 0x00000008u;
/* 028C95F4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t32);
/* 028C95F8 */ Gambit_fn_028C8D28(cpu);
L_028C95FC: ; // 0x28c95fc
/* 028C95FC */ _t33 = cpu->r[1] + 0x0000002Cu;
/* 028C95FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
/* 028C9600 */ cpu->lr = cpu->r[0];
/* 028C9604 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028C9608 */ return;
}
// fn_028C9538 @ 0x28c9538
void Gambit_fn_028C9538(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_028C9538: ; // 0x28c9538
/* 028C9538 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028C9538 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C9538 */ cpu->r[1] = _t0;
/* 028C953C */ _t1 = cpu->r[3] + 0x0000006Cu;
/* 028C953C */ cpu->r[8] = rbrew_read8(cpu->mem, _t1);
/* 028C9540 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028C9544 */ cpu->r[10] = cpu->r[6];
/* 028C9548 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9548 */ _t3 = _t2 & 0x00000001u;
/* 028C9548 */ if (_t3) goto L_028C95FC; else goto L_028C954C;
L_028C954C: ; // 0x28c954c
/* 028C954C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028C9550 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C9550 */ _t5 = _t4 & 0x00000001u;
/* 028C9550 */ if (_t5) goto L_028C9554; else goto L_028C9570;
L_028C9554: ; // 0x28c9554
/* 028C9554 */ cpu->ctr = cpu->r[4];
/* 028C9558 */ cpu->r[9] = 0x00000000u;
/* 028C955C */ cpu->r[12] = cpu->r[1] + 0x00000004u;
L_028C9560: ; // 0x28c9560
/* 028C9560 */ _t6 = cpu->r[5] + cpu->r[9];
/* 028C9560 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028C9564 */ cpu->r[9] = cpu->r[9] + 0x00000004u;
/* 028C9568 */ _t7 = cpu->r[12] + 0x00000004u;
/* 028C9568 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028C9568 */ cpu->r[12] = _t7;
/* 028C956C */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028C956C */ _t8 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028C956C */ _t9 = _t8 >> (0x00000002u & 31u);
/* 028C956C */ _t10 = _t9 & 0x00000001u;
/* 028C956C */ if (_t10) goto L_028C9560; else goto L_028C9570;
L_028C9570: ; // 0x28c9570
/* 028C9570 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000002u);
/* 028C9574 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9574 */ _t12 = _t11 & 0x00000001u;
/* 028C9574 */ if (_t12) goto L_028C9598; else goto L_028C9578;
L_028C9578: ; // 0x28c9578
/* 028C9578 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000004u);
/* 028C957C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C957C */ _t14 = _t13 & 0x00000001u;
/* 028C957C */ if (_t14) goto L_028C95B8; else goto L_028C9580;
L_028C9580: ; // 0x28c9580
/* 028C9580 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000006u);
/* 028C9584 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9584 */ _t16 = _t15 & 0x00000001u;
/* 028C9584 */ if (_t16) goto L_028C95E0; else goto L_028C9588;
L_028C9588: ; // 0x28c9588
/* 028C9588 */ _t17 = cpu->r[1] + 0x0000002Cu;
/* 028C9588 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028C958C */ cpu->lr = cpu->r[0];
/* 028C9590 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028C9594 */ return;
L_028C9598: ; // 0x28c9598
/* 028C9598 */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028C9598 */ cpu->r[5] = rbrew_read32(cpu->mem, _t18);
/* 028C959C */ cpu->r[6] = cpu->r[10];
/* 028C95A0 */ _t19 = cpu->r[1] + 0x00000008u;
/* 028C95A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t19);
/* 028C95A4 */ Gambit_fn_028C83C0(cpu);
/* 028C95A8 */ _t20 = cpu->r[1] + 0x0000002Cu;
/* 028C95A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028C95AC */ cpu->lr = cpu->r[0];
/* 028C95B0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028C95B4 */ return;
L_028C95B8: ; // 0x28c95b8
/* 028C95B8 */ _t21 = cpu->r[1] + 0x0000000Cu;
/* 028C95B8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t21);
/* 028C95BC */ cpu->r[8] = cpu->r[10];
/* 028C95C0 */ _t22 = cpu->r[1] + 0x00000014u;
/* 028C95C0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
/* 028C95C4 */ _t23 = cpu->r[1] + 0x00000010u;
/* 028C95C4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t23);
/* 028C95C8 */ _t24 = cpu->r[1] + 0x00000008u;
/* 028C95C8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t24);
/* 028C95CC */ Gambit_fn_028C875C(cpu);
/* 028C95D0 */ _t25 = cpu->r[1] + 0x0000002Cu;
/* 028C95D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
/* 028C95D4 */ cpu->lr = cpu->r[0];
/* 028C95D8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028C95DC */ return;
L_028C95E0: ; // 0x28c95e0
/* 028C95E0 */ _t26 = cpu->r[1] + 0x0000001Cu;
/* 028C95E0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
/* 028C95E4 */ _t27 = cpu->r[1] + 0x00000014u;
/* 028C95E4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t27);
/* 028C95E8 */ _t28 = cpu->r[1] + 0x00000010u;
/* 028C95E8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t28);
/* 028C95EC */ _t29 = cpu->r[1] + 0x00000018u;
/* 028C95EC */ cpu->r[8] = rbrew_read32(cpu->mem, _t29);
/* 028C95F0 */ _t30 = cpu->r[1] + 0x0000000Cu;
/* 028C95F0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t30);
/* 028C95F4 */ _t31 = cpu->r[1] + 0x00000008u;
/* 028C95F4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t31);
/* 028C95F8 */ Gambit_fn_028C8D28(cpu);
L_028C95FC: ; // 0x28c95fc
/* 028C95FC */ _t32 = cpu->r[1] + 0x0000002Cu;
/* 028C95FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
/* 028C9600 */ cpu->lr = cpu->r[0];
/* 028C9604 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028C9608 */ return;
}
// fn_028C960C @ 0x28c960c
void Gambit_fn_028C960C(CPUState* cpu) {
uint32_t _t0, _t1;
L_028C960C: ; // 0x28c960c
/* 028C960C */ cpu->r[12] = 0x101F0000u;
/* 028C9610 */ cpu->r[0] = 0x00000005u;
/* 028C9614 */ cpu->r[11] = 0x00000003u;
/* 028C9618 */ cpu->r[10] = 0x101F0000u;
/* 028C961C */ _t0 = cpu->r[12] + 0x00007130u;
/* 028C961C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028C9620 */ _t1 = cpu->r[10] + 0x00007134u;
/* 028C9620 */ rbrew_write32(cpu->mem, _t1, cpu->r[11]);
/* 028C9624 */ return;
}
// fn_028C9628 @ 0x28c9628
void Gambit_fn_028C9628(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_028C9628: ; // 0x28c9628
/* 028C9628 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C962C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C962C */ _t17 = _t16 & 0x00000001u;
/* 028C962C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028C962C */ goto L_028C9630;
L_028C9630: ; // 0x28c9630
/* 028C9630 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028C9630 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C9634 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9634 */ _t19 = _t18 & 0x00000001u;
/* 028C9634 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028C9634 */ goto L_028C9638;
L_028C9638: ; // 0x28c9638
/* 028C9638 */ goto L_02801BB0;
}
// fn_028C963C @ 0x28c963c
void Gambit_fn_028C963C(CPUState* cpu) {
L_028C963C: ; // 0x28c963c
/* 028C963C */ return;
}
// fn_028C9640 @ 0x28c9640
void Gambit_fn_028C9640(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028C9640: ; // 0x28c9640
/* 028C9640 */ cpu->r[9] = 0x101D0000u;
/* 028C9644 */ _t0 = cpu->r[9] + 0xFFFFF750u;
/* 028C9644 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
/* 028C9644 */ cpu->r[9] = _t0;
/* 028C9648 */ cpu->r[12] = 0x101D0000u;
/* 028C964C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028C9650 */ cpu->r[12] = cpu->r[12] + 0x0000196Cu;
/* 028C9654 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9654 */ _t2 = _t1 & 0x00000001u;
/* 028C9654 */ if (_t2) goto L_028C9658; else goto L_028C966C;
L_028C9658: ; // 0x28c9658
/* 028C9658 */ cpu->r[7] = 0x10140000u;
/* 028C965C */ cpu->r[0] = 0x00000001u;
/* 028C9660 */ cpu->r[7] = cpu->r[7] + 0xFFFF97D8u;
/* 028C9664 */ _t3 = cpu->r[9] + 0x00000000u;
/* 028C9664 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C9668 */ _t4 = cpu->r[12] + 0x00000000u;
/* 028C9668 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
L_028C966C: ; // 0x28c966c
/* 028C966C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
/* 028C9670 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9670 */ _t6 = _t5 & 0x00000001u;
/* 028C9670 */ if (_t6) goto L_028C9674; else goto L_028C967C;
L_028C9674: ; // 0x28c9674
/* 028C9674 */ cpu->r[3] = 0x00000001u;
/* 028C9678 */ return;
L_028C967C: ; // 0x28c967c
/* 028C967C */ cpu->r[7] = 0x101D0000u;
/* 028C9680 */ _t7 = cpu->r[7] + 0xFFFFF724u;
/* 028C9680 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
/* 028C9680 */ cpu->r[7] = _t7;
/* 028C9684 */ cpu->r[11] = 0x101D0000u;
/* 028C9688 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028C968C */ cpu->r[11] = cpu->r[11] + 0xFFFFF738u;
/* 028C9690 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9690 */ _t9 = _t8 & 0x00000001u;
/* 028C9690 */ if (_t9) goto L_028C9694; else goto L_028C96A8;
L_028C9694: ; // 0x28c9694
/* 028C9694 */ cpu->r[0] = 0x10140000u;
/* 028C9698 */ cpu->r[9] = 0x00000001u;
/* 028C969C */ cpu->r[0] = cpu->r[0] + 0xFFFF97A0u;
/* 028C96A0 */ _t10 = cpu->r[7] + 0x00000000u;
/* 028C96A0 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
/* 028C96A4 */ _t11 = cpu->r[11] + 0x00000000u;
/* 028C96A4 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
L_028C96A8: ; // 0x28c96a8
/* 028C96A8 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
/* 028C96AC */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
/* 028C96B0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
/* 028C96B4 */ return;
}
// fn_028C96B8 @ 0x28c96b8
void Gambit_fn_028C96B8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028C96B8: ; // 0x28c96b8
/* 028C96B8 */ cpu->r[9] = 0x101D0000u;
/* 028C96BC */ _t0 = cpu->r[9] + 0xFFFFF754u;
/* 028C96BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
/* 028C96BC */ cpu->r[9] = _t0;
/* 028C96C0 */ cpu->r[12] = 0x101D0000u;
/* 028C96C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028C96C8 */ cpu->r[12] = cpu->r[12] + 0x00001970u;
/* 028C96CC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C96CC */ _t2 = _t1 & 0x00000001u;
/* 028C96CC */ if (_t2) goto L_028C96D0; else goto L_028C96E4;
L_028C96D0: ; // 0x28c96d0
/* 028C96D0 */ cpu->r[7] = 0x10140000u;
/* 028C96D4 */ cpu->r[0] = 0x00000001u;
/* 028C96D8 */ cpu->r[7] = cpu->r[7] + 0xFFFF97E8u;
/* 028C96DC */ _t3 = cpu->r[9] + 0x00000000u;
/* 028C96DC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C96E0 */ _t4 = cpu->r[12] + 0x00000000u;
/* 028C96E0 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
L_028C96E4: ; // 0x28c96e4
/* 028C96E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
/* 028C96E8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C96E8 */ _t6 = _t5 & 0x00000001u;
/* 028C96E8 */ if (_t6) goto L_028C96EC; else goto L_028C96F4;
L_028C96EC: ; // 0x28c96ec
/* 028C96EC */ cpu->r[3] = 0x00000001u;
/* 028C96F0 */ return;
L_028C96F4: ; // 0x28c96f4
/* 028C96F4 */ cpu->r[7] = 0x101D0000u;
/* 028C96F8 */ _t7 = cpu->r[7] + 0xFFFFF728u;
/* 028C96F8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
/* 028C96F8 */ cpu->r[7] = _t7;
/* 028C96FC */ cpu->r[11] = 0x101D0000u;
/* 028C9700 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028C9704 */ cpu->r[11] = cpu->r[11] + 0xFFFFF73Cu;
/* 028C9708 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9708 */ _t9 = _t8 & 0x00000001u;
/* 028C9708 */ if (_t9) goto L_028C970C; else goto L_028C9720;
L_028C970C: ; // 0x28c970c
/* 028C970C */ cpu->r[0] = 0x10140000u;
/* 028C9710 */ cpu->r[9] = 0x00000001u;
/* 028C9714 */ cpu->r[0] = cpu->r[0] + 0xFFFF97A0u;
/* 028C9718 */ _t10 = cpu->r[7] + 0x00000000u;
/* 028C9718 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
/* 028C971C */ _t11 = cpu->r[11] + 0x00000000u;
/* 028C971C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
L_028C9720: ; // 0x28c9720
/* 028C9720 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
/* 028C9724 */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
/* 028C9728 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
/* 028C972C */ return;
}
// fn_028C9730 @ 0x28c9730
void Gambit_fn_028C9730(CPUState* cpu) {
L_028C9730: ; // 0x28c9730
/* 028C9730 */ return;
}
// fn_028C9734 @ 0x28c9734
void Gambit_fn_028C9734(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
L_028C9734: ; // 0x28c9734
/* 028C9734 */ cpu->r[0] = cpu->lr;
/* 028C9738 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C9738 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C9738 */ cpu->r[1] = _t0;
/* 028C973C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C973C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C9740 */ cpu->r[31] = cpu->r[3];
/* 028C9740 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C9744 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C9744 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C9748 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9748 */ _t4 = _t3 & 0x00000001u;
/* 028C9748 */ if (_t4) goto L_028C974C; else goto L_028C975C;
L_028C974C: ; // 0x28c974c
/* 028C974C */ cpu->r[3] = 0x0000006Cu;
/* 028C9750 */ Gambit_fn_02801A78(cpu);
/* 028C9754 */ cpu->r[31] = cpu->r[3];
/* 028C9754 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C9758 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9758 */ _t6 = _t5 & 0x00000001u;
/* 028C9758 */ if (_t6) goto L_028C9770; else goto L_028C975C;
L_028C975C: ; // 0x28c975c
/* 028C975C */ cpu->r[3] = cpu->r[31];
/* 028C9760 */ Gambit_fn_028C2D58(cpu);
/* 028C9764 */ cpu->r[0] = 0x10140000u;
/* 028C9768 */ cpu->r[0] = cpu->r[0] + 0xFFFF9B10u;
/* 028C976C */ _t7 = cpu->r[31] + 0x00000000u;
/* 028C976C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
L_028C9770: ; // 0x28c9770
/* 028C9770 */ _t8 = cpu->r[1] + 0x00000014u;
/* 028C9770 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028C9774 */ cpu->r[3] = cpu->r[31];
/* 028C9778 */ _t9 = cpu->r[1] + 0x0000000Cu;
/* 028C9778 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
/* 028C977C */ cpu->lr = cpu->r[0];
/* 028C9780 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C9784 */ return;
}
// fn_028C9738 @ 0x28c9738
void Gambit_fn_028C9738(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
L_028C9738: ; // 0x28c9738
/* 028C9738 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C9738 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C9738 */ cpu->r[1] = _t0;
/* 028C973C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C973C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C9740 */ cpu->r[31] = cpu->r[3];
/* 028C9740 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C9744 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C9744 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028C9748 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9748 */ _t4 = _t3 & 0x00000001u;
/* 028C9748 */ if (_t4) goto L_028C974C; else goto L_028C975C;
L_028C974C: ; // 0x28c974c
/* 028C974C */ cpu->r[3] = 0x0000006Cu;
/* 028C9750 */ Gambit_fn_02801A78(cpu);
/* 028C9754 */ cpu->r[31] = cpu->r[3];
/* 028C9754 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C9758 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9758 */ _t6 = _t5 & 0x00000001u;
/* 028C9758 */ if (_t6) goto L_028C9770; else goto L_028C975C;
L_028C975C: ; // 0x28c975c
/* 028C975C */ cpu->r[3] = cpu->r[31];
/* 028C9760 */ Gambit_fn_028C2D58(cpu);
/* 028C9764 */ cpu->r[0] = 0x10140000u;
/* 028C9768 */ cpu->r[0] = cpu->r[0] + 0xFFFF9B10u;
/* 028C976C */ _t7 = cpu->r[31] + 0x00000000u;
/* 028C976C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
L_028C9770: ; // 0x28c9770
/* 028C9770 */ _t8 = cpu->r[1] + 0x00000014u;
/* 028C9770 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028C9774 */ cpu->r[3] = cpu->r[31];
/* 028C9778 */ _t9 = cpu->r[1] + 0x0000000Cu;
/* 028C9778 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
/* 028C977C */ cpu->lr = cpu->r[0];
/* 028C9780 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C9784 */ return;
}
// fn_028C9788 @ 0x28c9788
void Gambit_fn_028C9788(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_028C9788: ; // 0x28c9788
/* 028C9788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C978C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C978C */ _t17 = _t16 & 0x00000001u;
/* 028C978C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028C978C */ goto L_028C9790;
L_028C9790: ; // 0x28c9790
/* 028C9790 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028C9790 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C9794 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9794 */ _t19 = _t18 & 0x00000001u;
/* 028C9794 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028C9794 */ goto L_028C9798;
L_028C9798: ; // 0x28c9798
/* 028C9798 */ goto L_02801BB0;
}
// fn_028C979C @ 0x28c979c
void Gambit_fn_028C979C(CPUState* cpu) {
L_028C979C: ; // 0x28c979c
/* 028C979C */ return;
}
// fn_028C97A0 @ 0x28c97a0
void Gambit_fn_028C97A0(CPUState* cpu) {
L_028C97A0: ; // 0x28c97a0
/* 028C97A0 */ return;
}
// fn_028C97A4 @ 0x28c97a4
void Gambit_fn_028C97A4(CPUState* cpu) {
L_028C97A4: ; // 0x28c97a4
/* 028C97A4 */ cpu->r[3] = 0x00000001u;
/* 028C97A8 */ return;
}
// fn_028C97AC @ 0x28c97ac
void Gambit_fn_028C97AC(CPUState* cpu) {
L_028C97AC: ; // 0x28c97ac
/* 028C97AC */ return;
}
// fn_028C97B0 @ 0x28c97b0
void Gambit_fn_028C97B0(CPUState* cpu) {
L_028C97B0: ; // 0x28c97b0
/* 028C97B0 */ return;
}
// fn_028C97B4 @ 0x28c97b4
void Gambit_fn_028C97B4(CPUState* cpu) {
uint32_t _t0, _t1, _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_028C97B4: ; // 0x28c97b4
/* 028C97B4 */ cpu->r[0] = cpu->lr;
/* 028C97B8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028C97B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C97B8 */ cpu->r[1] = _t0;
/* 028C97BC */ _t1 = cpu->r[1] + 0x00000018u;
/* 028C97BC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028C97C0 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028C97C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
/* 028C97C4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C97C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028C97C8 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C97C8 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028C97CC */ _t5 = cpu->r[1] + 0x00000024u;
/* 028C97CC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028C97D0 */ cpu->r[29] = 0x101D0000u;
/* 028C97D4 */ _t6 = cpu->r[29] + 0xFFFF9AA0u;
/* 028C97D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
/* 028C97D4 */ cpu->r[29] = _t6;
/* 028C97D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C97DC */ cpu->r[30] = cpu->r[3];
/* 028C97E0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C97E0 */ _t8 = _t7 & 0x00000001u;
/* 028C97E0 */ if (_t8) goto L_028C97E4; else goto L_028C9878;
L_028C97E4: ; // 0x28c97e4
/* 028C97E4 */ cpu->r[4] = cpu->r[30];
/* 028C97E8 */ cpu->r[3] = 0x00000030u;
/* 028C97EC */ cpu->r[5] = 0x00000004u;
/* 028C97F0 */ Gambit_fn_02801ADC(cpu);
/* 028C97F4 */ cpu->r[31] = cpu->r[3];
/* 028C97F8 */ cpu->r[28] = cpu->r[31] + 0x00000020u;
/* 028C97F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028C97FC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C97FC */ _t10 = _t9 & 0x00000001u;
/* 028C97FC */ if (_t10) goto L_028C981C; else goto L_028C9800;
L_028C9800: ; // 0x28c9800
/* 028C9800 */ cpu->r[5] = 0x00000003u;
/* 028C9804 */ cpu->r[4] = cpu->r[30];
/* 028C9808 */ cpu->r[3] = cpu->r[28];
/* 028C980C */ Gambit_fn_02821D88(cpu);
/* 028C9810 */ cpu->r[0] = 0x10140000u;
/* 028C9814 */ cpu->r[0] = cpu->r[0] + 0xFFFF9C28u;
/* 028C9818 */ _t11 = cpu->r[28] + 0x0000000Cu;
/* 028C9818 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
L_028C981C: ; // 0x28c981c
/* 028C981C */ cpu->r[12] = 0x101D0000u;
/* 028C9820 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C9824 */ _t12 = cpu->r[12] + 0xFFFF9AA4u;
/* 028C9824 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
/* 028C9828 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9828 */ _t14 = _t13 & 0x00000001u;
/* 028C9828 */ if (_t14) goto L_028C9870; else goto L_028C982C;
L_028C982C: ; // 0x28c982c
/* 028C982C */ cpu->r[8] = 0x10140000u;
/* 028C9830 */ cpu->r[3] = cpu->r[31];
/* 028C9834 */ cpu->r[8] = cpu->r[8] + 0xFFFF9B9Cu;
/* 028C9838 */ cpu->r[0] = 0x10140000u;
/* 028C983C */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028C983C */ rbrew_write32(cpu->mem, _t15, cpu->r[8]);
/* 028C9840 */ cpu->r[0] = cpu->r[0] + 0xFFFF9C14u;
/* 028C9844 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028C9848 */ _t16 = cpu->r[1] + 0x00000008u;
/* 028C9848 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
/* 028C984C */ Gambit_fn_028C9A48(cpu);
/* 028C9850 */ cpu->r[10] = 0x10140000u;
/* 028C9854 */ cpu->r[0] = 0x10140000u;
/* 028C9858 */ cpu->r[10] = cpu->r[10] + 0xFFFF9BECu;
/* 028C985C */ cpu->r[0] = cpu->r[0] + 0xFFFF9C04u;
/* 028C9860 */ _t17 = cpu->r[31] + 0x00000008u;
/* 028C9860 */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
/* 028C9864 */ _t18 = cpu->r[31] + 0x0000000Cu;
/* 028C9864 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
/* 028C9868 */ _t19 = cpu->r[29] + 0x00000000u;
/* 028C9868 */ rbrew_write32(cpu->mem, _t19, cpu->r[31]);
/* 028C986C */ goto L_028C9878;
L_028C9870: ; // 0x28c9870
/* 028C9870 */ cpu->r[31] = 0x00000000u;
/* 028C9874 */ _t20 = cpu->r[29] + 0x00000000u;
/* 028C9874 */ rbrew_write32(cpu->mem, _t20, cpu->r[31]);
L_028C9878: ; // 0x28c9878
/* 028C9878 */ _t21 = cpu->r[1] + 0x00000010u;
/* 028C9878 */ cpu->r[28] = rbrew_read32(cpu->mem, _t21);
/* 028C987C */ _t22 = cpu->r[1] + 0x00000014u;
/* 028C987C */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
/* 028C9880 */ _t23 = cpu->r[1] + 0x00000024u;
/* 028C9880 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
/* 028C9884 */ cpu->r[3] = cpu->r[31];
/* 028C9888 */ _t24 = cpu->r[1] + 0x00000018u;
/* 028C9888 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
/* 028C988C */ cpu->lr = cpu->r[0];
/* 028C9890 */ _t25 = cpu->r[1] + 0x0000001Cu;
/* 028C9890 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
/* 028C9894 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C9898 */ return;
}
// fn_028C97B8 @ 0x28c97b8
void Gambit_fn_028C97B8(CPUState* cpu) {
uint32_t _t0, _t1, _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_028C97B8: ; // 0x28c97b8
/* 028C97B8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028C97B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C97B8 */ cpu->r[1] = _t0;
/* 028C97BC */ _t1 = cpu->r[1] + 0x00000018u;
/* 028C97BC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028C97C0 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028C97C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
/* 028C97C4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C97C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028C97C8 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C97C8 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028C97CC */ _t5 = cpu->r[1] + 0x00000024u;
/* 028C97CC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028C97D0 */ cpu->r[29] = 0x101D0000u;
/* 028C97D4 */ _t6 = cpu->r[29] + 0xFFFF9AA0u;
/* 028C97D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
/* 028C97D4 */ cpu->r[29] = _t6;
/* 028C97D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C97DC */ cpu->r[30] = cpu->r[3];
/* 028C97E0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C97E0 */ _t8 = _t7 & 0x00000001u;
/* 028C97E0 */ if (_t8) goto L_028C97E4; else goto L_028C9878;
L_028C97E4: ; // 0x28c97e4
/* 028C97E4 */ cpu->r[4] = cpu->r[30];
/* 028C97E8 */ cpu->r[3] = 0x00000030u;
/* 028C97EC */ cpu->r[5] = 0x00000004u;
/* 028C97F0 */ Gambit_fn_02801ADC(cpu);
/* 028C97F4 */ cpu->r[31] = cpu->r[3];
/* 028C97F8 */ cpu->r[28] = cpu->r[31] + 0x00000020u;
/* 028C97F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028C97FC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C97FC */ _t10 = _t9 & 0x00000001u;
/* 028C97FC */ if (_t10) goto L_028C981C; else goto L_028C9800;
L_028C9800: ; // 0x28c9800
/* 028C9800 */ cpu->r[5] = 0x00000003u;
/* 028C9804 */ cpu->r[4] = cpu->r[30];
/* 028C9808 */ cpu->r[3] = cpu->r[28];
/* 028C980C */ Gambit_fn_02821D88(cpu);
/* 028C9810 */ cpu->r[0] = 0x10140000u;
/* 028C9814 */ cpu->r[0] = cpu->r[0] + 0xFFFF9C28u;
/* 028C9818 */ _t11 = cpu->r[28] + 0x0000000Cu;
/* 028C9818 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
L_028C981C: ; // 0x28c981c
/* 028C981C */ cpu->r[12] = 0x101D0000u;
/* 028C9820 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C9824 */ _t12 = cpu->r[12] + 0xFFFF9AA4u;
/* 028C9824 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
/* 028C9828 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9828 */ _t14 = _t13 & 0x00000001u;
/* 028C9828 */ if (_t14) goto L_028C9870; else goto L_028C982C;
L_028C982C: ; // 0x28c982c
/* 028C982C */ cpu->r[8] = 0x10140000u;
/* 028C9830 */ cpu->r[3] = cpu->r[31];
/* 028C9834 */ cpu->r[8] = cpu->r[8] + 0xFFFF9B9Cu;
/* 028C9838 */ cpu->r[0] = 0x10140000u;
/* 028C983C */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028C983C */ rbrew_write32(cpu->mem, _t15, cpu->r[8]);
/* 028C9840 */ cpu->r[0] = cpu->r[0] + 0xFFFF9C14u;
/* 028C9844 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028C9848 */ _t16 = cpu->r[1] + 0x00000008u;
/* 028C9848 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
/* 028C984C */ Gambit_fn_028C9A48(cpu);
/* 028C9850 */ cpu->r[10] = 0x10140000u;
/* 028C9854 */ cpu->r[0] = 0x10140000u;
/* 028C9858 */ cpu->r[10] = cpu->r[10] + 0xFFFF9BECu;
/* 028C985C */ cpu->r[0] = cpu->r[0] + 0xFFFF9C04u;
/* 028C9860 */ _t17 = cpu->r[31] + 0x00000008u;
/* 028C9860 */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
/* 028C9864 */ _t18 = cpu->r[31] + 0x0000000Cu;
/* 028C9864 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
/* 028C9868 */ _t19 = cpu->r[29] + 0x00000000u;
/* 028C9868 */ rbrew_write32(cpu->mem, _t19, cpu->r[31]);
/* 028C986C */ goto L_028C9878;
L_028C9870: ; // 0x28c9870
/* 028C9870 */ cpu->r[31] = 0x00000000u;
/* 028C9874 */ _t20 = cpu->r[29] + 0x00000000u;
/* 028C9874 */ rbrew_write32(cpu->mem, _t20, cpu->r[31]);
L_028C9878: ; // 0x28c9878
/* 028C9878 */ _t21 = cpu->r[1] + 0x00000010u;
/* 028C9878 */ cpu->r[28] = rbrew_read32(cpu->mem, _t21);
/* 028C987C */ _t22 = cpu->r[1] + 0x00000014u;
/* 028C987C */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
/* 028C9880 */ _t23 = cpu->r[1] + 0x00000024u;
/* 028C9880 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
/* 028C9884 */ cpu->r[3] = cpu->r[31];
/* 028C9888 */ _t24 = cpu->r[1] + 0x00000018u;
/* 028C9888 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
/* 028C988C */ cpu->lr = cpu->r[0];
/* 028C9890 */ _t25 = cpu->r[1] + 0x0000001Cu;
/* 028C9890 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
/* 028C9894 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C9898 */ return;
}
// fn_028C989C @ 0x28c989c
void Gambit_fn_028C989C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
L_028C989C: ; // 0x28c989c
/* 028C989C */ cpu->r[0] = cpu->lr;
/* 028C98A0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C98A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C98A0 */ cpu->r[1] = _t0;
/* 028C98A4 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028C98A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028C98A8 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028C98A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028C98AC */ cpu->r[9] = 0x101D0000u;
/* 028C98B0 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C98B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C98B4 */ _t4 = cpu->r[9] + 0xFFFF9AA4u;
/* 028C98B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
/* 028C98B4 */ cpu->r[9] = _t4;
/* 028C98B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C98BC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C98BC */ _t6 = _t5 & 0x00000001u;
/* 028C98BC */ if (_t6) goto L_028C9904; else goto L_028C98C0;
L_028C98C0: ; // 0x28c98c0
/* 028C98C0 */ cpu->r[30] = 0x00000000u;
/* 028C98C4 */ _t7 = cpu->r[9] + 0x00000000u;
/* 028C98C4 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
/* 028C98C8 */ _t8 = cpu->r[3] + 0x0000000Cu;
/* 028C98C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
/* 028C98CC */ _t9 = cpu->r[11] + 0x0000000Cu;
/* 028C98CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028C98D0 */ cpu->ctr = cpu->r[0];
/* 028C98D4 */ cpu->r[4] = 0x00000002u;
/* 028C98D8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C98DC */ cpu->r[31] = 0x101D0000u;
/* 028C98E0 */ _t10 = cpu->r[31] + 0xFFFF9AA0u;
/* 028C98E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
/* 028C98E0 */ cpu->r[31] = _t10;
/* 028C98E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C98E8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C98E8 */ _t12 = _t11 & 0x00000001u;
/* 028C98E8 */ if (_t12) goto L_028C9900; else goto L_028C98EC;
L_028C98EC: ; // 0x28c98ec
/* 028C98EC */ _t13 = cpu->r[3] + 0x00000008u;
/* 028C98EC */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
/* 028C98F0 */ _t14 = cpu->r[10] + 0x0000000Cu;
/* 028C98F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
/* 028C98F4 */ cpu->ctr = cpu->r[12];
/* 028C98F8 */ cpu->r[4] = 0x00000003u;
/* 028C98FC */ rbrew_call_indirect(cpu, cpu->ctr);
L_028C9900: ; // 0x28c9900
/* 028C9900 */ _t15 = cpu->r[31] + 0x00000000u;
/* 028C9900 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
L_028C9904: ; // 0x28c9904
/* 028C9904 */ _t16 = cpu->r[1] + 0x00000014u;
/* 028C9904 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028C9908 */ _t17 = cpu->r[1] + 0x00000008u;
/* 028C9908 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
/* 028C990C */ cpu->lr = cpu->r[0];
/* 028C9910 */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028C9910 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
/* 028C9914 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C9918 */ return;
}
// fn_028C98A0 @ 0x28c98a0
void Gambit_fn_028C98A0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
L_028C98A0: ; // 0x28c98a0
/* 028C98A0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C98A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C98A0 */ cpu->r[1] = _t0;
/* 028C98A4 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028C98A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028C98A8 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028C98A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028C98AC */ cpu->r[9] = 0x101D0000u;
/* 028C98B0 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C98B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C98B4 */ _t4 = cpu->r[9] + 0xFFFF9AA4u;
/* 028C98B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
/* 028C98B4 */ cpu->r[9] = _t4;
/* 028C98B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C98BC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C98BC */ _t6 = _t5 & 0x00000001u;
/* 028C98BC */ if (_t6) goto L_028C9904; else goto L_028C98C0;
L_028C98C0: ; // 0x28c98c0
/* 028C98C0 */ cpu->r[30] = 0x00000000u;
/* 028C98C4 */ _t7 = cpu->r[9] + 0x00000000u;
/* 028C98C4 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
/* 028C98C8 */ _t8 = cpu->r[3] + 0x0000000Cu;
/* 028C98C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
/* 028C98CC */ _t9 = cpu->r[11] + 0x0000000Cu;
/* 028C98CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028C98D0 */ cpu->ctr = cpu->r[0];
/* 028C98D4 */ cpu->r[4] = 0x00000002u;
/* 028C98D8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C98DC */ cpu->r[31] = 0x101D0000u;
/* 028C98E0 */ _t10 = cpu->r[31] + 0xFFFF9AA0u;
/* 028C98E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
/* 028C98E0 */ cpu->r[31] = _t10;
/* 028C98E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C98E8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C98E8 */ _t12 = _t11 & 0x00000001u;
/* 028C98E8 */ if (_t12) goto L_028C9900; else goto L_028C98EC;
L_028C98EC: ; // 0x28c98ec
/* 028C98EC */ _t13 = cpu->r[3] + 0x00000008u;
/* 028C98EC */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
/* 028C98F0 */ _t14 = cpu->r[10] + 0x0000000Cu;
/* 028C98F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
/* 028C98F4 */ cpu->ctr = cpu->r[12];
/* 028C98F8 */ cpu->r[4] = 0x00000003u;
/* 028C98FC */ rbrew_call_indirect(cpu, cpu->ctr);
L_028C9900: ; // 0x28c9900
/* 028C9900 */ _t15 = cpu->r[31] + 0x00000000u;
/* 028C9900 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
L_028C9904: ; // 0x28c9904
/* 028C9904 */ _t16 = cpu->r[1] + 0x00000014u;
/* 028C9904 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028C9908 */ _t17 = cpu->r[1] + 0x00000008u;
/* 028C9908 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
/* 028C990C */ cpu->lr = cpu->r[0];
/* 028C9910 */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028C9910 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
/* 028C9914 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C9918 */ return;
}
// fn_028C991C @ 0x28c991c
void Gambit_fn_028C991C(CPUState* cpu) {
uint32_t _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_028C991C: ; // 0x28c991c
/* 028C991C */ cpu->r[0] = cpu->lr;
/* 028C9920 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C9920 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C9920 */ cpu->r[1] = _t0;
/* 028C9924 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028C9924 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
/* 028C9928 */ cpu->r[28] = cpu->r[4];
/* 028C992C */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C992C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028C9930 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028C9930 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028C9934 */ cpu->r[31] = cpu->r[3];
/* 028C9934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C9938 */ _t4 = cpu->r[1] + 0x00000010u;
/* 028C9938 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
/* 028C993C */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028C993C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028C9940 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9940 */ _t7 = _t6 & 0x00000001u;
/* 028C9940 */ if (_t7) goto L_028C99A4; else goto L_028C9944;
L_028C9944: ; // 0x28c9944
/* 028C9944 */ cpu->r[6] = 0x10140000u;
/* 028C9948 */ cpu->r[6] = cpu->r[6] + 0xFFFF9C28u;
/* 028C994C */ cpu->r[12] = 0x101D0000u;
/* 028C9950 */ _t8 = cpu->r[31] + 0x0000000Cu;
/* 028C9950 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
/* 028C9954 */ _t9 = cpu->r[12] + 0xFFFF9AA4u;
/* 028C9954 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028C9954 */ cpu->r[12] = _t9;
/* 028C9958 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
/* 028C995C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C995C */ _t11 = _t10 & 0x00000001u;
/* 028C995C */ if (_t11) goto L_028C9960; else goto L_028C9988;
L_028C9960: ; // 0x28c9960
/* 028C9960 */ cpu->r[30] = 0x101D0000u;
/* 028C9964 */ cpu->r[29] = 0x00000000u;
/* 028C9968 */ _t12 = cpu->r[30] + 0xFFFF9AA0u;
/* 028C9968 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
/* 028C996C */ _t13 = cpu->r[12] + 0x00000000u;
/* 028C996C */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
/* 028C9970 */ _t14 = cpu->r[3] + 0x00000008u;
/* 028C9970 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
/* 028C9974 */ _t15 = cpu->r[8] + 0x0000000Cu;
/* 028C9974 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
/* 028C9978 */ cpu->ctr = cpu->r[10];
/* 028C997C */ cpu->r[4] = 0x00000002u;
/* 028C9980 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C9984 */ _t16 = cpu->r[30] + 0xFFFF9AA0u;
/* 028C9984 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
L_028C9988: ; // 0x28c9988
/* 028C9988 */ cpu->r[3] = cpu->r[31];
/* 028C998C */ cpu->r[4] = 0x00000000u;
/* 028C9990 */ Gambit_fn_02821E68(cpu);
/* 028C9994 */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028C9994 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C9998 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9998 */ _t18 = _t17 & 0x00000001u;
/* 028C9998 */ if (_t18) goto L_028C99A4; else goto L_028C999C;
L_028C999C: ; // 0x28c999c
/* 028C999C */ cpu->r[3] = cpu->r[31];
/* 028C99A0 */ Gambit_fn_02801BB0(cpu);
L_028C99A4: ; // 0x28c99a4
/* 028C99A4 */ _t19 = cpu->r[1] + 0x00000008u;
/* 028C99A4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
/* 028C99A8 */ _t20 = cpu->r[1] + 0x0000000Cu;
/* 028C99A8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
/* 028C99AC */ _t21 = cpu->r[1] + 0x0000001Cu;
/* 028C99AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
/* 028C99B0 */ _t22 = cpu->r[1] + 0x00000010u;
/* 028C99B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
/* 028C99B4 */ cpu->lr = cpu->r[0];
/* 028C99B8 */ _t23 = cpu->r[1] + 0x00000014u;
/* 028C99B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
/* 028C99BC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C99C0 */ return;
}
// fn_028C9920 @ 0x28c9920
void Gambit_fn_028C9920(CPUState* cpu) {
uint32_t _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_028C9920: ; // 0x28c9920
/* 028C9920 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C9920 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C9920 */ cpu->r[1] = _t0;
/* 028C9924 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028C9924 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
/* 028C9928 */ cpu->r[28] = cpu->r[4];
/* 028C992C */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C992C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028C9930 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028C9930 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028C9934 */ cpu->r[31] = cpu->r[3];
/* 028C9934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C9938 */ _t4 = cpu->r[1] + 0x00000010u;
/* 028C9938 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
/* 028C993C */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028C993C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028C9940 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9940 */ _t7 = _t6 & 0x00000001u;
/* 028C9940 */ if (_t7) goto L_028C99A4; else goto L_028C9944;
L_028C9944: ; // 0x28c9944
/* 028C9944 */ cpu->r[6] = 0x10140000u;
/* 028C9948 */ cpu->r[6] = cpu->r[6] + 0xFFFF9C28u;
/* 028C994C */ cpu->r[12] = 0x101D0000u;
/* 028C9950 */ _t8 = cpu->r[31] + 0x0000000Cu;
/* 028C9950 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
/* 028C9954 */ _t9 = cpu->r[12] + 0xFFFF9AA4u;
/* 028C9954 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028C9954 */ cpu->r[12] = _t9;
/* 028C9958 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
/* 028C995C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C995C */ _t11 = _t10 & 0x00000001u;
/* 028C995C */ if (_t11) goto L_028C9960; else goto L_028C9988;
L_028C9960: ; // 0x28c9960
/* 028C9960 */ cpu->r[30] = 0x101D0000u;
/* 028C9964 */ cpu->r[29] = 0x00000000u;
/* 028C9968 */ _t12 = cpu->r[30] + 0xFFFF9AA0u;
/* 028C9968 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
/* 028C996C */ _t13 = cpu->r[12] + 0x00000000u;
/* 028C996C */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
/* 028C9970 */ _t14 = cpu->r[3] + 0x00000008u;
/* 028C9970 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
/* 028C9974 */ _t15 = cpu->r[8] + 0x0000000Cu;
/* 028C9974 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
/* 028C9978 */ cpu->ctr = cpu->r[10];
/* 028C997C */ cpu->r[4] = 0x00000002u;
/* 028C9980 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C9984 */ _t16 = cpu->r[30] + 0xFFFF9AA0u;
/* 028C9984 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
L_028C9988: ; // 0x28c9988
/* 028C9988 */ cpu->r[3] = cpu->r[31];
/* 028C998C */ cpu->r[4] = 0x00000000u;
/* 028C9990 */ Gambit_fn_02821E68(cpu);
/* 028C9994 */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028C9994 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C9998 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9998 */ _t18 = _t17 & 0x00000001u;
/* 028C9998 */ if (_t18) goto L_028C99A4; else goto L_028C999C;
L_028C999C: ; // 0x28c999c
/* 028C999C */ cpu->r[3] = cpu->r[31];
/* 028C99A0 */ Gambit_fn_02801BB0(cpu);
L_028C99A4: ; // 0x28c99a4
/* 028C99A4 */ _t19 = cpu->r[1] + 0x00000008u;
/* 028C99A4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
/* 028C99A8 */ _t20 = cpu->r[1] + 0x0000000Cu;
/* 028C99A8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
/* 028C99AC */ _t21 = cpu->r[1] + 0x0000001Cu;
/* 028C99AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
/* 028C99B0 */ _t22 = cpu->r[1] + 0x00000010u;
/* 028C99B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
/* 028C99B4 */ cpu->lr = cpu->r[0];
/* 028C99B8 */ _t23 = cpu->r[1] + 0x00000014u;
/* 028C99B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
/* 028C99BC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C99C0 */ return;
}
// fn_028C99C4 @ 0x28c99c4
void Gambit_fn_028C99C4(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_028C99C4: ; // 0x28c99c4
/* 028C99C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C99C8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C99C8 */ _t17 = _t16 & 0x00000001u;
/* 028C99C8 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028C99C8 */ goto L_028C99CC;
L_028C99CC: ; // 0x28c99cc
/* 028C99CC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028C99CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C99D0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C99D0 */ _t19 = _t18 & 0x00000001u;
/* 028C99D0 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028C99D0 */ goto L_028C99D4;
L_028C99D4: ; // 0x28c99d4
/* 028C99D4 */ goto L_02801BB0;
}
// fn_028C99D8 @ 0x28c99d8
void Gambit_fn_028C99D8(CPUState* cpu) {
L_028C99D8: ; // 0x28c99d8
/* 028C99D8 */ return;
}
// fn_028C99DC @ 0x28c99dc
void Gambit_fn_028C99DC(CPUState* cpu) {
uint32_t _t0, _t1;
L_028C99DC: ; // 0x28c99dc
/* 028C99DC */ _t0 = cpu->r[4] + 0x00000000u;
/* 028C99DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
/* 028C99E0 */ _t1 = cpu->r[3] + 0x00000000u;
/* 028C99E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028C99E4 */ return;
}
// fn_028C99E8 @ 0x28c99e8
void Gambit_fn_028C99E8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028C99E8: ; // 0x28c99e8
/* 028C99E8 */ cpu->r[0] = cpu->lr;
/* 028C99EC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C99EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C99EC */ cpu->r[1] = _t0;
/* 028C99F0 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C99F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C99F4 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028C99F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C99F8 */ cpu->r[30] = cpu->r[3];
/* 028C99F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028C99FC */ cpu->r[31] = cpu->r[4];
/* 028C9A00 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C9A00 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C9A04 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9A04 */ _t5 = _t4 & 0x00000001u;
/* 028C9A04 */ if (_t5) goto L_028C9A30; else goto L_028C9A08;
L_028C9A08: ; // 0x28c9a08
/* 028C9A08 */ cpu->r[0] = 0x10140000u;
/* 028C9A0C */ cpu->r[3] = cpu->r[30];
/* 028C9A10 */ cpu->r[0] = cpu->r[0] + 0xFFFF9C04u;
/* 028C9A14 */ cpu->r[4] = 0x00000000u;
/* 028C9A18 */ _t6 = cpu->r[30] + 0x0000000Cu;
/* 028C9A18 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028C9A1C */ Gambit_fn_028C2974(cpu);
/* 028C9A20 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028C9A20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C9A24 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9A24 */ _t8 = _t7 & 0x00000001u;
/* 028C9A24 */ if (_t8) goto L_028C9A30; else goto L_028C9A28;
L_028C9A28: ; // 0x28c9a28
/* 028C9A28 */ cpu->r[3] = cpu->r[30];
/* 028C9A2C */ Gambit_fn_02801BB0(cpu);
L_028C9A30: ; // 0x28c9a30
/* 028C9A30 */ _t9 = cpu->r[1] + 0x00000014u;
/* 028C9A30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028C9A34 */ _t10 = cpu->r[1] + 0x00000008u;
/* 028C9A34 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028C9A38 */ cpu->lr = cpu->r[0];
/* 028C9A3C */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028C9A3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028C9A40 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C9A44 */ return;
}
// fn_028C99EC @ 0x28c99ec
void Gambit_fn_028C99EC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028C99EC: ; // 0x28c99ec
/* 028C99EC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028C99EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C99EC */ cpu->r[1] = _t0;
/* 028C99F0 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C99F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C99F4 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028C99F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C99F8 */ cpu->r[30] = cpu->r[3];
/* 028C99F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028C99FC */ cpu->r[31] = cpu->r[4];
/* 028C9A00 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C9A00 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028C9A04 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9A04 */ _t5 = _t4 & 0x00000001u;
/* 028C9A04 */ if (_t5) goto L_028C9A30; else goto L_028C9A08;
L_028C9A08: ; // 0x28c9a08
/* 028C9A08 */ cpu->r[0] = 0x10140000u;
/* 028C9A0C */ cpu->r[3] = cpu->r[30];
/* 028C9A10 */ cpu->r[0] = cpu->r[0] + 0xFFFF9C04u;
/* 028C9A14 */ cpu->r[4] = 0x00000000u;
/* 028C9A18 */ _t6 = cpu->r[30] + 0x0000000Cu;
/* 028C9A18 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028C9A1C */ Gambit_fn_028C2974(cpu);
/* 028C9A20 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028C9A20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C9A24 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9A24 */ _t8 = _t7 & 0x00000001u;
/* 028C9A24 */ if (_t8) goto L_028C9A30; else goto L_028C9A28;
L_028C9A28: ; // 0x28c9a28
/* 028C9A28 */ cpu->r[3] = cpu->r[30];
/* 028C9A2C */ Gambit_fn_02801BB0(cpu);
L_028C9A30: ; // 0x28c9a30
/* 028C9A30 */ _t9 = cpu->r[1] + 0x00000014u;
/* 028C9A30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028C9A34 */ _t10 = cpu->r[1] + 0x00000008u;
/* 028C9A34 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028C9A38 */ cpu->lr = cpu->r[0];
/* 028C9A3C */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028C9A3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028C9A40 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028C9A44 */ return;
}
// fn_028C9A48 @ 0x28c9a48
void Gambit_fn_028C9A48(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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_028C9A48: ; // 0x28c9a48
/* 028C9A48 */ cpu->r[0] = cpu->lr;
/* 028C9A4C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C9A4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C9A4C */ cpu->r[1] = _t0;
/* 028C9A50 */ _t1 = cpu->r[1] + 0x00000014u;
/* 028C9A50 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C9A54 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028C9A54 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028C9A58 */ cpu->r[31] = cpu->r[3];
/* 028C9A58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C9A5C */ _t3 = cpu->r[1] + 0x00000010u;
/* 028C9A5C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028C9A60 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C9A60 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C9A64 */ cpu->r[29] = cpu->r[4];
/* 028C9A68 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9A68 */ _t6 = _t5 & 0x00000001u;
/* 028C9A68 */ if (_t6) goto L_028C9A6C; else goto L_028C9A7C;
L_028C9A6C: ; // 0x28c9a6c
/* 028C9A6C */ cpu->r[3] = 0x00000020u;
/* 028C9A70 */ Gambit_fn_02801A78(cpu);
/* 028C9A74 */ cpu->r[31] = cpu->r[3];
/* 028C9A74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C9A78 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9A78 */ _t8 = _t7 & 0x00000001u;
/* 028C9A78 */ if (_t8) goto L_028C9B20; else goto L_028C9A7C;
L_028C9A7C: ; // 0x28c9a7c
/* 028C9A7C */ cpu->r[30] = cpu->r[31];
/* 028C9A7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028C9A80 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9A80 */ _t10 = _t9 & 0x00000001u;
/* 028C9A80 */ if (_t10) goto L_028C9A84; else goto L_028C9A94;
L_028C9A84: ; // 0x28c9a84
/* 028C9A84 */ cpu->r[3] = 0x0000000Cu;
/* 028C9A88 */ Gambit_fn_02801A78(cpu);
/* 028C9A8C */ cpu->r[30] = cpu->r[3];
/* 028C9A8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028C9A90 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9A90 */ _t12 = _t11 & 0x00000001u;
/* 028C9A90 */ if (_t12) goto L_028C9AD8; else goto L_028C9A94;
L_028C9A94: ; // 0x28c9a94
/* 028C9A94 */ cpu->r[3] = cpu->r[30];
/* 028C9A94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C9A98 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9A98 */ _t14 = _t13 & 0x00000001u;
/* 028C9A98 */ if (_t14) goto L_028C9A9C; else goto L_028C9AAC;
L_028C9A9C: ; // 0x28c9a9c
/* 028C9A9C */ cpu->r[3] = 0x00000008u;
/* 028C9AA0 */ Gambit_fn_02801A78(cpu);
/* 028C9AA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C9AA8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9AA8 */ _t16 = _t15 & 0x00000001u;
/* 028C9AA8 */ if (_t16) goto L_028C9AC4; else goto L_028C9AAC;
L_028C9AAC: ; // 0x28c9aac
/* 028C9AAC */ cpu->r[0] = 0x10140000u;
/* 028C9AB0 */ cpu->r[7] = 0x10140000u;
/* 028C9AB4 */ cpu->r[0] = cpu->r[0] + 0xFFFF9B9Cu;
/* 028C9AB8 */ cpu->r[7] = cpu->r[7] + 0xFFFF9B98u;
/* 028C9ABC */ _t17 = cpu->r[3] + 0x00000004u;
/* 028C9ABC */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
/* 028C9AC0 */ _t18 = cpu->r[3] + 0x00000000u;
/* 028C9AC0 */ rbrew_write32(cpu->mem, _t18, cpu->r[7]);
L_028C9AC4: ; // 0x28c9ac4
/* 028C9AC4 */ cpu->r[8] = 0x10140000u;
/* 028C9AC8 */ cpu->r[8] = cpu->r[8] + 0xFFFF9BD4u;
/* 028C9ACC */ _t19 = cpu->r[30] + 0x00000008u;
/* 028C9ACC */ rbrew_write32(cpu->mem, _t19, cpu->r[8]);
/* 028C9AD0 */ _t20 = cpu->r[29] + 0x00000000u;
/* 028C9AD0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
/* 028C9AD4 */ _t21 = cpu->r[30] + 0x00000000u;
/* 028C9AD4 */ rbrew_write32(cpu->mem, _t21, cpu->r[9]);
L_028C9AD8: ; // 0x28c9ad8
/* 028C9AD8 */ cpu->r[10] = 0x10140000u;
/* 028C9ADC */ cpu->r[11] = 0x10140000u;
/* 028C9AE0 */ cpu->r[10] = cpu->r[10] + 0xFFFF91CCu;
/* 028C9AE4 */ cpu->r[11] = cpu->r[11] + 0xFFFF91E4u;
/* 028C9AE8 */ _t22 = cpu->r[31] + 0x00000008u;
/* 028C9AE8 */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
/* 028C9AEC */ cpu->r[3] = cpu->r[31] + 0x00000010u;
/* 028C9AEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C9AF0 */ _t23 = cpu->r[31] + 0x0000000Cu;
/* 028C9AF0 */ rbrew_write32(cpu->mem, _t23, cpu->r[11]);
/* 028C9AF4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9AF4 */ _t25 = _t24 & 0x00000001u;
/* 028C9AF4 */ if (_t25) goto L_028C9AF8; else goto L_028C9B08;
L_028C9AF8: ; // 0x28c9af8
/* 028C9AF8 */ cpu->r[3] = 0x0000000Cu;
/* 028C9AFC */ Gambit_fn_02801A78(cpu);
/* 028C9B00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C9B04 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9B04 */ _t27 = _t26 & 0x00000001u;
/* 028C9B04 */ if (_t27) goto L_028C9B18; else goto L_028C9B08;
L_028C9B08: ; // 0x28c9b08
/* 028C9B08 */ _t28 = cpu->r[3] + 0x00000000u;
/* 028C9B08 */ rbrew_write32(cpu->mem, _t28, cpu->r[3]);
/* 028C9B0C */ cpu->r[12] = 0x00000000u;
/* 028C9B10 */ _t29 = cpu->r[3] + 0x00000004u;
/* 028C9B10 */ rbrew_write32(cpu->mem, _t29, cpu->r[3]);
/* 028C9B14 */ _t30 = cpu->r[3] + 0x00000008u;
/* 028C9B14 */ rbrew_write32(cpu->mem, _t30, cpu->r[12]);
L_028C9B18: ; // 0x28c9b18
/* 028C9B18 */ cpu->r[0] = 0x00000090u;
/* 028C9B1C */ _t31 = cpu->r[31] + 0x0000001Cu;
/* 028C9B1C */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
L_028C9B20: ; // 0x28c9b20
/* 028C9B20 */ _t32 = cpu->r[1] + 0x0000000Cu;
/* 028C9B20 */ cpu->r[29] = rbrew_read32(cpu->mem, _t32);
/* 028C9B24 */ _t33 = cpu->r[1] + 0x0000001Cu;
/* 028C9B24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
/* 028C9B28 */ cpu->r[3] = cpu->r[31];
/* 028C9B2C */ _t34 = cpu->r[1] + 0x00000010u;
/* 028C9B2C */ cpu->r[30] = rbrew_read32(cpu->mem, _t34);
/* 028C9B30 */ cpu->lr = cpu->r[0];
/* 028C9B34 */ _t35 = cpu->r[1] + 0x00000014u;
/* 028C9B34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
/* 028C9B38 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C9B3C */ return;
}
// fn_028C9A4C @ 0x28c9a4c
void Gambit_fn_028C9A4C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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_028C9A4C: ; // 0x28c9a4c
/* 028C9A4C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C9A4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C9A4C */ cpu->r[1] = _t0;
/* 028C9A50 */ _t1 = cpu->r[1] + 0x00000014u;
/* 028C9A50 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C9A54 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028C9A54 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028C9A58 */ cpu->r[31] = cpu->r[3];
/* 028C9A58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C9A5C */ _t3 = cpu->r[1] + 0x00000010u;
/* 028C9A5C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028C9A60 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C9A60 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C9A64 */ cpu->r[29] = cpu->r[4];
/* 028C9A68 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9A68 */ _t6 = _t5 & 0x00000001u;
/* 028C9A68 */ if (_t6) goto L_028C9A6C; else goto L_028C9A7C;
L_028C9A6C: ; // 0x28c9a6c
/* 028C9A6C */ cpu->r[3] = 0x00000020u;
/* 028C9A70 */ Gambit_fn_02801A78(cpu);
/* 028C9A74 */ cpu->r[31] = cpu->r[3];
/* 028C9A74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C9A78 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9A78 */ _t8 = _t7 & 0x00000001u;
/* 028C9A78 */ if (_t8) goto L_028C9B20; else goto L_028C9A7C;
L_028C9A7C: ; // 0x28c9a7c
/* 028C9A7C */ cpu->r[30] = cpu->r[31];
/* 028C9A7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028C9A80 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9A80 */ _t10 = _t9 & 0x00000001u;
/* 028C9A80 */ if (_t10) goto L_028C9A84; else goto L_028C9A94;
L_028C9A84: ; // 0x28c9a84
/* 028C9A84 */ cpu->r[3] = 0x0000000Cu;
/* 028C9A88 */ Gambit_fn_02801A78(cpu);
/* 028C9A8C */ cpu->r[30] = cpu->r[3];
/* 028C9A8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028C9A90 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9A90 */ _t12 = _t11 & 0x00000001u;
/* 028C9A90 */ if (_t12) goto L_028C9AD8; else goto L_028C9A94;
L_028C9A94: ; // 0x28c9a94
/* 028C9A94 */ cpu->r[3] = cpu->r[30];
/* 028C9A94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C9A98 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9A98 */ _t14 = _t13 & 0x00000001u;
/* 028C9A98 */ if (_t14) goto L_028C9A9C; else goto L_028C9AAC;
L_028C9A9C: ; // 0x28c9a9c
/* 028C9A9C */ cpu->r[3] = 0x00000008u;
/* 028C9AA0 */ Gambit_fn_02801A78(cpu);
/* 028C9AA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C9AA8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9AA8 */ _t16 = _t15 & 0x00000001u;
/* 028C9AA8 */ if (_t16) goto L_028C9AC4; else goto L_028C9AAC;
L_028C9AAC: ; // 0x28c9aac
/* 028C9AAC */ cpu->r[0] = 0x10140000u;
/* 028C9AB0 */ cpu->r[7] = 0x10140000u;
/* 028C9AB4 */ cpu->r[0] = cpu->r[0] + 0xFFFF9B9Cu;
/* 028C9AB8 */ cpu->r[7] = cpu->r[7] + 0xFFFF9B98u;
/* 028C9ABC */ _t17 = cpu->r[3] + 0x00000004u;
/* 028C9ABC */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
/* 028C9AC0 */ _t18 = cpu->r[3] + 0x00000000u;
/* 028C9AC0 */ rbrew_write32(cpu->mem, _t18, cpu->r[7]);
L_028C9AC4: ; // 0x28c9ac4
/* 028C9AC4 */ cpu->r[8] = 0x10140000u;
/* 028C9AC8 */ cpu->r[8] = cpu->r[8] + 0xFFFF9BD4u;
/* 028C9ACC */ _t19 = cpu->r[30] + 0x00000008u;
/* 028C9ACC */ rbrew_write32(cpu->mem, _t19, cpu->r[8]);
/* 028C9AD0 */ _t20 = cpu->r[29] + 0x00000000u;
/* 028C9AD0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
/* 028C9AD4 */ _t21 = cpu->r[30] + 0x00000000u;
/* 028C9AD4 */ rbrew_write32(cpu->mem, _t21, cpu->r[9]);
L_028C9AD8: ; // 0x28c9ad8
/* 028C9AD8 */ cpu->r[10] = 0x10140000u;
/* 028C9ADC */ cpu->r[11] = 0x10140000u;
/* 028C9AE0 */ cpu->r[10] = cpu->r[10] + 0xFFFF91CCu;
/* 028C9AE4 */ cpu->r[11] = cpu->r[11] + 0xFFFF91E4u;
/* 028C9AE8 */ _t22 = cpu->r[31] + 0x00000008u;
/* 028C9AE8 */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
/* 028C9AEC */ cpu->r[3] = cpu->r[31] + 0x00000010u;
/* 028C9AEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C9AF0 */ _t23 = cpu->r[31] + 0x0000000Cu;
/* 028C9AF0 */ rbrew_write32(cpu->mem, _t23, cpu->r[11]);
/* 028C9AF4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9AF4 */ _t25 = _t24 & 0x00000001u;
/* 028C9AF4 */ if (_t25) goto L_028C9AF8; else goto L_028C9B08;
L_028C9AF8: ; // 0x28c9af8
/* 028C9AF8 */ cpu->r[3] = 0x0000000Cu;
/* 028C9AFC */ Gambit_fn_02801A78(cpu);
/* 028C9B00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C9B04 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9B04 */ _t27 = _t26 & 0x00000001u;
/* 028C9B04 */ if (_t27) goto L_028C9B18; else goto L_028C9B08;
L_028C9B08: ; // 0x28c9b08
/* 028C9B08 */ _t28 = cpu->r[3] + 0x00000000u;
/* 028C9B08 */ rbrew_write32(cpu->mem, _t28, cpu->r[3]);
/* 028C9B0C */ cpu->r[12] = 0x00000000u;
/* 028C9B10 */ _t29 = cpu->r[3] + 0x00000004u;
/* 028C9B10 */ rbrew_write32(cpu->mem, _t29, cpu->r[3]);
/* 028C9B14 */ _t30 = cpu->r[3] + 0x00000008u;
/* 028C9B14 */ rbrew_write32(cpu->mem, _t30, cpu->r[12]);
L_028C9B18: ; // 0x28c9b18
/* 028C9B18 */ cpu->r[0] = 0x00000090u;
/* 028C9B1C */ _t31 = cpu->r[31] + 0x0000001Cu;
/* 028C9B1C */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
L_028C9B20: ; // 0x28c9b20
/* 028C9B20 */ _t32 = cpu->r[1] + 0x0000000Cu;
/* 028C9B20 */ cpu->r[29] = rbrew_read32(cpu->mem, _t32);
/* 028C9B24 */ _t33 = cpu->r[1] + 0x0000001Cu;
/* 028C9B24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
/* 028C9B28 */ cpu->r[3] = cpu->r[31];
/* 028C9B2C */ _t34 = cpu->r[1] + 0x00000010u;
/* 028C9B2C */ cpu->r[30] = rbrew_read32(cpu->mem, _t34);
/* 028C9B30 */ cpu->lr = cpu->r[0];
/* 028C9B34 */ _t35 = cpu->r[1] + 0x00000014u;
/* 028C9B34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
/* 028C9B38 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C9B3C */ return;
}
// fn_028C9B40 @ 0x28c9b40
void Gambit_fn_028C9B40(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _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_028C9B40: ; // 0x28c9b40
/* 028C9B40 */ cpu->r[0] = cpu->lr;
/* 028C9B44 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C9B44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C9B44 */ cpu->r[1] = _t0;
/* 028C9B48 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C9B48 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028C9B4C */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C9B4C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028C9B50 */ _t3 = cpu->r[1] + 0x00000010u;
/* 028C9B50 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028C9B54 */ cpu->r[31] = cpu->r[3];
/* 028C9B54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C9B58 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C9B58 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C9B5C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9B5C */ _t6 = _t5 & 0x00000001u;
/* 028C9B5C */ if (_t6) goto L_028C9B60; else goto L_028C9B70;
L_028C9B60: ; // 0x28c9b60
/* 028C9B60 */ cpu->r[3] = 0x00000068u;
/* 028C9B64 */ Gambit_fn_02801A78(cpu);
/* 028C9B68 */ cpu->r[31] = cpu->r[3];
/* 028C9B68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C9B6C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9B6C */ _t8 = _t7 & 0x00000001u;
/* 028C9B6C */ if (_t8) goto L_028C9BD0; else goto L_028C9B70;
L_028C9B70: ; // 0x28c9b70
/* 028C9B70 */ cpu->r[0] = 0x10140000u;
/* 028C9B74 */ cpu->r[29] = cpu->r[31] + 0x00000010u;
/* 028C9B74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028C9B78 */ cpu->r[0] = cpu->r[0] + 0xFFFF9C4Cu;
/* 028C9B7C */ _t9 = cpu->r[31] + 0x00000064u;
/* 028C9B7C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
/* 028C9B80 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9B80 */ _t11 = _t10 & 0x00000001u;
/* 028C9B80 */ if (_t11) goto L_028C9B84; else goto L_028C9B94;
L_028C9B84: ; // 0x28c9b84
/* 028C9B84 */ cpu->r[3] = 0x00000018u;
/* 028C9B88 */ Gambit_fn_02801A78(cpu);
/* 028C9B8C */ cpu->r[29] = cpu->r[3];
/* 028C9B8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028C9B90 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9B90 */ _t13 = _t12 & 0x00000001u;
/* 028C9B90 */ if (_t13) goto L_028C9BC8; else goto L_028C9B94;
L_028C9B94: ; // 0x28c9b94
/* 028C9B94 */ cpu->r[3] = cpu->r[29];
/* 028C9B94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C9B98 */ cpu->r[30] = 0x00000000u;
/* 028C9B9C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9B9C */ _t15 = _t14 & 0x00000001u;
/* 028C9B9C */ if (_t15) goto L_028C9BA0; else goto L_028C9BB0;
L_028C9BA0: ; // 0x28c9ba0
/* 028C9BA0 */ cpu->r[3] = 0x0000000Cu;
/* 028C9BA4 */ Gambit_fn_02801A78(cpu);
/* 028C9BA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C9BAC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9BAC */ _t17 = _t16 & 0x00000001u;
/* 028C9BAC */ if (_t17) goto L_028C9BBC; else goto L_028C9BB0;
L_028C9BB0: ; // 0x28c9bb0
/* 028C9BB0 */ _t18 = cpu->r[3] + 0x00000004u;
/* 028C9BB0 */ rbrew_write32(cpu->mem, _t18, cpu->r[3]);
/* 028C9BB4 */ _t19 = cpu->r[3] + 0x00000008u;
/* 028C9BB4 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
/* 028C9BB8 */ _t20 = cpu->r[3] + 0x00000000u;
/* 028C9BB8 */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
L_028C9BBC: ; // 0x28c9bbc
/* 028C9BBC */ _t21 = cpu->r[29] + 0x00000010u;
/* 028C9BBC */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
/* 028C9BC0 */ _t22 = cpu->r[29] + 0x0000000Cu;
/* 028C9BC0 */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
/* 028C9BC4 */ _t23 = cpu->r[29] + 0x00000014u;
/* 028C9BC4 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
L_028C9BC8: ; // 0x28c9bc8
/* 028C9BC8 */ cpu->r[3] = cpu->r[31] + 0x00000028u;
/* 028C9BCC */ Gambit_fn_02836EBC(cpu);
L_028C9BD0: ; // 0x28c9bd0
/* 028C9BD0 */ _t24 = cpu->r[1] + 0x0000000Cu;
/* 028C9BD0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
/* 028C9BD4 */ _t25 = cpu->r[1] + 0x0000001Cu;
/* 028C9BD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
/* 028C9BD8 */ cpu->r[3] = cpu->r[31];
/* 028C9BDC */ _t26 = cpu->r[1] + 0x00000010u;
/* 028C9BDC */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
/* 028C9BE0 */ cpu->lr = cpu->r[0];
/* 028C9BE4 */ _t27 = cpu->r[1] + 0x00000014u;
/* 028C9BE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
/* 028C9BE8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C9BEC */ return;
}
// fn_028C9B44 @ 0x28c9b44
void Gambit_fn_028C9B44(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _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_028C9B44: ; // 0x28c9b44
/* 028C9B44 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C9B44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C9B44 */ cpu->r[1] = _t0;
/* 028C9B48 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C9B48 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028C9B4C */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C9B4C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028C9B50 */ _t3 = cpu->r[1] + 0x00000010u;
/* 028C9B50 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028C9B54 */ cpu->r[31] = cpu->r[3];
/* 028C9B54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C9B58 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C9B58 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C9B5C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9B5C */ _t6 = _t5 & 0x00000001u;
/* 028C9B5C */ if (_t6) goto L_028C9B60; else goto L_028C9B70;
L_028C9B60: ; // 0x28c9b60
/* 028C9B60 */ cpu->r[3] = 0x00000068u;
/* 028C9B64 */ Gambit_fn_02801A78(cpu);
/* 028C9B68 */ cpu->r[31] = cpu->r[3];
/* 028C9B68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C9B6C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9B6C */ _t8 = _t7 & 0x00000001u;
/* 028C9B6C */ if (_t8) goto L_028C9BD0; else goto L_028C9B70;
L_028C9B70: ; // 0x28c9b70
/* 028C9B70 */ cpu->r[0] = 0x10140000u;
/* 028C9B74 */ cpu->r[29] = cpu->r[31] + 0x00000010u;
/* 028C9B74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028C9B78 */ cpu->r[0] = cpu->r[0] + 0xFFFF9C4Cu;
/* 028C9B7C */ _t9 = cpu->r[31] + 0x00000064u;
/* 028C9B7C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
/* 028C9B80 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9B80 */ _t11 = _t10 & 0x00000001u;
/* 028C9B80 */ if (_t11) goto L_028C9B84; else goto L_028C9B94;
L_028C9B84: ; // 0x28c9b84
/* 028C9B84 */ cpu->r[3] = 0x00000018u;
/* 028C9B88 */ Gambit_fn_02801A78(cpu);
/* 028C9B8C */ cpu->r[29] = cpu->r[3];
/* 028C9B8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028C9B90 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9B90 */ _t13 = _t12 & 0x00000001u;
/* 028C9B90 */ if (_t13) goto L_028C9BC8; else goto L_028C9B94;
L_028C9B94: ; // 0x28c9b94
/* 028C9B94 */ cpu->r[3] = cpu->r[29];
/* 028C9B94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C9B98 */ cpu->r[30] = 0x00000000u;
/* 028C9B9C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9B9C */ _t15 = _t14 & 0x00000001u;
/* 028C9B9C */ if (_t15) goto L_028C9BA0; else goto L_028C9BB0;
L_028C9BA0: ; // 0x28c9ba0
/* 028C9BA0 */ cpu->r[3] = 0x0000000Cu;
/* 028C9BA4 */ Gambit_fn_02801A78(cpu);
/* 028C9BA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C9BAC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9BAC */ _t17 = _t16 & 0x00000001u;
/* 028C9BAC */ if (_t17) goto L_028C9BBC; else goto L_028C9BB0;
L_028C9BB0: ; // 0x28c9bb0
/* 028C9BB0 */ _t18 = cpu->r[3] + 0x00000004u;
/* 028C9BB0 */ rbrew_write32(cpu->mem, _t18, cpu->r[3]);
/* 028C9BB4 */ _t19 = cpu->r[3] + 0x00000008u;
/* 028C9BB4 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
/* 028C9BB8 */ _t20 = cpu->r[3] + 0x00000000u;
/* 028C9BB8 */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
L_028C9BBC: ; // 0x28c9bbc
/* 028C9BBC */ _t21 = cpu->r[29] + 0x00000010u;
/* 028C9BBC */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
/* 028C9BC0 */ _t22 = cpu->r[29] + 0x0000000Cu;
/* 028C9BC0 */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
/* 028C9BC4 */ _t23 = cpu->r[29] + 0x00000014u;
/* 028C9BC4 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
L_028C9BC8: ; // 0x28c9bc8
/* 028C9BC8 */ cpu->r[3] = cpu->r[31] + 0x00000028u;
/* 028C9BCC */ Gambit_fn_02836EBC(cpu);
L_028C9BD0: ; // 0x28c9bd0
/* 028C9BD0 */ _t24 = cpu->r[1] + 0x0000000Cu;
/* 028C9BD0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
/* 028C9BD4 */ _t25 = cpu->r[1] + 0x0000001Cu;
/* 028C9BD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
/* 028C9BD8 */ cpu->r[3] = cpu->r[31];
/* 028C9BDC */ _t26 = cpu->r[1] + 0x00000010u;
/* 028C9BDC */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
/* 028C9BE0 */ cpu->lr = cpu->r[0];
/* 028C9BE4 */ _t27 = cpu->r[1] + 0x00000014u;
/* 028C9BE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
/* 028C9BE8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C9BEC */ return;
}
// fn_028C9BF0 @ 0x28c9bf0
void Gambit_fn_028C9BF0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
L_028C9BF0: ; // 0x28c9bf0
/* 028C9BF0 */ cpu->r[0] = cpu->lr;
/* 028C9BF4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C9BF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C9BF4 */ cpu->r[1] = _t0;
/* 028C9BF8 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C9BF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028C9BFC */ _t2 = cpu->r[1] + 0x00000010u;
/* 028C9BFC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C9C00 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C9C00 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028C9C04 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C9C04 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C9C08 */ cpu->r[29] = 0x101D0000u;
/* 028C9C0C */ cpu->r[30] = cpu->r[3];
/* 028C9C10 */ _t5 = cpu->r[29] + 0xFFFF9AA8u;
/* 028C9C10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
/* 028C9C10 */ cpu->r[29] = _t5;
/* 028C9C14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C9C18 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9C18 */ _t7 = _t6 & 0x00000001u;
/* 028C9C18 */ if (_t7) goto L_028C9C1C; else goto L_028C9C68;
L_028C9C1C: ; // 0x28c9c1c
/* 028C9C1C */ cpu->r[4] = cpu->r[30];
/* 028C9C20 */ cpu->r[3] = 0x00000068u;
/* 028C9C24 */ cpu->r[5] = 0x00000004u;
/* 028C9C28 */ Gambit_fn_02801ADC(cpu);
/* 028C9C2C */ cpu->r[31] = cpu->r[3];
/* 028C9C2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C9C30 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9C30 */ _t9 = _t8 & 0x00000001u;
/* 028C9C30 */ if (_t9) goto L_028C9C50; else goto L_028C9C34;
L_028C9C34: ; // 0x28c9c34
/* 028C9C34 */ cpu->r[5] = 0x00000003u;
/* 028C9C38 */ cpu->r[4] = cpu->r[30];
/* 028C9C3C */ cpu->r[3] = cpu->r[31];
/* 028C9C40 */ Gambit_fn_02821D88(cpu);
/* 028C9C44 */ cpu->r[0] = 0x10140000u;
/* 028C9C48 */ cpu->r[0] = cpu->r[0] + 0xFFFF9C3Cu;
/* 028C9C4C */ _t10 = cpu->r[31] + 0x0000000Cu;
/* 028C9C4C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
L_028C9C50: ; // 0x28c9c50
/* 028C9C50 */ cpu->r[12] = 0x101D0000u;
/* 028C9C54 */ cpu->r[3] = cpu->r[31];
/* 028C9C54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C9C58 */ _t11 = cpu->r[12] + 0xFFFF9AACu;
/* 028C9C58 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
/* 028C9C5C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9C5C */ _t13 = _t12 & 0x00000001u;
/* 028C9C5C */ if (_t13) goto L_028C9C64; else goto L_028C9C60;
L_028C9C60: ; // 0x28c9c60
/* 028C9C60 */ Gambit_fn_028C9B40(cpu);
L_028C9C64: ; // 0x28c9c64
/* 028C9C64 */ _t14 = cpu->r[29] + 0x00000000u;
/* 028C9C64 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
L_028C9C68: ; // 0x28c9c68
/* 028C9C68 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028C9C68 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
/* 028C9C6C */ _t16 = cpu->r[1] + 0x0000001Cu;
/* 028C9C6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028C9C70 */ _t17 = cpu->r[1] + 0x00000010u;
/* 028C9C70 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
/* 028C9C74 */ cpu->lr = cpu->r[0];
/* 028C9C78 */ _t18 = cpu->r[1] + 0x00000014u;
/* 028C9C78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
/* 028C9C7C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C9C80 */ return;
}
// fn_028C9BF4 @ 0x28c9bf4
void Gambit_fn_028C9BF4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
L_028C9BF4: ; // 0x28c9bf4
/* 028C9BF4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C9BF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C9BF4 */ cpu->r[1] = _t0;
/* 028C9BF8 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C9BF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028C9BFC */ _t2 = cpu->r[1] + 0x00000010u;
/* 028C9BFC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C9C00 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C9C00 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028C9C04 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C9C04 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C9C08 */ cpu->r[29] = 0x101D0000u;
/* 028C9C0C */ cpu->r[30] = cpu->r[3];
/* 028C9C10 */ _t5 = cpu->r[29] + 0xFFFF9AA8u;
/* 028C9C10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
/* 028C9C10 */ cpu->r[29] = _t5;
/* 028C9C14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C9C18 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9C18 */ _t7 = _t6 & 0x00000001u;
/* 028C9C18 */ if (_t7) goto L_028C9C1C; else goto L_028C9C68;
L_028C9C1C: ; // 0x28c9c1c
/* 028C9C1C */ cpu->r[4] = cpu->r[30];
/* 028C9C20 */ cpu->r[3] = 0x00000068u;
/* 028C9C24 */ cpu->r[5] = 0x00000004u;
/* 028C9C28 */ Gambit_fn_02801ADC(cpu);
/* 028C9C2C */ cpu->r[31] = cpu->r[3];
/* 028C9C2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C9C30 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9C30 */ _t9 = _t8 & 0x00000001u;
/* 028C9C30 */ if (_t9) goto L_028C9C50; else goto L_028C9C34;
L_028C9C34: ; // 0x28c9c34
/* 028C9C34 */ cpu->r[5] = 0x00000003u;
/* 028C9C38 */ cpu->r[4] = cpu->r[30];
/* 028C9C3C */ cpu->r[3] = cpu->r[31];
/* 028C9C40 */ Gambit_fn_02821D88(cpu);
/* 028C9C44 */ cpu->r[0] = 0x10140000u;
/* 028C9C48 */ cpu->r[0] = cpu->r[0] + 0xFFFF9C3Cu;
/* 028C9C4C */ _t10 = cpu->r[31] + 0x0000000Cu;
/* 028C9C4C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
L_028C9C50: ; // 0x28c9c50
/* 028C9C50 */ cpu->r[12] = 0x101D0000u;
/* 028C9C54 */ cpu->r[3] = cpu->r[31];
/* 028C9C54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C9C58 */ _t11 = cpu->r[12] + 0xFFFF9AACu;
/* 028C9C58 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
/* 028C9C5C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9C5C */ _t13 = _t12 & 0x00000001u;
/* 028C9C5C */ if (_t13) goto L_028C9C64; else goto L_028C9C60;
L_028C9C60: ; // 0x28c9c60
/* 028C9C60 */ Gambit_fn_028C9B40(cpu);
L_028C9C64: ; // 0x28c9c64
/* 028C9C64 */ _t14 = cpu->r[29] + 0x00000000u;
/* 028C9C64 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
L_028C9C68: ; // 0x28c9c68
/* 028C9C68 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028C9C68 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
/* 028C9C6C */ _t16 = cpu->r[1] + 0x0000001Cu;
/* 028C9C6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028C9C70 */ _t17 = cpu->r[1] + 0x00000010u;
/* 028C9C70 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
/* 028C9C74 */ cpu->lr = cpu->r[0];
/* 028C9C78 */ _t18 = cpu->r[1] + 0x00000014u;
/* 028C9C78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
/* 028C9C7C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C9C80 */ return;
}
// fn_028C9C84 @ 0x28c9c84
void Gambit_fn_028C9C84(CPUState* cpu) {
uint32_t _t0, _t1, _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_028C9C84: ; // 0x28c9c84
/* 028C9C84 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028C9C84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C9C84 */ cpu->r[1] = _t0;
/* 028C9C88 */ cpu->r[0] = cpu->lr;
/* 028C9C8C */ /* nop */
/* 028C9C90 */ cpu->r[27] = cpu->r[3];
/* 028C9C90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
/* 028C9C94 */ cpu->r[28] = cpu->r[4];
/* 028C9C98 */ _t1 = cpu->r[1] + 0x00000024u;
/* 028C9C98 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028C9C9C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9C9C */ _t3 = _t2 & 0x00000001u;
/* 028C9C9C */ if (_t3) goto L_028C9D30; else goto L_028C9CA0;
L_028C9CA0: ; // 0x28c9ca0
/* 028C9CA0 */ _t4 = cpu->r[27] + 0x00000020u;
/* 028C9CA0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
/* 028C9CA4 */ cpu->r[0] = 0x10140000u;
/* 028C9CA8 */ cpu->r[31] = cpu->r[27] + 0x00000010u;
/* 028C9CAC */ cpu->r[0] = cpu->r[0] + 0xFFFF9C4Cu;
/* 028C9CB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028C9CB4 */ _t5 = cpu->r[27] + 0x00000064u;
/* 028C9CB4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028C9CB8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9CB8 */ _t7 = _t6 & 0x00000001u;
/* 028C9CB8 */ if (_t7) goto L_028C9D14; else goto L_028C9CBC;
L_028C9CBC: ; // 0x28c9cbc
/* 028C9CBC */ _t8 = cpu->r[31] + 0x00000004u;
/* 028C9CBC */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
/* 028C9CC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]);
/* 028C9CC4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9CC4 */ _t10 = _t9 & 0x00000001u;
/* 028C9CC4 */ if (_t10) goto L_028C9CFC; else goto L_028C9CC8;
L_028C9CC8: ; // 0x28c9cc8
/* 028C9CC8 */ cpu->r[3] = cpu->r[29];
/* 028C9CCC */ _t11 = cpu->r[29] + 0x00000004u;
/* 028C9CCC */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
/* 028C9CD0 */ Gambit_fn_02801EDC(cpu);
/* 028C9CD4 */ _t12 = cpu->r[31] + 0x00000008u;
/* 028C9CD4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
/* 028C9CD8 */ _t13 = cpu->r[31] + 0x0000000Cu;
/* 028C9CD8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
/* 028C9CDC */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
/* 028C9CE0 */ _t14 = cpu->r[31] + 0x00000008u;
/* 028C9CE0 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
/* 028C9CE4 */ cpu->r[9] = cpu->r[29] + 0xFFFFFF80u;
/* 028C9CE8 */ _t15 = cpu->r[29] + 0xFFFFFF80u;
/* 028C9CE8 */ rbrew_write32(cpu->mem, _t15, cpu->r[8]);
/* 028C9CEC */ cpu->r[29] = cpu->r[30];
/* 028C9CF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]);
/* 028C9CF4 */ _t16 = cpu->r[31] + 0x0000000Cu;
/* 028C9CF4 */ rbrew_write32(cpu->mem, _t16, cpu->r[9]);
/* 028C9CF8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9CF8 */ _t18 = _t17 & 0x00000001u;
/* 028C9CF8 */ if (_t18) goto L_028C9CFC; else goto L_028C9CC8;
L_028C9CFC: ; // 0x28c9cfc
/* 028C9CFC */ _t19 = cpu->r[31] + 0x00000010u;
/* 028C9CFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
/* 028C9D00 */ Gambit_fn_02801BB4(cpu);
/* 028C9D04 */ cpu->r[10] = 0x00000000u;
/* 028C9D08 */ _t20 = cpu->r[31] + 0x00000014u;
/* 028C9D08 */ rbrew_write32(cpu->mem, _t20, cpu->r[10]);
/* 028C9D0C */ _t21 = cpu->r[31] + 0x00000010u;
/* 028C9D0C */ rbrew_write32(cpu->mem, _t21, cpu->r[10]);
/* 028C9D10 */ _t22 = cpu->r[31] + 0x0000000Cu;
/* 028C9D10 */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
L_028C9D14: ; // 0x28c9d14
/* 028C9D14 */ cpu->r[3] = cpu->r[27] + 0x00000028u;
/* 028C9D18 */ cpu->r[4] = 0x00000002u;
/* 028C9D1C */ Gambit_fn_02836FA8(cpu);
/* 028C9D20 */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028C9D20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C9D24 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9D24 */ _t24 = _t23 & 0x00000001u;
/* 028C9D24 */ if (_t24) goto L_028C9D30; else goto L_028C9D28;
L_028C9D28: ; // 0x28c9d28
/* 028C9D28 */ cpu->r[3] = cpu->r[27];
/* 028C9D2C */ Gambit_fn_02801BB0(cpu);
L_028C9D30: ; // 0x28c9d30
/* 028C9D30 */ /* nop */
/* 028C9D34 */ _t25 = cpu->r[1] + 0x00000024u;
/* 028C9D34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
/* 028C9D38 */ cpu->lr = cpu->r[0];
/* 028C9D3C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028C9D40 */ return;
}
// fn_028C9D44 @ 0x28c9d44
void Gambit_fn_028C9D44(CPUState* cpu) {
uint32_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_028C9D44: ; // 0x28c9d44
/* 028C9D44 */ cpu->r[0] = cpu->lr;
/* 028C9D48 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C9D48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C9D48 */ cpu->r[1] = _t0;
/* 028C9D4C */ _t1 = cpu->r[1] + 0x00000014u;
/* 028C9D4C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C9D50 */ cpu->r[31] = cpu->r[4];
/* 028C9D50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C9D54 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028C9D54 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C9D58 */ cpu->r[30] = cpu->r[3];
/* 028C9D5C */ cpu->r[4] = cpu->r[5];
/* 028C9D60 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028C9D60 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028C9D64 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C9D64 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C9D68 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C9D68 */ _t6 = _t5 & 0x00000001u;
/* 028C9D68 */ if (_t6) goto L_028C9D6C; else goto L_028C9DC0;
L_028C9D6C: ; // 0x28c9d6c
/* 028C9D6C */ cpu->r[29] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000088u);
/* 028C9D70 */ cpu->r[5] = 0x00000004u;
/* 028C9D74 */ cpu->r[3] = cpu->r[29];
/* 028C9D78 */ Gambit_fn_02801ADC(cpu);
/* 028C9D7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C9D80 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9D80 */ _t8 = _t7 & 0x00000001u;
/* 028C9D80 */ if (_t8) goto L_028C9DC0; else goto L_028C9D84;
L_028C9D84: ; // 0x28c9d84
/* 028C9D84 */ cpu->r[0] = cpu->r[31] + 0xFFFFFFFFu;
/* 028C9D84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C9D88 */ _t9 = cpu->r[30] + 0x0000001Cu;
/* 028C9D88 */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
/* 028C9D8C */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C9D8C */ _t11 = _t10 & 0x00000001u;
/* 028C9D8C */ if (_t11) goto L_028C9D90; else goto L_028C9DAC;
L_028C9D90: ; // 0x28c9d90
/* 028C9D90 */ cpu->ctr = cpu->r[0];
/* 028C9D94 */ cpu->r[10] = 0x00000000u;
/* 028C9D98 */ cpu->r[11] = cpu->r[3] + 0x00000088u;
L_028C9D9C: ; // 0x28c9d9c
/* 028C9D9C */ _t12 = cpu->r[3] + cpu->r[10];
/* 028C9D9C */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
/* 028C9DA0 */ cpu->r[10] = cpu->r[10] + 0x00000088u;
/* 028C9DA4 */ cpu->r[11] = cpu->r[11] + 0x00000088u;
/* 028C9DA8 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028C9DA8 */ _t13 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028C9DA8 */ _t14 = _t13 >> (0x00000002u & 31u);
/* 028C9DA8 */ _t15 = _t14 & 0x00000001u;
/* 028C9DA8 */ if (_t15) goto L_028C9D9C; else goto L_028C9DAC;
L_028C9DAC: ; // 0x28c9dac
/* 028C9DAC */ cpu->r[12] = cpu->r[3] + cpu->r[29];
/* 028C9DB0 */ cpu->r[0] = 0x00000000u;
/* 028C9DB4 */ _t16 = cpu->r[12] + 0xFFFFFF78u;
/* 028C9DB4 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
/* 028C9DB8 */ _t17 = cpu->r[30] + 0x00000024u;
/* 028C9DB8 */ rbrew_write32(cpu->mem, _t17, cpu->r[31]);
/* 028C9DBC */ _t18 = cpu->r[30] + 0x00000020u;
/* 028C9DBC */ rbrew_write32(cpu->mem, _t18, cpu->r[3]);
L_028C9DC0: ; // 0x28c9dc0
/* 028C9DC0 */ _t19 = cpu->r[1] + 0x0000000Cu;
/* 028C9DC0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19);
/* 028C9DC4 */ _t20 = cpu->r[1] + 0x0000001Cu;
/* 028C9DC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028C9DC8 */ _t21 = cpu->r[1] + 0x00000010u;
/* 028C9DC8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
/* 028C9DCC */ cpu->lr = cpu->r[0];
/* 028C9DD0 */ _t22 = cpu->r[1] + 0x00000014u;
/* 028C9DD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
/* 028C9DD4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C9DD8 */ return;
}
// fn_028C9D48 @ 0x28c9d48
void Gambit_fn_028C9D48(CPUState* cpu) {
uint32_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_028C9D48: ; // 0x28c9d48
/* 028C9D48 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C9D48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C9D48 */ cpu->r[1] = _t0;
/* 028C9D4C */ _t1 = cpu->r[1] + 0x00000014u;
/* 028C9D4C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028C9D50 */ cpu->r[31] = cpu->r[4];
/* 028C9D50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C9D54 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028C9D54 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C9D58 */ cpu->r[30] = cpu->r[3];
/* 028C9D5C */ cpu->r[4] = cpu->r[5];
/* 028C9D60 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028C9D60 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028C9D64 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C9D64 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C9D68 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C9D68 */ _t6 = _t5 & 0x00000001u;
/* 028C9D68 */ if (_t6) goto L_028C9D6C; else goto L_028C9DC0;
L_028C9D6C: ; // 0x28c9d6c
/* 028C9D6C */ cpu->r[29] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000088u);
/* 028C9D70 */ cpu->r[5] = 0x00000004u;
/* 028C9D74 */ cpu->r[3] = cpu->r[29];
/* 028C9D78 */ Gambit_fn_02801ADC(cpu);
/* 028C9D7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C9D80 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9D80 */ _t8 = _t7 & 0x00000001u;
/* 028C9D80 */ if (_t8) goto L_028C9DC0; else goto L_028C9D84;
L_028C9D84: ; // 0x28c9d84
/* 028C9D84 */ cpu->r[0] = cpu->r[31] + 0xFFFFFFFFu;
/* 028C9D84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C9D88 */ _t9 = cpu->r[30] + 0x0000001Cu;
/* 028C9D88 */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
/* 028C9D8C */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028C9D8C */ _t11 = _t10 & 0x00000001u;
/* 028C9D8C */ if (_t11) goto L_028C9D90; else goto L_028C9DAC;
L_028C9D90: ; // 0x28c9d90
/* 028C9D90 */ cpu->ctr = cpu->r[0];
/* 028C9D94 */ cpu->r[10] = 0x00000000u;
/* 028C9D98 */ cpu->r[11] = cpu->r[3] + 0x00000088u;
L_028C9D9C: ; // 0x28c9d9c
/* 028C9D9C */ _t12 = cpu->r[3] + cpu->r[10];
/* 028C9D9C */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
/* 028C9DA0 */ cpu->r[10] = cpu->r[10] + 0x00000088u;
/* 028C9DA4 */ cpu->r[11] = cpu->r[11] + 0x00000088u;
/* 028C9DA8 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028C9DA8 */ _t13 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028C9DA8 */ _t14 = _t13 >> (0x00000002u & 31u);
/* 028C9DA8 */ _t15 = _t14 & 0x00000001u;
/* 028C9DA8 */ if (_t15) goto L_028C9D9C; else goto L_028C9DAC;
L_028C9DAC: ; // 0x28c9dac
/* 028C9DAC */ cpu->r[12] = cpu->r[3] + cpu->r[29];
/* 028C9DB0 */ cpu->r[0] = 0x00000000u;
/* 028C9DB4 */ _t16 = cpu->r[12] + 0xFFFFFF78u;
/* 028C9DB4 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
/* 028C9DB8 */ _t17 = cpu->r[30] + 0x00000024u;
/* 028C9DB8 */ rbrew_write32(cpu->mem, _t17, cpu->r[31]);
/* 028C9DBC */ _t18 = cpu->r[30] + 0x00000020u;
/* 028C9DBC */ rbrew_write32(cpu->mem, _t18, cpu->r[3]);
L_028C9DC0: ; // 0x28c9dc0
/* 028C9DC0 */ _t19 = cpu->r[1] + 0x0000000Cu;
/* 028C9DC0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19);
/* 028C9DC4 */ _t20 = cpu->r[1] + 0x0000001Cu;
/* 028C9DC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
/* 028C9DC8 */ _t21 = cpu->r[1] + 0x00000010u;
/* 028C9DC8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
/* 028C9DCC */ cpu->lr = cpu->r[0];
/* 028C9DD0 */ _t22 = cpu->r[1] + 0x00000014u;
/* 028C9DD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
/* 028C9DD4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C9DD8 */ return;
}
// fn_028C9DDC @ 0x28c9ddc
void Gambit_fn_028C9DDC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_028C9DDC: ; // 0x28c9ddc
/* 028C9DDC */ cpu->r[0] = cpu->lr;
/* 028C9DE0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C9DE0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C9DE0 */ cpu->r[1] = _t0;
/* 028C9DE4 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C9DE4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028C9DE8 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028C9DE8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C9DEC */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C9DEC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028C9DF0 */ cpu->r[30] = cpu->r[3];
/* 028C9DF4 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C9DF4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C9DF8 */ _t5 = cpu->r[30] + 0x00000020u;
/* 028C9DF8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
/* 028C9DFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028C9E00 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9E00 */ _t7 = _t6 & 0x00000001u;
/* 028C9E00 */ if (_t7) goto L_028C9E04; else goto L_028C9E24;
L_028C9E04: ; // 0x28c9e04
/* 028C9E04 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028C9E04 */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
/* 028C9E08 */ _t9 = cpu->r[1] + 0x0000001Cu;
/* 028C9E08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028C9E0C */ _t10 = cpu->r[1] + 0x00000010u;
/* 028C9E0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028C9E10 */ cpu->lr = cpu->r[0];
/* 028C9E14 */ _t11 = cpu->r[1] + 0x00000014u;
/* 028C9E14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028C9E18 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C9E1C */ cpu->r[3] = 0x00000000u;
/* 028C9E20 */ return;
L_028C9E24: ; // 0x28c9e24
/* 028C9E24 */ cpu->r[29] = cpu->r[30] + 0x00000028u;
/* 028C9E28 */ cpu->r[3] = cpu->r[29];
/* 028C9E2C */ Gambit_fn_02836FFC(cpu);
/* 028C9E30 */ _t12 = cpu->r[30] + 0x00000018u;
/* 028C9E30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028C9E34 */ _t13 = cpu->r[30] + 0x00000024u;
/* 028C9E34 */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
/* 028C9E38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[7]);
/* 028C9E3C */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C9E3C */ _t15 = _t14 & 0x00000001u;
/* 028C9E3C */ if (_t15) goto L_028C9E50; else goto L_028C9E40;
L_028C9E40: ; // 0x28c9e40
/* 028C9E40 */ cpu->r[3] = cpu->r[29];
/* 028C9E44 */ cpu->r[31] = 0x00000000u;
/* 028C9E48 */ Gambit_fn_02837030(cpu);
/* 028C9E4C */ goto L_028C9ED0;
L_028C9E50: ; // 0x28c9e50
/* 028C9E50 */ _t16 = cpu->r[30] + 0x0000001Cu;
/* 028C9E50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
/* 028C9E54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C9E58 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9E58 */ _t18 = _t17 & 0x00000001u;
/* 028C9E58 */ if (_t18) goto L_028C9E64; else goto L_028C9E5C;
L_028C9E5C: ; // 0x28c9e5c
/* 028C9E5C */ _t19 = cpu->r[31] + 0x00000000u;
/* 028C9E5C */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
/* 028C9E60 */ _t20 = cpu->r[30] + 0x0000001Cu;
/* 028C9E60 */ rbrew_write32(cpu->mem, _t20, cpu->r[8]);
L_028C9E64: ; // 0x28c9e64
/* 028C9E64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C9E68 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9E68 */ _t22 = _t21 & 0x00000001u;
/* 028C9E68 */ if (_t22) goto L_028C9EAC; else goto L_028C9E6C;
L_028C9E6C: ; // 0x28c9e6c
/* 028C9E6C */ cpu->r[6] = 0x028D0000u;
/* 028C9E70 */ cpu->r[3] = cpu->r[31];
/* 028C9E74 */ cpu->r[4] = 0x00000008u;
/* 028C9E78 */ cpu->r[6] = cpu->r[6] + 0xFFFFA070u;
/* 028C9E7C */ cpu->r[5] = 0x00000010u;
/* 028C9E80 */ Gambit_fn_02C82E00(cpu);
/* 028C9E84 */ cpu->r[9] = 0x00000000u;
/* 028C9E88 */ cpu->r[4] = cpu->r[31] + 0x00000080u;
/* 028C9E8C */ _t23 = cpu->r[31] + 0x00000084u;
/* 028C9E8C */ rbrew_write32(cpu->mem, _t23, cpu->r[9]);
/* 028C9E90 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
/* 028C9E94 */ _t24 = cpu->r[31] + 0x00000080u;
/* 028C9E94 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
/* 028C9E98 */ Gambit_fn_02801EBC(cpu);
/* 028C9E9C */ _t25 = cpu->r[30] + 0x00000018u;
/* 028C9E9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
/* 028C9EA0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028C9EA4 */ _t26 = cpu->r[30] + 0x00000018u;
/* 028C9EA4 */ rbrew_write32(cpu->mem, _t26, cpu->r[12]);
/* 028C9EA8 */ goto L_028C9EC8;
L_028C9EAC: ; // 0x28c9eac
/* 028C9EAC */ cpu->r[4] = 0x00000080u;
/* 028C9EB0 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
/* 028C9EB4 */ cpu->r[31] = 0x00000000u;
/* 028C9EB8 */ Gambit_fn_02801EBC(cpu);
/* 028C9EBC */ _t27 = cpu->r[30] + 0x00000018u;
/* 028C9EBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
/* 028C9EC0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028C9EC4 */ _t28 = cpu->r[30] + 0x00000018u;
/* 028C9EC4 */ rbrew_write32(cpu->mem, _t28, cpu->r[12]);
L_028C9EC8: ; // 0x28c9ec8
/* 028C9EC8 */ cpu->r[3] = cpu->r[29];
/* 028C9ECC */ Gambit_fn_02837030(cpu);
L_028C9ED0: ; // 0x28c9ed0
/* 028C9ED0 */ _t29 = cpu->r[1] + 0x0000000Cu;
/* 028C9ED0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
/* 028C9ED4 */ _t30 = cpu->r[1] + 0x0000001Cu;
/* 028C9ED4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
/* 028C9ED8 */ cpu->r[3] = cpu->r[31];
/* 028C9EDC */ _t31 = cpu->r[1] + 0x00000010u;
/* 028C9EDC */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
/* 028C9EE0 */ cpu->lr = cpu->r[0];
/* 028C9EE4 */ _t32 = cpu->r[1] + 0x00000014u;
/* 028C9EE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
/* 028C9EE8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C9EEC */ return;
}
// fn_028C9DE0 @ 0x28c9de0
void Gambit_fn_028C9DE0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_028C9DE0: ; // 0x28c9de0
/* 028C9DE0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C9DE0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C9DE0 */ cpu->r[1] = _t0;
/* 028C9DE4 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C9DE4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028C9DE8 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028C9DE8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C9DEC */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C9DEC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028C9DF0 */ cpu->r[30] = cpu->r[3];
/* 028C9DF4 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C9DF4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C9DF8 */ _t5 = cpu->r[30] + 0x00000020u;
/* 028C9DF8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
/* 028C9DFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028C9E00 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9E00 */ _t7 = _t6 & 0x00000001u;
/* 028C9E00 */ if (_t7) goto L_028C9E04; else goto L_028C9E24;
L_028C9E04: ; // 0x28c9e04
/* 028C9E04 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028C9E04 */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
/* 028C9E08 */ _t9 = cpu->r[1] + 0x0000001Cu;
/* 028C9E08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028C9E0C */ _t10 = cpu->r[1] + 0x00000010u;
/* 028C9E0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028C9E10 */ cpu->lr = cpu->r[0];
/* 028C9E14 */ _t11 = cpu->r[1] + 0x00000014u;
/* 028C9E14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028C9E18 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C9E1C */ cpu->r[3] = 0x00000000u;
/* 028C9E20 */ return;
L_028C9E24: ; // 0x28c9e24
/* 028C9E24 */ cpu->r[29] = cpu->r[30] + 0x00000028u;
/* 028C9E28 */ cpu->r[3] = cpu->r[29];
/* 028C9E2C */ Gambit_fn_02836FFC(cpu);
/* 028C9E30 */ _t12 = cpu->r[30] + 0x00000018u;
/* 028C9E30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028C9E34 */ _t13 = cpu->r[30] + 0x00000024u;
/* 028C9E34 */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
/* 028C9E38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[7]);
/* 028C9E3C */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C9E3C */ _t15 = _t14 & 0x00000001u;
/* 028C9E3C */ if (_t15) goto L_028C9E50; else goto L_028C9E40;
L_028C9E40: ; // 0x28c9e40
/* 028C9E40 */ cpu->r[3] = cpu->r[29];
/* 028C9E44 */ cpu->r[31] = 0x00000000u;
/* 028C9E48 */ Gambit_fn_02837030(cpu);
/* 028C9E4C */ goto L_028C9ED0;
L_028C9E50: ; // 0x28c9e50
/* 028C9E50 */ _t16 = cpu->r[30] + 0x0000001Cu;
/* 028C9E50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
/* 028C9E54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C9E58 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9E58 */ _t18 = _t17 & 0x00000001u;
/* 028C9E58 */ if (_t18) goto L_028C9E64; else goto L_028C9E5C;
L_028C9E5C: ; // 0x28c9e5c
/* 028C9E5C */ _t19 = cpu->r[31] + 0x00000000u;
/* 028C9E5C */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
/* 028C9E60 */ _t20 = cpu->r[30] + 0x0000001Cu;
/* 028C9E60 */ rbrew_write32(cpu->mem, _t20, cpu->r[8]);
L_028C9E64: ; // 0x28c9e64
/* 028C9E64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C9E68 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9E68 */ _t22 = _t21 & 0x00000001u;
/* 028C9E68 */ if (_t22) goto L_028C9EAC; else goto L_028C9E6C;
L_028C9E6C: ; // 0x28c9e6c
/* 028C9E6C */ cpu->r[6] = 0x028D0000u;
/* 028C9E70 */ cpu->r[3] = cpu->r[31];
/* 028C9E74 */ cpu->r[4] = 0x00000008u;
/* 028C9E78 */ cpu->r[6] = cpu->r[6] + 0xFFFFA070u;
/* 028C9E7C */ cpu->r[5] = 0x00000010u;
/* 028C9E80 */ Gambit_fn_02C82E00(cpu);
/* 028C9E84 */ cpu->r[9] = 0x00000000u;
/* 028C9E88 */ cpu->r[4] = cpu->r[31] + 0x00000080u;
/* 028C9E8C */ _t23 = cpu->r[31] + 0x00000084u;
/* 028C9E8C */ rbrew_write32(cpu->mem, _t23, cpu->r[9]);
/* 028C9E90 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
/* 028C9E94 */ _t24 = cpu->r[31] + 0x00000080u;
/* 028C9E94 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
/* 028C9E98 */ Gambit_fn_02801EBC(cpu);
/* 028C9E9C */ _t25 = cpu->r[30] + 0x00000018u;
/* 028C9E9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
/* 028C9EA0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028C9EA4 */ _t26 = cpu->r[30] + 0x00000018u;
/* 028C9EA4 */ rbrew_write32(cpu->mem, _t26, cpu->r[12]);
/* 028C9EA8 */ goto L_028C9EC8;
L_028C9EAC: ; // 0x28c9eac
/* 028C9EAC */ cpu->r[4] = 0x00000080u;
/* 028C9EB0 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
/* 028C9EB4 */ cpu->r[31] = 0x00000000u;
/* 028C9EB8 */ Gambit_fn_02801EBC(cpu);
/* 028C9EBC */ _t27 = cpu->r[30] + 0x00000018u;
/* 028C9EBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
/* 028C9EC0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028C9EC4 */ _t28 = cpu->r[30] + 0x00000018u;
/* 028C9EC4 */ rbrew_write32(cpu->mem, _t28, cpu->r[12]);
L_028C9EC8: ; // 0x28c9ec8
/* 028C9EC8 */ cpu->r[3] = cpu->r[29];
/* 028C9ECC */ Gambit_fn_02837030(cpu);
L_028C9ED0: ; // 0x28c9ed0
/* 028C9ED0 */ _t29 = cpu->r[1] + 0x0000000Cu;
/* 028C9ED0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
/* 028C9ED4 */ _t30 = cpu->r[1] + 0x0000001Cu;
/* 028C9ED4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
/* 028C9ED8 */ cpu->r[3] = cpu->r[31];
/* 028C9EDC */ _t31 = cpu->r[1] + 0x00000010u;
/* 028C9EDC */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
/* 028C9EE0 */ cpu->lr = cpu->r[0];
/* 028C9EE4 */ _t32 = cpu->r[1] + 0x00000014u;
/* 028C9EE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
/* 028C9EE8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C9EEC */ return;
}
// fn_028C9EF0 @ 0x28c9ef0
void Gambit_fn_028C9EF0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
L_028C9EF0: ; // 0x28c9ef0
/* 028C9EF0 */ cpu->r[0] = cpu->lr;
/* 028C9EF4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C9EF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C9EF4 */ cpu->r[1] = _t0;
/* 028C9EF8 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C9EF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028C9EFC */ _t2 = cpu->r[1] + 0x00000010u;
/* 028C9EFC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C9F00 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C9F00 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028C9F04 */ cpu->r[30] = cpu->r[3];
/* 028C9F08 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C9F08 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C9F0C */ _t5 = cpu->r[30] + 0x00000020u;
/* 028C9F0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028C9F10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C9F14 */ cpu->r[31] = cpu->r[4];
/* 028C9F18 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9F18 */ _t7 = _t6 & 0x00000001u;
/* 028C9F18 */ if (_t7) goto L_028C9F64; else goto L_028C9F1C;
L_028C9F1C: ; // 0x28c9f1c
/* 028C9F1C */ cpu->r[29] = cpu->r[30] + 0x00000028u;
/* 028C9F20 */ cpu->r[3] = cpu->r[29];
/* 028C9F24 */ Gambit_fn_02836FFC(cpu);
/* 028C9F28 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
/* 028C9F2C */ cpu->r[4] = cpu->r[31] + 0x00000080u;
/* 028C9F30 */ Gambit_fn_02802290(cpu);
/* 028C9F34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C9F38 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C9F38 */ _t9 = _t8 & 0x00000001u;
/* 028C9F38 */ if (_t9) goto L_028C9F5C; else goto L_028C9F3C;
L_028C9F3C: ; // 0x28c9f3c
/* 028C9F3C */ cpu->r[3] = cpu->r[31] + 0x00000080u;
/* 028C9F40 */ Gambit_fn_02801EDC(cpu);
/* 028C9F44 */ _t10 = cpu->r[30] + 0x00000018u;
/* 028C9F44 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
/* 028C9F48 */ _t11 = cpu->r[30] + 0x0000001Cu;
/* 028C9F48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028C9F4C */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
/* 028C9F50 */ _t12 = cpu->r[30] + 0x00000018u;
/* 028C9F50 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
/* 028C9F54 */ _t13 = cpu->r[31] + 0x00000000u;
/* 028C9F54 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
/* 028C9F58 */ _t14 = cpu->r[30] + 0x0000001Cu;
/* 028C9F58 */ rbrew_write32(cpu->mem, _t14, cpu->r[31]);
L_028C9F5C: ; // 0x28c9f5c
/* 028C9F5C */ cpu->r[3] = cpu->r[29];
/* 028C9F60 */ Gambit_fn_02837030(cpu);
L_028C9F64: ; // 0x28c9f64
/* 028C9F64 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028C9F64 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
/* 028C9F68 */ _t16 = cpu->r[1] + 0x0000001Cu;
/* 028C9F68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028C9F6C */ _t17 = cpu->r[1] + 0x00000010u;
/* 028C9F6C */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
/* 028C9F70 */ cpu->lr = cpu->r[0];
/* 028C9F74 */ _t18 = cpu->r[1] + 0x00000014u;
/* 028C9F74 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
/* 028C9F78 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C9F7C */ return;
}
// fn_028C9EF4 @ 0x28c9ef4
void Gambit_fn_028C9EF4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
L_028C9EF4: ; // 0x28c9ef4
/* 028C9EF4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C9EF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C9EF4 */ cpu->r[1] = _t0;
/* 028C9EF8 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028C9EF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028C9EFC */ _t2 = cpu->r[1] + 0x00000010u;
/* 028C9EFC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028C9F00 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028C9F00 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028C9F04 */ cpu->r[30] = cpu->r[3];
/* 028C9F08 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028C9F08 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028C9F0C */ _t5 = cpu->r[30] + 0x00000020u;
/* 028C9F0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028C9F10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C9F14 */ cpu->r[31] = cpu->r[4];
/* 028C9F18 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9F18 */ _t7 = _t6 & 0x00000001u;
/* 028C9F18 */ if (_t7) goto L_028C9F64; else goto L_028C9F1C;
L_028C9F1C: ; // 0x28c9f1c
/* 028C9F1C */ cpu->r[29] = cpu->r[30] + 0x00000028u;
/* 028C9F20 */ cpu->r[3] = cpu->r[29];
/* 028C9F24 */ Gambit_fn_02836FFC(cpu);
/* 028C9F28 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
/* 028C9F2C */ cpu->r[4] = cpu->r[31] + 0x00000080u;
/* 028C9F30 */ Gambit_fn_02802290(cpu);
/* 028C9F34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028C9F38 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028C9F38 */ _t9 = _t8 & 0x00000001u;
/* 028C9F38 */ if (_t9) goto L_028C9F5C; else goto L_028C9F3C;
L_028C9F3C: ; // 0x28c9f3c
/* 028C9F3C */ cpu->r[3] = cpu->r[31] + 0x00000080u;
/* 028C9F40 */ Gambit_fn_02801EDC(cpu);
/* 028C9F44 */ _t10 = cpu->r[30] + 0x00000018u;
/* 028C9F44 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
/* 028C9F48 */ _t11 = cpu->r[30] + 0x0000001Cu;
/* 028C9F48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028C9F4C */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
/* 028C9F50 */ _t12 = cpu->r[30] + 0x00000018u;
/* 028C9F50 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
/* 028C9F54 */ _t13 = cpu->r[31] + 0x00000000u;
/* 028C9F54 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
/* 028C9F58 */ _t14 = cpu->r[30] + 0x0000001Cu;
/* 028C9F58 */ rbrew_write32(cpu->mem, _t14, cpu->r[31]);
L_028C9F5C: ; // 0x28c9f5c
/* 028C9F5C */ cpu->r[3] = cpu->r[29];
/* 028C9F60 */ Gambit_fn_02837030(cpu);
L_028C9F64: ; // 0x28c9f64
/* 028C9F64 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028C9F64 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
/* 028C9F68 */ _t16 = cpu->r[1] + 0x0000001Cu;
/* 028C9F68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028C9F6C */ _t17 = cpu->r[1] + 0x00000010u;
/* 028C9F6C */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
/* 028C9F70 */ cpu->lr = cpu->r[0];
/* 028C9F74 */ _t18 = cpu->r[1] + 0x00000014u;
/* 028C9F74 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
/* 028C9F78 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028C9F7C */ return;
}
// fn_028C9F80 @ 0x28c9f80
void Gambit_fn_028C9F80(CPUState* cpu) {
uint32_t _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_028C9F80: ; // 0x28c9f80
/* 028C9F80 */ cpu->r[0] = cpu->lr;
/* 028C9F84 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C9F84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C9F84 */ cpu->r[1] = _t0;
/* 028C9F88 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028C9F88 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
/* 028C9F8C */ cpu->r[28] = cpu->r[4];
/* 028C9F90 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C9F90 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028C9F94 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028C9F94 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028C9F98 */ cpu->r[31] = cpu->r[3];
/* 028C9F98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C9F9C */ _t4 = cpu->r[1] + 0x00000010u;
/* 028C9F9C */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
/* 028C9FA0 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028C9FA0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028C9FA4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9FA4 */ _t7 = _t6 & 0x00000001u;
/* 028C9FA4 */ if (_t7) goto L_028CA008; else goto L_028C9FA8;
L_028C9FA8: ; // 0x28c9fa8
/* 028C9FA8 */ cpu->r[6] = 0x10140000u;
/* 028C9FAC */ cpu->r[6] = cpu->r[6] + 0xFFFF9C3Cu;
/* 028C9FB0 */ cpu->r[12] = 0x101D0000u;
/* 028C9FB4 */ _t8 = cpu->r[31] + 0x0000000Cu;
/* 028C9FB4 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
/* 028C9FB8 */ _t9 = cpu->r[12] + 0xFFFF9AACu;
/* 028C9FB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028C9FB8 */ cpu->r[12] = _t9;
/* 028C9FBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
/* 028C9FC0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9FC0 */ _t11 = _t10 & 0x00000001u;
/* 028C9FC0 */ if (_t11) goto L_028C9FC4; else goto L_028C9FEC;
L_028C9FC4: ; // 0x28c9fc4
/* 028C9FC4 */ cpu->r[30] = 0x101D0000u;
/* 028C9FC8 */ cpu->r[29] = 0x00000000u;
/* 028C9FCC */ _t12 = cpu->r[30] + 0xFFFF9AA8u;
/* 028C9FCC */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
/* 028C9FD0 */ _t13 = cpu->r[12] + 0x00000000u;
/* 028C9FD0 */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
/* 028C9FD4 */ _t14 = cpu->r[3] + 0x00000064u;
/* 028C9FD4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
/* 028C9FD8 */ _t15 = cpu->r[8] + 0x0000000Cu;
/* 028C9FD8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
/* 028C9FDC */ cpu->ctr = cpu->r[10];
/* 028C9FE0 */ cpu->r[4] = 0x00000002u;
/* 028C9FE4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C9FE8 */ _t16 = cpu->r[30] + 0xFFFF9AA8u;
/* 028C9FE8 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
L_028C9FEC: ; // 0x28c9fec
/* 028C9FEC */ cpu->r[3] = cpu->r[31];
/* 028C9FF0 */ cpu->r[4] = 0x00000000u;
/* 028C9FF4 */ Gambit_fn_02821E68(cpu);
/* 028C9FF8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028C9FF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C9FFC */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9FFC */ _t18 = _t17 & 0x00000001u;
/* 028C9FFC */ if (_t18) goto L_028CA008; else goto L_028CA000;
L_028CA000: ; // 0x28ca000
/* 028CA000 */ cpu->r[3] = cpu->r[31];
/* 028CA004 */ Gambit_fn_02801BB0(cpu);
L_028CA008: ; // 0x28ca008
/* 028CA008 */ _t19 = cpu->r[1] + 0x00000008u;
/* 028CA008 */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
/* 028CA00C */ _t20 = cpu->r[1] + 0x0000000Cu;
/* 028CA00C */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
/* 028CA010 */ _t21 = cpu->r[1] + 0x0000001Cu;
/* 028CA010 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
/* 028CA014 */ _t22 = cpu->r[1] + 0x00000010u;
/* 028CA014 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
/* 028CA018 */ cpu->lr = cpu->r[0];
/* 028CA01C */ _t23 = cpu->r[1] + 0x00000014u;
/* 028CA01C */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
/* 028CA020 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028CA024 */ return;
}
// fn_028C9F84 @ 0x28c9f84
void Gambit_fn_028C9F84(CPUState* cpu) {
uint32_t _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_028C9F84: ; // 0x28c9f84
/* 028C9F84 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028C9F84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028C9F84 */ cpu->r[1] = _t0;
/* 028C9F88 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028C9F88 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
/* 028C9F8C */ cpu->r[28] = cpu->r[4];
/* 028C9F90 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028C9F90 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028C9F94 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028C9F94 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028C9F98 */ cpu->r[31] = cpu->r[3];
/* 028C9F98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028C9F9C */ _t4 = cpu->r[1] + 0x00000010u;
/* 028C9F9C */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
/* 028C9FA0 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028C9FA0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028C9FA4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9FA4 */ _t7 = _t6 & 0x00000001u;
/* 028C9FA4 */ if (_t7) goto L_028CA008; else goto L_028C9FA8;
L_028C9FA8: ; // 0x28c9fa8
/* 028C9FA8 */ cpu->r[6] = 0x10140000u;
/* 028C9FAC */ cpu->r[6] = cpu->r[6] + 0xFFFF9C3Cu;
/* 028C9FB0 */ cpu->r[12] = 0x101D0000u;
/* 028C9FB4 */ _t8 = cpu->r[31] + 0x0000000Cu;
/* 028C9FB4 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
/* 028C9FB8 */ _t9 = cpu->r[12] + 0xFFFF9AACu;
/* 028C9FB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028C9FB8 */ cpu->r[12] = _t9;
/* 028C9FBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
/* 028C9FC0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9FC0 */ _t11 = _t10 & 0x00000001u;
/* 028C9FC0 */ if (_t11) goto L_028C9FC4; else goto L_028C9FEC;
L_028C9FC4: ; // 0x28c9fc4
/* 028C9FC4 */ cpu->r[30] = 0x101D0000u;
/* 028C9FC8 */ cpu->r[29] = 0x00000000u;
/* 028C9FCC */ _t12 = cpu->r[30] + 0xFFFF9AA8u;
/* 028C9FCC */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
/* 028C9FD0 */ _t13 = cpu->r[12] + 0x00000000u;
/* 028C9FD0 */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
/* 028C9FD4 */ _t14 = cpu->r[3] + 0x00000064u;
/* 028C9FD4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
/* 028C9FD8 */ _t15 = cpu->r[8] + 0x0000000Cu;
/* 028C9FD8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
/* 028C9FDC */ cpu->ctr = cpu->r[10];
/* 028C9FE0 */ cpu->r[4] = 0x00000002u;
/* 028C9FE4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028C9FE8 */ _t16 = cpu->r[30] + 0xFFFF9AA8u;
/* 028C9FE8 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
L_028C9FEC: ; // 0x28c9fec
/* 028C9FEC */ cpu->r[3] = cpu->r[31];
/* 028C9FF0 */ cpu->r[4] = 0x00000000u;
/* 028C9FF4 */ Gambit_fn_02821E68(cpu);
/* 028C9FF8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028C9FF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028C9FFC */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028C9FFC */ _t18 = _t17 & 0x00000001u;
/* 028C9FFC */ if (_t18) goto L_028CA008; else goto L_028CA000;
L_028CA000: ; // 0x28ca000
/* 028CA000 */ cpu->r[3] = cpu->r[31];
/* 028CA004 */ Gambit_fn_02801BB0(cpu);
L_028CA008: ; // 0x28ca008
/* 028CA008 */ _t19 = cpu->r[1] + 0x00000008u;
/* 028CA008 */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
/* 028CA00C */ _t20 = cpu->r[1] + 0x0000000Cu;
/* 028CA00C */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
/* 028CA010 */ _t21 = cpu->r[1] + 0x0000001Cu;
/* 028CA010 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
/* 028CA014 */ _t22 = cpu->r[1] + 0x00000010u;
/* 028CA014 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
/* 028CA018 */ cpu->lr = cpu->r[0];
/* 028CA01C */ _t23 = cpu->r[1] + 0x00000014u;
/* 028CA01C */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
/* 028CA020 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028CA024 */ return;
}
// fn_028CA034 @ 0x28ca034
void Gambit_fn_028CA034(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_028CA034: ; // 0x28ca034
/* 028CA034 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028CA034 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CA034 */ cpu->r[1] = _t0;
/* 028CA038 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA038 */ _t2 = _t1 & 0x00000001u;
/* 028CA038 */ if (_t2) goto L_028CA03C; else goto L_028CA04C;
L_028CA03C: ; // 0x28ca03c
/* 028CA03C */ cpu->r[3] = 0x00000008u;
/* 028CA040 */ Gambit_fn_02801A78(cpu);
/* 028CA044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CA048 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA048 */ _t4 = _t3 & 0x00000001u;
/* 028CA048 */ if (_t4) goto L_028CA060; else goto L_028CA04C;
L_028CA04C: ; // 0x28ca04c
/* 028CA04C */ cpu->r[12] = 0x10140000u;
/* 028CA050 */ cpu->r[0] = 0x00000004u;
/* 028CA054 */ _t5 = cpu->r[12] + 0xFFFF9C38u;
/* 028CA054 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
/* 028CA058 */ _t6 = cpu->r[3] + 0x00000000u;
/* 028CA058 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028CA05C */ _t7 = cpu->r[3] + 0x00000004u;
/* 028CA05C */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
L_028CA060: ; // 0x28ca060
/* 028CA060 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028CA060 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028CA064 */ cpu->lr = cpu->r[0];
/* 028CA068 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028CA06C */ return;
}
// fn_028CA074 @ 0x28ca074
void Gambit_fn_028CA074(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_028CA074: ; // 0x28ca074
/* 028CA074 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028CA074 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CA074 */ cpu->r[1] = _t0;
/* 028CA078 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028CA078 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028CA07C */ cpu->r[31] = cpu->r[3];
/* 028CA07C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CA080 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028CA080 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028CA084 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA084 */ _t4 = _t3 & 0x00000001u;
/* 028CA084 */ if (_t4) goto L_028CA088; else goto L_028CA098;
L_028CA088: ; // 0x28ca088
/* 028CA088 */ cpu->r[3] = 0x00000010u;
/* 028CA08C */ Gambit_fn_02801A78(cpu);
/* 028CA090 */ cpu->r[31] = cpu->r[3];
/* 028CA090 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CA094 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA094 */ _t6 = _t5 & 0x00000001u;
/* 028CA094 */ if (_t6) goto L_028CA0B0; else goto L_028CA098;
L_028CA098: ; // 0x28ca098
/* 028CA098 */ cpu->r[6] = 0x028D0000u;
/* 028CA09C */ cpu->r[3] = cpu->r[31];
/* 028CA0A0 */ cpu->r[4] = 0x00000002u;
/* 028CA0A4 */ cpu->r[6] = cpu->r[6] + 0xFFFFA028u;
/* 028CA0A8 */ cpu->r[5] = 0x00000008u;
/* 028CA0AC */ Gambit_fn_02C82E00(cpu);
L_028CA0B0: ; // 0x28ca0b0
/* 028CA0B0 */ _t7 = cpu->r[1] + 0x00000014u;
/* 028CA0B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028CA0B4 */ cpu->r[3] = cpu->r[31];
/* 028CA0B8 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028CA0B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
/* 028CA0BC */ cpu->lr = cpu->r[0];
/* 028CA0C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CA0C4 */ return;
}
// fn_028CA0C8 @ 0x28ca0c8
void Gambit_fn_028CA0C8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028CA0C8: ; // 0x28ca0c8
/* 028CA0C8 */ _t0 = cpu->r[3] + 0x00000000u;
/* 028CA0C8 */ rbrew_write_f32(cpu->mem, _t0, cpu->f[1]);
/* 028CA0CC */ cpu->r[12] = 0x10140000u;
/* 028CA0D0 */ _t1 = cpu->r[3] + 0x00000004u;
/* 028CA0D0 */ rbrew_write_f32(cpu->mem, _t1, cpu->f[1]);
/* 028CA0D4 */ _t2 = cpu->r[12] + 0xFFFF9C5Cu;
/* 028CA0D4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
/* 028CA0D8 */ _t3 = cpu->r[3] + 0x00000008u;
/* 028CA0D8 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[1]);
/* 028CA0DC */ _t4 = cpu->r[3] + 0x0000000Cu;
/* 028CA0DC */ rbrew_write_f32(cpu->mem, _t4, cpu->f[0]);
/* 028CA0E0 */ return;
}
// fn_028CA0E4 @ 0x28ca0e4
void Gambit_fn_028CA0E4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
L_028CA0E4: ; // 0x28ca0e4
/* 028CA0E4 */ cpu->r[0] = cpu->lr;
/* 028CA0E8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028CA0E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CA0E8 */ cpu->r[1] = _t0;
/* 028CA0EC */ _t1 = cpu->r[1] + 0x00000008u;
/* 028CA0EC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028CA0F0 */ /* nop */
/* 028CA0F4 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028CA0F4 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
/* 028CA0F8 */ cpu->f[31] = cpu->f[1];
/* 028CA0FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CA100 */ _t3 = cpu->r[1] + 0x0000001Cu;
/* 028CA100 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028CA104 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA104 */ _t5 = _t4 & 0x00000001u;
/* 028CA104 */ if (_t5) goto L_028CA108; else goto L_028CA118;
L_028CA108: ; // 0x28ca108
/* 028CA108 */ cpu->r[3] = 0x00000014u;
/* 028CA10C */ Gambit_fn_02801A78(cpu);
/* 028CA110 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CA114 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA114 */ _t7 = _t6 & 0x00000001u;
/* 028CA114 */ if (_t7) goto L_028CA12C; else goto L_028CA118;
L_028CA118: ; // 0x28ca118
/* 028CA118 */ cpu->r[0] = 0x10140000u;
/* 028CA11C */ cpu->f[1] = cpu->f[31];
/* 028CA120 */ cpu->r[0] = cpu->r[0] + 0xFFFF9C60u;
/* 028CA124 */ _t8 = cpu->r[3] + 0x00000010u;
/* 028CA124 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028CA128 */ Gambit_fn_028CA0C8(cpu);
L_028CA12C: ; // 0x28ca12c
/* 028CA12C */ _t9 = cpu->r[1] + 0x00000010u;
/* 028CA12C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t9);
/* 028CA130 */ _t10 = cpu->r[1] + 0x00000008u;
/* 028CA130 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t10);
/* 028CA134 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CA134 */ _t12 = _t11 & 0x00000001u;
/* 028CA134 */ if (_t12) goto L_028CA138; // else: addr-0 trap, fall-through
L_028CA138: ; // 0x28ca138
/* 028CA138 */ _t13 = cpu->r[1] + 0x0000001Cu;
/* 028CA138 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028CA13C */ cpu->lr = cpu->r[0];
/* 028CA140 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028CA144 */ return;
}
// fn_028CA0E8 @ 0x28ca0e8
void Gambit_fn_028CA0E8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
L_028CA0E8: ; // 0x28ca0e8
/* 028CA0E8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028CA0E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CA0E8 */ cpu->r[1] = _t0;
/* 028CA0EC */ _t1 = cpu->r[1] + 0x00000008u;
/* 028CA0EC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028CA0F0 */ /* nop */
/* 028CA0F4 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028CA0F4 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
/* 028CA0F8 */ cpu->f[31] = cpu->f[1];
/* 028CA0FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CA100 */ _t3 = cpu->r[1] + 0x0000001Cu;
/* 028CA100 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028CA104 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA104 */ _t5 = _t4 & 0x00000001u;
/* 028CA104 */ if (_t5) goto L_028CA108; else goto L_028CA118;
L_028CA108: ; // 0x28ca108
/* 028CA108 */ cpu->r[3] = 0x00000014u;
/* 028CA10C */ Gambit_fn_02801A78(cpu);
/* 028CA110 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CA114 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA114 */ _t7 = _t6 & 0x00000001u;
/* 028CA114 */ if (_t7) goto L_028CA12C; else goto L_028CA118;
L_028CA118: ; // 0x28ca118
/* 028CA118 */ cpu->r[0] = 0x10140000u;
/* 028CA11C */ cpu->f[1] = cpu->f[31];
/* 028CA120 */ cpu->r[0] = cpu->r[0] + 0xFFFF9C60u;
/* 028CA124 */ _t8 = cpu->r[3] + 0x00000010u;
/* 028CA124 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028CA128 */ Gambit_fn_028CA0C8(cpu);
L_028CA12C: ; // 0x28ca12c
/* 028CA12C */ _t9 = cpu->r[1] + 0x00000010u;
/* 028CA12C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t9);
/* 028CA130 */ _t10 = cpu->r[1] + 0x00000008u;
/* 028CA130 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t10);
/* 028CA134 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CA134 */ _t12 = _t11 & 0x00000001u;
/* 028CA134 */ if (_t12) goto L_028CA138; // else: addr-0 trap, fall-through
L_028CA138: ; // 0x28ca138
/* 028CA138 */ _t13 = cpu->r[1] + 0x0000001Cu;
/* 028CA138 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028CA13C */ cpu->lr = cpu->r[0];
/* 028CA140 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028CA144 */ return;
}
// fn_028CA148 @ 0x28ca148
void Gambit_fn_028CA148(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028CA148: ; // 0x28ca148
/* 028CA148 */ cpu->r[12] = 0x101D0000u;
/* 028CA14C */ cpu->r[11] = 0x10140000u;
/* 028CA150 */ _t0 = cpu->r[12] + 0xFFFF9A84u;
/* 028CA150 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028CA154 */ _t1 = cpu->r[11] + 0xFFFF9C5Cu;
/* 028CA154 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
/* 028CA158 */ _t2 = cpu->r[12] + 0x00000020u;
/* 028CA158 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
/* 028CA15C */ _t3 = cpu->r[3] + 0x0000000Cu;
/* 028CA15C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t3);
/* 028CA160 */ _t4 = cpu->r[11] + 0x00000044u;
/* 028CA160 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t4);
/* 028CA164 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
/* 028CA168 */ _t5 = cpu->r[3] + 0x00000000u;
/* 028CA168 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t5);
/* 028CA16C */ _t6 = cpu->r[3] + 0x00000008u;
/* 028CA16C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
/* 028CA170 */ cpu->f[1] = fma(cpu->f[13], cpu->f[11], cpu->f[12]);
/* 028CA174 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CA174 */ _t8 = _t7 & 0x00000001u;
/* 028CA174 */ if (_t8) goto L_028CA184; else goto L_028CA178;
L_028CA178: ; // 0x28ca178
/* 028CA178 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
/* 028CA17C */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CA17C */ _t10 = _t9 & 0x00000001u;
/* 028CA17C */ _t11 = _t10 ^ 0x00000001u;
/* 028CA17C */ if (_t11) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CA17C */ goto L_028CA180;
L_028CA180: ; // 0x28ca180
/* 028CA180 */ goto L_028CA18C;
L_028CA184: ; // 0x28ca184
/* 028CA184 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
/* 028CA188 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CA188 */ _t13 = _t12 & 0x00000001u;
/* 028CA188 */ _t14 = _t13 ^ 0x00000001u;
/* 028CA188 */ if (_t14) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CA188 */ goto L_028CA18C;
L_028CA18C: ; // 0x28ca18c
/* 028CA18C */ cpu->f[1] = cpu->f[0];
/* 028CA190 */ return;
}
// fn_028CA194 @ 0x28ca194
void Gambit_fn_028CA194(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
L_028CA194: ; // 0x28ca194
/* 028CA194 */ cpu->r[0] = cpu->lr;
/* 028CA198 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028CA198 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028CA19C */ cpu->r[10] = cpu->r[3];
/* 028CA1A0 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028CA1A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028CA1A0 */ cpu->r[1] = _t1;
/* 028CA1A4 */ _t2 = cpu->r[10] + 0x00000008u;
/* 028CA1A4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
/* 028CA1A8 */ _t3 = cpu->r[10] + 0x00000000u;
/* 028CA1A8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t3);
/* 028CA1AC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
/* 028CA1B0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA1B0 */ _t5 = _t4 & 0x00000001u;
/* 028CA1B0 */ if (_t5) goto L_028CA1C8; else goto L_028CA1B4;
L_028CA1B4: ; // 0x28ca1b4
/* 028CA1B4 */ _t6 = cpu->r[10] + 0x00000004u;
/* 028CA1B4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
/* 028CA1B8 */ cpu->r[3] = cpu->r[10];
/* 028CA1BC */ _t7 = cpu->r[10] + 0x00000000u;
/* 028CA1BC */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
/* 028CA1C0 */ Gambit_fn_028CA148(cpu);
/* 028CA1C4 */ _t8 = cpu->r[10] + 0x00000004u;
/* 028CA1C4 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[1]);
L_028CA1C8: ; // 0x28ca1c8
/* 028CA1C8 */ _t9 = cpu->r[1] + 0x0000000Cu;
/* 028CA1C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028CA1CC */ cpu->lr = cpu->r[0];
/* 028CA1D0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028CA1D4 */ return;
}
// fn_028CA1A0 @ 0x28ca1a0
void Gambit_fn_028CA1A0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_028CA1A0: ; // 0x28ca1a0
/* 028CA1A0 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028CA1A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CA1A0 */ cpu->r[1] = _t0;
/* 028CA1A4 */ _t1 = cpu->r[10] + 0x00000008u;
/* 028CA1A4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
/* 028CA1A8 */ _t2 = cpu->r[10] + 0x00000000u;
/* 028CA1A8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t2);
/* 028CA1AC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
/* 028CA1B0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA1B0 */ _t4 = _t3 & 0x00000001u;
/* 028CA1B0 */ if (_t4) goto L_028CA1C8; else goto L_028CA1B4;
L_028CA1B4: ; // 0x28ca1b4
/* 028CA1B4 */ _t5 = cpu->r[10] + 0x00000004u;
/* 028CA1B4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
/* 028CA1B8 */ cpu->r[3] = cpu->r[10];
/* 028CA1BC */ _t6 = cpu->r[10] + 0x00000000u;
/* 028CA1BC */ rbrew_write_f32(cpu->mem, _t6, cpu->f[0]);
/* 028CA1C0 */ Gambit_fn_028CA148(cpu);
/* 028CA1C4 */ _t7 = cpu->r[10] + 0x00000004u;
/* 028CA1C4 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[1]);
L_028CA1C8: ; // 0x28ca1c8
/* 028CA1C8 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028CA1C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028CA1CC */ cpu->lr = cpu->r[0];
/* 028CA1D0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028CA1D4 */ return;
}
// fn_028CA1D8 @ 0x28ca1d8
void Gambit_fn_028CA1D8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
L_028CA1D8: ; // 0x28ca1d8
/* 028CA1D8 */ cpu->r[0] = cpu->lr;
/* 028CA1DC */ _t0 = cpu->r[1] + 0x00000004u;
/* 028CA1DC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028CA1E0 */ cpu->r[10] = cpu->r[3];
/* 028CA1E4 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028CA1E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028CA1E4 */ cpu->r[1] = _t1;
/* 028CA1E8 */ _t2 = cpu->r[10] + 0x00000000u;
/* 028CA1E8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t2);
/* 028CA1EC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[11]);
/* 028CA1F0 */ _t3 = cpu->r[10] + 0x00000008u;
/* 028CA1F0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[1]);
/* 028CA1F4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA1F4 */ _t5 = _t4 & 0x00000001u;
/* 028CA1F4 */ if (_t5) goto L_028CA208; else goto L_028CA1F8;
L_028CA1F8: ; // 0x28ca1f8
/* 028CA1F8 */ cpu->r[12] = 0x10140000u;
/* 028CA1FC */ _t6 = cpu->r[12] + 0xFFFF9C5Cu;
/* 028CA1FC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
/* 028CA200 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[0]);
/* 028CA204 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA204 */ _t8 = _t7 & 0x00000001u;
/* 028CA204 */ if (_t8) goto L_028CA208; else goto L_028CA220;
L_028CA208: ; // 0x28ca208
/* 028CA208 */ cpu->r[3] = cpu->r[10];
/* 028CA20C */ Gambit_fn_028CA0C8(cpu);
/* 028CA210 */ _t9 = cpu->r[1] + 0x0000000Cu;
/* 028CA210 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 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 */ _t10 = cpu->r[10] + 0x0000000Cu;
/* 028CA22C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
/* 028CA230 */ Gambit_fn_028CA148(cpu);
/* 028CA234 */ _t11 = cpu->r[10] + 0x00000004u;
/* 028CA234 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[1]);
/* 028CA238 */ _t12 = cpu->r[1] + 0x0000000Cu;
/* 028CA238 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028CA23C */ cpu->lr = cpu->r[0];
/* 028CA240 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028CA244 */ return;
}
// fn_028CA1E4 @ 0x28ca1e4
void Gambit_fn_028CA1E4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028CA1E4: ; // 0x28ca1e4
/* 028CA1E4 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028CA1E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CA1E4 */ cpu->r[1] = _t0;
/* 028CA1E8 */ _t1 = cpu->r[10] + 0x00000000u;
/* 028CA1E8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t1);
/* 028CA1EC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[11]);
/* 028CA1F0 */ _t2 = cpu->r[10] + 0x00000008u;
/* 028CA1F0 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[1]);
/* 028CA1F4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA1F4 */ _t4 = _t3 & 0x00000001u;
/* 028CA1F4 */ if (_t4) goto L_028CA208; else goto L_028CA1F8;
L_028CA1F8: ; // 0x28ca1f8
/* 028CA1F8 */ cpu->r[12] = 0x10140000u;
/* 028CA1FC */ _t5 = cpu->r[12] + 0xFFFF9C5Cu;
/* 028CA1FC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
/* 028CA200 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[0]);
/* 028CA204 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA204 */ _t7 = _t6 & 0x00000001u;
/* 028CA204 */ if (_t7) goto L_028CA208; else goto L_028CA220;
L_028CA208: ; // 0x28ca208
/* 028CA208 */ cpu->r[3] = cpu->r[10];
/* 028CA20C */ Gambit_fn_028CA0C8(cpu);
/* 028CA210 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028CA210 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 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 */ _t9 = cpu->r[10] + 0x0000000Cu;
/* 028CA22C */ rbrew_write_f32(cpu->mem, _t9, cpu->f[13]);
/* 028CA230 */ Gambit_fn_028CA148(cpu);
/* 028CA234 */ _t10 = cpu->r[10] + 0x00000004u;
/* 028CA234 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[1]);
/* 028CA238 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028CA238 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028CA23C */ cpu->lr = cpu->r[0];
/* 028CA240 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028CA244 */ return;
}
// fn_028CA248 @ 0x28ca248
void Gambit_fn_028CA248(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56;
double _ft17, _ft18;
L_028CA248: ; // 0x28ca248
/* 028CA248 */ _t0 = cpu->r[4] + 0x00000000u;
/* 028CA248 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
/* 028CA24C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
/* 028CA250 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CA250 */ _t2 = _t1 & 0x00000001u;
/* 028CA250 */ if (_t2) goto L_028CA2CC; else goto L_028CA254;
L_028CA254: ; // 0x28ca254
/* 028CA254 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA254 */ _t4 = _t3 & 0x00000001u;
/* 028CA254 */ if (_t4) goto L_028CA26C; else goto L_028CA258;
L_028CA258: ; // 0x28ca258
/* 028CA258 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u);
/* 028CA25C */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CA25C */ _t6 = _t5 & 0x00000001u;
/* 028CA25C */ if (_t6) goto L_028CA278; else goto L_028CA260;
L_028CA260: ; // 0x28ca260
/* 028CA260 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA260 */ _t8 = _t7 & 0x00000001u;
/* 028CA260 */ if (_t8) goto L_028CA2B8; else goto L_028CA264;
L_028CA264: ; // 0x28ca264
/* 028CA264 */ _t9 = cpu->r[3] + 0x00000000u;
/* 028CA264 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
/* 028CA268 */ return;
L_028CA26C: ; // 0x28ca26c
/* 028CA26C */ _t10 = cpu->r[3] + 0x00000000u;
/* 028CA26C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t10);
/* 028CA270 */ cpu->f[1] = cpu->f[8] * cpu->f[8];
/* 028CA274 */ return;
L_028CA278: ; // 0x28ca278
/* 028CA278 */ cpu->r[12] = 0x10140000u;
/* 028CA27C */ _t11 = cpu->r[3] + 0x00000000u;
/* 028CA27C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t11);
/* 028CA280 */ _t12 = cpu->r[12] + 0xFFFF9C5Cu;
/* 028CA280 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t12);
/* 028CA284 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[13]);
/* 028CA288 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CA288 */ _t14 = _t13 & 0x00000001u;
/* 028CA288 */ if (_t14) goto L_028CA28C; else goto L_028CA2B0;
L_028CA28C: ; // 0x28ca28c
/* 028CA28C */ cpu->r[12] = 0x10140000u;
/* 028CA290 */ _t15 = cpu->r[12] + 0xFFFF9C74u;
/* 028CA290 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t15);
/* 028CA294 */ cpu->r[12] = 0x10140000u;
/* 028CA298 */ _t16 = cpu->r[12] + 0xFFFF9C70u;
/* 028CA298 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t16);
/* 028CA29C */ _ft17 = sqrt(cpu->f[7]);
/* 028CA29C */ _ft18 = (double)(int32_t)0x00000001u;
/* 028CA29C */ cpu->f[13] = _ft18 / _ft17;
/* 028CA2A0 */ cpu->f[10] = cpu->f[13] * cpu->f[13];
/* 028CA2A4 */ cpu->f[0] = cpu->f[13] * cpu->f[11];
/* 028CA2A8 */ cpu->f[10] = -fma(cpu->f[10], cpu->f[7], -(cpu->f[12]));
/* 028CA2AC */ cpu->f[13] = cpu->f[10] * cpu->f[0];
L_028CA2B0: ; // 0x28ca2b0
/* 028CA2B0 */ cpu->f[1] = cpu->f[13] * cpu->f[7];
/* 028CA2B4 */ return;
L_028CA2B8: ; // 0x28ca2b8
/* 028CA2B8 */ cpu->r[12] = 0x10140000u;
/* 028CA2BC */ _t19 = cpu->r[3] + 0x00000000u;
/* 028CA2BC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t19);
/* 028CA2C0 */ _t20 = cpu->r[12] + 0xFFFF9C78u;
/* 028CA2C0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
/* 028CA2C4 */ cpu->f[1] = cpu->f[0] * cpu->f[9];
/* 028CA2C8 */ goto L_02C886F8;
L_028CA2CC: ; // 0x28ca2cc
/* 028CA2CC */ _t21 = cpu->r[3] + 0x00000000u;
/* 028CA2CC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t21);
/* 028CA2D0 */ return;
L_02C886F8: ; // 0x2c886f8
/* 02C886F8 */ cpu->r[0] = cpu->lr;
/* 02C886FC */ cpu->f[12] = cpu->f[1];
/* 02C88700 */ cpu->r[12] = 0x101B0000u;
/* 02C88704 */ _t22 = cpu->r[1] + 0x00000004u;
/* 02C88704 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
/* 02C88708 */ cpu->f[10] = fabs(cpu->f[12]);
/* 02C8870C */ _t23 = cpu->r[1] + 0xFFFFFFF0u;
/* 02C8870C */ rbrew_write32(cpu->mem, _t23, cpu->r[1]);
/* 02C8870C */ cpu->r[1] = _t23;
/* 02C88710 */ _t24 = cpu->r[12] + 0x0000482Cu;
/* 02C88710 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
/* 02C88714 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[0]);
/* 02C88718 */ _t25 = cpu->cr[0] >> (0x00000002u & 31u);
/* 02C88718 */ _t26 = _t25 & 0x00000001u;
/* 02C88718 */ if (_t26) goto L_02C8871C; else goto L_02C8884C;
L_02C8871C: ; // 0x2c8871c
/* 02C8871C */ cpu->r[12] = 0x101B0000u;
/* 02C88720 */ _t27 = cpu->r[12] + 0x00004830u;
/* 02C88720 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
/* 02C88724 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[0]);
/* 02C88728 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
/* 02C88728 */ _t29 = _t28 & 0x00000001u;
/* 02C88728 */ if (_t29) goto L_02C8872C; else goto L_02C88768;
L_02C8872C: ; // 0x2c8872c
/* 02C8872C */ cpu->r[12] = 0x101B0000u;
/* 02C88730 */ cpu->f[10] = cpu->f[12];
/* 02C88734 */ _t30 = cpu->r[12] + 0x00004834u;
/* 02C88734 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t30);
/* 02C88738 */ cpu->r[12] = 0x101B0000u;
/* 02C8873C */ cpu->f[12] = cpu->f[12] * cpu->f[12];
/* 02C88740 */ _t31 = cpu->r[12] + 0x00004838u;
/* 02C88740 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31);
/* 02C88744 */ cpu->r[12] = 0x101B0000u;
/* 02C88748 */ cpu->f[13] = fma(cpu->f[13], cpu->f[12], cpu->f[0]);
/* 02C8874C */ _t32 = cpu->r[12] + 0x0000483Cu;
/* 02C8874C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t32);
/* 02C88750 */ cpu->r[12] = 0x101B0000u;
/* 02C88754 */ cpu->f[11] = fma(cpu->f[13], cpu->f[12], cpu->f[0]);
/* 02C88758 */ _t33 = cpu->r[12] + 0x00004840u;
/* 02C88758 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t33);
/* 02C8875C */ cpu->f[12] = fma(cpu->f[12], cpu->f[11], cpu->f[0]);
/* 02C88760 */ cpu->f[12] = cpu->f[12] * cpu->f[10];
/* 02C88764 */ goto L_02C8884C;
L_02C88768: ; // 0x2c88768
/* 02C88768 */ cpu->r[12] = 0x101B0000u;
/* 02C8876C */ _t34 = cpu->r[12] + 0x00004844u;
/* 02C8876C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t34);
/* 02C88770 */ cpu->r[12] = 0x101B0000u;
/* 02C88774 */ _t35 = cpu->r[12] + 0x00004848u;
/* 02C88774 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t35);
/* 02C88778 */ cpu->r[12] = 0x101B0000u;
/* 02C8877C */ cpu->f[12] = cpu->f[12] * cpu->f[0];
/* 02C88780 */ _t36 = cpu->r[12] + 0x0000484Cu;
/* 02C88780 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t36);
/* 02C88784 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[0]);
/* 02C88788 */ _t37 = cpu->cr[0] >> (0x00000002u & 31u);
/* 02C88788 */ _t38 = _t37 & 0x00000001u;
/* 02C88788 */ if (_t38) goto L_02C8878C; else goto L_02C88794;
L_02C8878C: ; // 0x2c8878c
/* 02C8878C */ cpu->f[12] = cpu->f[13];
/* 02C88790 */ goto L_02C8884C;
L_02C88794: ; // 0x2c88794
/* 02C88794 */ cpu->f[11] = cpu->f[12];
/* 02C88798 */ cpu->r[12] = 0x101B0000u;
/* 02C8879C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[13]);
/* 02C887A0 */ _t39 = cpu->r[12] + 0x00004850u;
/* 02C887A0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t39);
/* 02C887A4 */ _t40 = cpu->cr[0] >> (0x00000003u & 31u);
/* 02C887A4 */ _t41 = _t40 & 0x00000001u;
/* 02C887A4 */ if (_t41) goto L_02C887A8; else goto L_02C887B0;
L_02C887A8: ; // 0x2c887a8
/* 02C887A8 */ cpu->f[11] = cpu->f[11] - cpu->f[0];
/* 02C887AC */ goto L_02C887B4;
L_02C887B0: ; // 0x2c887b0
/* 02C887B0 */ cpu->f[11] = cpu->f[11] + cpu->f[0];
L_02C887B4: ; // 0x2c887b4
/* 02C887B4 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[11];
/* 02C887B8 */ _t42 = cpu->r[1] + 0x00000008u;
/* 02C887B8 */ rbrew_write_f64(cpu->mem, _t42, cpu->f[0]);
/* 02C887BC */ _t43 = cpu->r[1] + 0x0000000Cu;
/* 02C887BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t43);
/* 02C887C0 */ cpu->r[3] = cpu->r[11];
/* 02C887C4 */ Gambit_fn_02C8A1D4(cpu);
/* 02C887C8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 02C887C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 02C887CC */ cpu->f[12] = cpu->f[12] - cpu->f[1];
/* 02C887D0 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
/* 02C887D0 */ _t45 = _t44 & 0x00000001u;
/* 02C887D0 */ if (_t45) goto L_02C88808; else goto L_02C887D4;
L_02C887D4: ; // 0x2c887d4
/* 02C887D4 */ cpu->r[12] = 0x101B0000u;
/* 02C887D8 */ cpu->f[12] = cpu->f[12] * cpu->f[12];
/* 02C887DC */ _t46 = cpu->r[12] + 0x00004854u;
/* 02C887DC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t46);
/* 02C887E0 */ cpu->r[12] = 0x101B0000u;
/* 02C887E4 */ _t47 = cpu->r[12] + 0x00004858u;
/* 02C887E4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t47);
/* 02C887E8 */ cpu->r[12] = 0x101B0000u;
/* 02C887EC */ cpu->f[13] = fma(cpu->f[0], cpu->f[12], cpu->f[13]);
/* 02C887F0 */ _t48 = cpu->r[12] + 0x0000485Cu;
/* 02C887F0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t48);
/* 02C887F4 */ cpu->r[12] = 0x101B0000u;
/* 02C887F8 */ cpu->f[11] = fma(cpu->f[13], cpu->f[12], cpu->f[0]);
/* 02C887FC */ _t49 = cpu->r[12] + 0x00004860u;
/* 02C887FC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t49);
/* 02C88800 */ cpu->f[12] = fma(cpu->f[12], cpu->f[11], cpu->f[0]);
/* 02C88804 */ goto L_02C88840;
L_02C88808: ; // 0x2c88808
/* 02C88808 */ cpu->r[12] = 0x101B0000u;
/* 02C8880C */ cpu->f[10] = cpu->f[12];
/* 02C88810 */ _t50 = cpu->r[12] + 0x00004864u;
/* 02C88810 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t50);
/* 02C88814 */ cpu->r[12] = 0x101B0000u;
/* 02C88818 */ cpu->f[12] = cpu->f[12] * cpu->f[12];
/* 02C8881C */ _t51 = cpu->r[12] + 0x00004868u;
/* 02C8881C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t51);
/* 02C88820 */ cpu->r[12] = 0x101B0000u;
/* 02C88824 */ cpu->f[13] = fma(cpu->f[13], cpu->f[12], cpu->f[0]);
/* 02C88828 */ _t52 = cpu->r[12] + 0x0000486Cu;
/* 02C88828 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t52);
/* 02C8882C */ cpu->r[12] = 0x101B0000u;
/* 02C88830 */ cpu->f[11] = fma(cpu->f[13], cpu->f[12], cpu->f[0]);
/* 02C88834 */ _t53 = cpu->r[12] + 0x00004870u;
/* 02C88834 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t53);
/* 02C88838 */ cpu->f[12] = fma(cpu->f[12], cpu->f[11], cpu->f[0]);
/* 02C8883C */ cpu->f[12] = cpu->f[12] * cpu->f[10];
L_02C88840: ; // 0x2c88840
/* 02C88840 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
/* 02C88840 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 02C88844 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
/* 02C88844 */ _t55 = _t54 & 0x00000001u;
/* 02C88844 */ if (_t55) goto L_02C8884C; else goto L_02C88848;
L_02C88848: ; // 0x2c88848
/* 02C88848 */ cpu->f[12] = -cpu->f[12];
L_02C8884C: ; // 0x2c8884c
/* 02C8884C */ _t56 = cpu->r[1] + 0x00000014u;
/* 02C8884C */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
/* 02C88850 */ cpu->lr = cpu->r[0];
/* 02C88854 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 02C88858 */ cpu->f[1] = cpu->f[12];
/* 02C8885C */ return;
}
// fn_028CA2D4 @ 0x28ca2d4
void Gambit_fn_028CA2D4(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_028CA2D4: ; // 0x28ca2d4
/* 028CA2D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CA2D8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA2D8 */ _t17 = _t16 & 0x00000001u;
/* 028CA2D8 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CA2D8 */ goto L_028CA2DC;
L_028CA2DC: ; // 0x28ca2dc
/* 028CA2DC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CA2DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CA2E0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA2E0 */ _t19 = _t18 & 0x00000001u;
/* 028CA2E0 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CA2E0 */ goto L_028CA2E4;
L_028CA2E4: ; // 0x28ca2e4
/* 028CA2E4 */ goto L_02801BB0;
}
// fn_028CA2E8 @ 0x28ca2e8
void Gambit_fn_028CA2E8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_028023CC: ; // 0x28023cc
/* 028023CC */ cpu->r[0] = cpu->lr;
/* 028023D0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028023D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028023D0 */ cpu->r[1] = _t0;
/* 028023D4 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028023D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028023D8 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028023D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028023DC */ cpu->r[30] = cpu->r[4];
/* 028023DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028023E0 */ cpu->r[4] = cpu->r[5];
/* 028023E4 */ cpu->r[5] = cpu->r[6];
/* 028023E8 */ cpu->r[31] = cpu->r[3];
/* 028023EC */ _t3 = cpu->r[1] + 0x00000014u;
/* 028023EC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028023F0 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028023F0 */ _t5 = _t4 & 0x00000001u;
/* 028023F0 */ if (_t5) goto L_028023F4; else goto L_0280240C;
L_028023F4: ; // 0x28023f4
/* 028023F4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028023F8 */ Gambit_fn_02801ADC(cpu);
/* 028023FC */ cpu->r[5] = cpu->r[3];
/* 02802400 */ cpu->r[3] = cpu->r[31];
/* 02802404 */ cpu->r[4] = cpu->r[30];
/* 02802408 */ Gambit_fn_028023A8(cpu);
L_0280240C: ; // 0x280240c
/* 0280240C */ _t6 = cpu->r[1] + 0x00000014u;
/* 0280240C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 02802410 */ _t7 = cpu->r[1] + 0x00000008u;
/* 02802410 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
/* 02802414 */ cpu->lr = cpu->r[0];
/* 02802418 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 02802418 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
/* 0280241C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 02802420 */ return;
L_028CA2E8: ; // 0x28ca2e8
/* 028CA2E8 */ cpu->r[6] = 0x00000004u;
/* 028CA2EC */ cpu->r[3] = cpu->r[3] + 0x00000004u;
/* 028CA2F0 */ goto L_028023CC;
}
// fn_028CA2F4 @ 0x28ca2f4
void Gambit_fn_028CA2F4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
L_02802424: ; // 0x2802424
/* 02802424 */ cpu->r[0] = cpu->lr;
/* 02802428 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 02802428 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 02802428 */ cpu->r[1] = _t0;
/* 0280242C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 0280242C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 02802430 */ cpu->r[31] = cpu->r[3];
/* 02802434 */ _t2 = cpu->r[1] + 0x00000014u;
/* 02802434 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 02802438 */ _t3 = cpu->r[31] + 0x00000008u;
/* 02802438 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
/* 0280243C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 02802440 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 02802440 */ _t5 = _t4 & 0x00000001u;
/* 02802440 */ if (_t5) goto L_02802458; else goto L_02802444;
L_02802444: ; // 0x2802444
/* 02802444 */ Gambit_fn_02801BB4(cpu);
/* 02802448 */ cpu->r[0] = 0x00000000u;
/* 0280244C */ _t6 = cpu->r[31] + 0x00000008u;
/* 0280244C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 02802450 */ _t7 = cpu->r[31] + 0x00000004u;
/* 02802450 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 02802454 */ _t8 = cpu->r[31] + 0x00000000u;
/* 02802454 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
L_02802458: ; // 0x2802458
/* 02802458 */ _t9 = cpu->r[1] + 0x00000014u;
/* 02802458 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 0280245C */ _t10 = cpu->r[1] + 0x0000000Cu;
/* 0280245C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
/* 02802460 */ cpu->lr = cpu->r[0];
/* 02802464 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 02802468 */ return;
L_028CA2F4: ; // 0x28ca2f4
/* 028CA2F4 */ cpu->r[3] = cpu->r[3] + 0x00000004u;
/* 028CA2F8 */ goto L_02802424;
}
// fn_028CA2FC @ 0x28ca2fc
void Gambit_fn_028CA2FC(CPUState* cpu) {
uint32_t _t0, _t1;
L_028CA2FC: ; // 0x28ca2fc
/* 028CA2FC */ _t0 = cpu->r[3] + 0x00000004u;
/* 028CA2FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028CA300 */ _t1 = cpu->r[3] + 0x00000008u;
/* 028CA300 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
/* 028CA304 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]);
/* 028CA308 */ /* nop */
/* 028CA30C */ cpu->r[3] = rbrew_rlwinm(cpu->r[12], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
/* 028CA310 */ cpu->r[3] = cpu->r[3] ^ 0x00000001u;
/* 028CA314 */ return;
}
// fn_028CA318 @ 0x28ca318
void Gambit_fn_028CA318(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_028CA318: ; // 0x28ca318
/* 028CA318 */ _t0 = cpu->r[3] + 0x00000004u;
/* 028CA318 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
/* 028CA31C */ _t1 = cpu->r[3] + 0x00000008u;
/* 028CA31C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
/* 028CA320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]);
/* 028CA324 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CA324 */ _t3 = _t2 & 0x00000001u;
/* 028CA324 */ _t4 = _t3 ^ 0x00000001u;
/* 028CA324 */ if (_t4) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CA324 */ goto L_028CA328;
L_028CA328: ; // 0x28ca328
/* 028CA328 */ _t5 = cpu->r[3] + 0x0000000Cu;
/* 028CA328 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
/* 028CA32C */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028CA330 */ _t6 = cpu->r[12] + cpu->r[10];
/* 028CA330 */ rbrew_write32(cpu->mem, _t6, cpu->r[4]);
/* 028CA334 */ _t7 = cpu->r[3] + 0x00000004u;
/* 028CA334 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
/* 028CA338 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028CA33C */ _t8 = cpu->r[3] + 0x00000004u;
/* 028CA33C */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
/* 028CA340 */ return;
}
// fn_028CA344 @ 0x28ca344
void Gambit_fn_028CA344(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_028CA344: ; // 0x28ca344
/* 028CA344 */ cpu->r[0] = cpu->lr;
/* 028CA348 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028CA348 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CA348 */ cpu->r[1] = _t0;
/* 028CA34C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028CA34C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028CA350 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028CA350 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028CA354 */ _t3 = cpu->r[3] + 0x00000000u;
/* 028CA354 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
/* 028CA358 */ _t4 = cpu->r[12] + 0x00000064u;
/* 028CA358 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028CA35C */ cpu->ctr = cpu->r[0];
/* 028CA360 */ cpu->r[31] = cpu->r[3];
/* 028CA364 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CA368 */ cpu->r[4] = cpu->r[3];
/* 028CA368 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028CA36C */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CA36C */ _t6 = _t5 & 0x00000001u;
/* 028CA36C */ if (_t6) goto L_028CA37C; else goto L_028CA370;
L_028CA370: ; // 0x28ca370
/* 028CA370 */ cpu->r[5] = 0x00000001u;
/* 028CA374 */ cpu->r[3] = cpu->r[31] + 0x00000004u;
/* 028CA378 */ Gambit_fn_0280246C(cpu);
L_028CA37C: ; // 0x28ca37c
/* 028CA37C */ _t7 = cpu->r[1] + 0x00000014u;
/* 028CA37C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028CA380 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028CA380 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
/* 028CA384 */ cpu->lr = cpu->r[0];
/* 028CA388 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CA38C */ return;
}
// fn_028CA348 @ 0x28ca348
void Gambit_fn_028CA348(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_028CA348: ; // 0x28ca348
/* 028CA348 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028CA348 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CA348 */ cpu->r[1] = _t0;
/* 028CA34C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028CA34C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028CA350 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028CA350 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028CA354 */ _t3 = cpu->r[3] + 0x00000000u;
/* 028CA354 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
/* 028CA358 */ _t4 = cpu->r[12] + 0x00000064u;
/* 028CA358 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028CA35C */ cpu->ctr = cpu->r[0];
/* 028CA360 */ cpu->r[31] = cpu->r[3];
/* 028CA364 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CA368 */ cpu->r[4] = cpu->r[3];
/* 028CA368 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028CA36C */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CA36C */ _t6 = _t5 & 0x00000001u;
/* 028CA36C */ if (_t6) goto L_028CA37C; else goto L_028CA370;
L_028CA370: ; // 0x28ca370
/* 028CA370 */ cpu->r[5] = 0x00000001u;
/* 028CA374 */ cpu->r[3] = cpu->r[31] + 0x00000004u;
/* 028CA378 */ Gambit_fn_0280246C(cpu);
L_028CA37C: ; // 0x28ca37c
/* 028CA37C */ _t7 = cpu->r[1] + 0x00000014u;
/* 028CA37C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028CA380 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028CA380 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
/* 028CA384 */ cpu->lr = cpu->r[0];
/* 028CA388 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CA38C */ return;
}
// fn_028CA390 @ 0x28ca390
void Gambit_fn_028CA390(CPUState* cpu) {
uint32_t _t0;
L_028CA390: ; // 0x28ca390
/* 028CA390 */ cpu->r[0] = 0x00000000u;
/* 028CA394 */ _t0 = cpu->r[3] + 0x00000004u;
/* 028CA394 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028CA398 */ return;
}
// fn_028CA39C @ 0x28ca39c
void Gambit_fn_028CA39C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028CA39C: ; // 0x28ca39c
/* 028CA39C */ _t0 = cpu->r[3] + 0x00000004u;
/* 028CA39C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028CA3A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028CA3A4 */ cpu->r[0] = 0x00000000u;
/* 028CA3A8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA3A8 */ _t2 = _t1 & 0x00000001u;
/* 028CA3A8 */ if (_t2) goto L_028CA3B4; else goto L_028CA3AC;
L_028CA3AC: ; // 0x28ca3ac
/* 028CA3AC */ _t3 = cpu->r[3] + 0x0000000Cu;
/* 028CA3AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
/* 028CA3B0 */ _t4 = cpu->r[12] + 0x00000000u;
/* 028CA3B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
L_028CA3B4: ; // 0x28ca3b4
/* 028CA3B4 */ cpu->r[3] = cpu->r[0];
/* 028CA3B8 */ return;
}
// fn_028CA3BC @ 0x28ca3bc
void Gambit_fn_028CA3BC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028CA3BC: ; // 0x28ca3bc
/* 028CA3BC */ _t0 = cpu->r[3] + 0x00000004u;
/* 028CA3BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028CA3C0 */ cpu->r[11] = cpu->r[12] + 0xFFFFFFFFu;
/* 028CA3C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
/* 028CA3C8 */ cpu->r[0] = 0x00000000u;
/* 028CA3CC */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CA3CC */ _t2 = _t1 & 0x00000001u;
/* 028CA3CC */ if (_t2) goto L_028CA3D0; else goto L_028CA3DC;
L_028CA3D0: ; // 0x28ca3d0
/* 028CA3D0 */ _t3 = cpu->r[3] + 0x0000000Cu;
/* 028CA3D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
/* 028CA3D4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028CA3D8 */ _t4 = cpu->r[10] + cpu->r[12];
/* 028CA3D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
L_028CA3DC: ; // 0x28ca3dc
/* 028CA3DC */ cpu->r[3] = cpu->r[0];
/* 028CA3E0 */ return;
}
// fn_028CA3E4 @ 0x28ca3e4
void Gambit_fn_028CA3E4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
L_028CA3E4: ; // 0x28ca3e4
/* 028CA3E4 */ cpu->r[0] = cpu->lr;
/* 028CA3E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028CA3E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CA3E8 */ cpu->r[1] = _t0;
/* 028CA3EC */ _t1 = cpu->r[1] + 0x00000008u;
/* 028CA3EC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028CA3F0 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028CA3F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028CA3F4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028CA3F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028CA3F8 */ _t4 = cpu->r[3] + 0x00000000u;
/* 028CA3F8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t4);
/* 028CA3FC */ _t5 = cpu->r[7] + 0x00000064u;
/* 028CA3FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
/* 028CA400 */ cpu->ctr = cpu->r[9];
/* 028CA404 */ cpu->r[31] = cpu->r[3];
/* 028CA408 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CA40C */ _t6 = cpu->r[31] + 0x00000000u;
/* 028CA40C */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
/* 028CA410 */ _t7 = cpu->r[8] + 0x00000074u;
/* 028CA410 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
/* 028CA414 */ cpu->r[30] = cpu->r[3];
/* 028CA418 */ cpu->ctr = cpu->r[10];
/* 028CA41C */ cpu->r[3] = cpu->r[31];
/* 028CA420 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CA424 */ cpu->r[11] = cpu->r[3] + 0xFFFFFFFFu;
/* 028CA428 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
/* 028CA42C */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CA42C */ _t9 = _t8 & 0x00000001u;
/* 028CA42C */ if (_t9) goto L_028CA430; else goto L_028CA460;
L_028CA430: ; // 0x28ca430
/* 028CA430 */ _t10 = cpu->r[31] + 0x00000000u;
/* 028CA430 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
/* 028CA434 */ _t11 = cpu->r[12] + 0x0000006Cu;
/* 028CA434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028CA438 */ cpu->ctr = cpu->r[0];
/* 028CA43C */ cpu->r[3] = cpu->r[31];
/* 028CA440 */ cpu->r[4] = cpu->r[30] + 0x00000001u;
/* 028CA444 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CA448 */ _t12 = cpu->r[1] + 0x00000014u;
/* 028CA448 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028CA44C */ _t13 = cpu->r[1] + 0x00000008u;
/* 028CA44C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
/* 028CA450 */ cpu->lr = cpu->r[0];
/* 028CA454 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028CA454 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028CA458 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CA45C */ return;
L_028CA460: ; // 0x28ca460
/* 028CA460 */ _t15 = cpu->r[1] + 0x00000014u;
/* 028CA460 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028CA464 */ _t16 = cpu->r[1] + 0x00000008u;
/* 028CA464 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
/* 028CA468 */ cpu->lr = cpu->r[0];
/* 028CA46C */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028CA46C */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
/* 028CA470 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CA474 */ cpu->r[3] = 0x00000000u;
/* 028CA478 */ return;
}
// fn_028CA3E8 @ 0x28ca3e8
void Gambit_fn_028CA3E8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
L_028CA3E8: ; // 0x28ca3e8
/* 028CA3E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028CA3E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CA3E8 */ cpu->r[1] = _t0;
/* 028CA3EC */ _t1 = cpu->r[1] + 0x00000008u;
/* 028CA3EC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028CA3F0 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028CA3F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028CA3F4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028CA3F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028CA3F8 */ _t4 = cpu->r[3] + 0x00000000u;
/* 028CA3F8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t4);
/* 028CA3FC */ _t5 = cpu->r[7] + 0x00000064u;
/* 028CA3FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
/* 028CA400 */ cpu->ctr = cpu->r[9];
/* 028CA404 */ cpu->r[31] = cpu->r[3];
/* 028CA408 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CA40C */ _t6 = cpu->r[31] + 0x00000000u;
/* 028CA40C */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
/* 028CA410 */ _t7 = cpu->r[8] + 0x00000074u;
/* 028CA410 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
/* 028CA414 */ cpu->r[30] = cpu->r[3];
/* 028CA418 */ cpu->ctr = cpu->r[10];
/* 028CA41C */ cpu->r[3] = cpu->r[31];
/* 028CA420 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CA424 */ cpu->r[11] = cpu->r[3] + 0xFFFFFFFFu;
/* 028CA428 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
/* 028CA42C */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CA42C */ _t9 = _t8 & 0x00000001u;
/* 028CA42C */ if (_t9) goto L_028CA430; else goto L_028CA460;
L_028CA430: ; // 0x28ca430
/* 028CA430 */ _t10 = cpu->r[31] + 0x00000000u;
/* 028CA430 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
/* 028CA434 */ _t11 = cpu->r[12] + 0x0000006Cu;
/* 028CA434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028CA438 */ cpu->ctr = cpu->r[0];
/* 028CA43C */ cpu->r[3] = cpu->r[31];
/* 028CA440 */ cpu->r[4] = cpu->r[30] + 0x00000001u;
/* 028CA444 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CA448 */ _t12 = cpu->r[1] + 0x00000014u;
/* 028CA448 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028CA44C */ _t13 = cpu->r[1] + 0x00000008u;
/* 028CA44C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
/* 028CA450 */ cpu->lr = cpu->r[0];
/* 028CA454 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028CA454 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028CA458 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CA45C */ return;
L_028CA460: ; // 0x28ca460
/* 028CA460 */ _t15 = cpu->r[1] + 0x00000014u;
/* 028CA460 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028CA464 */ _t16 = cpu->r[1] + 0x00000008u;
/* 028CA464 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
/* 028CA468 */ cpu->lr = cpu->r[0];
/* 028CA46C */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028CA46C */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
/* 028CA470 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CA474 */ cpu->r[3] = 0x00000000u;
/* 028CA478 */ return;
}
// fn_028CA47C @ 0x28ca47c
void Gambit_fn_028CA47C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
L_028CA47C: ; // 0x28ca47c
/* 028CA47C */ _t0 = cpu->r[3] + 0x00000004u;
/* 028CA47C */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
/* 028CA480 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028CA484 */ cpu->r[12] = 0x00000000u;
/* 028CA488 */ _t1 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CA488 */ _t2 = _t1 & 0x00000001u;
/* 028CA488 */ if (_t2) goto L_028CA48C; else goto L_028CA4AC;
L_028CA48C: ; // 0x28ca48c
/* 028CA48C */ _t3 = cpu->r[3] + 0x0000000Cu;
/* 028CA48C */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
/* 028CA490 */ cpu->ctr = cpu->r[9];
/* 028CA494 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFCu;
L_028CA498: ; // 0x28ca498
/* 028CA498 */ _t4 = cpu->r[10] + 0x00000004u;
/* 028CA498 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028CA498 */ cpu->r[10] = _t4;
/* 028CA49C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
/* 028CA4A0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA4A0 */ _t6 = _t5 & 0x00000001u;
/* 028CA4A0 */ if (_t6) goto L_028CA4B0; else goto L_028CA4A4;
L_028CA4A4: ; // 0x28ca4a4
/* 028CA4A4 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028CA4A8 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028CA4A8 */ _t7 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028CA4A8 */ _t8 = _t7 >> (0x00000002u & 31u);
/* 028CA4A8 */ _t9 = _t8 & 0x00000001u;
/* 028CA4A8 */ if (_t9) goto L_028CA498; else goto L_028CA4AC;
L_028CA4AC: ; // 0x28ca4ac
/* 028CA4AC */ cpu->r[12] = 0xFFFFFFFFu;
L_028CA4B0: ; // 0x28ca4b0
/* 028CA4B0 */ cpu->r[3] = cpu->r[12];
/* 028CA4B4 */ return;
}
// fn_028CA4B8 @ 0x28ca4b8
void Gambit_fn_028CA4B8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028CA4B8: ; // 0x28ca4b8
/* 028CA4B8 */ _t0 = cpu->r[3] + 0x00000004u;
/* 028CA4B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
/* 028CA4BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
/* 028CA4C0 */ cpu->r[0] = 0x00000000u;
/* 028CA4C4 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CA4C4 */ _t2 = _t1 & 0x00000001u;
/* 028CA4C4 */ if (_t2) goto L_028CA4C8; else goto L_028CA4D4;
L_028CA4C8: ; // 0x28ca4c8
/* 028CA4C8 */ _t3 = cpu->r[3] + 0x0000000Cu;
/* 028CA4C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
/* 028CA4CC */ cpu->r[11] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028CA4D0 */ _t4 = cpu->r[11] + cpu->r[12];
/* 028CA4D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
L_028CA4D4: ; // 0x28ca4d4
/* 028CA4D4 */ cpu->r[3] = cpu->r[0];
/* 028CA4D8 */ return;
}
// fn_028CA4DC @ 0x28ca4dc
void Gambit_fn_028CA4DC(CPUState* cpu) {
uint32_t _t0;
L_028CA4DC: ; // 0x28ca4dc
/* 028CA4DC */ _t0 = cpu->r[3] + 0x00000004u;
/* 028CA4DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
/* 028CA4E0 */ return;
}
// fn_028CA4E4 @ 0x28ca4e4
void Gambit_fn_028CA4E4(CPUState* cpu) {
uint32_t _t0;
L_028CA4E4: ; // 0x28ca4e4
/* 028CA4E4 */ _t0 = cpu->r[3] + 0x00000004u;
/* 028CA4E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
/* 028CA4E8 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
/* 028CA4EC */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
/* 028CA4F0 */ return;
}
// fn_028CA4F4 @ 0x28ca4f4
void Gambit_fn_028CA4F4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
L_028CA4F4: ; // 0x28ca4f4
/* 028CA4F4 */ cpu->r[0] = cpu->lr;
/* 028CA4F8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028CA4F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CA4F8 */ cpu->r[1] = _t0;
/* 028CA4FC */ _t1 = cpu->r[1] + 0x00000008u;
/* 028CA4FC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028CA500 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028CA500 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028CA504 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028CA504 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028CA508 */ _t4 = cpu->r[3] + 0x00000000u;
/* 028CA508 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
/* 028CA50C */ _t5 = cpu->r[10] + 0x0000007Cu;
/* 028CA50C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028CA510 */ cpu->ctr = cpu->r[0];
/* 028CA514 */ cpu->r[30] = cpu->r[3];
/* 028CA518 */ cpu->r[31] = cpu->r[4];
/* 028CA51C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CA520 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CA524 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA524 */ _t7 = _t6 & 0x00000001u;
/* 028CA524 */ if (_t7) goto L_028CA528; else goto L_028CA56C;
L_028CA528: ; // 0x28ca528
/* 028CA528 */ _t8 = cpu->r[30] + 0x00000000u;
/* 028CA528 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
/* 028CA52C */ _t9 = cpu->r[12] + 0x00000074u;
/* 028CA52C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028CA530 */ cpu->ctr = cpu->r[0];
/* 028CA534 */ cpu->r[3] = cpu->r[30];
/* 028CA538 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CA53C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000064u);
/* 028CA540 */ cpu->r[3] = cpu->r[30] + 0x00000004u;
/* 028CA544 */ cpu->r[4] = cpu->r[31];
/* 028CA548 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CA548 */ _t11 = _t10 & 0x00000001u;
/* 028CA548 */ if (_t11) goto L_028CA54C; else goto L_028CA568;
L_028CA54C: ; // 0x28ca54c
/* 028CA54C */ Gambit_fn_02802748(cpu);
/* 028CA550 */ _t12 = cpu->r[1] + 0x00000014u;
/* 028CA550 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028CA554 */ _t13 = cpu->r[1] + 0x00000008u;
/* 028CA554 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
/* 028CA558 */ cpu->lr = cpu->r[0];
/* 028CA55C */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028CA55C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028CA560 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CA564 */ return;
L_028CA568: ; // 0x28ca568
/* 028CA568 */ Gambit_fn_02802640(cpu);
L_028CA56C: ; // 0x28ca56c
/* 028CA56C */ _t15 = cpu->r[1] + 0x00000014u;
/* 028CA56C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028CA570 */ _t16 = cpu->r[1] + 0x00000008u;
/* 028CA570 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
/* 028CA574 */ cpu->lr = cpu->r[0];
/* 028CA578 */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028CA578 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
/* 028CA57C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CA580 */ return;
}
// fn_028CA4F8 @ 0x28ca4f8
void Gambit_fn_028CA4F8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
L_028CA4F8: ; // 0x28ca4f8
/* 028CA4F8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028CA4F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CA4F8 */ cpu->r[1] = _t0;
/* 028CA4FC */ _t1 = cpu->r[1] + 0x00000008u;
/* 028CA4FC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028CA500 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028CA500 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028CA504 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028CA504 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028CA508 */ _t4 = cpu->r[3] + 0x00000000u;
/* 028CA508 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
/* 028CA50C */ _t5 = cpu->r[10] + 0x0000007Cu;
/* 028CA50C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028CA510 */ cpu->ctr = cpu->r[0];
/* 028CA514 */ cpu->r[30] = cpu->r[3];
/* 028CA518 */ cpu->r[31] = cpu->r[4];
/* 028CA51C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CA520 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CA524 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA524 */ _t7 = _t6 & 0x00000001u;
/* 028CA524 */ if (_t7) goto L_028CA528; else goto L_028CA56C;
L_028CA528: ; // 0x28ca528
/* 028CA528 */ _t8 = cpu->r[30] + 0x00000000u;
/* 028CA528 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
/* 028CA52C */ _t9 = cpu->r[12] + 0x00000074u;
/* 028CA52C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028CA530 */ cpu->ctr = cpu->r[0];
/* 028CA534 */ cpu->r[3] = cpu->r[30];
/* 028CA538 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CA53C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000064u);
/* 028CA540 */ cpu->r[3] = cpu->r[30] + 0x00000004u;
/* 028CA544 */ cpu->r[4] = cpu->r[31];
/* 028CA548 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CA548 */ _t11 = _t10 & 0x00000001u;
/* 028CA548 */ if (_t11) goto L_028CA54C; else goto L_028CA568;
L_028CA54C: ; // 0x28ca54c
/* 028CA54C */ Gambit_fn_02802748(cpu);
/* 028CA550 */ _t12 = cpu->r[1] + 0x00000014u;
/* 028CA550 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028CA554 */ _t13 = cpu->r[1] + 0x00000008u;
/* 028CA554 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
/* 028CA558 */ cpu->lr = cpu->r[0];
/* 028CA55C */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028CA55C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028CA560 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CA564 */ return;
L_028CA568: ; // 0x28ca568
/* 028CA568 */ Gambit_fn_02802640(cpu);
L_028CA56C: ; // 0x28ca56c
/* 028CA56C */ _t15 = cpu->r[1] + 0x00000014u;
/* 028CA56C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028CA570 */ _t16 = cpu->r[1] + 0x00000008u;
/* 028CA570 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
/* 028CA574 */ cpu->lr = cpu->r[0];
/* 028CA578 */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028CA578 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
/* 028CA57C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CA580 */ return;
}
// fn_028CA584 @ 0x28ca584
void Gambit_fn_028CA584(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
L_028CA584: ; // 0x28ca584
/* 028CA584 */ cpu->r[0] = cpu->lr;
/* 028CA588 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028CA588 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CA588 */ cpu->r[1] = _t0;
/* 028CA58C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028CA58C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028CA590 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028CA590 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028CA594 */ cpu->r[30] = cpu->r[3];
/* 028CA594 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028CA598 */ cpu->r[31] = cpu->r[4];
/* 028CA59C */ _t3 = cpu->r[1] + 0x00000014u;
/* 028CA59C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028CA5A0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA5A0 */ _t5 = _t4 & 0x00000001u;
/* 028CA5A0 */ if (_t5) goto L_028CA5C0; else goto L_028CA5A4;
L_028CA5A4: ; // 0x28ca5a4
/* 028CA5A4 */ cpu->r[3] = cpu->r[30] + 0x00000014u;
/* 028CA5A8 */ cpu->r[4] = 0x00000002u;
/* 028CA5AC */ Gambit_fn_02836FA8(cpu);
/* 028CA5B0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CA5B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CA5B4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA5B4 */ _t7 = _t6 & 0x00000001u;
/* 028CA5B4 */ if (_t7) goto L_028CA5C0; else goto L_028CA5B8;
L_028CA5B8: ; // 0x28ca5b8
/* 028CA5B8 */ cpu->r[3] = cpu->r[30];
/* 028CA5BC */ Gambit_fn_02801BB0(cpu);
L_028CA5C0: ; // 0x28ca5c0
/* 028CA5C0 */ _t8 = cpu->r[1] + 0x00000014u;
/* 028CA5C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028CA5C4 */ _t9 = cpu->r[1] + 0x00000008u;
/* 028CA5C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
/* 028CA5C8 */ cpu->lr = cpu->r[0];
/* 028CA5CC */ _t10 = cpu->r[1] + 0x0000000Cu;
/* 028CA5CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
/* 028CA5D0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CA5D4 */ return;
}
// fn_028CA588 @ 0x28ca588
void Gambit_fn_028CA588(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
L_028CA588: ; // 0x28ca588
/* 028CA588 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028CA588 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CA588 */ cpu->r[1] = _t0;
/* 028CA58C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028CA58C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028CA590 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028CA590 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028CA594 */ cpu->r[30] = cpu->r[3];
/* 028CA594 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028CA598 */ cpu->r[31] = cpu->r[4];
/* 028CA59C */ _t3 = cpu->r[1] + 0x00000014u;
/* 028CA59C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028CA5A0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA5A0 */ _t5 = _t4 & 0x00000001u;
/* 028CA5A0 */ if (_t5) goto L_028CA5C0; else goto L_028CA5A4;
L_028CA5A4: ; // 0x28ca5a4
/* 028CA5A4 */ cpu->r[3] = cpu->r[30] + 0x00000014u;
/* 028CA5A8 */ cpu->r[4] = 0x00000002u;
/* 028CA5AC */ Gambit_fn_02836FA8(cpu);
/* 028CA5B0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CA5B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CA5B4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA5B4 */ _t7 = _t6 & 0x00000001u;
/* 028CA5B4 */ if (_t7) goto L_028CA5C0; else goto L_028CA5B8;
L_028CA5B8: ; // 0x28ca5b8
/* 028CA5B8 */ cpu->r[3] = cpu->r[30];
/* 028CA5BC */ Gambit_fn_02801BB0(cpu);
L_028CA5C0: ; // 0x28ca5c0
/* 028CA5C0 */ _t8 = cpu->r[1] + 0x00000014u;
/* 028CA5C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028CA5C4 */ _t9 = cpu->r[1] + 0x00000008u;
/* 028CA5C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
/* 028CA5C8 */ cpu->lr = cpu->r[0];
/* 028CA5CC */ _t10 = cpu->r[1] + 0x0000000Cu;
/* 028CA5CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
/* 028CA5D0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CA5D4 */ return;
}
// fn_028CA5D8 @ 0x28ca5d8
void Gambit_fn_028CA5D8(CPUState* cpu) {
L_028CA5D8: ; // 0x28ca5d8
/* 028CA5D8 */ cpu->r[3] = cpu->r[3] + 0x00000010u;
/* 028CA5DC */ return;
}
// fn_028CA5E0 @ 0x28ca5e0
void Gambit_fn_028CA5E0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028CA5E0: ; // 0x28ca5e0
/* 028CA5E0 */ cpu->r[0] = cpu->lr;
/* 028CA5E4 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028CA5E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028CA5E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CA5EC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028CA5EC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028CA5EC */ cpu->r[1] = _t1;
/* 028CA5F0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA5F0 */ _t3 = _t2 & 0x00000001u;
/* 028CA5F0 */ if (_t3) goto L_028CA5F4; else goto L_028CA604;
L_028CA5F4: ; // 0x28ca5f4
/* 028CA5F4 */ cpu->r[3] = 0x00000014u;
/* 028CA5F8 */ Gambit_fn_02801A78(cpu);
/* 028CA5FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CA600 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA600 */ _t5 = _t4 & 0x00000001u;
/* 028CA600 */ if (_t5) goto L_028CA624; else goto L_028CA604;
L_028CA604: ; // 0x28ca604
/* 028CA604 */ cpu->r[0] = 0x10140000u;
/* 028CA608 */ cpu->r[12] = 0x00000000u;
/* 028CA60C */ cpu->r[0] = cpu->r[0] + 0xFFFF9D34u;
/* 028CA610 */ _t6 = cpu->r[3] + 0x00000000u;
/* 028CA610 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[12]);
/* 028CA614 */ _t7 = cpu->r[3] + 0x00000010u;
/* 028CA614 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028CA618 */ _t8 = cpu->r[3] + 0x00000008u;
/* 028CA618 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
/* 028CA61C */ _t9 = cpu->r[3] + 0x0000000Cu;
/* 028CA61C */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
/* 028CA620 */ _t10 = cpu->r[3] + 0x00000004u;
/* 028CA620 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
L_028CA624: ; // 0x28ca624
/* 028CA624 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028CA624 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028CA628 */ cpu->lr = cpu->r[0];
/* 028CA62C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028CA630 */ return;
}
// fn_028CA5EC @ 0x28ca5ec
void Gambit_fn_028CA5EC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
L_028CA5EC: ; // 0x28ca5ec
/* 028CA5EC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028CA5EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CA5EC */ cpu->r[1] = _t0;
/* 028CA5F0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA5F0 */ _t2 = _t1 & 0x00000001u;
/* 028CA5F0 */ if (_t2) goto L_028CA5F4; else goto L_028CA604;
L_028CA5F4: ; // 0x28ca5f4
/* 028CA5F4 */ cpu->r[3] = 0x00000014u;
/* 028CA5F8 */ Gambit_fn_02801A78(cpu);
/* 028CA5FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CA600 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA600 */ _t4 = _t3 & 0x00000001u;
/* 028CA600 */ if (_t4) goto L_028CA624; else goto L_028CA604;
L_028CA604: ; // 0x28ca604
/* 028CA604 */ cpu->r[0] = 0x10140000u;
/* 028CA608 */ cpu->r[12] = 0x00000000u;
/* 028CA60C */ cpu->r[0] = cpu->r[0] + 0xFFFF9D34u;
/* 028CA610 */ _t5 = cpu->r[3] + 0x00000000u;
/* 028CA610 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[12]);
/* 028CA614 */ _t6 = cpu->r[3] + 0x00000010u;
/* 028CA614 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028CA618 */ _t7 = cpu->r[3] + 0x00000008u;
/* 028CA618 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
/* 028CA61C */ _t8 = cpu->r[3] + 0x0000000Cu;
/* 028CA61C */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
/* 028CA620 */ _t9 = cpu->r[3] + 0x00000004u;
/* 028CA620 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
L_028CA624: ; // 0x28ca624
/* 028CA624 */ _t10 = cpu->r[1] + 0x0000000Cu;
/* 028CA624 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028CA628 */ cpu->lr = cpu->r[0];
/* 028CA62C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028CA630 */ return;
}
// fn_028CA634 @ 0x28ca634
void Gambit_fn_028CA634(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _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_028CA634: ; // 0x28ca634
/* 028CA634 */ cpu->r[0] = cpu->lr;
/* 028CA638 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028CA638 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CA638 */ cpu->r[1] = _t0;
/* 028CA63C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028CA63C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028CA640 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028CA640 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
/* 028CA644 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028CA644 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028CA648 */ _t4 = cpu->r[1] + 0x00000010u;
/* 028CA648 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
/* 028CA64C */ cpu->r[31] = cpu->r[3];
/* 028CA650 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028CA650 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028CA654 */ _t6 = cpu->r[31] + 0x00000000u;
/* 028CA654 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
/* 028CA658 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CA65C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA65C */ _t8 = _t7 & 0x00000001u;
/* 028CA65C */ if (_t8) goto L_028CA7C8; else goto L_028CA660;
L_028CA660: ; // 0x28ca660
/* 028CA660 */ _t9 = cpu->r[31] + 0x00000004u;
/* 028CA660 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
/* 028CA664 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028CA668 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA668 */ _t11 = _t10 & 0x00000001u;
/* 028CA668 */ if (_t11) goto L_028CA690; else goto L_028CA66C;
L_028CA66C: ; // 0x28ca66c
/* 028CA66C */ _t12 = cpu->r[30] + 0x00000000u;
/* 028CA66C */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
/* 028CA670 */ _t13 = cpu->r[8] + 0x0000008Cu;
/* 028CA670 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
/* 028CA674 */ cpu->ctr = cpu->r[10];
/* 028CA678 */ cpu->r[3] = cpu->r[30];
/* 028CA67C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CA680 */ _t14 = cpu->r[3] + 0x00000000u;
/* 028CA680 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
/* 028CA684 */ _t15 = cpu->r[9] + 0x00000014u;
/* 028CA684 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028CA688 */ cpu->ctr = cpu->r[0];
/* 028CA68C */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CA690: ; // 0x28ca690
/* 028CA690 */ _t16 = cpu->r[31] + 0x00000008u;
/* 028CA690 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
/* 028CA694 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028CA698 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA698 */ _t18 = _t17 & 0x00000001u;
/* 028CA698 */ if (_t18) goto L_028CA6C0; else goto L_028CA69C;
L_028CA69C: ; // 0x28ca69c
/* 028CA69C */ _t19 = cpu->r[29] + 0x00000000u;
/* 028CA69C */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
/* 028CA6A0 */ _t20 = cpu->r[12] + 0x0000008Cu;
/* 028CA6A0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t20);
/* 028CA6A4 */ cpu->ctr = cpu->r[7];
/* 028CA6A8 */ cpu->r[3] = cpu->r[29];
/* 028CA6AC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CA6B0 */ _t21 = cpu->r[3] + 0x00000000u;
/* 028CA6B0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
/* 028CA6B4 */ _t22 = cpu->r[8] + 0x00000014u;
/* 028CA6B4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
/* 028CA6B8 */ cpu->ctr = cpu->r[9];
/* 028CA6BC */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CA6C0: ; // 0x28ca6c0
/* 028CA6C0 */ _t23 = cpu->r[31] + 0x0000000Cu;
/* 028CA6C0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t23);
/* 028CA6C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028CA6C8 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA6C8 */ _t25 = _t24 & 0x00000001u;
/* 028CA6C8 */ if (_t25) goto L_028CA6F0; else goto L_028CA6CC;
L_028CA6CC: ; // 0x28ca6cc
/* 028CA6CC */ _t26 = cpu->r[28] + 0x00000000u;
/* 028CA6CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t26);
/* 028CA6D0 */ _t27 = cpu->r[10] + 0x0000008Cu;
/* 028CA6D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
/* 028CA6D4 */ cpu->ctr = cpu->r[0];
/* 028CA6D8 */ cpu->r[3] = cpu->r[28];
/* 028CA6DC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CA6E0 */ _t28 = cpu->r[3] + 0x00000000u;
/* 028CA6E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
/* 028CA6E4 */ _t29 = cpu->r[12] + 0x00000014u;
/* 028CA6E4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t29);
/* 028CA6E8 */ cpu->ctr = cpu->r[5];
/* 028CA6EC */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CA6F0: ; // 0x28ca6f0
/* 028CA6F0 */ _t30 = cpu->r[31] + 0x00000004u;
/* 028CA6F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
/* 028CA6F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CA6F8 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA6F8 */ _t32 = _t31 & 0x00000001u;
/* 028CA6F8 */ if (_t32) goto L_028CA70C; else goto L_028CA6FC;
L_028CA6FC: ; // 0x28ca6fc
/* 028CA6FC */ _t33 = cpu->r[3] + 0x00000000u;
/* 028CA6FC */ cpu->r[6] = rbrew_read32(cpu->mem, _t33);
/* 028CA700 */ _t34 = cpu->r[6] + 0x0000003Cu;
/* 028CA700 */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
/* 028CA704 */ cpu->ctr = cpu->r[7];
/* 028CA708 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CA70C: ; // 0x28ca70c
/* 028CA70C */ _t35 = cpu->r[31] + 0x00000008u;
/* 028CA70C */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
/* 028CA710 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CA714 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA714 */ _t37 = _t36 & 0x00000001u;
/* 028CA714 */ if (_t37) goto L_028CA728; else goto L_028CA718;
L_028CA718: ; // 0x28ca718
/* 028CA718 */ _t38 = cpu->r[3] + 0x00000000u;
/* 028CA718 */ cpu->r[8] = rbrew_read32(cpu->mem, _t38);
/* 028CA71C */ _t39 = cpu->r[8] + 0x0000003Cu;
/* 028CA71C */ cpu->r[9] = rbrew_read32(cpu->mem, _t39);
/* 028CA720 */ cpu->ctr = cpu->r[9];
/* 028CA724 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CA728: ; // 0x28ca728
/* 028CA728 */ _t40 = cpu->r[31] + 0x0000000Cu;
/* 028CA728 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
/* 028CA72C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CA730 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA730 */ _t42 = _t41 & 0x00000001u;
/* 028CA730 */ if (_t42) goto L_028CA744; else goto L_028CA734;
L_028CA734: ; // 0x28ca734
/* 028CA734 */ _t43 = cpu->r[3] + 0x00000000u;
/* 028CA734 */ cpu->r[10] = rbrew_read32(cpu->mem, _t43);
/* 028CA738 */ _t44 = cpu->r[10] + 0x0000003Cu;
/* 028CA738 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
/* 028CA73C */ cpu->ctr = cpu->r[0];
/* 028CA740 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CA744: ; // 0x28ca744
/* 028CA744 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028CA748 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA748 */ _t46 = _t45 & 0x00000001u;
/* 028CA748 */ if (_t46) goto L_028CA770; else goto L_028CA74C;
L_028CA74C: ; // 0x28ca74c
/* 028CA74C */ _t47 = cpu->r[28] + 0x00000000u;
/* 028CA74C */ cpu->r[12] = rbrew_read32(cpu->mem, _t47);
/* 028CA750 */ _t48 = cpu->r[12] + 0x0000008Cu;
/* 028CA750 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
/* 028CA754 */ cpu->ctr = cpu->r[0];
/* 028CA758 */ cpu->r[3] = cpu->r[28];
/* 028CA75C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CA760 */ _t49 = cpu->r[3] + 0x00000000u;
/* 028CA760 */ cpu->r[6] = rbrew_read32(cpu->mem, _t49);
/* 028CA764 */ _t50 = cpu->r[6] + 0x0000001Cu;
/* 028CA764 */ cpu->r[7] = rbrew_read32(cpu->mem, _t50);
/* 028CA768 */ cpu->ctr = cpu->r[7];
/* 028CA76C */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CA770: ; // 0x28ca770
/* 028CA770 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028CA774 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA774 */ _t52 = _t51 & 0x00000001u;
/* 028CA774 */ if (_t52) goto L_028CA79C; else goto L_028CA778;
L_028CA778: ; // 0x28ca778
/* 028CA778 */ _t53 = cpu->r[29] + 0x00000000u;
/* 028CA778 */ cpu->r[8] = rbrew_read32(cpu->mem, _t53);
/* 028CA77C */ _t54 = cpu->r[8] + 0x0000008Cu;
/* 028CA77C */ cpu->r[9] = rbrew_read32(cpu->mem, _t54);
/* 028CA780 */ cpu->ctr = cpu->r[9];
/* 028CA784 */ cpu->r[3] = cpu->r[29];
/* 028CA788 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CA78C */ _t55 = cpu->r[3] + 0x00000000u;
/* 028CA78C */ cpu->r[10] = rbrew_read32(cpu->mem, _t55);
/* 028CA790 */ _t56 = cpu->r[10] + 0x0000001Cu;
/* 028CA790 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
/* 028CA794 */ cpu->ctr = cpu->r[0];
/* 028CA798 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CA79C: ; // 0x28ca79c
/* 028CA79C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028CA7A0 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA7A0 */ _t58 = _t57 & 0x00000001u;
/* 028CA7A0 */ if (_t58) goto L_028CA7C8; else goto L_028CA7A4;
L_028CA7A4: ; // 0x28ca7a4
/* 028CA7A4 */ _t59 = cpu->r[30] + 0x00000000u;
/* 028CA7A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t59);
/* 028CA7A8 */ _t60 = cpu->r[12] + 0x0000008Cu;
/* 028CA7A8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t60);
/* 028CA7AC */ cpu->ctr = cpu->r[5];
/* 028CA7B0 */ cpu->r[3] = cpu->r[30];
/* 028CA7B4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CA7B8 */ _t61 = cpu->r[3] + 0x00000000u;
/* 028CA7B8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t61);
/* 028CA7BC */ _t62 = cpu->r[6] + 0x0000001Cu;
/* 028CA7BC */ cpu->r[7] = rbrew_read32(cpu->mem, _t62);
/* 028CA7C0 */ cpu->ctr = cpu->r[7];
/* 028CA7C4 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CA7C8: ; // 0x28ca7c8
/* 028CA7C8 */ _t63 = cpu->r[1] + 0x00000008u;
/* 028CA7C8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t63);
/* 028CA7CC */ _t64 = cpu->r[1] + 0x0000000Cu;
/* 028CA7CC */ cpu->r[29] = rbrew_read32(cpu->mem, _t64);
/* 028CA7D0 */ _t65 = cpu->r[1] + 0x0000001Cu;
/* 028CA7D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
/* 028CA7D4 */ _t66 = cpu->r[1] + 0x00000010u;
/* 028CA7D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t66);
/* 028CA7D8 */ cpu->lr = cpu->r[0];
/* 028CA7DC */ _t67 = cpu->r[1] + 0x00000014u;
/* 028CA7DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t67);
/* 028CA7E0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028CA7E4 */ return;
}
// fn_028CA638 @ 0x28ca638
void Gambit_fn_028CA638(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _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_028CA638: ; // 0x28ca638
/* 028CA638 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028CA638 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CA638 */ cpu->r[1] = _t0;
/* 028CA63C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028CA63C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028CA640 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028CA640 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
/* 028CA644 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028CA644 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028CA648 */ _t4 = cpu->r[1] + 0x00000010u;
/* 028CA648 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
/* 028CA64C */ cpu->r[31] = cpu->r[3];
/* 028CA650 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028CA650 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028CA654 */ _t6 = cpu->r[31] + 0x00000000u;
/* 028CA654 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
/* 028CA658 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CA65C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA65C */ _t8 = _t7 & 0x00000001u;
/* 028CA65C */ if (_t8) goto L_028CA7C8; else goto L_028CA660;
L_028CA660: ; // 0x28ca660
/* 028CA660 */ _t9 = cpu->r[31] + 0x00000004u;
/* 028CA660 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
/* 028CA664 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028CA668 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA668 */ _t11 = _t10 & 0x00000001u;
/* 028CA668 */ if (_t11) goto L_028CA690; else goto L_028CA66C;
L_028CA66C: ; // 0x28ca66c
/* 028CA66C */ _t12 = cpu->r[30] + 0x00000000u;
/* 028CA66C */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
/* 028CA670 */ _t13 = cpu->r[8] + 0x0000008Cu;
/* 028CA670 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
/* 028CA674 */ cpu->ctr = cpu->r[10];
/* 028CA678 */ cpu->r[3] = cpu->r[30];
/* 028CA67C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CA680 */ _t14 = cpu->r[3] + 0x00000000u;
/* 028CA680 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
/* 028CA684 */ _t15 = cpu->r[9] + 0x00000014u;
/* 028CA684 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028CA688 */ cpu->ctr = cpu->r[0];
/* 028CA68C */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CA690: ; // 0x28ca690
/* 028CA690 */ _t16 = cpu->r[31] + 0x00000008u;
/* 028CA690 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
/* 028CA694 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028CA698 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA698 */ _t18 = _t17 & 0x00000001u;
/* 028CA698 */ if (_t18) goto L_028CA6C0; else goto L_028CA69C;
L_028CA69C: ; // 0x28ca69c
/* 028CA69C */ _t19 = cpu->r[29] + 0x00000000u;
/* 028CA69C */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
/* 028CA6A0 */ _t20 = cpu->r[12] + 0x0000008Cu;
/* 028CA6A0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t20);
/* 028CA6A4 */ cpu->ctr = cpu->r[7];
/* 028CA6A8 */ cpu->r[3] = cpu->r[29];
/* 028CA6AC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CA6B0 */ _t21 = cpu->r[3] + 0x00000000u;
/* 028CA6B0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
/* 028CA6B4 */ _t22 = cpu->r[8] + 0x00000014u;
/* 028CA6B4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
/* 028CA6B8 */ cpu->ctr = cpu->r[9];
/* 028CA6BC */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CA6C0: ; // 0x28ca6c0
/* 028CA6C0 */ _t23 = cpu->r[31] + 0x0000000Cu;
/* 028CA6C0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t23);
/* 028CA6C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028CA6C8 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA6C8 */ _t25 = _t24 & 0x00000001u;
/* 028CA6C8 */ if (_t25) goto L_028CA6F0; else goto L_028CA6CC;
L_028CA6CC: ; // 0x28ca6cc
/* 028CA6CC */ _t26 = cpu->r[28] + 0x00000000u;
/* 028CA6CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t26);
/* 028CA6D0 */ _t27 = cpu->r[10] + 0x0000008Cu;
/* 028CA6D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
/* 028CA6D4 */ cpu->ctr = cpu->r[0];
/* 028CA6D8 */ cpu->r[3] = cpu->r[28];
/* 028CA6DC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CA6E0 */ _t28 = cpu->r[3] + 0x00000000u;
/* 028CA6E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
/* 028CA6E4 */ _t29 = cpu->r[12] + 0x00000014u;
/* 028CA6E4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t29);
/* 028CA6E8 */ cpu->ctr = cpu->r[5];
/* 028CA6EC */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CA6F0: ; // 0x28ca6f0
/* 028CA6F0 */ _t30 = cpu->r[31] + 0x00000004u;
/* 028CA6F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
/* 028CA6F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CA6F8 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA6F8 */ _t32 = _t31 & 0x00000001u;
/* 028CA6F8 */ if (_t32) goto L_028CA70C; else goto L_028CA6FC;
L_028CA6FC: ; // 0x28ca6fc
/* 028CA6FC */ _t33 = cpu->r[3] + 0x00000000u;
/* 028CA6FC */ cpu->r[6] = rbrew_read32(cpu->mem, _t33);
/* 028CA700 */ _t34 = cpu->r[6] + 0x0000003Cu;
/* 028CA700 */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
/* 028CA704 */ cpu->ctr = cpu->r[7];
/* 028CA708 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CA70C: ; // 0x28ca70c
/* 028CA70C */ _t35 = cpu->r[31] + 0x00000008u;
/* 028CA70C */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
/* 028CA710 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CA714 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA714 */ _t37 = _t36 & 0x00000001u;
/* 028CA714 */ if (_t37) goto L_028CA728; else goto L_028CA718;
L_028CA718: ; // 0x28ca718
/* 028CA718 */ _t38 = cpu->r[3] + 0x00000000u;
/* 028CA718 */ cpu->r[8] = rbrew_read32(cpu->mem, _t38);
/* 028CA71C */ _t39 = cpu->r[8] + 0x0000003Cu;
/* 028CA71C */ cpu->r[9] = rbrew_read32(cpu->mem, _t39);
/* 028CA720 */ cpu->ctr = cpu->r[9];
/* 028CA724 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CA728: ; // 0x28ca728
/* 028CA728 */ _t40 = cpu->r[31] + 0x0000000Cu;
/* 028CA728 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
/* 028CA72C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CA730 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA730 */ _t42 = _t41 & 0x00000001u;
/* 028CA730 */ if (_t42) goto L_028CA744; else goto L_028CA734;
L_028CA734: ; // 0x28ca734
/* 028CA734 */ _t43 = cpu->r[3] + 0x00000000u;
/* 028CA734 */ cpu->r[10] = rbrew_read32(cpu->mem, _t43);
/* 028CA738 */ _t44 = cpu->r[10] + 0x0000003Cu;
/* 028CA738 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
/* 028CA73C */ cpu->ctr = cpu->r[0];
/* 028CA740 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CA744: ; // 0x28ca744
/* 028CA744 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028CA748 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA748 */ _t46 = _t45 & 0x00000001u;
/* 028CA748 */ if (_t46) goto L_028CA770; else goto L_028CA74C;
L_028CA74C: ; // 0x28ca74c
/* 028CA74C */ _t47 = cpu->r[28] + 0x00000000u;
/* 028CA74C */ cpu->r[12] = rbrew_read32(cpu->mem, _t47);
/* 028CA750 */ _t48 = cpu->r[12] + 0x0000008Cu;
/* 028CA750 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
/* 028CA754 */ cpu->ctr = cpu->r[0];
/* 028CA758 */ cpu->r[3] = cpu->r[28];
/* 028CA75C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CA760 */ _t49 = cpu->r[3] + 0x00000000u;
/* 028CA760 */ cpu->r[6] = rbrew_read32(cpu->mem, _t49);
/* 028CA764 */ _t50 = cpu->r[6] + 0x0000001Cu;
/* 028CA764 */ cpu->r[7] = rbrew_read32(cpu->mem, _t50);
/* 028CA768 */ cpu->ctr = cpu->r[7];
/* 028CA76C */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CA770: ; // 0x28ca770
/* 028CA770 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028CA774 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA774 */ _t52 = _t51 & 0x00000001u;
/* 028CA774 */ if (_t52) goto L_028CA79C; else goto L_028CA778;
L_028CA778: ; // 0x28ca778
/* 028CA778 */ _t53 = cpu->r[29] + 0x00000000u;
/* 028CA778 */ cpu->r[8] = rbrew_read32(cpu->mem, _t53);
/* 028CA77C */ _t54 = cpu->r[8] + 0x0000008Cu;
/* 028CA77C */ cpu->r[9] = rbrew_read32(cpu->mem, _t54);
/* 028CA780 */ cpu->ctr = cpu->r[9];
/* 028CA784 */ cpu->r[3] = cpu->r[29];
/* 028CA788 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CA78C */ _t55 = cpu->r[3] + 0x00000000u;
/* 028CA78C */ cpu->r[10] = rbrew_read32(cpu->mem, _t55);
/* 028CA790 */ _t56 = cpu->r[10] + 0x0000001Cu;
/* 028CA790 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
/* 028CA794 */ cpu->ctr = cpu->r[0];
/* 028CA798 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CA79C: ; // 0x28ca79c
/* 028CA79C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028CA7A0 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA7A0 */ _t58 = _t57 & 0x00000001u;
/* 028CA7A0 */ if (_t58) goto L_028CA7C8; else goto L_028CA7A4;
L_028CA7A4: ; // 0x28ca7a4
/* 028CA7A4 */ _t59 = cpu->r[30] + 0x00000000u;
/* 028CA7A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t59);
/* 028CA7A8 */ _t60 = cpu->r[12] + 0x0000008Cu;
/* 028CA7A8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t60);
/* 028CA7AC */ cpu->ctr = cpu->r[5];
/* 028CA7B0 */ cpu->r[3] = cpu->r[30];
/* 028CA7B4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CA7B8 */ _t61 = cpu->r[3] + 0x00000000u;
/* 028CA7B8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t61);
/* 028CA7BC */ _t62 = cpu->r[6] + 0x0000001Cu;
/* 028CA7BC */ cpu->r[7] = rbrew_read32(cpu->mem, _t62);
/* 028CA7C0 */ cpu->ctr = cpu->r[7];
/* 028CA7C4 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CA7C8: ; // 0x28ca7c8
/* 028CA7C8 */ _t63 = cpu->r[1] + 0x00000008u;
/* 028CA7C8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t63);
/* 028CA7CC */ _t64 = cpu->r[1] + 0x0000000Cu;
/* 028CA7CC */ cpu->r[29] = rbrew_read32(cpu->mem, _t64);
/* 028CA7D0 */ _t65 = cpu->r[1] + 0x0000001Cu;
/* 028CA7D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
/* 028CA7D4 */ _t66 = cpu->r[1] + 0x00000010u;
/* 028CA7D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t66);
/* 028CA7D8 */ cpu->lr = cpu->r[0];
/* 028CA7DC */ _t67 = cpu->r[1] + 0x00000014u;
/* 028CA7DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t67);
/* 028CA7E0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028CA7E4 */ return;
}
// fn_028CA7E8 @ 0x28ca7e8
void Gambit_fn_028CA7E8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _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_028CA7E8: ; // 0x28ca7e8
/* 028CA7E8 */ cpu->r[0] = cpu->lr;
/* 028CA7EC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028CA7EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CA7EC */ cpu->r[1] = _t0;
/* 028CA7F0 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028CA7F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028CA7F4 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028CA7F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028CA7F8 */ cpu->r[31] = cpu->r[3];
/* 028CA7FC */ _t3 = cpu->r[1] + 0x00000014u;
/* 028CA7FC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028CA800 */ _t4 = cpu->r[31] + 0x00000000u;
/* 028CA800 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
/* 028CA804 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CA808 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA808 */ _t6 = _t5 & 0x00000001u;
/* 028CA808 */ if (_t6) goto L_028CA888; else goto L_028CA80C;
L_028CA80C: ; // 0x28ca80c
/* 028CA80C */ cpu->r[3] = cpu->r[31];
/* 028CA810 */ Gambit_fn_028CA634(cpu);
/* 028CA814 */ _t7 = cpu->r[31] + 0x00000004u;
/* 028CA814 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
/* 028CA818 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CA81C */ cpu->r[30] = 0x00000000u;
/* 028CA820 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA820 */ _t9 = _t8 & 0x00000001u;
/* 028CA820 */ if (_t9) goto L_028CA83C; else goto L_028CA824;
L_028CA824: ; // 0x28ca824
/* 028CA824 */ _t10 = cpu->r[3] + 0x00000000u;
/* 028CA824 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
/* 028CA828 */ _t11 = cpu->r[12] + 0x0000000Cu;
/* 028CA828 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028CA82C */ cpu->ctr = cpu->r[0];
/* 028CA830 */ cpu->r[4] = 0x00000003u;
/* 028CA834 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CA838 */ _t12 = cpu->r[31] + 0x00000004u;
/* 028CA838 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
L_028CA83C: ; // 0x28ca83c
/* 028CA83C */ _t13 = cpu->r[31] + 0x00000008u;
/* 028CA83C */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
/* 028CA840 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CA844 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA844 */ _t15 = _t14 & 0x00000001u;
/* 028CA844 */ if (_t15) goto L_028CA860; else goto L_028CA848;
L_028CA848: ; // 0x28ca848
/* 028CA848 */ _t16 = cpu->r[3] + 0x00000000u;
/* 028CA848 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
/* 028CA84C */ _t17 = cpu->r[12] + 0x0000000Cu;
/* 028CA84C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028CA850 */ cpu->ctr = cpu->r[0];
/* 028CA854 */ cpu->r[4] = 0x00000003u;
/* 028CA858 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CA85C */ _t18 = cpu->r[31] + 0x00000008u;
/* 028CA85C */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
L_028CA860: ; // 0x28ca860
/* 028CA860 */ _t19 = cpu->r[31] + 0x0000000Cu;
/* 028CA860 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
/* 028CA864 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CA868 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA868 */ _t21 = _t20 & 0x00000001u;
/* 028CA868 */ if (_t21) goto L_028CA884; else goto L_028CA86C;
L_028CA86C: ; // 0x28ca86c
/* 028CA86C */ _t22 = cpu->r[3] + 0x00000000u;
/* 028CA86C */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
/* 028CA870 */ _t23 = cpu->r[12] + 0x0000000Cu;
/* 028CA870 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
/* 028CA874 */ cpu->ctr = cpu->r[0];
/* 028CA878 */ cpu->r[4] = 0x00000003u;
/* 028CA87C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CA880 */ _t24 = cpu->r[31] + 0x0000000Cu;
/* 028CA880 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
L_028CA884: ; // 0x28ca884
/* 028CA884 */ _t25 = cpu->r[31] + 0x00000000u;
/* 028CA884 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[30]);
L_028CA888: ; // 0x28ca888
/* 028CA888 */ _t26 = cpu->r[1] + 0x00000014u;
/* 028CA888 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
/* 028CA88C */ _t27 = cpu->r[1] + 0x00000008u;
/* 028CA88C */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
/* 028CA890 */ cpu->lr = cpu->r[0];
/* 028CA894 */ _t28 = cpu->r[1] + 0x0000000Cu;
/* 028CA894 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
/* 028CA898 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CA89C */ return;
}
// fn_028CA7EC @ 0x28ca7ec
void Gambit_fn_028CA7EC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _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_028CA7EC: ; // 0x28ca7ec
/* 028CA7EC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028CA7EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CA7EC */ cpu->r[1] = _t0;
/* 028CA7F0 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028CA7F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028CA7F4 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028CA7F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028CA7F8 */ cpu->r[31] = cpu->r[3];
/* 028CA7FC */ _t3 = cpu->r[1] + 0x00000014u;
/* 028CA7FC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028CA800 */ _t4 = cpu->r[31] + 0x00000000u;
/* 028CA800 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
/* 028CA804 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CA808 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA808 */ _t6 = _t5 & 0x00000001u;
/* 028CA808 */ if (_t6) goto L_028CA888; else goto L_028CA80C;
L_028CA80C: ; // 0x28ca80c
/* 028CA80C */ cpu->r[3] = cpu->r[31];
/* 028CA810 */ Gambit_fn_028CA634(cpu);
/* 028CA814 */ _t7 = cpu->r[31] + 0x00000004u;
/* 028CA814 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
/* 028CA818 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CA81C */ cpu->r[30] = 0x00000000u;
/* 028CA820 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA820 */ _t9 = _t8 & 0x00000001u;
/* 028CA820 */ if (_t9) goto L_028CA83C; else goto L_028CA824;
L_028CA824: ; // 0x28ca824
/* 028CA824 */ _t10 = cpu->r[3] + 0x00000000u;
/* 028CA824 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
/* 028CA828 */ _t11 = cpu->r[12] + 0x0000000Cu;
/* 028CA828 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028CA82C */ cpu->ctr = cpu->r[0];
/* 028CA830 */ cpu->r[4] = 0x00000003u;
/* 028CA834 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CA838 */ _t12 = cpu->r[31] + 0x00000004u;
/* 028CA838 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
L_028CA83C: ; // 0x28ca83c
/* 028CA83C */ _t13 = cpu->r[31] + 0x00000008u;
/* 028CA83C */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
/* 028CA840 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CA844 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA844 */ _t15 = _t14 & 0x00000001u;
/* 028CA844 */ if (_t15) goto L_028CA860; else goto L_028CA848;
L_028CA848: ; // 0x28ca848
/* 028CA848 */ _t16 = cpu->r[3] + 0x00000000u;
/* 028CA848 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
/* 028CA84C */ _t17 = cpu->r[12] + 0x0000000Cu;
/* 028CA84C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028CA850 */ cpu->ctr = cpu->r[0];
/* 028CA854 */ cpu->r[4] = 0x00000003u;
/* 028CA858 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CA85C */ _t18 = cpu->r[31] + 0x00000008u;
/* 028CA85C */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
L_028CA860: ; // 0x28ca860
/* 028CA860 */ _t19 = cpu->r[31] + 0x0000000Cu;
/* 028CA860 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
/* 028CA864 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CA868 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA868 */ _t21 = _t20 & 0x00000001u;
/* 028CA868 */ if (_t21) goto L_028CA884; else goto L_028CA86C;
L_028CA86C: ; // 0x28ca86c
/* 028CA86C */ _t22 = cpu->r[3] + 0x00000000u;
/* 028CA86C */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
/* 028CA870 */ _t23 = cpu->r[12] + 0x0000000Cu;
/* 028CA870 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
/* 028CA874 */ cpu->ctr = cpu->r[0];
/* 028CA878 */ cpu->r[4] = 0x00000003u;
/* 028CA87C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CA880 */ _t24 = cpu->r[31] + 0x0000000Cu;
/* 028CA880 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
L_028CA884: ; // 0x28ca884
/* 028CA884 */ _t25 = cpu->r[31] + 0x00000000u;
/* 028CA884 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[30]);
L_028CA888: ; // 0x28ca888
/* 028CA888 */ _t26 = cpu->r[1] + 0x00000014u;
/* 028CA888 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
/* 028CA88C */ _t27 = cpu->r[1] + 0x00000008u;
/* 028CA88C */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
/* 028CA890 */ cpu->lr = cpu->r[0];
/* 028CA894 */ _t28 = cpu->r[1] + 0x0000000Cu;
/* 028CA894 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
/* 028CA898 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CA89C */ return;
}
// fn_028CA8A0 @ 0x28ca8a0
void Gambit_fn_028CA8A0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028CA8A0: ; // 0x28ca8a0
/* 028CA8A0 */ cpu->r[0] = cpu->lr;
/* 028CA8A4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028CA8A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CA8A4 */ cpu->r[1] = _t0;
/* 028CA8A8 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028CA8A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028CA8AC */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028CA8AC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028CA8B0 */ cpu->r[31] = cpu->r[3];
/* 028CA8B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CA8B4 */ cpu->r[30] = cpu->r[4];
/* 028CA8B8 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028CA8B8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028CA8BC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA8BC */ _t5 = _t4 & 0x00000001u;
/* 028CA8BC */ if (_t5) goto L_028CA8E4; else goto L_028CA8C0;
L_028CA8C0: ; // 0x28ca8c0
/* 028CA8C0 */ cpu->r[0] = 0x10140000u;
/* 028CA8C4 */ cpu->r[0] = cpu->r[0] + 0xFFFF9D34u;
/* 028CA8C8 */ cpu->r[3] = cpu->r[31];
/* 028CA8CC */ _t6 = cpu->r[31] + 0x00000010u;
/* 028CA8CC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028CA8D0 */ Gambit_fn_028CA7E8(cpu);
/* 028CA8D4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CA8D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CA8D8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA8D8 */ _t8 = _t7 & 0x00000001u;
/* 028CA8D8 */ if (_t8) goto L_028CA8E4; else goto L_028CA8DC;
L_028CA8DC: ; // 0x28ca8dc
/* 028CA8DC */ cpu->r[3] = cpu->r[31];
/* 028CA8E0 */ Gambit_fn_02801BB0(cpu);
L_028CA8E4: ; // 0x28ca8e4
/* 028CA8E4 */ _t9 = cpu->r[1] + 0x00000014u;
/* 028CA8E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028CA8E8 */ _t10 = cpu->r[1] + 0x00000008u;
/* 028CA8E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028CA8EC */ cpu->lr = cpu->r[0];
/* 028CA8F0 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028CA8F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028CA8F4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CA8F8 */ return;
}
// fn_028CA8A4 @ 0x28ca8a4
void Gambit_fn_028CA8A4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028CA8A4: ; // 0x28ca8a4
/* 028CA8A4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028CA8A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CA8A4 */ cpu->r[1] = _t0;
/* 028CA8A8 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028CA8A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028CA8AC */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028CA8AC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028CA8B0 */ cpu->r[31] = cpu->r[3];
/* 028CA8B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CA8B4 */ cpu->r[30] = cpu->r[4];
/* 028CA8B8 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028CA8B8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028CA8BC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA8BC */ _t5 = _t4 & 0x00000001u;
/* 028CA8BC */ if (_t5) goto L_028CA8E4; else goto L_028CA8C0;
L_028CA8C0: ; // 0x28ca8c0
/* 028CA8C0 */ cpu->r[0] = 0x10140000u;
/* 028CA8C4 */ cpu->r[0] = cpu->r[0] + 0xFFFF9D34u;
/* 028CA8C8 */ cpu->r[3] = cpu->r[31];
/* 028CA8CC */ _t6 = cpu->r[31] + 0x00000010u;
/* 028CA8CC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028CA8D0 */ Gambit_fn_028CA7E8(cpu);
/* 028CA8D4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CA8D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CA8D8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA8D8 */ _t8 = _t7 & 0x00000001u;
/* 028CA8D8 */ if (_t8) goto L_028CA8E4; else goto L_028CA8DC;
L_028CA8DC: ; // 0x28ca8dc
/* 028CA8DC */ cpu->r[3] = cpu->r[31];
/* 028CA8E0 */ Gambit_fn_02801BB0(cpu);
L_028CA8E4: ; // 0x28ca8e4
/* 028CA8E4 */ _t9 = cpu->r[1] + 0x00000014u;
/* 028CA8E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028CA8E8 */ _t10 = cpu->r[1] + 0x00000008u;
/* 028CA8E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028CA8EC */ cpu->lr = cpu->r[0];
/* 028CA8F0 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028CA8F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028CA8F4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CA8F8 */ return;
}
// fn_028CA8FC @ 0x28ca8fc
void Gambit_fn_028CA8FC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93;
L_028CA8FC: ; // 0x28ca8fc
/* 028CA8FC */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
/* 028CA8FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CA8FC */ cpu->r[1] = _t0;
/* 028CA900 */ /* nop */
/* 028CA904 */ cpu->r[0] = cpu->lr;
/* 028CA908 */ _t1 = cpu->r[1] + 0x00000034u;
/* 028CA908 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028CA90C */ cpu->r[30] = cpu->r[3];
/* 028CA910 */ _t2 = cpu->r[30] + 0x00000000u;
/* 028CA910 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
/* 028CA914 */ cpu->r[28] = cpu->r[4];
/* 028CA918 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CA91C */ cpu->r[24] = cpu->r[5];
/* 028CA920 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA920 */ _t4 = _t3 & 0x00000001u;
/* 028CA920 */ if (_t4) goto L_028CA93C; else goto L_028CA924;
L_028CA924: ; // 0x28ca924
/* 028CA924 */ /* nop */
/* 028CA928 */ _t5 = cpu->r[1] + 0x00000034u;
/* 028CA928 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028CA92C */ cpu->lr = cpu->r[0];
/* 028CA930 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
/* 028CA934 */ cpu->r[3] = 0x00000001u;
/* 028CA938 */ return;
L_028CA93C: ; // 0x28ca93c
/* 028CA93C */ cpu->r[23] = 0x10140000u;
/* 028CA940 */ cpu->r[3] = 0x00000054u;
/* 028CA944 */ cpu->r[4] = cpu->r[24];
/* 028CA948 */ cpu->r[5] = cpu->r[23] + 0xFFFF9D0Cu;
/* 028CA94C */ Gambit_fn_02801AF0(cpu);
/* 028CA950 */ cpu->r[27] = 0x10140000u;
/* 028CA954 */ cpu->r[25] = 0x10140000u;
/* 028CA958 */ cpu->r[31] = cpu->r[3];
/* 028CA958 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CA95C */ cpu->r[27] = cpu->r[27] + 0xFFFF9D10u;
/* 028CA960 */ cpu->r[26] = 0x00000000u;
/* 028CA964 */ cpu->r[25] = cpu->r[25] + 0xFFFF9D44u;
/* 028CA968 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA968 */ _t7 = _t6 & 0x00000001u;
/* 028CA968 */ if (_t7) goto L_028CA9E4; else goto L_028CA96C;
L_028CA96C: ; // 0x28ca96c
/* 028CA96C */ cpu->r[3] = cpu->r[31];
/* 028CA970 */ cpu->r[4] = 0x00000054u;
/* 028CA974 */ Gambit_fn_02C89380(cpu);
/* 028CA978 */ cpu->r[29] = cpu->r[31] + 0x00000004u;
/* 028CA978 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028CA97C */ _t8 = cpu->r[31] + 0x00000000u;
/* 028CA97C */ rbrew_write32(cpu->mem, _t8, cpu->r[25]);
/* 028CA980 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA980 */ _t10 = _t9 & 0x00000001u;
/* 028CA980 */ if (_t10) goto L_028CA984; else goto L_028CA994;
L_028CA984: ; // 0x28ca984
/* 028CA984 */ cpu->r[3] = 0x00000010u;
/* 028CA988 */ Gambit_fn_02801A78(cpu);
/* 028CA98C */ cpu->r[29] = cpu->r[3];
/* 028CA98C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028CA990 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA990 */ _t12 = _t11 & 0x00000001u;
/* 028CA990 */ if (_t12) goto L_028CA9C0; else goto L_028CA994;
L_028CA994: ; // 0x28ca994
/* 028CA994 */ cpu->r[3] = cpu->r[29];
/* 028CA994 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CA998 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA998 */ _t14 = _t13 & 0x00000001u;
/* 028CA998 */ if (_t14) goto L_028CA99C; else goto L_028CA9AC;
L_028CA99C: ; // 0x28ca99c
/* 028CA99C */ cpu->r[3] = 0x0000000Cu;
/* 028CA9A0 */ Gambit_fn_02801A78(cpu);
/* 028CA9A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CA9A8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA9A8 */ _t16 = _t15 & 0x00000001u;
/* 028CA9A8 */ if (_t16) goto L_028CA9B8; else goto L_028CA9AC;
L_028CA9AC: ; // 0x28ca9ac
/* 028CA9AC */ _t17 = cpu->r[3] + 0x00000004u;
/* 028CA9AC */ rbrew_write32(cpu->mem, _t17, cpu->r[3]);
/* 028CA9B0 */ _t18 = cpu->r[3] + 0x00000008u;
/* 028CA9B0 */ rbrew_write32(cpu->mem, _t18, cpu->r[26]);
/* 028CA9B4 */ _t19 = cpu->r[3] + 0x00000000u;
/* 028CA9B4 */ rbrew_write32(cpu->mem, _t19, cpu->r[3]);
L_028CA9B8: ; // 0x28ca9b8
/* 028CA9B8 */ cpu->r[0] = 0xFFFFFFFFu;
/* 028CA9BC */ _t20 = cpu->r[29] + 0x0000000Cu;
/* 028CA9BC */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
L_028CA9C0: ; // 0x28ca9c0
/* 028CA9C0 */ cpu->r[9] = cpu->r[31] + 0x00000014u;
/* 028CA9C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028CA9C4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA9C4 */ _t22 = _t21 & 0x00000001u;
/* 028CA9C4 */ if (_t22) goto L_028CA9C8; else goto L_028CA9D8;
L_028CA9C8: ; // 0x28ca9c8
/* 028CA9C8 */ cpu->r[3] = 0x00000040u;
/* 028CA9CC */ Gambit_fn_02801A78(cpu);
/* 028CA9D0 */ cpu->r[9] = cpu->r[3];
/* 028CA9D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028CA9D4 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA9D4 */ _t24 = _t23 & 0x00000001u;
/* 028CA9D4 */ if (_t24) goto L_028CA9E4; else goto L_028CA9D8;
L_028CA9D8: ; // 0x28ca9d8
/* 028CA9D8 */ cpu->r[3] = cpu->r[9] + 0x00000004u;
/* 028CA9DC */ _t25 = cpu->r[9] + 0x00000000u;
/* 028CA9DC */ rbrew_write32(cpu->mem, _t25, cpu->r[27]);
/* 028CA9E0 */ Gambit_fn_02836EBC(cpu);
L_028CA9E4: ; // 0x28ca9e4
/* 028CA9E4 */ cpu->r[3] = cpu->r[31];
/* 028CA9E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CA9E8 */ _t26 = cpu->r[30] + 0x00000004u;
/* 028CA9E8 */ rbrew_write32(cpu->mem, _t26, cpu->r[3]);
/* 028CA9EC */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA9EC */ _t28 = _t27 & 0x00000001u;
/* 028CA9EC */ if (_t28) goto L_028CABB0; else goto L_028CA9F0;
L_028CA9F0: ; // 0x28ca9f0
/* 028CA9F0 */ cpu->r[4] = cpu->r[28];
/* 028CA9F4 */ Gambit_fn_028CBDF0(cpu);
/* 028CA9F8 */ cpu->r[4] = cpu->r[24];
/* 028CA9FC */ cpu->r[3] = 0x00000054u;
/* 028CAA00 */ cpu->r[5] = cpu->r[23] + 0xFFFF9D0Cu;
/* 028CAA04 */ Gambit_fn_02801AF0(cpu);
/* 028CAA08 */ cpu->r[31] = cpu->r[3];
/* 028CAA08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CAA0C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAA0C */ _t30 = _t29 & 0x00000001u;
/* 028CAA0C */ if (_t30) goto L_028CAA88; else goto L_028CAA10;
L_028CAA10: ; // 0x28caa10
/* 028CAA10 */ cpu->r[3] = cpu->r[31];
/* 028CAA14 */ cpu->r[4] = 0x00000054u;
/* 028CAA18 */ Gambit_fn_02C89380(cpu);
/* 028CAA1C */ cpu->r[29] = cpu->r[31] + 0x00000004u;
/* 028CAA1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028CAA20 */ _t31 = cpu->r[31] + 0x00000000u;
/* 028CAA20 */ rbrew_write32(cpu->mem, _t31, cpu->r[25]);
/* 028CAA24 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAA24 */ _t33 = _t32 & 0x00000001u;
/* 028CAA24 */ if (_t33) goto L_028CAA28; else goto L_028CAA38;
L_028CAA28: ; // 0x28caa28
/* 028CAA28 */ cpu->r[3] = 0x00000010u;
/* 028CAA2C */ Gambit_fn_02801A78(cpu);
/* 028CAA30 */ cpu->r[29] = cpu->r[3];
/* 028CAA30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028CAA34 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAA34 */ _t35 = _t34 & 0x00000001u;
/* 028CAA34 */ if (_t35) goto L_028CAA64; else goto L_028CAA38;
L_028CAA38: ; // 0x28caa38
/* 028CAA38 */ cpu->r[3] = cpu->r[29];
/* 028CAA38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CAA3C */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAA3C */ _t37 = _t36 & 0x00000001u;
/* 028CAA3C */ if (_t37) goto L_028CAA40; else goto L_028CAA50;
L_028CAA40: ; // 0x28caa40
/* 028CAA40 */ cpu->r[3] = 0x0000000Cu;
/* 028CAA44 */ Gambit_fn_02801A78(cpu);
/* 028CAA48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CAA4C */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAA4C */ _t39 = _t38 & 0x00000001u;
/* 028CAA4C */ if (_t39) goto L_028CAA5C; else goto L_028CAA50;
L_028CAA50: ; // 0x28caa50
/* 028CAA50 */ _t40 = cpu->r[3] + 0x00000004u;
/* 028CAA50 */ rbrew_write32(cpu->mem, _t40, cpu->r[3]);
/* 028CAA54 */ _t41 = cpu->r[3] + 0x00000008u;
/* 028CAA54 */ rbrew_write32(cpu->mem, _t41, cpu->r[26]);
/* 028CAA58 */ _t42 = cpu->r[3] + 0x00000000u;
/* 028CAA58 */ rbrew_write32(cpu->mem, _t42, cpu->r[3]);
L_028CAA5C: ; // 0x28caa5c
/* 028CAA5C */ cpu->r[0] = 0xFFFFFFFFu;
/* 028CAA60 */ _t43 = cpu->r[29] + 0x0000000Cu;
/* 028CAA60 */ rbrew_write32(cpu->mem, _t43, cpu->r[0]);
L_028CAA64: ; // 0x28caa64
/* 028CAA64 */ cpu->r[11] = cpu->r[31] + 0x00000014u;
/* 028CAA64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028CAA68 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAA68 */ _t45 = _t44 & 0x00000001u;
/* 028CAA68 */ if (_t45) goto L_028CAA6C; else goto L_028CAA7C;
L_028CAA6C: ; // 0x28caa6c
/* 028CAA6C */ cpu->r[3] = 0x00000040u;
/* 028CAA70 */ Gambit_fn_02801A78(cpu);
/* 028CAA74 */ cpu->r[11] = cpu->r[3];
/* 028CAA74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028CAA78 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAA78 */ _t47 = _t46 & 0x00000001u;
/* 028CAA78 */ if (_t47) goto L_028CAA88; else goto L_028CAA7C;
L_028CAA7C: ; // 0x28caa7c
/* 028CAA7C */ cpu->r[3] = cpu->r[11] + 0x00000004u;
/* 028CAA80 */ _t48 = cpu->r[11] + 0x00000000u;
/* 028CAA80 */ rbrew_write32(cpu->mem, _t48, cpu->r[27]);
/* 028CAA84 */ Gambit_fn_02836EBC(cpu);
L_028CAA88: ; // 0x28caa88
/* 028CAA88 */ cpu->r[3] = cpu->r[31];
/* 028CAA88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CAA8C */ _t49 = cpu->r[30] + 0x00000008u;
/* 028CAA8C */ rbrew_write32(cpu->mem, _t49, cpu->r[3]);
/* 028CAA90 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAA90 */ _t51 = _t50 & 0x00000001u;
/* 028CAA90 */ if (_t51) goto L_028CAA94; else goto L_028CAACC;
L_028CAA94: ; // 0x28caa94
/* 028CAA94 */ _t52 = cpu->r[30] + 0x00000004u;
/* 028CAA94 */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
/* 028CAA98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CAA9C */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAA9C */ _t54 = _t53 & 0x00000001u;
/* 028CAA9C */ if (_t54) goto L_028CABB0; else goto L_028CAAA0;
L_028CAAA0: ; // 0x28caaa0
/* 028CAAA0 */ _t55 = cpu->r[3] + 0x00000000u;
/* 028CAAA0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t55);
/* 028CAAA4 */ _t56 = cpu->r[6] + 0x0000000Cu;
/* 028CAAA4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t56);
/* 028CAAA8 */ cpu->ctr = cpu->r[7];
/* 028CAAAC */ cpu->r[4] = 0x00000003u;
/* 028CAAB0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CAAB4 */ /* nop */
/* 028CAAB8 */ _t57 = cpu->r[1] + 0x00000034u;
/* 028CAAB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
/* 028CAABC */ cpu->lr = cpu->r[0];
/* 028CAAC0 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
/* 028CAAC4 */ cpu->r[3] = 0x00000000u;
/* 028CAAC8 */ return;
L_028CAACC: ; // 0x28caacc
/* 028CAACC */ cpu->r[4] = cpu->r[28];
/* 028CAAD0 */ Gambit_fn_028CBDF0(cpu);
/* 028CAAD4 */ cpu->r[4] = cpu->r[24];
/* 028CAAD8 */ cpu->r[3] = 0x00000054u;
/* 028CAADC */ cpu->r[5] = cpu->r[23] + 0xFFFF9D0Cu;
/* 028CAAE0 */ Gambit_fn_02801AF0(cpu);
/* 028CAAE4 */ cpu->r[31] = cpu->r[3];
/* 028CAAE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CAAE8 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAAE8 */ _t59 = _t58 & 0x00000001u;
/* 028CAAE8 */ if (_t59) goto L_028CAB64; else goto L_028CAAEC;
L_028CAAEC: ; // 0x28caaec
/* 028CAAEC */ cpu->r[3] = cpu->r[31];
/* 028CAAF0 */ cpu->r[4] = 0x00000054u;
/* 028CAAF4 */ Gambit_fn_02C89380(cpu);
/* 028CAAF8 */ cpu->r[29] = cpu->r[31] + 0x00000004u;
/* 028CAAF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028CAAFC */ _t60 = cpu->r[31] + 0x00000000u;
/* 028CAAFC */ rbrew_write32(cpu->mem, _t60, cpu->r[25]);
/* 028CAB00 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAB00 */ _t62 = _t61 & 0x00000001u;
/* 028CAB00 */ if (_t62) goto L_028CAB04; else goto L_028CAB14;
L_028CAB04: ; // 0x28cab04
/* 028CAB04 */ cpu->r[3] = 0x00000010u;
/* 028CAB08 */ Gambit_fn_02801A78(cpu);
/* 028CAB0C */ cpu->r[29] = cpu->r[3];
/* 028CAB0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028CAB10 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAB10 */ _t64 = _t63 & 0x00000001u;
/* 028CAB10 */ if (_t64) goto L_028CAB40; else goto L_028CAB14;
L_028CAB14: ; // 0x28cab14
/* 028CAB14 */ cpu->r[3] = cpu->r[29];
/* 028CAB14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CAB18 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAB18 */ _t66 = _t65 & 0x00000001u;
/* 028CAB18 */ if (_t66) goto L_028CAB1C; else goto L_028CAB2C;
L_028CAB1C: ; // 0x28cab1c
/* 028CAB1C */ cpu->r[3] = 0x0000000Cu;
/* 028CAB20 */ Gambit_fn_02801A78(cpu);
/* 028CAB24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CAB28 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAB28 */ _t68 = _t67 & 0x00000001u;
/* 028CAB28 */ if (_t68) goto L_028CAB38; else goto L_028CAB2C;
L_028CAB2C: ; // 0x28cab2c
/* 028CAB2C */ _t69 = cpu->r[3] + 0x00000004u;
/* 028CAB2C */ rbrew_write32(cpu->mem, _t69, cpu->r[3]);
/* 028CAB30 */ _t70 = cpu->r[3] + 0x00000008u;
/* 028CAB30 */ rbrew_write32(cpu->mem, _t70, cpu->r[26]);
/* 028CAB34 */ _t71 = cpu->r[3] + 0x00000000u;
/* 028CAB34 */ rbrew_write32(cpu->mem, _t71, cpu->r[3]);
L_028CAB38: ; // 0x28cab38
/* 028CAB38 */ cpu->r[8] = 0xFFFFFFFFu;
/* 028CAB3C */ _t72 = cpu->r[29] + 0x0000000Cu;
/* 028CAB3C */ rbrew_write32(cpu->mem, _t72, cpu->r[8]);
L_028CAB40: ; // 0x28cab40
/* 028CAB40 */ cpu->r[5] = cpu->r[31] + 0x00000014u;
/* 028CAB40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
/* 028CAB44 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAB44 */ _t74 = _t73 & 0x00000001u;
/* 028CAB44 */ if (_t74) goto L_028CAB48; else goto L_028CAB58;
L_028CAB48: ; // 0x28cab48
/* 028CAB48 */ cpu->r[3] = 0x00000040u;
/* 028CAB4C */ Gambit_fn_02801A78(cpu);
/* 028CAB50 */ cpu->r[5] = cpu->r[3];
/* 028CAB50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
/* 028CAB54 */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAB54 */ _t76 = _t75 & 0x00000001u;
/* 028CAB54 */ if (_t76) goto L_028CAB64; else goto L_028CAB58;
L_028CAB58: ; // 0x28cab58
/* 028CAB58 */ cpu->r[3] = cpu->r[5] + 0x00000004u;
/* 028CAB5C */ _t77 = cpu->r[5] + 0x00000000u;
/* 028CAB5C */ rbrew_write32(cpu->mem, _t77, cpu->r[27]);
/* 028CAB60 */ Gambit_fn_02836EBC(cpu);
L_028CAB64: ; // 0x28cab64
/* 028CAB64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CAB68 */ _t78 = cpu->r[30] + 0x0000000Cu;
/* 028CAB68 */ rbrew_write32(cpu->mem, _t78, cpu->r[31]);
/* 028CAB6C */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAB6C */ _t80 = _t79 & 0x00000001u;
/* 028CAB6C */ if (_t80) goto L_028CAB70; else goto L_028CABC8;
L_028CAB70: ; // 0x28cab70
/* 028CAB70 */ _t81 = cpu->r[30] + 0x00000004u;
/* 028CAB70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t81);
/* 028CAB74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CAB78 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAB78 */ _t83 = _t82 & 0x00000001u;
/* 028CAB78 */ if (_t83) goto L_028CAB90; else goto L_028CAB7C;
L_028CAB7C: ; // 0x28cab7c
/* 028CAB7C */ _t84 = cpu->r[3] + 0x00000000u;
/* 028CAB7C */ cpu->r[9] = rbrew_read32(cpu->mem, _t84);
/* 028CAB80 */ _t85 = cpu->r[9] + 0x0000000Cu;
/* 028CAB80 */ cpu->r[10] = rbrew_read32(cpu->mem, _t85);
/* 028CAB84 */ cpu->ctr = cpu->r[10];
/* 028CAB88 */ cpu->r[4] = 0x00000003u;
/* 028CAB8C */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CAB90: ; // 0x28cab90
/* 028CAB90 */ _t86 = cpu->r[30] + 0x00000008u;
/* 028CAB90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t86);
/* 028CAB94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CAB98 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAB98 */ _t88 = _t87 & 0x00000001u;
/* 028CAB98 */ if (_t88) goto L_028CABB0; else goto L_028CAB9C;
L_028CAB9C: ; // 0x28cab9c
/* 028CAB9C */ _t89 = cpu->r[3] + 0x00000000u;
/* 028CAB9C */ cpu->r[11] = rbrew_read32(cpu->mem, _t89);
/* 028CABA0 */ _t90 = cpu->r[11] + 0x0000000Cu;
/* 028CABA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t90);
/* 028CABA4 */ cpu->ctr = cpu->r[12];
/* 028CABA8 */ cpu->r[4] = 0x00000003u;
/* 028CABAC */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CABB0: ; // 0x28cabb0
/* 028CABB0 */ /* nop */
/* 028CABB4 */ _t91 = cpu->r[1] + 0x00000034u;
/* 028CABB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t91);
/* 028CABB8 */ cpu->lr = cpu->r[0];
/* 028CABBC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
/* 028CABC0 */ cpu->r[3] = 0x00000000u;
/* 028CABC4 */ return;
L_028CABC8: ; // 0x28cabc8
/* 028CABC8 */ cpu->r[3] = cpu->r[31];
/* 028CABCC */ cpu->r[4] = cpu->r[28];
/* 028CABD0 */ Gambit_fn_028CBDF0(cpu);
/* 028CABD4 */ cpu->r[0] = 0x00000001u;
/* 028CABD8 */ _t92 = cpu->r[30] + 0x00000000u;
/* 028CABD8 */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[0]);
/* 028CABDC */ /* nop */
/* 028CABE0 */ cpu->r[3] = cpu->r[0];
/* 028CABE4 */ _t93 = cpu->r[1] + 0x00000034u;
/* 028CABE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t93);
/* 028CABE8 */ cpu->lr = cpu->r[0];
/* 028CABEC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
/* 028CABF0 */ return;
}
// fn_028CABF4 @ 0x28cabf4
void Gambit_fn_028CABF4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _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;
L_028CABF4: ; // 0x28cabf4
/* 028CABF4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028CABF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CABF4 */ cpu->r[1] = _t0;
/* 028CABF8 */ /* nop */
/* 028CABFC */ cpu->r[0] = cpu->lr;
/* 028CAC00 */ _t1 = cpu->r[1] + 0x0000002Cu;
/* 028CAC00 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028CAC04 */ cpu->r[29] = cpu->r[3];
/* 028CAC08 */ _t2 = cpu->r[29] + 0x00000000u;
/* 028CAC08 */ cpu->r[4] = rbrew_read8(cpu->mem, _t2);
/* 028CAC0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028CAC10 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAC10 */ _t4 = _t3 & 0x00000001u;
/* 028CAC10 */ if (_t4) goto L_028CB130; else goto L_028CAC14;
L_028CAC14: ; // 0x28cac14
/* 028CAC14 */ _t5 = cpu->r[29] + 0x00000004u;
/* 028CAC14 */ cpu->r[28] = rbrew_read32(cpu->mem, _t5);
/* 028CAC18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028CAC1C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAC1C */ _t7 = _t6 & 0x00000001u;
/* 028CAC1C */ if (_t7) goto L_028CAC44; else goto L_028CAC20;
L_028CAC20: ; // 0x28cac20
/* 028CAC20 */ _t8 = cpu->r[28] + 0x00000000u;
/* 028CAC20 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
/* 028CAC24 */ _t9 = cpu->r[8] + 0x0000008Cu;
/* 028CAC24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028CAC28 */ cpu->ctr = cpu->r[0];
/* 028CAC2C */ cpu->r[3] = cpu->r[28];
/* 028CAC30 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CAC34 */ _t10 = cpu->r[3] + 0x00000000u;
/* 028CAC34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
/* 028CAC38 */ _t11 = cpu->r[12] + 0x00000014u;
/* 028CAC38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028CAC3C */ cpu->ctr = cpu->r[0];
/* 028CAC40 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CAC44: ; // 0x28cac44
/* 028CAC44 */ _t12 = cpu->r[29] + 0x00000008u;
/* 028CAC44 */ cpu->r[27] = rbrew_read32(cpu->mem, _t12);
/* 028CAC48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
/* 028CAC4C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAC4C */ _t14 = _t13 & 0x00000001u;
/* 028CAC4C */ if (_t14) goto L_028CAC74; else goto L_028CAC50;
L_028CAC50: ; // 0x28cac50
/* 028CAC50 */ _t15 = cpu->r[27] + 0x00000000u;
/* 028CAC50 */ cpu->r[4] = rbrew_read32(cpu->mem, _t15);
/* 028CAC54 */ _t16 = cpu->r[4] + 0x0000008Cu;
/* 028CAC54 */ cpu->r[5] = rbrew_read32(cpu->mem, _t16);
/* 028CAC58 */ cpu->ctr = cpu->r[5];
/* 028CAC5C */ cpu->r[3] = cpu->r[27];
/* 028CAC60 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CAC64 */ _t17 = cpu->r[3] + 0x00000000u;
/* 028CAC64 */ cpu->r[6] = rbrew_read32(cpu->mem, _t17);
/* 028CAC68 */ _t18 = cpu->r[6] + 0x00000014u;
/* 028CAC68 */ cpu->r[7] = rbrew_read32(cpu->mem, _t18);
/* 028CAC6C */ cpu->ctr = cpu->r[7];
/* 028CAC70 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CAC74: ; // 0x28cac74
/* 028CAC74 */ _t19 = cpu->r[29] + 0x0000000Cu;
/* 028CAC74 */ cpu->r[26] = rbrew_read32(cpu->mem, _t19);
/* 028CAC78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
/* 028CAC7C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAC7C */ _t21 = _t20 & 0x00000001u;
/* 028CAC7C */ if (_t21) goto L_028CACA4; else goto L_028CAC80;
L_028CAC80: ; // 0x28cac80
/* 028CAC80 */ _t22 = cpu->r[26] + 0x00000000u;
/* 028CAC80 */ cpu->r[8] = rbrew_read32(cpu->mem, _t22);
/* 028CAC84 */ _t23 = cpu->r[8] + 0x0000008Cu;
/* 028CAC84 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
/* 028CAC88 */ cpu->ctr = cpu->r[9];
/* 028CAC8C */ cpu->r[3] = cpu->r[26];
/* 028CAC90 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CAC94 */ _t24 = cpu->r[3] + 0x00000000u;
/* 028CAC94 */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
/* 028CAC98 */ _t25 = cpu->r[10] + 0x00000014u;
/* 028CAC98 */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
/* 028CAC9C */ cpu->ctr = cpu->r[11];
/* 028CACA0 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CACA4: ; // 0x28caca4
/* 028CACA4 */ _t26 = cpu->r[29] + 0x00000004u;
/* 028CACA4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
/* 028CACA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CACAC */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CACAC */ _t28 = _t27 & 0x00000001u;
/* 028CACAC */ if (_t28) goto L_028CAE30; else goto L_028CACB0;
L_028CACB0: ; // 0x28cacb0
/* 028CACB0 */ _t29 = cpu->r[3] + 0x00000000u;
/* 028CACB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
/* 028CACB4 */ _t30 = cpu->r[12] + 0x0000007Cu;
/* 028CACB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
/* 028CACB8 */ cpu->ctr = cpu->r[0];
/* 028CACBC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CACC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CACC4 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CACC4 */ _t32 = _t31 & 0x00000001u;
/* 028CACC4 */ if (_t32) goto L_028CACC8; else goto L_028CAE30;
L_028CACC8: ; // 0x28cacc8
/* 028CACC8 */ _t33 = cpu->r[29] + 0x00000004u;
/* 028CACC8 */ cpu->r[25] = rbrew_read32(cpu->mem, _t33);
/* 028CACCC */ _t34 = cpu->r[25] + 0x00000000u;
/* 028CACCC */ cpu->r[4] = rbrew_read32(cpu->mem, _t34);
/* 028CACD0 */ _t35 = cpu->r[4] + 0x00000044u;
/* 028CACD0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t35);
/* 028CACD4 */ cpu->ctr = cpu->r[5];
/* 028CACD8 */ cpu->r[3] = cpu->r[25];
/* 028CACDC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CACE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CACE4 */ cpu->r[30] = cpu->r[3];
/* 028CACE8 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CACE8 */ _t37 = _t36 & 0x00000001u;
/* 028CACE8 */ if (_t37) goto L_028CAD18; else goto L_028CACEC;
L_028CACEC: ; // 0x28cacec
/* 028CACEC */ _t38 = cpu->r[25] + 0x00000000u;
/* 028CACEC */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
/* 028CACF0 */ _t39 = cpu->r[6] + 0x0000005Cu;
/* 028CACF0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t39);
/* 028CACF4 */ cpu->ctr = cpu->r[7];
/* 028CACF8 */ cpu->r[4] = cpu->r[30];
/* 028CACFC */ cpu->r[3] = cpu->r[25];
/* 028CAD00 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CAD04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000000u);
/* 028CAD08 */ cpu->r[24] = 0x00000000u;
/* 028CAD0C */ cpu->r[31] = cpu->r[3];
/* 028CAD10 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAD10 */ _t41 = _t40 & 0x00000001u;
/* 028CAD10 */ if (_t41) goto L_028CAE30; else goto L_028CAD14;
L_028CAD14: ; // 0x28cad14
/* 028CAD14 */ goto L_028CAD28;
L_028CAD18: ; // 0x28cad18
/* 028CAD18 */ cpu->r[31] = 0x00000000u;
/* 028CAD1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000000u);
/* 028CAD20 */ cpu->r[24] = cpu->r[31];
/* 028CAD24 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAD24 */ _t43 = _t42 & 0x00000001u;
/* 028CAD24 */ if (_t43) goto L_028CAE30; else goto L_028CAD28;
L_028CAD28: ; // 0x28cad28
/* 028CAD28 */ _t44 = cpu->r[30] + 0x00000004u;
/* 028CAD28 */ cpu->r[6] = rbrew_read32(cpu->mem, _t44);
/* 028CAD2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
/* 028CAD30 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAD30 */ _t46 = _t45 & 0x00000001u;
/* 028CAD30 */ if (_t46) goto L_028CAD3C; else goto L_028CAD34;
L_028CAD34: ; // 0x28cad34
/* 028CAD34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000006u);
/* 028CAD38 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAD38 */ _t48 = _t47 & 0x00000001u;
/* 028CAD38 */ if (_t48) goto L_028CAD3C; else goto L_028CAD64;
L_028CAD3C: ; // 0x28cad3c
/* 028CAD3C */ _t49 = cpu->r[29] + 0x00000004u;
/* 028CAD3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t49);
/* 028CAD40 */ _t50 = cpu->r[3] + 0x00000000u;
/* 028CAD40 */ cpu->r[8] = rbrew_read32(cpu->mem, _t50);
/* 028CAD44 */ _t51 = cpu->r[8] + 0x00000034u;
/* 028CAD44 */ cpu->r[9] = rbrew_read32(cpu->mem, _t51);
/* 028CAD48 */ cpu->ctr = cpu->r[9];
/* 028CAD4C */ cpu->r[4] = cpu->r[30];
/* 028CAD50 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CAD54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CAD58 */ cpu->r[30] = cpu->r[31];
/* 028CAD5C */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAD5C */ _t53 = _t52 & 0x00000001u;
/* 028CAD5C */ if (_t53) goto L_028CAD60; else goto L_028CADFC;
L_028CAD60: ; // 0x28cad60
/* 028CAD60 */ goto L_028CAE24;
L_028CAD64: ; // 0x28cad64
/* 028CAD64 */ _t54 = cpu->r[30] + 0x00000194u;
/* 028CAD64 */ cpu->r[10] = rbrew_read16(cpu->mem, _t54);
/* 028CAD68 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
/* 028CAD68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028CAD6C */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAD6C */ _t56 = _t55 & 0x00000001u;
/* 028CAD6C */ if (_t56) goto L_028CADB0; else goto L_028CAD70;
L_028CAD70: ; // 0x28cad70
/* 028CAD70 */ _t57 = cpu->r[29] + 0x00000004u;
/* 028CAD70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t57);
/* 028CAD74 */ _t58 = cpu->r[3] + 0x00000000u;
/* 028CAD74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t58);
/* 028CAD78 */ _t59 = cpu->r[12] + 0x00000034u;
/* 028CAD78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
/* 028CAD7C */ cpu->ctr = cpu->r[0];
/* 028CAD80 */ cpu->r[4] = cpu->r[30];
/* 028CAD84 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CAD88 */ _t60 = cpu->r[29] + 0x0000000Cu;
/* 028CAD88 */ cpu->r[3] = rbrew_read32(cpu->mem, _t60);
/* 028CAD8C */ _t61 = cpu->r[3] + 0x00000000u;
/* 028CAD8C */ cpu->r[5] = rbrew_read32(cpu->mem, _t61);
/* 028CAD90 */ _t62 = cpu->r[5] + 0x00000014u;
/* 028CAD90 */ cpu->r[6] = rbrew_read32(cpu->mem, _t62);
/* 028CAD94 */ cpu->ctr = cpu->r[6];
/* 028CAD98 */ cpu->r[4] = cpu->r[30];
/* 028CAD9C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CADA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CADA4 */ cpu->r[30] = cpu->r[31];
/* 028CADA8 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CADA8 */ _t64 = _t63 & 0x00000001u;
/* 028CADA8 */ if (_t64) goto L_028CADAC; else goto L_028CADFC;
L_028CADAC: ; // 0x28cadac
/* 028CADAC */ goto L_028CAE24;
L_028CADB0: ; // 0x28cadb0
/* 028CADB0 */ cpu->r[3] = cpu->r[30];
/* 028CADB4 */ Gambit_fn_028BEE50(cpu);
/* 028CADB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CADBC */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CADBC */ _t66 = _t65 & 0x00000001u;
/* 028CADBC */ if (_t66) goto L_028CADF0; else goto L_028CADC0;
L_028CADC0: ; // 0x28cadc0
/* 028CADC0 */ _t67 = cpu->r[29] + 0x00000004u;
/* 028CADC0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t67);
/* 028CADC4 */ _t68 = cpu->r[3] + 0x00000000u;
/* 028CADC4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t68);
/* 028CADC8 */ _t69 = cpu->r[8] + 0x00000034u;
/* 028CADC8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t69);
/* 028CADCC */ cpu->ctr = cpu->r[9];
/* 028CADD0 */ cpu->r[4] = cpu->r[30];
/* 028CADD4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CADD8 */ _t70 = cpu->r[29] + 0x00000008u;
/* 028CADD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t70);
/* 028CADDC */ _t71 = cpu->r[3] + 0x00000000u;
/* 028CADDC */ cpu->r[10] = rbrew_read32(cpu->mem, _t71);
/* 028CADE0 */ _t72 = cpu->r[10] + 0x00000014u;
/* 028CADE0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t72);
/* 028CADE4 */ cpu->ctr = cpu->r[11];
/* 028CADE8 */ cpu->r[4] = cpu->r[30];
/* 028CADEC */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CADF0: ; // 0x28cadf0
/* 028CADF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CADF4 */ cpu->r[30] = cpu->r[31];
/* 028CADF8 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CADF8 */ _t74 = _t73 & 0x00000001u;
/* 028CADF8 */ if (_t74) goto L_028CAE24; else goto L_028CADFC;
L_028CADFC: ; // 0x28cadfc
/* 028CADFC */ _t75 = cpu->r[25] + 0x00000000u;
/* 028CADFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
/* 028CAE00 */ _t76 = cpu->r[12] + 0x0000005Cu;
/* 028CAE00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t76);
/* 028CAE04 */ cpu->ctr = cpu->r[0];
/* 028CAE08 */ cpu->r[3] = cpu->r[25];
/* 028CAE0C */ cpu->r[4] = cpu->r[30];
/* 028CAE10 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CAE14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[24]);
/* 028CAE18 */ cpu->r[31] = cpu->r[3];
/* 028CAE1C */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAE1C */ _t78 = _t77 & 0x00000001u;
/* 028CAE1C */ if (_t78) goto L_028CAE20; else goto L_028CAD28;
L_028CAE20: ; // 0x28cae20
/* 028CAE20 */ goto L_028CAE30;
L_028CAE24: ; // 0x28cae24
/* 028CAE24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[24]);
/* 028CAE28 */ cpu->r[31] = 0x00000000u;
/* 028CAE2C */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAE2C */ _t80 = _t79 & 0x00000001u;
/* 028CAE2C */ if (_t80) goto L_028CAE30; else goto L_028CAD28;
L_028CAE30: ; // 0x28cae30
/* 028CAE30 */ _t81 = cpu->r[29] + 0x00000008u;
/* 028CAE30 */ cpu->r[3] = rbrew_read32(cpu->mem, _t81);
/* 028CAE34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CAE38 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAE38 */ _t83 = _t82 & 0x00000001u;
/* 028CAE38 */ if (_t83) goto L_028CAFBC; else goto L_028CAE3C;
L_028CAE3C: ; // 0x28cae3c
/* 028CAE3C */ _t84 = cpu->r[3] + 0x00000000u;
/* 028CAE3C */ cpu->r[4] = rbrew_read32(cpu->mem, _t84);
/* 028CAE40 */ _t85 = cpu->r[4] + 0x0000007Cu;
/* 028CAE40 */ cpu->r[5] = rbrew_read32(cpu->mem, _t85);
/* 028CAE44 */ cpu->ctr = cpu->r[5];
/* 028CAE48 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CAE4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CAE50 */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAE50 */ _t87 = _t86 & 0x00000001u;
/* 028CAE50 */ if (_t87) goto L_028CAE54; else goto L_028CAFBC;
L_028CAE54: ; // 0x28cae54
/* 028CAE54 */ _t88 = cpu->r[29] + 0x00000008u;
/* 028CAE54 */ cpu->r[25] = rbrew_read32(cpu->mem, _t88);
/* 028CAE58 */ _t89 = cpu->r[25] + 0x00000000u;
/* 028CAE58 */ cpu->r[6] = rbrew_read32(cpu->mem, _t89);
/* 028CAE5C */ _t90 = cpu->r[6] + 0x00000044u;
/* 028CAE5C */ cpu->r[7] = rbrew_read32(cpu->mem, _t90);
/* 028CAE60 */ cpu->ctr = cpu->r[7];
/* 028CAE64 */ cpu->r[3] = cpu->r[25];
/* 028CAE68 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CAE6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CAE70 */ cpu->r[30] = cpu->r[3];
/* 028CAE74 */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAE74 */ _t92 = _t91 & 0x00000001u;
/* 028CAE74 */ if (_t92) goto L_028CAEA4; else goto L_028CAE78;
L_028CAE78: ; // 0x28cae78
/* 028CAE78 */ _t93 = cpu->r[25] + 0x00000000u;
/* 028CAE78 */ cpu->r[8] = rbrew_read32(cpu->mem, _t93);
/* 028CAE7C */ _t94 = cpu->r[8] + 0x0000005Cu;
/* 028CAE7C */ cpu->r[9] = rbrew_read32(cpu->mem, _t94);
/* 028CAE80 */ cpu->ctr = cpu->r[9];
/* 028CAE84 */ cpu->r[4] = cpu->r[30];
/* 028CAE88 */ cpu->r[3] = cpu->r[25];
/* 028CAE8C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CAE90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000000u);
/* 028CAE94 */ cpu->r[24] = 0x00000000u;
/* 028CAE98 */ cpu->r[31] = cpu->r[3];
/* 028CAE9C */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAE9C */ _t96 = _t95 & 0x00000001u;
/* 028CAE9C */ if (_t96) goto L_028CAFBC; else goto L_028CAEA0;
L_028CAEA0: ; // 0x28caea0
/* 028CAEA0 */ goto L_028CAEB4;
L_028CAEA4: ; // 0x28caea4
/* 028CAEA4 */ cpu->r[31] = 0x00000000u;
/* 028CAEA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000000u);
/* 028CAEAC */ cpu->r[24] = cpu->r[31];
/* 028CAEB0 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAEB0 */ _t98 = _t97 & 0x00000001u;
/* 028CAEB0 */ if (_t98) goto L_028CAFBC; else goto L_028CAEB4;
L_028CAEB4: ; // 0x28caeb4
/* 028CAEB4 */ _t99 = cpu->r[30] + 0x00000004u;
/* 028CAEB4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t99);
/* 028CAEB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028CAEBC */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAEBC */ _t101 = _t100 & 0x00000001u;
/* 028CAEBC */ if (_t101) goto L_028CAEC8; else goto L_028CAEC0;
L_028CAEC0: ; // 0x28caec0
/* 028CAEC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000006u);
/* 028CAEC4 */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAEC4 */ _t103 = _t102 & 0x00000001u;
/* 028CAEC4 */ if (_t103) goto L_028CAEC8; else goto L_028CAEF0;
L_028CAEC8: ; // 0x28caec8
/* 028CAEC8 */ _t104 = cpu->r[29] + 0x00000008u;
/* 028CAEC8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t104);
/* 028CAECC */ _t105 = cpu->r[3] + 0x00000000u;
/* 028CAECC */ cpu->r[10] = rbrew_read32(cpu->mem, _t105);
/* 028CAED0 */ _t106 = cpu->r[10] + 0x00000034u;
/* 028CAED0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t106);
/* 028CAED4 */ cpu->ctr = cpu->r[11];
/* 028CAED8 */ cpu->r[4] = cpu->r[30];
/* 028CAEDC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CAEE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CAEE4 */ cpu->r[30] = cpu->r[31];
/* 028CAEE8 */ _t107 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAEE8 */ _t108 = _t107 & 0x00000001u;
/* 028CAEE8 */ if (_t108) goto L_028CAEEC; else goto L_028CAF88;
L_028CAEEC: ; // 0x28caeec
/* 028CAEEC */ goto L_028CAFB0;
L_028CAEF0: ; // 0x28caef0
/* 028CAEF0 */ _t109 = cpu->r[30] + 0x00000194u;
/* 028CAEF0 */ cpu->r[12] = rbrew_read16(cpu->mem, _t109);
/* 028CAEF4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
/* 028CAEF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CAEF8 */ _t110 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAEF8 */ _t111 = _t110 & 0x00000001u;
/* 028CAEF8 */ if (_t111) goto L_028CAF3C; else goto L_028CAEFC;
L_028CAEFC: ; // 0x28caefc
/* 028CAEFC */ _t112 = cpu->r[29] + 0x00000008u;
/* 028CAEFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t112);
/* 028CAF00 */ _t113 = cpu->r[3] + 0x00000000u;
/* 028CAF00 */ cpu->r[4] = rbrew_read32(cpu->mem, _t113);
/* 028CAF04 */ _t114 = cpu->r[4] + 0x00000034u;
/* 028CAF04 */ cpu->r[5] = rbrew_read32(cpu->mem, _t114);
/* 028CAF08 */ cpu->ctr = cpu->r[5];
/* 028CAF0C */ cpu->r[4] = cpu->r[30];
/* 028CAF10 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CAF14 */ _t115 = cpu->r[29] + 0x0000000Cu;
/* 028CAF14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t115);
/* 028CAF18 */ _t116 = cpu->r[3] + 0x00000000u;
/* 028CAF18 */ cpu->r[7] = rbrew_read32(cpu->mem, _t116);
/* 028CAF1C */ _t117 = cpu->r[7] + 0x00000014u;
/* 028CAF1C */ cpu->r[9] = rbrew_read32(cpu->mem, _t117);
/* 028CAF20 */ cpu->ctr = cpu->r[9];
/* 028CAF24 */ cpu->r[4] = cpu->r[30];
/* 028CAF28 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CAF2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CAF30 */ cpu->r[30] = cpu->r[31];
/* 028CAF34 */ _t118 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAF34 */ _t119 = _t118 & 0x00000001u;
/* 028CAF34 */ if (_t119) goto L_028CAF38; else goto L_028CAF88;
L_028CAF38: ; // 0x28caf38
/* 028CAF38 */ goto L_028CAFB0;
L_028CAF3C: ; // 0x28caf3c
/* 028CAF3C */ cpu->r[3] = cpu->r[30];
/* 028CAF40 */ Gambit_fn_028BEE50(cpu);
/* 028CAF44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CAF48 */ _t120 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAF48 */ _t121 = _t120 & 0x00000001u;
/* 028CAF48 */ if (_t121) goto L_028CAF4C; else goto L_028CAF7C;
L_028CAF4C: ; // 0x28caf4c
/* 028CAF4C */ _t122 = cpu->r[29] + 0x00000008u;
/* 028CAF4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t122);
/* 028CAF50 */ _t123 = cpu->r[3] + 0x00000000u;
/* 028CAF50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t123);
/* 028CAF54 */ _t124 = cpu->r[12] + 0x00000034u;
/* 028CAF54 */ cpu->r[5] = rbrew_read32(cpu->mem, _t124);
/* 028CAF58 */ cpu->ctr = cpu->r[5];
/* 028CAF5C */ cpu->r[4] = cpu->r[30];
/* 028CAF60 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CAF64 */ _t125 = cpu->r[29] + 0x00000004u;
/* 028CAF64 */ cpu->r[3] = rbrew_read32(cpu->mem, _t125);
/* 028CAF68 */ _t126 = cpu->r[3] + 0x00000000u;
/* 028CAF68 */ cpu->r[6] = rbrew_read32(cpu->mem, _t126);
/* 028CAF6C */ _t127 = cpu->r[6] + 0x00000014u;
/* 028CAF6C */ cpu->r[7] = rbrew_read32(cpu->mem, _t127);
/* 028CAF70 */ cpu->ctr = cpu->r[7];
/* 028CAF74 */ cpu->r[4] = cpu->r[30];
/* 028CAF78 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CAF7C: ; // 0x28caf7c
/* 028CAF7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CAF80 */ cpu->r[30] = cpu->r[31];
/* 028CAF84 */ _t128 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAF84 */ _t129 = _t128 & 0x00000001u;
/* 028CAF84 */ if (_t129) goto L_028CAFB0; else goto L_028CAF88;
L_028CAF88: ; // 0x28caf88
/* 028CAF88 */ _t130 = cpu->r[25] + 0x00000000u;
/* 028CAF88 */ cpu->r[9] = rbrew_read32(cpu->mem, _t130);
/* 028CAF8C */ _t131 = cpu->r[9] + 0x0000005Cu;
/* 028CAF8C */ cpu->r[10] = rbrew_read32(cpu->mem, _t131);
/* 028CAF90 */ cpu->ctr = cpu->r[10];
/* 028CAF94 */ cpu->r[3] = cpu->r[25];
/* 028CAF98 */ cpu->r[4] = cpu->r[30];
/* 028CAF9C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CAFA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[24]);
/* 028CAFA4 */ cpu->r[31] = cpu->r[3];
/* 028CAFA8 */ _t132 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAFA8 */ _t133 = _t132 & 0x00000001u;
/* 028CAFA8 */ if (_t133) goto L_028CAFAC; else goto L_028CAEB4;
L_028CAFAC: ; // 0x28cafac
/* 028CAFAC */ goto L_028CAFBC;
L_028CAFB0: ; // 0x28cafb0
/* 028CAFB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[24]);
/* 028CAFB4 */ cpu->r[31] = 0x00000000u;
/* 028CAFB8 */ _t134 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAFB8 */ _t135 = _t134 & 0x00000001u;
/* 028CAFB8 */ if (_t135) goto L_028CAFBC; else goto L_028CAEB4;
L_028CAFBC: ; // 0x28cafbc
/* 028CAFBC */ _t136 = cpu->r[29] + 0x0000000Cu;
/* 028CAFBC */ cpu->r[3] = rbrew_read32(cpu->mem, _t136);
/* 028CAFC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CAFC4 */ _t137 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAFC4 */ _t138 = _t137 & 0x00000001u;
/* 028CAFC4 */ if (_t138) goto L_028CB0AC; else goto L_028CAFC8;
L_028CAFC8: ; // 0x28cafc8
/* 028CAFC8 */ _t139 = cpu->r[3] + 0x00000000u;
/* 028CAFC8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t139);
/* 028CAFCC */ _t140 = cpu->r[11] + 0x0000007Cu;
/* 028CAFCC */ cpu->r[12] = rbrew_read32(cpu->mem, _t140);
/* 028CAFD0 */ cpu->ctr = cpu->r[12];
/* 028CAFD4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CAFD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CAFDC */ _t141 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAFDC */ _t142 = _t141 & 0x00000001u;
/* 028CAFDC */ if (_t142) goto L_028CAFE0; else goto L_028CB0AC;
L_028CAFE0: ; // 0x28cafe0
/* 028CAFE0 */ _t143 = cpu->r[29] + 0x0000000Cu;
/* 028CAFE0 */ cpu->r[25] = rbrew_read32(cpu->mem, _t143);
/* 028CAFE4 */ _t144 = cpu->r[25] + 0x00000000u;
/* 028CAFE4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t144);
/* 028CAFE8 */ _t145 = cpu->r[4] + 0x00000044u;
/* 028CAFE8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t145);
/* 028CAFEC */ cpu->ctr = cpu->r[5];
/* 028CAFF0 */ cpu->r[3] = cpu->r[25];
/* 028CAFF4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CAFF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CAFFC */ cpu->r[30] = cpu->r[3];
/* 028CB000 */ _t146 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB000 */ _t147 = _t146 & 0x00000001u;
/* 028CB000 */ if (_t147) goto L_028CB030; else goto L_028CB004;
L_028CB004: ; // 0x28cb004
/* 028CB004 */ _t148 = cpu->r[25] + 0x00000000u;
/* 028CB004 */ cpu->r[6] = rbrew_read32(cpu->mem, _t148);
/* 028CB008 */ _t149 = cpu->r[6] + 0x0000005Cu;
/* 028CB008 */ cpu->r[7] = rbrew_read32(cpu->mem, _t149);
/* 028CB00C */ cpu->ctr = cpu->r[7];
/* 028CB010 */ cpu->r[4] = cpu->r[30];
/* 028CB014 */ cpu->r[3] = cpu->r[25];
/* 028CB018 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB01C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000000u);
/* 028CB020 */ cpu->r[24] = 0x00000000u;
/* 028CB024 */ cpu->r[31] = cpu->r[3];
/* 028CB028 */ _t150 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB028 */ _t151 = _t150 & 0x00000001u;
/* 028CB028 */ if (_t151) goto L_028CB0AC; else goto L_028CB02C;
L_028CB02C: ; // 0x28cb02c
/* 028CB02C */ goto L_028CB040;
L_028CB030: ; // 0x28cb030
/* 028CB030 */ cpu->r[31] = 0x00000000u;
/* 028CB034 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000000u);
/* 028CB038 */ cpu->r[24] = cpu->r[31];
/* 028CB03C */ _t152 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB03C */ _t153 = _t152 & 0x00000001u;
/* 028CB03C */ if (_t153) goto L_028CB0AC; else goto L_028CB040;
L_028CB040: ; // 0x28cb040
/* 028CB040 */ _t154 = cpu->r[30] + 0x00000004u;
/* 028CB040 */ cpu->r[10] = rbrew_read32(cpu->mem, _t154);
/* 028CB044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028CB048 */ _t155 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB048 */ _t156 = _t155 & 0x00000001u;
/* 028CB048 */ if (_t156) goto L_028CB054; else goto L_028CB04C;
L_028CB04C: ; // 0x28cb04c
/* 028CB04C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000006u);
/* 028CB050 */ _t157 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB050 */ _t158 = _t157 & 0x00000001u;
/* 028CB050 */ if (_t158) goto L_028CB054; else goto L_028CB06C;
L_028CB054: ; // 0x28cb054
/* 028CB054 */ _t159 = cpu->r[29] + 0x0000000Cu;
/* 028CB054 */ cpu->r[3] = rbrew_read32(cpu->mem, _t159);
/* 028CB058 */ _t160 = cpu->r[3] + 0x00000000u;
/* 028CB058 */ cpu->r[8] = rbrew_read32(cpu->mem, _t160);
/* 028CB05C */ _t161 = cpu->r[8] + 0x00000034u;
/* 028CB05C */ cpu->r[9] = rbrew_read32(cpu->mem, _t161);
/* 028CB060 */ cpu->ctr = cpu->r[9];
/* 028CB064 */ cpu->r[4] = cpu->r[30];
/* 028CB068 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CB06C: ; // 0x28cb06c
/* 028CB06C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CB070 */ cpu->r[30] = cpu->r[31];
/* 028CB074 */ _t162 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB074 */ _t163 = _t162 & 0x00000001u;
/* 028CB074 */ if (_t163) goto L_028CB0A0; else goto L_028CB078;
L_028CB078: ; // 0x28cb078
/* 028CB078 */ _t164 = cpu->r[25] + 0x00000000u;
/* 028CB078 */ cpu->r[10] = rbrew_read32(cpu->mem, _t164);
/* 028CB07C */ _t165 = cpu->r[10] + 0x0000005Cu;
/* 028CB07C */ cpu->r[11] = rbrew_read32(cpu->mem, _t165);
/* 028CB080 */ cpu->ctr = cpu->r[11];
/* 028CB084 */ cpu->r[3] = cpu->r[25];
/* 028CB088 */ cpu->r[4] = cpu->r[30];
/* 028CB08C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB090 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[24]);
/* 028CB094 */ cpu->r[31] = cpu->r[3];
/* 028CB098 */ _t166 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB098 */ _t167 = _t166 & 0x00000001u;
/* 028CB098 */ if (_t167) goto L_028CB09C; else goto L_028CB040;
L_028CB09C: ; // 0x28cb09c
/* 028CB09C */ goto L_028CB0AC;
L_028CB0A0: ; // 0x28cb0a0
/* 028CB0A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[24]);
/* 028CB0A4 */ cpu->r[31] = 0x00000000u;
/* 028CB0A8 */ _t168 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB0A8 */ _t169 = _t168 & 0x00000001u;
/* 028CB0A8 */ if (_t169) goto L_028CB0AC; else goto L_028CB040;
L_028CB0AC: ; // 0x28cb0ac
/* 028CB0AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
/* 028CB0B0 */ _t170 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB0B0 */ _t171 = _t170 & 0x00000001u;
/* 028CB0B0 */ if (_t171) goto L_028CB0D8; else goto L_028CB0B4;
L_028CB0B4: ; // 0x28cb0b4
/* 028CB0B4 */ _t172 = cpu->r[26] + 0x00000000u;
/* 028CB0B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t172);
/* 028CB0B8 */ _t173 = cpu->r[12] + 0x0000008Cu;
/* 028CB0B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t173);
/* 028CB0BC */ cpu->ctr = cpu->r[0];
/* 028CB0C0 */ cpu->r[3] = cpu->r[26];
/* 028CB0C4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB0C8 */ _t174 = cpu->r[3] + 0x00000000u;
/* 028CB0C8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t174);
/* 028CB0CC */ _t175 = cpu->r[4] + 0x0000001Cu;
/* 028CB0CC */ cpu->r[5] = rbrew_read32(cpu->mem, _t175);
/* 028CB0D0 */ cpu->ctr = cpu->r[5];
/* 028CB0D4 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CB0D8: ; // 0x28cb0d8
/* 028CB0D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
/* 028CB0DC */ _t176 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB0DC */ _t177 = _t176 & 0x00000001u;
/* 028CB0DC */ if (_t177) goto L_028CB104; else goto L_028CB0E0;
L_028CB0E0: ; // 0x28cb0e0
/* 028CB0E0 */ _t178 = cpu->r[27] + 0x00000000u;
/* 028CB0E0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t178);
/* 028CB0E4 */ _t179 = cpu->r[6] + 0x0000008Cu;
/* 028CB0E4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t179);
/* 028CB0E8 */ cpu->ctr = cpu->r[7];
/* 028CB0EC */ cpu->r[3] = cpu->r[27];
/* 028CB0F0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB0F4 */ _t180 = cpu->r[3] + 0x00000000u;
/* 028CB0F4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t180);
/* 028CB0F8 */ _t181 = cpu->r[8] + 0x0000001Cu;
/* 028CB0F8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t181);
/* 028CB0FC */ cpu->ctr = cpu->r[9];
/* 028CB100 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CB104: ; // 0x28cb104
/* 028CB104 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028CB108 */ _t182 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB108 */ _t183 = _t182 & 0x00000001u;
/* 028CB108 */ if (_t183) goto L_028CB130; else goto L_028CB10C;
L_028CB10C: ; // 0x28cb10c
/* 028CB10C */ _t184 = cpu->r[28] + 0x00000000u;
/* 028CB10C */ cpu->r[10] = rbrew_read32(cpu->mem, _t184);
/* 028CB110 */ _t185 = cpu->r[10] + 0x0000008Cu;
/* 028CB110 */ cpu->r[11] = rbrew_read32(cpu->mem, _t185);
/* 028CB114 */ cpu->ctr = cpu->r[11];
/* 028CB118 */ cpu->r[3] = cpu->r[28];
/* 028CB11C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB120 */ _t186 = cpu->r[3] + 0x00000000u;
/* 028CB120 */ cpu->r[12] = rbrew_read32(cpu->mem, _t186);
/* 028CB124 */ _t187 = cpu->r[12] + 0x0000001Cu;
/* 028CB124 */ cpu->r[0] = rbrew_read32(cpu->mem, _t187);
/* 028CB128 */ cpu->ctr = cpu->r[0];
/* 028CB12C */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CB130: ; // 0x28cb130
/* 028CB130 */ /* nop */
/* 028CB134 */ _t188 = cpu->r[1] + 0x0000002Cu;
/* 028CB134 */ cpu->r[0] = rbrew_read32(cpu->mem, _t188);
/* 028CB138 */ cpu->lr = cpu->r[0];
/* 028CB13C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028CB140 */ return;
}
// fn_028CB144 @ 0x28cb144
void Gambit_fn_028CB144(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _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_028CABF4: ; // 0x28cabf4
/* 028CABF4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028CABF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CABF4 */ cpu->r[1] = _t0;
/* 028CABF8 */ /* nop */
/* 028CABFC */ cpu->r[0] = cpu->lr;
/* 028CAC00 */ _t1 = cpu->r[1] + 0x0000002Cu;
/* 028CAC00 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028CAC04 */ cpu->r[29] = cpu->r[3];
/* 028CAC08 */ _t2 = cpu->r[29] + 0x00000000u;
/* 028CAC08 */ cpu->r[4] = rbrew_read8(cpu->mem, _t2);
/* 028CAC0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028CAC10 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAC10 */ _t4 = _t3 & 0x00000001u;
/* 028CAC10 */ if (_t4) goto L_028CB130; else goto L_028CAC14;
L_028CAC14: ; // 0x28cac14
/* 028CAC14 */ _t5 = cpu->r[29] + 0x00000004u;
/* 028CAC14 */ cpu->r[28] = rbrew_read32(cpu->mem, _t5);
/* 028CAC18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028CAC1C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAC1C */ _t7 = _t6 & 0x00000001u;
/* 028CAC1C */ if (_t7) goto L_028CAC44; else goto L_028CAC20;
L_028CAC20: ; // 0x28cac20
/* 028CAC20 */ _t8 = cpu->r[28] + 0x00000000u;
/* 028CAC20 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
/* 028CAC24 */ _t9 = cpu->r[8] + 0x0000008Cu;
/* 028CAC24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028CAC28 */ cpu->ctr = cpu->r[0];
/* 028CAC2C */ cpu->r[3] = cpu->r[28];
/* 028CAC30 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CAC34 */ _t10 = cpu->r[3] + 0x00000000u;
/* 028CAC34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
/* 028CAC38 */ _t11 = cpu->r[12] + 0x00000014u;
/* 028CAC38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028CAC3C */ cpu->ctr = cpu->r[0];
/* 028CAC40 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CAC44: ; // 0x28cac44
/* 028CAC44 */ _t12 = cpu->r[29] + 0x00000008u;
/* 028CAC44 */ cpu->r[27] = rbrew_read32(cpu->mem, _t12);
/* 028CAC48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
/* 028CAC4C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAC4C */ _t14 = _t13 & 0x00000001u;
/* 028CAC4C */ if (_t14) goto L_028CAC74; else goto L_028CAC50;
L_028CAC50: ; // 0x28cac50
/* 028CAC50 */ _t15 = cpu->r[27] + 0x00000000u;
/* 028CAC50 */ cpu->r[4] = rbrew_read32(cpu->mem, _t15);
/* 028CAC54 */ _t16 = cpu->r[4] + 0x0000008Cu;
/* 028CAC54 */ cpu->r[5] = rbrew_read32(cpu->mem, _t16);
/* 028CAC58 */ cpu->ctr = cpu->r[5];
/* 028CAC5C */ cpu->r[3] = cpu->r[27];
/* 028CAC60 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CAC64 */ _t17 = cpu->r[3] + 0x00000000u;
/* 028CAC64 */ cpu->r[6] = rbrew_read32(cpu->mem, _t17);
/* 028CAC68 */ _t18 = cpu->r[6] + 0x00000014u;
/* 028CAC68 */ cpu->r[7] = rbrew_read32(cpu->mem, _t18);
/* 028CAC6C */ cpu->ctr = cpu->r[7];
/* 028CAC70 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CAC74: ; // 0x28cac74
/* 028CAC74 */ _t19 = cpu->r[29] + 0x0000000Cu;
/* 028CAC74 */ cpu->r[26] = rbrew_read32(cpu->mem, _t19);
/* 028CAC78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
/* 028CAC7C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAC7C */ _t21 = _t20 & 0x00000001u;
/* 028CAC7C */ if (_t21) goto L_028CACA4; else goto L_028CAC80;
L_028CAC80: ; // 0x28cac80
/* 028CAC80 */ _t22 = cpu->r[26] + 0x00000000u;
/* 028CAC80 */ cpu->r[8] = rbrew_read32(cpu->mem, _t22);
/* 028CAC84 */ _t23 = cpu->r[8] + 0x0000008Cu;
/* 028CAC84 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
/* 028CAC88 */ cpu->ctr = cpu->r[9];
/* 028CAC8C */ cpu->r[3] = cpu->r[26];
/* 028CAC90 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CAC94 */ _t24 = cpu->r[3] + 0x00000000u;
/* 028CAC94 */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
/* 028CAC98 */ _t25 = cpu->r[10] + 0x00000014u;
/* 028CAC98 */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
/* 028CAC9C */ cpu->ctr = cpu->r[11];
/* 028CACA0 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CACA4: ; // 0x28caca4
/* 028CACA4 */ _t26 = cpu->r[29] + 0x00000004u;
/* 028CACA4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
/* 028CACA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CACAC */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CACAC */ _t28 = _t27 & 0x00000001u;
/* 028CACAC */ if (_t28) goto L_028CAE30; else goto L_028CACB0;
L_028CACB0: ; // 0x28cacb0
/* 028CACB0 */ _t29 = cpu->r[3] + 0x00000000u;
/* 028CACB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
/* 028CACB4 */ _t30 = cpu->r[12] + 0x0000007Cu;
/* 028CACB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
/* 028CACB8 */ cpu->ctr = cpu->r[0];
/* 028CACBC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CACC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CACC4 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CACC4 */ _t32 = _t31 & 0x00000001u;
/* 028CACC4 */ if (_t32) goto L_028CACC8; else goto L_028CAE30;
L_028CACC8: ; // 0x28cacc8
/* 028CACC8 */ _t33 = cpu->r[29] + 0x00000004u;
/* 028CACC8 */ cpu->r[25] = rbrew_read32(cpu->mem, _t33);
/* 028CACCC */ _t34 = cpu->r[25] + 0x00000000u;
/* 028CACCC */ cpu->r[4] = rbrew_read32(cpu->mem, _t34);
/* 028CACD0 */ _t35 = cpu->r[4] + 0x00000044u;
/* 028CACD0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t35);
/* 028CACD4 */ cpu->ctr = cpu->r[5];
/* 028CACD8 */ cpu->r[3] = cpu->r[25];
/* 028CACDC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CACE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CACE4 */ cpu->r[30] = cpu->r[3];
/* 028CACE8 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CACE8 */ _t37 = _t36 & 0x00000001u;
/* 028CACE8 */ if (_t37) goto L_028CAD18; else goto L_028CACEC;
L_028CACEC: ; // 0x28cacec
/* 028CACEC */ _t38 = cpu->r[25] + 0x00000000u;
/* 028CACEC */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
/* 028CACF0 */ _t39 = cpu->r[6] + 0x0000005Cu;
/* 028CACF0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t39);
/* 028CACF4 */ cpu->ctr = cpu->r[7];
/* 028CACF8 */ cpu->r[4] = cpu->r[30];
/* 028CACFC */ cpu->r[3] = cpu->r[25];
/* 028CAD00 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CAD04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000000u);
/* 028CAD08 */ cpu->r[24] = 0x00000000u;
/* 028CAD0C */ cpu->r[31] = cpu->r[3];
/* 028CAD10 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAD10 */ _t41 = _t40 & 0x00000001u;
/* 028CAD10 */ if (_t41) goto L_028CAE30; else goto L_028CAD14;
L_028CAD14: ; // 0x28cad14
/* 028CAD14 */ goto L_028CAD28;
L_028CAD18: ; // 0x28cad18
/* 028CAD18 */ cpu->r[31] = 0x00000000u;
/* 028CAD1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000000u);
/* 028CAD20 */ cpu->r[24] = cpu->r[31];
/* 028CAD24 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAD24 */ _t43 = _t42 & 0x00000001u;
/* 028CAD24 */ if (_t43) goto L_028CAE30; else goto L_028CAD28;
L_028CAD28: ; // 0x28cad28
/* 028CAD28 */ _t44 = cpu->r[30] + 0x00000004u;
/* 028CAD28 */ cpu->r[6] = rbrew_read32(cpu->mem, _t44);
/* 028CAD2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
/* 028CAD30 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAD30 */ _t46 = _t45 & 0x00000001u;
/* 028CAD30 */ if (_t46) goto L_028CAD3C; else goto L_028CAD34;
L_028CAD34: ; // 0x28cad34
/* 028CAD34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000006u);
/* 028CAD38 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAD38 */ _t48 = _t47 & 0x00000001u;
/* 028CAD38 */ if (_t48) goto L_028CAD3C; else goto L_028CAD64;
L_028CAD3C: ; // 0x28cad3c
/* 028CAD3C */ _t49 = cpu->r[29] + 0x00000004u;
/* 028CAD3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t49);
/* 028CAD40 */ _t50 = cpu->r[3] + 0x00000000u;
/* 028CAD40 */ cpu->r[8] = rbrew_read32(cpu->mem, _t50);
/* 028CAD44 */ _t51 = cpu->r[8] + 0x00000034u;
/* 028CAD44 */ cpu->r[9] = rbrew_read32(cpu->mem, _t51);
/* 028CAD48 */ cpu->ctr = cpu->r[9];
/* 028CAD4C */ cpu->r[4] = cpu->r[30];
/* 028CAD50 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CAD54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CAD58 */ cpu->r[30] = cpu->r[31];
/* 028CAD5C */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAD5C */ _t53 = _t52 & 0x00000001u;
/* 028CAD5C */ if (_t53) goto L_028CAD60; else goto L_028CADFC;
L_028CAD60: ; // 0x28cad60
/* 028CAD60 */ goto L_028CAE24;
L_028CAD64: ; // 0x28cad64
/* 028CAD64 */ _t54 = cpu->r[30] + 0x00000194u;
/* 028CAD64 */ cpu->r[10] = rbrew_read16(cpu->mem, _t54);
/* 028CAD68 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
/* 028CAD68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028CAD6C */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAD6C */ _t56 = _t55 & 0x00000001u;
/* 028CAD6C */ if (_t56) goto L_028CADB0; else goto L_028CAD70;
L_028CAD70: ; // 0x28cad70
/* 028CAD70 */ _t57 = cpu->r[29] + 0x00000004u;
/* 028CAD70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t57);
/* 028CAD74 */ _t58 = cpu->r[3] + 0x00000000u;
/* 028CAD74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t58);
/* 028CAD78 */ _t59 = cpu->r[12] + 0x00000034u;
/* 028CAD78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
/* 028CAD7C */ cpu->ctr = cpu->r[0];
/* 028CAD80 */ cpu->r[4] = cpu->r[30];
/* 028CAD84 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CAD88 */ _t60 = cpu->r[29] + 0x0000000Cu;
/* 028CAD88 */ cpu->r[3] = rbrew_read32(cpu->mem, _t60);
/* 028CAD8C */ _t61 = cpu->r[3] + 0x00000000u;
/* 028CAD8C */ cpu->r[5] = rbrew_read32(cpu->mem, _t61);
/* 028CAD90 */ _t62 = cpu->r[5] + 0x00000014u;
/* 028CAD90 */ cpu->r[6] = rbrew_read32(cpu->mem, _t62);
/* 028CAD94 */ cpu->ctr = cpu->r[6];
/* 028CAD98 */ cpu->r[4] = cpu->r[30];
/* 028CAD9C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CADA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CADA4 */ cpu->r[30] = cpu->r[31];
/* 028CADA8 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CADA8 */ _t64 = _t63 & 0x00000001u;
/* 028CADA8 */ if (_t64) goto L_028CADAC; else goto L_028CADFC;
L_028CADAC: ; // 0x28cadac
/* 028CADAC */ goto L_028CAE24;
L_028CADB0: ; // 0x28cadb0
/* 028CADB0 */ cpu->r[3] = cpu->r[30];
/* 028CADB4 */ Gambit_fn_028BEE50(cpu);
/* 028CADB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CADBC */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CADBC */ _t66 = _t65 & 0x00000001u;
/* 028CADBC */ if (_t66) goto L_028CADF0; else goto L_028CADC0;
L_028CADC0: ; // 0x28cadc0
/* 028CADC0 */ _t67 = cpu->r[29] + 0x00000004u;
/* 028CADC0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t67);
/* 028CADC4 */ _t68 = cpu->r[3] + 0x00000000u;
/* 028CADC4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t68);
/* 028CADC8 */ _t69 = cpu->r[8] + 0x00000034u;
/* 028CADC8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t69);
/* 028CADCC */ cpu->ctr = cpu->r[9];
/* 028CADD0 */ cpu->r[4] = cpu->r[30];
/* 028CADD4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CADD8 */ _t70 = cpu->r[29] + 0x00000008u;
/* 028CADD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t70);
/* 028CADDC */ _t71 = cpu->r[3] + 0x00000000u;
/* 028CADDC */ cpu->r[10] = rbrew_read32(cpu->mem, _t71);
/* 028CADE0 */ _t72 = cpu->r[10] + 0x00000014u;
/* 028CADE0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t72);
/* 028CADE4 */ cpu->ctr = cpu->r[11];
/* 028CADE8 */ cpu->r[4] = cpu->r[30];
/* 028CADEC */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CADF0: ; // 0x28cadf0
/* 028CADF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CADF4 */ cpu->r[30] = cpu->r[31];
/* 028CADF8 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CADF8 */ _t74 = _t73 & 0x00000001u;
/* 028CADF8 */ if (_t74) goto L_028CAE24; else goto L_028CADFC;
L_028CADFC: ; // 0x28cadfc
/* 028CADFC */ _t75 = cpu->r[25] + 0x00000000u;
/* 028CADFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
/* 028CAE00 */ _t76 = cpu->r[12] + 0x0000005Cu;
/* 028CAE00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t76);
/* 028CAE04 */ cpu->ctr = cpu->r[0];
/* 028CAE08 */ cpu->r[3] = cpu->r[25];
/* 028CAE0C */ cpu->r[4] = cpu->r[30];
/* 028CAE10 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CAE14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[24]);
/* 028CAE18 */ cpu->r[31] = cpu->r[3];
/* 028CAE1C */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAE1C */ _t78 = _t77 & 0x00000001u;
/* 028CAE1C */ if (_t78) goto L_028CAE20; else goto L_028CAD28;
L_028CAE20: ; // 0x28cae20
/* 028CAE20 */ goto L_028CAE30;
L_028CAE24: ; // 0x28cae24
/* 028CAE24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[24]);
/* 028CAE28 */ cpu->r[31] = 0x00000000u;
/* 028CAE2C */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAE2C */ _t80 = _t79 & 0x00000001u;
/* 028CAE2C */ if (_t80) goto L_028CAE30; else goto L_028CAD28;
L_028CAE30: ; // 0x28cae30
/* 028CAE30 */ _t81 = cpu->r[29] + 0x00000008u;
/* 028CAE30 */ cpu->r[3] = rbrew_read32(cpu->mem, _t81);
/* 028CAE34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CAE38 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAE38 */ _t83 = _t82 & 0x00000001u;
/* 028CAE38 */ if (_t83) goto L_028CAFBC; else goto L_028CAE3C;
L_028CAE3C: ; // 0x28cae3c
/* 028CAE3C */ _t84 = cpu->r[3] + 0x00000000u;
/* 028CAE3C */ cpu->r[4] = rbrew_read32(cpu->mem, _t84);
/* 028CAE40 */ _t85 = cpu->r[4] + 0x0000007Cu;
/* 028CAE40 */ cpu->r[5] = rbrew_read32(cpu->mem, _t85);
/* 028CAE44 */ cpu->ctr = cpu->r[5];
/* 028CAE48 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CAE4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CAE50 */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAE50 */ _t87 = _t86 & 0x00000001u;
/* 028CAE50 */ if (_t87) goto L_028CAE54; else goto L_028CAFBC;
L_028CAE54: ; // 0x28cae54
/* 028CAE54 */ _t88 = cpu->r[29] + 0x00000008u;
/* 028CAE54 */ cpu->r[25] = rbrew_read32(cpu->mem, _t88);
/* 028CAE58 */ _t89 = cpu->r[25] + 0x00000000u;
/* 028CAE58 */ cpu->r[6] = rbrew_read32(cpu->mem, _t89);
/* 028CAE5C */ _t90 = cpu->r[6] + 0x00000044u;
/* 028CAE5C */ cpu->r[7] = rbrew_read32(cpu->mem, _t90);
/* 028CAE60 */ cpu->ctr = cpu->r[7];
/* 028CAE64 */ cpu->r[3] = cpu->r[25];
/* 028CAE68 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CAE6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CAE70 */ cpu->r[30] = cpu->r[3];
/* 028CAE74 */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAE74 */ _t92 = _t91 & 0x00000001u;
/* 028CAE74 */ if (_t92) goto L_028CAEA4; else goto L_028CAE78;
L_028CAE78: ; // 0x28cae78
/* 028CAE78 */ _t93 = cpu->r[25] + 0x00000000u;
/* 028CAE78 */ cpu->r[8] = rbrew_read32(cpu->mem, _t93);
/* 028CAE7C */ _t94 = cpu->r[8] + 0x0000005Cu;
/* 028CAE7C */ cpu->r[9] = rbrew_read32(cpu->mem, _t94);
/* 028CAE80 */ cpu->ctr = cpu->r[9];
/* 028CAE84 */ cpu->r[4] = cpu->r[30];
/* 028CAE88 */ cpu->r[3] = cpu->r[25];
/* 028CAE8C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CAE90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000000u);
/* 028CAE94 */ cpu->r[24] = 0x00000000u;
/* 028CAE98 */ cpu->r[31] = cpu->r[3];
/* 028CAE9C */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAE9C */ _t96 = _t95 & 0x00000001u;
/* 028CAE9C */ if (_t96) goto L_028CAFBC; else goto L_028CAEA0;
L_028CAEA0: ; // 0x28caea0
/* 028CAEA0 */ goto L_028CAEB4;
L_028CAEA4: ; // 0x28caea4
/* 028CAEA4 */ cpu->r[31] = 0x00000000u;
/* 028CAEA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000000u);
/* 028CAEAC */ cpu->r[24] = cpu->r[31];
/* 028CAEB0 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAEB0 */ _t98 = _t97 & 0x00000001u;
/* 028CAEB0 */ if (_t98) goto L_028CAFBC; else goto L_028CAEB4;
L_028CAEB4: ; // 0x28caeb4
/* 028CAEB4 */ _t99 = cpu->r[30] + 0x00000004u;
/* 028CAEB4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t99);
/* 028CAEB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028CAEBC */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAEBC */ _t101 = _t100 & 0x00000001u;
/* 028CAEBC */ if (_t101) goto L_028CAEC8; else goto L_028CAEC0;
L_028CAEC0: ; // 0x28caec0
/* 028CAEC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000006u);
/* 028CAEC4 */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAEC4 */ _t103 = _t102 & 0x00000001u;
/* 028CAEC4 */ if (_t103) goto L_028CAEC8; else goto L_028CAEF0;
L_028CAEC8: ; // 0x28caec8
/* 028CAEC8 */ _t104 = cpu->r[29] + 0x00000008u;
/* 028CAEC8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t104);
/* 028CAECC */ _t105 = cpu->r[3] + 0x00000000u;
/* 028CAECC */ cpu->r[10] = rbrew_read32(cpu->mem, _t105);
/* 028CAED0 */ _t106 = cpu->r[10] + 0x00000034u;
/* 028CAED0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t106);
/* 028CAED4 */ cpu->ctr = cpu->r[11];
/* 028CAED8 */ cpu->r[4] = cpu->r[30];
/* 028CAEDC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CAEE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CAEE4 */ cpu->r[30] = cpu->r[31];
/* 028CAEE8 */ _t107 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAEE8 */ _t108 = _t107 & 0x00000001u;
/* 028CAEE8 */ if (_t108) goto L_028CAEEC; else goto L_028CAF88;
L_028CAEEC: ; // 0x28caeec
/* 028CAEEC */ goto L_028CAFB0;
L_028CAEF0: ; // 0x28caef0
/* 028CAEF0 */ _t109 = cpu->r[30] + 0x00000194u;
/* 028CAEF0 */ cpu->r[12] = rbrew_read16(cpu->mem, _t109);
/* 028CAEF4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
/* 028CAEF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CAEF8 */ _t110 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAEF8 */ _t111 = _t110 & 0x00000001u;
/* 028CAEF8 */ if (_t111) goto L_028CAF3C; else goto L_028CAEFC;
L_028CAEFC: ; // 0x28caefc
/* 028CAEFC */ _t112 = cpu->r[29] + 0x00000008u;
/* 028CAEFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t112);
/* 028CAF00 */ _t113 = cpu->r[3] + 0x00000000u;
/* 028CAF00 */ cpu->r[4] = rbrew_read32(cpu->mem, _t113);
/* 028CAF04 */ _t114 = cpu->r[4] + 0x00000034u;
/* 028CAF04 */ cpu->r[5] = rbrew_read32(cpu->mem, _t114);
/* 028CAF08 */ cpu->ctr = cpu->r[5];
/* 028CAF0C */ cpu->r[4] = cpu->r[30];
/* 028CAF10 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CAF14 */ _t115 = cpu->r[29] + 0x0000000Cu;
/* 028CAF14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t115);
/* 028CAF18 */ _t116 = cpu->r[3] + 0x00000000u;
/* 028CAF18 */ cpu->r[7] = rbrew_read32(cpu->mem, _t116);
/* 028CAF1C */ _t117 = cpu->r[7] + 0x00000014u;
/* 028CAF1C */ cpu->r[9] = rbrew_read32(cpu->mem, _t117);
/* 028CAF20 */ cpu->ctr = cpu->r[9];
/* 028CAF24 */ cpu->r[4] = cpu->r[30];
/* 028CAF28 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CAF2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CAF30 */ cpu->r[30] = cpu->r[31];
/* 028CAF34 */ _t118 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAF34 */ _t119 = _t118 & 0x00000001u;
/* 028CAF34 */ if (_t119) goto L_028CAF38; else goto L_028CAF88;
L_028CAF38: ; // 0x28caf38
/* 028CAF38 */ goto L_028CAFB0;
L_028CAF3C: ; // 0x28caf3c
/* 028CAF3C */ cpu->r[3] = cpu->r[30];
/* 028CAF40 */ Gambit_fn_028BEE50(cpu);
/* 028CAF44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CAF48 */ _t120 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAF48 */ _t121 = _t120 & 0x00000001u;
/* 028CAF48 */ if (_t121) goto L_028CAF4C; else goto L_028CAF7C;
L_028CAF4C: ; // 0x28caf4c
/* 028CAF4C */ _t122 = cpu->r[29] + 0x00000008u;
/* 028CAF4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t122);
/* 028CAF50 */ _t123 = cpu->r[3] + 0x00000000u;
/* 028CAF50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t123);
/* 028CAF54 */ _t124 = cpu->r[12] + 0x00000034u;
/* 028CAF54 */ cpu->r[5] = rbrew_read32(cpu->mem, _t124);
/* 028CAF58 */ cpu->ctr = cpu->r[5];
/* 028CAF5C */ cpu->r[4] = cpu->r[30];
/* 028CAF60 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CAF64 */ _t125 = cpu->r[29] + 0x00000004u;
/* 028CAF64 */ cpu->r[3] = rbrew_read32(cpu->mem, _t125);
/* 028CAF68 */ _t126 = cpu->r[3] + 0x00000000u;
/* 028CAF68 */ cpu->r[6] = rbrew_read32(cpu->mem, _t126);
/* 028CAF6C */ _t127 = cpu->r[6] + 0x00000014u;
/* 028CAF6C */ cpu->r[7] = rbrew_read32(cpu->mem, _t127);
/* 028CAF70 */ cpu->ctr = cpu->r[7];
/* 028CAF74 */ cpu->r[4] = cpu->r[30];
/* 028CAF78 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CAF7C: ; // 0x28caf7c
/* 028CAF7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CAF80 */ cpu->r[30] = cpu->r[31];
/* 028CAF84 */ _t128 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAF84 */ _t129 = _t128 & 0x00000001u;
/* 028CAF84 */ if (_t129) goto L_028CAFB0; else goto L_028CAF88;
L_028CAF88: ; // 0x28caf88
/* 028CAF88 */ _t130 = cpu->r[25] + 0x00000000u;
/* 028CAF88 */ cpu->r[9] = rbrew_read32(cpu->mem, _t130);
/* 028CAF8C */ _t131 = cpu->r[9] + 0x0000005Cu;
/* 028CAF8C */ cpu->r[10] = rbrew_read32(cpu->mem, _t131);
/* 028CAF90 */ cpu->ctr = cpu->r[10];
/* 028CAF94 */ cpu->r[3] = cpu->r[25];
/* 028CAF98 */ cpu->r[4] = cpu->r[30];
/* 028CAF9C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CAFA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[24]);
/* 028CAFA4 */ cpu->r[31] = cpu->r[3];
/* 028CAFA8 */ _t132 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAFA8 */ _t133 = _t132 & 0x00000001u;
/* 028CAFA8 */ if (_t133) goto L_028CAFAC; else goto L_028CAEB4;
L_028CAFAC: ; // 0x28cafac
/* 028CAFAC */ goto L_028CAFBC;
L_028CAFB0: ; // 0x28cafb0
/* 028CAFB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[24]);
/* 028CAFB4 */ cpu->r[31] = 0x00000000u;
/* 028CAFB8 */ _t134 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAFB8 */ _t135 = _t134 & 0x00000001u;
/* 028CAFB8 */ if (_t135) goto L_028CAFBC; else goto L_028CAEB4;
L_028CAFBC: ; // 0x28cafbc
/* 028CAFBC */ _t136 = cpu->r[29] + 0x0000000Cu;
/* 028CAFBC */ cpu->r[3] = rbrew_read32(cpu->mem, _t136);
/* 028CAFC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CAFC4 */ _t137 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAFC4 */ _t138 = _t137 & 0x00000001u;
/* 028CAFC4 */ if (_t138) goto L_028CB0AC; else goto L_028CAFC8;
L_028CAFC8: ; // 0x28cafc8
/* 028CAFC8 */ _t139 = cpu->r[3] + 0x00000000u;
/* 028CAFC8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t139);
/* 028CAFCC */ _t140 = cpu->r[11] + 0x0000007Cu;
/* 028CAFCC */ cpu->r[12] = rbrew_read32(cpu->mem, _t140);
/* 028CAFD0 */ cpu->ctr = cpu->r[12];
/* 028CAFD4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CAFD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CAFDC */ _t141 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CAFDC */ _t142 = _t141 & 0x00000001u;
/* 028CAFDC */ if (_t142) goto L_028CAFE0; else goto L_028CB0AC;
L_028CAFE0: ; // 0x28cafe0
/* 028CAFE0 */ _t143 = cpu->r[29] + 0x0000000Cu;
/* 028CAFE0 */ cpu->r[25] = rbrew_read32(cpu->mem, _t143);
/* 028CAFE4 */ _t144 = cpu->r[25] + 0x00000000u;
/* 028CAFE4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t144);
/* 028CAFE8 */ _t145 = cpu->r[4] + 0x00000044u;
/* 028CAFE8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t145);
/* 028CAFEC */ cpu->ctr = cpu->r[5];
/* 028CAFF0 */ cpu->r[3] = cpu->r[25];
/* 028CAFF4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CAFF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CAFFC */ cpu->r[30] = cpu->r[3];
/* 028CB000 */ _t146 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB000 */ _t147 = _t146 & 0x00000001u;
/* 028CB000 */ if (_t147) goto L_028CB030; else goto L_028CB004;
L_028CB004: ; // 0x28cb004
/* 028CB004 */ _t148 = cpu->r[25] + 0x00000000u;
/* 028CB004 */ cpu->r[6] = rbrew_read32(cpu->mem, _t148);
/* 028CB008 */ _t149 = cpu->r[6] + 0x0000005Cu;
/* 028CB008 */ cpu->r[7] = rbrew_read32(cpu->mem, _t149);
/* 028CB00C */ cpu->ctr = cpu->r[7];
/* 028CB010 */ cpu->r[4] = cpu->r[30];
/* 028CB014 */ cpu->r[3] = cpu->r[25];
/* 028CB018 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB01C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000000u);
/* 028CB020 */ cpu->r[24] = 0x00000000u;
/* 028CB024 */ cpu->r[31] = cpu->r[3];
/* 028CB028 */ _t150 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB028 */ _t151 = _t150 & 0x00000001u;
/* 028CB028 */ if (_t151) goto L_028CB0AC; else goto L_028CB02C;
L_028CB02C: ; // 0x28cb02c
/* 028CB02C */ goto L_028CB040;
L_028CB030: ; // 0x28cb030
/* 028CB030 */ cpu->r[31] = 0x00000000u;
/* 028CB034 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000000u);
/* 028CB038 */ cpu->r[24] = cpu->r[31];
/* 028CB03C */ _t152 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB03C */ _t153 = _t152 & 0x00000001u;
/* 028CB03C */ if (_t153) goto L_028CB0AC; else goto L_028CB040;
L_028CB040: ; // 0x28cb040
/* 028CB040 */ _t154 = cpu->r[30] + 0x00000004u;
/* 028CB040 */ cpu->r[10] = rbrew_read32(cpu->mem, _t154);
/* 028CB044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028CB048 */ _t155 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB048 */ _t156 = _t155 & 0x00000001u;
/* 028CB048 */ if (_t156) goto L_028CB054; else goto L_028CB04C;
L_028CB04C: ; // 0x28cb04c
/* 028CB04C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000006u);
/* 028CB050 */ _t157 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB050 */ _t158 = _t157 & 0x00000001u;
/* 028CB050 */ if (_t158) goto L_028CB054; else goto L_028CB06C;
L_028CB054: ; // 0x28cb054
/* 028CB054 */ _t159 = cpu->r[29] + 0x0000000Cu;
/* 028CB054 */ cpu->r[3] = rbrew_read32(cpu->mem, _t159);
/* 028CB058 */ _t160 = cpu->r[3] + 0x00000000u;
/* 028CB058 */ cpu->r[8] = rbrew_read32(cpu->mem, _t160);
/* 028CB05C */ _t161 = cpu->r[8] + 0x00000034u;
/* 028CB05C */ cpu->r[9] = rbrew_read32(cpu->mem, _t161);
/* 028CB060 */ cpu->ctr = cpu->r[9];
/* 028CB064 */ cpu->r[4] = cpu->r[30];
/* 028CB068 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CB06C: ; // 0x28cb06c
/* 028CB06C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CB070 */ cpu->r[30] = cpu->r[31];
/* 028CB074 */ _t162 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB074 */ _t163 = _t162 & 0x00000001u;
/* 028CB074 */ if (_t163) goto L_028CB0A0; else goto L_028CB078;
L_028CB078: ; // 0x28cb078
/* 028CB078 */ _t164 = cpu->r[25] + 0x00000000u;
/* 028CB078 */ cpu->r[10] = rbrew_read32(cpu->mem, _t164);
/* 028CB07C */ _t165 = cpu->r[10] + 0x0000005Cu;
/* 028CB07C */ cpu->r[11] = rbrew_read32(cpu->mem, _t165);
/* 028CB080 */ cpu->ctr = cpu->r[11];
/* 028CB084 */ cpu->r[3] = cpu->r[25];
/* 028CB088 */ cpu->r[4] = cpu->r[30];
/* 028CB08C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB090 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[24]);
/* 028CB094 */ cpu->r[31] = cpu->r[3];
/* 028CB098 */ _t166 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB098 */ _t167 = _t166 & 0x00000001u;
/* 028CB098 */ if (_t167) goto L_028CB09C; else goto L_028CB040;
L_028CB09C: ; // 0x28cb09c
/* 028CB09C */ goto L_028CB0AC;
L_028CB0A0: ; // 0x28cb0a0
/* 028CB0A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[24]);
/* 028CB0A4 */ cpu->r[31] = 0x00000000u;
/* 028CB0A8 */ _t168 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB0A8 */ _t169 = _t168 & 0x00000001u;
/* 028CB0A8 */ if (_t169) goto L_028CB0AC; else goto L_028CB040;
L_028CB0AC: ; // 0x28cb0ac
/* 028CB0AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
/* 028CB0B0 */ _t170 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB0B0 */ _t171 = _t170 & 0x00000001u;
/* 028CB0B0 */ if (_t171) goto L_028CB0D8; else goto L_028CB0B4;
L_028CB0B4: ; // 0x28cb0b4
/* 028CB0B4 */ _t172 = cpu->r[26] + 0x00000000u;
/* 028CB0B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t172);
/* 028CB0B8 */ _t173 = cpu->r[12] + 0x0000008Cu;
/* 028CB0B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t173);
/* 028CB0BC */ cpu->ctr = cpu->r[0];
/* 028CB0C0 */ cpu->r[3] = cpu->r[26];
/* 028CB0C4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB0C8 */ _t174 = cpu->r[3] + 0x00000000u;
/* 028CB0C8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t174);
/* 028CB0CC */ _t175 = cpu->r[4] + 0x0000001Cu;
/* 028CB0CC */ cpu->r[5] = rbrew_read32(cpu->mem, _t175);
/* 028CB0D0 */ cpu->ctr = cpu->r[5];
/* 028CB0D4 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CB0D8: ; // 0x28cb0d8
/* 028CB0D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
/* 028CB0DC */ _t176 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB0DC */ _t177 = _t176 & 0x00000001u;
/* 028CB0DC */ if (_t177) goto L_028CB104; else goto L_028CB0E0;
L_028CB0E0: ; // 0x28cb0e0
/* 028CB0E0 */ _t178 = cpu->r[27] + 0x00000000u;
/* 028CB0E0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t178);
/* 028CB0E4 */ _t179 = cpu->r[6] + 0x0000008Cu;
/* 028CB0E4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t179);
/* 028CB0E8 */ cpu->ctr = cpu->r[7];
/* 028CB0EC */ cpu->r[3] = cpu->r[27];
/* 028CB0F0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB0F4 */ _t180 = cpu->r[3] + 0x00000000u;
/* 028CB0F4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t180);
/* 028CB0F8 */ _t181 = cpu->r[8] + 0x0000001Cu;
/* 028CB0F8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t181);
/* 028CB0FC */ cpu->ctr = cpu->r[9];
/* 028CB100 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CB104: ; // 0x28cb104
/* 028CB104 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028CB108 */ _t182 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB108 */ _t183 = _t182 & 0x00000001u;
/* 028CB108 */ if (_t183) goto L_028CB130; else goto L_028CB10C;
L_028CB10C: ; // 0x28cb10c
/* 028CB10C */ _t184 = cpu->r[28] + 0x00000000u;
/* 028CB10C */ cpu->r[10] = rbrew_read32(cpu->mem, _t184);
/* 028CB110 */ _t185 = cpu->r[10] + 0x0000008Cu;
/* 028CB110 */ cpu->r[11] = rbrew_read32(cpu->mem, _t185);
/* 028CB114 */ cpu->ctr = cpu->r[11];
/* 028CB118 */ cpu->r[3] = cpu->r[28];
/* 028CB11C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB120 */ _t186 = cpu->r[3] + 0x00000000u;
/* 028CB120 */ cpu->r[12] = rbrew_read32(cpu->mem, _t186);
/* 028CB124 */ _t187 = cpu->r[12] + 0x0000001Cu;
/* 028CB124 */ cpu->r[0] = rbrew_read32(cpu->mem, _t187);
/* 028CB128 */ cpu->ctr = cpu->r[0];
/* 028CB12C */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CB130: ; // 0x28cb130
/* 028CB130 */ /* nop */
/* 028CB134 */ _t188 = cpu->r[1] + 0x0000002Cu;
/* 028CB134 */ cpu->r[0] = rbrew_read32(cpu->mem, _t188);
/* 028CB138 */ cpu->lr = cpu->r[0];
/* 028CB13C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028CB140 */ return;
L_028CB144: ; // 0x28cb144
/* 028CB144 */ _t189 = cpu->r[3] + 0x00000000u;
/* 028CB144 */ cpu->r[0] = rbrew_read8(cpu->mem, _t189);
/* 028CB148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CB14C */ _t190 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB14C */ _t191 = _t190 & 0x00000001u;
/* 028CB14C */ if (_t191) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CB14C */ goto L_028CB150;
L_028CB150: ; // 0x28cb150
/* 028CB150 */ goto L_028CABF4;
}
// fn_028CB154 @ 0x28cb154
void Gambit_fn_028CB154(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88;
L_028CB154: ; // 0x28cb154
/* 028CB154 */ cpu->r[0] = cpu->lr;
/* 028CB158 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028CB158 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CB158 */ cpu->r[1] = _t0;
/* 028CB15C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028CB15C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028CB160 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028CB160 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028CB164 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028CB164 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028CB168 */ cpu->r[30] = cpu->r[3];
/* 028CB16C */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028CB16C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028CB170 */ _t5 = cpu->r[30] + 0x00000000u;
/* 028CB170 */ cpu->r[12] = rbrew_read8(cpu->mem, _t5);
/* 028CB174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028CB178 */ cpu->r[31] = cpu->r[4];
/* 028CB17C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB17C */ _t7 = _t6 & 0x00000001u;
/* 028CB17C */ if (_t7) goto L_028CB394; else goto L_028CB180;
L_028CB180: ; // 0x28cb180
/* 028CB180 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CB184 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB184 */ _t9 = _t8 & 0x00000001u;
/* 028CB184 */ if (_t9) goto L_028CB394; else goto L_028CB188;
L_028CB188: ; // 0x28cb188
/* 028CB188 */ _t10 = cpu->r[31] + 0x00000004u;
/* 028CB188 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028CB18C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CB190 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB190 */ _t12 = _t11 & 0x00000001u;
/* 028CB190 */ if (_t12) goto L_028CB394; else goto L_028CB194;
L_028CB194: ; // 0x28cb194
/* 028CB194 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000006u);
/* 028CB198 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB198 */ _t14 = _t13 & 0x00000001u;
/* 028CB198 */ if (_t14) goto L_028CB394; else goto L_028CB19C;
L_028CB19C: ; // 0x28cb19c
/* 028CB19C */ _t15 = cpu->r[31] + 0x00000194u;
/* 028CB19C */ cpu->r[0] = rbrew_read16(cpu->mem, _t15);
/* 028CB1A0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
/* 028CB1A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028CB1A4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB1A4 */ _t17 = _t16 & 0x00000001u;
/* 028CB1A4 */ if (_t17) goto L_028CB248; else goto L_028CB1A8;
L_028CB1A8: ; // 0x28cb1a8
/* 028CB1A8 */ _t18 = cpu->r[30] + 0x0000000Cu;
/* 028CB1A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
/* 028CB1AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CB1B0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB1B0 */ _t20 = _t19 & 0x00000001u;
/* 028CB1B0 */ if (_t20) goto L_028CB394; else goto L_028CB1B4;
L_028CB1B4: ; // 0x28cb1b4
/* 028CB1B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CB1B8 */ cpu->r[29] = cpu->r[3];
/* 028CB1BC */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB1BC */ _t22 = _t21 & 0x00000001u;
/* 028CB1BC */ if (_t22) goto L_028CB1E8; else goto L_028CB1C0;
L_028CB1C0: ; // 0x28cb1c0
/* 028CB1C0 */ _t23 = cpu->r[29] + 0x00000000u;
/* 028CB1C0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
/* 028CB1C4 */ _t24 = cpu->r[11] + 0x0000008Cu;
/* 028CB1C4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t24);
/* 028CB1C8 */ cpu->ctr = cpu->r[6];
/* 028CB1CC */ cpu->r[3] = cpu->r[29];
/* 028CB1D0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB1D4 */ _t25 = cpu->r[3] + 0x00000000u;
/* 028CB1D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
/* 028CB1D8 */ _t26 = cpu->r[12] + 0x00000014u;
/* 028CB1D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
/* 028CB1DC */ cpu->ctr = cpu->r[0];
/* 028CB1E0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB1E4 */ _t27 = cpu->r[30] + 0x0000000Cu;
/* 028CB1E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
L_028CB1E8: ; // 0x28cb1e8
/* 028CB1E8 */ _t28 = cpu->r[3] + 0x00000000u;
/* 028CB1E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t28);
/* 028CB1EC */ _t29 = cpu->r[7] + 0x00000014u;
/* 028CB1EC */ cpu->r[8] = rbrew_read32(cpu->mem, _t29);
/* 028CB1F0 */ cpu->ctr = cpu->r[8];
/* 028CB1F4 */ cpu->r[4] = cpu->r[31];
/* 028CB1F8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB1FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028CB200 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB200 */ _t31 = _t30 & 0x00000001u;
/* 028CB200 */ if (_t31) goto L_028CB374; else goto L_028CB204;
L_028CB204: ; // 0x28cb204
/* 028CB204 */ _t32 = cpu->r[29] + 0x00000000u;
/* 028CB204 */ cpu->r[9] = rbrew_read32(cpu->mem, _t32);
/* 028CB208 */ _t33 = cpu->r[9] + 0x0000008Cu;
/* 028CB208 */ cpu->r[10] = rbrew_read32(cpu->mem, _t33);
/* 028CB20C */ cpu->ctr = cpu->r[10];
/* 028CB210 */ cpu->r[3] = cpu->r[29];
/* 028CB214 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB218 */ _t34 = cpu->r[3] + 0x00000000u;
/* 028CB218 */ cpu->r[11] = rbrew_read32(cpu->mem, _t34);
/* 028CB21C */ _t35 = cpu->r[11] + 0x0000001Cu;
/* 028CB21C */ cpu->r[12] = rbrew_read32(cpu->mem, _t35);
/* 028CB220 */ cpu->ctr = cpu->r[12];
/* 028CB224 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB228 */ _t36 = cpu->r[1] + 0x0000000Cu;
/* 028CB228 */ cpu->r[29] = rbrew_read32(cpu->mem, _t36);
/* 028CB22C */ _t37 = cpu->r[1] + 0x0000001Cu;
/* 028CB22C */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
/* 028CB230 */ _t38 = cpu->r[1] + 0x00000010u;
/* 028CB230 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
/* 028CB234 */ cpu->lr = cpu->r[0];
/* 028CB238 */ _t39 = cpu->r[1] + 0x00000014u;
/* 028CB238 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
/* 028CB23C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028CB240 */ cpu->r[3] = 0x00000001u;
/* 028CB244 */ return;
L_028CB248: ; // 0x28cb248
/* 028CB248 */ _t40 = cpu->r[30] + 0x00000004u;
/* 028CB248 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
/* 028CB24C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CB250 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB250 */ _t42 = _t41 & 0x00000001u;
/* 028CB250 */ if (_t42) goto L_028CB394; else goto L_028CB254;
L_028CB254: ; // 0x28cb254
/* 028CB254 */ cpu->r[3] = cpu->r[31];
/* 028CB258 */ Gambit_fn_028BEE50(cpu);
/* 028CB25C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CB260 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB260 */ _t44 = _t43 & 0x00000001u;
/* 028CB260 */ if (_t44) goto L_028CB2FC; else goto L_028CB264;
L_028CB264: ; // 0x28cb264
/* 028CB264 */ _t45 = cpu->r[30] + 0x00000008u;
/* 028CB264 */ cpu->r[3] = rbrew_read32(cpu->mem, _t45);
/* 028CB268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CB26C */ cpu->r[29] = cpu->r[3];
/* 028CB270 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB270 */ _t47 = _t46 & 0x00000001u;
/* 028CB270 */ if (_t47) goto L_028CB29C; else goto L_028CB274;
L_028CB274: ; // 0x28cb274
/* 028CB274 */ _t48 = cpu->r[29] + 0x00000000u;
/* 028CB274 */ cpu->r[6] = rbrew_read32(cpu->mem, _t48);
/* 028CB278 */ _t49 = cpu->r[6] + 0x0000008Cu;
/* 028CB278 */ cpu->r[7] = rbrew_read32(cpu->mem, _t49);
/* 028CB27C */ cpu->ctr = cpu->r[7];
/* 028CB280 */ cpu->r[3] = cpu->r[29];
/* 028CB284 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB288 */ _t50 = cpu->r[3] + 0x00000000u;
/* 028CB288 */ cpu->r[8] = rbrew_read32(cpu->mem, _t50);
/* 028CB28C */ _t51 = cpu->r[8] + 0x00000014u;
/* 028CB28C */ cpu->r[9] = rbrew_read32(cpu->mem, _t51);
/* 028CB290 */ cpu->ctr = cpu->r[9];
/* 028CB294 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB298 */ _t52 = cpu->r[30] + 0x00000008u;
/* 028CB298 */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
L_028CB29C: ; // 0x28cb29c
/* 028CB29C */ _t53 = cpu->r[3] + 0x00000000u;
/* 028CB29C */ cpu->r[10] = rbrew_read32(cpu->mem, _t53);
/* 028CB2A0 */ _t54 = cpu->r[10] + 0x00000014u;
/* 028CB2A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t54);
/* 028CB2A4 */ cpu->ctr = cpu->r[11];
/* 028CB2A8 */ cpu->r[4] = cpu->r[31];
/* 028CB2AC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB2B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028CB2B4 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB2B4 */ _t56 = _t55 & 0x00000001u;
/* 028CB2B4 */ if (_t56) goto L_028CB374; else goto L_028CB2B8;
L_028CB2B8: ; // 0x28cb2b8
/* 028CB2B8 */ _t57 = cpu->r[29] + 0x00000000u;
/* 028CB2B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t57);
/* 028CB2BC */ _t58 = cpu->r[12] + 0x0000008Cu;
/* 028CB2BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
/* 028CB2C0 */ cpu->ctr = cpu->r[0];
/* 028CB2C4 */ cpu->r[3] = cpu->r[29];
/* 028CB2C8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB2CC */ _t59 = cpu->r[3] + 0x00000000u;
/* 028CB2CC */ cpu->r[6] = rbrew_read32(cpu->mem, _t59);
/* 028CB2D0 */ _t60 = cpu->r[6] + 0x0000001Cu;
/* 028CB2D0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t60);
/* 028CB2D4 */ cpu->ctr = cpu->r[7];
/* 028CB2D8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB2DC */ _t61 = cpu->r[1] + 0x0000000Cu;
/* 028CB2DC */ cpu->r[29] = rbrew_read32(cpu->mem, _t61);
/* 028CB2E0 */ _t62 = cpu->r[1] + 0x0000001Cu;
/* 028CB2E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
/* 028CB2E4 */ _t63 = cpu->r[1] + 0x00000010u;
/* 028CB2E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t63);
/* 028CB2E8 */ cpu->lr = cpu->r[0];
/* 028CB2EC */ _t64 = cpu->r[1] + 0x00000014u;
/* 028CB2EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t64);
/* 028CB2F0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028CB2F4 */ cpu->r[3] = 0x00000001u;
/* 028CB2F8 */ return;
L_028CB2FC: ; // 0x28cb2fc
/* 028CB2FC */ _t65 = cpu->r[30] + 0x00000004u;
/* 028CB2FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t65);
/* 028CB300 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CB304 */ cpu->r[29] = cpu->r[3];
/* 028CB308 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB308 */ _t67 = _t66 & 0x00000001u;
/* 028CB308 */ if (_t67) goto L_028CB334; else goto L_028CB30C;
L_028CB30C: ; // 0x28cb30c
/* 028CB30C */ _t68 = cpu->r[29] + 0x00000000u;
/* 028CB30C */ cpu->r[8] = rbrew_read32(cpu->mem, _t68);
/* 028CB310 */ _t69 = cpu->r[8] + 0x0000008Cu;
/* 028CB310 */ cpu->r[9] = rbrew_read32(cpu->mem, _t69);
/* 028CB314 */ cpu->ctr = cpu->r[9];
/* 028CB318 */ cpu->r[3] = cpu->r[29];
/* 028CB31C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB320 */ _t70 = cpu->r[3] + 0x00000000u;
/* 028CB320 */ cpu->r[10] = rbrew_read32(cpu->mem, _t70);
/* 028CB324 */ _t71 = cpu->r[10] + 0x00000014u;
/* 028CB324 */ cpu->r[0] = rbrew_read32(cpu->mem, _t71);
/* 028CB328 */ cpu->ctr = cpu->r[0];
/* 028CB32C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB330 */ _t72 = cpu->r[30] + 0x00000004u;
/* 028CB330 */ cpu->r[3] = rbrew_read32(cpu->mem, _t72);
L_028CB334: ; // 0x28cb334
/* 028CB334 */ _t73 = cpu->r[3] + 0x00000000u;
/* 028CB334 */ cpu->r[12] = rbrew_read32(cpu->mem, _t73);
/* 028CB338 */ _t74 = cpu->r[12] + 0x00000014u;
/* 028CB338 */ cpu->r[6] = rbrew_read32(cpu->mem, _t74);
/* 028CB33C */ cpu->ctr = cpu->r[6];
/* 028CB340 */ cpu->r[4] = cpu->r[31];
/* 028CB344 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB348 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028CB34C */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB34C */ _t76 = _t75 & 0x00000001u;
/* 028CB34C */ if (_t76) goto L_028CB374; else goto L_028CB350;
L_028CB350: ; // 0x28cb350
/* 028CB350 */ _t77 = cpu->r[29] + 0x00000000u;
/* 028CB350 */ cpu->r[7] = rbrew_read32(cpu->mem, _t77);
/* 028CB354 */ _t78 = cpu->r[7] + 0x0000008Cu;
/* 028CB354 */ cpu->r[8] = rbrew_read32(cpu->mem, _t78);
/* 028CB358 */ cpu->ctr = cpu->r[8];
/* 028CB35C */ cpu->r[3] = cpu->r[29];
/* 028CB360 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB364 */ _t79 = cpu->r[3] + 0x00000000u;
/* 028CB364 */ cpu->r[9] = rbrew_read32(cpu->mem, _t79);
/* 028CB368 */ _t80 = cpu->r[9] + 0x0000001Cu;
/* 028CB368 */ cpu->r[0] = rbrew_read32(cpu->mem, _t80);
/* 028CB36C */ cpu->ctr = cpu->r[0];
/* 028CB370 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CB374: ; // 0x28cb374
/* 028CB374 */ _t81 = cpu->r[1] + 0x0000000Cu;
/* 028CB374 */ cpu->r[29] = rbrew_read32(cpu->mem, _t81);
/* 028CB378 */ _t82 = cpu->r[1] + 0x0000001Cu;
/* 028CB378 */ cpu->r[0] = rbrew_read32(cpu->mem, _t82);
/* 028CB37C */ _t83 = cpu->r[1] + 0x00000010u;
/* 028CB37C */ cpu->r[30] = rbrew_read32(cpu->mem, _t83);
/* 028CB380 */ cpu->lr = cpu->r[0];
/* 028CB384 */ _t84 = cpu->r[1] + 0x00000014u;
/* 028CB384 */ cpu->r[31] = rbrew_read32(cpu->mem, _t84);
/* 028CB388 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028CB38C */ cpu->r[3] = 0x00000001u;
/* 028CB390 */ return;
L_028CB394: ; // 0x28cb394
/* 028CB394 */ _t85 = cpu->r[1] + 0x0000000Cu;
/* 028CB394 */ cpu->r[29] = rbrew_read32(cpu->mem, _t85);
/* 028CB398 */ _t86 = cpu->r[1] + 0x0000001Cu;
/* 028CB398 */ cpu->r[0] = rbrew_read32(cpu->mem, _t86);
/* 028CB39C */ _t87 = cpu->r[1] + 0x00000010u;
/* 028CB39C */ cpu->r[30] = rbrew_read32(cpu->mem, _t87);
/* 028CB3A0 */ cpu->lr = cpu->r[0];
/* 028CB3A4 */ _t88 = cpu->r[1] + 0x00000014u;
/* 028CB3A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t88);
/* 028CB3A8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028CB3AC */ cpu->r[3] = 0x00000000u;
/* 028CB3B0 */ return;
}
// fn_028CB158 @ 0x28cb158
void Gambit_fn_028CB158(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88;
L_028CB158: ; // 0x28cb158
/* 028CB158 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028CB158 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CB158 */ cpu->r[1] = _t0;
/* 028CB15C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028CB15C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028CB160 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028CB160 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028CB164 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028CB164 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028CB168 */ cpu->r[30] = cpu->r[3];
/* 028CB16C */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028CB16C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028CB170 */ _t5 = cpu->r[30] + 0x00000000u;
/* 028CB170 */ cpu->r[12] = rbrew_read8(cpu->mem, _t5);
/* 028CB174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028CB178 */ cpu->r[31] = cpu->r[4];
/* 028CB17C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB17C */ _t7 = _t6 & 0x00000001u;
/* 028CB17C */ if (_t7) goto L_028CB394; else goto L_028CB180;
L_028CB180: ; // 0x28cb180
/* 028CB180 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CB184 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB184 */ _t9 = _t8 & 0x00000001u;
/* 028CB184 */ if (_t9) goto L_028CB394; else goto L_028CB188;
L_028CB188: ; // 0x28cb188
/* 028CB188 */ _t10 = cpu->r[31] + 0x00000004u;
/* 028CB188 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028CB18C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CB190 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB190 */ _t12 = _t11 & 0x00000001u;
/* 028CB190 */ if (_t12) goto L_028CB394; else goto L_028CB194;
L_028CB194: ; // 0x28cb194
/* 028CB194 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000006u);
/* 028CB198 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB198 */ _t14 = _t13 & 0x00000001u;
/* 028CB198 */ if (_t14) goto L_028CB394; else goto L_028CB19C;
L_028CB19C: ; // 0x28cb19c
/* 028CB19C */ _t15 = cpu->r[31] + 0x00000194u;
/* 028CB19C */ cpu->r[0] = rbrew_read16(cpu->mem, _t15);
/* 028CB1A0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
/* 028CB1A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028CB1A4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB1A4 */ _t17 = _t16 & 0x00000001u;
/* 028CB1A4 */ if (_t17) goto L_028CB248; else goto L_028CB1A8;
L_028CB1A8: ; // 0x28cb1a8
/* 028CB1A8 */ _t18 = cpu->r[30] + 0x0000000Cu;
/* 028CB1A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
/* 028CB1AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CB1B0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB1B0 */ _t20 = _t19 & 0x00000001u;
/* 028CB1B0 */ if (_t20) goto L_028CB394; else goto L_028CB1B4;
L_028CB1B4: ; // 0x28cb1b4
/* 028CB1B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CB1B8 */ cpu->r[29] = cpu->r[3];
/* 028CB1BC */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB1BC */ _t22 = _t21 & 0x00000001u;
/* 028CB1BC */ if (_t22) goto L_028CB1E8; else goto L_028CB1C0;
L_028CB1C0: ; // 0x28cb1c0
/* 028CB1C0 */ _t23 = cpu->r[29] + 0x00000000u;
/* 028CB1C0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
/* 028CB1C4 */ _t24 = cpu->r[11] + 0x0000008Cu;
/* 028CB1C4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t24);
/* 028CB1C8 */ cpu->ctr = cpu->r[6];
/* 028CB1CC */ cpu->r[3] = cpu->r[29];
/* 028CB1D0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB1D4 */ _t25 = cpu->r[3] + 0x00000000u;
/* 028CB1D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
/* 028CB1D8 */ _t26 = cpu->r[12] + 0x00000014u;
/* 028CB1D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
/* 028CB1DC */ cpu->ctr = cpu->r[0];
/* 028CB1E0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB1E4 */ _t27 = cpu->r[30] + 0x0000000Cu;
/* 028CB1E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
L_028CB1E8: ; // 0x28cb1e8
/* 028CB1E8 */ _t28 = cpu->r[3] + 0x00000000u;
/* 028CB1E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t28);
/* 028CB1EC */ _t29 = cpu->r[7] + 0x00000014u;
/* 028CB1EC */ cpu->r[8] = rbrew_read32(cpu->mem, _t29);
/* 028CB1F0 */ cpu->ctr = cpu->r[8];
/* 028CB1F4 */ cpu->r[4] = cpu->r[31];
/* 028CB1F8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB1FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028CB200 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB200 */ _t31 = _t30 & 0x00000001u;
/* 028CB200 */ if (_t31) goto L_028CB374; else goto L_028CB204;
L_028CB204: ; // 0x28cb204
/* 028CB204 */ _t32 = cpu->r[29] + 0x00000000u;
/* 028CB204 */ cpu->r[9] = rbrew_read32(cpu->mem, _t32);
/* 028CB208 */ _t33 = cpu->r[9] + 0x0000008Cu;
/* 028CB208 */ cpu->r[10] = rbrew_read32(cpu->mem, _t33);
/* 028CB20C */ cpu->ctr = cpu->r[10];
/* 028CB210 */ cpu->r[3] = cpu->r[29];
/* 028CB214 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB218 */ _t34 = cpu->r[3] + 0x00000000u;
/* 028CB218 */ cpu->r[11] = rbrew_read32(cpu->mem, _t34);
/* 028CB21C */ _t35 = cpu->r[11] + 0x0000001Cu;
/* 028CB21C */ cpu->r[12] = rbrew_read32(cpu->mem, _t35);
/* 028CB220 */ cpu->ctr = cpu->r[12];
/* 028CB224 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB228 */ _t36 = cpu->r[1] + 0x0000000Cu;
/* 028CB228 */ cpu->r[29] = rbrew_read32(cpu->mem, _t36);
/* 028CB22C */ _t37 = cpu->r[1] + 0x0000001Cu;
/* 028CB22C */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
/* 028CB230 */ _t38 = cpu->r[1] + 0x00000010u;
/* 028CB230 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
/* 028CB234 */ cpu->lr = cpu->r[0];
/* 028CB238 */ _t39 = cpu->r[1] + 0x00000014u;
/* 028CB238 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
/* 028CB23C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028CB240 */ cpu->r[3] = 0x00000001u;
/* 028CB244 */ return;
L_028CB248: ; // 0x28cb248
/* 028CB248 */ _t40 = cpu->r[30] + 0x00000004u;
/* 028CB248 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
/* 028CB24C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CB250 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB250 */ _t42 = _t41 & 0x00000001u;
/* 028CB250 */ if (_t42) goto L_028CB394; else goto L_028CB254;
L_028CB254: ; // 0x28cb254
/* 028CB254 */ cpu->r[3] = cpu->r[31];
/* 028CB258 */ Gambit_fn_028BEE50(cpu);
/* 028CB25C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CB260 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB260 */ _t44 = _t43 & 0x00000001u;
/* 028CB260 */ if (_t44) goto L_028CB2FC; else goto L_028CB264;
L_028CB264: ; // 0x28cb264
/* 028CB264 */ _t45 = cpu->r[30] + 0x00000008u;
/* 028CB264 */ cpu->r[3] = rbrew_read32(cpu->mem, _t45);
/* 028CB268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CB26C */ cpu->r[29] = cpu->r[3];
/* 028CB270 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB270 */ _t47 = _t46 & 0x00000001u;
/* 028CB270 */ if (_t47) goto L_028CB29C; else goto L_028CB274;
L_028CB274: ; // 0x28cb274
/* 028CB274 */ _t48 = cpu->r[29] + 0x00000000u;
/* 028CB274 */ cpu->r[6] = rbrew_read32(cpu->mem, _t48);
/* 028CB278 */ _t49 = cpu->r[6] + 0x0000008Cu;
/* 028CB278 */ cpu->r[7] = rbrew_read32(cpu->mem, _t49);
/* 028CB27C */ cpu->ctr = cpu->r[7];
/* 028CB280 */ cpu->r[3] = cpu->r[29];
/* 028CB284 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB288 */ _t50 = cpu->r[3] + 0x00000000u;
/* 028CB288 */ cpu->r[8] = rbrew_read32(cpu->mem, _t50);
/* 028CB28C */ _t51 = cpu->r[8] + 0x00000014u;
/* 028CB28C */ cpu->r[9] = rbrew_read32(cpu->mem, _t51);
/* 028CB290 */ cpu->ctr = cpu->r[9];
/* 028CB294 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB298 */ _t52 = cpu->r[30] + 0x00000008u;
/* 028CB298 */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
L_028CB29C: ; // 0x28cb29c
/* 028CB29C */ _t53 = cpu->r[3] + 0x00000000u;
/* 028CB29C */ cpu->r[10] = rbrew_read32(cpu->mem, _t53);
/* 028CB2A0 */ _t54 = cpu->r[10] + 0x00000014u;
/* 028CB2A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t54);
/* 028CB2A4 */ cpu->ctr = cpu->r[11];
/* 028CB2A8 */ cpu->r[4] = cpu->r[31];
/* 028CB2AC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB2B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028CB2B4 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB2B4 */ _t56 = _t55 & 0x00000001u;
/* 028CB2B4 */ if (_t56) goto L_028CB374; else goto L_028CB2B8;
L_028CB2B8: ; // 0x28cb2b8
/* 028CB2B8 */ _t57 = cpu->r[29] + 0x00000000u;
/* 028CB2B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t57);
/* 028CB2BC */ _t58 = cpu->r[12] + 0x0000008Cu;
/* 028CB2BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
/* 028CB2C0 */ cpu->ctr = cpu->r[0];
/* 028CB2C4 */ cpu->r[3] = cpu->r[29];
/* 028CB2C8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB2CC */ _t59 = cpu->r[3] + 0x00000000u;
/* 028CB2CC */ cpu->r[6] = rbrew_read32(cpu->mem, _t59);
/* 028CB2D0 */ _t60 = cpu->r[6] + 0x0000001Cu;
/* 028CB2D0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t60);
/* 028CB2D4 */ cpu->ctr = cpu->r[7];
/* 028CB2D8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB2DC */ _t61 = cpu->r[1] + 0x0000000Cu;
/* 028CB2DC */ cpu->r[29] = rbrew_read32(cpu->mem, _t61);
/* 028CB2E0 */ _t62 = cpu->r[1] + 0x0000001Cu;
/* 028CB2E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
/* 028CB2E4 */ _t63 = cpu->r[1] + 0x00000010u;
/* 028CB2E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t63);
/* 028CB2E8 */ cpu->lr = cpu->r[0];
/* 028CB2EC */ _t64 = cpu->r[1] + 0x00000014u;
/* 028CB2EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t64);
/* 028CB2F0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028CB2F4 */ cpu->r[3] = 0x00000001u;
/* 028CB2F8 */ return;
L_028CB2FC: ; // 0x28cb2fc
/* 028CB2FC */ _t65 = cpu->r[30] + 0x00000004u;
/* 028CB2FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t65);
/* 028CB300 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CB304 */ cpu->r[29] = cpu->r[3];
/* 028CB308 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB308 */ _t67 = _t66 & 0x00000001u;
/* 028CB308 */ if (_t67) goto L_028CB334; else goto L_028CB30C;
L_028CB30C: ; // 0x28cb30c
/* 028CB30C */ _t68 = cpu->r[29] + 0x00000000u;
/* 028CB30C */ cpu->r[8] = rbrew_read32(cpu->mem, _t68);
/* 028CB310 */ _t69 = cpu->r[8] + 0x0000008Cu;
/* 028CB310 */ cpu->r[9] = rbrew_read32(cpu->mem, _t69);
/* 028CB314 */ cpu->ctr = cpu->r[9];
/* 028CB318 */ cpu->r[3] = cpu->r[29];
/* 028CB31C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB320 */ _t70 = cpu->r[3] + 0x00000000u;
/* 028CB320 */ cpu->r[10] = rbrew_read32(cpu->mem, _t70);
/* 028CB324 */ _t71 = cpu->r[10] + 0x00000014u;
/* 028CB324 */ cpu->r[0] = rbrew_read32(cpu->mem, _t71);
/* 028CB328 */ cpu->ctr = cpu->r[0];
/* 028CB32C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB330 */ _t72 = cpu->r[30] + 0x00000004u;
/* 028CB330 */ cpu->r[3] = rbrew_read32(cpu->mem, _t72);
L_028CB334: ; // 0x28cb334
/* 028CB334 */ _t73 = cpu->r[3] + 0x00000000u;
/* 028CB334 */ cpu->r[12] = rbrew_read32(cpu->mem, _t73);
/* 028CB338 */ _t74 = cpu->r[12] + 0x00000014u;
/* 028CB338 */ cpu->r[6] = rbrew_read32(cpu->mem, _t74);
/* 028CB33C */ cpu->ctr = cpu->r[6];
/* 028CB340 */ cpu->r[4] = cpu->r[31];
/* 028CB344 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB348 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028CB34C */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB34C */ _t76 = _t75 & 0x00000001u;
/* 028CB34C */ if (_t76) goto L_028CB374; else goto L_028CB350;
L_028CB350: ; // 0x28cb350
/* 028CB350 */ _t77 = cpu->r[29] + 0x00000000u;
/* 028CB350 */ cpu->r[7] = rbrew_read32(cpu->mem, _t77);
/* 028CB354 */ _t78 = cpu->r[7] + 0x0000008Cu;
/* 028CB354 */ cpu->r[8] = rbrew_read32(cpu->mem, _t78);
/* 028CB358 */ cpu->ctr = cpu->r[8];
/* 028CB35C */ cpu->r[3] = cpu->r[29];
/* 028CB360 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB364 */ _t79 = cpu->r[3] + 0x00000000u;
/* 028CB364 */ cpu->r[9] = rbrew_read32(cpu->mem, _t79);
/* 028CB368 */ _t80 = cpu->r[9] + 0x0000001Cu;
/* 028CB368 */ cpu->r[0] = rbrew_read32(cpu->mem, _t80);
/* 028CB36C */ cpu->ctr = cpu->r[0];
/* 028CB370 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CB374: ; // 0x28cb374
/* 028CB374 */ _t81 = cpu->r[1] + 0x0000000Cu;
/* 028CB374 */ cpu->r[29] = rbrew_read32(cpu->mem, _t81);
/* 028CB378 */ _t82 = cpu->r[1] + 0x0000001Cu;
/* 028CB378 */ cpu->r[0] = rbrew_read32(cpu->mem, _t82);
/* 028CB37C */ _t83 = cpu->r[1] + 0x00000010u;
/* 028CB37C */ cpu->r[30] = rbrew_read32(cpu->mem, _t83);
/* 028CB380 */ cpu->lr = cpu->r[0];
/* 028CB384 */ _t84 = cpu->r[1] + 0x00000014u;
/* 028CB384 */ cpu->r[31] = rbrew_read32(cpu->mem, _t84);
/* 028CB388 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028CB38C */ cpu->r[3] = 0x00000001u;
/* 028CB390 */ return;
L_028CB394: ; // 0x28cb394
/* 028CB394 */ _t85 = cpu->r[1] + 0x0000000Cu;
/* 028CB394 */ cpu->r[29] = rbrew_read32(cpu->mem, _t85);
/* 028CB398 */ _t86 = cpu->r[1] + 0x0000001Cu;
/* 028CB398 */ cpu->r[0] = rbrew_read32(cpu->mem, _t86);
/* 028CB39C */ _t87 = cpu->r[1] + 0x00000010u;
/* 028CB39C */ cpu->r[30] = rbrew_read32(cpu->mem, _t87);
/* 028CB3A0 */ cpu->lr = cpu->r[0];
/* 028CB3A4 */ _t88 = cpu->r[1] + 0x00000014u;
/* 028CB3A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t88);
/* 028CB3A8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028CB3AC */ cpu->r[3] = 0x00000000u;
/* 028CB3B0 */ return;
}
// fn_028CB3B4 @ 0x28cb3b4
void Gambit_fn_028CB3B4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131;
L_028CB3B4: ; // 0x28cb3b4
/* 028CB3B4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028CB3B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CB3B4 */ cpu->r[1] = _t0;
/* 028CB3B8 */ /* nop */
/* 028CB3BC */ cpu->r[0] = cpu->lr;
/* 028CB3C0 */ _t1 = cpu->r[1] + 0x00000024u;
/* 028CB3C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028CB3C4 */ cpu->r[29] = cpu->r[3];
/* 028CB3C8 */ _t2 = cpu->r[29] + 0x00000000u;
/* 028CB3C8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t2);
/* 028CB3CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028CB3D0 */ cpu->r[30] = cpu->r[4];
/* 028CB3D4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB3D4 */ _t4 = _t3 & 0x00000001u;
/* 028CB3D4 */ if (_t4) goto L_028CB780; else goto L_028CB3D8;
L_028CB3D8: ; // 0x28cb3d8
/* 028CB3D8 */ _t5 = cpu->r[29] + 0x00000004u;
/* 028CB3D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
/* 028CB3DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CB3E0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB3E0 */ _t7 = _t6 & 0x00000001u;
/* 028CB3E0 */ if (_t7) goto L_028CB408; else goto L_028CB3E4;
L_028CB3E4: ; // 0x28cb3e4
/* 028CB3E4 */ _t8 = cpu->r[31] + 0x00000000u;
/* 028CB3E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
/* 028CB3E8 */ _t9 = cpu->r[12] + 0x0000008Cu;
/* 028CB3E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
/* 028CB3EC */ cpu->ctr = cpu->r[9];
/* 028CB3F0 */ cpu->r[3] = cpu->r[31];
/* 028CB3F4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB3F8 */ _t10 = cpu->r[3] + 0x00000000u;
/* 028CB3F8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t10);
/* 028CB3FC */ _t11 = cpu->r[6] + 0x00000014u;
/* 028CB3FC */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
/* 028CB400 */ cpu->ctr = cpu->r[7];
/* 028CB404 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CB408: ; // 0x28cb408
/* 028CB408 */ _t12 = cpu->r[29] + 0x00000008u;
/* 028CB408 */ cpu->r[28] = rbrew_read32(cpu->mem, _t12);
/* 028CB40C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028CB410 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB410 */ _t14 = _t13 & 0x00000001u;
/* 028CB410 */ if (_t14) goto L_028CB438; else goto L_028CB414;
L_028CB414: ; // 0x28cb414
/* 028CB414 */ _t15 = cpu->r[28] + 0x00000000u;
/* 028CB414 */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
/* 028CB418 */ _t16 = cpu->r[8] + 0x0000008Cu;
/* 028CB418 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
/* 028CB41C */ cpu->ctr = cpu->r[9];
/* 028CB420 */ cpu->r[3] = cpu->r[28];
/* 028CB424 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB428 */ _t17 = cpu->r[3] + 0x00000000u;
/* 028CB428 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
/* 028CB42C */ _t18 = cpu->r[10] + 0x00000014u;
/* 028CB42C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028CB430 */ cpu->ctr = cpu->r[0];
/* 028CB434 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CB438: ; // 0x28cb438
/* 028CB438 */ _t19 = cpu->r[29] + 0x0000000Cu;
/* 028CB438 */ cpu->r[27] = rbrew_read32(cpu->mem, _t19);
/* 028CB43C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
/* 028CB440 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB440 */ _t21 = _t20 & 0x00000001u;
/* 028CB440 */ if (_t21) goto L_028CB468; else goto L_028CB444;
L_028CB444: ; // 0x28cb444
/* 028CB444 */ _t22 = cpu->r[27] + 0x00000000u;
/* 028CB444 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
/* 028CB448 */ _t23 = cpu->r[12] + 0x0000008Cu;
/* 028CB448 */ cpu->r[5] = rbrew_read32(cpu->mem, _t23);
/* 028CB44C */ cpu->ctr = cpu->r[5];
/* 028CB450 */ cpu->r[3] = cpu->r[27];
/* 028CB454 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB458 */ _t24 = cpu->r[3] + 0x00000000u;
/* 028CB458 */ cpu->r[6] = rbrew_read32(cpu->mem, _t24);
/* 028CB45C */ _t25 = cpu->r[6] + 0x00000014u;
/* 028CB45C */ cpu->r[7] = rbrew_read32(cpu->mem, _t25);
/* 028CB460 */ cpu->ctr = cpu->r[7];
/* 028CB464 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CB468: ; // 0x28cb468
/* 028CB468 */ _t26 = cpu->r[29] + 0x00000004u;
/* 028CB468 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
/* 028CB46C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CB470 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB470 */ _t28 = _t27 & 0x00000001u;
/* 028CB470 */ if (_t28) goto L_028CB544; else goto L_028CB474;
L_028CB474: ; // 0x28cb474
/* 028CB474 */ _t29 = cpu->r[3] + 0x00000000u;
/* 028CB474 */ cpu->r[8] = rbrew_read32(cpu->mem, _t29);
/* 028CB478 */ _t30 = cpu->r[8] + 0x00000064u;
/* 028CB478 */ cpu->r[9] = rbrew_read32(cpu->mem, _t30);
/* 028CB47C */ cpu->ctr = cpu->r[9];
/* 028CB480 */ cpu->r[4] = cpu->r[30];
/* 028CB484 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB488 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CB48C */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CB48C */ _t32 = _t31 & 0x00000001u;
/* 028CB48C */ if (_t32) goto L_028CB544; else goto L_028CB490;
L_028CB490: ; // 0x28cb490
/* 028CB490 */ _t33 = cpu->r[29] + 0x00000004u;
/* 028CB490 */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
/* 028CB494 */ _t34 = cpu->r[3] + 0x00000000u;
/* 028CB494 */ cpu->r[10] = rbrew_read32(cpu->mem, _t34);
/* 028CB498 */ _t35 = cpu->r[10] + 0x00000034u;
/* 028CB498 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
/* 028CB49C */ cpu->ctr = cpu->r[0];
/* 028CB4A0 */ cpu->r[4] = cpu->r[30];
/* 028CB4A4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB4A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
/* 028CB4AC */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB4AC */ _t37 = _t36 & 0x00000001u;
/* 028CB4AC */ if (_t37) goto L_028CB4D4; else goto L_028CB4B0;
L_028CB4B0: ; // 0x28cb4b0
/* 028CB4B0 */ _t38 = cpu->r[27] + 0x00000000u;
/* 028CB4B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
/* 028CB4B4 */ _t39 = cpu->r[12] + 0x0000008Cu;
/* 028CB4B4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t39);
/* 028CB4B8 */ cpu->ctr = cpu->r[5];
/* 028CB4BC */ cpu->r[3] = cpu->r[27];
/* 028CB4C0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB4C4 */ _t40 = cpu->r[3] + 0x00000000u;
/* 028CB4C4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t40);
/* 028CB4C8 */ _t41 = cpu->r[6] + 0x0000001Cu;
/* 028CB4C8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t41);
/* 028CB4CC */ cpu->ctr = cpu->r[7];
/* 028CB4D0 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CB4D4: ; // 0x28cb4d4
/* 028CB4D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028CB4D8 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB4D8 */ _t43 = _t42 & 0x00000001u;
/* 028CB4D8 */ if (_t43) goto L_028CB500; else goto L_028CB4DC;
L_028CB4DC: ; // 0x28cb4dc
/* 028CB4DC */ _t44 = cpu->r[28] + 0x00000000u;
/* 028CB4DC */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
/* 028CB4E0 */ _t45 = cpu->r[8] + 0x0000008Cu;
/* 028CB4E0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t45);
/* 028CB4E4 */ cpu->ctr = cpu->r[9];
/* 028CB4E8 */ cpu->r[3] = cpu->r[28];
/* 028CB4EC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB4F0 */ _t46 = cpu->r[3] + 0x00000000u;
/* 028CB4F0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t46);
/* 028CB4F4 */ _t47 = cpu->r[10] + 0x0000001Cu;
/* 028CB4F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
/* 028CB4F8 */ cpu->ctr = cpu->r[0];
/* 028CB4FC */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CB500: ; // 0x28cb500
/* 028CB500 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CB504 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB504 */ _t49 = _t48 & 0x00000001u;
/* 028CB504 */ if (_t49) goto L_028CB6E4; else goto L_028CB508;
L_028CB508: ; // 0x28cb508
/* 028CB508 */ _t50 = cpu->r[31] + 0x00000000u;
/* 028CB508 */ cpu->r[12] = rbrew_read32(cpu->mem, _t50);
/* 028CB50C */ _t51 = cpu->r[12] + 0x0000008Cu;
/* 028CB50C */ cpu->r[5] = rbrew_read32(cpu->mem, _t51);
/* 028CB510 */ cpu->ctr = cpu->r[5];
/* 028CB514 */ cpu->r[3] = cpu->r[31];
/* 028CB518 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB51C */ _t52 = cpu->r[3] + 0x00000000u;
/* 028CB51C */ cpu->r[6] = rbrew_read32(cpu->mem, _t52);
/* 028CB520 */ _t53 = cpu->r[6] + 0x0000001Cu;
/* 028CB520 */ cpu->r[7] = rbrew_read32(cpu->mem, _t53);
/* 028CB524 */ cpu->ctr = cpu->r[7];
/* 028CB528 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB52C */ /* nop */
/* 028CB530 */ _t54 = cpu->r[1] + 0x00000024u;
/* 028CB530 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
/* 028CB534 */ cpu->lr = cpu->r[0];
/* 028CB538 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028CB53C */ cpu->r[3] = 0x00000001u;
/* 028CB540 */ return;
L_028CB544: ; // 0x28cb544
/* 028CB544 */ _t55 = cpu->r[29] + 0x00000008u;
/* 028CB544 */ cpu->r[3] = rbrew_read32(cpu->mem, _t55);
/* 028CB548 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CB54C */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB54C */ _t57 = _t56 & 0x00000001u;
/* 028CB54C */ if (_t57) goto L_028CB620; else goto L_028CB550;
L_028CB550: ; // 0x28cb550
/* 028CB550 */ _t58 = cpu->r[3] + 0x00000000u;
/* 028CB550 */ cpu->r[8] = rbrew_read32(cpu->mem, _t58);
/* 028CB554 */ _t59 = cpu->r[8] + 0x00000064u;
/* 028CB554 */ cpu->r[9] = rbrew_read32(cpu->mem, _t59);
/* 028CB558 */ cpu->ctr = cpu->r[9];
/* 028CB55C */ cpu->r[4] = cpu->r[30];
/* 028CB560 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB564 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CB568 */ _t60 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CB568 */ _t61 = _t60 & 0x00000001u;
/* 028CB568 */ if (_t61) goto L_028CB620; else goto L_028CB56C;
L_028CB56C: ; // 0x28cb56c
/* 028CB56C */ _t62 = cpu->r[29] + 0x00000008u;
/* 028CB56C */ cpu->r[3] = rbrew_read32(cpu->mem, _t62);
/* 028CB570 */ _t63 = cpu->r[3] + 0x00000000u;
/* 028CB570 */ cpu->r[10] = rbrew_read32(cpu->mem, _t63);
/* 028CB574 */ _t64 = cpu->r[10] + 0x00000034u;
/* 028CB574 */ cpu->r[0] = rbrew_read32(cpu->mem, _t64);
/* 028CB578 */ cpu->ctr = cpu->r[0];
/* 028CB57C */ cpu->r[4] = cpu->r[30];
/* 028CB580 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB584 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
/* 028CB588 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB588 */ _t66 = _t65 & 0x00000001u;
/* 028CB588 */ if (_t66) goto L_028CB5B0; else goto L_028CB58C;
L_028CB58C: ; // 0x28cb58c
/* 028CB58C */ _t67 = cpu->r[27] + 0x00000000u;
/* 028CB58C */ cpu->r[12] = rbrew_read32(cpu->mem, _t67);
/* 028CB590 */ _t68 = cpu->r[12] + 0x0000008Cu;
/* 028CB590 */ cpu->r[5] = rbrew_read32(cpu->mem, _t68);
/* 028CB594 */ cpu->ctr = cpu->r[5];
/* 028CB598 */ cpu->r[3] = cpu->r[27];
/* 028CB59C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB5A0 */ _t69 = cpu->r[3] + 0x00000000u;
/* 028CB5A0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t69);
/* 028CB5A4 */ _t70 = cpu->r[6] + 0x0000001Cu;
/* 028CB5A4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t70);
/* 028CB5A8 */ cpu->ctr = cpu->r[7];
/* 028CB5AC */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CB5B0: ; // 0x28cb5b0
/* 028CB5B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028CB5B4 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB5B4 */ _t72 = _t71 & 0x00000001u;
/* 028CB5B4 */ if (_t72) goto L_028CB5DC; else goto L_028CB5B8;
L_028CB5B8: ; // 0x28cb5b8
/* 028CB5B8 */ _t73 = cpu->r[28] + 0x00000000u;
/* 028CB5B8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t73);
/* 028CB5BC */ _t74 = cpu->r[8] + 0x0000008Cu;
/* 028CB5BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t74);
/* 028CB5C0 */ cpu->ctr = cpu->r[9];
/* 028CB5C4 */ cpu->r[3] = cpu->r[28];
/* 028CB5C8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB5CC */ _t75 = cpu->r[3] + 0x00000000u;
/* 028CB5CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t75);
/* 028CB5D0 */ _t76 = cpu->r[10] + 0x0000001Cu;
/* 028CB5D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t76);
/* 028CB5D4 */ cpu->ctr = cpu->r[0];
/* 028CB5D8 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CB5DC: ; // 0x28cb5dc
/* 028CB5DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CB5E0 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB5E0 */ _t78 = _t77 & 0x00000001u;
/* 028CB5E0 */ if (_t78) goto L_028CB6E4; else goto L_028CB5E4;
L_028CB5E4: ; // 0x28cb5e4
/* 028CB5E4 */ _t79 = cpu->r[31] + 0x00000000u;
/* 028CB5E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t79);
/* 028CB5E8 */ _t80 = cpu->r[12] + 0x0000008Cu;
/* 028CB5E8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t80);
/* 028CB5EC */ cpu->ctr = cpu->r[5];
/* 028CB5F0 */ cpu->r[3] = cpu->r[31];
/* 028CB5F4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB5F8 */ _t81 = cpu->r[3] + 0x00000000u;
/* 028CB5F8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t81);
/* 028CB5FC */ _t82 = cpu->r[6] + 0x0000001Cu;
/* 028CB5FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t82);
/* 028CB600 */ cpu->ctr = cpu->r[0];
/* 028CB604 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB608 */ /* nop */
/* 028CB60C */ _t83 = cpu->r[1] + 0x00000024u;
/* 028CB60C */ cpu->r[0] = rbrew_read32(cpu->mem, _t83);
/* 028CB610 */ cpu->lr = cpu->r[0];
/* 028CB614 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028CB618 */ cpu->r[3] = 0x00000001u;
/* 028CB61C */ return;
L_028CB620: ; // 0x28cb620
/* 028CB620 */ _t84 = cpu->r[29] + 0x0000000Cu;
/* 028CB620 */ cpu->r[3] = rbrew_read32(cpu->mem, _t84);
/* 028CB624 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CB628 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB628 */ _t86 = _t85 & 0x00000001u;
/* 028CB628 */ if (_t86) goto L_028CB6FC; else goto L_028CB62C;
L_028CB62C: ; // 0x28cb62c
/* 028CB62C */ _t87 = cpu->r[3] + 0x00000000u;
/* 028CB62C */ cpu->r[8] = rbrew_read32(cpu->mem, _t87);
/* 028CB630 */ _t88 = cpu->r[8] + 0x00000064u;
/* 028CB630 */ cpu->r[9] = rbrew_read32(cpu->mem, _t88);
/* 028CB634 */ cpu->ctr = cpu->r[9];
/* 028CB638 */ cpu->r[4] = cpu->r[30];
/* 028CB63C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB640 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CB644 */ _t89 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CB644 */ _t90 = _t89 & 0x00000001u;
/* 028CB644 */ if (_t90) goto L_028CB6FC; else goto L_028CB648;
L_028CB648: ; // 0x28cb648
/* 028CB648 */ _t91 = cpu->r[29] + 0x0000000Cu;
/* 028CB648 */ cpu->r[3] = rbrew_read32(cpu->mem, _t91);
/* 028CB64C */ _t92 = cpu->r[3] + 0x00000000u;
/* 028CB64C */ cpu->r[10] = rbrew_read32(cpu->mem, _t92);
/* 028CB650 */ _t93 = cpu->r[10] + 0x00000034u;
/* 028CB650 */ cpu->r[0] = rbrew_read32(cpu->mem, _t93);
/* 028CB654 */ cpu->ctr = cpu->r[0];
/* 028CB658 */ cpu->r[4] = cpu->r[30];
/* 028CB65C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
/* 028CB664 */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB664 */ _t95 = _t94 & 0x00000001u;
/* 028CB664 */ if (_t95) goto L_028CB68C; else goto L_028CB668;
L_028CB668: ; // 0x28cb668
/* 028CB668 */ _t96 = cpu->r[27] + 0x00000000u;
/* 028CB668 */ cpu->r[12] = rbrew_read32(cpu->mem, _t96);
/* 028CB66C */ _t97 = cpu->r[12] + 0x0000008Cu;
/* 028CB66C */ cpu->r[0] = rbrew_read32(cpu->mem, _t97);
/* 028CB670 */ cpu->ctr = cpu->r[0];
/* 028CB674 */ cpu->r[3] = cpu->r[27];
/* 028CB678 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB67C */ _t98 = cpu->r[3] + 0x00000000u;
/* 028CB67C */ cpu->r[5] = rbrew_read32(cpu->mem, _t98);
/* 028CB680 */ _t99 = cpu->r[5] + 0x0000001Cu;
/* 028CB680 */ cpu->r[0] = rbrew_read32(cpu->mem, _t99);
/* 028CB684 */ cpu->ctr = cpu->r[0];
/* 028CB688 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CB68C: ; // 0x28cb68c
/* 028CB68C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028CB690 */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB690 */ _t101 = _t100 & 0x00000001u;
/* 028CB690 */ if (_t101) goto L_028CB6B8; else goto L_028CB694;
L_028CB694: ; // 0x28cb694
/* 028CB694 */ _t102 = cpu->r[28] + 0x00000000u;
/* 028CB694 */ cpu->r[7] = rbrew_read32(cpu->mem, _t102);
/* 028CB698 */ _t103 = cpu->r[7] + 0x0000008Cu;
/* 028CB698 */ cpu->r[9] = rbrew_read32(cpu->mem, _t103);
/* 028CB69C */ cpu->ctr = cpu->r[9];
/* 028CB6A0 */ cpu->r[3] = cpu->r[28];
/* 028CB6A4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB6A8 */ _t104 = cpu->r[3] + 0x00000000u;
/* 028CB6A8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t104);
/* 028CB6AC */ _t105 = cpu->r[10] + 0x0000001Cu;
/* 028CB6AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t105);
/* 028CB6B0 */ cpu->ctr = cpu->r[0];
/* 028CB6B4 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CB6B8: ; // 0x28cb6b8
/* 028CB6B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CB6BC */ _t106 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB6BC */ _t107 = _t106 & 0x00000001u;
/* 028CB6BC */ if (_t107) goto L_028CB6E4; else goto L_028CB6C0;
L_028CB6C0: ; // 0x28cb6c0
/* 028CB6C0 */ _t108 = cpu->r[31] + 0x00000000u;
/* 028CB6C0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t108);
/* 028CB6C4 */ _t109 = cpu->r[5] + 0x0000008Cu;
/* 028CB6C4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t109);
/* 028CB6C8 */ cpu->ctr = cpu->r[6];
/* 028CB6CC */ cpu->r[3] = cpu->r[31];
/* 028CB6D0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB6D4 */ _t110 = cpu->r[3] + 0x00000000u;
/* 028CB6D4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t110);
/* 028CB6D8 */ _t111 = cpu->r[7] + 0x0000001Cu;
/* 028CB6D8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t111);
/* 028CB6DC */ cpu->ctr = cpu->r[8];
/* 028CB6E0 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CB6E4: ; // 0x28cb6e4
/* 028CB6E4 */ /* nop */
/* 028CB6E8 */ _t112 = cpu->r[1] + 0x00000024u;
/* 028CB6E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t112);
/* 028CB6EC */ cpu->lr = cpu->r[0];
/* 028CB6F0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028CB6F4 */ cpu->r[3] = 0x00000001u;
/* 028CB6F8 */ return;
L_028CB6FC: ; // 0x28cb6fc
/* 028CB6FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
/* 028CB700 */ _t113 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB700 */ _t114 = _t113 & 0x00000001u;
/* 028CB700 */ if (_t114) goto L_028CB728; else goto L_028CB704;
L_028CB704: ; // 0x28cb704
/* 028CB704 */ _t115 = cpu->r[27] + 0x00000000u;
/* 028CB704 */ cpu->r[10] = rbrew_read32(cpu->mem, _t115);
/* 028CB708 */ _t116 = cpu->r[10] + 0x0000008Cu;
/* 028CB708 */ cpu->r[0] = rbrew_read32(cpu->mem, _t116);
/* 028CB70C */ cpu->ctr = cpu->r[0];
/* 028CB710 */ cpu->r[3] = cpu->r[27];
/* 028CB714 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB718 */ _t117 = cpu->r[3] + 0x00000000u;
/* 028CB718 */ cpu->r[12] = rbrew_read32(cpu->mem, _t117);
/* 028CB71C */ _t118 = cpu->r[12] + 0x0000001Cu;
/* 028CB71C */ cpu->r[5] = rbrew_read32(cpu->mem, _t118);
/* 028CB720 */ cpu->ctr = cpu->r[5];
/* 028CB724 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CB728: ; // 0x28cb728
/* 028CB728 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028CB72C */ _t119 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB72C */ _t120 = _t119 & 0x00000001u;
/* 028CB72C */ if (_t120) goto L_028CB754; else goto L_028CB730;
L_028CB730: ; // 0x28cb730
/* 028CB730 */ _t121 = cpu->r[28] + 0x00000000u;
/* 028CB730 */ cpu->r[6] = rbrew_read32(cpu->mem, _t121);
/* 028CB734 */ _t122 = cpu->r[6] + 0x0000008Cu;
/* 028CB734 */ cpu->r[7] = rbrew_read32(cpu->mem, _t122);
/* 028CB738 */ cpu->ctr = cpu->r[7];
/* 028CB73C */ cpu->r[3] = cpu->r[28];
/* 028CB740 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB744 */ _t123 = cpu->r[3] + 0x00000000u;
/* 028CB744 */ cpu->r[8] = rbrew_read32(cpu->mem, _t123);
/* 028CB748 */ _t124 = cpu->r[8] + 0x0000001Cu;
/* 028CB748 */ cpu->r[9] = rbrew_read32(cpu->mem, _t124);
/* 028CB74C */ cpu->ctr = cpu->r[9];
/* 028CB750 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CB754: ; // 0x28cb754
/* 028CB754 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CB758 */ _t125 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB758 */ _t126 = _t125 & 0x00000001u;
/* 028CB758 */ if (_t126) goto L_028CB780; else goto L_028CB75C;
L_028CB75C: ; // 0x28cb75c
/* 028CB75C */ _t127 = cpu->r[31] + 0x00000000u;
/* 028CB75C */ cpu->r[10] = rbrew_read32(cpu->mem, _t127);
/* 028CB760 */ _t128 = cpu->r[10] + 0x0000008Cu;
/* 028CB760 */ cpu->r[11] = rbrew_read32(cpu->mem, _t128);
/* 028CB764 */ cpu->ctr = cpu->r[11];
/* 028CB768 */ cpu->r[3] = cpu->r[31];
/* 028CB76C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB770 */ _t129 = cpu->r[3] + 0x00000000u;
/* 028CB770 */ cpu->r[12] = rbrew_read32(cpu->mem, _t129);
/* 028CB774 */ _t130 = cpu->r[12] + 0x0000001Cu;
/* 028CB774 */ cpu->r[0] = rbrew_read32(cpu->mem, _t130);
/* 028CB778 */ cpu->ctr = cpu->r[0];
/* 028CB77C */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CB780: ; // 0x28cb780
/* 028CB780 */ /* nop */
/* 028CB784 */ _t131 = cpu->r[1] + 0x00000024u;
/* 028CB784 */ cpu->r[0] = rbrew_read32(cpu->mem, _t131);
/* 028CB788 */ cpu->lr = cpu->r[0];
/* 028CB78C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028CB790 */ cpu->r[3] = 0x00000000u;
/* 028CB794 */ return;
}
// fn_028CB798 @ 0x28cb798
void Gambit_fn_028CB798(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45;
L_028CB798: ; // 0x28cb798
/* 028CB798 */ cpu->r[0] = cpu->lr;
/* 028CB79C */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
/* 028CB79C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CB79C */ cpu->r[1] = _t0;
/* 028CB7A0 */ _t1 = cpu->r[1] + 0x00000018u;
/* 028CB7A0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
/* 028CB7A4 */ /* nop */
/* 028CB7A8 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028CB7A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028CB7AC */ _t3 = cpu->r[1] + 0x00000028u;
/* 028CB7AC */ rbrew_write_f64(cpu->mem, _t3, cpu->f[31]);
/* 028CB7B0 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028CB7B0 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028CB7B4 */ _t5 = cpu->r[1] + 0x00000010u;
/* 028CB7B4 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
/* 028CB7B8 */ _t6 = cpu->r[1] + 0x0000003Cu;
/* 028CB7B8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028CB7BC */ _t7 = cpu->r[1] + 0x00000020u;
/* 028CB7BC */ rbrew_write_f32(cpu->mem, _t7, cpu->f[30]);
/* 028CB7C0 */ /* nop */
/* 028CB7C4 */ _t8 = cpu->r[1] + 0x00000008u;
/* 028CB7C4 */ rbrew_write32(cpu->mem, _t8, cpu->r[28]);
/* 028CB7C8 */ _t9 = cpu->r[1] + 0x00000030u;
/* 028CB7C8 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[31]);
/* 028CB7CC */ cpu->r[29] = cpu->r[4];
/* 028CB7CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028CB7D0 */ cpu->f[30] = cpu->f[1];
/* 028CB7D4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB7D4 */ _t11 = _t10 & 0x00000001u;
/* 028CB7D4 */ if (_t11) goto L_028CB8A8; else goto L_028CB7D8;
L_028CB7D8: ; // 0x28cb7d8
/* 028CB7D8 */ _t12 = cpu->r[29] + 0x00000000u;
/* 028CB7D8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t12);
/* 028CB7DC */ _t13 = cpu->r[7] + 0x0000007Cu;
/* 028CB7DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
/* 028CB7E0 */ cpu->ctr = cpu->r[11];
/* 028CB7E4 */ cpu->r[3] = cpu->r[29];
/* 028CB7E8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB7EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CB7F0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB7F0 */ _t15 = _t14 & 0x00000001u;
/* 028CB7F0 */ if (_t15) goto L_028CB7F4; else goto L_028CB8A8;
L_028CB7F4: ; // 0x28cb7f4
/* 028CB7F4 */ _t16 = cpu->r[29] + 0x00000000u;
/* 028CB7F4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
/* 028CB7F8 */ _t17 = cpu->r[9] + 0x00000044u;
/* 028CB7F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
/* 028CB7FC */ cpu->ctr = cpu->r[10];
/* 028CB800 */ cpu->r[3] = cpu->r[29];
/* 028CB804 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB808 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CB80C */ cpu->r[30] = cpu->r[3];
/* 028CB810 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB810 */ _t19 = _t18 & 0x00000001u;
/* 028CB810 */ if (_t19) goto L_028CB840; else goto L_028CB814;
L_028CB814: ; // 0x28cb814
/* 028CB814 */ _t20 = cpu->r[29] + 0x00000000u;
/* 028CB814 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
/* 028CB818 */ _t21 = cpu->r[12] + 0x0000005Cu;
/* 028CB818 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
/* 028CB81C */ cpu->ctr = cpu->r[0];
/* 028CB820 */ cpu->r[4] = cpu->r[30];
/* 028CB824 */ cpu->r[3] = cpu->r[29];
/* 028CB828 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB82C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000000u);
/* 028CB830 */ cpu->r[28] = 0x00000000u;
/* 028CB834 */ cpu->r[31] = cpu->r[3];
/* 028CB838 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB838 */ _t23 = _t22 & 0x00000001u;
/* 028CB838 */ if (_t23) goto L_028CB8A8; else goto L_028CB83C;
L_028CB83C: ; // 0x28cb83c
/* 028CB83C */ goto L_028CB850;
L_028CB840: ; // 0x28cb840
/* 028CB840 */ cpu->r[31] = 0x00000000u;
/* 028CB844 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000000u);
/* 028CB848 */ cpu->r[28] = cpu->r[31];
/* 028CB84C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB84C */ _t25 = _t24 & 0x00000001u;
/* 028CB84C */ if (_t25) goto L_028CB8A8; else goto L_028CB850;
L_028CB850: ; // 0x28cb850
/* 028CB850 */ cpu->r[8] = 0x10140000u;
/* 028CB854 */ _t26 = cpu->r[8] + 0xFFFF9D30u;
/* 028CB854 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t26);
L_028CB858: ; // 0x28cb858
/* 028CB858 */ cpu->f[2] = cpu->f[31];
/* 028CB85C */ cpu->r[3] = cpu->r[30];
/* 028CB860 */ cpu->f[1] = cpu->f[30];
/* 028CB864 */ Gambit_fn_028BDC2C(cpu);
/* 028CB868 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CB86C */ cpu->r[30] = cpu->r[31];
/* 028CB870 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB870 */ _t28 = _t27 & 0x00000001u;
/* 028CB870 */ if (_t28) goto L_028CB89C; else goto L_028CB874;
L_028CB874: ; // 0x28cb874
/* 028CB874 */ _t29 = cpu->r[29] + 0x00000000u;
/* 028CB874 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
/* 028CB878 */ _t30 = cpu->r[12] + 0x0000005Cu;
/* 028CB878 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
/* 028CB87C */ cpu->ctr = cpu->r[0];
/* 028CB880 */ cpu->r[3] = cpu->r[29];
/* 028CB884 */ cpu->r[4] = cpu->r[30];
/* 028CB888 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB88C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[28]);
/* 028CB890 */ cpu->r[31] = cpu->r[3];
/* 028CB894 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB894 */ _t32 = _t31 & 0x00000001u;
/* 028CB894 */ if (_t32) goto L_028CB898; else goto L_028CB858;
L_028CB898: ; // 0x28cb898
/* 028CB898 */ goto L_028CB8A8;
L_028CB89C: ; // 0x28cb89c
/* 028CB89C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[28]);
/* 028CB8A0 */ cpu->r[31] = 0x00000000u;
/* 028CB8A4 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB8A4 */ _t34 = _t33 & 0x00000001u;
/* 028CB8A4 */ if (_t34) goto L_028CB8A8; else goto L_028CB858;
L_028CB8A8: ; // 0x28cb8a8
/* 028CB8A8 */ _t35 = cpu->r[1] + 0x00000008u;
/* 028CB8A8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t35);
/* 028CB8AC */ _t36 = cpu->r[1] + 0x0000000Cu;
/* 028CB8AC */ cpu->r[29] = rbrew_read32(cpu->mem, _t36);
/* 028CB8B0 */ _t37 = cpu->r[1] + 0x00000030u;
/* 028CB8B0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t37);
/* 028CB8B4 */ _t38 = cpu->r[1] + 0x00000020u;
/* 028CB8B4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t38);
/* 028CB8B8 */ _t39 = cpu->r[1] + 0x00000028u;
/* 028CB8B8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t39);
/* 028CB8BC */ _t40 = cpu->r[1] + 0x00000018u;
/* 028CB8BC */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t40);
/* 028CB8C0 */ _t41 = cpu->r[1] + 0x00000014u;
/* 028CB8C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
/* 028CB8C4 */ _t42 = cpu->r[1] + 0x00000010u;
/* 028CB8C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t42);
/* 028CB8C8 */ _t43 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CB8C8 */ _t44 = _t43 & 0x00000001u;
/* 028CB8C8 */ if (_t44) goto L_028CB8CC; // else: addr-0 trap, fall-through
L_028CB8CC: ; // 0x28cb8cc
/* 028CB8CC */ _t45 = cpu->r[1] + 0x0000003Cu;
/* 028CB8CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
/* 028CB8D0 */ cpu->lr = cpu->r[0];
/* 028CB8D4 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
/* 028CB8D8 */ return;
}
// fn_028CB79C @ 0x28cb79c
void Gambit_fn_028CB79C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45;
L_028CB79C: ; // 0x28cb79c
/* 028CB79C */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
/* 028CB79C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CB79C */ cpu->r[1] = _t0;
/* 028CB7A0 */ _t1 = cpu->r[1] + 0x00000018u;
/* 028CB7A0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
/* 028CB7A4 */ /* nop */
/* 028CB7A8 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028CB7A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028CB7AC */ _t3 = cpu->r[1] + 0x00000028u;
/* 028CB7AC */ rbrew_write_f64(cpu->mem, _t3, cpu->f[31]);
/* 028CB7B0 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028CB7B0 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028CB7B4 */ _t5 = cpu->r[1] + 0x00000010u;
/* 028CB7B4 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
/* 028CB7B8 */ _t6 = cpu->r[1] + 0x0000003Cu;
/* 028CB7B8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028CB7BC */ _t7 = cpu->r[1] + 0x00000020u;
/* 028CB7BC */ rbrew_write_f32(cpu->mem, _t7, cpu->f[30]);
/* 028CB7C0 */ /* nop */
/* 028CB7C4 */ _t8 = cpu->r[1] + 0x00000008u;
/* 028CB7C4 */ rbrew_write32(cpu->mem, _t8, cpu->r[28]);
/* 028CB7C8 */ _t9 = cpu->r[1] + 0x00000030u;
/* 028CB7C8 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[31]);
/* 028CB7CC */ cpu->r[29] = cpu->r[4];
/* 028CB7CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028CB7D0 */ cpu->f[30] = cpu->f[1];
/* 028CB7D4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB7D4 */ _t11 = _t10 & 0x00000001u;
/* 028CB7D4 */ if (_t11) goto L_028CB8A8; else goto L_028CB7D8;
L_028CB7D8: ; // 0x28cb7d8
/* 028CB7D8 */ _t12 = cpu->r[29] + 0x00000000u;
/* 028CB7D8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t12);
/* 028CB7DC */ _t13 = cpu->r[7] + 0x0000007Cu;
/* 028CB7DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
/* 028CB7E0 */ cpu->ctr = cpu->r[11];
/* 028CB7E4 */ cpu->r[3] = cpu->r[29];
/* 028CB7E8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB7EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CB7F0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB7F0 */ _t15 = _t14 & 0x00000001u;
/* 028CB7F0 */ if (_t15) goto L_028CB7F4; else goto L_028CB8A8;
L_028CB7F4: ; // 0x28cb7f4
/* 028CB7F4 */ _t16 = cpu->r[29] + 0x00000000u;
/* 028CB7F4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
/* 028CB7F8 */ _t17 = cpu->r[9] + 0x00000044u;
/* 028CB7F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
/* 028CB7FC */ cpu->ctr = cpu->r[10];
/* 028CB800 */ cpu->r[3] = cpu->r[29];
/* 028CB804 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB808 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CB80C */ cpu->r[30] = cpu->r[3];
/* 028CB810 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB810 */ _t19 = _t18 & 0x00000001u;
/* 028CB810 */ if (_t19) goto L_028CB840; else goto L_028CB814;
L_028CB814: ; // 0x28cb814
/* 028CB814 */ _t20 = cpu->r[29] + 0x00000000u;
/* 028CB814 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
/* 028CB818 */ _t21 = cpu->r[12] + 0x0000005Cu;
/* 028CB818 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
/* 028CB81C */ cpu->ctr = cpu->r[0];
/* 028CB820 */ cpu->r[4] = cpu->r[30];
/* 028CB824 */ cpu->r[3] = cpu->r[29];
/* 028CB828 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB82C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000000u);
/* 028CB830 */ cpu->r[28] = 0x00000000u;
/* 028CB834 */ cpu->r[31] = cpu->r[3];
/* 028CB838 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB838 */ _t23 = _t22 & 0x00000001u;
/* 028CB838 */ if (_t23) goto L_028CB8A8; else goto L_028CB83C;
L_028CB83C: ; // 0x28cb83c
/* 028CB83C */ goto L_028CB850;
L_028CB840: ; // 0x28cb840
/* 028CB840 */ cpu->r[31] = 0x00000000u;
/* 028CB844 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000000u);
/* 028CB848 */ cpu->r[28] = cpu->r[31];
/* 028CB84C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB84C */ _t25 = _t24 & 0x00000001u;
/* 028CB84C */ if (_t25) goto L_028CB8A8; else goto L_028CB850;
L_028CB850: ; // 0x28cb850
/* 028CB850 */ cpu->r[8] = 0x10140000u;
/* 028CB854 */ _t26 = cpu->r[8] + 0xFFFF9D30u;
/* 028CB854 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t26);
L_028CB858: ; // 0x28cb858
/* 028CB858 */ cpu->f[2] = cpu->f[31];
/* 028CB85C */ cpu->r[3] = cpu->r[30];
/* 028CB860 */ cpu->f[1] = cpu->f[30];
/* 028CB864 */ Gambit_fn_028BDC2C(cpu);
/* 028CB868 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CB86C */ cpu->r[30] = cpu->r[31];
/* 028CB870 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB870 */ _t28 = _t27 & 0x00000001u;
/* 028CB870 */ if (_t28) goto L_028CB89C; else goto L_028CB874;
L_028CB874: ; // 0x28cb874
/* 028CB874 */ _t29 = cpu->r[29] + 0x00000000u;
/* 028CB874 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
/* 028CB878 */ _t30 = cpu->r[12] + 0x0000005Cu;
/* 028CB878 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
/* 028CB87C */ cpu->ctr = cpu->r[0];
/* 028CB880 */ cpu->r[3] = cpu->r[29];
/* 028CB884 */ cpu->r[4] = cpu->r[30];
/* 028CB888 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB88C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[28]);
/* 028CB890 */ cpu->r[31] = cpu->r[3];
/* 028CB894 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB894 */ _t32 = _t31 & 0x00000001u;
/* 028CB894 */ if (_t32) goto L_028CB898; else goto L_028CB858;
L_028CB898: ; // 0x28cb898
/* 028CB898 */ goto L_028CB8A8;
L_028CB89C: ; // 0x28cb89c
/* 028CB89C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[28]);
/* 028CB8A0 */ cpu->r[31] = 0x00000000u;
/* 028CB8A4 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB8A4 */ _t34 = _t33 & 0x00000001u;
/* 028CB8A4 */ if (_t34) goto L_028CB8A8; else goto L_028CB858;
L_028CB8A8: ; // 0x28cb8a8
/* 028CB8A8 */ _t35 = cpu->r[1] + 0x00000008u;
/* 028CB8A8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t35);
/* 028CB8AC */ _t36 = cpu->r[1] + 0x0000000Cu;
/* 028CB8AC */ cpu->r[29] = rbrew_read32(cpu->mem, _t36);
/* 028CB8B0 */ _t37 = cpu->r[1] + 0x00000030u;
/* 028CB8B0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t37);
/* 028CB8B4 */ _t38 = cpu->r[1] + 0x00000020u;
/* 028CB8B4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t38);
/* 028CB8B8 */ _t39 = cpu->r[1] + 0x00000028u;
/* 028CB8B8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t39);
/* 028CB8BC */ _t40 = cpu->r[1] + 0x00000018u;
/* 028CB8BC */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t40);
/* 028CB8C0 */ _t41 = cpu->r[1] + 0x00000014u;
/* 028CB8C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
/* 028CB8C4 */ _t42 = cpu->r[1] + 0x00000010u;
/* 028CB8C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t42);
/* 028CB8C8 */ _t43 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CB8C8 */ _t44 = _t43 & 0x00000001u;
/* 028CB8C8 */ if (_t44) goto L_028CB8CC; // else: addr-0 trap, fall-through
L_028CB8CC: ; // 0x28cb8cc
/* 028CB8CC */ _t45 = cpu->r[1] + 0x0000003Cu;
/* 028CB8CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
/* 028CB8D0 */ cpu->lr = cpu->r[0];
/* 028CB8D4 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
/* 028CB8D8 */ return;
}
// fn_028CB8DC @ 0x28cb8dc
void Gambit_fn_028CB8DC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _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_028CB8DC: ; // 0x28cb8dc
/* 028CB8DC */ cpu->r[0] = cpu->lr;
/* 028CB8E0 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028CB8E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CB8E0 */ cpu->r[1] = _t0;
/* 028CB8E4 */ _t1 = cpu->r[1] + 0x00000018u;
/* 028CB8E4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028CB8E8 */ /* nop */
/* 028CB8EC */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028CB8EC */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028CB8F0 */ _t3 = cpu->r[1] + 0x00000020u;
/* 028CB8F0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028CB8F4 */ _t4 = cpu->r[1] + 0x00000010u;
/* 028CB8F4 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
/* 028CB8F8 */ _t5 = cpu->r[1] + 0x00000014u;
/* 028CB8F8 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
/* 028CB8FC */ _t6 = cpu->r[1] + 0x0000002Cu;
/* 028CB8FC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028CB900 */ cpu->r[31] = cpu->r[3];
/* 028CB904 */ _t7 = cpu->r[1] + 0x00000008u;
/* 028CB904 */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
/* 028CB908 */ _t8 = cpu->r[31] + 0x00000000u;
/* 028CB908 */ cpu->r[0] = rbrew_read8(cpu->mem, _t8);
/* 028CB90C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CB910 */ cpu->f[31] = cpu->f[1];
/* 028CB914 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB914 */ _t10 = _t9 & 0x00000001u;
/* 028CB914 */ if (_t10) goto L_028CBA5C; else goto L_028CB918;
L_028CB918: ; // 0x28cb918
/* 028CB918 */ _t11 = cpu->r[31] + 0x00000004u;
/* 028CB918 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
/* 028CB91C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028CB920 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB920 */ _t13 = _t12 & 0x00000001u;
/* 028CB920 */ if (_t13) goto L_028CB948; else goto L_028CB924;
L_028CB924: ; // 0x28cb924
/* 028CB924 */ _t14 = cpu->r[30] + 0x00000000u;
/* 028CB924 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
/* 028CB928 */ _t15 = cpu->r[10] + 0x0000008Cu;
/* 028CB928 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
/* 028CB92C */ cpu->ctr = cpu->r[12];
/* 028CB930 */ cpu->r[3] = cpu->r[30];
/* 028CB934 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB938 */ _t16 = cpu->r[3] + 0x00000000u;
/* 028CB938 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
/* 028CB93C */ _t17 = cpu->r[11] + 0x00000014u;
/* 028CB93C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028CB940 */ cpu->ctr = cpu->r[0];
/* 028CB944 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CB948: ; // 0x28cb948
/* 028CB948 */ _t18 = cpu->r[31] + 0x00000008u;
/* 028CB948 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
/* 028CB94C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028CB950 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB950 */ _t20 = _t19 & 0x00000001u;
/* 028CB950 */ if (_t20) goto L_028CB978; else goto L_028CB954;
L_028CB954: ; // 0x28cb954
/* 028CB954 */ _t21 = cpu->r[29] + 0x00000000u;
/* 028CB954 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
/* 028CB958 */ _t22 = cpu->r[8] + 0x0000008Cu;
/* 028CB958 */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
/* 028CB95C */ cpu->ctr = cpu->r[9];
/* 028CB960 */ cpu->r[3] = cpu->r[29];
/* 028CB964 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB968 */ _t23 = cpu->r[3] + 0x00000000u;
/* 028CB968 */ cpu->r[10] = rbrew_read32(cpu->mem, _t23);
/* 028CB96C */ _t24 = cpu->r[10] + 0x00000014u;
/* 028CB96C */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
/* 028CB970 */ cpu->ctr = cpu->r[11];
/* 028CB974 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CB978: ; // 0x28cb978
/* 028CB978 */ _t25 = cpu->r[31] + 0x0000000Cu;
/* 028CB978 */ cpu->r[28] = rbrew_read32(cpu->mem, _t25);
/* 028CB97C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028CB980 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB980 */ _t27 = _t26 & 0x00000001u;
/* 028CB980 */ if (_t27) goto L_028CB9A8; else goto L_028CB984;
L_028CB984: ; // 0x28cb984
/* 028CB984 */ _t28 = cpu->r[28] + 0x00000000u;
/* 028CB984 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
/* 028CB988 */ _t29 = cpu->r[12] + 0x0000008Cu;
/* 028CB988 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
/* 028CB98C */ cpu->ctr = cpu->r[0];
/* 028CB990 */ cpu->r[3] = cpu->r[28];
/* 028CB994 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB998 */ _t30 = cpu->r[3] + 0x00000000u;
/* 028CB998 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
/* 028CB99C */ _t31 = cpu->r[12] + 0x00000014u;
/* 028CB99C */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
/* 028CB9A0 */ cpu->ctr = cpu->r[0];
/* 028CB9A4 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CB9A8: ; // 0x28cb9a8
/* 028CB9A8 */ cpu->f[1] = cpu->f[31];
/* 028CB9AC */ _t32 = cpu->r[31] + 0x00000004u;
/* 028CB9AC */ cpu->r[4] = rbrew_read32(cpu->mem, _t32);
/* 028CB9B0 */ cpu->r[3] = cpu->r[31];
/* 028CB9B4 */ Gambit_fn_028CB798(cpu);
/* 028CB9B8 */ cpu->f[1] = cpu->f[31];
/* 028CB9BC */ _t33 = cpu->r[31] + 0x00000008u;
/* 028CB9BC */ cpu->r[4] = rbrew_read32(cpu->mem, _t33);
/* 028CB9C0 */ cpu->r[3] = cpu->r[31];
/* 028CB9C4 */ Gambit_fn_028CB798(cpu);
/* 028CB9C8 */ cpu->f[1] = cpu->f[31];
/* 028CB9CC */ _t34 = cpu->r[31] + 0x0000000Cu;
/* 028CB9CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t34);
/* 028CB9D0 */ cpu->r[3] = cpu->r[31];
/* 028CB9D4 */ Gambit_fn_028CB798(cpu);
/* 028CB9D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028CB9DC */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB9DC */ _t36 = _t35 & 0x00000001u;
/* 028CB9DC */ if (_t36) goto L_028CBA04; else goto L_028CB9E0;
L_028CB9E0: ; // 0x28cb9e0
/* 028CB9E0 */ _t37 = cpu->r[28] + 0x00000000u;
/* 028CB9E0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
/* 028CB9E4 */ _t38 = cpu->r[8] + 0x0000008Cu;
/* 028CB9E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t38);
/* 028CB9E8 */ cpu->ctr = cpu->r[9];
/* 028CB9EC */ cpu->r[3] = cpu->r[28];
/* 028CB9F0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB9F4 */ _t39 = cpu->r[3] + 0x00000000u;
/* 028CB9F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t39);
/* 028CB9F8 */ _t40 = cpu->r[10] + 0x0000001Cu;
/* 028CB9F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
/* 028CB9FC */ cpu->ctr = cpu->r[0];
/* 028CBA00 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CBA04: ; // 0x28cba04
/* 028CBA04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028CBA08 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CBA08 */ _t42 = _t41 & 0x00000001u;
/* 028CBA08 */ if (_t42) goto L_028CBA30; else goto L_028CBA0C;
L_028CBA0C: ; // 0x28cba0c
/* 028CBA0C */ _t43 = cpu->r[29] + 0x00000000u;
/* 028CBA0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t43);
/* 028CBA10 */ _t44 = cpu->r[12] + 0x0000008Cu;
/* 028CBA10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
/* 028CBA14 */ cpu->ctr = cpu->r[0];
/* 028CBA18 */ cpu->r[3] = cpu->r[29];
/* 028CBA1C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CBA20 */ _t45 = cpu->r[3] + 0x00000000u;
/* 028CBA20 */ cpu->r[9] = rbrew_read32(cpu->mem, _t45);
/* 028CBA24 */ _t46 = cpu->r[9] + 0x0000001Cu;
/* 028CBA24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
/* 028CBA28 */ cpu->ctr = cpu->r[0];
/* 028CBA2C */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CBA30: ; // 0x28cba30
/* 028CBA30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028CBA34 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CBA34 */ _t48 = _t47 & 0x00000001u;
/* 028CBA34 */ if (_t48) goto L_028CBA5C; else goto L_028CBA38;
L_028CBA38: ; // 0x28cba38
/* 028CBA38 */ _t49 = cpu->r[30] + 0x00000000u;
/* 028CBA38 */ cpu->r[11] = rbrew_read32(cpu->mem, _t49);
/* 028CBA3C */ _t50 = cpu->r[11] + 0x0000008Cu;
/* 028CBA3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t50);
/* 028CBA40 */ cpu->ctr = cpu->r[12];
/* 028CBA44 */ cpu->r[3] = cpu->r[30];
/* 028CBA48 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CBA4C */ _t51 = cpu->r[3] + 0x00000000u;
/* 028CBA4C */ cpu->r[8] = rbrew_read32(cpu->mem, _t51);
/* 028CBA50 */ _t52 = cpu->r[8] + 0x0000001Cu;
/* 028CBA50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t52);
/* 028CBA54 */ cpu->ctr = cpu->r[9];
/* 028CBA58 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CBA5C: ; // 0x28cba5c
/* 028CBA5C */ _t53 = cpu->r[1] + 0x00000008u;
/* 028CBA5C */ cpu->r[28] = rbrew_read32(cpu->mem, _t53);
/* 028CBA60 */ _t54 = cpu->r[1] + 0x0000000Cu;
/* 028CBA60 */ cpu->r[29] = rbrew_read32(cpu->mem, _t54);
/* 028CBA64 */ _t55 = cpu->r[1] + 0x00000020u;
/* 028CBA64 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t55);
/* 028CBA68 */ _t56 = cpu->r[1] + 0x00000010u;
/* 028CBA68 */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
/* 028CBA6C */ _t57 = cpu->r[1] + 0x00000018u;
/* 028CBA6C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t57);
/* 028CBA70 */ _t58 = cpu->r[1] + 0x00000014u;
/* 028CBA70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t58);
/* 028CBA74 */ _t59 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CBA74 */ _t60 = _t59 & 0x00000001u;
/* 028CBA74 */ if (_t60) goto L_028CBA78; // else: addr-0 trap, fall-through
L_028CBA78: ; // 0x28cba78
/* 028CBA78 */ _t61 = cpu->r[1] + 0x0000002Cu;
/* 028CBA78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
/* 028CBA7C */ cpu->lr = cpu->r[0];
/* 028CBA80 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028CBA84 */ return;
}
// fn_028CB8E0 @ 0x28cb8e0
void Gambit_fn_028CB8E0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _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_028CB8E0: ; // 0x28cb8e0
/* 028CB8E0 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028CB8E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CB8E0 */ cpu->r[1] = _t0;
/* 028CB8E4 */ _t1 = cpu->r[1] + 0x00000018u;
/* 028CB8E4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028CB8E8 */ /* nop */
/* 028CB8EC */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028CB8EC */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028CB8F0 */ _t3 = cpu->r[1] + 0x00000020u;
/* 028CB8F0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028CB8F4 */ _t4 = cpu->r[1] + 0x00000010u;
/* 028CB8F4 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
/* 028CB8F8 */ _t5 = cpu->r[1] + 0x00000014u;
/* 028CB8F8 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
/* 028CB8FC */ _t6 = cpu->r[1] + 0x0000002Cu;
/* 028CB8FC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028CB900 */ cpu->r[31] = cpu->r[3];
/* 028CB904 */ _t7 = cpu->r[1] + 0x00000008u;
/* 028CB904 */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
/* 028CB908 */ _t8 = cpu->r[31] + 0x00000000u;
/* 028CB908 */ cpu->r[0] = rbrew_read8(cpu->mem, _t8);
/* 028CB90C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CB910 */ cpu->f[31] = cpu->f[1];
/* 028CB914 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB914 */ _t10 = _t9 & 0x00000001u;
/* 028CB914 */ if (_t10) goto L_028CBA5C; else goto L_028CB918;
L_028CB918: ; // 0x28cb918
/* 028CB918 */ _t11 = cpu->r[31] + 0x00000004u;
/* 028CB918 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
/* 028CB91C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028CB920 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB920 */ _t13 = _t12 & 0x00000001u;
/* 028CB920 */ if (_t13) goto L_028CB948; else goto L_028CB924;
L_028CB924: ; // 0x28cb924
/* 028CB924 */ _t14 = cpu->r[30] + 0x00000000u;
/* 028CB924 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
/* 028CB928 */ _t15 = cpu->r[10] + 0x0000008Cu;
/* 028CB928 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
/* 028CB92C */ cpu->ctr = cpu->r[12];
/* 028CB930 */ cpu->r[3] = cpu->r[30];
/* 028CB934 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB938 */ _t16 = cpu->r[3] + 0x00000000u;
/* 028CB938 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
/* 028CB93C */ _t17 = cpu->r[11] + 0x00000014u;
/* 028CB93C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028CB940 */ cpu->ctr = cpu->r[0];
/* 028CB944 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CB948: ; // 0x28cb948
/* 028CB948 */ _t18 = cpu->r[31] + 0x00000008u;
/* 028CB948 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
/* 028CB94C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028CB950 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB950 */ _t20 = _t19 & 0x00000001u;
/* 028CB950 */ if (_t20) goto L_028CB978; else goto L_028CB954;
L_028CB954: ; // 0x28cb954
/* 028CB954 */ _t21 = cpu->r[29] + 0x00000000u;
/* 028CB954 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
/* 028CB958 */ _t22 = cpu->r[8] + 0x0000008Cu;
/* 028CB958 */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
/* 028CB95C */ cpu->ctr = cpu->r[9];
/* 028CB960 */ cpu->r[3] = cpu->r[29];
/* 028CB964 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB968 */ _t23 = cpu->r[3] + 0x00000000u;
/* 028CB968 */ cpu->r[10] = rbrew_read32(cpu->mem, _t23);
/* 028CB96C */ _t24 = cpu->r[10] + 0x00000014u;
/* 028CB96C */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
/* 028CB970 */ cpu->ctr = cpu->r[11];
/* 028CB974 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CB978: ; // 0x28cb978
/* 028CB978 */ _t25 = cpu->r[31] + 0x0000000Cu;
/* 028CB978 */ cpu->r[28] = rbrew_read32(cpu->mem, _t25);
/* 028CB97C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028CB980 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB980 */ _t27 = _t26 & 0x00000001u;
/* 028CB980 */ if (_t27) goto L_028CB9A8; else goto L_028CB984;
L_028CB984: ; // 0x28cb984
/* 028CB984 */ _t28 = cpu->r[28] + 0x00000000u;
/* 028CB984 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
/* 028CB988 */ _t29 = cpu->r[12] + 0x0000008Cu;
/* 028CB988 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
/* 028CB98C */ cpu->ctr = cpu->r[0];
/* 028CB990 */ cpu->r[3] = cpu->r[28];
/* 028CB994 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB998 */ _t30 = cpu->r[3] + 0x00000000u;
/* 028CB998 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
/* 028CB99C */ _t31 = cpu->r[12] + 0x00000014u;
/* 028CB99C */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
/* 028CB9A0 */ cpu->ctr = cpu->r[0];
/* 028CB9A4 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CB9A8: ; // 0x28cb9a8
/* 028CB9A8 */ cpu->f[1] = cpu->f[31];
/* 028CB9AC */ _t32 = cpu->r[31] + 0x00000004u;
/* 028CB9AC */ cpu->r[4] = rbrew_read32(cpu->mem, _t32);
/* 028CB9B0 */ cpu->r[3] = cpu->r[31];
/* 028CB9B4 */ Gambit_fn_028CB798(cpu);
/* 028CB9B8 */ cpu->f[1] = cpu->f[31];
/* 028CB9BC */ _t33 = cpu->r[31] + 0x00000008u;
/* 028CB9BC */ cpu->r[4] = rbrew_read32(cpu->mem, _t33);
/* 028CB9C0 */ cpu->r[3] = cpu->r[31];
/* 028CB9C4 */ Gambit_fn_028CB798(cpu);
/* 028CB9C8 */ cpu->f[1] = cpu->f[31];
/* 028CB9CC */ _t34 = cpu->r[31] + 0x0000000Cu;
/* 028CB9CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t34);
/* 028CB9D0 */ cpu->r[3] = cpu->r[31];
/* 028CB9D4 */ Gambit_fn_028CB798(cpu);
/* 028CB9D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028CB9DC */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CB9DC */ _t36 = _t35 & 0x00000001u;
/* 028CB9DC */ if (_t36) goto L_028CBA04; else goto L_028CB9E0;
L_028CB9E0: ; // 0x28cb9e0
/* 028CB9E0 */ _t37 = cpu->r[28] + 0x00000000u;
/* 028CB9E0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
/* 028CB9E4 */ _t38 = cpu->r[8] + 0x0000008Cu;
/* 028CB9E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t38);
/* 028CB9E8 */ cpu->ctr = cpu->r[9];
/* 028CB9EC */ cpu->r[3] = cpu->r[28];
/* 028CB9F0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CB9F4 */ _t39 = cpu->r[3] + 0x00000000u;
/* 028CB9F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t39);
/* 028CB9F8 */ _t40 = cpu->r[10] + 0x0000001Cu;
/* 028CB9F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
/* 028CB9FC */ cpu->ctr = cpu->r[0];
/* 028CBA00 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CBA04: ; // 0x28cba04
/* 028CBA04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028CBA08 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CBA08 */ _t42 = _t41 & 0x00000001u;
/* 028CBA08 */ if (_t42) goto L_028CBA30; else goto L_028CBA0C;
L_028CBA0C: ; // 0x28cba0c
/* 028CBA0C */ _t43 = cpu->r[29] + 0x00000000u;
/* 028CBA0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t43);
/* 028CBA10 */ _t44 = cpu->r[12] + 0x0000008Cu;
/* 028CBA10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
/* 028CBA14 */ cpu->ctr = cpu->r[0];
/* 028CBA18 */ cpu->r[3] = cpu->r[29];
/* 028CBA1C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CBA20 */ _t45 = cpu->r[3] + 0x00000000u;
/* 028CBA20 */ cpu->r[9] = rbrew_read32(cpu->mem, _t45);
/* 028CBA24 */ _t46 = cpu->r[9] + 0x0000001Cu;
/* 028CBA24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
/* 028CBA28 */ cpu->ctr = cpu->r[0];
/* 028CBA2C */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CBA30: ; // 0x28cba30
/* 028CBA30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028CBA34 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CBA34 */ _t48 = _t47 & 0x00000001u;
/* 028CBA34 */ if (_t48) goto L_028CBA5C; else goto L_028CBA38;
L_028CBA38: ; // 0x28cba38
/* 028CBA38 */ _t49 = cpu->r[30] + 0x00000000u;
/* 028CBA38 */ cpu->r[11] = rbrew_read32(cpu->mem, _t49);
/* 028CBA3C */ _t50 = cpu->r[11] + 0x0000008Cu;
/* 028CBA3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t50);
/* 028CBA40 */ cpu->ctr = cpu->r[12];
/* 028CBA44 */ cpu->r[3] = cpu->r[30];
/* 028CBA48 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CBA4C */ _t51 = cpu->r[3] + 0x00000000u;
/* 028CBA4C */ cpu->r[8] = rbrew_read32(cpu->mem, _t51);
/* 028CBA50 */ _t52 = cpu->r[8] + 0x0000001Cu;
/* 028CBA50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t52);
/* 028CBA54 */ cpu->ctr = cpu->r[9];
/* 028CBA58 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CBA5C: ; // 0x28cba5c
/* 028CBA5C */ _t53 = cpu->r[1] + 0x00000008u;
/* 028CBA5C */ cpu->r[28] = rbrew_read32(cpu->mem, _t53);
/* 028CBA60 */ _t54 = cpu->r[1] + 0x0000000Cu;
/* 028CBA60 */ cpu->r[29] = rbrew_read32(cpu->mem, _t54);
/* 028CBA64 */ _t55 = cpu->r[1] + 0x00000020u;
/* 028CBA64 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t55);
/* 028CBA68 */ _t56 = cpu->r[1] + 0x00000010u;
/* 028CBA68 */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
/* 028CBA6C */ _t57 = cpu->r[1] + 0x00000018u;
/* 028CBA6C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t57);
/* 028CBA70 */ _t58 = cpu->r[1] + 0x00000014u;
/* 028CBA70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t58);
/* 028CBA74 */ _t59 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CBA74 */ _t60 = _t59 & 0x00000001u;
/* 028CBA74 */ if (_t60) goto L_028CBA78; // else: addr-0 trap, fall-through
L_028CBA78: ; // 0x28cba78
/* 028CBA78 */ _t61 = cpu->r[1] + 0x0000002Cu;
/* 028CBA78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
/* 028CBA7C */ cpu->lr = cpu->r[0];
/* 028CBA80 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028CBA84 */ return;
}
// fn_028CBA88 @ 0x28cba88
void Gambit_fn_028CBA88(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_028CBA88: ; // 0x28cba88
/* 028CBA88 */ cpu->r[0] = cpu->lr;
/* 028CBA8C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
/* 028CBA8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CBA8C */ cpu->r[1] = _t0;
/* 028CBA90 */ _t1 = cpu->r[1] + 0x00000020u;
/* 028CBA90 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028CBA94 */ /* nop */
/* 028CBA98 */ _t2 = cpu->r[1] + 0x0000001Cu;
/* 028CBA98 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028CBA9C */ _t3 = cpu->r[1] + 0x00000028u;
/* 028CBA9C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028CBAA0 */ cpu->r[31] = cpu->r[4];
/* 028CBAA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CBAA4 */ _t4 = cpu->r[1] + 0x00000010u;
/* 028CBAA4 */ rbrew_write32(cpu->mem, _t4, cpu->r[28]);
/* 028CBAA8 */ _t5 = cpu->r[1] + 0x00000014u;
/* 028CBAA8 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
/* 028CBAAC */ cpu->r[28] = cpu->r[6];
/* 028CBAB0 */ _t6 = cpu->r[1] + 0x00000034u;
/* 028CBAB0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028CBAB4 */ cpu->f[31] = cpu->f[1];
/* 028CBAB8 */ _t7 = cpu->r[1] + 0x00000018u;
/* 028CBAB8 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
/* 028CBABC */ _t8 = cpu->r[5] + 0x00000000u;
/* 028CBABC */ cpu->r[29] = rbrew_read8(cpu->mem, _t8);
/* 028CBAC0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CBAC0 */ _t10 = _t9 & 0x00000001u;
/* 028CBAC0 */ if (_t10) goto L_028CBB38; else goto L_028CBAC4;
L_028CBAC4: ; // 0x28cbac4
/* 028CBAC4 */ _t11 = cpu->r[31] + 0x00000000u;
/* 028CBAC4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
/* 028CBAC8 */ _t12 = cpu->r[11] + 0x0000007Cu;
/* 028CBAC8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t12);
/* 028CBACC */ cpu->ctr = cpu->r[7];
/* 028CBAD0 */ cpu->r[3] = cpu->r[31];
/* 028CBAD4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CBAD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CBADC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CBADC */ _t14 = _t13 & 0x00000001u;
/* 028CBADC */ if (_t14) goto L_028CBAE0; else goto L_028CBB38;
L_028CBAE0: ; // 0x28cbae0
/* 028CBAE0 */ _t15 = cpu->r[31] + 0x00000000u;
/* 028CBAE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
/* 028CBAE4 */ _t16 = cpu->r[12] + 0x00000044u;
/* 028CBAE4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
/* 028CBAE8 */ cpu->ctr = cpu->r[8];
/* 028CBAEC */ cpu->r[3] = cpu->r[31];
/* 028CBAF0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CBAF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CBAF8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CBAF8 */ _t18 = _t17 & 0x00000001u;
/* 028CBAF8 */ if (_t18) goto L_028CBB38; else goto L_028CBAFC;
L_028CBAFC: ; // 0x28cbafc
/* 028CBAFC */ cpu->r[30] = cpu->r[3];
L_028CBB00: ; // 0x28cbb00
/* 028CBB00 */ cpu->f[1] = cpu->f[31];
/* 028CBB04 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028CBB08 */ cpu->r[3] = cpu->r[30];
/* 028CBB0C */ cpu->r[5] = cpu->r[28];
/* 028CBB10 */ _t19 = cpu->r[1] + 0x00000008u;
/* 028CBB10 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[29]);
/* 028CBB14 */ Gambit_fn_028BE63C(cpu);
/* 028CBB18 */ _t20 = cpu->r[31] + 0x00000000u;
/* 028CBB18 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
/* 028CBB1C */ _t21 = cpu->r[9] + 0x0000005Cu;
/* 028CBB1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
/* 028CBB20 */ cpu->ctr = cpu->r[0];
/* 028CBB24 */ cpu->r[3] = cpu->r[31];
/* 028CBB28 */ cpu->r[4] = cpu->r[30];
/* 028CBB2C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CBB30 */ cpu->r[30] = cpu->r[3];
/* 028CBB30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028CBB34 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CBB34 */ _t23 = _t22 & 0x00000001u;
/* 028CBB34 */ if (_t23) goto L_028CBB38; else goto L_028CBB00;
L_028CBB38: ; // 0x28cbb38
/* 028CBB38 */ _t24 = cpu->r[1] + 0x00000010u;
/* 028CBB38 */ cpu->r[28] = rbrew_read32(cpu->mem, _t24);
/* 028CBB3C */ _t25 = cpu->r[1] + 0x00000014u;
/* 028CBB3C */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
/* 028CBB40 */ _t26 = cpu->r[1] + 0x00000028u;
/* 028CBB40 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t26);
/* 028CBB44 */ _t27 = cpu->r[1] + 0x00000018u;
/* 028CBB44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
/* 028CBB48 */ _t28 = cpu->r[1] + 0x00000020u;
/* 028CBB48 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t28);
/* 028CBB4C */ _t29 = cpu->r[1] + 0x0000001Cu;
/* 028CBB4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
/* 028CBB50 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CBB50 */ _t31 = _t30 & 0x00000001u;
/* 028CBB50 */ if (_t31) goto L_028CBB54; // else: addr-0 trap, fall-through
L_028CBB54: ; // 0x28cbb54
/* 028CBB54 */ _t32 = cpu->r[1] + 0x00000034u;
/* 028CBB54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
/* 028CBB58 */ cpu->lr = cpu->r[0];
/* 028CBB5C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
/* 028CBB60 */ return;
}
// fn_028CBA8C @ 0x28cba8c
void Gambit_fn_028CBA8C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_028CBA8C: ; // 0x28cba8c
/* 028CBA8C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
/* 028CBA8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CBA8C */ cpu->r[1] = _t0;
/* 028CBA90 */ _t1 = cpu->r[1] + 0x00000020u;
/* 028CBA90 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028CBA94 */ /* nop */
/* 028CBA98 */ _t2 = cpu->r[1] + 0x0000001Cu;
/* 028CBA98 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028CBA9C */ _t3 = cpu->r[1] + 0x00000028u;
/* 028CBA9C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028CBAA0 */ cpu->r[31] = cpu->r[4];
/* 028CBAA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CBAA4 */ _t4 = cpu->r[1] + 0x00000010u;
/* 028CBAA4 */ rbrew_write32(cpu->mem, _t4, cpu->r[28]);
/* 028CBAA8 */ _t5 = cpu->r[1] + 0x00000014u;
/* 028CBAA8 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
/* 028CBAAC */ cpu->r[28] = cpu->r[6];
/* 028CBAB0 */ _t6 = cpu->r[1] + 0x00000034u;
/* 028CBAB0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028CBAB4 */ cpu->f[31] = cpu->f[1];
/* 028CBAB8 */ _t7 = cpu->r[1] + 0x00000018u;
/* 028CBAB8 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
/* 028CBABC */ _t8 = cpu->r[5] + 0x00000000u;
/* 028CBABC */ cpu->r[29] = rbrew_read8(cpu->mem, _t8);
/* 028CBAC0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CBAC0 */ _t10 = _t9 & 0x00000001u;
/* 028CBAC0 */ if (_t10) goto L_028CBB38; else goto L_028CBAC4;
L_028CBAC4: ; // 0x28cbac4
/* 028CBAC4 */ _t11 = cpu->r[31] + 0x00000000u;
/* 028CBAC4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
/* 028CBAC8 */ _t12 = cpu->r[11] + 0x0000007Cu;
/* 028CBAC8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t12);
/* 028CBACC */ cpu->ctr = cpu->r[7];
/* 028CBAD0 */ cpu->r[3] = cpu->r[31];
/* 028CBAD4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CBAD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CBADC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CBADC */ _t14 = _t13 & 0x00000001u;
/* 028CBADC */ if (_t14) goto L_028CBAE0; else goto L_028CBB38;
L_028CBAE0: ; // 0x28cbae0
/* 028CBAE0 */ _t15 = cpu->r[31] + 0x00000000u;
/* 028CBAE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
/* 028CBAE4 */ _t16 = cpu->r[12] + 0x00000044u;
/* 028CBAE4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
/* 028CBAE8 */ cpu->ctr = cpu->r[8];
/* 028CBAEC */ cpu->r[3] = cpu->r[31];
/* 028CBAF0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CBAF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CBAF8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CBAF8 */ _t18 = _t17 & 0x00000001u;
/* 028CBAF8 */ if (_t18) goto L_028CBB38; else goto L_028CBAFC;
L_028CBAFC: ; // 0x28cbafc
/* 028CBAFC */ cpu->r[30] = cpu->r[3];
L_028CBB00: ; // 0x28cbb00
/* 028CBB00 */ cpu->f[1] = cpu->f[31];
/* 028CBB04 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028CBB08 */ cpu->r[3] = cpu->r[30];
/* 028CBB0C */ cpu->r[5] = cpu->r[28];
/* 028CBB10 */ _t19 = cpu->r[1] + 0x00000008u;
/* 028CBB10 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[29]);
/* 028CBB14 */ Gambit_fn_028BE63C(cpu);
/* 028CBB18 */ _t20 = cpu->r[31] + 0x00000000u;
/* 028CBB18 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
/* 028CBB1C */ _t21 = cpu->r[9] + 0x0000005Cu;
/* 028CBB1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
/* 028CBB20 */ cpu->ctr = cpu->r[0];
/* 028CBB24 */ cpu->r[3] = cpu->r[31];
/* 028CBB28 */ cpu->r[4] = cpu->r[30];
/* 028CBB2C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CBB30 */ cpu->r[30] = cpu->r[3];
/* 028CBB30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028CBB34 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CBB34 */ _t23 = _t22 & 0x00000001u;
/* 028CBB34 */ if (_t23) goto L_028CBB38; else goto L_028CBB00;
L_028CBB38: ; // 0x28cbb38
/* 028CBB38 */ _t24 = cpu->r[1] + 0x00000010u;
/* 028CBB38 */ cpu->r[28] = rbrew_read32(cpu->mem, _t24);
/* 028CBB3C */ _t25 = cpu->r[1] + 0x00000014u;
/* 028CBB3C */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
/* 028CBB40 */ _t26 = cpu->r[1] + 0x00000028u;
/* 028CBB40 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t26);
/* 028CBB44 */ _t27 = cpu->r[1] + 0x00000018u;
/* 028CBB44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
/* 028CBB48 */ _t28 = cpu->r[1] + 0x00000020u;
/* 028CBB48 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t28);
/* 028CBB4C */ _t29 = cpu->r[1] + 0x0000001Cu;
/* 028CBB4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
/* 028CBB50 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CBB50 */ _t31 = _t30 & 0x00000001u;
/* 028CBB50 */ if (_t31) goto L_028CBB54; // else: addr-0 trap, fall-through
L_028CBB54: ; // 0x28cbb54
/* 028CBB54 */ _t32 = cpu->r[1] + 0x00000034u;
/* 028CBB54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
/* 028CBB58 */ cpu->lr = cpu->r[0];
/* 028CBB5C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
/* 028CBB60 */ return;
}
// fn_028CBB64 @ 0x28cbb64
void Gambit_fn_028CBB64(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _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_028CBB64: ; // 0x28cbb64
/* 028CBB64 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
/* 028CBB64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CBB64 */ cpu->r[1] = _t0;
/* 028CBB68 */ /* nop */
/* 028CBB6C */ _t1 = cpu->r[1] + 0x00000028u;
/* 028CBB6C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028CBB70 */ /* nop */
/* 028CBB74 */ cpu->r[0] = cpu->lr;
/* 028CBB78 */ _t2 = cpu->r[1] + 0x00000030u;
/* 028CBB78 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
/* 028CBB7C */ _t3 = cpu->r[1] + 0x0000003Cu;
/* 028CBB7C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028CBB80 */ _t4 = cpu->r[4] + 0x00000000u;
/* 028CBB80 */ cpu->r[29] = rbrew_read8(cpu->mem, _t4);
/* 028CBB84 */ cpu->r[28] = cpu->r[3];
/* 028CBB88 */ _t5 = cpu->r[28] + 0x00000000u;
/* 028CBB88 */ cpu->r[6] = rbrew_read8(cpu->mem, _t5);
/* 028CBB8C */ cpu->r[31] = cpu->r[5];
/* 028CBB90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
/* 028CBB94 */ cpu->f[31] = cpu->f[1];
/* 028CBB98 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CBB98 */ _t7 = _t6 & 0x00000001u;
/* 028CBB98 */ if (_t7) goto L_028CBD04; else goto L_028CBB9C;
L_028CBB9C: ; // 0x28cbb9c
/* 028CBB9C */ _t8 = cpu->r[28] + 0x00000004u;
/* 028CBB9C */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
/* 028CBBA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028CBBA4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CBBA4 */ _t10 = _t9 & 0x00000001u;
/* 028CBBA4 */ if (_t10) goto L_028CBBCC; else goto L_028CBBA8;
L_028CBBA8: ; // 0x28cbba8
/* 028CBBA8 */ _t11 = cpu->r[30] + 0x00000000u;
/* 028CBBA8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
/* 028CBBAC */ _t12 = cpu->r[10] + 0x0000008Cu;
/* 028CBBAC */ cpu->r[7] = rbrew_read32(cpu->mem, _t12);
/* 028CBBB0 */ cpu->ctr = cpu->r[7];
/* 028CBBB4 */ cpu->r[3] = cpu->r[30];
/* 028CBBB8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CBBBC */ _t13 = cpu->r[3] + 0x00000000u;
/* 028CBBBC */ cpu->r[5] = rbrew_read32(cpu->mem, _t13);
/* 028CBBC0 */ _t14 = cpu->r[5] + 0x00000014u;
/* 028CBBC0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
/* 028CBBC4 */ cpu->ctr = cpu->r[8];
/* 028CBBC8 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CBBCC: ; // 0x28cbbcc
/* 028CBBCC */ _t15 = cpu->r[28] + 0x00000008u;
/* 028CBBCC */ cpu->r[27] = rbrew_read32(cpu->mem, _t15);
/* 028CBBD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
/* 028CBBD4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CBBD4 */ _t17 = _t16 & 0x00000001u;
/* 028CBBD4 */ if (_t17) goto L_028CBBFC; else goto L_028CBBD8;
L_028CBBD8: ; // 0x28cbbd8
/* 028CBBD8 */ _t18 = cpu->r[27] + 0x00000000u;
/* 028CBBD8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
/* 028CBBDC */ _t19 = cpu->r[10] + 0x0000008Cu;
/* 028CBBDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028CBBE0 */ cpu->ctr = cpu->r[0];
/* 028CBBE4 */ cpu->r[3] = cpu->r[27];
/* 028CBBE8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CBBEC */ _t20 = cpu->r[3] + 0x00000000u;
/* 028CBBEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
/* 028CBBF0 */ _t21 = cpu->r[12] + 0x00000014u;
/* 028CBBF0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t21);
/* 028CBBF4 */ cpu->ctr = cpu->r[5];
/* 028CBBF8 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CBBFC: ; // 0x28cbbfc
/* 028CBBFC */ _t22 = cpu->r[28] + 0x0000000Cu;
/* 028CBBFC */ cpu->r[26] = rbrew_read32(cpu->mem, _t22);
/* 028CBC00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
/* 028CBC04 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CBC04 */ _t24 = _t23 & 0x00000001u;
/* 028CBC04 */ if (_t24) goto L_028CBC2C; else goto L_028CBC08;
L_028CBC08: ; // 0x28cbc08
/* 028CBC08 */ _t25 = cpu->r[26] + 0x00000000u;
/* 028CBC08 */ cpu->r[6] = rbrew_read32(cpu->mem, _t25);
/* 028CBC0C */ _t26 = cpu->r[6] + 0x0000008Cu;
/* 028CBC0C */ cpu->r[7] = rbrew_read32(cpu->mem, _t26);
/* 028CBC10 */ cpu->ctr = cpu->r[7];
/* 028CBC14 */ cpu->r[3] = cpu->r[26];
/* 028CBC18 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CBC1C */ _t27 = cpu->r[3] + 0x00000000u;
/* 028CBC1C */ cpu->r[8] = rbrew_read32(cpu->mem, _t27);
/* 028CBC20 */ _t28 = cpu->r[8] + 0x00000014u;
/* 028CBC20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
/* 028CBC24 */ cpu->ctr = cpu->r[0];
/* 028CBC28 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CBC2C: ; // 0x28cbc2c
/* 028CBC2C */ cpu->f[1] = cpu->f[31];
/* 028CBC30 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
/* 028CBC34 */ _t29 = cpu->r[28] + 0x00000004u;
/* 028CBC34 */ cpu->r[4] = rbrew_read32(cpu->mem, _t29);
/* 028CBC38 */ cpu->r[6] = cpu->r[31];
/* 028CBC3C */ cpu->r[3] = cpu->r[28];
/* 028CBC40 */ _t30 = cpu->r[1] + 0x00000008u;
/* 028CBC40 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[29]);
/* 028CBC44 */ Gambit_fn_028CBA88(cpu);
/* 028CBC48 */ cpu->f[1] = cpu->f[31];
/* 028CBC4C */ cpu->r[5] = cpu->r[1] + 0x00000009u;
/* 028CBC50 */ _t31 = cpu->r[28] + 0x00000008u;
/* 028CBC50 */ cpu->r[4] = rbrew_read32(cpu->mem, _t31);
/* 028CBC54 */ cpu->r[6] = cpu->r[31];
/* 028CBC58 */ cpu->r[3] = cpu->r[28];
/* 028CBC5C */ _t32 = cpu->r[1] + 0x00000009u;
/* 028CBC5C */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[29]);
/* 028CBC60 */ Gambit_fn_028CBA88(cpu);
/* 028CBC64 */ cpu->f[1] = cpu->f[31];
/* 028CBC68 */ cpu->r[5] = cpu->r[1] + 0x0000000Au;
/* 028CBC6C */ _t33 = cpu->r[28] + 0x0000000Cu;
/* 028CBC6C */ cpu->r[4] = rbrew_read32(cpu->mem, _t33);
/* 028CBC70 */ cpu->r[6] = cpu->r[31];
/* 028CBC74 */ cpu->r[3] = cpu->r[28];
/* 028CBC78 */ _t34 = cpu->r[1] + 0x0000000Au;
/* 028CBC78 */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[29]);
/* 028CBC7C */ Gambit_fn_028CBA88(cpu);
/* 028CBC80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
/* 028CBC84 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CBC84 */ _t36 = _t35 & 0x00000001u;
/* 028CBC84 */ if (_t36) goto L_028CBCAC; else goto L_028CBC88;
L_028CBC88: ; // 0x28cbc88
/* 028CBC88 */ _t37 = cpu->r[26] + 0x00000000u;
/* 028CBC88 */ cpu->r[10] = rbrew_read32(cpu->mem, _t37);
/* 028CBC8C */ _t38 = cpu->r[10] + 0x0000008Cu;
/* 028CBC8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
/* 028CBC90 */ cpu->ctr = cpu->r[0];
/* 028CBC94 */ cpu->r[3] = cpu->r[26];
/* 028CBC98 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CBC9C */ _t39 = cpu->r[3] + 0x00000000u;
/* 028CBC9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
/* 028CBCA0 */ _t40 = cpu->r[12] + 0x0000001Cu;
/* 028CBCA0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t40);
/* 028CBCA4 */ cpu->ctr = cpu->r[5];
/* 028CBCA8 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CBCAC: ; // 0x28cbcac
/* 028CBCAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
/* 028CBCB0 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CBCB0 */ _t42 = _t41 & 0x00000001u;
/* 028CBCB0 */ if (_t42) goto L_028CBCD8; else goto L_028CBCB4;
L_028CBCB4: ; // 0x28cbcb4
/* 028CBCB4 */ _t43 = cpu->r[27] + 0x00000000u;
/* 028CBCB4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t43);
/* 028CBCB8 */ _t44 = cpu->r[7] + 0x0000008Cu;
/* 028CBCB8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
/* 028CBCBC */ cpu->ctr = cpu->r[8];
/* 028CBCC0 */ cpu->r[3] = cpu->r[27];
/* 028CBCC4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CBCC8 */ _t45 = cpu->r[3] + 0x00000000u;
/* 028CBCC8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t45);
/* 028CBCCC */ _t46 = cpu->r[9] + 0x0000001Cu;
/* 028CBCCC */ cpu->r[11] = rbrew_read32(cpu->mem, _t46);
/* 028CBCD0 */ cpu->ctr = cpu->r[11];
/* 028CBCD4 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CBCD8: ; // 0x28cbcd8
/* 028CBCD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028CBCDC */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CBCDC */ _t48 = _t47 & 0x00000001u;
/* 028CBCDC */ if (_t48) goto L_028CBD04; else goto L_028CBCE0;
L_028CBCE0: ; // 0x28cbce0
/* 028CBCE0 */ _t49 = cpu->r[30] + 0x00000000u;
/* 028CBCE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t49);
/* 028CBCE4 */ _t50 = cpu->r[12] + 0x0000008Cu;
/* 028CBCE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
/* 028CBCE8 */ cpu->ctr = cpu->r[0];
/* 028CBCEC */ cpu->r[3] = cpu->r[30];
/* 028CBCF0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CBCF4 */ _t51 = cpu->r[3] + 0x00000000u;
/* 028CBCF4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t51);
/* 028CBCF8 */ _t52 = cpu->r[6] + 0x0000001Cu;
/* 028CBCF8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t52);
/* 028CBCFC */ cpu->ctr = cpu->r[9];
/* 028CBD00 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028CBD04: ; // 0x28cbd04
/* 028CBD04 */ /* nop */
/* 028CBD08 */ _t53 = cpu->r[1] + 0x00000030u;
/* 028CBD08 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t53);
/* 028CBD0C */ _t54 = cpu->r[1] + 0x00000028u;
/* 028CBD0C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t54);
/* 028CBD10 */ _t55 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CBD10 */ _t56 = _t55 & 0x00000001u;
/* 028CBD10 */ if (_t56) goto L_028CBD14; // else: addr-0 trap, fall-through
L_028CBD14: ; // 0x28cbd14
/* 028CBD14 */ _t57 = cpu->r[1] + 0x0000003Cu;
/* 028CBD14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
/* 028CBD18 */ cpu->lr = cpu->r[0];
/* 028CBD1C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
/* 028CBD20 */ return;
}
// fn_028CBD24 @ 0x28cbd24
void Gambit_fn_028CBD24(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028CBD24: ; // 0x28cbd24
/* 028CBD24 */ _t0 = cpu->r[3] + 0x00000004u;
/* 028CBD24 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
/* 028CBD28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CBD2C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CBD2C */ _t2 = _t1 & 0x00000001u;
/* 028CBD2C */ if (_t2) goto L_028CBD30; else goto L_028CBD38;
L_028CBD30: ; // 0x28cbd30
/* 028CBD30 */ cpu->r[3] = 0x00000000u;
/* 028CBD34 */ return;
L_028CBD38: ; // 0x28cbd38
/* 028CBD38 */ _t3 = cpu->r[3] + 0x00000000u;
/* 028CBD38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
/* 028CBD3C */ _t4 = cpu->r[12] + 0x00000074u;
/* 028CBD3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028CBD40 */ cpu->ctr = cpu->r[0];
/* 028CBD44 */ rbrew_dispatch(cpu, cpu->ctr); return;
}
// fn_028CBD48 @ 0x28cbd48
void Gambit_fn_028CBD48(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028CBD48: ; // 0x28cbd48
/* 028CBD48 */ _t0 = cpu->r[3] + 0x00000008u;
/* 028CBD48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
/* 028CBD4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CBD50 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CBD50 */ _t2 = _t1 & 0x00000001u;
/* 028CBD50 */ if (_t2) goto L_028CBD54; else goto L_028CBD5C;
L_028CBD54: ; // 0x28cbd54
/* 028CBD54 */ cpu->r[3] = 0x00000000u;
/* 028CBD58 */ return;
L_028CBD5C: ; // 0x28cbd5c
/* 028CBD5C */ _t3 = cpu->r[3] + 0x00000000u;
/* 028CBD5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
/* 028CBD60 */ _t4 = cpu->r[12] + 0x00000074u;
/* 028CBD60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028CBD64 */ cpu->ctr = cpu->r[0];
/* 028CBD68 */ rbrew_dispatch(cpu, cpu->ctr); return;
}
// fn_028CBD6C @ 0x28cbd6c
void Gambit_fn_028CBD6C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028CBD6C: ; // 0x28cbd6c
/* 028CBD6C */ _t0 = cpu->r[3] + 0x0000000Cu;
/* 028CBD6C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
/* 028CBD70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CBD74 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CBD74 */ _t2 = _t1 & 0x00000001u;
/* 028CBD74 */ if (_t2) goto L_028CBD78; else goto L_028CBD80;
L_028CBD78: ; // 0x28cbd78
/* 028CBD78 */ cpu->r[3] = 0x00000000u;
/* 028CBD7C */ return;
L_028CBD80: ; // 0x28cbd80
/* 028CBD80 */ _t3 = cpu->r[3] + 0x00000000u;
/* 028CBD80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
/* 028CBD84 */ _t4 = cpu->r[12] + 0x00000074u;
/* 028CBD84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028CBD88 */ cpu->ctr = cpu->r[0];
/* 028CBD8C */ rbrew_dispatch(cpu, cpu->ctr); return;
}
// fn_028CBD90 @ 0x28cbd90
void Gambit_fn_028CBD90(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028CBD90: ; // 0x28cbd90
/* 028CBD90 */ cpu->r[0] = cpu->lr;
/* 028CBD94 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028CBD94 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CBD94 */ cpu->r[1] = _t0;
/* 028CBD98 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028CBD98 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028CBD9C */ cpu->r[30] = cpu->r[3];
/* 028CBDA0 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028CBDA0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028CBDA4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028CBDA4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028CBDA8 */ Gambit_fn_028CBD24(cpu);
/* 028CBDAC */ cpu->r[31] = cpu->r[3];
/* 028CBDB0 */ cpu->r[3] = cpu->r[30];
/* 028CBDB4 */ Gambit_fn_028CBD48(cpu);
/* 028CBDB8 */ cpu->r[31] = cpu->r[31] + cpu->r[3];
/* 028CBDBC */ cpu->r[3] = cpu->r[30];
/* 028CBDC0 */ Gambit_fn_028CBD6C(cpu);
/* 028CBDC4 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028CBDC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028CBDC8 */ cpu->r[3] = cpu->r[31] + cpu->r[3];
/* 028CBDCC */ _t5 = cpu->r[1] + 0x00000008u;
/* 028CBDCC */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
/* 028CBDD0 */ cpu->lr = cpu->r[0];
/* 028CBDD4 */ _t6 = cpu->r[1] + 0x0000000Cu;
/* 028CBDD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
/* 028CBDD8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CBDDC */ return;
}
// fn_028CBD94 @ 0x28cbd94
void Gambit_fn_028CBD94(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028CBD94: ; // 0x28cbd94
/* 028CBD94 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028CBD94 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CBD94 */ cpu->r[1] = _t0;
/* 028CBD98 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028CBD98 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028CBD9C */ cpu->r[30] = cpu->r[3];
/* 028CBDA0 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028CBDA0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028CBDA4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028CBDA4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028CBDA8 */ Gambit_fn_028CBD24(cpu);
/* 028CBDAC */ cpu->r[31] = cpu->r[3];
/* 028CBDB0 */ cpu->r[3] = cpu->r[30];
/* 028CBDB4 */ Gambit_fn_028CBD48(cpu);
/* 028CBDB8 */ cpu->r[31] = cpu->r[31] + cpu->r[3];
/* 028CBDBC */ cpu->r[3] = cpu->r[30];
/* 028CBDC0 */ Gambit_fn_028CBD6C(cpu);
/* 028CBDC4 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028CBDC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028CBDC8 */ cpu->r[3] = cpu->r[31] + cpu->r[3];
/* 028CBDCC */ _t5 = cpu->r[1] + 0x00000008u;
/* 028CBDCC */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
/* 028CBDD0 */ cpu->lr = cpu->r[0];
/* 028CBDD4 */ _t6 = cpu->r[1] + 0x0000000Cu;
/* 028CBDD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
/* 028CBDD8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CBDDC */ return;
}
// fn_028CBDE0 @ 0x28cbde0
void Gambit_fn_028CBDE0(CPUState* cpu) {
L_02836FFC: ; // 0x2836ffc
/* 02836FFC */ cpu->r[3] = cpu->r[3] + 0x00000010u;
/* 02837000 */ rbrew_dispatch(cpu, 0x02d0a948u); return;
L_028CBDE0: ; // 0x28cbde0
/* 028CBDE0 */ cpu->r[3] = cpu->r[3] + 0x00000004u;
/* 028CBDE4 */ goto L_02836FFC;
}
// fn_028CBDE8 @ 0x28cbde8
void Gambit_fn_028CBDE8(CPUState* cpu) {
L_02837030: ; // 0x2837030
/* 02837030 */ cpu->r[3] = cpu->r[3] + 0x00000010u;
/* 02837034 */ rbrew_dispatch(cpu, 0x02d0a958u); return;
L_028CBDE8: ; // 0x28cbde8
/* 028CBDE8 */ cpu->r[3] = cpu->r[3] + 0x00000004u;
/* 028CBDEC */ goto L_02837030;
}
// fn_028CBDF0 @ 0x28cbdf0
void Gambit_fn_028CBDF0(CPUState* cpu) {
uint32_t _t0;
L_028CBDF0: ; // 0x28cbdf0
/* 028CBDF0 */ _t0 = cpu->r[3] + 0x00000010u;
/* 028CBDF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
/* 028CBDF4 */ return;
}
// fn_028CBDF8 @ 0x28cbdf8
void Gambit_fn_028CBDF8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
L_028CBDF8: ; // 0x28cbdf8
/* 028CBDF8 */ cpu->r[0] = cpu->lr;
/* 028CBDFC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028CBDFC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CBDFC */ cpu->r[1] = _t0;
/* 028CBE00 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028CBE00 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028CBE04 */ cpu->r[31] = cpu->r[3];
/* 028CBE08 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028CBE08 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028CBE0C */ _t3 = cpu->r[31] + 0x00000010u;
/* 028CBE0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028CBE10 */ cpu->r[3] = cpu->r[31] + 0x00000004u;
/* 028CBE14 */ cpu->r[4] = cpu->r[4] + cpu->r[0];
/* 028CBE18 */ Gambit_fn_02801EBC(cpu);
/* 028CBE1C */ _t4 = cpu->r[31] + 0x0000000Cu;
/* 028CBE1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028CBE20 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028CBE24 */ _t5 = cpu->r[31] + 0x0000000Cu;
/* 028CBE24 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
/* 028CBE28 */ _t6 = cpu->r[1] + 0x00000014u;
/* 028CBE28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028CBE2C */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 028CBE2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
/* 028CBE30 */ cpu->lr = cpu->r[0];
/* 028CBE34 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CBE38 */ return;
}
// fn_028CBDFC @ 0x28cbdfc
void Gambit_fn_028CBDFC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
L_028CBDFC: ; // 0x28cbdfc
/* 028CBDFC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028CBDFC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CBDFC */ cpu->r[1] = _t0;
/* 028CBE00 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028CBE00 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028CBE04 */ cpu->r[31] = cpu->r[3];
/* 028CBE08 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028CBE08 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028CBE0C */ _t3 = cpu->r[31] + 0x00000010u;
/* 028CBE0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028CBE10 */ cpu->r[3] = cpu->r[31] + 0x00000004u;
/* 028CBE14 */ cpu->r[4] = cpu->r[4] + cpu->r[0];
/* 028CBE18 */ Gambit_fn_02801EBC(cpu);
/* 028CBE1C */ _t4 = cpu->r[31] + 0x0000000Cu;
/* 028CBE1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028CBE20 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028CBE24 */ _t5 = cpu->r[31] + 0x0000000Cu;
/* 028CBE24 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
/* 028CBE28 */ _t6 = cpu->r[1] + 0x00000014u;
/* 028CBE28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028CBE2C */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 028CBE2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
/* 028CBE30 */ cpu->lr = cpu->r[0];
/* 028CBE34 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CBE38 */ return;
}
// fn_028CBE3C @ 0x28cbe3c
void Gambit_fn_028CBE3C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
L_028CBE3C: ; // 0x28cbe3c
/* 028CBE3C */ cpu->r[0] = cpu->lr;
/* 028CBE40 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028CBE40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CBE40 */ cpu->r[1] = _t0;
/* 028CBE44 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028CBE44 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028CBE48 */ cpu->r[31] = cpu->r[3];
/* 028CBE4C */ _t2 = cpu->r[1] + 0x00000014u;
/* 028CBE4C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028CBE50 */ _t3 = cpu->r[31] + 0x00000010u;
/* 028CBE50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028CBE54 */ cpu->r[3] = cpu->r[4] + cpu->r[0];
/* 028CBE58 */ Gambit_fn_02801EDC(cpu);
/* 028CBE5C */ _t4 = cpu->r[31] + 0x0000000Cu;
/* 028CBE5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028CBE60 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
/* 028CBE64 */ _t5 = cpu->r[31] + 0x0000000Cu;
/* 028CBE64 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
/* 028CBE68 */ _t6 = cpu->r[1] + 0x00000014u;
/* 028CBE68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028CBE6C */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 028CBE6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
/* 028CBE70 */ cpu->lr = cpu->r[0];
/* 028CBE74 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CBE78 */ return;
}
// fn_028CBE40 @ 0x28cbe40
void Gambit_fn_028CBE40(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
L_028CBE40: ; // 0x28cbe40
/* 028CBE40 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028CBE40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CBE40 */ cpu->r[1] = _t0;
/* 028CBE44 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028CBE44 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028CBE48 */ cpu->r[31] = cpu->r[3];
/* 028CBE4C */ _t2 = cpu->r[1] + 0x00000014u;
/* 028CBE4C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028CBE50 */ _t3 = cpu->r[31] + 0x00000010u;
/* 028CBE50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028CBE54 */ cpu->r[3] = cpu->r[4] + cpu->r[0];
/* 028CBE58 */ Gambit_fn_02801EDC(cpu);
/* 028CBE5C */ _t4 = cpu->r[31] + 0x0000000Cu;
/* 028CBE5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028CBE60 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
/* 028CBE64 */ _t5 = cpu->r[31] + 0x0000000Cu;
/* 028CBE64 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
/* 028CBE68 */ _t6 = cpu->r[1] + 0x00000014u;
/* 028CBE68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028CBE6C */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 028CBE6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
/* 028CBE70 */ cpu->lr = cpu->r[0];
/* 028CBE74 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CBE78 */ return;
}
// fn_028CBE7C @ 0x28cbe7c
void Gambit_fn_028CBE7C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
L_0280236C: ; // 0x280236c
/* 0280236C */ _t0 = cpu->r[3] + 0x00000004u;
/* 0280236C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
/* 02802370 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[3]);
/* 02802374 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 02802374 */ _t2 = _t1 & 0x00000001u;
/* 02802374 */ if (_t2) goto L_02802394; else goto L_02802378;
L_02802378: ; // 0x2802378
/* 02802378 */ cpu->r[0] = 0x00000000u;
L_0280237C: ; // 0x280237c
/* 0280237C */ cpu->r[12] = cpu->r[11];
/* 02802380 */ _t3 = cpu->r[11] + 0x00000004u;
/* 02802380 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
/* 02802384 */ _t4 = cpu->r[12] + 0x00000004u;
/* 02802384 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 02802388 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[3]);
/* 0280238C */ _t5 = cpu->r[12] + 0x00000000u;
/* 0280238C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 02802390 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 02802390 */ _t7 = _t6 & 0x00000001u;
/* 02802390 */ if (_t7) goto L_02802394; else goto L_0280237C;
L_02802394: ; // 0x2802394
/* 02802394 */ _t8 = cpu->r[3] + 0x00000000u;
/* 02802394 */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
/* 02802398 */ cpu->r[0] = 0x00000000u;
/* 0280239C */ _t9 = cpu->r[3] + 0x00000004u;
/* 0280239C */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
/* 028023A0 */ _t10 = cpu->r[3] + 0x00000008u;
/* 028023A0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
/* 028023A4 */ return;
L_028CBE7C: ; // 0x28cbe7c
/* 028CBE7C */ cpu->r[3] = cpu->r[3] + 0x00000004u;
/* 028CBE80 */ goto L_0280236C;
}
// fn_028CBE84 @ 0x28cbe84
void Gambit_fn_028CBE84(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028CBE84: ; // 0x28cbe84
/* 028CBE84 */ _t0 = cpu->r[3] + 0x0000000Cu;
/* 028CBE84 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028CBE88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028CBE8C */ _t1 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CBE8C */ _t2 = _t1 & 0x00000001u;
/* 028CBE8C */ if (_t2) goto L_028CBE90; else goto L_028CBEA8;
L_028CBE90: ; // 0x28cbe90
/* 028CBE90 */ _t3 = cpu->r[3] + 0x00000008u;
/* 028CBE90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028CBE94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CBE98 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CBE98 */ _t5 = _t4 & 0x00000001u;
/* 028CBE98 */ if (_t5) goto L_028CBEA8; else goto L_028CBE9C;
L_028CBE9C: ; // 0x28cbe9c
/* 028CBE9C */ _t6 = cpu->r[3] + 0x00000010u;
/* 028CBE9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
/* 028CBEA0 */ cpu->r[3] = cpu->r[0] - cpu->r[12];
/* 028CBEA4 */ return;
L_028CBEA8: ; // 0x28cbea8
/* 028CBEA8 */ cpu->r[3] = 0x00000000u;
/* 028CBEAC */ return;
}
// fn_028CBEB0 @ 0x28cbeb0
void Gambit_fn_028CBEB0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028CBEB0: ; // 0x28cbeb0
/* 028CBEB0 */ _t0 = cpu->r[3] + 0x0000000Cu;
/* 028CBEB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028CBEB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028CBEB8 */ _t1 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CBEB8 */ _t2 = _t1 & 0x00000001u;
/* 028CBEB8 */ if (_t2) goto L_028CBEBC; else goto L_028CBED4;
L_028CBEBC: ; // 0x28cbebc
/* 028CBEBC */ _t3 = cpu->r[3] + 0x00000004u;
/* 028CBEBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028CBEC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CBEC4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CBEC4 */ _t5 = _t4 & 0x00000001u;
/* 028CBEC4 */ if (_t5) goto L_028CBED4; else goto L_028CBEC8;
L_028CBEC8: ; // 0x28cbec8
/* 028CBEC8 */ _t6 = cpu->r[3] + 0x00000010u;
/* 028CBEC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
/* 028CBECC */ cpu->r[3] = cpu->r[0] - cpu->r[12];
/* 028CBED0 */ return;
L_028CBED4: ; // 0x28cbed4
/* 028CBED4 */ cpu->r[3] = 0x00000000u;
/* 028CBED8 */ return;
}
// fn_028CBEDC @ 0x28cbedc
void Gambit_fn_028CBEDC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028CBEDC: ; // 0x28cbedc
/* 028CBEDC */ _t0 = cpu->r[3] + 0x00000010u;
/* 028CBEDC */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
/* 028CBEE0 */ cpu->r[11] = cpu->r[4] + cpu->r[10];
/* 028CBEE4 */ cpu->r[12] = cpu->r[3] + 0x00000004u;
/* 028CBEE8 */ _t1 = cpu->r[11] + 0x00000004u;
/* 028CBEE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
/* 028CBEEC */ cpu->r[3] = 0x00000000u;
/* 028CBEF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
/* 028CBEF4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CBEF4 */ _t3 = _t2 & 0x00000001u;
/* 028CBEF4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CBEF4 */ goto L_028CBEF8;
L_028CBEF8: ; // 0x28cbef8
/* 028CBEF8 */ cpu->r[3] = cpu->r[0] - cpu->r[10];
/* 028CBEFC */ return;
}
// fn_028CBF00 @ 0x28cbf00
void Gambit_fn_028CBF00(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_02802290: ; // 0x2802290
/* 02802290 */ _t0 = cpu->r[3] + 0x00000004u;
/* 02802290 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
/* 02802294 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[3]);
/* 02802298 */ cpu->r[12] = 0x00000000u;
/* 0280229C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 0280229C */ _t2 = _t1 & 0x00000001u;
/* 0280229C */ if (_t2) goto L_028022B8; else goto L_028022A0;
L_028022A0: ; // 0x28022a0
/* 028022A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[4]);
/* 028022A4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028022A4 */ _t4 = _t3 & 0x00000001u;
/* 028022A4 */ if (_t4) goto L_028022BC; else goto L_028022A8;
L_028022A8: ; // 0x28022a8
/* 028022A8 */ _t5 = cpu->r[11] + 0x00000004u;
/* 028022A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
/* 028022AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[3]);
/* 028022B0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028022B4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028022B4 */ _t7 = _t6 & 0x00000001u;
/* 028022B4 */ if (_t7) goto L_028022B8; else goto L_028022A0;
L_028022B8: ; // 0x28022b8
/* 028022B8 */ cpu->r[12] = 0xFFFFFFFFu;
L_028022BC: ; // 0x28022bc
/* 028022BC */ cpu->r[3] = cpu->r[12];
/* 028022C0 */ return;
L_028CBF00: ; // 0x28cbf00
/* 028CBF00 */ _t8 = cpu->r[3] + 0x00000010u;
/* 028CBF00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028CBF04 */ cpu->r[3] = cpu->r[3] + 0x00000004u;
/* 028CBF08 */ cpu->r[4] = cpu->r[4] + cpu->r[0];
/* 028CBF0C */ goto L_02802290;
}
// fn_028CBF10 @ 0x28cbf10
void Gambit_fn_028CBF10(CPUState* cpu) {
uint32_t _t0;
L_028CBF10: ; // 0x28cbf10
/* 028CBF10 */ _t0 = cpu->r[3] + 0x0000000Cu;
/* 028CBF10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
/* 028CBF14 */ return;
}
// fn_028CBF18 @ 0x28cbf18
void Gambit_fn_028CBF18(CPUState* cpu) {
uint32_t _t0;
L_028CBF18: ; // 0x28cbf18
/* 028CBF18 */ _t0 = cpu->r[3] + 0x0000000Cu;
/* 028CBF18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
/* 028CBF1C */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
/* 028CBF20 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
/* 028CBF24 */ return;
}
// fn_028CBF28 @ 0x28cbf28
void Gambit_fn_028CBF28(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
L_028CBF28: ; // 0x28cbf28
/* 028CBF28 */ cpu->r[0] = cpu->lr;
/* 028CBF2C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028CBF2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CBF2C */ cpu->r[1] = _t0;
/* 028CBF30 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028CBF30 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028CBF34 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028CBF34 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028CBF38 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028CBF38 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028CBF3C */ _t4 = cpu->r[3] + 0x00000000u;
/* 028CBF3C */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
/* 028CBF40 */ _t5 = cpu->r[10] + 0x0000007Cu;
/* 028CBF40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028CBF44 */ cpu->ctr = cpu->r[0];
/* 028CBF48 */ cpu->r[30] = cpu->r[3];
/* 028CBF4C */ cpu->r[31] = cpu->r[4];
/* 028CBF50 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CBF54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CBF58 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CBF58 */ _t7 = _t6 & 0x00000001u;
/* 028CBF58 */ if (_t7) goto L_028CBF5C; else goto L_028CBFA4;
L_028CBF5C: ; // 0x28cbf5c
/* 028CBF5C */ _t8 = cpu->r[30] + 0x00000000u;
/* 028CBF5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
/* 028CBF60 */ _t9 = cpu->r[12] + 0x00000074u;
/* 028CBF60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028CBF64 */ cpu->ctr = cpu->r[0];
/* 028CBF68 */ cpu->r[3] = cpu->r[30];
/* 028CBF6C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CBF70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000064u);
/* 028CBF74 */ cpu->r[3] = cpu->r[30] + 0x00000004u;
/* 028CBF78 */ _t10 = cpu->r[30] + 0x00000010u;
/* 028CBF78 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
/* 028CBF7C */ cpu->r[5] = cpu->r[31];
/* 028CBF80 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CBF80 */ _t12 = _t11 & 0x00000001u;
/* 028CBF80 */ if (_t12) goto L_028CBF84; else goto L_028CBFA0;
L_028CBF84: ; // 0x28cbf84
/* 028CBF84 */ Gambit_fn_028021CC(cpu);
/* 028CBF88 */ _t13 = cpu->r[1] + 0x00000014u;
/* 028CBF88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028CBF8C */ _t14 = cpu->r[1] + 0x00000008u;
/* 028CBF8C */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
/* 028CBF90 */ cpu->lr = cpu->r[0];
/* 028CBF94 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028CBF94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
/* 028CBF98 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CBF9C */ return;
L_028CBFA0: ; // 0x28cbfa0
/* 028CBFA0 */ Gambit_fn_02801F44(cpu);
L_028CBFA4: ; // 0x28cbfa4
/* 028CBFA4 */ _t16 = cpu->r[1] + 0x00000014u;
/* 028CBFA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028CBFA8 */ _t17 = cpu->r[1] + 0x00000008u;
/* 028CBFA8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
/* 028CBFAC */ cpu->lr = cpu->r[0];
/* 028CBFB0 */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028CBFB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
/* 028CBFB4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CBFB8 */ return;
}
// fn_028CBF2C @ 0x28cbf2c
void Gambit_fn_028CBF2C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
L_028CBF2C: ; // 0x28cbf2c
/* 028CBF2C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028CBF2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CBF2C */ cpu->r[1] = _t0;
/* 028CBF30 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028CBF30 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028CBF34 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028CBF34 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028CBF38 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028CBF38 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028CBF3C */ _t4 = cpu->r[3] + 0x00000000u;
/* 028CBF3C */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
/* 028CBF40 */ _t5 = cpu->r[10] + 0x0000007Cu;
/* 028CBF40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028CBF44 */ cpu->ctr = cpu->r[0];
/* 028CBF48 */ cpu->r[30] = cpu->r[3];
/* 028CBF4C */ cpu->r[31] = cpu->r[4];
/* 028CBF50 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CBF54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CBF58 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CBF58 */ _t7 = _t6 & 0x00000001u;
/* 028CBF58 */ if (_t7) goto L_028CBF5C; else goto L_028CBFA4;
L_028CBF5C: ; // 0x28cbf5c
/* 028CBF5C */ _t8 = cpu->r[30] + 0x00000000u;
/* 028CBF5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
/* 028CBF60 */ _t9 = cpu->r[12] + 0x00000074u;
/* 028CBF60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028CBF64 */ cpu->ctr = cpu->r[0];
/* 028CBF68 */ cpu->r[3] = cpu->r[30];
/* 028CBF6C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CBF70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000064u);
/* 028CBF74 */ cpu->r[3] = cpu->r[30] + 0x00000004u;
/* 028CBF78 */ _t10 = cpu->r[30] + 0x00000010u;
/* 028CBF78 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
/* 028CBF7C */ cpu->r[5] = cpu->r[31];
/* 028CBF80 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CBF80 */ _t12 = _t11 & 0x00000001u;
/* 028CBF80 */ if (_t12) goto L_028CBF84; else goto L_028CBFA0;
L_028CBF84: ; // 0x28cbf84
/* 028CBF84 */ Gambit_fn_028021CC(cpu);
/* 028CBF88 */ _t13 = cpu->r[1] + 0x00000014u;
/* 028CBF88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028CBF8C */ _t14 = cpu->r[1] + 0x00000008u;
/* 028CBF8C */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
/* 028CBF90 */ cpu->lr = cpu->r[0];
/* 028CBF94 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028CBF94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
/* 028CBF98 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CBF9C */ return;
L_028CBFA0: ; // 0x28cbfa0
/* 028CBFA0 */ Gambit_fn_02801F44(cpu);
L_028CBFA4: ; // 0x28cbfa4
/* 028CBFA4 */ _t16 = cpu->r[1] + 0x00000014u;
/* 028CBFA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028CBFA8 */ _t17 = cpu->r[1] + 0x00000008u;
/* 028CBFA8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
/* 028CBFAC */ cpu->lr = cpu->r[0];
/* 028CBFB0 */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028CBFB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
/* 028CBFB4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CBFB8 */ return;
}
// fn_028CBFBC @ 0x28cbfbc
void Gambit_fn_028CBFBC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
L_028CBFBC: ; // 0x28cbfbc
/* 028CBFBC */ cpu->r[0] = cpu->lr;
/* 028CBFC0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028CBFC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CBFC0 */ cpu->r[1] = _t0;
/* 028CBFC4 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028CBFC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028CBFC8 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028CBFC8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028CBFCC */ cpu->r[30] = cpu->r[3];
/* 028CBFCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028CBFD0 */ cpu->r[31] = cpu->r[4];
/* 028CBFD4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028CBFD4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028CBFD8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CBFD8 */ _t5 = _t4 & 0x00000001u;
/* 028CBFD8 */ if (_t5) goto L_028CBFF8; else goto L_028CBFDC;
L_028CBFDC: ; // 0x28cbfdc
/* 028CBFDC */ cpu->r[3] = cpu->r[30] + 0x00000018u;
/* 028CBFE0 */ cpu->r[4] = 0x00000002u;
/* 028CBFE4 */ Gambit_fn_02836FA8(cpu);
/* 028CBFE8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CBFE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CBFEC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CBFEC */ _t7 = _t6 & 0x00000001u;
/* 028CBFEC */ if (_t7) goto L_028CBFF8; else goto L_028CBFF0;
L_028CBFF0: ; // 0x28cbff0
/* 028CBFF0 */ cpu->r[3] = cpu->r[30];
/* 028CBFF4 */ Gambit_fn_02801BB0(cpu);
L_028CBFF8: ; // 0x28cbff8
/* 028CBFF8 */ _t8 = cpu->r[1] + 0x00000014u;
/* 028CBFF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028CBFFC */ _t9 = cpu->r[1] + 0x00000008u;
/* 028CBFFC */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
/* 028CC000 */ cpu->lr = cpu->r[0];
/* 028CC004 */ _t10 = cpu->r[1] + 0x0000000Cu;
/* 028CC004 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
/* 028CC008 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CC00C */ return;
}
// fn_028CBFC0 @ 0x28cbfc0
void Gambit_fn_028CBFC0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
L_028CBFC0: ; // 0x28cbfc0
/* 028CBFC0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028CBFC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CBFC0 */ cpu->r[1] = _t0;
/* 028CBFC4 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028CBFC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028CBFC8 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028CBFC8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028CBFCC */ cpu->r[30] = cpu->r[3];
/* 028CBFCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028CBFD0 */ cpu->r[31] = cpu->r[4];
/* 028CBFD4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028CBFD4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028CBFD8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CBFD8 */ _t5 = _t4 & 0x00000001u;
/* 028CBFD8 */ if (_t5) goto L_028CBFF8; else goto L_028CBFDC;
L_028CBFDC: ; // 0x28cbfdc
/* 028CBFDC */ cpu->r[3] = cpu->r[30] + 0x00000018u;
/* 028CBFE0 */ cpu->r[4] = 0x00000002u;
/* 028CBFE4 */ Gambit_fn_02836FA8(cpu);
/* 028CBFE8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CBFE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CBFEC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CBFEC */ _t7 = _t6 & 0x00000001u;
/* 028CBFEC */ if (_t7) goto L_028CBFF8; else goto L_028CBFF0;
L_028CBFF0: ; // 0x28cbff0
/* 028CBFF0 */ cpu->r[3] = cpu->r[30];
/* 028CBFF4 */ Gambit_fn_02801BB0(cpu);
L_028CBFF8: ; // 0x28cbff8
/* 028CBFF8 */ _t8 = cpu->r[1] + 0x00000014u;
/* 028CBFF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028CBFFC */ _t9 = cpu->r[1] + 0x00000008u;
/* 028CBFFC */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
/* 028CC000 */ cpu->lr = cpu->r[0];
/* 028CC004 */ _t10 = cpu->r[1] + 0x0000000Cu;
/* 028CC004 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
/* 028CC008 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CC00C */ return;
}
// fn_028CC010 @ 0x28cc010
void Gambit_fn_028CC010(CPUState* cpu) {
L_028CC010: ; // 0x28cc010
/* 028CC010 */ cpu->r[3] = cpu->r[3] + 0x00000014u;
/* 028CC014 */ return;
}
// fn_028CC018 @ 0x28cc018
void Gambit_fn_028CC018(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028CC018: ; // 0x28cc018
/* 028CC018 */ cpu->r[9] = 0x101F0000u;
/* 028CC01C */ cpu->r[10] = 0x10140000u;
/* 028CC020 */ cpu->r[11] = 0x10140000u;
/* 028CC024 */ cpu->r[9] = cpu->r[9] + 0x00007138u;
/* 028CC028 */ cpu->r[11] = cpu->r[11] + 0xFFFF9DD4u;
/* 028CC02C */ cpu->r[10] = cpu->r[10] + 0xFFFF9EB0u;
/* 028CC030 */ cpu->r[12] = 0x101F0000u;
/* 028CC034 */ _t0 = cpu->r[9] + 0x00000004u;
/* 028CC034 */ rbrew_write32(cpu->mem, _t0, cpu->r[11]);
/* 028CC038 */ cpu->r[0] = 0x10140000u;
/* 028CC03C */ cpu->r[12] = cpu->r[12] + 0x00007140u;
/* 028CC040 */ _t1 = cpu->r[9] + 0x00000000u;
/* 028CC040 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
/* 028CC044 */ cpu->r[0] = cpu->r[0] + 0xFFFF9E9Cu;
/* 028CC048 */ _t2 = cpu->r[12] + 0x00000004u;
/* 028CC048 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
/* 028CC04C */ _t3 = cpu->r[12] + 0x00000000u;
/* 028CC04C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028CC050 */ return;
}
// fn_028CC054 @ 0x28cc054
void Gambit_fn_028CC054(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_028CC054: ; // 0x28cc054
/* 028CC054 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CC058 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC058 */ _t17 = _t16 & 0x00000001u;
/* 028CC058 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CC058 */ goto L_028CC05C;
L_028CC05C: ; // 0x28cc05c
/* 028CC05C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CC05C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CC060 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC060 */ _t19 = _t18 & 0x00000001u;
/* 028CC060 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CC060 */ goto L_028CC064;
L_028CC064: ; // 0x28cc064
/* 028CC064 */ goto L_02801BB0;
}
// fn_028CC068 @ 0x28cc068
void Gambit_fn_028CC068(CPUState* cpu) {
L_028CC068: ; // 0x28cc068
/* 028CC068 */ return;
}
// fn_028CC06C @ 0x28cc06c
void Gambit_fn_028CC06C(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_028CC06C: ; // 0x28cc06c
/* 028CC06C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CC070 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC070 */ _t17 = _t16 & 0x00000001u;
/* 028CC070 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CC070 */ goto L_028CC074;
L_028CC074: ; // 0x28cc074
/* 028CC074 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CC074 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CC078 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC078 */ _t19 = _t18 & 0x00000001u;
/* 028CC078 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CC078 */ goto L_028CC07C;
L_028CC07C: ; // 0x28cc07c
/* 028CC07C */ goto L_02801BB0;
}
// fn_028CC080 @ 0x28cc080
void Gambit_fn_028CC080(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028CC080: ; // 0x28cc080
/* 028CC080 */ _t0 = cpu->r[3] + 0x00000000u;
/* 028CC080 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
/* 028CC084 */ _t1 = cpu->r[3] + 0x00000008u;
/* 028CC084 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
/* 028CC088 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
/* 028CC08C */ cpu->r[11] = 0x10110000u;
/* 028CC090 */ _t2 = cpu->r[11] + 0x00007399u;
/* 028CC090 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
/* 028CC094 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
/* 028CC094 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
/* 028CC098 */ return;
}
// fn_028CC09C @ 0x28cc09c
void Gambit_fn_028CC09C(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_028CC09C: ; // 0x28cc09c
/* 028CC09C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CC0A0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC0A0 */ _t17 = _t16 & 0x00000001u;
/* 028CC0A0 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CC0A0 */ goto L_028CC0A4;
L_028CC0A4: ; // 0x28cc0a4
/* 028CC0A4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CC0A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CC0A8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC0A8 */ _t19 = _t18 & 0x00000001u;
/* 028CC0A8 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CC0A8 */ goto L_028CC0AC;
L_028CC0AC: ; // 0x28cc0ac
/* 028CC0AC */ goto L_02801BB0;
}
// fn_028CC0B0 @ 0x28cc0b0
void Gambit_fn_028CC0B0(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_028CC0B0: ; // 0x28cc0b0
/* 028CC0B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CC0B4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC0B4 */ _t17 = _t16 & 0x00000001u;
/* 028CC0B4 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CC0B4 */ goto L_028CC0B8;
L_028CC0B8: ; // 0x28cc0b8
/* 028CC0B8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CC0B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CC0BC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC0BC */ _t19 = _t18 & 0x00000001u;
/* 028CC0BC */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CC0BC */ goto L_028CC0C0;
L_028CC0C0: ; // 0x28cc0c0
/* 028CC0C0 */ goto L_02801BB0;
}
// fn_028CC0C4 @ 0x28cc0c4
void Gambit_fn_028CC0C4(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_028CC0C4: ; // 0x28cc0c4
/* 028CC0C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CC0C8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC0C8 */ _t17 = _t16 & 0x00000001u;
/* 028CC0C8 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CC0C8 */ goto L_028CC0CC;
L_028CC0CC: ; // 0x28cc0cc
/* 028CC0CC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CC0CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CC0D0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC0D0 */ _t19 = _t18 & 0x00000001u;
/* 028CC0D0 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CC0D0 */ goto L_028CC0D4;
L_028CC0D4: ; // 0x28cc0d4
/* 028CC0D4 */ goto L_02801BB0;
}
// fn_028CC0D8 @ 0x28cc0d8
void Gambit_fn_028CC0D8(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_028CC0D8: ; // 0x28cc0d8
/* 028CC0D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CC0DC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC0DC */ _t17 = _t16 & 0x00000001u;
/* 028CC0DC */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CC0DC */ goto L_028CC0E0;
L_028CC0E0: ; // 0x28cc0e0
/* 028CC0E0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CC0E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CC0E4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC0E4 */ _t19 = _t18 & 0x00000001u;
/* 028CC0E4 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CC0E4 */ goto L_028CC0E8;
L_028CC0E8: ; // 0x28cc0e8
/* 028CC0E8 */ goto L_02801BB0;
}
// fn_028CC0EC @ 0x28cc0ec
void Gambit_fn_028CC0EC(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_028CC0EC: ; // 0x28cc0ec
/* 028CC0EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CC0F0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC0F0 */ _t17 = _t16 & 0x00000001u;
/* 028CC0F0 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CC0F0 */ goto L_028CC0F4;
L_028CC0F4: ; // 0x28cc0f4
/* 028CC0F4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CC0F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CC0F8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC0F8 */ _t19 = _t18 & 0x00000001u;
/* 028CC0F8 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CC0F8 */ goto L_028CC0FC;
L_028CC0FC: ; // 0x28cc0fc
/* 028CC0FC */ goto L_02801BB0;
}
// fn_028CC100 @ 0x28cc100
void Gambit_fn_028CC100(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_028CC100: ; // 0x28cc100
/* 028CC100 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
/* 028CC100 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CC100 */ cpu->r[1] = _t0;
/* 028CC104 */ /* nop */
/* 028CC108 */ cpu->r[28] = cpu->r[3];
/* 028CC10C */ cpu->r[27] = cpu->r[28] + 0x00000088u;
/* 028CC110 */ cpu->r[0] = cpu->lr;
/* 028CC114 */ _t1 = cpu->r[1] + 0x00000020u;
/* 028CC114 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028CC118 */ cpu->r[3] = cpu->r[27];
/* 028CC11C */ /* nop */
/* 028CC120 */ _t2 = cpu->r[1] + 0x00000034u;
/* 028CC120 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028CC124 */ _t3 = cpu->r[1] + 0x00000028u;
/* 028CC124 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028CC128 */ Gambit_fn_02836FFC(cpu);
/* 028CC12C */ _t4 = cpu->r[28] + 0x0000000Cu;
/* 028CC12C */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
/* 028CC130 */ cpu->r[31] = cpu->r[28] + 0xFFFFFEF4u;
/* 028CC134 */ cpu->r[30] = cpu->r[10] + 0xFFFFFEECu;
/* 028CC138 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]);
/* 028CC13C */ _t5 = cpu->r[10] + 0x00000004u;
/* 028CC13C */ cpu->r[29] = rbrew_read32(cpu->mem, _t5);
/* 028CC140 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC140 */ _t7 = _t6 & 0x00000001u;
/* 028CC140 */ if (_t7) goto L_028CC1A4; else goto L_028CC144;
L_028CC144: ; // 0x28cc144
/* 028CC144 */ cpu->r[8] = 0x10140000u;
/* 028CC148 */ _t8 = cpu->r[8] + 0xFFFF9EBCu;
/* 028CC148 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t8);
L_028CC14C: ; // 0x28cc14c
/* 028CC14C */ _t9 = cpu->r[30] + 0x00000110u;
/* 028CC14C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
/* 028CC150 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]);
/* 028CC154 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CC154 */ _t11 = _t10 & 0x00000001u;
/* 028CC154 */ if (_t11) goto L_028CC158; else goto L_028CC194;
L_028CC158: ; // 0x28cc158
/* 028CC158 */ Gambit_fn_028C29DC(cpu);
/* 028CC15C */ _t12 = cpu->r[30] + 0x00000110u;
/* 028CC15C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t12);
/* 028CC160 */ _t13 = cpu->r[3] + 0x00000044u;
/* 028CC160 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
/* 028CC164 */ cpu->f[13] = cpu->f[13] - cpu->f[0];
/* 028CC168 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[31]);
/* 028CC16C */ _t14 = cpu->r[30] + 0x00000110u;
/* 028CC16C */ rbrew_write_f32(cpu->mem, _t14, cpu->f[13]);
/* 028CC170 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CC170 */ _t16 = _t15 & 0x00000001u;
/* 028CC170 */ if (_t16) goto L_028CC194; else goto L_028CC174;
L_028CC174: ; // 0x28cc174
/* 028CC174 */ cpu->r[3] = cpu->r[30] + 0x00000114u;
/* 028CC178 */ Gambit_fn_02801EDC(cpu);
/* 028CC17C */ _t17 = cpu->r[28] + 0x00000010u;
/* 028CC17C */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
/* 028CC180 */ _t18 = cpu->r[28] + 0x00000014u;
/* 028CC180 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028CC184 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
/* 028CC188 */ _t19 = cpu->r[28] + 0x00000010u;
/* 028CC188 */ rbrew_write32(cpu->mem, _t19, cpu->r[9]);
/* 028CC18C */ _t20 = cpu->r[30] + 0x00000000u;
/* 028CC18C */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
/* 028CC190 */ _t21 = cpu->r[28] + 0x00000014u;
/* 028CC190 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
L_028CC194: ; // 0x28cc194
/* 028CC194 */ cpu->r[30] = cpu->r[29] + 0xFFFFFEECu;
/* 028CC198 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]);
/* 028CC19C */ _t22 = cpu->r[29] + 0x00000004u;
/* 028CC19C */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
/* 028CC1A0 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC1A0 */ _t24 = _t23 & 0x00000001u;
/* 028CC1A0 */ if (_t24) goto L_028CC1A4; else goto L_028CC14C;
L_028CC1A4: ; // 0x28cc1a4
/* 028CC1A4 */ _t25 = cpu->r[28] + 0x00000080u;
/* 028CC1A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
/* 028CC1A8 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028CC1AC */ cpu->r[3] = cpu->r[27];
/* 028CC1B0 */ _t26 = cpu->r[28] + 0x00000080u;
/* 028CC1B0 */ rbrew_write32(cpu->mem, _t26, cpu->r[12]);
/* 028CC1B4 */ Gambit_fn_02837030(cpu);
/* 028CC1B8 */ /* nop */
/* 028CC1BC */ _t27 = cpu->r[1] + 0x00000028u;
/* 028CC1BC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t27);
/* 028CC1C0 */ _t28 = cpu->r[1] + 0x00000020u;
/* 028CC1C0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t28);
/* 028CC1C4 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CC1C4 */ _t30 = _t29 & 0x00000001u;
/* 028CC1C4 */ if (_t30) goto L_028CC1C8; // else: addr-0 trap, fall-through
L_028CC1C8: ; // 0x28cc1c8
/* 028CC1C8 */ _t31 = cpu->r[1] + 0x00000034u;
/* 028CC1C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
/* 028CC1CC */ cpu->lr = cpu->r[0];
/* 028CC1D0 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
/* 028CC1D4 */ return;
}
// fn_028CC1D8 @ 0x28cc1d8
void Gambit_fn_028CC1D8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
L_028CC1D8: ; // 0x28cc1d8
/* 028CC1D8 */ cpu->r[11] = 0x10140000u;
/* 028CC1DC */ cpu->r[12] = 0x10140000u;
/* 028CC1E0 */ _t0 = cpu->r[11] + 0xFFFF9F40u;
/* 028CC1E0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t0);
/* 028CC1E4 */ _t1 = cpu->r[12] + 0xFFFF9F48u;
/* 028CC1E4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t1);
/* 028CC1E8 */ cpu->r[12] = 0x101F0000u;
/* 028CC1EC */ _t2 = cpu->r[12] + 0x00007170u;
/* 028CC1EC */ rbrew_write_f32(cpu->mem, _t2, cpu->f[11]);
/* 028CC1EC */ cpu->r[12] = _t2;
/* 028CC1F0 */ _t3 = cpu->r[12] + 0x00000004u;
/* 028CC1F0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[11]);
/* 028CC1F4 */ _t4 = cpu->r[12] + 0x00000008u;
/* 028CC1F4 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[11]);
/* 028CC1F8 */ cpu->r[11] = 0x101F0000u;
/* 028CC1FC */ _t5 = cpu->r[12] + 0x0000000Cu;
/* 028CC1FC */ rbrew_write_f32(cpu->mem, _t5, cpu->f[11]);
/* 028CC200 */ cpu->r[12] = 0x10140000u;
/* 028CC204 */ _t6 = cpu->r[11] + 0x00007160u;
/* 028CC204 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[11]);
/* 028CC204 */ cpu->r[11] = _t6;
/* 028CC208 */ _t7 = cpu->r[12] + 0xFFFF9F44u;
/* 028CC208 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t7);
/* 028CC20C */ _t8 = cpu->r[11] + 0x00000004u;
/* 028CC20C */ rbrew_write_f32(cpu->mem, _t8, cpu->f[11]);
/* 028CC210 */ _t9 = cpu->r[11] + 0x00000008u;
/* 028CC210 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[12]);
/* 028CC214 */ cpu->r[12] = 0x101F0000u;
/* 028CC218 */ _t10 = cpu->r[11] + 0x0000000Cu;
/* 028CC218 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[11]);
/* 028CC21C */ cpu->r[11] = 0x10140000u;
/* 028CC220 */ _t11 = cpu->r[12] + 0x00007148u;
/* 028CC220 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[13]);
/* 028CC220 */ cpu->r[12] = _t11;
/* 028CC224 */ cpu->r[10] = 0x101F0000u;
/* 028CC228 */ _t12 = cpu->r[11] + 0xFFFF9F4Cu;
/* 028CC228 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
/* 028CC22C */ _t13 = cpu->r[10] + 0x00007150u;
/* 028CC22C */ rbrew_write_f32(cpu->mem, _t13, cpu->f[11]);
/* 028CC22C */ cpu->r[10] = _t13;
/* 028CC230 */ _t14 = cpu->r[10] + 0x00000004u;
/* 028CC230 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[12]);
/* 028CC234 */ _t15 = cpu->r[10] + 0x00000008u;
/* 028CC234 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[12]);
/* 028CC238 */ _t16 = cpu->r[10] + 0x0000000Cu;
/* 028CC238 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[11]);
/* 028CC23C */ _t17 = cpu->r[12] + 0x00000004u;
/* 028CC23C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[0]);
/* 028CC240 */ return;
}
// fn_028CC244 @ 0x28cc244
void Gambit_fn_028CC244(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_028CC244: ; // 0x28cc244
/* 028CC244 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CC248 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC248 */ _t17 = _t16 & 0x00000001u;
/* 028CC248 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CC248 */ goto L_028CC24C;
L_028CC24C: ; // 0x28cc24c
/* 028CC24C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CC24C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CC250 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC250 */ _t19 = _t18 & 0x00000001u;
/* 028CC250 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CC250 */ goto L_028CC254;
L_028CC254: ; // 0x28cc254
/* 028CC254 */ goto L_02801BB0;
}
// fn_028CC258 @ 0x28cc258
void Gambit_fn_028CC258(CPUState* cpu) {
L_028CC258: ; // 0x28cc258
/* 028CC258 */ return;
}
// fn_028CC25C @ 0x28cc25c
void Gambit_fn_028CC25C(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_028CC25C: ; // 0x28cc25c
/* 028CC25C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CC260 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC260 */ _t17 = _t16 & 0x00000001u;
/* 028CC260 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CC260 */ goto L_028CC264;
L_028CC264: ; // 0x28cc264
/* 028CC264 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CC264 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CC268 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC268 */ _t19 = _t18 & 0x00000001u;
/* 028CC268 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CC268 */ goto L_028CC26C;
L_028CC26C: ; // 0x28cc26c
/* 028CC26C */ goto L_02801BB0;
}
// fn_028CC270 @ 0x28cc270
void Gambit_fn_028CC270(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028CC270: ; // 0x28cc270
/* 028CC270 */ _t0 = cpu->r[3] + 0x00000000u;
/* 028CC270 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
/* 028CC274 */ _t1 = cpu->r[3] + 0x00000008u;
/* 028CC274 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
/* 028CC278 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
/* 028CC27C */ cpu->r[11] = 0x10110000u;
/* 028CC280 */ _t2 = cpu->r[11] + 0x00007399u;
/* 028CC280 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
/* 028CC284 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
/* 028CC284 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
/* 028CC288 */ return;
}
// fn_028CC28C @ 0x28cc28c
void Gambit_fn_028CC28C(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_028CC28C: ; // 0x28cc28c
/* 028CC28C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CC290 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC290 */ _t17 = _t16 & 0x00000001u;
/* 028CC290 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CC290 */ goto L_028CC294;
L_028CC294: ; // 0x28cc294
/* 028CC294 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CC294 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CC298 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC298 */ _t19 = _t18 & 0x00000001u;
/* 028CC298 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CC298 */ goto L_028CC29C;
L_028CC29C: ; // 0x28cc29c
/* 028CC29C */ goto L_02801BB0;
}
// fn_028CC2A0 @ 0x28cc2a0
void Gambit_fn_028CC2A0(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_028CC2A0: ; // 0x28cc2a0
/* 028CC2A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CC2A4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC2A4 */ _t17 = _t16 & 0x00000001u;
/* 028CC2A4 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CC2A4 */ goto L_028CC2A8;
L_028CC2A8: ; // 0x28cc2a8
/* 028CC2A8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CC2A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CC2AC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC2AC */ _t19 = _t18 & 0x00000001u;
/* 028CC2AC */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CC2AC */ goto L_028CC2B0;
L_028CC2B0: ; // 0x28cc2b0
/* 028CC2B0 */ goto L_02801BB0;
}
// fn_028CC2B4 @ 0x28cc2b4
void Gambit_fn_028CC2B4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208;
L_028CC2B4: ; // 0x28cc2b4
/* 028CC2B4 */ _t0 = cpu->r[1] + 0xFFFFFF28u;
/* 028CC2B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CC2B4 */ cpu->r[1] = _t0;
/* 028CC2B8 */ /* nop */
/* 028CC2BC */ cpu->r[0] = cpu->lr;
/* 028CC2C0 */ _t1 = cpu->r[1] + 0x000000DCu;
/* 028CC2C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028CC2C4 */ cpu->r[27] = cpu->r[4];
/* 028CC2C8 */ cpu->r[5] = 0x00000004u;
/* 028CC2CC */ _t2 = cpu->r[3] + 0x000000DCu;
/* 028CC2CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t2);
/* 028CC2D0 */ cpu->r[3] = 0x00000044u;
/* 028CC2D4 */ Gambit_fn_02801AC8(cpu);
/* 028CC2D8 */ cpu->r[31] = 0x10140000u;
/* 028CC2DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CC2E0 */ cpu->r[30] = 0x10110000u;
/* 028CC2E4 */ cpu->r[31] = cpu->r[31] + 0xFFFF9F5Cu;
/* 028CC2E8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC2E8 */ _t4 = _t3 & 0x00000001u;
/* 028CC2E8 */ if (_t4) goto L_028CC49C; else goto L_028CC2EC;
L_028CC2EC: ; // 0x28cc2ec
/* 028CC2EC */ cpu->r[28] = cpu->r[3];
/* 028CC2F0 */ cpu->r[7] = 0x00000000u;
/* 028CC2F4 */ cpu->r[6] = 0x10140000u;
/* 028CC2F8 */ _t5 = cpu->r[28] + 0x0000000Cu;
/* 028CC2F8 */ rbrew_write32(cpu->mem, _t5, cpu->r[7]);
/* 028CC2FC */ _t6 = cpu->r[6] + 0xFFFFA0C0u;
/* 028CC2FC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
/* 028CC300 */ _t7 = cpu->r[28] + 0x00000000u;
/* 028CC300 */ rbrew_write32(cpu->mem, _t7, cpu->r[7]);
/* 028CC304 */ _t8 = cpu->r[28] + 0x00000014u;
/* 028CC304 */ rbrew_write32(cpu->mem, _t8, cpu->r[7]);
/* 028CC308 */ _t9 = cpu->r[28] + 0x00000004u;
/* 028CC308 */ rbrew_write32(cpu->mem, _t9, cpu->r[7]);
/* 028CC30C */ _t10 = cpu->r[28] + 0x00000008u;
/* 028CC30C */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
/* 028CC310 */ cpu->r[25] = cpu->r[28] + 0x00000018u;
/* 028CC310 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
/* 028CC314 */ _t11 = cpu->r[28] + 0x00000010u;
/* 028CC314 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
/* 028CC318 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC318 */ _t13 = _t12 & 0x00000001u;
/* 028CC318 */ if (_t13) goto L_028CC31C; else goto L_028CC394;
L_028CC31C: ; // 0x28cc31c
/* 028CC31C */ cpu->r[3] = 0x0000002Cu;
/* 028CC320 */ Gambit_fn_02801A78(cpu);
/* 028CC324 */ cpu->r[25] = cpu->r[3];
/* 028CC324 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
/* 028CC328 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC328 */ _t15 = _t14 & 0x00000001u;
/* 028CC328 */ if (_t15) goto L_028CC32C; else goto L_028CC394;
L_028CC32C: ; // 0x28cc32c
/* 028CC32C */ _t16 = cpu->r[30] + 0x00007399u;
/* 028CC32C */ cpu->r[29] = rbrew_read8(cpu->mem, _t16);
/* 028CC330 */ cpu->r[3] = cpu->r[27];
/* 028CC334 */ _t17 = cpu->r[28] + 0x00000008u;
/* 028CC334 */ rbrew_write32(cpu->mem, _t17, cpu->r[27]);
/* 028CC338 */ Gambit_fn_028D0794(cpu);
/* 028CC33C */ _t18 = cpu->r[28] + 0x0000000Cu;
/* 028CC33C */ rbrew_write32(cpu->mem, _t18, cpu->r[3]);
/* 028CC340 */ _t19 = cpu->r[27] + 0x00000140u;
/* 028CC340 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t19);
/* 028CC344 */ _t20 = cpu->r[28] + 0x00000010u;
/* 028CC344 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[13]);
/* 028CC348 */ _t21 = cpu->r[27] + 0x00000008u;
/* 028CC348 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
/* 028CC34C */ _t22 = cpu->r[8] + 0x0000006Cu;
/* 028CC34C */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
/* 028CC350 */ cpu->ctr = cpu->r[9];
/* 028CC354 */ cpu->r[3] = cpu->r[27];
/* 028CC358 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CC35C */ _t23 = cpu->r[28] + 0x00000014u;
/* 028CC35C */ rbrew_write32(cpu->mem, _t23, cpu->r[3]);
/* 028CC360 */ cpu->r[24] = cpu->r[1] + 0x00000024u;
/* 028CC364 */ _t24 = cpu->r[1] + 0x000000A3u;
/* 028CC364 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[29]);
/* 028CC368 */ cpu->r[9] = 0x10140000u;
/* 028CC36C */ _t25 = cpu->r[1] + 0x00000018u;
/* 028CC36C */ rbrew_write32(cpu->mem, _t25, cpu->r[24]);
/* 028CC370 */ cpu->r[9] = cpu->r[9] + 0xFFFFA084u;
/* 028CC374 */ _t26 = cpu->r[1] + 0x00000024u;
/* 028CC374 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[29]);
/* 028CC378 */ cpu->r[10] = 0x00000080u;
/* 028CC37C */ _t27 = cpu->r[1] + 0x0000001Cu;
/* 028CC37C */ rbrew_write32(cpu->mem, _t27, cpu->r[9]);
/* 028CC380 */ _t28 = cpu->r[1] + 0x00000020u;
/* 028CC380 */ rbrew_write32(cpu->mem, _t28, cpu->r[10]);
/* 028CC384 */ _t29 = cpu->r[28] + 0x0000000Cu;
/* 028CC384 */ cpu->r[11] = rbrew_read32(cpu->mem, _t29);
/* 028CC388 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028CC38C */ _t30 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CC38C */ _t31 = _t30 & 0x00000001u;
/* 028CC38C */ if (_t31) goto L_028CC390; else goto L_028CC750;
L_028CC390: ; // 0x28cc390
/* 028CC390 */ goto L_028CC504;
L_028CC394: ; // 0x28cc394
/* 028CC394 */ cpu->r[26] = cpu->r[25];
/* 028CC394 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
/* 028CC398 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC398 */ _t33 = _t32 & 0x00000001u;
/* 028CC398 */ if (_t33) goto L_028CC39C; else goto L_028CC3C0;
L_028CC39C: ; // 0x28cc39c
/* 028CC39C */ cpu->r[3] = 0x0000002Cu;
/* 028CC3A0 */ Gambit_fn_02801A78(cpu);
/* 028CC3A4 */ cpu->r[26] = cpu->r[3];
/* 028CC3A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
/* 028CC3A8 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC3A8 */ _t35 = _t34 & 0x00000001u;
/* 028CC3A8 */ if (_t35) goto L_028CC3AC; else goto L_028CC3C0;
L_028CC3AC: ; // 0x28cc3ac
/* 028CC3AC */ cpu->r[7] = 0x10140000u;
/* 028CC3B0 */ _t36 = cpu->r[30] + 0x00007399u;
/* 028CC3B0 */ cpu->r[29] = rbrew_read8(cpu->mem, _t36);
/* 028CC3B4 */ cpu->r[7] = cpu->r[7] + 0xFFFF9FF4u;
/* 028CC3B8 */ _t37 = cpu->r[25] + 0x00000004u;
/* 028CC3B8 */ rbrew_write32(cpu->mem, _t37, cpu->r[7]);
/* 028CC3BC */ goto L_028CC438;
L_028CC3C0: ; // 0x28cc3c0
/* 028CC3C0 */ cpu->r[3] = cpu->r[26];
/* 028CC3C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CC3C4 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC3C4 */ _t39 = _t38 & 0x00000001u;
/* 028CC3C4 */ if (_t39) goto L_028CC3C8; else goto L_028CC3F4;
L_028CC3C8: ; // 0x28cc3c8
/* 028CC3C8 */ cpu->r[3] = 0x0000000Cu;
/* 028CC3CC */ Gambit_fn_02801A78(cpu);
/* 028CC3D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CC3D4 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC3D4 */ _t41 = _t40 & 0x00000001u;
/* 028CC3D4 */ if (_t41) goto L_028CC3D8; else goto L_028CC3F4;
L_028CC3D8: ; // 0x28cc3d8
/* 028CC3D8 */ _t42 = cpu->r[30] + 0x00007399u;
/* 028CC3D8 */ cpu->r[29] = rbrew_read8(cpu->mem, _t42);
/* 028CC3DC */ cpu->r[0] = 0x10140000u;
/* 028CC3E0 */ cpu->r[0] = cpu->r[0] + 0xFFFF9FDCu;
/* 028CC3E4 */ _t43 = cpu->r[26] + 0x00000000u;
/* 028CC3E4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t43);
/* 028CC3E8 */ _t44 = cpu->r[26] + 0x00000004u;
/* 028CC3E8 */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
/* 028CC3EC */ _t45 = cpu->r[6] + 0x00000000u;
/* 028CC3EC */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[29]);
/* 028CC3F0 */ goto L_028CC42C;
L_028CC3F4: ; // 0x28cc3f4
/* 028CC3F4 */ cpu->r[12] = cpu->r[26] + 0x0000000Cu;
/* 028CC3F8 */ cpu->r[4] = 0x00000020u;
/* 028CC3FC */ cpu->r[0] = 0x10140000u;
/* 028CC400 */ _t46 = cpu->r[3] + 0x00000000u;
/* 028CC400 */ rbrew_write32(cpu->mem, _t46, cpu->r[12]);
/* 028CC404 */ cpu->r[0] = cpu->r[0] + 0xFFFF9F74u;
/* 028CC408 */ _t47 = cpu->r[3] + 0x00000008u;
/* 028CC408 */ rbrew_write32(cpu->mem, _t47, cpu->r[4]);
/* 028CC40C */ _t48 = cpu->r[3] + 0x00000004u;
/* 028CC40C */ rbrew_write32(cpu->mem, _t48, cpu->r[0]);
/* 028CC410 */ _t49 = cpu->r[30] + 0x00007399u;
/* 028CC410 */ cpu->r[29] = rbrew_read8(cpu->mem, _t49);
/* 028CC414 */ cpu->r[0] = 0x10140000u;
/* 028CC418 */ _t50 = cpu->r[26] + 0x0000002Bu;
/* 028CC418 */ rbrew_write8(cpu->mem, _t50, (uint8_t)cpu->r[29]);
/* 028CC41C */ cpu->r[0] = cpu->r[0] + 0xFFFF9FDCu;
/* 028CC420 */ _t51 = cpu->r[26] + 0x00000000u;
/* 028CC420 */ cpu->r[6] = rbrew_read32(cpu->mem, _t51);
/* 028CC424 */ _t52 = cpu->r[26] + 0x00000004u;
/* 028CC424 */ rbrew_write32(cpu->mem, _t52, cpu->r[0]);
/* 028CC428 */ _t53 = cpu->r[6] + 0x00000000u;
/* 028CC428 */ rbrew_write8(cpu->mem, _t53, (uint8_t)cpu->r[29]);
L_028CC42C: ; // 0x28cc42c
/* 028CC42C */ cpu->r[7] = 0x10140000u;
/* 028CC430 */ cpu->r[7] = cpu->r[7] + 0xFFFF9FF4u;
/* 028CC434 */ _t54 = cpu->r[25] + 0x00000004u;
/* 028CC434 */ rbrew_write32(cpu->mem, _t54, cpu->r[7]);
L_028CC438: ; // 0x28cc438
/* 028CC438 */ cpu->r[3] = cpu->r[27];
/* 028CC43C */ _t55 = cpu->r[28] + 0x00000008u;
/* 028CC43C */ rbrew_write32(cpu->mem, _t55, cpu->r[27]);
/* 028CC440 */ Gambit_fn_028D0794(cpu);
/* 028CC444 */ _t56 = cpu->r[28] + 0x0000000Cu;
/* 028CC444 */ rbrew_write32(cpu->mem, _t56, cpu->r[3]);
/* 028CC448 */ _t57 = cpu->r[27] + 0x00000140u;
/* 028CC448 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t57);
/* 028CC44C */ _t58 = cpu->r[28] + 0x00000010u;
/* 028CC44C */ rbrew_write_f32(cpu->mem, _t58, cpu->f[13]);
/* 028CC450 */ _t59 = cpu->r[27] + 0x00000008u;
/* 028CC450 */ cpu->r[8] = rbrew_read32(cpu->mem, _t59);
/* 028CC454 */ _t60 = cpu->r[8] + 0x0000006Cu;
/* 028CC454 */ cpu->r[9] = rbrew_read32(cpu->mem, _t60);
/* 028CC458 */ cpu->ctr = cpu->r[9];
/* 028CC45C */ cpu->r[3] = cpu->r[27];
/* 028CC460 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CC464 */ _t61 = cpu->r[28] + 0x00000014u;
/* 028CC464 */ rbrew_write32(cpu->mem, _t61, cpu->r[3]);
/* 028CC468 */ cpu->r[24] = cpu->r[1] + 0x00000024u;
/* 028CC46C */ _t62 = cpu->r[1] + 0x000000A3u;
/* 028CC46C */ rbrew_write8(cpu->mem, _t62, (uint8_t)cpu->r[29]);
/* 028CC470 */ cpu->r[9] = 0x10140000u;
/* 028CC474 */ _t63 = cpu->r[1] + 0x00000018u;
/* 028CC474 */ rbrew_write32(cpu->mem, _t63, cpu->r[24]);
/* 028CC478 */ cpu->r[9] = cpu->r[9] + 0xFFFFA084u;
/* 028CC47C */ _t64 = cpu->r[1] + 0x00000024u;
/* 028CC47C */ rbrew_write8(cpu->mem, _t64, (uint8_t)cpu->r[29]);
/* 028CC480 */ cpu->r[10] = 0x00000080u;
/* 028CC484 */ _t65 = cpu->r[1] + 0x0000001Cu;
/* 028CC484 */ rbrew_write32(cpu->mem, _t65, cpu->r[9]);
/* 028CC488 */ _t66 = cpu->r[1] + 0x00000020u;
/* 028CC488 */ rbrew_write32(cpu->mem, _t66, cpu->r[10]);
/* 028CC48C */ _t67 = cpu->r[28] + 0x0000000Cu;
/* 028CC48C */ cpu->r[11] = rbrew_read32(cpu->mem, _t67);
/* 028CC490 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028CC494 */ _t68 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CC494 */ _t69 = _t68 & 0x00000001u;
/* 028CC494 */ if (_t69) goto L_028CC498; else goto L_028CC750;
L_028CC498: ; // 0x28cc498
/* 028CC498 */ goto L_028CC504;
L_028CC49C: ; // 0x28cc49c
/* 028CC49C */ _t70 = cpu->r[30] + 0x00007399u;
/* 028CC49C */ cpu->r[29] = rbrew_read8(cpu->mem, _t70);
/* 028CC4A0 */ cpu->r[28] = 0x00000000u;
/* 028CC4A4 */ cpu->r[3] = cpu->r[27];
/* 028CC4A8 */ _t71 = cpu->r[28] + 0x00000008u;
/* 028CC4A8 */ rbrew_write32(cpu->mem, _t71, cpu->r[27]);
/* 028CC4AC */ Gambit_fn_028D0794(cpu);
/* 028CC4B0 */ _t72 = cpu->r[28] + 0x0000000Cu;
/* 028CC4B0 */ rbrew_write32(cpu->mem, _t72, cpu->r[3]);
/* 028CC4B4 */ _t73 = cpu->r[27] + 0x00000140u;
/* 028CC4B4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t73);
/* 028CC4B8 */ _t74 = cpu->r[28] + 0x00000010u;
/* 028CC4B8 */ rbrew_write_f32(cpu->mem, _t74, cpu->f[13]);
/* 028CC4BC */ _t75 = cpu->r[27] + 0x00000008u;
/* 028CC4BC */ cpu->r[8] = rbrew_read32(cpu->mem, _t75);
/* 028CC4C0 */ _t76 = cpu->r[8] + 0x0000006Cu;
/* 028CC4C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t76);
/* 028CC4C4 */ cpu->ctr = cpu->r[9];
/* 028CC4C8 */ cpu->r[3] = cpu->r[27];
/* 028CC4CC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CC4D0 */ _t77 = cpu->r[28] + 0x00000014u;
/* 028CC4D0 */ rbrew_write32(cpu->mem, _t77, cpu->r[3]);
/* 028CC4D4 */ cpu->r[24] = cpu->r[1] + 0x00000024u;
/* 028CC4D8 */ _t78 = cpu->r[1] + 0x000000A3u;
/* 028CC4D8 */ rbrew_write8(cpu->mem, _t78, (uint8_t)cpu->r[29]);
/* 028CC4DC */ cpu->r[9] = 0x10140000u;
/* 028CC4E0 */ _t79 = cpu->r[1] + 0x00000018u;
/* 028CC4E0 */ rbrew_write32(cpu->mem, _t79, cpu->r[24]);
/* 028CC4E4 */ cpu->r[9] = cpu->r[9] + 0xFFFFA084u;
/* 028CC4E8 */ _t80 = cpu->r[1] + 0x00000024u;
/* 028CC4E8 */ rbrew_write8(cpu->mem, _t80, (uint8_t)cpu->r[29]);
/* 028CC4EC */ cpu->r[10] = 0x00000080u;
/* 028CC4F0 */ _t81 = cpu->r[1] + 0x0000001Cu;
/* 028CC4F0 */ rbrew_write32(cpu->mem, _t81, cpu->r[9]);
/* 028CC4F4 */ _t82 = cpu->r[1] + 0x00000020u;
/* 028CC4F4 */ rbrew_write32(cpu->mem, _t82, cpu->r[10]);
/* 028CC4F8 */ _t83 = cpu->r[28] + 0x0000000Cu;
/* 028CC4F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t83);
/* 028CC4FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028CC500 */ _t84 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CC500 */ _t85 = _t84 & 0x00000001u;
/* 028CC500 */ if (_t85) goto L_028CC504; else goto L_028CC750;
L_028CC504: ; // 0x28cc504
/* 028CC504 */ cpu->r[23] = 0x10140000u;
/* 028CC508 */ cpu->r[26] = cpu->r[29];
/* 028CC50C */ cpu->r[23] = cpu->r[23] + 0xFFFFA0CCu;
/* 028CC510 */ cpu->r[22] = 0x00000000u;
L_028CC514: ; // 0x28cc514
/* 028CC514 */ _t86 = cpu->r[1] + 0x00000008u;
/* 028CC514 */ rbrew_write32(cpu->mem, _t86, cpu->r[23]);
/* 028CC518 */ _t87 = cpu->r[1] + 0x0000000Cu;
/* 028CC518 */ rbrew_write32(cpu->mem, _t87, cpu->r[31]);
/* 028CC51C */ _t88 = cpu->r[9] + 0x00000014u;
/* 028CC51C */ cpu->r[12] = rbrew_read32(cpu->mem, _t88);
/* 028CC520 */ cpu->ctr = cpu->r[12];
/* 028CC524 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
/* 028CC528 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CC52C */ _t89 = cpu->r[1] + 0x00000018u;
/* 028CC52C */ cpu->r[7] = rbrew_read32(cpu->mem, _t89);
/* 028CC530 */ _t90 = cpu->r[7] + 0x00000000u;
/* 028CC530 */ cpu->r[0] = rbrew_read8(cpu->mem, _t90);
/* 028CC534 */ cpu->r[25] = 0x00000000u;
/* 028CC538 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[26]);
/* 028CC53C */ cpu->r[9] = 0x00080000u;
/* 028CC540 */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC540 */ _t92 = _t91 & 0x00000001u;
/* 028CC540 */ if (_t92) goto L_028CC568; else goto L_028CC544;
L_028CC544: ; // 0x28cc544
/* 028CC544 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
/* 028CC548 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[9]);
/* 028CC54C */ cpu->r[7] = cpu->r[7] + 0x00000001u;
/* 028CC550 */ _t93 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CC550 */ _t94 = _t93 & 0x00000001u;
/* 028CC550 */ if (_t94) goto L_028CC564; else goto L_028CC554;
L_028CC554: ; // 0x28cc554
/* 028CC554 */ _t95 = cpu->r[7] + 0x00000000u;
/* 028CC554 */ cpu->r[4] = rbrew_read8(cpu->mem, _t95);
/* 028CC558 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[26]);
/* 028CC55C */ _t96 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC55C */ _t97 = _t96 & 0x00000001u;
/* 028CC55C */ if (_t97) goto L_028CC560; else goto L_028CC544;
L_028CC560: ; // 0x28cc560
/* 028CC560 */ goto L_028CC568;
L_028CC564: ; // 0x28cc564
/* 028CC564 */ cpu->r[25] = 0x00000000u;
L_028CC568: ; // 0x28cc568
/* 028CC568 */ _t98 = cpu->r[1] + 0x0000000Cu;
/* 028CC568 */ cpu->r[5] = rbrew_read32(cpu->mem, _t98);
/* 028CC56C */ cpu->r[21] = cpu->r[25];
/* 028CC56C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
/* 028CC570 */ _t99 = cpu->r[5] + 0x00000014u;
/* 028CC570 */ cpu->r[6] = rbrew_read32(cpu->mem, _t99);
/* 028CC574 */ _t100 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CC574 */ _t101 = _t100 & 0x00000001u;
/* 028CC574 */ if (_t101) goto L_028CC578; else goto L_028CC57C;
L_028CC578: ; // 0x28cc578
/* 028CC578 */ cpu->r[21] = 0x00000000u;
L_028CC57C: ; // 0x28cc57c
/* 028CC57C */ cpu->ctr = cpu->r[6];
/* 028CC580 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028CC584 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CC588 */ _t102 = cpu->r[1] + 0x00000008u;
/* 028CC588 */ cpu->r[11] = rbrew_read32(cpu->mem, _t102);
/* 028CC58C */ _t103 = cpu->r[11] + 0x00000000u;
/* 028CC58C */ cpu->r[8] = rbrew_read8(cpu->mem, _t103);
/* 028CC590 */ cpu->r[30] = 0x00000000u;
/* 028CC594 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[26]);
/* 028CC598 */ cpu->r[4] = 0x00080000u;
/* 028CC59C */ _t104 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC59C */ _t105 = _t104 & 0x00000001u;
/* 028CC59C */ if (_t105) goto L_028CC5C4; else goto L_028CC5A0;
L_028CC5A0: ; // 0x28cc5a0
/* 028CC5A0 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028CC5A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[4]);
/* 028CC5A8 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
/* 028CC5AC */ _t106 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CC5AC */ _t107 = _t106 & 0x00000001u;
/* 028CC5AC */ if (_t107) goto L_028CC5C0; else goto L_028CC5B0;
L_028CC5B0: ; // 0x28cc5b0
/* 028CC5B0 */ _t108 = cpu->r[11] + 0x00000000u;
/* 028CC5B0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t108);
/* 028CC5B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[26]);
/* 028CC5B8 */ _t109 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC5B8 */ _t110 = _t109 & 0x00000001u;
/* 028CC5B8 */ if (_t110) goto L_028CC5BC; else goto L_028CC5A0;
L_028CC5BC: ; // 0x28cc5bc
/* 028CC5BC */ goto L_028CC5C4;
L_028CC5C0: ; // 0x28cc5c0
/* 028CC5C0 */ cpu->r[30] = 0x00000000u;
L_028CC5C4: ; // 0x28cc5c4
/* 028CC5C4 */ _t111 = cpu->r[1] + 0x00000020u;
/* 028CC5C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t111);
/* 028CC5C8 */ cpu->r[5] = cpu->r[0] - cpu->r[21];
/* 028CC5CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
/* 028CC5D0 */ _t112 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CC5D0 */ _t113 = _t112 & 0x00000001u;
/* 028CC5D0 */ if (_t113) goto L_028CC5D8; else goto L_028CC5D4;
L_028CC5D4: ; // 0x28cc5d4
/* 028CC5D4 */ cpu->r[30] = cpu->r[5] + 0xFFFFFFFFu;
L_028CC5D8: ; // 0x28cc5d8
/* 028CC5D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028CC5DC */ _t114 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CC5DC */ _t115 = _t114 & 0x00000001u;
/* 028CC5DC */ if (_t115) goto L_028CC5E0; else goto L_028CC61C;
L_028CC5E0: ; // 0x28cc5e0
/* 028CC5E0 */ _t116 = cpu->r[1] + 0x0000000Cu;
/* 028CC5E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t116);
/* 028CC5E4 */ _t117 = cpu->r[11] + 0x00000014u;
/* 028CC5E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t117);
/* 028CC5E8 */ cpu->ctr = cpu->r[0];
/* 028CC5EC */ cpu->r[20] = cpu->r[24] + cpu->r[21];
/* 028CC5F0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028CC5F4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CC5F8 */ _t118 = cpu->r[1] + 0x00000008u;
/* 028CC5F8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t118);
/* 028CC5FC */ cpu->r[6] = 0x00000000u;
/* 028CC600 */ cpu->r[5] = cpu->r[30];
/* 028CC604 */ cpu->r[3] = cpu->r[20];
/* 028CC608 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028CC60C */ cpu->r[4] = cpu->r[21] + cpu->r[30];
/* 028CC610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[25]);
/* 028CC614 */ _t119 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CC614 */ _t120 = _t119 & 0x00000001u;
/* 028CC614 */ if (_t120) goto L_028CC618; else goto L_028CC61C;
L_028CC618: ; // 0x28cc618
/* 028CC618 */ _t121 = cpu->r[24] + cpu->r[4];
/* 028CC618 */ rbrew_write8(cpu->mem, _t121, (uint8_t)cpu->r[26]);
L_028CC61C: ; // 0x28cc61c
/* 028CC61C */ _t122 = cpu->r[28] + 0x0000000Cu;
/* 028CC61C */ cpu->r[5] = rbrew_read32(cpu->mem, _t122);
/* 028CC620 */ cpu->r[22] = cpu->r[22] + 0x00000001u;
/* 028CC624 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], cpu->r[5]);
/* 028CC628 */ _t123 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CC628 */ _t124 = _t123 & 0x00000001u;
/* 028CC628 */ if (_t124) goto L_028CC62C; else goto L_028CC638;
L_028CC62C: ; // 0x28cc62c
/* 028CC62C */ _t125 = cpu->r[1] + 0x0000001Cu;
/* 028CC62C */ cpu->r[9] = rbrew_read32(cpu->mem, _t125);
/* 028CC630 */ _t126 = cpu->r[1] + 0x00000018u;
/* 028CC630 */ cpu->r[24] = rbrew_read32(cpu->mem, _t126);
/* 028CC634 */ goto L_028CC514;
L_028CC638: ; // 0x28cc638
/* 028CC638 */ cpu->r[7] = 0x10140000u;
/* 028CC63C */ _t127 = cpu->r[1] + 0x00000014u;
/* 028CC63C */ rbrew_write32(cpu->mem, _t127, cpu->r[31]);
/* 028CC640 */ cpu->r[7] = cpu->r[7] + 0xFFFFA0CFu;
/* 028CC644 */ _t128 = cpu->r[1] + 0x0000001Cu;
/* 028CC644 */ cpu->r[9] = rbrew_read32(cpu->mem, _t128);
/* 028CC648 */ _t129 = cpu->r[1] + 0x00000010u;
/* 028CC648 */ rbrew_write32(cpu->mem, _t129, cpu->r[7]);
/* 028CC64C */ _t130 = cpu->r[9] + 0x00000014u;
/* 028CC64C */ cpu->r[10] = rbrew_read32(cpu->mem, _t130);
/* 028CC650 */ cpu->ctr = cpu->r[10];
/* 028CC654 */ _t131 = cpu->r[1] + 0x00000018u;
/* 028CC654 */ cpu->r[26] = rbrew_read32(cpu->mem, _t131);
/* 028CC658 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
/* 028CC65C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CC660 */ _t132 = cpu->r[1] + 0x00000018u;
/* 028CC660 */ cpu->r[6] = rbrew_read32(cpu->mem, _t132);
/* 028CC664 */ _t133 = cpu->r[6] + 0x00000000u;
/* 028CC664 */ cpu->r[0] = rbrew_read8(cpu->mem, _t133);
/* 028CC668 */ cpu->r[31] = 0x00000000u;
/* 028CC66C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
/* 028CC670 */ cpu->r[8] = 0x00080000u;
/* 028CC674 */ _t134 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC674 */ _t135 = _t134 & 0x00000001u;
/* 028CC674 */ if (_t135) goto L_028CC69C; else goto L_028CC678;
L_028CC678: ; // 0x28cc678
/* 028CC678 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
/* 028CC67C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[8]);
/* 028CC680 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
/* 028CC684 */ _t136 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CC684 */ _t137 = _t136 & 0x00000001u;
/* 028CC684 */ if (_t137) goto L_028CC698; else goto L_028CC688;
L_028CC688: ; // 0x28cc688
/* 028CC688 */ _t138 = cpu->r[6] + 0x00000000u;
/* 028CC688 */ cpu->r[0] = rbrew_read8(cpu->mem, _t138);
/* 028CC68C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
/* 028CC690 */ _t139 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC690 */ _t140 = _t139 & 0x00000001u;
/* 028CC690 */ if (_t140) goto L_028CC694; else goto L_028CC678;
L_028CC694: ; // 0x28cc694
/* 028CC694 */ goto L_028CC69C;
L_028CC698: ; // 0x28cc698
/* 028CC698 */ cpu->r[31] = 0x00000000u;
L_028CC69C: ; // 0x28cc69c
/* 028CC69C */ _t141 = cpu->r[1] + 0x00000014u;
/* 028CC69C */ cpu->r[6] = rbrew_read32(cpu->mem, _t141);
/* 028CC6A0 */ cpu->r[25] = cpu->r[31];
/* 028CC6A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
/* 028CC6A4 */ _t142 = cpu->r[6] + 0x00000014u;
/* 028CC6A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t142);
/* 028CC6A8 */ _t143 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CC6A8 */ _t144 = _t143 & 0x00000001u;
/* 028CC6A8 */ if (_t144) goto L_028CC6AC; else goto L_028CC6B0;
L_028CC6AC: ; // 0x28cc6ac
/* 028CC6AC */ cpu->r[25] = 0x00000000u;
L_028CC6B0: ; // 0x28cc6b0
/* 028CC6B0 */ cpu->ctr = cpu->r[8];
/* 028CC6B4 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
/* 028CC6B8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CC6BC */ _t145 = cpu->r[1] + 0x00000010u;
/* 028CC6BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t145);
/* 028CC6C0 */ _t146 = cpu->r[12] + 0x00000000u;
/* 028CC6C0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t146);
/* 028CC6C4 */ cpu->r[30] = 0x00000000u;
/* 028CC6C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[29]);
/* 028CC6CC */ cpu->r[4] = 0x00080000u;
/* 028CC6D0 */ _t147 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC6D0 */ _t148 = _t147 & 0x00000001u;
/* 028CC6D0 */ if (_t148) goto L_028CC6F8; else goto L_028CC6D4;
L_028CC6D4: ; // 0x28cc6d4
/* 028CC6D4 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028CC6D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[4]);
/* 028CC6DC */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028CC6E0 */ _t149 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CC6E0 */ _t150 = _t149 & 0x00000001u;
/* 028CC6E0 */ if (_t150) goto L_028CC6F4; else goto L_028CC6E4;
L_028CC6E4: ; // 0x28cc6e4
/* 028CC6E4 */ _t151 = cpu->r[12] + 0x00000000u;
/* 028CC6E4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t151);
/* 028CC6E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[29]);
/* 028CC6EC */ _t152 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC6EC */ _t153 = _t152 & 0x00000001u;
/* 028CC6EC */ if (_t153) goto L_028CC6F0; else goto L_028CC6D4;
L_028CC6F0: ; // 0x28cc6f0
/* 028CC6F0 */ goto L_028CC6F8;
L_028CC6F4: ; // 0x28cc6f4
/* 028CC6F4 */ cpu->r[30] = 0x00000000u;
L_028CC6F8: ; // 0x28cc6f8
/* 028CC6F8 */ _t154 = cpu->r[1] + 0x00000020u;
/* 028CC6F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t154);
/* 028CC6FC */ cpu->r[7] = cpu->r[0] - cpu->r[25];
/* 028CC700 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
/* 028CC704 */ _t155 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CC704 */ _t156 = _t155 & 0x00000001u;
/* 028CC704 */ if (_t156) goto L_028CC70C; else goto L_028CC708;
L_028CC708: ; // 0x28cc708
/* 028CC708 */ cpu->r[30] = cpu->r[7] + 0xFFFFFFFFu;
L_028CC70C: ; // 0x28cc70c
/* 028CC70C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028CC710 */ _t157 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CC710 */ _t158 = _t157 & 0x00000001u;
/* 028CC710 */ if (_t158) goto L_028CC714; else goto L_028CC750;
L_028CC714: ; // 0x28cc714
/* 028CC714 */ _t159 = cpu->r[1] + 0x00000014u;
/* 028CC714 */ cpu->r[12] = rbrew_read32(cpu->mem, _t159);
/* 028CC718 */ _t160 = cpu->r[12] + 0x00000014u;
/* 028CC718 */ cpu->r[4] = rbrew_read32(cpu->mem, _t160);
/* 028CC71C */ cpu->ctr = cpu->r[4];
/* 028CC720 */ cpu->r[24] = cpu->r[26] + cpu->r[25];
/* 028CC724 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
/* 028CC728 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CC72C */ _t161 = cpu->r[1] + 0x00000010u;
/* 028CC72C */ cpu->r[4] = rbrew_read32(cpu->mem, _t161);
/* 028CC730 */ cpu->r[6] = 0x00000000u;
/* 028CC734 */ cpu->r[5] = cpu->r[30];
/* 028CC738 */ cpu->r[3] = cpu->r[24];
/* 028CC73C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028CC740 */ cpu->r[0] = cpu->r[25] + cpu->r[30];
/* 028CC744 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[31]);
/* 028CC748 */ _t162 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CC748 */ _t163 = _t162 & 0x00000001u;
/* 028CC748 */ if (_t163) goto L_028CC74C; else goto L_028CC750;
L_028CC74C: ; // 0x28cc74c
/* 028CC74C */ _t164 = cpu->r[26] + cpu->r[0];
/* 028CC74C */ rbrew_write8(cpu->mem, _t164, (uint8_t)cpu->r[29]);
L_028CC750: ; // 0x28cc750
/* 028CC750 */ _t165 = cpu->r[27] + 0x00000008u;
/* 028CC750 */ cpu->r[6] = rbrew_read32(cpu->mem, _t165);
/* 028CC754 */ _t166 = cpu->r[6] + 0x00000064u;
/* 028CC754 */ cpu->r[8] = rbrew_read32(cpu->mem, _t166);
/* 028CC758 */ cpu->ctr = cpu->r[8];
/* 028CC75C */ cpu->r[3] = cpu->r[27];
/* 028CC760 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CC764 */ _t167 = cpu->r[28] + 0x00000008u;
/* 028CC764 */ cpu->r[31] = rbrew_read32(cpu->mem, _t167);
/* 028CC768 */ _t168 = cpu->r[31] + 0x00000004u;
/* 028CC768 */ cpu->r[10] = rbrew_read32(cpu->mem, _t168);
/* 028CC76C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CC770 */ _t169 = cpu->r[10] + 0x00000014u;
/* 028CC770 */ cpu->r[12] = rbrew_read32(cpu->mem, _t169);
/* 028CC774 */ cpu->r[3] = cpu->r[31];
/* 028CC778 */ cpu->ctr = cpu->r[12];
/* 028CC77C */ _t170 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC77C */ _t171 = _t170 & 0x00000001u;
/* 028CC77C */ if (_t171) goto L_028CC7D8; else goto L_028CC780;
L_028CC780: ; // 0x28cc780
/* 028CC780 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CC784 */ cpu->r[4] = 0x10140000u;
/* 028CC788 */ _t172 = cpu->r[31] + 0x00000000u;
/* 028CC788 */ cpu->r[5] = rbrew_read32(cpu->mem, _t172);
/* 028CC78C */ cpu->r[3] = cpu->r[1] + 0x00000018u;
/* 028CC790 */ cpu->r[4] = cpu->r[4] + 0xFFFFA0D2u;
/* 028CC794 */ _t173 = cpu->cr[1] >> (0x00000001u & 31u);
/* 028CC794 */ _t174 = _t173 & 0x00000001u;
/* 028CC794 */ if (_t174) goto L_028CC798; // else: addr-0 trap, fall-through
L_028CC798: ; // 0x28cc798
/* 028CC798 */ Gambit_fn_0282A718(cpu);
/* 028CC79C */ _t175 = cpu->r[28] + 0x00000018u;
/* 028CC79C */ cpu->r[6] = rbrew_read32(cpu->mem, _t175);
/* 028CC7A0 */ _t176 = cpu->r[6] + 0x00000000u;
/* 028CC7A0 */ rbrew_write8(cpu->mem, _t176, (uint8_t)cpu->r[29]);
/* 028CC7A4 */ _t177 = cpu->r[1] + 0x0000001Cu;
/* 028CC7A4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t177);
/* 028CC7A8 */ _t178 = cpu->r[7] + 0x00000014u;
/* 028CC7A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t178);
/* 028CC7AC */ cpu->ctr = cpu->r[8];
/* 028CC7B0 */ _t179 = cpu->r[28] + 0x00000018u;
/* 028CC7B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t179);
/* 028CC7B4 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
/* 028CC7B8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CC7BC */ _t180 = cpu->r[1] + 0x00000018u;
/* 028CC7BC */ cpu->r[7] = rbrew_read32(cpu->mem, _t180);
/* 028CC7C0 */ _t181 = cpu->r[7] + 0x00000000u;
/* 028CC7C0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t181);
/* 028CC7C4 */ cpu->r[31] = 0x00000000u;
/* 028CC7C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[29]);
/* 028CC7CC */ cpu->r[9] = 0x00080000u;
/* 028CC7D0 */ _t182 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC7D0 */ _t183 = _t182 & 0x00000001u;
/* 028CC7D0 */ if (_t183) goto L_028CC7D4; else goto L_028CC82C;
L_028CC7D4: ; // 0x28cc7d4
/* 028CC7D4 */ goto L_028CC850;
L_028CC7D8: ; // 0x28cc7d8
/* 028CC7D8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CC7DC */ cpu->r[4] = 0x10140000u;
/* 028CC7E0 */ _t184 = cpu->r[31] + 0x00000000u;
/* 028CC7E0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t184);
/* 028CC7E4 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
/* 028CC7E8 */ cpu->r[4] = cpu->r[4] + 0xFFFFA0C4u;
/* 028CC7EC */ _t185 = cpu->cr[1] >> (0x00000001u & 31u);
/* 028CC7EC */ _t186 = _t185 & 0x00000001u;
/* 028CC7EC */ if (_t186) goto L_028CC7F0; // else: addr-0 trap, fall-through
L_028CC7F0: ; // 0x28cc7f0
/* 028CC7F0 */ Gambit_fn_0282A718(cpu);
/* 028CC7F4 */ _t187 = cpu->r[28] + 0x00000018u;
/* 028CC7F4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t187);
/* 028CC7F8 */ _t188 = cpu->r[6] + 0x00000000u;
/* 028CC7F8 */ rbrew_write8(cpu->mem, _t188, (uint8_t)cpu->r[29]);
/* 028CC7FC */ _t189 = cpu->r[1] + 0x0000001Cu;
/* 028CC7FC */ cpu->r[7] = rbrew_read32(cpu->mem, _t189);
/* 028CC800 */ _t190 = cpu->r[7] + 0x00000014u;
/* 028CC800 */ cpu->r[8] = rbrew_read32(cpu->mem, _t190);
/* 028CC804 */ cpu->ctr = cpu->r[8];
/* 028CC808 */ _t191 = cpu->r[28] + 0x00000018u;
/* 028CC808 */ cpu->r[30] = rbrew_read32(cpu->mem, _t191);
/* 028CC80C */ cpu->r[3] = cpu->r[1] + 0x00000018u;
/* 028CC810 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CC814 */ _t192 = cpu->r[1] + 0x00000018u;
/* 028CC814 */ cpu->r[7] = rbrew_read32(cpu->mem, _t192);
/* 028CC818 */ _t193 = cpu->r[7] + 0x00000000u;
/* 028CC818 */ cpu->r[10] = rbrew_read8(cpu->mem, _t193);
/* 028CC81C */ cpu->r[31] = 0x00000000u;
/* 028CC820 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[29]);
/* 028CC824 */ cpu->r[9] = 0x00080000u;
/* 028CC828 */ _t194 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC828 */ _t195 = _t194 & 0x00000001u;
/* 028CC828 */ if (_t195) goto L_028CC7D4; else goto L_028CC82C;
L_028CC82C: ; // 0x28cc82c
/* 028CC82C */ cpu->r[31] = cpu->r[31] + 0x00000001u;
/* 028CC830 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[9]);
/* 028CC834 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
/* 028CC838 */ _t196 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CC838 */ _t197 = _t196 & 0x00000001u;
/* 028CC838 */ if (_t197) goto L_028CC84C; else goto L_028CC83C;
L_028CC83C: ; // 0x28cc83c
/* 028CC83C */ _t198 = cpu->r[7] + 0x00000000u;
/* 028CC83C */ cpu->r[11] = rbrew_read8(cpu->mem, _t198);
/* 028CC840 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[29]);
/* 028CC844 */ _t199 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC844 */ _t200 = _t199 & 0x00000001u;
/* 028CC844 */ if (_t200) goto L_028CC848; else goto L_028CC82C;
L_028CC848: ; // 0x28cc848
/* 028CC848 */ goto L_028CC850;
L_028CC84C: ; // 0x28cc84c
/* 028CC84C */ cpu->r[31] = 0x00000000u;
L_028CC850: ; // 0x28cc850
/* 028CC850 */ _t201 = cpu->r[28] + 0x00000020u;
/* 028CC850 */ cpu->r[11] = rbrew_read32(cpu->mem, _t201);
/* 028CC854 */ _t202 = cpu->r[1] + 0x0000001Cu;
/* 028CC854 */ cpu->r[12] = rbrew_read32(cpu->mem, _t202);
/* 028CC858 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[11]);
/* 028CC85C */ _t203 = cpu->r[12] + 0x00000014u;
/* 028CC85C */ cpu->r[0] = rbrew_read32(cpu->mem, _t203);
/* 028CC860 */ _t204 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CC860 */ _t205 = _t204 & 0x00000001u;
/* 028CC860 */ if (_t205) goto L_028CC868; else goto L_028CC864;
L_028CC864: ; // 0x28cc864
/* 028CC864 */ cpu->r[31] = cpu->r[11] + 0xFFFFFFFFu;
L_028CC868: ; // 0x28cc868
/* 028CC868 */ cpu->ctr = cpu->r[0];
/* 028CC86C */ cpu->r[3] = cpu->r[1] + 0x00000018u;
/* 028CC870 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CC874 */ _t206 = cpu->r[1] + 0x00000018u;
/* 028CC874 */ cpu->r[4] = rbrew_read32(cpu->mem, _t206);
/* 028CC878 */ cpu->r[6] = 0x00000000u;
/* 028CC87C */ cpu->r[5] = cpu->r[31];
/* 028CC880 */ cpu->r[3] = cpu->r[30];
/* 028CC884 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028CC888 */ _t207 = cpu->r[30] + cpu->r[31];
/* 028CC888 */ rbrew_write8(cpu->mem, _t207, (uint8_t)cpu->r[29]);
/* 028CC88C */ cpu->r[3] = cpu->r[28];
/* 028CC890 */ /* nop */
/* 028CC894 */ _t208 = cpu->r[1] + 0x000000DCu;
/* 028CC894 */ cpu->r[0] = rbrew_read32(cpu->mem, _t208);
/* 028CC898 */ cpu->lr = cpu->r[0];
/* 028CC89C */ cpu->r[1] = cpu->r[1] + 0x000000D8u;
/* 028CC8A0 */ return;
}
// fn_028CC8A4 @ 0x28cc8a4
void Gambit_fn_028CC8A4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
L_028CC8A4: ; // 0x28cc8a4
/* 028CC8A4 */ cpu->r[0] = cpu->lr;
/* 028CC8A8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028CC8A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CC8A8 */ cpu->r[1] = _t0;
/* 028CC8AC */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028CC8AC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028CC8B0 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028CC8B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028CC8B4 */ cpu->r[30] = cpu->r[3];
/* 028CC8B8 */ cpu->r[31] = cpu->r[4];
/* 028CC8BC */ _t3 = cpu->r[1] + 0x00000014u;
/* 028CC8BC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028CC8C0 */ Gambit_fn_028CC2B4(cpu);
/* 028CC8C4 */ cpu->r[10] = cpu->r[3];
/* 028CC8C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028CC8C8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC8C8 */ _t5 = _t4 & 0x00000001u;
/* 028CC8C8 */ if (_t5) goto L_028CC90C; else goto L_028CC8CC;
L_028CC8CC: ; // 0x28cc8cc
/* 028CC8CC */ _t6 = cpu->r[30] + 0x00000118u;
/* 028CC8CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028CC8D0 */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
/* 028CC8D4 */ cpu->r[4] = cpu->r[10] + cpu->r[0];
/* 028CC8D8 */ Gambit_fn_02801EBC(cpu);
/* 028CC8DC */ _t7 = cpu->r[30] + 0x00000114u;
/* 028CC8DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
/* 028CC8E0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028CC8E4 */ _t8 = cpu->r[30] + 0x00000114u;
/* 028CC8E4 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
/* 028CC8E8 */ _t9 = cpu->r[31] + 0x00000040u;
/* 028CC8E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
/* 028CC8EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CC8F0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC8F0 */ _t11 = _t10 & 0x00000001u;
/* 028CC8F0 */ if (_t11) goto L_028CC90C; else goto L_028CC8F4;
L_028CC8F4: ; // 0x28cc8f4
/* 028CC8F4 */ _t12 = cpu->r[31] + 0x00000010u;
/* 028CC8F4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
/* 028CC8F8 */ cpu->r[3] = cpu->r[30];
/* 028CC8FC */ Gambit_fn_028CC8A4(cpu);
/* 028CC900 */ _t13 = cpu->r[31] + 0x00000008u;
/* 028CC900 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
/* 028CC904 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CC908 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC908 */ _t15 = _t14 & 0x00000001u;
/* 028CC908 */ if (_t15) goto L_028CC90C; else goto L_028CC8F4;
L_028CC90C: ; // 0x28cc90c
/* 028CC90C */ _t16 = cpu->r[1] + 0x00000014u;
/* 028CC90C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028CC910 */ _t17 = cpu->r[1] + 0x00000008u;
/* 028CC910 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
/* 028CC914 */ cpu->lr = cpu->r[0];
/* 028CC918 */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028CC918 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
/* 028CC91C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CC920 */ return;
}
// fn_028CC8A8 @ 0x28cc8a8
void Gambit_fn_028CC8A8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
L_028CC8A8: ; // 0x28cc8a8
/* 028CC8A8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028CC8A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CC8A8 */ cpu->r[1] = _t0;
/* 028CC8AC */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028CC8AC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028CC8B0 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028CC8B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028CC8B4 */ cpu->r[30] = cpu->r[3];
/* 028CC8B8 */ cpu->r[31] = cpu->r[4];
/* 028CC8BC */ _t3 = cpu->r[1] + 0x00000014u;
/* 028CC8BC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028CC8C0 */ Gambit_fn_028CC2B4(cpu);
/* 028CC8C4 */ cpu->r[10] = cpu->r[3];
/* 028CC8C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028CC8C8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC8C8 */ _t5 = _t4 & 0x00000001u;
/* 028CC8C8 */ if (_t5) goto L_028CC90C; else goto L_028CC8CC;
L_028CC8CC: ; // 0x28cc8cc
/* 028CC8CC */ _t6 = cpu->r[30] + 0x00000118u;
/* 028CC8CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028CC8D0 */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
/* 028CC8D4 */ cpu->r[4] = cpu->r[10] + cpu->r[0];
/* 028CC8D8 */ Gambit_fn_02801EBC(cpu);
/* 028CC8DC */ _t7 = cpu->r[30] + 0x00000114u;
/* 028CC8DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
/* 028CC8E0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028CC8E4 */ _t8 = cpu->r[30] + 0x00000114u;
/* 028CC8E4 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
/* 028CC8E8 */ _t9 = cpu->r[31] + 0x00000040u;
/* 028CC8E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
/* 028CC8EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CC8F0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC8F0 */ _t11 = _t10 & 0x00000001u;
/* 028CC8F0 */ if (_t11) goto L_028CC90C; else goto L_028CC8F4;
L_028CC8F4: ; // 0x28cc8f4
/* 028CC8F4 */ _t12 = cpu->r[31] + 0x00000010u;
/* 028CC8F4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
/* 028CC8F8 */ cpu->r[3] = cpu->r[30];
/* 028CC8FC */ Gambit_fn_028CC8A4(cpu);
/* 028CC900 */ _t13 = cpu->r[31] + 0x00000008u;
/* 028CC900 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
/* 028CC904 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CC908 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC908 */ _t15 = _t14 & 0x00000001u;
/* 028CC908 */ if (_t15) goto L_028CC90C; else goto L_028CC8F4;
L_028CC90C: ; // 0x28cc90c
/* 028CC90C */ _t16 = cpu->r[1] + 0x00000014u;
/* 028CC90C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028CC910 */ _t17 = cpu->r[1] + 0x00000008u;
/* 028CC910 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
/* 028CC914 */ cpu->lr = cpu->r[0];
/* 028CC918 */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028CC918 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
/* 028CC91C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CC920 */ return;
}
// fn_028CC924 @ 0x28cc924
void Gambit_fn_028CC924(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028CC924: ; // 0x28cc924
/* 028CC924 */ cpu->r[0] = cpu->lr;
/* 028CC928 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028CC928 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CC928 */ cpu->r[1] = _t0;
/* 028CC92C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028CC92C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028CC930 */ cpu->r[31] = cpu->r[3];
/* 028CC934 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028CC934 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028CC938 */ _t3 = cpu->r[31] + 0x00000108u;
/* 028CC938 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028CC93C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CC940 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC940 */ _t5 = _t4 & 0x00000001u;
/* 028CC940 */ if (_t5) goto L_028CC944; else goto L_028CC95C;
L_028CC944: ; // 0x28cc944
/* 028CC944 */ _t6 = cpu->r[1] + 0x00000014u;
/* 028CC944 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028CC948 */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 028CC948 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
/* 028CC94C */ cpu->lr = cpu->r[0];
/* 028CC950 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CC954 */ cpu->r[3] = 0x00000000u;
/* 028CC958 */ return;
L_028CC95C: ; // 0x28cc95c
/* 028CC95C */ rbrew_dispatch(cpu, 0x02d0a9f0u);
/* 028CC960 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028CC964 */ cpu->r[12] = cpu->r[11] + 0x101F0000u;
/* 028CC968 */ _t8 = cpu->r[12] + 0x000065D0u;
/* 028CC968 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028CC96C */ _t9 = cpu->r[31] + 0x00000108u;
/* 028CC96C */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
/* 028CC970 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000000u, 0x0000001Bu);
/* 028CC974 */ cpu->r[3] = cpu->r[12] + cpu->r[0];
/* 028CC978 */ _t10 = cpu->r[1] + 0x00000014u;
/* 028CC978 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028CC97C */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028CC97C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028CC980 */ cpu->lr = cpu->r[0];
/* 028CC984 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CC988 */ return;
}
// fn_028CC928 @ 0x28cc928
void Gambit_fn_028CC928(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028CC928: ; // 0x28cc928
/* 028CC928 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028CC928 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CC928 */ cpu->r[1] = _t0;
/* 028CC92C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028CC92C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028CC930 */ cpu->r[31] = cpu->r[3];
/* 028CC934 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028CC934 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028CC938 */ _t3 = cpu->r[31] + 0x00000108u;
/* 028CC938 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028CC93C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CC940 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CC940 */ _t5 = _t4 & 0x00000001u;
/* 028CC940 */ if (_t5) goto L_028CC944; else goto L_028CC95C;
L_028CC944: ; // 0x28cc944
/* 028CC944 */ _t6 = cpu->r[1] + 0x00000014u;
/* 028CC944 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028CC948 */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 028CC948 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
/* 028CC94C */ cpu->lr = cpu->r[0];
/* 028CC950 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CC954 */ cpu->r[3] = 0x00000000u;
/* 028CC958 */ return;
L_028CC95C: ; // 0x28cc95c
/* 028CC95C */ rbrew_dispatch(cpu, 0x02d0a9f0u);
/* 028CC960 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028CC964 */ cpu->r[12] = cpu->r[11] + 0x101F0000u;
/* 028CC968 */ _t8 = cpu->r[12] + 0x000065D0u;
/* 028CC968 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028CC96C */ _t9 = cpu->r[31] + 0x00000108u;
/* 028CC96C */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
/* 028CC970 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000000u, 0x0000001Bu);
/* 028CC974 */ cpu->r[3] = cpu->r[12] + cpu->r[0];
/* 028CC978 */ _t10 = cpu->r[1] + 0x00000014u;
/* 028CC978 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028CC97C */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028CC97C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028CC980 */ cpu->lr = cpu->r[0];
/* 028CC984 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CC988 */ return;
}
// fn_028CC98C @ 0x28cc98c
void Gambit_fn_028CC98C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_028CC98C: ; // 0x28cc98c
/* 028CC98C */ _t0 = cpu->r[4] + 0x00000000u;
/* 028CC98C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0);
/* 028CC990 */ _t1 = cpu->r[3] + 0x00000000u;
/* 028CC990 */ rbrew_write_f32(cpu->mem, _t1, cpu->f[0]);
/* 028CC994 */ _t2 = cpu->r[4] + 0x00000004u;
/* 028CC994 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
/* 028CC998 */ _t3 = cpu->r[3] + 0x00000004u;
/* 028CC998 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[0]);
/* 028CC99C */ _t4 = cpu->r[4] + 0x00000008u;
/* 028CC99C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
/* 028CC9A0 */ _t5 = cpu->r[3] + 0x00000008u;
/* 028CC9A0 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[0]);
/* 028CC9A4 */ _t6 = cpu->r[4] + 0x0000000Cu;
/* 028CC9A4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
/* 028CC9A8 */ _t7 = cpu->r[3] + 0x0000000Cu;
/* 028CC9A8 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
/* 028CC9AC */ _t8 = cpu->r[4] + 0x00000010u;
/* 028CC9AC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
/* 028CC9B0 */ _t9 = cpu->r[3] + 0x00000010u;
/* 028CC9B0 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
/* 028CC9B4 */ _t10 = cpu->r[4] + 0x00000014u;
/* 028CC9B4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
/* 028CC9B8 */ _t11 = cpu->r[3] + 0x00000014u;
/* 028CC9B8 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
/* 028CC9BC */ _t12 = cpu->r[4] + 0x00000018u;
/* 028CC9BC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
/* 028CC9C0 */ _t13 = cpu->r[3] + 0x00000018u;
/* 028CC9C0 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
/* 028CC9C4 */ _t14 = cpu->r[4] + 0x0000001Cu;
/* 028CC9C4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
/* 028CC9C8 */ _t15 = cpu->r[3] + 0x0000001Cu;
/* 028CC9C8 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]);
/* 028CC9CC */ _t16 = cpu->r[4] + 0x00000020u;
/* 028CC9CC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
/* 028CC9D0 */ _t17 = cpu->r[3] + 0x00000020u;
/* 028CC9D0 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[0]);
/* 028CC9D4 */ _t18 = cpu->r[4] + 0x00000024u;
/* 028CC9D4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
/* 028CC9D8 */ _t19 = cpu->r[3] + 0x00000024u;
/* 028CC9D8 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
/* 028CC9DC */ _t20 = cpu->r[4] + 0x00000028u;
/* 028CC9DC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
/* 028CC9E0 */ _t21 = cpu->r[3] + 0x00000028u;
/* 028CC9E0 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[0]);
/* 028CC9E4 */ _t22 = cpu->r[4] + 0x0000002Cu;
/* 028CC9E4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
/* 028CC9E8 */ _t23 = cpu->r[3] + 0x0000002Cu;
/* 028CC9E8 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
/* 028CC9EC */ _t24 = cpu->r[4] + 0x00000030u;
/* 028CC9EC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
/* 028CC9F0 */ _t25 = cpu->r[3] + 0x00000030u;
/* 028CC9F0 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]);
/* 028CC9F4 */ _t26 = cpu->r[4] + 0x00000034u;
/* 028CC9F4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t26);
/* 028CC9F8 */ _t27 = cpu->r[3] + 0x00000034u;
/* 028CC9F8 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]);
/* 028CC9FC */ _t28 = cpu->r[4] + 0x00000038u;
/* 028CC9FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
/* 028CCA00 */ _t29 = cpu->r[3] + 0x00000038u;
/* 028CCA00 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
/* 028CCA04 */ _t30 = cpu->r[4] + 0x0000003Cu;
/* 028CCA04 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t30);
/* 028CCA08 */ _t31 = cpu->r[3] + 0x0000003Cu;
/* 028CCA08 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[0]);
/* 028CCA0C */ return;
}
// fn_028CCA10 @ 0x28cca10
void Gambit_fn_028CCA10(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211;
L_028CCA10: ; // 0x28cca10
/* 028CCA10 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
/* 028CCA10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CCA10 */ cpu->r[1] = _t0;
/* 028CCA14 */ /* nop */
/* 028CCA18 */ cpu->r[0] = cpu->lr;
/* 028CCA1C */ cpu->r[28] = cpu->r[3];
/* 028CCA20 */ _t1 = cpu->r[1] + 0x0000003Cu;
/* 028CCA20 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028CCA24 */ cpu->r[29] = cpu->r[4];
/* 028CCA28 */ cpu->r[25] = 0x10140000u;
/* 028CCA2C */ cpu->r[3] = 0x000001C8u;
/* 028CCA30 */ _t2 = cpu->r[28] + 0x000000DCu;
/* 028CCA30 */ cpu->r[4] = rbrew_read32(cpu->mem, _t2);
/* 028CCA34 */ cpu->r[5] = cpu->r[25] + 0xFFFF9F56u;
/* 028CCA38 */ Gambit_fn_02801AF0(cpu);
/* 028CCA3C */ cpu->r[30] = cpu->r[3];
/* 028CCA3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028CCA40 */ cpu->r[27] = 0x00000000u;
/* 028CCA44 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CCA44 */ _t4 = _t3 & 0x00000001u;
/* 028CCA44 */ if (_t4) goto L_028CCDD8; else goto L_028CCA48;
L_028CCA48: ; // 0x28cca48
/* 028CCA48 */ cpu->r[21] = cpu->r[30];
/* 028CCA48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
/* 028CCA4C */ cpu->r[26] = 0x10110000u;
/* 028CCA50 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CCA50 */ _t6 = _t5 & 0x00000001u;
/* 028CCA50 */ if (_t6) goto L_028CCA54; else goto L_028CCA64;
L_028CCA54: ; // 0x28cca54
/* 028CCA54 */ cpu->r[3] = 0x000001B0u;
/* 028CCA58 */ Gambit_fn_02801A78(cpu);
/* 028CCA5C */ cpu->r[21] = cpu->r[3];
/* 028CCA5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
/* 028CCA60 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CCA60 */ _t8 = _t7 & 0x00000001u;
/* 028CCA60 */ if (_t8) goto L_028CCC98; else goto L_028CCA64;
L_028CCA64: ; // 0x28cca64
/* 028CCA64 */ _t9 = cpu->r[21] + 0x00000000u;
/* 028CCA64 */ rbrew_write32(cpu->mem, _t9, cpu->r[27]);
/* 028CCA68 */ cpu->r[6] = 0x00000000u;
/* 028CCA6C */ _t10 = cpu->r[21] + 0x00000004u;
/* 028CCA6C */ rbrew_write32(cpu->mem, _t10, cpu->r[27]);
/* 028CCA70 */ cpu->r[3] = cpu->r[21] + 0x00000018u;
/* 028CCA74 */ cpu->r[5] = cpu->r[6];
/* 028CCA78 */ _t11 = cpu->r[21] + 0x00000008u;
/* 028CCA78 */ rbrew_write32(cpu->mem, _t11, cpu->r[27]);
/* 028CCA7C */ Gambit_fn_02838654(cpu);
/* 028CCA80 */ cpu->r[3] = cpu->r[21] + 0x00000028u;
/* 028CCA80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CCA84 */ _t12 = cpu->r[21] + 0x00000020u;
/* 028CCA84 */ rbrew_write32(cpu->mem, _t12, cpu->r[27]);
/* 028CCA88 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CCA88 */ _t14 = _t13 & 0x00000001u;
/* 028CCA88 */ if (_t14) goto L_028CCA8C; else goto L_028CCA9C;
L_028CCA8C: ; // 0x28cca8c
/* 028CCA8C */ cpu->r[3] = 0x00000001u;
/* 028CCA90 */ Gambit_fn_02801A78(cpu);
/* 028CCA94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CCA98 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CCA98 */ _t16 = _t15 & 0x00000001u;
/* 028CCA98 */ if (_t16) goto L_028CCAA0; else goto L_028CCA9C;
L_028CCA9C: ; // 0x28cca9c
/* 028CCA9C */ _t17 = cpu->r[3] + 0x00000000u;
/* 028CCA9C */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[27]);
L_028CCAA0: ; // 0x28ccaa0
/* 028CCAA0 */ cpu->r[23] = 0x10140000u;
/* 028CCAA4 */ _t18 = cpu->r[21] + 0x0000002Cu;
/* 028CCAA4 */ rbrew_write32(cpu->mem, _t18, cpu->r[27]);
/* 028CCAA8 */ cpu->r[22] = cpu->r[21] + 0x00000030u;
/* 028CCAA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
/* 028CCAAC */ cpu->r[23] = cpu->r[23] + 0xFFFF9F74u;
/* 028CCAB0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CCAB0 */ _t20 = _t19 & 0x00000001u;
/* 028CCAB0 */ if (_t20) goto L_028CCAB4; else goto L_028CCAC4;
L_028CCAB4: ; // 0x28ccab4
/* 028CCAB4 */ cpu->r[3] = 0x0000004Cu;
/* 028CCAB8 */ Gambit_fn_02801A78(cpu);
/* 028CCABC */ cpu->r[22] = cpu->r[3];
/* 028CCABC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
/* 028CCAC0 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CCAC0 */ _t22 = _t21 & 0x00000001u;
/* 028CCAC0 */ if (_t22) goto L_028CCB58; else goto L_028CCAC4;
L_028CCAC4: ; // 0x28ccac4
/* 028CCAC4 */ cpu->r[24] = cpu->r[22];
/* 028CCAC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
/* 028CCAC8 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CCAC8 */ _t24 = _t23 & 0x00000001u;
/* 028CCAC8 */ if (_t24) goto L_028CCACC; else goto L_028CCADC;
L_028CCACC: ; // 0x28ccacc
/* 028CCACC */ cpu->r[3] = 0x0000004Cu;
/* 028CCAD0 */ Gambit_fn_02801A78(cpu);
/* 028CCAD4 */ cpu->r[24] = cpu->r[3];
/* 028CCAD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
/* 028CCAD8 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CCAD8 */ _t26 = _t25 & 0x00000001u;
/* 028CCAD8 */ if (_t26) goto L_028CCB4C; else goto L_028CCADC;
L_028CCADC: ; // 0x28ccadc
/* 028CCADC */ cpu->r[3] = cpu->r[24];
/* 028CCADC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CCAE0 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CCAE0 */ _t28 = _t27 & 0x00000001u;
/* 028CCAE0 */ if (_t28) goto L_028CCAE4; else goto L_028CCB1C;
L_028CCAE4: ; // 0x28ccae4
/* 028CCAE4 */ cpu->r[3] = 0x0000000Cu;
/* 028CCAE8 */ Gambit_fn_02801A78(cpu);
/* 028CCAEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CCAF0 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CCAF0 */ _t30 = _t29 & 0x00000001u;
/* 028CCAF0 */ if (_t30) goto L_028CCAF4; else goto L_028CCB1C;
L_028CCAF4: ; // 0x28ccaf4
/* 028CCAF4 */ cpu->r[0] = 0x10140000u;
/* 028CCAF8 */ _t31 = cpu->r[26] + 0x00007399u;
/* 028CCAF8 */ cpu->r[31] = rbrew_read8(cpu->mem, _t31);
/* 028CCAFC */ cpu->r[0] = cpu->r[0] + 0xFFFF9FACu;
/* 028CCB00 */ _t32 = cpu->r[24] + 0x00000000u;
/* 028CCB00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
/* 028CCB04 */ _t33 = cpu->r[24] + 0x00000004u;
/* 028CCB04 */ rbrew_write32(cpu->mem, _t33, cpu->r[0]);
/* 028CCB08 */ cpu->r[0] = 0x10140000u;
/* 028CCB0C */ _t34 = cpu->r[12] + 0x00000000u;
/* 028CCB0C */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[31]);
/* 028CCB10 */ cpu->r[0] = cpu->r[0] + 0xFFFF9FC4u;
/* 028CCB14 */ _t35 = cpu->r[22] + 0x00000004u;
/* 028CCB14 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
/* 028CCB18 */ goto L_028CCB58;
L_028CCB1C: ; // 0x28ccb1c
/* 028CCB1C */ cpu->r[9] = cpu->r[24] + 0x0000000Cu;
/* 028CCB20 */ _t36 = cpu->r[3] + 0x00000004u;
/* 028CCB20 */ rbrew_write32(cpu->mem, _t36, cpu->r[23]);
/* 028CCB24 */ cpu->r[0] = 0x00000040u;
/* 028CCB28 */ _t37 = cpu->r[3] + 0x00000000u;
/* 028CCB28 */ rbrew_write32(cpu->mem, _t37, cpu->r[9]);
/* 028CCB2C */ _t38 = cpu->r[3] + 0x00000008u;
/* 028CCB2C */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
/* 028CCB30 */ _t39 = cpu->r[26] + 0x00007399u;
/* 028CCB30 */ cpu->r[31] = rbrew_read8(cpu->mem, _t39);
/* 028CCB34 */ cpu->r[0] = 0x10140000u;
/* 028CCB38 */ _t40 = cpu->r[24] + 0x00000000u;
/* 028CCB38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t40);
/* 028CCB3C */ cpu->r[0] = cpu->r[0] + 0xFFFF9FACu;
/* 028CCB40 */ _t41 = cpu->r[24] + 0x0000004Bu;
/* 028CCB40 */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[31]);
/* 028CCB44 */ _t42 = cpu->r[24] + 0x00000004u;
/* 028CCB44 */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
/* 028CCB48 */ _t43 = cpu->r[12] + 0x00000000u;
/* 028CCB48 */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[31]);
L_028CCB4C: ; // 0x28ccb4c
/* 028CCB4C */ cpu->r[0] = 0x10140000u;
/* 028CCB50 */ cpu->r[0] = cpu->r[0] + 0xFFFF9FC4u;
/* 028CCB54 */ _t44 = cpu->r[22] + 0x00000004u;
/* 028CCB54 */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
L_028CCB58: ; // 0x28ccb58
/* 028CCB58 */ cpu->r[24] = 0x10140000u;
/* 028CCB5C */ cpu->r[20] = cpu->r[21] + 0x0000007Cu;
/* 028CCB5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
/* 028CCB60 */ cpu->r[24] = cpu->r[24] + 0xFFFF9FDCu;
/* 028CCB64 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CCB64 */ _t46 = _t45 & 0x00000001u;
/* 028CCB64 */ if (_t46) goto L_028CCB68; else goto L_028CCB78;
L_028CCB68: ; // 0x28ccb68
/* 028CCB68 */ cpu->r[3] = 0x0000002Cu;
/* 028CCB6C */ Gambit_fn_02801A78(cpu);
/* 028CCB70 */ cpu->r[20] = cpu->r[3];
/* 028CCB70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
/* 028CCB74 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CCB74 */ _t48 = _t47 & 0x00000001u;
/* 028CCB74 */ if (_t48) goto L_028CCBFC; else goto L_028CCB78;
L_028CCB78: ; // 0x28ccb78
/* 028CCB78 */ cpu->r[22] = cpu->r[20];
/* 028CCB78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
/* 028CCB7C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CCB7C */ _t50 = _t49 & 0x00000001u;
/* 028CCB7C */ if (_t50) goto L_028CCB80; else goto L_028CCB90;
L_028CCB80: ; // 0x28ccb80
/* 028CCB80 */ cpu->r[3] = 0x0000002Cu;
/* 028CCB84 */ Gambit_fn_02801A78(cpu);
/* 028CCB88 */ cpu->r[22] = cpu->r[3];
/* 028CCB88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
/* 028CCB8C */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CCB8C */ _t52 = _t51 & 0x00000001u;
/* 028CCB8C */ if (_t52) goto L_028CCBF0; else goto L_028CCB90;
L_028CCB90: ; // 0x28ccb90
/* 028CCB90 */ cpu->r[3] = cpu->r[22];
/* 028CCB90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CCB94 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CCB94 */ _t54 = _t53 & 0x00000001u;
/* 028CCB94 */ if (_t54) goto L_028CCB98; else goto L_028CCBC8;
L_028CCB98: ; // 0x28ccb98
/* 028CCB98 */ cpu->r[3] = 0x0000000Cu;
/* 028CCB9C */ Gambit_fn_02801A78(cpu);
/* 028CCBA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CCBA4 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CCBA4 */ _t56 = _t55 & 0x00000001u;
/* 028CCBA4 */ if (_t56) goto L_028CCBA8; else goto L_028CCBC8;
L_028CCBA8: ; // 0x28ccba8
/* 028CCBA8 */ _t57 = cpu->r[26] + 0x00007399u;
/* 028CCBA8 */ cpu->r[31] = rbrew_read8(cpu->mem, _t57);
/* 028CCBAC */ cpu->r[5] = 0x10140000u;
/* 028CCBB0 */ _t58 = cpu->r[22] + 0x00000000u;
/* 028CCBB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t58);
/* 028CCBB4 */ _t59 = cpu->r[22] + 0x00000004u;
/* 028CCBB4 */ rbrew_write32(cpu->mem, _t59, cpu->r[24]);
/* 028CCBB8 */ cpu->r[5] = cpu->r[5] + 0xFFFF9FF4u;
/* 028CCBBC */ _t60 = cpu->r[12] + 0x00000000u;
/* 028CCBBC */ rbrew_write8(cpu->mem, _t60, (uint8_t)cpu->r[31]);
/* 028CCBC0 */ _t61 = cpu->r[20] + 0x00000004u;
/* 028CCBC0 */ rbrew_write32(cpu->mem, _t61, cpu->r[5]);
/* 028CCBC4 */ goto L_028CCBFC;
L_028CCBC8: ; // 0x28ccbc8
/* 028CCBC8 */ cpu->r[10] = cpu->r[22] + 0x0000000Cu;
/* 028CCBCC */ _t62 = cpu->r[3] + 0x00000004u;
/* 028CCBCC */ rbrew_write32(cpu->mem, _t62, cpu->r[23]);
/* 028CCBD0 */ cpu->r[0] = 0x00000020u;
/* 028CCBD4 */ _t63 = cpu->r[3] + 0x00000000u;
/* 028CCBD4 */ rbrew_write32(cpu->mem, _t63, cpu->r[10]);
/* 028CCBD8 */ _t64 = cpu->r[3] + 0x00000008u;
/* 028CCBD8 */ rbrew_write32(cpu->mem, _t64, cpu->r[0]);
/* 028CCBDC */ _t65 = cpu->r[26] + 0x00007399u;
/* 028CCBDC */ cpu->r[31] = rbrew_read8(cpu->mem, _t65);
/* 028CCBE0 */ _t66 = cpu->r[22] + 0x00000004u;
/* 028CCBE0 */ rbrew_write32(cpu->mem, _t66, cpu->r[24]);
/* 028CCBE4 */ _t67 = cpu->r[22] + 0x00000000u;
/* 028CCBE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t67);
/* 028CCBE8 */ _t68 = cpu->r[22] + 0x0000002Bu;
/* 028CCBE8 */ rbrew_write8(cpu->mem, _t68, (uint8_t)cpu->r[31]);
/* 028CCBEC */ _t69 = cpu->r[12] + 0x00000000u;
/* 028CCBEC */ rbrew_write8(cpu->mem, _t69, (uint8_t)cpu->r[31]);
L_028CCBF0: ; // 0x28ccbf0
/* 028CCBF0 */ cpu->r[5] = 0x10140000u;
/* 028CCBF4 */ cpu->r[5] = cpu->r[5] + 0xFFFF9FF4u;
/* 028CCBF8 */ _t70 = cpu->r[20] + 0x00000004u;
/* 028CCBF8 */ rbrew_write32(cpu->mem, _t70, cpu->r[5]);
L_028CCBFC: ; // 0x28ccbfc
/* 028CCBFC */ cpu->r[21] = cpu->r[21] + 0x000000A8u;
/* 028CCBFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
/* 028CCC00 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CCC00 */ _t72 = _t71 & 0x00000001u;
/* 028CCC00 */ if (_t72) goto L_028CCC04; else goto L_028CCC14;
L_028CCC04: ; // 0x28ccc04
/* 028CCC04 */ cpu->r[3] = 0x0000002Cu;
/* 028CCC08 */ Gambit_fn_02801A78(cpu);
/* 028CCC0C */ cpu->r[21] = cpu->r[3];
/* 028CCC0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
/* 028CCC10 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CCC10 */ _t74 = _t73 & 0x00000001u;
/* 028CCC10 */ if (_t74) goto L_028CCC98; else goto L_028CCC14;
L_028CCC14: ; // 0x28ccc14
/* 028CCC14 */ cpu->r[22] = cpu->r[21];
/* 028CCC14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
/* 028CCC18 */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CCC18 */ _t76 = _t75 & 0x00000001u;
/* 028CCC18 */ if (_t76) goto L_028CCC1C; else goto L_028CCC2C;
L_028CCC1C: ; // 0x28ccc1c
/* 028CCC1C */ cpu->r[3] = 0x0000002Cu;
/* 028CCC20 */ Gambit_fn_02801A78(cpu);
/* 028CCC24 */ cpu->r[22] = cpu->r[3];
/* 028CCC24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
/* 028CCC28 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CCC28 */ _t78 = _t77 & 0x00000001u;
/* 028CCC28 */ if (_t78) goto L_028CCC8C; else goto L_028CCC2C;
L_028CCC2C: ; // 0x28ccc2c
/* 028CCC2C */ cpu->r[3] = cpu->r[22];
/* 028CCC2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CCC30 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CCC30 */ _t80 = _t79 & 0x00000001u;
/* 028CCC30 */ if (_t80) goto L_028CCC34; else goto L_028CCC64;
L_028CCC34: ; // 0x28ccc34
/* 028CCC34 */ cpu->r[3] = 0x0000000Cu;
/* 028CCC38 */ Gambit_fn_02801A78(cpu);
/* 028CCC3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CCC40 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CCC40 */ _t82 = _t81 & 0x00000001u;
/* 028CCC40 */ if (_t82) goto L_028CCC44; else goto L_028CCC64;
L_028CCC44: ; // 0x28ccc44
/* 028CCC44 */ _t83 = cpu->r[26] + 0x00007399u;
/* 028CCC44 */ cpu->r[31] = rbrew_read8(cpu->mem, _t83);
/* 028CCC48 */ cpu->r[9] = 0x10140000u;
/* 028CCC4C */ _t84 = cpu->r[22] + 0x00000000u;
/* 028CCC4C */ cpu->r[8] = rbrew_read32(cpu->mem, _t84);
/* 028CCC50 */ _t85 = cpu->r[22] + 0x00000004u;
/* 028CCC50 */ rbrew_write32(cpu->mem, _t85, cpu->r[24]);
/* 028CCC54 */ cpu->r[9] = cpu->r[9] + 0xFFFF9FF4u;
/* 028CCC58 */ _t86 = cpu->r[8] + 0x00000000u;
/* 028CCC58 */ rbrew_write8(cpu->mem, _t86, (uint8_t)cpu->r[31]);
/* 028CCC5C */ _t87 = cpu->r[21] + 0x00000004u;
/* 028CCC5C */ rbrew_write32(cpu->mem, _t87, cpu->r[9]);
/* 028CCC60 */ goto L_028CCC98;
L_028CCC64: ; // 0x28ccc64
/* 028CCC64 */ cpu->r[6] = cpu->r[22] + 0x0000000Cu;
/* 028CCC68 */ _t88 = cpu->r[3] + 0x00000004u;
/* 028CCC68 */ rbrew_write32(cpu->mem, _t88, cpu->r[23]);
/* 028CCC6C */ cpu->r[7] = 0x00000020u;
/* 028CCC70 */ _t89 = cpu->r[3] + 0x00000000u;
/* 028CCC70 */ rbrew_write32(cpu->mem, _t89, cpu->r[6]);
/* 028CCC74 */ _t90 = cpu->r[3] + 0x00000008u;
/* 028CCC74 */ rbrew_write32(cpu->mem, _t90, cpu->r[7]);
/* 028CCC78 */ _t91 = cpu->r[26] + 0x00007399u;
/* 028CCC78 */ cpu->r[31] = rbrew_read8(cpu->mem, _t91);
/* 028CCC7C */ _t92 = cpu->r[22] + 0x00000004u;
/* 028CCC7C */ rbrew_write32(cpu->mem, _t92, cpu->r[24]);
/* 028CCC80 */ _t93 = cpu->r[22] + 0x00000000u;
/* 028CCC80 */ cpu->r[8] = rbrew_read32(cpu->mem, _t93);
/* 028CCC84 */ _t94 = cpu->r[22] + 0x0000002Bu;
/* 028CCC84 */ rbrew_write8(cpu->mem, _t94, (uint8_t)cpu->r[31]);
/* 028CCC88 */ _t95 = cpu->r[8] + 0x00000000u;
/* 028CCC88 */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[31]);
L_028CCC8C: ; // 0x28ccc8c
/* 028CCC8C */ cpu->r[9] = 0x10140000u;
/* 028CCC90 */ cpu->r[9] = cpu->r[9] + 0xFFFF9FF4u;
/* 028CCC94 */ _t96 = cpu->r[21] + 0x00000004u;
/* 028CCC94 */ rbrew_write32(cpu->mem, _t96, cpu->r[9]);
L_028CCC98: ; // 0x28ccc98
/* 028CCC98 */ cpu->r[12] = 0x10140000u;
/* 028CCC9C */ _t97 = cpu->r[30] + 0x000001B4u;
/* 028CCC9C */ rbrew_write32(cpu->mem, _t97, cpu->r[27]);
/* 028CCCA0 */ _t98 = cpu->r[12] + 0xFFFFA0C0u;
/* 028CCCA0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t98);
/* 028CCCA4 */ cpu->r[3] = cpu->r[29];
/* 028CCCA8 */ _t99 = cpu->r[30] + 0x000001BCu;
/* 028CCCA8 */ rbrew_write32(cpu->mem, _t99, cpu->r[27]);
/* 028CCCAC */ cpu->r[4] = 0x00000000u;
/* 028CCCB0 */ _t100 = cpu->r[30] + 0x000001C0u;
/* 028CCCB0 */ rbrew_write_f32(cpu->mem, _t100, cpu->f[0]);
/* 028CCCB4 */ Gambit_fn_028BE94C(cpu);
/* 028CCCB8 */ cpu->r[31] = cpu->r[3];
/* 028CCCB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CCCBC */ cpu->r[24] = 0x101D0000u;
/* 028CCCC0 */ _t101 = cpu->r[30] + 0x000001B0u;
/* 028CCCC0 */ rbrew_write32(cpu->mem, _t101, cpu->r[31]);
/* 028CCCC4 */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CCCC4 */ _t103 = _t102 & 0x00000001u;
/* 028CCCC4 */ if (_t103) goto L_028CCD4C; else goto L_028CCCC8;
L_028CCCC8: ; // 0x28cccc8
/* 028CCCC8 */ _t104 = cpu->r[24] + 0xFFFFC3D4u;
/* 028CCCC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t104);
/* 028CCCCC */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000006u, 0x00000000u, 0x00000019u);
/* 028CCCD0 */ _t105 = cpu->r[28] + 0x000000DCu;
/* 028CCCD0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t105);
/* 028CCCD4 */ cpu->r[5] = cpu->r[25] + 0xFFFF9F56u;
/* 028CCCD8 */ cpu->r[3] = cpu->r[11] + cpu->r[12];
/* 028CCCDC */ Gambit_fn_02801B08(cpu);
/* 028CCCE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CCCE4 */ _t106 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CCCE4 */ _t107 = _t106 & 0x00000001u;
/* 028CCCE4 */ if (_t107) goto L_028CCD38; else goto L_028CCCE8;
L_028CCCE8: ; // 0x28ccce8
/* 028CCCE8 */ cpu->r[6] = 0x028D0000u;
/* 028CCCEC */ _t108 = cpu->r[24] + 0xFFFFC3D4u;
/* 028CCCEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t108);
/* 028CCCF0 */ cpu->r[5] = 0x00000040u;
/* 028CCCF4 */ cpu->r[6] = cpu->r[6] + 0xFFFFE6C8u;
/* 028CCCF8 */ cpu->r[4] = cpu->r[31];
/* 028CCCFC */ cpu->r[3] = cpu->r[3] + cpu->r[0];
/* 028CCD00 */ cpu->r[7] = 0x00000000u;
/* 028CCD04 */ Gambit_fn_02C82DBC(cpu);
/* 028CCD08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CCD0C */ _t109 = cpu->r[30] + 0x000001B4u;
/* 028CCD0C */ rbrew_write32(cpu->mem, _t109, cpu->r[3]);
/* 028CCD10 */ _t110 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CCD10 */ _t111 = _t110 & 0x00000001u;
/* 028CCD10 */ if (_t111) goto L_028CCDD0; else goto L_028CCD14;
L_028CCD14: ; // 0x28ccd14
/* 028CCD14 */ _t112 = cpu->r[30] + 0x000001B0u;
/* 028CCD14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t112);
/* 028CCD18 */ cpu->r[4] = 0x00000000u;
/* 028CCD1C */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000006u, 0x00000000u, 0x00000019u);
/* 028CCD20 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
/* 028CCD24 */ Gambit_fn_028C2A24(cpu);
/* 028CCD28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CCD2C */ cpu->r[31] = cpu->r[3];
/* 028CCD30 */ _t113 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CCD30 */ _t114 = _t113 & 0x00000001u;
/* 028CCD30 */ if (_t114) goto L_028CCD64; else goto L_028CCD34;
L_028CCD34: ; // 0x28ccd34
/* 028CCD34 */ goto L_028CCD60;
L_028CCD38: ; // 0x28ccd38
/* 028CCD38 */ cpu->r[3] = 0x00000000u;
/* 028CCD3C */ _t115 = cpu->r[30] + 0x000001B4u;
/* 028CCD3C */ rbrew_write32(cpu->mem, _t115, cpu->r[3]);
/* 028CCD40 */ cpu->r[3] = cpu->r[30];
/* 028CCD44 */ Gambit_fn_02801BB0(cpu);
/* 028CCD48 */ goto L_028CCDD8;
L_028CCD4C: ; // 0x28ccd4c
/* 028CCD4C */ _t116 = cpu->r[30] + 0x000001B4u;
/* 028CCD4C */ rbrew_write32(cpu->mem, _t116, cpu->r[27]);
/* 028CCD50 */ Gambit_fn_028C2A24(cpu);
/* 028CCD54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CCD58 */ cpu->r[31] = cpu->r[3];
/* 028CCD5C */ _t117 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CCD5C */ _t118 = _t117 & 0x00000001u;
/* 028CCD5C */ if (_t118) goto L_028CCD64; else goto L_028CCD60;
L_028CCD60: ; // 0x28ccd60
/* 028CCD60 */ _t119 = cpu->r[3] + 0x0000001Cu;
/* 028CCD60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t119);
L_028CCD64: ; // 0x28ccd64
/* 028CCD64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CCD68 */ _t120 = cpu->r[30] + 0x000001B8u;
/* 028CCD68 */ rbrew_write32(cpu->mem, _t120, cpu->r[31]);
/* 028CCD6C */ _t121 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CCD6C */ _t122 = _t121 & 0x00000001u;
/* 028CCD6C */ if (_t122) goto L_028CCDF0; else goto L_028CCD70;
L_028CCD70: ; // 0x28ccd70
/* 028CCD70 */ _t123 = cpu->r[24] + 0xFFFFC3D4u;
/* 028CCD70 */ cpu->r[7] = rbrew_read32(cpu->mem, _t123);
/* 028CCD74 */ cpu->r[6] = rbrew_rlwinm(cpu->r[31], 0x00000005u, 0x00000000u, 0x0000001Au);
/* 028CCD78 */ _t124 = cpu->r[28] + 0x000000DCu;
/* 028CCD78 */ cpu->r[4] = rbrew_read32(cpu->mem, _t124);
/* 028CCD7C */ cpu->r[5] = cpu->r[25] + 0xFFFF9F56u;
/* 028CCD80 */ cpu->r[3] = cpu->r[6] + cpu->r[7];
/* 028CCD84 */ Gambit_fn_02801B08(cpu);
/* 028CCD88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CCD8C */ _t125 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CCD8C */ _t126 = _t125 & 0x00000001u;
/* 028CCD8C */ if (_t126) goto L_028CCDC0; else goto L_028CCD90;
L_028CCD90: ; // 0x28ccd90
/* 028CCD90 */ cpu->r[6] = 0x028D0000u;
/* 028CCD94 */ _t127 = cpu->r[24] + 0xFFFFC3D4u;
/* 028CCD94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t127);
/* 028CCD98 */ cpu->r[5] = 0x00000020u;
/* 028CCD9C */ cpu->r[6] = cpu->r[6] + 0xFFFFE720u;
/* 028CCDA0 */ cpu->r[4] = cpu->r[31];
/* 028CCDA4 */ cpu->r[3] = cpu->r[3] + cpu->r[0];
/* 028CCDA8 */ cpu->r[7] = 0x00000000u;
/* 028CCDAC */ Gambit_fn_02C82DBC(cpu);
/* 028CCDB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CCDB4 */ _t128 = cpu->r[30] + 0x000001BCu;
/* 028CCDB4 */ rbrew_write32(cpu->mem, _t128, cpu->r[3]);
/* 028CCDB8 */ _t129 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CCDB8 */ _t130 = _t129 & 0x00000001u;
/* 028CCDB8 */ if (_t130) goto L_028CCDBC; else goto L_028CCDF4;
L_028CCDBC: ; // 0x28ccdbc
/* 028CCDBC */ goto L_028CCDC8;
L_028CCDC0: ; // 0x28ccdc0
/* 028CCDC0 */ cpu->r[3] = 0x00000000u;
/* 028CCDC4 */ _t131 = cpu->r[30] + 0x000001BCu;
/* 028CCDC4 */ rbrew_write32(cpu->mem, _t131, cpu->r[3]);
L_028CCDC8: ; // 0x28ccdc8
/* 028CCDC8 */ _t132 = cpu->r[30] + 0x000001B4u;
/* 028CCDC8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t132);
/* 028CCDCC */ Gambit_fn_02801BB0(cpu);
L_028CCDD0: ; // 0x28ccdd0
/* 028CCDD0 */ cpu->r[3] = cpu->r[30];
/* 028CCDD4 */ Gambit_fn_02801BB0(cpu);
L_028CCDD8: ; // 0x28ccdd8
/* 028CCDD8 */ /* nop */
/* 028CCDDC */ _t133 = cpu->r[1] + 0x0000003Cu;
/* 028CCDDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t133);
/* 028CCDE0 */ cpu->lr = cpu->r[0];
/* 028CCDE4 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
/* 028CCDE8 */ cpu->r[3] = 0x00000000u;
/* 028CCDEC */ return;
L_028CCDF0: ; // 0x28ccdf0
/* 028CCDF0 */ _t134 = cpu->r[30] + 0x000001BCu;
/* 028CCDF0 */ rbrew_write32(cpu->mem, _t134, cpu->r[27]);
L_028CCDF4: ; // 0x28ccdf4
/* 028CCDF4 */ _t135 = cpu->r[30] + 0x00000008u;
/* 028CCDF4 */ rbrew_write32(cpu->mem, _t135, cpu->r[29]);
/* 028CCDF8 */ cpu->r[5] = 0x00000002u;
/* 028CCDFC */ _t136 = cpu->r[30] + 0x00000028u;
/* 028CCDFC */ rbrew_write8(cpu->mem, _t136, (uint8_t)cpu->r[5]);
/* 028CCE00 */ rbrew_dispatch(cpu, 0x02d0a9f0u);
/* 028CCE04 */ cpu->r[7] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028CCE08 */ cpu->r[5] = cpu->r[7] + 0x101F0000u;
/* 028CCE0C */ _t137 = cpu->r[5] + 0x000065D0u;
/* 028CCE0C */ cpu->r[10] = rbrew_read32(cpu->mem, _t137);
/* 028CCE10 */ _t138 = cpu->r[30] + 0x00000020u;
/* 028CCE10 */ rbrew_write32(cpu->mem, _t138, cpu->r[27]);
/* 028CCE14 */ _t139 = cpu->r[30] + 0x0000000Cu;
/* 028CCE14 */ rbrew_write32(cpu->mem, _t139, cpu->r[10]);
/* 028CCE18 */ _t140 = cpu->r[29] + 0x00000008u;
/* 028CCE18 */ cpu->r[9] = rbrew_read32(cpu->mem, _t140);
/* 028CCE1C */ _t141 = cpu->r[30] + 0x0000002Cu;
/* 028CCE1C */ rbrew_write32(cpu->mem, _t141, cpu->r[27]);
/* 028CCE20 */ _t142 = cpu->r[30] + 0x00000024u;
/* 028CCE20 */ rbrew_write32(cpu->mem, _t142, cpu->r[9]);
/* 028CCE24 */ _t143 = cpu->r[29] + 0x0000000Eu;
/* 028CCE24 */ cpu->r[12] = rbrew_read8(cpu->mem, _t143);
/* 028CCE28 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
/* 028CCE2C */ cpu->r[0] = cpu->r[12] - cpu->r[0];
/* 028CCE30 */ _t144 = cpu->r[30] + 0x0000002Cu;
/* 028CCE30 */ cpu->r[11] = rbrew_read32(cpu->mem, _t144);
/* 028CCE34 */ cpu->r[3] = cpu->r[29];
/* 028CCE38 */ _t145 = cpu->r[30] + 0x000000D4u;
/* 028CCE38 */ rbrew_write8(cpu->mem, _t145, (uint8_t)cpu->r[0]);
/* 028CCE3C */ Gambit_fn_028BEE50(cpu);
/* 028CCE40 */ _t146 = cpu->r[30] + 0x000000D5u;
/* 028CCE40 */ rbrew_write8(cpu->mem, _t146, (uint8_t)cpu->r[3]);
/* 028CCE44 */ _t147 = cpu->r[26] + 0x00007399u;
/* 028CCE44 */ cpu->r[31] = rbrew_read8(cpu->mem, _t147);
/* 028CCE48 */ cpu->r[3] = cpu->r[29];
/* 028CCE4C */ _t148 = cpu->r[30] + 0x00000030u;
/* 028CCE4C */ cpu->r[7] = rbrew_read32(cpu->mem, _t148);
/* 028CCE50 */ _t149 = cpu->r[7] + 0x00000000u;
/* 028CCE50 */ rbrew_write8(cpu->mem, _t149, (uint8_t)cpu->r[31]);
/* 028CCE54 */ Gambit_fn_028BD9A0(cpu);
/* 028CCE58 */ _t150 = cpu->r[3] + 0x00000004u;
/* 028CCE58 */ cpu->r[8] = rbrew_read32(cpu->mem, _t150);
/* 028CCE5C */ _t151 = cpu->r[8] + 0x00000014u;
/* 028CCE5C */ cpu->r[9] = rbrew_read32(cpu->mem, _t151);
/* 028CCE60 */ cpu->ctr = cpu->r[9];
/* 028CCE64 */ _t152 = cpu->r[30] + 0x00000030u;
/* 028CCE64 */ cpu->r[26] = rbrew_read32(cpu->mem, _t152);
/* 028CCE68 */ cpu->r[25] = cpu->r[3];
/* 028CCE6C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CCE70 */ _t153 = cpu->r[25] + 0x00000000u;
/* 028CCE70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t153);
/* 028CCE74 */ _t154 = cpu->r[12] + 0x00000000u;
/* 028CCE74 */ cpu->r[0] = rbrew_read8(cpu->mem, _t154);
/* 028CCE78 */ cpu->r[27] = 0x00000000u;
/* 028CCE7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028CCE80 */ cpu->r[6] = 0x00080000u;
/* 028CCE84 */ _t155 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CCE84 */ _t156 = _t155 & 0x00000001u;
/* 028CCE84 */ if (_t156) goto L_028CCEC0; else goto L_028CCE88;
L_028CCE88: ; // 0x28cce88
/* 028CCE88 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
/* 028CCE8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[6]);
/* 028CCE90 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028CCE94 */ _t157 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CCE94 */ _t158 = _t157 & 0x00000001u;
/* 028CCE94 */ if (_t158) goto L_028CCEBC; else goto L_028CCE98;
L_028CCE98: ; // 0x28cce98
/* 028CCE98 */ _t159 = cpu->r[12] + 0x00000000u;
/* 028CCE98 */ cpu->r[0] = rbrew_read8(cpu->mem, _t159);
/* 028CCE9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028CCEA0 */ _t160 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CCEA0 */ _t161 = _t160 & 0x00000001u;
/* 028CCEA0 */ if (_t161) goto L_028CCEA4; else goto L_028CCE88;
L_028CCEA4: ; // 0x28ccea4
/* 028CCEA4 */ _t162 = cpu->r[30] + 0x00000038u;
/* 028CCEA4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t162);
/* 028CCEA8 */ _t163 = cpu->r[25] + 0x00000004u;
/* 028CCEA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t163);
/* 028CCEAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[5]);
/* 028CCEB0 */ _t164 = cpu->r[12] + 0x00000014u;
/* 028CCEB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t164);
/* 028CCEB4 */ _t165 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CCEB4 */ _t166 = _t165 & 0x00000001u;
/* 028CCEB4 */ if (_t166) goto L_028CCEB8; else goto L_028CCED4;
L_028CCEB8: ; // 0x28cceb8
/* 028CCEB8 */ goto L_028CCED8;
L_028CCEBC: ; // 0x28ccebc
/* 028CCEBC */ cpu->r[27] = 0x00000000u;
L_028CCEC0: ; // 0x28ccec0
/* 028CCEC0 */ _t167 = cpu->r[30] + 0x00000038u;
/* 028CCEC0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t167);
/* 028CCEC4 */ _t168 = cpu->r[25] + 0x00000004u;
/* 028CCEC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t168);
/* 028CCEC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[5]);
/* 028CCECC */ _t169 = cpu->r[12] + 0x00000014u;
/* 028CCECC */ cpu->r[0] = rbrew_read32(cpu->mem, _t169);
/* 028CCED0 */ _t170 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CCED0 */ _t171 = _t170 & 0x00000001u;
/* 028CCED0 */ if (_t171) goto L_028CCED8; else goto L_028CCED4;
L_028CCED4: ; // 0x28cced4
/* 028CCED4 */ cpu->r[27] = cpu->r[5] + 0xFFFFFFFFu;
L_028CCED8: ; // 0x28cced8
/* 028CCED8 */ cpu->ctr = cpu->r[0];
/* 028CCEDC */ cpu->r[3] = cpu->r[25];
/* 028CCEE0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CCEE4 */ _t172 = cpu->r[25] + 0x00000000u;
/* 028CCEE4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t172);
/* 028CCEE8 */ cpu->r[6] = 0x00000000u;
/* 028CCEEC */ cpu->r[5] = cpu->r[27];
/* 028CCEF0 */ cpu->r[3] = cpu->r[26];
/* 028CCEF4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028CCEF8 */ _t173 = cpu->r[26] + cpu->r[27];
/* 028CCEF8 */ rbrew_write8(cpu->mem, _t173, (uint8_t)cpu->r[31]);
/* 028CCEFC */ _t174 = cpu->r[30] + 0x0000007Cu;
/* 028CCEFC */ cpu->r[6] = rbrew_read32(cpu->mem, _t174);
/* 028CCF00 */ cpu->r[3] = cpu->r[29];
/* 028CCF04 */ _t175 = cpu->r[6] + 0x00000000u;
/* 028CCF04 */ rbrew_write8(cpu->mem, _t175, (uint8_t)cpu->r[31]);
/* 028CCF08 */ Gambit_fn_028BEFD0(cpu);
/* 028CCF0C */ _t176 = cpu->r[3] + 0x00000004u;
/* 028CCF0C */ cpu->r[7] = rbrew_read32(cpu->mem, _t176);
/* 028CCF10 */ _t177 = cpu->r[7] + 0x00000014u;
/* 028CCF10 */ cpu->r[8] = rbrew_read32(cpu->mem, _t177);
/* 028CCF14 */ cpu->ctr = cpu->r[8];
/* 028CCF18 */ _t178 = cpu->r[30] + 0x0000007Cu;
/* 028CCF18 */ cpu->r[26] = rbrew_read32(cpu->mem, _t178);
/* 028CCF1C */ cpu->r[25] = cpu->r[3];
/* 028CCF20 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CCF24 */ _t179 = cpu->r[25] + 0x00000000u;
/* 028CCF24 */ cpu->r[9] = rbrew_read32(cpu->mem, _t179);
/* 028CCF28 */ _t180 = cpu->r[9] + 0x00000000u;
/* 028CCF28 */ cpu->r[10] = rbrew_read8(cpu->mem, _t180);
/* 028CCF2C */ cpu->r[27] = 0x00000000u;
/* 028CCF30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
/* 028CCF34 */ cpu->r[11] = 0x00080000u;
/* 028CCF38 */ _t181 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CCF38 */ _t182 = _t181 & 0x00000001u;
/* 028CCF38 */ if (_t182) goto L_028CCF74; else goto L_028CCF3C;
L_028CCF3C: ; // 0x28ccf3c
/* 028CCF3C */ cpu->r[27] = cpu->r[27] + 0x00000001u;
/* 028CCF40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[11]);
/* 028CCF44 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
/* 028CCF48 */ _t183 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CCF48 */ _t184 = _t183 & 0x00000001u;
/* 028CCF48 */ if (_t184) goto L_028CCF70; else goto L_028CCF4C;
L_028CCF4C: ; // 0x28ccf4c
/* 028CCF4C */ _t185 = cpu->r[9] + 0x00000000u;
/* 028CCF4C */ cpu->r[0] = rbrew_read8(cpu->mem, _t185);
/* 028CCF50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028CCF54 */ _t186 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CCF54 */ _t187 = _t186 & 0x00000001u;
/* 028CCF54 */ if (_t187) goto L_028CCF58; else goto L_028CCF3C;
L_028CCF58: ; // 0x28ccf58
/* 028CCF58 */ _t188 = cpu->r[30] + 0x00000084u;
/* 028CCF58 */ cpu->r[6] = rbrew_read32(cpu->mem, _t188);
/* 028CCF5C */ _t189 = cpu->r[25] + 0x00000004u;
/* 028CCF5C */ cpu->r[5] = rbrew_read32(cpu->mem, _t189);
/* 028CCF60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[6]);
/* 028CCF64 */ _t190 = cpu->r[5] + 0x00000014u;
/* 028CCF64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t190);
/* 028CCF68 */ _t191 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CCF68 */ _t192 = _t191 & 0x00000001u;
/* 028CCF68 */ if (_t192) goto L_028CCF6C; else goto L_028CCF88;
L_028CCF6C: ; // 0x28ccf6c
/* 028CCF6C */ goto L_028CCF8C;
L_028CCF70: ; // 0x28ccf70
/* 028CCF70 */ cpu->r[27] = 0x00000000u;
L_028CCF74: ; // 0x28ccf74
/* 028CCF74 */ _t193 = cpu->r[30] + 0x00000084u;
/* 028CCF74 */ cpu->r[6] = rbrew_read32(cpu->mem, _t193);
/* 028CCF78 */ _t194 = cpu->r[25] + 0x00000004u;
/* 028CCF78 */ cpu->r[5] = rbrew_read32(cpu->mem, _t194);
/* 028CCF7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[6]);
/* 028CCF80 */ _t195 = cpu->r[5] + 0x00000014u;
/* 028CCF80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t195);
/* 028CCF84 */ _t196 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CCF84 */ _t197 = _t196 & 0x00000001u;
/* 028CCF84 */ if (_t197) goto L_028CCF8C; else goto L_028CCF88;
L_028CCF88: ; // 0x28ccf88
/* 028CCF88 */ cpu->r[27] = cpu->r[6] + 0xFFFFFFFFu;
L_028CCF8C: ; // 0x28ccf8c
/* 028CCF8C */ cpu->ctr = cpu->r[0];
/* 028CCF90 */ cpu->r[3] = cpu->r[25];
/* 028CCF94 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CCF98 */ _t198 = cpu->r[25] + 0x00000000u;
/* 028CCF98 */ cpu->r[4] = rbrew_read32(cpu->mem, _t198);
/* 028CCF9C */ cpu->r[6] = 0x00000000u;
/* 028CCFA0 */ cpu->r[5] = cpu->r[27];
/* 028CCFA4 */ cpu->r[3] = cpu->r[26];
/* 028CCFA8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028CCFAC */ _t199 = cpu->r[26] + cpu->r[27];
/* 028CCFAC */ rbrew_write8(cpu->mem, _t199, (uint8_t)cpu->r[31]);
/* 028CCFB0 */ _t200 = cpu->r[30] + 0x000000A8u;
/* 028CCFB0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t200);
/* 028CCFB4 */ _t201 = cpu->r[7] + 0x00000000u;
/* 028CCFB4 */ rbrew_write8(cpu->mem, _t201, (uint8_t)cpu->r[31]);
/* 028CCFB8 */ _t202 = cpu->r[28] + 0x000000D8u;
/* 028CCFB8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t202);
/* 028CCFBC */ cpu->r[3] = cpu->r[30] + 0x00000018u;
/* 028CCFC0 */ _t203 = cpu->r[30] + 0x00000010u;
/* 028CCFC0 */ rbrew_write32(cpu->mem, _t203, cpu->r[8]);
/* 028CCFC4 */ Gambit_fn_02838564(cpu);
/* 028CCFC8 */ cpu->r[9] = 0x10140000u;
/* 028CCFCC */ _t204 = cpu->r[9] + 0xFFFFA10Cu;
/* 028CCFCC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t204);
/* 028CCFD0 */ _t205 = cpu->r[30] + 0x000000E0u;
/* 028CCFD0 */ rbrew_write_f32(cpu->mem, _t205, cpu->f[0]);
/* 028CCFD4 */ _t206 = cpu->r[30] + 0x000000DCu;
/* 028CCFD4 */ rbrew_write_f32(cpu->mem, _t206, cpu->f[0]);
/* 028CCFD8 */ _t207 = cpu->r[30] + 0x000000E8u;
/* 028CCFD8 */ rbrew_write_f32(cpu->mem, _t207, cpu->f[0]);
/* 028CCFDC */ _t208 = cpu->r[30] + 0x000000E4u;
/* 028CCFDC */ rbrew_write_f32(cpu->mem, _t208, cpu->f[0]);
/* 028CCFE0 */ _t209 = cpu->r[29] + 0x00000110u;
/* 028CCFE0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t209);
/* 028CCFE4 */ cpu->r[4] = cpu->r[29] + 0x000000C4u;
/* 028CCFE8 */ cpu->r[3] = cpu->r[30] + 0x000000ECu;
/* 028CCFEC */ _t210 = cpu->r[30] + 0x000001ACu;
/* 028CCFEC */ rbrew_write_f32(cpu->mem, _t210, cpu->f[0]);
/* 028CCFF0 */ Gambit_fn_028CC98C(cpu);
/* 028CCFF4 */ cpu->r[4] = cpu->r[29] + 0x0000002Cu;
/* 028CCFF8 */ cpu->r[3] = cpu->r[3] + 0x00000040u;
/* 028CCFFC */ Gambit_fn_028CC98C(cpu);
/* 028CD000 */ cpu->r[4] = cpu->r[29] + 0x00000078u;
/* 028CD004 */ cpu->r[3] = cpu->r[30] + 0x0000016Cu;
/* 028CD008 */ Gambit_fn_028CC98C(cpu);
/* 028CD00C */ cpu->r[3] = cpu->r[30];
/* 028CD010 */ /* nop */
/* 028CD014 */ _t211 = cpu->r[1] + 0x0000003Cu;
/* 028CD014 */ cpu->r[0] = rbrew_read32(cpu->mem, _t211);
/* 028CD018 */ cpu->lr = cpu->r[0];
/* 028CD01C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
/* 028CD020 */ return;
}
// fn_028CD024 @ 0x28cd024
void Gambit_fn_028CD024(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
L_028CD024: ; // 0x28cd024
/* 028CD024 */ cpu->r[0] = cpu->lr;
/* 028CD028 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028CD028 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CD028 */ cpu->r[1] = _t0;
/* 028CD02C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028CD02C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028CD030 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028CD030 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028CD034 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028CD034 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028CD038 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028CD038 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028CD03C */ cpu->r[29] = cpu->r[3];
/* 028CD040 */ _t5 = cpu->r[29] + 0x00000004u;
/* 028CD040 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028CD044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CD048 */ cpu->r[30] = cpu->r[4];
/* 028CD04C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD04C */ _t7 = _t6 & 0x00000001u;
/* 028CD04C */ if (_t7) goto L_028CD090; else goto L_028CD050;
L_028CD050: ; // 0x28cd050
/* 028CD050 */ cpu->r[3] = cpu->r[29];
/* 028CD054 */ Gambit_fn_028CC924(cpu);
/* 028CD058 */ cpu->r[31] = cpu->r[3];
/* 028CD058 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CD05C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD05C */ _t9 = _t8 & 0x00000001u;
/* 028CD05C */ if (_t9) goto L_028CD090; else goto L_028CD060;
L_028CD060: ; // 0x28cd060
/* 028CD060 */ cpu->r[3] = cpu->r[29];
/* 028CD064 */ cpu->r[4] = cpu->r[30];
/* 028CD068 */ Gambit_fn_028CCA10(cpu);
/* 028CD06C */ cpu->r[10] = cpu->r[3];
/* 028CD06C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028CD070 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD070 */ _t11 = _t10 & 0x00000001u;
/* 028CD070 */ if (_t11) goto L_028CD090; else goto L_028CD074;
L_028CD074: ; // 0x28cd074
/* 028CD074 */ _t12 = cpu->r[31] + 0x0000000Cu;
/* 028CD074 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028CD078 */ cpu->r[3] = cpu->r[31];
/* 028CD07C */ cpu->r[4] = cpu->r[10] + cpu->r[0];
/* 028CD080 */ Gambit_fn_02801EBC(cpu);
/* 028CD084 */ _t13 = cpu->r[31] + 0x00000008u;
/* 028CD084 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
/* 028CD088 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028CD08C */ _t14 = cpu->r[31] + 0x00000008u;
/* 028CD08C */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
L_028CD090: ; // 0x28cd090
/* 028CD090 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028CD090 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
/* 028CD094 */ _t16 = cpu->r[1] + 0x0000001Cu;
/* 028CD094 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028CD098 */ _t17 = cpu->r[1] + 0x00000010u;
/* 028CD098 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
/* 028CD09C */ cpu->lr = cpu->r[0];
/* 028CD0A0 */ _t18 = cpu->r[1] + 0x00000014u;
/* 028CD0A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
/* 028CD0A4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028CD0A8 */ return;
}
// fn_028CD028 @ 0x28cd028
void Gambit_fn_028CD028(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
L_028CD028: ; // 0x28cd028
/* 028CD028 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028CD028 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CD028 */ cpu->r[1] = _t0;
/* 028CD02C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028CD02C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028CD030 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028CD030 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028CD034 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028CD034 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028CD038 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028CD038 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028CD03C */ cpu->r[29] = cpu->r[3];
/* 028CD040 */ _t5 = cpu->r[29] + 0x00000004u;
/* 028CD040 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028CD044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CD048 */ cpu->r[30] = cpu->r[4];
/* 028CD04C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD04C */ _t7 = _t6 & 0x00000001u;
/* 028CD04C */ if (_t7) goto L_028CD090; else goto L_028CD050;
L_028CD050: ; // 0x28cd050
/* 028CD050 */ cpu->r[3] = cpu->r[29];
/* 028CD054 */ Gambit_fn_028CC924(cpu);
/* 028CD058 */ cpu->r[31] = cpu->r[3];
/* 028CD058 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CD05C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD05C */ _t9 = _t8 & 0x00000001u;
/* 028CD05C */ if (_t9) goto L_028CD090; else goto L_028CD060;
L_028CD060: ; // 0x28cd060
/* 028CD060 */ cpu->r[3] = cpu->r[29];
/* 028CD064 */ cpu->r[4] = cpu->r[30];
/* 028CD068 */ Gambit_fn_028CCA10(cpu);
/* 028CD06C */ cpu->r[10] = cpu->r[3];
/* 028CD06C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028CD070 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD070 */ _t11 = _t10 & 0x00000001u;
/* 028CD070 */ if (_t11) goto L_028CD090; else goto L_028CD074;
L_028CD074: ; // 0x28cd074
/* 028CD074 */ _t12 = cpu->r[31] + 0x0000000Cu;
/* 028CD074 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028CD078 */ cpu->r[3] = cpu->r[31];
/* 028CD07C */ cpu->r[4] = cpu->r[10] + cpu->r[0];
/* 028CD080 */ Gambit_fn_02801EBC(cpu);
/* 028CD084 */ _t13 = cpu->r[31] + 0x00000008u;
/* 028CD084 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
/* 028CD088 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028CD08C */ _t14 = cpu->r[31] + 0x00000008u;
/* 028CD08C */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
L_028CD090: ; // 0x28cd090
/* 028CD090 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028CD090 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
/* 028CD094 */ _t16 = cpu->r[1] + 0x0000001Cu;
/* 028CD094 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028CD098 */ _t17 = cpu->r[1] + 0x00000010u;
/* 028CD098 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
/* 028CD09C */ cpu->lr = cpu->r[0];
/* 028CD0A0 */ _t18 = cpu->r[1] + 0x00000014u;
/* 028CD0A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
/* 028CD0A4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028CD0A8 */ return;
}
// fn_028CD0AC @ 0x28cd0ac
void Gambit_fn_028CD0AC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
L_028CD0AC: ; // 0x28cd0ac
/* 028CD0AC */ _t0 = cpu->r[4] + 0x0000000Cu;
/* 028CD0AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028CD0B0 */ _t1 = cpu->r[4] + 0x00000004u;
/* 028CD0B0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t1);
/* 028CD0B4 */ cpu->r[0] = cpu->r[4] - cpu->r[12];
/* 028CD0B8 */ cpu->r[3] = cpu->r[9] - cpu->r[12];
/* 028CD0BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]);
/* 028CD0C0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD0C0 */ _t3 = _t2 & 0x00000001u;
/* 028CD0C0 */ if (_t3) goto L_028CD0E4; else goto L_028CD0C4;
L_028CD0C4: ; // 0x28cd0c4
/* 028CD0C4 */ _t4 = cpu->r[3] + 0x00000008u;
/* 028CD0C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
/* 028CD0C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[5]);
/* 028CD0CC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD0CC */ _t6 = _t5 & 0x00000001u;
/* 028CD0CC */ if (_t6) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CD0CC */ goto L_028CD0D0;
L_028CD0D0: ; // 0x28cd0d0
/* 028CD0D0 */ cpu->r[11] = cpu->r[3] + cpu->r[12];
/* 028CD0D4 */ _t7 = cpu->r[11] + 0x00000004u;
/* 028CD0D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
/* 028CD0D8 */ cpu->r[3] = cpu->r[10] - cpu->r[12];
/* 028CD0DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]);
/* 028CD0E0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD0E0 */ _t9 = _t8 & 0x00000001u;
/* 028CD0E0 */ if (_t9) goto L_028CD0E4; else goto L_028CD0C4;
L_028CD0E4: ; // 0x28cd0e4
/* 028CD0E4 */ cpu->r[3] = 0x00000000u;
/* 028CD0E8 */ return;
}
// fn_028CD0EC @ 0x28cd0ec
void Gambit_fn_028CD0EC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_028CD0EC: ; // 0x28cd0ec
/* 028CD0EC */ cpu->r[0] = cpu->lr;
/* 028CD0F0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028CD0F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CD0F0 */ cpu->r[1] = _t0;
/* 028CD0F4 */ _t1 = cpu->r[1] + 0x00000014u;
/* 028CD0F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028CD0F8 */ cpu->r[31] = cpu->r[4];
/* 028CD0FC */ _t2 = cpu->r[1] + 0x00000010u;
/* 028CD0FC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028CD100 */ _t3 = cpu->r[1] + 0x00000008u;
/* 028CD100 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
/* 028CD104 */ cpu->r[30] = cpu->r[3];
/* 028CD108 */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028CD108 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
/* 028CD10C */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028CD10C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028CD110 */ Gambit_fn_028CC924(cpu);
/* 028CD114 */ cpu->r[4] = cpu->r[3];
/* 028CD114 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028CD118 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD118 */ _t7 = _t6 & 0x00000001u;
/* 028CD118 */ if (_t7) goto L_028CD1B0; else goto L_028CD11C;
L_028CD11C: ; // 0x28cd11c
/* 028CD11C */ cpu->r[5] = cpu->r[31];
/* 028CD120 */ cpu->r[3] = cpu->r[30];
/* 028CD124 */ Gambit_fn_028CD0AC(cpu);
/* 028CD128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CD12C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD12C */ _t9 = _t8 & 0x00000001u;
/* 028CD12C */ if (_t9) goto L_028CD150; else goto L_028CD130;
L_028CD130: ; // 0x28cd130
/* 028CD130 */ _t10 = cpu->r[1] + 0x00000008u;
/* 028CD130 */ cpu->r[28] = rbrew_read32(cpu->mem, _t10);
/* 028CD134 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028CD134 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
/* 028CD138 */ _t12 = cpu->r[1] + 0x0000001Cu;
/* 028CD138 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028CD13C */ _t13 = cpu->r[1] + 0x00000010u;
/* 028CD13C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
/* 028CD140 */ cpu->lr = cpu->r[0];
/* 028CD144 */ _t14 = cpu->r[1] + 0x00000014u;
/* 028CD144 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028CD148 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028CD14C */ return;
L_028CD150: ; // 0x28cd150
/* 028CD150 */ rbrew_dispatch(cpu, 0x02d0a9f0u);
/* 028CD154 */ cpu->r[6] = 0x101D0000u;
/* 028CD158 */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028CD15C */ _t15 = cpu->r[6] + 0xFFFF98FCu;
/* 028CD15C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028CD15C */ cpu->r[6] = _t15;
/* 028CD160 */ cpu->r[7] = 0x00000000u;
/* 028CD164 */ cpu->r[9] = cpu->r[8] + 0x101F0000u;
/* 028CD168 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]);
/* 028CD16C */ _t16 = cpu->r[9] + 0x000065D0u;
/* 028CD16C */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
/* 028CD170 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CD170 */ _t18 = _t17 & 0x00000001u;
/* 028CD170 */ if (_t18) goto L_028CD174; else goto L_028CD1B0;
L_028CD174: ; // 0x28cd174
/* 028CD174 */ cpu->r[29] = 0x00000000u;
L_028CD178: ; // 0x28cd178
/* 028CD178 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[28]);
/* 028CD17C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD17C */ _t20 = _t19 & 0x00000001u;
/* 028CD17C */ if (_t20) goto L_028CD19C; else goto L_028CD180;
L_028CD180: ; // 0x28cd180
/* 028CD180 */ _t21 = cpu->r[30] + 0x00000108u;
/* 028CD180 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
/* 028CD184 */ cpu->r[5] = cpu->r[31];
/* 028CD188 */ cpu->r[3] = cpu->r[30];
/* 028CD18C */ cpu->r[4] = cpu->r[12] + cpu->r[29];
/* 028CD190 */ Gambit_fn_028CD0AC(cpu);
/* 028CD194 */ cpu->r[0] = cpu->r[3];
/* 028CD194 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CD198 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD198 */ _t23 = _t22 & 0x00000001u;
/* 028CD198 */ if (_t23) goto L_028CD19C; else goto L_028CD1B4;
L_028CD19C: ; // 0x28cd19c
/* 028CD19C */ _t24 = cpu->r[6] + 0x00000000u;
/* 028CD19C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
/* 028CD1A0 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
/* 028CD1A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]);
/* 028CD1A8 */ cpu->r[29] = cpu->r[29] + 0x00000010u;
/* 028CD1AC */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CD1AC */ _t26 = _t25 & 0x00000001u;
/* 028CD1AC */ if (_t26) goto L_028CD178; else goto L_028CD1B0;
L_028CD1B0: ; // 0x28cd1b0
/* 028CD1B0 */ cpu->r[0] = 0x00000000u;
L_028CD1B4: ; // 0x28cd1b4
/* 028CD1B4 */ _t27 = cpu->r[1] + 0x00000008u;
/* 028CD1B4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t27);
/* 028CD1B8 */ _t28 = cpu->r[1] + 0x0000000Cu;
/* 028CD1B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t28);
/* 028CD1BC */ cpu->r[3] = cpu->r[0];
/* 028CD1C0 */ _t29 = cpu->r[1] + 0x0000001Cu;
/* 028CD1C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
/* 028CD1C4 */ _t30 = cpu->r[1] + 0x00000010u;
/* 028CD1C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
/* 028CD1C8 */ cpu->lr = cpu->r[0];
/* 028CD1CC */ _t31 = cpu->r[1] + 0x00000014u;
/* 028CD1CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
/* 028CD1D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028CD1D4 */ return;
}
// fn_028CD0F0 @ 0x28cd0f0
void Gambit_fn_028CD0F0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_028CD0F0: ; // 0x28cd0f0
/* 028CD0F0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028CD0F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CD0F0 */ cpu->r[1] = _t0;
/* 028CD0F4 */ _t1 = cpu->r[1] + 0x00000014u;
/* 028CD0F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028CD0F8 */ cpu->r[31] = cpu->r[4];
/* 028CD0FC */ _t2 = cpu->r[1] + 0x00000010u;
/* 028CD0FC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028CD100 */ _t3 = cpu->r[1] + 0x00000008u;
/* 028CD100 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
/* 028CD104 */ cpu->r[30] = cpu->r[3];
/* 028CD108 */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028CD108 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
/* 028CD10C */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028CD10C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028CD110 */ Gambit_fn_028CC924(cpu);
/* 028CD114 */ cpu->r[4] = cpu->r[3];
/* 028CD114 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028CD118 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD118 */ _t7 = _t6 & 0x00000001u;
/* 028CD118 */ if (_t7) goto L_028CD1B0; else goto L_028CD11C;
L_028CD11C: ; // 0x28cd11c
/* 028CD11C */ cpu->r[5] = cpu->r[31];
/* 028CD120 */ cpu->r[3] = cpu->r[30];
/* 028CD124 */ Gambit_fn_028CD0AC(cpu);
/* 028CD128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CD12C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD12C */ _t9 = _t8 & 0x00000001u;
/* 028CD12C */ if (_t9) goto L_028CD150; else goto L_028CD130;
L_028CD130: ; // 0x28cd130
/* 028CD130 */ _t10 = cpu->r[1] + 0x00000008u;
/* 028CD130 */ cpu->r[28] = rbrew_read32(cpu->mem, _t10);
/* 028CD134 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028CD134 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
/* 028CD138 */ _t12 = cpu->r[1] + 0x0000001Cu;
/* 028CD138 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028CD13C */ _t13 = cpu->r[1] + 0x00000010u;
/* 028CD13C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
/* 028CD140 */ cpu->lr = cpu->r[0];
/* 028CD144 */ _t14 = cpu->r[1] + 0x00000014u;
/* 028CD144 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028CD148 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028CD14C */ return;
L_028CD150: ; // 0x28cd150
/* 028CD150 */ rbrew_dispatch(cpu, 0x02d0a9f0u);
/* 028CD154 */ cpu->r[6] = 0x101D0000u;
/* 028CD158 */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du);
/* 028CD15C */ _t15 = cpu->r[6] + 0xFFFF98FCu;
/* 028CD15C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028CD15C */ cpu->r[6] = _t15;
/* 028CD160 */ cpu->r[7] = 0x00000000u;
/* 028CD164 */ cpu->r[9] = cpu->r[8] + 0x101F0000u;
/* 028CD168 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]);
/* 028CD16C */ _t16 = cpu->r[9] + 0x000065D0u;
/* 028CD16C */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
/* 028CD170 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CD170 */ _t18 = _t17 & 0x00000001u;
/* 028CD170 */ if (_t18) goto L_028CD174; else goto L_028CD1B0;
L_028CD174: ; // 0x28cd174
/* 028CD174 */ cpu->r[29] = 0x00000000u;
L_028CD178: ; // 0x28cd178
/* 028CD178 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[28]);
/* 028CD17C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD17C */ _t20 = _t19 & 0x00000001u;
/* 028CD17C */ if (_t20) goto L_028CD19C; else goto L_028CD180;
L_028CD180: ; // 0x28cd180
/* 028CD180 */ _t21 = cpu->r[30] + 0x00000108u;
/* 028CD180 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
/* 028CD184 */ cpu->r[5] = cpu->r[31];
/* 028CD188 */ cpu->r[3] = cpu->r[30];
/* 028CD18C */ cpu->r[4] = cpu->r[12] + cpu->r[29];
/* 028CD190 */ Gambit_fn_028CD0AC(cpu);
/* 028CD194 */ cpu->r[0] = cpu->r[3];
/* 028CD194 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CD198 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD198 */ _t23 = _t22 & 0x00000001u;
/* 028CD198 */ if (_t23) goto L_028CD19C; else goto L_028CD1B4;
L_028CD19C: ; // 0x28cd19c
/* 028CD19C */ _t24 = cpu->r[6] + 0x00000000u;
/* 028CD19C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
/* 028CD1A0 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
/* 028CD1A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]);
/* 028CD1A8 */ cpu->r[29] = cpu->r[29] + 0x00000010u;
/* 028CD1AC */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CD1AC */ _t26 = _t25 & 0x00000001u;
/* 028CD1AC */ if (_t26) goto L_028CD178; else goto L_028CD1B0;
L_028CD1B0: ; // 0x28cd1b0
/* 028CD1B0 */ cpu->r[0] = 0x00000000u;
L_028CD1B4: ; // 0x28cd1b4
/* 028CD1B4 */ _t27 = cpu->r[1] + 0x00000008u;
/* 028CD1B4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t27);
/* 028CD1B8 */ _t28 = cpu->r[1] + 0x0000000Cu;
/* 028CD1B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t28);
/* 028CD1BC */ cpu->r[3] = cpu->r[0];
/* 028CD1C0 */ _t29 = cpu->r[1] + 0x0000001Cu;
/* 028CD1C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
/* 028CD1C4 */ _t30 = cpu->r[1] + 0x00000010u;
/* 028CD1C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
/* 028CD1C8 */ cpu->lr = cpu->r[0];
/* 028CD1CC */ _t31 = cpu->r[1] + 0x00000014u;
/* 028CD1CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
/* 028CD1D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028CD1D4 */ return;
}
// fn_028CD1D8 @ 0x28cd1d8
void Gambit_fn_028CD1D8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76;
L_028CD1D8: ; // 0x28cd1d8
/* 028CD1D8 */ cpu->r[0] = cpu->lr;
/* 028CD1DC */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028CD1DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CD1DC */ cpu->r[1] = _t0;
/* 028CD1E0 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028CD1E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
/* 028CD1E4 */ cpu->r[28] = cpu->r[4];
/* 028CD1E8 */ _t2 = cpu->r[1] + 0x00000018u;
/* 028CD1E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028CD1EC */ _t3 = cpu->r[1] + 0x00000014u;
/* 028CD1EC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028CD1F0 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028CD1F0 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028CD1F4 */ _t5 = cpu->r[1] + 0x00000024u;
/* 028CD1F4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028CD1F8 */ _t6 = cpu->r[5] + 0x00000000u;
/* 028CD1F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
/* 028CD1FC */ _t7 = cpu->r[28] + 0x00000008u;
/* 028CD1FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
/* 028CD200 */ _t8 = cpu->r[28] + 0x00000020u;
/* 028CD200 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
/* 028CD204 */ _t9 = cpu->r[3] + 0x00000004u;
/* 028CD204 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
/* 028CD208 */ _t10 = cpu->r[28] + 0x0000002Cu;
/* 028CD208 */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
/* 028CD20C */ _t11 = cpu->r[3] + 0x0000000Eu;
/* 028CD20C */ cpu->r[12] = rbrew_read8(cpu->mem, _t11);
/* 028CD210 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
/* 028CD214 */ cpu->r[8] = cpu->r[12] - cpu->r[0];
/* 028CD218 */ _t12 = cpu->r[28] + 0x000000D4u;
/* 028CD218 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[8]);
/* 028CD21C */ Gambit_fn_028BEE50(cpu);
/* 028CD220 */ _t13 = cpu->r[28] + 0x00000008u;
/* 028CD220 */ cpu->r[6] = rbrew_read32(cpu->mem, _t13);
/* 028CD224 */ _t14 = cpu->r[28] + 0x000000D5u;
/* 028CD224 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[3]);
/* 028CD228 */ _t15 = cpu->r[6] + 0x000001B8u;
/* 028CD228 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
/* 028CD22C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028CD230 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD230 */ _t17 = _t16 & 0x00000001u;
/* 028CD230 */ if (_t17) goto L_028CD28C; else goto L_028CD234;
L_028CD234: ; // 0x28cd234
/* 028CD234 */ _t18 = cpu->r[10] + 0x00000018u;
/* 028CD234 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
/* 028CD238 */ _t19 = cpu->r[28] + 0x000000D8u;
/* 028CD238 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
/* 028CD23C */ _t20 = cpu->r[6] + 0x00000110u;
/* 028CD23C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
/* 028CD240 */ cpu->r[3] = cpu->r[28] + 0x000000ECu;
/* 028CD244 */ cpu->r[4] = cpu->r[6] + 0x000000C4u;
/* 028CD248 */ _t21 = cpu->r[28] + 0x000001ACu;
/* 028CD248 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[0]);
/* 028CD24C */ Gambit_fn_028CC98C(cpu);
/* 028CD250 */ _t22 = cpu->r[28] + 0x00000008u;
/* 028CD250 */ cpu->r[6] = rbrew_read32(cpu->mem, _t22);
/* 028CD254 */ cpu->r[3] = cpu->r[3] + 0x00000040u;
/* 028CD258 */ cpu->r[4] = cpu->r[6] + 0x0000002Cu;
/* 028CD25C */ Gambit_fn_028CC98C(cpu);
/* 028CD260 */ _t23 = cpu->r[28] + 0x00000008u;
/* 028CD260 */ cpu->r[6] = rbrew_read32(cpu->mem, _t23);
/* 028CD264 */ cpu->r[3] = cpu->r[28] + 0x0000016Cu;
/* 028CD268 */ cpu->r[4] = cpu->r[6] + 0x00000078u;
/* 028CD26C */ Gambit_fn_028CC98C(cpu);
/* 028CD270 */ _t24 = cpu->r[28] + 0x000000A8u;
/* 028CD270 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
/* 028CD274 */ cpu->r[31] = 0x10110000u;
/* 028CD278 */ _t25 = cpu->r[31] + 0x00007399u;
/* 028CD278 */ cpu->r[31] = rbrew_read8(cpu->mem, _t25);
/* 028CD27C */ _t26 = cpu->r[12] + 0x00000000u;
/* 028CD27C */ cpu->r[7] = rbrew_read8(cpu->mem, _t26);
/* 028CD280 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
/* 028CD284 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD284 */ _t28 = _t27 & 0x00000001u;
/* 028CD284 */ if (_t28) goto L_028CD288; else goto L_028CD3C0;
L_028CD288: ; // 0x28cd288
/* 028CD288 */ goto L_028CD2E4;
L_028CD28C: ; // 0x28cd28c
/* 028CD28C */ cpu->r[12] = 0x10140000u;
/* 028CD290 */ _t29 = cpu->r[12] + 0xFFFFA0C0u;
/* 028CD290 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t29);
/* 028CD294 */ _t30 = cpu->r[28] + 0x000000D8u;
/* 028CD294 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[0]);
/* 028CD298 */ _t31 = cpu->r[6] + 0x00000110u;
/* 028CD298 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31);
/* 028CD29C */ cpu->r[3] = cpu->r[28] + 0x000000ECu;
/* 028CD2A0 */ cpu->r[4] = cpu->r[6] + 0x000000C4u;
/* 028CD2A4 */ _t32 = cpu->r[28] + 0x000001ACu;
/* 028CD2A4 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[0]);
/* 028CD2A8 */ Gambit_fn_028CC98C(cpu);
/* 028CD2AC */ _t33 = cpu->r[28] + 0x00000008u;
/* 028CD2AC */ cpu->r[6] = rbrew_read32(cpu->mem, _t33);
/* 028CD2B0 */ cpu->r[3] = cpu->r[3] + 0x00000040u;
/* 028CD2B4 */ cpu->r[4] = cpu->r[6] + 0x0000002Cu;
/* 028CD2B8 */ Gambit_fn_028CC98C(cpu);
/* 028CD2BC */ _t34 = cpu->r[28] + 0x00000008u;
/* 028CD2BC */ cpu->r[6] = rbrew_read32(cpu->mem, _t34);
/* 028CD2C0 */ cpu->r[3] = cpu->r[28] + 0x0000016Cu;
/* 028CD2C4 */ cpu->r[4] = cpu->r[6] + 0x00000078u;
/* 028CD2C8 */ Gambit_fn_028CC98C(cpu);
/* 028CD2CC */ _t35 = cpu->r[28] + 0x000000A8u;
/* 028CD2CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t35);
/* 028CD2D0 */ cpu->r[31] = 0x10110000u;
/* 028CD2D4 */ _t36 = cpu->r[31] + 0x00007399u;
/* 028CD2D4 */ cpu->r[31] = rbrew_read8(cpu->mem, _t36);
/* 028CD2D8 */ _t37 = cpu->r[12] + 0x00000000u;
/* 028CD2D8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t37);
/* 028CD2DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
/* 028CD2E0 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD2E0 */ _t39 = _t38 & 0x00000001u;
/* 028CD2E0 */ if (_t39) goto L_028CD2E4; else goto L_028CD3C0;
L_028CD2E4: ; // 0x28cd2e4
/* 028CD2E4 */ _t40 = cpu->r[28] + 0x00000008u;
/* 028CD2E4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t40);
/* 028CD2E8 */ _t41 = cpu->r[6] + 0x0000019Cu;
/* 028CD2E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t41);
/* 028CD2EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028CD2F0 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD2F0 */ _t43 = _t42 & 0x00000001u;
/* 028CD2F0 */ if (_t43) goto L_028CD3C0; else goto L_028CD2F4;
L_028CD2F4: ; // 0x28cd2f4
/* 028CD2F4 */ _t44 = cpu->r[6] + 0x0000019Cu;
/* 028CD2F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t44);
/* 028CD2F8 */ _t45 = cpu->r[10] + 0x00000014u;
/* 028CD2F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
/* 028CD2FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CD300 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD300 */ _t47 = _t46 & 0x00000001u;
/* 028CD300 */ if (_t47) goto L_028CD3C0; else goto L_028CD304;
L_028CD304: ; // 0x28cd304
/* 028CD304 */ _t48 = cpu->r[6] + 0x0000019Cu;
/* 028CD304 */ cpu->r[7] = rbrew_read32(cpu->mem, _t48);
/* 028CD308 */ cpu->r[3] = 0x101D0000u;
/* 028CD30C */ _t49 = cpu->r[3] + 0xFFFF9ACCu;
/* 028CD30C */ cpu->r[3] = rbrew_read32(cpu->mem, _t49);
/* 028CD310 */ _t50 = cpu->r[7] + 0x00000014u;
/* 028CD310 */ cpu->r[4] = rbrew_read32(cpu->mem, _t50);
/* 028CD314 */ Gambit_fn_028DC224(cpu);
/* 028CD318 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CD31C */ cpu->r[0] = cpu->r[3];
/* 028CD320 */ _t51 = cpu->r[28] + 0x000000A8u;
/* 028CD320 */ cpu->r[29] = rbrew_read32(cpu->mem, _t51);
/* 028CD324 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD324 */ _t53 = _t52 & 0x00000001u;
/* 028CD324 */ if (_t53) goto L_028CD328; else goto L_028CD330;
L_028CD328: ; // 0x28cd328
/* 028CD328 */ cpu->r[0] = 0x10140000u;
/* 028CD32C */ cpu->r[0] = cpu->r[0] + 0xFFFFA110u;
L_028CD330: ; // 0x28cd330
/* 028CD330 */ cpu->r[6] = 0x10140000u;
/* 028CD334 */ _t54 = cpu->r[1] + 0x00000008u;
/* 028CD334 */ rbrew_write32(cpu->mem, _t54, cpu->r[0]);
/* 028CD338 */ cpu->r[6] = cpu->r[6] + 0xFFFF9F5Cu;
/* 028CD33C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028CD340 */ _t55 = cpu->r[1] + 0x0000000Cu;
/* 028CD340 */ rbrew_write32(cpu->mem, _t55, cpu->r[6]);
/* 028CD344 */ Gambit_fn_028CE590(cpu);
/* 028CD348 */ _t56 = cpu->r[1] + 0x00000008u;
/* 028CD348 */ cpu->r[8] = rbrew_read32(cpu->mem, _t56);
/* 028CD34C */ _t57 = cpu->r[8] + 0x00000000u;
/* 028CD34C */ cpu->r[7] = rbrew_read8(cpu->mem, _t57);
/* 028CD350 */ cpu->r[30] = 0x00000000u;
/* 028CD354 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
/* 028CD358 */ cpu->r[11] = 0x00080000u;
/* 028CD35C */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD35C */ _t59 = _t58 & 0x00000001u;
/* 028CD35C */ if (_t59) goto L_028CD384; else goto L_028CD360;
L_028CD360: ; // 0x28cd360
/* 028CD360 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028CD364 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
/* 028CD368 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
/* 028CD36C */ _t60 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CD36C */ _t61 = _t60 & 0x00000001u;
/* 028CD36C */ if (_t61) goto L_028CD380; else goto L_028CD370;
L_028CD370: ; // 0x28cd370
/* 028CD370 */ _t62 = cpu->r[8] + 0x00000000u;
/* 028CD370 */ cpu->r[9] = rbrew_read8(cpu->mem, _t62);
/* 028CD374 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
/* 028CD378 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD378 */ _t64 = _t63 & 0x00000001u;
/* 028CD378 */ if (_t64) goto L_028CD37C; else goto L_028CD360;
L_028CD37C: ; // 0x28cd37c
/* 028CD37C */ goto L_028CD384;
L_028CD380: ; // 0x28cd380
/* 028CD380 */ cpu->r[30] = 0x00000000u;
L_028CD384: ; // 0x28cd384
/* 028CD384 */ _t65 = cpu->r[28] + 0x000000B0u;
/* 028CD384 */ cpu->r[9] = rbrew_read32(cpu->mem, _t65);
/* 028CD388 */ _t66 = cpu->r[1] + 0x0000000Cu;
/* 028CD388 */ cpu->r[12] = rbrew_read32(cpu->mem, _t66);
/* 028CD38C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
/* 028CD390 */ _t67 = cpu->r[12] + 0x00000014u;
/* 028CD390 */ cpu->r[0] = rbrew_read32(cpu->mem, _t67);
/* 028CD394 */ _t68 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CD394 */ _t69 = _t68 & 0x00000001u;
/* 028CD394 */ if (_t69) goto L_028CD39C; else goto L_028CD398;
L_028CD398: ; // 0x28cd398
/* 028CD398 */ cpu->r[30] = cpu->r[9] + 0xFFFFFFFFu;
L_028CD39C: ; // 0x28cd39c
/* 028CD39C */ cpu->ctr = cpu->r[0];
/* 028CD3A0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028CD3A4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CD3A8 */ _t70 = cpu->r[1] + 0x00000008u;
/* 028CD3A8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t70);
/* 028CD3AC */ cpu->r[6] = 0x00000000u;
/* 028CD3B0 */ cpu->r[5] = cpu->r[30];
/* 028CD3B4 */ cpu->r[3] = cpu->r[29];
/* 028CD3B8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028CD3BC */ _t71 = cpu->r[29] + cpu->r[30];
/* 028CD3BC */ rbrew_write8(cpu->mem, _t71, (uint8_t)cpu->r[31]);
L_028CD3C0: ; // 0x28cd3c0
/* 028CD3C0 */ _t72 = cpu->r[1] + 0x00000010u;
/* 028CD3C0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t72);
/* 028CD3C4 */ _t73 = cpu->r[1] + 0x00000014u;
/* 028CD3C4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t73);
/* 028CD3C8 */ _t74 = cpu->r[1] + 0x00000024u;
/* 028CD3C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t74);
/* 028CD3CC */ _t75 = cpu->r[1] + 0x00000018u;
/* 028CD3CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t75);
/* 028CD3D0 */ cpu->lr = cpu->r[0];
/* 028CD3D4 */ _t76 = cpu->r[1] + 0x0000001Cu;
/* 028CD3D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t76);
/* 028CD3D8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028CD3DC */ return;
}
// fn_028CD1DC @ 0x28cd1dc
void Gambit_fn_028CD1DC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76;
L_028CD1DC: ; // 0x28cd1dc
/* 028CD1DC */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028CD1DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CD1DC */ cpu->r[1] = _t0;
/* 028CD1E0 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028CD1E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
/* 028CD1E4 */ cpu->r[28] = cpu->r[4];
/* 028CD1E8 */ _t2 = cpu->r[1] + 0x00000018u;
/* 028CD1E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028CD1EC */ _t3 = cpu->r[1] + 0x00000014u;
/* 028CD1EC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028CD1F0 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028CD1F0 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028CD1F4 */ _t5 = cpu->r[1] + 0x00000024u;
/* 028CD1F4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028CD1F8 */ _t6 = cpu->r[5] + 0x00000000u;
/* 028CD1F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
/* 028CD1FC */ _t7 = cpu->r[28] + 0x00000008u;
/* 028CD1FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
/* 028CD200 */ _t8 = cpu->r[28] + 0x00000020u;
/* 028CD200 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
/* 028CD204 */ _t9 = cpu->r[3] + 0x00000004u;
/* 028CD204 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
/* 028CD208 */ _t10 = cpu->r[28] + 0x0000002Cu;
/* 028CD208 */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
/* 028CD20C */ _t11 = cpu->r[3] + 0x0000000Eu;
/* 028CD20C */ cpu->r[12] = rbrew_read8(cpu->mem, _t11);
/* 028CD210 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
/* 028CD214 */ cpu->r[8] = cpu->r[12] - cpu->r[0];
/* 028CD218 */ _t12 = cpu->r[28] + 0x000000D4u;
/* 028CD218 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[8]);
/* 028CD21C */ Gambit_fn_028BEE50(cpu);
/* 028CD220 */ _t13 = cpu->r[28] + 0x00000008u;
/* 028CD220 */ cpu->r[6] = rbrew_read32(cpu->mem, _t13);
/* 028CD224 */ _t14 = cpu->r[28] + 0x000000D5u;
/* 028CD224 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[3]);
/* 028CD228 */ _t15 = cpu->r[6] + 0x000001B8u;
/* 028CD228 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
/* 028CD22C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028CD230 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD230 */ _t17 = _t16 & 0x00000001u;
/* 028CD230 */ if (_t17) goto L_028CD28C; else goto L_028CD234;
L_028CD234: ; // 0x28cd234
/* 028CD234 */ _t18 = cpu->r[10] + 0x00000018u;
/* 028CD234 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
/* 028CD238 */ _t19 = cpu->r[28] + 0x000000D8u;
/* 028CD238 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
/* 028CD23C */ _t20 = cpu->r[6] + 0x00000110u;
/* 028CD23C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
/* 028CD240 */ cpu->r[3] = cpu->r[28] + 0x000000ECu;
/* 028CD244 */ cpu->r[4] = cpu->r[6] + 0x000000C4u;
/* 028CD248 */ _t21 = cpu->r[28] + 0x000001ACu;
/* 028CD248 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[0]);
/* 028CD24C */ Gambit_fn_028CC98C(cpu);
/* 028CD250 */ _t22 = cpu->r[28] + 0x00000008u;
/* 028CD250 */ cpu->r[6] = rbrew_read32(cpu->mem, _t22);
/* 028CD254 */ cpu->r[3] = cpu->r[3] + 0x00000040u;
/* 028CD258 */ cpu->r[4] = cpu->r[6] + 0x0000002Cu;
/* 028CD25C */ Gambit_fn_028CC98C(cpu);
/* 028CD260 */ _t23 = cpu->r[28] + 0x00000008u;
/* 028CD260 */ cpu->r[6] = rbrew_read32(cpu->mem, _t23);
/* 028CD264 */ cpu->r[3] = cpu->r[28] + 0x0000016Cu;
/* 028CD268 */ cpu->r[4] = cpu->r[6] + 0x00000078u;
/* 028CD26C */ Gambit_fn_028CC98C(cpu);
/* 028CD270 */ _t24 = cpu->r[28] + 0x000000A8u;
/* 028CD270 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
/* 028CD274 */ cpu->r[31] = 0x10110000u;
/* 028CD278 */ _t25 = cpu->r[31] + 0x00007399u;
/* 028CD278 */ cpu->r[31] = rbrew_read8(cpu->mem, _t25);
/* 028CD27C */ _t26 = cpu->r[12] + 0x00000000u;
/* 028CD27C */ cpu->r[7] = rbrew_read8(cpu->mem, _t26);
/* 028CD280 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
/* 028CD284 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD284 */ _t28 = _t27 & 0x00000001u;
/* 028CD284 */ if (_t28) goto L_028CD288; else goto L_028CD3C0;
L_028CD288: ; // 0x28cd288
/* 028CD288 */ goto L_028CD2E4;
L_028CD28C: ; // 0x28cd28c
/* 028CD28C */ cpu->r[12] = 0x10140000u;
/* 028CD290 */ _t29 = cpu->r[12] + 0xFFFFA0C0u;
/* 028CD290 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t29);
/* 028CD294 */ _t30 = cpu->r[28] + 0x000000D8u;
/* 028CD294 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[0]);
/* 028CD298 */ _t31 = cpu->r[6] + 0x00000110u;
/* 028CD298 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31);
/* 028CD29C */ cpu->r[3] = cpu->r[28] + 0x000000ECu;
/* 028CD2A0 */ cpu->r[4] = cpu->r[6] + 0x000000C4u;
/* 028CD2A4 */ _t32 = cpu->r[28] + 0x000001ACu;
/* 028CD2A4 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[0]);
/* 028CD2A8 */ Gambit_fn_028CC98C(cpu);
/* 028CD2AC */ _t33 = cpu->r[28] + 0x00000008u;
/* 028CD2AC */ cpu->r[6] = rbrew_read32(cpu->mem, _t33);
/* 028CD2B0 */ cpu->r[3] = cpu->r[3] + 0x00000040u;
/* 028CD2B4 */ cpu->r[4] = cpu->r[6] + 0x0000002Cu;
/* 028CD2B8 */ Gambit_fn_028CC98C(cpu);
/* 028CD2BC */ _t34 = cpu->r[28] + 0x00000008u;
/* 028CD2BC */ cpu->r[6] = rbrew_read32(cpu->mem, _t34);
/* 028CD2C0 */ cpu->r[3] = cpu->r[28] + 0x0000016Cu;
/* 028CD2C4 */ cpu->r[4] = cpu->r[6] + 0x00000078u;
/* 028CD2C8 */ Gambit_fn_028CC98C(cpu);
/* 028CD2CC */ _t35 = cpu->r[28] + 0x000000A8u;
/* 028CD2CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t35);
/* 028CD2D0 */ cpu->r[31] = 0x10110000u;
/* 028CD2D4 */ _t36 = cpu->r[31] + 0x00007399u;
/* 028CD2D4 */ cpu->r[31] = rbrew_read8(cpu->mem, _t36);
/* 028CD2D8 */ _t37 = cpu->r[12] + 0x00000000u;
/* 028CD2D8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t37);
/* 028CD2DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
/* 028CD2E0 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD2E0 */ _t39 = _t38 & 0x00000001u;
/* 028CD2E0 */ if (_t39) goto L_028CD2E4; else goto L_028CD3C0;
L_028CD2E4: ; // 0x28cd2e4
/* 028CD2E4 */ _t40 = cpu->r[28] + 0x00000008u;
/* 028CD2E4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t40);
/* 028CD2E8 */ _t41 = cpu->r[6] + 0x0000019Cu;
/* 028CD2E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t41);
/* 028CD2EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028CD2F0 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD2F0 */ _t43 = _t42 & 0x00000001u;
/* 028CD2F0 */ if (_t43) goto L_028CD3C0; else goto L_028CD2F4;
L_028CD2F4: ; // 0x28cd2f4
/* 028CD2F4 */ _t44 = cpu->r[6] + 0x0000019Cu;
/* 028CD2F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t44);
/* 028CD2F8 */ _t45 = cpu->r[10] + 0x00000014u;
/* 028CD2F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
/* 028CD2FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CD300 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD300 */ _t47 = _t46 & 0x00000001u;
/* 028CD300 */ if (_t47) goto L_028CD3C0; else goto L_028CD304;
L_028CD304: ; // 0x28cd304
/* 028CD304 */ _t48 = cpu->r[6] + 0x0000019Cu;
/* 028CD304 */ cpu->r[7] = rbrew_read32(cpu->mem, _t48);
/* 028CD308 */ cpu->r[3] = 0x101D0000u;
/* 028CD30C */ _t49 = cpu->r[3] + 0xFFFF9ACCu;
/* 028CD30C */ cpu->r[3] = rbrew_read32(cpu->mem, _t49);
/* 028CD310 */ _t50 = cpu->r[7] + 0x00000014u;
/* 028CD310 */ cpu->r[4] = rbrew_read32(cpu->mem, _t50);
/* 028CD314 */ Gambit_fn_028DC224(cpu);
/* 028CD318 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CD31C */ cpu->r[0] = cpu->r[3];
/* 028CD320 */ _t51 = cpu->r[28] + 0x000000A8u;
/* 028CD320 */ cpu->r[29] = rbrew_read32(cpu->mem, _t51);
/* 028CD324 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD324 */ _t53 = _t52 & 0x00000001u;
/* 028CD324 */ if (_t53) goto L_028CD328; else goto L_028CD330;
L_028CD328: ; // 0x28cd328
/* 028CD328 */ cpu->r[0] = 0x10140000u;
/* 028CD32C */ cpu->r[0] = cpu->r[0] + 0xFFFFA110u;
L_028CD330: ; // 0x28cd330
/* 028CD330 */ cpu->r[6] = 0x10140000u;
/* 028CD334 */ _t54 = cpu->r[1] + 0x00000008u;
/* 028CD334 */ rbrew_write32(cpu->mem, _t54, cpu->r[0]);
/* 028CD338 */ cpu->r[6] = cpu->r[6] + 0xFFFF9F5Cu;
/* 028CD33C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028CD340 */ _t55 = cpu->r[1] + 0x0000000Cu;
/* 028CD340 */ rbrew_write32(cpu->mem, _t55, cpu->r[6]);
/* 028CD344 */ Gambit_fn_028CE590(cpu);
/* 028CD348 */ _t56 = cpu->r[1] + 0x00000008u;
/* 028CD348 */ cpu->r[8] = rbrew_read32(cpu->mem, _t56);
/* 028CD34C */ _t57 = cpu->r[8] + 0x00000000u;
/* 028CD34C */ cpu->r[7] = rbrew_read8(cpu->mem, _t57);
/* 028CD350 */ cpu->r[30] = 0x00000000u;
/* 028CD354 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
/* 028CD358 */ cpu->r[11] = 0x00080000u;
/* 028CD35C */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD35C */ _t59 = _t58 & 0x00000001u;
/* 028CD35C */ if (_t59) goto L_028CD384; else goto L_028CD360;
L_028CD360: ; // 0x28cd360
/* 028CD360 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028CD364 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
/* 028CD368 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
/* 028CD36C */ _t60 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CD36C */ _t61 = _t60 & 0x00000001u;
/* 028CD36C */ if (_t61) goto L_028CD380; else goto L_028CD370;
L_028CD370: ; // 0x28cd370
/* 028CD370 */ _t62 = cpu->r[8] + 0x00000000u;
/* 028CD370 */ cpu->r[9] = rbrew_read8(cpu->mem, _t62);
/* 028CD374 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
/* 028CD378 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD378 */ _t64 = _t63 & 0x00000001u;
/* 028CD378 */ if (_t64) goto L_028CD37C; else goto L_028CD360;
L_028CD37C: ; // 0x28cd37c
/* 028CD37C */ goto L_028CD384;
L_028CD380: ; // 0x28cd380
/* 028CD380 */ cpu->r[30] = 0x00000000u;
L_028CD384: ; // 0x28cd384
/* 028CD384 */ _t65 = cpu->r[28] + 0x000000B0u;
/* 028CD384 */ cpu->r[9] = rbrew_read32(cpu->mem, _t65);
/* 028CD388 */ _t66 = cpu->r[1] + 0x0000000Cu;
/* 028CD388 */ cpu->r[12] = rbrew_read32(cpu->mem, _t66);
/* 028CD38C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
/* 028CD390 */ _t67 = cpu->r[12] + 0x00000014u;
/* 028CD390 */ cpu->r[0] = rbrew_read32(cpu->mem, _t67);
/* 028CD394 */ _t68 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CD394 */ _t69 = _t68 & 0x00000001u;
/* 028CD394 */ if (_t69) goto L_028CD39C; else goto L_028CD398;
L_028CD398: ; // 0x28cd398
/* 028CD398 */ cpu->r[30] = cpu->r[9] + 0xFFFFFFFFu;
L_028CD39C: ; // 0x28cd39c
/* 028CD39C */ cpu->ctr = cpu->r[0];
/* 028CD3A0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028CD3A4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CD3A8 */ _t70 = cpu->r[1] + 0x00000008u;
/* 028CD3A8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t70);
/* 028CD3AC */ cpu->r[6] = 0x00000000u;
/* 028CD3B0 */ cpu->r[5] = cpu->r[30];
/* 028CD3B4 */ cpu->r[3] = cpu->r[29];
/* 028CD3B8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028CD3BC */ _t71 = cpu->r[29] + cpu->r[30];
/* 028CD3BC */ rbrew_write8(cpu->mem, _t71, (uint8_t)cpu->r[31]);
L_028CD3C0: ; // 0x28cd3c0
/* 028CD3C0 */ _t72 = cpu->r[1] + 0x00000010u;
/* 028CD3C0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t72);
/* 028CD3C4 */ _t73 = cpu->r[1] + 0x00000014u;
/* 028CD3C4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t73);
/* 028CD3C8 */ _t74 = cpu->r[1] + 0x00000024u;
/* 028CD3C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t74);
/* 028CD3CC */ _t75 = cpu->r[1] + 0x00000018u;
/* 028CD3CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t75);
/* 028CD3D0 */ cpu->lr = cpu->r[0];
/* 028CD3D4 */ _t76 = cpu->r[1] + 0x0000001Cu;
/* 028CD3D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t76);
/* 028CD3D8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028CD3DC */ return;
}
// fn_028CD3E0 @ 0x28cd3e0
void Gambit_fn_028CD3E0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_028CD3E0: ; // 0x28cd3e0
/* 028CD3E0 */ cpu->r[0] = cpu->lr;
/* 028CD3E4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028CD3E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CD3E4 */ cpu->r[1] = _t0;
/* 028CD3E8 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028CD3E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028CD3EC */ cpu->r[30] = cpu->r[4];
/* 028CD3F0 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028CD3F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028CD3F4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028CD3F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028CD3F8 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028CD3F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028CD3FC */ cpu->r[29] = cpu->r[3];
/* 028CD400 */ _t5 = cpu->r[30] + 0x00000008u;
/* 028CD400 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
/* 028CD404 */ _t6 = cpu->r[3] + 0x00000004u;
/* 028CD404 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
/* 028CD408 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028CD40C */ _t7 = cpu->r[5] + 0x00000000u;
/* 028CD40C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
/* 028CD410 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD410 */ _t9 = _t8 & 0x00000001u;
/* 028CD410 */ if (_t9) goto L_028CD414; else goto L_028CD448;
L_028CD414: ; // 0x28cd414
/* 028CD414 */ _t10 = cpu->r[30] + 0x00000028u;
/* 028CD414 */ cpu->r[9] = rbrew_read8(cpu->mem, _t10);
/* 028CD418 */ cpu->r[12] = 0x00000000u;
/* 028CD41C */ _t11 = cpu->r[30] + 0x0000002Cu;
/* 028CD41C */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
/* 028CD420 */ cpu->r[9] = cpu->r[9] | 0x00000004u;
/* 028CD424 */ _t12 = cpu->r[30] + 0x0000002Cu;
/* 028CD424 */ cpu->r[7] = rbrew_read32(cpu->mem, _t12);
/* 028CD428 */ _t13 = cpu->r[30] + 0x00000028u;
/* 028CD428 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[9]);
/* 028CD42C */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028CD42C */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
/* 028CD430 */ _t15 = cpu->r[1] + 0x0000001Cu;
/* 028CD430 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028CD434 */ _t16 = cpu->r[1] + 0x00000010u;
/* 028CD434 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
/* 028CD438 */ cpu->lr = cpu->r[0];
/* 028CD43C */ _t17 = cpu->r[1] + 0x00000014u;
/* 028CD43C */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
/* 028CD440 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028CD444 */ return;
L_028CD448: ; // 0x28cd448
/* 028CD448 */ _t18 = cpu->r[30] + 0x0000002Cu;
/* 028CD448 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
/* 028CD44C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000004u);
/* 028CD450 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CD450 */ _t20 = _t19 & 0x00000001u;
/* 028CD450 */ if (_t20) goto L_028CD464; else goto L_028CD454;
L_028CD454: ; // 0x28cd454
/* 028CD454 */ _t21 = cpu->r[3] + 0x00000004u;
/* 028CD454 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
/* 028CD458 */ cpu->r[11] = cpu->r[12] + 0xFFFFFFFBu;
/* 028CD45C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000002u);
/* 028CD460 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CD460 */ _t23 = _t22 & 0x00000001u;
/* 028CD460 */ if (_t23) goto L_028CD47C; else goto L_028CD464;
L_028CD464: ; // 0x28cd464
/* 028CD464 */ _t24 = cpu->r[30] + 0x000000D5u;
/* 028CD464 */ cpu->r[0] = rbrew_read8(cpu->mem, _t24);
/* 028CD468 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CD46C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD46C */ _t26 = _t25 & 0x00000001u;
/* 028CD46C */ if (_t26) goto L_028CD470; else goto L_028CD488;
L_028CD470: ; // 0x28cd470
/* 028CD470 */ Gambit_fn_028BEE50(cpu);
/* 028CD474 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CD478 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD478 */ _t28 = _t27 & 0x00000001u;
/* 028CD478 */ if (_t28) goto L_028CD488; else goto L_028CD47C;
L_028CD47C: ; // 0x28cd47c
/* 028CD47C */ _t29 = cpu->r[30] + 0x00000028u;
/* 028CD47C */ cpu->r[0] = rbrew_read8(cpu->mem, _t29);
/* 028CD480 */ cpu->r[0] = cpu->r[0] | 0x00000010u;
/* 028CD484 */ _t30 = cpu->r[30] + 0x00000028u;
/* 028CD484 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[0]);
L_028CD488: ; // 0x28cd488
/* 028CD488 */ _t31 = cpu->r[1] + 0x00000008u;
/* 028CD488 */ rbrew_write32(cpu->mem, _t31, cpu->r[31]);
/* 028CD48C */ cpu->r[4] = cpu->r[30];
/* 028CD490 */ cpu->r[3] = cpu->r[29];
/* 028CD494 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
/* 028CD498 */ Gambit_fn_028CD1D8(cpu);
/* 028CD49C */ _t32 = cpu->r[30] + 0x00000028u;
/* 028CD49C */ cpu->r[0] = rbrew_read8(cpu->mem, _t32);
/* 028CD4A0 */ cpu->r[0] = cpu->r[0] | 0x00000008u;
/* 028CD4A4 */ _t33 = cpu->r[30] + 0x00000028u;
/* 028CD4A4 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[0]);
/* 028CD4A8 */ _t34 = cpu->r[29] + 0x000000D8u;
/* 028CD4A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t34);
/* 028CD4AC */ cpu->r[3] = cpu->r[30] + 0x00000018u;
/* 028CD4B0 */ _t35 = cpu->r[30] + 0x00000010u;
/* 028CD4B0 */ rbrew_write32(cpu->mem, _t35, cpu->r[8]);
/* 028CD4B4 */ Gambit_fn_02838564(cpu);
/* 028CD4B8 */ _t36 = cpu->r[1] + 0x0000000Cu;
/* 028CD4B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t36);
/* 028CD4BC */ _t37 = cpu->r[1] + 0x0000001Cu;
/* 028CD4BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
/* 028CD4C0 */ _t38 = cpu->r[1] + 0x00000010u;
/* 028CD4C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
/* 028CD4C4 */ cpu->lr = cpu->r[0];
/* 028CD4C8 */ _t39 = cpu->r[1] + 0x00000014u;
/* 028CD4C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
/* 028CD4CC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028CD4D0 */ return;
}
// fn_028CD3E4 @ 0x28cd3e4
void Gambit_fn_028CD3E4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_028CD3E4: ; // 0x28cd3e4
/* 028CD3E4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028CD3E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CD3E4 */ cpu->r[1] = _t0;
/* 028CD3E8 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028CD3E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028CD3EC */ cpu->r[30] = cpu->r[4];
/* 028CD3F0 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028CD3F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028CD3F4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028CD3F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028CD3F8 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028CD3F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028CD3FC */ cpu->r[29] = cpu->r[3];
/* 028CD400 */ _t5 = cpu->r[30] + 0x00000008u;
/* 028CD400 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
/* 028CD404 */ _t6 = cpu->r[3] + 0x00000004u;
/* 028CD404 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
/* 028CD408 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028CD40C */ _t7 = cpu->r[5] + 0x00000000u;
/* 028CD40C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
/* 028CD410 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD410 */ _t9 = _t8 & 0x00000001u;
/* 028CD410 */ if (_t9) goto L_028CD414; else goto L_028CD448;
L_028CD414: ; // 0x28cd414
/* 028CD414 */ _t10 = cpu->r[30] + 0x00000028u;
/* 028CD414 */ cpu->r[9] = rbrew_read8(cpu->mem, _t10);
/* 028CD418 */ cpu->r[12] = 0x00000000u;
/* 028CD41C */ _t11 = cpu->r[30] + 0x0000002Cu;
/* 028CD41C */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
/* 028CD420 */ cpu->r[9] = cpu->r[9] | 0x00000004u;
/* 028CD424 */ _t12 = cpu->r[30] + 0x0000002Cu;
/* 028CD424 */ cpu->r[7] = rbrew_read32(cpu->mem, _t12);
/* 028CD428 */ _t13 = cpu->r[30] + 0x00000028u;
/* 028CD428 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[9]);
/* 028CD42C */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028CD42C */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
/* 028CD430 */ _t15 = cpu->r[1] + 0x0000001Cu;
/* 028CD430 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028CD434 */ _t16 = cpu->r[1] + 0x00000010u;
/* 028CD434 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
/* 028CD438 */ cpu->lr = cpu->r[0];
/* 028CD43C */ _t17 = cpu->r[1] + 0x00000014u;
/* 028CD43C */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
/* 028CD440 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028CD444 */ return;
L_028CD448: ; // 0x28cd448
/* 028CD448 */ _t18 = cpu->r[30] + 0x0000002Cu;
/* 028CD448 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
/* 028CD44C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000004u);
/* 028CD450 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CD450 */ _t20 = _t19 & 0x00000001u;
/* 028CD450 */ if (_t20) goto L_028CD464; else goto L_028CD454;
L_028CD454: ; // 0x28cd454
/* 028CD454 */ _t21 = cpu->r[3] + 0x00000004u;
/* 028CD454 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
/* 028CD458 */ cpu->r[11] = cpu->r[12] + 0xFFFFFFFBu;
/* 028CD45C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000002u);
/* 028CD460 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CD460 */ _t23 = _t22 & 0x00000001u;
/* 028CD460 */ if (_t23) goto L_028CD47C; else goto L_028CD464;
L_028CD464: ; // 0x28cd464
/* 028CD464 */ _t24 = cpu->r[30] + 0x000000D5u;
/* 028CD464 */ cpu->r[0] = rbrew_read8(cpu->mem, _t24);
/* 028CD468 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CD46C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD46C */ _t26 = _t25 & 0x00000001u;
/* 028CD46C */ if (_t26) goto L_028CD470; else goto L_028CD488;
L_028CD470: ; // 0x28cd470
/* 028CD470 */ Gambit_fn_028BEE50(cpu);
/* 028CD474 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CD478 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD478 */ _t28 = _t27 & 0x00000001u;
/* 028CD478 */ if (_t28) goto L_028CD488; else goto L_028CD47C;
L_028CD47C: ; // 0x28cd47c
/* 028CD47C */ _t29 = cpu->r[30] + 0x00000028u;
/* 028CD47C */ cpu->r[0] = rbrew_read8(cpu->mem, _t29);
/* 028CD480 */ cpu->r[0] = cpu->r[0] | 0x00000010u;
/* 028CD484 */ _t30 = cpu->r[30] + 0x00000028u;
/* 028CD484 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[0]);
L_028CD488: ; // 0x28cd488
/* 028CD488 */ _t31 = cpu->r[1] + 0x00000008u;
/* 028CD488 */ rbrew_write32(cpu->mem, _t31, cpu->r[31]);
/* 028CD48C */ cpu->r[4] = cpu->r[30];
/* 028CD490 */ cpu->r[3] = cpu->r[29];
/* 028CD494 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
/* 028CD498 */ Gambit_fn_028CD1D8(cpu);
/* 028CD49C */ _t32 = cpu->r[30] + 0x00000028u;
/* 028CD49C */ cpu->r[0] = rbrew_read8(cpu->mem, _t32);
/* 028CD4A0 */ cpu->r[0] = cpu->r[0] | 0x00000008u;
/* 028CD4A4 */ _t33 = cpu->r[30] + 0x00000028u;
/* 028CD4A4 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[0]);
/* 028CD4A8 */ _t34 = cpu->r[29] + 0x000000D8u;
/* 028CD4A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t34);
/* 028CD4AC */ cpu->r[3] = cpu->r[30] + 0x00000018u;
/* 028CD4B0 */ _t35 = cpu->r[30] + 0x00000010u;
/* 028CD4B0 */ rbrew_write32(cpu->mem, _t35, cpu->r[8]);
/* 028CD4B4 */ Gambit_fn_02838564(cpu);
/* 028CD4B8 */ _t36 = cpu->r[1] + 0x0000000Cu;
/* 028CD4B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t36);
/* 028CD4BC */ _t37 = cpu->r[1] + 0x0000001Cu;
/* 028CD4BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
/* 028CD4C0 */ _t38 = cpu->r[1] + 0x00000010u;
/* 028CD4C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
/* 028CD4C4 */ cpu->lr = cpu->r[0];
/* 028CD4C8 */ _t39 = cpu->r[1] + 0x00000014u;
/* 028CD4C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
/* 028CD4CC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028CD4D0 */ return;
}
// fn_028CD4D4 @ 0x28cd4d4
void Gambit_fn_028CD4D4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
L_028CD4D4: ; // 0x28cd4d4
/* 028CD4D4 */ cpu->r[0] = cpu->lr;
/* 028CD4D8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028CD4D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CD4D8 */ cpu->r[1] = _t0;
/* 028CD4DC */ _t1 = cpu->r[1] + 0x00000014u;
/* 028CD4DC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028CD4E0 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028CD4E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028CD4E4 */ cpu->r[31] = cpu->r[3];
/* 028CD4E8 */ _t3 = cpu->r[1] + 0x00000010u;
/* 028CD4E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028CD4EC */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028CD4EC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028CD4F0 */ cpu->r[29] = cpu->r[4];
/* 028CD4F4 */ _t5 = cpu->r[31] + 0x00000004u;
/* 028CD4F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028CD4F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CD4FC */ _t6 = cpu->r[5] + 0x00000000u;
/* 028CD4FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
/* 028CD500 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD500 */ _t8 = _t7 & 0x00000001u;
/* 028CD500 */ if (_t8) goto L_028CD544; else goto L_028CD504;
L_028CD504: ; // 0x28cd504
/* 028CD504 */ cpu->r[3] = cpu->r[31];
/* 028CD508 */ cpu->r[4] = cpu->r[29];
/* 028CD50C */ Gambit_fn_028CD0EC(cpu);
/* 028CD510 */ cpu->r[4] = cpu->r[3];
/* 028CD510 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028CD514 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD514 */ _t10 = _t9 & 0x00000001u;
/* 028CD514 */ if (_t10) goto L_028CD518; else goto L_028CD534;
L_028CD518: ; // 0x28cd518
/* 028CD518 */ cpu->r[3] = cpu->r[31];
/* 028CD51C */ cpu->r[4] = cpu->r[29];
/* 028CD520 */ Gambit_fn_028CD024(cpu);
/* 028CD524 */ cpu->r[3] = cpu->r[31];
/* 028CD528 */ cpu->r[4] = cpu->r[29];
/* 028CD52C */ Gambit_fn_028CD0EC(cpu);
/* 028CD530 */ cpu->r[4] = cpu->r[3];
L_028CD534: ; // 0x28cd534
/* 028CD534 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
/* 028CD538 */ cpu->r[3] = cpu->r[31];
/* 028CD53C */ _t11 = cpu->r[1] + 0x00000008u;
/* 028CD53C */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
/* 028CD540 */ Gambit_fn_028CD3E0(cpu);
L_028CD544: ; // 0x28cd544
/* 028CD544 */ _t12 = cpu->r[1] + 0x0000000Cu;
/* 028CD544 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
/* 028CD548 */ _t13 = cpu->r[1] + 0x0000001Cu;
/* 028CD548 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028CD54C */ _t14 = cpu->r[1] + 0x00000010u;
/* 028CD54C */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
/* 028CD550 */ cpu->lr = cpu->r[0];
/* 028CD554 */ _t15 = cpu->r[1] + 0x00000014u;
/* 028CD554 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
/* 028CD558 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028CD55C */ return;
}
// fn_028CD4D8 @ 0x28cd4d8
void Gambit_fn_028CD4D8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
L_028CD4D8: ; // 0x28cd4d8
/* 028CD4D8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028CD4D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CD4D8 */ cpu->r[1] = _t0;
/* 028CD4DC */ _t1 = cpu->r[1] + 0x00000014u;
/* 028CD4DC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028CD4E0 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028CD4E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028CD4E4 */ cpu->r[31] = cpu->r[3];
/* 028CD4E8 */ _t3 = cpu->r[1] + 0x00000010u;
/* 028CD4E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028CD4EC */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028CD4EC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028CD4F0 */ cpu->r[29] = cpu->r[4];
/* 028CD4F4 */ _t5 = cpu->r[31] + 0x00000004u;
/* 028CD4F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028CD4F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CD4FC */ _t6 = cpu->r[5] + 0x00000000u;
/* 028CD4FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
/* 028CD500 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD500 */ _t8 = _t7 & 0x00000001u;
/* 028CD500 */ if (_t8) goto L_028CD544; else goto L_028CD504;
L_028CD504: ; // 0x28cd504
/* 028CD504 */ cpu->r[3] = cpu->r[31];
/* 028CD508 */ cpu->r[4] = cpu->r[29];
/* 028CD50C */ Gambit_fn_028CD0EC(cpu);
/* 028CD510 */ cpu->r[4] = cpu->r[3];
/* 028CD510 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028CD514 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD514 */ _t10 = _t9 & 0x00000001u;
/* 028CD514 */ if (_t10) goto L_028CD518; else goto L_028CD534;
L_028CD518: ; // 0x28cd518
/* 028CD518 */ cpu->r[3] = cpu->r[31];
/* 028CD51C */ cpu->r[4] = cpu->r[29];
/* 028CD520 */ Gambit_fn_028CD024(cpu);
/* 028CD524 */ cpu->r[3] = cpu->r[31];
/* 028CD528 */ cpu->r[4] = cpu->r[29];
/* 028CD52C */ Gambit_fn_028CD0EC(cpu);
/* 028CD530 */ cpu->r[4] = cpu->r[3];
L_028CD534: ; // 0x28cd534
/* 028CD534 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
/* 028CD538 */ cpu->r[3] = cpu->r[31];
/* 028CD53C */ _t11 = cpu->r[1] + 0x00000008u;
/* 028CD53C */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
/* 028CD540 */ Gambit_fn_028CD3E0(cpu);
L_028CD544: ; // 0x28cd544
/* 028CD544 */ _t12 = cpu->r[1] + 0x0000000Cu;
/* 028CD544 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
/* 028CD548 */ _t13 = cpu->r[1] + 0x0000001Cu;
/* 028CD548 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028CD54C */ _t14 = cpu->r[1] + 0x00000010u;
/* 028CD54C */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
/* 028CD550 */ cpu->lr = cpu->r[0];
/* 028CD554 */ _t15 = cpu->r[1] + 0x00000014u;
/* 028CD554 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
/* 028CD558 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028CD55C */ return;
}
// fn_028CD560 @ 0x28cd560
void Gambit_fn_028CD560(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _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_028CD560: ; // 0x28cd560
/* 028CD560 */ cpu->r[0] = cpu->lr;
/* 028CD564 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028CD564 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CD564 */ cpu->r[1] = _t0;
/* 028CD568 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028CD568 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028CD56C */ _t2 = cpu->r[1] + 0x00000010u;
/* 028CD56C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028CD570 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028CD570 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028CD574 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028CD574 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028CD578 */ cpu->r[29] = cpu->r[4];
/* 028CD57C */ cpu->r[30] = cpu->r[5];
/* 028CD580 */ _t5 = cpu->r[29] + 0x00000008u;
/* 028CD580 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
/* 028CD584 */ cpu->r[4] = 0x00000000u;
/* 028CD588 */ cpu->r[31] = cpu->r[6];
/* 028CD58C */ Gambit_fn_028BE94C(cpu);
/* 028CD590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[3]);
/* 028CD594 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CD594 */ _t7 = _t6 & 0x00000001u;
/* 028CD594 */ if (_t7) goto L_028CD598; else goto L_028CD750;
L_028CD598: ; // 0x28cd598
/* 028CD598 */ _t8 = cpu->r[29] + 0x000001B4u;
/* 028CD598 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
/* 028CD59C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028CD5A0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD5A0 */ _t10 = _t9 & 0x00000001u;
/* 028CD5A0 */ if (_t10) goto L_028CD750; else goto L_028CD5A4;
L_028CD5A4: ; // 0x28cd5a4
/* 028CD5A4 */ cpu->r[3] = 0x00000000u;
/* 028CD5A8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000006u, 0x00000000u, 0x00000019u);
/* 028CD5AC */ cpu->r[5] = 0x00000002u;
/* 028CD5B0 */ cpu->r[12] = cpu->r[3];
L_028CD5B4: ; // 0x28cd5b4
/* 028CD5B4 */ _t11 = cpu->r[29] + 0x00000028u;
/* 028CD5B4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t11);
/* 028CD5B8 */ cpu->r[6] = rbrew_rlwinm(cpu->r[11], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
/* 028CD5BC */ cpu->r[7] = cpu->r[6] ^ 0x00000001u;
/* 028CD5C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
/* 028CD5C4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD5C4 */ _t13 = _t12 & 0x00000001u;
/* 028CD5C4 */ if (_t13) goto L_028CD634; else goto L_028CD5C8;
L_028CD5C8: ; // 0x28cd5c8
/* 028CD5C8 */ cpu->r[9] = 0x00000006u;
/* 028CD5CC */ cpu->r[6] = 0x00000000u;
/* 028CD5D0 */ cpu->ctr = cpu->r[9];
/* 028CD5D4 */ cpu->r[7] = cpu->r[10] + cpu->r[0];
L_028CD5D8: ; // 0x28cd5d8
/* 028CD5D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000002u);
/* 028CD5DC */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CD5DC */ _t15 = _t14 & 0x00000001u;
/* 028CD5DC */ if (_t15) goto L_028CD5E0; else goto L_028CD5FC;
L_028CD5E0: ; // 0x28cd5e0
/* 028CD5E0 */ cpu->r[8] = cpu->r[7] + cpu->r[12];
/* 028CD5E4 */ cpu->r[9] = cpu->r[31] + cpu->r[12];
/* 028CD5E8 */ _t16 = cpu->r[8] + cpu->r[6];
/* 028CD5E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
/* 028CD5EC */ _t17 = cpu->r[9] + cpu->r[6];
/* 028CD5EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
/* 028CD5F0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[12]);
/* 028CD5F4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD5F4 */ _t19 = _t18 & 0x00000001u;
/* 028CD5F4 */ if (_t19) goto L_028CD62C; else goto L_028CD5F8;
L_028CD5F8: ; // 0x28cd5f8
/* 028CD5F8 */ goto L_028CD610;
L_028CD5FC: ; // 0x28cd5fc
/* 028CD5FC */ _t20 = cpu->r[7] + cpu->r[6];
/* 028CD5FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
/* 028CD600 */ cpu->r[9] = cpu->r[31] + cpu->r[12];
/* 028CD604 */ _t21 = cpu->r[9] + cpu->r[6];
/* 028CD604 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
/* 028CD608 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[12]);
/* 028CD60C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD60C */ _t23 = _t22 & 0x00000001u;
/* 028CD60C */ if (_t23) goto L_028CD62C; else goto L_028CD610;
L_028CD610: ; // 0x28cd610
/* 028CD610 */ cpu->r[8] = cpu->r[11] | 0x00000008u;
/* 028CD614 */ _t24 = cpu->r[29] + 0x000001B4u;
/* 028CD614 */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
/* 028CD618 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000002u);
/* 028CD61C */ _t25 = cpu->r[29] + 0x00000028u;
/* 028CD61C */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[8]);
/* 028CD620 */ cpu->r[11] = cpu->r[10] + cpu->r[0];
/* 028CD624 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CD624 */ _t27 = _t26 & 0x00000001u;
/* 028CD624 */ if (_t27) goto L_028CD640; else goto L_028CD628;
L_028CD628: ; // 0x28cd628
/* 028CD628 */ goto L_028CD644;
L_028CD62C: ; // 0x28cd62c
/* 028CD62C */ cpu->r[6] = cpu->r[6] + 0x00000004u;
/* 028CD630 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028CD630 */ _t28 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028CD630 */ _t29 = _t28 >> (0x00000002u & 31u);
/* 028CD630 */ _t30 = _t29 & 0x00000001u;
/* 028CD630 */ if (_t30) goto L_028CD5D8; else goto L_028CD634;
L_028CD634: ; // 0x28cd634
/* 028CD634 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000002u);
/* 028CD638 */ cpu->r[11] = cpu->r[10] + cpu->r[0];
/* 028CD63C */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CD63C */ _t32 = _t31 & 0x00000001u;
/* 028CD63C */ if (_t32) goto L_028CD640; else goto L_028CD628;
L_028CD640: ; // 0x28cd640
/* 028CD640 */ cpu->r[11] = cpu->r[11] + cpu->r[12];
L_028CD644: ; // 0x28cd644
/* 028CD644 */ _t33 = cpu->r[31] + cpu->r[12];
/* 028CD644 */ cpu->r[7] = rbrew_read8(cpu->mem, _t33);
/* 028CD648 */ cpu->r[4] = cpu->r[31] + cpu->r[12];
/* 028CD64C */ _t34 = cpu->r[11] + 0x00000000u;
/* 028CD64C */ rbrew_write_f64(cpu->mem, _t34, cpu->f[7]);
/* 028CD650 */ _t35 = cpu->r[4] + 0x00000008u;
/* 028CD650 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t35);
/* 028CD654 */ _t36 = cpu->r[11] + 0x00000008u;
/* 028CD654 */ rbrew_write_f64(cpu->mem, _t36, cpu->f[8]);
/* 028CD658 */ _t37 = cpu->r[4] + 0x00000010u;
/* 028CD658 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t37);
/* 028CD65C */ cpu->r[3] = cpu->r[3] + 0x00000001u;
/* 028CD660 */ cpu->r[5] = cpu->r[5] + 0xFFFFFFFFu;
/* 028CD660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
/* 028CD664 */ cpu->r[12] = cpu->r[12] + 0x00000018u;
/* 028CD668 */ _t38 = cpu->r[11] + 0x00000010u;
/* 028CD668 */ rbrew_write_f64(cpu->mem, _t38, cpu->f[11]);
/* 028CD66C */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD66C */ _t40 = _t39 & 0x00000001u;
/* 028CD66C */ if (_t40) goto L_028CD678; else goto L_028CD670;
L_028CD670: ; // 0x28cd670
/* 028CD670 */ _t41 = cpu->r[29] + 0x000001B4u;
/* 028CD670 */ cpu->r[10] = rbrew_read32(cpu->mem, _t41);
/* 028CD674 */ goto L_028CD5B4;
L_028CD678: ; // 0x28cd678
/* 028CD678 */ cpu->r[4] = 0x00000004u;
/* 028CD67C */ cpu->r[8] = 0x00000000u;
/* 028CD680 */ cpu->r[12] = 0x00000002u;
/* 028CD684 */ cpu->ctr = cpu->r[4];
/* 028CD688 */ cpu->r[3] = cpu->r[8];
/* 028CD68C */ cpu->r[30] = 0x00000030u;
L_028CD690: ; // 0x28cd690
/* 028CD690 */ _t42 = cpu->r[29] + 0x00000028u;
/* 028CD690 */ cpu->r[11] = rbrew_read8(cpu->mem, _t42);
/* 028CD694 */ _t43 = cpu->r[29] + 0x000001B4u;
/* 028CD694 */ cpu->r[10] = rbrew_read32(cpu->mem, _t43);
/* 028CD698 */ cpu->r[5] = rbrew_rlwinm(cpu->r[11], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
/* 028CD69C */ cpu->r[7] = cpu->r[5] ^ 0x00000001u;
/* 028CD6A0 */ cpu->r[5] = cpu->r[10] + cpu->r[0];
/* 028CD6A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
/* 028CD6A8 */ cpu->r[10] = cpu->r[5] + 0x00000030u;
/* 028CD6AC */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD6AC */ _t45 = _t44 & 0x00000001u;
/* 028CD6AC */ if (_t45) goto L_028CD700; else goto L_028CD6B0;
L_028CD6B0: ; // 0x28cd6b0
/* 028CD6B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000004u);
/* 028CD6B4 */ cpu->r[9] = cpu->r[10];
/* 028CD6B8 */ _t46 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CD6B8 */ _t47 = _t46 & 0x00000001u;
/* 028CD6B8 */ if (_t47) goto L_028CD6BC; else goto L_028CD6C0;
L_028CD6BC: ; // 0x28cd6bc
/* 028CD6BC */ cpu->r[9] = cpu->r[9] + cpu->r[3];
L_028CD6C0: ; // 0x28cd6c0
/* 028CD6C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000006u);
/* 028CD6C4 */ _t48 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CD6C4 */ _t49 = _t48 & 0x00000001u;
/* 028CD6C4 */ if (_t49) goto L_028CD6C8; else goto L_028CD6DC;
L_028CD6C8: ; // 0x28cd6c8
/* 028CD6C8 */ _t50 = cpu->r[9] + 0x00000000u;
/* 028CD6C8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t50);
/* 028CD6CC */ _t51 = cpu->r[31] + cpu->r[30];
/* 028CD6CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
/* 028CD6D0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
/* 028CD6D4 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD6D4 */ _t53 = _t52 & 0x00000001u;
/* 028CD6D4 */ if (_t53) goto L_028CD700; else goto L_028CD6D8;
L_028CD6D8: ; // 0x28cd6d8
/* 028CD6D8 */ goto L_028CD6EC;
L_028CD6DC: ; // 0x28cd6dc
/* 028CD6DC */ _t54 = cpu->r[9] + 0x00000000u;
/* 028CD6DC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t54);
/* 028CD6E0 */ _t55 = cpu->r[31] + 0x00000000u;
/* 028CD6E0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t55);
/* 028CD6E4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
/* 028CD6E8 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD6E8 */ _t57 = _t56 & 0x00000001u;
/* 028CD6E8 */ if (_t57) goto L_028CD700; else goto L_028CD6EC;
L_028CD6EC: ; // 0x28cd6ec
/* 028CD6EC */ _t58 = cpu->r[29] + 0x000001B4u;
/* 028CD6EC */ cpu->r[10] = rbrew_read32(cpu->mem, _t58);
/* 028CD6F0 */ cpu->r[5] = cpu->r[10] + cpu->r[0];
/* 028CD6F4 */ cpu->r[9] = cpu->r[11] | 0x00000008u;
/* 028CD6F8 */ cpu->r[10] = cpu->r[5] + 0x00000030u;
/* 028CD6FC */ _t59 = cpu->r[29] + 0x00000028u;
/* 028CD6FC */ rbrew_write8(cpu->mem, _t59, (uint8_t)cpu->r[9]);
L_028CD700: ; // 0x28cd700
/* 028CD700 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000004u);
/* 028CD704 */ _t60 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CD704 */ _t61 = _t60 & 0x00000001u;
/* 028CD704 */ if (_t61) goto L_028CD708; else goto L_028CD70C;
L_028CD708: ; // 0x28cd708
/* 028CD708 */ cpu->r[10] = cpu->r[10] + cpu->r[3];
L_028CD70C: ; // 0x28cd70c
/* 028CD70C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000006u);
/* 028CD710 */ _t62 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CD710 */ _t63 = _t62 & 0x00000001u;
/* 028CD710 */ if (_t63) goto L_028CD714; else goto L_028CD734;
L_028CD714: ; // 0x28cd714
/* 028CD714 */ _t64 = cpu->r[31] + cpu->r[30];
/* 028CD714 */ cpu->r[9] = rbrew_read32(cpu->mem, _t64);
/* 028CD718 */ cpu->r[30] = cpu->r[30] + 0x00000018u;
/* 028CD71C */ cpu->r[3] = cpu->r[3] + 0x00000004u;
/* 028CD720 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028CD724 */ _t65 = cpu->r[10] + 0x00000000u;
/* 028CD724 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[9]);
/* 028CD728 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
/* 028CD72C */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028CD72C */ _t66 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028CD72C */ _t67 = _t66 >> (0x00000002u & 31u);
/* 028CD72C */ _t68 = _t67 & 0x00000001u;
/* 028CD72C */ if (_t68) goto L_028CD690; else goto L_028CD730;
L_028CD730: ; // 0x28cd730
/* 028CD730 */ goto L_028CD750;
L_028CD734: ; // 0x28cd734
/* 028CD734 */ _t69 = cpu->r[31] + 0x00000000u;
/* 028CD734 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t69);
/* 028CD738 */ cpu->r[30] = cpu->r[30] + 0x00000018u;
/* 028CD73C */ cpu->r[3] = cpu->r[3] + 0x00000004u;
/* 028CD740 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028CD744 */ _t70 = cpu->r[10] + 0x00000000u;
/* 028CD744 */ rbrew_write_f32(cpu->mem, _t70, cpu->f[9]);
/* 028CD748 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
/* 028CD74C */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028CD74C */ _t71 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028CD74C */ _t72 = _t71 >> (0x00000002u & 31u);
/* 028CD74C */ _t73 = _t72 & 0x00000001u;
/* 028CD74C */ if (_t73) goto L_028CD690; else goto L_028CD750;
L_028CD750: ; // 0x28cd750
/* 028CD750 */ _t74 = cpu->r[1] + 0x0000000Cu;
/* 028CD750 */ cpu->r[29] = rbrew_read32(cpu->mem, _t74);
/* 028CD754 */ _t75 = cpu->r[1] + 0x0000001Cu;
/* 028CD754 */ cpu->r[0] = rbrew_read32(cpu->mem, _t75);
/* 028CD758 */ _t76 = cpu->r[1] + 0x00000010u;
/* 028CD758 */ cpu->r[30] = rbrew_read32(cpu->mem, _t76);
/* 028CD75C */ cpu->lr = cpu->r[0];
/* 028CD760 */ _t77 = cpu->r[1] + 0x00000014u;
/* 028CD760 */ cpu->r[31] = rbrew_read32(cpu->mem, _t77);
/* 028CD764 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028CD768 */ return;
}
// fn_028CD564 @ 0x28cd564
void Gambit_fn_028CD564(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _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_028CD564: ; // 0x28cd564
/* 028CD564 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028CD564 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CD564 */ cpu->r[1] = _t0;
/* 028CD568 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028CD568 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028CD56C */ _t2 = cpu->r[1] + 0x00000010u;
/* 028CD56C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028CD570 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028CD570 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028CD574 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028CD574 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028CD578 */ cpu->r[29] = cpu->r[4];
/* 028CD57C */ cpu->r[30] = cpu->r[5];
/* 028CD580 */ _t5 = cpu->r[29] + 0x00000008u;
/* 028CD580 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
/* 028CD584 */ cpu->r[4] = 0x00000000u;
/* 028CD588 */ cpu->r[31] = cpu->r[6];
/* 028CD58C */ Gambit_fn_028BE94C(cpu);
/* 028CD590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[3]);
/* 028CD594 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CD594 */ _t7 = _t6 & 0x00000001u;
/* 028CD594 */ if (_t7) goto L_028CD598; else goto L_028CD750;
L_028CD598: ; // 0x28cd598
/* 028CD598 */ _t8 = cpu->r[29] + 0x000001B4u;
/* 028CD598 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
/* 028CD59C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028CD5A0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD5A0 */ _t10 = _t9 & 0x00000001u;
/* 028CD5A0 */ if (_t10) goto L_028CD750; else goto L_028CD5A4;
L_028CD5A4: ; // 0x28cd5a4
/* 028CD5A4 */ cpu->r[3] = 0x00000000u;
/* 028CD5A8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000006u, 0x00000000u, 0x00000019u);
/* 028CD5AC */ cpu->r[5] = 0x00000002u;
/* 028CD5B0 */ cpu->r[12] = cpu->r[3];
L_028CD5B4: ; // 0x28cd5b4
/* 028CD5B4 */ _t11 = cpu->r[29] + 0x00000028u;
/* 028CD5B4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t11);
/* 028CD5B8 */ cpu->r[6] = rbrew_rlwinm(cpu->r[11], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
/* 028CD5BC */ cpu->r[7] = cpu->r[6] ^ 0x00000001u;
/* 028CD5C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
/* 028CD5C4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD5C4 */ _t13 = _t12 & 0x00000001u;
/* 028CD5C4 */ if (_t13) goto L_028CD634; else goto L_028CD5C8;
L_028CD5C8: ; // 0x28cd5c8
/* 028CD5C8 */ cpu->r[9] = 0x00000006u;
/* 028CD5CC */ cpu->r[6] = 0x00000000u;
/* 028CD5D0 */ cpu->ctr = cpu->r[9];
/* 028CD5D4 */ cpu->r[7] = cpu->r[10] + cpu->r[0];
L_028CD5D8: ; // 0x28cd5d8
/* 028CD5D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000002u);
/* 028CD5DC */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CD5DC */ _t15 = _t14 & 0x00000001u;
/* 028CD5DC */ if (_t15) goto L_028CD5E0; else goto L_028CD5FC;
L_028CD5E0: ; // 0x28cd5e0
/* 028CD5E0 */ cpu->r[8] = cpu->r[7] + cpu->r[12];
/* 028CD5E4 */ cpu->r[9] = cpu->r[31] + cpu->r[12];
/* 028CD5E8 */ _t16 = cpu->r[8] + cpu->r[6];
/* 028CD5E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
/* 028CD5EC */ _t17 = cpu->r[9] + cpu->r[6];
/* 028CD5EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
/* 028CD5F0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[12]);
/* 028CD5F4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD5F4 */ _t19 = _t18 & 0x00000001u;
/* 028CD5F4 */ if (_t19) goto L_028CD62C; else goto L_028CD5F8;
L_028CD5F8: ; // 0x28cd5f8
/* 028CD5F8 */ goto L_028CD610;
L_028CD5FC: ; // 0x28cd5fc
/* 028CD5FC */ _t20 = cpu->r[7] + cpu->r[6];
/* 028CD5FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
/* 028CD600 */ cpu->r[9] = cpu->r[31] + cpu->r[12];
/* 028CD604 */ _t21 = cpu->r[9] + cpu->r[6];
/* 028CD604 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
/* 028CD608 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[12]);
/* 028CD60C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD60C */ _t23 = _t22 & 0x00000001u;
/* 028CD60C */ if (_t23) goto L_028CD62C; else goto L_028CD610;
L_028CD610: ; // 0x28cd610
/* 028CD610 */ cpu->r[8] = cpu->r[11] | 0x00000008u;
/* 028CD614 */ _t24 = cpu->r[29] + 0x000001B4u;
/* 028CD614 */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
/* 028CD618 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000002u);
/* 028CD61C */ _t25 = cpu->r[29] + 0x00000028u;
/* 028CD61C */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[8]);
/* 028CD620 */ cpu->r[11] = cpu->r[10] + cpu->r[0];
/* 028CD624 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CD624 */ _t27 = _t26 & 0x00000001u;
/* 028CD624 */ if (_t27) goto L_028CD640; else goto L_028CD628;
L_028CD628: ; // 0x28cd628
/* 028CD628 */ goto L_028CD644;
L_028CD62C: ; // 0x28cd62c
/* 028CD62C */ cpu->r[6] = cpu->r[6] + 0x00000004u;
/* 028CD630 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028CD630 */ _t28 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028CD630 */ _t29 = _t28 >> (0x00000002u & 31u);
/* 028CD630 */ _t30 = _t29 & 0x00000001u;
/* 028CD630 */ if (_t30) goto L_028CD5D8; else goto L_028CD634;
L_028CD634: ; // 0x28cd634
/* 028CD634 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000002u);
/* 028CD638 */ cpu->r[11] = cpu->r[10] + cpu->r[0];
/* 028CD63C */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CD63C */ _t32 = _t31 & 0x00000001u;
/* 028CD63C */ if (_t32) goto L_028CD640; else goto L_028CD628;
L_028CD640: ; // 0x28cd640
/* 028CD640 */ cpu->r[11] = cpu->r[11] + cpu->r[12];
L_028CD644: ; // 0x28cd644
/* 028CD644 */ _t33 = cpu->r[31] + cpu->r[12];
/* 028CD644 */ cpu->r[7] = rbrew_read8(cpu->mem, _t33);
/* 028CD648 */ cpu->r[4] = cpu->r[31] + cpu->r[12];
/* 028CD64C */ _t34 = cpu->r[11] + 0x00000000u;
/* 028CD64C */ rbrew_write_f64(cpu->mem, _t34, cpu->f[7]);
/* 028CD650 */ _t35 = cpu->r[4] + 0x00000008u;
/* 028CD650 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t35);
/* 028CD654 */ _t36 = cpu->r[11] + 0x00000008u;
/* 028CD654 */ rbrew_write_f64(cpu->mem, _t36, cpu->f[8]);
/* 028CD658 */ _t37 = cpu->r[4] + 0x00000010u;
/* 028CD658 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t37);
/* 028CD65C */ cpu->r[3] = cpu->r[3] + 0x00000001u;
/* 028CD660 */ cpu->r[5] = cpu->r[5] + 0xFFFFFFFFu;
/* 028CD660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
/* 028CD664 */ cpu->r[12] = cpu->r[12] + 0x00000018u;
/* 028CD668 */ _t38 = cpu->r[11] + 0x00000010u;
/* 028CD668 */ rbrew_write_f64(cpu->mem, _t38, cpu->f[11]);
/* 028CD66C */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD66C */ _t40 = _t39 & 0x00000001u;
/* 028CD66C */ if (_t40) goto L_028CD678; else goto L_028CD670;
L_028CD670: ; // 0x28cd670
/* 028CD670 */ _t41 = cpu->r[29] + 0x000001B4u;
/* 028CD670 */ cpu->r[10] = rbrew_read32(cpu->mem, _t41);
/* 028CD674 */ goto L_028CD5B4;
L_028CD678: ; // 0x28cd678
/* 028CD678 */ cpu->r[4] = 0x00000004u;
/* 028CD67C */ cpu->r[8] = 0x00000000u;
/* 028CD680 */ cpu->r[12] = 0x00000002u;
/* 028CD684 */ cpu->ctr = cpu->r[4];
/* 028CD688 */ cpu->r[3] = cpu->r[8];
/* 028CD68C */ cpu->r[30] = 0x00000030u;
L_028CD690: ; // 0x28cd690
/* 028CD690 */ _t42 = cpu->r[29] + 0x00000028u;
/* 028CD690 */ cpu->r[11] = rbrew_read8(cpu->mem, _t42);
/* 028CD694 */ _t43 = cpu->r[29] + 0x000001B4u;
/* 028CD694 */ cpu->r[10] = rbrew_read32(cpu->mem, _t43);
/* 028CD698 */ cpu->r[5] = rbrew_rlwinm(cpu->r[11], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
/* 028CD69C */ cpu->r[7] = cpu->r[5] ^ 0x00000001u;
/* 028CD6A0 */ cpu->r[5] = cpu->r[10] + cpu->r[0];
/* 028CD6A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
/* 028CD6A8 */ cpu->r[10] = cpu->r[5] + 0x00000030u;
/* 028CD6AC */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD6AC */ _t45 = _t44 & 0x00000001u;
/* 028CD6AC */ if (_t45) goto L_028CD700; else goto L_028CD6B0;
L_028CD6B0: ; // 0x28cd6b0
/* 028CD6B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000004u);
/* 028CD6B4 */ cpu->r[9] = cpu->r[10];
/* 028CD6B8 */ _t46 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CD6B8 */ _t47 = _t46 & 0x00000001u;
/* 028CD6B8 */ if (_t47) goto L_028CD6BC; else goto L_028CD6C0;
L_028CD6BC: ; // 0x28cd6bc
/* 028CD6BC */ cpu->r[9] = cpu->r[9] + cpu->r[3];
L_028CD6C0: ; // 0x28cd6c0
/* 028CD6C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000006u);
/* 028CD6C4 */ _t48 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CD6C4 */ _t49 = _t48 & 0x00000001u;
/* 028CD6C4 */ if (_t49) goto L_028CD6C8; else goto L_028CD6DC;
L_028CD6C8: ; // 0x28cd6c8
/* 028CD6C8 */ _t50 = cpu->r[9] + 0x00000000u;
/* 028CD6C8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t50);
/* 028CD6CC */ _t51 = cpu->r[31] + cpu->r[30];
/* 028CD6CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
/* 028CD6D0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
/* 028CD6D4 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD6D4 */ _t53 = _t52 & 0x00000001u;
/* 028CD6D4 */ if (_t53) goto L_028CD700; else goto L_028CD6D8;
L_028CD6D8: ; // 0x28cd6d8
/* 028CD6D8 */ goto L_028CD6EC;
L_028CD6DC: ; // 0x28cd6dc
/* 028CD6DC */ _t54 = cpu->r[9] + 0x00000000u;
/* 028CD6DC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t54);
/* 028CD6E0 */ _t55 = cpu->r[31] + 0x00000000u;
/* 028CD6E0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t55);
/* 028CD6E4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
/* 028CD6E8 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD6E8 */ _t57 = _t56 & 0x00000001u;
/* 028CD6E8 */ if (_t57) goto L_028CD700; else goto L_028CD6EC;
L_028CD6EC: ; // 0x28cd6ec
/* 028CD6EC */ _t58 = cpu->r[29] + 0x000001B4u;
/* 028CD6EC */ cpu->r[10] = rbrew_read32(cpu->mem, _t58);
/* 028CD6F0 */ cpu->r[5] = cpu->r[10] + cpu->r[0];
/* 028CD6F4 */ cpu->r[9] = cpu->r[11] | 0x00000008u;
/* 028CD6F8 */ cpu->r[10] = cpu->r[5] + 0x00000030u;
/* 028CD6FC */ _t59 = cpu->r[29] + 0x00000028u;
/* 028CD6FC */ rbrew_write8(cpu->mem, _t59, (uint8_t)cpu->r[9]);
L_028CD700: ; // 0x28cd700
/* 028CD700 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000004u);
/* 028CD704 */ _t60 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CD704 */ _t61 = _t60 & 0x00000001u;
/* 028CD704 */ if (_t61) goto L_028CD708; else goto L_028CD70C;
L_028CD708: ; // 0x28cd708
/* 028CD708 */ cpu->r[10] = cpu->r[10] + cpu->r[3];
L_028CD70C: ; // 0x28cd70c
/* 028CD70C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000006u);
/* 028CD710 */ _t62 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CD710 */ _t63 = _t62 & 0x00000001u;
/* 028CD710 */ if (_t63) goto L_028CD714; else goto L_028CD734;
L_028CD714: ; // 0x28cd714
/* 028CD714 */ _t64 = cpu->r[31] + cpu->r[30];
/* 028CD714 */ cpu->r[9] = rbrew_read32(cpu->mem, _t64);
/* 028CD718 */ cpu->r[30] = cpu->r[30] + 0x00000018u;
/* 028CD71C */ cpu->r[3] = cpu->r[3] + 0x00000004u;
/* 028CD720 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028CD724 */ _t65 = cpu->r[10] + 0x00000000u;
/* 028CD724 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[9]);
/* 028CD728 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
/* 028CD72C */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028CD72C */ _t66 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028CD72C */ _t67 = _t66 >> (0x00000002u & 31u);
/* 028CD72C */ _t68 = _t67 & 0x00000001u;
/* 028CD72C */ if (_t68) goto L_028CD690; else goto L_028CD730;
L_028CD730: ; // 0x28cd730
/* 028CD730 */ goto L_028CD750;
L_028CD734: ; // 0x28cd734
/* 028CD734 */ _t69 = cpu->r[31] + 0x00000000u;
/* 028CD734 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t69);
/* 028CD738 */ cpu->r[30] = cpu->r[30] + 0x00000018u;
/* 028CD73C */ cpu->r[3] = cpu->r[3] + 0x00000004u;
/* 028CD740 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028CD744 */ _t70 = cpu->r[10] + 0x00000000u;
/* 028CD744 */ rbrew_write_f32(cpu->mem, _t70, cpu->f[9]);
/* 028CD748 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
/* 028CD74C */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028CD74C */ _t71 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028CD74C */ _t72 = _t71 >> (0x00000002u & 31u);
/* 028CD74C */ _t73 = _t72 & 0x00000001u;
/* 028CD74C */ if (_t73) goto L_028CD690; else goto L_028CD750;
L_028CD750: ; // 0x28cd750
/* 028CD750 */ _t74 = cpu->r[1] + 0x0000000Cu;
/* 028CD750 */ cpu->r[29] = rbrew_read32(cpu->mem, _t74);
/* 028CD754 */ _t75 = cpu->r[1] + 0x0000001Cu;
/* 028CD754 */ cpu->r[0] = rbrew_read32(cpu->mem, _t75);
/* 028CD758 */ _t76 = cpu->r[1] + 0x00000010u;
/* 028CD758 */ cpu->r[30] = rbrew_read32(cpu->mem, _t76);
/* 028CD75C */ cpu->lr = cpu->r[0];
/* 028CD760 */ _t77 = cpu->r[1] + 0x00000014u;
/* 028CD760 */ cpu->r[31] = rbrew_read32(cpu->mem, _t77);
/* 028CD764 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028CD768 */ return;
}
// fn_028CD76C @ 0x28cd76c
void Gambit_fn_028CD76C(CPUState* cpu) {
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_028CD76C: ; // 0x28cd76c
/* 028CD76C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
/* 028CD76C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CD76C */ cpu->r[1] = _t0;
/* 028CD770 */ /* nop */
/* 028CD774 */ cpu->r[0] = cpu->lr;
/* 028CD778 */ _t1 = cpu->r[1] + 0x00000020u;
/* 028CD778 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028CD77C */ /* nop */
/* 028CD780 */ _t2 = cpu->r[1] + 0x00000028u;
/* 028CD780 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
/* 028CD784 */ _t3 = cpu->r[1] + 0x00000034u;
/* 028CD784 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028CD788 */ cpu->r[30] = cpu->r[3];
/* 028CD78C */ _t4 = cpu->r[30] + 0x00000004u;
/* 028CD78C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028CD790 */ cpu->r[28] = cpu->r[6];
/* 028CD794 */ cpu->r[27] = cpu->r[5];
/* 028CD798 */ cpu->r[31] = cpu->r[4];
/* 028CD79C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CD7A0 */ cpu->f[31] = cpu->f[1];
/* 028CD7A4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD7A4 */ _t6 = _t5 & 0x00000001u;
/* 028CD7A4 */ if (_t6) goto L_028CD818; else goto L_028CD7A8;
L_028CD7A8: ; // 0x28cd7a8
/* 028CD7A8 */ cpu->r[3] = cpu->r[30];
/* 028CD7AC */ cpu->r[4] = cpu->r[31];
/* 028CD7B0 */ Gambit_fn_028CD0EC(cpu);
/* 028CD7B4 */ cpu->r[29] = cpu->r[3];
/* 028CD7B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028CD7B8 */ cpu->r[3] = cpu->r[30];
/* 028CD7BC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD7BC */ _t8 = _t7 & 0x00000001u;
/* 028CD7BC */ if (_t8) goto L_028CD7C0; else goto L_028CD804;
L_028CD7C0: ; // 0x28cd7c0
/* 028CD7C0 */ cpu->r[12] = 0x101F0000u;
/* 028CD7C4 */ _t9 = cpu->r[12] + 0x000071B0u;
/* 028CD7C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
/* 028CD7C8 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
/* 028CD7CC */ cpu->r[4] = cpu->r[31];
/* 028CD7D0 */ _t10 = cpu->r[1] + 0x00000008u;
/* 028CD7D0 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
/* 028CD7D4 */ Gambit_fn_028CD4D4(cpu);
/* 028CD7D8 */ cpu->r[4] = cpu->r[31];
/* 028CD7DC */ cpu->r[3] = cpu->r[30];
/* 028CD7E0 */ Gambit_fn_028CD0EC(cpu);
/* 028CD7E4 */ /* nop */
/* 028CD7E8 */ _t11 = cpu->r[1] + 0x00000028u;
/* 028CD7E8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t11);
/* 028CD7EC */ _t12 = cpu->r[1] + 0x00000020u;
/* 028CD7EC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t12);
/* 028CD7F0 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CD7F0 */ _t14 = _t13 & 0x00000001u;
/* 028CD7F0 */ if (_t14) goto L_028CD7F4; // else: addr-0 trap, fall-through
L_028CD7F4: ; // 0x28cd7f4
/* 028CD7F4 */ _t15 = cpu->r[1] + 0x00000034u;
/* 028CD7F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028CD7F8 */ cpu->lr = cpu->r[0];
/* 028CD7FC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
/* 028CD800 */ return;
L_028CD804: ; // 0x28cd804
/* 028CD804 */ cpu->r[6] = cpu->r[28];
/* 028CD808 */ cpu->r[5] = cpu->r[27];
/* 028CD80C */ cpu->r[4] = cpu->r[29];
/* 028CD810 */ Gambit_fn_028CD560(cpu);
/* 028CD814 */ _t16 = cpu->r[29] + 0x000001C0u;
/* 028CD814 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[31]);
L_028CD818: ; // 0x28cd818
/* 028CD818 */ /* nop */
/* 028CD81C */ _t17 = cpu->r[1] + 0x00000028u;
/* 028CD81C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t17);
/* 028CD820 */ _t18 = cpu->r[1] + 0x00000020u;
/* 028CD820 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t18);
/* 028CD824 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CD824 */ _t20 = _t19 & 0x00000001u;
/* 028CD824 */ if (_t20) goto L_028CD828; // else: addr-0 trap, fall-through
L_028CD828: ; // 0x28cd828
/* 028CD828 */ _t21 = cpu->r[1] + 0x00000034u;
/* 028CD828 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
/* 028CD82C */ cpu->lr = cpu->r[0];
/* 028CD830 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
/* 028CD834 */ return;
}
// fn_028CD838 @ 0x28cd838
void Gambit_fn_028CD838(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _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_028CD838: ; // 0x28cd838
/* 028CD838 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
/* 028CD838 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CD838 */ cpu->r[1] = _t0;
/* 028CD83C */ /* nop */
/* 028CD840 */ cpu->r[0] = cpu->lr;
/* 028CD844 */ _t1 = cpu->r[1] + 0x00000028u;
/* 028CD844 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028CD848 */ /* nop */
/* 028CD84C */ _t2 = cpu->r[1] + 0x00000030u;
/* 028CD84C */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
/* 028CD850 */ _t3 = cpu->r[1] + 0x0000003Cu;
/* 028CD850 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028CD854 */ cpu->r[28] = cpu->r[4];
/* 028CD858 */ _t4 = cpu->r[28] + 0x000001B8u;
/* 028CD858 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
/* 028CD85C */ cpu->r[27] = 0x00000000u;
/* 028CD860 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[8]);
/* 028CD864 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CD864 */ _t6 = _t5 & 0x00000001u;
/* 028CD864 */ if (_t6) goto L_028CD868; else goto L_028CD974;
L_028CD868: ; // 0x28cd868
/* 028CD868 */ cpu->r[11] = 0x10140000u;
/* 028CD86C */ _t7 = cpu->r[11] + 0xFFFFA114u;
/* 028CD86C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t7);
/* 028CD870 */ cpu->r[31] = 0x00000000u;
L_028CD874: ; // 0x28cd874
/* 028CD874 */ _t8 = cpu->r[28] + 0x00000008u;
/* 028CD874 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
/* 028CD878 */ cpu->r[4] = cpu->r[27];
/* 028CD87C */ Gambit_fn_028BF4F4(cpu);
/* 028CD880 */ cpu->r[29] = cpu->r[3];
/* 028CD880 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028CD884 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD884 */ _t10 = _t9 & 0x00000001u;
/* 028CD884 */ if (_t10) goto L_028CD960; else goto L_028CD888;
L_028CD888: ; // 0x28cd888
/* 028CD888 */ _t11 = cpu->r[28] + 0x000001BCu;
/* 028CD888 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
/* 028CD88C */ _t12 = cpu->r[29] + 0x00000084u;
/* 028CD88C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t12);
/* 028CD890 */ Gambit_fn_028ED268(cpu);
/* 028CD894 */ _t13 = cpu->r[30] + cpu->r[31];
/* 028CD894 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
/* 028CD898 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[1]);
/* 028CD89C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD89C */ _t15 = _t14 & 0x00000001u;
/* 028CD89C */ if (_t15) goto L_028CD8A0; else goto L_028CD93C;
L_028CD8A0: ; // 0x28cd8a0
/* 028CD8A0 */ _t16 = cpu->r[29] + 0x00000020u;
/* 028CD8A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028CD8A4 */ cpu->r[12] = 0x43300000u;
/* 028CD8A8 */ _t17 = cpu->r[1] + 0x00000008u;
/* 028CD8A8 */ rbrew_write32(cpu->mem, _t17, cpu->r[12]);
/* 028CD8AC */ cpu->r[10] = 0x10140000u;
/* 028CD8B0 */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028CD8B0 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
/* 028CD8B4 */ _t19 = cpu->r[1] + 0x00000008u;
/* 028CD8B4 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t19);
/* 028CD8B8 */ _t20 = cpu->r[10] + 0xFFFFA118u;
/* 028CD8B8 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t20);
/* 028CD8BC */ cpu->f[12] = cpu->f[13] - cpu->f[0];
/* 028CD8C0 */ _t21 = cpu->r[28] + 0x000001BCu;
/* 028CD8C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
/* 028CD8C4 */ cpu->f[13] = (double)(float)cpu->f[12];
/* 028CD8C8 */ cpu->r[11] = cpu->r[12] + cpu->r[31];
/* 028CD8CC */ cpu->f[13] = cpu->f[13] * cpu->f[31];
/* 028CD8D0 */ _t22 = cpu->r[11] + 0x00000004u;
/* 028CD8D0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
/* 028CD8D4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[13]);
/* 028CD8D8 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD8D8 */ _t24 = _t23 & 0x00000001u;
/* 028CD8D8 */ if (_t24) goto L_028CD8DC; else goto L_028CD93C;
L_028CD8DC: ; // 0x28cd8dc
/* 028CD8DC */ _t25 = cpu->r[11] + 0x00000008u;
/* 028CD8DC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t25);
/* 028CD8E0 */ _t26 = cpu->r[29] + 0x0000000Cu;
/* 028CD8E0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t26);
/* 028CD8E4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[13]);
/* 028CD8E8 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD8E8 */ _t28 = _t27 & 0x00000001u;
/* 028CD8E8 */ if (_t28) goto L_028CD8EC; else goto L_028CD93C;
L_028CD8EC: ; // 0x28cd8ec
/* 028CD8EC */ _t29 = cpu->r[11] + 0x0000000Cu;
/* 028CD8EC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t29);
/* 028CD8F0 */ _t30 = cpu->r[29] + 0x00000004u;
/* 028CD8F0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t30);
/* 028CD8F4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[12]);
/* 028CD8F8 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD8F8 */ _t32 = _t31 & 0x00000001u;
/* 028CD8F8 */ if (_t32) goto L_028CD8FC; else goto L_028CD93C;
L_028CD8FC: ; // 0x28cd8fc
/* 028CD8FC */ _t33 = cpu->r[11] + 0x00000010u;
/* 028CD8FC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t33);
/* 028CD900 */ _t34 = cpu->r[29] + 0x00000008u;
/* 028CD900 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t34);
/* 028CD904 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
/* 028CD908 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD908 */ _t36 = _t35 & 0x00000001u;
/* 028CD908 */ if (_t36) goto L_028CD90C; else goto L_028CD93C;
L_028CD90C: ; // 0x28cd90c
/* 028CD90C */ _t37 = cpu->r[11] + 0x00000014u;
/* 028CD90C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t37);
/* 028CD910 */ _t38 = cpu->r[29] + 0x00000010u;
/* 028CD910 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t38);
/* 028CD914 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[13]);
/* 028CD918 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD918 */ _t40 = _t39 & 0x00000001u;
/* 028CD918 */ if (_t40) goto L_028CD91C; else goto L_028CD93C;
L_028CD91C: ; // 0x28cd91c
/* 028CD91C */ _t41 = cpu->r[11] + 0x00000018u;
/* 028CD91C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t41);
/* 028CD920 */ _t42 = cpu->r[29] + 0x00000014u;
/* 028CD920 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t42);
/* 028CD924 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[12]);
/* 028CD928 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD928 */ _t44 = _t43 & 0x00000001u;
/* 028CD928 */ if (_t44) goto L_028CD92C; else goto L_028CD93C;
L_028CD92C: ; // 0x28cd92c
/* 028CD92C */ _t45 = cpu->r[11] + 0x0000001Cu;
/* 028CD92C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t45);
/* 028CD930 */ _t46 = cpu->r[29] + 0x00000018u;
/* 028CD930 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t46);
/* 028CD934 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
/* 028CD938 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD938 */ _t48 = _t47 & 0x00000001u;
/* 028CD938 */ if (_t48) goto L_028CD960; else goto L_028CD93C;
L_028CD93C: ; // 0x28cd93c
/* 028CD93C */ /* nop */
/* 028CD940 */ _t49 = cpu->r[1] + 0x00000030u;
/* 028CD940 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t49);
/* 028CD944 */ _t50 = cpu->r[1] + 0x00000028u;
/* 028CD944 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t50);
/* 028CD948 */ cpu->r[3] = 0x00000001u;
/* 028CD94C */ _t51 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CD94C */ _t52 = _t51 & 0x00000001u;
/* 028CD94C */ if (_t52) goto L_028CD950; // else: addr-0 trap, fall-through
L_028CD950: ; // 0x28cd950
/* 028CD950 */ _t53 = cpu->r[1] + 0x0000003Cu;
/* 028CD950 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
/* 028CD954 */ cpu->lr = cpu->r[0];
/* 028CD958 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
/* 028CD95C */ return;
L_028CD960: ; // 0x28cd960
/* 028CD960 */ _t54 = cpu->r[28] + 0x000001B8u;
/* 028CD960 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
/* 028CD964 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
/* 028CD968 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]);
/* 028CD96C */ cpu->r[31] = cpu->r[31] + 0x00000020u;
/* 028CD970 */ _t55 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CD970 */ _t56 = _t55 & 0x00000001u;
/* 028CD970 */ if (_t56) goto L_028CD874; else goto L_028CD974;
L_028CD974: ; // 0x28cd974
/* 028CD974 */ /* nop */
/* 028CD978 */ _t57 = cpu->r[1] + 0x00000030u;
/* 028CD978 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t57);
/* 028CD97C */ _t58 = cpu->r[1] + 0x00000028u;
/* 028CD97C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t58);
/* 028CD980 */ cpu->r[3] = 0x00000000u;
/* 028CD984 */ _t59 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CD984 */ _t60 = _t59 & 0x00000001u;
/* 028CD984 */ if (_t60) goto L_028CD988; // else: addr-0 trap, fall-through
L_028CD988: ; // 0x28cd988
/* 028CD988 */ _t61 = cpu->r[1] + 0x0000003Cu;
/* 028CD988 */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
/* 028CD98C */ cpu->lr = cpu->r[0];
/* 028CD990 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
/* 028CD994 */ return;
}
// fn_028CD998 @ 0x28cd998
void Gambit_fn_028CD998(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73;
L_028CD998: ; // 0x28cd998
/* 028CD998 */ cpu->r[0] = cpu->lr;
/* 028CD99C */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
/* 028CD99C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CD99C */ cpu->r[1] = _t0;
/* 028CD9A0 */ _t1 = cpu->r[1] + 0x00000028u;
/* 028CD9A0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
/* 028CD9A4 */ /* nop */
/* 028CD9A8 */ _t2 = cpu->r[1] + 0x00000038u;
/* 028CD9A8 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
/* 028CD9AC */ /* nop */
/* 028CD9B0 */ _t3 = cpu->r[1] + 0x00000030u;
/* 028CD9B0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
/* 028CD9B4 */ _t4 = cpu->r[1] + 0x00000040u;
/* 028CD9B4 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
/* 028CD9B8 */ _t5 = cpu->r[1] + 0x0000004Cu;
/* 028CD9B8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028CD9BC */ /* nop */
/* 028CD9C0 */ cpu->r[30] = cpu->r[4];
/* 028CD9C4 */ Gambit_fn_028CD838(cpu);
/* 028CD9C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CD9CC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD9CC */ _t7 = _t6 & 0x00000001u;
/* 028CD9CC */ if (_t7) goto L_028CDB3C; else goto L_028CD9D0;
L_028CD9D0: ; // 0x28cd9d0
/* 028CD9D0 */ _t8 = cpu->r[30] + 0x000001B8u;
/* 028CD9D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028CD9D4 */ cpu->r[27] = 0x00000000u;
/* 028CD9D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]);
/* 028CD9DC */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CD9DC */ _t10 = _t9 & 0x00000001u;
/* 028CD9DC */ if (_t10) goto L_028CD9E0; else goto L_028CDB30;
L_028CD9E0: ; // 0x28cd9e0
/* 028CD9E0 */ cpu->r[8] = 0x10140000u;
/* 028CD9E4 */ cpu->r[11] = 0x10140000u;
/* 028CD9E8 */ _t11 = cpu->r[8] + 0xFFFFA10Cu;
/* 028CD9E8 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t11);
/* 028CD9EC */ _t12 = cpu->r[11] + 0xFFFFA114u;
/* 028CD9EC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t12);
/* 028CD9F0 */ cpu->r[29] = 0x00000000u;
L_028CD9F4: ; // 0x28cd9f4
/* 028CD9F4 */ _t13 = cpu->r[30] + 0x00000008u;
/* 028CD9F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
/* 028CD9F8 */ cpu->r[4] = cpu->r[27];
/* 028CD9FC */ Gambit_fn_028BF4F4(cpu);
/* 028CDA00 */ cpu->r[28] = cpu->r[3];
/* 028CDA00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028CDA04 */ _t14 = cpu->r[30] + 0x000001BCu;
/* 028CDA04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028CDA08 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CDA08 */ _t16 = _t15 & 0x00000001u;
/* 028CDA08 */ if (_t16) goto L_028CDAC4; else goto L_028CDA0C;
L_028CDA0C: ; // 0x28cda0c
/* 028CDA0C */ _t17 = cpu->r[28] + 0x00000084u;
/* 028CDA0C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t17);
/* 028CDA10 */ Gambit_fn_028ED268(cpu);
/* 028CDA14 */ _t18 = cpu->r[31] + cpu->r[29];
/* 028CDA14 */ rbrew_write32(cpu->mem, _t18, cpu->r[1]);
/* 028CDA18 */ cpu->r[0] = 0x43300000u;
/* 028CDA1C */ _t19 = cpu->r[28] + 0x00000020u;
/* 028CDA1C */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
/* 028CDA20 */ _t20 = cpu->r[1] + 0x00000008u;
/* 028CDA20 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
/* 028CDA24 */ cpu->r[12] = 0x10140000u;
/* 028CDA28 */ _t21 = cpu->r[1] + 0x0000000Cu;
/* 028CDA28 */ rbrew_write32(cpu->mem, _t21, cpu->r[10]);
/* 028CDA2C */ _t22 = cpu->r[1] + 0x00000008u;
/* 028CDA2C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t22);
/* 028CDA30 */ _t23 = cpu->r[12] + 0xFFFFA118u;
/* 028CDA30 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t23);
/* 028CDA34 */ cpu->f[12] = cpu->f[13] - cpu->f[0];
/* 028CDA38 */ cpu->f[0] = (double)(float)cpu->f[12];
/* 028CDA3C */ _t24 = cpu->r[30] + 0x000001BCu;
/* 028CDA3C */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
/* 028CDA40 */ cpu->f[13] = cpu->f[0] * cpu->f[31];
/* 028CDA44 */ cpu->r[8] = cpu->r[9] + cpu->r[29];
/* 028CDA48 */ _t25 = cpu->r[8] + 0x00000004u;
/* 028CDA48 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[13]);
/* 028CDA4C */ _t26 = cpu->r[30] + 0x000001BCu;
/* 028CDA4C */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
/* 028CDA50 */ _t27 = cpu->r[28] + 0x0000000Cu;
/* 028CDA50 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t27);
/* 028CDA54 */ cpu->r[8] = cpu->r[9] + cpu->r[29];
/* 028CDA58 */ _t28 = cpu->r[8] + 0x00000008u;
/* 028CDA58 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[12]);
/* 028CDA5C */ _t29 = cpu->r[30] + 0x000001BCu;
/* 028CDA5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t29);
/* 028CDA60 */ cpu->r[10] = cpu->r[11] + cpu->r[29];
/* 028CDA64 */ _t30 = cpu->r[28] + 0x00000004u;
/* 028CDA64 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t30);
/* 028CDA68 */ _t31 = cpu->r[10] + 0x0000000Cu;
/* 028CDA68 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[13]);
/* 028CDA6C */ _t32 = cpu->r[30] + 0x000001BCu;
/* 028CDA6C */ cpu->r[8] = rbrew_read32(cpu->mem, _t32);
/* 028CDA70 */ cpu->r[12] = cpu->r[8] + cpu->r[29];
/* 028CDA74 */ _t33 = cpu->r[28] + 0x00000008u;
/* 028CDA74 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t33);
/* 028CDA78 */ _t34 = cpu->r[12] + 0x00000010u;
/* 028CDA78 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[11]);
/* 028CDA7C */ _t35 = cpu->r[30] + 0x000001BCu;
/* 028CDA7C */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
/* 028CDA80 */ cpu->r[9] = cpu->r[10] + cpu->r[29];
/* 028CDA84 */ _t36 = cpu->r[28] + 0x00000010u;
/* 028CDA84 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t36);
/* 028CDA88 */ _t37 = cpu->r[9] + 0x00000014u;
/* 028CDA88 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[12]);
/* 028CDA8C */ _t38 = cpu->r[30] + 0x000001BCu;
/* 028CDA8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
/* 028CDA90 */ cpu->r[11] = cpu->r[12] + cpu->r[29];
/* 028CDA94 */ _t39 = cpu->r[28] + 0x00000014u;
/* 028CDA94 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t39);
/* 028CDA98 */ _t40 = cpu->r[11] + 0x00000018u;
/* 028CDA98 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[11]);
/* 028CDA9C */ _t41 = cpu->r[30] + 0x000001BCu;
/* 028CDA9C */ cpu->r[10] = rbrew_read32(cpu->mem, _t41);
/* 028CDAA0 */ _t42 = cpu->r[28] + 0x00000018u;
/* 028CDAA0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t42);
/* 028CDAA4 */ cpu->r[9] = cpu->r[10] + cpu->r[29];
/* 028CDAA8 */ _t43 = cpu->r[9] + 0x0000001Cu;
/* 028CDAA8 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[0]);
/* 028CDAAC */ _t44 = cpu->r[30] + 0x000001B8u;
/* 028CDAAC */ cpu->r[11] = rbrew_read32(cpu->mem, _t44);
/* 028CDAB0 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
/* 028CDAB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[11]);
/* 028CDAB8 */ cpu->r[29] = cpu->r[29] + 0x00000020u;
/* 028CDABC */ _t45 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CDABC */ _t46 = _t45 & 0x00000001u;
/* 028CDABC */ if (_t46) goto L_028CD9F4; else goto L_028CDAC0;
L_028CDAC0: ; // 0x28cdac0
/* 028CDAC0 */ goto L_028CDB30;
L_028CDAC4: ; // 0x28cdac4
/* 028CDAC4 */ _t47 = cpu->r[31] + cpu->r[29];
/* 028CDAC4 */ rbrew_write32(cpu->mem, _t47, cpu->r[30]);
/* 028CDAC8 */ _t48 = cpu->r[30] + 0x000001BCu;
/* 028CDAC8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t48);
/* 028CDACC */ cpu->r[9] = cpu->r[10] + cpu->r[29];
/* 028CDAD0 */ _t49 = cpu->r[9] + 0x00000004u;
/* 028CDAD0 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[30]);
/* 028CDAD4 */ _t50 = cpu->r[30] + 0x000001BCu;
/* 028CDAD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t50);
/* 028CDAD8 */ cpu->r[11] = cpu->r[12] + cpu->r[29];
/* 028CDADC */ _t51 = cpu->r[11] + 0x00000008u;
/* 028CDADC */ rbrew_write_f32(cpu->mem, _t51, cpu->f[30]);
/* 028CDAE0 */ _t52 = cpu->r[30] + 0x000001BCu;
/* 028CDAE0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t52);
/* 028CDAE4 */ cpu->r[8] = cpu->r[10] + cpu->r[29];
/* 028CDAE8 */ _t53 = cpu->r[8] + 0x0000000Cu;
/* 028CDAE8 */ rbrew_write_f32(cpu->mem, _t53, cpu->f[30]);
/* 028CDAEC */ _t54 = cpu->r[30] + 0x000001BCu;
/* 028CDAEC */ cpu->r[9] = rbrew_read32(cpu->mem, _t54);
/* 028CDAF0 */ cpu->r[12] = cpu->r[9] + cpu->r[29];
/* 028CDAF4 */ _t55 = cpu->r[12] + 0x00000010u;
/* 028CDAF4 */ rbrew_write_f32(cpu->mem, _t55, cpu->f[30]);
/* 028CDAF8 */ _t56 = cpu->r[30] + 0x000001BCu;
/* 028CDAF8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t56);
/* 028CDAFC */ cpu->r[10] = cpu->r[11] + cpu->r[29];
/* 028CDB00 */ _t57 = cpu->r[10] + 0x00000014u;
/* 028CDB00 */ rbrew_write_f32(cpu->mem, _t57, cpu->f[30]);
/* 028CDB04 */ _t58 = cpu->r[30] + 0x000001BCu;
/* 028CDB04 */ cpu->r[8] = rbrew_read32(cpu->mem, _t58);
/* 028CDB08 */ cpu->r[12] = cpu->r[8] + cpu->r[29];
/* 028CDB0C */ _t59 = cpu->r[12] + 0x00000018u;
/* 028CDB0C */ rbrew_write_f32(cpu->mem, _t59, cpu->f[30]);
/* 028CDB10 */ _t60 = cpu->r[30] + 0x000001BCu;
/* 028CDB10 */ cpu->r[10] = rbrew_read32(cpu->mem, _t60);
/* 028CDB14 */ cpu->r[9] = cpu->r[10] + cpu->r[29];
/* 028CDB18 */ _t61 = cpu->r[9] + 0x0000001Cu;
/* 028CDB18 */ rbrew_write_f32(cpu->mem, _t61, cpu->f[30]);
/* 028CDB1C */ _t62 = cpu->r[30] + 0x000001B8u;
/* 028CDB1C */ cpu->r[11] = rbrew_read32(cpu->mem, _t62);
/* 028CDB20 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
/* 028CDB24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[11]);
/* 028CDB28 */ cpu->r[29] = cpu->r[29] + 0x00000020u;
/* 028CDB2C */ _t63 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CDB2C */ _t64 = _t63 & 0x00000001u;
/* 028CDB2C */ if (_t64) goto L_028CD9F4; else goto L_028CDB30;
L_028CDB30: ; // 0x28cdb30
/* 028CDB30 */ _t65 = cpu->r[30] + 0x00000028u;
/* 028CDB30 */ cpu->r[12] = rbrew_read8(cpu->mem, _t65);
/* 028CDB34 */ cpu->r[12] = cpu->r[12] | 0x00000008u;
/* 028CDB38 */ _t66 = cpu->r[30] + 0x00000028u;
/* 028CDB38 */ rbrew_write8(cpu->mem, _t66, (uint8_t)cpu->r[12]);
L_028CDB3C: ; // 0x28cdb3c
/* 028CDB3C */ /* nop */
/* 028CDB40 */ _t67 = cpu->r[1] + 0x00000030u;
/* 028CDB40 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t67);
/* 028CDB44 */ _t68 = cpu->r[1] + 0x00000040u;
/* 028CDB44 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t68);
/* 028CDB48 */ _t69 = cpu->r[1] + 0x00000028u;
/* 028CDB48 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t69);
/* 028CDB4C */ _t70 = cpu->r[1] + 0x00000038u;
/* 028CDB4C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t70);
/* 028CDB50 */ _t71 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CDB50 */ _t72 = _t71 & 0x00000001u;
/* 028CDB50 */ if (_t72) goto L_028CDB54; // else: addr-0 trap, fall-through
L_028CDB54: ; // 0x28cdb54
/* 028CDB54 */ _t73 = cpu->r[1] + 0x0000004Cu;
/* 028CDB54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73);
/* 028CDB58 */ cpu->lr = cpu->r[0];
/* 028CDB5C */ cpu->r[1] = cpu->r[1] + 0x00000048u;
/* 028CDB60 */ return;
}
// fn_028CD99C @ 0x28cd99c
void Gambit_fn_028CD99C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73;
L_028CD99C: ; // 0x28cd99c
/* 028CD99C */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
/* 028CD99C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CD99C */ cpu->r[1] = _t0;
/* 028CD9A0 */ _t1 = cpu->r[1] + 0x00000028u;
/* 028CD9A0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
/* 028CD9A4 */ /* nop */
/* 028CD9A8 */ _t2 = cpu->r[1] + 0x00000038u;
/* 028CD9A8 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
/* 028CD9AC */ /* nop */
/* 028CD9B0 */ _t3 = cpu->r[1] + 0x00000030u;
/* 028CD9B0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
/* 028CD9B4 */ _t4 = cpu->r[1] + 0x00000040u;
/* 028CD9B4 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
/* 028CD9B8 */ _t5 = cpu->r[1] + 0x0000004Cu;
/* 028CD9B8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028CD9BC */ /* nop */
/* 028CD9C0 */ cpu->r[30] = cpu->r[4];
/* 028CD9C4 */ Gambit_fn_028CD838(cpu);
/* 028CD9C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CD9CC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CD9CC */ _t7 = _t6 & 0x00000001u;
/* 028CD9CC */ if (_t7) goto L_028CDB3C; else goto L_028CD9D0;
L_028CD9D0: ; // 0x28cd9d0
/* 028CD9D0 */ _t8 = cpu->r[30] + 0x000001B8u;
/* 028CD9D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028CD9D4 */ cpu->r[27] = 0x00000000u;
/* 028CD9D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]);
/* 028CD9DC */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CD9DC */ _t10 = _t9 & 0x00000001u;
/* 028CD9DC */ if (_t10) goto L_028CD9E0; else goto L_028CDB30;
L_028CD9E0: ; // 0x28cd9e0
/* 028CD9E0 */ cpu->r[8] = 0x10140000u;
/* 028CD9E4 */ cpu->r[11] = 0x10140000u;
/* 028CD9E8 */ _t11 = cpu->r[8] + 0xFFFFA10Cu;
/* 028CD9E8 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t11);
/* 028CD9EC */ _t12 = cpu->r[11] + 0xFFFFA114u;
/* 028CD9EC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t12);
/* 028CD9F0 */ cpu->r[29] = 0x00000000u;
L_028CD9F4: ; // 0x28cd9f4
/* 028CD9F4 */ _t13 = cpu->r[30] + 0x00000008u;
/* 028CD9F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
/* 028CD9F8 */ cpu->r[4] = cpu->r[27];
/* 028CD9FC */ Gambit_fn_028BF4F4(cpu);
/* 028CDA00 */ cpu->r[28] = cpu->r[3];
/* 028CDA00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028CDA04 */ _t14 = cpu->r[30] + 0x000001BCu;
/* 028CDA04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028CDA08 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CDA08 */ _t16 = _t15 & 0x00000001u;
/* 028CDA08 */ if (_t16) goto L_028CDAC4; else goto L_028CDA0C;
L_028CDA0C: ; // 0x28cda0c
/* 028CDA0C */ _t17 = cpu->r[28] + 0x00000084u;
/* 028CDA0C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t17);
/* 028CDA10 */ Gambit_fn_028ED268(cpu);
/* 028CDA14 */ _t18 = cpu->r[31] + cpu->r[29];
/* 028CDA14 */ rbrew_write32(cpu->mem, _t18, cpu->r[1]);
/* 028CDA18 */ cpu->r[0] = 0x43300000u;
/* 028CDA1C */ _t19 = cpu->r[28] + 0x00000020u;
/* 028CDA1C */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
/* 028CDA20 */ _t20 = cpu->r[1] + 0x00000008u;
/* 028CDA20 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
/* 028CDA24 */ cpu->r[12] = 0x10140000u;
/* 028CDA28 */ _t21 = cpu->r[1] + 0x0000000Cu;
/* 028CDA28 */ rbrew_write32(cpu->mem, _t21, cpu->r[10]);
/* 028CDA2C */ _t22 = cpu->r[1] + 0x00000008u;
/* 028CDA2C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t22);
/* 028CDA30 */ _t23 = cpu->r[12] + 0xFFFFA118u;
/* 028CDA30 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t23);
/* 028CDA34 */ cpu->f[12] = cpu->f[13] - cpu->f[0];
/* 028CDA38 */ cpu->f[0] = (double)(float)cpu->f[12];
/* 028CDA3C */ _t24 = cpu->r[30] + 0x000001BCu;
/* 028CDA3C */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
/* 028CDA40 */ cpu->f[13] = cpu->f[0] * cpu->f[31];
/* 028CDA44 */ cpu->r[8] = cpu->r[9] + cpu->r[29];
/* 028CDA48 */ _t25 = cpu->r[8] + 0x00000004u;
/* 028CDA48 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[13]);
/* 028CDA4C */ _t26 = cpu->r[30] + 0x000001BCu;
/* 028CDA4C */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
/* 028CDA50 */ _t27 = cpu->r[28] + 0x0000000Cu;
/* 028CDA50 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t27);
/* 028CDA54 */ cpu->r[8] = cpu->r[9] + cpu->r[29];
/* 028CDA58 */ _t28 = cpu->r[8] + 0x00000008u;
/* 028CDA58 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[12]);
/* 028CDA5C */ _t29 = cpu->r[30] + 0x000001BCu;
/* 028CDA5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t29);
/* 028CDA60 */ cpu->r[10] = cpu->r[11] + cpu->r[29];
/* 028CDA64 */ _t30 = cpu->r[28] + 0x00000004u;
/* 028CDA64 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t30);
/* 028CDA68 */ _t31 = cpu->r[10] + 0x0000000Cu;
/* 028CDA68 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[13]);
/* 028CDA6C */ _t32 = cpu->r[30] + 0x000001BCu;
/* 028CDA6C */ cpu->r[8] = rbrew_read32(cpu->mem, _t32);
/* 028CDA70 */ cpu->r[12] = cpu->r[8] + cpu->r[29];
/* 028CDA74 */ _t33 = cpu->r[28] + 0x00000008u;
/* 028CDA74 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t33);
/* 028CDA78 */ _t34 = cpu->r[12] + 0x00000010u;
/* 028CDA78 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[11]);
/* 028CDA7C */ _t35 = cpu->r[30] + 0x000001BCu;
/* 028CDA7C */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
/* 028CDA80 */ cpu->r[9] = cpu->r[10] + cpu->r[29];
/* 028CDA84 */ _t36 = cpu->r[28] + 0x00000010u;
/* 028CDA84 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t36);
/* 028CDA88 */ _t37 = cpu->r[9] + 0x00000014u;
/* 028CDA88 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[12]);
/* 028CDA8C */ _t38 = cpu->r[30] + 0x000001BCu;
/* 028CDA8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
/* 028CDA90 */ cpu->r[11] = cpu->r[12] + cpu->r[29];
/* 028CDA94 */ _t39 = cpu->r[28] + 0x00000014u;
/* 028CDA94 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t39);
/* 028CDA98 */ _t40 = cpu->r[11] + 0x00000018u;
/* 028CDA98 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[11]);
/* 028CDA9C */ _t41 = cpu->r[30] + 0x000001BCu;
/* 028CDA9C */ cpu->r[10] = rbrew_read32(cpu->mem, _t41);
/* 028CDAA0 */ _t42 = cpu->r[28] + 0x00000018u;
/* 028CDAA0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t42);
/* 028CDAA4 */ cpu->r[9] = cpu->r[10] + cpu->r[29];
/* 028CDAA8 */ _t43 = cpu->r[9] + 0x0000001Cu;
/* 028CDAA8 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[0]);
/* 028CDAAC */ _t44 = cpu->r[30] + 0x000001B8u;
/* 028CDAAC */ cpu->r[11] = rbrew_read32(cpu->mem, _t44);
/* 028CDAB0 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
/* 028CDAB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[11]);
/* 028CDAB8 */ cpu->r[29] = cpu->r[29] + 0x00000020u;
/* 028CDABC */ _t45 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CDABC */ _t46 = _t45 & 0x00000001u;
/* 028CDABC */ if (_t46) goto L_028CD9F4; else goto L_028CDAC0;
L_028CDAC0: ; // 0x28cdac0
/* 028CDAC0 */ goto L_028CDB30;
L_028CDAC4: ; // 0x28cdac4
/* 028CDAC4 */ _t47 = cpu->r[31] + cpu->r[29];
/* 028CDAC4 */ rbrew_write32(cpu->mem, _t47, cpu->r[30]);
/* 028CDAC8 */ _t48 = cpu->r[30] + 0x000001BCu;
/* 028CDAC8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t48);
/* 028CDACC */ cpu->r[9] = cpu->r[10] + cpu->r[29];
/* 028CDAD0 */ _t49 = cpu->r[9] + 0x00000004u;
/* 028CDAD0 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[30]);
/* 028CDAD4 */ _t50 = cpu->r[30] + 0x000001BCu;
/* 028CDAD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t50);
/* 028CDAD8 */ cpu->r[11] = cpu->r[12] + cpu->r[29];
/* 028CDADC */ _t51 = cpu->r[11] + 0x00000008u;
/* 028CDADC */ rbrew_write_f32(cpu->mem, _t51, cpu->f[30]);
/* 028CDAE0 */ _t52 = cpu->r[30] + 0x000001BCu;
/* 028CDAE0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t52);
/* 028CDAE4 */ cpu->r[8] = cpu->r[10] + cpu->r[29];
/* 028CDAE8 */ _t53 = cpu->r[8] + 0x0000000Cu;
/* 028CDAE8 */ rbrew_write_f32(cpu->mem, _t53, cpu->f[30]);
/* 028CDAEC */ _t54 = cpu->r[30] + 0x000001BCu;
/* 028CDAEC */ cpu->r[9] = rbrew_read32(cpu->mem, _t54);
/* 028CDAF0 */ cpu->r[12] = cpu->r[9] + cpu->r[29];
/* 028CDAF4 */ _t55 = cpu->r[12] + 0x00000010u;
/* 028CDAF4 */ rbrew_write_f32(cpu->mem, _t55, cpu->f[30]);
/* 028CDAF8 */ _t56 = cpu->r[30] + 0x000001BCu;
/* 028CDAF8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t56);
/* 028CDAFC */ cpu->r[10] = cpu->r[11] + cpu->r[29];
/* 028CDB00 */ _t57 = cpu->r[10] + 0x00000014u;
/* 028CDB00 */ rbrew_write_f32(cpu->mem, _t57, cpu->f[30]);
/* 028CDB04 */ _t58 = cpu->r[30] + 0x000001BCu;
/* 028CDB04 */ cpu->r[8] = rbrew_read32(cpu->mem, _t58);
/* 028CDB08 */ cpu->r[12] = cpu->r[8] + cpu->r[29];
/* 028CDB0C */ _t59 = cpu->r[12] + 0x00000018u;
/* 028CDB0C */ rbrew_write_f32(cpu->mem, _t59, cpu->f[30]);
/* 028CDB10 */ _t60 = cpu->r[30] + 0x000001BCu;
/* 028CDB10 */ cpu->r[10] = rbrew_read32(cpu->mem, _t60);
/* 028CDB14 */ cpu->r[9] = cpu->r[10] + cpu->r[29];
/* 028CDB18 */ _t61 = cpu->r[9] + 0x0000001Cu;
/* 028CDB18 */ rbrew_write_f32(cpu->mem, _t61, cpu->f[30]);
/* 028CDB1C */ _t62 = cpu->r[30] + 0x000001B8u;
/* 028CDB1C */ cpu->r[11] = rbrew_read32(cpu->mem, _t62);
/* 028CDB20 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
/* 028CDB24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[11]);
/* 028CDB28 */ cpu->r[29] = cpu->r[29] + 0x00000020u;
/* 028CDB2C */ _t63 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CDB2C */ _t64 = _t63 & 0x00000001u;
/* 028CDB2C */ if (_t64) goto L_028CD9F4; else goto L_028CDB30;
L_028CDB30: ; // 0x28cdb30
/* 028CDB30 */ _t65 = cpu->r[30] + 0x00000028u;
/* 028CDB30 */ cpu->r[12] = rbrew_read8(cpu->mem, _t65);
/* 028CDB34 */ cpu->r[12] = cpu->r[12] | 0x00000008u;
/* 028CDB38 */ _t66 = cpu->r[30] + 0x00000028u;
/* 028CDB38 */ rbrew_write8(cpu->mem, _t66, (uint8_t)cpu->r[12]);
L_028CDB3C: ; // 0x28cdb3c
/* 028CDB3C */ /* nop */
/* 028CDB40 */ _t67 = cpu->r[1] + 0x00000030u;
/* 028CDB40 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t67);
/* 028CDB44 */ _t68 = cpu->r[1] + 0x00000040u;
/* 028CDB44 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t68);
/* 028CDB48 */ _t69 = cpu->r[1] + 0x00000028u;
/* 028CDB48 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t69);
/* 028CDB4C */ _t70 = cpu->r[1] + 0x00000038u;
/* 028CDB4C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t70);
/* 028CDB50 */ _t71 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CDB50 */ _t72 = _t71 & 0x00000001u;
/* 028CDB50 */ if (_t72) goto L_028CDB54; // else: addr-0 trap, fall-through
L_028CDB54: ; // 0x28cdb54
/* 028CDB54 */ _t73 = cpu->r[1] + 0x0000004Cu;
/* 028CDB54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73);
/* 028CDB58 */ cpu->lr = cpu->r[0];
/* 028CDB5C */ cpu->r[1] = cpu->r[1] + 0x00000048u;
/* 028CDB60 */ return;
}
// fn_028CDB64 @ 0x28cdb64
void Gambit_fn_028CDB64(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
L_028CDB64: ; // 0x28cdb64
/* 028CDB64 */ cpu->r[0] = cpu->lr;
/* 028CDB68 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028CDB68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CDB68 */ cpu->r[1] = _t0;
/* 028CDB6C */ _t1 = cpu->r[1] + 0x00000010u;
/* 028CDB6C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028CDB70 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028CDB70 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028CDB74 */ cpu->r[30] = cpu->r[3];
/* 028CDB78 */ _t3 = cpu->r[1] + 0x0000001Cu;
/* 028CDB78 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028CDB7C */ _t4 = cpu->r[30] + 0x00000004u;
/* 028CDB7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028CDB80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CDB84 */ cpu->r[31] = cpu->r[4];
/* 028CDB88 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CDB88 */ _t6 = _t5 & 0x00000001u;
/* 028CDB88 */ if (_t6) goto L_028CDBF0; else goto L_028CDB8C;
L_028CDB8C: ; // 0x28cdb8c
/* 028CDB8C */ cpu->r[3] = cpu->r[30];
/* 028CDB90 */ cpu->r[4] = cpu->r[31];
/* 028CDB94 */ Gambit_fn_028CD0EC(cpu);
/* 028CDB98 */ cpu->r[4] = cpu->r[3];
/* 028CDB98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028CDB9C */ cpu->r[3] = cpu->r[30];
/* 028CDBA0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CDBA0 */ _t8 = _t7 & 0x00000001u;
/* 028CDBA0 */ if (_t8) goto L_028CDBA4; else goto L_028CDBEC;
L_028CDBA4: ; // 0x28cdba4
/* 028CDBA4 */ cpu->r[4] = cpu->r[31];
/* 028CDBA8 */ Gambit_fn_028CD024(cpu);
/* 028CDBAC */ cpu->r[4] = cpu->r[31];
/* 028CDBB0 */ cpu->r[3] = cpu->r[30];
/* 028CDBB4 */ Gambit_fn_028CD0EC(cpu);
/* 028CDBB8 */ cpu->r[12] = 0x101F0000u;
/* 028CDBBC */ _t9 = cpu->r[12] + 0x000071B0u;
/* 028CDBBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
/* 028CDBC0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
/* 028CDBC4 */ cpu->r[4] = cpu->r[31];
/* 028CDBC8 */ cpu->r[3] = cpu->r[30];
/* 028CDBCC */ _t10 = cpu->r[1] + 0x00000008u;
/* 028CDBCC */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
/* 028CDBD0 */ Gambit_fn_028CD4D4(cpu);
/* 028CDBD4 */ _t11 = cpu->r[1] + 0x0000001Cu;
/* 028CDBD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028CDBD8 */ _t12 = cpu->r[1] + 0x00000010u;
/* 028CDBD8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
/* 028CDBDC */ cpu->lr = cpu->r[0];
/* 028CDBE0 */ _t13 = cpu->r[1] + 0x00000014u;
/* 028CDBE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
/* 028CDBE4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028CDBE8 */ return;
L_028CDBEC: ; // 0x28cdbec
/* 028CDBEC */ Gambit_fn_028CD998(cpu);
L_028CDBF0: ; // 0x28cdbf0
/* 028CDBF0 */ _t14 = cpu->r[1] + 0x0000001Cu;
/* 028CDBF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028CDBF4 */ _t15 = cpu->r[1] + 0x00000010u;
/* 028CDBF4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
/* 028CDBF8 */ cpu->lr = cpu->r[0];
/* 028CDBFC */ _t16 = cpu->r[1] + 0x00000014u;
/* 028CDBFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
/* 028CDC00 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028CDC04 */ return;
}
// fn_028CDB68 @ 0x28cdb68
void Gambit_fn_028CDB68(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
L_028CDB68: ; // 0x28cdb68
/* 028CDB68 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028CDB68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CDB68 */ cpu->r[1] = _t0;
/* 028CDB6C */ _t1 = cpu->r[1] + 0x00000010u;
/* 028CDB6C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028CDB70 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028CDB70 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028CDB74 */ cpu->r[30] = cpu->r[3];
/* 028CDB78 */ _t3 = cpu->r[1] + 0x0000001Cu;
/* 028CDB78 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028CDB7C */ _t4 = cpu->r[30] + 0x00000004u;
/* 028CDB7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028CDB80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CDB84 */ cpu->r[31] = cpu->r[4];
/* 028CDB88 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CDB88 */ _t6 = _t5 & 0x00000001u;
/* 028CDB88 */ if (_t6) goto L_028CDBF0; else goto L_028CDB8C;
L_028CDB8C: ; // 0x28cdb8c
/* 028CDB8C */ cpu->r[3] = cpu->r[30];
/* 028CDB90 */ cpu->r[4] = cpu->r[31];
/* 028CDB94 */ Gambit_fn_028CD0EC(cpu);
/* 028CDB98 */ cpu->r[4] = cpu->r[3];
/* 028CDB98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028CDB9C */ cpu->r[3] = cpu->r[30];
/* 028CDBA0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CDBA0 */ _t8 = _t7 & 0x00000001u;
/* 028CDBA0 */ if (_t8) goto L_028CDBA4; else goto L_028CDBEC;
L_028CDBA4: ; // 0x28cdba4
/* 028CDBA4 */ cpu->r[4] = cpu->r[31];
/* 028CDBA8 */ Gambit_fn_028CD024(cpu);
/* 028CDBAC */ cpu->r[4] = cpu->r[31];
/* 028CDBB0 */ cpu->r[3] = cpu->r[30];
/* 028CDBB4 */ Gambit_fn_028CD0EC(cpu);
/* 028CDBB8 */ cpu->r[12] = 0x101F0000u;
/* 028CDBBC */ _t9 = cpu->r[12] + 0x000071B0u;
/* 028CDBBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
/* 028CDBC0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
/* 028CDBC4 */ cpu->r[4] = cpu->r[31];
/* 028CDBC8 */ cpu->r[3] = cpu->r[30];
/* 028CDBCC */ _t10 = cpu->r[1] + 0x00000008u;
/* 028CDBCC */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
/* 028CDBD0 */ Gambit_fn_028CD4D4(cpu);
/* 028CDBD4 */ _t11 = cpu->r[1] + 0x0000001Cu;
/* 028CDBD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028CDBD8 */ _t12 = cpu->r[1] + 0x00000010u;
/* 028CDBD8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
/* 028CDBDC */ cpu->lr = cpu->r[0];
/* 028CDBE0 */ _t13 = cpu->r[1] + 0x00000014u;
/* 028CDBE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
/* 028CDBE4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028CDBE8 */ return;
L_028CDBEC: ; // 0x28cdbec
/* 028CDBEC */ Gambit_fn_028CD998(cpu);
L_028CDBF0: ; // 0x28cdbf0
/* 028CDBF0 */ _t14 = cpu->r[1] + 0x0000001Cu;
/* 028CDBF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028CDBF4 */ _t15 = cpu->r[1] + 0x00000010u;
/* 028CDBF4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
/* 028CDBF8 */ cpu->lr = cpu->r[0];
/* 028CDBFC */ _t16 = cpu->r[1] + 0x00000014u;
/* 028CDBFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
/* 028CDC00 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028CDC04 */ return;
}
// fn_028CDC08 @ 0x28cdc08
void Gambit_fn_028CDC08(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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_028CDC08: ; // 0x28cdc08
/* 028CDC08 */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
/* 028CDC08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CDC08 */ cpu->r[1] = _t0;
/* 028CDC0C */ _t1 = cpu->r[1] + 0x00000018u;
/* 028CDC0C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[28]);
/* 028CDC10 */ cpu->r[0] = cpu->lr;
/* 028CDC14 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028CDC14 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028CDC18 */ /* nop */
/* 028CDC1C */ _t3 = cpu->r[1] + 0x00000028u;
/* 028CDC1C */ rbrew_write_f64(cpu->mem, _t3, cpu->f[29]);
/* 028CDC20 */ /* nop */
/* 028CDC24 */ _t4 = cpu->r[1] + 0x00000038u;
/* 028CDC24 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[30]);
/* 028CDC28 */ /* nop */
/* 028CDC2C */ _t5 = cpu->r[1] + 0x00000020u;
/* 028CDC2C */ rbrew_write_f32(cpu->mem, _t5, cpu->f[28]);
/* 028CDC30 */ cpu->r[30] = cpu->r[3];
/* 028CDC34 */ _t6 = cpu->r[1] + 0x00000048u;
/* 028CDC34 */ rbrew_write_f64(cpu->mem, _t6, cpu->f[31]);
/* 028CDC38 */ _t7 = cpu->r[1] + 0x00000030u;
/* 028CDC38 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[29]);
/* 028CDC3C */ /* nop */
/* 028CDC40 */ _t8 = cpu->r[1] + 0x00000014u;
/* 028CDC40 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
/* 028CDC44 */ _t9 = cpu->r[1] + 0x00000050u;
/* 028CDC44 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[31]);
/* 028CDC48 */ cpu->f[28] = cpu->f[1];
/* 028CDC4C */ _t10 = cpu->r[1] + 0x00000040u;
/* 028CDC4C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[30]);
/* 028CDC50 */ cpu->f[31] = cpu->f[4];
/* 028CDC54 */ _t11 = cpu->r[1] + 0x0000005Cu;
/* 028CDC54 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
/* 028CDC58 */ _t12 = cpu->r[30] + 0x00000004u;
/* 028CDC58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028CDC5C */ cpu->f[29] = cpu->f[2];
/* 028CDC60 */ cpu->r[31] = cpu->r[4];
/* 028CDC64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CDC68 */ cpu->f[30] = cpu->f[3];
/* 028CDC6C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CDC6C */ _t14 = _t13 & 0x00000001u;
/* 028CDC6C */ if (_t14) goto L_028CDD04; else goto L_028CDC70;
L_028CDC70: ; // 0x28cdc70
/* 028CDC70 */ cpu->r[3] = cpu->r[30];
/* 028CDC74 */ cpu->r[4] = cpu->r[31];
/* 028CDC78 */ Gambit_fn_028CD0EC(cpu);
/* 028CDC7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CDC80 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CDC80 */ _t16 = _t15 & 0x00000001u;
/* 028CDC80 */ if (_t16) goto L_028CDC84; else goto L_028CDCF4;
L_028CDC84: ; // 0x28cdc84
/* 028CDC84 */ cpu->r[4] = cpu->r[31];
/* 028CDC88 */ cpu->r[3] = cpu->r[30];
/* 028CDC8C */ Gambit_fn_028CD024(cpu);
/* 028CDC90 */ cpu->r[4] = cpu->r[31];
/* 028CDC94 */ cpu->r[3] = cpu->r[30];
/* 028CDC98 */ Gambit_fn_028CD0EC(cpu);
/* 028CDC9C */ cpu->r[12] = 0x101F0000u;
/* 028CDCA0 */ _t17 = cpu->r[12] + 0x000071B0u;
/* 028CDCA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
/* 028CDCA4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
/* 028CDCA8 */ cpu->r[4] = cpu->r[31];
/* 028CDCAC */ cpu->r[3] = cpu->r[30];
/* 028CDCB0 */ _t18 = cpu->r[1] + 0x00000008u;
/* 028CDCB0 */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
/* 028CDCB4 */ Gambit_fn_028CD4D4(cpu);
/* 028CDCB8 */ _t19 = cpu->r[1] + 0x00000050u;
/* 028CDCB8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t19);
/* 028CDCBC */ _t20 = cpu->r[1] + 0x00000030u;
/* 028CDCBC */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t20);
/* 028CDCC0 */ _t21 = cpu->r[1] + 0x00000048u;
/* 028CDCC0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t21);
/* 028CDCC4 */ _t22 = cpu->r[1] + 0x00000040u;
/* 028CDCC4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t22);
/* 028CDCC8 */ _t23 = cpu->r[1] + 0x00000028u;
/* 028CDCC8 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t23);
/* 028CDCCC */ _t24 = cpu->r[1] + 0x00000038u;
/* 028CDCCC */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t24);
/* 028CDCD0 */ _t25 = cpu->r[1] + 0x00000020u;
/* 028CDCD0 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t25);
/* 028CDCD4 */ _t26 = cpu->r[1] + 0x00000014u;
/* 028CDCD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
/* 028CDCD8 */ _t27 = cpu->r[1] + 0x00000018u;
/* 028CDCD8 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t27);
/* 028CDCDC */ _t28 = cpu->r[1] + 0x00000010u;
/* 028CDCDC */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
/* 028CDCE0 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CDCE0 */ _t30 = _t29 & 0x00000001u;
/* 028CDCE0 */ if (_t30) goto L_028CDCE4; // else: addr-0 trap, fall-through
L_028CDCE4: ; // 0x28cdce4
/* 028CDCE4 */ _t31 = cpu->r[1] + 0x0000005Cu;
/* 028CDCE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
/* 028CDCE8 */ cpu->lr = cpu->r[0];
/* 028CDCEC */ cpu->r[1] = cpu->r[1] + 0x00000058u;
/* 028CDCF0 */ return;
L_028CDCF4: ; // 0x28cdcf4
/* 028CDCF4 */ _t32 = cpu->r[3] + 0x000000E0u;
/* 028CDCF4 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[29]);
/* 028CDCF8 */ _t33 = cpu->r[3] + 0x000000E4u;
/* 028CDCF8 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[30]);
/* 028CDCFC */ _t34 = cpu->r[3] + 0x000000DCu;
/* 028CDCFC */ rbrew_write_f32(cpu->mem, _t34, cpu->f[28]);
/* 028CDD00 */ _t35 = cpu->r[3] + 0x000000E8u;
/* 028CDD00 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[31]);
L_028CDD04: ; // 0x28cdd04
/* 028CDD04 */ _t36 = cpu->r[1] + 0x00000014u;
/* 028CDD04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
/* 028CDD08 */ _t37 = cpu->r[1] + 0x00000040u;
/* 028CDD08 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t37);
/* 028CDD0C */ _t38 = cpu->r[1] + 0x00000050u;
/* 028CDD0C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t38);
/* 028CDD10 */ _t39 = cpu->r[1] + 0x00000038u;
/* 028CDD10 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t39);
/* 028CDD14 */ _t40 = cpu->r[1] + 0x00000048u;
/* 028CDD14 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t40);
/* 028CDD18 */ _t41 = cpu->r[1] + 0x00000030u;
/* 028CDD18 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t41);
/* 028CDD1C */ _t42 = cpu->r[1] + 0x00000020u;
/* 028CDD1C */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t42);
/* 028CDD20 */ _t43 = cpu->r[1] + 0x00000028u;
/* 028CDD20 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t43);
/* 028CDD24 */ _t44 = cpu->r[1] + 0x00000018u;
/* 028CDD24 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t44);
/* 028CDD28 */ _t45 = cpu->r[1] + 0x00000010u;
/* 028CDD28 */ cpu->r[30] = rbrew_read32(cpu->mem, _t45);
/* 028CDD2C */ _t46 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CDD2C */ _t47 = _t46 & 0x00000001u;
/* 028CDD2C */ if (_t47) goto L_028CDD30; // else: addr-0 trap, fall-through
L_028CDD30: ; // 0x28cdd30
/* 028CDD30 */ _t48 = cpu->r[1] + 0x0000005Cu;
/* 028CDD30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
/* 028CDD34 */ cpu->lr = cpu->r[0];
/* 028CDD38 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
/* 028CDD3C */ return;
}
// fn_028CDD40 @ 0x28cdd40
void Gambit_fn_028CDD40(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
L_028CDD40: ; // 0x28cdd40
/* 028CDD40 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028CDD40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CDD40 */ cpu->r[1] = _t0;
/* 028CDD44 */ /* nop */
/* 028CDD48 */ cpu->r[0] = cpu->lr;
/* 028CDD4C */ _t1 = cpu->r[1] + 0x0000002Cu;
/* 028CDD4C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028CDD50 */ cpu->r[26] = cpu->r[3];
/* 028CDD54 */ _t2 = cpu->r[26] + 0x00000118u;
/* 028CDD54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
/* 028CDD58 */ cpu->r[25] = cpu->r[26] + 0x0000010Cu;
/* 028CDD5C */ _t3 = cpu->r[26] + 0x00000110u;
/* 028CDD5C */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
/* 028CDD60 */ cpu->r[30] = cpu->r[25] - cpu->r[0];
/* 028CDD64 */ cpu->r[27] = cpu->r[4];
/* 028CDD68 */ cpu->r[29] = cpu->r[10] - cpu->r[0];
/* 028CDD6C */ cpu->r[31] = cpu->r[0];
/* 028CDD70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]);
/* 028CDD74 */ _t4 = cpu->r[10] + 0x00000004u;
/* 028CDD74 */ cpu->r[28] = rbrew_read32(cpu->mem, _t4);
/* 028CDD78 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CDD78 */ _t6 = _t5 & 0x00000001u;
/* 028CDD78 */ if (_t6) goto L_028CDDB4; else goto L_028CDD7C;
L_028CDD7C: ; // 0x28cdd7c
/* 028CDD7C */ cpu->r[3] = cpu->r[29] + cpu->r[0];
/* 028CDD80 */ Gambit_fn_02801EDC(cpu);
/* 028CDD84 */ _t7 = cpu->r[25] + 0x00000008u;
/* 028CDD84 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
/* 028CDD88 */ cpu->r[3] = cpu->r[26];
/* 028CDD8C */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
/* 028CDD90 */ cpu->r[4] = cpu->r[29];
/* 028CDD94 */ _t8 = cpu->r[25] + 0x00000008u;
/* 028CDD94 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
/* 028CDD98 */ Gambit_fn_028CE508(cpu);
/* 028CDD9C */ cpu->r[29] = cpu->r[28] - cpu->r[31];
/* 028CDDA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]);
/* 028CDDA4 */ _t9 = cpu->r[28] + 0x00000004u;
/* 028CDDA4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t9);
/* 028CDDA8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CDDA8 */ _t11 = _t10 & 0x00000001u;
/* 028CDDA8 */ if (_t11) goto L_028CDDB4; else goto L_028CDDAC;
L_028CDDAC: ; // 0x28cddac
/* 028CDDAC */ _t12 = cpu->r[25] + 0x0000000Cu;
/* 028CDDAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028CDDB0 */ goto L_028CDD7C;
L_028CDDB4: ; // 0x28cddb4
/* 028CDDB4 */ cpu->r[3] = cpu->r[25];
/* 028CDDB8 */ Gambit_fn_0280236C(cpu);
/* 028CDDBC */ _t13 = cpu->r[27] + 0x00000008u;
/* 028CDDBC */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
/* 028CDDC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028CDDC4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CDDC4 */ _t15 = _t14 & 0x00000001u;
/* 028CDDC4 */ if (_t15) goto L_028CDDD0; else goto L_028CDDC8;
L_028CDDC8: ; // 0x28cddc8
/* 028CDDC8 */ cpu->r[3] = cpu->r[26];
/* 028CDDCC */ Gambit_fn_028CC8A4(cpu);
L_028CDDD0: ; // 0x28cddd0
/* 028CDDD0 */ /* nop */
/* 028CDDD4 */ _t16 = cpu->r[1] + 0x0000002Cu;
/* 028CDDD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028CDDD8 */ cpu->lr = cpu->r[0];
/* 028CDDDC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028CDDE0 */ return;
}
// fn_028CDDE4 @ 0x28cdde4
void Gambit_fn_028CDDE4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
L_028CDDE4: ; // 0x28cdde4
/* 028CDDE4 */ _t0 = cpu->r[3] + 0x00000118u;
/* 028CDDE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028CDDE8 */ cpu->r[10] = cpu->r[3] + 0x0000010Cu;
/* 028CDDEC */ _t1 = cpu->r[3] + 0x00000110u;
/* 028CDDEC */ cpu->r[9] = rbrew_read32(cpu->mem, _t1);
/* 028CDDF0 */ cpu->r[0] = cpu->r[10] - cpu->r[12];
/* 028CDDF4 */ cpu->r[3] = cpu->r[9] - cpu->r[12];
/* 028CDDF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]);
/* 028CDDFC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CDDFC */ _t3 = _t2 & 0x00000001u;
/* 028CDDFC */ if (_t3) goto L_028CDE20; else goto L_028CDE00;
L_028CDE00: ; // 0x28cde00
/* 028CDE00 */ _t4 = cpu->r[3] + 0x00000008u;
/* 028CDE00 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
/* 028CDE04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[4]);
/* 028CDE08 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CDE08 */ _t6 = _t5 & 0x00000001u;
/* 028CDE08 */ if (_t6) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CDE08 */ goto L_028CDE0C;
L_028CDE0C: ; // 0x28cde0c
/* 028CDE0C */ cpu->r[11] = cpu->r[3] + cpu->r[12];
/* 028CDE10 */ _t7 = cpu->r[11] + 0x00000004u;
/* 028CDE10 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
/* 028CDE14 */ cpu->r[3] = cpu->r[8] - cpu->r[12];
/* 028CDE18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]);
/* 028CDE1C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CDE1C */ _t9 = _t8 & 0x00000001u;
/* 028CDE1C */ if (_t9) goto L_028CDE20; else goto L_028CDE00;
L_028CDE20: ; // 0x28cde20
/* 028CDE20 */ cpu->r[3] = 0x00000000u;
/* 028CDE24 */ return;
}
// fn_028CDE28 @ 0x28cde28
void Gambit_fn_028CDE28(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028CDE28: ; // 0x28cde28
/* 028CDE28 */ cpu->r[0] = cpu->lr;
/* 028CDE2C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028CDE2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CDE2C */ cpu->r[1] = _t0;
/* 028CDE30 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028CDE30 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028CDE34 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028CDE34 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028CDE38 */ Gambit_fn_028CDDE4(cpu);
/* 028CDE3C */ cpu->r[31] = cpu->r[3];
/* 028CDE3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CDE40 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CDE40 */ _t4 = _t3 & 0x00000001u;
/* 028CDE40 */ if (_t4) goto L_028CDE64; else goto L_028CDE44;
L_028CDE44: ; // 0x28cde44
/* 028CDE44 */ _t5 = cpu->r[4] + 0x00000140u;
/* 028CDE44 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
/* 028CDE48 */ _t6 = cpu->r[31] + 0x00000010u;
/* 028CDE48 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[0]);
/* 028CDE4C */ _t7 = cpu->r[4] + 0x00000008u;
/* 028CDE4C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
/* 028CDE50 */ _t8 = cpu->r[12] + 0x0000006Cu;
/* 028CDE50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028CDE54 */ cpu->ctr = cpu->r[0];
/* 028CDE58 */ cpu->r[3] = cpu->r[4];
/* 028CDE5C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CDE60 */ _t9 = cpu->r[31] + 0x00000014u;
/* 028CDE60 */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
L_028CDE64: ; // 0x28cde64
/* 028CDE64 */ _t10 = cpu->r[1] + 0x00000014u;
/* 028CDE64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028CDE68 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028CDE68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028CDE6C */ cpu->lr = cpu->r[0];
/* 028CDE70 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CDE74 */ return;
}
// fn_028CDE2C @ 0x28cde2c
void Gambit_fn_028CDE2C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028CDE2C: ; // 0x28cde2c
/* 028CDE2C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028CDE2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CDE2C */ cpu->r[1] = _t0;
/* 028CDE30 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028CDE30 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028CDE34 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028CDE34 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028CDE38 */ Gambit_fn_028CDDE4(cpu);
/* 028CDE3C */ cpu->r[31] = cpu->r[3];
/* 028CDE3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CDE40 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CDE40 */ _t4 = _t3 & 0x00000001u;
/* 028CDE40 */ if (_t4) goto L_028CDE64; else goto L_028CDE44;
L_028CDE44: ; // 0x28cde44
/* 028CDE44 */ _t5 = cpu->r[4] + 0x00000140u;
/* 028CDE44 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
/* 028CDE48 */ _t6 = cpu->r[31] + 0x00000010u;
/* 028CDE48 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[0]);
/* 028CDE4C */ _t7 = cpu->r[4] + 0x00000008u;
/* 028CDE4C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
/* 028CDE50 */ _t8 = cpu->r[12] + 0x0000006Cu;
/* 028CDE50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028CDE54 */ cpu->ctr = cpu->r[0];
/* 028CDE58 */ cpu->r[3] = cpu->r[4];
/* 028CDE5C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CDE60 */ _t9 = cpu->r[31] + 0x00000014u;
/* 028CDE60 */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
L_028CDE64: ; // 0x28cde64
/* 028CDE64 */ _t10 = cpu->r[1] + 0x00000014u;
/* 028CDE64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028CDE68 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028CDE68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028CDE6C */ cpu->lr = cpu->r[0];
/* 028CDE70 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CDE74 */ return;
}
// fn_028CDE78 @ 0x28cde78
void Gambit_fn_028CDE78(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _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;
L_028CDE78: ; // 0x28cde78
/* 028CDE78 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
/* 028CDE78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CDE78 */ cpu->r[1] = _t0;
/* 028CDE7C */ /* nop */
/* 028CDE80 */ cpu->r[0] = cpu->lr;
/* 028CDE84 */ _t1 = cpu->r[1] + 0x00000034u;
/* 028CDE84 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028CDE88 */ cpu->r[31] = cpu->r[3];
/* 028CDE8C */ cpu->r[30] = 0x10110000u;
/* 028CDE90 */ _t2 = cpu->r[31] + 0x000000ACu;
/* 028CDE90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
/* 028CDE94 */ _t3 = cpu->r[30] + 0x00007399u;
/* 028CDE94 */ cpu->r[30] = rbrew_read8(cpu->mem, _t3);
/* 028CDE98 */ _t4 = cpu->r[12] + 0x00000000u;
/* 028CDE98 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
/* 028CDE9C */ cpu->r[27] = cpu->r[4];
/* 028CDEA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
/* 028CDEA4 */ cpu->r[26] = 0x00000000u;
/* 028CDEA8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CDEA8 */ _t6 = _t5 & 0x00000001u;
/* 028CDEA8 */ if (_t6) goto L_028CDF54; else goto L_028CDEAC;
L_028CDEAC: ; // 0x28cdeac
/* 028CDEAC */ cpu->r[3] = cpu->r[27];
/* 028CDEB0 */ Gambit_fn_028BEFD0(cpu);
/* 028CDEB4 */ _t7 = cpu->r[31] + 0x000000B0u;
/* 028CDEB4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t7);
/* 028CDEB8 */ _t8 = cpu->r[5] + 0x00000014u;
/* 028CDEB8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t8);
/* 028CDEBC */ cpu->r[28] = cpu->r[3];
/* 028CDEC0 */ cpu->ctr = cpu->r[6];
/* 028CDEC4 */ cpu->r[3] = cpu->r[31] + 0x000000ACu;
/* 028CDEC8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CDECC */ _t9 = cpu->r[31] + 0x000000B0u;
/* 028CDECC */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
/* 028CDED0 */ _t10 = cpu->r[7] + 0x00000014u;
/* 028CDED0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
/* 028CDED4 */ cpu->ctr = cpu->r[8];
/* 028CDED8 */ cpu->r[3] = cpu->r[31] + 0x000000ACu;
/* 028CDEDC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CDEE0 */ _t11 = cpu->r[28] + 0x00000004u;
/* 028CDEE0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
/* 028CDEE4 */ _t12 = cpu->r[9] + 0x00000014u;
/* 028CDEE4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
/* 028CDEE8 */ cpu->ctr = cpu->r[10];
/* 028CDEEC */ _t13 = cpu->r[31] + 0x000000ACu;
/* 028CDEEC */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
/* 028CDEF0 */ cpu->r[3] = cpu->r[28];
/* 028CDEF4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CDEF8 */ _t14 = cpu->r[28] + 0x00000000u;
/* 028CDEF8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
/* 028CDEFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[11]);
/* 028CDF00 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CDF00 */ _t16 = _t15 & 0x00000001u;
/* 028CDF00 */ if (_t16) goto L_028CDF54; else goto L_028CDF04;
L_028CDF04: ; // 0x28cdf04
/* 028CDF04 */ cpu->r[0] = 0x00080000u;
/* 028CDF08 */ _t17 = cpu->r[31] + 0x000000ACu;
/* 028CDF08 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
/* 028CDF0C */ cpu->r[0] = cpu->r[0] | 0x00000001u;
/* 028CDF10 */ _t18 = cpu->r[28] + 0x00000000u;
/* 028CDF10 */ cpu->r[7] = rbrew_read32(cpu->mem, _t18);
/* 028CDF14 */ cpu->ctr = cpu->r[0];
/* 028CDF18 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
/* 028CDF1C */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
L_028CDF20: ; // 0x28cdf20
/* 028CDF20 */ _t19 = cpu->r[9] + 0x00000001u;
/* 028CDF20 */ cpu->r[8] = rbrew_read8(cpu->mem, _t19);
/* 028CDF20 */ cpu->r[9] = _t19;
/* 028CDF24 */ _t20 = cpu->r[7] + 0x00000001u;
/* 028CDF24 */ cpu->r[0] = rbrew_read8(cpu->mem, _t20);
/* 028CDF24 */ cpu->r[7] = _t20;
/* 028CDF28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]);
/* 028CDF2C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CDF2C */ _t22 = _t21 & 0x00000001u;
/* 028CDF2C */ if (_t22) goto L_028CDF30; else goto L_028CE0EC;
L_028CDF30: ; // 0x28cdf30
/* 028CDF30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[30]);
/* 028CDF34 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CDF34 */ _t24 = _t23 & 0x00000001u;
/* 028CDF34 */ if (_t24) goto L_028CDF54; else goto L_028CDF38;
L_028CDF38: ; // 0x28cdf38
/* 028CDF38 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028CDF38 */ _t25 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028CDF38 */ _t26 = _t25 >> (0x00000002u & 31u);
/* 028CDF38 */ _t27 = _t26 & 0x00000001u;
/* 028CDF38 */ if (_t27) goto L_028CDF20; else goto L_028CDF3C;
L_028CDF3C: ; // 0x28cdf3c
/* 028CDF3C */ /* nop */
/* 028CDF40 */ _t28 = cpu->r[1] + 0x00000034u;
/* 028CDF40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
/* 028CDF44 */ cpu->lr = cpu->r[0];
/* 028CDF48 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
/* 028CDF4C */ cpu->r[3] = 0x00000000u;
/* 028CDF50 */ return;
L_028CDF54: ; // 0x28cdf54
/* 028CDF54 */ cpu->r[5] = 0x10140000u;
/* 028CDF58 */ _t29 = cpu->r[31] + 0x000000DCu;
/* 028CDF58 */ cpu->r[4] = rbrew_read32(cpu->mem, _t29);
/* 028CDF5C */ cpu->r[3] = 0x0000009Cu;
/* 028CDF60 */ cpu->r[5] = cpu->r[5] + 0xFFFF9F56u;
/* 028CDF64 */ Gambit_fn_02801AF0(cpu);
/* 028CDF68 */ cpu->r[28] = cpu->r[3];
/* 028CDF68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028CDF6C */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CDF6C */ _t31 = _t30 & 0x00000001u;
/* 028CDF6C */ if (_t31) goto L_028CE0EC; else goto L_028CDF70;
L_028CDF70: ; // 0x28cdf70
/* 028CDF70 */ _t32 = cpu->r[28] + 0x00000014u;
/* 028CDF70 */ rbrew_write32(cpu->mem, _t32, cpu->r[26]);
/* 028CDF74 */ _t33 = cpu->r[28] + 0x00000008u;
/* 028CDF74 */ rbrew_write32(cpu->mem, _t33, cpu->r[26]);
/* 028CDF78 */ _t34 = cpu->r[28] + 0x0000000Cu;
/* 028CDF78 */ rbrew_write32(cpu->mem, _t34, cpu->r[26]);
/* 028CDF7C */ _t35 = cpu->r[28] + 0x00000000u;
/* 028CDF7C */ rbrew_write32(cpu->mem, _t35, cpu->r[26]);
/* 028CDF80 */ _t36 = cpu->r[28] + 0x00000004u;
/* 028CDF80 */ rbrew_write32(cpu->mem, _t36, cpu->r[26]);
/* 028CDF84 */ cpu->r[29] = 0x10140000u;
/* 028CDF88 */ cpu->r[29] = cpu->r[29] + 0xFFFF9F74u;
/* 028CDF8C */ cpu->r[24] = cpu->r[28] + 0x00000018u;
/* 028CDF8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
/* 028CDF90 */ _t37 = cpu->r[28] + 0x00000010u;
/* 028CDF90 */ rbrew_write32(cpu->mem, _t37, cpu->r[26]);
/* 028CDF94 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CDF94 */ _t39 = _t38 & 0x00000001u;
/* 028CDF94 */ if (_t39) goto L_028CDF98; else goto L_028CDFA8;
L_028CDF98: ; // 0x28cdf98
/* 028CDF98 */ cpu->r[3] = 0x0000004Cu;
/* 028CDF9C */ Gambit_fn_02801A78(cpu);
/* 028CDFA0 */ cpu->r[24] = cpu->r[3];
/* 028CDFA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
/* 028CDFA4 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CDFA4 */ _t41 = _t40 & 0x00000001u;
/* 028CDFA4 */ if (_t41) goto L_028CE010; else goto L_028CDFA8;
L_028CDFA8: ; // 0x28cdfa8
/* 028CDFA8 */ cpu->r[25] = cpu->r[24];
/* 028CDFA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
/* 028CDFAC */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CDFAC */ _t43 = _t42 & 0x00000001u;
/* 028CDFAC */ if (_t43) goto L_028CDFB0; else goto L_028CDFC0;
L_028CDFB0: ; // 0x28cdfb0
/* 028CDFB0 */ cpu->r[3] = 0x0000004Cu;
/* 028CDFB4 */ Gambit_fn_02801A78(cpu);
/* 028CDFB8 */ cpu->r[25] = cpu->r[3];
/* 028CDFB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
/* 028CDFBC */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CDFBC */ _t45 = _t44 & 0x00000001u;
/* 028CDFBC */ if (_t45) goto L_028CE004; else goto L_028CDFC0;
L_028CDFC0: ; // 0x28cdfc0
/* 028CDFC0 */ cpu->r[3] = cpu->r[25];
/* 028CDFC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CDFC4 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CDFC4 */ _t47 = _t46 & 0x00000001u;
/* 028CDFC4 */ if (_t47) goto L_028CDFC8; else goto L_028CDFD8;
L_028CDFC8: ; // 0x28cdfc8
/* 028CDFC8 */ cpu->r[3] = 0x0000000Cu;
/* 028CDFCC */ Gambit_fn_02801A78(cpu);
/* 028CDFD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CDFD4 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CDFD4 */ _t49 = _t48 & 0x00000001u;
/* 028CDFD4 */ if (_t49) goto L_028CDFF0; else goto L_028CDFD8;
L_028CDFD8: ; // 0x28cdfd8
/* 028CDFD8 */ cpu->r[0] = cpu->r[25] + 0x0000000Cu;
/* 028CDFDC */ _t50 = cpu->r[3] + 0x00000004u;
/* 028CDFDC */ rbrew_write32(cpu->mem, _t50, cpu->r[29]);
/* 028CDFE0 */ cpu->r[5] = 0x00000040u;
/* 028CDFE4 */ _t51 = cpu->r[3] + 0x00000000u;
/* 028CDFE4 */ rbrew_write32(cpu->mem, _t51, cpu->r[0]);
/* 028CDFE8 */ _t52 = cpu->r[3] + 0x00000008u;
/* 028CDFE8 */ rbrew_write32(cpu->mem, _t52, cpu->r[5]);
/* 028CDFEC */ _t53 = cpu->r[25] + 0x0000004Bu;
/* 028CDFEC */ rbrew_write8(cpu->mem, _t53, (uint8_t)cpu->r[30]);
L_028CDFF0: ; // 0x28cdff0
/* 028CDFF0 */ cpu->r[6] = 0x10140000u;
/* 028CDFF4 */ _t54 = cpu->r[25] + 0x00000000u;
/* 028CDFF4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t54);
/* 028CDFF8 */ cpu->r[6] = cpu->r[6] + 0xFFFF9FACu;
/* 028CDFFC */ _t55 = cpu->r[25] + 0x00000004u;
/* 028CDFFC */ rbrew_write32(cpu->mem, _t55, cpu->r[6]);
/* 028CE000 */ _t56 = cpu->r[7] + 0x00000000u;
/* 028CE000 */ rbrew_write8(cpu->mem, _t56, (uint8_t)cpu->r[30]);
L_028CE004: ; // 0x28ce004
/* 028CE004 */ cpu->r[8] = 0x10140000u;
/* 028CE008 */ cpu->r[8] = cpu->r[8] + 0xFFFF9FC4u;
/* 028CE00C */ _t57 = cpu->r[24] + 0x00000004u;
/* 028CE00C */ rbrew_write32(cpu->mem, _t57, cpu->r[8]);
L_028CE010: ; // 0x28ce010
/* 028CE010 */ cpu->r[24] = cpu->r[28] + 0x00000064u;
/* 028CE010 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
/* 028CE014 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE014 */ _t59 = _t58 & 0x00000001u;
/* 028CE014 */ if (_t59) goto L_028CE018; else goto L_028CE028;
L_028CE018: ; // 0x28ce018
/* 028CE018 */ cpu->r[3] = 0x0000002Cu;
/* 028CE01C */ Gambit_fn_02801A78(cpu);
/* 028CE020 */ cpu->r[24] = cpu->r[3];
/* 028CE020 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
/* 028CE024 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE024 */ _t61 = _t60 & 0x00000001u;
/* 028CE024 */ if (_t61) goto L_028CE104; else goto L_028CE028;
L_028CE028: ; // 0x28ce028
/* 028CE028 */ cpu->r[25] = cpu->r[24];
/* 028CE028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
/* 028CE02C */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE02C */ _t63 = _t62 & 0x00000001u;
/* 028CE02C */ if (_t63) goto L_028CE030; else goto L_028CE040;
L_028CE030: ; // 0x28ce030
/* 028CE030 */ cpu->r[3] = 0x0000002Cu;
/* 028CE034 */ Gambit_fn_02801A78(cpu);
/* 028CE038 */ cpu->r[25] = cpu->r[3];
/* 028CE038 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
/* 028CE03C */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE03C */ _t65 = _t64 & 0x00000001u;
/* 028CE03C */ if (_t65) goto L_028CE084; else goto L_028CE040;
L_028CE040: ; // 0x28ce040
/* 028CE040 */ cpu->r[3] = cpu->r[25];
/* 028CE040 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CE044 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE044 */ _t67 = _t66 & 0x00000001u;
/* 028CE044 */ if (_t67) goto L_028CE048; else goto L_028CE058;
L_028CE048: ; // 0x28ce048
/* 028CE048 */ cpu->r[3] = 0x0000000Cu;
/* 028CE04C */ Gambit_fn_02801A78(cpu);
/* 028CE050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CE054 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE054 */ _t69 = _t68 & 0x00000001u;
/* 028CE054 */ if (_t69) goto L_028CE070; else goto L_028CE058;
L_028CE058: ; // 0x28ce058
/* 028CE058 */ cpu->r[9] = cpu->r[25] + 0x0000000Cu;
/* 028CE05C */ _t70 = cpu->r[3] + 0x00000004u;
/* 028CE05C */ rbrew_write32(cpu->mem, _t70, cpu->r[29]);
/* 028CE060 */ cpu->r[10] = 0x00000020u;
/* 028CE064 */ _t71 = cpu->r[3] + 0x00000000u;
/* 028CE064 */ rbrew_write32(cpu->mem, _t71, cpu->r[9]);
/* 028CE068 */ _t72 = cpu->r[3] + 0x00000008u;
/* 028CE068 */ rbrew_write32(cpu->mem, _t72, cpu->r[10]);
/* 028CE06C */ _t73 = cpu->r[25] + 0x0000002Bu;
/* 028CE06C */ rbrew_write8(cpu->mem, _t73, (uint8_t)cpu->r[30]);
L_028CE070: ; // 0x28ce070
/* 028CE070 */ cpu->r[0] = 0x10140000u;
/* 028CE074 */ _t74 = cpu->r[25] + 0x00000000u;
/* 028CE074 */ cpu->r[12] = rbrew_read32(cpu->mem, _t74);
/* 028CE078 */ cpu->r[0] = cpu->r[0] + 0xFFFF9FDCu;
/* 028CE07C */ _t75 = cpu->r[25] + 0x00000004u;
/* 028CE07C */ rbrew_write32(cpu->mem, _t75, cpu->r[0]);
/* 028CE080 */ _t76 = cpu->r[12] + 0x00000000u;
/* 028CE080 */ rbrew_write8(cpu->mem, _t76, (uint8_t)cpu->r[30]);
L_028CE084: ; // 0x28ce084
/* 028CE084 */ cpu->r[5] = 0x10140000u;
/* 028CE088 */ cpu->r[12] = 0x10140000u;
/* 028CE08C */ cpu->r[5] = cpu->r[5] + 0xFFFF9FF4u;
/* 028CE090 */ _t77 = cpu->r[12] + 0xFFFFA0DCu;
/* 028CE090 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t77);
/* 028CE094 */ _t78 = cpu->r[24] + 0x00000004u;
/* 028CE094 */ rbrew_write32(cpu->mem, _t78, cpu->r[5]);
/* 028CE098 */ _t79 = cpu->r[28] + 0x00000098u;
/* 028CE098 */ rbrew_write32(cpu->mem, _t79, cpu->r[26]);
/* 028CE09C */ _t80 = cpu->r[28] + 0x00000094u;
/* 028CE09C */ rbrew_write_f32(cpu->mem, _t80, cpu->f[0]);
/* 028CE0A0 */ _t81 = cpu->r[28] + 0x00000090u;
/* 028CE0A0 */ rbrew_write_f32(cpu->mem, _t81, cpu->f[0]);
/* 028CE0A4 */ _t82 = cpu->r[31] + 0x000000D8u;
/* 028CE0A4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t82);
/* 028CE0A8 */ cpu->r[3] = cpu->r[27];
/* 028CE0AC */ _t83 = cpu->r[28] + 0x00000008u;
/* 028CE0AC */ rbrew_write32(cpu->mem, _t83, cpu->r[6]);
/* 028CE0B0 */ Gambit_fn_028BD9A0(cpu);
/* 028CE0B4 */ _t84 = cpu->r[28] + 0x0000001Cu;
/* 028CE0B4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t84);
/* 028CE0B8 */ _t85 = cpu->r[7] + 0x00000014u;
/* 028CE0B8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t85);
/* 028CE0BC */ cpu->r[25] = cpu->r[3];
/* 028CE0C0 */ cpu->ctr = cpu->r[8];
/* 028CE0C4 */ _t86 = cpu->r[28] + 0x00000018u;
/* 028CE0C4 */ cpu->r[26] = rbrew_read32(cpu->mem, _t86);
/* 028CE0C8 */ cpu->r[3] = cpu->r[28] + 0x00000018u;
/* 028CE0CC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CE0D0 */ _t87 = cpu->r[28] + 0x00000018u;
/* 028CE0D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t87);
/* 028CE0D4 */ _t88 = cpu->r[11] + 0x00000000u;
/* 028CE0D4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t88);
/* 028CE0D8 */ cpu->r[0] = 0x00080000u;
/* 028CE0DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[30]);
/* 028CE0E0 */ cpu->r[29] = 0x00000000u;
/* 028CE0E4 */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE0E4 */ _t90 = _t89 & 0x00000001u;
/* 028CE0E4 */ if (_t90) goto L_028CE0E8; else goto L_028CE15C;
L_028CE0E8: ; // 0x28ce0e8
/* 028CE0E8 */ goto L_028CE180;
L_028CE0EC: ; // 0x28ce0ec
/* 028CE0EC */ /* nop */
/* 028CE0F0 */ _t91 = cpu->r[1] + 0x00000034u;
/* 028CE0F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t91);
/* 028CE0F4 */ cpu->lr = cpu->r[0];
/* 028CE0F8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
/* 028CE0FC */ cpu->r[3] = 0x00000000u;
/* 028CE100 */ return;
L_028CE104: ; // 0x28ce104
/* 028CE104 */ cpu->r[12] = 0x10140000u;
/* 028CE108 */ _t92 = cpu->r[12] + 0xFFFFA0DCu;
/* 028CE108 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t92);
/* 028CE10C */ _t93 = cpu->r[28] + 0x00000098u;
/* 028CE10C */ rbrew_write32(cpu->mem, _t93, cpu->r[26]);
/* 028CE110 */ _t94 = cpu->r[28] + 0x00000094u;
/* 028CE110 */ rbrew_write_f32(cpu->mem, _t94, cpu->f[0]);
/* 028CE114 */ _t95 = cpu->r[28] + 0x00000090u;
/* 028CE114 */ rbrew_write_f32(cpu->mem, _t95, cpu->f[0]);
/* 028CE118 */ _t96 = cpu->r[31] + 0x000000D8u;
/* 028CE118 */ cpu->r[6] = rbrew_read32(cpu->mem, _t96);
/* 028CE11C */ cpu->r[3] = cpu->r[27];
/* 028CE120 */ _t97 = cpu->r[28] + 0x00000008u;
/* 028CE120 */ rbrew_write32(cpu->mem, _t97, cpu->r[6]);
/* 028CE124 */ Gambit_fn_028BD9A0(cpu);
/* 028CE128 */ _t98 = cpu->r[28] + 0x0000001Cu;
/* 028CE128 */ cpu->r[7] = rbrew_read32(cpu->mem, _t98);
/* 028CE12C */ _t99 = cpu->r[7] + 0x00000014u;
/* 028CE12C */ cpu->r[8] = rbrew_read32(cpu->mem, _t99);
/* 028CE130 */ cpu->r[25] = cpu->r[3];
/* 028CE134 */ cpu->ctr = cpu->r[8];
/* 028CE138 */ _t100 = cpu->r[28] + 0x00000018u;
/* 028CE138 */ cpu->r[26] = rbrew_read32(cpu->mem, _t100);
/* 028CE13C */ cpu->r[3] = cpu->r[28] + 0x00000018u;
/* 028CE140 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CE144 */ _t101 = cpu->r[28] + 0x00000018u;
/* 028CE144 */ cpu->r[11] = rbrew_read32(cpu->mem, _t101);
/* 028CE148 */ _t102 = cpu->r[11] + 0x00000000u;
/* 028CE148 */ cpu->r[9] = rbrew_read8(cpu->mem, _t102);
/* 028CE14C */ cpu->r[0] = 0x00080000u;
/* 028CE150 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[30]);
/* 028CE154 */ cpu->r[29] = 0x00000000u;
/* 028CE158 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE158 */ _t104 = _t103 & 0x00000001u;
/* 028CE158 */ if (_t104) goto L_028CE180; else goto L_028CE15C;
L_028CE15C: ; // 0x28ce15c
/* 028CE15C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
/* 028CE160 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
/* 028CE164 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
/* 028CE168 */ _t105 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CE168 */ _t106 = _t105 & 0x00000001u;
/* 028CE168 */ if (_t106) goto L_028CE17C; else goto L_028CE16C;
L_028CE16C: ; // 0x28ce16c
/* 028CE16C */ _t107 = cpu->r[11] + 0x00000000u;
/* 028CE16C */ cpu->r[10] = rbrew_read8(cpu->mem, _t107);
/* 028CE170 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[30]);
/* 028CE174 */ _t108 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE174 */ _t109 = _t108 & 0x00000001u;
/* 028CE174 */ if (_t109) goto L_028CE178; else goto L_028CE15C;
L_028CE178: ; // 0x28ce178
/* 028CE178 */ goto L_028CE180;
L_028CE17C: ; // 0x28ce17c
/* 028CE17C */ cpu->r[29] = 0x00000000u;
L_028CE180: ; // 0x28ce180
/* 028CE180 */ _t110 = cpu->r[25] + 0x00000004u;
/* 028CE180 */ cpu->r[12] = rbrew_read32(cpu->mem, _t110);
/* 028CE184 */ cpu->r[24] = cpu->r[29];
/* 028CE184 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
/* 028CE188 */ _t111 = cpu->r[12] + 0x00000014u;
/* 028CE188 */ cpu->r[0] = rbrew_read32(cpu->mem, _t111);
/* 028CE18C */ _t112 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CE18C */ _t113 = _t112 & 0x00000001u;
/* 028CE18C */ if (_t113) goto L_028CE190; else goto L_028CE194;
L_028CE190: ; // 0x28ce190
/* 028CE190 */ cpu->r[24] = 0x00000000u;
L_028CE194: ; // 0x28ce194
/* 028CE194 */ cpu->ctr = cpu->r[0];
/* 028CE198 */ cpu->r[3] = cpu->r[25];
/* 028CE19C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CE1A0 */ _t114 = cpu->r[25] + 0x00000000u;
/* 028CE1A0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t114);
/* 028CE1A4 */ _t115 = cpu->r[6] + 0x00000000u;
/* 028CE1A4 */ cpu->r[7] = rbrew_read8(cpu->mem, _t115);
/* 028CE1A8 */ cpu->r[31] = 0x00000000u;
/* 028CE1AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[30]);
/* 028CE1B0 */ cpu->r[8] = 0x00080000u;
/* 028CE1B4 */ _t116 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE1B4 */ _t117 = _t116 & 0x00000001u;
/* 028CE1B4 */ if (_t117) goto L_028CE1DC; else goto L_028CE1B8;
L_028CE1B8: ; // 0x28ce1b8
/* 028CE1B8 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
/* 028CE1BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[8]);
/* 028CE1C0 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
/* 028CE1C4 */ _t118 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CE1C4 */ _t119 = _t118 & 0x00000001u;
/* 028CE1C4 */ if (_t119) goto L_028CE1D8; else goto L_028CE1C8;
L_028CE1C8: ; // 0x28ce1c8
/* 028CE1C8 */ _t120 = cpu->r[6] + 0x00000000u;
/* 028CE1C8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t120);
/* 028CE1CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[30]);
/* 028CE1D0 */ _t121 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE1D0 */ _t122 = _t121 & 0x00000001u;
/* 028CE1D0 */ if (_t122) goto L_028CE1D4; else goto L_028CE1B8;
L_028CE1D4: ; // 0x28ce1d4
/* 028CE1D4 */ goto L_028CE1DC;
L_028CE1D8: ; // 0x28ce1d8
/* 028CE1D8 */ cpu->r[31] = 0x00000000u;
L_028CE1DC: ; // 0x28ce1dc
/* 028CE1DC */ _t123 = cpu->r[28] + 0x00000020u;
/* 028CE1DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t123);
/* 028CE1E0 */ cpu->r[12] = cpu->r[0] - cpu->r[24];
/* 028CE1E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
/* 028CE1E8 */ _t124 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CE1E8 */ _t125 = _t124 & 0x00000001u;
/* 028CE1E8 */ if (_t125) goto L_028CE1F0; else goto L_028CE1EC;
L_028CE1EC: ; // 0x28ce1ec
/* 028CE1EC */ cpu->r[31] = cpu->r[12] + 0xFFFFFFFFu;
L_028CE1F0: ; // 0x28ce1f0
/* 028CE1F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CE1F4 */ _t126 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CE1F4 */ _t127 = _t126 & 0x00000001u;
/* 028CE1F4 */ if (_t127) goto L_028CE1F8; else goto L_028CE234;
L_028CE1F8: ; // 0x28ce1f8
/* 028CE1F8 */ _t128 = cpu->r[25] + 0x00000004u;
/* 028CE1F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t128);
/* 028CE1FC */ _t129 = cpu->r[12] + 0x00000014u;
/* 028CE1FC */ cpu->r[5] = rbrew_read32(cpu->mem, _t129);
/* 028CE200 */ cpu->ctr = cpu->r[5];
/* 028CE204 */ cpu->r[23] = cpu->r[26] + cpu->r[24];
/* 028CE208 */ cpu->r[3] = cpu->r[25];
/* 028CE20C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CE210 */ _t130 = cpu->r[25] + 0x00000000u;
/* 028CE210 */ cpu->r[4] = rbrew_read32(cpu->mem, _t130);
/* 028CE214 */ cpu->r[6] = 0x00000000u;
/* 028CE218 */ cpu->r[5] = cpu->r[31];
/* 028CE21C */ cpu->r[3] = cpu->r[23];
/* 028CE220 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028CE224 */ cpu->r[9] = cpu->r[24] + cpu->r[31];
/* 028CE228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[29]);
/* 028CE22C */ _t131 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CE22C */ _t132 = _t131 & 0x00000001u;
/* 028CE22C */ if (_t132) goto L_028CE230; else goto L_028CE234;
L_028CE230: ; // 0x28ce230
/* 028CE230 */ _t133 = cpu->r[26] + cpu->r[9];
/* 028CE230 */ rbrew_write8(cpu->mem, _t133, (uint8_t)cpu->r[30]);
L_028CE234: ; // 0x28ce234
/* 028CE234 */ cpu->r[3] = cpu->r[27];
/* 028CE238 */ Gambit_fn_028BEFD0(cpu);
/* 028CE23C */ _t134 = cpu->r[28] + 0x00000068u;
/* 028CE23C */ cpu->r[7] = rbrew_read32(cpu->mem, _t134);
/* 028CE240 */ _t135 = cpu->r[7] + 0x00000014u;
/* 028CE240 */ cpu->r[9] = rbrew_read32(cpu->mem, _t135);
/* 028CE244 */ cpu->r[25] = cpu->r[3];
/* 028CE248 */ cpu->ctr = cpu->r[9];
/* 028CE24C */ _t136 = cpu->r[28] + 0x00000064u;
/* 028CE24C */ cpu->r[26] = rbrew_read32(cpu->mem, _t136);
/* 028CE250 */ cpu->r[3] = cpu->r[28] + 0x00000064u;
/* 028CE254 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CE258 */ _t137 = cpu->r[28] + 0x00000064u;
/* 028CE258 */ cpu->r[11] = rbrew_read32(cpu->mem, _t137);
/* 028CE25C */ _t138 = cpu->r[11] + 0x00000000u;
/* 028CE25C */ cpu->r[10] = rbrew_read8(cpu->mem, _t138);
/* 028CE260 */ cpu->r[31] = 0x00000000u;
/* 028CE264 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[30]);
/* 028CE268 */ cpu->r[0] = 0x00080000u;
/* 028CE26C */ _t139 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE26C */ _t140 = _t139 & 0x00000001u;
/* 028CE26C */ if (_t140) goto L_028CE294; else goto L_028CE270;
L_028CE270: ; // 0x28ce270
/* 028CE270 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
/* 028CE274 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
/* 028CE278 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
/* 028CE27C */ _t141 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CE27C */ _t142 = _t141 & 0x00000001u;
/* 028CE27C */ if (_t142) goto L_028CE290; else goto L_028CE280;
L_028CE280: ; // 0x28ce280
/* 028CE280 */ _t143 = cpu->r[11] + 0x00000000u;
/* 028CE280 */ cpu->r[12] = rbrew_read8(cpu->mem, _t143);
/* 028CE284 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[30]);
/* 028CE288 */ _t144 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE288 */ _t145 = _t144 & 0x00000001u;
/* 028CE288 */ if (_t145) goto L_028CE28C; else goto L_028CE270;
L_028CE28C: ; // 0x28ce28c
/* 028CE28C */ goto L_028CE294;
L_028CE290: ; // 0x28ce290
/* 028CE290 */ cpu->r[31] = 0x00000000u;
L_028CE294: ; // 0x28ce294
/* 028CE294 */ _t146 = cpu->r[25] + 0x00000004u;
/* 028CE294 */ cpu->r[5] = rbrew_read32(cpu->mem, _t146);
/* 028CE298 */ cpu->r[24] = cpu->r[31];
/* 028CE298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
/* 028CE29C */ _t147 = cpu->r[5] + 0x00000014u;
/* 028CE29C */ cpu->r[6] = rbrew_read32(cpu->mem, _t147);
/* 028CE2A0 */ _t148 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CE2A0 */ _t149 = _t148 & 0x00000001u;
/* 028CE2A0 */ if (_t149) goto L_028CE2A4; else goto L_028CE2A8;
L_028CE2A4: ; // 0x28ce2a4
/* 028CE2A4 */ cpu->r[24] = 0x00000000u;
L_028CE2A8: ; // 0x28ce2a8
/* 028CE2A8 */ cpu->ctr = cpu->r[6];
/* 028CE2AC */ cpu->r[3] = cpu->r[25];
/* 028CE2B0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CE2B4 */ _t150 = cpu->r[25] + 0x00000000u;
/* 028CE2B4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t150);
/* 028CE2B8 */ _t151 = cpu->r[6] + 0x00000000u;
/* 028CE2B8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t151);
/* 028CE2BC */ cpu->r[0] = 0x00080000u;
/* 028CE2C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[30]);
/* 028CE2C4 */ cpu->r[29] = 0x00000000u;
/* 028CE2C8 */ _t152 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE2C8 */ _t153 = _t152 & 0x00000001u;
/* 028CE2C8 */ if (_t153) goto L_028CE2F0; else goto L_028CE2CC;
L_028CE2CC: ; // 0x28ce2cc
/* 028CE2CC */ cpu->r[29] = cpu->r[29] + 0x00000001u;
/* 028CE2D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
/* 028CE2D4 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
/* 028CE2D8 */ _t154 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CE2D8 */ _t155 = _t154 & 0x00000001u;
/* 028CE2D8 */ if (_t155) goto L_028CE2EC; else goto L_028CE2DC;
L_028CE2DC: ; // 0x28ce2dc
/* 028CE2DC */ _t156 = cpu->r[6] + 0x00000000u;
/* 028CE2DC */ cpu->r[10] = rbrew_read8(cpu->mem, _t156);
/* 028CE2E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[30]);
/* 028CE2E4 */ _t157 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE2E4 */ _t158 = _t157 & 0x00000001u;
/* 028CE2E4 */ if (_t158) goto L_028CE2E8; else goto L_028CE2CC;
L_028CE2E8: ; // 0x28ce2e8
/* 028CE2E8 */ goto L_028CE2F0;
L_028CE2EC: ; // 0x28ce2ec
/* 028CE2EC */ cpu->r[29] = 0x00000000u;
L_028CE2F0: ; // 0x28ce2f0
/* 028CE2F0 */ _t159 = cpu->r[28] + 0x0000006Cu;
/* 028CE2F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t159);
/* 028CE2F4 */ cpu->r[6] = cpu->r[0] - cpu->r[24];
/* 028CE2F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]);
/* 028CE2FC */ _t160 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CE2FC */ _t161 = _t160 & 0x00000001u;
/* 028CE2FC */ if (_t161) goto L_028CE304; else goto L_028CE300;
L_028CE300: ; // 0x28ce300
/* 028CE300 */ cpu->r[29] = cpu->r[6] + 0xFFFFFFFFu;
L_028CE304: ; // 0x28ce304
/* 028CE304 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028CE308 */ _t162 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CE308 */ _t163 = _t162 & 0x00000001u;
/* 028CE308 */ if (_t163) goto L_028CE30C; else goto L_028CE348;
L_028CE30C: ; // 0x28ce30c
/* 028CE30C */ _t164 = cpu->r[25] + 0x00000004u;
/* 028CE30C */ cpu->r[5] = rbrew_read32(cpu->mem, _t164);
/* 028CE310 */ _t165 = cpu->r[5] + 0x00000014u;
/* 028CE310 */ cpu->r[7] = rbrew_read32(cpu->mem, _t165);
/* 028CE314 */ cpu->ctr = cpu->r[7];
/* 028CE318 */ cpu->r[23] = cpu->r[26] + cpu->r[24];
/* 028CE31C */ cpu->r[3] = cpu->r[25];
/* 028CE320 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CE324 */ _t166 = cpu->r[25] + 0x00000000u;
/* 028CE324 */ cpu->r[4] = rbrew_read32(cpu->mem, _t166);
/* 028CE328 */ cpu->r[6] = 0x00000000u;
/* 028CE32C */ cpu->r[5] = cpu->r[29];
/* 028CE330 */ cpu->r[3] = cpu->r[23];
/* 028CE334 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028CE338 */ cpu->r[0] = cpu->r[24] + cpu->r[29];
/* 028CE33C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[31]);
/* 028CE340 */ _t167 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CE340 */ _t168 = _t167 & 0x00000001u;
/* 028CE340 */ if (_t168) goto L_028CE344; else goto L_028CE348;
L_028CE344: ; // 0x28ce344
/* 028CE344 */ _t169 = cpu->r[26] + cpu->r[0];
/* 028CE344 */ rbrew_write8(cpu->mem, _t169, (uint8_t)cpu->r[30]);
L_028CE348: ; // 0x28ce348
/* 028CE348 */ cpu->r[3] = cpu->r[27];
/* 028CE34C */ Gambit_fn_028BF288(cpu);
/* 028CE350 */ cpu->r[4] = 0x00000000u;
/* 028CE354 */ cpu->r[3] = cpu->r[27];
/* 028CE358 */ _t170 = cpu->r[28] + 0x00000090u;
/* 028CE358 */ rbrew_write_f32(cpu->mem, _t170, cpu->f[1]);
/* 028CE35C */ Gambit_fn_028BF4F4(cpu);
/* 028CE360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CE364 */ _t171 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE364 */ _t172 = _t171 & 0x00000001u;
/* 028CE364 */ if (_t172) goto L_028CE370; else goto L_028CE368;
L_028CE368: ; // 0x28ce368
/* 028CE368 */ _t173 = cpu->r[3] + 0x00000018u;
/* 028CE368 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t173);
/* 028CE36C */ _t174 = cpu->r[28] + 0x00000094u;
/* 028CE36C */ rbrew_write_f32(cpu->mem, _t174, cpu->f[0]);
L_028CE370: ; // 0x28ce370
/* 028CE370 */ _t175 = cpu->r[27] + 0x00000008u;
/* 028CE370 */ cpu->r[11] = rbrew_read32(cpu->mem, _t175);
/* 028CE374 */ cpu->r[3] = cpu->r[28];
/* 028CE378 */ _t176 = cpu->r[28] + 0x00000098u;
/* 028CE378 */ rbrew_write32(cpu->mem, _t176, cpu->r[11]);
/* 028CE37C */ /* nop */
/* 028CE380 */ _t177 = cpu->r[1] + 0x00000034u;
/* 028CE380 */ cpu->r[0] = rbrew_read32(cpu->mem, _t177);
/* 028CE384 */ cpu->lr = cpu->r[0];
/* 028CE388 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
/* 028CE38C */ return;
}
// fn_028CE390 @ 0x28ce390
void Gambit_fn_028CE390(CPUState* cpu) {
uint32_t _t0, _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_028CE390: ; // 0x28ce390
/* 028CE390 */ cpu->r[0] = cpu->lr;
/* 028CE394 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028CE394 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CE394 */ cpu->r[1] = _t0;
/* 028CE398 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028CE398 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028CE39C */ _t2 = cpu->r[1] + 0x00000010u;
/* 028CE39C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028CE3A0 */ _t3 = cpu->r[1] + 0x00000008u;
/* 028CE3A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
/* 028CE3A4 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028CE3A4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028CE3A8 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028CE3A8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028CE3AC */ cpu->r[29] = cpu->r[3];
/* 028CE3B0 */ _t6 = cpu->r[29] + 0x000000A8u;
/* 028CE3B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
/* 028CE3B4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
/* 028CE3B8 */ cpu->r[31] = cpu->r[5];
/* 028CE3BC */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
/* 028CE3C0 */ cpu->r[30] = cpu->r[4];
/* 028CE3C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CE3C8 */ cpu->r[4] = cpu->r[6];
/* 028CE3CC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE3CC */ _t8 = _t7 & 0x00000001u;
/* 028CE3CC */ if (_t8) goto L_028CE3D0; else goto L_028CE42C;
L_028CE3D0: ; // 0x28ce3d0
/* 028CE3D0 */ cpu->r[3] = cpu->r[29];
/* 028CE3D4 */ Gambit_fn_028CDE78(cpu);
/* 028CE3D8 */ cpu->r[28] = cpu->r[3];
/* 028CE3D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028CE3DC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE3DC */ _t10 = _t9 & 0x00000001u;
/* 028CE3DC */ if (_t10) goto L_028CE42C; else goto L_028CE3E0;
L_028CE3E0: ; // 0x28ce3e0
/* 028CE3E0 */ cpu->r[0] = 0x00000001u;
/* 028CE3E4 */ _t11 = cpu->r[28] + 0x0000000Cu;
/* 028CE3E4 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
/* 028CE3E8 */ _t12 = cpu->r[30] + 0x00000000u;
/* 028CE3E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028CE3EC */ _t13 = cpu->r[28] + 0x00000010u;
/* 028CE3EC */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
/* 028CE3F0 */ _t14 = cpu->r[31] + 0x00000000u;
/* 028CE3F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028CE3F4 */ cpu->r[31] = cpu->r[29] + 0x000001A4u;
/* 028CE3F8 */ _t15 = cpu->r[28] + 0x0000000Cu;
/* 028CE3F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
/* 028CE3FC */ cpu->r[3] = cpu->r[31];
/* 028CE400 */ _t16 = cpu->r[28] + 0x00000014u;
/* 028CE400 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
/* 028CE404 */ Gambit_fn_02836FFC(cpu);
/* 028CE408 */ _t17 = cpu->r[29] + 0x00000128u;
/* 028CE408 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028CE40C */ cpu->r[3] = cpu->r[29] + 0x0000011Cu;
/* 028CE410 */ cpu->r[4] = cpu->r[28] + cpu->r[0];
/* 028CE414 */ Gambit_fn_02801E9C(cpu);
/* 028CE418 */ _t18 = cpu->r[29] + 0x00000124u;
/* 028CE418 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
/* 028CE41C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028CE420 */ cpu->r[3] = cpu->r[31];
/* 028CE424 */ _t19 = cpu->r[29] + 0x00000124u;
/* 028CE424 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
/* 028CE428 */ Gambit_fn_02837030(cpu);
L_028CE42C: ; // 0x28ce42c
/* 028CE42C */ _t20 = cpu->r[1] + 0x00000008u;
/* 028CE42C */ cpu->r[28] = rbrew_read32(cpu->mem, _t20);
/* 028CE430 */ _t21 = cpu->r[1] + 0x0000000Cu;
/* 028CE430 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
/* 028CE434 */ _t22 = cpu->r[1] + 0x0000001Cu;
/* 028CE434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
/* 028CE438 */ _t23 = cpu->r[1] + 0x00000010u;
/* 028CE438 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
/* 028CE43C */ cpu->lr = cpu->r[0];
/* 028CE440 */ _t24 = cpu->r[1] + 0x00000014u;
/* 028CE440 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
/* 028CE444 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028CE448 */ return;
}
// fn_028CE394 @ 0x28ce394
void Gambit_fn_028CE394(CPUState* cpu) {
uint32_t _t0, _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_028CE394: ; // 0x28ce394
/* 028CE394 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028CE394 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CE394 */ cpu->r[1] = _t0;
/* 028CE398 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028CE398 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028CE39C */ _t2 = cpu->r[1] + 0x00000010u;
/* 028CE39C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028CE3A0 */ _t3 = cpu->r[1] + 0x00000008u;
/* 028CE3A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
/* 028CE3A4 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028CE3A4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028CE3A8 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028CE3A8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028CE3AC */ cpu->r[29] = cpu->r[3];
/* 028CE3B0 */ _t6 = cpu->r[29] + 0x000000A8u;
/* 028CE3B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
/* 028CE3B4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
/* 028CE3B8 */ cpu->r[31] = cpu->r[5];
/* 028CE3BC */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
/* 028CE3C0 */ cpu->r[30] = cpu->r[4];
/* 028CE3C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CE3C8 */ cpu->r[4] = cpu->r[6];
/* 028CE3CC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE3CC */ _t8 = _t7 & 0x00000001u;
/* 028CE3CC */ if (_t8) goto L_028CE3D0; else goto L_028CE42C;
L_028CE3D0: ; // 0x28ce3d0
/* 028CE3D0 */ cpu->r[3] = cpu->r[29];
/* 028CE3D4 */ Gambit_fn_028CDE78(cpu);
/* 028CE3D8 */ cpu->r[28] = cpu->r[3];
/* 028CE3D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028CE3DC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE3DC */ _t10 = _t9 & 0x00000001u;
/* 028CE3DC */ if (_t10) goto L_028CE42C; else goto L_028CE3E0;
L_028CE3E0: ; // 0x28ce3e0
/* 028CE3E0 */ cpu->r[0] = 0x00000001u;
/* 028CE3E4 */ _t11 = cpu->r[28] + 0x0000000Cu;
/* 028CE3E4 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
/* 028CE3E8 */ _t12 = cpu->r[30] + 0x00000000u;
/* 028CE3E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028CE3EC */ _t13 = cpu->r[28] + 0x00000010u;
/* 028CE3EC */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
/* 028CE3F0 */ _t14 = cpu->r[31] + 0x00000000u;
/* 028CE3F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028CE3F4 */ cpu->r[31] = cpu->r[29] + 0x000001A4u;
/* 028CE3F8 */ _t15 = cpu->r[28] + 0x0000000Cu;
/* 028CE3F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
/* 028CE3FC */ cpu->r[3] = cpu->r[31];
/* 028CE400 */ _t16 = cpu->r[28] + 0x00000014u;
/* 028CE400 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
/* 028CE404 */ Gambit_fn_02836FFC(cpu);
/* 028CE408 */ _t17 = cpu->r[29] + 0x00000128u;
/* 028CE408 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028CE40C */ cpu->r[3] = cpu->r[29] + 0x0000011Cu;
/* 028CE410 */ cpu->r[4] = cpu->r[28] + cpu->r[0];
/* 028CE414 */ Gambit_fn_02801E9C(cpu);
/* 028CE418 */ _t18 = cpu->r[29] + 0x00000124u;
/* 028CE418 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
/* 028CE41C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028CE420 */ cpu->r[3] = cpu->r[31];
/* 028CE424 */ _t19 = cpu->r[29] + 0x00000124u;
/* 028CE424 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
/* 028CE428 */ Gambit_fn_02837030(cpu);
L_028CE42C: ; // 0x28ce42c
/* 028CE42C */ _t20 = cpu->r[1] + 0x00000008u;
/* 028CE42C */ cpu->r[28] = rbrew_read32(cpu->mem, _t20);
/* 028CE430 */ _t21 = cpu->r[1] + 0x0000000Cu;
/* 028CE430 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
/* 028CE434 */ _t22 = cpu->r[1] + 0x0000001Cu;
/* 028CE434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
/* 028CE438 */ _t23 = cpu->r[1] + 0x00000010u;
/* 028CE438 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
/* 028CE43C */ cpu->lr = cpu->r[0];
/* 028CE440 */ _t24 = cpu->r[1] + 0x00000014u;
/* 028CE440 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
/* 028CE444 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028CE448 */ return;
}
// fn_028CE44C @ 0x28ce44c
void Gambit_fn_028CE44C(CPUState* cpu) {
uint32_t _t0, _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_028CE44C: ; // 0x28ce44c
/* 028CE44C */ cpu->r[0] = cpu->lr;
/* 028CE450 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028CE450 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CE450 */ cpu->r[1] = _t0;
/* 028CE454 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028CE454 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028CE458 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028CE458 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028CE45C */ _t3 = cpu->r[1] + 0x00000008u;
/* 028CE45C */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
/* 028CE460 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028CE460 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028CE464 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028CE464 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028CE468 */ cpu->r[29] = cpu->r[3];
/* 028CE46C */ _t6 = cpu->r[29] + 0x000000A8u;
/* 028CE46C */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
/* 028CE470 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CE474 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
/* 028CE478 */ cpu->r[31] = cpu->r[5];
/* 028CE47C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CE480 */ cpu->r[30] = cpu->r[4];
/* 028CE484 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE484 */ _t8 = _t7 & 0x00000001u;
/* 028CE484 */ if (_t8) goto L_028CE488; else goto L_028CE4E8;
L_028CE488: ; // 0x28ce488
/* 028CE488 */ cpu->r[3] = cpu->r[29];
/* 028CE48C */ cpu->r[4] = cpu->r[6];
/* 028CE490 */ Gambit_fn_028CDE78(cpu);
/* 028CE494 */ cpu->r[28] = cpu->r[3];
/* 028CE494 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028CE498 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE498 */ _t10 = _t9 & 0x00000001u;
/* 028CE498 */ if (_t10) goto L_028CE4E8; else goto L_028CE49C;
L_028CE49C: ; // 0x28ce49c
/* 028CE49C */ cpu->r[0] = 0x00000000u;
/* 028CE4A0 */ _t11 = cpu->r[28] + 0x0000000Cu;
/* 028CE4A0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
/* 028CE4A4 */ _t12 = cpu->r[30] + 0x00000000u;
/* 028CE4A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
/* 028CE4A8 */ _t13 = cpu->r[28] + 0x00000010u;
/* 028CE4A8 */ rbrew_write32(cpu->mem, _t13, cpu->r[8]);
/* 028CE4AC */ _t14 = cpu->r[31] + 0x00000000u;
/* 028CE4AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028CE4B0 */ cpu->r[31] = cpu->r[29] + 0x000001A4u;
/* 028CE4B4 */ _t15 = cpu->r[28] + 0x0000000Cu;
/* 028CE4B4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
/* 028CE4B8 */ cpu->r[3] = cpu->r[31];
/* 028CE4BC */ _t16 = cpu->r[28] + 0x00000014u;
/* 028CE4BC */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
/* 028CE4C0 */ Gambit_fn_02836FFC(cpu);
/* 028CE4C4 */ _t17 = cpu->r[29] + 0x00000128u;
/* 028CE4C4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
/* 028CE4C8 */ cpu->r[3] = cpu->r[29] + 0x0000011Cu;
/* 028CE4CC */ cpu->r[4] = cpu->r[28] + cpu->r[10];
/* 028CE4D0 */ Gambit_fn_02801E9C(cpu);
/* 028CE4D4 */ _t18 = cpu->r[29] + 0x00000124u;
/* 028CE4D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
/* 028CE4D8 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028CE4DC */ cpu->r[3] = cpu->r[31];
/* 028CE4E0 */ _t19 = cpu->r[29] + 0x00000124u;
/* 028CE4E0 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
/* 028CE4E4 */ Gambit_fn_02837030(cpu);
L_028CE4E8: ; // 0x28ce4e8
/* 028CE4E8 */ _t20 = cpu->r[1] + 0x00000008u;
/* 028CE4E8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t20);
/* 028CE4EC */ _t21 = cpu->r[1] + 0x0000000Cu;
/* 028CE4EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
/* 028CE4F0 */ _t22 = cpu->r[1] + 0x0000001Cu;
/* 028CE4F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
/* 028CE4F4 */ _t23 = cpu->r[1] + 0x00000010u;
/* 028CE4F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
/* 028CE4F8 */ cpu->lr = cpu->r[0];
/* 028CE4FC */ _t24 = cpu->r[1] + 0x00000014u;
/* 028CE4FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
/* 028CE500 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028CE504 */ return;
}
// fn_028CE450 @ 0x28ce450
void Gambit_fn_028CE450(CPUState* cpu) {
uint32_t _t0, _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_028CE450: ; // 0x28ce450
/* 028CE450 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028CE450 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CE450 */ cpu->r[1] = _t0;
/* 028CE454 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028CE454 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028CE458 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028CE458 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028CE45C */ _t3 = cpu->r[1] + 0x00000008u;
/* 028CE45C */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
/* 028CE460 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028CE460 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028CE464 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028CE464 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028CE468 */ cpu->r[29] = cpu->r[3];
/* 028CE46C */ _t6 = cpu->r[29] + 0x000000A8u;
/* 028CE46C */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
/* 028CE470 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CE474 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
/* 028CE478 */ cpu->r[31] = cpu->r[5];
/* 028CE47C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CE480 */ cpu->r[30] = cpu->r[4];
/* 028CE484 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE484 */ _t8 = _t7 & 0x00000001u;
/* 028CE484 */ if (_t8) goto L_028CE488; else goto L_028CE4E8;
L_028CE488: ; // 0x28ce488
/* 028CE488 */ cpu->r[3] = cpu->r[29];
/* 028CE48C */ cpu->r[4] = cpu->r[6];
/* 028CE490 */ Gambit_fn_028CDE78(cpu);
/* 028CE494 */ cpu->r[28] = cpu->r[3];
/* 028CE494 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028CE498 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE498 */ _t10 = _t9 & 0x00000001u;
/* 028CE498 */ if (_t10) goto L_028CE4E8; else goto L_028CE49C;
L_028CE49C: ; // 0x28ce49c
/* 028CE49C */ cpu->r[0] = 0x00000000u;
/* 028CE4A0 */ _t11 = cpu->r[28] + 0x0000000Cu;
/* 028CE4A0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
/* 028CE4A4 */ _t12 = cpu->r[30] + 0x00000000u;
/* 028CE4A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
/* 028CE4A8 */ _t13 = cpu->r[28] + 0x00000010u;
/* 028CE4A8 */ rbrew_write32(cpu->mem, _t13, cpu->r[8]);
/* 028CE4AC */ _t14 = cpu->r[31] + 0x00000000u;
/* 028CE4AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028CE4B0 */ cpu->r[31] = cpu->r[29] + 0x000001A4u;
/* 028CE4B4 */ _t15 = cpu->r[28] + 0x0000000Cu;
/* 028CE4B4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
/* 028CE4B8 */ cpu->r[3] = cpu->r[31];
/* 028CE4BC */ _t16 = cpu->r[28] + 0x00000014u;
/* 028CE4BC */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
/* 028CE4C0 */ Gambit_fn_02836FFC(cpu);
/* 028CE4C4 */ _t17 = cpu->r[29] + 0x00000128u;
/* 028CE4C4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
/* 028CE4C8 */ cpu->r[3] = cpu->r[29] + 0x0000011Cu;
/* 028CE4CC */ cpu->r[4] = cpu->r[28] + cpu->r[10];
/* 028CE4D0 */ Gambit_fn_02801E9C(cpu);
/* 028CE4D4 */ _t18 = cpu->r[29] + 0x00000124u;
/* 028CE4D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
/* 028CE4D8 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
/* 028CE4DC */ cpu->r[3] = cpu->r[31];
/* 028CE4E0 */ _t19 = cpu->r[29] + 0x00000124u;
/* 028CE4E0 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
/* 028CE4E4 */ Gambit_fn_02837030(cpu);
L_028CE4E8: ; // 0x28ce4e8
/* 028CE4E8 */ _t20 = cpu->r[1] + 0x00000008u;
/* 028CE4E8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t20);
/* 028CE4EC */ _t21 = cpu->r[1] + 0x0000000Cu;
/* 028CE4EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
/* 028CE4F0 */ _t22 = cpu->r[1] + 0x0000001Cu;
/* 028CE4F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
/* 028CE4F4 */ _t23 = cpu->r[1] + 0x00000010u;
/* 028CE4F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
/* 028CE4F8 */ cpu->lr = cpu->r[0];
/* 028CE4FC */ _t24 = cpu->r[1] + 0x00000014u;
/* 028CE4FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
/* 028CE500 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028CE504 */ return;
}
// fn_028CE508 @ 0x28ce508
void Gambit_fn_028CE508(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
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_028CE508: ; // 0x28ce508
/* 028CE508 */ cpu->r[3] = cpu->r[4];
/* 028CE508 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CE50C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE50C */ _t17 = _t16 & 0x00000001u;
/* 028CE50C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CE50C */ goto L_028CE510;
L_028CE510: ; // 0x28ce510
/* 028CE510 */ goto L_02801BB0;
}
// fn_028CE514 @ 0x28ce514
void Gambit_fn_028CE514(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
L_028CE514: ; // 0x28ce514
/* 028CE514 */ cpu->r[11] = 0x10140000u;
/* 028CE518 */ cpu->r[12] = 0x10140000u;
/* 028CE51C */ _t0 = cpu->r[11] + 0xFFFFA120u;
/* 028CE51C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t0);
/* 028CE520 */ cpu->r[10] = 0x10140000u;
/* 028CE524 */ _t1 = cpu->r[12] + 0xFFFFA0B8u;
/* 028CE524 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t1);
/* 028CE528 */ cpu->r[12] = 0x101F0000u;
/* 028CE52C */ _t2 = cpu->r[10] + 0xFFFFA0BCu;
/* 028CE52C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
/* 028CE530 */ cpu->r[10] = 0x101F0000u;
/* 028CE534 */ _t3 = cpu->r[12] + 0x00007188u;
/* 028CE534 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[12]);
/* 028CE534 */ cpu->r[12] = _t3;
/* 028CE538 */ cpu->r[9] = 0x101F0000u;
/* 028CE53C */ _t4 = cpu->r[10] + 0x000071A0u;
/* 028CE53C */ rbrew_write_f32(cpu->mem, _t4, cpu->f[11]);
/* 028CE53C */ cpu->r[10] = _t4;
/* 028CE540 */ cpu->r[11] = 0x101F0000u;
/* 028CE544 */ _t5 = cpu->r[9] + 0x00007180u;
/* 028CE544 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[12]);
/* 028CE544 */ cpu->r[9] = _t5;
/* 028CE548 */ cpu->r[8] = 0x10140000u;
/* 028CE54C */ _t6 = cpu->r[11] + 0x00007190u;
/* 028CE54C */ rbrew_write_f32(cpu->mem, _t6, cpu->f[12]);
/* 028CE54C */ cpu->r[11] = _t6;
/* 028CE550 */ _t7 = cpu->r[8] + 0xFFFFA0C0u;
/* 028CE550 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7);
/* 028CE554 */ _t8 = cpu->r[10] + 0x00000004u;
/* 028CE554 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[11]);
/* 028CE558 */ _t9 = cpu->r[10] + 0x00000008u;
/* 028CE558 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[11]);
/* 028CE55C */ cpu->r[7] = 0x101F0000u;
/* 028CE560 */ _t10 = cpu->r[10] + 0x0000000Cu;
/* 028CE560 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
/* 028CE564 */ _t11 = cpu->r[7] + 0x00007198u;
/* 028CE564 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[12]);
/* 028CE564 */ cpu->r[7] = _t11;
/* 028CE568 */ _t12 = cpu->r[9] + 0x00000004u;
/* 028CE568 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
/* 028CE56C */ _t13 = cpu->r[12] + 0x00000004u;
/* 028CE56C */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
/* 028CE570 */ _t14 = cpu->r[7] + 0x00000004u;
/* 028CE570 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
/* 028CE574 */ _t15 = cpu->r[11] + 0x00000004u;
/* 028CE574 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]);
/* 028CE578 */ return;
}
// fn_028CE57C @ 0x28ce57c
void Gambit_fn_028CE57C(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_028CE57C: ; // 0x28ce57c
/* 028CE57C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CE580 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE580 */ _t17 = _t16 & 0x00000001u;
/* 028CE580 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CE580 */ goto L_028CE584;
L_028CE584: ; // 0x28ce584
/* 028CE584 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CE584 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CE588 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE588 */ _t19 = _t18 & 0x00000001u;
/* 028CE588 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CE588 */ goto L_028CE58C;
L_028CE58C: ; // 0x28ce58c
/* 028CE58C */ goto L_02801BB0;
}
// fn_028CE590 @ 0x28ce590
void Gambit_fn_028CE590(CPUState* cpu) {
L_028CE590: ; // 0x28ce590
/* 028CE590 */ return;
}
// fn_028CE594 @ 0x28ce594
void Gambit_fn_028CE594(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_028CE594: ; // 0x28ce594
/* 028CE594 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CE598 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE598 */ _t17 = _t16 & 0x00000001u;
/* 028CE598 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CE598 */ goto L_028CE59C;
L_028CE59C: ; // 0x28ce59c
/* 028CE59C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CE59C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CE5A0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE5A0 */ _t19 = _t18 & 0x00000001u;
/* 028CE5A0 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CE5A0 */ goto L_028CE5A4;
L_028CE5A4: ; // 0x28ce5a4
/* 028CE5A4 */ goto L_02801BB0;
}
// fn_028CE5A8 @ 0x28ce5a8
void Gambit_fn_028CE5A8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028CE5A8: ; // 0x28ce5a8
/* 028CE5A8 */ _t0 = cpu->r[3] + 0x00000000u;
/* 028CE5A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
/* 028CE5AC */ _t1 = cpu->r[3] + 0x00000008u;
/* 028CE5AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
/* 028CE5B0 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
/* 028CE5B4 */ cpu->r[11] = 0x10110000u;
/* 028CE5B8 */ _t2 = cpu->r[11] + 0x00007399u;
/* 028CE5B8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
/* 028CE5BC */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
/* 028CE5BC */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
/* 028CE5C0 */ return;
}
// fn_028CE5C4 @ 0x28ce5c4
void Gambit_fn_028CE5C4(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_028CE5C4: ; // 0x28ce5c4
/* 028CE5C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CE5C8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE5C8 */ _t17 = _t16 & 0x00000001u;
/* 028CE5C8 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CE5C8 */ goto L_028CE5CC;
L_028CE5CC: ; // 0x28ce5cc
/* 028CE5CC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CE5CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CE5D0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE5D0 */ _t19 = _t18 & 0x00000001u;
/* 028CE5D0 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CE5D0 */ goto L_028CE5D4;
L_028CE5D4: ; // 0x28ce5d4
/* 028CE5D4 */ goto L_02801BB0;
}
// fn_028CE5D8 @ 0x28ce5d8
void Gambit_fn_028CE5D8(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_028CE5D8: ; // 0x28ce5d8
/* 028CE5D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CE5DC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE5DC */ _t17 = _t16 & 0x00000001u;
/* 028CE5DC */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CE5DC */ goto L_028CE5E0;
L_028CE5E0: ; // 0x28ce5e0
/* 028CE5E0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CE5E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CE5E4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE5E4 */ _t19 = _t18 & 0x00000001u;
/* 028CE5E4 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CE5E4 */ goto L_028CE5E8;
L_028CE5E8: ; // 0x28ce5e8
/* 028CE5E8 */ goto L_02801BB0;
}
// fn_028CE5EC @ 0x28ce5ec
void Gambit_fn_028CE5EC(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_028CE5EC: ; // 0x28ce5ec
/* 028CE5EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CE5F0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE5F0 */ _t17 = _t16 & 0x00000001u;
/* 028CE5F0 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CE5F0 */ goto L_028CE5F4;
L_028CE5F4: ; // 0x28ce5f4
/* 028CE5F4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CE5F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CE5F8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE5F8 */ _t19 = _t18 & 0x00000001u;
/* 028CE5F8 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CE5F8 */ goto L_028CE5FC;
L_028CE5FC: ; // 0x28ce5fc
/* 028CE5FC */ goto L_02801BB0;
}
// fn_028CE600 @ 0x28ce600
void Gambit_fn_028CE600(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_028CE600: ; // 0x28ce600
/* 028CE600 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CE604 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE604 */ _t17 = _t16 & 0x00000001u;
/* 028CE604 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CE604 */ goto L_028CE608;
L_028CE608: ; // 0x28ce608
/* 028CE608 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CE608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CE60C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE60C */ _t19 = _t18 & 0x00000001u;
/* 028CE60C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CE60C */ goto L_028CE610;
L_028CE610: ; // 0x28ce610
/* 028CE610 */ goto L_02801BB0;
}
// fn_028CE620 @ 0x28ce620
void Gambit_fn_028CE620(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028CE620: ; // 0x28ce620
/* 028CE620 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028CE620 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CE620 */ cpu->r[1] = _t0;
/* 028CE624 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE624 */ _t2 = _t1 & 0x00000001u;
/* 028CE624 */ if (_t2) goto L_028CE628; else goto L_028CE638;
L_028CE628: ; // 0x28ce628
/* 028CE628 */ cpu->r[3] = 0x00000018u;
/* 028CE62C */ Gambit_fn_02801A78(cpu);
/* 028CE630 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CE634 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE634 */ _t4 = _t3 & 0x00000001u;
/* 028CE634 */ if (_t4) goto L_028CE654; else goto L_028CE638;
L_028CE638: ; // 0x28ce638
/* 028CE638 */ cpu->r[0] = 0x00000000u;
/* 028CE63C */ _t5 = cpu->r[3] + 0x00000010u;
/* 028CE63C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028CE640 */ _t6 = cpu->r[3] + 0x00000000u;
/* 028CE640 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028CE644 */ _t7 = cpu->r[3] + 0x00000008u;
/* 028CE644 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028CE648 */ _t8 = cpu->r[3] + 0x00000014u;
/* 028CE648 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028CE64C */ _t9 = cpu->r[3] + 0x0000000Cu;
/* 028CE64C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
/* 028CE650 */ _t10 = cpu->r[3] + 0x00000004u;
/* 028CE650 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
L_028CE654: ; // 0x28ce654
/* 028CE654 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028CE654 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028CE658 */ cpu->lr = cpu->r[0];
/* 028CE65C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028CE660 */ return;
}
// fn_028CE664 @ 0x28ce664
void Gambit_fn_028CE664(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_028CE664: ; // 0x28ce664
/* 028CE664 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CE668 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE668 */ _t17 = _t16 & 0x00000001u;
/* 028CE668 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CE668 */ goto L_028CE66C;
L_028CE66C: ; // 0x28ce66c
/* 028CE66C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CE66C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CE670 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE670 */ _t19 = _t18 & 0x00000001u;
/* 028CE670 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CE670 */ goto L_028CE674;
L_028CE674: ; // 0x28ce674
/* 028CE674 */ goto L_02801BB0;
}
// fn_028CE678 @ 0x28ce678
void Gambit_fn_028CE678(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_028CE678: ; // 0x28ce678
/* 028CE678 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CE67C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE67C */ _t17 = _t16 & 0x00000001u;
/* 028CE67C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CE67C */ goto L_028CE680;
L_028CE680: ; // 0x28ce680
/* 028CE680 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CE680 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CE684 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE684 */ _t19 = _t18 & 0x00000001u;
/* 028CE684 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CE684 */ goto L_028CE688;
L_028CE688: ; // 0x28ce688
/* 028CE688 */ goto L_02801BB0;
}
// fn_028CE68C @ 0x28ce68c
void Gambit_fn_028CE68C(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_028CE68C: ; // 0x28ce68c
/* 028CE68C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CE690 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE690 */ _t17 = _t16 & 0x00000001u;
/* 028CE690 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CE690 */ goto L_028CE694;
L_028CE694: ; // 0x28ce694
/* 028CE694 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CE694 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CE698 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE698 */ _t19 = _t18 & 0x00000001u;
/* 028CE698 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CE698 */ goto L_028CE69C;
L_028CE69C: ; // 0x28ce69c
/* 028CE69C */ goto L_02801BB0;
}
// fn_028CE6A0 @ 0x28ce6a0
void Gambit_fn_028CE6A0(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_028CE6A0: ; // 0x28ce6a0
/* 028CE6A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CE6A4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE6A4 */ _t17 = _t16 & 0x00000001u;
/* 028CE6A4 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CE6A4 */ goto L_028CE6A8;
L_028CE6A8: ; // 0x28ce6a8
/* 028CE6A8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CE6A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CE6AC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE6AC */ _t19 = _t18 & 0x00000001u;
/* 028CE6AC */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CE6AC */ goto L_028CE6B0;
L_028CE6B0: ; // 0x28ce6b0
/* 028CE6B0 */ goto L_02801BB0;
}
// fn_028CE6B4 @ 0x28ce6b4
void Gambit_fn_028CE6B4(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_028CE6B4: ; // 0x28ce6b4
/* 028CE6B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CE6B8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE6B8 */ _t17 = _t16 & 0x00000001u;
/* 028CE6B8 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CE6B8 */ goto L_028CE6BC;
L_028CE6BC: ; // 0x28ce6bc
/* 028CE6BC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CE6BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CE6C0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE6C0 */ _t19 = _t18 & 0x00000001u;
/* 028CE6C0 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CE6C0 */ goto L_028CE6C4;
L_028CE6C4: ; // 0x28ce6c4
/* 028CE6C4 */ goto L_02801BB0;
}
// fn_028CE6CC @ 0x28ce6cc
void Gambit_fn_028CE6CC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_028CE6CC: ; // 0x28ce6cc
/* 028CE6CC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028CE6CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CE6CC */ cpu->r[1] = _t0;
/* 028CE6D0 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028CE6D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028CE6D4 */ cpu->r[31] = cpu->r[3];
/* 028CE6D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CE6D8 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028CE6D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028CE6DC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE6DC */ _t4 = _t3 & 0x00000001u;
/* 028CE6DC */ if (_t4) goto L_028CE6E0; else goto L_028CE6F0;
L_028CE6E0: ; // 0x28ce6e0
/* 028CE6E0 */ cpu->r[3] = 0x00000040u;
/* 028CE6E4 */ Gambit_fn_02801A78(cpu);
/* 028CE6E8 */ cpu->r[31] = cpu->r[3];
/* 028CE6E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CE6EC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE6EC */ _t6 = _t5 & 0x00000001u;
/* 028CE6EC */ if (_t6) goto L_028CE708; else goto L_028CE6F0;
L_028CE6F0: ; // 0x28ce6f0
/* 028CE6F0 */ cpu->r[6] = 0x028D0000u;
/* 028CE6F4 */ cpu->r[3] = cpu->r[31];
/* 028CE6F8 */ cpu->r[4] = 0x00000002u;
/* 028CE6FC */ cpu->r[6] = cpu->r[6] + 0xFFFFE614u;
/* 028CE700 */ cpu->r[5] = 0x00000018u;
/* 028CE704 */ Gambit_fn_02C82E00(cpu);
L_028CE708: ; // 0x28ce708
/* 028CE708 */ _t7 = cpu->r[1] + 0x00000014u;
/* 028CE708 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028CE70C */ cpu->r[3] = cpu->r[31];
/* 028CE710 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028CE710 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
/* 028CE714 */ cpu->lr = cpu->r[0];
/* 028CE718 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CE71C */ return;
}
// fn_028CE72C @ 0x28ce72c
void Gambit_fn_028CE72C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028CE72C: ; // 0x28ce72c
/* 028CE72C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028CE72C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CE72C */ cpu->r[1] = _t0;
/* 028CE730 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE730 */ _t2 = _t1 & 0x00000001u;
/* 028CE730 */ if (_t2) goto L_028CE734; else goto L_028CE744;
L_028CE734: ; // 0x28ce734
/* 028CE734 */ cpu->r[3] = 0x00000020u;
/* 028CE738 */ Gambit_fn_02801A78(cpu);
/* 028CE73C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CE740 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE740 */ _t4 = _t3 & 0x00000001u;
/* 028CE740 */ if (_t4) goto L_028CE76C; else goto L_028CE744;
L_028CE744: ; // 0x28ce744
/* 028CE744 */ cpu->r[12] = 0x10140000u;
/* 028CE748 */ _t5 = cpu->r[12] + 0xFFFFA10Cu;
/* 028CE748 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
/* 028CE74C */ _t6 = cpu->r[3] + 0x00000010u;
/* 028CE74C */ rbrew_write_f32(cpu->mem, _t6, cpu->f[0]);
/* 028CE750 */ _t7 = cpu->r[3] + 0x00000014u;
/* 028CE750 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
/* 028CE754 */ _t8 = cpu->r[3] + 0x00000018u;
/* 028CE754 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
/* 028CE758 */ _t9 = cpu->r[3] + 0x0000001Cu;
/* 028CE758 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
/* 028CE75C */ _t10 = cpu->r[3] + 0x00000000u;
/* 028CE75C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
/* 028CE760 */ _t11 = cpu->r[3] + 0x00000004u;
/* 028CE760 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
/* 028CE764 */ _t12 = cpu->r[3] + 0x00000008u;
/* 028CE764 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
/* 028CE768 */ _t13 = cpu->r[3] + 0x0000000Cu;
/* 028CE768 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
L_028CE76C: ; // 0x28ce76c
/* 028CE76C */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028CE76C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028CE770 */ cpu->lr = cpu->r[0];
/* 028CE774 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028CE778 */ return;
}
// fn_028CE77C @ 0x28ce77c
void Gambit_fn_028CE77C(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_028CE77C: ; // 0x28ce77c
/* 028CE77C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CE780 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE780 */ _t17 = _t16 & 0x00000001u;
/* 028CE780 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CE780 */ goto L_028CE784;
L_028CE784: ; // 0x28ce784
/* 028CE784 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CE784 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CE788 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE788 */ _t19 = _t18 & 0x00000001u;
/* 028CE788 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CE788 */ goto L_028CE78C;
L_028CE78C: ; // 0x28ce78c
/* 028CE78C */ goto L_02801BB0;
}
// fn_028CE790 @ 0x28ce790
void Gambit_fn_028CE790(CPUState* cpu) {
uint32_t _t0;
L_028CE790: ; // 0x28ce790
/* 028CE790 */ cpu->r[12] = 0x101F0000u;
/* 028CE794 */ cpu->r[0] = 0x00000000u;
/* 028CE798 */ _t0 = cpu->r[12] + 0x000071B0u;
/* 028CE798 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028CE79C */ return;
}
// fn_028CE7A0 @ 0x28ce7a0
void Gambit_fn_028CE7A0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028CE7A0: ; // 0x28ce7a0
/* 028CE7A0 */ cpu->r[12] = 0x10140000u;
/* 028CE7A4 */ _t0 = cpu->r[12] + 0xFFFFA198u;
/* 028CE7A4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0);
/* 028CE7A8 */ cpu->r[12] = 0x10140000u;
/* 028CE7AC */ _t1 = cpu->r[12] + 0xFFFFA19Cu;
/* 028CE7AC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t1);
/* 028CE7B0 */ cpu->r[12] = 0x101F0000u;
/* 028CE7B4 */ _t2 = cpu->r[12] + 0x000071B4u;
/* 028CE7B4 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[0]);
/* 028CE7B4 */ cpu->r[12] = _t2;
/* 028CE7B8 */ _t3 = cpu->r[12] + 0x00000004u;
/* 028CE7B8 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[13]);
/* 028CE7BC */ return;
}
// fn_028CE7C0 @ 0x28ce7c0
void Gambit_fn_028CE7C0(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_028CE7C0: ; // 0x28ce7c0
/* 028CE7C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CE7C4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE7C4 */ _t17 = _t16 & 0x00000001u;
/* 028CE7C4 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CE7C4 */ goto L_028CE7C8;
L_028CE7C8: ; // 0x28ce7c8
/* 028CE7C8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CE7C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CE7CC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE7CC */ _t19 = _t18 & 0x00000001u;
/* 028CE7CC */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CE7CC */ goto L_028CE7D0;
L_028CE7D0: ; // 0x28ce7d0
/* 028CE7D0 */ goto L_02801BB0;
}
// fn_028CE7D4 @ 0x28ce7d4
void Gambit_fn_028CE7D4(CPUState* cpu) {
L_028CE7D4: ; // 0x28ce7d4
/* 028CE7D4 */ return;
}
// fn_028CE7D8 @ 0x28ce7d8
void Gambit_fn_028CE7D8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028CE7D8: ; // 0x28ce7d8
/* 028CE7D8 */ cpu->r[0] = cpu->lr;
/* 028CE7DC */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
/* 028CE7DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CE7DC */ cpu->r[1] = _t0;
/* 028CE7E0 */ _t1 = cpu->r[1] + 0x0000002Cu;
/* 028CE7E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028CE7E4 */ cpu->r[31] = cpu->r[5];
/* 028CE7E8 */ cpu->r[5] = cpu->r[4];
/* 028CE7EC */ cpu->r[4] = cpu->r[3];
/* 028CE7F0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028CE7F4 */ cpu->r[6] = 0x00000000u;
/* 028CE7F8 */ _t2 = cpu->r[1] + 0x00000034u;
/* 028CE7F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028CE7FC */ Gambit_fn_02834178(cpu);
/* 028CE800 */ cpu->r[6] = 0x00004000u;
/* 028CE804 */ cpu->r[5] = 0x00000000u;
/* 028CE808 */ cpu->r[4] = cpu->r[31];
/* 028CE80C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028CE810 */ Gambit_fn_0283E5F8(cpu);
/* 028CE814 */ cpu->r[31] = cpu->r[3];
/* 028CE818 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028CE81C */ cpu->r[4] = 0x00000002u;
/* 028CE820 */ Gambit_fn_028342B0(cpu);
/* 028CE824 */ _t3 = cpu->r[1] + 0x00000034u;
/* 028CE824 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028CE828 */ cpu->r[3] = cpu->r[31];
/* 028CE82C */ _t4 = cpu->r[1] + 0x0000002Cu;
/* 028CE82C */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
/* 028CE830 */ cpu->lr = cpu->r[0];
/* 028CE834 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
/* 028CE838 */ return;
}
// fn_028CE7DC @ 0x28ce7dc
void Gambit_fn_028CE7DC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028CE7DC: ; // 0x28ce7dc
/* 028CE7DC */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
/* 028CE7DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CE7DC */ cpu->r[1] = _t0;
/* 028CE7E0 */ _t1 = cpu->r[1] + 0x0000002Cu;
/* 028CE7E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028CE7E4 */ cpu->r[31] = cpu->r[5];
/* 028CE7E8 */ cpu->r[5] = cpu->r[4];
/* 028CE7EC */ cpu->r[4] = cpu->r[3];
/* 028CE7F0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028CE7F4 */ cpu->r[6] = 0x00000000u;
/* 028CE7F8 */ _t2 = cpu->r[1] + 0x00000034u;
/* 028CE7F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028CE7FC */ Gambit_fn_02834178(cpu);
/* 028CE800 */ cpu->r[6] = 0x00004000u;
/* 028CE804 */ cpu->r[5] = 0x00000000u;
/* 028CE808 */ cpu->r[4] = cpu->r[31];
/* 028CE80C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028CE810 */ Gambit_fn_0283E5F8(cpu);
/* 028CE814 */ cpu->r[31] = cpu->r[3];
/* 028CE818 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
/* 028CE81C */ cpu->r[4] = 0x00000002u;
/* 028CE820 */ Gambit_fn_028342B0(cpu);
/* 028CE824 */ _t3 = cpu->r[1] + 0x00000034u;
/* 028CE824 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028CE828 */ cpu->r[3] = cpu->r[31];
/* 028CE82C */ _t4 = cpu->r[1] + 0x0000002Cu;
/* 028CE82C */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
/* 028CE830 */ cpu->lr = cpu->r[0];
/* 028CE834 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
/* 028CE838 */ return;
}
// fn_028CE83C @ 0x28ce83c
void Gambit_fn_028CE83C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
L_028CE83C: ; // 0x28ce83c
/* 028CE83C */ cpu->r[0] = cpu->lr;
/* 028CE840 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028CE840 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CE840 */ cpu->r[1] = _t0;
/* 028CE844 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028CE844 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028CE848 */ cpu->r[31] = cpu->r[3];
/* 028CE84C */ cpu->r[3] = cpu->r[4];
/* 028CE850 */ cpu->r[4] = cpu->r[5];
/* 028CE854 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028CE854 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028CE858 */ Gambit_fn_02841DD8(cpu);
/* 028CE85C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CE860 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE860 */ _t4 = _t3 & 0x00000001u;
/* 028CE860 */ if (_t4) goto L_028CE864; else goto L_028CE8AC;
L_028CE864: ; // 0x28ce864
/* 028CE864 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CE868 */ cpu->r[3] = cpu->r[31];
/* 028CE86C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE86C */ _t6 = _t5 & 0x00000001u;
/* 028CE86C */ if (_t6) goto L_028CE870; else goto L_028CE880;
L_028CE870: ; // 0x28ce870
/* 028CE870 */ cpu->r[3] = 0x00000008u;
/* 028CE874 */ Gambit_fn_02801A78(cpu);
/* 028CE878 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CE87C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE87C */ _t8 = _t7 & 0x00000001u;
/* 028CE87C */ if (_t8) goto L_028CE8B4; else goto L_028CE880;
L_028CE880: ; // 0x28ce880
/* 028CE880 */ cpu->r[0] = 0x10140000u;
/* 028CE884 */ cpu->r[0] = cpu->r[0] + 0xFFFFA1C0u;
/* 028CE888 */ cpu->r[12] = 0x101F0000u;
/* 028CE88C */ _t9 = cpu->r[3] + 0x00000004u;
/* 028CE88C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
/* 028CE890 */ _t10 = cpu->r[12] + 0x000066E8u;
/* 028CE890 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
/* 028CE894 */ _t11 = cpu->r[3] + 0x00000000u;
/* 028CE894 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
/* 028CE898 */ _t12 = cpu->r[1] + 0x00000014u;
/* 028CE898 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028CE89C */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028CE89C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
/* 028CE8A0 */ cpu->lr = cpu->r[0];
/* 028CE8A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CE8A8 */ return;
L_028CE8AC: ; // 0x28ce8ac
/* 028CE8AC */ cpu->r[4] = cpu->r[31];
/* 028CE8B0 */ Gambit_fn_02842F40(cpu);
L_028CE8B4: ; // 0x28ce8b4
/* 028CE8B4 */ _t14 = cpu->r[1] + 0x00000014u;
/* 028CE8B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028CE8B8 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028CE8B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
/* 028CE8BC */ cpu->lr = cpu->r[0];
/* 028CE8C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CE8C4 */ return;
}
// fn_028CE840 @ 0x28ce840
void Gambit_fn_028CE840(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
L_028CE840: ; // 0x28ce840
/* 028CE840 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028CE840 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CE840 */ cpu->r[1] = _t0;
/* 028CE844 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028CE844 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028CE848 */ cpu->r[31] = cpu->r[3];
/* 028CE84C */ cpu->r[3] = cpu->r[4];
/* 028CE850 */ cpu->r[4] = cpu->r[5];
/* 028CE854 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028CE854 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028CE858 */ Gambit_fn_02841DD8(cpu);
/* 028CE85C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CE860 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE860 */ _t4 = _t3 & 0x00000001u;
/* 028CE860 */ if (_t4) goto L_028CE864; else goto L_028CE8AC;
L_028CE864: ; // 0x28ce864
/* 028CE864 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CE868 */ cpu->r[3] = cpu->r[31];
/* 028CE86C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE86C */ _t6 = _t5 & 0x00000001u;
/* 028CE86C */ if (_t6) goto L_028CE870; else goto L_028CE880;
L_028CE870: ; // 0x28ce870
/* 028CE870 */ cpu->r[3] = 0x00000008u;
/* 028CE874 */ Gambit_fn_02801A78(cpu);
/* 028CE878 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CE87C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE87C */ _t8 = _t7 & 0x00000001u;
/* 028CE87C */ if (_t8) goto L_028CE8B4; else goto L_028CE880;
L_028CE880: ; // 0x28ce880
/* 028CE880 */ cpu->r[0] = 0x10140000u;
/* 028CE884 */ cpu->r[0] = cpu->r[0] + 0xFFFFA1C0u;
/* 028CE888 */ cpu->r[12] = 0x101F0000u;
/* 028CE88C */ _t9 = cpu->r[3] + 0x00000004u;
/* 028CE88C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
/* 028CE890 */ _t10 = cpu->r[12] + 0x000066E8u;
/* 028CE890 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
/* 028CE894 */ _t11 = cpu->r[3] + 0x00000000u;
/* 028CE894 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
/* 028CE898 */ _t12 = cpu->r[1] + 0x00000014u;
/* 028CE898 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028CE89C */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028CE89C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
/* 028CE8A0 */ cpu->lr = cpu->r[0];
/* 028CE8A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CE8A8 */ return;
L_028CE8AC: ; // 0x28ce8ac
/* 028CE8AC */ cpu->r[4] = cpu->r[31];
/* 028CE8B0 */ Gambit_fn_02842F40(cpu);
L_028CE8B4: ; // 0x28ce8b4
/* 028CE8B4 */ _t14 = cpu->r[1] + 0x00000014u;
/* 028CE8B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028CE8B8 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028CE8B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
/* 028CE8BC */ cpu->lr = cpu->r[0];
/* 028CE8C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CE8C4 */ return;
}
// fn_028CE8C8 @ 0x28ce8c8
void Gambit_fn_028CE8C8(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_028CE8C8: ; // 0x28ce8c8
/* 028CE8C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CE8CC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE8CC */ _t17 = _t16 & 0x00000001u;
/* 028CE8CC */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CE8CC */ goto L_028CE8D0;
L_028CE8D0: ; // 0x28ce8d0
/* 028CE8D0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CE8D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CE8D4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE8D4 */ _t19 = _t18 & 0x00000001u;
/* 028CE8D4 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CE8D4 */ goto L_028CE8D8;
L_028CE8D8: ; // 0x28ce8d8
/* 028CE8D8 */ goto L_02801BB0;
}
// fn_028CE8DC @ 0x28ce8dc
void Gambit_fn_028CE8DC(CPUState* cpu) {
L_028CE8DC: ; // 0x28ce8dc
/* 028CE8DC */ return;
}
// fn_028CE8E0 @ 0x28ce8e0
void Gambit_fn_028CE8E0(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_028CE8E0: ; // 0x28ce8e0
/* 028CE8E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CE8E4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE8E4 */ _t17 = _t16 & 0x00000001u;
/* 028CE8E4 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CE8E4 */ goto L_028CE8E8;
L_028CE8E8: ; // 0x28ce8e8
/* 028CE8E8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CE8E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CE8EC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE8EC */ _t19 = _t18 & 0x00000001u;
/* 028CE8EC */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CE8EC */ goto L_028CE8F0;
L_028CE8F0: ; // 0x28ce8f0
/* 028CE8F0 */ goto L_02801BB0;
}
// fn_028CE8F4 @ 0x28ce8f4
void Gambit_fn_028CE8F4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028CE8F4: ; // 0x28ce8f4
/* 028CE8F4 */ _t0 = cpu->r[3] + 0x00000000u;
/* 028CE8F4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
/* 028CE8F8 */ _t1 = cpu->r[3] + 0x00000008u;
/* 028CE8F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
/* 028CE8FC */ cpu->r[12] = cpu->r[11] + cpu->r[12];
/* 028CE900 */ cpu->r[11] = 0x10110000u;
/* 028CE904 */ _t2 = cpu->r[11] + 0x00007399u;
/* 028CE904 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
/* 028CE908 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
/* 028CE908 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
/* 028CE90C */ return;
}
// fn_028CE910 @ 0x28ce910
void Gambit_fn_028CE910(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_028CE910: ; // 0x28ce910
/* 028CE910 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CE914 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE914 */ _t17 = _t16 & 0x00000001u;
/* 028CE914 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CE914 */ goto L_028CE918;
L_028CE918: ; // 0x28ce918
/* 028CE918 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CE918 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CE91C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE91C */ _t19 = _t18 & 0x00000001u;
/* 028CE91C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CE91C */ goto L_028CE920;
L_028CE920: ; // 0x28ce920
/* 028CE920 */ goto L_02801BB0;
}
// fn_028CE924 @ 0x28ce924
void Gambit_fn_028CE924(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_028CE924: ; // 0x28ce924
/* 028CE924 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CE928 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE928 */ _t17 = _t16 & 0x00000001u;
/* 028CE928 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CE928 */ goto L_028CE92C;
L_028CE92C: ; // 0x28ce92c
/* 028CE92C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CE92C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CE930 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE930 */ _t19 = _t18 & 0x00000001u;
/* 028CE930 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CE930 */ goto L_028CE934;
L_028CE934: ; // 0x28ce934
/* 028CE934 */ goto L_02801BB0;
}
// fn_028CE938 @ 0x28ce938
void Gambit_fn_028CE938(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028CE938: ; // 0x28ce938
/* 028CE938 */ cpu->r[0] = cpu->lr;
/* 028CE93C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028CE93C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CE93C */ cpu->r[1] = _t0;
/* 028CE940 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028CE940 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028CE944 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028CE944 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028CE948 */ cpu->r[31] = cpu->r[4];
/* 028CE94C */ cpu->r[30] = cpu->r[3];
/* 028CE950 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028CE950 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028CE954 */ _t4 = cpu->r[31] + 0x0000004Cu;
/* 028CE954 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
/* 028CE958 */ Gambit_fn_02801BB0(cpu);
/* 028CE95C */ _t5 = cpu->r[31] + 0x00000050u;
/* 028CE95C */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
/* 028CE960 */ Gambit_fn_02801BB0(cpu);
/* 028CE964 */ _t6 = cpu->r[31] + 0x00000054u;
/* 028CE964 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028CE968 */ _t7 = cpu->r[30] + 0x00000010u;
/* 028CE968 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
/* 028CE96C */ _t8 = cpu->r[30] + 0x00000024u;
/* 028CE96C */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
/* 028CE970 */ cpu->r[12] = cpu->r[12] - cpu->r[0];
/* 028CE974 */ cpu->r[3] = cpu->r[30] + 0x00000018u;
/* 028CE978 */ cpu->r[4] = cpu->r[31] + cpu->r[10];
/* 028CE97C */ _t9 = cpu->r[30] + 0x00000010u;
/* 028CE97C */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
/* 028CE980 */ Gambit_fn_02801EBC(cpu);
/* 028CE984 */ _t10 = cpu->r[30] + 0x00000020u;
/* 028CE984 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
/* 028CE988 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
/* 028CE98C */ _t11 = cpu->r[30] + 0x00000020u;
/* 028CE98C */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
/* 028CE990 */ _t12 = cpu->r[1] + 0x00000014u;
/* 028CE990 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028CE994 */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028CE994 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
/* 028CE998 */ cpu->lr = cpu->r[0];
/* 028CE99C */ _t14 = cpu->r[1] + 0x00000008u;
/* 028CE99C */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
/* 028CE9A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CE9A4 */ return;
}
// fn_028CE93C @ 0x28ce93c
void Gambit_fn_028CE93C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028CE93C: ; // 0x28ce93c
/* 028CE93C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028CE93C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CE93C */ cpu->r[1] = _t0;
/* 028CE940 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028CE940 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028CE944 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028CE944 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028CE948 */ cpu->r[31] = cpu->r[4];
/* 028CE94C */ cpu->r[30] = cpu->r[3];
/* 028CE950 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028CE950 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028CE954 */ _t4 = cpu->r[31] + 0x0000004Cu;
/* 028CE954 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
/* 028CE958 */ Gambit_fn_02801BB0(cpu);
/* 028CE95C */ _t5 = cpu->r[31] + 0x00000050u;
/* 028CE95C */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
/* 028CE960 */ Gambit_fn_02801BB0(cpu);
/* 028CE964 */ _t6 = cpu->r[31] + 0x00000054u;
/* 028CE964 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028CE968 */ _t7 = cpu->r[30] + 0x00000010u;
/* 028CE968 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
/* 028CE96C */ _t8 = cpu->r[30] + 0x00000024u;
/* 028CE96C */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
/* 028CE970 */ cpu->r[12] = cpu->r[12] - cpu->r[0];
/* 028CE974 */ cpu->r[3] = cpu->r[30] + 0x00000018u;
/* 028CE978 */ cpu->r[4] = cpu->r[31] + cpu->r[10];
/* 028CE97C */ _t9 = cpu->r[30] + 0x00000010u;
/* 028CE97C */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
/* 028CE980 */ Gambit_fn_02801EBC(cpu);
/* 028CE984 */ _t10 = cpu->r[30] + 0x00000020u;
/* 028CE984 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
/* 028CE988 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
/* 028CE98C */ _t11 = cpu->r[30] + 0x00000020u;
/* 028CE98C */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
/* 028CE990 */ _t12 = cpu->r[1] + 0x00000014u;
/* 028CE990 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028CE994 */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028CE994 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
/* 028CE998 */ cpu->lr = cpu->r[0];
/* 028CE99C */ _t14 = cpu->r[1] + 0x00000008u;
/* 028CE99C */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
/* 028CE9A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CE9A4 */ return;
}
// fn_028CE9A8 @ 0x28ce9a8
void Gambit_fn_028CE9A8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _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_028CE9A8: ; // 0x28ce9a8
/* 028CE9A8 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
/* 028CE9A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CE9A8 */ cpu->r[1] = _t0;
/* 028CE9AC */ /* nop */
/* 028CE9B0 */ cpu->r[0] = cpu->lr;
/* 028CE9B4 */ _t1 = cpu->r[1] + 0x00000034u;
/* 028CE9B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028CE9B8 */ cpu->r[27] = cpu->r[3];
/* 028CE9BC */ _t2 = cpu->r[27] + 0x00000044u;
/* 028CE9BC */ cpu->r[28] = rbrew_read32(cpu->mem, _t2);
/* 028CE9C0 */ cpu->r[26] = cpu->r[27] + 0x00000038u;
/* 028CE9C4 */ _t3 = cpu->r[27] + 0x0000003Cu;
/* 028CE9C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t3);
/* 028CE9C8 */ cpu->r[31] = cpu->r[26] - cpu->r[28];
/* 028CE9CC */ cpu->r[30] = cpu->r[7] - cpu->r[28];
/* 028CE9D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]);
/* 028CE9D4 */ _t4 = cpu->r[7] + 0x00000004u;
/* 028CE9D4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t4);
/* 028CE9D8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE9D8 */ _t6 = _t5 & 0x00000001u;
/* 028CE9D8 */ if (_t6) goto L_028CEA2C; else goto L_028CE9DC;
L_028CE9DC: ; // 0x28ce9dc
/* 028CE9DC */ _t7 = cpu->r[30] + 0x00000058u;
/* 028CE9DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
/* 028CE9E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028CE9E4 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CE9E4 */ _t9 = _t8 & 0x00000001u;
/* 028CE9E4 */ if (_t9) goto L_028CEA1C; else goto L_028CE9E8;
L_028CE9E8: ; // 0x28ce9e8
/* 028CE9E8 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CE9E8 */ _t11 = _t10 & 0x00000001u;
/* 028CE9E8 */ if (_t11) goto L_028CE9EC; else goto L_028CE9F8;
L_028CE9EC: ; // 0x28ce9ec
/* 028CE9EC */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
/* 028CE9EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028CE9F0 */ _t12 = cpu->r[30] + 0x00000058u;
/* 028CE9F0 */ rbrew_write32(cpu->mem, _t12, cpu->r[9]);
/* 028CE9F4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CE9F4 */ _t14 = _t13 & 0x00000001u;
/* 028CE9F4 */ if (_t14) goto L_028CE9F8; else goto L_028CEA1C;
L_028CE9F8: ; // 0x28ce9f8
/* 028CE9F8 */ _t15 = cpu->r[26] + 0x0000000Cu;
/* 028CE9F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028CE9FC */ cpu->r[3] = cpu->r[30] + cpu->r[0];
/* 028CEA00 */ Gambit_fn_02801EDC(cpu);
/* 028CEA04 */ _t16 = cpu->r[26] + 0x00000008u;
/* 028CEA04 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
/* 028CEA08 */ cpu->r[3] = cpu->r[27];
/* 028CEA0C */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
/* 028CEA10 */ cpu->r[4] = cpu->r[30];
/* 028CEA14 */ _t17 = cpu->r[26] + 0x00000008u;
/* 028CEA14 */ rbrew_write32(cpu->mem, _t17, cpu->r[11]);
/* 028CEA18 */ Gambit_fn_028CE938(cpu);
L_028CEA1C: ; // 0x28cea1c
/* 028CEA1C */ cpu->r[30] = cpu->r[29] - cpu->r[28];
/* 028CEA20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]);
/* 028CEA24 */ _t18 = cpu->r[29] + 0x00000004u;
/* 028CEA24 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
/* 028CEA28 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CEA28 */ _t20 = _t19 & 0x00000001u;
/* 028CEA28 */ if (_t20) goto L_028CEA2C; else goto L_028CE9DC;
L_028CEA2C: ; // 0x28cea2c
/* 028CEA2C */ cpu->r[3] = cpu->r[27] + 0x0000007Cu;
/* 028CEA30 */ Gambit_fn_028BBF78(cpu);
/* 028CEA34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CEA38 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CEA38 */ _t22 = _t21 & 0x00000001u;
/* 028CEA38 */ if (_t22) goto L_028CEAC4; else goto L_028CEA3C;
L_028CEA3C: ; // 0x28cea3c
/* 028CEA3C */ _t23 = cpu->r[27] + 0x000000DCu;
/* 028CEA3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
/* 028CEA40 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
/* 028CEA40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028CEA44 */ _t24 = cpu->r[27] + 0x000000DCu;
/* 028CEA44 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
/* 028CEA48 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CEA48 */ _t26 = _t25 & 0x00000001u;
/* 028CEA48 */ if (_t26) goto L_028CEA4C; else goto L_028CEAE8;
L_028CEA4C: ; // 0x28cea4c
/* 028CEA4C */ cpu->r[3] = cpu->r[27] + 0x0000007Cu;
/* 028CEA50 */ Gambit_fn_028BC334(cpu);
/* 028CEA54 */ Gambit_fn_028BD990(cpu);
/* 028CEA58 */ cpu->r[31] = cpu->r[3];
/* 028CEA58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CEA5C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CEA5C */ _t28 = _t27 & 0x00000001u;
/* 028CEA5C */ if (_t28) goto L_028CEA9C; else goto L_028CEA60;
L_028CEA60: ; // 0x28cea60
/* 028CEA60 */ cpu->r[3] = cpu->r[31];
/* 028CEA64 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028CEA68 */ Gambit_fn_028E6224(cpu);
/* 028CEA6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CEA70 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CEA70 */ _t30 = _t29 & 0x00000001u;
/* 028CEA70 */ if (_t30) goto L_028CEA9C; else goto L_028CEA74;
L_028CEA74: ; // 0x28cea74
/* 028CEA74 */ cpu->r[3] = cpu->r[27] + 0x0000007Cu;
/* 028CEA78 */ Gambit_fn_028BC2AC(cpu);
/* 028CEA7C */ cpu->r[30] = cpu->r[3];
/* 028CEA80 */ cpu->r[3] = cpu->r[31];
/* 028CEA84 */ Gambit_fn_028E61CC(cpu);
/* 028CEA88 */ _t31 = cpu->r[1] + 0x00000010u;
/* 028CEA88 */ cpu->r[5] = rbrew_read32(cpu->mem, _t31);
/* 028CEA8C */ cpu->r[6] = cpu->r[3];
/* 028CEA90 */ _t32 = cpu->r[27] + 0x0000022Cu;
/* 028CEA90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
/* 028CEA94 */ cpu->r[4] = cpu->r[30];
/* 028CEA98 */ Gambit_fn_028D0680(cpu);
L_028CEA9C: ; // 0x28cea9c
/* 028CEA9C */ _t33 = cpu->r[27] + 0x00000060u;
/* 028CEA9C */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
/* 028CEAA0 */ cpu->r[8] = 0x00000014u;
/* 028CEAA4 */ _t34 = cpu->r[27] + 0x000000DCu;
/* 028CEAA4 */ rbrew_write32(cpu->mem, _t34, cpu->r[8]);
/* 028CEAA8 */ _t35 = cpu->r[3] + 0x00000000u;
/* 028CEAA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t35);
/* 028CEAAC */ _t36 = cpu->r[12] + 0x00000034u;
/* 028CEAAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
/* 028CEAB0 */ cpu->ctr = cpu->r[0];
/* 028CEAB4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CEAB8 */ _t37 = cpu->r[27] + 0x0000022Cu;
/* 028CEAB8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37);
/* 028CEABC */ Gambit_fn_028D0688(cpu);
/* 028CEAC0 */ goto L_028CEB04;
L_028CEAC4: ; // 0x28ceac4
/* 028CEAC4 */ _t38 = cpu->r[27] + 0x00000084u;
/* 028CEAC4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t38);
/* 028CEAC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028CEACC */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CEACC */ _t40 = _t39 & 0x00000001u;
/* 028CEACC */ if (_t40) goto L_028CEAE8; else goto L_028CEAD0;
L_028CEAD0: ; // 0x28cead0
/* 028CEAD0 */ _t41 = cpu->r[27] + 0x0000022Cu;
/* 028CEAD0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t41);
/* 028CEAD4 */ cpu->r[4] = 0x00000068u;
/* 028CEAD8 */ cpu->r[5] = 0x00000008u;
/* 028CEADC */ Gambit_fn_028D0670(cpu);
/* 028CEAE0 */ cpu->r[10] = 0x00000000u;
/* 028CEAE4 */ _t42 = cpu->r[27] + 0x00000084u;
/* 028CEAE4 */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[10]);
L_028CEAE8: ; // 0x28ceae8
/* 028CEAE8 */ _t43 = cpu->r[27] + 0x00000060u;
/* 028CEAE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t43);
/* 028CEAEC */ _t44 = cpu->r[3] + 0x00000000u;
/* 028CEAEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t44);
/* 028CEAF0 */ _t45 = cpu->r[12] + 0x00000034u;
/* 028CEAF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
/* 028CEAF4 */ cpu->ctr = cpu->r[0];
/* 028CEAF8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CEAFC */ _t46 = cpu->r[27] + 0x0000022Cu;
/* 028CEAFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t46);
/* 028CEB00 */ Gambit_fn_028D0688(cpu);
L_028CEB04: ; // 0x28ceb04
/* 028CEB04 */ /* nop */
/* 028CEB08 */ _t47 = cpu->r[1] + 0x00000034u;
/* 028CEB08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
/* 028CEB0C */ cpu->lr = cpu->r[0];
/* 028CEB10 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
/* 028CEB14 */ return;
}
// fn_028CEB18 @ 0x28ceb18
void Gambit_fn_028CEB18(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
L_028CEB18: ; // 0x28ceb18
/* 028CEB18 */ cpu->r[0] = cpu->lr;
/* 028CEB1C */ _t0 = cpu->r[1] + 0x00000004u;
/* 028CEB1C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028CEB20 */ cpu->r[10] = cpu->r[3];
/* 028CEB24 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028CEB24 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028CEB24 */ cpu->r[1] = _t1;
/* 028CEB28 */ _t2 = cpu->r[10] + 0x0000005Cu;
/* 028CEB28 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
/* 028CEB2C */ cpu->r[0] = cpu->r[11] + 0xFFFFFFFFu;
/* 028CEB30 */ cpu->r[0] = cpu->r[11] - cpu->r[0];
/* 028CEB30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CEB34 */ cpu->r[5] = cpu->r[4];
/* 028CEB38 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CEB38 */ _t4 = _t3 & 0x00000001u;
/* 028CEB38 */ if (_t4) goto L_028CEB3C; else goto L_028CEB50;
L_028CEB3C: ; // 0x28ceb3c
/* 028CEB3C */ _t5 = cpu->r[1] + 0x0000000Cu;
/* 028CEB3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028CEB40 */ cpu->lr = cpu->r[0];
/* 028CEB44 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028CEB48 */ cpu->r[3] = 0x00000000u;
/* 028CEB4C */ return;
L_028CEB50: ; // 0x28ceb50
/* 028CEB50 */ _t6 = cpu->r[10] + 0x00000048u;
/* 028CEB50 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
/* 028CEB54 */ cpu->r[3] = cpu->r[10] + 0x00000048u;
/* 028CEB58 */ Gambit_fn_020EFCB8(cpu);
/* 028CEB5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CEB60 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CEB60 */ _t8 = _t7 & 0x00000001u;
/* 028CEB60 */ if (_t8) goto L_028CEB68; else goto L_028CEB64;
L_028CEB64: ; // 0x28ceb64
/* 028CEB64 */ cpu->r[3] = cpu->r[3] + 0x00000018u;
L_028CEB68: ; // 0x28ceb68
/* 028CEB68 */ _t9 = cpu->r[1] + 0x0000000Cu;
/* 028CEB68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028CEB6C */ cpu->r[12] = cpu->r[3] + 0xFFFFFFFFu;
/* 028CEB70 */ cpu->lr = cpu->r[0];
/* 028CEB74 */ cpu->r[3] = cpu->r[3] - cpu->r[12];
/* 028CEB78 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028CEB7C */ return;
}
// fn_028CEB24 @ 0x28ceb24
void Gambit_fn_028CEB24(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_028CEB24: ; // 0x28ceb24
/* 028CEB24 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028CEB24 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CEB24 */ cpu->r[1] = _t0;
/* 028CEB28 */ _t1 = cpu->r[10] + 0x0000005Cu;
/* 028CEB28 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
/* 028CEB2C */ cpu->r[0] = cpu->r[11] + 0xFFFFFFFFu;
/* 028CEB30 */ cpu->r[0] = cpu->r[11] - cpu->r[0];
/* 028CEB30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CEB34 */ cpu->r[5] = cpu->r[4];
/* 028CEB38 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CEB38 */ _t3 = _t2 & 0x00000001u;
/* 028CEB38 */ if (_t3) goto L_028CEB3C; else goto L_028CEB50;
L_028CEB3C: ; // 0x28ceb3c
/* 028CEB3C */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028CEB3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028CEB40 */ cpu->lr = cpu->r[0];
/* 028CEB44 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028CEB48 */ cpu->r[3] = 0x00000000u;
/* 028CEB4C */ return;
L_028CEB50: ; // 0x28ceb50
/* 028CEB50 */ _t5 = cpu->r[10] + 0x00000048u;
/* 028CEB50 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
/* 028CEB54 */ cpu->r[3] = cpu->r[10] + 0x00000048u;
/* 028CEB58 */ Gambit_fn_020EFCB8(cpu);
/* 028CEB5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CEB60 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CEB60 */ _t7 = _t6 & 0x00000001u;
/* 028CEB60 */ if (_t7) goto L_028CEB68; else goto L_028CEB64;
L_028CEB64: ; // 0x28ceb64
/* 028CEB64 */ cpu->r[3] = cpu->r[3] + 0x00000018u;
L_028CEB68: ; // 0x28ceb68
/* 028CEB68 */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028CEB68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028CEB6C */ cpu->r[12] = cpu->r[3] + 0xFFFFFFFFu;
/* 028CEB70 */ cpu->lr = cpu->r[0];
/* 028CEB74 */ cpu->r[3] = cpu->r[3] - cpu->r[12];
/* 028CEB78 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028CEB7C */ return;
}
// fn_028CEB80 @ 0x28ceb80
void Gambit_fn_028CEB80(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _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_028CEB80: ; // 0x28ceb80
/* 028CEB80 */ cpu->r[0] = cpu->lr;
/* 028CEB84 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028CEB84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CEB84 */ cpu->r[1] = _t0;
/* 028CEB88 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028CEB88 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028CEB8C */ _t2 = cpu->r[1] + 0x00000010u;
/* 028CEB8C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028CEB90 */ _t3 = cpu->r[1] + 0x00000008u;
/* 028CEB90 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
/* 028CEB94 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028CEB94 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028CEB98 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028CEB98 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028CEB9C */ cpu->r[29] = cpu->r[3];
/* 028CEBA0 */ _t6 = cpu->r[29] + 0x0000005Cu;
/* 028CEBA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
/* 028CEBA4 */ cpu->r[31] = cpu->r[5];
/* 028CEBA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028CEBAC */ cpu->r[30] = cpu->r[4];
/* 028CEBB0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CEBB0 */ _t8 = _t7 & 0x00000001u;
/* 028CEBB0 */ if (_t8) goto L_028CECB4; else goto L_028CEBB4;
L_028CEBB4: ; // 0x28cebb4
/* 028CEBB4 */ Gambit_fn_028C2A0C(cpu);
/* 028CEBB8 */ cpu->r[4] = cpu->r[30];
/* 028CEBBC */ Gambit_fn_028BAFAC(cpu);
/* 028CEBC0 */ _t9 = cpu->r[29] + 0x00000048u;
/* 028CEBC0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
/* 028CEBC4 */ cpu->r[5] = cpu->r[30];
/* 028CEBC8 */ cpu->r[3] = cpu->r[29] + 0x00000048u;
/* 028CEBCC */ Gambit_fn_020EFCB8(cpu);
/* 028CEBD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CEBD4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CEBD4 */ _t11 = _t10 & 0x00000001u;
/* 028CEBD4 */ if (_t11) goto L_028CECB4; else goto L_028CEBD8;
L_028CEBD8: ; // 0x28cebd8
/* 028CEBD8 */ cpu->r[7] = cpu->r[3] + 0x00000018u;
/* 028CEBD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
/* 028CEBDC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CEBDC */ _t13 = _t12 & 0x00000001u;
/* 028CEBDC */ if (_t13) goto L_028CECB4; else goto L_028CEBE0;
L_028CEBE0: ; // 0x28cebe0
/* 028CEBE0 */ _t14 = cpu->r[7] + 0x00000000u;
/* 028CEBE0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t14);
/* 028CEBE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028CEBE8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CEBE8 */ _t16 = _t15 & 0x00000001u;
/* 028CEBE8 */ if (_t16) goto L_028CECB4; else goto L_028CEBEC;
L_028CEBEC: ; // 0x28cebec
/* 028CEBEC */ _t17 = cpu->r[29] + 0x00000048u;
/* 028CEBEC */ cpu->r[4] = rbrew_read32(cpu->mem, _t17);
/* 028CEBF0 */ cpu->r[5] = cpu->r[30];
/* 028CEBF4 */ cpu->r[3] = cpu->r[29] + 0x00000048u;
/* 028CEBF8 */ Gambit_fn_020EFCB8(cpu);
/* 028CEBFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CEC00 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CEC00 */ _t19 = _t18 & 0x00000001u;
/* 028CEC00 */ if (_t19) goto L_028CEC30; else goto L_028CEC04;
L_028CEC04: ; // 0x28cec04
/* 028CEC04 */ cpu->r[9] = cpu->r[3] + 0x00000018u;
/* 028CEC04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028CEC08 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CEC08 */ _t21 = _t20 & 0x00000001u;
/* 028CEC08 */ if (_t21) goto L_028CEC30; else goto L_028CEC0C;
L_028CEC0C: ; // 0x28cec0c
/* 028CEC0C */ _t22 = cpu->r[29] + 0x00000048u;
/* 028CEC0C */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
/* 028CEC10 */ cpu->r[5] = cpu->r[30];
/* 028CEC14 */ cpu->r[3] = cpu->r[29] + 0x00000048u;
/* 028CEC18 */ Gambit_fn_028CFE0C(cpu);
/* 028CEC1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CEC20 */ _t23 = cpu->r[29] + 0x00000048u;
/* 028CEC20 */ rbrew_write32(cpu->mem, _t23, cpu->r[3]);
/* 028CEC24 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CEC24 */ _t25 = _t24 & 0x00000001u;
/* 028CEC24 */ if (_t25) goto L_028CEC30; else goto L_028CEC28;
L_028CEC28: ; // 0x28cec28
/* 028CEC28 */ cpu->r[8] = 0x00000001u;
/* 028CEC2C */ _t26 = cpu->r[3] + 0x00000008u;
/* 028CEC2C */ rbrew_write32(cpu->mem, _t26, cpu->r[8]);
L_028CEC30: ; // 0x28cec30
/* 028CEC30 */ _t27 = cpu->r[29] + 0x00000034u;
/* 028CEC30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
/* 028CEC34 */ cpu->r[3] = cpu->r[28] + cpu->r[0];
/* 028CEC38 */ Gambit_fn_02801EDC(cpu);
/* 028CEC3C */ _t28 = cpu->r[29] + 0x00000030u;
/* 028CEC3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
/* 028CEC40 */ cpu->r[5] = cpu->r[30];
/* 028CEC44 */ cpu->r[6] = 0x00000008u;
/* 028CEC48 */ _t29 = cpu->r[29] + 0x0000022Cu;
/* 028CEC48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
/* 028CEC4C */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
/* 028CEC50 */ cpu->r[4] = 0x00000065u;
/* 028CEC54 */ _t30 = cpu->r[29] + 0x00000030u;
/* 028CEC54 */ rbrew_write32(cpu->mem, _t30, cpu->r[11]);
/* 028CEC58 */ Gambit_fn_028D0678(cpu);
/* 028CEC5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CEC60 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CEC60 */ _t32 = _t31 & 0x00000001u;
/* 028CEC60 */ if (_t32) goto L_028CEC90; else goto L_028CEC64;
L_028CEC64: ; // 0x28cec64
/* 028CEC64 */ cpu->r[3] = cpu->r[29];
/* 028CEC68 */ cpu->r[4] = cpu->r[28];
/* 028CEC6C */ Gambit_fn_028CE938(cpu);
/* 028CEC70 */ _t33 = cpu->r[1] + 0x00000008u;
/* 028CEC70 */ cpu->r[28] = rbrew_read32(cpu->mem, _t33);
/* 028CEC74 */ _t34 = cpu->r[1] + 0x0000000Cu;
/* 028CEC74 */ cpu->r[29] = rbrew_read32(cpu->mem, _t34);
/* 028CEC78 */ _t35 = cpu->r[1] + 0x0000001Cu;
/* 028CEC78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
/* 028CEC7C */ _t36 = cpu->r[1] + 0x00000010u;
/* 028CEC7C */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
/* 028CEC80 */ cpu->lr = cpu->r[0];
/* 028CEC84 */ _t37 = cpu->r[1] + 0x00000014u;
/* 028CEC84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
/* 028CEC88 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028CEC8C */ return;
L_028CEC90: ; // 0x28cec90
/* 028CEC90 */ cpu->r[0] = 0x00000002u;
/* 028CEC94 */ _t38 = cpu->r[28] + 0x00000058u;
/* 028CEC94 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
/* 028CEC98 */ _t39 = cpu->r[29] + 0x00000044u;
/* 028CEC98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
/* 028CEC9C */ cpu->r[3] = cpu->r[29] + 0x00000038u;
/* 028CECA0 */ cpu->r[4] = cpu->r[28] + cpu->r[0];
/* 028CECA4 */ Gambit_fn_02801EBC(cpu);
/* 028CECA8 */ _t40 = cpu->r[29] + 0x00000040u;
/* 028CECA8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t40);
/* 028CECAC */ cpu->r[6] = cpu->r[6] + 0x00000001u;
/* 028CECB0 */ _t41 = cpu->r[29] + 0x00000040u;
/* 028CECB0 */ rbrew_write32(cpu->mem, _t41, cpu->r[6]);
L_028CECB4: ; // 0x28cecb4
/* 028CECB4 */ _t42 = cpu->r[1] + 0x00000008u;
/* 028CECB4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t42);
/* 028CECB8 */ _t43 = cpu->r[1] + 0x0000000Cu;
/* 028CECB8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t43);
/* 028CECBC */ _t44 = cpu->r[1] + 0x0000001Cu;
/* 028CECBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
/* 028CECC0 */ _t45 = cpu->r[1] + 0x00000010u;
/* 028CECC0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t45);
/* 028CECC4 */ cpu->lr = cpu->r[0];
/* 028CECC8 */ _t46 = cpu->r[1] + 0x00000014u;
/* 028CECC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
/* 028CECCC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028CECD0 */ return;
}
// fn_028CEB84 @ 0x28ceb84
void Gambit_fn_028CEB84(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _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_028CEB84: ; // 0x28ceb84
/* 028CEB84 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028CEB84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CEB84 */ cpu->r[1] = _t0;
/* 028CEB88 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028CEB88 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028CEB8C */ _t2 = cpu->r[1] + 0x00000010u;
/* 028CEB8C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028CEB90 */ _t3 = cpu->r[1] + 0x00000008u;
/* 028CEB90 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
/* 028CEB94 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028CEB94 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028CEB98 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028CEB98 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028CEB9C */ cpu->r[29] = cpu->r[3];
/* 028CEBA0 */ _t6 = cpu->r[29] + 0x0000005Cu;
/* 028CEBA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
/* 028CEBA4 */ cpu->r[31] = cpu->r[5];
/* 028CEBA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028CEBAC */ cpu->r[30] = cpu->r[4];
/* 028CEBB0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CEBB0 */ _t8 = _t7 & 0x00000001u;
/* 028CEBB0 */ if (_t8) goto L_028CECB4; else goto L_028CEBB4;
L_028CEBB4: ; // 0x28cebb4
/* 028CEBB4 */ Gambit_fn_028C2A0C(cpu);
/* 028CEBB8 */ cpu->r[4] = cpu->r[30];
/* 028CEBBC */ Gambit_fn_028BAFAC(cpu);
/* 028CEBC0 */ _t9 = cpu->r[29] + 0x00000048u;
/* 028CEBC0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
/* 028CEBC4 */ cpu->r[5] = cpu->r[30];
/* 028CEBC8 */ cpu->r[3] = cpu->r[29] + 0x00000048u;
/* 028CEBCC */ Gambit_fn_020EFCB8(cpu);
/* 028CEBD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CEBD4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CEBD4 */ _t11 = _t10 & 0x00000001u;
/* 028CEBD4 */ if (_t11) goto L_028CECB4; else goto L_028CEBD8;
L_028CEBD8: ; // 0x28cebd8
/* 028CEBD8 */ cpu->r[7] = cpu->r[3] + 0x00000018u;
/* 028CEBD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
/* 028CEBDC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CEBDC */ _t13 = _t12 & 0x00000001u;
/* 028CEBDC */ if (_t13) goto L_028CECB4; else goto L_028CEBE0;
L_028CEBE0: ; // 0x28cebe0
/* 028CEBE0 */ _t14 = cpu->r[7] + 0x00000000u;
/* 028CEBE0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t14);
/* 028CEBE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028CEBE8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CEBE8 */ _t16 = _t15 & 0x00000001u;
/* 028CEBE8 */ if (_t16) goto L_028CECB4; else goto L_028CEBEC;
L_028CEBEC: ; // 0x28cebec
/* 028CEBEC */ _t17 = cpu->r[29] + 0x00000048u;
/* 028CEBEC */ cpu->r[4] = rbrew_read32(cpu->mem, _t17);
/* 028CEBF0 */ cpu->r[5] = cpu->r[30];
/* 028CEBF4 */ cpu->r[3] = cpu->r[29] + 0x00000048u;
/* 028CEBF8 */ Gambit_fn_020EFCB8(cpu);
/* 028CEBFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CEC00 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CEC00 */ _t19 = _t18 & 0x00000001u;
/* 028CEC00 */ if (_t19) goto L_028CEC30; else goto L_028CEC04;
L_028CEC04: ; // 0x28cec04
/* 028CEC04 */ cpu->r[9] = cpu->r[3] + 0x00000018u;
/* 028CEC04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028CEC08 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CEC08 */ _t21 = _t20 & 0x00000001u;
/* 028CEC08 */ if (_t21) goto L_028CEC30; else goto L_028CEC0C;
L_028CEC0C: ; // 0x28cec0c
/* 028CEC0C */ _t22 = cpu->r[29] + 0x00000048u;
/* 028CEC0C */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
/* 028CEC10 */ cpu->r[5] = cpu->r[30];
/* 028CEC14 */ cpu->r[3] = cpu->r[29] + 0x00000048u;
/* 028CEC18 */ Gambit_fn_028CFE0C(cpu);
/* 028CEC1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CEC20 */ _t23 = cpu->r[29] + 0x00000048u;
/* 028CEC20 */ rbrew_write32(cpu->mem, _t23, cpu->r[3]);
/* 028CEC24 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CEC24 */ _t25 = _t24 & 0x00000001u;
/* 028CEC24 */ if (_t25) goto L_028CEC30; else goto L_028CEC28;
L_028CEC28: ; // 0x28cec28
/* 028CEC28 */ cpu->r[8] = 0x00000001u;
/* 028CEC2C */ _t26 = cpu->r[3] + 0x00000008u;
/* 028CEC2C */ rbrew_write32(cpu->mem, _t26, cpu->r[8]);
L_028CEC30: ; // 0x28cec30
/* 028CEC30 */ _t27 = cpu->r[29] + 0x00000034u;
/* 028CEC30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
/* 028CEC34 */ cpu->r[3] = cpu->r[28] + cpu->r[0];
/* 028CEC38 */ Gambit_fn_02801EDC(cpu);
/* 028CEC3C */ _t28 = cpu->r[29] + 0x00000030u;
/* 028CEC3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
/* 028CEC40 */ cpu->r[5] = cpu->r[30];
/* 028CEC44 */ cpu->r[6] = 0x00000008u;
/* 028CEC48 */ _t29 = cpu->r[29] + 0x0000022Cu;
/* 028CEC48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
/* 028CEC4C */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
/* 028CEC50 */ cpu->r[4] = 0x00000065u;
/* 028CEC54 */ _t30 = cpu->r[29] + 0x00000030u;
/* 028CEC54 */ rbrew_write32(cpu->mem, _t30, cpu->r[11]);
/* 028CEC58 */ Gambit_fn_028D0678(cpu);
/* 028CEC5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028CEC60 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CEC60 */ _t32 = _t31 & 0x00000001u;
/* 028CEC60 */ if (_t32) goto L_028CEC90; else goto L_028CEC64;
L_028CEC64: ; // 0x28cec64
/* 028CEC64 */ cpu->r[3] = cpu->r[29];
/* 028CEC68 */ cpu->r[4] = cpu->r[28];
/* 028CEC6C */ Gambit_fn_028CE938(cpu);
/* 028CEC70 */ _t33 = cpu->r[1] + 0x00000008u;
/* 028CEC70 */ cpu->r[28] = rbrew_read32(cpu->mem, _t33);
/* 028CEC74 */ _t34 = cpu->r[1] + 0x0000000Cu;
/* 028CEC74 */ cpu->r[29] = rbrew_read32(cpu->mem, _t34);
/* 028CEC78 */ _t35 = cpu->r[1] + 0x0000001Cu;
/* 028CEC78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
/* 028CEC7C */ _t36 = cpu->r[1] + 0x00000010u;
/* 028CEC7C */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
/* 028CEC80 */ cpu->lr = cpu->r[0];
/* 028CEC84 */ _t37 = cpu->r[1] + 0x00000014u;
/* 028CEC84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
/* 028CEC88 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028CEC8C */ return;
L_028CEC90: ; // 0x28cec90
/* 028CEC90 */ cpu->r[0] = 0x00000002u;
/* 028CEC94 */ _t38 = cpu->r[28] + 0x00000058u;
/* 028CEC94 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
/* 028CEC98 */ _t39 = cpu->r[29] + 0x00000044u;
/* 028CEC98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
/* 028CEC9C */ cpu->r[3] = cpu->r[29] + 0x00000038u;
/* 028CECA0 */ cpu->r[4] = cpu->r[28] + cpu->r[0];
/* 028CECA4 */ Gambit_fn_02801EBC(cpu);
/* 028CECA8 */ _t40 = cpu->r[29] + 0x00000040u;
/* 028CECA8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t40);
/* 028CECAC */ cpu->r[6] = cpu->r[6] + 0x00000001u;
/* 028CECB0 */ _t41 = cpu->r[29] + 0x00000040u;
/* 028CECB0 */ rbrew_write32(cpu->mem, _t41, cpu->r[6]);
L_028CECB4: ; // 0x28cecb4
/* 028CECB4 */ _t42 = cpu->r[1] + 0x00000008u;
/* 028CECB4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t42);
/* 028CECB8 */ _t43 = cpu->r[1] + 0x0000000Cu;
/* 028CECB8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t43);
/* 028CECBC */ _t44 = cpu->r[1] + 0x0000001Cu;
/* 028CECBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
/* 028CECC0 */ _t45 = cpu->r[1] + 0x00000010u;
/* 028CECC0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t45);
/* 028CECC4 */ cpu->lr = cpu->r[0];
/* 028CECC8 */ _t46 = cpu->r[1] + 0x00000014u;
/* 028CECC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
/* 028CECCC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028CECD0 */ return;
}
// fn_028CECD4 @ 0x28cecd4
void Gambit_fn_028CECD4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
L_028CECD4: ; // 0x28cecd4
/* 028CECD4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028CECD4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CECD4 */ cpu->r[1] = _t0;
/* 028CECD8 */ /* nop */
/* 028CECDC */ cpu->r[0] = cpu->lr;
/* 028CECE0 */ _t1 = cpu->r[1] + 0x00000024u;
/* 028CECE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028CECE4 */ cpu->r[27] = cpu->r[3];
/* 028CECE8 */ _t2 = cpu->r[27] + 0x00000034u;
/* 028CECE8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t2);
/* 028CECEC */ cpu->r[0] = cpu->r[27] + 0x00000028u;
/* 028CECF0 */ _t3 = cpu->r[27] + 0x0000002Cu;
/* 028CECF0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
/* 028CECF4 */ cpu->r[29] = cpu->r[0] - cpu->r[30];
/* 028CECF8 */ cpu->r[31] = cpu->r[11] - cpu->r[30];
/* 028CECFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[29]);
/* 028CED00 */ _t4 = cpu->r[11] + 0x00000004u;
/* 028CED00 */ cpu->r[28] = rbrew_read32(cpu->mem, _t4);
/* 028CED04 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CED04 */ _t6 = _t5 & 0x00000001u;
/* 028CED04 */ if (_t6) goto L_028CED3C; else goto L_028CED08;
L_028CED08: ; // 0x28ced08
/* 028CED08 */ Gambit_fn_028C2A0C(cpu);
/* 028CED0C */ cpu->r[4] = cpu->r[31];
/* 028CED10 */ Gambit_fn_028BB0F8(cpu);
/* 028CED14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CED18 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CED18 */ _t8 = _t7 & 0x00000001u;
/* 028CED18 */ if (_t8) goto L_028CED1C; else goto L_028CED2C;
L_028CED1C: ; // 0x28ced1c
/* 028CED1C */ cpu->r[5] = 0x00000001u;
/* 028CED20 */ cpu->r[4] = cpu->r[31];
/* 028CED24 */ cpu->r[3] = cpu->r[27];
/* 028CED28 */ Gambit_fn_028CEB80(cpu);
L_028CED2C: ; // 0x28ced2c
/* 028CED2C */ cpu->r[31] = cpu->r[28] - cpu->r[30];
/* 028CED30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[29]);
/* 028CED34 */ _t9 = cpu->r[28] + 0x00000004u;
/* 028CED34 */ cpu->r[28] = rbrew_read32(cpu->mem, _t9);
/* 028CED38 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CED38 */ _t11 = _t10 & 0x00000001u;
/* 028CED38 */ if (_t11) goto L_028CED3C; else goto L_028CED08;
L_028CED3C: ; // 0x28ced3c
/* 028CED3C */ /* nop */
/* 028CED40 */ _t12 = cpu->r[1] + 0x00000024u;
/* 028CED40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028CED44 */ cpu->lr = cpu->r[0];
/* 028CED48 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028CED4C */ return;
}
// fn_028CED50 @ 0x28ced50
void Gambit_fn_028CED50(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t305, _t306, _t307, _t308, _t309, _t310, _t311, _t312, _t313, _t314, _t315, _t316, _t317, _t318, _t319, _t320, _t321, _t322, _t323, _t324, _t325, _t326, _t327, _t328, _t329, _t330, _t331, _t332, _t333, _t334, _t335, _t336, _t337, _t338, _t339, _t340, _t341, _t342, _t343, _t344, _t345, _t346, _t347, _t348, _t349, _t350, _t351, _t352, _t353, _t354, _t355, _t356, _t357, _t358, _t359, _t360, _t361, _t362, _t363, _t364, _t365, _t366, _t367, _t368, _t369, _t370, _t371, _t372, _t373, _t374, _t375, _t376, _t377, _t378, _t379, _t380, _t381, _t382, _t383, _t384, _t385, _t386, _t387, _t388, _t389, _t390, _t391, _t392, _t393, _t394, _t395, _t396, _t397, _t398, _t399, _t400, _t401, _t402, _t403, _t404, _t405, _t406, _t407, _t408, _t409, _t410, _t411, _t412, _t413, _t414, _t415, _t416, _t417, _t418, _t419, _t420, _t421, _t422, _t423, _t424, _t425, _t426, _t427, _t428, _t429, _t430, _t431, _t432, _t433, _t434, _t435, _t436, _t437, _t438, _t439, _t440, _t441, _t442, _t443, _t444, _t445, _t446, _t447, _t448, _t449, _t450, _t451, _t452, _t453, _t454, _t455, _t456, _t457, _t458, _t459, _t460, _t461, _t462, _t463, _t464, _t465, _t466, _t467, _t468, _t469, _t470, _t471, _t472, _t473, _t474, _t475, _t476, _t477, _t478, _t479, _t480, _t481, _t482, _t483, _t484, _t485, _t486, _t487, _t488;
L_028CED50: ; // 0x28ced50
/* 028CED50 */ _t0 = cpu->r[1] + 0xFFFFFE18u;
/* 028CED50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CED50 */ cpu->r[1] = _t0;
/* 028CED54 */ /* nop */
/* 028CED58 */ cpu->r[0] = cpu->lr;
/* 028CED5C */ _t1 = cpu->r[1] + 0x000001ECu;
/* 028CED5C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028CED60 */ cpu->r[27] = cpu->r[3];
/* 028CED64 */ _t2 = cpu->r[27] + 0x0000005Cu;
/* 028CED64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
/* 028CED68 */ cpu->r[28] = cpu->r[4];
/* 028CED6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CED70 */ cpu->r[25] = 0x00000000u;
/* 028CED74 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CED74 */ _t4 = _t3 & 0x00000001u;
/* 028CED74 */ if (_t4) goto L_028CF6F8; else goto L_028CED78;
L_028CED78: ; // 0x28ced78
/* 028CED78 */ cpu->r[24] = cpu->r[27] + 0x000000E4u;
/* 028CED7C */ cpu->r[3] = cpu->r[24];
/* 028CED80 */ Gambit_fn_02836FFC(cpu);
/* 028CED84 */ cpu->r[3] = cpu->r[27];
/* 028CED88 */ cpu->r[4] = cpu->r[28];
/* 028CED8C */ Gambit_fn_028CEB18(cpu);
/* 028CED90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CED94 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CED94 */ _t6 = _t5 & 0x00000001u;
/* 028CED94 */ if (_t6) goto L_028CED98; else goto L_028CFAD0;
L_028CED98: ; // 0x28ced98
/* 028CED98 */ _t7 = cpu->r[27] + 0x00000008u;
/* 028CED98 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
/* 028CED9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028CEDA0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CEDA0 */ _t9 = _t8 & 0x00000001u;
/* 028CEDA0 */ if (_t9) goto L_028CF6F0; else goto L_028CEDA4;
L_028CEDA4: ; // 0x28ceda4
/* 028CEDA4 */ _t10 = cpu->r[27] + 0x00000060u;
/* 028CEDA4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
/* 028CEDA8 */ _t11 = cpu->r[3] + 0x00000000u;
/* 028CEDA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
/* 028CEDAC */ _t12 = cpu->r[12] + 0x00000024u;
/* 028CEDAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028CEDB0 */ cpu->ctr = cpu->r[0];
/* 028CEDB4 */ cpu->r[4] = cpu->r[28];
/* 028CEDB8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CEDBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CEDC0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CEDC0 */ _t14 = _t13 & 0x00000001u;
/* 028CEDC0 */ if (_t14) goto L_028CF6F0; else goto L_028CEDC4;
L_028CEDC4: ; // 0x28cedc4
/* 028CEDC4 */ _t15 = cpu->r[27] + 0x00000060u;
/* 028CEDC4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
/* 028CEDC8 */ _t16 = cpu->r[3] + 0x00000000u;
/* 028CEDC8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t16);
/* 028CEDCC */ _t17 = cpu->r[5] + 0x0000004Cu;
/* 028CEDCC */ cpu->r[6] = rbrew_read32(cpu->mem, _t17);
/* 028CEDD0 */ cpu->ctr = cpu->r[6];
/* 028CEDD4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CEDD8 */ _t18 = cpu->r[3] + 0x00000000u;
/* 028CEDD8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t18);
/* 028CEDDC */ cpu->r[23] = 0x10110000u;
/* 028CEDE0 */ _t19 = cpu->r[23] + 0x00007399u;
/* 028CEDE0 */ cpu->r[31] = rbrew_read8(cpu->mem, _t19);
/* 028CEDE0 */ cpu->r[23] = _t19;
/* 028CEDE4 */ _t20 = cpu->r[7] + 0x00000000u;
/* 028CEDE4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t20);
/* 028CEDE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
/* 028CEDEC */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CEDEC */ _t22 = _t21 & 0x00000001u;
/* 028CEDEC */ if (_t22) goto L_028CF6F0; else goto L_028CEDF0;
L_028CEDF0: ; // 0x28cedf0
/* 028CEDF0 */ _t23 = cpu->r[27] + 0x00000060u;
/* 028CEDF0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
/* 028CEDF4 */ _t24 = cpu->r[3] + 0x00000000u;
/* 028CEDF4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
/* 028CEDF8 */ _t25 = cpu->r[9] + 0x0000004Cu;
/* 028CEDF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
/* 028CEDFC */ cpu->ctr = cpu->r[0];
/* 028CEE00 */ _t26 = cpu->r[27] + 0x00000008u;
/* 028CEE00 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
/* 028CEE04 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CEE08 */ cpu->r[5] = cpu->r[3];
/* 028CEE0C */ cpu->r[0] = 0x00000000u;
/* 028CEE10 */ cpu->r[3] = cpu->r[30];
/* 028CEE14 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028CEE18 */ _t27 = cpu->r[1] + 0x00000008u;
/* 028CEE18 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[0]);
/* 028CEE1C */ Gambit_fn_0280CE90(cpu);
/* 028CEE20 */ _t28 = cpu->r[1] + 0x00000008u;
/* 028CEE20 */ cpu->r[0] = rbrew_read8(cpu->mem, _t28);
/* 028CEE24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CEE28 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CEE28 */ _t30 = _t29 & 0x00000001u;
/* 028CEE28 */ if (_t30) goto L_028CF6F0; else goto L_028CEE2C;
L_028CEE2C: ; // 0x28cee2c
/* 028CEE2C */ _t31 = cpu->r[27] + 0x00000010u;
/* 028CEE2C */ cpu->r[11] = rbrew_read32(cpu->mem, _t31);
/* 028CEE30 */ _t32 = cpu->r[27] + 0x0000000Cu;
/* 028CEE30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
/* 028CEE34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
/* 028CEE38 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CEE38 */ _t34 = _t33 & 0x00000001u;
/* 028CEE38 */ if (_t34) goto L_028CEE3C; else goto L_028CEE54;
L_028CEE3C: ; // 0x28cee3c
/* 028CEE3C */ cpu->r[3] = cpu->r[27];
/* 028CEE40 */ Gambit_fn_028CECD4(cpu);
/* 028CEE44 */ _t35 = cpu->r[27] + 0x00000010u;
/* 028CEE44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
/* 028CEE48 */ _t36 = cpu->r[27] + 0x0000000Cu;
/* 028CEE48 */ cpu->r[4] = rbrew_read32(cpu->mem, _t36);
/* 028CEE4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
/* 028CEE50 */ _t37 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CEE50 */ _t38 = _t37 & 0x00000001u;
/* 028CEE50 */ if (_t38) goto L_028CF6F0; else goto L_028CEE54;
L_028CEE54: ; // 0x28cee54
/* 028CEE54 */ _t39 = cpu->r[27] + 0x00000020u;
/* 028CEE54 */ cpu->r[5] = rbrew_read32(cpu->mem, _t39);
/* 028CEE58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
/* 028CEE5C */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CEE5C */ _t41 = _t40 & 0x00000001u;
/* 028CEE5C */ if (_t41) goto L_028CEE60; else goto L_028CEE74;
L_028CEE60: ; // 0x28cee60
/* 028CEE60 */ cpu->r[3] = cpu->r[27];
/* 028CEE64 */ Gambit_fn_028CECD4(cpu);
/* 028CEE68 */ _t42 = cpu->r[27] + 0x00000020u;
/* 028CEE68 */ cpu->r[6] = rbrew_read32(cpu->mem, _t42);
/* 028CEE6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
/* 028CEE70 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CEE70 */ _t44 = _t43 & 0x00000001u;
/* 028CEE70 */ if (_t44) goto L_028CF6F0; else goto L_028CEE74;
L_028CEE74: ; // 0x28cee74
/* 028CEE74 */ _t45 = cpu->r[1] + 0x0000018Fu;
/* 028CEE74 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[31]);
/* 028CEE78 */ cpu->r[7] = cpu->r[1] + 0x00000090u;
/* 028CEE7C */ _t46 = cpu->r[27] + 0x00000060u;
/* 028CEE7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t46);
/* 028CEE80 */ cpu->r[9] = 0x10140000u;
/* 028CEE84 */ cpu->r[8] = 0x00000100u;
/* 028CEE88 */ _t47 = cpu->r[1] + 0x00000084u;
/* 028CEE88 */ rbrew_write32(cpu->mem, _t47, cpu->r[7]);
/* 028CEE8C */ cpu->r[9] = cpu->r[9] + 0xFFFFA2B0u;
/* 028CEE90 */ _t48 = cpu->r[1] + 0x0000008Cu;
/* 028CEE90 */ rbrew_write32(cpu->mem, _t48, cpu->r[8]);
/* 028CEE94 */ _t49 = cpu->r[1] + 0x00000088u;
/* 028CEE94 */ rbrew_write32(cpu->mem, _t49, cpu->r[9]);
/* 028CEE98 */ _t50 = cpu->r[1] + 0x00000090u;
/* 028CEE98 */ rbrew_write8(cpu->mem, _t50, (uint8_t)cpu->r[31]);
/* 028CEE9C */ _t51 = cpu->r[3] + 0x00000000u;
/* 028CEE9C */ cpu->r[10] = rbrew_read32(cpu->mem, _t51);
/* 028CEEA0 */ _t52 = cpu->r[10] + 0x0000004Cu;
/* 028CEEA0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t52);
/* 028CEEA4 */ cpu->r[22] = 0x10140000u;
/* 028CEEA8 */ cpu->ctr = cpu->r[11];
/* 028CEEAC */ cpu->r[22] = cpu->r[22] + 0xFFFFA248u;
/* 028CEEB0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CEEB4 */ _t53 = cpu->r[3] + 0x00000004u;
/* 028CEEB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t53);
/* 028CEEB8 */ _t54 = cpu->r[12] + 0x00000014u;
/* 028CEEB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
/* 028CEEBC */ cpu->ctr = cpu->r[0];
/* 028CEEC0 */ _t55 = cpu->r[1] + 0x00000084u;
/* 028CEEC0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t55);
/* 028CEEC4 */ cpu->r[26] = cpu->r[3];
/* 028CEEC8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CEECC */ _t56 = cpu->r[26] + 0x00000000u;
/* 028CEECC */ cpu->r[9] = rbrew_read32(cpu->mem, _t56);
/* 028CEED0 */ _t57 = cpu->r[9] + 0x00000000u;
/* 028CEED0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t57);
/* 028CEED4 */ cpu->r[30] = 0x00000000u;
/* 028CEED8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
/* 028CEEDC */ cpu->r[0] = 0x00080000u;
/* 028CEEE0 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CEEE0 */ _t59 = _t58 & 0x00000001u;
/* 028CEEE0 */ if (_t59) goto L_028CEF08; else goto L_028CEEE4;
L_028CEEE4: ; // 0x28ceee4
/* 028CEEE4 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028CEEE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
/* 028CEEEC */ cpu->r[9] = cpu->r[9] + 0x00000001u;
/* 028CEEF0 */ _t60 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CEEF0 */ _t61 = _t60 & 0x00000001u;
/* 028CEEF0 */ if (_t61) goto L_028CEF04; else goto L_028CEEF4;
L_028CEEF4: ; // 0x28ceef4
/* 028CEEF4 */ _t62 = cpu->r[9] + 0x00000000u;
/* 028CEEF4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t62);
/* 028CEEF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
/* 028CEEFC */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CEEFC */ _t64 = _t63 & 0x00000001u;
/* 028CEEFC */ if (_t64) goto L_028CEF00; else goto L_028CEEE4;
L_028CEF00: ; // 0x28cef00
/* 028CEF00 */ goto L_028CEF08;
L_028CEF04: ; // 0x28cef04
/* 028CEF04 */ cpu->r[30] = 0x00000000u;
L_028CEF08: ; // 0x28cef08
/* 028CEF08 */ _t65 = cpu->r[1] + 0x0000008Cu;
/* 028CEF08 */ cpu->r[12] = rbrew_read32(cpu->mem, _t65);
/* 028CEF0C */ _t66 = cpu->r[26] + 0x00000004u;
/* 028CEF0C */ cpu->r[6] = rbrew_read32(cpu->mem, _t66);
/* 028CEF10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
/* 028CEF14 */ _t67 = cpu->r[6] + 0x00000014u;
/* 028CEF14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t67);
/* 028CEF18 */ _t68 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CEF18 */ _t69 = _t68 & 0x00000001u;
/* 028CEF18 */ if (_t69) goto L_028CEF20; else goto L_028CEF1C;
L_028CEF1C: ; // 0x28cef1c
/* 028CEF1C */ cpu->r[30] = cpu->r[12] + 0xFFFFFFFFu;
L_028CEF20: ; // 0x28cef20
/* 028CEF20 */ cpu->ctr = cpu->r[0];
/* 028CEF24 */ cpu->r[3] = cpu->r[26];
/* 028CEF28 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CEF2C */ _t70 = cpu->r[26] + 0x00000000u;
/* 028CEF2C */ cpu->r[4] = rbrew_read32(cpu->mem, _t70);
/* 028CEF30 */ cpu->r[6] = 0x00000000u;
/* 028CEF34 */ cpu->r[5] = cpu->r[30];
/* 028CEF38 */ cpu->r[3] = cpu->r[29];
/* 028CEF3C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028CEF40 */ _t71 = cpu->r[29] + cpu->r[30];
/* 028CEF40 */ rbrew_write8(cpu->mem, _t71, (uint8_t)cpu->r[31]);
/* 028CEF44 */ _t72 = cpu->r[1] + 0x00000088u;
/* 028CEF44 */ cpu->r[8] = rbrew_read32(cpu->mem, _t72);
/* 028CEF48 */ _t73 = cpu->r[8] + 0x00000014u;
/* 028CEF48 */ cpu->r[9] = rbrew_read32(cpu->mem, _t73);
/* 028CEF4C */ cpu->ctr = cpu->r[9];
/* 028CEF50 */ _t74 = cpu->r[1] + 0x00000084u;
/* 028CEF50 */ cpu->r[26] = rbrew_read32(cpu->mem, _t74);
/* 028CEF54 */ cpu->r[3] = cpu->r[1] + 0x00000084u;
/* 028CEF58 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CEF5C */ _t75 = cpu->r[1] + 0x00000084u;
/* 028CEF5C */ cpu->r[7] = rbrew_read32(cpu->mem, _t75);
/* 028CEF60 */ _t76 = cpu->r[7] + 0x00000000u;
/* 028CEF60 */ cpu->r[10] = rbrew_read8(cpu->mem, _t76);
/* 028CEF64 */ cpu->r[30] = 0x00000000u;
/* 028CEF68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
/* 028CEF6C */ cpu->r[8] = 0x00080000u;
/* 028CEF70 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CEF70 */ _t78 = _t77 & 0x00000001u;
/* 028CEF70 */ if (_t78) goto L_028CEF98; else goto L_028CEF74;
L_028CEF74: ; // 0x28cef74
/* 028CEF74 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028CEF78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
/* 028CEF7C */ cpu->r[7] = cpu->r[7] + 0x00000001u;
/* 028CEF80 */ _t79 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CEF80 */ _t80 = _t79 & 0x00000001u;
/* 028CEF80 */ if (_t80) goto L_028CEF94; else goto L_028CEF84;
L_028CEF84: ; // 0x28cef84
/* 028CEF84 */ _t81 = cpu->r[7] + 0x00000000u;
/* 028CEF84 */ cpu->r[0] = rbrew_read8(cpu->mem, _t81);
/* 028CEF88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028CEF8C */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CEF8C */ _t83 = _t82 & 0x00000001u;
/* 028CEF8C */ if (_t83) goto L_028CEF90; else goto L_028CEF74;
L_028CEF90: ; // 0x28cef90
/* 028CEF90 */ goto L_028CEF98;
L_028CEF94: ; // 0x28cef94
/* 028CEF94 */ cpu->r[30] = 0x00000000u;
L_028CEF98: ; // 0x28cef98
/* 028CEF98 */ _t84 = cpu->r[28] + 0x00000004u;
/* 028CEF98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t84);
/* 028CEF9C */ cpu->r[21] = cpu->r[30];
/* 028CEF9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
/* 028CEFA0 */ _t85 = cpu->r[12] + 0x00000014u;
/* 028CEFA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t85);
/* 028CEFA4 */ _t86 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CEFA4 */ _t87 = _t86 & 0x00000001u;
/* 028CEFA4 */ if (_t87) goto L_028CEFA8; else goto L_028CEFAC;
L_028CEFA8: ; // 0x28cefa8
/* 028CEFA8 */ cpu->r[21] = 0x00000000u;
L_028CEFAC: ; // 0x28cefac
/* 028CEFAC */ cpu->ctr = cpu->r[0];
/* 028CEFB0 */ cpu->r[3] = cpu->r[28];
/* 028CEFB4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CEFB8 */ _t88 = cpu->r[28] + 0x00000000u;
/* 028CEFB8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t88);
/* 028CEFBC */ _t89 = cpu->r[5] + 0x00000000u;
/* 028CEFBC */ cpu->r[0] = rbrew_read8(cpu->mem, _t89);
/* 028CEFC0 */ cpu->r[29] = 0x00000000u;
/* 028CEFC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028CEFC8 */ cpu->r[0] = 0x00080000u;
/* 028CEFCC */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CEFCC */ _t91 = _t90 & 0x00000001u;
/* 028CEFCC */ if (_t91) goto L_028CEFF4; else goto L_028CEFD0;
L_028CEFD0: ; // 0x28cefd0
/* 028CEFD0 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
/* 028CEFD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
/* 028CEFD8 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
/* 028CEFDC */ _t92 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CEFDC */ _t93 = _t92 & 0x00000001u;
/* 028CEFDC */ if (_t93) goto L_028CEFF0; else goto L_028CEFE0;
L_028CEFE0: ; // 0x28cefe0
/* 028CEFE0 */ _t94 = cpu->r[5] + 0x00000000u;
/* 028CEFE0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t94);
/* 028CEFE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
/* 028CEFE8 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CEFE8 */ _t96 = _t95 & 0x00000001u;
/* 028CEFE8 */ if (_t96) goto L_028CEFEC; else goto L_028CEFD0;
L_028CEFEC: ; // 0x28cefec
/* 028CEFEC */ goto L_028CEFF4;
L_028CEFF0: ; // 0x28ceff0
/* 028CEFF0 */ cpu->r[29] = 0x00000000u;
L_028CEFF4: ; // 0x28ceff4
/* 028CEFF4 */ _t97 = cpu->r[1] + 0x0000008Cu;
/* 028CEFF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t97);
/* 028CEFF8 */ cpu->r[11] = cpu->r[12] - cpu->r[21];
/* 028CEFFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[11]);
/* 028CF000 */ _t98 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CF000 */ _t99 = _t98 & 0x00000001u;
/* 028CF000 */ if (_t99) goto L_028CF008; else goto L_028CF004;
L_028CF004: ; // 0x28cf004
/* 028CF004 */ cpu->r[29] = cpu->r[11] + 0xFFFFFFFFu;
L_028CF008: ; // 0x28cf008
/* 028CF008 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028CF00C */ _t100 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CF00C */ _t101 = _t100 & 0x00000001u;
/* 028CF00C */ if (_t101) goto L_028CF010; else goto L_028CF04C;
L_028CF010: ; // 0x28cf010
/* 028CF010 */ _t102 = cpu->r[28] + 0x00000004u;
/* 028CF010 */ cpu->r[7] = rbrew_read32(cpu->mem, _t102);
/* 028CF014 */ _t103 = cpu->r[7] + 0x00000014u;
/* 028CF014 */ cpu->r[8] = rbrew_read32(cpu->mem, _t103);
/* 028CF018 */ cpu->ctr = cpu->r[8];
/* 028CF01C */ cpu->r[20] = cpu->r[26] + cpu->r[21];
/* 028CF020 */ cpu->r[3] = cpu->r[28];
/* 028CF024 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CF028 */ _t104 = cpu->r[28] + 0x00000000u;
/* 028CF028 */ cpu->r[4] = rbrew_read32(cpu->mem, _t104);
/* 028CF02C */ cpu->r[6] = 0x00000000u;
/* 028CF030 */ cpu->r[5] = cpu->r[29];
/* 028CF034 */ cpu->r[3] = cpu->r[20];
/* 028CF038 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028CF03C */ cpu->r[8] = cpu->r[21] + cpu->r[29];
/* 028CF040 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[30]);
/* 028CF044 */ _t105 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CF044 */ _t106 = _t105 & 0x00000001u;
/* 028CF044 */ if (_t106) goto L_028CF048; else goto L_028CF04C;
L_028CF048: ; // 0x28cf048
/* 028CF048 */ _t107 = cpu->r[26] + cpu->r[8];
/* 028CF048 */ rbrew_write8(cpu->mem, _t107, (uint8_t)cpu->r[31]);
L_028CF04C: ; // 0x28cf04c
/* 028CF04C */ _t108 = cpu->r[1] + 0x00000088u;
/* 028CF04C */ cpu->r[9] = rbrew_read32(cpu->mem, _t108);
/* 028CF050 */ cpu->r[10] = 0x101D0000u;
/* 028CF054 */ _t109 = cpu->r[10] + 0xFFFF9AB8u;
/* 028CF054 */ cpu->r[10] = rbrew_read32(cpu->mem, _t109);
/* 028CF058 */ _t110 = cpu->r[1] + 0x00000010u;
/* 028CF058 */ rbrew_write32(cpu->mem, _t110, cpu->r[22]);
/* 028CF05C */ _t111 = cpu->r[1] + 0x0000000Cu;
/* 028CF05C */ rbrew_write32(cpu->mem, _t111, cpu->r[10]);
/* 028CF060 */ _t112 = cpu->r[9] + 0x00000014u;
/* 028CF060 */ cpu->r[11] = rbrew_read32(cpu->mem, _t112);
/* 028CF064 */ cpu->ctr = cpu->r[11];
/* 028CF068 */ _t113 = cpu->r[1] + 0x00000084u;
/* 028CF068 */ cpu->r[26] = rbrew_read32(cpu->mem, _t113);
/* 028CF06C */ cpu->r[3] = cpu->r[1] + 0x00000084u;
/* 028CF070 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CF074 */ _t114 = cpu->r[1] + 0x00000084u;
/* 028CF074 */ cpu->r[11] = rbrew_read32(cpu->mem, _t114);
/* 028CF078 */ _t115 = cpu->r[11] + 0x00000000u;
/* 028CF078 */ cpu->r[12] = rbrew_read8(cpu->mem, _t115);
/* 028CF07C */ cpu->r[30] = 0x00000000u;
/* 028CF080 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
/* 028CF084 */ cpu->r[12] = 0x00080000u;
/* 028CF088 */ _t116 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CF088 */ _t117 = _t116 & 0x00000001u;
/* 028CF088 */ if (_t117) goto L_028CF0B0; else goto L_028CF08C;
L_028CF08C: ; // 0x28cf08c
/* 028CF08C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028CF090 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
/* 028CF094 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
/* 028CF098 */ _t118 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CF098 */ _t119 = _t118 & 0x00000001u;
/* 028CF098 */ if (_t119) goto L_028CF0AC; else goto L_028CF09C;
L_028CF09C: ; // 0x28cf09c
/* 028CF09C */ _t120 = cpu->r[11] + 0x00000000u;
/* 028CF09C */ cpu->r[0] = rbrew_read8(cpu->mem, _t120);
/* 028CF0A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028CF0A4 */ _t121 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CF0A4 */ _t122 = _t121 & 0x00000001u;
/* 028CF0A4 */ if (_t122) goto L_028CF0A8; else goto L_028CF08C;
L_028CF0A8: ; // 0x28cf0a8
/* 028CF0A8 */ goto L_028CF0B0;
L_028CF0AC: ; // 0x28cf0ac
/* 028CF0AC */ cpu->r[30] = 0x00000000u;
L_028CF0B0: ; // 0x28cf0b0
/* 028CF0B0 */ _t123 = cpu->r[1] + 0x00000010u;
/* 028CF0B0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t123);
/* 028CF0B4 */ cpu->r[21] = cpu->r[30];
/* 028CF0B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
/* 028CF0B8 */ _t124 = cpu->r[4] + 0x00000014u;
/* 028CF0B8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t124);
/* 028CF0BC */ _t125 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CF0BC */ _t126 = _t125 & 0x00000001u;
/* 028CF0BC */ if (_t126) goto L_028CF0C0; else goto L_028CF0C4;
L_028CF0C0: ; // 0x28cf0c0
/* 028CF0C0 */ cpu->r[21] = 0x00000000u;
L_028CF0C4: ; // 0x28cf0c4
/* 028CF0C4 */ cpu->ctr = cpu->r[5];
/* 028CF0C8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
/* 028CF0CC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CF0D0 */ _t127 = cpu->r[1] + 0x0000000Cu;
/* 028CF0D0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t127);
/* 028CF0D4 */ _t128 = cpu->r[8] + 0x00000000u;
/* 028CF0D4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t128);
/* 028CF0D8 */ cpu->r[9] = 0x00080000u;
/* 028CF0DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
/* 028CF0E0 */ cpu->r[29] = 0x00000000u;
/* 028CF0E4 */ _t129 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CF0E4 */ _t130 = _t129 & 0x00000001u;
/* 028CF0E4 */ if (_t130) goto L_028CF10C; else goto L_028CF0E8;
L_028CF0E8: ; // 0x28cf0e8
/* 028CF0E8 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
/* 028CF0EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[9]);
/* 028CF0F0 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
/* 028CF0F4 */ _t131 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CF0F4 */ _t132 = _t131 & 0x00000001u;
/* 028CF0F4 */ if (_t132) goto L_028CF108; else goto L_028CF0F8;
L_028CF0F8: ; // 0x28cf0f8
/* 028CF0F8 */ _t133 = cpu->r[8] + 0x00000000u;
/* 028CF0F8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t133);
/* 028CF0FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028CF100 */ _t134 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CF100 */ _t135 = _t134 & 0x00000001u;
/* 028CF100 */ if (_t135) goto L_028CF104; else goto L_028CF0E8;
L_028CF104: ; // 0x28cf104
/* 028CF104 */ goto L_028CF10C;
L_028CF108: ; // 0x28cf108
/* 028CF108 */ cpu->r[29] = 0x00000000u;
L_028CF10C: ; // 0x28cf10c
/* 028CF10C */ _t136 = cpu->r[1] + 0x0000008Cu;
/* 028CF10C */ cpu->r[12] = rbrew_read32(cpu->mem, _t136);
/* 028CF110 */ cpu->r[12] = cpu->r[12] - cpu->r[21];
/* 028CF114 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[12]);
/* 028CF118 */ _t137 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CF118 */ _t138 = _t137 & 0x00000001u;
/* 028CF118 */ if (_t138) goto L_028CF120; else goto L_028CF11C;
L_028CF11C: ; // 0x28cf11c
/* 028CF11C */ cpu->r[29] = cpu->r[12] + 0xFFFFFFFFu;
L_028CF120: ; // 0x28cf120
/* 028CF120 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028CF124 */ _t139 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CF124 */ _t140 = _t139 & 0x00000001u;
/* 028CF124 */ if (_t140) goto L_028CF128; else goto L_028CF164;
L_028CF128: ; // 0x28cf128
/* 028CF128 */ _t141 = cpu->r[1] + 0x00000010u;
/* 028CF128 */ cpu->r[8] = rbrew_read32(cpu->mem, _t141);
/* 028CF12C */ _t142 = cpu->r[8] + 0x00000014u;
/* 028CF12C */ cpu->r[0] = rbrew_read32(cpu->mem, _t142);
/* 028CF130 */ cpu->ctr = cpu->r[0];
/* 028CF134 */ cpu->r[20] = cpu->r[26] + cpu->r[21];
/* 028CF138 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
/* 028CF13C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CF140 */ _t143 = cpu->r[1] + 0x0000000Cu;
/* 028CF140 */ cpu->r[4] = rbrew_read32(cpu->mem, _t143);
/* 028CF144 */ cpu->r[6] = 0x00000000u;
/* 028CF148 */ cpu->r[5] = cpu->r[29];
/* 028CF14C */ cpu->r[3] = cpu->r[20];
/* 028CF150 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028CF154 */ cpu->r[9] = cpu->r[21] + cpu->r[29];
/* 028CF158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[30]);
/* 028CF15C */ _t144 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CF15C */ _t145 = _t144 & 0x00000001u;
/* 028CF15C */ if (_t145) goto L_028CF160; else goto L_028CF164;
L_028CF160: ; // 0x28cf160
/* 028CF160 */ _t146 = cpu->r[26] + cpu->r[9];
/* 028CF160 */ rbrew_write8(cpu->mem, _t146, (uint8_t)cpu->r[31]);
L_028CF164: ; // 0x28cf164
/* 028CF164 */ _t147 = cpu->r[1] + 0x0000004Cu;
/* 028CF164 */ rbrew_write32(cpu->mem, _t147, cpu->r[25]);
/* 028CF168 */ cpu->r[0] = 0x00000001u;
/* 028CF16C */ _t148 = cpu->r[1] + 0x00000038u;
/* 028CF16C */ rbrew_write32(cpu->mem, _t148, cpu->r[25]);
/* 028CF170 */ cpu->r[26] = 0x101D0000u;
/* 028CF174 */ _t149 = cpu->r[1] + 0x00000034u;
/* 028CF174 */ rbrew_write32(cpu->mem, _t149, cpu->r[25]);
/* 028CF178 */ _t150 = cpu->r[1] + 0x00000030u;
/* 028CF178 */ rbrew_write32(cpu->mem, _t150, cpu->r[22]);
/* 028CF17C */ _t151 = cpu->r[1] + 0x00000084u;
/* 028CF17C */ cpu->r[12] = rbrew_read32(cpu->mem, _t151);
/* 028CF180 */ _t152 = cpu->r[1] + 0x00000040u;
/* 028CF180 */ rbrew_write32(cpu->mem, _t152, cpu->r[25]);
/* 028CF184 */ _t153 = cpu->r[26] + 0xFFFF9A84u;
/* 028CF184 */ cpu->r[4] = rbrew_read32(cpu->mem, _t153);
/* 028CF184 */ cpu->r[26] = _t153;
/* 028CF188 */ _t154 = cpu->r[27] + 0x00000008u;
/* 028CF188 */ cpu->r[3] = rbrew_read32(cpu->mem, _t154);
/* 028CF18C */ _t155 = cpu->r[1] + 0x0000003Cu;
/* 028CF18C */ rbrew_write32(cpu->mem, _t155, cpu->r[25]);
/* 028CF190 */ _t156 = cpu->r[1] + 0x00000049u;
/* 028CF190 */ rbrew_write8(cpu->mem, _t156, (uint8_t)cpu->r[0]);
/* 028CF194 */ _t157 = cpu->r[1] + 0x00000044u;
/* 028CF194 */ rbrew_write32(cpu->mem, _t157, cpu->r[25]);
/* 028CF198 */ cpu->r[8] = 0x00000000u;
/* 028CF19C */ _t158 = cpu->r[1] + 0x00000048u;
/* 028CF19C */ rbrew_write8(cpu->mem, _t158, (uint8_t)cpu->r[0]);
/* 028CF1A0 */ _t159 = cpu->r[1] + 0x00000054u;
/* 028CF1A0 */ rbrew_write8(cpu->mem, _t159, (uint8_t)cpu->r[8]);
/* 028CF1A4 */ _t160 = cpu->r[1] + 0x00000050u;
/* 028CF1A4 */ rbrew_write32(cpu->mem, _t160, cpu->r[25]);
/* 028CF1A8 */ _t161 = cpu->r[1] + 0x0000002Cu;
/* 028CF1A8 */ rbrew_write32(cpu->mem, _t161, cpu->r[12]);
/* 028CF1AC */ _t162 = cpu->r[4] + 0x00000054u;
/* 028CF1AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t162);
/* 028CF1B0 */ _t163 = cpu->r[1] + 0x00000048u;
/* 028CF1B0 */ rbrew_write8(cpu->mem, _t163, (uint8_t)cpu->r[8]);
/* 028CF1B4 */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
/* 028CF1B8 */ _t164 = cpu->r[1] + 0x0000003Cu;
/* 028CF1B8 */ rbrew_write32(cpu->mem, _t164, cpu->r[5]);
/* 028CF1BC */ Gambit_fn_0280C984(cpu);
/* 028CF1C0 */ cpu->r[20] = cpu->r[3];
/* 028CF1C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
/* 028CF1C4 */ _t165 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CF1C4 */ _t166 = _t165 & 0x00000001u;
/* 028CF1C4 */ if (_t166) goto L_028CF1C8; else goto L_028CF1E4;
L_028CF1C8: ; // 0x28cf1c8
/* 028CF1C8 */ cpu->r[3] = cpu->r[27];
/* 028CF1CC */ Gambit_fn_028CECD4(cpu);
/* 028CF1D0 */ _t167 = cpu->r[27] + 0x00000008u;
/* 028CF1D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t167);
/* 028CF1D4 */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
/* 028CF1D8 */ Gambit_fn_0280C984(cpu);
/* 028CF1DC */ cpu->r[20] = cpu->r[3];
/* 028CF1DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
/* 028CF1E0 */ _t168 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CF1E0 */ _t169 = _t168 & 0x00000001u;
/* 028CF1E0 */ if (_t169) goto L_028CF6F0; else goto L_028CF1E4;
L_028CF1E4: ; // 0x28cf1e4
/* 028CF1E4 */ _t170 = cpu->r[27] + 0x00000008u;
/* 028CF1E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t170);
/* 028CF1E8 */ cpu->r[5] = cpu->r[1] + 0x00000084u;
/* 028CF1EC */ cpu->r[4] = cpu->r[1] + 0x00000024u;
/* 028CF1F0 */ _t171 = cpu->r[1] + 0x00000024u;
/* 028CF1F0 */ rbrew_write32(cpu->mem, _t171, cpu->r[25]);
/* 028CF1F4 */ Gambit_fn_0280CE04(cpu);
/* 028CF1F8 */ _t172 = cpu->r[27] + 0x00000060u;
/* 028CF1F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t172);
/* 028CF1FC */ _t173 = cpu->r[3] + 0x00000000u;
/* 028CF1FC */ cpu->r[6] = rbrew_read32(cpu->mem, _t173);
/* 028CF200 */ _t174 = cpu->r[6] + 0x0000004Cu;
/* 028CF200 */ cpu->r[7] = rbrew_read32(cpu->mem, _t174);
/* 028CF204 */ cpu->ctr = cpu->r[7];
/* 028CF208 */ _t175 = cpu->r[1] + 0x00000024u;
/* 028CF208 */ cpu->r[21] = rbrew_read32(cpu->mem, _t175);
/* 028CF20C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CF210 */ _t176 = cpu->r[3] + 0x00000004u;
/* 028CF210 */ cpu->r[8] = rbrew_read32(cpu->mem, _t176);
/* 028CF214 */ _t177 = cpu->r[8] + 0x00000014u;
/* 028CF214 */ cpu->r[9] = rbrew_read32(cpu->mem, _t177);
/* 028CF218 */ cpu->ctr = cpu->r[9];
/* 028CF21C */ _t178 = cpu->r[1] + 0x00000084u;
/* 028CF21C */ cpu->r[29] = rbrew_read32(cpu->mem, _t178);
/* 028CF220 */ cpu->r[19] = cpu->r[3];
/* 028CF224 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CF228 */ _t179 = cpu->r[19] + 0x00000000u;
/* 028CF228 */ cpu->r[5] = rbrew_read32(cpu->mem, _t179);
/* 028CF22C */ _t180 = cpu->r[5] + 0x00000000u;
/* 028CF22C */ cpu->r[10] = rbrew_read8(cpu->mem, _t180);
/* 028CF230 */ cpu->r[30] = 0x00000000u;
/* 028CF234 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
/* 028CF238 */ cpu->r[7] = 0x00080000u;
/* 028CF23C */ _t181 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CF23C */ _t182 = _t181 & 0x00000001u;
/* 028CF23C */ if (_t182) goto L_028CF264; else goto L_028CF240;
L_028CF240: ; // 0x28cf240
/* 028CF240 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028CF244 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
/* 028CF248 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
/* 028CF24C */ _t183 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CF24C */ _t184 = _t183 & 0x00000001u;
/* 028CF24C */ if (_t184) goto L_028CF260; else goto L_028CF250;
L_028CF250: ; // 0x28cf250
/* 028CF250 */ _t185 = cpu->r[5] + 0x00000000u;
/* 028CF250 */ cpu->r[11] = rbrew_read8(cpu->mem, _t185);
/* 028CF254 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
/* 028CF258 */ _t186 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CF258 */ _t187 = _t186 & 0x00000001u;
/* 028CF258 */ if (_t187) goto L_028CF25C; else goto L_028CF240;
L_028CF25C: ; // 0x28cf25c
/* 028CF25C */ goto L_028CF264;
L_028CF260: ; // 0x28cf260
/* 028CF260 */ cpu->r[30] = 0x00000000u;
L_028CF264: ; // 0x28cf264
/* 028CF264 */ _t188 = cpu->r[1] + 0x0000008Cu;
/* 028CF264 */ cpu->r[12] = rbrew_read32(cpu->mem, _t188);
/* 028CF268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
/* 028CF26C */ _t189 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CF26C */ _t190 = _t189 & 0x00000001u;
/* 028CF26C */ if (_t190) goto L_028CF274; else goto L_028CF270;
L_028CF270: ; // 0x28cf270
/* 028CF270 */ cpu->r[30] = cpu->r[12] + 0xFFFFFFFFu;
L_028CF274: ; // 0x28cf274
/* 028CF274 */ _t191 = cpu->r[19] + 0x00000004u;
/* 028CF274 */ cpu->r[12] = rbrew_read32(cpu->mem, _t191);
/* 028CF278 */ _t192 = cpu->r[12] + 0x00000014u;
/* 028CF278 */ cpu->r[0] = rbrew_read32(cpu->mem, _t192);
/* 028CF27C */ cpu->ctr = cpu->r[0];
/* 028CF280 */ cpu->r[3] = cpu->r[19];
/* 028CF284 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CF288 */ _t193 = cpu->r[19] + 0x00000000u;
/* 028CF288 */ cpu->r[4] = rbrew_read32(cpu->mem, _t193);
/* 028CF28C */ cpu->r[6] = 0x00000000u;
/* 028CF290 */ cpu->r[5] = cpu->r[30];
/* 028CF294 */ cpu->r[3] = cpu->r[29];
/* 028CF298 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028CF29C */ _t194 = cpu->r[29] + cpu->r[30];
/* 028CF29C */ rbrew_write8(cpu->mem, _t194, (uint8_t)cpu->r[31]);
/* 028CF2A0 */ _t195 = cpu->r[1] + 0x00000088u;
/* 028CF2A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t195);
/* 028CF2A4 */ _t196 = cpu->r[4] + 0x00000014u;
/* 028CF2A4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t196);
/* 028CF2A8 */ cpu->ctr = cpu->r[5];
/* 028CF2AC */ _t197 = cpu->r[1] + 0x00000084u;
/* 028CF2AC */ cpu->r[19] = rbrew_read32(cpu->mem, _t197);
/* 028CF2B0 */ cpu->r[3] = cpu->r[1] + 0x00000084u;
/* 028CF2B4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CF2B8 */ _t198 = cpu->r[1] + 0x00000084u;
/* 028CF2B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t198);
/* 028CF2BC */ _t199 = cpu->r[9] + 0x00000000u;
/* 028CF2BC */ cpu->r[6] = rbrew_read8(cpu->mem, _t199);
/* 028CF2C0 */ cpu->r[30] = 0x00000000u;
/* 028CF2C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
/* 028CF2C8 */ cpu->r[0] = 0x00080000u;
/* 028CF2CC */ _t200 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CF2CC */ _t201 = _t200 & 0x00000001u;
/* 028CF2CC */ if (_t201) goto L_028CF2F4; else goto L_028CF2D0;
L_028CF2D0: ; // 0x28cf2d0
/* 028CF2D0 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028CF2D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
/* 028CF2D8 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
/* 028CF2DC */ _t202 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CF2DC */ _t203 = _t202 & 0x00000001u;
/* 028CF2DC */ if (_t203) goto L_028CF2F0; else goto L_028CF2E0;
L_028CF2E0: ; // 0x28cf2e0
/* 028CF2E0 */ _t204 = cpu->r[9] + 0x00000000u;
/* 028CF2E0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t204);
/* 028CF2E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
/* 028CF2E8 */ _t205 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CF2E8 */ _t206 = _t205 & 0x00000001u;
/* 028CF2E8 */ if (_t206) goto L_028CF2EC; else goto L_028CF2D0;
L_028CF2EC: ; // 0x28cf2ec
/* 028CF2EC */ goto L_028CF2F4;
L_028CF2F0: ; // 0x28cf2f0
/* 028CF2F0 */ cpu->r[30] = 0x00000000u;
L_028CF2F4: ; // 0x28cf2f4
/* 028CF2F4 */ _t207 = cpu->r[28] + 0x00000004u;
/* 028CF2F4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t207);
/* 028CF2F8 */ cpu->r[18] = cpu->r[30];
/* 028CF2F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u);
/* 028CF2FC */ _t208 = cpu->r[8] + 0x00000014u;
/* 028CF2FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t208);
/* 028CF300 */ _t209 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CF300 */ _t210 = _t209 & 0x00000001u;
/* 028CF300 */ if (_t210) goto L_028CF304; else goto L_028CF308;
L_028CF304: ; // 0x28cf304
/* 028CF304 */ cpu->r[18] = 0x00000000u;
L_028CF308: ; // 0x28cf308
/* 028CF308 */ cpu->ctr = cpu->r[9];
/* 028CF30C */ cpu->r[3] = cpu->r[28];
/* 028CF310 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CF314 */ _t211 = cpu->r[28] + 0x00000000u;
/* 028CF314 */ cpu->r[4] = rbrew_read32(cpu->mem, _t211);
/* 028CF318 */ _t212 = cpu->r[4] + 0x00000000u;
/* 028CF318 */ cpu->r[10] = rbrew_read8(cpu->mem, _t212);
/* 028CF31C */ cpu->r[6] = 0x00080000u;
/* 028CF320 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
/* 028CF324 */ cpu->r[29] = 0x00000000u;
/* 028CF328 */ _t213 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CF328 */ _t214 = _t213 & 0x00000001u;
/* 028CF328 */ if (_t214) goto L_028CF350; else goto L_028CF32C;
L_028CF32C: ; // 0x28cf32c
/* 028CF32C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
/* 028CF330 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]);
/* 028CF334 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
/* 028CF338 */ _t215 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CF338 */ _t216 = _t215 & 0x00000001u;
/* 028CF338 */ if (_t216) goto L_028CF34C; else goto L_028CF33C;
L_028CF33C: ; // 0x28cf33c
/* 028CF33C */ _t217 = cpu->r[4] + 0x00000000u;
/* 028CF33C */ cpu->r[11] = rbrew_read8(cpu->mem, _t217);
/* 028CF340 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
/* 028CF344 */ _t218 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CF344 */ _t219 = _t218 & 0x00000001u;
/* 028CF344 */ if (_t219) goto L_028CF348; else goto L_028CF32C;
L_028CF348: ; // 0x28cf348
/* 028CF348 */ goto L_028CF350;
L_028CF34C: ; // 0x28cf34c
/* 028CF34C */ cpu->r[29] = 0x00000000u;
L_028CF350: ; // 0x28cf350
/* 028CF350 */ _t220 = cpu->r[1] + 0x0000008Cu;
/* 028CF350 */ cpu->r[12] = rbrew_read32(cpu->mem, _t220);
/* 028CF354 */ cpu->r[4] = cpu->r[12] - cpu->r[18];
/* 028CF358 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[4]);
/* 028CF35C */ _t221 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CF35C */ _t222 = _t221 & 0x00000001u;
/* 028CF35C */ if (_t222) goto L_028CF364; else goto L_028CF360;
L_028CF360: ; // 0x28cf360
/* 028CF360 */ cpu->r[29] = cpu->r[4] + 0xFFFFFFFFu;
L_028CF364: ; // 0x28cf364
/* 028CF364 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028CF368 */ _t223 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CF368 */ _t224 = _t223 & 0x00000001u;
/* 028CF368 */ if (_t224) goto L_028CF36C; else goto L_028CF3A8;
L_028CF36C: ; // 0x28cf36c
/* 028CF36C */ _t225 = cpu->r[28] + 0x00000004u;
/* 028CF36C */ cpu->r[12] = rbrew_read32(cpu->mem, _t225);
/* 028CF370 */ _t226 = cpu->r[12] + 0x00000014u;
/* 028CF370 */ cpu->r[0] = rbrew_read32(cpu->mem, _t226);
/* 028CF374 */ cpu->ctr = cpu->r[0];
/* 028CF378 */ cpu->r[17] = cpu->r[19] + cpu->r[18];
/* 028CF37C */ cpu->r[3] = cpu->r[28];
/* 028CF380 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CF384 */ _t227 = cpu->r[28] + 0x00000000u;
/* 028CF384 */ cpu->r[4] = rbrew_read32(cpu->mem, _t227);
/* 028CF388 */ cpu->r[6] = 0x00000000u;
/* 028CF38C */ cpu->r[5] = cpu->r[29];
/* 028CF390 */ cpu->r[3] = cpu->r[17];
/* 028CF394 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028CF398 */ cpu->r[10] = cpu->r[18] + cpu->r[29];
/* 028CF39C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[30]);
/* 028CF3A0 */ _t228 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CF3A0 */ _t229 = _t228 & 0x00000001u;
/* 028CF3A0 */ if (_t229) goto L_028CF3A4; else goto L_028CF3A8;
L_028CF3A4: ; // 0x28cf3a4
/* 028CF3A4 */ _t230 = cpu->r[19] + cpu->r[10];
/* 028CF3A4 */ rbrew_write8(cpu->mem, _t230, (uint8_t)cpu->r[31]);
L_028CF3A8: ; // 0x28cf3a8
/* 028CF3A8 */ cpu->r[4] = cpu->r[20];
/* 028CF3AC */ cpu->r[3] = cpu->r[1] + 0x00000190u;
/* 028CF3B0 */ cpu->r[5] = 0x00000000u;
/* 028CF3B4 */ Gambit_fn_028E647C(cpu);
/* 028CF3B8 */ cpu->r[3] = cpu->r[1] + 0x00000190u;
/* 028CF3BC */ Gambit_fn_028E68F8(cpu);
/* 028CF3C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CF3C4 */ _t231 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CF3C4 */ _t232 = _t231 & 0x00000001u;
/* 028CF3C4 */ if (_t232) goto L_028CF3C8; else goto L_028CF544;
L_028CF3C8: ; // 0x28cf3c8
/* 028CF3C8 */ _t233 = cpu->r[1] + 0x00000088u;
/* 028CF3C8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t233);
/* 028CF3CC */ cpu->r[9] = 0x101D0000u;
/* 028CF3D0 */ _t234 = cpu->r[9] + 0xFFFF9AB0u;
/* 028CF3D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t234);
/* 028CF3D4 */ _t235 = cpu->r[1] + 0x00000018u;
/* 028CF3D4 */ rbrew_write32(cpu->mem, _t235, cpu->r[22]);
/* 028CF3D8 */ _t236 = cpu->r[1] + 0x00000014u;
/* 028CF3D8 */ rbrew_write32(cpu->mem, _t236, cpu->r[9]);
/* 028CF3DC */ _t237 = cpu->r[4] + 0x00000014u;
/* 028CF3DC */ cpu->r[5] = rbrew_read32(cpu->mem, _t237);
/* 028CF3E0 */ cpu->ctr = cpu->r[5];
/* 028CF3E4 */ _t238 = cpu->r[1] + 0x00000084u;
/* 028CF3E4 */ cpu->r[19] = rbrew_read32(cpu->mem, _t238);
/* 028CF3E8 */ cpu->r[3] = cpu->r[1] + 0x00000084u;
/* 028CF3EC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CF3F0 */ _t239 = cpu->r[1] + 0x00000084u;
/* 028CF3F0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t239);
/* 028CF3F4 */ _t240 = cpu->r[10] + 0x00000000u;
/* 028CF3F4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t240);
/* 028CF3F8 */ cpu->r[0] = 0x00080000u;
/* 028CF3FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
/* 028CF400 */ cpu->r[29] = 0x00000000u;
/* 028CF404 */ _t241 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CF404 */ _t242 = _t241 & 0x00000001u;
/* 028CF404 */ if (_t242) goto L_028CF42C; else goto L_028CF408;
L_028CF408: ; // 0x28cf408
/* 028CF408 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
/* 028CF40C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
/* 028CF410 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
/* 028CF414 */ _t243 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CF414 */ _t244 = _t243 & 0x00000001u;
/* 028CF414 */ if (_t244) goto L_028CF428; else goto L_028CF418;
L_028CF418: ; // 0x28cf418
/* 028CF418 */ _t245 = cpu->r[10] + 0x00000000u;
/* 028CF418 */ cpu->r[7] = rbrew_read8(cpu->mem, _t245);
/* 028CF41C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
/* 028CF420 */ _t246 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CF420 */ _t247 = _t246 & 0x00000001u;
/* 028CF420 */ if (_t247) goto L_028CF424; else goto L_028CF408;
L_028CF424: ; // 0x28cf424
/* 028CF424 */ goto L_028CF42C;
L_028CF428: ; // 0x28cf428
/* 028CF428 */ cpu->r[29] = 0x00000000u;
L_028CF42C: ; // 0x28cf42c
/* 028CF42C */ _t248 = cpu->r[1] + 0x00000018u;
/* 028CF42C */ cpu->r[8] = rbrew_read32(cpu->mem, _t248);
/* 028CF430 */ cpu->r[18] = cpu->r[29];
/* 028CF430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u);
/* 028CF434 */ _t249 = cpu->r[8] + 0x00000014u;
/* 028CF434 */ cpu->r[9] = rbrew_read32(cpu->mem, _t249);
/* 028CF438 */ _t250 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CF438 */ _t251 = _t250 & 0x00000001u;
/* 028CF438 */ if (_t251) goto L_028CF43C; else goto L_028CF440;
L_028CF43C: ; // 0x28cf43c
/* 028CF43C */ cpu->r[18] = 0x00000000u;
L_028CF440: ; // 0x28cf440
/* 028CF440 */ cpu->ctr = cpu->r[9];
/* 028CF444 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
/* 028CF448 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CF44C */ _t252 = cpu->r[1] + 0x00000014u;
/* 028CF44C */ cpu->r[6] = rbrew_read32(cpu->mem, _t252);
/* 028CF450 */ _t253 = cpu->r[6] + 0x00000000u;
/* 028CF450 */ cpu->r[10] = rbrew_read8(cpu->mem, _t253);
/* 028CF454 */ cpu->r[30] = 0x00000000u;
/* 028CF458 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
/* 028CF45C */ cpu->r[8] = 0x00080000u;
/* 028CF460 */ _t254 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CF460 */ _t255 = _t254 & 0x00000001u;
/* 028CF460 */ if (_t255) goto L_028CF488; else goto L_028CF464;
L_028CF464: ; // 0x28cf464
/* 028CF464 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028CF468 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
/* 028CF46C */ cpu->r[6] = cpu->r[6] + 0x00000001u;
/* 028CF470 */ _t256 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CF470 */ _t257 = _t256 & 0x00000001u;
/* 028CF470 */ if (_t257) goto L_028CF484; else goto L_028CF474;
L_028CF474: ; // 0x28cf474
/* 028CF474 */ _t258 = cpu->r[6] + 0x00000000u;
/* 028CF474 */ cpu->r[0] = rbrew_read8(cpu->mem, _t258);
/* 028CF478 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028CF47C */ _t259 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CF47C */ _t260 = _t259 & 0x00000001u;
/* 028CF47C */ if (_t260) goto L_028CF480; else goto L_028CF464;
L_028CF480: ; // 0x28cf480
/* 028CF480 */ goto L_028CF488;
L_028CF484: ; // 0x28cf484
/* 028CF484 */ cpu->r[30] = 0x00000000u;
L_028CF488: ; // 0x28cf488
/* 028CF488 */ _t261 = cpu->r[1] + 0x0000008Cu;
/* 028CF488 */ cpu->r[12] = rbrew_read32(cpu->mem, _t261);
/* 028CF48C */ cpu->r[6] = cpu->r[12] - cpu->r[18];
/* 028CF490 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
/* 028CF494 */ _t262 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CF494 */ _t263 = _t262 & 0x00000001u;
/* 028CF494 */ if (_t263) goto L_028CF49C; else goto L_028CF498;
L_028CF498: ; // 0x28cf498
/* 028CF498 */ cpu->r[30] = cpu->r[6] + 0xFFFFFFFFu;
L_028CF49C: ; // 0x28cf49c
/* 028CF49C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028CF4A0 */ _t264 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CF4A0 */ _t265 = _t264 & 0x00000001u;
/* 028CF4A0 */ if (_t265) goto L_028CF4A4; else goto L_028CF66C;
L_028CF4A4: ; // 0x28cf4a4
/* 028CF4A4 */ _t266 = cpu->r[1] + 0x00000018u;
/* 028CF4A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t266);
/* 028CF4A8 */ _t267 = cpu->r[12] + 0x00000014u;
/* 028CF4A8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t267);
/* 028CF4AC */ cpu->ctr = cpu->r[4];
/* 028CF4B0 */ cpu->r[17] = cpu->r[19] + cpu->r[18];
/* 028CF4B4 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
/* 028CF4B8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CF4BC */ _t268 = cpu->r[1] + 0x00000014u;
/* 028CF4BC */ cpu->r[4] = rbrew_read32(cpu->mem, _t268);
/* 028CF4C0 */ cpu->r[6] = 0x00000000u;
/* 028CF4C4 */ cpu->r[5] = cpu->r[30];
/* 028CF4C8 */ cpu->r[3] = cpu->r[17];
/* 028CF4CC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028CF4D0 */ cpu->r[12] = cpu->r[18] + cpu->r[30];
/* 028CF4D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[29]);
/* 028CF4D8 */ _t269 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CF4D8 */ _t270 = _t269 & 0x00000001u;
/* 028CF4D8 */ if (_t270) goto L_028CF4DC; else goto L_028CF66C;
L_028CF4DC: ; // 0x28cf4dc
/* 028CF4DC */ _t271 = cpu->r[19] + cpu->r[12];
/* 028CF4DC */ rbrew_write8(cpu->mem, _t271, (uint8_t)cpu->r[31]);
/* 028CF4E0 */ _t272 = cpu->r[1] + 0x00000084u;
/* 028CF4E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t272);
/* 028CF4E4 */ _t273 = cpu->r[1] + 0x0000006Cu;
/* 028CF4E4 */ rbrew_write32(cpu->mem, _t273, cpu->r[25]);
/* 028CF4E8 */ _t274 = cpu->r[1] + 0x00000058u;
/* 028CF4E8 */ rbrew_write32(cpu->mem, _t274, cpu->r[11]);
/* 028CF4EC */ cpu->r[0] = 0x00000001u;
/* 028CF4F0 */ _t275 = cpu->r[1] + 0x00000064u;
/* 028CF4F0 */ rbrew_write32(cpu->mem, _t275, cpu->r[25]);
/* 028CF4F4 */ _t276 = cpu->r[26] + 0x00000000u;
/* 028CF4F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t276);
/* 028CF4F8 */ _t277 = cpu->r[1] + 0x00000060u;
/* 028CF4F8 */ rbrew_write32(cpu->mem, _t277, cpu->r[25]);
/* 028CF4FC */ _t278 = cpu->r[1] + 0x00000074u;
/* 028CF4FC */ rbrew_write8(cpu->mem, _t278, (uint8_t)cpu->r[0]);
/* 028CF500 */ cpu->r[4] = 0x00000000u;
/* 028CF504 */ _t279 = cpu->r[1] + 0x00000068u;
/* 028CF504 */ rbrew_write32(cpu->mem, _t279, cpu->r[25]);
/* 028CF508 */ _t280 = cpu->r[1] + 0x0000007Cu;
/* 028CF508 */ rbrew_write32(cpu->mem, _t280, cpu->r[25]);
/* 028CF50C */ _t281 = cpu->r[1] + 0x00000070u;
/* 028CF50C */ rbrew_write32(cpu->mem, _t281, cpu->r[25]);
/* 028CF510 */ _t282 = cpu->r[1] + 0x00000080u;
/* 028CF510 */ rbrew_write8(cpu->mem, _t282, (uint8_t)cpu->r[4]);
/* 028CF514 */ _t283 = cpu->r[1] + 0x00000078u;
/* 028CF514 */ rbrew_write32(cpu->mem, _t283, cpu->r[25]);
/* 028CF518 */ _t284 = cpu->r[1] + 0x0000005Cu;
/* 028CF518 */ rbrew_write32(cpu->mem, _t284, cpu->r[22]);
/* 028CF51C */ _t285 = cpu->r[1] + 0x00000075u;
/* 028CF51C */ rbrew_write8(cpu->mem, _t285, (uint8_t)cpu->r[0]);
/* 028CF520 */ _t286 = cpu->r[12] + 0x00000054u;
/* 028CF520 */ cpu->r[0] = rbrew_read32(cpu->mem, _t286);
/* 028CF524 */ _t287 = cpu->r[27] + 0x00000008u;
/* 028CF524 */ cpu->r[3] = rbrew_read32(cpu->mem, _t287);
/* 028CF528 */ _t288 = cpu->r[1] + 0x00000074u;
/* 028CF528 */ rbrew_write8(cpu->mem, _t288, (uint8_t)cpu->r[4]);
/* 028CF52C */ cpu->r[4] = cpu->r[1] + 0x00000058u;
/* 028CF530 */ _t289 = cpu->r[1] + 0x00000068u;
/* 028CF530 */ rbrew_write32(cpu->mem, _t289, cpu->r[0]);
/* 028CF534 */ Gambit_fn_0280C984(cpu);
/* 028CF538 */ cpu->r[26] = cpu->r[3];
/* 028CF538 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
/* 028CF53C */ _t290 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CF53C */ _t291 = _t290 & 0x00000001u;
/* 028CF53C */ if (_t291) goto L_028CF540; else goto L_028CF710;
L_028CF540: ; // 0x28cf540
/* 028CF540 */ goto L_028CF6CC;
L_028CF544: ; // 0x28cf544
/* 028CF544 */ cpu->r[3] = cpu->r[1] + 0x00000190u;
/* 028CF548 */ Gambit_fn_028E68F8(cpu);
/* 028CF54C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
/* 028CF550 */ _t292 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CF550 */ _t293 = _t292 & 0x00000001u;
/* 028CF550 */ if (_t293) goto L_028CF554; else goto L_028CF6E8;
L_028CF554: ; // 0x28cf554
/* 028CF554 */ _t294 = cpu->r[1] + 0x00000088u;
/* 028CF554 */ cpu->r[5] = rbrew_read32(cpu->mem, _t294);
/* 028CF558 */ cpu->r[6] = 0x101D0000u;
/* 028CF55C */ _t295 = cpu->r[6] + 0xFFFF9AB4u;
/* 028CF55C */ cpu->r[6] = rbrew_read32(cpu->mem, _t295);
/* 028CF560 */ _t296 = cpu->r[1] + 0x00000020u;
/* 028CF560 */ rbrew_write32(cpu->mem, _t296, cpu->r[22]);
/* 028CF564 */ _t297 = cpu->r[1] + 0x0000001Cu;
/* 028CF564 */ rbrew_write32(cpu->mem, _t297, cpu->r[6]);
/* 028CF568 */ _t298 = cpu->r[5] + 0x00000014u;
/* 028CF568 */ cpu->r[7] = rbrew_read32(cpu->mem, _t298);
/* 028CF56C */ cpu->ctr = cpu->r[7];
/* 028CF570 */ _t299 = cpu->r[1] + 0x00000084u;
/* 028CF570 */ cpu->r[19] = rbrew_read32(cpu->mem, _t299);
/* 028CF574 */ cpu->r[3] = cpu->r[1] + 0x00000084u;
/* 028CF578 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CF57C */ _t300 = cpu->r[1] + 0x00000084u;
/* 028CF57C */ cpu->r[10] = rbrew_read32(cpu->mem, _t300);
/* 028CF580 */ _t301 = cpu->r[10] + 0x00000000u;
/* 028CF580 */ cpu->r[8] = rbrew_read8(cpu->mem, _t301);
/* 028CF584 */ cpu->r[30] = 0x00000000u;
/* 028CF588 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
/* 028CF58C */ cpu->r[11] = 0x00080000u;
/* 028CF590 */ _t302 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CF590 */ _t303 = _t302 & 0x00000001u;
/* 028CF590 */ if (_t303) goto L_028CF5B8; else goto L_028CF594;
L_028CF594: ; // 0x28cf594
/* 028CF594 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028CF598 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
/* 028CF59C */ cpu->r[10] = cpu->r[10] + 0x00000001u;
/* 028CF5A0 */ _t304 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CF5A0 */ _t305 = _t304 & 0x00000001u;
/* 028CF5A0 */ if (_t305) goto L_028CF5B4; else goto L_028CF5A4;
L_028CF5A4: ; // 0x28cf5a4
/* 028CF5A4 */ _t306 = cpu->r[10] + 0x00000000u;
/* 028CF5A4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t306);
/* 028CF5A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
/* 028CF5AC */ _t307 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CF5AC */ _t308 = _t307 & 0x00000001u;
/* 028CF5AC */ if (_t308) goto L_028CF5B0; else goto L_028CF594;
L_028CF5B0: ; // 0x28cf5b0
/* 028CF5B0 */ goto L_028CF5B8;
L_028CF5B4: ; // 0x28cf5b4
/* 028CF5B4 */ cpu->r[30] = 0x00000000u;
L_028CF5B8: ; // 0x28cf5b8
/* 028CF5B8 */ _t309 = cpu->r[1] + 0x00000020u;
/* 028CF5B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t309);
/* 028CF5BC */ cpu->r[18] = cpu->r[30];
/* 028CF5BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u);
/* 028CF5C0 */ _t310 = cpu->r[12] + 0x00000014u;
/* 028CF5C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t310);
/* 028CF5C4 */ _t311 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CF5C4 */ _t312 = _t311 & 0x00000001u;
/* 028CF5C4 */ if (_t312) goto L_028CF5C8; else goto L_028CF5CC;
L_028CF5C8: ; // 0x28cf5c8
/* 028CF5C8 */ cpu->r[18] = 0x00000000u;
L_028CF5CC: ; // 0x28cf5cc
/* 028CF5CC */ cpu->ctr = cpu->r[0];
/* 028CF5D0 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
/* 028CF5D4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CF5D8 */ _t313 = cpu->r[1] + 0x0000001Cu;
/* 028CF5D8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t313);
/* 028CF5DC */ _t314 = cpu->r[5] + 0x00000000u;
/* 028CF5DC */ cpu->r[4] = rbrew_read8(cpu->mem, _t314);
/* 028CF5E0 */ cpu->r[7] = 0x00080000u;
/* 028CF5E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
/* 028CF5E8 */ cpu->r[29] = 0x00000000u;
/* 028CF5EC */ _t315 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CF5EC */ _t316 = _t315 & 0x00000001u;
/* 028CF5EC */ if (_t316) goto L_028CF614; else goto L_028CF5F0;
L_028CF5F0: ; // 0x28cf5f0
/* 028CF5F0 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
/* 028CF5F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[7]);
/* 028CF5F8 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
/* 028CF5FC */ _t317 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CF5FC */ _t318 = _t317 & 0x00000001u;
/* 028CF5FC */ if (_t318) goto L_028CF610; else goto L_028CF600;
L_028CF600: ; // 0x28cf600
/* 028CF600 */ _t319 = cpu->r[5] + 0x00000000u;
/* 028CF600 */ cpu->r[6] = rbrew_read8(cpu->mem, _t319);
/* 028CF604 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
/* 028CF608 */ _t320 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CF608 */ _t321 = _t320 & 0x00000001u;
/* 028CF608 */ if (_t321) goto L_028CF60C; else goto L_028CF5F0;
L_028CF60C: ; // 0x28cf60c
/* 028CF60C */ goto L_028CF614;
L_028CF610: ; // 0x28cf610
/* 028CF610 */ cpu->r[29] = 0x00000000u;
L_028CF614: ; // 0x28cf614
/* 028CF614 */ _t322 = cpu->r[1] + 0x0000008Cu;
/* 028CF614 */ cpu->r[12] = rbrew_read32(cpu->mem, _t322);
/* 028CF618 */ cpu->r[5] = cpu->r[12] - cpu->r[18];
/* 028CF61C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[5]);
/* 028CF620 */ _t323 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CF620 */ _t324 = _t323 & 0x00000001u;
/* 028CF620 */ if (_t324) goto L_028CF628; else goto L_028CF624;
L_028CF624: ; // 0x28cf624
/* 028CF624 */ cpu->r[29] = cpu->r[5] + 0xFFFFFFFFu;
L_028CF628: ; // 0x28cf628
/* 028CF628 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028CF62C */ _t325 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CF62C */ _t326 = _t325 & 0x00000001u;
/* 028CF62C */ if (_t326) goto L_028CF630; else goto L_028CF66C;
L_028CF630: ; // 0x28cf630
/* 028CF630 */ _t327 = cpu->r[1] + 0x00000020u;
/* 028CF630 */ cpu->r[8] = rbrew_read32(cpu->mem, _t327);
/* 028CF634 */ _t328 = cpu->r[8] + 0x00000014u;
/* 028CF634 */ cpu->r[9] = rbrew_read32(cpu->mem, _t328);
/* 028CF638 */ cpu->ctr = cpu->r[9];
/* 028CF63C */ cpu->r[17] = cpu->r[19] + cpu->r[18];
/* 028CF640 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
/* 028CF644 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CF648 */ _t329 = cpu->r[1] + 0x0000001Cu;
/* 028CF648 */ cpu->r[4] = rbrew_read32(cpu->mem, _t329);
/* 028CF64C */ cpu->r[6] = 0x00000000u;
/* 028CF650 */ cpu->r[5] = cpu->r[29];
/* 028CF654 */ cpu->r[3] = cpu->r[17];
/* 028CF658 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028CF65C */ cpu->r[11] = cpu->r[18] + cpu->r[29];
/* 028CF660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[30]);
/* 028CF664 */ _t330 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CF664 */ _t331 = _t330 & 0x00000001u;
/* 028CF664 */ if (_t331) goto L_028CF668; else goto L_028CF66C;
L_028CF668: ; // 0x28cf668
/* 028CF668 */ _t332 = cpu->r[19] + cpu->r[11];
/* 028CF668 */ rbrew_write8(cpu->mem, _t332, (uint8_t)cpu->r[31]);
L_028CF66C: ; // 0x28cf66c
/* 028CF66C */ _t333 = cpu->r[1] + 0x00000060u;
/* 028CF66C */ rbrew_write32(cpu->mem, _t333, cpu->r[25]);
/* 028CF670 */ cpu->r[0] = 0x00000001u;
/* 028CF674 */ _t334 = cpu->r[1] + 0x00000064u;
/* 028CF674 */ rbrew_write32(cpu->mem, _t334, cpu->r[25]);
/* 028CF678 */ _t335 = cpu->r[1] + 0x00000068u;
/* 028CF678 */ rbrew_write32(cpu->mem, _t335, cpu->r[25]);
/* 028CF67C */ _t336 = cpu->r[1] + 0x0000006Cu;
/* 028CF67C */ rbrew_write32(cpu->mem, _t336, cpu->r[25]);
/* 028CF680 */ _t337 = cpu->r[1] + 0x00000084u;
/* 028CF680 */ cpu->r[11] = rbrew_read32(cpu->mem, _t337);
/* 028CF684 */ _t338 = cpu->r[1] + 0x00000078u;
/* 028CF684 */ rbrew_write32(cpu->mem, _t338, cpu->r[25]);
/* 028CF688 */ _t339 = cpu->r[1] + 0x0000005Cu;
/* 028CF688 */ rbrew_write32(cpu->mem, _t339, cpu->r[22]);
/* 028CF68C */ _t340 = cpu->r[1] + 0x00000058u;
/* 028CF68C */ rbrew_write32(cpu->mem, _t340, cpu->r[11]);
/* 028CF690 */ cpu->r[4] = 0x00000000u;
/* 028CF694 */ _t341 = cpu->r[27] + 0x00000008u;
/* 028CF694 */ cpu->r[3] = rbrew_read32(cpu->mem, _t341);
/* 028CF698 */ _t342 = cpu->r[26] + 0x00000000u;
/* 028CF698 */ cpu->r[12] = rbrew_read32(cpu->mem, _t342);
/* 028CF69C */ _t343 = cpu->r[1] + 0x00000074u;
/* 028CF69C */ rbrew_write8(cpu->mem, _t343, (uint8_t)cpu->r[0]);
/* 028CF6A0 */ _t344 = cpu->r[1] + 0x00000080u;
/* 028CF6A0 */ rbrew_write8(cpu->mem, _t344, (uint8_t)cpu->r[4]);
/* 028CF6A4 */ _t345 = cpu->r[1] + 0x0000007Cu;
/* 028CF6A4 */ rbrew_write32(cpu->mem, _t345, cpu->r[25]);
/* 028CF6A8 */ _t346 = cpu->r[1] + 0x00000070u;
/* 028CF6A8 */ rbrew_write32(cpu->mem, _t346, cpu->r[25]);
/* 028CF6AC */ _t347 = cpu->r[1] + 0x00000075u;
/* 028CF6AC */ rbrew_write8(cpu->mem, _t347, (uint8_t)cpu->r[0]);
/* 028CF6B0 */ _t348 = cpu->r[12] + 0x00000054u;
/* 028CF6B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t348);
/* 028CF6B4 */ _t349 = cpu->r[1] + 0x00000074u;
/* 028CF6B4 */ rbrew_write8(cpu->mem, _t349, (uint8_t)cpu->r[4]);
/* 028CF6B8 */ cpu->r[4] = cpu->r[1] + 0x00000058u;
/* 028CF6BC */ _t350 = cpu->r[1] + 0x00000068u;
/* 028CF6BC */ rbrew_write32(cpu->mem, _t350, cpu->r[0]);
/* 028CF6C0 */ Gambit_fn_0280C984(cpu);
/* 028CF6C4 */ cpu->r[26] = cpu->r[3];
/* 028CF6C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
/* 028CF6C8 */ _t351 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CF6C8 */ _t352 = _t351 & 0x00000001u;
/* 028CF6C8 */ if (_t352) goto L_028CF6CC; else goto L_028CF710;
L_028CF6CC: ; // 0x28cf6cc
/* 028CF6CC */ cpu->r[3] = cpu->r[27];
/* 028CF6D0 */ Gambit_fn_028CECD4(cpu);
/* 028CF6D4 */ _t353 = cpu->r[27] + 0x00000008u;
/* 028CF6D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t353);
/* 028CF6D8 */ cpu->r[4] = cpu->r[1] + 0x00000058u;
/* 028CF6DC */ Gambit_fn_0280C984(cpu);
/* 028CF6E0 */ cpu->r[26] = cpu->r[3];
/* 028CF6E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
/* 028CF6E4 */ _t354 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CF6E4 */ _t355 = _t354 & 0x00000001u;
/* 028CF6E4 */ if (_t355) goto L_028CF6E8; else goto L_028CF710;
L_028CF6E8: ; // 0x28cf6e8
/* 028CF6E8 */ cpu->r[3] = cpu->r[20];
/* 028CF6EC */ Gambit_fn_02801BB0(cpu);
L_028CF6F0: ; // 0x28cf6f0
/* 028CF6F0 */ cpu->r[3] = cpu->r[24];
/* 028CF6F4 */ Gambit_fn_02837030(cpu);
L_028CF6F8: ; // 0x28cf6f8
/* 028CF6F8 */ /* nop */
/* 028CF6FC */ _t356 = cpu->r[1] + 0x000001ECu;
/* 028CF6FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t356);
/* 028CF700 */ cpu->lr = cpu->r[0];
/* 028CF704 */ cpu->r[1] = cpu->r[1] + 0x000001E8u;
/* 028CF708 */ cpu->r[3] = 0x00000000u;
/* 028CF70C */ return;
L_028CF710: ; // 0x28cf710
/* 028CF710 */ _t357 = cpu->r[27] + 0x00000008u;
/* 028CF710 */ cpu->r[3] = rbrew_read32(cpu->mem, _t357);
/* 028CF714 */ cpu->r[5] = cpu->r[1] + 0x00000084u;
/* 028CF718 */ cpu->r[4] = cpu->r[1] + 0x00000028u;
/* 028CF71C */ _t358 = cpu->r[1] + 0x00000028u;
/* 028CF71C */ rbrew_write32(cpu->mem, _t358, cpu->r[25]);
/* 028CF720 */ Gambit_fn_0280CE04(cpu);
/* 028CF724 */ _t359 = cpu->r[27] + 0x00000020u;
/* 028CF724 */ cpu->r[4] = rbrew_read32(cpu->mem, _t359);
/* 028CF728 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028CF72C */ _t360 = cpu->r[1] + 0x00000028u;
/* 028CF72C */ cpu->r[19] = rbrew_read32(cpu->mem, _t360);
/* 028CF730 */ _t361 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CF730 */ _t362 = _t361 & 0x00000001u;
/* 028CF730 */ if (_t362) goto L_028CF734; else goto L_028CF784;
L_028CF734: ; // 0x28cf734
/* 028CF734 */ _t363 = cpu->r[27] + 0x00000018u;
/* 028CF734 */ cpu->r[9] = rbrew_read32(cpu->mem, _t363);
/* 028CF738 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028CF73C */ _t364 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CF73C */ _t365 = _t364 & 0x00000001u;
/* 028CF73C */ if (_t365) goto L_028CF784; else goto L_028CF740;
L_028CF740: ; // 0x28cf740
/* 028CF740 */ _t366 = cpu->r[27] + 0x00000024u;
/* 028CF740 */ cpu->r[5] = rbrew_read32(cpu->mem, _t366);
/* 028CF744 */ cpu->r[3] = cpu->r[27] + 0x00000018u;
/* 028CF748 */ cpu->r[29] = cpu->r[9] - cpu->r[5];
/* 028CF74C */ Gambit_fn_028021E8(cpu);
/* 028CF750 */ _t367 = cpu->r[28] + 0x00000004u;
/* 028CF750 */ cpu->r[8] = rbrew_read32(cpu->mem, _t367);
/* 028CF754 */ _t368 = cpu->r[8] + 0x00000014u;
/* 028CF754 */ cpu->r[9] = rbrew_read32(cpu->mem, _t368);
/* 028CF758 */ cpu->ctr = cpu->r[9];
/* 028CF75C */ _t369 = cpu->r[29] + 0x00000000u;
/* 028CF75C */ cpu->r[18] = rbrew_read32(cpu->mem, _t369);
/* 028CF760 */ cpu->r[3] = cpu->r[28];
/* 028CF764 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CF768 */ _t370 = cpu->r[28] + 0x00000000u;
/* 028CF768 */ cpu->r[10] = rbrew_read32(cpu->mem, _t370);
/* 028CF76C */ _t371 = cpu->r[10] + 0x00000000u;
/* 028CF76C */ cpu->r[0] = rbrew_read8(cpu->mem, _t371);
/* 028CF770 */ cpu->r[30] = 0x00000000u;
/* 028CF774 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028CF778 */ cpu->r[12] = 0x00080000u;
/* 028CF77C */ _t372 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CF77C */ _t373 = _t372 & 0x00000001u;
/* 028CF77C */ if (_t373) goto L_028CF780; else goto L_028CF7C0;
L_028CF780: ; // 0x28cf780
/* 028CF780 */ goto L_028CF7E4;
L_028CF784: ; // 0x28cf784
/* 028CF784 */ cpu->r[29] = 0x00000000u;
/* 028CF788 */ cpu->r[3] = cpu->r[27] + 0x00000018u;
/* 028CF78C */ Gambit_fn_028021E8(cpu);
/* 028CF790 */ _t374 = cpu->r[28] + 0x00000004u;
/* 028CF790 */ cpu->r[8] = rbrew_read32(cpu->mem, _t374);
/* 028CF794 */ _t375 = cpu->r[8] + 0x00000014u;
/* 028CF794 */ cpu->r[9] = rbrew_read32(cpu->mem, _t375);
/* 028CF798 */ cpu->ctr = cpu->r[9];
/* 028CF79C */ _t376 = cpu->r[29] + 0x00000000u;
/* 028CF79C */ cpu->r[18] = rbrew_read32(cpu->mem, _t376);
/* 028CF7A0 */ cpu->r[3] = cpu->r[28];
/* 028CF7A4 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CF7A8 */ _t377 = cpu->r[28] + 0x00000000u;
/* 028CF7A8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t377);
/* 028CF7AC */ _t378 = cpu->r[10] + 0x00000000u;
/* 028CF7AC */ cpu->r[0] = rbrew_read8(cpu->mem, _t378);
/* 028CF7B0 */ cpu->r[30] = cpu->r[29];
/* 028CF7B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028CF7B8 */ cpu->r[12] = 0x00080000u;
/* 028CF7BC */ _t379 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CF7BC */ _t380 = _t379 & 0x00000001u;
/* 028CF7BC */ if (_t380) goto L_028CF780; else goto L_028CF7C0;
L_028CF7C0: ; // 0x28cf7c0
/* 028CF7C0 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028CF7C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
/* 028CF7C8 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
/* 028CF7CC */ _t381 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CF7CC */ _t382 = _t381 & 0x00000001u;
/* 028CF7CC */ if (_t382) goto L_028CF7E0; else goto L_028CF7D0;
L_028CF7D0: ; // 0x28cf7d0
/* 028CF7D0 */ _t383 = cpu->r[10] + 0x00000000u;
/* 028CF7D0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t383);
/* 028CF7D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028CF7D8 */ _t384 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CF7D8 */ _t385 = _t384 & 0x00000001u;
/* 028CF7D8 */ if (_t385) goto L_028CF7DC; else goto L_028CF7C0;
L_028CF7DC: ; // 0x28cf7dc
/* 028CF7DC */ goto L_028CF7E4;
L_028CF7E0: ; // 0x28cf7e0
/* 028CF7E0 */ cpu->r[30] = 0x00000000u;
L_028CF7E4: ; // 0x28cf7e4
/* 028CF7E4 */ _t386 = cpu->r[29] + 0x00000008u;
/* 028CF7E4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t386);
/* 028CF7E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
/* 028CF7EC */ _t387 = cpu->r[28] + 0x00000004u;
/* 028CF7EC */ cpu->r[5] = rbrew_read32(cpu->mem, _t387);
/* 028CF7F0 */ _t388 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CF7F0 */ _t389 = _t388 & 0x00000001u;
/* 028CF7F0 */ if (_t389) goto L_028CF7F8; else goto L_028CF7F4;
L_028CF7F4: ; // 0x28cf7f4
/* 028CF7F4 */ cpu->r[30] = cpu->r[7] + 0xFFFFFFFFu;
L_028CF7F8: ; // 0x28cf7f8
/* 028CF7F8 */ _t390 = cpu->r[5] + 0x00000014u;
/* 028CF7F8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t390);
/* 028CF7FC */ cpu->ctr = cpu->r[7];
/* 028CF800 */ cpu->r[3] = cpu->r[28];
/* 028CF804 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CF808 */ _t391 = cpu->r[28] + 0x00000000u;
/* 028CF808 */ cpu->r[4] = rbrew_read32(cpu->mem, _t391);
/* 028CF80C */ cpu->r[6] = 0x00000000u;
/* 028CF810 */ cpu->r[5] = cpu->r[30];
/* 028CF814 */ cpu->r[3] = cpu->r[18];
/* 028CF818 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028CF81C */ _t392 = cpu->r[18] + cpu->r[30];
/* 028CF81C */ rbrew_write8(cpu->mem, _t392, (uint8_t)cpu->r[31]);
/* 028CF820 */ cpu->r[9] = cpu->r[21] + cpu->r[19];
/* 028CF824 */ _t393 = cpu->r[29] + 0x0000004Cu;
/* 028CF824 */ rbrew_write32(cpu->mem, _t393, cpu->r[26]);
/* 028CF828 */ _t394 = cpu->r[29] + 0x00000054u;
/* 028CF828 */ rbrew_write32(cpu->mem, _t394, cpu->r[9]);
/* 028CF82C */ _t395 = cpu->r[29] + 0x00000050u;
/* 028CF82C */ rbrew_write32(cpu->mem, _t395, cpu->r[20]);
/* 028CF830 */ _t396 = cpu->r[27] + 0x00000034u;
/* 028CF830 */ cpu->r[0] = rbrew_read32(cpu->mem, _t396);
/* 028CF834 */ cpu->r[3] = cpu->r[27] + 0x00000028u;
/* 028CF838 */ cpu->r[4] = cpu->r[29] + cpu->r[0];
/* 028CF83C */ Gambit_fn_02801EBC(cpu);
/* 028CF840 */ _t397 = cpu->r[27] + 0x00000030u;
/* 028CF840 */ cpu->r[4] = rbrew_read32(cpu->mem, _t397);
/* 028CF844 */ _t398 = cpu->r[27] + 0x00000058u;
/* 028CF844 */ cpu->r[8] = rbrew_read32(cpu->mem, _t398);
/* 028CF848 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
/* 028CF84C */ _t399 = cpu->r[27] + 0x00000054u;
/* 028CF84C */ cpu->r[6] = rbrew_read32(cpu->mem, _t399);
/* 028CF850 */ cpu->r[21] = cpu->r[27] + 0x00000048u;
/* 028CF854 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[8]);
/* 028CF858 */ _t400 = cpu->r[27] + 0x00000030u;
/* 028CF858 */ rbrew_write32(cpu->mem, _t400, cpu->r[4]);
/* 028CF85C */ _t401 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CF85C */ _t402 = _t401 & 0x00000001u;
/* 028CF85C */ if (_t402) goto L_028CF860; else goto L_028CFA80;
L_028CF860: ; // 0x28cf860
/* 028CF860 */ _t403 = cpu->r[21] + 0x00000004u;
/* 028CF860 */ cpu->r[26] = rbrew_read32(cpu->mem, _t403);
/* 028CF864 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
/* 028CF868 */ _t404 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CF868 */ _t405 = _t404 & 0x00000001u;
/* 028CF868 */ if (_t405) goto L_028CF874; else goto L_028CF86C;
L_028CF86C: ; // 0x28cf86c
/* 028CF86C */ _t406 = cpu->r[26] + 0x00000000u;
/* 028CF86C */ cpu->r[0] = rbrew_read32(cpu->mem, _t406);
/* 028CF870 */ _t407 = cpu->r[21] + 0x00000004u;
/* 028CF870 */ rbrew_write32(cpu->mem, _t407, cpu->r[0]);
L_028CF874: ; // 0x28cf874
/* 028CF874 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
/* 028CF878 */ _t408 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CF878 */ _t409 = _t408 & 0x00000001u;
/* 028CF878 */ if (_t409) goto L_028CFA30; else goto L_028CF87C;
L_028CF87C: ; // 0x28cf87c
/* 028CF87C */ cpu->r[3] = cpu->r[26];
/* 028CF87C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CF880 */ _t410 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CF880 */ _t411 = _t410 & 0x00000001u;
/* 028CF880 */ if (_t411) goto L_028CF884; else goto L_028CF894;
L_028CF884: ; // 0x28cf884
/* 028CF884 */ cpu->r[3] = 0x00000018u;
/* 028CF888 */ Gambit_fn_02801A78(cpu);
/* 028CF88C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CF890 */ _t412 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CF890 */ _t413 = _t412 & 0x00000001u;
/* 028CF890 */ if (_t413) goto L_028CF8B4; else goto L_028CF894;
L_028CF894: ; // 0x28cf894
/* 028CF894 */ cpu->r[12] = 0x10140000u;
/* 028CF898 */ _t414 = cpu->r[3] + 0x00000004u;
/* 028CF898 */ rbrew_write32(cpu->mem, _t414, cpu->r[25]);
/* 028CF89C */ cpu->r[12] = cpu->r[12] + 0xFFFFA318u;
/* 028CF8A0 */ _t415 = cpu->r[3] + 0x0000000Cu;
/* 028CF8A0 */ rbrew_write32(cpu->mem, _t415, cpu->r[23]);
/* 028CF8A4 */ _t416 = cpu->r[3] + 0x00000014u;
/* 028CF8A4 */ rbrew_write32(cpu->mem, _t416, cpu->r[12]);
/* 028CF8A8 */ _t417 = cpu->r[3] + 0x00000008u;
/* 028CF8A8 */ rbrew_write32(cpu->mem, _t417, cpu->r[25]);
/* 028CF8AC */ _t418 = cpu->r[3] + 0x00000000u;
/* 028CF8AC */ rbrew_write32(cpu->mem, _t418, cpu->r[25]);
/* 028CF8B0 */ _t419 = cpu->r[3] + 0x00000010u;
/* 028CF8B0 */ rbrew_write32(cpu->mem, _t419, cpu->r[22]);
L_028CF8B4: ; // 0x28cf8b4
/* 028CF8B4 */ cpu->r[0] = 0x10140000u;
/* 028CF8B8 */ _t420 = cpu->r[26] + 0x00000060u;
/* 028CF8B8 */ rbrew_write8(cpu->mem, _t420, (uint8_t)cpu->r[31]);
/* 028CF8BC */ cpu->r[0] = cpu->r[0] + 0xFFFFA330u;
/* 028CF8C0 */ _t421 = cpu->r[26] + 0x0000001Cu;
/* 028CF8C0 */ rbrew_write32(cpu->mem, _t421, cpu->r[21]);
/* 028CF8C4 */ _t422 = cpu->r[26] + 0x00000014u;
/* 028CF8C4 */ rbrew_write32(cpu->mem, _t422, cpu->r[0]);
/* 028CF8C8 */ _t423 = cpu->r[26] + 0x00000018u;
/* 028CF8C8 */ rbrew_write32(cpu->mem, _t423, cpu->r[29]);
/* 028CF8CC */ _t424 = cpu->r[28] + 0x00000004u;
/* 028CF8CC */ cpu->r[5] = rbrew_read32(cpu->mem, _t424);
/* 028CF8D0 */ _t425 = cpu->r[5] + 0x00000014u;
/* 028CF8D0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t425);
/* 028CF8D4 */ cpu->ctr = cpu->r[7];
/* 028CF8D8 */ cpu->r[25] = cpu->r[26] + 0x00000020u;
/* 028CF8DC */ cpu->r[3] = cpu->r[28];
/* 028CF8E0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CF8E4 */ _t426 = cpu->r[28] + 0x00000000u;
/* 028CF8E4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t426);
/* 028CF8E8 */ _t427 = cpu->r[6] + 0x00000000u;
/* 028CF8E8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t427);
/* 028CF8EC */ cpu->r[30] = 0x00000000u;
/* 028CF8F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028CF8F4 */ cpu->r[7] = 0x00080000u;
/* 028CF8F8 */ _t428 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CF8F8 */ _t429 = _t428 & 0x00000001u;
/* 028CF8F8 */ if (_t429) goto L_028CF9A4; else goto L_028CF8FC;
L_028CF8FC: ; // 0x28cf8fc
/* 028CF8FC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028CF900 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
/* 028CF904 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
/* 028CF908 */ _t430 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CF908 */ _t431 = _t430 & 0x00000001u;
/* 028CF908 */ if (_t431) goto L_028CF924; else goto L_028CF90C;
L_028CF90C: ; // 0x28cf90c
/* 028CF90C */ _t432 = cpu->r[6] + 0x00000000u;
/* 028CF90C */ cpu->r[10] = rbrew_read8(cpu->mem, _t432);
/* 028CF910 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
/* 028CF914 */ _t433 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CF914 */ _t434 = _t433 & 0x00000001u;
/* 028CF914 */ if (_t434) goto L_028CF918; else goto L_028CF8FC;
L_028CF918: ; // 0x28cf918
/* 028CF918 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000041u);
/* 028CF91C */ _t435 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CF91C */ _t436 = _t435 & 0x00000001u;
/* 028CF91C */ if (_t436) goto L_028CF920; else goto L_028CF9AC;
L_028CF920: ; // 0x28cf920
/* 028CF920 */ goto L_028CF9B0;
L_028CF924: ; // 0x28cf924
/* 028CF924 */ _t437 = cpu->r[28] + 0x00000004u;
/* 028CF924 */ cpu->r[12] = rbrew_read32(cpu->mem, _t437);
/* 028CF928 */ _t438 = cpu->r[12] + 0x00000014u;
/* 028CF928 */ cpu->r[4] = rbrew_read32(cpu->mem, _t438);
/* 028CF92C */ cpu->ctr = cpu->r[4];
/* 028CF930 */ cpu->r[3] = cpu->r[28];
/* 028CF934 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CF938 */ cpu->r[5] = 0x00000000u;
/* 028CF93C */ _t439 = cpu->r[28] + 0x00000000u;
/* 028CF93C */ cpu->r[4] = rbrew_read32(cpu->mem, _t439);
/* 028CF940 */ cpu->r[6] = cpu->r[5];
/* 028CF944 */ cpu->r[3] = cpu->r[25];
/* 028CF948 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028CF94C */ _t440 = cpu->r[25] + 0x00000000u;
/* 028CF94C */ rbrew_write8(cpu->mem, _t440, (uint8_t)cpu->r[31]);
/* 028CF950 */ _t441 = cpu->r[26] + 0x0000000Cu;
/* 028CF950 */ rbrew_write32(cpu->mem, _t441, cpu->r[25]);
/* 028CF954 */ _t442 = cpu->r[21] + 0x0000000Cu;
/* 028CF954 */ cpu->r[6] = rbrew_read32(cpu->mem, _t442);
/* 028CF958 */ cpu->r[5] = cpu->r[26];
/* 028CF95C */ _t443 = cpu->r[21] + 0x00000000u;
/* 028CF95C */ cpu->r[4] = rbrew_read32(cpu->mem, _t443);
/* 028CF960 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
/* 028CF964 */ cpu->r[3] = cpu->r[21];
/* 028CF968 */ _t444 = cpu->r[21] + 0x0000000Cu;
/* 028CF968 */ rbrew_write32(cpu->mem, _t444, cpu->r[6]);
/* 028CF96C */ Gambit_fn_020EFDC4(cpu);
/* 028CF970 */ cpu->r[0] = 0x00000001u;
/* 028CF974 */ _t445 = cpu->r[21] + 0x00000000u;
/* 028CF974 */ rbrew_write32(cpu->mem, _t445, cpu->r[3]);
/* 028CF978 */ _t446 = cpu->r[3] + 0x00000008u;
/* 028CF978 */ rbrew_write32(cpu->mem, _t446, cpu->r[0]);
/* 028CF97C */ _t447 = cpu->r[27] + 0x00000010u;
/* 028CF97C */ cpu->r[12] = rbrew_read32(cpu->mem, _t447);
/* 028CF980 */ _t448 = cpu->r[29] + 0x00000054u;
/* 028CF980 */ cpu->r[0] = rbrew_read32(cpu->mem, _t448);
/* 028CF984 */ cpu->r[5] = cpu->r[28];
/* 028CF988 */ _t449 = cpu->r[27] + 0x0000022Cu;
/* 028CF988 */ cpu->r[3] = rbrew_read32(cpu->mem, _t449);
/* 028CF98C */ cpu->r[4] = 0x00000064u;
/* 028CF990 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
/* 028CF994 */ cpu->r[6] = 0x00000008u;
/* 028CF998 */ _t450 = cpu->r[27] + 0x00000010u;
/* 028CF998 */ rbrew_write32(cpu->mem, _t450, cpu->r[12]);
/* 028CF99C */ Gambit_fn_028D0678(cpu);
/* 028CF9A0 */ goto L_028CFAD0;
L_028CF9A4: ; // 0x28cf9a4
/* 028CF9A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000041u);
/* 028CF9A8 */ _t451 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CF9A8 */ _t452 = _t451 & 0x00000001u;
/* 028CF9A8 */ if (_t452) goto L_028CF9B0; else goto L_028CF9AC;
L_028CF9AC: ; // 0x28cf9ac
/* 028CF9AC */ cpu->r[30] = 0x00000040u;
L_028CF9B0: ; // 0x28cf9b0
/* 028CF9B0 */ _t453 = cpu->r[28] + 0x00000004u;
/* 028CF9B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t453);
/* 028CF9B4 */ _t454 = cpu->r[12] + 0x00000014u;
/* 028CF9B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t454);
/* 028CF9B8 */ cpu->ctr = cpu->r[4];
/* 028CF9BC */ cpu->r[3] = cpu->r[28];
/* 028CF9C0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CF9C4 */ _t455 = cpu->r[28] + 0x00000000u;
/* 028CF9C4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t455);
/* 028CF9C8 */ cpu->r[3] = cpu->r[25];
/* 028CF9CC */ cpu->r[5] = cpu->r[30];
/* 028CF9D0 */ cpu->r[6] = 0x00000000u;
/* 028CF9D4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028CF9D8 */ _t456 = cpu->r[25] + cpu->r[30];
/* 028CF9D8 */ rbrew_write8(cpu->mem, _t456, (uint8_t)cpu->r[31]);
/* 028CF9DC */ _t457 = cpu->r[26] + 0x0000000Cu;
/* 028CF9DC */ rbrew_write32(cpu->mem, _t457, cpu->r[25]);
/* 028CF9E0 */ _t458 = cpu->r[21] + 0x0000000Cu;
/* 028CF9E0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t458);
/* 028CF9E4 */ cpu->r[5] = cpu->r[26];
/* 028CF9E8 */ _t459 = cpu->r[21] + 0x00000000u;
/* 028CF9E8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t459);
/* 028CF9EC */ cpu->r[6] = cpu->r[6] + 0x00000001u;
/* 028CF9F0 */ cpu->r[3] = cpu->r[21];
/* 028CF9F4 */ _t460 = cpu->r[21] + 0x0000000Cu;
/* 028CF9F4 */ rbrew_write32(cpu->mem, _t460, cpu->r[6]);
/* 028CF9F8 */ Gambit_fn_020EFDC4(cpu);
/* 028CF9FC */ cpu->r[0] = 0x00000001u;
/* 028CFA00 */ _t461 = cpu->r[21] + 0x00000000u;
/* 028CFA00 */ rbrew_write32(cpu->mem, _t461, cpu->r[3]);
/* 028CFA04 */ _t462 = cpu->r[3] + 0x00000008u;
/* 028CFA04 */ rbrew_write32(cpu->mem, _t462, cpu->r[0]);
/* 028CFA08 */ _t463 = cpu->r[27] + 0x00000010u;
/* 028CFA08 */ cpu->r[12] = rbrew_read32(cpu->mem, _t463);
/* 028CFA0C */ _t464 = cpu->r[29] + 0x00000054u;
/* 028CFA0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t464);
/* 028CFA10 */ cpu->r[5] = cpu->r[28];
/* 028CFA14 */ _t465 = cpu->r[27] + 0x0000022Cu;
/* 028CFA14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t465);
/* 028CFA18 */ cpu->r[4] = 0x00000064u;
/* 028CFA1C */ cpu->r[12] = cpu->r[12] + cpu->r[0];
/* 028CFA20 */ cpu->r[6] = 0x00000008u;
/* 028CFA24 */ _t466 = cpu->r[27] + 0x00000010u;
/* 028CFA24 */ rbrew_write32(cpu->mem, _t466, cpu->r[12]);
/* 028CFA28 */ Gambit_fn_028D0678(cpu);
/* 028CFA2C */ goto L_028CFAD0;
L_028CFA30: ; // 0x28cfa30
/* 028CFA30 */ _t467 = cpu->r[21] + 0x0000000Cu;
/* 028CFA30 */ cpu->r[6] = rbrew_read32(cpu->mem, _t467);
/* 028CFA34 */ cpu->r[5] = 0x00000000u;
/* 028CFA38 */ _t468 = cpu->r[21] + 0x00000000u;
/* 028CFA38 */ cpu->r[4] = rbrew_read32(cpu->mem, _t468);
/* 028CFA3C */ cpu->r[6] = cpu->r[6] + 0x00000001u;
/* 028CFA40 */ cpu->r[3] = cpu->r[21];
/* 028CFA44 */ _t469 = cpu->r[21] + 0x0000000Cu;
/* 028CFA44 */ rbrew_write32(cpu->mem, _t469, cpu->r[6]);
/* 028CFA48 */ Gambit_fn_020EFDC4(cpu);
/* 028CFA4C */ cpu->r[0] = 0x00000001u;
/* 028CFA50 */ _t470 = cpu->r[21] + 0x00000000u;
/* 028CFA50 */ rbrew_write32(cpu->mem, _t470, cpu->r[3]);
/* 028CFA54 */ _t471 = cpu->r[3] + 0x00000008u;
/* 028CFA54 */ rbrew_write32(cpu->mem, _t471, cpu->r[0]);
/* 028CFA58 */ _t472 = cpu->r[27] + 0x00000010u;
/* 028CFA58 */ cpu->r[12] = rbrew_read32(cpu->mem, _t472);
/* 028CFA5C */ _t473 = cpu->r[29] + 0x00000054u;
/* 028CFA5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t473);
/* 028CFA60 */ cpu->r[5] = cpu->r[28];
/* 028CFA64 */ _t474 = cpu->r[27] + 0x0000022Cu;
/* 028CFA64 */ cpu->r[3] = rbrew_read32(cpu->mem, _t474);
/* 028CFA68 */ cpu->r[4] = 0x00000064u;
/* 028CFA6C */ cpu->r[12] = cpu->r[12] + cpu->r[0];
/* 028CFA70 */ cpu->r[6] = 0x00000008u;
/* 028CFA74 */ _t475 = cpu->r[27] + 0x00000010u;
/* 028CFA74 */ rbrew_write32(cpu->mem, _t475, cpu->r[12]);
/* 028CFA78 */ Gambit_fn_028D0678(cpu);
/* 028CFA7C */ goto L_028CFAD0;
L_028CFA80: ; // 0x28cfa80
/* 028CFA80 */ _t476 = cpu->r[21] + 0x00000000u;
/* 028CFA80 */ cpu->r[4] = rbrew_read32(cpu->mem, _t476);
/* 028CFA84 */ cpu->r[5] = cpu->r[28];
/* 028CFA88 */ cpu->r[3] = cpu->r[21];
/* 028CFA8C */ Gambit_fn_020EFCB8(cpu);
/* 028CFA90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CFA94 */ _t477 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFA94 */ _t478 = _t477 & 0x00000001u;
/* 028CFA94 */ if (_t478) goto L_028CFAAC; else goto L_028CFA98;
L_028CFA98: ; // 0x28cfa98
/* 028CFA98 */ cpu->r[12] = cpu->r[3] + 0x00000018u;
/* 028CFA98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028CFA9C */ _t479 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFA9C */ _t480 = _t479 & 0x00000001u;
/* 028CFA9C */ if (_t480) goto L_028CFAAC; else goto L_028CFAA0;
L_028CFAA0: ; // 0x28cfaa0
/* 028CFAA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028CFAA4 */ _t481 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFAA4 */ _t482 = _t481 & 0x00000001u;
/* 028CFAA4 */ if (_t482) goto L_028CFAAC; else goto L_028CFAA8;
L_028CFAA8: ; // 0x28cfaa8
/* 028CFAA8 */ _t483 = cpu->r[12] + 0x00000000u;
/* 028CFAA8 */ rbrew_write32(cpu->mem, _t483, cpu->r[29]);
L_028CFAAC: ; // 0x28cfaac
/* 028CFAAC */ _t484 = cpu->r[29] + 0x00000054u;
/* 028CFAAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t484);
/* 028CFAB0 */ cpu->r[4] = 0x00000064u;
/* 028CFAB4 */ _t485 = cpu->r[27] + 0x00000010u;
/* 028CFAB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t485);
/* 028CFAB8 */ _t486 = cpu->r[27] + 0x0000022Cu;
/* 028CFAB8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t486);
/* 028CFABC */ cpu->r[6] = 0x00000008u;
/* 028CFAC0 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
/* 028CFAC4 */ cpu->r[5] = cpu->r[28];
/* 028CFAC8 */ _t487 = cpu->r[27] + 0x00000010u;
/* 028CFAC8 */ rbrew_write32(cpu->mem, _t487, cpu->r[12]);
/* 028CFACC */ Gambit_fn_028D0678(cpu);
L_028CFAD0: ; // 0x28cfad0
/* 028CFAD0 */ cpu->r[3] = cpu->r[24];
/* 028CFAD4 */ Gambit_fn_02837030(cpu);
/* 028CFAD8 */ /* nop */
/* 028CFADC */ _t488 = cpu->r[1] + 0x000001ECu;
/* 028CFADC */ cpu->r[0] = rbrew_read32(cpu->mem, _t488);
/* 028CFAE0 */ cpu->lr = cpu->r[0];
/* 028CFAE4 */ cpu->r[1] = cpu->r[1] + 0x000001E8u;
/* 028CFAE8 */ cpu->r[3] = 0x00000001u;
/* 028CFAEC */ return;
}
// fn_028CFAF0 @ 0x28cfaf0
void Gambit_fn_028CFAF0(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_028CFAF0: ; // 0x28cfaf0
/* 028CFAF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CFAF4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFAF4 */ _t17 = _t16 & 0x00000001u;
/* 028CFAF4 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CFAF4 */ goto L_028CFAF8;
L_028CFAF8: ; // 0x28cfaf8
/* 028CFAF8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CFAF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CFAFC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFAFC */ _t19 = _t18 & 0x00000001u;
/* 028CFAFC */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CFAFC */ goto L_028CFB00;
L_028CFB00: ; // 0x28cfb00
/* 028CFB00 */ goto L_02801BB0;
}
// fn_028CFB04 @ 0x28cfb04
void Gambit_fn_028CFB04(CPUState* cpu) {
L_028CFB04: ; // 0x28cfb04
/* 028CFB04 */ return;
}
// fn_028CFB08 @ 0x28cfb08
void Gambit_fn_028CFB08(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_028CFB08: ; // 0x28cfb08
/* 028CFB08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CFB0C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFB0C */ _t17 = _t16 & 0x00000001u;
/* 028CFB0C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CFB0C */ goto L_028CFB10;
L_028CFB10: ; // 0x28cfb10
/* 028CFB10 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CFB10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CFB14 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFB14 */ _t19 = _t18 & 0x00000001u;
/* 028CFB14 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CFB14 */ goto L_028CFB18;
L_028CFB18: ; // 0x28cfb18
/* 028CFB18 */ goto L_02801BB0;
}
// fn_028CFB1C @ 0x28cfb1c
void Gambit_fn_028CFB1C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028CFB1C: ; // 0x28cfb1c
/* 028CFB1C */ _t0 = cpu->r[3] + 0x00000000u;
/* 028CFB1C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
/* 028CFB20 */ _t1 = cpu->r[3] + 0x00000008u;
/* 028CFB20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
/* 028CFB24 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
/* 028CFB28 */ cpu->r[11] = 0x10110000u;
/* 028CFB2C */ _t2 = cpu->r[11] + 0x00007399u;
/* 028CFB2C */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
/* 028CFB30 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
/* 028CFB30 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
/* 028CFB34 */ return;
}
// fn_028CFB38 @ 0x28cfb38
void Gambit_fn_028CFB38(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _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;
L_028CFB38: ; // 0x28cfb38
/* 028CFB38 */ cpu->r[0] = cpu->lr;
/* 028CFB3C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028CFB3C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CFB3C */ cpu->r[1] = _t0;
/* 028CFB40 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028CFB40 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028CFB44 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028CFB44 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028CFB48 */ cpu->r[31] = cpu->r[3];
/* 028CFB4C */ _t3 = cpu->r[1] + 0x00000014u;
/* 028CFB4C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028CFB50 */ _t4 = cpu->r[31] + 0x00000000u;
/* 028CFB50 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
/* 028CFB54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CFB58 */ cpu->r[30] = 0x00000000u;
/* 028CFB5C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFB5C */ _t6 = _t5 & 0x00000001u;
/* 028CFB5C */ if (_t6) goto L_028CFB60; else goto L_028CFB7C;
L_028CFB60: ; // 0x28cfb60
/* 028CFB60 */ _t7 = cpu->r[1] + 0x00000014u;
/* 028CFB60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028CFB64 */ _t8 = cpu->r[1] + 0x00000008u;
/* 028CFB64 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
/* 028CFB68 */ cpu->lr = cpu->r[0];
/* 028CFB6C */ _t9 = cpu->r[1] + 0x0000000Cu;
/* 028CFB6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
/* 028CFB70 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CFB74 */ cpu->r[3] = 0x00000000u;
/* 028CFB78 */ return;
L_028CFB7C: ; // 0x28cfb7c
/* 028CFB7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CFB80 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFB80 */ _t11 = _t10 & 0x00000001u;
/* 028CFB80 */ if (_t11) goto L_028CFB98; else goto L_028CFB84;
L_028CFB84: ; // 0x28cfb84
/* 028CFB84 */ _t12 = cpu->r[3] + 0x00000008u;
/* 028CFB84 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
/* 028CFB88 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CFB8C */ cpu->r[0] = cpu->r[9] ^ 0x00000001u;
/* 028CFB90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CFB94 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFB94 */ _t14 = _t13 & 0x00000001u;
/* 028CFB94 */ if (_t14) goto L_028CFB98; else goto L_028CFC74;
L_028CFB98: ; // 0x28cfb98
/* 028CFB98 */ _t15 = cpu->r[3] + 0x00000000u;
/* 028CFB98 */ cpu->r[6] = rbrew_read32(cpu->mem, _t15);
/* 028CFB9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
/* 028CFBA0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFBA0 */ _t17 = _t16 & 0x00000001u;
/* 028CFBA0 */ if (_t17) goto L_028CFBB8; else goto L_028CFBA4;
L_028CFBA4: ; // 0x28cfba4
/* 028CFBA4 */ _t18 = cpu->r[6] + 0x00000008u;
/* 028CFBA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
/* 028CFBA8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CFBAC */ cpu->r[8] = cpu->r[11] ^ 0x00000001u;
/* 028CFBB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028CFBB4 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFBB4 */ _t20 = _t19 & 0x00000001u;
/* 028CFBB4 */ if (_t20) goto L_028CFBB8; else goto L_028CFC74;
L_028CFBB8: ; // 0x28cfbb8
/* 028CFBB8 */ _t21 = cpu->r[31] + 0x00000008u;
/* 028CFBB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
/* 028CFBBC */ _t22 = cpu->r[31] + 0x00000000u;
/* 028CFBBC */ cpu->r[8] = rbrew_read32(cpu->mem, _t22);
/* 028CFBC0 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
/* 028CFBC4 */ _t23 = cpu->r[31] + 0x00000008u;
/* 028CFBC4 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
/* 028CFBC8 */ _t24 = cpu->r[8] + 0x00000008u;
/* 028CFBC8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t24);
/* 028CFBCC */ cpu->r[5] = cpu->r[5] ^ 0x00000001u;
/* 028CFBD0 */ _t25 = cpu->r[8] + 0x00000008u;
/* 028CFBD0 */ rbrew_write32(cpu->mem, _t25, cpu->r[5]);
/* 028CFBD4 */ _t26 = cpu->r[31] + 0x00000004u;
/* 028CFBD4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t26);
/* 028CFBD8 */ _t27 = cpu->r[5] + 0x00000008u;
/* 028CFBD8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t27);
/* 028CFBDC */ cpu->r[6] = cpu->r[6] ^ 0x00000001u;
/* 028CFBE0 */ _t28 = cpu->r[5] + 0x00000008u;
/* 028CFBE0 */ rbrew_write32(cpu->mem, _t28, cpu->r[6]);
/* 028CFBE4 */ _t29 = cpu->r[31] + 0x00000004u;
/* 028CFBE4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t29);
/* 028CFBE8 */ _t30 = cpu->r[5] + 0x00000000u;
/* 028CFBE8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
/* 028CFBEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028CFBF0 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFBF0 */ _t32 = _t31 & 0x00000001u;
/* 028CFBF0 */ if (_t32) goto L_028CFC70; else goto L_028CFBF4;
L_028CFBF4: ; // 0x28cfbf4
/* 028CFBF4 */ _t33 = cpu->r[11] + 0x00000008u;
/* 028CFBF4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t33);
/* 028CFBF8 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CFBFC */ cpu->r[0] = cpu->r[7] ^ 0x00000001u;
/* 028CFC00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CFC04 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFC04 */ _t35 = _t34 & 0x00000001u;
/* 028CFC04 */ if (_t35) goto L_028CFC70; else goto L_028CFC08;
L_028CFC08: ; // 0x28cfc08
/* 028CFC08 */ _t36 = cpu->r[5] + 0x00000000u;
/* 028CFC08 */ cpu->r[8] = rbrew_read32(cpu->mem, _t36);
/* 028CFC0C */ _t37 = cpu->r[8] + 0x00000004u;
/* 028CFC0C */ cpu->r[9] = rbrew_read32(cpu->mem, _t37);
/* 028CFC10 */ _t38 = cpu->r[5] + 0x00000000u;
/* 028CFC10 */ rbrew_write32(cpu->mem, _t38, cpu->r[9]);
/* 028CFC14 */ _t39 = cpu->r[8] + 0x00000004u;
/* 028CFC14 */ rbrew_write32(cpu->mem, _t39, cpu->r[5]);
/* 028CFC18 */ _t40 = cpu->r[5] + 0x00000008u;
/* 028CFC18 */ cpu->r[10] = rbrew_read32(cpu->mem, _t40);
/* 028CFC1C */ _t41 = cpu->r[8] + 0x00000008u;
/* 028CFC1C */ rbrew_write32(cpu->mem, _t41, cpu->r[10]);
/* 028CFC20 */ _t42 = cpu->r[5] + 0x00000008u;
/* 028CFC20 */ rbrew_write32(cpu->mem, _t42, cpu->r[30]);
/* 028CFC24 */ _t43 = cpu->r[31] + 0x00000004u;
/* 028CFC24 */ rbrew_write32(cpu->mem, _t43, cpu->r[8]);
/* 028CFC28 */ _t44 = cpu->r[8] + 0x00000000u;
/* 028CFC28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
/* 028CFC2C */ _t45 = cpu->r[31] + 0x00000004u;
/* 028CFC2C */ rbrew_write32(cpu->mem, _t45, cpu->r[0]);
/* 028CFC30 */ _t46 = cpu->r[8] + 0x00000000u;
/* 028CFC30 */ rbrew_write32(cpu->mem, _t46, cpu->r[31]);
/* 028CFC34 */ _t47 = cpu->r[31] + 0x00000008u;
/* 028CFC34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t47);
/* 028CFC38 */ _t48 = cpu->r[8] + 0x00000008u;
/* 028CFC38 */ rbrew_write32(cpu->mem, _t48, cpu->r[12]);
/* 028CFC3C */ _t49 = cpu->r[31] + 0x00000008u;
/* 028CFC3C */ rbrew_write32(cpu->mem, _t49, cpu->r[30]);
/* 028CFC40 */ cpu->r[31] = cpu->r[8];
/* 028CFC44 */ _t50 = cpu->r[31] + 0x00000008u;
/* 028CFC44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
/* 028CFC48 */ _t51 = cpu->r[31] + 0x00000000u;
/* 028CFC48 */ cpu->r[8] = rbrew_read32(cpu->mem, _t51);
/* 028CFC4C */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
/* 028CFC50 */ _t52 = cpu->r[31] + 0x00000008u;
/* 028CFC50 */ rbrew_write32(cpu->mem, _t52, cpu->r[0]);
/* 028CFC54 */ _t53 = cpu->r[8] + 0x00000008u;
/* 028CFC54 */ cpu->r[5] = rbrew_read32(cpu->mem, _t53);
/* 028CFC58 */ cpu->r[5] = cpu->r[5] ^ 0x00000001u;
/* 028CFC5C */ _t54 = cpu->r[8] + 0x00000008u;
/* 028CFC5C */ rbrew_write32(cpu->mem, _t54, cpu->r[5]);
/* 028CFC60 */ _t55 = cpu->r[31] + 0x00000004u;
/* 028CFC60 */ cpu->r[5] = rbrew_read32(cpu->mem, _t55);
/* 028CFC64 */ _t56 = cpu->r[5] + 0x00000008u;
/* 028CFC64 */ cpu->r[6] = rbrew_read32(cpu->mem, _t56);
/* 028CFC68 */ cpu->r[6] = cpu->r[6] ^ 0x00000001u;
/* 028CFC6C */ _t57 = cpu->r[5] + 0x00000008u;
/* 028CFC6C */ rbrew_write32(cpu->mem, _t57, cpu->r[6]);
L_028CFC70: ; // 0x28cfc70
/* 028CFC70 */ _t58 = cpu->r[31] + 0x00000000u;
/* 028CFC70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t58);
L_028CFC74: ; // 0x28cfc74
/* 028CFC74 */ Gambit_fn_028CFB38(cpu);
/* 028CFC78 */ _t59 = cpu->r[31] + 0x00000004u;
/* 028CFC78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t59);
/* 028CFC7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028CFC80 */ _t60 = cpu->r[31] + 0x00000000u;
/* 028CFC80 */ rbrew_write32(cpu->mem, _t60, cpu->r[3]);
/* 028CFC84 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFC84 */ _t62 = _t61 & 0x00000001u;
/* 028CFC84 */ if (_t62) goto L_028CFCB8; else goto L_028CFC88;
L_028CFC88: ; // 0x28cfc88
/* 028CFC88 */ _t63 = cpu->r[12] + 0x00000008u;
/* 028CFC88 */ cpu->r[8] = rbrew_read32(cpu->mem, _t63);
/* 028CFC8C */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CFC90 */ cpu->r[6] = cpu->r[7] ^ 0x00000001u;
/* 028CFC94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
/* 028CFC98 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFC98 */ _t65 = _t64 & 0x00000001u;
/* 028CFC98 */ if (_t65) goto L_028CFCB8; else goto L_028CFC9C;
L_028CFC9C: ; // 0x28cfc9c
/* 028CFC9C */ _t66 = cpu->r[12] + 0x00000000u;
/* 028CFC9C */ cpu->r[9] = rbrew_read32(cpu->mem, _t66);
/* 028CFCA0 */ _t67 = cpu->r[31] + 0x00000004u;
/* 028CFCA0 */ rbrew_write32(cpu->mem, _t67, cpu->r[9]);
/* 028CFCA4 */ _t68 = cpu->r[12] + 0x00000000u;
/* 028CFCA4 */ rbrew_write32(cpu->mem, _t68, cpu->r[31]);
/* 028CFCA8 */ _t69 = cpu->r[31] + 0x00000008u;
/* 028CFCA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t69);
/* 028CFCAC */ _t70 = cpu->r[12] + 0x00000008u;
/* 028CFCAC */ rbrew_write32(cpu->mem, _t70, cpu->r[0]);
/* 028CFCB0 */ _t71 = cpu->r[31] + 0x00000008u;
/* 028CFCB0 */ rbrew_write32(cpu->mem, _t71, cpu->r[30]);
/* 028CFCB4 */ cpu->r[31] = cpu->r[12];
L_028CFCB8: ; // 0x28cfcb8
/* 028CFCB8 */ _t72 = cpu->r[31] + 0x00000000u;
/* 028CFCB8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t72);
/* 028CFCBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028CFCC0 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFCC0 */ _t74 = _t73 & 0x00000001u;
/* 028CFCC0 */ if (_t74) goto L_028CFD18; else goto L_028CFCC4;
L_028CFCC4: ; // 0x28cfcc4
/* 028CFCC4 */ _t75 = cpu->r[11] + 0x00000008u;
/* 028CFCC4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t75);
/* 028CFCC8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CFCCC */ cpu->r[8] = cpu->r[12] ^ 0x00000001u;
/* 028CFCD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028CFCD4 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFCD4 */ _t77 = _t76 & 0x00000001u;
/* 028CFCD4 */ if (_t77) goto L_028CFD18; else goto L_028CFCD8;
L_028CFCD8: ; // 0x28cfcd8
/* 028CFCD8 */ _t78 = cpu->r[11] + 0x00000000u;
/* 028CFCD8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t78);
/* 028CFCDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028CFCE0 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFCE0 */ _t80 = _t79 & 0x00000001u;
/* 028CFCE0 */ if (_t80) goto L_028CFD18; else goto L_028CFCE4;
L_028CFCE4: ; // 0x28cfce4
/* 028CFCE4 */ _t81 = cpu->r[9] + 0x00000008u;
/* 028CFCE4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t81);
/* 028CFCE8 */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CFCEC */ cpu->r[10] = cpu->r[7] ^ 0x00000001u;
/* 028CFCF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028CFCF4 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFCF4 */ _t83 = _t82 & 0x00000001u;
/* 028CFCF4 */ if (_t83) goto L_028CFD18; else goto L_028CFCF8;
L_028CFCF8: ; // 0x28cfcf8
/* 028CFCF8 */ _t84 = cpu->r[11] + 0x00000004u;
/* 028CFCF8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t84);
/* 028CFCFC */ _t85 = cpu->r[31] + 0x00000000u;
/* 028CFCFC */ rbrew_write32(cpu->mem, _t85, cpu->r[10]);
/* 028CFD00 */ _t86 = cpu->r[11] + 0x00000004u;
/* 028CFD00 */ rbrew_write32(cpu->mem, _t86, cpu->r[31]);
/* 028CFD04 */ _t87 = cpu->r[31] + 0x00000008u;
/* 028CFD04 */ cpu->r[12] = rbrew_read32(cpu->mem, _t87);
/* 028CFD08 */ _t88 = cpu->r[11] + 0x00000008u;
/* 028CFD08 */ rbrew_write32(cpu->mem, _t88, cpu->r[12]);
/* 028CFD0C */ _t89 = cpu->r[31] + 0x00000008u;
/* 028CFD0C */ rbrew_write32(cpu->mem, _t89, cpu->r[30]);
/* 028CFD10 */ cpu->r[31] = cpu->r[11];
/* 028CFD14 */ _t90 = cpu->r[31] + 0x00000000u;
/* 028CFD14 */ cpu->r[11] = rbrew_read32(cpu->mem, _t90);
L_028CFD18: ; // 0x28cfd18
/* 028CFD18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028CFD1C */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFD1C */ _t92 = _t91 & 0x00000001u;
/* 028CFD1C */ if (_t92) goto L_028CFD80; else goto L_028CFD20;
L_028CFD20: ; // 0x28cfd20
/* 028CFD20 */ _t93 = cpu->r[11] + 0x00000008u;
/* 028CFD20 */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
/* 028CFD24 */ cpu->r[6] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CFD28 */ cpu->r[11] = cpu->r[6] ^ 0x00000001u;
/* 028CFD2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028CFD30 */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFD30 */ _t95 = _t94 & 0x00000001u;
/* 028CFD30 */ if (_t95) goto L_028CFD80; else goto L_028CFD34;
L_028CFD34: ; // 0x28cfd34
/* 028CFD34 */ _t96 = cpu->r[31] + 0x00000004u;
/* 028CFD34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t96);
/* 028CFD38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028CFD3C */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFD3C */ _t98 = _t97 & 0x00000001u;
/* 028CFD3C */ if (_t98) goto L_028CFD80; else goto L_028CFD40;
L_028CFD40: ; // 0x28cfd40
/* 028CFD40 */ _t99 = cpu->r[12] + 0x00000008u;
/* 028CFD40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t99);
/* 028CFD44 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CFD48 */ cpu->r[0] = cpu->r[11] ^ 0x00000001u;
/* 028CFD4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CFD50 */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFD50 */ _t101 = _t100 & 0x00000001u;
/* 028CFD50 */ if (_t101) goto L_028CFD80; else goto L_028CFD54;
L_028CFD54: ; // 0x28cfd54
/* 028CFD54 */ _t102 = cpu->r[31] + 0x00000008u;
/* 028CFD54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t102);
/* 028CFD58 */ _t103 = cpu->r[31] + 0x00000000u;
/* 028CFD58 */ cpu->r[11] = rbrew_read32(cpu->mem, _t103);
/* 028CFD5C */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
/* 028CFD60 */ _t104 = cpu->r[31] + 0x00000008u;
/* 028CFD60 */ rbrew_write32(cpu->mem, _t104, cpu->r[0]);
/* 028CFD64 */ _t105 = cpu->r[11] + 0x00000008u;
/* 028CFD64 */ cpu->r[5] = rbrew_read32(cpu->mem, _t105);
/* 028CFD68 */ cpu->r[5] = cpu->r[5] ^ 0x00000001u;
/* 028CFD6C */ _t106 = cpu->r[11] + 0x00000008u;
/* 028CFD6C */ rbrew_write32(cpu->mem, _t106, cpu->r[5]);
/* 028CFD70 */ _t107 = cpu->r[31] + 0x00000004u;
/* 028CFD70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t107);
/* 028CFD74 */ _t108 = cpu->r[12] + 0x00000008u;
/* 028CFD74 */ cpu->r[7] = rbrew_read32(cpu->mem, _t108);
/* 028CFD78 */ cpu->r[7] = cpu->r[7] ^ 0x00000001u;
/* 028CFD7C */ _t109 = cpu->r[12] + 0x00000008u;
/* 028CFD7C */ rbrew_write32(cpu->mem, _t109, cpu->r[7]);
L_028CFD80: ; // 0x28cfd80
/* 028CFD80 */ _t110 = cpu->r[1] + 0x00000014u;
/* 028CFD80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t110);
/* 028CFD84 */ cpu->r[3] = cpu->r[31];
/* 028CFD88 */ _t111 = cpu->r[1] + 0x0000000Cu;
/* 028CFD88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t111);
/* 028CFD8C */ cpu->lr = cpu->r[0];
/* 028CFD90 */ _t112 = cpu->r[1] + 0x00000008u;
/* 028CFD90 */ cpu->r[30] = rbrew_read32(cpu->mem, _t112);
/* 028CFD94 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CFD98 */ return;
}
// fn_028CFB3C @ 0x28cfb3c
void Gambit_fn_028CFB3C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _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;
L_028CFB3C: ; // 0x28cfb3c
/* 028CFB3C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028CFB3C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CFB3C */ cpu->r[1] = _t0;
/* 028CFB40 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028CFB40 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028CFB44 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028CFB44 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028CFB48 */ cpu->r[31] = cpu->r[3];
/* 028CFB4C */ _t3 = cpu->r[1] + 0x00000014u;
/* 028CFB4C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028CFB50 */ _t4 = cpu->r[31] + 0x00000000u;
/* 028CFB50 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
/* 028CFB54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CFB58 */ cpu->r[30] = 0x00000000u;
/* 028CFB5C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFB5C */ _t6 = _t5 & 0x00000001u;
/* 028CFB5C */ if (_t6) goto L_028CFB60; else goto L_028CFB7C;
L_028CFB60: ; // 0x28cfb60
/* 028CFB60 */ _t7 = cpu->r[1] + 0x00000014u;
/* 028CFB60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028CFB64 */ _t8 = cpu->r[1] + 0x00000008u;
/* 028CFB64 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
/* 028CFB68 */ cpu->lr = cpu->r[0];
/* 028CFB6C */ _t9 = cpu->r[1] + 0x0000000Cu;
/* 028CFB6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
/* 028CFB70 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CFB74 */ cpu->r[3] = 0x00000000u;
/* 028CFB78 */ return;
L_028CFB7C: ; // 0x28cfb7c
/* 028CFB7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CFB80 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFB80 */ _t11 = _t10 & 0x00000001u;
/* 028CFB80 */ if (_t11) goto L_028CFB98; else goto L_028CFB84;
L_028CFB84: ; // 0x28cfb84
/* 028CFB84 */ _t12 = cpu->r[3] + 0x00000008u;
/* 028CFB84 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
/* 028CFB88 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CFB8C */ cpu->r[0] = cpu->r[9] ^ 0x00000001u;
/* 028CFB90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CFB94 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFB94 */ _t14 = _t13 & 0x00000001u;
/* 028CFB94 */ if (_t14) goto L_028CFB98; else goto L_028CFC74;
L_028CFB98: ; // 0x28cfb98
/* 028CFB98 */ _t15 = cpu->r[3] + 0x00000000u;
/* 028CFB98 */ cpu->r[6] = rbrew_read32(cpu->mem, _t15);
/* 028CFB9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
/* 028CFBA0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFBA0 */ _t17 = _t16 & 0x00000001u;
/* 028CFBA0 */ if (_t17) goto L_028CFBB8; else goto L_028CFBA4;
L_028CFBA4: ; // 0x28cfba4
/* 028CFBA4 */ _t18 = cpu->r[6] + 0x00000008u;
/* 028CFBA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
/* 028CFBA8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CFBAC */ cpu->r[8] = cpu->r[11] ^ 0x00000001u;
/* 028CFBB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028CFBB4 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFBB4 */ _t20 = _t19 & 0x00000001u;
/* 028CFBB4 */ if (_t20) goto L_028CFBB8; else goto L_028CFC74;
L_028CFBB8: ; // 0x28cfbb8
/* 028CFBB8 */ _t21 = cpu->r[31] + 0x00000008u;
/* 028CFBB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
/* 028CFBBC */ _t22 = cpu->r[31] + 0x00000000u;
/* 028CFBBC */ cpu->r[8] = rbrew_read32(cpu->mem, _t22);
/* 028CFBC0 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
/* 028CFBC4 */ _t23 = cpu->r[31] + 0x00000008u;
/* 028CFBC4 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
/* 028CFBC8 */ _t24 = cpu->r[8] + 0x00000008u;
/* 028CFBC8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t24);
/* 028CFBCC */ cpu->r[5] = cpu->r[5] ^ 0x00000001u;
/* 028CFBD0 */ _t25 = cpu->r[8] + 0x00000008u;
/* 028CFBD0 */ rbrew_write32(cpu->mem, _t25, cpu->r[5]);
/* 028CFBD4 */ _t26 = cpu->r[31] + 0x00000004u;
/* 028CFBD4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t26);
/* 028CFBD8 */ _t27 = cpu->r[5] + 0x00000008u;
/* 028CFBD8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t27);
/* 028CFBDC */ cpu->r[6] = cpu->r[6] ^ 0x00000001u;
/* 028CFBE0 */ _t28 = cpu->r[5] + 0x00000008u;
/* 028CFBE0 */ rbrew_write32(cpu->mem, _t28, cpu->r[6]);
/* 028CFBE4 */ _t29 = cpu->r[31] + 0x00000004u;
/* 028CFBE4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t29);
/* 028CFBE8 */ _t30 = cpu->r[5] + 0x00000000u;
/* 028CFBE8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
/* 028CFBEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028CFBF0 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFBF0 */ _t32 = _t31 & 0x00000001u;
/* 028CFBF0 */ if (_t32) goto L_028CFC70; else goto L_028CFBF4;
L_028CFBF4: ; // 0x28cfbf4
/* 028CFBF4 */ _t33 = cpu->r[11] + 0x00000008u;
/* 028CFBF4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t33);
/* 028CFBF8 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CFBFC */ cpu->r[0] = cpu->r[7] ^ 0x00000001u;
/* 028CFC00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CFC04 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFC04 */ _t35 = _t34 & 0x00000001u;
/* 028CFC04 */ if (_t35) goto L_028CFC70; else goto L_028CFC08;
L_028CFC08: ; // 0x28cfc08
/* 028CFC08 */ _t36 = cpu->r[5] + 0x00000000u;
/* 028CFC08 */ cpu->r[8] = rbrew_read32(cpu->mem, _t36);
/* 028CFC0C */ _t37 = cpu->r[8] + 0x00000004u;
/* 028CFC0C */ cpu->r[9] = rbrew_read32(cpu->mem, _t37);
/* 028CFC10 */ _t38 = cpu->r[5] + 0x00000000u;
/* 028CFC10 */ rbrew_write32(cpu->mem, _t38, cpu->r[9]);
/* 028CFC14 */ _t39 = cpu->r[8] + 0x00000004u;
/* 028CFC14 */ rbrew_write32(cpu->mem, _t39, cpu->r[5]);
/* 028CFC18 */ _t40 = cpu->r[5] + 0x00000008u;
/* 028CFC18 */ cpu->r[10] = rbrew_read32(cpu->mem, _t40);
/* 028CFC1C */ _t41 = cpu->r[8] + 0x00000008u;
/* 028CFC1C */ rbrew_write32(cpu->mem, _t41, cpu->r[10]);
/* 028CFC20 */ _t42 = cpu->r[5] + 0x00000008u;
/* 028CFC20 */ rbrew_write32(cpu->mem, _t42, cpu->r[30]);
/* 028CFC24 */ _t43 = cpu->r[31] + 0x00000004u;
/* 028CFC24 */ rbrew_write32(cpu->mem, _t43, cpu->r[8]);
/* 028CFC28 */ _t44 = cpu->r[8] + 0x00000000u;
/* 028CFC28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
/* 028CFC2C */ _t45 = cpu->r[31] + 0x00000004u;
/* 028CFC2C */ rbrew_write32(cpu->mem, _t45, cpu->r[0]);
/* 028CFC30 */ _t46 = cpu->r[8] + 0x00000000u;
/* 028CFC30 */ rbrew_write32(cpu->mem, _t46, cpu->r[31]);
/* 028CFC34 */ _t47 = cpu->r[31] + 0x00000008u;
/* 028CFC34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t47);
/* 028CFC38 */ _t48 = cpu->r[8] + 0x00000008u;
/* 028CFC38 */ rbrew_write32(cpu->mem, _t48, cpu->r[12]);
/* 028CFC3C */ _t49 = cpu->r[31] + 0x00000008u;
/* 028CFC3C */ rbrew_write32(cpu->mem, _t49, cpu->r[30]);
/* 028CFC40 */ cpu->r[31] = cpu->r[8];
/* 028CFC44 */ _t50 = cpu->r[31] + 0x00000008u;
/* 028CFC44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
/* 028CFC48 */ _t51 = cpu->r[31] + 0x00000000u;
/* 028CFC48 */ cpu->r[8] = rbrew_read32(cpu->mem, _t51);
/* 028CFC4C */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
/* 028CFC50 */ _t52 = cpu->r[31] + 0x00000008u;
/* 028CFC50 */ rbrew_write32(cpu->mem, _t52, cpu->r[0]);
/* 028CFC54 */ _t53 = cpu->r[8] + 0x00000008u;
/* 028CFC54 */ cpu->r[5] = rbrew_read32(cpu->mem, _t53);
/* 028CFC58 */ cpu->r[5] = cpu->r[5] ^ 0x00000001u;
/* 028CFC5C */ _t54 = cpu->r[8] + 0x00000008u;
/* 028CFC5C */ rbrew_write32(cpu->mem, _t54, cpu->r[5]);
/* 028CFC60 */ _t55 = cpu->r[31] + 0x00000004u;
/* 028CFC60 */ cpu->r[5] = rbrew_read32(cpu->mem, _t55);
/* 028CFC64 */ _t56 = cpu->r[5] + 0x00000008u;
/* 028CFC64 */ cpu->r[6] = rbrew_read32(cpu->mem, _t56);
/* 028CFC68 */ cpu->r[6] = cpu->r[6] ^ 0x00000001u;
/* 028CFC6C */ _t57 = cpu->r[5] + 0x00000008u;
/* 028CFC6C */ rbrew_write32(cpu->mem, _t57, cpu->r[6]);
L_028CFC70: ; // 0x28cfc70
/* 028CFC70 */ _t58 = cpu->r[31] + 0x00000000u;
/* 028CFC70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t58);
L_028CFC74: ; // 0x28cfc74
/* 028CFC74 */ Gambit_fn_028CFB38(cpu);
/* 028CFC78 */ _t59 = cpu->r[31] + 0x00000004u;
/* 028CFC78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t59);
/* 028CFC7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028CFC80 */ _t60 = cpu->r[31] + 0x00000000u;
/* 028CFC80 */ rbrew_write32(cpu->mem, _t60, cpu->r[3]);
/* 028CFC84 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFC84 */ _t62 = _t61 & 0x00000001u;
/* 028CFC84 */ if (_t62) goto L_028CFCB8; else goto L_028CFC88;
L_028CFC88: ; // 0x28cfc88
/* 028CFC88 */ _t63 = cpu->r[12] + 0x00000008u;
/* 028CFC88 */ cpu->r[8] = rbrew_read32(cpu->mem, _t63);
/* 028CFC8C */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CFC90 */ cpu->r[6] = cpu->r[7] ^ 0x00000001u;
/* 028CFC94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
/* 028CFC98 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFC98 */ _t65 = _t64 & 0x00000001u;
/* 028CFC98 */ if (_t65) goto L_028CFCB8; else goto L_028CFC9C;
L_028CFC9C: ; // 0x28cfc9c
/* 028CFC9C */ _t66 = cpu->r[12] + 0x00000000u;
/* 028CFC9C */ cpu->r[9] = rbrew_read32(cpu->mem, _t66);
/* 028CFCA0 */ _t67 = cpu->r[31] + 0x00000004u;
/* 028CFCA0 */ rbrew_write32(cpu->mem, _t67, cpu->r[9]);
/* 028CFCA4 */ _t68 = cpu->r[12] + 0x00000000u;
/* 028CFCA4 */ rbrew_write32(cpu->mem, _t68, cpu->r[31]);
/* 028CFCA8 */ _t69 = cpu->r[31] + 0x00000008u;
/* 028CFCA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t69);
/* 028CFCAC */ _t70 = cpu->r[12] + 0x00000008u;
/* 028CFCAC */ rbrew_write32(cpu->mem, _t70, cpu->r[0]);
/* 028CFCB0 */ _t71 = cpu->r[31] + 0x00000008u;
/* 028CFCB0 */ rbrew_write32(cpu->mem, _t71, cpu->r[30]);
/* 028CFCB4 */ cpu->r[31] = cpu->r[12];
L_028CFCB8: ; // 0x28cfcb8
/* 028CFCB8 */ _t72 = cpu->r[31] + 0x00000000u;
/* 028CFCB8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t72);
/* 028CFCBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028CFCC0 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFCC0 */ _t74 = _t73 & 0x00000001u;
/* 028CFCC0 */ if (_t74) goto L_028CFD18; else goto L_028CFCC4;
L_028CFCC4: ; // 0x28cfcc4
/* 028CFCC4 */ _t75 = cpu->r[11] + 0x00000008u;
/* 028CFCC4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t75);
/* 028CFCC8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CFCCC */ cpu->r[8] = cpu->r[12] ^ 0x00000001u;
/* 028CFCD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028CFCD4 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFCD4 */ _t77 = _t76 & 0x00000001u;
/* 028CFCD4 */ if (_t77) goto L_028CFD18; else goto L_028CFCD8;
L_028CFCD8: ; // 0x28cfcd8
/* 028CFCD8 */ _t78 = cpu->r[11] + 0x00000000u;
/* 028CFCD8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t78);
/* 028CFCDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028CFCE0 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFCE0 */ _t80 = _t79 & 0x00000001u;
/* 028CFCE0 */ if (_t80) goto L_028CFD18; else goto L_028CFCE4;
L_028CFCE4: ; // 0x28cfce4
/* 028CFCE4 */ _t81 = cpu->r[9] + 0x00000008u;
/* 028CFCE4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t81);
/* 028CFCE8 */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CFCEC */ cpu->r[10] = cpu->r[7] ^ 0x00000001u;
/* 028CFCF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028CFCF4 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFCF4 */ _t83 = _t82 & 0x00000001u;
/* 028CFCF4 */ if (_t83) goto L_028CFD18; else goto L_028CFCF8;
L_028CFCF8: ; // 0x28cfcf8
/* 028CFCF8 */ _t84 = cpu->r[11] + 0x00000004u;
/* 028CFCF8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t84);
/* 028CFCFC */ _t85 = cpu->r[31] + 0x00000000u;
/* 028CFCFC */ rbrew_write32(cpu->mem, _t85, cpu->r[10]);
/* 028CFD00 */ _t86 = cpu->r[11] + 0x00000004u;
/* 028CFD00 */ rbrew_write32(cpu->mem, _t86, cpu->r[31]);
/* 028CFD04 */ _t87 = cpu->r[31] + 0x00000008u;
/* 028CFD04 */ cpu->r[12] = rbrew_read32(cpu->mem, _t87);
/* 028CFD08 */ _t88 = cpu->r[11] + 0x00000008u;
/* 028CFD08 */ rbrew_write32(cpu->mem, _t88, cpu->r[12]);
/* 028CFD0C */ _t89 = cpu->r[31] + 0x00000008u;
/* 028CFD0C */ rbrew_write32(cpu->mem, _t89, cpu->r[30]);
/* 028CFD10 */ cpu->r[31] = cpu->r[11];
/* 028CFD14 */ _t90 = cpu->r[31] + 0x00000000u;
/* 028CFD14 */ cpu->r[11] = rbrew_read32(cpu->mem, _t90);
L_028CFD18: ; // 0x28cfd18
/* 028CFD18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028CFD1C */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFD1C */ _t92 = _t91 & 0x00000001u;
/* 028CFD1C */ if (_t92) goto L_028CFD80; else goto L_028CFD20;
L_028CFD20: ; // 0x28cfd20
/* 028CFD20 */ _t93 = cpu->r[11] + 0x00000008u;
/* 028CFD20 */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
/* 028CFD24 */ cpu->r[6] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CFD28 */ cpu->r[11] = cpu->r[6] ^ 0x00000001u;
/* 028CFD2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028CFD30 */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFD30 */ _t95 = _t94 & 0x00000001u;
/* 028CFD30 */ if (_t95) goto L_028CFD80; else goto L_028CFD34;
L_028CFD34: ; // 0x28cfd34
/* 028CFD34 */ _t96 = cpu->r[31] + 0x00000004u;
/* 028CFD34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t96);
/* 028CFD38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028CFD3C */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFD3C */ _t98 = _t97 & 0x00000001u;
/* 028CFD3C */ if (_t98) goto L_028CFD80; else goto L_028CFD40;
L_028CFD40: ; // 0x28cfd40
/* 028CFD40 */ _t99 = cpu->r[12] + 0x00000008u;
/* 028CFD40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t99);
/* 028CFD44 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CFD48 */ cpu->r[0] = cpu->r[11] ^ 0x00000001u;
/* 028CFD4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CFD50 */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFD50 */ _t101 = _t100 & 0x00000001u;
/* 028CFD50 */ if (_t101) goto L_028CFD80; else goto L_028CFD54;
L_028CFD54: ; // 0x28cfd54
/* 028CFD54 */ _t102 = cpu->r[31] + 0x00000008u;
/* 028CFD54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t102);
/* 028CFD58 */ _t103 = cpu->r[31] + 0x00000000u;
/* 028CFD58 */ cpu->r[11] = rbrew_read32(cpu->mem, _t103);
/* 028CFD5C */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
/* 028CFD60 */ _t104 = cpu->r[31] + 0x00000008u;
/* 028CFD60 */ rbrew_write32(cpu->mem, _t104, cpu->r[0]);
/* 028CFD64 */ _t105 = cpu->r[11] + 0x00000008u;
/* 028CFD64 */ cpu->r[5] = rbrew_read32(cpu->mem, _t105);
/* 028CFD68 */ cpu->r[5] = cpu->r[5] ^ 0x00000001u;
/* 028CFD6C */ _t106 = cpu->r[11] + 0x00000008u;
/* 028CFD6C */ rbrew_write32(cpu->mem, _t106, cpu->r[5]);
/* 028CFD70 */ _t107 = cpu->r[31] + 0x00000004u;
/* 028CFD70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t107);
/* 028CFD74 */ _t108 = cpu->r[12] + 0x00000008u;
/* 028CFD74 */ cpu->r[7] = rbrew_read32(cpu->mem, _t108);
/* 028CFD78 */ cpu->r[7] = cpu->r[7] ^ 0x00000001u;
/* 028CFD7C */ _t109 = cpu->r[12] + 0x00000008u;
/* 028CFD7C */ rbrew_write32(cpu->mem, _t109, cpu->r[7]);
L_028CFD80: ; // 0x28cfd80
/* 028CFD80 */ _t110 = cpu->r[1] + 0x00000014u;
/* 028CFD80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t110);
/* 028CFD84 */ cpu->r[3] = cpu->r[31];
/* 028CFD88 */ _t111 = cpu->r[1] + 0x0000000Cu;
/* 028CFD88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t111);
/* 028CFD8C */ cpu->lr = cpu->r[0];
/* 028CFD90 */ _t112 = cpu->r[1] + 0x00000008u;
/* 028CFD90 */ cpu->r[30] = rbrew_read32(cpu->mem, _t112);
/* 028CFD94 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028CFD98 */ return;
}
// fn_028CFD9C @ 0x28cfd9c
void Gambit_fn_028CFD9C(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_028CFD9C: ; // 0x28cfd9c
/* 028CFD9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CFDA0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFDA0 */ _t17 = _t16 & 0x00000001u;
/* 028CFDA0 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CFDA0 */ goto L_028CFDA4;
L_028CFDA4: ; // 0x28cfda4
/* 028CFDA4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CFDA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CFDA8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFDA8 */ _t19 = _t18 & 0x00000001u;
/* 028CFDA8 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CFDA8 */ goto L_028CFDAC;
L_028CFDAC: ; // 0x28cfdac
/* 028CFDAC */ goto L_02801BB0;
}
// fn_028CFDB0 @ 0x28cfdb0
void Gambit_fn_028CFDB0(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_028CFDB0: ; // 0x28cfdb0
/* 028CFDB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CFDB4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFDB4 */ _t17 = _t16 & 0x00000001u;
/* 028CFDB4 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CFDB4 */ goto L_028CFDB8;
L_028CFDB8: ; // 0x28cfdb8
/* 028CFDB8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CFDB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CFDBC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFDBC */ _t19 = _t18 & 0x00000001u;
/* 028CFDBC */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CFDBC */ goto L_028CFDC0;
L_028CFDC0: ; // 0x28cfdc0
/* 028CFDC0 */ goto L_02801BB0;
}
// fn_028CFDC4 @ 0x28cfdc4
void Gambit_fn_028CFDC4(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_028CFDC4: ; // 0x28cfdc4
/* 028CFDC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CFDC8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFDC8 */ _t17 = _t16 & 0x00000001u;
/* 028CFDC8 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CFDC8 */ goto L_028CFDCC;
L_028CFDCC: ; // 0x28cfdcc
/* 028CFDCC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CFDCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CFDD0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFDD0 */ _t19 = _t18 & 0x00000001u;
/* 028CFDD0 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CFDD0 */ goto L_028CFDD4;
L_028CFDD4: ; // 0x28cfdd4
/* 028CFDD4 */ goto L_02801BB0;
}
// fn_028CFDD8 @ 0x28cfdd8
void Gambit_fn_028CFDD8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
L_028CFDD8: ; // 0x28cfdd8
/* 028CFDD8 */ _t0 = cpu->r[3] + 0x0000001Cu;
/* 028CFDD8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
/* 028CFDDC */ _t1 = cpu->r[11] + 0x00000004u;
/* 028CFDDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
/* 028CFDE0 */ _t2 = cpu->r[3] + 0x00000000u;
/* 028CFDE0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028CFDE4 */ _t3 = cpu->r[11] + 0x0000000Cu;
/* 028CFDE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
/* 028CFDE8 */ _t4 = cpu->r[11] + 0x00000004u;
/* 028CFDE8 */ rbrew_write32(cpu->mem, _t4, cpu->r[3]);
/* 028CFDEC */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
/* 028CFDF0 */ _t5 = cpu->r[11] + 0x0000000Cu;
/* 028CFDF0 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
/* 028CFDF4 */ return;
}
// fn_028CFDF8 @ 0x28cfdf8
void Gambit_fn_028CFDF8(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_028CFDF8: ; // 0x28cfdf8
/* 028CFDF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028CFDFC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFDFC */ _t17 = _t16 & 0x00000001u;
/* 028CFDFC */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CFDFC */ goto L_028CFE00;
L_028CFE00: ; // 0x28cfe00
/* 028CFE00 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CFE00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028CFE04 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFE04 */ _t19 = _t18 & 0x00000001u;
/* 028CFE04 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028CFE04 */ goto L_028CFE08;
L_028CFE08: ; // 0x28cfe08
/* 028CFE08 */ goto L_02801BB0;
}
// fn_028CFE0C @ 0x28cfe0c
void Gambit_fn_028CFE0C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t305, _t306, _t307, _t308, _t309, _t310, _t311, _t312, _t313, _t314, _t315, _t316, _t317, _t318, _t319, _t320, _t321, _t322, _t323, _t324, _t325, _t326, _t327, _t328, _t329, _t330, _t331, _t332, _t333, _t334, _t335, _t336, _t337, _t338, _t339, _t340, _t341, _t342, _t343, _t344, _t345, _t346, _t347, _t348, _t349, _t350, _t351, _t352, _t353, _t354, _t355, _t356, _t357, _t358, _t359, _t360, _t361, _t362, _t363, _t364, _t365, _t366, _t367, _t368, _t369, _t370, _t371, _t372, _t373, _t374, _t375, _t376, _t377, _t378, _t379;
L_028CFE0C: ; // 0x28cfe0c
/* 028CFE0C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028CFE0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028CFE0C */ cpu->r[1] = _t0;
/* 028CFE10 */ /* nop */
/* 028CFE14 */ cpu->r[0] = cpu->lr;
/* 028CFE18 */ _t1 = cpu->r[1] + 0x00000024u;
/* 028CFE18 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028CFE1C */ cpu->r[31] = cpu->r[5];
/* 028CFE20 */ cpu->r[30] = cpu->r[4];
/* 028CFE24 */ _t2 = cpu->r[31] + 0x00000004u;
/* 028CFE24 */ cpu->r[4] = rbrew_read32(cpu->mem, _t2);
/* 028CFE28 */ _t3 = cpu->r[4] + 0x00000014u;
/* 028CFE28 */ cpu->r[5] = rbrew_read32(cpu->mem, _t3);
/* 028CFE2C */ cpu->r[28] = cpu->r[3];
/* 028CFE30 */ cpu->ctr = cpu->r[5];
/* 028CFE34 */ cpu->r[3] = cpu->r[31];
/* 028CFE38 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CFE3C */ _t4 = cpu->r[31] + 0x00000004u;
/* 028CFE3C */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
/* 028CFE40 */ _t5 = cpu->r[6] + 0x00000014u;
/* 028CFE40 */ cpu->r[7] = rbrew_read32(cpu->mem, _t5);
/* 028CFE44 */ cpu->ctr = cpu->r[7];
/* 028CFE48 */ cpu->r[3] = cpu->r[31];
/* 028CFE4C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CFE50 */ _t6 = cpu->r[30] + 0x00000010u;
/* 028CFE50 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
/* 028CFE54 */ _t7 = cpu->r[8] + 0x00000014u;
/* 028CFE54 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
/* 028CFE58 */ cpu->ctr = cpu->r[9];
/* 028CFE5C */ _t8 = cpu->r[31] + 0x00000000u;
/* 028CFE5C */ cpu->r[27] = rbrew_read32(cpu->mem, _t8);
/* 028CFE60 */ cpu->r[3] = cpu->r[30] + 0x0000000Cu;
/* 028CFE64 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028CFE68 */ _t9 = cpu->r[30] + 0x0000000Cu;
/* 028CFE68 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
/* 028CFE6C */ cpu->r[29] = 0x00000000u;
/* 028CFE70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[10]);
/* 028CFE74 */ cpu->r[27] = 0x10110000u;
/* 028CFE78 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFE78 */ _t11 = _t10 & 0x00000001u;
/* 028CFE78 */ if (_t11) goto L_028CFFEC; else goto L_028CFE7C;
L_028CFE7C: ; // 0x28cfe7c
/* 028CFE7C */ cpu->r[9] = 0x00080000u;
/* 028CFE80 */ _t12 = cpu->r[27] + 0x00007399u;
/* 028CFE80 */ cpu->r[7] = rbrew_read8(cpu->mem, _t12);
/* 028CFE84 */ cpu->r[8] = cpu->r[10] + 0xFFFFFFFFu;
/* 028CFE88 */ cpu->ctr = cpu->r[9];
/* 028CFE8C */ cpu->r[5] = 0x00000000u;
L_028CFE90: ; // 0x28cfe90
/* 028CFE90 */ _t13 = cpu->r[8] + 0x00000001u;
/* 028CFE90 */ cpu->r[9] = rbrew_read8(cpu->mem, _t13);
/* 028CFE90 */ cpu->r[8] = _t13;
/* 028CFE94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[7]);
/* 028CFE98 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFE98 */ _t15 = _t14 & 0x00000001u;
/* 028CFE98 */ if (_t15) goto L_028CFFEC; else goto L_028CFE9C;
L_028CFE9C: ; // 0x28cfe9c
/* 028CFE9C */ _t16 = cpu->r[31] + 0x00000000u;
/* 028CFE9C */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
/* 028CFEA0 */ _t17 = cpu->r[10] + cpu->r[5];
/* 028CFEA0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t17);
/* 028CFEA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[7]);
/* 028CFEA8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFEA8 */ _t19 = _t18 & 0x00000001u;
/* 028CFEA8 */ if (_t19) goto L_028CFED0; else goto L_028CFEAC;
L_028CFEAC: ; // 0x28cfeac
/* 028CFEAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
/* 028CFEB0 */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028CFEB0 */ _t21 = _t20 & 0x00000001u;
/* 028CFEB0 */ if (_t21) goto L_028CFED0; else goto L_028CFEB4;
L_028CFEB4: ; // 0x28cfeb4
/* 028CFEB4 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028CFEB4 */ _t23 = _t22 & 0x00000001u;
/* 028CFEB4 */ if (_t23) goto L_028CFFEC; else goto L_028CFEB8;
L_028CFEB8: ; // 0x28cfeb8
/* 028CFEB8 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
/* 028CFEBC */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028CFEBC */ _t24 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028CFEBC */ _t25 = _t24 >> (0x00000002u & 31u);
/* 028CFEBC */ _t26 = _t25 & 0x00000001u;
/* 028CFEBC */ if (_t26) goto L_028CFE90; else goto L_028CFEC0;
L_028CFEC0: ; // 0x28cfec0
/* 028CFEC0 */ _t27 = cpu->r[30] + 0x00000000u;
/* 028CFEC0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t27);
/* 028CFEC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028CFEC8 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFEC8 */ _t29 = _t28 & 0x00000001u;
/* 028CFEC8 */ if (_t29) goto L_028CFECC; else goto L_028CFFF8;
L_028CFECC: ; // 0x28cfecc
/* 028CFECC */ goto L_028D0028;
L_028CFED0: ; // 0x28cfed0
/* 028CFED0 */ _t30 = cpu->r[30] + 0x00000000u;
/* 028CFED0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t30);
/* 028CFED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028CFED8 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFED8 */ _t32 = _t31 & 0x00000001u;
/* 028CFED8 */ if (_t32) goto L_028CFEF0; else goto L_028CFEDC;
L_028CFEDC: ; // 0x28cfedc
/* 028CFEDC */ _t33 = cpu->r[4] + 0x00000008u;
/* 028CFEDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
/* 028CFEE0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CFEE4 */ cpu->r[8] = cpu->r[11] ^ 0x00000001u;
/* 028CFEE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028CFEEC */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFEEC */ _t35 = _t34 & 0x00000001u;
/* 028CFEEC */ if (_t35) goto L_028CFEF0; else goto L_028CFFCC;
L_028CFEF0: ; // 0x28cfef0
/* 028CFEF0 */ _t36 = cpu->r[4] + 0x00000000u;
/* 028CFEF0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t36);
/* 028CFEF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028CFEF8 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFEF8 */ _t38 = _t37 & 0x00000001u;
/* 028CFEF8 */ if (_t38) goto L_028CFF10; else goto L_028CFEFC;
L_028CFEFC: ; // 0x28cfefc
/* 028CFEFC */ _t39 = cpu->r[10] + 0x00000008u;
/* 028CFEFC */ cpu->r[5] = rbrew_read32(cpu->mem, _t39);
/* 028CFF00 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CFF04 */ cpu->r[12] = cpu->r[0] ^ 0x00000001u;
/* 028CFF08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028CFF0C */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFF0C */ _t41 = _t40 & 0x00000001u;
/* 028CFF0C */ if (_t41) goto L_028CFF10; else goto L_028CFFCC;
L_028CFF10: ; // 0x28cff10
/* 028CFF10 */ _t42 = cpu->r[30] + 0x00000008u;
/* 028CFF10 */ cpu->r[6] = rbrew_read32(cpu->mem, _t42);
/* 028CFF14 */ _t43 = cpu->r[30] + 0x00000000u;
/* 028CFF14 */ cpu->r[7] = rbrew_read32(cpu->mem, _t43);
/* 028CFF18 */ cpu->r[6] = cpu->r[6] ^ 0x00000001u;
/* 028CFF1C */ _t44 = cpu->r[30] + 0x00000008u;
/* 028CFF1C */ rbrew_write32(cpu->mem, _t44, cpu->r[6]);
/* 028CFF20 */ _t45 = cpu->r[7] + 0x00000008u;
/* 028CFF20 */ cpu->r[8] = rbrew_read32(cpu->mem, _t45);
/* 028CFF24 */ cpu->r[8] = cpu->r[8] ^ 0x00000001u;
/* 028CFF28 */ _t46 = cpu->r[7] + 0x00000008u;
/* 028CFF28 */ rbrew_write32(cpu->mem, _t46, cpu->r[8]);
/* 028CFF2C */ _t47 = cpu->r[30] + 0x00000004u;
/* 028CFF2C */ cpu->r[6] = rbrew_read32(cpu->mem, _t47);
/* 028CFF30 */ _t48 = cpu->r[6] + 0x00000008u;
/* 028CFF30 */ cpu->r[9] = rbrew_read32(cpu->mem, _t48);
/* 028CFF34 */ cpu->r[9] = cpu->r[9] ^ 0x00000001u;
/* 028CFF38 */ _t49 = cpu->r[6] + 0x00000008u;
/* 028CFF38 */ rbrew_write32(cpu->mem, _t49, cpu->r[9]);
/* 028CFF3C */ _t50 = cpu->r[30] + 0x00000004u;
/* 028CFF3C */ cpu->r[6] = rbrew_read32(cpu->mem, _t50);
/* 028CFF40 */ _t51 = cpu->r[6] + 0x00000000u;
/* 028CFF40 */ cpu->r[5] = rbrew_read32(cpu->mem, _t51);
/* 028CFF44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
/* 028CFF48 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFF48 */ _t53 = _t52 & 0x00000001u;
/* 028CFF48 */ if (_t53) goto L_028CFFC8; else goto L_028CFF4C;
L_028CFF4C: ; // 0x28cff4c
/* 028CFF4C */ _t54 = cpu->r[5] + 0x00000008u;
/* 028CFF4C */ cpu->r[11] = rbrew_read32(cpu->mem, _t54);
/* 028CFF50 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028CFF54 */ cpu->r[8] = cpu->r[10] ^ 0x00000001u;
/* 028CFF58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028CFF5C */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFF5C */ _t56 = _t55 & 0x00000001u;
/* 028CFF5C */ if (_t56) goto L_028CFFC8; else goto L_028CFF60;
L_028CFF60: ; // 0x28cff60
/* 028CFF60 */ _t57 = cpu->r[6] + 0x00000000u;
/* 028CFF60 */ cpu->r[11] = rbrew_read32(cpu->mem, _t57);
/* 028CFF64 */ _t58 = cpu->r[11] + 0x00000004u;
/* 028CFF64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t58);
/* 028CFF68 */ _t59 = cpu->r[6] + 0x00000000u;
/* 028CFF68 */ rbrew_write32(cpu->mem, _t59, cpu->r[12]);
/* 028CFF6C */ _t60 = cpu->r[11] + 0x00000004u;
/* 028CFF6C */ rbrew_write32(cpu->mem, _t60, cpu->r[6]);
/* 028CFF70 */ _t61 = cpu->r[6] + 0x00000008u;
/* 028CFF70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
/* 028CFF74 */ _t62 = cpu->r[11] + 0x00000008u;
/* 028CFF74 */ rbrew_write32(cpu->mem, _t62, cpu->r[0]);
/* 028CFF78 */ _t63 = cpu->r[6] + 0x00000008u;
/* 028CFF78 */ rbrew_write32(cpu->mem, _t63, cpu->r[29]);
/* 028CFF7C */ _t64 = cpu->r[30] + 0x00000004u;
/* 028CFF7C */ rbrew_write32(cpu->mem, _t64, cpu->r[11]);
/* 028CFF80 */ _t65 = cpu->r[11] + 0x00000000u;
/* 028CFF80 */ cpu->r[4] = rbrew_read32(cpu->mem, _t65);
/* 028CFF84 */ _t66 = cpu->r[30] + 0x00000004u;
/* 028CFF84 */ rbrew_write32(cpu->mem, _t66, cpu->r[4]);
/* 028CFF88 */ _t67 = cpu->r[11] + 0x00000000u;
/* 028CFF88 */ rbrew_write32(cpu->mem, _t67, cpu->r[30]);
/* 028CFF8C */ _t68 = cpu->r[30] + 0x00000008u;
/* 028CFF8C */ cpu->r[5] = rbrew_read32(cpu->mem, _t68);
/* 028CFF90 */ _t69 = cpu->r[11] + 0x00000008u;
/* 028CFF90 */ rbrew_write32(cpu->mem, _t69, cpu->r[5]);
/* 028CFF94 */ _t70 = cpu->r[30] + 0x00000008u;
/* 028CFF94 */ rbrew_write32(cpu->mem, _t70, cpu->r[29]);
/* 028CFF98 */ cpu->r[30] = cpu->r[11];
/* 028CFF9C */ _t71 = cpu->r[30] + 0x00000008u;
/* 028CFF9C */ cpu->r[6] = rbrew_read32(cpu->mem, _t71);
/* 028CFFA0 */ _t72 = cpu->r[30] + 0x00000000u;
/* 028CFFA0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t72);
/* 028CFFA4 */ cpu->r[6] = cpu->r[6] ^ 0x00000001u;
/* 028CFFA8 */ _t73 = cpu->r[30] + 0x00000008u;
/* 028CFFA8 */ rbrew_write32(cpu->mem, _t73, cpu->r[6]);
/* 028CFFAC */ _t74 = cpu->r[7] + 0x00000008u;
/* 028CFFAC */ cpu->r[8] = rbrew_read32(cpu->mem, _t74);
/* 028CFFB0 */ cpu->r[8] = cpu->r[8] ^ 0x00000001u;
/* 028CFFB4 */ _t75 = cpu->r[7] + 0x00000008u;
/* 028CFFB4 */ rbrew_write32(cpu->mem, _t75, cpu->r[8]);
/* 028CFFB8 */ _t76 = cpu->r[30] + 0x00000004u;
/* 028CFFB8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t76);
/* 028CFFBC */ _t77 = cpu->r[6] + 0x00000008u;
/* 028CFFBC */ cpu->r[9] = rbrew_read32(cpu->mem, _t77);
/* 028CFFC0 */ cpu->r[9] = cpu->r[9] ^ 0x00000001u;
/* 028CFFC4 */ _t78 = cpu->r[6] + 0x00000008u;
/* 028CFFC4 */ rbrew_write32(cpu->mem, _t78, cpu->r[9]);
L_028CFFC8: ; // 0x28cffc8
/* 028CFFC8 */ _t79 = cpu->r[30] + 0x00000000u;
/* 028CFFC8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t79);
L_028CFFCC: ; // 0x28cffcc
/* 028CFFCC */ cpu->r[5] = cpu->r[31];
/* 028CFFD0 */ cpu->r[3] = cpu->r[28];
/* 028CFFD4 */ Gambit_fn_028CFE0C(cpu);
/* 028CFFD8 */ _t80 = cpu->r[30] + 0x00000004u;
/* 028CFFD8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t80);
/* 028CFFDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028CFFE0 */ _t81 = cpu->r[30] + 0x00000000u;
/* 028CFFE0 */ rbrew_write32(cpu->mem, _t81, cpu->r[3]);
/* 028CFFE4 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFFE4 */ _t83 = _t82 & 0x00000001u;
/* 028CFFE4 */ if (_t83) goto L_028D0590; else goto L_028CFFE8;
L_028CFFE8: ; // 0x28cffe8
/* 028CFFE8 */ goto L_028D0560;
L_028CFFEC: ; // 0x28cffec
/* 028CFFEC */ _t84 = cpu->r[30] + 0x00000000u;
/* 028CFFEC */ cpu->r[4] = rbrew_read32(cpu->mem, _t84);
/* 028CFFF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028CFFF4 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CFFF4 */ _t86 = _t85 & 0x00000001u;
/* 028CFFF4 */ if (_t86) goto L_028D0028; else goto L_028CFFF8;
L_028CFFF8: ; // 0x28cfff8
/* 028CFFF8 */ _t87 = cpu->r[4] + 0x00000008u;
/* 028CFFF8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t87);
/* 028CFFFC */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028D0000 */ cpu->r[9] = cpu->r[10] ^ 0x00000001u;
/* 028D0004 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028D0008 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0008 */ _t89 = _t88 & 0x00000001u;
/* 028D0008 */ if (_t89) goto L_028D0028; else goto L_028D000C;
L_028D000C: ; // 0x28d000c
/* 028D000C */ _t90 = cpu->r[4] + 0x00000004u;
/* 028D000C */ cpu->r[12] = rbrew_read32(cpu->mem, _t90);
/* 028D0010 */ _t91 = cpu->r[30] + 0x00000000u;
/* 028D0010 */ rbrew_write32(cpu->mem, _t91, cpu->r[12]);
/* 028D0014 */ _t92 = cpu->r[4] + 0x00000004u;
/* 028D0014 */ rbrew_write32(cpu->mem, _t92, cpu->r[30]);
/* 028D0018 */ _t93 = cpu->r[30] + 0x00000008u;
/* 028D0018 */ cpu->r[0] = rbrew_read32(cpu->mem, _t93);
/* 028D001C */ _t94 = cpu->r[4] + 0x00000008u;
/* 028D001C */ rbrew_write32(cpu->mem, _t94, cpu->r[0]);
/* 028D0020 */ _t95 = cpu->r[30] + 0x00000008u;
/* 028D0020 */ rbrew_write32(cpu->mem, _t95, cpu->r[29]);
/* 028D0024 */ cpu->r[30] = cpu->r[4];
L_028D0028: ; // 0x28d0028
/* 028D0028 */ _t96 = cpu->r[31] + 0x00000004u;
/* 028D0028 */ cpu->r[4] = rbrew_read32(cpu->mem, _t96);
/* 028D002C */ _t97 = cpu->r[4] + 0x00000014u;
/* 028D002C */ cpu->r[5] = rbrew_read32(cpu->mem, _t97);
/* 028D0030 */ cpu->ctr = cpu->r[5];
/* 028D0034 */ cpu->r[3] = cpu->r[31];
/* 028D0038 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028D003C */ _t98 = cpu->r[31] + 0x00000004u;
/* 028D003C */ cpu->r[6] = rbrew_read32(cpu->mem, _t98);
/* 028D0040 */ _t99 = cpu->r[6] + 0x00000014u;
/* 028D0040 */ cpu->r[7] = rbrew_read32(cpu->mem, _t99);
/* 028D0044 */ cpu->ctr = cpu->r[7];
/* 028D0048 */ cpu->r[3] = cpu->r[31];
/* 028D004C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028D0050 */ _t100 = cpu->r[30] + 0x00000010u;
/* 028D0050 */ cpu->r[8] = rbrew_read32(cpu->mem, _t100);
/* 028D0054 */ _t101 = cpu->r[8] + 0x00000014u;
/* 028D0054 */ cpu->r[9] = rbrew_read32(cpu->mem, _t101);
/* 028D0058 */ cpu->ctr = cpu->r[9];
/* 028D005C */ _t102 = cpu->r[31] + 0x00000000u;
/* 028D005C */ cpu->r[26] = rbrew_read32(cpu->mem, _t102);
/* 028D0060 */ cpu->r[3] = cpu->r[30] + 0x0000000Cu;
/* 028D0064 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028D0068 */ _t103 = cpu->r[30] + 0x0000000Cu;
/* 028D0068 */ cpu->r[10] = rbrew_read32(cpu->mem, _t103);
/* 028D006C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[10]);
/* 028D0070 */ _t104 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0070 */ _t105 = _t104 & 0x00000001u;
/* 028D0070 */ if (_t105) goto L_028D00D4; else goto L_028D0074;
L_028D0074: ; // 0x28d0074
/* 028D0074 */ cpu->r[8] = 0x00080000u;
/* 028D0078 */ _t106 = cpu->r[31] + 0x00000000u;
/* 028D0078 */ cpu->r[6] = rbrew_read32(cpu->mem, _t106);
/* 028D007C */ cpu->r[7] = 0x00000000u;
/* 028D0080 */ cpu->ctr = cpu->r[8];
/* 028D0084 */ _t107 = cpu->r[27] + 0x00007399u;
/* 028D0084 */ cpu->r[5] = rbrew_read8(cpu->mem, _t107);
/* 028D0088 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu;
L_028D008C: ; // 0x28d008c
/* 028D008C */ _t108 = cpu->r[6] + 0x00000001u;
/* 028D008C */ cpu->r[11] = rbrew_read8(cpu->mem, _t108);
/* 028D008C */ cpu->r[6] = _t108;
/* 028D0090 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[5]);
/* 028D0094 */ _t109 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0094 */ _t110 = _t109 & 0x00000001u;
/* 028D0094 */ if (_t110) goto L_028D0098; else goto L_028D00A8;
L_028D0098: ; // 0x28d0098
/* 028D0098 */ _t111 = cpu->r[10] + cpu->r[7];
/* 028D0098 */ cpu->r[10] = rbrew_read8(cpu->mem, _t111);
/* 028D009C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[5]);
/* 028D00A0 */ _t112 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D00A0 */ _t113 = _t112 & 0x00000001u;
/* 028D00A0 */ if (_t113) goto L_028D00D4; else goto L_028D00A4;
L_028D00A4: ; // 0x28d00a4
/* 028D00A4 */ goto L_028D00BC;
L_028D00A8: ; // 0x28d00a8
/* 028D00A8 */ _t114 = cpu->r[10] + cpu->r[7];
/* 028D00A8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t114);
/* 028D00AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[5]);
/* 028D00B0 */ _t115 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D00B0 */ _t116 = _t115 & 0x00000001u;
/* 028D00B0 */ if (_t116) goto L_028D00BC; else goto L_028D00B4;
L_028D00B4: ; // 0x28d00b4
/* 028D00B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
/* 028D00B8 */ _t117 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D00B8 */ _t118 = _t117 & 0x00000001u;
/* 028D00B8 */ if (_t118) goto L_028D00CC; else goto L_028D00BC;
L_028D00BC: ; // 0x28d00bc
/* 028D00BC */ _t119 = cpu->r[30] + 0x00000004u;
/* 028D00BC */ cpu->r[4] = rbrew_read32(cpu->mem, _t119);
/* 028D00C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028D00C4 */ _t120 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D00C4 */ _t121 = _t120 & 0x00000001u;
/* 028D00C4 */ if (_t121) goto L_028D00C8; else goto L_028D0114;
L_028D00C8: ; // 0x28d00c8
/* 028D00C8 */ goto L_028D0128;
L_028D00CC: ; // 0x28d00cc
/* 028D00CC */ cpu->r[7] = cpu->r[7] + 0x00000001u;
/* 028D00D0 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028D00D0 */ _t122 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028D00D0 */ _t123 = _t122 >> (0x00000002u & 31u);
/* 028D00D0 */ _t124 = _t123 & 0x00000001u;
/* 028D00D0 */ if (_t124) goto L_028D008C; else goto L_028D00D4;
L_028D00D4: ; // 0x28d00d4
/* 028D00D4 */ _t125 = cpu->r[30] + 0x00000004u;
/* 028D00D4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t125);
/* 028D00D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028D00DC */ _t126 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D00DC */ _t127 = _t126 & 0x00000001u;
/* 028D00DC */ if (_t127) goto L_028D00E0; else goto L_028D010C;
L_028D00E0: ; // 0x28d00e0
/* 028D00E0 */ _t128 = cpu->r[30] + 0x00000014u;
/* 028D00E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t128);
/* 028D00E4 */ _t129 = cpu->r[11] + 0x00000014u;
/* 028D00E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t129);
/* 028D00E8 */ cpu->ctr = cpu->r[12];
/* 028D00EC */ cpu->r[3] = cpu->r[30];
/* 028D00F0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028D00F4 */ /* nop */
/* 028D00F8 */ _t130 = cpu->r[1] + 0x00000024u;
/* 028D00F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t130);
/* 028D00FC */ cpu->lr = cpu->r[0];
/* 028D0100 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028D0104 */ cpu->r[3] = 0x00000000u;
/* 028D0108 */ return;
L_028D010C: ; // 0x28d010c
/* 028D010C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028D0110 */ _t131 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0110 */ _t132 = _t131 & 0x00000001u;
/* 028D0110 */ if (_t132) goto L_028D0128; else goto L_028D0114;
L_028D0114: ; // 0x28d0114
/* 028D0114 */ _t133 = cpu->r[4] + 0x00000008u;
/* 028D0114 */ cpu->r[5] = rbrew_read32(cpu->mem, _t133);
/* 028D0118 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028D011C */ cpu->r[10] = cpu->r[0] ^ 0x00000001u;
/* 028D0120 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028D0124 */ _t134 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0124 */ _t135 = _t134 & 0x00000001u;
/* 028D0124 */ if (_t135) goto L_028D0128; else goto L_028D01E0;
L_028D0128: ; // 0x28d0128
/* 028D0128 */ _t136 = cpu->r[4] + 0x00000000u;
/* 028D0128 */ cpu->r[12] = rbrew_read32(cpu->mem, _t136);
/* 028D012C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028D0130 */ _t137 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0130 */ _t138 = _t137 & 0x00000001u;
/* 028D0130 */ if (_t138) goto L_028D0148; else goto L_028D0134;
L_028D0134: ; // 0x28d0134
/* 028D0134 */ _t139 = cpu->r[12] + 0x00000008u;
/* 028D0134 */ cpu->r[7] = rbrew_read32(cpu->mem, _t139);
/* 028D0138 */ cpu->r[6] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028D013C */ cpu->r[5] = cpu->r[6] ^ 0x00000001u;
/* 028D0140 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
/* 028D0144 */ _t140 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0144 */ _t141 = _t140 & 0x00000001u;
/* 028D0144 */ if (_t141) goto L_028D0148; else goto L_028D01E0;
L_028D0148: ; // 0x28d0148
/* 028D0148 */ _t142 = cpu->r[30] + 0x00000008u;
/* 028D0148 */ cpu->r[8] = rbrew_read32(cpu->mem, _t142);
/* 028D014C */ _t143 = cpu->r[30] + 0x00000000u;
/* 028D014C */ cpu->r[7] = rbrew_read32(cpu->mem, _t143);
/* 028D0150 */ cpu->r[8] = cpu->r[8] ^ 0x00000001u;
/* 028D0154 */ _t144 = cpu->r[30] + 0x00000008u;
/* 028D0154 */ rbrew_write32(cpu->mem, _t144, cpu->r[8]);
/* 028D0158 */ _t145 = cpu->r[7] + 0x00000008u;
/* 028D0158 */ cpu->r[0] = rbrew_read32(cpu->mem, _t145);
/* 028D015C */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
/* 028D0160 */ _t146 = cpu->r[7] + 0x00000008u;
/* 028D0160 */ rbrew_write32(cpu->mem, _t146, cpu->r[0]);
/* 028D0164 */ _t147 = cpu->r[30] + 0x00000004u;
/* 028D0164 */ cpu->r[10] = rbrew_read32(cpu->mem, _t147);
/* 028D0168 */ _t148 = cpu->r[10] + 0x00000008u;
/* 028D0168 */ cpu->r[11] = rbrew_read32(cpu->mem, _t148);
/* 028D016C */ cpu->r[11] = cpu->r[11] ^ 0x00000001u;
/* 028D0170 */ _t149 = cpu->r[10] + 0x00000008u;
/* 028D0170 */ rbrew_write32(cpu->mem, _t149, cpu->r[11]);
/* 028D0174 */ _t150 = cpu->r[30] + 0x00000000u;
/* 028D0174 */ cpu->r[7] = rbrew_read32(cpu->mem, _t150);
/* 028D0178 */ _t151 = cpu->r[7] + 0x00000000u;
/* 028D0178 */ cpu->r[8] = rbrew_read32(cpu->mem, _t151);
/* 028D017C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028D0180 */ _t152 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0180 */ _t153 = _t152 & 0x00000001u;
/* 028D0180 */ if (_t153) goto L_028D01E0; else goto L_028D0184;
L_028D0184: ; // 0x28d0184
/* 028D0184 */ _t154 = cpu->r[8] + 0x00000008u;
/* 028D0184 */ cpu->r[0] = rbrew_read32(cpu->mem, _t154);
/* 028D0188 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028D018C */ cpu->r[10] = cpu->r[12] ^ 0x00000001u;
/* 028D0190 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028D0194 */ _t155 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0194 */ _t156 = _t155 & 0x00000001u;
/* 028D0194 */ if (_t156) goto L_028D01E0; else goto L_028D0198;
L_028D0198: ; // 0x28d0198
/* 028D0198 */ _t157 = cpu->r[7] + 0x00000004u;
/* 028D0198 */ cpu->r[4] = rbrew_read32(cpu->mem, _t157);
/* 028D019C */ _t158 = cpu->r[30] + 0x00000000u;
/* 028D019C */ rbrew_write32(cpu->mem, _t158, cpu->r[4]);
/* 028D01A0 */ _t159 = cpu->r[7] + 0x00000004u;
/* 028D01A0 */ rbrew_write32(cpu->mem, _t159, cpu->r[30]);
/* 028D01A4 */ _t160 = cpu->r[30] + 0x00000008u;
/* 028D01A4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t160);
/* 028D01A8 */ _t161 = cpu->r[7] + 0x00000008u;
/* 028D01A8 */ rbrew_write32(cpu->mem, _t161, cpu->r[5]);
/* 028D01AC */ _t162 = cpu->r[30] + 0x00000008u;
/* 028D01AC */ rbrew_write32(cpu->mem, _t162, cpu->r[29]);
/* 028D01B0 */ cpu->r[30] = cpu->r[7];
/* 028D01B4 */ _t163 = cpu->r[30] + 0x00000008u;
/* 028D01B4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t163);
/* 028D01B8 */ _t164 = cpu->r[30] + 0x00000000u;
/* 028D01B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t164);
/* 028D01BC */ cpu->r[6] = cpu->r[6] ^ 0x00000001u;
/* 028D01C0 */ _t165 = cpu->r[30] + 0x00000008u;
/* 028D01C0 */ rbrew_write32(cpu->mem, _t165, cpu->r[6]);
/* 028D01C4 */ _t166 = cpu->r[7] + 0x00000008u;
/* 028D01C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t166);
/* 028D01C8 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
/* 028D01CC */ _t167 = cpu->r[7] + 0x00000008u;
/* 028D01CC */ rbrew_write32(cpu->mem, _t167, cpu->r[0]);
/* 028D01D0 */ _t168 = cpu->r[30] + 0x00000004u;
/* 028D01D0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t168);
/* 028D01D4 */ _t169 = cpu->r[4] + 0x00000008u;
/* 028D01D4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t169);
/* 028D01D8 */ cpu->r[5] = cpu->r[5] ^ 0x00000001u;
/* 028D01DC */ _t170 = cpu->r[4] + 0x00000008u;
/* 028D01DC */ rbrew_write32(cpu->mem, _t170, cpu->r[5]);
L_028D01E0: ; // 0x28d01e0
/* 028D01E0 */ _t171 = cpu->r[31] + 0x00000004u;
/* 028D01E0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t171);
/* 028D01E4 */ _t172 = cpu->r[6] + 0x00000014u;
/* 028D01E4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t172);
/* 028D01E8 */ cpu->ctr = cpu->r[7];
/* 028D01EC */ cpu->r[3] = cpu->r[31];
/* 028D01F0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028D01F4 */ _t173 = cpu->r[31] + 0x00000004u;
/* 028D01F4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t173);
/* 028D01F8 */ _t174 = cpu->r[8] + 0x00000014u;
/* 028D01F8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t174);
/* 028D01FC */ cpu->ctr = cpu->r[9];
/* 028D0200 */ cpu->r[3] = cpu->r[31];
/* 028D0204 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028D0208 */ _t175 = cpu->r[30] + 0x00000010u;
/* 028D0208 */ cpu->r[10] = rbrew_read32(cpu->mem, _t175);
/* 028D020C */ _t176 = cpu->r[10] + 0x00000014u;
/* 028D020C */ cpu->r[0] = rbrew_read32(cpu->mem, _t176);
/* 028D0210 */ cpu->ctr = cpu->r[0];
/* 028D0214 */ _t177 = cpu->r[31] + 0x00000000u;
/* 028D0214 */ cpu->r[26] = rbrew_read32(cpu->mem, _t177);
/* 028D0218 */ cpu->r[3] = cpu->r[30] + 0x0000000Cu;
/* 028D021C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028D0220 */ _t178 = cpu->r[30] + 0x0000000Cu;
/* 028D0220 */ cpu->r[10] = rbrew_read32(cpu->mem, _t178);
/* 028D0224 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[10]);
/* 028D0228 */ _t179 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0228 */ _t180 = _t179 & 0x00000001u;
/* 028D0228 */ if (_t180) goto L_028D027C; else goto L_028D022C;
L_028D022C: ; // 0x28d022c
/* 028D022C */ cpu->r[7] = 0x00080000u;
/* 028D0230 */ _t181 = cpu->r[31] + 0x00000000u;
/* 028D0230 */ cpu->r[11] = rbrew_read32(cpu->mem, _t181);
/* 028D0234 */ cpu->r[8] = 0x00000000u;
/* 028D0238 */ cpu->ctr = cpu->r[7];
/* 028D023C */ _t182 = cpu->r[27] + 0x00007399u;
/* 028D023C */ cpu->r[0] = rbrew_read8(cpu->mem, _t182);
/* 028D0240 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
L_028D0244: ; // 0x28d0244
/* 028D0244 */ _t183 = cpu->r[11] + 0x00000001u;
/* 028D0244 */ cpu->r[12] = rbrew_read8(cpu->mem, _t183);
/* 028D0244 */ cpu->r[11] = _t183;
/* 028D0248 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
/* 028D024C */ _t184 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D024C */ _t185 = _t184 & 0x00000001u;
/* 028D024C */ if (_t185) goto L_028D0250; else goto L_028D0260;
L_028D0250: ; // 0x28d0250
/* 028D0250 */ _t186 = cpu->r[10] + cpu->r[8];
/* 028D0250 */ cpu->r[12] = rbrew_read8(cpu->mem, _t186);
/* 028D0254 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
/* 028D0258 */ _t187 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0258 */ _t188 = _t187 & 0x00000001u;
/* 028D0258 */ if (_t188) goto L_028D027C; else goto L_028D025C;
L_028D025C: ; // 0x28d025c
/* 028D025C */ goto L_028D0544;
L_028D0260: ; // 0x28d0260
/* 028D0260 */ _t189 = cpu->r[10] + cpu->r[8];
/* 028D0260 */ cpu->r[4] = rbrew_read8(cpu->mem, _t189);
/* 028D0264 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
/* 028D0268 */ _t190 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0268 */ _t191 = _t190 & 0x00000001u;
/* 028D0268 */ if (_t191) goto L_028D0544; else goto L_028D026C;
L_028D026C: ; // 0x28d026c
/* 028D026C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
/* 028D0270 */ _t192 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0270 */ _t193 = _t192 & 0x00000001u;
/* 028D0270 */ if (_t193) goto L_028D0274; else goto L_028D0544;
L_028D0274: ; // 0x28d0274
/* 028D0274 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
/* 028D0278 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028D0278 */ _t194 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028D0278 */ _t195 = _t194 >> (0x00000002u & 31u);
/* 028D0278 */ _t196 = _t195 & 0x00000001u;
/* 028D0278 */ if (_t196) goto L_028D0244; else goto L_028D027C;
L_028D027C: ; // 0x28d027c
/* 028D027C */ _t197 = cpu->r[30] + 0x00000004u;
/* 028D027C */ cpu->r[4] = rbrew_read32(cpu->mem, _t197);
/* 028D0280 */ cpu->r[12] = cpu->r[4];
/* 028D0284 */ _t198 = cpu->r[12] + 0x00000000u;
/* 028D0284 */ cpu->r[0] = rbrew_read32(cpu->mem, _t198);
/* 028D0288 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028D028C */ _t199 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D028C */ _t200 = _t199 & 0x00000001u;
/* 028D028C */ if (_t200) goto L_028D02A0; else goto L_028D0290;
L_028D0290: ; // 0x28d0290
/* 028D0290 */ cpu->r[12] = cpu->r[0];
/* 028D0294 */ _t201 = cpu->r[12] + 0x00000000u;
/* 028D0294 */ cpu->r[0] = rbrew_read32(cpu->mem, _t201);
/* 028D0298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028D029C */ _t202 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D029C */ _t203 = _t202 & 0x00000001u;
/* 028D029C */ if (_t203) goto L_028D02A0; else goto L_028D0290;
L_028D02A0: ; // 0x28d02a0
/* 028D02A0 */ cpu->r[5] = cpu->r[12] + 0x0000000Cu;
/* 028D02A4 */ cpu->r[3] = cpu->r[28];
/* 028D02A8 */ Gambit_fn_020EFCB8(cpu);
/* 028D02AC */ _t204 = cpu->r[30] + 0x00000004u;
/* 028D02AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t204);
/* 028D02B0 */ _t205 = cpu->r[31] + 0x00000000u;
/* 028D02B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t205);
/* 028D02B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028D02B8 */ cpu->r[28] = cpu->r[3];
/* 028D02BC */ _t206 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D02BC */ _t207 = _t206 & 0x00000001u;
/* 028D02BC */ if (_t207) goto L_028D02C0; else goto L_028D0300;
L_028D02C0: ; // 0x28d02c0
/* 028D02C0 */ cpu->r[31] = 0x00000000u;
/* 028D02C4 */ _t208 = cpu->r[28] + 0x00000004u;
/* 028D02C4 */ rbrew_write32(cpu->mem, _t208, cpu->r[31]);
/* 028D02C8 */ _t209 = cpu->r[30] + 0x00000000u;
/* 028D02C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t209);
/* 028D02CC */ _t210 = cpu->r[28] + 0x00000000u;
/* 028D02CC */ rbrew_write32(cpu->mem, _t210, cpu->r[9]);
/* 028D02D0 */ _t211 = cpu->r[30] + 0x00000008u;
/* 028D02D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t211);
/* 028D02D4 */ _t212 = cpu->r[28] + 0x00000008u;
/* 028D02D4 */ rbrew_write32(cpu->mem, _t212, cpu->r[0]);
/* 028D02D8 */ _t213 = cpu->r[30] + 0x00000014u;
/* 028D02D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t213);
/* 028D02DC */ _t214 = cpu->r[11] + 0x00000014u;
/* 028D02DC */ cpu->r[5] = rbrew_read32(cpu->mem, _t214);
/* 028D02E0 */ cpu->ctr = cpu->r[5];
/* 028D02E4 */ cpu->r[3] = cpu->r[30];
/* 028D02E8 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028D02EC */ cpu->r[30] = cpu->r[28];
/* 028D02F0 */ _t215 = cpu->r[30] + 0x00000004u;
/* 028D02F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t215);
/* 028D02F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028D02F8 */ _t216 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D02F8 */ _t217 = _t216 & 0x00000001u;
/* 028D02F8 */ if (_t217) goto L_028D0590; else goto L_028D02FC;
L_028D02FC: ; // 0x28d02fc
/* 028D02FC */ goto L_028D0560;
L_028D0300: ; // 0x28d0300
/* 028D0300 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028D0304 */ _t218 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0304 */ _t219 = _t218 & 0x00000001u;
/* 028D0304 */ if (_t219) goto L_028D031C; else goto L_028D0308;
L_028D0308: ; // 0x28d0308
/* 028D0308 */ _t220 = cpu->r[11] + 0x00000008u;
/* 028D0308 */ cpu->r[4] = rbrew_read32(cpu->mem, _t220);
/* 028D030C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028D0310 */ cpu->r[10] = cpu->r[0] ^ 0x00000001u;
/* 028D0314 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028D0318 */ _t221 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0318 */ _t222 = _t221 & 0x00000001u;
/* 028D0318 */ if (_t222) goto L_028D031C; else goto L_028D03F8;
L_028D031C: ; // 0x28d031c
/* 028D031C */ _t223 = cpu->r[11] + 0x00000000u;
/* 028D031C */ cpu->r[12] = rbrew_read32(cpu->mem, _t223);
/* 028D0320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028D0324 */ _t224 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0324 */ _t225 = _t224 & 0x00000001u;
/* 028D0324 */ if (_t225) goto L_028D033C; else goto L_028D0328;
L_028D0328: ; // 0x28d0328
/* 028D0328 */ _t226 = cpu->r[12] + 0x00000008u;
/* 028D0328 */ cpu->r[7] = rbrew_read32(cpu->mem, _t226);
/* 028D032C */ cpu->r[6] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028D0330 */ cpu->r[5] = cpu->r[6] ^ 0x00000001u;
/* 028D0334 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
/* 028D0338 */ _t227 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0338 */ _t228 = _t227 & 0x00000001u;
/* 028D0338 */ if (_t228) goto L_028D033C; else goto L_028D03F8;
L_028D033C: ; // 0x28d033c
/* 028D033C */ _t229 = cpu->r[31] + 0x00000008u;
/* 028D033C */ cpu->r[9] = rbrew_read32(cpu->mem, _t229);
/* 028D0340 */ _t230 = cpu->r[31] + 0x00000000u;
/* 028D0340 */ cpu->r[11] = rbrew_read32(cpu->mem, _t230);
/* 028D0344 */ cpu->r[9] = cpu->r[9] ^ 0x00000001u;
/* 028D0348 */ _t231 = cpu->r[31] + 0x00000008u;
/* 028D0348 */ rbrew_write32(cpu->mem, _t231, cpu->r[9]);
/* 028D034C */ _t232 = cpu->r[11] + 0x00000008u;
/* 028D034C */ cpu->r[0] = rbrew_read32(cpu->mem, _t232);
/* 028D0350 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
/* 028D0354 */ _t233 = cpu->r[11] + 0x00000008u;
/* 028D0354 */ rbrew_write32(cpu->mem, _t233, cpu->r[0]);
/* 028D0358 */ _t234 = cpu->r[31] + 0x00000004u;
/* 028D0358 */ cpu->r[5] = rbrew_read32(cpu->mem, _t234);
/* 028D035C */ _t235 = cpu->r[5] + 0x00000008u;
/* 028D035C */ cpu->r[4] = rbrew_read32(cpu->mem, _t235);
/* 028D0360 */ cpu->r[4] = cpu->r[4] ^ 0x00000001u;
/* 028D0364 */ _t236 = cpu->r[5] + 0x00000008u;
/* 028D0364 */ rbrew_write32(cpu->mem, _t236, cpu->r[4]);
/* 028D0368 */ _t237 = cpu->r[31] + 0x00000004u;
/* 028D0368 */ cpu->r[5] = rbrew_read32(cpu->mem, _t237);
/* 028D036C */ _t238 = cpu->r[5] + 0x00000000u;
/* 028D036C */ cpu->r[8] = rbrew_read32(cpu->mem, _t238);
/* 028D0370 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028D0374 */ _t239 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0374 */ _t240 = _t239 & 0x00000001u;
/* 028D0374 */ if (_t240) goto L_028D03F4; else goto L_028D0378;
L_028D0378: ; // 0x28d0378
/* 028D0378 */ _t241 = cpu->r[8] + 0x00000008u;
/* 028D0378 */ cpu->r[9] = rbrew_read32(cpu->mem, _t241);
/* 028D037C */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028D0380 */ cpu->r[11] = cpu->r[7] ^ 0x00000001u;
/* 028D0384 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028D0388 */ _t242 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0388 */ _t243 = _t242 & 0x00000001u;
/* 028D0388 */ if (_t243) goto L_028D03F4; else goto L_028D038C;
L_028D038C: ; // 0x28d038c
/* 028D038C */ _t244 = cpu->r[5] + 0x00000000u;
/* 028D038C */ cpu->r[4] = rbrew_read32(cpu->mem, _t244);
/* 028D0390 */ _t245 = cpu->r[4] + 0x00000004u;
/* 028D0390 */ cpu->r[0] = rbrew_read32(cpu->mem, _t245);
/* 028D0394 */ _t246 = cpu->r[5] + 0x00000000u;
/* 028D0394 */ rbrew_write32(cpu->mem, _t246, cpu->r[0]);
/* 028D0398 */ _t247 = cpu->r[4] + 0x00000004u;
/* 028D0398 */ rbrew_write32(cpu->mem, _t247, cpu->r[5]);
/* 028D039C */ _t248 = cpu->r[5] + 0x00000008u;
/* 028D039C */ cpu->r[6] = rbrew_read32(cpu->mem, _t248);
/* 028D03A0 */ _t249 = cpu->r[4] + 0x00000008u;
/* 028D03A0 */ rbrew_write32(cpu->mem, _t249, cpu->r[6]);
/* 028D03A4 */ _t250 = cpu->r[5] + 0x00000008u;
/* 028D03A4 */ rbrew_write32(cpu->mem, _t250, cpu->r[29]);
/* 028D03A8 */ _t251 = cpu->r[31] + 0x00000004u;
/* 028D03A8 */ rbrew_write32(cpu->mem, _t251, cpu->r[4]);
/* 028D03AC */ _t252 = cpu->r[4] + 0x00000000u;
/* 028D03AC */ cpu->r[7] = rbrew_read32(cpu->mem, _t252);
/* 028D03B0 */ _t253 = cpu->r[31] + 0x00000004u;
/* 028D03B0 */ rbrew_write32(cpu->mem, _t253, cpu->r[7]);
/* 028D03B4 */ _t254 = cpu->r[4] + 0x00000000u;
/* 028D03B4 */ rbrew_write32(cpu->mem, _t254, cpu->r[31]);
/* 028D03B8 */ _t255 = cpu->r[31] + 0x00000008u;
/* 028D03B8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t255);
/* 028D03BC */ _t256 = cpu->r[4] + 0x00000008u;
/* 028D03BC */ rbrew_write32(cpu->mem, _t256, cpu->r[8]);
/* 028D03C0 */ _t257 = cpu->r[31] + 0x00000008u;
/* 028D03C0 */ rbrew_write32(cpu->mem, _t257, cpu->r[29]);
/* 028D03C4 */ cpu->r[31] = cpu->r[4];
/* 028D03C8 */ _t258 = cpu->r[31] + 0x00000008u;
/* 028D03C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t258);
/* 028D03CC */ _t259 = cpu->r[31] + 0x00000000u;
/* 028D03CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t259);
/* 028D03D0 */ cpu->r[10] = cpu->r[10] ^ 0x00000001u;
/* 028D03D4 */ _t260 = cpu->r[31] + 0x00000008u;
/* 028D03D4 */ rbrew_write32(cpu->mem, _t260, cpu->r[10]);
/* 028D03D8 */ _t261 = cpu->r[11] + 0x00000008u;
/* 028D03D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t261);
/* 028D03DC */ cpu->r[12] = cpu->r[12] ^ 0x00000001u;
/* 028D03E0 */ _t262 = cpu->r[11] + 0x00000008u;
/* 028D03E0 */ rbrew_write32(cpu->mem, _t262, cpu->r[12]);
/* 028D03E4 */ _t263 = cpu->r[31] + 0x00000004u;
/* 028D03E4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t263);
/* 028D03E8 */ _t264 = cpu->r[5] + 0x00000008u;
/* 028D03E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t264);
/* 028D03EC */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
/* 028D03F0 */ _t265 = cpu->r[5] + 0x00000008u;
/* 028D03F0 */ rbrew_write32(cpu->mem, _t265, cpu->r[0]);
L_028D03F4: ; // 0x28d03f4
/* 028D03F4 */ _t266 = cpu->r[31] + 0x00000000u;
/* 028D03F4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t266);
L_028D03F8: ; // 0x28d03f8
/* 028D03F8 */ cpu->r[3] = cpu->r[11];
/* 028D03FC */ Gambit_fn_028CFB38(cpu);
/* 028D0400 */ _t267 = cpu->r[31] + 0x00000004u;
/* 028D0400 */ cpu->r[12] = rbrew_read32(cpu->mem, _t267);
/* 028D0404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028D0408 */ _t268 = cpu->r[31] + 0x00000000u;
/* 028D0408 */ rbrew_write32(cpu->mem, _t268, cpu->r[3]);
/* 028D040C */ _t269 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D040C */ _t270 = _t269 & 0x00000001u;
/* 028D040C */ if (_t270) goto L_028D0440; else goto L_028D0410;
L_028D0410: ; // 0x28d0410
/* 028D0410 */ _t271 = cpu->r[12] + 0x00000008u;
/* 028D0410 */ cpu->r[5] = rbrew_read32(cpu->mem, _t271);
/* 028D0414 */ cpu->r[4] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028D0418 */ cpu->r[10] = cpu->r[4] ^ 0x00000001u;
/* 028D041C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028D0420 */ _t272 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0420 */ _t273 = _t272 & 0x00000001u;
/* 028D0420 */ if (_t273) goto L_028D0440; else goto L_028D0424;
L_028D0424: ; // 0x28d0424
/* 028D0424 */ _t274 = cpu->r[12] + 0x00000000u;
/* 028D0424 */ cpu->r[6] = rbrew_read32(cpu->mem, _t274);
/* 028D0428 */ _t275 = cpu->r[31] + 0x00000004u;
/* 028D0428 */ rbrew_write32(cpu->mem, _t275, cpu->r[6]);
/* 028D042C */ _t276 = cpu->r[12] + 0x00000000u;
/* 028D042C */ rbrew_write32(cpu->mem, _t276, cpu->r[31]);
/* 028D0430 */ _t277 = cpu->r[31] + 0x00000008u;
/* 028D0430 */ cpu->r[8] = rbrew_read32(cpu->mem, _t277);
/* 028D0434 */ _t278 = cpu->r[12] + 0x00000008u;
/* 028D0434 */ rbrew_write32(cpu->mem, _t278, cpu->r[8]);
/* 028D0438 */ _t279 = cpu->r[31] + 0x00000008u;
/* 028D0438 */ rbrew_write32(cpu->mem, _t279, cpu->r[29]);
/* 028D043C */ cpu->r[31] = cpu->r[12];
L_028D0440: ; // 0x28d0440
/* 028D0440 */ _t280 = cpu->r[31] + 0x00000000u;
/* 028D0440 */ cpu->r[8] = rbrew_read32(cpu->mem, _t280);
/* 028D0444 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028D0448 */ _t281 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0448 */ _t282 = _t281 & 0x00000001u;
/* 028D0448 */ if (_t282) goto L_028D04A0; else goto L_028D044C;
L_028D044C: ; // 0x28d044c
/* 028D044C */ _t283 = cpu->r[8] + 0x00000008u;
/* 028D044C */ cpu->r[0] = rbrew_read32(cpu->mem, _t283);
/* 028D0450 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028D0454 */ cpu->r[4] = cpu->r[9] ^ 0x00000001u;
/* 028D0458 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028D045C */ _t284 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D045C */ _t285 = _t284 & 0x00000001u;
/* 028D045C */ if (_t285) goto L_028D04A0; else goto L_028D0460;
L_028D0460: ; // 0x28d0460
/* 028D0460 */ _t286 = cpu->r[8] + 0x00000000u;
/* 028D0460 */ cpu->r[5] = rbrew_read32(cpu->mem, _t286);
/* 028D0464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
/* 028D0468 */ _t287 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0468 */ _t288 = _t287 & 0x00000001u;
/* 028D0468 */ if (_t288) goto L_028D04A0; else goto L_028D046C;
L_028D046C: ; // 0x28d046c
/* 028D046C */ _t289 = cpu->r[5] + 0x00000008u;
/* 028D046C */ cpu->r[6] = rbrew_read32(cpu->mem, _t289);
/* 028D0470 */ cpu->r[4] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028D0474 */ cpu->r[0] = cpu->r[4] ^ 0x00000001u;
/* 028D0478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028D047C */ _t290 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D047C */ _t291 = _t290 & 0x00000001u;
/* 028D047C */ if (_t291) goto L_028D04A0; else goto L_028D0480;
L_028D0480: ; // 0x28d0480
/* 028D0480 */ _t292 = cpu->r[8] + 0x00000004u;
/* 028D0480 */ cpu->r[7] = rbrew_read32(cpu->mem, _t292);
/* 028D0484 */ _t293 = cpu->r[31] + 0x00000000u;
/* 028D0484 */ rbrew_write32(cpu->mem, _t293, cpu->r[7]);
/* 028D0488 */ _t294 = cpu->r[8] + 0x00000004u;
/* 028D0488 */ rbrew_write32(cpu->mem, _t294, cpu->r[31]);
/* 028D048C */ _t295 = cpu->r[31] + 0x00000008u;
/* 028D048C */ cpu->r[9] = rbrew_read32(cpu->mem, _t295);
/* 028D0490 */ _t296 = cpu->r[8] + 0x00000008u;
/* 028D0490 */ rbrew_write32(cpu->mem, _t296, cpu->r[9]);
/* 028D0494 */ _t297 = cpu->r[31] + 0x00000008u;
/* 028D0494 */ rbrew_write32(cpu->mem, _t297, cpu->r[29]);
/* 028D0498 */ cpu->r[31] = cpu->r[8];
/* 028D049C */ _t298 = cpu->r[31] + 0x00000000u;
/* 028D049C */ cpu->r[8] = rbrew_read32(cpu->mem, _t298);
L_028D04A0: ; // 0x28d04a0
/* 028D04A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028D04A4 */ _t299 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D04A4 */ _t300 = _t299 & 0x00000001u;
/* 028D04A4 */ if (_t300) goto L_028D0508; else goto L_028D04A8;
L_028D04A8: ; // 0x28d04a8
/* 028D04A8 */ _t301 = cpu->r[8] + 0x00000008u;
/* 028D04A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t301);
/* 028D04AC */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028D04B0 */ cpu->r[7] = cpu->r[11] ^ 0x00000001u;
/* 028D04B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
/* 028D04B8 */ _t302 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D04B8 */ _t303 = _t302 & 0x00000001u;
/* 028D04B8 */ if (_t303) goto L_028D0508; else goto L_028D04BC;
L_028D04BC: ; // 0x28d04bc
/* 028D04BC */ _t304 = cpu->r[31] + 0x00000004u;
/* 028D04BC */ cpu->r[8] = rbrew_read32(cpu->mem, _t304);
/* 028D04C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028D04C4 */ _t305 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D04C4 */ _t306 = _t305 & 0x00000001u;
/* 028D04C4 */ if (_t306) goto L_028D0508; else goto L_028D04C8;
L_028D04C8: ; // 0x28d04c8
/* 028D04C8 */ _t307 = cpu->r[8] + 0x00000008u;
/* 028D04C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t307);
/* 028D04CC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028D04D0 */ cpu->r[9] = cpu->r[0] ^ 0x00000001u;
/* 028D04D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028D04D8 */ _t308 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D04D8 */ _t309 = _t308 & 0x00000001u;
/* 028D04D8 */ if (_t309) goto L_028D0508; else goto L_028D04DC;
L_028D04DC: ; // 0x28d04dc
/* 028D04DC */ _t310 = cpu->r[31] + 0x00000008u;
/* 028D04DC */ cpu->r[5] = rbrew_read32(cpu->mem, _t310);
/* 028D04E0 */ _t311 = cpu->r[31] + 0x00000000u;
/* 028D04E0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t311);
/* 028D04E4 */ cpu->r[5] = cpu->r[5] ^ 0x00000001u;
/* 028D04E8 */ _t312 = cpu->r[31] + 0x00000008u;
/* 028D04E8 */ rbrew_write32(cpu->mem, _t312, cpu->r[5]);
/* 028D04EC */ _t313 = cpu->r[8] + 0x00000008u;
/* 028D04EC */ cpu->r[6] = rbrew_read32(cpu->mem, _t313);
/* 028D04F0 */ cpu->r[6] = cpu->r[6] ^ 0x00000001u;
/* 028D04F4 */ _t314 = cpu->r[8] + 0x00000008u;
/* 028D04F4 */ rbrew_write32(cpu->mem, _t314, cpu->r[6]);
/* 028D04F8 */ _t315 = cpu->r[31] + 0x00000004u;
/* 028D04F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t315);
/* 028D04FC */ _t316 = cpu->r[12] + 0x00000008u;
/* 028D04FC */ cpu->r[7] = rbrew_read32(cpu->mem, _t316);
/* 028D0500 */ cpu->r[7] = cpu->r[7] ^ 0x00000001u;
/* 028D0504 */ _t317 = cpu->r[12] + 0x00000008u;
/* 028D0504 */ rbrew_write32(cpu->mem, _t317, cpu->r[7]);
L_028D0508: ; // 0x28d0508
/* 028D0508 */ _t318 = cpu->r[28] + 0x00000004u;
/* 028D0508 */ rbrew_write32(cpu->mem, _t318, cpu->r[31]);
/* 028D050C */ _t319 = cpu->r[30] + 0x00000000u;
/* 028D050C */ cpu->r[9] = rbrew_read32(cpu->mem, _t319);
/* 028D0510 */ _t320 = cpu->r[28] + 0x00000000u;
/* 028D0510 */ rbrew_write32(cpu->mem, _t320, cpu->r[9]);
/* 028D0514 */ _t321 = cpu->r[30] + 0x00000008u;
/* 028D0514 */ cpu->r[0] = rbrew_read32(cpu->mem, _t321);
/* 028D0518 */ _t322 = cpu->r[28] + 0x00000008u;
/* 028D0518 */ rbrew_write32(cpu->mem, _t322, cpu->r[0]);
/* 028D051C */ _t323 = cpu->r[30] + 0x00000014u;
/* 028D051C */ cpu->r[11] = rbrew_read32(cpu->mem, _t323);
/* 028D0520 */ _t324 = cpu->r[11] + 0x00000014u;
/* 028D0520 */ cpu->r[5] = rbrew_read32(cpu->mem, _t324);
/* 028D0524 */ cpu->ctr = cpu->r[5];
/* 028D0528 */ cpu->r[3] = cpu->r[30];
/* 028D052C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028D0530 */ cpu->r[30] = cpu->r[28];
/* 028D0534 */ _t325 = cpu->r[30] + 0x00000004u;
/* 028D0534 */ cpu->r[9] = rbrew_read32(cpu->mem, _t325);
/* 028D0538 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028D053C */ _t326 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D053C */ _t327 = _t326 & 0x00000001u;
/* 028D053C */ if (_t327) goto L_028D0590; else goto L_028D0540;
L_028D0540: ; // 0x28d0540
/* 028D0540 */ goto L_028D0560;
L_028D0544: ; // 0x28d0544
/* 028D0544 */ _t328 = cpu->r[30] + 0x00000004u;
/* 028D0544 */ cpu->r[4] = rbrew_read32(cpu->mem, _t328);
/* 028D0548 */ cpu->r[5] = cpu->r[31];
/* 028D054C */ cpu->r[3] = cpu->r[28];
/* 028D0550 */ Gambit_fn_028CFE0C(cpu);
/* 028D0554 */ cpu->r[9] = cpu->r[3];
/* 028D0554 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
/* 028D0558 */ _t329 = cpu->r[30] + 0x00000004u;
/* 028D0558 */ rbrew_write32(cpu->mem, _t329, cpu->r[3]);
/* 028D055C */ _t330 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D055C */ _t331 = _t330 & 0x00000001u;
/* 028D055C */ if (_t331) goto L_028D0590; else goto L_028D0560;
L_028D0560: ; // 0x28d0560
/* 028D0560 */ _t332 = cpu->r[9] + 0x00000008u;
/* 028D0560 */ cpu->r[7] = rbrew_read32(cpu->mem, _t332);
/* 028D0564 */ cpu->r[6] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028D0568 */ cpu->r[10] = cpu->r[6] ^ 0x00000001u;
/* 028D056C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028D0570 */ _t333 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0570 */ _t334 = _t333 & 0x00000001u;
/* 028D0570 */ if (_t334) goto L_028D0590; else goto L_028D0574;
L_028D0574: ; // 0x28d0574
/* 028D0574 */ _t335 = cpu->r[9] + 0x00000000u;
/* 028D0574 */ cpu->r[8] = rbrew_read32(cpu->mem, _t335);
/* 028D0578 */ _t336 = cpu->r[30] + 0x00000004u;
/* 028D0578 */ rbrew_write32(cpu->mem, _t336, cpu->r[8]);
/* 028D057C */ _t337 = cpu->r[9] + 0x00000000u;
/* 028D057C */ rbrew_write32(cpu->mem, _t337, cpu->r[30]);
/* 028D0580 */ _t338 = cpu->r[30] + 0x00000008u;
/* 028D0580 */ cpu->r[0] = rbrew_read32(cpu->mem, _t338);
/* 028D0584 */ _t339 = cpu->r[9] + 0x00000008u;
/* 028D0584 */ rbrew_write32(cpu->mem, _t339, cpu->r[0]);
/* 028D0588 */ _t340 = cpu->r[30] + 0x00000008u;
/* 028D0588 */ rbrew_write32(cpu->mem, _t340, cpu->r[29]);
/* 028D058C */ cpu->r[30] = cpu->r[9];
L_028D0590: ; // 0x28d0590
/* 028D0590 */ _t341 = cpu->r[30] + 0x00000000u;
/* 028D0590 */ cpu->r[10] = rbrew_read32(cpu->mem, _t341);
/* 028D0594 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028D0598 */ _t342 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0598 */ _t343 = _t342 & 0x00000001u;
/* 028D0598 */ if (_t343) goto L_028D05F0; else goto L_028D059C;
L_028D059C: ; // 0x28d059c
/* 028D059C */ _t344 = cpu->r[10] + 0x00000008u;
/* 028D059C */ cpu->r[6] = rbrew_read32(cpu->mem, _t344);
/* 028D05A0 */ cpu->r[4] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028D05A4 */ cpu->r[11] = cpu->r[4] ^ 0x00000001u;
/* 028D05A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028D05AC */ _t345 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D05AC */ _t346 = _t345 & 0x00000001u;
/* 028D05AC */ if (_t346) goto L_028D05F0; else goto L_028D05B0;
L_028D05B0: ; // 0x28d05b0
/* 028D05B0 */ _t347 = cpu->r[10] + 0x00000000u;
/* 028D05B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t347);
/* 028D05B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028D05B8 */ _t348 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D05B8 */ _t349 = _t348 & 0x00000001u;
/* 028D05B8 */ if (_t349) goto L_028D05F0; else goto L_028D05BC;
L_028D05BC: ; // 0x28d05bc
/* 028D05BC */ _t350 = cpu->r[12] + 0x00000008u;
/* 028D05BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t350);
/* 028D05C0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028D05C4 */ cpu->r[0] = cpu->r[7] ^ 0x00000001u;
/* 028D05C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028D05CC */ _t351 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D05CC */ _t352 = _t351 & 0x00000001u;
/* 028D05CC */ if (_t352) goto L_028D05F0; else goto L_028D05D0;
L_028D05D0: ; // 0x28d05d0
/* 028D05D0 */ _t353 = cpu->r[10] + 0x00000004u;
/* 028D05D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t353);
/* 028D05D4 */ _t354 = cpu->r[30] + 0x00000000u;
/* 028D05D4 */ rbrew_write32(cpu->mem, _t354, cpu->r[12]);
/* 028D05D8 */ _t355 = cpu->r[10] + 0x00000004u;
/* 028D05D8 */ rbrew_write32(cpu->mem, _t355, cpu->r[30]);
/* 028D05DC */ _t356 = cpu->r[30] + 0x00000008u;
/* 028D05DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t356);
/* 028D05E0 */ _t357 = cpu->r[10] + 0x00000008u;
/* 028D05E0 */ rbrew_write32(cpu->mem, _t357, cpu->r[0]);
/* 028D05E4 */ _t358 = cpu->r[30] + 0x00000008u;
/* 028D05E4 */ rbrew_write32(cpu->mem, _t358, cpu->r[29]);
/* 028D05E8 */ cpu->r[30] = cpu->r[10];
/* 028D05EC */ _t359 = cpu->r[30] + 0x00000000u;
/* 028D05EC */ cpu->r[10] = rbrew_read32(cpu->mem, _t359);
L_028D05F0: ; // 0x28d05f0
/* 028D05F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028D05F4 */ _t360 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D05F4 */ _t361 = _t360 & 0x00000001u;
/* 028D05F4 */ if (_t361) goto L_028D0658; else goto L_028D05F8;
L_028D05F8: ; // 0x28d05f8
/* 028D05F8 */ _t362 = cpu->r[10] + 0x00000008u;
/* 028D05F8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t362);
/* 028D05FC */ cpu->r[6] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028D0600 */ cpu->r[4] = cpu->r[6] ^ 0x00000001u;
/* 028D0604 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028D0608 */ _t363 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0608 */ _t364 = _t363 & 0x00000001u;
/* 028D0608 */ if (_t364) goto L_028D0658; else goto L_028D060C;
L_028D060C: ; // 0x28d060c
/* 028D060C */ _t365 = cpu->r[30] + 0x00000004u;
/* 028D060C */ cpu->r[5] = rbrew_read32(cpu->mem, _t365);
/* 028D0610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
/* 028D0614 */ _t366 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0614 */ _t367 = _t366 & 0x00000001u;
/* 028D0614 */ if (_t367) goto L_028D0658; else goto L_028D0618;
L_028D0618: ; // 0x28d0618
/* 028D0618 */ _t368 = cpu->r[5] + 0x00000008u;
/* 028D0618 */ cpu->r[9] = rbrew_read32(cpu->mem, _t368);
/* 028D061C */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028D0620 */ cpu->r[6] = cpu->r[8] ^ 0x00000001u;
/* 028D0624 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
/* 028D0628 */ _t369 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0628 */ _t370 = _t369 & 0x00000001u;
/* 028D0628 */ if (_t370) goto L_028D0658; else goto L_028D062C;
L_028D062C: ; // 0x28d062c
/* 028D062C */ _t371 = cpu->r[30] + 0x00000008u;
/* 028D062C */ cpu->r[11] = rbrew_read32(cpu->mem, _t371);
/* 028D0630 */ _t372 = cpu->r[30] + 0x00000000u;
/* 028D0630 */ cpu->r[10] = rbrew_read32(cpu->mem, _t372);
/* 028D0634 */ cpu->r[11] = cpu->r[11] ^ 0x00000001u;
/* 028D0638 */ _t373 = cpu->r[30] + 0x00000008u;
/* 028D0638 */ rbrew_write32(cpu->mem, _t373, cpu->r[11]);
/* 028D063C */ _t374 = cpu->r[10] + 0x00000008u;
/* 028D063C */ cpu->r[12] = rbrew_read32(cpu->mem, _t374);
/* 028D0640 */ cpu->r[12] = cpu->r[12] ^ 0x00000001u;
/* 028D0644 */ _t375 = cpu->r[10] + 0x00000008u;
/* 028D0644 */ rbrew_write32(cpu->mem, _t375, cpu->r[12]);
/* 028D0648 */ _t376 = cpu->r[30] + 0x00000004u;
/* 028D0648 */ cpu->r[9] = rbrew_read32(cpu->mem, _t376);
/* 028D064C */ _t377 = cpu->r[9] + 0x00000008u;
/* 028D064C */ cpu->r[0] = rbrew_read32(cpu->mem, _t377);
/* 028D0650 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
/* 028D0654 */ _t378 = cpu->r[9] + 0x00000008u;
/* 028D0654 */ rbrew_write32(cpu->mem, _t378, cpu->r[0]);
L_028D0658: ; // 0x28d0658
/* 028D0658 */ cpu->r[3] = cpu->r[30];
/* 028D065C */ /* nop */
/* 028D0660 */ _t379 = cpu->r[1] + 0x00000024u;
/* 028D0660 */ cpu->r[0] = rbrew_read32(cpu->mem, _t379);
/* 028D0664 */ cpu->lr = cpu->r[0];
/* 028D0668 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028D066C */ return;
}
// fn_028D0670 @ 0x28d0670
void Gambit_fn_028D0670(CPUState* cpu) {
L_028D0670: ; // 0x28d0670
/* 028D0670 */ cpu->r[3] = 0x00000000u;
/* 028D0674 */ return;
}
// fn_028D0678 @ 0x28d0678
void Gambit_fn_028D0678(CPUState* cpu) {
L_028D0678: ; // 0x28d0678
/* 028D0678 */ cpu->r[3] = 0x00000000u;
/* 028D067C */ return;
}
// fn_028D0680 @ 0x28d0680
void Gambit_fn_028D0680(CPUState* cpu) {
L_028D0680: ; // 0x28d0680
/* 028D0680 */ cpu->r[3] = 0x00000000u;
/* 028D0684 */ return;
}
// fn_028D0688 @ 0x28d0688
void Gambit_fn_028D0688(CPUState* cpu) {
L_028D0688: ; // 0x28d0688
/* 028D0688 */ return;
}
// fn_028D068C @ 0x28d068c
void Gambit_fn_028D068C(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_028D068C: ; // 0x28d068c
/* 028D068C */ cpu->r[0] = cpu->lr;
/* 028D0690 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D0690 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D0690 */ cpu->r[1] = _t0;
/* 028D0694 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028D0694 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028D0698 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028D0698 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028D069C */ cpu->r[31] = cpu->r[3];
/* 028D06A0 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028D06A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028D06A4 */ _t4 = cpu->r[31] + 0x00000054u;
/* 028D06A4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
/* 028D06A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028D06AC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D06AC */ _t6 = _t5 & 0x00000001u;
/* 028D06AC */ if (_t6) goto L_028D06EC; else goto L_028D06B0;
L_028D06B0: ; // 0x28d06b0
/* 028D06B0 */ _t7 = cpu->r[31] + 0x00000058u;
/* 028D06B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
/* 028D06B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D06B8 */ cpu->r[30] = 0x00000000u;
/* 028D06BC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D06BC */ _t9 = _t8 & 0x00000001u;
/* 028D06BC */ if (_t9) goto L_028D06E8; else goto L_028D06C0;
L_028D06C0: ; // 0x28d06c0
/* 028D06C0 */ Gambit_fn_028D0E84(cpu);
/* 028D06C4 */ _t10 = cpu->r[31] + 0x00000058u;
/* 028D06C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
/* 028D06C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D06CC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D06CC */ _t12 = _t11 & 0x00000001u;
/* 028D06CC */ if (_t12) goto L_028D06E4; else goto L_028D06D0;
L_028D06D0: ; // 0x28d06d0
/* 028D06D0 */ _t13 = cpu->r[3] + 0x0000003Cu;
/* 028D06D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
/* 028D06D4 */ _t14 = cpu->r[11] + 0x0000000Cu;
/* 028D06D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028D06D8 */ cpu->ctr = cpu->r[0];
/* 028D06DC */ cpu->r[4] = 0x00000003u;
/* 028D06E0 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028D06E4: ; // 0x28d06e4
/* 028D06E4 */ _t15 = cpu->r[31] + 0x00000058u;
/* 028D06E4 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
L_028D06E8: ; // 0x28d06e8
/* 028D06E8 */ _t16 = cpu->r[31] + 0x00000054u;
/* 028D06E8 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[30]);
L_028D06EC: ; // 0x28d06ec
/* 028D06EC */ _t17 = cpu->r[1] + 0x00000014u;
/* 028D06EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028D06F0 */ _t18 = cpu->r[1] + 0x00000008u;
/* 028D06F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
/* 028D06F4 */ cpu->lr = cpu->r[0];
/* 028D06F8 */ _t19 = cpu->r[1] + 0x0000000Cu;
/* 028D06F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
/* 028D06FC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D0700 */ return;
}
// fn_028D0690 @ 0x28d0690
void Gambit_fn_028D0690(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_028D0690: ; // 0x28d0690
/* 028D0690 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D0690 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D0690 */ cpu->r[1] = _t0;
/* 028D0694 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028D0694 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028D0698 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028D0698 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028D069C */ cpu->r[31] = cpu->r[3];
/* 028D06A0 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028D06A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028D06A4 */ _t4 = cpu->r[31] + 0x00000054u;
/* 028D06A4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
/* 028D06A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028D06AC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D06AC */ _t6 = _t5 & 0x00000001u;
/* 028D06AC */ if (_t6) goto L_028D06EC; else goto L_028D06B0;
L_028D06B0: ; // 0x28d06b0
/* 028D06B0 */ _t7 = cpu->r[31] + 0x00000058u;
/* 028D06B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
/* 028D06B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D06B8 */ cpu->r[30] = 0x00000000u;
/* 028D06BC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D06BC */ _t9 = _t8 & 0x00000001u;
/* 028D06BC */ if (_t9) goto L_028D06E8; else goto L_028D06C0;
L_028D06C0: ; // 0x28d06c0
/* 028D06C0 */ Gambit_fn_028D0E84(cpu);
/* 028D06C4 */ _t10 = cpu->r[31] + 0x00000058u;
/* 028D06C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
/* 028D06C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D06CC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D06CC */ _t12 = _t11 & 0x00000001u;
/* 028D06CC */ if (_t12) goto L_028D06E4; else goto L_028D06D0;
L_028D06D0: ; // 0x28d06d0
/* 028D06D0 */ _t13 = cpu->r[3] + 0x0000003Cu;
/* 028D06D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
/* 028D06D4 */ _t14 = cpu->r[11] + 0x0000000Cu;
/* 028D06D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028D06D8 */ cpu->ctr = cpu->r[0];
/* 028D06DC */ cpu->r[4] = 0x00000003u;
/* 028D06E0 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028D06E4: ; // 0x28d06e4
/* 028D06E4 */ _t15 = cpu->r[31] + 0x00000058u;
/* 028D06E4 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
L_028D06E8: ; // 0x28d06e8
/* 028D06E8 */ _t16 = cpu->r[31] + 0x00000054u;
/* 028D06E8 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[30]);
L_028D06EC: ; // 0x28d06ec
/* 028D06EC */ _t17 = cpu->r[1] + 0x00000014u;
/* 028D06EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028D06F0 */ _t18 = cpu->r[1] + 0x00000008u;
/* 028D06F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
/* 028D06F4 */ cpu->lr = cpu->r[0];
/* 028D06F8 */ _t19 = cpu->r[1] + 0x0000000Cu;
/* 028D06F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
/* 028D06FC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D0700 */ return;
}
// fn_028D0704 @ 0x28d0704
void Gambit_fn_028D0704(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
L_028D0704: ; // 0x28d0704
/* 028D0704 */ cpu->r[0] = cpu->lr;
/* 028D0708 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D0708 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D0708 */ cpu->r[1] = _t0;
/* 028D070C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028D070C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028D0710 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028D0710 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028D0714 */ cpu->r[30] = cpu->r[3];
/* 028D0714 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028D0718 */ cpu->r[31] = cpu->r[4];
/* 028D071C */ _t3 = cpu->r[1] + 0x00000014u;
/* 028D071C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028D0720 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0720 */ _t5 = _t4 & 0x00000001u;
/* 028D0720 */ if (_t5) goto L_028D0760; else goto L_028D0724;
L_028D0724: ; // 0x28d0724
/* 028D0724 */ cpu->r[10] = 0x10140000u;
/* 028D0728 */ cpu->r[0] = 0x10140000u;
/* 028D072C */ cpu->r[10] = cpu->r[10] + 0xFFFFA45Cu;
/* 028D0730 */ cpu->r[0] = cpu->r[0] + 0xFFFFA54Cu;
/* 028D0734 */ _t6 = cpu->r[30] + 0x00000008u;
/* 028D0734 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
/* 028D0738 */ cpu->r[12] = 0x10140000u;
/* 028D073C */ _t7 = cpu->r[30] + 0x00000050u;
/* 028D073C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028D0740 */ cpu->r[12] = cpu->r[12] + 0xFFFFA52Cu;
/* 028D0744 */ cpu->r[3] = cpu->r[30];
/* 028D0748 */ _t8 = cpu->r[30] + 0x00000038u;
/* 028D0748 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
/* 028D074C */ Gambit_fn_028D068C(cpu);
/* 028D0750 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028D0750 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028D0754 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0754 */ _t10 = _t9 & 0x00000001u;
/* 028D0754 */ if (_t10) goto L_028D0760; else goto L_028D0758;
L_028D0758: ; // 0x28d0758
/* 028D0758 */ cpu->r[3] = cpu->r[30];
/* 028D075C */ Gambit_fn_02801BB0(cpu);
L_028D0760: ; // 0x28d0760
/* 028D0760 */ _t11 = cpu->r[1] + 0x00000014u;
/* 028D0760 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028D0764 */ _t12 = cpu->r[1] + 0x00000008u;
/* 028D0764 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
/* 028D0768 */ cpu->lr = cpu->r[0];
/* 028D076C */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028D076C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
/* 028D0770 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D0774 */ return;
}
// fn_028D0708 @ 0x28d0708
void Gambit_fn_028D0708(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
L_028D0708: ; // 0x28d0708
/* 028D0708 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D0708 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D0708 */ cpu->r[1] = _t0;
/* 028D070C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028D070C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028D0710 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028D0710 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028D0714 */ cpu->r[30] = cpu->r[3];
/* 028D0714 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028D0718 */ cpu->r[31] = cpu->r[4];
/* 028D071C */ _t3 = cpu->r[1] + 0x00000014u;
/* 028D071C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028D0720 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0720 */ _t5 = _t4 & 0x00000001u;
/* 028D0720 */ if (_t5) goto L_028D0760; else goto L_028D0724;
L_028D0724: ; // 0x28d0724
/* 028D0724 */ cpu->r[10] = 0x10140000u;
/* 028D0728 */ cpu->r[0] = 0x10140000u;
/* 028D072C */ cpu->r[10] = cpu->r[10] + 0xFFFFA45Cu;
/* 028D0730 */ cpu->r[0] = cpu->r[0] + 0xFFFFA54Cu;
/* 028D0734 */ _t6 = cpu->r[30] + 0x00000008u;
/* 028D0734 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
/* 028D0738 */ cpu->r[12] = 0x10140000u;
/* 028D073C */ _t7 = cpu->r[30] + 0x00000050u;
/* 028D073C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028D0740 */ cpu->r[12] = cpu->r[12] + 0xFFFFA52Cu;
/* 028D0744 */ cpu->r[3] = cpu->r[30];
/* 028D0748 */ _t8 = cpu->r[30] + 0x00000038u;
/* 028D0748 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
/* 028D074C */ Gambit_fn_028D068C(cpu);
/* 028D0750 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028D0750 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028D0754 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0754 */ _t10 = _t9 & 0x00000001u;
/* 028D0754 */ if (_t10) goto L_028D0760; else goto L_028D0758;
L_028D0758: ; // 0x28d0758
/* 028D0758 */ cpu->r[3] = cpu->r[30];
/* 028D075C */ Gambit_fn_02801BB0(cpu);
L_028D0760: ; // 0x28d0760
/* 028D0760 */ _t11 = cpu->r[1] + 0x00000014u;
/* 028D0760 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028D0764 */ _t12 = cpu->r[1] + 0x00000008u;
/* 028D0764 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
/* 028D0768 */ cpu->lr = cpu->r[0];
/* 028D076C */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028D076C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
/* 028D0770 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D0774 */ return;
}
// fn_028D0778 @ 0x28d0778
void Gambit_fn_028D0778(CPUState* cpu) {
uint32_t _t0, _t1;
L_028D0778: ; // 0x28d0778
/* 028D0778 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFC8u;
/* 028D077C */ goto L_028D0BD8;
L_028D0BD8: ; // 0x28d0bd8
/* 028D0BD8 */ _t0 = cpu->r[3] + 0x00000148u;
/* 028D0BD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028D0BDC */ cpu->r[0] = (uint32_t)(-(int32_t)cpu->r[12]);
/* 028D0BE0 */ _t1 = ~cpu->r[12];
/* 028D0BE0 */ cpu->r[0] = cpu->r[0] & _t1;
/* 028D0BE4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
/* 028D0BE8 */ return;
}
// fn_028D0780 @ 0x28d0780
void Gambit_fn_028D0780(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028D0780: ; // 0x28d0780
/* 028D0780 */ _t0 = cpu->r[3] + 0x0000003Cu;
/* 028D0780 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
/* 028D0784 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D0788 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0788 */ _t2 = _t1 & 0x00000001u;
/* 028D0788 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028D0788 */ goto L_028D078C;
L_028D078C: ; // 0x28d078c
/* 028D078C */ _t3 = cpu->r[3] + 0x00000010u;
/* 028D078C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
/* 028D0790 */ return;
}
// fn_028D0794 @ 0x28d0794
void Gambit_fn_028D0794(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
L_028D0794: ; // 0x28d0794
/* 028D0794 */ _t0 = cpu->r[3] + 0x0000003Cu;
/* 028D0794 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028D0798 */ cpu->r[3] = 0x00000000u;
/* 028D079C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028D07A0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D07A0 */ _t2 = _t1 & 0x00000001u;
/* 028D07A0 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028D07A0 */ goto L_028D07A4;
L_028D07A4: ; // 0x28d07a4
/* 028D07A4 */ _t3 = cpu->r[12] + 0x00000000u;
/* 028D07A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
/* 028D07A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028D07AC */ cpu->r[3] = cpu->r[3] + 0x00000001u;
/* 028D07B0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D07B0 */ _t5 = _t4 & 0x00000001u;
/* 028D07B0 */ if (_t5) goto L_028D07B4; else goto L_028D07A4;
L_028D07B4: ; // 0x28d07b4
/* 028D07B4 */ return;
}
// fn_028D07B8 @ 0x28d07b8
void Gambit_fn_028D07B8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _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_028D07B8: ; // 0x28d07b8
/* 028D07B8 */ cpu->r[0] = cpu->lr;
/* 028D07BC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028D07BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D07BC */ cpu->r[1] = _t0;
/* 028D07C0 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028D07C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028D07C4 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028D07C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
/* 028D07C8 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028D07C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028D07CC */ _t4 = cpu->r[1] + 0x00000010u;
/* 028D07CC */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
/* 028D07D0 */ cpu->r[31] = cpu->r[3];
/* 028D07D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028D07D4 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028D07D4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028D07D8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D07D8 */ _t7 = _t6 & 0x00000001u;
/* 028D07D8 */ if (_t7) goto L_028D07DC; else goto L_028D07EC;
L_028D07DC: ; // 0x28d07dc
/* 028D07DC */ cpu->r[3] = 0x00000158u;
/* 028D07E0 */ Gambit_fn_02801A78(cpu);
/* 028D07E4 */ cpu->r[31] = cpu->r[3];
/* 028D07E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028D07E8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D07E8 */ _t9 = _t8 & 0x00000001u;
/* 028D07E8 */ if (_t9) goto L_028D0970; else goto L_028D07EC;
L_028D07EC: ; // 0x28d07ec
/* 028D07EC */ cpu->r[28] = cpu->r[31];
/* 028D07EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028D07F0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D07F0 */ _t11 = _t10 & 0x00000001u;
/* 028D07F0 */ if (_t11) goto L_028D07F4; else goto L_028D0804;
L_028D07F4: ; // 0x28d07f4
/* 028D07F4 */ cpu->r[3] = 0x00000038u;
/* 028D07F8 */ Gambit_fn_02801A78(cpu);
/* 028D07FC */ cpu->r[28] = cpu->r[3];
/* 028D07FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028D0800 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0800 */ _t13 = _t12 & 0x00000001u;
/* 028D0800 */ if (_t13) goto L_028D08D4; else goto L_028D0804;
L_028D0804: ; // 0x28d0804
/* 028D0804 */ cpu->r[3] = cpu->r[28];
/* 028D0804 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D0808 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0808 */ _t15 = _t14 & 0x00000001u;
/* 028D0808 */ if (_t15) goto L_028D080C; else goto L_028D081C;
L_028D080C: ; // 0x28d080c
/* 028D080C */ cpu->r[3] = 0x00000008u;
/* 028D0810 */ Gambit_fn_02801A78(cpu);
/* 028D0814 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D0818 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0818 */ _t17 = _t16 & 0x00000001u;
/* 028D0818 */ if (_t17) goto L_028D0834; else goto L_028D081C;
L_028D081C: ; // 0x28d081c
/* 028D081C */ cpu->r[9] = 0x10140000u;
/* 028D0820 */ cpu->r[10] = 0x10140000u;
/* 028D0824 */ cpu->r[9] = cpu->r[9] + 0xFFFFA378u;
/* 028D0828 */ cpu->r[10] = cpu->r[10] + 0xFFFFA374u;
/* 028D082C */ _t18 = cpu->r[3] + 0x00000004u;
/* 028D082C */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
/* 028D0830 */ _t19 = cpu->r[3] + 0x00000000u;
/* 028D0830 */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
L_028D0834: ; // 0x28d0834
/* 028D0834 */ cpu->r[11] = 0x10140000u;
/* 028D0838 */ cpu->r[29] = cpu->r[28] + 0x0000000Cu;
/* 028D0838 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028D083C */ cpu->r[11] = cpu->r[11] + 0xFFFFA410u;
/* 028D0840 */ _t20 = cpu->r[28] + 0x00000008u;
/* 028D0840 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
/* 028D0844 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0844 */ _t22 = _t21 & 0x00000001u;
/* 028D0844 */ if (_t22) goto L_028D0848; else goto L_028D0858;
L_028D0848: ; // 0x28d0848
/* 028D0848 */ cpu->r[3] = 0x0000002Cu;
/* 028D084C */ Gambit_fn_02801A78(cpu);
/* 028D0850 */ cpu->r[29] = cpu->r[3];
/* 028D0850 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028D0854 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0854 */ _t24 = _t23 & 0x00000001u;
/* 028D0854 */ if (_t24) goto L_028D08C8; else goto L_028D0858;
L_028D0858: ; // 0x28d0858
/* 028D0858 */ cpu->r[3] = cpu->r[29];
/* 028D0858 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D085C */ cpu->r[30] = 0x10110000u;
/* 028D0860 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0860 */ _t26 = _t25 & 0x00000001u;
/* 028D0860 */ if (_t26) goto L_028D0864; else goto L_028D0890;
L_028D0864: ; // 0x28d0864
/* 028D0864 */ cpu->r[3] = 0x0000000Cu;
/* 028D0868 */ Gambit_fn_02801A78(cpu);
/* 028D086C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D0870 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0870 */ _t28 = _t27 & 0x00000001u;
/* 028D0870 */ if (_t28) goto L_028D0874; else goto L_028D0890;
L_028D0874: ; // 0x28d0874
/* 028D0874 */ cpu->r[10] = 0x10140000u;
/* 028D0878 */ _t29 = cpu->r[30] + 0x00007399u;
/* 028D0878 */ cpu->r[0] = rbrew_read8(cpu->mem, _t29);
/* 028D087C */ cpu->r[10] = cpu->r[10] + 0xFFFFA428u;
/* 028D0880 */ _t30 = cpu->r[29] + 0x00000000u;
/* 028D0880 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
/* 028D0884 */ _t31 = cpu->r[29] + 0x00000004u;
/* 028D0884 */ rbrew_write32(cpu->mem, _t31, cpu->r[10]);
/* 028D0888 */ _t32 = cpu->r[11] + 0x00000000u;
/* 028D0888 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[0]);
/* 028D088C */ goto L_028D08C8;
L_028D0890: ; // 0x28d0890
/* 028D0890 */ cpu->r[0] = 0x10140000u;
/* 028D0894 */ cpu->r[12] = cpu->r[29] + 0x0000000Cu;
/* 028D0898 */ cpu->r[0] = cpu->r[0] + 0xFFFFA390u;
/* 028D089C */ _t33 = cpu->r[3] + 0x00000000u;
/* 028D089C */ rbrew_write32(cpu->mem, _t33, cpu->r[12]);
/* 028D08A0 */ cpu->r[9] = 0x00000020u;
/* 028D08A4 */ _t34 = cpu->r[3] + 0x00000004u;
/* 028D08A4 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
/* 028D08A8 */ _t35 = cpu->r[3] + 0x00000008u;
/* 028D08A8 */ rbrew_write32(cpu->mem, _t35, cpu->r[9]);
/* 028D08AC */ _t36 = cpu->r[30] + 0x00007399u;
/* 028D08AC */ cpu->r[0] = rbrew_read8(cpu->mem, _t36);
/* 028D08B0 */ cpu->r[10] = 0x10140000u;
/* 028D08B4 */ _t37 = cpu->r[29] + 0x00000000u;
/* 028D08B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t37);
/* 028D08B8 */ cpu->r[10] = cpu->r[10] + 0xFFFFA428u;
/* 028D08BC */ _t38 = cpu->r[29] + 0x0000002Bu;
/* 028D08BC */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[0]);
/* 028D08C0 */ _t39 = cpu->r[29] + 0x00000004u;
/* 028D08C0 */ rbrew_write32(cpu->mem, _t39, cpu->r[10]);
/* 028D08C4 */ _t40 = cpu->r[11] + 0x00000000u;
/* 028D08C4 */ rbrew_write8(cpu->mem, _t40, (uint8_t)cpu->r[0]);
L_028D08C8: ; // 0x28d08c8
/* 028D08C8 */ cpu->r[12] = 0x10140000u;
/* 028D08CC */ cpu->r[12] = cpu->r[12] + 0xFFFFA440u;
/* 028D08D0 */ _t41 = cpu->r[28] + 0x00000010u;
/* 028D08D0 */ rbrew_write32(cpu->mem, _t41, cpu->r[12]);
L_028D08D4: ; // 0x28d08d4
/* 028D08D4 */ cpu->r[0] = 0x10140000u;
/* 028D08D8 */ cpu->r[0] = cpu->r[0] + 0xFFFFA3F0u;
/* 028D08DC */ cpu->r[30] = cpu->r[31] + 0x0000003Cu;
/* 028D08DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028D08E0 */ _t42 = cpu->r[31] + 0x00000038u;
/* 028D08E0 */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
/* 028D08E4 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D08E4 */ _t44 = _t43 & 0x00000001u;
/* 028D08E4 */ if (_t44) goto L_028D08E8; else goto L_028D08F8;
L_028D08E8: ; // 0x28d08e8
/* 028D08E8 */ cpu->r[3] = 0x00000014u;
/* 028D08EC */ Gambit_fn_02801A78(cpu);
/* 028D08F0 */ cpu->r[30] = cpu->r[3];
/* 028D08F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028D08F4 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D08F4 */ _t46 = _t45 & 0x00000001u;
/* 028D08F4 */ if (_t46) goto L_028D0904; else goto L_028D08F8;
L_028D08F8: ; // 0x28d08f8
/* 028D08F8 */ cpu->r[3] = cpu->r[30];
/* 028D08FC */ Gambit_fn_028029E4(cpu);
/* 028D0900 */ _t47 = cpu->r[30] + 0x00000010u;
/* 028D0900 */ rbrew_write32(cpu->mem, _t47, cpu->r[31]);
L_028D0904: ; // 0x28d0904
/* 028D0904 */ cpu->r[6] = 0x10140000u;
/* 028D0908 */ cpu->r[8] = 0x10140000u;
/* 028D090C */ cpu->r[6] = cpu->r[6] + 0xFFFFA45Cu;
/* 028D0910 */ cpu->r[8] = cpu->r[8] + 0xFFFFA52Cu;
/* 028D0914 */ cpu->r[0] = 0x10140000u;
/* 028D0918 */ _t48 = cpu->r[31] + 0x00000008u;
/* 028D0918 */ rbrew_write32(cpu->mem, _t48, cpu->r[6]);
/* 028D091C */ cpu->r[0] = cpu->r[0] + 0xFFFFA54Cu;
/* 028D0920 */ _t49 = cpu->r[31] + 0x00000038u;
/* 028D0920 */ rbrew_write32(cpu->mem, _t49, cpu->r[8]);
/* 028D0924 */ cpu->r[30] = 0x00000000u;
/* 028D0928 */ _t50 = cpu->r[31] + 0x00000050u;
/* 028D0928 */ rbrew_write32(cpu->mem, _t50, cpu->r[0]);
/* 028D092C */ _t51 = cpu->r[31] + 0x00000058u;
/* 028D092C */ rbrew_write32(cpu->mem, _t51, cpu->r[30]);
/* 028D0930 */ cpu->r[3] = cpu->r[31] + 0x0000005Cu;
/* 028D0934 */ _t52 = cpu->r[31] + 0x00000054u;
/* 028D0934 */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[30]);
/* 028D0938 */ Gambit_fn_028BD2E0(cpu);
/* 028D093C */ cpu->r[3] = cpu->r[31] + 0x000000A8u;
/* 028D0940 */ Gambit_fn_028BD2E0(cpu);
/* 028D0944 */ cpu->r[3] = cpu->r[31] + 0x000000F4u;
/* 028D0948 */ Gambit_fn_028BD2E0(cpu);
/* 028D094C */ _t53 = cpu->r[31] + 0x00000154u;
/* 028D094C */ rbrew_write32(cpu->mem, _t53, cpu->r[30]);
/* 028D0950 */ cpu->r[7] = 0x10140000u;
/* 028D0954 */ _t54 = cpu->r[31] + 0x00000150u;
/* 028D0954 */ rbrew_write32(cpu->mem, _t54, cpu->r[30]);
/* 028D0958 */ _t55 = cpu->r[7] + 0xFFFFA458u;
/* 028D0958 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t55);
/* 028D095C */ cpu->r[11] = 0xFFFFFFFFu;
/* 028D0960 */ _t56 = cpu->r[31] + 0x00000144u;
/* 028D0960 */ rbrew_write32(cpu->mem, _t56, cpu->r[11]);
/* 028D0964 */ _t57 = cpu->r[31] + 0x00000140u;
/* 028D0964 */ rbrew_write_f32(cpu->mem, _t57, cpu->f[0]);
/* 028D0968 */ _t58 = cpu->r[31] + 0x00000148u;
/* 028D0968 */ rbrew_write32(cpu->mem, _t58, cpu->r[30]);
/* 028D096C */ _t59 = cpu->r[31] + 0x0000014Cu;
/* 028D096C */ rbrew_write32(cpu->mem, _t59, cpu->r[30]);
L_028D0970: ; // 0x28d0970
/* 028D0970 */ _t60 = cpu->r[1] + 0x00000008u;
/* 028D0970 */ cpu->r[28] = rbrew_read32(cpu->mem, _t60);
/* 028D0974 */ _t61 = cpu->r[1] + 0x0000000Cu;
/* 028D0974 */ cpu->r[29] = rbrew_read32(cpu->mem, _t61);
/* 028D0978 */ _t62 = cpu->r[1] + 0x0000001Cu;
/* 028D0978 */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
/* 028D097C */ cpu->r[3] = cpu->r[31];
/* 028D0980 */ _t63 = cpu->r[1] + 0x00000010u;
/* 028D0980 */ cpu->r[30] = rbrew_read32(cpu->mem, _t63);
/* 028D0984 */ cpu->lr = cpu->r[0];
/* 028D0988 */ _t64 = cpu->r[1] + 0x00000014u;
/* 028D0988 */ cpu->r[31] = rbrew_read32(cpu->mem, _t64);
/* 028D098C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028D0990 */ return;
}
// fn_028D07BC @ 0x28d07bc
void Gambit_fn_028D07BC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _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_028D07BC: ; // 0x28d07bc
/* 028D07BC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028D07BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D07BC */ cpu->r[1] = _t0;
/* 028D07C0 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028D07C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028D07C4 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028D07C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
/* 028D07C8 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028D07C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028D07CC */ _t4 = cpu->r[1] + 0x00000010u;
/* 028D07CC */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
/* 028D07D0 */ cpu->r[31] = cpu->r[3];
/* 028D07D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028D07D4 */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028D07D4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028D07D8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D07D8 */ _t7 = _t6 & 0x00000001u;
/* 028D07D8 */ if (_t7) goto L_028D07DC; else goto L_028D07EC;
L_028D07DC: ; // 0x28d07dc
/* 028D07DC */ cpu->r[3] = 0x00000158u;
/* 028D07E0 */ Gambit_fn_02801A78(cpu);
/* 028D07E4 */ cpu->r[31] = cpu->r[3];
/* 028D07E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028D07E8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D07E8 */ _t9 = _t8 & 0x00000001u;
/* 028D07E8 */ if (_t9) goto L_028D0970; else goto L_028D07EC;
L_028D07EC: ; // 0x28d07ec
/* 028D07EC */ cpu->r[28] = cpu->r[31];
/* 028D07EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028D07F0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D07F0 */ _t11 = _t10 & 0x00000001u;
/* 028D07F0 */ if (_t11) goto L_028D07F4; else goto L_028D0804;
L_028D07F4: ; // 0x28d07f4
/* 028D07F4 */ cpu->r[3] = 0x00000038u;
/* 028D07F8 */ Gambit_fn_02801A78(cpu);
/* 028D07FC */ cpu->r[28] = cpu->r[3];
/* 028D07FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028D0800 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0800 */ _t13 = _t12 & 0x00000001u;
/* 028D0800 */ if (_t13) goto L_028D08D4; else goto L_028D0804;
L_028D0804: ; // 0x28d0804
/* 028D0804 */ cpu->r[3] = cpu->r[28];
/* 028D0804 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D0808 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0808 */ _t15 = _t14 & 0x00000001u;
/* 028D0808 */ if (_t15) goto L_028D080C; else goto L_028D081C;
L_028D080C: ; // 0x28d080c
/* 028D080C */ cpu->r[3] = 0x00000008u;
/* 028D0810 */ Gambit_fn_02801A78(cpu);
/* 028D0814 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D0818 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0818 */ _t17 = _t16 & 0x00000001u;
/* 028D0818 */ if (_t17) goto L_028D0834; else goto L_028D081C;
L_028D081C: ; // 0x28d081c
/* 028D081C */ cpu->r[9] = 0x10140000u;
/* 028D0820 */ cpu->r[10] = 0x10140000u;
/* 028D0824 */ cpu->r[9] = cpu->r[9] + 0xFFFFA378u;
/* 028D0828 */ cpu->r[10] = cpu->r[10] + 0xFFFFA374u;
/* 028D082C */ _t18 = cpu->r[3] + 0x00000004u;
/* 028D082C */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
/* 028D0830 */ _t19 = cpu->r[3] + 0x00000000u;
/* 028D0830 */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
L_028D0834: ; // 0x28d0834
/* 028D0834 */ cpu->r[11] = 0x10140000u;
/* 028D0838 */ cpu->r[29] = cpu->r[28] + 0x0000000Cu;
/* 028D0838 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028D083C */ cpu->r[11] = cpu->r[11] + 0xFFFFA410u;
/* 028D0840 */ _t20 = cpu->r[28] + 0x00000008u;
/* 028D0840 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
/* 028D0844 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0844 */ _t22 = _t21 & 0x00000001u;
/* 028D0844 */ if (_t22) goto L_028D0848; else goto L_028D0858;
L_028D0848: ; // 0x28d0848
/* 028D0848 */ cpu->r[3] = 0x0000002Cu;
/* 028D084C */ Gambit_fn_02801A78(cpu);
/* 028D0850 */ cpu->r[29] = cpu->r[3];
/* 028D0850 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028D0854 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0854 */ _t24 = _t23 & 0x00000001u;
/* 028D0854 */ if (_t24) goto L_028D08C8; else goto L_028D0858;
L_028D0858: ; // 0x28d0858
/* 028D0858 */ cpu->r[3] = cpu->r[29];
/* 028D0858 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D085C */ cpu->r[30] = 0x10110000u;
/* 028D0860 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0860 */ _t26 = _t25 & 0x00000001u;
/* 028D0860 */ if (_t26) goto L_028D0864; else goto L_028D0890;
L_028D0864: ; // 0x28d0864
/* 028D0864 */ cpu->r[3] = 0x0000000Cu;
/* 028D0868 */ Gambit_fn_02801A78(cpu);
/* 028D086C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D0870 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0870 */ _t28 = _t27 & 0x00000001u;
/* 028D0870 */ if (_t28) goto L_028D0874; else goto L_028D0890;
L_028D0874: ; // 0x28d0874
/* 028D0874 */ cpu->r[10] = 0x10140000u;
/* 028D0878 */ _t29 = cpu->r[30] + 0x00007399u;
/* 028D0878 */ cpu->r[0] = rbrew_read8(cpu->mem, _t29);
/* 028D087C */ cpu->r[10] = cpu->r[10] + 0xFFFFA428u;
/* 028D0880 */ _t30 = cpu->r[29] + 0x00000000u;
/* 028D0880 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
/* 028D0884 */ _t31 = cpu->r[29] + 0x00000004u;
/* 028D0884 */ rbrew_write32(cpu->mem, _t31, cpu->r[10]);
/* 028D0888 */ _t32 = cpu->r[11] + 0x00000000u;
/* 028D0888 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[0]);
/* 028D088C */ goto L_028D08C8;
L_028D0890: ; // 0x28d0890
/* 028D0890 */ cpu->r[0] = 0x10140000u;
/* 028D0894 */ cpu->r[12] = cpu->r[29] + 0x0000000Cu;
/* 028D0898 */ cpu->r[0] = cpu->r[0] + 0xFFFFA390u;
/* 028D089C */ _t33 = cpu->r[3] + 0x00000000u;
/* 028D089C */ rbrew_write32(cpu->mem, _t33, cpu->r[12]);
/* 028D08A0 */ cpu->r[9] = 0x00000020u;
/* 028D08A4 */ _t34 = cpu->r[3] + 0x00000004u;
/* 028D08A4 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
/* 028D08A8 */ _t35 = cpu->r[3] + 0x00000008u;
/* 028D08A8 */ rbrew_write32(cpu->mem, _t35, cpu->r[9]);
/* 028D08AC */ _t36 = cpu->r[30] + 0x00007399u;
/* 028D08AC */ cpu->r[0] = rbrew_read8(cpu->mem, _t36);
/* 028D08B0 */ cpu->r[10] = 0x10140000u;
/* 028D08B4 */ _t37 = cpu->r[29] + 0x00000000u;
/* 028D08B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t37);
/* 028D08B8 */ cpu->r[10] = cpu->r[10] + 0xFFFFA428u;
/* 028D08BC */ _t38 = cpu->r[29] + 0x0000002Bu;
/* 028D08BC */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[0]);
/* 028D08C0 */ _t39 = cpu->r[29] + 0x00000004u;
/* 028D08C0 */ rbrew_write32(cpu->mem, _t39, cpu->r[10]);
/* 028D08C4 */ _t40 = cpu->r[11] + 0x00000000u;
/* 028D08C4 */ rbrew_write8(cpu->mem, _t40, (uint8_t)cpu->r[0]);
L_028D08C8: ; // 0x28d08c8
/* 028D08C8 */ cpu->r[12] = 0x10140000u;
/* 028D08CC */ cpu->r[12] = cpu->r[12] + 0xFFFFA440u;
/* 028D08D0 */ _t41 = cpu->r[28] + 0x00000010u;
/* 028D08D0 */ rbrew_write32(cpu->mem, _t41, cpu->r[12]);
L_028D08D4: ; // 0x28d08d4
/* 028D08D4 */ cpu->r[0] = 0x10140000u;
/* 028D08D8 */ cpu->r[0] = cpu->r[0] + 0xFFFFA3F0u;
/* 028D08DC */ cpu->r[30] = cpu->r[31] + 0x0000003Cu;
/* 028D08DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028D08E0 */ _t42 = cpu->r[31] + 0x00000038u;
/* 028D08E0 */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
/* 028D08E4 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D08E4 */ _t44 = _t43 & 0x00000001u;
/* 028D08E4 */ if (_t44) goto L_028D08E8; else goto L_028D08F8;
L_028D08E8: ; // 0x28d08e8
/* 028D08E8 */ cpu->r[3] = 0x00000014u;
/* 028D08EC */ Gambit_fn_02801A78(cpu);
/* 028D08F0 */ cpu->r[30] = cpu->r[3];
/* 028D08F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028D08F4 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D08F4 */ _t46 = _t45 & 0x00000001u;
/* 028D08F4 */ if (_t46) goto L_028D0904; else goto L_028D08F8;
L_028D08F8: ; // 0x28d08f8
/* 028D08F8 */ cpu->r[3] = cpu->r[30];
/* 028D08FC */ Gambit_fn_028029E4(cpu);
/* 028D0900 */ _t47 = cpu->r[30] + 0x00000010u;
/* 028D0900 */ rbrew_write32(cpu->mem, _t47, cpu->r[31]);
L_028D0904: ; // 0x28d0904
/* 028D0904 */ cpu->r[6] = 0x10140000u;
/* 028D0908 */ cpu->r[8] = 0x10140000u;
/* 028D090C */ cpu->r[6] = cpu->r[6] + 0xFFFFA45Cu;
/* 028D0910 */ cpu->r[8] = cpu->r[8] + 0xFFFFA52Cu;
/* 028D0914 */ cpu->r[0] = 0x10140000u;
/* 028D0918 */ _t48 = cpu->r[31] + 0x00000008u;
/* 028D0918 */ rbrew_write32(cpu->mem, _t48, cpu->r[6]);
/* 028D091C */ cpu->r[0] = cpu->r[0] + 0xFFFFA54Cu;
/* 028D0920 */ _t49 = cpu->r[31] + 0x00000038u;
/* 028D0920 */ rbrew_write32(cpu->mem, _t49, cpu->r[8]);
/* 028D0924 */ cpu->r[30] = 0x00000000u;
/* 028D0928 */ _t50 = cpu->r[31] + 0x00000050u;
/* 028D0928 */ rbrew_write32(cpu->mem, _t50, cpu->r[0]);
/* 028D092C */ _t51 = cpu->r[31] + 0x00000058u;
/* 028D092C */ rbrew_write32(cpu->mem, _t51, cpu->r[30]);
/* 028D0930 */ cpu->r[3] = cpu->r[31] + 0x0000005Cu;
/* 028D0934 */ _t52 = cpu->r[31] + 0x00000054u;
/* 028D0934 */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[30]);
/* 028D0938 */ Gambit_fn_028BD2E0(cpu);
/* 028D093C */ cpu->r[3] = cpu->r[31] + 0x000000A8u;
/* 028D0940 */ Gambit_fn_028BD2E0(cpu);
/* 028D0944 */ cpu->r[3] = cpu->r[31] + 0x000000F4u;
/* 028D0948 */ Gambit_fn_028BD2E0(cpu);
/* 028D094C */ _t53 = cpu->r[31] + 0x00000154u;
/* 028D094C */ rbrew_write32(cpu->mem, _t53, cpu->r[30]);
/* 028D0950 */ cpu->r[7] = 0x10140000u;
/* 028D0954 */ _t54 = cpu->r[31] + 0x00000150u;
/* 028D0954 */ rbrew_write32(cpu->mem, _t54, cpu->r[30]);
/* 028D0958 */ _t55 = cpu->r[7] + 0xFFFFA458u;
/* 028D0958 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t55);
/* 028D095C */ cpu->r[11] = 0xFFFFFFFFu;
/* 028D0960 */ _t56 = cpu->r[31] + 0x00000144u;
/* 028D0960 */ rbrew_write32(cpu->mem, _t56, cpu->r[11]);
/* 028D0964 */ _t57 = cpu->r[31] + 0x00000140u;
/* 028D0964 */ rbrew_write_f32(cpu->mem, _t57, cpu->f[0]);
/* 028D0968 */ _t58 = cpu->r[31] + 0x00000148u;
/* 028D0968 */ rbrew_write32(cpu->mem, _t58, cpu->r[30]);
/* 028D096C */ _t59 = cpu->r[31] + 0x0000014Cu;
/* 028D096C */ rbrew_write32(cpu->mem, _t59, cpu->r[30]);
L_028D0970: ; // 0x28d0970
/* 028D0970 */ _t60 = cpu->r[1] + 0x00000008u;
/* 028D0970 */ cpu->r[28] = rbrew_read32(cpu->mem, _t60);
/* 028D0974 */ _t61 = cpu->r[1] + 0x0000000Cu;
/* 028D0974 */ cpu->r[29] = rbrew_read32(cpu->mem, _t61);
/* 028D0978 */ _t62 = cpu->r[1] + 0x0000001Cu;
/* 028D0978 */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
/* 028D097C */ cpu->r[3] = cpu->r[31];
/* 028D0980 */ _t63 = cpu->r[1] + 0x00000010u;
/* 028D0980 */ cpu->r[30] = rbrew_read32(cpu->mem, _t63);
/* 028D0984 */ cpu->lr = cpu->r[0];
/* 028D0988 */ _t64 = cpu->r[1] + 0x00000014u;
/* 028D0988 */ cpu->r[31] = rbrew_read32(cpu->mem, _t64);
/* 028D098C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028D0990 */ return;
}
// fn_028D0994 @ 0x28d0994
void Gambit_fn_028D0994(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
L_028D0994: ; // 0x28d0994
/* 028D0994 */ cpu->r[0] = cpu->lr;
/* 028D0998 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D0998 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D0998 */ cpu->r[1] = _t0;
/* 028D099C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028D099C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028D09A0 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028D09A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028D09A4 */ cpu->r[31] = cpu->r[3];
/* 028D09A8 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028D09A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028D09AC */ _t4 = cpu->r[31] + 0x00000054u;
/* 028D09AC */ cpu->r[10] = rbrew_read8(cpu->mem, _t4);
/* 028D09B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028D09B4 */ cpu->r[30] = cpu->r[5];
/* 028D09B8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D09B8 */ _t6 = _t5 & 0x00000001u;
/* 028D09B8 */ if (_t6) goto L_028D09BC; else goto L_028D09FC;
L_028D09BC: ; // 0x28d09bc
/* 028D09BC */ _t7 = cpu->r[31] + 0x00000008u;
/* 028D09BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
/* 028D09C0 */ _t8 = cpu->r[11] + 0x00000014u;
/* 028D09C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028D09C4 */ cpu->ctr = cpu->r[0];
/* 028D09C8 */ cpu->r[3] = cpu->r[31];
/* 028D09CC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028D09D0 */ cpu->r[4] = cpu->r[30];
/* 028D09D4 */ cpu->r[3] = 0x00000040u;
/* 028D09D8 */ cpu->r[5] = 0x00000004u;
/* 028D09DC */ Gambit_fn_02801AC8(cpu);
/* 028D09E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D09E4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D09E4 */ _t10 = _t9 & 0x00000001u;
/* 028D09E4 */ if (_t10) goto L_028D09F0; else goto L_028D09E8;
L_028D09E8: ; // 0x28d09e8
/* 028D09E8 */ cpu->r[4] = cpu->r[31] + 0x00000038u;
/* 028D09EC */ Gambit_fn_028D0D74(cpu);
L_028D09F0: ; // 0x28d09f0
/* 028D09F0 */ _t11 = cpu->r[31] + 0x00000058u;
/* 028D09F0 */ rbrew_write32(cpu->mem, _t11, cpu->r[3]);
/* 028D09F4 */ cpu->r[12] = 0x00000001u;
/* 028D09F8 */ _t12 = cpu->r[31] + 0x00000054u;
/* 028D09F8 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[12]);
L_028D09FC: ; // 0x28d09fc
/* 028D09FC */ _t13 = cpu->r[1] + 0x00000014u;
/* 028D09FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028D0A00 */ _t14 = cpu->r[1] + 0x00000008u;
/* 028D0A00 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
/* 028D0A04 */ cpu->lr = cpu->r[0];
/* 028D0A08 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028D0A08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
/* 028D0A0C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D0A10 */ return;
}
// fn_028D0998 @ 0x28d0998
void Gambit_fn_028D0998(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
L_028D0998: ; // 0x28d0998
/* 028D0998 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D0998 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D0998 */ cpu->r[1] = _t0;
/* 028D099C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028D099C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028D09A0 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028D09A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028D09A4 */ cpu->r[31] = cpu->r[3];
/* 028D09A8 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028D09A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028D09AC */ _t4 = cpu->r[31] + 0x00000054u;
/* 028D09AC */ cpu->r[10] = rbrew_read8(cpu->mem, _t4);
/* 028D09B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028D09B4 */ cpu->r[30] = cpu->r[5];
/* 028D09B8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D09B8 */ _t6 = _t5 & 0x00000001u;
/* 028D09B8 */ if (_t6) goto L_028D09BC; else goto L_028D09FC;
L_028D09BC: ; // 0x28d09bc
/* 028D09BC */ _t7 = cpu->r[31] + 0x00000008u;
/* 028D09BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
/* 028D09C0 */ _t8 = cpu->r[11] + 0x00000014u;
/* 028D09C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028D09C4 */ cpu->ctr = cpu->r[0];
/* 028D09C8 */ cpu->r[3] = cpu->r[31];
/* 028D09CC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028D09D0 */ cpu->r[4] = cpu->r[30];
/* 028D09D4 */ cpu->r[3] = 0x00000040u;
/* 028D09D8 */ cpu->r[5] = 0x00000004u;
/* 028D09DC */ Gambit_fn_02801AC8(cpu);
/* 028D09E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D09E4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D09E4 */ _t10 = _t9 & 0x00000001u;
/* 028D09E4 */ if (_t10) goto L_028D09F0; else goto L_028D09E8;
L_028D09E8: ; // 0x28d09e8
/* 028D09E8 */ cpu->r[4] = cpu->r[31] + 0x00000038u;
/* 028D09EC */ Gambit_fn_028D0D74(cpu);
L_028D09F0: ; // 0x28d09f0
/* 028D09F0 */ _t11 = cpu->r[31] + 0x00000058u;
/* 028D09F0 */ rbrew_write32(cpu->mem, _t11, cpu->r[3]);
/* 028D09F4 */ cpu->r[12] = 0x00000001u;
/* 028D09F8 */ _t12 = cpu->r[31] + 0x00000054u;
/* 028D09F8 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[12]);
L_028D09FC: ; // 0x28d09fc
/* 028D09FC */ _t13 = cpu->r[1] + 0x00000014u;
/* 028D09FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028D0A00 */ _t14 = cpu->r[1] + 0x00000008u;
/* 028D0A00 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
/* 028D0A04 */ cpu->lr = cpu->r[0];
/* 028D0A08 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028D0A08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
/* 028D0A0C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D0A10 */ return;
}
// fn_028D0A14 @ 0x28d0a14
void Gambit_fn_028D0A14(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
L_028D0A14: ; // 0x28d0a14
/* 028D0A14 */ cpu->r[0] = cpu->lr;
/* 028D0A18 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D0A18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D0A18 */ cpu->r[1] = _t0;
/* 028D0A1C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028D0A1C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028D0A20 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028D0A20 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028D0A24 */ _t3 = cpu->r[3] + 0x00000008u;
/* 028D0A24 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
/* 028D0A28 */ _t4 = cpu->r[11] + 0x000000BCu;
/* 028D0A28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028D0A2C */ cpu->ctr = cpu->r[0];
/* 028D0A30 */ cpu->r[31] = cpu->r[3];
/* 028D0A34 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028D0A38 */ cpu->r[5] = cpu->r[31] + 0x000000A8u;
/* 028D0A3C */ cpu->r[4] = cpu->r[31] + 0x0000005Cu;
/* 028D0A40 */ cpu->r[3] = cpu->r[31] + 0x000000F4u;
/* 028D0A44 */ Gambit_fn_028BD820(cpu);
/* 028D0A48 */ cpu->r[3] = cpu->r[31];
/* 028D0A4C */ Gambit_fn_028D0780(cpu);
/* 028D0A50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D0A54 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0A54 */ _t6 = _t5 & 0x00000001u;
/* 028D0A54 */ if (_t6) goto L_028D0A64; else goto L_028D0A58;
L_028D0A58: ; // 0x28d0a58
/* 028D0A58 */ cpu->r[4] = cpu->r[3] + 0x000000F4u;
/* 028D0A5C */ cpu->r[3] = cpu->r[31] + 0x000000F4u;
/* 028D0A60 */ Gambit_fn_028BD6E8(cpu);
L_028D0A64: ; // 0x28d0a64
/* 028D0A64 */ _t7 = cpu->r[31] + 0x00000008u;
/* 028D0A64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
/* 028D0A68 */ _t8 = cpu->r[12] + 0x000000C4u;
/* 028D0A68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028D0A6C */ cpu->ctr = cpu->r[0];
/* 028D0A70 */ cpu->r[3] = cpu->r[31];
/* 028D0A74 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028D0A78 */ _t9 = cpu->r[1] + 0x00000014u;
/* 028D0A78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028D0A7C */ _t10 = cpu->r[1] + 0x0000000Cu;
/* 028D0A7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
/* 028D0A80 */ cpu->lr = cpu->r[0];
/* 028D0A84 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D0A88 */ return;
}
// fn_028D0A18 @ 0x28d0a18
void Gambit_fn_028D0A18(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
L_028D0A18: ; // 0x28d0a18
/* 028D0A18 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D0A18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D0A18 */ cpu->r[1] = _t0;
/* 028D0A1C */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028D0A1C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028D0A20 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028D0A20 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028D0A24 */ _t3 = cpu->r[3] + 0x00000008u;
/* 028D0A24 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
/* 028D0A28 */ _t4 = cpu->r[11] + 0x000000BCu;
/* 028D0A28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028D0A2C */ cpu->ctr = cpu->r[0];
/* 028D0A30 */ cpu->r[31] = cpu->r[3];
/* 028D0A34 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028D0A38 */ cpu->r[5] = cpu->r[31] + 0x000000A8u;
/* 028D0A3C */ cpu->r[4] = cpu->r[31] + 0x0000005Cu;
/* 028D0A40 */ cpu->r[3] = cpu->r[31] + 0x000000F4u;
/* 028D0A44 */ Gambit_fn_028BD820(cpu);
/* 028D0A48 */ cpu->r[3] = cpu->r[31];
/* 028D0A4C */ Gambit_fn_028D0780(cpu);
/* 028D0A50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D0A54 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0A54 */ _t6 = _t5 & 0x00000001u;
/* 028D0A54 */ if (_t6) goto L_028D0A64; else goto L_028D0A58;
L_028D0A58: ; // 0x28d0a58
/* 028D0A58 */ cpu->r[4] = cpu->r[3] + 0x000000F4u;
/* 028D0A5C */ cpu->r[3] = cpu->r[31] + 0x000000F4u;
/* 028D0A60 */ Gambit_fn_028BD6E8(cpu);
L_028D0A64: ; // 0x28d0a64
/* 028D0A64 */ _t7 = cpu->r[31] + 0x00000008u;
/* 028D0A64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
/* 028D0A68 */ _t8 = cpu->r[12] + 0x000000C4u;
/* 028D0A68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028D0A6C */ cpu->ctr = cpu->r[0];
/* 028D0A70 */ cpu->r[3] = cpu->r[31];
/* 028D0A74 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028D0A78 */ _t9 = cpu->r[1] + 0x00000014u;
/* 028D0A78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028D0A7C */ _t10 = cpu->r[1] + 0x0000000Cu;
/* 028D0A7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
/* 028D0A80 */ cpu->lr = cpu->r[0];
/* 028D0A84 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D0A88 */ return;
}
// fn_028D0A8C @ 0x28d0a8c
void Gambit_fn_028D0A8C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_028D0A8C: ; // 0x28d0a8c
/* 028D0A8C */ cpu->r[0] = cpu->lr;
/* 028D0A90 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028D0A90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D0A90 */ cpu->r[1] = _t0;
/* 028D0A94 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028D0A94 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
/* 028D0A98 */ cpu->r[28] = cpu->r[3];
/* 028D0A9C */ _t2 = cpu->r[1] + 0x00000010u;
/* 028D0A9C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028D0AA0 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028D0AA0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028D0AA4 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028D0AA4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028D0AA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028D0AAC */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028D0AAC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028D0AB0 */ _t6 = cpu->r[28] + 0x00000144u;
/* 028D0AB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
/* 028D0AB4 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028D0AB4 */ _t8 = _t7 & 0x00000001u;
/* 028D0AB4 */ if (_t8) goto L_028D0AB8; else goto L_028D0AC0;
L_028D0AB8: ; // 0x28d0ab8
/* 028D0AB8 */ cpu->r[4] = 0x80000000u;
/* 028D0ABC */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFFu;
L_028D0AC0: ; // 0x28d0ac0
/* 028D0AC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028D0AC4 */ _t9 = cpu->r[28] + 0x00000040u;
/* 028D0AC4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
/* 028D0AC8 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028D0AC8 */ _t11 = _t10 & 0x00000001u;
/* 028D0AC8 */ if (_t11) goto L_028D0ACC; else goto L_028D0AD4;
L_028D0ACC: ; // 0x28d0acc
/* 028D0ACC */ cpu->r[31] = 0x80000000u;
/* 028D0AD0 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
L_028D0AD4: ; // 0x28d0ad4
/* 028D0AD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[31]);
/* 028D0AD8 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028D0AD8 */ _t13 = _t12 & 0x00000001u;
/* 028D0AD8 */ if (_t13) goto L_028D0ADC; else goto L_028D0AE0;
L_028D0ADC: ; // 0x28d0adc
/* 028D0ADC */ cpu->r[31] = cpu->r[4];
L_028D0AE0: ; // 0x28d0ae0
/* 028D0AE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028D0AE4 */ cpu->r[29] = 0x00000000u;
/* 028D0AE8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0AE8 */ _t15 = _t14 & 0x00000001u;
/* 028D0AE8 */ if (_t15) goto L_028D0B14; else goto L_028D0AEC;
L_028D0AEC: ; // 0x28d0aec
/* 028D0AEC */ _t16 = cpu->r[30] + 0x00000010u;
/* 028D0AEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
/* 028D0AF0 */ cpu->r[4] = cpu->r[31];
/* 028D0AF4 */ Gambit_fn_028D0A8C(cpu);
/* 028D0AF8 */ cpu->r[29] = cpu->r[29] + cpu->r[3];
/* 028D0AFC */ cpu->r[31] = cpu->r[31] - cpu->r[3];
/* 028D0AFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028D0B00 */ _t17 = cpu->r[30] + 0x00000008u;
/* 028D0B00 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
/* 028D0B04 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028D0B04 */ _t19 = _t18 & 0x00000001u;
/* 028D0B04 */ if (_t19) goto L_028D0B08; else goto L_028D0B0C;
L_028D0B08: ; // 0x28d0b08
/* 028D0B08 */ cpu->r[31] = 0x00000000u;
L_028D0B0C: ; // 0x28d0b0c
/* 028D0B0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028D0B10 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0B10 */ _t21 = _t20 & 0x00000001u;
/* 028D0B10 */ if (_t21) goto L_028D0B14; else goto L_028D0AEC;
L_028D0B14: ; // 0x28d0b14
/* 028D0B14 */ _t22 = cpu->r[28] + 0x00000008u;
/* 028D0B14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
/* 028D0B18 */ _t23 = cpu->r[12] + 0x000000CCu;
/* 028D0B18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
/* 028D0B1C */ cpu->ctr = cpu->r[0];
/* 028D0B20 */ cpu->r[3] = cpu->r[28];
/* 028D0B24 */ cpu->r[4] = cpu->r[31];
/* 028D0B28 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028D0B2C */ cpu->r[3] = cpu->r[29] + cpu->r[3];
/* 028D0B30 */ _t24 = cpu->r[28] + 0x00000148u;
/* 028D0B30 */ rbrew_write32(cpu->mem, _t24, cpu->r[3]);
/* 028D0B34 */ _t25 = cpu->r[1] + 0x00000008u;
/* 028D0B34 */ cpu->r[28] = rbrew_read32(cpu->mem, _t25);
/* 028D0B38 */ _t26 = cpu->r[1] + 0x0000000Cu;
/* 028D0B38 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
/* 028D0B3C */ _t27 = cpu->r[1] + 0x0000001Cu;
/* 028D0B3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
/* 028D0B40 */ _t28 = cpu->r[1] + 0x00000010u;
/* 028D0B40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
/* 028D0B44 */ cpu->lr = cpu->r[0];
/* 028D0B48 */ _t29 = cpu->r[1] + 0x00000014u;
/* 028D0B48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
/* 028D0B4C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028D0B50 */ return;
}
// fn_028D0A90 @ 0x28d0a90
void Gambit_fn_028D0A90(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_028D0A90: ; // 0x28d0a90
/* 028D0A90 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028D0A90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D0A90 */ cpu->r[1] = _t0;
/* 028D0A94 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028D0A94 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
/* 028D0A98 */ cpu->r[28] = cpu->r[3];
/* 028D0A9C */ _t2 = cpu->r[1] + 0x00000010u;
/* 028D0A9C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028D0AA0 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028D0AA0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028D0AA4 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028D0AA4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028D0AA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028D0AAC */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028D0AAC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028D0AB0 */ _t6 = cpu->r[28] + 0x00000144u;
/* 028D0AB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
/* 028D0AB4 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028D0AB4 */ _t8 = _t7 & 0x00000001u;
/* 028D0AB4 */ if (_t8) goto L_028D0AB8; else goto L_028D0AC0;
L_028D0AB8: ; // 0x28d0ab8
/* 028D0AB8 */ cpu->r[4] = 0x80000000u;
/* 028D0ABC */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFFu;
L_028D0AC0: ; // 0x28d0ac0
/* 028D0AC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028D0AC4 */ _t9 = cpu->r[28] + 0x00000040u;
/* 028D0AC4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
/* 028D0AC8 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028D0AC8 */ _t11 = _t10 & 0x00000001u;
/* 028D0AC8 */ if (_t11) goto L_028D0ACC; else goto L_028D0AD4;
L_028D0ACC: ; // 0x28d0acc
/* 028D0ACC */ cpu->r[31] = 0x80000000u;
/* 028D0AD0 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
L_028D0AD4: ; // 0x28d0ad4
/* 028D0AD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[31]);
/* 028D0AD8 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028D0AD8 */ _t13 = _t12 & 0x00000001u;
/* 028D0AD8 */ if (_t13) goto L_028D0ADC; else goto L_028D0AE0;
L_028D0ADC: ; // 0x28d0adc
/* 028D0ADC */ cpu->r[31] = cpu->r[4];
L_028D0AE0: ; // 0x28d0ae0
/* 028D0AE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028D0AE4 */ cpu->r[29] = 0x00000000u;
/* 028D0AE8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0AE8 */ _t15 = _t14 & 0x00000001u;
/* 028D0AE8 */ if (_t15) goto L_028D0B14; else goto L_028D0AEC;
L_028D0AEC: ; // 0x28d0aec
/* 028D0AEC */ _t16 = cpu->r[30] + 0x00000010u;
/* 028D0AEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
/* 028D0AF0 */ cpu->r[4] = cpu->r[31];
/* 028D0AF4 */ Gambit_fn_028D0A8C(cpu);
/* 028D0AF8 */ cpu->r[29] = cpu->r[29] + cpu->r[3];
/* 028D0AFC */ cpu->r[31] = cpu->r[31] - cpu->r[3];
/* 028D0AFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028D0B00 */ _t17 = cpu->r[30] + 0x00000008u;
/* 028D0B00 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
/* 028D0B04 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028D0B04 */ _t19 = _t18 & 0x00000001u;
/* 028D0B04 */ if (_t19) goto L_028D0B08; else goto L_028D0B0C;
L_028D0B08: ; // 0x28d0b08
/* 028D0B08 */ cpu->r[31] = 0x00000000u;
L_028D0B0C: ; // 0x28d0b0c
/* 028D0B0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028D0B10 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0B10 */ _t21 = _t20 & 0x00000001u;
/* 028D0B10 */ if (_t21) goto L_028D0B14; else goto L_028D0AEC;
L_028D0B14: ; // 0x28d0b14
/* 028D0B14 */ _t22 = cpu->r[28] + 0x00000008u;
/* 028D0B14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
/* 028D0B18 */ _t23 = cpu->r[12] + 0x000000CCu;
/* 028D0B18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
/* 028D0B1C */ cpu->ctr = cpu->r[0];
/* 028D0B20 */ cpu->r[3] = cpu->r[28];
/* 028D0B24 */ cpu->r[4] = cpu->r[31];
/* 028D0B28 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028D0B2C */ cpu->r[3] = cpu->r[29] + cpu->r[3];
/* 028D0B30 */ _t24 = cpu->r[28] + 0x00000148u;
/* 028D0B30 */ rbrew_write32(cpu->mem, _t24, cpu->r[3]);
/* 028D0B34 */ _t25 = cpu->r[1] + 0x00000008u;
/* 028D0B34 */ cpu->r[28] = rbrew_read32(cpu->mem, _t25);
/* 028D0B38 */ _t26 = cpu->r[1] + 0x0000000Cu;
/* 028D0B38 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
/* 028D0B3C */ _t27 = cpu->r[1] + 0x0000001Cu;
/* 028D0B3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
/* 028D0B40 */ _t28 = cpu->r[1] + 0x00000010u;
/* 028D0B40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
/* 028D0B44 */ cpu->lr = cpu->r[0];
/* 028D0B48 */ _t29 = cpu->r[1] + 0x00000014u;
/* 028D0B48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
/* 028D0B4C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028D0B50 */ return;
}
// fn_028D0B54 @ 0x28d0b54
void Gambit_fn_028D0B54(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
L_028D0B54: ; // 0x28d0b54
/* 028D0B54 */ _t0 = cpu->r[3] + 0x00000058u;
/* 028D0B54 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
/* 028D0B58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D0B5C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0B5C */ _t2 = _t1 & 0x00000001u;
/* 028D0B5C */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028D0B5C */ goto L_028D0B60;
L_028D0B60: ; // 0x28d0b60
/* 028D0B60 */ goto L_028D1708;
L_028D1708: ; // 0x28d1708
/* 028D1708 */ cpu->r[0] = cpu->lr;
/* 028D170C */ _t3 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D170C */ rbrew_write32(cpu->mem, _t3, cpu->r[1]);
/* 028D170C */ cpu->r[1] = _t3;
/* 028D1710 */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028D1710 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028D1714 */ cpu->r[31] = cpu->r[3];
/* 028D1718 */ _t5 = cpu->r[1] + 0x00000014u;
/* 028D1718 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028D171C */ _t6 = cpu->r[31] + 0x00000024u;
/* 028D171C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028D1720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028D1724 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1724 */ _t8 = _t7 & 0x00000001u;
/* 028D1724 */ if (_t8) goto L_028D1740; else goto L_028D1728;
L_028D1728: ; // 0x28d1728
/* 028D1728 */ cpu->r[3] = cpu->r[31];
/* 028D172C */ Gambit_fn_028D1350(cpu);
/* 028D1730 */ cpu->r[3] = cpu->r[31];
/* 028D1734 */ Gambit_fn_028D1498(cpu);
/* 028D1738 */ cpu->r[3] = cpu->r[31];
/* 028D173C */ Gambit_fn_028D167C(cpu);
L_028D1740: ; // 0x28d1740
/* 028D1740 */ _t9 = cpu->r[1] + 0x00000014u;
/* 028D1740 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028D1744 */ _t10 = cpu->r[1] + 0x0000000Cu;
/* 028D1744 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
/* 028D1748 */ cpu->lr = cpu->r[0];
/* 028D174C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D1750 */ return;
}
// fn_028D0B64 @ 0x28d0b64
void Gambit_fn_028D0B64(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
L_028D0B64: ; // 0x28d0b64
/* 028D0B64 */ cpu->r[0] = cpu->lr;
/* 028D0B68 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028D0B68 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028D0B6C */ cpu->r[12] = cpu->r[3];
/* 028D0B70 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028D0B70 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028D0B70 */ cpu->r[1] = _t1;
/* 028D0B74 */ Gambit_fn_028D0780(cpu);
/* 028D0B78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D0B7C */ _t2 = cpu->r[12] + 0x00000058u;
/* 028D0B7C */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
/* 028D0B80 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0B80 */ _t4 = _t3 & 0x00000001u;
/* 028D0B80 */ if (_t4) goto L_028D0B94; else goto L_028D0B84;
L_028D0B84: ; // 0x28d0b84
/* 028D0B84 */ _t5 = cpu->r[12] + 0x00000140u;
/* 028D0B84 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
/* 028D0B88 */ _t6 = cpu->r[3] + 0x00000140u;
/* 028D0B88 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
/* 028D0B8C */ cpu->f[13] = cpu->f[13] * cpu->f[0];
/* 028D0B90 */ _t7 = cpu->r[12] + 0x00000140u;
/* 028D0B90 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[13]);
L_028D0B94: ; // 0x28d0b94
/* 028D0B94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028D0B98 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0B98 */ _t9 = _t8 & 0x00000001u;
/* 028D0B98 */ if (_t9) goto L_028D0BB4; else goto L_028D0B9C;
L_028D0B9C: ; // 0x28d0b9c
/* 028D0B9C */ _t10 = cpu->r[12] + 0x00000140u;
/* 028D0B9C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
/* 028D0BA0 */ _t11 = cpu->r[11] + 0x00000010u;
/* 028D0BA0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
/* 028D0BA4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
/* 028D0BA8 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028D0BA8 */ _t13 = _t12 & 0x00000001u;
/* 028D0BA8 */ if (_t13) goto L_028D0BAC; else goto L_028D0BB0;
L_028D0BAC: ; // 0x28d0bac
/* 028D0BAC */ cpu->f[13] = cpu->f[0];
L_028D0BB0: ; // 0x28d0bb0
/* 028D0BB0 */ _t14 = cpu->r[12] + 0x00000140u;
/* 028D0BB0 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[13]);
L_028D0BB4: ; // 0x28d0bb4
/* 028D0BB4 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028D0BB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028D0BB8 */ cpu->lr = cpu->r[0];
/* 028D0BBC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028D0BC0 */ return;
}
// fn_028D0B70 @ 0x28d0b70
void Gambit_fn_028D0B70(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028D0B70: ; // 0x28d0b70
/* 028D0B70 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028D0B70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D0B70 */ cpu->r[1] = _t0;
/* 028D0B74 */ Gambit_fn_028D0780(cpu);
/* 028D0B78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D0B7C */ _t1 = cpu->r[12] + 0x00000058u;
/* 028D0B7C */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
/* 028D0B80 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0B80 */ _t3 = _t2 & 0x00000001u;
/* 028D0B80 */ if (_t3) goto L_028D0B94; else goto L_028D0B84;
L_028D0B84: ; // 0x28d0b84
/* 028D0B84 */ _t4 = cpu->r[12] + 0x00000140u;
/* 028D0B84 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t4);
/* 028D0B88 */ _t5 = cpu->r[3] + 0x00000140u;
/* 028D0B88 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
/* 028D0B8C */ cpu->f[13] = cpu->f[13] * cpu->f[0];
/* 028D0B90 */ _t6 = cpu->r[12] + 0x00000140u;
/* 028D0B90 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[13]);
L_028D0B94: ; // 0x28d0b94
/* 028D0B94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028D0B98 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0B98 */ _t8 = _t7 & 0x00000001u;
/* 028D0B98 */ if (_t8) goto L_028D0BB4; else goto L_028D0B9C;
L_028D0B9C: ; // 0x28d0b9c
/* 028D0B9C */ _t9 = cpu->r[12] + 0x00000140u;
/* 028D0B9C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t9);
/* 028D0BA0 */ _t10 = cpu->r[11] + 0x00000010u;
/* 028D0BA0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
/* 028D0BA4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
/* 028D0BA8 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028D0BA8 */ _t12 = _t11 & 0x00000001u;
/* 028D0BA8 */ if (_t12) goto L_028D0BAC; else goto L_028D0BB0;
L_028D0BAC: ; // 0x28d0bac
/* 028D0BAC */ cpu->f[13] = cpu->f[0];
L_028D0BB0: ; // 0x28d0bb0
/* 028D0BB0 */ _t13 = cpu->r[12] + 0x00000140u;
/* 028D0BB0 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[13]);
L_028D0BB4: ; // 0x28d0bb4
/* 028D0BB4 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028D0BB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028D0BB8 */ cpu->lr = cpu->r[0];
/* 028D0BBC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028D0BC0 */ return;
}
// fn_028D0BC4 @ 0x28d0bc4
void Gambit_fn_028D0BC4(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_028D0BC4: ; // 0x28d0bc4
/* 028D0BC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D0BC8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0BC8 */ _t17 = _t16 & 0x00000001u;
/* 028D0BC8 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028D0BC8 */ goto L_028D0BCC;
L_028D0BCC: ; // 0x28d0bcc
/* 028D0BCC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028D0BCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028D0BD0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0BD0 */ _t19 = _t18 & 0x00000001u;
/* 028D0BD0 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028D0BD0 */ goto L_028D0BD4;
L_028D0BD4: ; // 0x28d0bd4
/* 028D0BD4 */ goto L_02801BB0;
}
// fn_028D0BD8 @ 0x28d0bd8
void Gambit_fn_028D0BD8(CPUState* cpu) {
uint32_t _t0, _t1;
L_028D0BD8: ; // 0x28d0bd8
/* 028D0BD8 */ _t0 = cpu->r[3] + 0x00000148u;
/* 028D0BD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028D0BDC */ cpu->r[0] = (uint32_t)(-(int32_t)cpu->r[12]);
/* 028D0BE0 */ _t1 = ~cpu->r[12];
/* 028D0BE0 */ cpu->r[0] = cpu->r[0] & _t1;
/* 028D0BE4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
/* 028D0BE8 */ return;
}
// fn_028D0BEC @ 0x28d0bec
void Gambit_fn_028D0BEC(CPUState* cpu) {
L_028D0BEC: ; // 0x28d0bec
/* 028D0BEC */ return;
}
// fn_028D0BF0 @ 0x28d0bf0
void Gambit_fn_028D0BF0(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_028D0BF0: ; // 0x28d0bf0
/* 028D0BF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D0BF4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0BF4 */ _t17 = _t16 & 0x00000001u;
/* 028D0BF4 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028D0BF4 */ goto L_028D0BF8;
L_028D0BF8: ; // 0x28d0bf8
/* 028D0BF8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028D0BF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028D0BFC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0BFC */ _t19 = _t18 & 0x00000001u;
/* 028D0BFC */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028D0BFC */ goto L_028D0C00;
L_028D0C00: ; // 0x28d0c00
/* 028D0C00 */ goto L_02801BB0;
}
// fn_028D0C04 @ 0x28d0c04
void Gambit_fn_028D0C04(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028D0C04: ; // 0x28d0c04
/* 028D0C04 */ _t0 = cpu->r[3] + 0x00000000u;
/* 028D0C04 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
/* 028D0C08 */ _t1 = cpu->r[3] + 0x00000008u;
/* 028D0C08 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
/* 028D0C0C */ cpu->r[12] = cpu->r[11] + cpu->r[12];
/* 028D0C10 */ cpu->r[11] = 0x10110000u;
/* 028D0C14 */ _t2 = cpu->r[11] + 0x00007399u;
/* 028D0C14 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
/* 028D0C18 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
/* 028D0C18 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
/* 028D0C1C */ return;
}
// fn_028D0C20 @ 0x28d0c20
void Gambit_fn_028D0C20(CPUState* cpu) {
uint32_t _t0, _t1;
L_028D0C20: ; // 0x28d0c20
/* 028D0C20 */ _t0 = cpu->r[4] + 0x00000000u;
/* 028D0C20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
/* 028D0C24 */ _t1 = cpu->r[3] + 0x00000000u;
/* 028D0C24 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028D0C28 */ return;
}
// fn_028D0C2C @ 0x28d0c2c
void Gambit_fn_028D0C2C(CPUState* cpu) {
uint32_t _t0, _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_028D0C2C: ; // 0x28d0c2c
/* 028D0C2C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028D0C2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D0C2C */ cpu->r[1] = _t0;
/* 028D0C30 */ /* nop */
/* 028D0C34 */ cpu->r[0] = cpu->lr;
/* 028D0C38 */ _t1 = cpu->r[1] + 0x00000024u;
/* 028D0C38 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028D0C3C */ cpu->r[29] = cpu->r[4];
/* 028D0C40 */ _t2 = cpu->r[29] + 0x00000004u;
/* 028D0C40 */ cpu->r[8] = rbrew_read32(cpu->mem, _t2);
/* 028D0C44 */ _t3 = cpu->r[8] + 0x00000014u;
/* 028D0C44 */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
/* 028D0C48 */ cpu->r[28] = cpu->r[3];
/* 028D0C4C */ cpu->ctr = cpu->r[9];
/* 028D0C50 */ _t4 = cpu->r[28] + 0x0000000Cu;
/* 028D0C50 */ cpu->r[27] = rbrew_read32(cpu->mem, _t4);
/* 028D0C54 */ cpu->r[3] = cpu->r[29];
/* 028D0C58 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028D0C5C */ cpu->r[31] = 0x10110000u;
/* 028D0C60 */ _t5 = cpu->r[29] + 0x00000000u;
/* 028D0C60 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
/* 028D0C64 */ _t6 = cpu->r[31] + 0x00007399u;
/* 028D0C64 */ cpu->r[31] = rbrew_read8(cpu->mem, _t6);
/* 028D0C68 */ _t7 = cpu->r[11] + 0x00000000u;
/* 028D0C68 */ cpu->r[10] = rbrew_read8(cpu->mem, _t7);
/* 028D0C6C */ cpu->r[30] = 0x00000000u;
/* 028D0C70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
/* 028D0C74 */ cpu->r[12] = 0x00080000u;
/* 028D0C78 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0C78 */ _t9 = _t8 & 0x00000001u;
/* 028D0C78 */ if (_t9) goto L_028D0CA0; else goto L_028D0C7C;
L_028D0C7C: ; // 0x28d0c7c
/* 028D0C7C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028D0C80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
/* 028D0C84 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
/* 028D0C88 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028D0C88 */ _t11 = _t10 & 0x00000001u;
/* 028D0C88 */ if (_t11) goto L_028D0C9C; else goto L_028D0C8C;
L_028D0C8C: ; // 0x28d0c8c
/* 028D0C8C */ _t12 = cpu->r[11] + 0x00000000u;
/* 028D0C8C */ cpu->r[0] = rbrew_read8(cpu->mem, _t12);
/* 028D0C90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028D0C94 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0C94 */ _t14 = _t13 & 0x00000001u;
/* 028D0C94 */ if (_t14) goto L_028D0C98; else goto L_028D0C7C;
L_028D0C98: ; // 0x28d0c98
/* 028D0C98 */ goto L_028D0CA0;
L_028D0C9C: ; // 0x28d0c9c
/* 028D0C9C */ cpu->r[30] = 0x00000000u;
L_028D0CA0: ; // 0x28d0ca0
/* 028D0CA0 */ _t15 = cpu->r[28] + 0x00000014u;
/* 028D0CA0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
/* 028D0CA4 */ _t16 = cpu->r[29] + 0x00000004u;
/* 028D0CA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
/* 028D0CA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
/* 028D0CAC */ _t17 = cpu->r[12] + 0x00000014u;
/* 028D0CAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028D0CB0 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028D0CB0 */ _t19 = _t18 & 0x00000001u;
/* 028D0CB0 */ if (_t19) goto L_028D0CB8; else goto L_028D0CB4;
L_028D0CB4: ; // 0x28d0cb4
/* 028D0CB4 */ cpu->r[30] = cpu->r[7] + 0xFFFFFFFFu;
L_028D0CB8: ; // 0x28d0cb8
/* 028D0CB8 */ cpu->ctr = cpu->r[0];
/* 028D0CBC */ cpu->r[3] = cpu->r[29];
/* 028D0CC0 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028D0CC4 */ _t20 = cpu->r[29] + 0x00000000u;
/* 028D0CC4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
/* 028D0CC8 */ cpu->r[6] = 0x00000000u;
/* 028D0CCC */ cpu->r[5] = cpu->r[30];
/* 028D0CD0 */ cpu->r[3] = cpu->r[27];
/* 028D0CD4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028D0CD8 */ _t21 = cpu->r[27] + cpu->r[30];
/* 028D0CD8 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[31]);
/* 028D0CDC */ _t22 = cpu->r[28] + 0x0000000Cu;
/* 028D0CDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
/* 028D0CE0 */ _t23 = cpu->r[28] + 0x00000000u;
/* 028D0CE0 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
/* 028D0CE4 */ /* nop */
/* 028D0CE8 */ _t24 = cpu->r[1] + 0x00000024u;
/* 028D0CE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
/* 028D0CEC */ cpu->lr = cpu->r[0];
/* 028D0CF0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028D0CF4 */ return;
}
// fn_028D0CF8 @ 0x28d0cf8
void Gambit_fn_028D0CF8(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_028D0CF8: ; // 0x28d0cf8
/* 028D0CF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D0CFC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0CFC */ _t17 = _t16 & 0x00000001u;
/* 028D0CFC */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028D0CFC */ goto L_028D0D00;
L_028D0D00: ; // 0x28d0d00
/* 028D0D00 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028D0D00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028D0D04 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0D04 */ _t19 = _t18 & 0x00000001u;
/* 028D0D04 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028D0D04 */ goto L_028D0D08;
L_028D0D08: ; // 0x28d0d08
/* 028D0D08 */ goto L_02801BB0;
}
// fn_028D0D0C @ 0x28d0d0c
void Gambit_fn_028D0D0C(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_028D0D0C: ; // 0x28d0d0c
/* 028D0D0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D0D10 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0D10 */ _t17 = _t16 & 0x00000001u;
/* 028D0D10 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028D0D10 */ goto L_028D0D14;
L_028D0D14: ; // 0x28d0d14
/* 028D0D14 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028D0D14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028D0D18 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0D18 */ _t19 = _t18 & 0x00000001u;
/* 028D0D18 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028D0D18 */ goto L_028D0D1C;
L_028D0D1C: ; // 0x28d0d1c
/* 028D0D1C */ goto L_02801BB0;
}
// fn_028D0D20 @ 0x28d0d20
void Gambit_fn_028D0D20(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028D0D20: ; // 0x28d0d20
/* 028D0D20 */ cpu->r[11] = 0x101D0000u;
/* 028D0D24 */ _t0 = cpu->r[11] + 0xFFFFEFC4u;
/* 028D0D24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
/* 028D0D24 */ cpu->r[11] = _t0;
/* 028D0D28 */ cpu->r[12] = 0x101D0000u;
/* 028D0D2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028D0D30 */ cpu->r[12] = cpu->r[12] + 0x000019C8u;
/* 028D0D34 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0D34 */ _t2 = _t1 & 0x00000001u;
/* 028D0D34 */ if (_t2) goto L_028D0D38; else goto L_028D0D4C;
L_028D0D38: ; // 0x28d0d38
/* 028D0D38 */ cpu->r[9] = 0x10140000u;
/* 028D0D3C */ cpu->r[8] = 0x00000001u;
/* 028D0D40 */ cpu->r[9] = cpu->r[9] + 0xFFFFA3A8u;
/* 028D0D44 */ _t3 = cpu->r[11] + 0x00000000u;
/* 028D0D44 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
/* 028D0D48 */ _t4 = cpu->r[12] + 0x00000000u;
/* 028D0D48 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
L_028D0D4C: ; // 0x28d0d4c
/* 028D0D4C */ cpu->r[10] = cpu->r[4] ^ cpu->r[12];
/* 028D0D50 */ cpu->r[0] = rbrew_clz32(cpu->r[10]);
/* 028D0D54 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
/* 028D0D58 */ return;
}
// fn_028D0D5C @ 0x28d0d5c
void Gambit_fn_028D0D5C(CPUState* cpu) {
L_028D0D5C: ; // 0x28d0d5c
/* 028D0D5C */ return;
}
// fn_028D0D60 @ 0x28d0d60
void Gambit_fn_028D0D60(CPUState* cpu) {
L_028D0D60: ; // 0x28d0d60
/* 028D0D60 */ return;
}
// fn_028D0D64 @ 0x28d0d64
void Gambit_fn_028D0D64(CPUState* cpu) {
L_028D0D64: ; // 0x28d0d64
/* 028D0D64 */ return;
}
// fn_028D0D68 @ 0x28d0d68
void Gambit_fn_028D0D68(CPUState* cpu) {
L_028D0D68: ; // 0x28d0d68
/* 028D0D68 */ return;
}
// fn_028D0D6C @ 0x28d0d6c
void Gambit_fn_028D0D6C(CPUState* cpu) {
L_028D0D6C: ; // 0x28d0d6c
/* 028D0D6C */ cpu->r[3] = 0x00000000u;
/* 028D0D70 */ return;
}
// fn_028D0D74 @ 0x28d0d74
void Gambit_fn_028D0D74(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _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_028D0D74: ; // 0x28d0d74
/* 028D0D74 */ cpu->r[0] = cpu->lr;
/* 028D0D78 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028D0D78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D0D78 */ cpu->r[1] = _t0;
/* 028D0D7C */ _t1 = cpu->r[1] + 0x00000018u;
/* 028D0D7C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028D0D80 */ /* nop */
/* 028D0D84 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028D0D84 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028D0D88 */ _t3 = cpu->r[1] + 0x00000020u;
/* 028D0D88 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028D0D8C */ _t4 = cpu->r[1] + 0x00000010u;
/* 028D0D8C */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
/* 028D0D90 */ _t5 = cpu->r[1] + 0x00000014u;
/* 028D0D90 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
/* 028D0D94 */ _t6 = cpu->r[1] + 0x0000002Cu;
/* 028D0D94 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028D0D98 */ cpu->r[31] = cpu->r[3];
/* 028D0D98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028D0D9C */ _t7 = cpu->r[1] + 0x00000008u;
/* 028D0D9C */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
/* 028D0DA0 */ cpu->r[29] = cpu->r[4];
/* 028D0DA4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0DA4 */ _t9 = _t8 & 0x00000001u;
/* 028D0DA4 */ if (_t9) goto L_028D0DA8; else goto L_028D0DB8;
L_028D0DA8: ; // 0x28d0da8
/* 028D0DA8 */ cpu->r[3] = 0x00000040u;
/* 028D0DAC */ Gambit_fn_02801A78(cpu);
/* 028D0DB0 */ cpu->r[31] = cpu->r[3];
/* 028D0DB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028D0DB4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0DB4 */ _t11 = _t10 & 0x00000001u;
/* 028D0DB4 */ if (_t11) goto L_028D0E54; else goto L_028D0DB8;
L_028D0DB8: ; // 0x28d0db8
/* 028D0DB8 */ cpu->r[12] = 0x10140000u;
/* 028D0DBC */ cpu->r[28] = 0x00000000u;
/* 028D0DC0 */ cpu->r[0] = 0x10140000u;
/* 028D0DC4 */ _t12 = cpu->r[12] + 0xFFFFA55Cu;
/* 028D0DC4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t12);
/* 028D0DC8 */ cpu->r[0] = cpu->r[0] + 0xFFFFA564u;
/* 028D0DCC */ _t13 = cpu->r[31] + 0x00000000u;
/* 028D0DCC */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[28]);
/* 028D0DD0 */ cpu->r[3] = cpu->r[31] + 0x00000004u;
/* 028D0DD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D0DD4 */ _t14 = cpu->r[31] + 0x0000003Cu;
/* 028D0DD4 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
/* 028D0DD8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0DD8 */ _t16 = _t15 & 0x00000001u;
/* 028D0DD8 */ if (_t16) goto L_028D0DDC; else goto L_028D0DEC;
L_028D0DDC: ; // 0x28d0ddc
/* 028D0DDC */ cpu->r[3] = 0x00000010u;
/* 028D0DE0 */ Gambit_fn_02801A78(cpu);
/* 028D0DE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D0DE8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0DE8 */ _t18 = _t17 & 0x00000001u;
/* 028D0DE8 */ if (_t18) goto L_028D0DFC; else goto L_028D0DEC;
L_028D0DEC: ; // 0x28d0dec
/* 028D0DEC */ _t19 = cpu->r[3] + 0x00000004u;
/* 028D0DEC */ rbrew_write_f32(cpu->mem, _t19, cpu->f[31]);
/* 028D0DF0 */ _t20 = cpu->r[3] + 0x00000008u;
/* 028D0DF0 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[31]);
/* 028D0DF4 */ _t21 = cpu->r[3] + 0x00000000u;
/* 028D0DF4 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[31]);
/* 028D0DF8 */ _t22 = cpu->r[3] + 0x0000000Cu;
/* 028D0DF8 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[31]);
L_028D0DFC: ; // 0x28d0dfc
/* 028D0DFC */ _t23 = cpu->r[31] + 0x00000014u;
/* 028D0DFC */ rbrew_write32(cpu->mem, _t23, cpu->r[28]);
/* 028D0E00 */ cpu->r[30] = cpu->r[31] + 0x0000001Cu;
/* 028D0E00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028D0E04 */ _t24 = cpu->r[31] + 0x00000018u;
/* 028D0E04 */ rbrew_write32(cpu->mem, _t24, cpu->r[29]);
/* 028D0E08 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0E08 */ _t26 = _t25 & 0x00000001u;
/* 028D0E08 */ if (_t26) goto L_028D0E0C; else goto L_028D0E1C;
L_028D0E0C: ; // 0x28d0e0c
/* 028D0E0C */ cpu->r[3] = 0x00000018u;
/* 028D0E10 */ Gambit_fn_02801A78(cpu);
/* 028D0E14 */ cpu->r[30] = cpu->r[3];
/* 028D0E14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028D0E18 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0E18 */ _t28 = _t27 & 0x00000001u;
/* 028D0E18 */ if (_t28) goto L_028D0E4C; else goto L_028D0E1C;
L_028D0E1C: ; // 0x28d0e1c
/* 028D0E1C */ cpu->r[3] = cpu->r[30];
/* 028D0E1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D0E20 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0E20 */ _t30 = _t29 & 0x00000001u;
/* 028D0E20 */ if (_t30) goto L_028D0E24; else goto L_028D0E34;
L_028D0E24: ; // 0x28d0e24
/* 028D0E24 */ cpu->r[3] = 0x0000000Cu;
/* 028D0E28 */ Gambit_fn_02801A78(cpu);
/* 028D0E2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D0E30 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0E30 */ _t32 = _t31 & 0x00000001u;
/* 028D0E30 */ if (_t32) goto L_028D0E40; else goto L_028D0E34;
L_028D0E34: ; // 0x28d0e34
/* 028D0E34 */ _t33 = cpu->r[3] + 0x00000004u;
/* 028D0E34 */ rbrew_write32(cpu->mem, _t33, cpu->r[3]);
/* 028D0E38 */ _t34 = cpu->r[3] + 0x00000008u;
/* 028D0E38 */ rbrew_write32(cpu->mem, _t34, cpu->r[28]);
/* 028D0E3C */ _t35 = cpu->r[3] + 0x00000000u;
/* 028D0E3C */ rbrew_write32(cpu->mem, _t35, cpu->r[3]);
L_028D0E40: ; // 0x28d0e40
/* 028D0E40 */ _t36 = cpu->r[30] + 0x00000010u;
/* 028D0E40 */ rbrew_write32(cpu->mem, _t36, cpu->r[28]);
/* 028D0E44 */ _t37 = cpu->r[30] + 0x0000000Cu;
/* 028D0E44 */ rbrew_write32(cpu->mem, _t37, cpu->r[28]);
/* 028D0E48 */ _t38 = cpu->r[30] + 0x00000014u;
/* 028D0E48 */ rbrew_write32(cpu->mem, _t38, cpu->r[28]);
L_028D0E4C: ; // 0x28d0e4c
/* 028D0E4C */ _t39 = cpu->r[31] + 0x00000038u;
/* 028D0E4C */ rbrew_write_f32(cpu->mem, _t39, cpu->f[31]);
/* 028D0E50 */ _t40 = cpu->r[31] + 0x00000034u;
/* 028D0E50 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[31]);
L_028D0E54: ; // 0x28d0e54
/* 028D0E54 */ _t41 = cpu->r[1] + 0x00000008u;
/* 028D0E54 */ cpu->r[28] = rbrew_read32(cpu->mem, _t41);
/* 028D0E58 */ _t42 = cpu->r[1] + 0x0000000Cu;
/* 028D0E58 */ cpu->r[29] = rbrew_read32(cpu->mem, _t42);
/* 028D0E5C */ _t43 = cpu->r[1] + 0x00000020u;
/* 028D0E5C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t43);
/* 028D0E60 */ _t44 = cpu->r[1] + 0x00000010u;
/* 028D0E60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
/* 028D0E64 */ _t45 = cpu->r[1] + 0x00000018u;
/* 028D0E64 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t45);
/* 028D0E68 */ cpu->r[3] = cpu->r[31];
/* 028D0E6C */ _t46 = cpu->r[1] + 0x00000014u;
/* 028D0E6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
/* 028D0E70 */ _t47 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028D0E70 */ _t48 = _t47 & 0x00000001u;
/* 028D0E70 */ if (_t48) goto L_028D0E74; // else: addr-0 trap, fall-through
L_028D0E74: ; // 0x28d0e74
/* 028D0E74 */ _t49 = cpu->r[1] + 0x0000002Cu;
/* 028D0E74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
/* 028D0E78 */ cpu->lr = cpu->r[0];
/* 028D0E7C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028D0E80 */ return;
}
// fn_028D0D78 @ 0x28d0d78
void Gambit_fn_028D0D78(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _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_028D0D78: ; // 0x28d0d78
/* 028D0D78 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028D0D78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D0D78 */ cpu->r[1] = _t0;
/* 028D0D7C */ _t1 = cpu->r[1] + 0x00000018u;
/* 028D0D7C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028D0D80 */ /* nop */
/* 028D0D84 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028D0D84 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028D0D88 */ _t3 = cpu->r[1] + 0x00000020u;
/* 028D0D88 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028D0D8C */ _t4 = cpu->r[1] + 0x00000010u;
/* 028D0D8C */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
/* 028D0D90 */ _t5 = cpu->r[1] + 0x00000014u;
/* 028D0D90 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
/* 028D0D94 */ _t6 = cpu->r[1] + 0x0000002Cu;
/* 028D0D94 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028D0D98 */ cpu->r[31] = cpu->r[3];
/* 028D0D98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028D0D9C */ _t7 = cpu->r[1] + 0x00000008u;
/* 028D0D9C */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
/* 028D0DA0 */ cpu->r[29] = cpu->r[4];
/* 028D0DA4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0DA4 */ _t9 = _t8 & 0x00000001u;
/* 028D0DA4 */ if (_t9) goto L_028D0DA8; else goto L_028D0DB8;
L_028D0DA8: ; // 0x28d0da8
/* 028D0DA8 */ cpu->r[3] = 0x00000040u;
/* 028D0DAC */ Gambit_fn_02801A78(cpu);
/* 028D0DB0 */ cpu->r[31] = cpu->r[3];
/* 028D0DB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028D0DB4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0DB4 */ _t11 = _t10 & 0x00000001u;
/* 028D0DB4 */ if (_t11) goto L_028D0E54; else goto L_028D0DB8;
L_028D0DB8: ; // 0x28d0db8
/* 028D0DB8 */ cpu->r[12] = 0x10140000u;
/* 028D0DBC */ cpu->r[28] = 0x00000000u;
/* 028D0DC0 */ cpu->r[0] = 0x10140000u;
/* 028D0DC4 */ _t12 = cpu->r[12] + 0xFFFFA55Cu;
/* 028D0DC4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t12);
/* 028D0DC8 */ cpu->r[0] = cpu->r[0] + 0xFFFFA564u;
/* 028D0DCC */ _t13 = cpu->r[31] + 0x00000000u;
/* 028D0DCC */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[28]);
/* 028D0DD0 */ cpu->r[3] = cpu->r[31] + 0x00000004u;
/* 028D0DD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D0DD4 */ _t14 = cpu->r[31] + 0x0000003Cu;
/* 028D0DD4 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
/* 028D0DD8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0DD8 */ _t16 = _t15 & 0x00000001u;
/* 028D0DD8 */ if (_t16) goto L_028D0DDC; else goto L_028D0DEC;
L_028D0DDC: ; // 0x28d0ddc
/* 028D0DDC */ cpu->r[3] = 0x00000010u;
/* 028D0DE0 */ Gambit_fn_02801A78(cpu);
/* 028D0DE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D0DE8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0DE8 */ _t18 = _t17 & 0x00000001u;
/* 028D0DE8 */ if (_t18) goto L_028D0DFC; else goto L_028D0DEC;
L_028D0DEC: ; // 0x28d0dec
/* 028D0DEC */ _t19 = cpu->r[3] + 0x00000004u;
/* 028D0DEC */ rbrew_write_f32(cpu->mem, _t19, cpu->f[31]);
/* 028D0DF0 */ _t20 = cpu->r[3] + 0x00000008u;
/* 028D0DF0 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[31]);
/* 028D0DF4 */ _t21 = cpu->r[3] + 0x00000000u;
/* 028D0DF4 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[31]);
/* 028D0DF8 */ _t22 = cpu->r[3] + 0x0000000Cu;
/* 028D0DF8 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[31]);
L_028D0DFC: ; // 0x28d0dfc
/* 028D0DFC */ _t23 = cpu->r[31] + 0x00000014u;
/* 028D0DFC */ rbrew_write32(cpu->mem, _t23, cpu->r[28]);
/* 028D0E00 */ cpu->r[30] = cpu->r[31] + 0x0000001Cu;
/* 028D0E00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028D0E04 */ _t24 = cpu->r[31] + 0x00000018u;
/* 028D0E04 */ rbrew_write32(cpu->mem, _t24, cpu->r[29]);
/* 028D0E08 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0E08 */ _t26 = _t25 & 0x00000001u;
/* 028D0E08 */ if (_t26) goto L_028D0E0C; else goto L_028D0E1C;
L_028D0E0C: ; // 0x28d0e0c
/* 028D0E0C */ cpu->r[3] = 0x00000018u;
/* 028D0E10 */ Gambit_fn_02801A78(cpu);
/* 028D0E14 */ cpu->r[30] = cpu->r[3];
/* 028D0E14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028D0E18 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0E18 */ _t28 = _t27 & 0x00000001u;
/* 028D0E18 */ if (_t28) goto L_028D0E4C; else goto L_028D0E1C;
L_028D0E1C: ; // 0x28d0e1c
/* 028D0E1C */ cpu->r[3] = cpu->r[30];
/* 028D0E1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D0E20 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0E20 */ _t30 = _t29 & 0x00000001u;
/* 028D0E20 */ if (_t30) goto L_028D0E24; else goto L_028D0E34;
L_028D0E24: ; // 0x28d0e24
/* 028D0E24 */ cpu->r[3] = 0x0000000Cu;
/* 028D0E28 */ Gambit_fn_02801A78(cpu);
/* 028D0E2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D0E30 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0E30 */ _t32 = _t31 & 0x00000001u;
/* 028D0E30 */ if (_t32) goto L_028D0E40; else goto L_028D0E34;
L_028D0E34: ; // 0x28d0e34
/* 028D0E34 */ _t33 = cpu->r[3] + 0x00000004u;
/* 028D0E34 */ rbrew_write32(cpu->mem, _t33, cpu->r[3]);
/* 028D0E38 */ _t34 = cpu->r[3] + 0x00000008u;
/* 028D0E38 */ rbrew_write32(cpu->mem, _t34, cpu->r[28]);
/* 028D0E3C */ _t35 = cpu->r[3] + 0x00000000u;
/* 028D0E3C */ rbrew_write32(cpu->mem, _t35, cpu->r[3]);
L_028D0E40: ; // 0x28d0e40
/* 028D0E40 */ _t36 = cpu->r[30] + 0x00000010u;
/* 028D0E40 */ rbrew_write32(cpu->mem, _t36, cpu->r[28]);
/* 028D0E44 */ _t37 = cpu->r[30] + 0x0000000Cu;
/* 028D0E44 */ rbrew_write32(cpu->mem, _t37, cpu->r[28]);
/* 028D0E48 */ _t38 = cpu->r[30] + 0x00000014u;
/* 028D0E48 */ rbrew_write32(cpu->mem, _t38, cpu->r[28]);
L_028D0E4C: ; // 0x28d0e4c
/* 028D0E4C */ _t39 = cpu->r[31] + 0x00000038u;
/* 028D0E4C */ rbrew_write_f32(cpu->mem, _t39, cpu->f[31]);
/* 028D0E50 */ _t40 = cpu->r[31] + 0x00000034u;
/* 028D0E50 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[31]);
L_028D0E54: ; // 0x28d0e54
/* 028D0E54 */ _t41 = cpu->r[1] + 0x00000008u;
/* 028D0E54 */ cpu->r[28] = rbrew_read32(cpu->mem, _t41);
/* 028D0E58 */ _t42 = cpu->r[1] + 0x0000000Cu;
/* 028D0E58 */ cpu->r[29] = rbrew_read32(cpu->mem, _t42);
/* 028D0E5C */ _t43 = cpu->r[1] + 0x00000020u;
/* 028D0E5C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t43);
/* 028D0E60 */ _t44 = cpu->r[1] + 0x00000010u;
/* 028D0E60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
/* 028D0E64 */ _t45 = cpu->r[1] + 0x00000018u;
/* 028D0E64 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t45);
/* 028D0E68 */ cpu->r[3] = cpu->r[31];
/* 028D0E6C */ _t46 = cpu->r[1] + 0x00000014u;
/* 028D0E6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
/* 028D0E70 */ _t47 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028D0E70 */ _t48 = _t47 & 0x00000001u;
/* 028D0E70 */ if (_t48) goto L_028D0E74; // else: addr-0 trap, fall-through
L_028D0E74: ; // 0x28d0e74
/* 028D0E74 */ _t49 = cpu->r[1] + 0x0000002Cu;
/* 028D0E74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
/* 028D0E78 */ cpu->lr = cpu->r[0];
/* 028D0E7C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028D0E80 */ return;
}
// fn_028D0E84 @ 0x28d0e84
void Gambit_fn_028D0E84(CPUState* cpu) {
uint32_t _t0, _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_028D0E84: ; // 0x28d0e84
/* 028D0E84 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028D0E84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D0E84 */ cpu->r[1] = _t0;
/* 028D0E88 */ /* nop */
/* 028D0E8C */ cpu->r[0] = cpu->lr;
/* 028D0E90 */ _t1 = cpu->r[1] + 0x00000024u;
/* 028D0E90 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028D0E94 */ cpu->r[29] = cpu->r[3];
/* 028D0E98 */ _t2 = cpu->r[29] + 0x00000000u;
/* 028D0E98 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
/* 028D0E9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028D0EA0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0EA0 */ _t4 = _t3 & 0x00000001u;
/* 028D0EA0 */ if (_t4) goto L_028D0F10; else goto L_028D0EA4;
L_028D0EA4: ; // 0x28d0ea4
/* 028D0EA4 */ _t5 = cpu->r[29] + 0x0000002Cu;
/* 028D0EA4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
/* 028D0EA8 */ cpu->r[27] = cpu->r[29] + 0x0000001Cu;
/* 028D0EAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028D0EB0 */ cpu->r[28] = 0x00000000u;
/* 028D0EB4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0EB4 */ _t7 = _t6 & 0x00000001u;
/* 028D0EB4 */ if (_t7) goto L_028D0F0C; else goto L_028D0EB8;
L_028D0EB8: ; // 0x28d0eb8
/* 028D0EB8 */ _t8 = cpu->r[27] + 0x00000004u;
/* 028D0EB8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
/* 028D0EBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[27]);
/* 028D0EC0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0EC0 */ _t10 = _t9 & 0x00000001u;
/* 028D0EC0 */ if (_t10) goto L_028D0EF8; else goto L_028D0EC4;
L_028D0EC4: ; // 0x28d0ec4
/* 028D0EC4 */ cpu->r[3] = cpu->r[30];
/* 028D0EC8 */ _t11 = cpu->r[30] + 0x00000004u;
/* 028D0EC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028D0ECC */ Gambit_fn_02801EDC(cpu);
/* 028D0ED0 */ _t12 = cpu->r[27] + 0x00000008u;
/* 028D0ED0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
/* 028D0ED4 */ _t13 = cpu->r[27] + 0x0000000Cu;
/* 028D0ED4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028D0ED8 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
/* 028D0EDC */ _t14 = cpu->r[27] + 0x00000008u;
/* 028D0EDC */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
/* 028D0EE0 */ cpu->r[9] = cpu->r[30] + 0xFFFFFFD8u;
/* 028D0EE4 */ _t15 = cpu->r[30] + 0xFFFFFFD8u;
/* 028D0EE4 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
/* 028D0EE8 */ cpu->r[30] = cpu->r[31];
/* 028D0EEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[27]);
/* 028D0EF0 */ _t16 = cpu->r[27] + 0x0000000Cu;
/* 028D0EF0 */ rbrew_write32(cpu->mem, _t16, cpu->r[9]);
/* 028D0EF4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0EF4 */ _t18 = _t17 & 0x00000001u;
/* 028D0EF4 */ if (_t18) goto L_028D0EF8; else goto L_028D0EC4;
L_028D0EF8: ; // 0x28d0ef8
/* 028D0EF8 */ _t19 = cpu->r[27] + 0x00000010u;
/* 028D0EF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
/* 028D0EFC */ Gambit_fn_02801BB4(cpu);
/* 028D0F00 */ _t20 = cpu->r[27] + 0x0000000Cu;
/* 028D0F00 */ rbrew_write32(cpu->mem, _t20, cpu->r[28]);
/* 028D0F04 */ _t21 = cpu->r[27] + 0x00000014u;
/* 028D0F04 */ rbrew_write32(cpu->mem, _t21, cpu->r[28]);
/* 028D0F08 */ _t22 = cpu->r[27] + 0x00000010u;
/* 028D0F08 */ rbrew_write32(cpu->mem, _t22, cpu->r[28]);
L_028D0F0C: ; // 0x28d0f0c
/* 028D0F0C */ _t23 = cpu->r[29] + 0x00000000u;
/* 028D0F0C */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[28]);
L_028D0F10: ; // 0x28d0f10
/* 028D0F10 */ /* nop */
/* 028D0F14 */ _t24 = cpu->r[1] + 0x00000024u;
/* 028D0F14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
/* 028D0F18 */ cpu->lr = cpu->r[0];
/* 028D0F1C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028D0F20 */ return;
}
// fn_028D0F24 @ 0x28d0f24
void Gambit_fn_028D0F24(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028D0F24: ; // 0x28d0f24
/* 028D0F24 */ cpu->r[0] = cpu->lr;
/* 028D0F28 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D0F28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D0F28 */ cpu->r[1] = _t0;
/* 028D0F2C */ _t1 = cpu->r[1] + 0x00000008u;
/* 028D0F2C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028D0F30 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028D0F30 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028D0F34 */ cpu->r[31] = cpu->r[3];
/* 028D0F34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028D0F38 */ cpu->r[30] = cpu->r[4];
/* 028D0F3C */ _t3 = cpu->r[1] + 0x00000014u;
/* 028D0F3C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028D0F40 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0F40 */ _t5 = _t4 & 0x00000001u;
/* 028D0F40 */ if (_t5) goto L_028D0F68; else goto L_028D0F44;
L_028D0F44: ; // 0x28d0f44
/* 028D0F44 */ cpu->r[0] = 0x10140000u;
/* 028D0F48 */ cpu->r[0] = cpu->r[0] + 0xFFFFA564u;
/* 028D0F4C */ cpu->r[3] = cpu->r[31];
/* 028D0F50 */ _t6 = cpu->r[31] + 0x0000003Cu;
/* 028D0F50 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028D0F54 */ Gambit_fn_028D0E84(cpu);
/* 028D0F58 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028D0F58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028D0F5C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0F5C */ _t8 = _t7 & 0x00000001u;
/* 028D0F5C */ if (_t8) goto L_028D0F68; else goto L_028D0F60;
L_028D0F60: ; // 0x28d0f60
/* 028D0F60 */ cpu->r[3] = cpu->r[31];
/* 028D0F64 */ Gambit_fn_02801BB0(cpu);
L_028D0F68: ; // 0x28d0f68
/* 028D0F68 */ _t9 = cpu->r[1] + 0x00000014u;
/* 028D0F68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028D0F6C */ _t10 = cpu->r[1] + 0x00000008u;
/* 028D0F6C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028D0F70 */ cpu->lr = cpu->r[0];
/* 028D0F74 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028D0F74 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028D0F78 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D0F7C */ return;
}
// fn_028D0F28 @ 0x28d0f28
void Gambit_fn_028D0F28(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028D0F28: ; // 0x28d0f28
/* 028D0F28 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D0F28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D0F28 */ cpu->r[1] = _t0;
/* 028D0F2C */ _t1 = cpu->r[1] + 0x00000008u;
/* 028D0F2C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028D0F30 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028D0F30 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028D0F34 */ cpu->r[31] = cpu->r[3];
/* 028D0F34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028D0F38 */ cpu->r[30] = cpu->r[4];
/* 028D0F3C */ _t3 = cpu->r[1] + 0x00000014u;
/* 028D0F3C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028D0F40 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0F40 */ _t5 = _t4 & 0x00000001u;
/* 028D0F40 */ if (_t5) goto L_028D0F68; else goto L_028D0F44;
L_028D0F44: ; // 0x28d0f44
/* 028D0F44 */ cpu->r[0] = 0x10140000u;
/* 028D0F48 */ cpu->r[0] = cpu->r[0] + 0xFFFFA564u;
/* 028D0F4C */ cpu->r[3] = cpu->r[31];
/* 028D0F50 */ _t6 = cpu->r[31] + 0x0000003Cu;
/* 028D0F50 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028D0F54 */ Gambit_fn_028D0E84(cpu);
/* 028D0F58 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028D0F58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028D0F5C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0F5C */ _t8 = _t7 & 0x00000001u;
/* 028D0F5C */ if (_t8) goto L_028D0F68; else goto L_028D0F60;
L_028D0F60: ; // 0x28d0f60
/* 028D0F60 */ cpu->r[3] = cpu->r[31];
/* 028D0F64 */ Gambit_fn_02801BB0(cpu);
L_028D0F68: ; // 0x28d0f68
/* 028D0F68 */ _t9 = cpu->r[1] + 0x00000014u;
/* 028D0F68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028D0F6C */ _t10 = cpu->r[1] + 0x00000008u;
/* 028D0F6C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028D0F70 */ cpu->lr = cpu->r[0];
/* 028D0F74 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028D0F74 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028D0F78 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D0F7C */ return;
}
// fn_028D0F80 @ 0x28d0f80
void Gambit_fn_028D0F80(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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_028D0F80: ; // 0x28d0f80
/* 028D0F80 */ cpu->r[0] = cpu->lr;
/* 028D0F84 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028D0F84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D0F84 */ cpu->r[1] = _t0;
/* 028D0F88 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028D0F88 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
/* 028D0F8C */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028D0F8C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028D0F90 */ _t3 = cpu->r[1] + 0x00000010u;
/* 028D0F90 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028D0F94 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028D0F94 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028D0F98 */ cpu->r[30] = cpu->r[3];
/* 028D0F9C */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028D0F9C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028D0FA0 */ _t6 = cpu->r[30] + 0x00000000u;
/* 028D0FA0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
/* 028D0FA4 */ cpu->r[31] = cpu->r[4];
/* 028D0FA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028D0FAC */ cpu->r[4] = cpu->r[5];
/* 028D0FB0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0FB0 */ _t8 = _t7 & 0x00000001u;
/* 028D0FB0 */ if (_t8) goto L_028D0FB4; else goto L_028D103C;
L_028D0FB4: ; // 0x28d0fb4
/* 028D0FB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028D0FB8 */ cpu->r[29] = 0x00000000u;
/* 028D0FBC */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028D0FBC */ _t10 = _t9 & 0x00000001u;
/* 028D0FBC */ if (_t10) goto L_028D0FC0; else goto L_028D101C;
L_028D0FC0: ; // 0x28d0fc0
/* 028D0FC0 */ _t11 = cpu->r[30] + 0x0000002Cu;
/* 028D0FC0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t11);
/* 028D0FC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
/* 028D0FC8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0FC8 */ _t13 = _t12 & 0x00000001u;
/* 028D0FC8 */ if (_t13) goto L_028D0FCC; else goto L_028D101C;
L_028D0FCC: ; // 0x28d0fcc
/* 028D0FCC */ cpu->r[28] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000030u);
/* 028D0FD0 */ cpu->r[5] = 0x00000004u;
/* 028D0FD4 */ cpu->r[3] = cpu->r[28];
/* 028D0FD8 */ Gambit_fn_02801ADC(cpu);
/* 028D0FDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D0FE0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0FE0 */ _t15 = _t14 & 0x00000001u;
/* 028D0FE0 */ if (_t15) goto L_028D101C; else goto L_028D0FE4;
L_028D0FE4: ; // 0x28d0fe4
/* 028D0FE4 */ cpu->r[0] = cpu->r[31] + 0xFFFFFFFFu;
/* 028D0FE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028D0FE8 */ _t16 = cpu->r[30] + 0x00000028u;
/* 028D0FE8 */ rbrew_write32(cpu->mem, _t16, cpu->r[3]);
/* 028D0FEC */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028D0FEC */ _t18 = _t17 & 0x00000001u;
/* 028D0FEC */ if (_t18) goto L_028D0FF0; else goto L_028D100C;
L_028D0FF0: ; // 0x28d0ff0
/* 028D0FF0 */ cpu->ctr = cpu->r[0];
/* 028D0FF4 */ cpu->r[7] = 0x00000000u;
/* 028D0FF8 */ cpu->r[8] = cpu->r[3] + 0x00000030u;
L_028D0FFC: ; // 0x28d0ffc
/* 028D0FFC */ _t19 = cpu->r[3] + cpu->r[7];
/* 028D0FFC */ rbrew_write32(cpu->mem, _t19, cpu->r[8]);
/* 028D1000 */ cpu->r[7] = cpu->r[7] + 0x00000030u;
/* 028D1004 */ cpu->r[8] = cpu->r[8] + 0x00000030u;
/* 028D1008 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028D1008 */ _t20 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028D1008 */ _t21 = _t20 >> (0x00000002u & 31u);
/* 028D1008 */ _t22 = _t21 & 0x00000001u;
/* 028D1008 */ if (_t22) goto L_028D0FFC; else goto L_028D100C;
L_028D100C: ; // 0x28d100c
/* 028D100C */ cpu->r[9] = cpu->r[3] + cpu->r[28];
/* 028D1010 */ _t23 = cpu->r[9] + 0xFFFFFFD0u;
/* 028D1010 */ rbrew_write32(cpu->mem, _t23, cpu->r[29]);
/* 028D1014 */ _t24 = cpu->r[30] + 0x00000030u;
/* 028D1014 */ rbrew_write32(cpu->mem, _t24, cpu->r[31]);
/* 028D1018 */ _t25 = cpu->r[30] + 0x0000002Cu;
/* 028D1018 */ rbrew_write32(cpu->mem, _t25, cpu->r[3]);
L_028D101C: ; // 0x28d101c
/* 028D101C */ _t26 = cpu->r[30] + 0x00000014u;
/* 028D101C */ rbrew_write32(cpu->mem, _t26, cpu->r[29]);
/* 028D1020 */ cpu->r[12] = 0x10140000u;
/* 028D1024 */ _t27 = cpu->r[12] + 0xFFFFA55Cu;
/* 028D1024 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
/* 028D1028 */ _t28 = cpu->r[30] + 0x00000014u;
/* 028D1028 */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
/* 028D102C */ _t29 = cpu->r[30] + 0x00000034u;
/* 028D102C */ rbrew_write_f32(cpu->mem, _t29, cpu->f[0]);
/* 028D1030 */ cpu->r[0] = 0x00000001u;
/* 028D1034 */ _t30 = cpu->r[30] + 0x00000038u;
/* 028D1034 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[0]);
/* 028D1038 */ _t31 = cpu->r[30] + 0x00000000u;
/* 028D1038 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[0]);
L_028D103C: ; // 0x28d103c
/* 028D103C */ _t32 = cpu->r[1] + 0x00000008u;
/* 028D103C */ cpu->r[28] = rbrew_read32(cpu->mem, _t32);
/* 028D1040 */ _t33 = cpu->r[1] + 0x0000000Cu;
/* 028D1040 */ cpu->r[29] = rbrew_read32(cpu->mem, _t33);
/* 028D1044 */ _t34 = cpu->r[1] + 0x0000001Cu;
/* 028D1044 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
/* 028D1048 */ _t35 = cpu->r[1] + 0x00000010u;
/* 028D1048 */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
/* 028D104C */ cpu->lr = cpu->r[0];
/* 028D1050 */ _t36 = cpu->r[1] + 0x00000014u;
/* 028D1050 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
/* 028D1054 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028D1058 */ return;
}
// fn_028D0F84 @ 0x28d0f84
void Gambit_fn_028D0F84(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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_028D0F84: ; // 0x28d0f84
/* 028D0F84 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028D0F84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D0F84 */ cpu->r[1] = _t0;
/* 028D0F88 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028D0F88 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
/* 028D0F8C */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028D0F8C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028D0F90 */ _t3 = cpu->r[1] + 0x00000010u;
/* 028D0F90 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028D0F94 */ _t4 = cpu->r[1] + 0x00000014u;
/* 028D0F94 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
/* 028D0F98 */ cpu->r[30] = cpu->r[3];
/* 028D0F9C */ _t5 = cpu->r[1] + 0x0000001Cu;
/* 028D0F9C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028D0FA0 */ _t6 = cpu->r[30] + 0x00000000u;
/* 028D0FA0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
/* 028D0FA4 */ cpu->r[31] = cpu->r[4];
/* 028D0FA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028D0FAC */ cpu->r[4] = cpu->r[5];
/* 028D0FB0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0FB0 */ _t8 = _t7 & 0x00000001u;
/* 028D0FB0 */ if (_t8) goto L_028D0FB4; else goto L_028D103C;
L_028D0FB4: ; // 0x28d0fb4
/* 028D0FB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028D0FB8 */ cpu->r[29] = 0x00000000u;
/* 028D0FBC */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028D0FBC */ _t10 = _t9 & 0x00000001u;
/* 028D0FBC */ if (_t10) goto L_028D0FC0; else goto L_028D101C;
L_028D0FC0: ; // 0x28d0fc0
/* 028D0FC0 */ _t11 = cpu->r[30] + 0x0000002Cu;
/* 028D0FC0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t11);
/* 028D0FC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
/* 028D0FC8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0FC8 */ _t13 = _t12 & 0x00000001u;
/* 028D0FC8 */ if (_t13) goto L_028D0FCC; else goto L_028D101C;
L_028D0FCC: ; // 0x28d0fcc
/* 028D0FCC */ cpu->r[28] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000030u);
/* 028D0FD0 */ cpu->r[5] = 0x00000004u;
/* 028D0FD4 */ cpu->r[3] = cpu->r[28];
/* 028D0FD8 */ Gambit_fn_02801ADC(cpu);
/* 028D0FDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D0FE0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D0FE0 */ _t15 = _t14 & 0x00000001u;
/* 028D0FE0 */ if (_t15) goto L_028D101C; else goto L_028D0FE4;
L_028D0FE4: ; // 0x28d0fe4
/* 028D0FE4 */ cpu->r[0] = cpu->r[31] + 0xFFFFFFFFu;
/* 028D0FE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028D0FE8 */ _t16 = cpu->r[30] + 0x00000028u;
/* 028D0FE8 */ rbrew_write32(cpu->mem, _t16, cpu->r[3]);
/* 028D0FEC */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028D0FEC */ _t18 = _t17 & 0x00000001u;
/* 028D0FEC */ if (_t18) goto L_028D0FF0; else goto L_028D100C;
L_028D0FF0: ; // 0x28d0ff0
/* 028D0FF0 */ cpu->ctr = cpu->r[0];
/* 028D0FF4 */ cpu->r[7] = 0x00000000u;
/* 028D0FF8 */ cpu->r[8] = cpu->r[3] + 0x00000030u;
L_028D0FFC: ; // 0x28d0ffc
/* 028D0FFC */ _t19 = cpu->r[3] + cpu->r[7];
/* 028D0FFC */ rbrew_write32(cpu->mem, _t19, cpu->r[8]);
/* 028D1000 */ cpu->r[7] = cpu->r[7] + 0x00000030u;
/* 028D1004 */ cpu->r[8] = cpu->r[8] + 0x00000030u;
/* 028D1008 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028D1008 */ _t20 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028D1008 */ _t21 = _t20 >> (0x00000002u & 31u);
/* 028D1008 */ _t22 = _t21 & 0x00000001u;
/* 028D1008 */ if (_t22) goto L_028D0FFC; else goto L_028D100C;
L_028D100C: ; // 0x28d100c
/* 028D100C */ cpu->r[9] = cpu->r[3] + cpu->r[28];
/* 028D1010 */ _t23 = cpu->r[9] + 0xFFFFFFD0u;
/* 028D1010 */ rbrew_write32(cpu->mem, _t23, cpu->r[29]);
/* 028D1014 */ _t24 = cpu->r[30] + 0x00000030u;
/* 028D1014 */ rbrew_write32(cpu->mem, _t24, cpu->r[31]);
/* 028D1018 */ _t25 = cpu->r[30] + 0x0000002Cu;
/* 028D1018 */ rbrew_write32(cpu->mem, _t25, cpu->r[3]);
L_028D101C: ; // 0x28d101c
/* 028D101C */ _t26 = cpu->r[30] + 0x00000014u;
/* 028D101C */ rbrew_write32(cpu->mem, _t26, cpu->r[29]);
/* 028D1020 */ cpu->r[12] = 0x10140000u;
/* 028D1024 */ _t27 = cpu->r[12] + 0xFFFFA55Cu;
/* 028D1024 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
/* 028D1028 */ _t28 = cpu->r[30] + 0x00000014u;
/* 028D1028 */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
/* 028D102C */ _t29 = cpu->r[30] + 0x00000034u;
/* 028D102C */ rbrew_write_f32(cpu->mem, _t29, cpu->f[0]);
/* 028D1030 */ cpu->r[0] = 0x00000001u;
/* 028D1034 */ _t30 = cpu->r[30] + 0x00000038u;
/* 028D1034 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[0]);
/* 028D1038 */ _t31 = cpu->r[30] + 0x00000000u;
/* 028D1038 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[0]);
L_028D103C: ; // 0x28d103c
/* 028D103C */ _t32 = cpu->r[1] + 0x00000008u;
/* 028D103C */ cpu->r[28] = rbrew_read32(cpu->mem, _t32);
/* 028D1040 */ _t33 = cpu->r[1] + 0x0000000Cu;
/* 028D1040 */ cpu->r[29] = rbrew_read32(cpu->mem, _t33);
/* 028D1044 */ _t34 = cpu->r[1] + 0x0000001Cu;
/* 028D1044 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
/* 028D1048 */ _t35 = cpu->r[1] + 0x00000010u;
/* 028D1048 */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
/* 028D104C */ cpu->lr = cpu->r[0];
/* 028D1050 */ _t36 = cpu->r[1] + 0x00000014u;
/* 028D1050 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
/* 028D1054 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028D1058 */ return;
}
// fn_028D105C @ 0x28d105c
void Gambit_fn_028D105C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
L_028D105C: ; // 0x28d105c
/* 028D105C */ _t0 = cpu->r[4] + 0x00000000u;
/* 028D105C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
/* 028D1060 */ _t1 = cpu->r[3] + 0x00000004u;
/* 028D1060 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028D1064 */ _t2 = cpu->r[4] + 0x00000004u;
/* 028D1064 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
/* 028D1068 */ _t3 = cpu->r[3] + 0x00000008u;
/* 028D1068 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
/* 028D106C */ _t4 = cpu->r[4] + 0x00000008u;
/* 028D106C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028D1070 */ _t5 = cpu->r[3] + 0x0000000Cu;
/* 028D1070 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
/* 028D1074 */ _t6 = cpu->r[4] + 0x0000000Cu;
/* 028D1074 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028D1078 */ _t7 = cpu->r[3] + 0x00000010u;
/* 028D1078 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028D107C */ return;
}
// fn_028D1080 @ 0x28d1080
void Gambit_fn_028D1080(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028D1080: ; // 0x28d1080
/* 028D1080 */ cpu->r[0] = cpu->lr;
/* 028D1084 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D1084 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D1084 */ cpu->r[1] = _t0;
/* 028D1088 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028D1088 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028D108C */ _t2 = cpu->r[1] + 0x00000014u;
/* 028D108C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028D1090 */ _t3 = cpu->r[3] + 0x00000018u;
/* 028D1090 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
/* 028D1094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D1098 */ cpu->r[31] = 0x00000000u;
/* 028D109C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D109C */ _t5 = _t4 & 0x00000001u;
/* 028D109C */ if (_t5) goto L_028D10BC; else goto L_028D10A0;
L_028D10A0: ; // 0x28d10a0
/* 028D10A0 */ _t6 = cpu->r[3] + 0x00000000u;
/* 028D10A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
/* 028D10A4 */ _t7 = cpu->r[12] + 0x00000014u;
/* 028D10A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028D10A8 */ cpu->ctr = cpu->r[0];
/* 028D10AC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028D10B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D10B4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D10B4 */ _t9 = _t8 & 0x00000001u;
/* 028D10B4 */ if (_t9) goto L_028D10BC; else goto L_028D10B8;
L_028D10B8: ; // 0x28d10b8
/* 028D10B8 */ cpu->r[31] = 0x00000001u;
L_028D10BC: ; // 0x28d10bc
/* 028D10BC */ _t10 = cpu->r[1] + 0x00000014u;
/* 028D10BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028D10C0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
/* 028D10C4 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028D10C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028D10C8 */ cpu->lr = cpu->r[0];
/* 028D10CC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D10D0 */ return;
}
// fn_028D1084 @ 0x28d1084
void Gambit_fn_028D1084(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028D1084: ; // 0x28d1084
/* 028D1084 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D1084 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D1084 */ cpu->r[1] = _t0;
/* 028D1088 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028D1088 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028D108C */ _t2 = cpu->r[1] + 0x00000014u;
/* 028D108C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028D1090 */ _t3 = cpu->r[3] + 0x00000018u;
/* 028D1090 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
/* 028D1094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D1098 */ cpu->r[31] = 0x00000000u;
/* 028D109C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D109C */ _t5 = _t4 & 0x00000001u;
/* 028D109C */ if (_t5) goto L_028D10BC; else goto L_028D10A0;
L_028D10A0: ; // 0x28d10a0
/* 028D10A0 */ _t6 = cpu->r[3] + 0x00000000u;
/* 028D10A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
/* 028D10A4 */ _t7 = cpu->r[12] + 0x00000014u;
/* 028D10A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028D10A8 */ cpu->ctr = cpu->r[0];
/* 028D10AC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028D10B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D10B4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D10B4 */ _t9 = _t8 & 0x00000001u;
/* 028D10B4 */ if (_t9) goto L_028D10BC; else goto L_028D10B8;
L_028D10B8: ; // 0x28d10b8
/* 028D10B8 */ cpu->r[31] = 0x00000001u;
L_028D10BC: ; // 0x28d10bc
/* 028D10BC */ _t10 = cpu->r[1] + 0x00000014u;
/* 028D10BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028D10C0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
/* 028D10C4 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028D10C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028D10C8 */ cpu->lr = cpu->r[0];
/* 028D10CC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D10D0 */ return;
}
// fn_028D10D4 @ 0x28d10d4
void Gambit_fn_028D10D4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028CA1D8: ; // 0x28ca1d8
/* 028CA1D8 */ cpu->r[0] = cpu->lr;
/* 028CA1DC */ _t0 = cpu->r[1] + 0x00000004u;
/* 028CA1DC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028CA1E0 */ cpu->r[10] = cpu->r[3];
/* 028CA1E4 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028CA1E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028CA1E4 */ cpu->r[1] = _t1;
/* 028CA1E8 */ _t2 = cpu->r[10] + 0x00000000u;
/* 028CA1E8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t2);
/* 028CA1EC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[11]);
/* 028CA1F0 */ _t3 = cpu->r[10] + 0x00000008u;
/* 028CA1F0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[1]);
/* 028CA1F4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA1F4 */ _t5 = _t4 & 0x00000001u;
/* 028CA1F4 */ if (_t5) goto L_028CA208; else goto L_028CA1F8;
L_028CA1F8: ; // 0x28ca1f8
/* 028CA1F8 */ cpu->r[12] = 0x10140000u;
/* 028CA1FC */ _t6 = cpu->r[12] + 0xFFFF9C5Cu;
/* 028CA1FC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
/* 028CA200 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[0]);
/* 028CA204 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA204 */ _t8 = _t7 & 0x00000001u;
/* 028CA204 */ if (_t8) goto L_028CA208; else goto L_028CA220;
L_028CA208: ; // 0x28ca208
/* 028CA208 */ cpu->r[3] = cpu->r[10];
/* 028CA20C */ Gambit_fn_028CA0C8(cpu);
/* 028CA210 */ _t9 = cpu->r[1] + 0x0000000Cu;
/* 028CA210 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 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 */ _t10 = cpu->r[10] + 0x0000000Cu;
/* 028CA22C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
/* 028CA230 */ Gambit_fn_028CA148(cpu);
/* 028CA234 */ _t11 = cpu->r[10] + 0x00000004u;
/* 028CA234 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[1]);
/* 028CA238 */ _t12 = cpu->r[1] + 0x0000000Cu;
/* 028CA238 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028CA23C */ cpu->lr = cpu->r[0];
/* 028CA240 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028CA244 */ return;
L_028D10D4: ; // 0x28d10d4
/* 028D10D4 */ _t13 = cpu->r[3] + 0x00000004u;
/* 028D10D4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t13);
/* 028D10D8 */ _t14 = cpu->r[3] + 0x00000008u;
/* 028D10D8 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t14);
/* 028D10DC */ cpu->r[3] = cpu->r[3] + 0x00000014u;
/* 028D10E0 */ goto L_028CA1D8;
}
// fn_028D10E4 @ 0x28d10e4
void Gambit_fn_028D10E4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
L_028D10E4: ; // 0x28d10e4
/* 028D10E4 */ cpu->r[0] = cpu->lr;
/* 028D10E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D10E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D10E8 */ cpu->r[1] = _t0;
/* 028D10EC */ _t1 = cpu->r[1] + 0x00000008u;
/* 028D10EC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028D10F0 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028D10F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028D10F4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028D10F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028D10F8 */ _t4 = cpu->r[3] + 0x0000002Cu;
/* 028D10F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028D10FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028D1100 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1100 */ _t6 = _t5 & 0x00000001u;
/* 028D1100 */ if (_t6) goto L_028D1130; else goto L_028D1104;
L_028D1104: ; // 0x28d1104
/* 028D1104 */ _t7 = cpu->r[3] + 0x00000020u;
/* 028D1104 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
/* 028D1108 */ cpu->r[31] = cpu->r[3] + 0xFFFFFFF4u;
/* 028D110C */ cpu->r[30] = cpu->r[12] + 0xFFFFFFD8u;
/* 028D1110 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]);
/* 028D1114 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1114 */ _t9 = _t8 & 0x00000001u;
/* 028D1114 */ if (_t9) goto L_028D1130; else goto L_028D1118;
L_028D1118: ; // 0x28d1118
/* 028D1118 */ cpu->r[3] = cpu->r[30];
/* 028D111C */ Gambit_fn_028D10D4(cpu);
/* 028D1120 */ _t10 = cpu->r[30] + 0x0000002Cu;
/* 028D1120 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
/* 028D1124 */ cpu->r[30] = cpu->r[11] + 0xFFFFFFD8u;
/* 028D1128 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]);
/* 028D112C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D112C */ _t12 = _t11 & 0x00000001u;
/* 028D112C */ if (_t12) goto L_028D1130; else goto L_028D1118;
L_028D1130: ; // 0x28d1130
/* 028D1130 */ _t13 = cpu->r[1] + 0x00000014u;
/* 028D1130 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028D1134 */ _t14 = cpu->r[1] + 0x00000008u;
/* 028D1134 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
/* 028D1138 */ cpu->lr = cpu->r[0];
/* 028D113C */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028D113C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
/* 028D1140 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D1144 */ return;
}
// fn_028D10E8 @ 0x28d10e8
void Gambit_fn_028D10E8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
L_028D10E8: ; // 0x28d10e8
/* 028D10E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D10E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D10E8 */ cpu->r[1] = _t0;
/* 028D10EC */ _t1 = cpu->r[1] + 0x00000008u;
/* 028D10EC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028D10F0 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028D10F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028D10F4 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028D10F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028D10F8 */ _t4 = cpu->r[3] + 0x0000002Cu;
/* 028D10F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028D10FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028D1100 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1100 */ _t6 = _t5 & 0x00000001u;
/* 028D1100 */ if (_t6) goto L_028D1130; else goto L_028D1104;
L_028D1104: ; // 0x28d1104
/* 028D1104 */ _t7 = cpu->r[3] + 0x00000020u;
/* 028D1104 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
/* 028D1108 */ cpu->r[31] = cpu->r[3] + 0xFFFFFFF4u;
/* 028D110C */ cpu->r[30] = cpu->r[12] + 0xFFFFFFD8u;
/* 028D1110 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]);
/* 028D1114 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1114 */ _t9 = _t8 & 0x00000001u;
/* 028D1114 */ if (_t9) goto L_028D1130; else goto L_028D1118;
L_028D1118: ; // 0x28d1118
/* 028D1118 */ cpu->r[3] = cpu->r[30];
/* 028D111C */ Gambit_fn_028D10D4(cpu);
/* 028D1120 */ _t10 = cpu->r[30] + 0x0000002Cu;
/* 028D1120 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
/* 028D1124 */ cpu->r[30] = cpu->r[11] + 0xFFFFFFD8u;
/* 028D1128 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]);
/* 028D112C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D112C */ _t12 = _t11 & 0x00000001u;
/* 028D112C */ if (_t12) goto L_028D1130; else goto L_028D1118;
L_028D1130: ; // 0x28d1130
/* 028D1130 */ _t13 = cpu->r[1] + 0x00000014u;
/* 028D1130 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028D1134 */ _t14 = cpu->r[1] + 0x00000008u;
/* 028D1134 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
/* 028D1138 */ cpu->lr = cpu->r[0];
/* 028D113C */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028D113C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
/* 028D1140 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D1144 */ return;
}
// fn_028D1148 @ 0x28d1148
void Gambit_fn_028D1148(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028D1148: ; // 0x28d1148
/* 028D1148 */ cpu->r[0] = cpu->lr;
/* 028D114C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D114C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D114C */ cpu->r[1] = _t0;
/* 028D1150 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028D1150 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028D1154 */ cpu->r[31] = cpu->r[3];
/* 028D1158 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028D1158 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028D115C */ Gambit_fn_028D10E4(cpu);
/* 028D1160 */ cpu->r[0] = 0x00000002u;
/* 028D1164 */ _t3 = cpu->r[31] + 0x00000014u;
/* 028D1164 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028D1168 */ _t4 = cpu->r[31] + 0x00000014u;
/* 028D1168 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028D116C */ _t5 = cpu->r[1] + 0x00000014u;
/* 028D116C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028D1170 */ cpu->lr = cpu->r[0];
/* 028D1174 */ _t6 = cpu->r[1] + 0x0000000Cu;
/* 028D1174 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
/* 028D1178 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D117C */ return;
}
// fn_028D114C @ 0x28d114c
void Gambit_fn_028D114C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028D114C: ; // 0x28d114c
/* 028D114C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D114C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D114C */ cpu->r[1] = _t0;
/* 028D1150 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028D1150 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028D1154 */ cpu->r[31] = cpu->r[3];
/* 028D1158 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028D1158 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028D115C */ Gambit_fn_028D10E4(cpu);
/* 028D1160 */ cpu->r[0] = 0x00000002u;
/* 028D1164 */ _t3 = cpu->r[31] + 0x00000014u;
/* 028D1164 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028D1168 */ _t4 = cpu->r[31] + 0x00000014u;
/* 028D1168 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028D116C */ _t5 = cpu->r[1] + 0x00000014u;
/* 028D116C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028D1170 */ cpu->lr = cpu->r[0];
/* 028D1174 */ _t6 = cpu->r[1] + 0x0000000Cu;
/* 028D1174 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
/* 028D1178 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D117C */ return;
}
// fn_028D1180 @ 0x28d1180
void Gambit_fn_028D1180(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
L_028D1180: ; // 0x28d1180
/* 028D1180 */ cpu->r[0] = cpu->lr;
/* 028D1184 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028D1184 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D1184 */ cpu->r[1] = _t0;
/* 028D1188 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028D1188 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028D118C */ /* nop */
/* 028D1190 */ _t2 = cpu->r[1] + 0x00000018u;
/* 028D1190 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
/* 028D1194 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028D1194 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028D1198 */ cpu->r[12] = 0x10140000u;
/* 028D119C */ _t4 = cpu->r[12] + 0xFFFFA55Cu;
/* 028D119C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t4);
/* 028D11A0 */ cpu->r[31] = cpu->r[3];
/* 028D11A4 */ _t5 = cpu->r[1] + 0x00000024u;
/* 028D11A4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028D11A8 */ _t6 = cpu->r[31] + 0x00000004u;
/* 028D11A8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
/* 028D11AC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]);
/* 028D11B0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D11B0 */ _t8 = _t7 & 0x00000001u;
/* 028D11B0 */ if (_t8) goto L_028D11B4; else goto L_028D11C4;
L_028D11B4: ; // 0x28d11b4
/* 028D11B4 */ cpu->r[3] = cpu->r[31];
/* 028D11B8 */ Gambit_fn_028D1148(cpu);
/* 028D11BC */ _t9 = cpu->r[31] + 0x00000034u;
/* 028D11BC */ rbrew_write_f32(cpu->mem, _t9, cpu->f[31]);
/* 028D11C0 */ goto L_028D11D4;
L_028D11C4: ; // 0x28d11c4
/* 028D11C4 */ cpu->r[0] = 0x00000001u;
/* 028D11C8 */ _t10 = cpu->r[31] + 0x00000014u;
/* 028D11C8 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
/* 028D11CC */ _t11 = cpu->r[31] + 0x00000014u;
/* 028D11CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028D11D0 */ _t12 = cpu->r[31] + 0x00000034u;
/* 028D11D0 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[31]);
L_028D11D4: ; // 0x28d11d4
/* 028D11D4 */ _t13 = cpu->r[1] + 0x00000018u;
/* 028D11D4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t13);
/* 028D11D8 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028D11D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028D11DC */ _t15 = cpu->r[1] + 0x00000010u;
/* 028D11DC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t15);
/* 028D11E0 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028D11E0 */ _t17 = _t16 & 0x00000001u;
/* 028D11E0 */ if (_t17) goto L_028D11E4; // else: addr-0 trap, fall-through
L_028D11E4: ; // 0x28d11e4
/* 028D11E4 */ _t18 = cpu->r[1] + 0x00000024u;
/* 028D11E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028D11E8 */ cpu->lr = cpu->r[0];
/* 028D11EC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028D11F0 */ return;
}
// fn_028D1184 @ 0x28d1184
void Gambit_fn_028D1184(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
L_028D1184: ; // 0x28d1184
/* 028D1184 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028D1184 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D1184 */ cpu->r[1] = _t0;
/* 028D1188 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028D1188 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028D118C */ /* nop */
/* 028D1190 */ _t2 = cpu->r[1] + 0x00000018u;
/* 028D1190 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
/* 028D1194 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028D1194 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028D1198 */ cpu->r[12] = 0x10140000u;
/* 028D119C */ _t4 = cpu->r[12] + 0xFFFFA55Cu;
/* 028D119C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t4);
/* 028D11A0 */ cpu->r[31] = cpu->r[3];
/* 028D11A4 */ _t5 = cpu->r[1] + 0x00000024u;
/* 028D11A4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028D11A8 */ _t6 = cpu->r[31] + 0x00000004u;
/* 028D11A8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
/* 028D11AC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]);
/* 028D11B0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D11B0 */ _t8 = _t7 & 0x00000001u;
/* 028D11B0 */ if (_t8) goto L_028D11B4; else goto L_028D11C4;
L_028D11B4: ; // 0x28d11b4
/* 028D11B4 */ cpu->r[3] = cpu->r[31];
/* 028D11B8 */ Gambit_fn_028D1148(cpu);
/* 028D11BC */ _t9 = cpu->r[31] + 0x00000034u;
/* 028D11BC */ rbrew_write_f32(cpu->mem, _t9, cpu->f[31]);
/* 028D11C0 */ goto L_028D11D4;
L_028D11C4: ; // 0x28d11c4
/* 028D11C4 */ cpu->r[0] = 0x00000001u;
/* 028D11C8 */ _t10 = cpu->r[31] + 0x00000014u;
/* 028D11C8 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
/* 028D11CC */ _t11 = cpu->r[31] + 0x00000014u;
/* 028D11CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028D11D0 */ _t12 = cpu->r[31] + 0x00000034u;
/* 028D11D0 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[31]);
L_028D11D4: ; // 0x28d11d4
/* 028D11D4 */ _t13 = cpu->r[1] + 0x00000018u;
/* 028D11D4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t13);
/* 028D11D8 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028D11D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028D11DC */ _t15 = cpu->r[1] + 0x00000010u;
/* 028D11DC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t15);
/* 028D11E0 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028D11E0 */ _t17 = _t16 & 0x00000001u;
/* 028D11E0 */ if (_t17) goto L_028D11E4; // else: addr-0 trap, fall-through
L_028D11E4: ; // 0x28d11e4
/* 028D11E4 */ _t18 = cpu->r[1] + 0x00000024u;
/* 028D11E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028D11E8 */ cpu->lr = cpu->r[0];
/* 028D11EC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028D11F0 */ return;
}
// fn_028D11F4 @ 0x28d11f4
void Gambit_fn_028D11F4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028CA1D8: ; // 0x28ca1d8
/* 028CA1D8 */ cpu->r[0] = cpu->lr;
/* 028CA1DC */ _t0 = cpu->r[1] + 0x00000004u;
/* 028CA1DC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028CA1E0 */ cpu->r[10] = cpu->r[3];
/* 028CA1E4 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028CA1E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028CA1E4 */ cpu->r[1] = _t1;
/* 028CA1E8 */ _t2 = cpu->r[10] + 0x00000000u;
/* 028CA1E8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t2);
/* 028CA1EC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[11]);
/* 028CA1F0 */ _t3 = cpu->r[10] + 0x00000008u;
/* 028CA1F0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[1]);
/* 028CA1F4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA1F4 */ _t5 = _t4 & 0x00000001u;
/* 028CA1F4 */ if (_t5) goto L_028CA208; else goto L_028CA1F8;
L_028CA1F8: ; // 0x28ca1f8
/* 028CA1F8 */ cpu->r[12] = 0x10140000u;
/* 028CA1FC */ _t6 = cpu->r[12] + 0xFFFF9C5Cu;
/* 028CA1FC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
/* 028CA200 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[0]);
/* 028CA204 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA204 */ _t8 = _t7 & 0x00000001u;
/* 028CA204 */ if (_t8) goto L_028CA208; else goto L_028CA220;
L_028CA208: ; // 0x28ca208
/* 028CA208 */ cpu->r[3] = cpu->r[10];
/* 028CA20C */ Gambit_fn_028CA0C8(cpu);
/* 028CA210 */ _t9 = cpu->r[1] + 0x0000000Cu;
/* 028CA210 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 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 */ _t10 = cpu->r[10] + 0x0000000Cu;
/* 028CA22C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
/* 028CA230 */ Gambit_fn_028CA148(cpu);
/* 028CA234 */ _t11 = cpu->r[10] + 0x00000004u;
/* 028CA234 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[1]);
/* 028CA238 */ _t12 = cpu->r[1] + 0x0000000Cu;
/* 028CA238 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028CA23C */ cpu->lr = cpu->r[0];
/* 028CA240 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028CA244 */ return;
L_028D11F4: ; // 0x28d11f4
/* 028D11F4 */ cpu->r[12] = 0x10140000u;
/* 028D11F8 */ _t13 = cpu->r[3] + 0x0000000Cu;
/* 028D11F8 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t13);
/* 028D11FC */ _t14 = cpu->r[12] + 0xFFFFA560u;
/* 028D11FC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t14);
/* 028D1200 */ cpu->r[3] = cpu->r[3] + 0x00000014u;
/* 028D1204 */ goto L_028CA1D8;
}
// fn_028D1208 @ 0x28d1208
void Gambit_fn_028D1208(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
L_028D1208: ; // 0x28d1208
/* 028D1208 */ cpu->r[0] = cpu->lr;
/* 028D120C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D120C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D120C */ cpu->r[1] = _t0;
/* 028D1210 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028D1210 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028D1214 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028D1214 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028D1218 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028D1218 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028D121C */ _t4 = cpu->r[3] + 0x0000002Cu;
/* 028D121C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028D1220 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028D1224 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1224 */ _t6 = _t5 & 0x00000001u;
/* 028D1224 */ if (_t6) goto L_028D1254; else goto L_028D1228;
L_028D1228: ; // 0x28d1228
/* 028D1228 */ _t7 = cpu->r[3] + 0x00000020u;
/* 028D1228 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
/* 028D122C */ cpu->r[31] = cpu->r[3] + 0xFFFFFFF4u;
/* 028D1230 */ cpu->r[30] = cpu->r[12] + 0xFFFFFFD8u;
/* 028D1234 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]);
/* 028D1238 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1238 */ _t9 = _t8 & 0x00000001u;
/* 028D1238 */ if (_t9) goto L_028D1254; else goto L_028D123C;
L_028D123C: ; // 0x28d123c
/* 028D123C */ cpu->r[3] = cpu->r[30];
/* 028D1240 */ Gambit_fn_028D11F4(cpu);
/* 028D1244 */ _t10 = cpu->r[30] + 0x0000002Cu;
/* 028D1244 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
/* 028D1248 */ cpu->r[30] = cpu->r[11] + 0xFFFFFFD8u;
/* 028D124C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]);
/* 028D1250 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1250 */ _t12 = _t11 & 0x00000001u;
/* 028D1250 */ if (_t12) goto L_028D1254; else goto L_028D123C;
L_028D1254: ; // 0x28d1254
/* 028D1254 */ _t13 = cpu->r[1] + 0x00000014u;
/* 028D1254 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028D1258 */ _t14 = cpu->r[1] + 0x00000008u;
/* 028D1258 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
/* 028D125C */ cpu->lr = cpu->r[0];
/* 028D1260 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028D1260 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
/* 028D1264 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D1268 */ return;
}
// fn_028D120C @ 0x28d120c
void Gambit_fn_028D120C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
L_028D120C: ; // 0x28d120c
/* 028D120C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D120C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D120C */ cpu->r[1] = _t0;
/* 028D1210 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028D1210 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028D1214 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028D1214 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028D1218 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028D1218 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028D121C */ _t4 = cpu->r[3] + 0x0000002Cu;
/* 028D121C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028D1220 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028D1224 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1224 */ _t6 = _t5 & 0x00000001u;
/* 028D1224 */ if (_t6) goto L_028D1254; else goto L_028D1228;
L_028D1228: ; // 0x28d1228
/* 028D1228 */ _t7 = cpu->r[3] + 0x00000020u;
/* 028D1228 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
/* 028D122C */ cpu->r[31] = cpu->r[3] + 0xFFFFFFF4u;
/* 028D1230 */ cpu->r[30] = cpu->r[12] + 0xFFFFFFD8u;
/* 028D1234 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]);
/* 028D1238 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1238 */ _t9 = _t8 & 0x00000001u;
/* 028D1238 */ if (_t9) goto L_028D1254; else goto L_028D123C;
L_028D123C: ; // 0x28d123c
/* 028D123C */ cpu->r[3] = cpu->r[30];
/* 028D1240 */ Gambit_fn_028D11F4(cpu);
/* 028D1244 */ _t10 = cpu->r[30] + 0x0000002Cu;
/* 028D1244 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
/* 028D1248 */ cpu->r[30] = cpu->r[11] + 0xFFFFFFD8u;
/* 028D124C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]);
/* 028D1250 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1250 */ _t12 = _t11 & 0x00000001u;
/* 028D1250 */ if (_t12) goto L_028D1254; else goto L_028D123C;
L_028D1254: ; // 0x28d1254
/* 028D1254 */ _t13 = cpu->r[1] + 0x00000014u;
/* 028D1254 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028D1258 */ _t14 = cpu->r[1] + 0x00000008u;
/* 028D1258 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
/* 028D125C */ cpu->lr = cpu->r[0];
/* 028D1260 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028D1260 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
/* 028D1264 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D1268 */ return;
}
// fn_028D126C @ 0x28d126c
void Gambit_fn_028D126C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028D126C: ; // 0x28d126c
/* 028D126C */ cpu->r[0] = cpu->lr;
/* 028D1270 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D1270 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D1270 */ cpu->r[1] = _t0;
/* 028D1274 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028D1274 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028D1278 */ cpu->r[31] = cpu->r[3];
/* 028D127C */ _t2 = cpu->r[1] + 0x00000014u;
/* 028D127C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028D1280 */ Gambit_fn_028D1208(cpu);
/* 028D1284 */ cpu->r[0] = 0x00000004u;
/* 028D1288 */ _t3 = cpu->r[31] + 0x00000014u;
/* 028D1288 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028D128C */ _t4 = cpu->r[31] + 0x00000014u;
/* 028D128C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028D1290 */ _t5 = cpu->r[1] + 0x00000014u;
/* 028D1290 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028D1294 */ cpu->lr = cpu->r[0];
/* 028D1298 */ _t6 = cpu->r[1] + 0x0000000Cu;
/* 028D1298 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
/* 028D129C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D12A0 */ return;
}
// fn_028D1270 @ 0x28d1270
void Gambit_fn_028D1270(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028D1270: ; // 0x28d1270
/* 028D1270 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D1270 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D1270 */ cpu->r[1] = _t0;
/* 028D1274 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028D1274 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028D1278 */ cpu->r[31] = cpu->r[3];
/* 028D127C */ _t2 = cpu->r[1] + 0x00000014u;
/* 028D127C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028D1280 */ Gambit_fn_028D1208(cpu);
/* 028D1284 */ cpu->r[0] = 0x00000004u;
/* 028D1288 */ _t3 = cpu->r[31] + 0x00000014u;
/* 028D1288 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028D128C */ _t4 = cpu->r[31] + 0x00000014u;
/* 028D128C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028D1290 */ _t5 = cpu->r[1] + 0x00000014u;
/* 028D1290 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028D1294 */ cpu->lr = cpu->r[0];
/* 028D1298 */ _t6 = cpu->r[1] + 0x0000000Cu;
/* 028D1298 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
/* 028D129C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D12A0 */ return;
}
// fn_028D12A4 @ 0x28d12a4
void Gambit_fn_028D12A4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
L_028D12A4: ; // 0x28d12a4
/* 028D12A4 */ cpu->r[0] = cpu->lr;
/* 028D12A8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028D12A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D12A8 */ cpu->r[1] = _t0;
/* 028D12AC */ _t1 = cpu->r[1] + 0x00000010u;
/* 028D12AC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028D12B0 */ /* nop */
/* 028D12B4 */ _t2 = cpu->r[1] + 0x00000018u;
/* 028D12B4 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
/* 028D12B8 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028D12B8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028D12BC */ cpu->r[12] = 0x10140000u;
/* 028D12C0 */ _t4 = cpu->r[12] + 0xFFFFA55Cu;
/* 028D12C0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t4);
/* 028D12C4 */ cpu->r[31] = cpu->r[3];
/* 028D12C8 */ _t5 = cpu->r[1] + 0x00000024u;
/* 028D12C8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028D12CC */ _t6 = cpu->r[31] + 0x00000008u;
/* 028D12CC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
/* 028D12D0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]);
/* 028D12D4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D12D4 */ _t8 = _t7 & 0x00000001u;
/* 028D12D4 */ if (_t8) goto L_028D12D8; else goto L_028D12E8;
L_028D12D8: ; // 0x28d12d8
/* 028D12D8 */ cpu->r[3] = cpu->r[31];
/* 028D12DC */ Gambit_fn_028D126C(cpu);
/* 028D12E0 */ _t9 = cpu->r[31] + 0x00000034u;
/* 028D12E0 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[31]);
/* 028D12E4 */ goto L_028D12F8;
L_028D12E8: ; // 0x28d12e8
/* 028D12E8 */ cpu->r[0] = 0x00000003u;
/* 028D12EC */ _t10 = cpu->r[31] + 0x00000014u;
/* 028D12EC */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
/* 028D12F0 */ _t11 = cpu->r[31] + 0x00000014u;
/* 028D12F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028D12F4 */ _t12 = cpu->r[31] + 0x00000034u;
/* 028D12F4 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[31]);
L_028D12F8: ; // 0x28d12f8
/* 028D12F8 */ _t13 = cpu->r[1] + 0x00000018u;
/* 028D12F8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t13);
/* 028D12FC */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028D12FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028D1300 */ _t15 = cpu->r[1] + 0x00000010u;
/* 028D1300 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t15);
/* 028D1304 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028D1304 */ _t17 = _t16 & 0x00000001u;
/* 028D1304 */ if (_t17) goto L_028D1308; // else: addr-0 trap, fall-through
L_028D1308: ; // 0x28d1308
/* 028D1308 */ _t18 = cpu->r[1] + 0x00000024u;
/* 028D1308 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028D130C */ cpu->lr = cpu->r[0];
/* 028D1310 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028D1314 */ return;
}
// fn_028D12A8 @ 0x28d12a8
void Gambit_fn_028D12A8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
L_028D12A8: ; // 0x28d12a8
/* 028D12A8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028D12A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D12A8 */ cpu->r[1] = _t0;
/* 028D12AC */ _t1 = cpu->r[1] + 0x00000010u;
/* 028D12AC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028D12B0 */ /* nop */
/* 028D12B4 */ _t2 = cpu->r[1] + 0x00000018u;
/* 028D12B4 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
/* 028D12B8 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028D12B8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028D12BC */ cpu->r[12] = 0x10140000u;
/* 028D12C0 */ _t4 = cpu->r[12] + 0xFFFFA55Cu;
/* 028D12C0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t4);
/* 028D12C4 */ cpu->r[31] = cpu->r[3];
/* 028D12C8 */ _t5 = cpu->r[1] + 0x00000024u;
/* 028D12C8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
/* 028D12CC */ _t6 = cpu->r[31] + 0x00000008u;
/* 028D12CC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
/* 028D12D0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]);
/* 028D12D4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D12D4 */ _t8 = _t7 & 0x00000001u;
/* 028D12D4 */ if (_t8) goto L_028D12D8; else goto L_028D12E8;
L_028D12D8: ; // 0x28d12d8
/* 028D12D8 */ cpu->r[3] = cpu->r[31];
/* 028D12DC */ Gambit_fn_028D126C(cpu);
/* 028D12E0 */ _t9 = cpu->r[31] + 0x00000034u;
/* 028D12E0 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[31]);
/* 028D12E4 */ goto L_028D12F8;
L_028D12E8: ; // 0x28d12e8
/* 028D12E8 */ cpu->r[0] = 0x00000003u;
/* 028D12EC */ _t10 = cpu->r[31] + 0x00000014u;
/* 028D12EC */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
/* 028D12F0 */ _t11 = cpu->r[31] + 0x00000014u;
/* 028D12F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028D12F4 */ _t12 = cpu->r[31] + 0x00000034u;
/* 028D12F4 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[31]);
L_028D12F8: ; // 0x28d12f8
/* 028D12F8 */ _t13 = cpu->r[1] + 0x00000018u;
/* 028D12F8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t13);
/* 028D12FC */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028D12FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028D1300 */ _t15 = cpu->r[1] + 0x00000010u;
/* 028D1300 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t15);
/* 028D1304 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028D1304 */ _t17 = _t16 & 0x00000001u;
/* 028D1304 */ if (_t17) goto L_028D1308; // else: addr-0 trap, fall-through
L_028D1308: ; // 0x28d1308
/* 028D1308 */ _t18 = cpu->r[1] + 0x00000024u;
/* 028D1308 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
/* 028D130C */ cpu->lr = cpu->r[0];
/* 028D1310 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028D1314 */ return;
}
// fn_028D1318 @ 0x28d1318
void Gambit_fn_028D1318(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028D1318: ; // 0x28d1318
/* 028D1318 */ cpu->r[0] = cpu->lr;
/* 028D131C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D131C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D131C */ cpu->r[1] = _t0;
/* 028D1320 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028D1320 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028D1324 */ cpu->r[31] = cpu->r[3];
/* 028D1328 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028D1328 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028D132C */ Gambit_fn_028D1208(cpu);
/* 028D1330 */ cpu->r[0] = 0x00000005u;
/* 028D1334 */ _t3 = cpu->r[31] + 0x00000014u;
/* 028D1334 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028D1338 */ _t4 = cpu->r[31] + 0x00000014u;
/* 028D1338 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028D133C */ _t5 = cpu->r[1] + 0x00000014u;
/* 028D133C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028D1340 */ cpu->lr = cpu->r[0];
/* 028D1344 */ _t6 = cpu->r[1] + 0x0000000Cu;
/* 028D1344 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
/* 028D1348 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D134C */ return;
}
// fn_028D131C @ 0x28d131c
void Gambit_fn_028D131C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
L_028D131C: ; // 0x28d131c
/* 028D131C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D131C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D131C */ cpu->r[1] = _t0;
/* 028D1320 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028D1320 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028D1324 */ cpu->r[31] = cpu->r[3];
/* 028D1328 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028D1328 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028D132C */ Gambit_fn_028D1208(cpu);
/* 028D1330 */ cpu->r[0] = 0x00000005u;
/* 028D1334 */ _t3 = cpu->r[31] + 0x00000014u;
/* 028D1334 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028D1338 */ _t4 = cpu->r[31] + 0x00000014u;
/* 028D1338 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028D133C */ _t5 = cpu->r[1] + 0x00000014u;
/* 028D133C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028D1340 */ cpu->lr = cpu->r[0];
/* 028D1344 */ _t6 = cpu->r[1] + 0x0000000Cu;
/* 028D1344 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
/* 028D1348 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D134C */ return;
}
// fn_028D1350 @ 0x28d1350
void Gambit_fn_028D1350(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _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_028D1350: ; // 0x28d1350
/* 028D1350 */ cpu->r[0] = cpu->lr;
/* 028D1354 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D1354 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D1354 */ cpu->r[1] = _t0;
/* 028D1358 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028D1358 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028D135C */ cpu->r[31] = cpu->r[3];
/* 028D1360 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028D1360 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028D1364 */ _t3 = cpu->r[31] + 0x00000014u;
/* 028D1364 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028D1368 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000000u);
/* 028D136C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D136C */ _t5 = _t4 & 0x00000001u;
/* 028D136C */ if (_t5) goto L_028D1380; else goto L_028D1370;
L_028D1370: ; // 0x28d1370
/* 028D1370 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
/* 028D1374 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028D1374 */ _t7 = _t6 & 0x00000001u;
/* 028D1374 */ if (_t7) goto L_028D1378; else goto L_028D13AC;
L_028D1378: ; // 0x28d1378
/* 028D1378 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000004u);
/* 028D137C */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028D137C */ _t9 = _t8 & 0x00000001u;
/* 028D137C */ if (_t9) goto L_028D1400; else goto L_028D1380;
L_028D1380: ; // 0x28d1380
/* 028D1380 */ cpu->r[3] = cpu->r[31];
/* 028D1384 */ Gambit_fn_028D1080(cpu);
/* 028D1388 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D138C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D138C */ _t11 = _t10 & 0x00000001u;
/* 028D138C */ if (_t11) goto L_028D1400; else goto L_028D1390;
L_028D1390: ; // 0x28d1390
/* 028D1390 */ cpu->r[3] = cpu->r[31];
/* 028D1394 */ Gambit_fn_028D1180(cpu);
/* 028D1398 */ _t12 = cpu->r[1] + 0x00000014u;
/* 028D1398 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028D139C */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028D139C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
/* 028D13A0 */ cpu->lr = cpu->r[0];
/* 028D13A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D13A8 */ return;
L_028D13AC: ; // 0x28d13ac
/* 028D13AC */ cpu->r[3] = cpu->r[31];
/* 028D13B0 */ Gambit_fn_028D1080(cpu);
/* 028D13B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D13B8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D13B8 */ _t15 = _t14 & 0x00000001u;
/* 028D13B8 */ if (_t15) goto L_028D13BC; else goto L_028D13D8;
L_028D13BC: ; // 0x28d13bc
/* 028D13BC */ cpu->r[3] = cpu->r[31];
/* 028D13C0 */ Gambit_fn_028D12A4(cpu);
/* 028D13C4 */ _t16 = cpu->r[1] + 0x00000014u;
/* 028D13C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028D13C8 */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028D13C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
/* 028D13CC */ cpu->lr = cpu->r[0];
/* 028D13D0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D13D4 */ return;
L_028D13D8: ; // 0x28d13d8
/* 028D13D8 */ cpu->r[12] = 0x10140000u;
/* 028D13DC */ _t18 = cpu->r[31] + 0x0000000Cu;
/* 028D13DC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
/* 028D13E0 */ _t19 = cpu->r[12] + 0xFFFFA55Cu;
/* 028D13E0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19);
/* 028D13E4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
/* 028D13E8 */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028D13E8 */ _t21 = _t20 & 0x00000001u;
/* 028D13E8 */ if (_t21) goto L_028D13EC; else goto L_028D1400;
L_028D13EC: ; // 0x28d13ec
/* 028D13EC */ _t22 = cpu->r[31] + 0x00000038u;
/* 028D13EC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
/* 028D13F0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[13]);
/* 028D13F4 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028D13F4 */ _t24 = _t23 & 0x00000001u;
/* 028D13F4 */ if (_t24) goto L_028D1400; else goto L_028D13F8;
L_028D13F8: ; // 0x28d13f8
/* 028D13F8 */ cpu->r[3] = cpu->r[31];
/* 028D13FC */ Gambit_fn_028D1318(cpu);
L_028D1400: ; // 0x28d1400
/* 028D1400 */ _t25 = cpu->r[1] + 0x00000014u;
/* 028D1400 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
/* 028D1404 */ _t26 = cpu->r[1] + 0x0000000Cu;
/* 028D1404 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
/* 028D1408 */ cpu->lr = cpu->r[0];
/* 028D140C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D1410 */ return;
}
// fn_028D1354 @ 0x28d1354
void Gambit_fn_028D1354(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _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_028D1354: ; // 0x28d1354
/* 028D1354 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D1354 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D1354 */ cpu->r[1] = _t0;
/* 028D1358 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028D1358 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028D135C */ cpu->r[31] = cpu->r[3];
/* 028D1360 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028D1360 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028D1364 */ _t3 = cpu->r[31] + 0x00000014u;
/* 028D1364 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028D1368 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000000u);
/* 028D136C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D136C */ _t5 = _t4 & 0x00000001u;
/* 028D136C */ if (_t5) goto L_028D1380; else goto L_028D1370;
L_028D1370: ; // 0x28d1370
/* 028D1370 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
/* 028D1374 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028D1374 */ _t7 = _t6 & 0x00000001u;
/* 028D1374 */ if (_t7) goto L_028D1378; else goto L_028D13AC;
L_028D1378: ; // 0x28d1378
/* 028D1378 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000004u);
/* 028D137C */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028D137C */ _t9 = _t8 & 0x00000001u;
/* 028D137C */ if (_t9) goto L_028D1400; else goto L_028D1380;
L_028D1380: ; // 0x28d1380
/* 028D1380 */ cpu->r[3] = cpu->r[31];
/* 028D1384 */ Gambit_fn_028D1080(cpu);
/* 028D1388 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D138C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D138C */ _t11 = _t10 & 0x00000001u;
/* 028D138C */ if (_t11) goto L_028D1400; else goto L_028D1390;
L_028D1390: ; // 0x28d1390
/* 028D1390 */ cpu->r[3] = cpu->r[31];
/* 028D1394 */ Gambit_fn_028D1180(cpu);
/* 028D1398 */ _t12 = cpu->r[1] + 0x00000014u;
/* 028D1398 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028D139C */ _t13 = cpu->r[1] + 0x0000000Cu;
/* 028D139C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
/* 028D13A0 */ cpu->lr = cpu->r[0];
/* 028D13A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D13A8 */ return;
L_028D13AC: ; // 0x28d13ac
/* 028D13AC */ cpu->r[3] = cpu->r[31];
/* 028D13B0 */ Gambit_fn_028D1080(cpu);
/* 028D13B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D13B8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D13B8 */ _t15 = _t14 & 0x00000001u;
/* 028D13B8 */ if (_t15) goto L_028D13BC; else goto L_028D13D8;
L_028D13BC: ; // 0x28d13bc
/* 028D13BC */ cpu->r[3] = cpu->r[31];
/* 028D13C0 */ Gambit_fn_028D12A4(cpu);
/* 028D13C4 */ _t16 = cpu->r[1] + 0x00000014u;
/* 028D13C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
/* 028D13C8 */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028D13C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
/* 028D13CC */ cpu->lr = cpu->r[0];
/* 028D13D0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D13D4 */ return;
L_028D13D8: ; // 0x28d13d8
/* 028D13D8 */ cpu->r[12] = 0x10140000u;
/* 028D13DC */ _t18 = cpu->r[31] + 0x0000000Cu;
/* 028D13DC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
/* 028D13E0 */ _t19 = cpu->r[12] + 0xFFFFA55Cu;
/* 028D13E0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19);
/* 028D13E4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
/* 028D13E8 */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028D13E8 */ _t21 = _t20 & 0x00000001u;
/* 028D13E8 */ if (_t21) goto L_028D13EC; else goto L_028D1400;
L_028D13EC: ; // 0x28d13ec
/* 028D13EC */ _t22 = cpu->r[31] + 0x00000038u;
/* 028D13EC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
/* 028D13F0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[13]);
/* 028D13F4 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028D13F4 */ _t24 = _t23 & 0x00000001u;
/* 028D13F4 */ if (_t24) goto L_028D1400; else goto L_028D13F8;
L_028D13F8: ; // 0x28d13f8
/* 028D13F8 */ cpu->r[3] = cpu->r[31];
/* 028D13FC */ Gambit_fn_028D1318(cpu);
L_028D1400: ; // 0x28d1400
/* 028D1400 */ _t25 = cpu->r[1] + 0x00000014u;
/* 028D1400 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
/* 028D1404 */ _t26 = cpu->r[1] + 0x0000000Cu;
/* 028D1404 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
/* 028D1408 */ cpu->lr = cpu->r[0];
/* 028D140C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D1410 */ return;
}
// fn_028D1414 @ 0x28d1414
void Gambit_fn_028D1414(CPUState* cpu) {
uint32_t _t0, _t1;
L_028D1414: ; // 0x28d1414
/* 028D1414 */ _t0 = cpu->r[3] + 0x00000014u;
/* 028D1414 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t0);
/* 028D1418 */ _t1 = cpu->r[3] + 0x0000001Cu;
/* 028D1418 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
/* 028D141C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
/* 028D1420 */ /* nop */
/* 028D1424 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x0000001Fu, 0x0000001Fu);
/* 028D1428 */ cpu->r[3] = cpu->r[0] ^ 0x00000001u;
/* 028D142C */ return;
}
// fn_028D1430 @ 0x28d1430
void Gambit_fn_028D1430(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028D1430: ; // 0x28d1430
/* 028D1430 */ cpu->r[0] = cpu->lr;
/* 028D1434 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028D1434 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028D1438 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028D1438 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028D1438 */ cpu->r[1] = _t1;
/* 028D143C */ _t2 = cpu->r[3] + 0x00000020u;
/* 028D143C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
/* 028D1440 */ cpu->r[11] = cpu->r[3] + 0xFFFFFFF4u;
/* 028D1444 */ cpu->r[10] = cpu->r[12] + 0xFFFFFFD8u;
/* 028D1448 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]);
/* 028D144C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D144C */ _t4 = _t3 & 0x00000001u;
/* 028D144C */ if (_t4) goto L_028D1484; else goto L_028D1450;
L_028D1450: ; // 0x28d1450
/* 028D1450 */ cpu->r[3] = cpu->r[10];
/* 028D1454 */ Gambit_fn_028D1414(cpu);
/* 028D1458 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D145C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D145C */ _t6 = _t5 & 0x00000001u;
/* 028D145C */ if (_t6) goto L_028D1474; else goto L_028D1460;
L_028D1460: ; // 0x28d1460
/* 028D1460 */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 028D1460 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028D1464 */ cpu->lr = cpu->r[0];
/* 028D1468 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028D146C */ cpu->r[3] = 0x00000001u;
/* 028D1470 */ return;
L_028D1474: ; // 0x28d1474
/* 028D1474 */ _t8 = cpu->r[10] + 0x0000002Cu;
/* 028D1474 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
/* 028D1478 */ cpu->r[10] = cpu->r[12] + 0xFFFFFFD8u;
/* 028D147C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]);
/* 028D1480 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1480 */ _t10 = _t9 & 0x00000001u;
/* 028D1480 */ if (_t10) goto L_028D1484; else goto L_028D1450;
L_028D1484: ; // 0x28d1484
/* 028D1484 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028D1484 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028D1488 */ cpu->lr = cpu->r[0];
/* 028D148C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028D1490 */ cpu->r[3] = 0x00000000u;
/* 028D1494 */ return;
}
// fn_028D1438 @ 0x28d1438
void Gambit_fn_028D1438(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
L_028D1438: ; // 0x28d1438
/* 028D1438 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028D1438 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D1438 */ cpu->r[1] = _t0;
/* 028D143C */ _t1 = cpu->r[3] + 0x00000020u;
/* 028D143C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
/* 028D1440 */ cpu->r[11] = cpu->r[3] + 0xFFFFFFF4u;
/* 028D1444 */ cpu->r[10] = cpu->r[12] + 0xFFFFFFD8u;
/* 028D1448 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]);
/* 028D144C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D144C */ _t3 = _t2 & 0x00000001u;
/* 028D144C */ if (_t3) goto L_028D1484; else goto L_028D1450;
L_028D1450: ; // 0x28d1450
/* 028D1450 */ cpu->r[3] = cpu->r[10];
/* 028D1454 */ Gambit_fn_028D1414(cpu);
/* 028D1458 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D145C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D145C */ _t5 = _t4 & 0x00000001u;
/* 028D145C */ if (_t5) goto L_028D1474; else goto L_028D1460;
L_028D1460: ; // 0x28d1460
/* 028D1460 */ _t6 = cpu->r[1] + 0x0000000Cu;
/* 028D1460 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028D1464 */ cpu->lr = cpu->r[0];
/* 028D1468 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028D146C */ cpu->r[3] = 0x00000001u;
/* 028D1470 */ return;
L_028D1474: ; // 0x28d1474
/* 028D1474 */ _t7 = cpu->r[10] + 0x0000002Cu;
/* 028D1474 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
/* 028D1478 */ cpu->r[10] = cpu->r[12] + 0xFFFFFFD8u;
/* 028D147C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]);
/* 028D1480 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1480 */ _t9 = _t8 & 0x00000001u;
/* 028D1480 */ if (_t9) goto L_028D1484; else goto L_028D1450;
L_028D1484: ; // 0x28d1484
/* 028D1484 */ _t10 = cpu->r[1] + 0x0000000Cu;
/* 028D1484 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028D1488 */ cpu->lr = cpu->r[0];
/* 028D148C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028D1490 */ cpu->r[3] = 0x00000000u;
/* 028D1494 */ return;
}
// fn_028D1498 @ 0x28d1498
void Gambit_fn_028D1498(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _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_028D1498: ; // 0x28d1498
/* 028D1498 */ cpu->r[0] = cpu->lr;
/* 028D149C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D149C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D149C */ cpu->r[1] = _t0;
/* 028D14A0 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028D14A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028D14A4 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028D14A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028D14A8 */ cpu->r[30] = cpu->r[3];
/* 028D14AC */ _t3 = cpu->r[1] + 0x00000014u;
/* 028D14AC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028D14B0 */ _t4 = cpu->r[30] + 0x00000014u;
/* 028D14B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028D14B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000001u);
/* 028D14B8 */ cpu->r[31] = 0x00000000u;
/* 028D14BC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D14BC */ _t6 = _t5 & 0x00000001u;
/* 028D14BC */ if (_t6) goto L_028D14F0; else goto L_028D14C0;
L_028D14C0: ; // 0x28d14c0
/* 028D14C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000003u);
/* 028D14C4 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028D14C4 */ _t8 = _t7 & 0x00000001u;
/* 028D14C4 */ if (_t8) goto L_028D158C; else goto L_028D14C8;
L_028D14C8: ; // 0x28d14c8
/* 028D14C8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D14C8 */ _t10 = _t9 & 0x00000001u;
/* 028D14C8 */ if (_t10) goto L_028D1520; else goto L_028D14CC;
L_028D14CC: ; // 0x28d14cc
/* 028D14CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000005u);
/* 028D14D0 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028D14D0 */ _t12 = _t11 & 0x00000001u;
/* 028D14D0 */ if (_t12) goto L_028D1550; else goto L_028D14D4;
L_028D14D4: ; // 0x28d14d4
/* 028D14D4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D14D4 */ _t14 = _t13 & 0x00000001u;
/* 028D14D4 */ if (_t14) goto L_028D1564; else goto L_028D14D8;
L_028D14D8: ; // 0x28d14d8
/* 028D14D8 */ _t15 = cpu->r[1] + 0x00000014u;
/* 028D14D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028D14DC */ _t16 = cpu->r[1] + 0x00000008u;
/* 028D14DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
/* 028D14E0 */ cpu->lr = cpu->r[0];
/* 028D14E4 */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028D14E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
/* 028D14E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D14EC */ return;
L_028D14F0: ; // 0x28d14f0
/* 028D14F0 */ _t18 = cpu->r[30] + 0x00000034u;
/* 028D14F0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
/* 028D14F4 */ _t19 = cpu->r[30] + 0x00000004u;
/* 028D14F4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19);
/* 028D14F8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
/* 028D14FC */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028D14FC */ _t21 = _t20 & 0x00000001u;
/* 028D14FC */ if (_t21) goto L_028D158C; else goto L_028D1500;
L_028D1500: ; // 0x28d1500
/* 028D1500 */ cpu->r[3] = cpu->r[30];
/* 028D1504 */ Gambit_fn_028D1148(cpu);
/* 028D1508 */ _t22 = cpu->r[1] + 0x00000014u;
/* 028D1508 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
/* 028D150C */ _t23 = cpu->r[1] + 0x00000008u;
/* 028D150C */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
/* 028D1510 */ cpu->lr = cpu->r[0];
/* 028D1514 */ _t24 = cpu->r[1] + 0x0000000Cu;
/* 028D1514 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
/* 028D1518 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D151C */ return;
L_028D1520: ; // 0x28d1520
/* 028D1520 */ _t25 = cpu->r[30] + 0x00000034u;
/* 028D1520 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t25);
/* 028D1524 */ _t26 = cpu->r[30] + 0x00000008u;
/* 028D1524 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t26);
/* 028D1528 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
/* 028D152C */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028D152C */ _t28 = _t27 & 0x00000001u;
/* 028D152C */ if (_t28) goto L_028D158C; else goto L_028D1530;
L_028D1530: ; // 0x28d1530
/* 028D1530 */ cpu->r[3] = cpu->r[30];
/* 028D1534 */ Gambit_fn_028D126C(cpu);
/* 028D1538 */ _t29 = cpu->r[1] + 0x00000014u;
/* 028D1538 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
/* 028D153C */ _t30 = cpu->r[1] + 0x00000008u;
/* 028D153C */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
/* 028D1540 */ cpu->lr = cpu->r[0];
/* 028D1544 */ _t31 = cpu->r[1] + 0x0000000Cu;
/* 028D1544 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
/* 028D1548 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D154C */ return;
L_028D1550: ; // 0x28d1550
/* 028D1550 */ cpu->r[3] = cpu->r[30];
/* 028D1554 */ Gambit_fn_028D1430(cpu);
/* 028D1558 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D155C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D155C */ _t33 = _t32 & 0x00000001u;
/* 028D155C */ if (_t33) goto L_028D1560; else goto L_028D158C;
L_028D1560: ; // 0x28d1560
/* 028D1560 */ goto L_028D1584;
L_028D1564: ; // 0x28d1564
/* 028D1564 */ cpu->r[3] = cpu->r[30];
/* 028D1568 */ Gambit_fn_028D1430(cpu);
/* 028D156C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D1570 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1570 */ _t35 = _t34 & 0x00000001u;
/* 028D1570 */ if (_t35) goto L_028D1574; else goto L_028D158C;
L_028D1574: ; // 0x28d1574
/* 028D1574 */ cpu->r[3] = cpu->r[30];
/* 028D1578 */ Gambit_fn_028D1080(cpu);
/* 028D157C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D1580 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1580 */ _t37 = _t36 & 0x00000001u;
/* 028D1580 */ if (_t37) goto L_028D1584; else goto L_028D158C;
L_028D1584: ; // 0x28d1584
/* 028D1584 */ _t38 = cpu->r[30] + 0x00000014u;
/* 028D1584 */ rbrew_write32(cpu->mem, _t38, cpu->r[31]);
/* 028D1588 */ _t39 = cpu->r[30] + 0x00000014u;
/* 028D1588 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
L_028D158C: ; // 0x28d158c
/* 028D158C */ _t40 = cpu->r[1] + 0x00000014u;
/* 028D158C */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
/* 028D1590 */ _t41 = cpu->r[1] + 0x00000008u;
/* 028D1590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t41);
/* 028D1594 */ cpu->lr = cpu->r[0];
/* 028D1598 */ _t42 = cpu->r[1] + 0x0000000Cu;
/* 028D1598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
/* 028D159C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D15A0 */ return;
}
// fn_028D149C @ 0x28d149c
void Gambit_fn_028D149C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _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_028D149C: ; // 0x28d149c
/* 028D149C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D149C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D149C */ cpu->r[1] = _t0;
/* 028D14A0 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028D14A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028D14A4 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028D14A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028D14A8 */ cpu->r[30] = cpu->r[3];
/* 028D14AC */ _t3 = cpu->r[1] + 0x00000014u;
/* 028D14AC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028D14B0 */ _t4 = cpu->r[30] + 0x00000014u;
/* 028D14B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028D14B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000001u);
/* 028D14B8 */ cpu->r[31] = 0x00000000u;
/* 028D14BC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D14BC */ _t6 = _t5 & 0x00000001u;
/* 028D14BC */ if (_t6) goto L_028D14F0; else goto L_028D14C0;
L_028D14C0: ; // 0x28d14c0
/* 028D14C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000003u);
/* 028D14C4 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028D14C4 */ _t8 = _t7 & 0x00000001u;
/* 028D14C4 */ if (_t8) goto L_028D158C; else goto L_028D14C8;
L_028D14C8: ; // 0x28d14c8
/* 028D14C8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D14C8 */ _t10 = _t9 & 0x00000001u;
/* 028D14C8 */ if (_t10) goto L_028D1520; else goto L_028D14CC;
L_028D14CC: ; // 0x28d14cc
/* 028D14CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000005u);
/* 028D14D0 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028D14D0 */ _t12 = _t11 & 0x00000001u;
/* 028D14D0 */ if (_t12) goto L_028D1550; else goto L_028D14D4;
L_028D14D4: ; // 0x28d14d4
/* 028D14D4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D14D4 */ _t14 = _t13 & 0x00000001u;
/* 028D14D4 */ if (_t14) goto L_028D1564; else goto L_028D14D8;
L_028D14D8: ; // 0x28d14d8
/* 028D14D8 */ _t15 = cpu->r[1] + 0x00000014u;
/* 028D14D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028D14DC */ _t16 = cpu->r[1] + 0x00000008u;
/* 028D14DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
/* 028D14E0 */ cpu->lr = cpu->r[0];
/* 028D14E4 */ _t17 = cpu->r[1] + 0x0000000Cu;
/* 028D14E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
/* 028D14E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D14EC */ return;
L_028D14F0: ; // 0x28d14f0
/* 028D14F0 */ _t18 = cpu->r[30] + 0x00000034u;
/* 028D14F0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
/* 028D14F4 */ _t19 = cpu->r[30] + 0x00000004u;
/* 028D14F4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19);
/* 028D14F8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
/* 028D14FC */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028D14FC */ _t21 = _t20 & 0x00000001u;
/* 028D14FC */ if (_t21) goto L_028D158C; else goto L_028D1500;
L_028D1500: ; // 0x28d1500
/* 028D1500 */ cpu->r[3] = cpu->r[30];
/* 028D1504 */ Gambit_fn_028D1148(cpu);
/* 028D1508 */ _t22 = cpu->r[1] + 0x00000014u;
/* 028D1508 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
/* 028D150C */ _t23 = cpu->r[1] + 0x00000008u;
/* 028D150C */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
/* 028D1510 */ cpu->lr = cpu->r[0];
/* 028D1514 */ _t24 = cpu->r[1] + 0x0000000Cu;
/* 028D1514 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
/* 028D1518 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D151C */ return;
L_028D1520: ; // 0x28d1520
/* 028D1520 */ _t25 = cpu->r[30] + 0x00000034u;
/* 028D1520 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t25);
/* 028D1524 */ _t26 = cpu->r[30] + 0x00000008u;
/* 028D1524 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t26);
/* 028D1528 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
/* 028D152C */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028D152C */ _t28 = _t27 & 0x00000001u;
/* 028D152C */ if (_t28) goto L_028D158C; else goto L_028D1530;
L_028D1530: ; // 0x28d1530
/* 028D1530 */ cpu->r[3] = cpu->r[30];
/* 028D1534 */ Gambit_fn_028D126C(cpu);
/* 028D1538 */ _t29 = cpu->r[1] + 0x00000014u;
/* 028D1538 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
/* 028D153C */ _t30 = cpu->r[1] + 0x00000008u;
/* 028D153C */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
/* 028D1540 */ cpu->lr = cpu->r[0];
/* 028D1544 */ _t31 = cpu->r[1] + 0x0000000Cu;
/* 028D1544 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
/* 028D1548 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D154C */ return;
L_028D1550: ; // 0x28d1550
/* 028D1550 */ cpu->r[3] = cpu->r[30];
/* 028D1554 */ Gambit_fn_028D1430(cpu);
/* 028D1558 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D155C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D155C */ _t33 = _t32 & 0x00000001u;
/* 028D155C */ if (_t33) goto L_028D1560; else goto L_028D158C;
L_028D1560: ; // 0x28d1560
/* 028D1560 */ goto L_028D1584;
L_028D1564: ; // 0x28d1564
/* 028D1564 */ cpu->r[3] = cpu->r[30];
/* 028D1568 */ Gambit_fn_028D1430(cpu);
/* 028D156C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D1570 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1570 */ _t35 = _t34 & 0x00000001u;
/* 028D1570 */ if (_t35) goto L_028D1574; else goto L_028D158C;
L_028D1574: ; // 0x28d1574
/* 028D1574 */ cpu->r[3] = cpu->r[30];
/* 028D1578 */ Gambit_fn_028D1080(cpu);
/* 028D157C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D1580 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1580 */ _t37 = _t36 & 0x00000001u;
/* 028D1580 */ if (_t37) goto L_028D1584; else goto L_028D158C;
L_028D1584: ; // 0x28d1584
/* 028D1584 */ _t38 = cpu->r[30] + 0x00000014u;
/* 028D1584 */ rbrew_write32(cpu->mem, _t38, cpu->r[31]);
/* 028D1588 */ _t39 = cpu->r[30] + 0x00000014u;
/* 028D1588 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
L_028D158C: ; // 0x28d158c
/* 028D158C */ _t40 = cpu->r[1] + 0x00000014u;
/* 028D158C */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
/* 028D1590 */ _t41 = cpu->r[1] + 0x00000008u;
/* 028D1590 */ cpu->r[30] = rbrew_read32(cpu->mem, _t41);
/* 028D1594 */ cpu->lr = cpu->r[0];
/* 028D1598 */ _t42 = cpu->r[1] + 0x0000000Cu;
/* 028D1598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
/* 028D159C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D15A0 */ return;
}
// fn_028D15A4 @ 0x28d15a4
void Gambit_fn_028D15A4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
L_028CA194: ; // 0x28ca194
/* 028CA194 */ cpu->r[0] = cpu->lr;
/* 028CA198 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028CA198 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028CA19C */ cpu->r[10] = cpu->r[3];
/* 028CA1A0 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028CA1A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028CA1A0 */ cpu->r[1] = _t1;
/* 028CA1A4 */ _t2 = cpu->r[10] + 0x00000008u;
/* 028CA1A4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
/* 028CA1A8 */ _t3 = cpu->r[10] + 0x00000000u;
/* 028CA1A8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t3);
/* 028CA1AC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
/* 028CA1B0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028CA1B0 */ _t5 = _t4 & 0x00000001u;
/* 028CA1B0 */ if (_t5) goto L_028CA1C8; else goto L_028CA1B4;
L_028CA1B4: ; // 0x28ca1b4
/* 028CA1B4 */ _t6 = cpu->r[10] + 0x00000004u;
/* 028CA1B4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
/* 028CA1B8 */ cpu->r[3] = cpu->r[10];
/* 028CA1BC */ _t7 = cpu->r[10] + 0x00000000u;
/* 028CA1BC */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
/* 028CA1C0 */ Gambit_fn_028CA148(cpu);
/* 028CA1C4 */ _t8 = cpu->r[10] + 0x00000004u;
/* 028CA1C4 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[1]);
L_028CA1C8: ; // 0x28ca1c8
/* 028CA1C8 */ _t9 = cpu->r[1] + 0x0000000Cu;
/* 028CA1C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028CA1CC */ cpu->lr = cpu->r[0];
/* 028CA1D0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028CA1D4 */ return;
L_028D15A4: ; // 0x28d15a4
/* 028D15A4 */ cpu->r[3] = cpu->r[3] + 0x00000014u;
/* 028D15A8 */ goto L_028CA194;
}
// fn_028D15AC @ 0x28d15ac
void Gambit_fn_028D15AC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028D15AC: ; // 0x28d15ac
/* 028D15AC */ cpu->r[0] = cpu->lr;
/* 028D15B0 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028D15B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028D15B4 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
/* 028D15B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028D15B4 */ cpu->r[1] = _t1;
/* 028D15B8 */ _t2 = cpu->r[3] + 0x00000010u;
/* 028D15B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
/* 028D15BC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028D15C0 */ cpu->r[3] = cpu->r[3] + 0x00000014u;
/* 028D15C4 */ _t3 = cpu->r[1] + 0x00000008u;
/* 028D15C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028D15C8 */ Gambit_fn_028CA248(cpu);
/* 028D15CC */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028D15CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028D15D0 */ cpu->lr = cpu->r[0];
/* 028D15D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028D15D8 */ return;
}
// fn_028D15B4 @ 0x28d15b4
void Gambit_fn_028D15B4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3;
L_028D15B4: ; // 0x28d15b4
/* 028D15B4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028D15B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D15B4 */ cpu->r[1] = _t0;
/* 028D15B8 */ _t1 = cpu->r[3] + 0x00000010u;
/* 028D15B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
/* 028D15BC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028D15C0 */ cpu->r[3] = cpu->r[3] + 0x00000014u;
/* 028D15C4 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028D15C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028D15C8 */ Gambit_fn_028CA248(cpu);
/* 028D15CC */ _t3 = cpu->r[1] + 0x0000001Cu;
/* 028D15CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028D15D0 */ cpu->lr = cpu->r[0];
/* 028D15D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028D15D8 */ return;
}
// fn_028D15DC @ 0x28d15dc
void Gambit_fn_028D15DC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
L_028D15DC: ; // 0x28d15dc
/* 028D15DC */ cpu->r[0] = cpu->lr;
/* 028D15E0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D15E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D15E0 */ cpu->r[1] = _t0;
/* 028D15E4 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028D15E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028D15E8 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028D15E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028D15EC */ _t3 = cpu->r[3] + 0x00000000u;
/* 028D15EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
/* 028D15F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028D15F4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D15F4 */ _t5 = _t4 & 0x00000001u;
/* 028D15F4 */ if (_t5) goto L_028D1608; else goto L_028D15F8;
L_028D15F8: ; // 0x28d15f8
/* 028D15F8 */ Gambit_fn_028D15AC(cpu);
/* 028D15FC */ _t6 = cpu->r[31] + 0x00000140u;
/* 028D15FC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
/* 028D1600 */ cpu->f[0] = cpu->f[0] * cpu->f[1];
/* 028D1604 */ _t7 = cpu->r[31] + 0x00000140u;
/* 028D1604 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
L_028D1608: ; // 0x28d1608
/* 028D1608 */ _t8 = cpu->r[1] + 0x00000014u;
/* 028D1608 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028D160C */ _t9 = cpu->r[1] + 0x0000000Cu;
/* 028D160C */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
/* 028D1610 */ cpu->lr = cpu->r[0];
/* 028D1614 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D1618 */ return;
}
// fn_028D15E0 @ 0x28d15e0
void Gambit_fn_028D15E0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
L_028D15E0: ; // 0x28d15e0
/* 028D15E0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D15E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D15E0 */ cpu->r[1] = _t0;
/* 028D15E4 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028D15E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028D15E8 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028D15E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028D15EC */ _t3 = cpu->r[3] + 0x00000000u;
/* 028D15EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
/* 028D15F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028D15F4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D15F4 */ _t5 = _t4 & 0x00000001u;
/* 028D15F4 */ if (_t5) goto L_028D1608; else goto L_028D15F8;
L_028D15F8: ; // 0x28d15f8
/* 028D15F8 */ Gambit_fn_028D15AC(cpu);
/* 028D15FC */ _t6 = cpu->r[31] + 0x00000140u;
/* 028D15FC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
/* 028D1600 */ cpu->f[0] = cpu->f[0] * cpu->f[1];
/* 028D1604 */ _t7 = cpu->r[31] + 0x00000140u;
/* 028D1604 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
L_028D1608: ; // 0x28d1608
/* 028D1608 */ _t8 = cpu->r[1] + 0x00000014u;
/* 028D1608 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
/* 028D160C */ _t9 = cpu->r[1] + 0x0000000Cu;
/* 028D160C */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
/* 028D1610 */ cpu->lr = cpu->r[0];
/* 028D1614 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D1618 */ return;
}
// fn_028D161C @ 0x28d161c
void Gambit_fn_028D161C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
L_028D161C: ; // 0x28d161c
/* 028D161C */ cpu->r[0] = cpu->lr;
/* 028D1620 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D1620 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D1620 */ cpu->r[1] = _t0;
/* 028D1624 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028D1624 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028D1628 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028D1628 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028D162C */ _t3 = cpu->r[1] + 0x00000014u;
/* 028D162C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028D1630 */ _t4 = cpu->r[3] + 0x00000020u;
/* 028D1630 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028D1634 */ cpu->r[31] = cpu->r[3] + 0xFFFFFFF4u;
/* 028D1638 */ cpu->r[30] = cpu->r[12] + 0xFFFFFFD8u;
/* 028D163C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]);
/* 028D1640 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1640 */ _t6 = _t5 & 0x00000001u;
/* 028D1640 */ if (_t6) goto L_028D1664; else goto L_028D1644;
L_028D1644: ; // 0x28d1644
/* 028D1644 */ cpu->r[3] = cpu->r[30];
/* 028D1648 */ Gambit_fn_028D15A4(cpu);
/* 028D164C */ cpu->r[3] = cpu->r[30];
/* 028D1650 */ Gambit_fn_028D15DC(cpu);
/* 028D1654 */ _t7 = cpu->r[30] + 0x0000002Cu;
/* 028D1654 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
/* 028D1658 */ cpu->r[30] = cpu->r[11] + 0xFFFFFFD8u;
/* 028D165C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]);
/* 028D1660 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1660 */ _t9 = _t8 & 0x00000001u;
/* 028D1660 */ if (_t9) goto L_028D1664; else goto L_028D1644;
L_028D1664: ; // 0x28d1664
/* 028D1664 */ _t10 = cpu->r[1] + 0x00000014u;
/* 028D1664 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028D1668 */ _t11 = cpu->r[1] + 0x00000008u;
/* 028D1668 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
/* 028D166C */ cpu->lr = cpu->r[0];
/* 028D1670 */ _t12 = cpu->r[1] + 0x0000000Cu;
/* 028D1670 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
/* 028D1674 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D1678 */ return;
}
// fn_028D1620 @ 0x28d1620
void Gambit_fn_028D1620(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
L_028D1620: ; // 0x28d1620
/* 028D1620 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D1620 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D1620 */ cpu->r[1] = _t0;
/* 028D1624 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028D1624 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028D1628 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028D1628 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028D162C */ _t3 = cpu->r[1] + 0x00000014u;
/* 028D162C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028D1630 */ _t4 = cpu->r[3] + 0x00000020u;
/* 028D1630 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
/* 028D1634 */ cpu->r[31] = cpu->r[3] + 0xFFFFFFF4u;
/* 028D1638 */ cpu->r[30] = cpu->r[12] + 0xFFFFFFD8u;
/* 028D163C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]);
/* 028D1640 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1640 */ _t6 = _t5 & 0x00000001u;
/* 028D1640 */ if (_t6) goto L_028D1664; else goto L_028D1644;
L_028D1644: ; // 0x28d1644
/* 028D1644 */ cpu->r[3] = cpu->r[30];
/* 028D1648 */ Gambit_fn_028D15A4(cpu);
/* 028D164C */ cpu->r[3] = cpu->r[30];
/* 028D1650 */ Gambit_fn_028D15DC(cpu);
/* 028D1654 */ _t7 = cpu->r[30] + 0x0000002Cu;
/* 028D1654 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
/* 028D1658 */ cpu->r[30] = cpu->r[11] + 0xFFFFFFD8u;
/* 028D165C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]);
/* 028D1660 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1660 */ _t9 = _t8 & 0x00000001u;
/* 028D1660 */ if (_t9) goto L_028D1664; else goto L_028D1644;
L_028D1664: ; // 0x28d1664
/* 028D1664 */ _t10 = cpu->r[1] + 0x00000014u;
/* 028D1664 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028D1668 */ _t11 = cpu->r[1] + 0x00000008u;
/* 028D1668 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
/* 028D166C */ cpu->lr = cpu->r[0];
/* 028D1670 */ _t12 = cpu->r[1] + 0x0000000Cu;
/* 028D1670 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
/* 028D1674 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D1678 */ return;
}
// fn_028D167C @ 0x28d167c
void Gambit_fn_028D167C(CPUState* 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_028D167C: ; // 0x28d167c
/* 028D167C */ cpu->r[0] = cpu->lr;
/* 028D1680 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D1680 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D1680 */ cpu->r[1] = _t0;
/* 028D1684 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028D1684 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028D1688 */ cpu->r[31] = cpu->r[3];
/* 028D168C */ _t2 = cpu->r[1] + 0x00000014u;
/* 028D168C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028D1690 */ _t3 = cpu->r[31] + 0x00000014u;
/* 028D1690 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028D1694 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028D1698 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1698 */ _t5 = _t4 & 0x00000001u;
/* 028D1698 */ if (_t5) goto L_028D16E4; else goto L_028D169C;
L_028D169C: ; // 0x28d169c
/* 028D169C */ cpu->r[3] = cpu->r[31];
/* 028D16A0 */ Gambit_fn_028D161C(cpu);
/* 028D16A4 */ Gambit_fn_028C29DC(cpu);
/* 028D16A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D16AC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D16AC */ _t7 = _t6 & 0x00000001u;
/* 028D16AC */ if (_t7) goto L_028D16F4; else goto L_028D16B0;
L_028D16B0: ; // 0x28d16b0
/* 028D16B0 */ _t8 = cpu->r[3] + 0x00000044u;
/* 028D16B0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
/* 028D16B4 */ _t9 = cpu->r[31] + 0x00000034u;
/* 028D16B4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t9);
/* 028D16B8 */ cpu->f[13] = cpu->f[13] + cpu->f[0];
/* 028D16BC */ _t10 = cpu->r[31] + 0x00000034u;
/* 028D16BC */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
/* 028D16C0 */ _t11 = cpu->r[3] + 0x00000044u;
/* 028D16C0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
/* 028D16C4 */ _t12 = cpu->r[31] + 0x00000038u;
/* 028D16C4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t12);
/* 028D16C8 */ cpu->f[13] = cpu->f[13] + cpu->f[0];
/* 028D16CC */ _t13 = cpu->r[31] + 0x00000038u;
/* 028D16CC */ rbrew_write_f32(cpu->mem, _t13, cpu->f[13]);
/* 028D16D0 */ _t14 = cpu->r[1] + 0x00000014u;
/* 028D16D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028D16D4 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028D16D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
/* 028D16D8 */ cpu->lr = cpu->r[0];
/* 028D16DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D16E0 */ return;
L_028D16E4: ; // 0x28d16e4
/* 028D16E4 */ cpu->r[12] = 0x10140000u;
/* 028D16E8 */ _t16 = cpu->r[12] + 0xFFFFA55Cu;
/* 028D16E8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
/* 028D16EC */ _t17 = cpu->r[31] + 0x00000038u;
/* 028D16EC */ rbrew_write_f32(cpu->mem, _t17, cpu->f[0]);
/* 028D16F0 */ _t18 = cpu->r[31] + 0x00000034u;
/* 028D16F0 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
L_028D16F4: ; // 0x28d16f4
/* 028D16F4 */ _t19 = cpu->r[1] + 0x00000014u;
/* 028D16F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028D16F8 */ _t20 = cpu->r[1] + 0x0000000Cu;
/* 028D16F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
/* 028D16FC */ cpu->lr = cpu->r[0];
/* 028D1700 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D1704 */ return;
}
// fn_028D1680 @ 0x28d1680
void Gambit_fn_028D1680(CPUState* 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_028D1680: ; // 0x28d1680
/* 028D1680 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D1680 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D1680 */ cpu->r[1] = _t0;
/* 028D1684 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028D1684 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028D1688 */ cpu->r[31] = cpu->r[3];
/* 028D168C */ _t2 = cpu->r[1] + 0x00000014u;
/* 028D168C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028D1690 */ _t3 = cpu->r[31] + 0x00000014u;
/* 028D1690 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028D1694 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028D1698 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1698 */ _t5 = _t4 & 0x00000001u;
/* 028D1698 */ if (_t5) goto L_028D16E4; else goto L_028D169C;
L_028D169C: ; // 0x28d169c
/* 028D169C */ cpu->r[3] = cpu->r[31];
/* 028D16A0 */ Gambit_fn_028D161C(cpu);
/* 028D16A4 */ Gambit_fn_028C29DC(cpu);
/* 028D16A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D16AC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D16AC */ _t7 = _t6 & 0x00000001u;
/* 028D16AC */ if (_t7) goto L_028D16F4; else goto L_028D16B0;
L_028D16B0: ; // 0x28d16b0
/* 028D16B0 */ _t8 = cpu->r[3] + 0x00000044u;
/* 028D16B0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
/* 028D16B4 */ _t9 = cpu->r[31] + 0x00000034u;
/* 028D16B4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t9);
/* 028D16B8 */ cpu->f[13] = cpu->f[13] + cpu->f[0];
/* 028D16BC */ _t10 = cpu->r[31] + 0x00000034u;
/* 028D16BC */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
/* 028D16C0 */ _t11 = cpu->r[3] + 0x00000044u;
/* 028D16C0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
/* 028D16C4 */ _t12 = cpu->r[31] + 0x00000038u;
/* 028D16C4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t12);
/* 028D16C8 */ cpu->f[13] = cpu->f[13] + cpu->f[0];
/* 028D16CC */ _t13 = cpu->r[31] + 0x00000038u;
/* 028D16CC */ rbrew_write_f32(cpu->mem, _t13, cpu->f[13]);
/* 028D16D0 */ _t14 = cpu->r[1] + 0x00000014u;
/* 028D16D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028D16D4 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028D16D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
/* 028D16D8 */ cpu->lr = cpu->r[0];
/* 028D16DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D16E0 */ return;
L_028D16E4: ; // 0x28d16e4
/* 028D16E4 */ cpu->r[12] = 0x10140000u;
/* 028D16E8 */ _t16 = cpu->r[12] + 0xFFFFA55Cu;
/* 028D16E8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
/* 028D16EC */ _t17 = cpu->r[31] + 0x00000038u;
/* 028D16EC */ rbrew_write_f32(cpu->mem, _t17, cpu->f[0]);
/* 028D16F0 */ _t18 = cpu->r[31] + 0x00000034u;
/* 028D16F0 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
L_028D16F4: ; // 0x28d16f4
/* 028D16F4 */ _t19 = cpu->r[1] + 0x00000014u;
/* 028D16F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028D16F8 */ _t20 = cpu->r[1] + 0x0000000Cu;
/* 028D16F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
/* 028D16FC */ cpu->lr = cpu->r[0];
/* 028D1700 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D1704 */ return;
}
// fn_028D1708 @ 0x28d1708
void Gambit_fn_028D1708(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
L_028D1708: ; // 0x28d1708
/* 028D1708 */ cpu->r[0] = cpu->lr;
/* 028D170C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D170C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D170C */ cpu->r[1] = _t0;
/* 028D1710 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028D1710 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028D1714 */ cpu->r[31] = cpu->r[3];
/* 028D1718 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028D1718 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028D171C */ _t3 = cpu->r[31] + 0x00000024u;
/* 028D171C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028D1720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028D1724 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1724 */ _t5 = _t4 & 0x00000001u;
/* 028D1724 */ if (_t5) goto L_028D1740; else goto L_028D1728;
L_028D1728: ; // 0x28d1728
/* 028D1728 */ cpu->r[3] = cpu->r[31];
/* 028D172C */ Gambit_fn_028D1350(cpu);
/* 028D1730 */ cpu->r[3] = cpu->r[31];
/* 028D1734 */ Gambit_fn_028D1498(cpu);
/* 028D1738 */ cpu->r[3] = cpu->r[31];
/* 028D173C */ Gambit_fn_028D167C(cpu);
L_028D1740: ; // 0x28d1740
/* 028D1740 */ _t6 = cpu->r[1] + 0x00000014u;
/* 028D1740 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028D1744 */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 028D1744 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
/* 028D1748 */ cpu->lr = cpu->r[0];
/* 028D174C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D1750 */ return;
}
// fn_028D170C @ 0x28d170c
void Gambit_fn_028D170C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
L_028D170C: ; // 0x28d170c
/* 028D170C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D170C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D170C */ cpu->r[1] = _t0;
/* 028D1710 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028D1710 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028D1714 */ cpu->r[31] = cpu->r[3];
/* 028D1718 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028D1718 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028D171C */ _t3 = cpu->r[31] + 0x00000024u;
/* 028D171C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028D1720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028D1724 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1724 */ _t5 = _t4 & 0x00000001u;
/* 028D1724 */ if (_t5) goto L_028D1740; else goto L_028D1728;
L_028D1728: ; // 0x28d1728
/* 028D1728 */ cpu->r[3] = cpu->r[31];
/* 028D172C */ Gambit_fn_028D1350(cpu);
/* 028D1730 */ cpu->r[3] = cpu->r[31];
/* 028D1734 */ Gambit_fn_028D1498(cpu);
/* 028D1738 */ cpu->r[3] = cpu->r[31];
/* 028D173C */ Gambit_fn_028D167C(cpu);
L_028D1740: ; // 0x28d1740
/* 028D1740 */ _t6 = cpu->r[1] + 0x00000014u;
/* 028D1740 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028D1744 */ _t7 = cpu->r[1] + 0x0000000Cu;
/* 028D1744 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
/* 028D1748 */ cpu->lr = cpu->r[0];
/* 028D174C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D1750 */ return;
}
// fn_028D1754 @ 0x28d1754
void Gambit_fn_028D1754(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028D1754: ; // 0x28d1754
/* 028D1754 */ _t0 = cpu->r[3] + 0x0000002Cu;
/* 028D1754 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
/* 028D1758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028D175C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D175C */ _t2 = _t1 & 0x00000001u;
/* 028D175C */ if (_t2) goto L_028D1790; else goto L_028D1760;
L_028D1760: ; // 0x28d1760
/* 028D1760 */ _t3 = cpu->r[3] + 0x00000020u;
/* 028D1760 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
/* 028D1764 */ cpu->r[0] = cpu->r[3] + 0xFFFFFFF4u;
/* 028D1768 */ cpu->r[3] = cpu->r[12] + 0xFFFFFFD8u;
/* 028D176C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]);
/* 028D1770 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1770 */ _t5 = _t4 & 0x00000001u;
/* 028D1770 */ if (_t5) goto L_028D1790; else goto L_028D1774;
L_028D1774: ; // 0x28d1774
/* 028D1774 */ _t6 = cpu->r[3] + 0x00000000u;
/* 028D1774 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
/* 028D1778 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[4]);
/* 028D177C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D177C */ _t8 = _t7 & 0x00000001u;
/* 028D177C */ if (_t8) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028D177C */ goto L_028D1780;
L_028D1780: ; // 0x28d1780
/* 028D1780 */ _t9 = cpu->r[3] + 0x0000002Cu;
/* 028D1780 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
/* 028D1784 */ cpu->r[3] = cpu->r[10] + 0xFFFFFFD8u;
/* 028D1788 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]);
/* 028D178C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D178C */ _t11 = _t10 & 0x00000001u;
/* 028D178C */ if (_t11) goto L_028D1790; else goto L_028D1774;
L_028D1790: ; // 0x28d1790
/* 028D1790 */ cpu->r[3] = 0x00000000u;
/* 028D1794 */ return;
}
// fn_028D17BC @ 0x28d17bc
void Gambit_fn_028D17BC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
L_028D1798: ; // 0x28d1798
/* 028D1798 */ _t0 = cpu->r[4] + 0x00000000u;
/* 028D1798 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0);
/* 028D179C */ _t1 = cpu->r[3] + 0x00000004u;
/* 028D179C */ rbrew_write_f32(cpu->mem, _t1, cpu->f[0]);
/* 028D17A0 */ _t2 = cpu->r[4] + 0x00000004u;
/* 028D17A0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
/* 028D17A4 */ _t3 = cpu->r[3] + 0x00000008u;
/* 028D17A4 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[0]);
/* 028D17A8 */ _t4 = cpu->r[4] + 0x00000008u;
/* 028D17A8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
/* 028D17AC */ _t5 = cpu->r[3] + 0x0000000Cu;
/* 028D17AC */ rbrew_write_f32(cpu->mem, _t5, cpu->f[0]);
/* 028D17B0 */ _t6 = cpu->r[4] + 0x0000000Cu;
/* 028D17B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028D17B4 */ _t7 = cpu->r[3] + 0x00000010u;
/* 028D17B4 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028D17B8 */ return;
L_028D17BC: ; // 0x28d17bc
/* 028D17BC */ cpu->r[0] = cpu->r[4];
/* 028D17BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028D17C0 */ cpu->r[4] = cpu->r[5];
/* 028D17C4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D17C4 */ _t9 = _t8 & 0x00000001u;
/* 028D17C4 */ if (_t9) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028D17C4 */ goto L_028D17C8;
L_028D17C8: ; // 0x28d17c8
/* 028D17C8 */ _t10 = cpu->r[3] + 0x00000000u;
/* 028D17C8 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
/* 028D17CC */ goto L_028D1798;
}
// fn_028D17D0 @ 0x28d17d0
void Gambit_fn_028D17D0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51;
L_028D17D0: ; // 0x28d17d0
/* 028D17D0 */ cpu->r[0] = cpu->lr;
/* 028D17D4 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
/* 028D17D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D17D4 */ cpu->r[1] = _t0;
/* 028D17D8 */ _t1 = cpu->r[1] + 0x00000020u;
/* 028D17D8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028D17DC */ /* nop */
/* 028D17E0 */ _t2 = cpu->r[1] + 0x00000028u;
/* 028D17E0 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
/* 028D17E4 */ _t3 = cpu->r[1] + 0x00000034u;
/* 028D17E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028D17E8 */ /* nop */
/* 028D17EC */ cpu->r[27] = cpu->r[3];
/* 028D17F0 */ cpu->r[28] = cpu->r[4];
/* 028D17F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028D17F4 */ cpu->r[30] = cpu->r[5];
/* 028D17F8 */ cpu->r[26] = 0x00000000u;
/* 028D17FC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D17FC */ _t5 = _t4 & 0x00000001u;
/* 028D17FC */ if (_t5) goto L_028D1918; else goto L_028D1800;
L_028D1800: ; // 0x28d1800
/* 028D1800 */ cpu->r[3] = cpu->r[27];
/* 028D1804 */ cpu->r[4] = cpu->r[28];
/* 028D1808 */ Gambit_fn_028D1754(cpu);
/* 028D180C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D1810 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1810 */ _t7 = _t6 & 0x00000001u;
/* 028D1810 */ if (_t7) goto L_028D1814; else goto L_028D1918;
L_028D1814: ; // 0x28d1814
/* 028D1814 */ _t8 = cpu->r[27] + 0x00000024u;
/* 028D1814 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
/* 028D1818 */ _t9 = cpu->r[27] + 0x00000030u;
/* 028D1818 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
/* 028D181C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[12]);
/* 028D1820 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028D1820 */ _t11 = _t10 & 0x00000001u;
/* 028D1820 */ if (_t11) goto L_028D1824; else goto L_028D1918;
L_028D1824: ; // 0x28d1824
/* 028D1824 */ _t12 = cpu->r[27] + 0x00000028u;
/* 028D1824 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
/* 028D1828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028D182C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D182C */ _t14 = _t13 & 0x00000001u;
/* 028D182C */ if (_t14) goto L_028D1838; else goto L_028D1830;
L_028D1830: ; // 0x28d1830
/* 028D1830 */ _t15 = cpu->r[31] + 0x00000000u;
/* 028D1830 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028D1834 */ _t16 = cpu->r[27] + 0x00000028u;
/* 028D1834 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
L_028D1838: ; // 0x28d1838
/* 028D1838 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028D183C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D183C */ _t18 = _t17 & 0x00000001u;
/* 028D183C */ if (_t18) goto L_028D18FC; else goto L_028D1840;
L_028D1840: ; // 0x28d1840
/* 028D1840 */ cpu->r[29] = cpu->r[31];
/* 028D1840 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028D1844 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1844 */ _t20 = _t19 & 0x00000001u;
/* 028D1844 */ if (_t20) goto L_028D1848; else goto L_028D1858;
L_028D1848: ; // 0x28d1848
/* 028D1848 */ cpu->r[3] = 0x00000028u;
/* 028D184C */ Gambit_fn_02801A78(cpu);
/* 028D1850 */ cpu->r[29] = cpu->r[3];
/* 028D1850 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028D1854 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1854 */ _t22 = _t21 & 0x00000001u;
/* 028D1854 */ if (_t22) goto L_028D18A0; else goto L_028D1858;
L_028D1858: ; // 0x28d1858
/* 028D1858 */ _t23 = cpu->r[29] + 0x00000000u;
/* 028D1858 */ rbrew_write32(cpu->mem, _t23, cpu->r[26]);
/* 028D185C */ cpu->r[9] = 0x10140000u;
/* 028D1860 */ cpu->r[3] = cpu->r[29] + 0x00000004u;
/* 028D1860 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D1864 */ _t24 = cpu->r[9] + 0xFFFFA560u;
/* 028D1864 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t24);
/* 028D1868 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1868 */ _t26 = _t25 & 0x00000001u;
/* 028D1868 */ if (_t26) goto L_028D186C; else goto L_028D187C;
L_028D186C: ; // 0x28d186c
/* 028D186C */ cpu->r[3] = 0x00000010u;
/* 028D1870 */ Gambit_fn_02801A78(cpu);
/* 028D1874 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D1878 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1878 */ _t28 = _t27 & 0x00000001u;
/* 028D1878 */ if (_t28) goto L_028D1894; else goto L_028D187C;
L_028D187C: ; // 0x28d187c
/* 028D187C */ cpu->r[8] = 0x10140000u;
/* 028D1880 */ _t29 = cpu->r[8] + 0xFFFFA55Cu;
/* 028D1880 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t29);
/* 028D1884 */ _t30 = cpu->r[3] + 0x00000000u;
/* 028D1884 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[31]);
/* 028D1888 */ _t31 = cpu->r[3] + 0x00000004u;
/* 028D1888 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[0]);
/* 028D188C */ _t32 = cpu->r[3] + 0x00000008u;
/* 028D188C */ rbrew_write_f32(cpu->mem, _t32, cpu->f[0]);
/* 028D1890 */ _t33 = cpu->r[3] + 0x0000000Cu;
/* 028D1890 */ rbrew_write32(cpu->mem, _t33, cpu->r[26]);
L_028D1894: ; // 0x28d1894
/* 028D1894 */ cpu->f[1] = cpu->f[31];
/* 028D1898 */ cpu->r[3] = cpu->r[29] + 0x00000014u;
/* 028D189C */ Gambit_fn_028CA0E4(cpu);
L_028D18A0: ; // 0x28d18a0
/* 028D18A0 */ _t34 = cpu->r[31] + 0x00000028u;
/* 028D18A0 */ rbrew_write32(cpu->mem, _t34, cpu->r[26]);
/* 028D18A4 */ cpu->r[3] = cpu->r[27] + 0x0000001Cu;
/* 028D18A8 */ cpu->r[4] = cpu->r[31] + 0x00000028u;
/* 028D18AC */ _t35 = cpu->r[31] + 0x0000002Cu;
/* 028D18AC */ rbrew_write32(cpu->mem, _t35, cpu->r[26]);
/* 028D18B0 */ Gambit_fn_02801EBC(cpu);
/* 028D18B4 */ _t36 = cpu->r[27] + 0x00000024u;
/* 028D18B4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t36);
/* 028D18B8 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
/* 028D18BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028D18C0 */ _t37 = cpu->r[27] + 0x00000024u;
/* 028D18C0 */ rbrew_write32(cpu->mem, _t37, cpu->r[10]);
/* 028D18C4 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D18C4 */ _t39 = _t38 & 0x00000001u;
/* 028D18C4 */ if (_t39) goto L_028D1918; else goto L_028D18C8;
L_028D18C8: ; // 0x28d18c8
/* 028D18C8 */ cpu->r[5] = cpu->r[30];
/* 028D18CC */ cpu->r[4] = cpu->r[28];
/* 028D18D0 */ cpu->r[3] = cpu->r[31];
/* 028D18D4 */ Gambit_fn_028D17BC(cpu);
/* 028D18D8 */ /* nop */
/* 028D18DC */ _t40 = cpu->r[1] + 0x00000028u;
/* 028D18DC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t40);
/* 028D18E0 */ _t41 = cpu->r[1] + 0x00000020u;
/* 028D18E0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t41);
/* 028D18E4 */ cpu->r[3] = 0x00000001u;
/* 028D18E8 */ _t42 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028D18E8 */ _t43 = _t42 & 0x00000001u;
/* 028D18E8 */ if (_t43) goto L_028D18EC; // else: addr-0 trap, fall-through
L_028D18EC: ; // 0x28d18ec
/* 028D18EC */ _t44 = cpu->r[1] + 0x00000034u;
/* 028D18EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
/* 028D18F0 */ cpu->lr = cpu->r[0];
/* 028D18F4 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
/* 028D18F8 */ return;
L_028D18FC: ; // 0x28d18fc
/* 028D18FC */ cpu->r[3] = cpu->r[27] + 0x0000001Cu;
/* 028D1900 */ cpu->r[4] = 0x00000028u;
/* 028D1904 */ cpu->r[31] = 0x00000000u;
/* 028D1908 */ Gambit_fn_02801EBC(cpu);
/* 028D190C */ _t45 = cpu->r[27] + 0x00000024u;
/* 028D190C */ cpu->r[10] = rbrew_read32(cpu->mem, _t45);
/* 028D1910 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
/* 028D1914 */ _t46 = cpu->r[27] + 0x00000024u;
/* 028D1914 */ rbrew_write32(cpu->mem, _t46, cpu->r[10]);
L_028D1918: ; // 0x28d1918
/* 028D1918 */ /* nop */
/* 028D191C */ _t47 = cpu->r[1] + 0x00000028u;
/* 028D191C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t47);
/* 028D1920 */ _t48 = cpu->r[1] + 0x00000020u;
/* 028D1920 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t48);
/* 028D1924 */ cpu->r[3] = 0x00000000u;
/* 028D1928 */ _t49 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028D1928 */ _t50 = _t49 & 0x00000001u;
/* 028D1928 */ if (_t50) goto L_028D192C; // else: addr-0 trap, fall-through
L_028D192C: ; // 0x28d192c
/* 028D192C */ _t51 = cpu->r[1] + 0x00000034u;
/* 028D192C */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
/* 028D1930 */ cpu->lr = cpu->r[0];
/* 028D1934 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
/* 028D1938 */ return;
}
// fn_028D17D4 @ 0x28d17d4
void Gambit_fn_028D17D4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51;
L_028D17D4: ; // 0x28d17d4
/* 028D17D4 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
/* 028D17D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D17D4 */ cpu->r[1] = _t0;
/* 028D17D8 */ _t1 = cpu->r[1] + 0x00000020u;
/* 028D17D8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028D17DC */ /* nop */
/* 028D17E0 */ _t2 = cpu->r[1] + 0x00000028u;
/* 028D17E0 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
/* 028D17E4 */ _t3 = cpu->r[1] + 0x00000034u;
/* 028D17E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028D17E8 */ /* nop */
/* 028D17EC */ cpu->r[27] = cpu->r[3];
/* 028D17F0 */ cpu->r[28] = cpu->r[4];
/* 028D17F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
/* 028D17F4 */ cpu->r[30] = cpu->r[5];
/* 028D17F8 */ cpu->r[26] = 0x00000000u;
/* 028D17FC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D17FC */ _t5 = _t4 & 0x00000001u;
/* 028D17FC */ if (_t5) goto L_028D1918; else goto L_028D1800;
L_028D1800: ; // 0x28d1800
/* 028D1800 */ cpu->r[3] = cpu->r[27];
/* 028D1804 */ cpu->r[4] = cpu->r[28];
/* 028D1808 */ Gambit_fn_028D1754(cpu);
/* 028D180C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D1810 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1810 */ _t7 = _t6 & 0x00000001u;
/* 028D1810 */ if (_t7) goto L_028D1814; else goto L_028D1918;
L_028D1814: ; // 0x28d1814
/* 028D1814 */ _t8 = cpu->r[27] + 0x00000024u;
/* 028D1814 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
/* 028D1818 */ _t9 = cpu->r[27] + 0x00000030u;
/* 028D1818 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
/* 028D181C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[12]);
/* 028D1820 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028D1820 */ _t11 = _t10 & 0x00000001u;
/* 028D1820 */ if (_t11) goto L_028D1824; else goto L_028D1918;
L_028D1824: ; // 0x28d1824
/* 028D1824 */ _t12 = cpu->r[27] + 0x00000028u;
/* 028D1824 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
/* 028D1828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028D182C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D182C */ _t14 = _t13 & 0x00000001u;
/* 028D182C */ if (_t14) goto L_028D1838; else goto L_028D1830;
L_028D1830: ; // 0x28d1830
/* 028D1830 */ _t15 = cpu->r[31] + 0x00000000u;
/* 028D1830 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
/* 028D1834 */ _t16 = cpu->r[27] + 0x00000028u;
/* 028D1834 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
L_028D1838: ; // 0x28d1838
/* 028D1838 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028D183C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D183C */ _t18 = _t17 & 0x00000001u;
/* 028D183C */ if (_t18) goto L_028D18FC; else goto L_028D1840;
L_028D1840: ; // 0x28d1840
/* 028D1840 */ cpu->r[29] = cpu->r[31];
/* 028D1840 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028D1844 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1844 */ _t20 = _t19 & 0x00000001u;
/* 028D1844 */ if (_t20) goto L_028D1848; else goto L_028D1858;
L_028D1848: ; // 0x28d1848
/* 028D1848 */ cpu->r[3] = 0x00000028u;
/* 028D184C */ Gambit_fn_02801A78(cpu);
/* 028D1850 */ cpu->r[29] = cpu->r[3];
/* 028D1850 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028D1854 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1854 */ _t22 = _t21 & 0x00000001u;
/* 028D1854 */ if (_t22) goto L_028D18A0; else goto L_028D1858;
L_028D1858: ; // 0x28d1858
/* 028D1858 */ _t23 = cpu->r[29] + 0x00000000u;
/* 028D1858 */ rbrew_write32(cpu->mem, _t23, cpu->r[26]);
/* 028D185C */ cpu->r[9] = 0x10140000u;
/* 028D1860 */ cpu->r[3] = cpu->r[29] + 0x00000004u;
/* 028D1860 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D1864 */ _t24 = cpu->r[9] + 0xFFFFA560u;
/* 028D1864 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t24);
/* 028D1868 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1868 */ _t26 = _t25 & 0x00000001u;
/* 028D1868 */ if (_t26) goto L_028D186C; else goto L_028D187C;
L_028D186C: ; // 0x28d186c
/* 028D186C */ cpu->r[3] = 0x00000010u;
/* 028D1870 */ Gambit_fn_02801A78(cpu);
/* 028D1874 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D1878 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1878 */ _t28 = _t27 & 0x00000001u;
/* 028D1878 */ if (_t28) goto L_028D1894; else goto L_028D187C;
L_028D187C: ; // 0x28d187c
/* 028D187C */ cpu->r[8] = 0x10140000u;
/* 028D1880 */ _t29 = cpu->r[8] + 0xFFFFA55Cu;
/* 028D1880 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t29);
/* 028D1884 */ _t30 = cpu->r[3] + 0x00000000u;
/* 028D1884 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[31]);
/* 028D1888 */ _t31 = cpu->r[3] + 0x00000004u;
/* 028D1888 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[0]);
/* 028D188C */ _t32 = cpu->r[3] + 0x00000008u;
/* 028D188C */ rbrew_write_f32(cpu->mem, _t32, cpu->f[0]);
/* 028D1890 */ _t33 = cpu->r[3] + 0x0000000Cu;
/* 028D1890 */ rbrew_write32(cpu->mem, _t33, cpu->r[26]);
L_028D1894: ; // 0x28d1894
/* 028D1894 */ cpu->f[1] = cpu->f[31];
/* 028D1898 */ cpu->r[3] = cpu->r[29] + 0x00000014u;
/* 028D189C */ Gambit_fn_028CA0E4(cpu);
L_028D18A0: ; // 0x28d18a0
/* 028D18A0 */ _t34 = cpu->r[31] + 0x00000028u;
/* 028D18A0 */ rbrew_write32(cpu->mem, _t34, cpu->r[26]);
/* 028D18A4 */ cpu->r[3] = cpu->r[27] + 0x0000001Cu;
/* 028D18A8 */ cpu->r[4] = cpu->r[31] + 0x00000028u;
/* 028D18AC */ _t35 = cpu->r[31] + 0x0000002Cu;
/* 028D18AC */ rbrew_write32(cpu->mem, _t35, cpu->r[26]);
/* 028D18B0 */ Gambit_fn_02801EBC(cpu);
/* 028D18B4 */ _t36 = cpu->r[27] + 0x00000024u;
/* 028D18B4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t36);
/* 028D18B8 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
/* 028D18BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028D18C0 */ _t37 = cpu->r[27] + 0x00000024u;
/* 028D18C0 */ rbrew_write32(cpu->mem, _t37, cpu->r[10]);
/* 028D18C4 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D18C4 */ _t39 = _t38 & 0x00000001u;
/* 028D18C4 */ if (_t39) goto L_028D1918; else goto L_028D18C8;
L_028D18C8: ; // 0x28d18c8
/* 028D18C8 */ cpu->r[5] = cpu->r[30];
/* 028D18CC */ cpu->r[4] = cpu->r[28];
/* 028D18D0 */ cpu->r[3] = cpu->r[31];
/* 028D18D4 */ Gambit_fn_028D17BC(cpu);
/* 028D18D8 */ /* nop */
/* 028D18DC */ _t40 = cpu->r[1] + 0x00000028u;
/* 028D18DC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t40);
/* 028D18E0 */ _t41 = cpu->r[1] + 0x00000020u;
/* 028D18E0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t41);
/* 028D18E4 */ cpu->r[3] = 0x00000001u;
/* 028D18E8 */ _t42 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028D18E8 */ _t43 = _t42 & 0x00000001u;
/* 028D18E8 */ if (_t43) goto L_028D18EC; // else: addr-0 trap, fall-through
L_028D18EC: ; // 0x28d18ec
/* 028D18EC */ _t44 = cpu->r[1] + 0x00000034u;
/* 028D18EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
/* 028D18F0 */ cpu->lr = cpu->r[0];
/* 028D18F4 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
/* 028D18F8 */ return;
L_028D18FC: ; // 0x28d18fc
/* 028D18FC */ cpu->r[3] = cpu->r[27] + 0x0000001Cu;
/* 028D1900 */ cpu->r[4] = 0x00000028u;
/* 028D1904 */ cpu->r[31] = 0x00000000u;
/* 028D1908 */ Gambit_fn_02801EBC(cpu);
/* 028D190C */ _t45 = cpu->r[27] + 0x00000024u;
/* 028D190C */ cpu->r[10] = rbrew_read32(cpu->mem, _t45);
/* 028D1910 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
/* 028D1914 */ _t46 = cpu->r[27] + 0x00000024u;
/* 028D1914 */ rbrew_write32(cpu->mem, _t46, cpu->r[10]);
L_028D1918: ; // 0x28d1918
/* 028D1918 */ /* nop */
/* 028D191C */ _t47 = cpu->r[1] + 0x00000028u;
/* 028D191C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t47);
/* 028D1920 */ _t48 = cpu->r[1] + 0x00000020u;
/* 028D1920 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t48);
/* 028D1924 */ cpu->r[3] = 0x00000000u;
/* 028D1928 */ _t49 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028D1928 */ _t50 = _t49 & 0x00000001u;
/* 028D1928 */ if (_t50) goto L_028D192C; // else: addr-0 trap, fall-through
L_028D192C: ; // 0x28d192c
/* 028D192C */ _t51 = cpu->r[1] + 0x00000034u;
/* 028D192C */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
/* 028D1930 */ cpu->lr = cpu->r[0];
/* 028D1934 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
/* 028D1938 */ return;
}
// fn_028D193C @ 0x28d193c
void Gambit_fn_028D193C(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_028D193C: ; // 0x28d193c
/* 028D193C */ cpu->r[0] = cpu->lr;
/* 028D1940 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028D1940 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D1940 */ cpu->r[1] = _t0;
/* 028D1944 */ _t1 = cpu->r[1] + 0x00000014u;
/* 028D1944 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028D1948 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028D1948 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028D194C */ cpu->r[30] = cpu->r[5];
/* 028D1950 */ cpu->r[31] = cpu->r[3];
/* 028D1954 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028D1954 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028D1958 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028D1958 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028D195C */ cpu->r[29] = cpu->r[4];
/* 028D1960 */ Gambit_fn_028C29F4(cpu);
/* 028D1964 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D1968 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1968 */ _t6 = _t5 & 0x00000001u;
/* 028D1968 */ if (_t6) goto L_028D1988; else goto L_028D196C;
L_028D196C: ; // 0x28d196c
/* 028D196C */ cpu->r[4] = cpu->r[29];
/* 028D1970 */ Gambit_fn_028D2200(cpu);
/* 028D1974 */ cpu->r[4] = cpu->r[3];
/* 028D1974 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028D1978 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1978 */ _t8 = _t7 & 0x00000001u;
/* 028D1978 */ if (_t8) goto L_028D1988; else goto L_028D197C;
L_028D197C: ; // 0x28d197c
/* 028D197C */ _t9 = cpu->r[31] + 0x00000018u;
/* 028D197C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028D1980 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
/* 028D1984 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1984 */ _t11 = _t10 & 0x00000001u;
/* 028D1984 */ if (_t11) goto L_028D1988; else goto L_028D19A8;
L_028D1988: ; // 0x28d1988
/* 028D1988 */ _t12 = cpu->r[1] + 0x0000000Cu;
/* 028D1988 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
/* 028D198C */ _t13 = cpu->r[1] + 0x0000001Cu;
/* 028D198C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028D1990 */ _t14 = cpu->r[1] + 0x00000010u;
/* 028D1990 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
/* 028D1994 */ cpu->lr = cpu->r[0];
/* 028D1998 */ _t15 = cpu->r[1] + 0x00000014u;
/* 028D1998 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
/* 028D199C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028D19A0 */ cpu->r[3] = 0x00000000u;
/* 028D19A4 */ return;
L_028D19A8: ; // 0x28d19a8
/* 028D19A8 */ cpu->r[5] = cpu->r[30];
/* 028D19AC */ cpu->r[3] = cpu->r[31];
/* 028D19B0 */ Gambit_fn_028D17D0(cpu);
/* 028D19B4 */ _t16 = cpu->r[1] + 0x0000000Cu;
/* 028D19B4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
/* 028D19B8 */ _t17 = cpu->r[1] + 0x0000001Cu;
/* 028D19B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028D19BC */ _t18 = cpu->r[1] + 0x00000010u;
/* 028D19BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
/* 028D19C0 */ cpu->lr = cpu->r[0];
/* 028D19C4 */ _t19 = cpu->r[1] + 0x00000014u;
/* 028D19C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
/* 028D19C8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028D19CC */ return;
}
// fn_028D1940 @ 0x28d1940
void Gambit_fn_028D1940(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_028D1940: ; // 0x28d1940
/* 028D1940 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028D1940 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D1940 */ cpu->r[1] = _t0;
/* 028D1944 */ _t1 = cpu->r[1] + 0x00000014u;
/* 028D1944 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028D1948 */ _t2 = cpu->r[1] + 0x00000010u;
/* 028D1948 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028D194C */ cpu->r[30] = cpu->r[5];
/* 028D1950 */ cpu->r[31] = cpu->r[3];
/* 028D1954 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028D1954 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
/* 028D1958 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028D1958 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028D195C */ cpu->r[29] = cpu->r[4];
/* 028D1960 */ Gambit_fn_028C29F4(cpu);
/* 028D1964 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D1968 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1968 */ _t6 = _t5 & 0x00000001u;
/* 028D1968 */ if (_t6) goto L_028D1988; else goto L_028D196C;
L_028D196C: ; // 0x28d196c
/* 028D196C */ cpu->r[4] = cpu->r[29];
/* 028D1970 */ Gambit_fn_028D2200(cpu);
/* 028D1974 */ cpu->r[4] = cpu->r[3];
/* 028D1974 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028D1978 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1978 */ _t8 = _t7 & 0x00000001u;
/* 028D1978 */ if (_t8) goto L_028D1988; else goto L_028D197C;
L_028D197C: ; // 0x28d197c
/* 028D197C */ _t9 = cpu->r[31] + 0x00000018u;
/* 028D197C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028D1980 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
/* 028D1984 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1984 */ _t11 = _t10 & 0x00000001u;
/* 028D1984 */ if (_t11) goto L_028D1988; else goto L_028D19A8;
L_028D1988: ; // 0x28d1988
/* 028D1988 */ _t12 = cpu->r[1] + 0x0000000Cu;
/* 028D1988 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
/* 028D198C */ _t13 = cpu->r[1] + 0x0000001Cu;
/* 028D198C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028D1990 */ _t14 = cpu->r[1] + 0x00000010u;
/* 028D1990 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
/* 028D1994 */ cpu->lr = cpu->r[0];
/* 028D1998 */ _t15 = cpu->r[1] + 0x00000014u;
/* 028D1998 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
/* 028D199C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028D19A0 */ cpu->r[3] = 0x00000000u;
/* 028D19A4 */ return;
L_028D19A8: ; // 0x28d19a8
/* 028D19A8 */ cpu->r[5] = cpu->r[30];
/* 028D19AC */ cpu->r[3] = cpu->r[31];
/* 028D19B0 */ Gambit_fn_028D17D0(cpu);
/* 028D19B4 */ _t16 = cpu->r[1] + 0x0000000Cu;
/* 028D19B4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
/* 028D19B8 */ _t17 = cpu->r[1] + 0x0000001Cu;
/* 028D19B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028D19BC */ _t18 = cpu->r[1] + 0x00000010u;
/* 028D19BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
/* 028D19C0 */ cpu->lr = cpu->r[0];
/* 028D19C4 */ _t19 = cpu->r[1] + 0x00000014u;
/* 028D19C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
/* 028D19C8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028D19CC */ return;
}
// fn_028D19D0 @ 0x28d19d0
void Gambit_fn_028D19D0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
L_028D19D0: ; // 0x28d19d0
/* 028D19D0 */ cpu->r[0] = cpu->lr;
/* 028D19D4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D19D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D19D4 */ cpu->r[1] = _t0;
/* 028D19D8 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028D19D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028D19DC */ cpu->r[31] = cpu->r[3];
/* 028D19E0 */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
/* 028D19E4 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028D19E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028D19E8 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028D19E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028D19EC */ Gambit_fn_02801F14(cpu);
/* 028D19F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D19F4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D19F4 */ _t5 = _t4 & 0x00000001u;
/* 028D19F4 */ if (_t5) goto L_028D1A20; else goto L_028D19F8;
L_028D19F8: ; // 0x28d19f8
/* 028D19F8 */ cpu->r[30] = cpu->r[3] + 0xFFFFFFD8u;
/* 028D19F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028D19FC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D19FC */ _t7 = _t6 & 0x00000001u;
/* 028D19FC */ if (_t7) goto L_028D1A20; else goto L_028D1A00;
L_028D1A00: ; // 0x28d1a00
/* 028D1A00 */ cpu->r[3] = cpu->r[30] + 0x00000028u;
/* 028D1A04 */ Gambit_fn_02801EDC(cpu);
/* 028D1A08 */ _t8 = cpu->r[31] + 0x00000024u;
/* 028D1A08 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
/* 028D1A0C */ _t9 = cpu->r[31] + 0x00000028u;
/* 028D1A0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028D1A10 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
/* 028D1A14 */ _t10 = cpu->r[31] + 0x00000024u;
/* 028D1A14 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
/* 028D1A18 */ _t11 = cpu->r[30] + 0x00000000u;
/* 028D1A18 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
/* 028D1A1C */ _t12 = cpu->r[31] + 0x00000028u;
/* 028D1A1C */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
L_028D1A20: ; // 0x28d1a20
/* 028D1A20 */ _t13 = cpu->r[1] + 0x00000014u;
/* 028D1A20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028D1A24 */ _t14 = cpu->r[1] + 0x00000008u;
/* 028D1A24 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
/* 028D1A28 */ cpu->lr = cpu->r[0];
/* 028D1A2C */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028D1A2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
/* 028D1A30 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D1A34 */ return;
}
// fn_028D19D4 @ 0x28d19d4
void Gambit_fn_028D19D4(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
L_028D19D4: ; // 0x28d19d4
/* 028D19D4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D19D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D19D4 */ cpu->r[1] = _t0;
/* 028D19D8 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028D19D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028D19DC */ cpu->r[31] = cpu->r[3];
/* 028D19E0 */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
/* 028D19E4 */ _t2 = cpu->r[1] + 0x00000008u;
/* 028D19E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028D19E8 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028D19E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028D19EC */ Gambit_fn_02801F14(cpu);
/* 028D19F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D19F4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D19F4 */ _t5 = _t4 & 0x00000001u;
/* 028D19F4 */ if (_t5) goto L_028D1A20; else goto L_028D19F8;
L_028D19F8: ; // 0x28d19f8
/* 028D19F8 */ cpu->r[30] = cpu->r[3] + 0xFFFFFFD8u;
/* 028D19F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028D19FC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D19FC */ _t7 = _t6 & 0x00000001u;
/* 028D19FC */ if (_t7) goto L_028D1A20; else goto L_028D1A00;
L_028D1A00: ; // 0x28d1a00
/* 028D1A00 */ cpu->r[3] = cpu->r[30] + 0x00000028u;
/* 028D1A04 */ Gambit_fn_02801EDC(cpu);
/* 028D1A08 */ _t8 = cpu->r[31] + 0x00000024u;
/* 028D1A08 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
/* 028D1A0C */ _t9 = cpu->r[31] + 0x00000028u;
/* 028D1A0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028D1A10 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
/* 028D1A14 */ _t10 = cpu->r[31] + 0x00000024u;
/* 028D1A14 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
/* 028D1A18 */ _t11 = cpu->r[30] + 0x00000000u;
/* 028D1A18 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
/* 028D1A1C */ _t12 = cpu->r[31] + 0x00000028u;
/* 028D1A1C */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
L_028D1A20: ; // 0x28d1a20
/* 028D1A20 */ _t13 = cpu->r[1] + 0x00000014u;
/* 028D1A20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028D1A24 */ _t14 = cpu->r[1] + 0x00000008u;
/* 028D1A24 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
/* 028D1A28 */ cpu->lr = cpu->r[0];
/* 028D1A2C */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028D1A2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
/* 028D1A30 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D1A34 */ return;
}
// fn_028D1A38 @ 0x28d1a38
void Gambit_fn_028D1A38(CPUState* cpu) {
uint32_t _t0, _t1;
L_028D1A38: ; // 0x28d1a38
/* 028D1A38 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFC8u;
/* 028D1A3C */ goto L_028D1CDC;
L_028D1CDC: ; // 0x28d1cdc
/* 028D1CDC */ _t0 = cpu->r[3] + 0x00000148u;
/* 028D1CDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028D1CE0 */ cpu->r[0] = (uint32_t)(-(int32_t)cpu->r[12]);
/* 028D1CE4 */ _t1 = ~cpu->r[12];
/* 028D1CE4 */ cpu->r[0] = cpu->r[0] & _t1;
/* 028D1CE8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
/* 028D1CEC */ return;
}
// fn_028D1A40 @ 0x28d1a40
void Gambit_fn_028D1A40(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_028D1A40: ; // 0x28d1a40
/* 028D1A40 */ cpu->r[0] = cpu->lr;
/* 028D1A44 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028D1A44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D1A44 */ cpu->r[1] = _t0;
/* 028D1A48 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028D1A48 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028D1A4C */ /* nop */
/* 028D1A50 */ _t2 = cpu->r[1] + 0x00000018u;
/* 028D1A50 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
/* 028D1A54 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028D1A54 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028D1A58 */ _t4 = cpu->r[1] + 0x00000024u;
/* 028D1A58 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028D1A5C */ _t5 = cpu->r[3] + 0x00000040u;
/* 028D1A5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
/* 028D1A60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028D1A64 */ cpu->f[31] = cpu->f[1];
/* 028D1A68 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1A68 */ _t7 = _t6 & 0x00000001u;
/* 028D1A68 */ if (_t7) goto L_028D1A90; else goto L_028D1A6C;
L_028D1A6C: ; // 0x28d1a6c
/* 028D1A6C */ _t8 = cpu->r[31] + 0x00000010u;
/* 028D1A6C */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
/* 028D1A70 */ _t9 = cpu->r[3] + 0x00000008u;
/* 028D1A70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
/* 028D1A74 */ _t10 = cpu->r[12] + 0x0000002Cu;
/* 028D1A74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028D1A78 */ cpu->ctr = cpu->r[0];
/* 028D1A7C */ cpu->f[1] = cpu->f[31];
/* 028D1A80 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028D1A84 */ _t11 = cpu->r[31] + 0x00000008u;
/* 028D1A84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028D1A88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028D1A8C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1A8C */ _t13 = _t12 & 0x00000001u;
/* 028D1A8C */ if (_t13) goto L_028D1A90; else goto L_028D1A6C;
L_028D1A90: ; // 0x28d1a90
/* 028D1A90 */ _t14 = cpu->r[1] + 0x00000018u;
/* 028D1A90 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t14);
/* 028D1A94 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028D1A94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
/* 028D1A98 */ _t16 = cpu->r[1] + 0x00000010u;
/* 028D1A98 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t16);
/* 028D1A9C */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028D1A9C */ _t18 = _t17 & 0x00000001u;
/* 028D1A9C */ if (_t18) goto L_028D1AA0; // else: addr-0 trap, fall-through
L_028D1AA0: ; // 0x28d1aa0
/* 028D1AA0 */ _t19 = cpu->r[1] + 0x00000024u;
/* 028D1AA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028D1AA4 */ cpu->lr = cpu->r[0];
/* 028D1AA8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028D1AAC */ return;
}
// fn_028D1A44 @ 0x28d1a44
void Gambit_fn_028D1A44(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_028D1A44: ; // 0x28d1a44
/* 028D1A44 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028D1A44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D1A44 */ cpu->r[1] = _t0;
/* 028D1A48 */ _t1 = cpu->r[1] + 0x00000010u;
/* 028D1A48 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028D1A4C */ /* nop */
/* 028D1A50 */ _t2 = cpu->r[1] + 0x00000018u;
/* 028D1A50 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
/* 028D1A54 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028D1A54 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
/* 028D1A58 */ _t4 = cpu->r[1] + 0x00000024u;
/* 028D1A58 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028D1A5C */ _t5 = cpu->r[3] + 0x00000040u;
/* 028D1A5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
/* 028D1A60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028D1A64 */ cpu->f[31] = cpu->f[1];
/* 028D1A68 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1A68 */ _t7 = _t6 & 0x00000001u;
/* 028D1A68 */ if (_t7) goto L_028D1A90; else goto L_028D1A6C;
L_028D1A6C: ; // 0x28d1a6c
/* 028D1A6C */ _t8 = cpu->r[31] + 0x00000010u;
/* 028D1A6C */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
/* 028D1A70 */ _t9 = cpu->r[3] + 0x00000008u;
/* 028D1A70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
/* 028D1A74 */ _t10 = cpu->r[12] + 0x0000002Cu;
/* 028D1A74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028D1A78 */ cpu->ctr = cpu->r[0];
/* 028D1A7C */ cpu->f[1] = cpu->f[31];
/* 028D1A80 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028D1A84 */ _t11 = cpu->r[31] + 0x00000008u;
/* 028D1A84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028D1A88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028D1A8C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1A8C */ _t13 = _t12 & 0x00000001u;
/* 028D1A8C */ if (_t13) goto L_028D1A90; else goto L_028D1A6C;
L_028D1A90: ; // 0x28d1a90
/* 028D1A90 */ _t14 = cpu->r[1] + 0x00000018u;
/* 028D1A90 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t14);
/* 028D1A94 */ _t15 = cpu->r[1] + 0x0000000Cu;
/* 028D1A94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
/* 028D1A98 */ _t16 = cpu->r[1] + 0x00000010u;
/* 028D1A98 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t16);
/* 028D1A9C */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028D1A9C */ _t18 = _t17 & 0x00000001u;
/* 028D1A9C */ if (_t18) goto L_028D1AA0; // else: addr-0 trap, fall-through
L_028D1AA0: ; // 0x28d1aa0
/* 028D1AA0 */ _t19 = cpu->r[1] + 0x00000024u;
/* 028D1AA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
/* 028D1AA4 */ cpu->lr = cpu->r[0];
/* 028D1AA8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028D1AAC */ return;
}
// fn_028D1AB0 @ 0x28d1ab0
void Gambit_fn_028D1AB0(CPUState* cpu) {
uint32_t _t0, _t1, _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_028D1AB0: ; // 0x28d1ab0
/* 028D1AB0 */ cpu->r[0] = cpu->lr;
/* 028D1AB4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028D1AB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D1AB4 */ cpu->r[1] = _t0;
/* 028D1AB8 */ _t1 = cpu->r[1] + 0x00000018u;
/* 028D1AB8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028D1ABC */ /* nop */
/* 028D1AC0 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028D1AC0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028D1AC4 */ _t3 = cpu->r[1] + 0x00000020u;
/* 028D1AC4 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028D1AC8 */ _t4 = cpu->r[1] + 0x00000010u;
/* 028D1AC8 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
/* 028D1ACC */ _t5 = cpu->r[1] + 0x00000014u;
/* 028D1ACC */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
/* 028D1AD0 */ _t6 = cpu->r[1] + 0x0000002Cu;
/* 028D1AD0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028D1AD4 */ _t7 = cpu->r[4] + 0x00000000u;
/* 028D1AD4 */ cpu->r[30] = rbrew_read8(cpu->mem, _t7);
/* 028D1AD8 */ _t8 = cpu->r[3] + 0x00000040u;
/* 028D1AD8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
/* 028D1ADC */ cpu->r[31] = cpu->r[5];
/* 028D1AE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028D1AE4 */ cpu->f[31] = cpu->f[1];
/* 028D1AE8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1AE8 */ _t10 = _t9 & 0x00000001u;
/* 028D1AE8 */ if (_t10) goto L_028D1B1C; else goto L_028D1AEC;
L_028D1AEC: ; // 0x28d1aec
/* 028D1AEC */ _t11 = cpu->r[29] + 0x00000010u;
/* 028D1AEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
/* 028D1AF0 */ _t12 = cpu->r[3] + 0x00000008u;
/* 028D1AF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
/* 028D1AF4 */ _t13 = cpu->r[1] + 0x00000008u;
/* 028D1AF4 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[30]);
/* 028D1AF8 */ _t14 = cpu->r[12] + 0x0000003Cu;
/* 028D1AF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028D1AFC */ cpu->ctr = cpu->r[0];
/* 028D1B00 */ cpu->r[5] = cpu->r[31];
/* 028D1B04 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028D1B08 */ cpu->f[1] = cpu->f[31];
/* 028D1B0C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028D1B10 */ _t15 = cpu->r[29] + 0x00000008u;
/* 028D1B10 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
/* 028D1B14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028D1B18 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1B18 */ _t17 = _t16 & 0x00000001u;
/* 028D1B18 */ if (_t17) goto L_028D1B1C; else goto L_028D1AEC;
L_028D1B1C: ; // 0x28d1b1c
/* 028D1B1C */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028D1B1C */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
/* 028D1B20 */ _t19 = cpu->r[1] + 0x00000020u;
/* 028D1B20 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t19);
/* 028D1B24 */ _t20 = cpu->r[1] + 0x00000010u;
/* 028D1B24 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
/* 028D1B28 */ _t21 = cpu->r[1] + 0x00000018u;
/* 028D1B28 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t21);
/* 028D1B2C */ _t22 = cpu->r[1] + 0x00000014u;
/* 028D1B2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
/* 028D1B30 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028D1B30 */ _t24 = _t23 & 0x00000001u;
/* 028D1B30 */ if (_t24) goto L_028D1B34; // else: addr-0 trap, fall-through
L_028D1B34: ; // 0x28d1b34
/* 028D1B34 */ _t25 = cpu->r[1] + 0x0000002Cu;
/* 028D1B34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
/* 028D1B38 */ cpu->lr = cpu->r[0];
/* 028D1B3C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028D1B40 */ return;
}
// fn_028D1AB4 @ 0x28d1ab4
void Gambit_fn_028D1AB4(CPUState* cpu) {
uint32_t _t0, _t1, _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_028D1AB4: ; // 0x28d1ab4
/* 028D1AB4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028D1AB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D1AB4 */ cpu->r[1] = _t0;
/* 028D1AB8 */ _t1 = cpu->r[1] + 0x00000018u;
/* 028D1AB8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
/* 028D1ABC */ /* nop */
/* 028D1AC0 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028D1AC0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
/* 028D1AC4 */ _t3 = cpu->r[1] + 0x00000020u;
/* 028D1AC4 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
/* 028D1AC8 */ _t4 = cpu->r[1] + 0x00000010u;
/* 028D1AC8 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
/* 028D1ACC */ _t5 = cpu->r[1] + 0x00000014u;
/* 028D1ACC */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
/* 028D1AD0 */ _t6 = cpu->r[1] + 0x0000002Cu;
/* 028D1AD0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028D1AD4 */ _t7 = cpu->r[4] + 0x00000000u;
/* 028D1AD4 */ cpu->r[30] = rbrew_read8(cpu->mem, _t7);
/* 028D1AD8 */ _t8 = cpu->r[3] + 0x00000040u;
/* 028D1AD8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
/* 028D1ADC */ cpu->r[31] = cpu->r[5];
/* 028D1AE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028D1AE4 */ cpu->f[31] = cpu->f[1];
/* 028D1AE8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1AE8 */ _t10 = _t9 & 0x00000001u;
/* 028D1AE8 */ if (_t10) goto L_028D1B1C; else goto L_028D1AEC;
L_028D1AEC: ; // 0x28d1aec
/* 028D1AEC */ _t11 = cpu->r[29] + 0x00000010u;
/* 028D1AEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
/* 028D1AF0 */ _t12 = cpu->r[3] + 0x00000008u;
/* 028D1AF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
/* 028D1AF4 */ _t13 = cpu->r[1] + 0x00000008u;
/* 028D1AF4 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[30]);
/* 028D1AF8 */ _t14 = cpu->r[12] + 0x0000003Cu;
/* 028D1AF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
/* 028D1AFC */ cpu->ctr = cpu->r[0];
/* 028D1B00 */ cpu->r[5] = cpu->r[31];
/* 028D1B04 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
/* 028D1B08 */ cpu->f[1] = cpu->f[31];
/* 028D1B0C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028D1B10 */ _t15 = cpu->r[29] + 0x00000008u;
/* 028D1B10 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
/* 028D1B14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028D1B18 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1B18 */ _t17 = _t16 & 0x00000001u;
/* 028D1B18 */ if (_t17) goto L_028D1B1C; else goto L_028D1AEC;
L_028D1B1C: ; // 0x28d1b1c
/* 028D1B1C */ _t18 = cpu->r[1] + 0x0000000Cu;
/* 028D1B1C */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
/* 028D1B20 */ _t19 = cpu->r[1] + 0x00000020u;
/* 028D1B20 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t19);
/* 028D1B24 */ _t20 = cpu->r[1] + 0x00000010u;
/* 028D1B24 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
/* 028D1B28 */ _t21 = cpu->r[1] + 0x00000018u;
/* 028D1B28 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t21);
/* 028D1B2C */ _t22 = cpu->r[1] + 0x00000014u;
/* 028D1B2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
/* 028D1B30 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028D1B30 */ _t24 = _t23 & 0x00000001u;
/* 028D1B30 */ if (_t24) goto L_028D1B34; // else: addr-0 trap, fall-through
L_028D1B34: ; // 0x28d1b34
/* 028D1B34 */ _t25 = cpu->r[1] + 0x0000002Cu;
/* 028D1B34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
/* 028D1B38 */ cpu->lr = cpu->r[0];
/* 028D1B3C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028D1B40 */ return;
}
// fn_028D1B44 @ 0x28d1b44
void Gambit_fn_028D1B44(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
L_028D1B44: ; // 0x28d1b44
/* 028D1B44 */ cpu->r[0] = cpu->lr;
/* 028D1B48 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D1B48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D1B48 */ cpu->r[1] = _t0;
/* 028D1B4C */ _t1 = cpu->r[1] + 0x00000008u;
/* 028D1B4C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028D1B50 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028D1B50 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028D1B54 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028D1B54 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028D1B58 */ _t4 = cpu->r[3] + 0x00000040u;
/* 028D1B58 */ cpu->r[30] = rbrew_read32(cpu->mem, _t4);
/* 028D1B5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028D1B60 */ cpu->r[31] = 0x00000000u;
/* 028D1B64 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1B64 */ _t6 = _t5 & 0x00000001u;
/* 028D1B64 */ if (_t6) goto L_028D1B8C; else goto L_028D1B68;
L_028D1B68: ; // 0x28d1b68
/* 028D1B68 */ _t7 = cpu->r[30] + 0x00000010u;
/* 028D1B68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
/* 028D1B6C */ _t8 = cpu->r[3] + 0x00000008u;
/* 028D1B6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
/* 028D1B70 */ _t9 = cpu->r[12] + 0x0000006Cu;
/* 028D1B70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028D1B74 */ cpu->ctr = cpu->r[0];
/* 028D1B78 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028D1B7C */ _t10 = cpu->r[30] + 0x00000008u;
/* 028D1B7C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028D1B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028D1B84 */ cpu->r[31] = cpu->r[31] + cpu->r[3];
/* 028D1B88 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1B88 */ _t12 = _t11 & 0x00000001u;
/* 028D1B88 */ if (_t12) goto L_028D1B8C; else goto L_028D1B68;
L_028D1B8C: ; // 0x28d1b8c
/* 028D1B8C */ _t13 = cpu->r[1] + 0x00000014u;
/* 028D1B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028D1B90 */ cpu->r[3] = cpu->r[31];
/* 028D1B94 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028D1B94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028D1B98 */ cpu->lr = cpu->r[0];
/* 028D1B9C */ _t15 = cpu->r[1] + 0x00000008u;
/* 028D1B9C */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
/* 028D1BA0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D1BA4 */ return;
}
// fn_028D1B48 @ 0x28d1b48
void Gambit_fn_028D1B48(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
L_028D1B48: ; // 0x28d1b48
/* 028D1B48 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D1B48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D1B48 */ cpu->r[1] = _t0;
/* 028D1B4C */ _t1 = cpu->r[1] + 0x00000008u;
/* 028D1B4C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028D1B50 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028D1B50 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028D1B54 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028D1B54 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028D1B58 */ _t4 = cpu->r[3] + 0x00000040u;
/* 028D1B58 */ cpu->r[30] = rbrew_read32(cpu->mem, _t4);
/* 028D1B5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028D1B60 */ cpu->r[31] = 0x00000000u;
/* 028D1B64 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1B64 */ _t6 = _t5 & 0x00000001u;
/* 028D1B64 */ if (_t6) goto L_028D1B8C; else goto L_028D1B68;
L_028D1B68: ; // 0x28d1b68
/* 028D1B68 */ _t7 = cpu->r[30] + 0x00000010u;
/* 028D1B68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
/* 028D1B6C */ _t8 = cpu->r[3] + 0x00000008u;
/* 028D1B6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
/* 028D1B70 */ _t9 = cpu->r[12] + 0x0000006Cu;
/* 028D1B70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028D1B74 */ cpu->ctr = cpu->r[0];
/* 028D1B78 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028D1B7C */ _t10 = cpu->r[30] + 0x00000008u;
/* 028D1B7C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028D1B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028D1B84 */ cpu->r[31] = cpu->r[31] + cpu->r[3];
/* 028D1B88 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1B88 */ _t12 = _t11 & 0x00000001u;
/* 028D1B88 */ if (_t12) goto L_028D1B8C; else goto L_028D1B68;
L_028D1B8C: ; // 0x28d1b8c
/* 028D1B8C */ _t13 = cpu->r[1] + 0x00000014u;
/* 028D1B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
/* 028D1B90 */ cpu->r[3] = cpu->r[31];
/* 028D1B94 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028D1B94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028D1B98 */ cpu->lr = cpu->r[0];
/* 028D1B9C */ _t15 = cpu->r[1] + 0x00000008u;
/* 028D1B9C */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
/* 028D1BA0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D1BA4 */ return;
}
// fn_028D1BA8 @ 0x28d1ba8
void Gambit_fn_028D1BA8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028D1BA8: ; // 0x28d1ba8
/* 028D1BA8 */ cpu->r[0] = cpu->lr;
/* 028D1BAC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D1BAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D1BAC */ cpu->r[1] = _t0;
/* 028D1BB0 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028D1BB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028D1BB4 */ cpu->r[31] = cpu->r[3];
/* 028D1BB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028D1BB8 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028D1BB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028D1BBC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1BBC */ _t4 = _t3 & 0x00000001u;
/* 028D1BBC */ if (_t4) goto L_028D1BC0; else goto L_028D1BD0;
L_028D1BC0: ; // 0x28d1bc0
/* 028D1BC0 */ cpu->r[3] = 0x00000158u;
/* 028D1BC4 */ Gambit_fn_02801A78(cpu);
/* 028D1BC8 */ cpu->r[31] = cpu->r[3];
/* 028D1BC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028D1BCC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1BCC */ _t6 = _t5 & 0x00000001u;
/* 028D1BCC */ if (_t6) goto L_028D1BFC; else goto L_028D1BD0;
L_028D1BD0: ; // 0x28d1bd0
/* 028D1BD0 */ cpu->r[3] = cpu->r[31];
/* 028D1BD4 */ Gambit_fn_028D07B8(cpu);
/* 028D1BD8 */ cpu->r[12] = 0x10140000u;
/* 028D1BDC */ cpu->r[0] = 0x10140000u;
/* 028D1BE0 */ cpu->r[12] = cpu->r[12] + 0xFFFFA5ACu;
/* 028D1BE4 */ cpu->r[0] = cpu->r[0] + 0xFFFFA67Cu;
/* 028D1BE8 */ cpu->r[11] = 0x10140000u;
/* 028D1BEC */ _t7 = cpu->r[31] + 0x00000008u;
/* 028D1BEC */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
/* 028D1BF0 */ cpu->r[11] = cpu->r[11] + 0xFFFFA69Cu;
/* 028D1BF4 */ _t8 = cpu->r[31] + 0x00000038u;
/* 028D1BF4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028D1BF8 */ _t9 = cpu->r[31] + 0x00000050u;
/* 028D1BF8 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
L_028D1BFC: ; // 0x28d1bfc
/* 028D1BFC */ _t10 = cpu->r[1] + 0x00000014u;
/* 028D1BFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028D1C00 */ cpu->r[3] = cpu->r[31];
/* 028D1C04 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028D1C04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028D1C08 */ cpu->lr = cpu->r[0];
/* 028D1C0C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D1C10 */ return;
}
// fn_028D1BAC @ 0x28d1bac
void Gambit_fn_028D1BAC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028D1BAC: ; // 0x28d1bac
/* 028D1BAC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D1BAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D1BAC */ cpu->r[1] = _t0;
/* 028D1BB0 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028D1BB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028D1BB4 */ cpu->r[31] = cpu->r[3];
/* 028D1BB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028D1BB8 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028D1BB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028D1BBC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1BBC */ _t4 = _t3 & 0x00000001u;
/* 028D1BBC */ if (_t4) goto L_028D1BC0; else goto L_028D1BD0;
L_028D1BC0: ; // 0x28d1bc0
/* 028D1BC0 */ cpu->r[3] = 0x00000158u;
/* 028D1BC4 */ Gambit_fn_02801A78(cpu);
/* 028D1BC8 */ cpu->r[31] = cpu->r[3];
/* 028D1BC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028D1BCC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1BCC */ _t6 = _t5 & 0x00000001u;
/* 028D1BCC */ if (_t6) goto L_028D1BFC; else goto L_028D1BD0;
L_028D1BD0: ; // 0x28d1bd0
/* 028D1BD0 */ cpu->r[3] = cpu->r[31];
/* 028D1BD4 */ Gambit_fn_028D07B8(cpu);
/* 028D1BD8 */ cpu->r[12] = 0x10140000u;
/* 028D1BDC */ cpu->r[0] = 0x10140000u;
/* 028D1BE0 */ cpu->r[12] = cpu->r[12] + 0xFFFFA5ACu;
/* 028D1BE4 */ cpu->r[0] = cpu->r[0] + 0xFFFFA67Cu;
/* 028D1BE8 */ cpu->r[11] = 0x10140000u;
/* 028D1BEC */ _t7 = cpu->r[31] + 0x00000008u;
/* 028D1BEC */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
/* 028D1BF0 */ cpu->r[11] = cpu->r[11] + 0xFFFFA69Cu;
/* 028D1BF4 */ _t8 = cpu->r[31] + 0x00000038u;
/* 028D1BF4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
/* 028D1BF8 */ _t9 = cpu->r[31] + 0x00000050u;
/* 028D1BF8 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
L_028D1BFC: ; // 0x28d1bfc
/* 028D1BFC */ _t10 = cpu->r[1] + 0x00000014u;
/* 028D1BFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028D1C00 */ cpu->r[3] = cpu->r[31];
/* 028D1C04 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028D1C04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028D1C08 */ cpu->lr = cpu->r[0];
/* 028D1C0C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D1C10 */ return;
}
// fn_028D1C14 @ 0x28d1c14
void Gambit_fn_028D1C14(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
L_028D1C14: ; // 0x28d1c14
/* 028D1C14 */ cpu->r[0] = cpu->lr;
/* 028D1C18 */ _t0 = cpu->r[1] + 0x00000004u;
/* 028D1C18 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
/* 028D1C1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
/* 028D1C20 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
/* 028D1C20 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
/* 028D1C20 */ cpu->r[1] = _t1;
/* 028D1C24 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1C24 */ _t3 = _t2 & 0x00000001u;
/* 028D1C24 */ if (_t3) goto L_028D1C28; else goto L_028D1C3C;
L_028D1C28: ; // 0x28d1c28
/* 028D1C28 */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028D1C28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028D1C2C */ cpu->lr = cpu->r[0];
/* 028D1C30 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028D1C34 */ cpu->r[3] = 0x00000000u;
/* 028D1C38 */ return;
L_028D1C3C: ; // 0x28d1c3c
/* 028D1C3C */ cpu->r[3] = cpu->r[3] + 0x0000003Cu;
/* 028D1C40 */ cpu->r[4] = cpu->r[4] + 0x0000003Cu;
/* 028D1C44 */ Gambit_fn_02802B74(cpu);
/* 028D1C48 */ _t5 = cpu->r[1] + 0x0000000Cu;
/* 028D1C48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
/* 028D1C4C */ cpu->lr = cpu->r[0];
/* 028D1C50 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028D1C54 */ cpu->r[3] = 0x00000001u;
/* 028D1C58 */ return;
}
// fn_028D1C20 @ 0x28d1c20
void Gambit_fn_028D1C20(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4;
L_028D1C20: ; // 0x28d1c20
/* 028D1C20 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
/* 028D1C20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D1C20 */ cpu->r[1] = _t0;
/* 028D1C24 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1C24 */ _t2 = _t1 & 0x00000001u;
/* 028D1C24 */ if (_t2) goto L_028D1C28; else goto L_028D1C3C;
L_028D1C28: ; // 0x28d1c28
/* 028D1C28 */ _t3 = cpu->r[1] + 0x0000000Cu;
/* 028D1C28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
/* 028D1C2C */ cpu->lr = cpu->r[0];
/* 028D1C30 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028D1C34 */ cpu->r[3] = 0x00000000u;
/* 028D1C38 */ return;
L_028D1C3C: ; // 0x28d1c3c
/* 028D1C3C */ cpu->r[3] = cpu->r[3] + 0x0000003Cu;
/* 028D1C40 */ cpu->r[4] = cpu->r[4] + 0x0000003Cu;
/* 028D1C44 */ Gambit_fn_02802B74(cpu);
/* 028D1C48 */ _t4 = cpu->r[1] + 0x0000000Cu;
/* 028D1C48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
/* 028D1C4C */ cpu->lr = cpu->r[0];
/* 028D1C50 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
/* 028D1C54 */ cpu->r[3] = 0x00000001u;
/* 028D1C58 */ return;
}
// fn_028D1C5C @ 0x28d1c5c
void Gambit_fn_028D1C5C(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_028D1C5C: ; // 0x28d1c5c
/* 028D1C5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D1C60 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1C60 */ _t17 = _t16 & 0x00000001u;
/* 028D1C60 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028D1C60 */ goto L_028D1C64;
L_028D1C64: ; // 0x28d1c64
/* 028D1C64 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028D1C64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028D1C68 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1C68 */ _t19 = _t18 & 0x00000001u;
/* 028D1C68 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
/* 028D1C68 */ goto L_028D1C6C;
L_028D1C6C: ; // 0x28d1c6c
/* 028D1C6C */ goto L_02801BB0;
}
// fn_028D1C70 @ 0x28d1c70
void Gambit_fn_028D1C70(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
L_028D1C70: ; // 0x28d1c70
/* 028D1C70 */ cpu->r[0] = cpu->lr;
/* 028D1C74 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D1C74 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D1C74 */ cpu->r[1] = _t0;
/* 028D1C78 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028D1C78 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028D1C7C */ _t2 = cpu->r[1] + 0x00000008u;
/* 028D1C7C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028D1C80 */ cpu->r[30] = cpu->r[3];
/* 028D1C80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028D1C84 */ cpu->r[31] = cpu->r[4];
/* 028D1C88 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028D1C88 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028D1C8C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1C8C */ _t5 = _t4 & 0x00000001u;
/* 028D1C8C */ if (_t5) goto L_028D1CC4; else goto L_028D1C90;
L_028D1C90: ; // 0x28d1c90
/* 028D1C90 */ cpu->r[12] = 0x10140000u;
/* 028D1C94 */ cpu->r[3] = cpu->r[30];
/* 028D1C98 */ cpu->r[12] = cpu->r[12] + 0xFFFFA67Cu;
/* 028D1C9C */ cpu->r[0] = 0x10140000u;
/* 028D1CA0 */ _t6 = cpu->r[30] + 0x00000038u;
/* 028D1CA0 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
/* 028D1CA4 */ cpu->r[0] = cpu->r[0] + 0xFFFFA69Cu;
/* 028D1CA8 */ cpu->r[4] = 0x00000000u;
/* 028D1CAC */ _t7 = cpu->r[30] + 0x00000050u;
/* 028D1CAC */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028D1CB0 */ Gambit_fn_028D0704(cpu);
/* 028D1CB4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028D1CB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028D1CB8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1CB8 */ _t9 = _t8 & 0x00000001u;
/* 028D1CB8 */ if (_t9) goto L_028D1CC4; else goto L_028D1CBC;
L_028D1CBC: ; // 0x28d1cbc
/* 028D1CBC */ cpu->r[3] = cpu->r[30];
/* 028D1CC0 */ Gambit_fn_02801BB0(cpu);
L_028D1CC4: ; // 0x28d1cc4
/* 028D1CC4 */ _t10 = cpu->r[1] + 0x00000014u;
/* 028D1CC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028D1CC8 */ _t11 = cpu->r[1] + 0x00000008u;
/* 028D1CC8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
/* 028D1CCC */ cpu->lr = cpu->r[0];
/* 028D1CD0 */ _t12 = cpu->r[1] + 0x0000000Cu;
/* 028D1CD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
/* 028D1CD4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D1CD8 */ return;
}
// fn_028D1C74 @ 0x28d1c74
void Gambit_fn_028D1C74(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
L_028D1C74: ; // 0x28d1c74
/* 028D1C74 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D1C74 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D1C74 */ cpu->r[1] = _t0;
/* 028D1C78 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028D1C78 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028D1C7C */ _t2 = cpu->r[1] + 0x00000008u;
/* 028D1C7C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
/* 028D1C80 */ cpu->r[30] = cpu->r[3];
/* 028D1C80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
/* 028D1C84 */ cpu->r[31] = cpu->r[4];
/* 028D1C88 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028D1C88 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028D1C8C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1C8C */ _t5 = _t4 & 0x00000001u;
/* 028D1C8C */ if (_t5) goto L_028D1CC4; else goto L_028D1C90;
L_028D1C90: ; // 0x28d1c90
/* 028D1C90 */ cpu->r[12] = 0x10140000u;
/* 028D1C94 */ cpu->r[3] = cpu->r[30];
/* 028D1C98 */ cpu->r[12] = cpu->r[12] + 0xFFFFA67Cu;
/* 028D1C9C */ cpu->r[0] = 0x10140000u;
/* 028D1CA0 */ _t6 = cpu->r[30] + 0x00000038u;
/* 028D1CA0 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
/* 028D1CA4 */ cpu->r[0] = cpu->r[0] + 0xFFFFA69Cu;
/* 028D1CA8 */ cpu->r[4] = 0x00000000u;
/* 028D1CAC */ _t7 = cpu->r[30] + 0x00000050u;
/* 028D1CAC */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
/* 028D1CB0 */ Gambit_fn_028D0704(cpu);
/* 028D1CB4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028D1CB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028D1CB8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1CB8 */ _t9 = _t8 & 0x00000001u;
/* 028D1CB8 */ if (_t9) goto L_028D1CC4; else goto L_028D1CBC;
L_028D1CBC: ; // 0x28d1cbc
/* 028D1CBC */ cpu->r[3] = cpu->r[30];
/* 028D1CC0 */ Gambit_fn_02801BB0(cpu);
L_028D1CC4: ; // 0x28d1cc4
/* 028D1CC4 */ _t10 = cpu->r[1] + 0x00000014u;
/* 028D1CC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028D1CC8 */ _t11 = cpu->r[1] + 0x00000008u;
/* 028D1CC8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
/* 028D1CCC */ cpu->lr = cpu->r[0];
/* 028D1CD0 */ _t12 = cpu->r[1] + 0x0000000Cu;
/* 028D1CD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
/* 028D1CD4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D1CD8 */ return;
}
// fn_028D1CDC @ 0x28d1cdc
void Gambit_fn_028D1CDC(CPUState* cpu) {
uint32_t _t0, _t1;
L_028D1CDC: ; // 0x28d1cdc
/* 028D1CDC */ _t0 = cpu->r[3] + 0x00000148u;
/* 028D1CDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
/* 028D1CE0 */ cpu->r[0] = (uint32_t)(-(int32_t)cpu->r[12]);
/* 028D1CE4 */ _t1 = ~cpu->r[12];
/* 028D1CE4 */ cpu->r[0] = cpu->r[0] & _t1;
/* 028D1CE8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
/* 028D1CEC */ return;
}
// fn_028D1CF0 @ 0x28d1cf0
void Gambit_fn_028D1CF0(CPUState* cpu) {
L_028D1CF0: ; // 0x28d1cf0
/* 028D1CF0 */ return;
}
// fn_028D1CF4 @ 0x28d1cf4
void Gambit_fn_028D1CF4(CPUState* cpu) {
uint32_t _t0, _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_028D1CF4: ; // 0x28d1cf4
/* 028D1CF4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
/* 028D1CF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D1CF4 */ cpu->r[1] = _t0;
/* 028D1CF8 */ /* nop */
/* 028D1CFC */ cpu->r[0] = cpu->lr;
/* 028D1D00 */ _t1 = cpu->r[1] + 0x00000024u;
/* 028D1D00 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028D1D04 */ cpu->r[29] = cpu->r[4];
/* 028D1D08 */ _t2 = cpu->r[29] + 0x00000004u;
/* 028D1D08 */ cpu->r[8] = rbrew_read32(cpu->mem, _t2);
/* 028D1D0C */ _t3 = cpu->r[8] + 0x00000014u;
/* 028D1D0C */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
/* 028D1D10 */ cpu->r[28] = cpu->r[3];
/* 028D1D14 */ cpu->ctr = cpu->r[9];
/* 028D1D18 */ _t4 = cpu->r[28] + 0x0000000Cu;
/* 028D1D18 */ cpu->r[27] = rbrew_read32(cpu->mem, _t4);
/* 028D1D1C */ cpu->r[3] = cpu->r[29];
/* 028D1D20 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028D1D24 */ cpu->r[31] = 0x10110000u;
/* 028D1D28 */ _t5 = cpu->r[29] + 0x00000000u;
/* 028D1D28 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
/* 028D1D2C */ _t6 = cpu->r[31] + 0x00007399u;
/* 028D1D2C */ cpu->r[31] = rbrew_read8(cpu->mem, _t6);
/* 028D1D30 */ _t7 = cpu->r[11] + 0x00000000u;
/* 028D1D30 */ cpu->r[10] = rbrew_read8(cpu->mem, _t7);
/* 028D1D34 */ cpu->r[30] = 0x00000000u;
/* 028D1D38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
/* 028D1D3C */ cpu->r[12] = 0x00080000u;
/* 028D1D40 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1D40 */ _t9 = _t8 & 0x00000001u;
/* 028D1D40 */ if (_t9) goto L_028D1D68; else goto L_028D1D44;
L_028D1D44: ; // 0x28d1d44
/* 028D1D44 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
/* 028D1D48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
/* 028D1D4C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
/* 028D1D50 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
/* 028D1D50 */ _t11 = _t10 & 0x00000001u;
/* 028D1D50 */ if (_t11) goto L_028D1D64; else goto L_028D1D54;
L_028D1D54: ; // 0x28d1d54
/* 028D1D54 */ _t12 = cpu->r[11] + 0x00000000u;
/* 028D1D54 */ cpu->r[0] = rbrew_read8(cpu->mem, _t12);
/* 028D1D58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
/* 028D1D5C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1D5C */ _t14 = _t13 & 0x00000001u;
/* 028D1D5C */ if (_t14) goto L_028D1D60; else goto L_028D1D44;
L_028D1D60: ; // 0x28d1d60
/* 028D1D60 */ goto L_028D1D68;
L_028D1D64: ; // 0x28d1d64
/* 028D1D64 */ cpu->r[30] = 0x00000000u;
L_028D1D68: ; // 0x28d1d68
/* 028D1D68 */ _t15 = cpu->r[28] + 0x00000014u;
/* 028D1D68 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
/* 028D1D6C */ _t16 = cpu->r[29] + 0x00000004u;
/* 028D1D6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
/* 028D1D70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
/* 028D1D74 */ _t17 = cpu->r[12] + 0x00000014u;
/* 028D1D74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
/* 028D1D78 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
/* 028D1D78 */ _t19 = _t18 & 0x00000001u;
/* 028D1D78 */ if (_t19) goto L_028D1D80; else goto L_028D1D7C;
L_028D1D7C: ; // 0x28d1d7c
/* 028D1D7C */ cpu->r[30] = cpu->r[7] + 0xFFFFFFFFu;
L_028D1D80: ; // 0x28d1d80
/* 028D1D80 */ cpu->ctr = cpu->r[0];
/* 028D1D84 */ cpu->r[3] = cpu->r[29];
/* 028D1D88 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028D1D8C */ _t20 = cpu->r[29] + 0x00000000u;
/* 028D1D8C */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
/* 028D1D90 */ cpu->r[6] = 0x00000000u;
/* 028D1D94 */ cpu->r[5] = cpu->r[30];
/* 028D1D98 */ cpu->r[3] = cpu->r[27];
/* 028D1D9C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
/* 028D1DA0 */ _t21 = cpu->r[27] + cpu->r[30];
/* 028D1DA0 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[31]);
/* 028D1DA4 */ _t22 = cpu->r[28] + 0x0000000Cu;
/* 028D1DA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
/* 028D1DA8 */ _t23 = cpu->r[28] + 0x00000000u;
/* 028D1DA8 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
/* 028D1DAC */ /* nop */
/* 028D1DB0 */ _t24 = cpu->r[1] + 0x00000024u;
/* 028D1DB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
/* 028D1DB4 */ cpu->lr = cpu->r[0];
/* 028D1DB8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
/* 028D1DBC */ return;
}
// fn_028D1DC0 @ 0x28d1dc0
void Gambit_fn_028D1DC0(CPUState* cpu) {
L_028D1DC0: ; // 0x28d1dc0
/* 028D1DC0 */ return;
}
// fn_028D1DC4 @ 0x28d1dc4
void Gambit_fn_028D1DC4(CPUState* cpu) {
L_028D1DC4: ; // 0x28d1dc4
/* 028D1DC4 */ return;
}
// fn_028D1DC8 @ 0x28d1dc8
void Gambit_fn_028D1DC8(CPUState* cpu) {
L_028D1DC8: ; // 0x28d1dc8
/* 028D1DC8 */ return;
}
// fn_028D1DCC @ 0x28d1dcc
void Gambit_fn_028D1DCC(CPUState* cpu) {
L_028D1DCC: ; // 0x28d1dcc
/* 028D1DCC */ return;
}
// fn_028D1DD0 @ 0x28d1dd0
void Gambit_fn_028D1DD0(CPUState* cpu) {
L_028D1DD0: ; // 0x28d1dd0
/* 028D1DD0 */ cpu->r[3] = 0x00000000u;
/* 028D1DD4 */ return;
}
// fn_028D1DD8 @ 0x28d1dd8
void Gambit_fn_028D1DD8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028D1DD8: ; // 0x28d1dd8
/* 028D1DD8 */ cpu->r[9] = 0x101D0000u;
/* 028D1DDC */ _t0 = cpu->r[9] + 0xFFFFF93Cu;
/* 028D1DDC */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
/* 028D1DDC */ cpu->r[9] = _t0;
/* 028D1DE0 */ cpu->r[12] = 0x101D0000u;
/* 028D1DE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
/* 028D1DE8 */ cpu->r[12] = cpu->r[12] + 0x000019FCu;
/* 028D1DEC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1DEC */ _t2 = _t1 & 0x00000001u;
/* 028D1DEC */ if (_t2) goto L_028D1DF0; else goto L_028D1E04;
L_028D1DF0: ; // 0x28d1df0
/* 028D1DF0 */ cpu->r[7] = 0x10140000u;
/* 028D1DF4 */ cpu->r[0] = 0x00000001u;
/* 028D1DF8 */ cpu->r[7] = cpu->r[7] + 0xFFFFA59Cu;
/* 028D1DFC */ _t3 = cpu->r[9] + 0x00000000u;
/* 028D1DFC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028D1E00 */ _t4 = cpu->r[12] + 0x00000000u;
/* 028D1E00 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
L_028D1E04: ; // 0x28d1e04
/* 028D1E04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
/* 028D1E08 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1E08 */ _t6 = _t5 & 0x00000001u;
/* 028D1E08 */ if (_t6) goto L_028D1E0C; else goto L_028D1E14;
L_028D1E0C: ; // 0x28d1e0c
/* 028D1E0C */ cpu->r[3] = 0x00000001u;
/* 028D1E10 */ return;
L_028D1E14: ; // 0x28d1e14
/* 028D1E14 */ cpu->r[7] = 0x101D0000u;
/* 028D1E18 */ _t7 = cpu->r[7] + 0xFFFFEFC4u;
/* 028D1E18 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
/* 028D1E18 */ cpu->r[7] = _t7;
/* 028D1E1C */ cpu->r[11] = 0x101D0000u;
/* 028D1E20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
/* 028D1E24 */ cpu->r[11] = cpu->r[11] + 0x000019C8u;
/* 028D1E28 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1E28 */ _t9 = _t8 & 0x00000001u;
/* 028D1E28 */ if (_t9) goto L_028D1E2C; else goto L_028D1E40;
L_028D1E2C: ; // 0x28d1e2c
/* 028D1E2C */ cpu->r[0] = 0x10140000u;
/* 028D1E30 */ cpu->r[9] = 0x00000001u;
/* 028D1E34 */ cpu->r[0] = cpu->r[0] + 0xFFFFA58Cu;
/* 028D1E38 */ _t10 = cpu->r[7] + 0x00000000u;
/* 028D1E38 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
/* 028D1E3C */ _t11 = cpu->r[11] + 0x00000000u;
/* 028D1E3C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
L_028D1E40: ; // 0x28d1e40
/* 028D1E40 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
/* 028D1E44 */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
/* 028D1E48 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
/* 028D1E4C */ return;
}
// fn_028D1E50 @ 0x28d1e50
void Gambit_fn_028D1E50(CPUState* cpu) {
L_028D1E50: ; // 0x28d1e50
/* 028D1E50 */ cpu->r[3] = 0x00000001u;
/* 028D1E54 */ return;
}
// fn_028D1E58 @ 0x28d1e58
void Gambit_fn_028D1E58(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_028D1E58: ; // 0x28d1e58
/* 028D1E58 */ cpu->r[0] = cpu->lr;
/* 028D1E5C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028D1E5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D1E5C */ cpu->r[1] = _t0;
/* 028D1E60 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028D1E60 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028D1E64 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028D1E64 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028D1E68 */ _t3 = cpu->r[1] + 0x00000010u;
/* 028D1E68 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028D1E6C */ cpu->r[31] = cpu->r[3];
/* 028D1E6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028D1E70 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028D1E70 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028D1E74 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1E74 */ _t6 = _t5 & 0x00000001u;
/* 028D1E74 */ if (_t6) goto L_028D1E78; else goto L_028D1E88;
L_028D1E78: ; // 0x28d1e78
/* 028D1E78 */ cpu->r[3] = 0x00000028u;
/* 028D1E7C */ Gambit_fn_02801A78(cpu);
/* 028D1E80 */ cpu->r[31] = cpu->r[3];
/* 028D1E80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028D1E84 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1E84 */ _t8 = _t7 & 0x00000001u;
/* 028D1E84 */ if (_t8) goto L_028D1F00; else goto L_028D1E88;
L_028D1E88: ; // 0x28d1e88
/* 028D1E88 */ cpu->r[10] = 0x10140000u;
/* 028D1E8C */ cpu->r[30] = 0x00000000u;
/* 028D1E90 */ cpu->r[10] = cpu->r[10] + 0xFFFFA728u;
/* 028D1E94 */ _t9 = cpu->r[31] + 0x00000004u;
/* 028D1E94 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[30]);
/* 028D1E98 */ _t10 = cpu->r[31] + 0x00000000u;
/* 028D1E98 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
/* 028D1E9C */ _t11 = cpu->r[31] + 0x00000008u;
/* 028D1E9C */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
/* 028D1EA0 */ _t12 = cpu->r[31] + 0x0000000Cu;
/* 028D1EA0 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
/* 028D1EA4 */ cpu->r[29] = cpu->r[31] + 0x00000010u;
/* 028D1EA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028D1EA8 */ _t13 = cpu->r[31] + 0x00000005u;
/* 028D1EA8 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[30]);
/* 028D1EAC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1EAC */ _t15 = _t14 & 0x00000001u;
/* 028D1EAC */ if (_t15) goto L_028D1EB0; else goto L_028D1EC0;
L_028D1EB0: ; // 0x28d1eb0
/* 028D1EB0 */ cpu->r[3] = 0x00000010u;
/* 028D1EB4 */ Gambit_fn_02801A78(cpu);
/* 028D1EB8 */ cpu->r[29] = cpu->r[3];
/* 028D1EB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028D1EBC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1EBC */ _t17 = _t16 & 0x00000001u;
/* 028D1EBC */ if (_t17) goto L_028D1EEC; else goto L_028D1EC0;
L_028D1EC0: ; // 0x28d1ec0
/* 028D1EC0 */ cpu->r[3] = cpu->r[29];
/* 028D1EC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D1EC4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1EC4 */ _t19 = _t18 & 0x00000001u;
/* 028D1EC4 */ if (_t19) goto L_028D1EC8; else goto L_028D1ED8;
L_028D1EC8: ; // 0x28d1ec8
/* 028D1EC8 */ cpu->r[3] = 0x0000000Cu;
/* 028D1ECC */ Gambit_fn_02801A78(cpu);
/* 028D1ED0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D1ED4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1ED4 */ _t21 = _t20 & 0x00000001u;
/* 028D1ED4 */ if (_t21) goto L_028D1EE4; else goto L_028D1ED8;
L_028D1ED8: ; // 0x28d1ed8
/* 028D1ED8 */ _t22 = cpu->r[3] + 0x00000004u;
/* 028D1ED8 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
/* 028D1EDC */ _t23 = cpu->r[3] + 0x00000008u;
/* 028D1EDC */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
/* 028D1EE0 */ _t24 = cpu->r[3] + 0x00000000u;
/* 028D1EE0 */ rbrew_write32(cpu->mem, _t24, cpu->r[3]);
L_028D1EE4: ; // 0x28d1ee4
/* 028D1EE4 */ cpu->r[0] = 0xFFFFFFFFu;
/* 028D1EE8 */ _t25 = cpu->r[29] + 0x0000000Cu;
/* 028D1EE8 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
L_028D1EEC: ; // 0x28d1eec
/* 028D1EEC */ cpu->r[0] = 0x10140000u;
/* 028D1EF0 */ cpu->r[12] = cpu->r[31] + 0x00000024u;
/* 028D1EF4 */ cpu->r[0] = cpu->r[0] + 0xFFFFC158u;
/* 028D1EF8 */ _t26 = cpu->r[31] + 0x00000020u;
/* 028D1EF8 */ rbrew_write32(cpu->mem, _t26, cpu->r[12]);
/* 028D1EFC */ _t27 = cpu->r[31] + 0x00000024u;
/* 028D1EFC */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
L_028D1F00: ; // 0x28d1f00
/* 028D1F00 */ _t28 = cpu->r[1] + 0x0000000Cu;
/* 028D1F00 */ cpu->r[29] = rbrew_read32(cpu->mem, _t28);
/* 028D1F04 */ _t29 = cpu->r[1] + 0x0000001Cu;
/* 028D1F04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
/* 028D1F08 */ cpu->r[3] = cpu->r[31];
/* 028D1F0C */ _t30 = cpu->r[1] + 0x00000010u;
/* 028D1F0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
/* 028D1F10 */ cpu->lr = cpu->r[0];
/* 028D1F14 */ _t31 = cpu->r[1] + 0x00000014u;
/* 028D1F14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
/* 028D1F18 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028D1F1C */ return;
}
// fn_028D1E5C @ 0x28d1e5c
void Gambit_fn_028D1E5C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_028D1E5C: ; // 0x28d1e5c
/* 028D1E5C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
/* 028D1E5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D1E5C */ cpu->r[1] = _t0;
/* 028D1E60 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028D1E60 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
/* 028D1E64 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028D1E64 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028D1E68 */ _t3 = cpu->r[1] + 0x00000010u;
/* 028D1E68 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
/* 028D1E6C */ cpu->r[31] = cpu->r[3];
/* 028D1E6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028D1E70 */ _t4 = cpu->r[1] + 0x0000001Cu;
/* 028D1E70 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
/* 028D1E74 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1E74 */ _t6 = _t5 & 0x00000001u;
/* 028D1E74 */ if (_t6) goto L_028D1E78; else goto L_028D1E88;
L_028D1E78: ; // 0x28d1e78
/* 028D1E78 */ cpu->r[3] = 0x00000028u;
/* 028D1E7C */ Gambit_fn_02801A78(cpu);
/* 028D1E80 */ cpu->r[31] = cpu->r[3];
/* 028D1E80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028D1E84 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1E84 */ _t8 = _t7 & 0x00000001u;
/* 028D1E84 */ if (_t8) goto L_028D1F00; else goto L_028D1E88;
L_028D1E88: ; // 0x28d1e88
/* 028D1E88 */ cpu->r[10] = 0x10140000u;
/* 028D1E8C */ cpu->r[30] = 0x00000000u;
/* 028D1E90 */ cpu->r[10] = cpu->r[10] + 0xFFFFA728u;
/* 028D1E94 */ _t9 = cpu->r[31] + 0x00000004u;
/* 028D1E94 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[30]);
/* 028D1E98 */ _t10 = cpu->r[31] + 0x00000000u;
/* 028D1E98 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
/* 028D1E9C */ _t11 = cpu->r[31] + 0x00000008u;
/* 028D1E9C */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
/* 028D1EA0 */ _t12 = cpu->r[31] + 0x0000000Cu;
/* 028D1EA0 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
/* 028D1EA4 */ cpu->r[29] = cpu->r[31] + 0x00000010u;
/* 028D1EA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028D1EA8 */ _t13 = cpu->r[31] + 0x00000005u;
/* 028D1EA8 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[30]);
/* 028D1EAC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1EAC */ _t15 = _t14 & 0x00000001u;
/* 028D1EAC */ if (_t15) goto L_028D1EB0; else goto L_028D1EC0;
L_028D1EB0: ; // 0x28d1eb0
/* 028D1EB0 */ cpu->r[3] = 0x00000010u;
/* 028D1EB4 */ Gambit_fn_02801A78(cpu);
/* 028D1EB8 */ cpu->r[29] = cpu->r[3];
/* 028D1EB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028D1EBC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1EBC */ _t17 = _t16 & 0x00000001u;
/* 028D1EBC */ if (_t17) goto L_028D1EEC; else goto L_028D1EC0;
L_028D1EC0: ; // 0x28d1ec0
/* 028D1EC0 */ cpu->r[3] = cpu->r[29];
/* 028D1EC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D1EC4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1EC4 */ _t19 = _t18 & 0x00000001u;
/* 028D1EC4 */ if (_t19) goto L_028D1EC8; else goto L_028D1ED8;
L_028D1EC8: ; // 0x28d1ec8
/* 028D1EC8 */ cpu->r[3] = 0x0000000Cu;
/* 028D1ECC */ Gambit_fn_02801A78(cpu);
/* 028D1ED0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D1ED4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1ED4 */ _t21 = _t20 & 0x00000001u;
/* 028D1ED4 */ if (_t21) goto L_028D1EE4; else goto L_028D1ED8;
L_028D1ED8: ; // 0x28d1ed8
/* 028D1ED8 */ _t22 = cpu->r[3] + 0x00000004u;
/* 028D1ED8 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
/* 028D1EDC */ _t23 = cpu->r[3] + 0x00000008u;
/* 028D1EDC */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
/* 028D1EE0 */ _t24 = cpu->r[3] + 0x00000000u;
/* 028D1EE0 */ rbrew_write32(cpu->mem, _t24, cpu->r[3]);
L_028D1EE4: ; // 0x28d1ee4
/* 028D1EE4 */ cpu->r[0] = 0xFFFFFFFFu;
/* 028D1EE8 */ _t25 = cpu->r[29] + 0x0000000Cu;
/* 028D1EE8 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
L_028D1EEC: ; // 0x28d1eec
/* 028D1EEC */ cpu->r[0] = 0x10140000u;
/* 028D1EF0 */ cpu->r[12] = cpu->r[31] + 0x00000024u;
/* 028D1EF4 */ cpu->r[0] = cpu->r[0] + 0xFFFFC158u;
/* 028D1EF8 */ _t26 = cpu->r[31] + 0x00000020u;
/* 028D1EF8 */ rbrew_write32(cpu->mem, _t26, cpu->r[12]);
/* 028D1EFC */ _t27 = cpu->r[31] + 0x00000024u;
/* 028D1EFC */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
L_028D1F00: ; // 0x28d1f00
/* 028D1F00 */ _t28 = cpu->r[1] + 0x0000000Cu;
/* 028D1F00 */ cpu->r[29] = rbrew_read32(cpu->mem, _t28);
/* 028D1F04 */ _t29 = cpu->r[1] + 0x0000001Cu;
/* 028D1F04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
/* 028D1F08 */ cpu->r[3] = cpu->r[31];
/* 028D1F0C */ _t30 = cpu->r[1] + 0x00000010u;
/* 028D1F0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
/* 028D1F10 */ cpu->lr = cpu->r[0];
/* 028D1F14 */ _t31 = cpu->r[1] + 0x00000014u;
/* 028D1F14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
/* 028D1F18 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
/* 028D1F1C */ return;
}
// fn_028D1F20 @ 0x28d1f20
void Gambit_fn_028D1F20(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028D1F20: ; // 0x28d1f20
/* 028D1F20 */ cpu->r[0] = cpu->lr;
/* 028D1F24 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D1F24 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D1F24 */ cpu->r[1] = _t0;
/* 028D1F28 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028D1F28 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028D1F2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D1F30 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028D1F30 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028D1F34 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1F34 */ _t4 = _t3 & 0x00000001u;
/* 028D1F34 */ if (_t4) goto L_028D1F64; else goto L_028D1F38;
L_028D1F38: ; // 0x28d1f38
/* 028D1F38 */ _t5 = cpu->r[3] + 0x00000164u;
/* 028D1F38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
/* 028D1F3C */ cpu->r[4] = 0x00000000u;
/* 028D1F40 */ Gambit_fn_028D36E0(cpu);
/* 028D1F44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028D1F48 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1F48 */ _t7 = _t6 & 0x00000001u;
/* 028D1F48 */ if (_t7) goto L_028D1F64; else goto L_028D1F4C;
L_028D1F4C: ; // 0x28d1f4c
/* 028D1F4C */ _t8 = cpu->r[31] + 0x0000000Cu;
/* 028D1F4C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
/* 028D1F50 */ _t9 = cpu->r[12] + 0x0000000Cu;
/* 028D1F50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028D1F54 */ cpu->ctr = cpu->r[0];
/* 028D1F58 */ cpu->r[3] = cpu->r[31];
/* 028D1F5C */ cpu->r[4] = 0x00000003u;
/* 028D1F60 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028D1F64: ; // 0x28d1f64
/* 028D1F64 */ _t10 = cpu->r[1] + 0x00000014u;
/* 028D1F64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028D1F68 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028D1F68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028D1F6C */ cpu->lr = cpu->r[0];
/* 028D1F70 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D1F74 */ return;
}
// fn_028D1F24 @ 0x28d1f24
void Gambit_fn_028D1F24(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028D1F24: ; // 0x28d1f24
/* 028D1F24 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D1F24 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D1F24 */ cpu->r[1] = _t0;
/* 028D1F28 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028D1F28 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028D1F2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D1F30 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028D1F30 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028D1F34 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1F34 */ _t4 = _t3 & 0x00000001u;
/* 028D1F34 */ if (_t4) goto L_028D1F64; else goto L_028D1F38;
L_028D1F38: ; // 0x28d1f38
/* 028D1F38 */ _t5 = cpu->r[3] + 0x00000164u;
/* 028D1F38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
/* 028D1F3C */ cpu->r[4] = 0x00000000u;
/* 028D1F40 */ Gambit_fn_028D36E0(cpu);
/* 028D1F44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028D1F48 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1F48 */ _t7 = _t6 & 0x00000001u;
/* 028D1F48 */ if (_t7) goto L_028D1F64; else goto L_028D1F4C;
L_028D1F4C: ; // 0x28d1f4c
/* 028D1F4C */ _t8 = cpu->r[31] + 0x0000000Cu;
/* 028D1F4C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
/* 028D1F50 */ _t9 = cpu->r[12] + 0x0000000Cu;
/* 028D1F50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028D1F54 */ cpu->ctr = cpu->r[0];
/* 028D1F58 */ cpu->r[3] = cpu->r[31];
/* 028D1F5C */ cpu->r[4] = 0x00000003u;
/* 028D1F60 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028D1F64: ; // 0x28d1f64
/* 028D1F64 */ _t10 = cpu->r[1] + 0x00000014u;
/* 028D1F64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028D1F68 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028D1F68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028D1F6C */ cpu->lr = cpu->r[0];
/* 028D1F70 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D1F74 */ return;
}
// fn_028D1F78 @ 0x28d1f78
void Gambit_fn_028D1F78(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028D1F78: ; // 0x28d1f78
/* 028D1F78 */ cpu->r[0] = cpu->lr;
/* 028D1F7C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D1F7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D1F7C */ cpu->r[1] = _t0;
/* 028D1F80 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028D1F80 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028D1F84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D1F88 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028D1F88 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028D1F8C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1F8C */ _t4 = _t3 & 0x00000001u;
/* 028D1F8C */ if (_t4) goto L_028D1FBC; else goto L_028D1F90;
L_028D1F90: ; // 0x28d1f90
/* 028D1F90 */ _t5 = cpu->r[3] + 0x00000160u;
/* 028D1F90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
/* 028D1F94 */ cpu->r[4] = 0x00000000u;
/* 028D1F98 */ Gambit_fn_028D36E8(cpu);
/* 028D1F9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028D1FA0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1FA0 */ _t7 = _t6 & 0x00000001u;
/* 028D1FA0 */ if (_t7) goto L_028D1FBC; else goto L_028D1FA4;
L_028D1FA4: ; // 0x28d1fa4
/* 028D1FA4 */ _t8 = cpu->r[31] + 0x00000020u;
/* 028D1FA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
/* 028D1FA8 */ _t9 = cpu->r[12] + 0x0000000Cu;
/* 028D1FA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028D1FAC */ cpu->ctr = cpu->r[0];
/* 028D1FB0 */ cpu->r[3] = cpu->r[31];
/* 028D1FB4 */ cpu->r[4] = 0x00000003u;
/* 028D1FB8 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028D1FBC: ; // 0x28d1fbc
/* 028D1FBC */ _t10 = cpu->r[1] + 0x00000014u;
/* 028D1FBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028D1FC0 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028D1FC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028D1FC4 */ cpu->lr = cpu->r[0];
/* 028D1FC8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D1FCC */ return;
}
// fn_028D1F7C @ 0x28d1f7c
void Gambit_fn_028D1F7C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028D1F7C: ; // 0x28d1f7c
/* 028D1F7C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D1F7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D1F7C */ cpu->r[1] = _t0;
/* 028D1F80 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028D1F80 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028D1F84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D1F88 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028D1F88 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028D1F8C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1F8C */ _t4 = _t3 & 0x00000001u;
/* 028D1F8C */ if (_t4) goto L_028D1FBC; else goto L_028D1F90;
L_028D1F90: ; // 0x28d1f90
/* 028D1F90 */ _t5 = cpu->r[3] + 0x00000160u;
/* 028D1F90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
/* 028D1F94 */ cpu->r[4] = 0x00000000u;
/* 028D1F98 */ Gambit_fn_028D36E8(cpu);
/* 028D1F9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028D1FA0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1FA0 */ _t7 = _t6 & 0x00000001u;
/* 028D1FA0 */ if (_t7) goto L_028D1FBC; else goto L_028D1FA4;
L_028D1FA4: ; // 0x28d1fa4
/* 028D1FA4 */ _t8 = cpu->r[31] + 0x00000020u;
/* 028D1FA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
/* 028D1FA8 */ _t9 = cpu->r[12] + 0x0000000Cu;
/* 028D1FA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028D1FAC */ cpu->ctr = cpu->r[0];
/* 028D1FB0 */ cpu->r[3] = cpu->r[31];
/* 028D1FB4 */ cpu->r[4] = 0x00000003u;
/* 028D1FB8 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028D1FBC: ; // 0x28d1fbc
/* 028D1FBC */ _t10 = cpu->r[1] + 0x00000014u;
/* 028D1FBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
/* 028D1FC0 */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028D1FC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028D1FC4 */ cpu->lr = cpu->r[0];
/* 028D1FC8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D1FCC */ return;
}
// fn_028D1FD0 @ 0x28d1fd0
void Gambit_fn_028D1FD0(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _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_028D1FD0: ; // 0x28d1fd0
/* 028D1FD0 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
/* 028D1FD0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D1FD0 */ cpu->r[1] = _t0;
/* 028D1FD4 */ /* nop */
/* 028D1FD8 */ cpu->r[0] = cpu->lr;
/* 028D1FDC */ _t1 = cpu->r[1] + 0x00000034u;
/* 028D1FDC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028D1FE0 */ cpu->r[25] = cpu->r[3];
/* 028D1FE4 */ _t2 = cpu->r[25] + 0x00000008u;
/* 028D1FE4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
/* 028D1FE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D1FEC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D1FEC */ _t4 = _t3 & 0x00000001u;
/* 028D1FEC */ if (_t4) goto L_028D2008; else goto L_028D1FF0;
L_028D1FF0: ; // 0x28d1ff0
/* 028D1FF0 */ _t5 = cpu->r[3] + 0x00000008u;
/* 028D1FF0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t5);
/* 028D1FF4 */ cpu->r[12] = 0x10140000u;
/* 028D1FF8 */ _t6 = cpu->r[6] + 0x0000002Cu;
/* 028D1FF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
/* 028D1FFC */ _t7 = cpu->r[12] + 0xFFFFA704u;
/* 028D1FFC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t7);
/* 028D2000 */ cpu->ctr = cpu->r[0];
/* 028D2004 */ rbrew_call_indirect(cpu, cpu->ctr);
L_028D2008: ; // 0x28d2008
/* 028D2008 */ _t8 = cpu->r[25] + 0x0000001Cu;
/* 028D2008 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
/* 028D200C */ cpu->r[24] = cpu->r[25] + 0x00000010u;
/* 028D2010 */ _t9 = cpu->r[25] + 0x00000014u;
/* 028D2010 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
/* 028D2014 */ cpu->r[29] = cpu->r[11] - cpu->r[31];
/* 028D2018 */ cpu->r[28] = cpu->r[24] - cpu->r[31];
/* 028D201C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[28]);
/* 028D2020 */ _t10 = cpu->r[11] + 0x00000004u;
/* 028D2020 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028D2024 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D2024 */ _t12 = _t11 & 0x00000001u;
/* 028D2024 */ if (_t12) goto L_028D20D0; else goto L_028D2028;
L_028D2028: ; // 0x28d2028
/* 028D2028 */ cpu->r[27] = 0x00000001u;
/* 028D202C */ cpu->r[26] = 0x101D0000u;
/* 028D2030 */ cpu->r[23] = 0x101D0000u;
L_028D2034: ; // 0x28d2034
/* 028D2034 */ _t13 = cpu->r[26] + 0x00001940u;
/* 028D2034 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
/* 028D2038 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028D203C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D203C */ _t15 = _t14 & 0x00000001u;
/* 028D203C */ if (_t15) goto L_028D2040; else goto L_028D2050;
L_028D2040: ; // 0x28d2040
/* 028D2040 */ cpu->r[5] = 0x10140000u;
/* 028D2044 */ _t16 = cpu->r[26] + 0x00001940u;
/* 028D2044 */ rbrew_write32(cpu->mem, _t16, cpu->r[27]);
/* 028D2048 */ cpu->r[5] = cpu->r[5] + 0xFFFFA6F4u;
/* 028D204C */ _t17 = cpu->r[23] + 0x00001A00u;
/* 028D204C */ rbrew_write32(cpu->mem, _t17, cpu->r[5]);
L_028D2050: ; // 0x28d2050
/* 028D2050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028D2054 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D2054 */ _t19 = _t18 & 0x00000001u;
/* 028D2054 */ if (_t19) goto L_028D2090; else goto L_028D2058;
L_028D2058: ; // 0x28d2058
/* 028D2058 */ _t20 = cpu->r[29] + 0x00000008u;
/* 028D2058 */ cpu->r[6] = rbrew_read32(cpu->mem, _t20);
/* 028D205C */ _t21 = cpu->r[6] + 0x0000001Cu;
/* 028D205C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
/* 028D2060 */ cpu->ctr = cpu->r[0];
/* 028D2064 */ cpu->r[3] = cpu->r[29];
/* 028D2068 */ cpu->r[4] = cpu->r[23] + 0x00001A00u;
/* 028D206C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028D2070 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
/* 028D2074 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D2074 */ _t23 = _t22 & 0x00000001u;
/* 028D2074 */ if (_t23) goto L_028D2090; else goto L_028D2078;
L_028D2078: ; // 0x28d2078
/* 028D2078 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
/* 028D207C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D207C */ _t25 = _t24 & 0x00000001u;
/* 028D207C */ if (_t25) goto L_028D2090; else goto L_028D2080;
L_028D2080: ; // 0x28d2080
/* 028D2080 */ cpu->r[3] = cpu->r[29];
/* 028D2084 */ Gambit_fn_028D1F20(cpu);
/* 028D2088 */ cpu->r[3] = cpu->r[29];
/* 028D208C */ Gambit_fn_028D1F78(cpu);
L_028D2090: ; // 0x28d2090
/* 028D2090 */ _t26 = cpu->r[24] + 0x0000000Cu;
/* 028D2090 */ cpu->r[7] = rbrew_read32(cpu->mem, _t26);
/* 028D2094 */ cpu->r[3] = cpu->r[29] + cpu->r[7];
/* 028D2098 */ Gambit_fn_02801EDC(cpu);
/* 028D209C */ _t27 = cpu->r[24] + 0x00000008u;
/* 028D209C */ cpu->r[8] = rbrew_read32(cpu->mem, _t27);
/* 028D20A0 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
/* 028D20A4 */ _t28 = cpu->r[24] + 0x00000008u;
/* 028D20A4 */ rbrew_write32(cpu->mem, _t28, cpu->r[8]);
/* 028D20A8 */ _t29 = cpu->r[25] + 0x00000020u;
/* 028D20A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
/* 028D20AC */ _t30 = cpu->r[3] + 0x00000000u;
/* 028D20AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t30);
/* 028D20B0 */ _t31 = cpu->r[9] + 0x00000024u;
/* 028D20B0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t31);
/* 028D20B4 */ cpu->ctr = cpu->r[10];
/* 028D20B8 */ cpu->r[4] = cpu->r[29];
/* 028D20BC */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028D20C0 */ cpu->r[29] = cpu->r[30] - cpu->r[31];
/* 028D20C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[28]);
/* 028D20C8 */ _t32 = cpu->r[30] + 0x00000004u;
/* 028D20C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
/* 028D20CC */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D20CC */ _t34 = _t33 & 0x00000001u;
/* 028D20CC */ if (_t34) goto L_028D20D0; else goto L_028D2034;
L_028D20D0: ; // 0x28d20d0
/* 028D20D0 */ cpu->r[3] = cpu->r[24];
/* 028D20D4 */ Gambit_fn_0280236C(cpu);
/* 028D20D8 */ cpu->r[7] = 0x00000000u;
/* 028D20DC */ _t35 = cpu->r[25] + 0x0000000Cu;
/* 028D20DC */ rbrew_write32(cpu->mem, _t35, cpu->r[7]);
/* 028D20E0 */ _t36 = cpu->r[25] + 0x00000008u;
/* 028D20E0 */ rbrew_write32(cpu->mem, _t36, cpu->r[7]);
/* 028D20E4 */ /* nop */
/* 028D20E8 */ _t37 = cpu->r[1] + 0x00000034u;
/* 028D20E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
/* 028D20EC */ cpu->lr = cpu->r[0];
/* 028D20F0 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
/* 028D20F4 */ return;
}
// fn_028D20F8 @ 0x28d20f8
void Gambit_fn_028D20F8(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_028D20F8: ; // 0x28d20f8
/* 028D20F8 */ cpu->r[0] = cpu->lr;
/* 028D20FC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D20FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D20FC */ cpu->r[1] = _t0;
/* 028D2100 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028D2100 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028D2104 */ cpu->r[31] = cpu->r[3];
/* 028D2108 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028D2108 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028D210C */ _t3 = cpu->r[31] + 0x00000004u;
/* 028D210C */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
/* 028D2110 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028D2114 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D2114 */ _t5 = _t4 & 0x00000001u;
/* 028D2114 */ if (_t5) goto L_028D2128; else goto L_028D2118;
L_028D2118: ; // 0x28d2118
/* 028D2118 */ cpu->r[3] = cpu->r[31];
/* 028D211C */ Gambit_fn_028D1FD0(cpu);
/* 028D2120 */ cpu->r[0] = 0x00000000u;
/* 028D2124 */ _t6 = cpu->r[31] + 0x00000004u;
/* 028D2124 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]);
L_028D2128: ; // 0x28d2128
/* 028D2128 */ _t7 = cpu->r[1] + 0x00000014u;
/* 028D2128 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028D212C */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028D212C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
/* 028D2130 */ cpu->lr = cpu->r[0];
/* 028D2134 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D2138 */ return;
}
// fn_028D20FC @ 0x28d20fc
void Gambit_fn_028D20FC(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
L_028D20FC: ; // 0x28d20fc
/* 028D20FC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D20FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D20FC */ cpu->r[1] = _t0;
/* 028D2100 */ _t1 = cpu->r[1] + 0x0000000Cu;
/* 028D2100 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
/* 028D2104 */ cpu->r[31] = cpu->r[3];
/* 028D2108 */ _t2 = cpu->r[1] + 0x00000014u;
/* 028D2108 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
/* 028D210C */ _t3 = cpu->r[31] + 0x00000004u;
/* 028D210C */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
/* 028D2110 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028D2114 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D2114 */ _t5 = _t4 & 0x00000001u;
/* 028D2114 */ if (_t5) goto L_028D2128; else goto L_028D2118;
L_028D2118: ; // 0x28d2118
/* 028D2118 */ cpu->r[3] = cpu->r[31];
/* 028D211C */ Gambit_fn_028D1FD0(cpu);
/* 028D2120 */ cpu->r[0] = 0x00000000u;
/* 028D2124 */ _t6 = cpu->r[31] + 0x00000004u;
/* 028D2124 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]);
L_028D2128: ; // 0x28d2128
/* 028D2128 */ _t7 = cpu->r[1] + 0x00000014u;
/* 028D2128 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
/* 028D212C */ _t8 = cpu->r[1] + 0x0000000Cu;
/* 028D212C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
/* 028D2130 */ cpu->lr = cpu->r[0];
/* 028D2134 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D2138 */ return;
}
// fn_028D213C @ 0x28d213c
void Gambit_fn_028D213C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028D213C: ; // 0x28d213c
/* 028D213C */ cpu->r[0] = cpu->lr;
/* 028D2140 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D2140 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D2140 */ cpu->r[1] = _t0;
/* 028D2144 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028D2144 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028D2148 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028D2148 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028D214C */ cpu->r[31] = cpu->r[3];
/* 028D214C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028D2150 */ cpu->r[30] = cpu->r[4];
/* 028D2154 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028D2154 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028D2158 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D2158 */ _t5 = _t4 & 0x00000001u;
/* 028D2158 */ if (_t5) goto L_028D2180; else goto L_028D215C;
L_028D215C: ; // 0x28d215c
/* 028D215C */ cpu->r[0] = 0x10140000u;
/* 028D2160 */ cpu->r[0] = cpu->r[0] + 0xFFFFA728u;
/* 028D2164 */ cpu->r[3] = cpu->r[31];
/* 028D2168 */ _t6 = cpu->r[31] + 0x00000000u;
/* 028D2168 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028D216C */ Gambit_fn_028D20F8(cpu);
/* 028D2170 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028D2170 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028D2174 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D2174 */ _t8 = _t7 & 0x00000001u;
/* 028D2174 */ if (_t8) goto L_028D2180; else goto L_028D2178;
L_028D2178: ; // 0x28d2178
/* 028D2178 */ cpu->r[3] = cpu->r[31];
/* 028D217C */ Gambit_fn_02801BB0(cpu);
L_028D2180: ; // 0x28d2180
/* 028D2180 */ _t9 = cpu->r[1] + 0x00000014u;
/* 028D2180 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028D2184 */ _t10 = cpu->r[1] + 0x00000008u;
/* 028D2184 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028D2188 */ cpu->lr = cpu->r[0];
/* 028D218C */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028D218C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028D2190 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D2194 */ return;
}
// fn_028D2140 @ 0x28d2140
void Gambit_fn_028D2140(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
L_028D2140: ; // 0x28d2140
/* 028D2140 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D2140 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D2140 */ cpu->r[1] = _t0;
/* 028D2144 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028D2144 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028D2148 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028D2148 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028D214C */ cpu->r[31] = cpu->r[3];
/* 028D214C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028D2150 */ cpu->r[30] = cpu->r[4];
/* 028D2154 */ _t3 = cpu->r[1] + 0x00000014u;
/* 028D2154 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028D2158 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D2158 */ _t5 = _t4 & 0x00000001u;
/* 028D2158 */ if (_t5) goto L_028D2180; else goto L_028D215C;
L_028D215C: ; // 0x28d215c
/* 028D215C */ cpu->r[0] = 0x10140000u;
/* 028D2160 */ cpu->r[0] = cpu->r[0] + 0xFFFFA728u;
/* 028D2164 */ cpu->r[3] = cpu->r[31];
/* 028D2168 */ _t6 = cpu->r[31] + 0x00000000u;
/* 028D2168 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
/* 028D216C */ Gambit_fn_028D20F8(cpu);
/* 028D2170 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
/* 028D2170 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
/* 028D2174 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D2174 */ _t8 = _t7 & 0x00000001u;
/* 028D2174 */ if (_t8) goto L_028D2180; else goto L_028D2178;
L_028D2178: ; // 0x28d2178
/* 028D2178 */ cpu->r[3] = cpu->r[31];
/* 028D217C */ Gambit_fn_02801BB0(cpu);
L_028D2180: ; // 0x28d2180
/* 028D2180 */ _t9 = cpu->r[1] + 0x00000014u;
/* 028D2180 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
/* 028D2184 */ _t10 = cpu->r[1] + 0x00000008u;
/* 028D2184 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
/* 028D2188 */ cpu->lr = cpu->r[0];
/* 028D218C */ _t11 = cpu->r[1] + 0x0000000Cu;
/* 028D218C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
/* 028D2190 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D2194 */ return;
}
// fn_028D2198 @ 0x28d2198
void Gambit_fn_028D2198(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028D2198: ; // 0x28d2198
/* 028D2198 */ cpu->r[0] = cpu->lr;
/* 028D219C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D219C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D219C */ cpu->r[1] = _t0;
/* 028D21A0 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028D21A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028D21A4 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028D21A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028D21A8 */ cpu->r[30] = cpu->r[3];
/* 028D21AC */ _t3 = cpu->r[1] + 0x00000014u;
/* 028D21AC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028D21B0 */ _t4 = cpu->r[30] + 0x00000004u;
/* 028D21B0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
/* 028D21B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028D21B8 */ cpu->r[31] = cpu->r[5];
/* 028D21BC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D21BC */ _t6 = _t5 & 0x00000001u;
/* 028D21BC */ if (_t6) goto L_028D21C0; else goto L_028D21E8;
L_028D21C0: ; // 0x28d21c0
/* 028D21C0 */ cpu->r[11] = 0x00000150u;
/* 028D21C4 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
/* 028D21C8 */ _t7 = cpu->r[30] + 0x0000001Cu;
/* 028D21C8 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
/* 028D21CC */ Gambit_fn_0280236C(cpu);
/* 028D21D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028D21D4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D21D4 */ _t9 = _t8 & 0x00000001u;
/* 028D21D4 */ if (_t9) goto L_028D21D8; else goto L_028D21DC;
L_028D21D8: ; // 0x28d21d8
/* 028D21D8 */ cpu->r[31] = cpu->r[30] + 0x00000024u;
L_028D21DC: ; // 0x28d21dc
/* 028D21DC */ _t10 = cpu->r[30] + 0x00000020u;
/* 028D21DC */ rbrew_write32(cpu->mem, _t10, cpu->r[31]);
/* 028D21E0 */ cpu->r[0] = 0x00000001u;
/* 028D21E4 */ _t11 = cpu->r[30] + 0x00000004u;
/* 028D21E4 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[0]);
L_028D21E8: ; // 0x28d21e8
/* 028D21E8 */ _t12 = cpu->r[1] + 0x00000014u;
/* 028D21E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028D21EC */ _t13 = cpu->r[1] + 0x00000008u;
/* 028D21EC */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
/* 028D21F0 */ cpu->lr = cpu->r[0];
/* 028D21F4 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028D21F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028D21F8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D21FC */ return;
}
// fn_028D219C @ 0x28d219c
void Gambit_fn_028D219C(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
L_028D219C: ; // 0x28d219c
/* 028D219C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
/* 028D219C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D219C */ cpu->r[1] = _t0;
/* 028D21A0 */ _t1 = cpu->r[1] + 0x00000008u;
/* 028D21A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
/* 028D21A4 */ _t2 = cpu->r[1] + 0x0000000Cu;
/* 028D21A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
/* 028D21A8 */ cpu->r[30] = cpu->r[3];
/* 028D21AC */ _t3 = cpu->r[1] + 0x00000014u;
/* 028D21AC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
/* 028D21B0 */ _t4 = cpu->r[30] + 0x00000004u;
/* 028D21B0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
/* 028D21B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
/* 028D21B8 */ cpu->r[31] = cpu->r[5];
/* 028D21BC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D21BC */ _t6 = _t5 & 0x00000001u;
/* 028D21BC */ if (_t6) goto L_028D21C0; else goto L_028D21E8;
L_028D21C0: ; // 0x28d21c0
/* 028D21C0 */ cpu->r[11] = 0x00000150u;
/* 028D21C4 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
/* 028D21C8 */ _t7 = cpu->r[30] + 0x0000001Cu;
/* 028D21C8 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
/* 028D21CC */ Gambit_fn_0280236C(cpu);
/* 028D21D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
/* 028D21D4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D21D4 */ _t9 = _t8 & 0x00000001u;
/* 028D21D4 */ if (_t9) goto L_028D21D8; else goto L_028D21DC;
L_028D21D8: ; // 0x28d21d8
/* 028D21D8 */ cpu->r[31] = cpu->r[30] + 0x00000024u;
L_028D21DC: ; // 0x28d21dc
/* 028D21DC */ _t10 = cpu->r[30] + 0x00000020u;
/* 028D21DC */ rbrew_write32(cpu->mem, _t10, cpu->r[31]);
/* 028D21E0 */ cpu->r[0] = 0x00000001u;
/* 028D21E4 */ _t11 = cpu->r[30] + 0x00000004u;
/* 028D21E4 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[0]);
L_028D21E8: ; // 0x28d21e8
/* 028D21E8 */ _t12 = cpu->r[1] + 0x00000014u;
/* 028D21E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
/* 028D21EC */ _t13 = cpu->r[1] + 0x00000008u;
/* 028D21EC */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
/* 028D21F0 */ cpu->lr = cpu->r[0];
/* 028D21F4 */ _t14 = cpu->r[1] + 0x0000000Cu;
/* 028D21F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
/* 028D21F8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
/* 028D21FC */ return;
}
// fn_028D2200 @ 0x28d2200
void Gambit_fn_028D2200(CPUState* cpu) {
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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_028D2200: ; // 0x28d2200
/* 028D2200 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
/* 028D2200 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
/* 028D2200 */ cpu->r[1] = _t0;
/* 028D2204 */ /* nop */
/* 028D2208 */ cpu->r[0] = cpu->lr;
/* 028D220C */ _t1 = cpu->r[1] + 0x0000002Cu;
/* 028D220C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
/* 028D2210 */ _t2 = cpu->r[3] + 0x00000004u;
/* 028D2210 */ cpu->r[10] = rbrew_read8(cpu->mem, _t2);
/* 028D2214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
/* 028D2218 */ cpu->r[27] = cpu->r[4];
/* 028D221C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D221C */ _t4 = _t3 & 0x00000001u;
/* 028D221C */ if (_t4) goto L_028D22F8; else goto L_028D2220;
L_028D2220: ; // 0x28d2220
/* 028D2220 */ _t5 = cpu->r[3] + 0x0000001Cu;
/* 028D2220 */ cpu->r[29] = rbrew_read32(cpu->mem, _t5);
/* 028D2224 */ cpu->r[0] = cpu->r[3] + 0x00000010u;
/* 028D2228 */ _t6 = cpu->r[3] + 0x00000014u;
/* 028D2228 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
/* 028D222C */ cpu->r[31] = cpu->r[0] - cpu->r[29];
/* 028D2230 */ cpu->r[28] = cpu->r[11] - cpu->r[29];
/* 028D2234 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[31]);
/* 028D2238 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D2238 */ _t8 = _t7 & 0x00000001u;
/* 028D2238 */ if (_t8) goto L_028D22F8; else goto L_028D223C;
L_028D223C: ; // 0x28d223c
/* 028D223C */ cpu->r[30] = 0x10110000u;
/* 028D2240 */ cpu->r[26] = 0x00080000u;
/* 028D2244 */ _t9 = cpu->r[30] + 0x00007399u;
/* 028D2244 */ cpu->r[30] = rbrew_read8(cpu->mem, _t9);
/* 028D2248 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
L_028D224C: ; // 0x28d224c
/* 028D224C */ _t10 = cpu->r[28] + 0x00000004u;
/* 028D224C */ cpu->r[5] = rbrew_read32(cpu->mem, _t10);
/* 028D2250 */ _t11 = cpu->r[5] + 0x00000014u;
/* 028D2250 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
/* 028D2254 */ cpu->ctr = cpu->r[0];
/* 028D2258 */ cpu->r[3] = cpu->r[28];
/* 028D225C */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028D2260 */ _t12 = cpu->r[28] + 0x00000004u;
/* 028D2260 */ cpu->r[7] = rbrew_read32(cpu->mem, _t12);
/* 028D2264 */ _t13 = cpu->r[7] + 0x00000014u;
/* 028D2264 */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
/* 028D2268 */ cpu->ctr = cpu->r[8];
/* 028D226C */ cpu->r[3] = cpu->r[28];
/* 028D2270 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028D2274 */ _t14 = cpu->r[27] + 0x00000004u;
/* 028D2274 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
/* 028D2278 */ _t15 = cpu->r[9] + 0x00000014u;
/* 028D2278 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
/* 028D227C */ cpu->ctr = cpu->r[10];
/* 028D2280 */ _t16 = cpu->r[28] + 0x00000000u;
/* 028D2280 */ cpu->r[25] = rbrew_read32(cpu->mem, _t16);
/* 028D2284 */ cpu->r[3] = cpu->r[27];
/* 028D2288 */ rbrew_call_indirect(cpu, cpu->ctr);
/* 028D228C */ _t17 = cpu->r[27] + 0x00000000u;
/* 028D228C */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
/* 028D2290 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[11]);
/* 028D2294 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D2294 */ _t19 = _t18 & 0x00000001u;
/* 028D2294 */ if (_t19) goto L_028D22CC; else goto L_028D2298;
L_028D2298: ; // 0x28d2298
/* 028D2298 */ _t20 = cpu->r[28] + 0x00000000u;
/* 028D2298 */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
/* 028D229C */ _t21 = cpu->r[27] + 0x00000000u;
/* 028D229C */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
/* 028D22A0 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
/* 028D22A4 */ cpu->ctr = cpu->r[26];
/* 028D22A8 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
L_028D22AC: ; // 0x28d22ac
/* 028D22AC */ _t22 = cpu->r[8] + 0x00000001u;
/* 028D22AC */ cpu->r[0] = rbrew_read8(cpu->mem, _t22);
/* 028D22AC */ cpu->r[8] = _t22;
/* 028D22B0 */ _t23 = cpu->r[7] + 0x00000001u;
/* 028D22B0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t23);
/* 028D22B0 */ cpu->r[7] = _t23;
/* 028D22B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
/* 028D22B8 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D22B8 */ _t25 = _t24 & 0x00000001u;
/* 028D22B8 */ if (_t25) goto L_028D22BC; else goto L_028D22E4;
L_028D22BC: ; // 0x28d22bc
/* 028D22BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
/* 028D22C0 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D22C0 */ _t27 = _t26 & 0x00000001u;
/* 028D22C0 */ if (_t27) goto L_028D22CC; else goto L_028D22C4;
L_028D22C4: ; // 0x28d22c4
/* 028D22C4 */ cpu->ctr = cpu->ctr - 0x00000001u;
/* 028D22C4 */ _t28 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
/* 028D22C4 */ _t29 = _t28 >> (0x00000002u & 31u);
/* 028D22C4 */ _t30 = _t29 & 0x00000001u;
/* 028D22C4 */ if (_t30) goto L_028D22AC; else goto L_028D22C8;
L_028D22C8: ; // 0x28d22c8
/* 028D22C8 */ goto L_028D22E4;
L_028D22CC: ; // 0x28d22cc
/* 028D22CC */ cpu->r[3] = cpu->r[28];
/* 028D22D0 */ /* nop */
/* 028D22D4 */ _t31 = cpu->r[1] + 0x0000002Cu;
/* 028D22D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
/* 028D22D8 */ cpu->lr = cpu->r[0];
/* 028D22DC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028D22E0 */ return;
L_028D22E4: ; // 0x28d22e4
/* 028D22E4 */ cpu->r[12] = cpu->r[28] + cpu->r[29];
/* 028D22E8 */ _t32 = cpu->r[12] + 0x00000004u;
/* 028D22E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
/* 028D22EC */ cpu->r[28] = cpu->r[0] - cpu->r[29];
/* 028D22F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[31]);
/* 028D22F4 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
/* 028D22F4 */ _t34 = _t33 & 0x00000001u;
/* 028D22F4 */ if (_t34) goto L_028D22F8; else goto L_028D224C;
L_028D22F8: ; // 0x28d22f8
/* 028D22F8 */ /* nop */
/* 028D22FC */ _t35 = cpu->r[1] + 0x0000002Cu;
/* 028D22FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
/* 028D2300 */ cpu->lr = cpu->r[0];
/* 028D2304 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
/* 028D2308 */ cpu->r[3] = 0x00000000u;
/* 028D230C */ return;
}