mirror of
https://github.com/ApfelTeeSaft/RebrewU.git
synced 2026-08-26 19:33:27 +00:00
24248 lines
1.2 MiB
Plaintext
24248 lines
1.2 MiB
Plaintext
// Generated by RebrewU -- do not edit
|
|
#include <rebrewu_runtime.h>
|
|
#include <stdint.h>
|
|
#include <math.h>
|
|
|
|
#include "Gambit.h"
|
|
|
|
// fn_02455084 @ 0x2455084
|
|
void Gambit_fn_02455084(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02455084: ; // 0x2455084
|
|
/* 02455084 */ cpu->r[0] = cpu->lr;
|
|
/* 02455088 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02455088 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02455088 */ cpu->r[1] = _t0;
|
|
/* 0245508C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245508C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02455090 */ cpu->r[31] = cpu->r[3];
|
|
/* 02455094 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02455094 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02455098 */ _t3 = cpu->r[31] + 0x00000290u;
|
|
/* 02455098 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0245509C */ cpu->r[0] = 0x00000000u;
|
|
/* 024550A0 */ _t4 = cpu->r[12] + 0x000000A8u;
|
|
/* 024550A0 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[0]);
|
|
/* 024550A4 */ _t5 = cpu->r[31] + 0x00000290u;
|
|
/* 024550A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 024550A8 */ Gambit_fn_020E2014(cpu);
|
|
/* 024550AC */ _t6 = cpu->r[31] + 0x0000021Cu;
|
|
/* 024550AC */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 024550B0 */ cpu->r[0] = 0x00000001u;
|
|
/* 024550B4 */ _t7 = cpu->r[10] + 0x00000100u;
|
|
/* 024550B4 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[0]);
|
|
/* 024550B8 */ _t8 = cpu->r[31] + 0x00000294u;
|
|
/* 024550B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 024550BC */ _t9 = cpu->r[12] + 0x00000100u;
|
|
/* 024550BC */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[0]);
|
|
/* 024550C0 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 024550C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 024550C4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024550C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024550C8 */ cpu->lr = cpu->r[0];
|
|
/* 024550CC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024550D0 */ return;
|
|
}
|
|
|
|
// fn_02455088 @ 0x2455088
|
|
void Gambit_fn_02455088(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02455088: ; // 0x2455088
|
|
/* 02455088 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02455088 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02455088 */ cpu->r[1] = _t0;
|
|
/* 0245508C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245508C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02455090 */ cpu->r[31] = cpu->r[3];
|
|
/* 02455094 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02455094 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02455098 */ _t3 = cpu->r[31] + 0x00000290u;
|
|
/* 02455098 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0245509C */ cpu->r[0] = 0x00000000u;
|
|
/* 024550A0 */ _t4 = cpu->r[12] + 0x000000A8u;
|
|
/* 024550A0 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[0]);
|
|
/* 024550A4 */ _t5 = cpu->r[31] + 0x00000290u;
|
|
/* 024550A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 024550A8 */ Gambit_fn_020E2014(cpu);
|
|
/* 024550AC */ _t6 = cpu->r[31] + 0x0000021Cu;
|
|
/* 024550AC */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 024550B0 */ cpu->r[0] = 0x00000001u;
|
|
/* 024550B4 */ _t7 = cpu->r[10] + 0x00000100u;
|
|
/* 024550B4 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[0]);
|
|
/* 024550B8 */ _t8 = cpu->r[31] + 0x00000294u;
|
|
/* 024550B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 024550BC */ _t9 = cpu->r[12] + 0x00000100u;
|
|
/* 024550BC */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[0]);
|
|
/* 024550C0 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 024550C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 024550C4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024550C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024550C8 */ cpu->lr = cpu->r[0];
|
|
/* 024550CC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024550D0 */ return;
|
|
}
|
|
|
|
// fn_024550D4 @ 0x24550d4
|
|
void Gambit_fn_024550D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _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;
|
|
|
|
L_024550D4: ; // 0x24550d4
|
|
/* 024550D4 */ _t0 = cpu->r[1] + 0xFFFFFF78u;
|
|
/* 024550D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024550D4 */ cpu->r[1] = _t0;
|
|
/* 024550D8 */ /* nop */
|
|
/* 024550DC */ cpu->r[0] = cpu->lr;
|
|
/* 024550E0 */ cpu->r[27] = 0x100A0000u;
|
|
/* 024550E4 */ _t1 = cpu->r[1] + 0x0000008Cu;
|
|
/* 024550E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 024550E8 */ cpu->r[29] = 0x100A0000u;
|
|
/* 024550EC */ cpu->r[27] = cpu->r[27] + 0x00000238u;
|
|
/* 024550F0 */ cpu->r[29] = cpu->r[29] + 0x0000041Cu;
|
|
/* 024550F4 */ cpu->r[30] = 0x100A0000u;
|
|
/* 024550F8 */ _t2 = cpu->r[1] + 0x00000044u;
|
|
/* 024550F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[27]);
|
|
/* 024550FC */ cpu->r[30] = cpu->r[30] + 0x00000498u;
|
|
/* 02455100 */ _t3 = cpu->r[1] + 0x00000048u;
|
|
/* 02455100 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02455104 */ cpu->r[6] = cpu->r[1] + 0x00000038u;
|
|
/* 02455108 */ _t4 = cpu->r[1] + 0x00000038u;
|
|
/* 02455108 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 0245510C */ cpu->r[31] = cpu->r[3];
|
|
/* 02455110 */ _t5 = cpu->r[1] + 0x00000040u;
|
|
/* 02455110 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
|
|
/* 02455114 */ cpu->r[5] = cpu->r[1] + 0x00000048u;
|
|
/* 02455118 */ _t6 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02455118 */ rbrew_write32(cpu->mem, _t6, cpu->r[27]);
|
|
/* 0245511C */ cpu->r[4] = cpu->r[1] + 0x00000040u;
|
|
/* 02455120 */ _t7 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02455120 */ rbrew_write32(cpu->mem, _t7, cpu->r[27]);
|
|
/* 02455124 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 02455128 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245512C */ _t8 = cpu->r[1] + 0x00000044u;
|
|
/* 0245512C */ rbrew_write32(cpu->mem, _t8, cpu->r[27]);
|
|
/* 02455130 */ cpu->r[0] = cpu->r[0] + 0x0000040Cu;
|
|
/* 02455134 */ _t9 = cpu->r[1] + 0x00000040u;
|
|
/* 02455134 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 02455138 */ cpu->r[6] = cpu->r[1] + 0x00000040u;
|
|
/* 0245513C */ _t10 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0245513C */ rbrew_write32(cpu->mem, _t10, cpu->r[27]);
|
|
/* 02455140 */ cpu->r[5] = cpu->r[1] + 0x00000048u;
|
|
/* 02455144 */ _t11 = cpu->r[1] + 0x00000048u;
|
|
/* 02455144 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02455148 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245514C */ _t12 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0245514C */ rbrew_write32(cpu->mem, _t12, cpu->r[27]);
|
|
/* 02455150 */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 02455154 */ _t13 = cpu->r[1] + 0x00000038u;
|
|
/* 02455154 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02455158 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0245515C */ cpu->r[3] = cpu->r[31];
|
|
/* 02455160 */ _t14 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02455160 */ rbrew_write32(cpu->mem, _t14, cpu->r[27]);
|
|
/* 02455164 */ cpu->r[5] = cpu->r[1] + 0x00000038u;
|
|
/* 02455168 */ cpu->r[4] = 0x00000000u;
|
|
/* 0245516C */ _t15 = cpu->r[1] + 0x00000038u;
|
|
/* 0245516C */ rbrew_write32(cpu->mem, _t15, cpu->r[29]);
|
|
/* 02455170 */ Gambit_fn_027ED798(cpu);
|
|
/* 02455174 */ cpu->r[30] = 0x100A0000u;
|
|
/* 02455178 */ _t16 = cpu->r[1] + 0x00000044u;
|
|
/* 02455178 */ rbrew_write32(cpu->mem, _t16, cpu->r[27]);
|
|
/* 0245517C */ cpu->r[0] = 0x100A0000u;
|
|
/* 02455180 */ cpu->r[30] = cpu->r[30] + 0x00000440u;
|
|
/* 02455184 */ _t17 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02455184 */ rbrew_write32(cpu->mem, _t17, cpu->r[27]);
|
|
/* 02455188 */ cpu->r[0] = cpu->r[0] + 0x000004A4u;
|
|
/* 0245518C */ _t18 = cpu->r[1] + 0x00000040u;
|
|
/* 0245518C */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 02455190 */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 02455194 */ _t19 = cpu->r[1] + 0x00000048u;
|
|
/* 02455194 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 02455198 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245519C */ _t20 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0245519C */ rbrew_write32(cpu->mem, _t20, cpu->r[27]);
|
|
/* 024551A0 */ cpu->r[6] = cpu->r[1] + 0x00000040u;
|
|
/* 024551A4 */ cpu->r[5] = cpu->r[1] + 0x00000048u;
|
|
/* 024551A8 */ _t21 = cpu->r[1] + 0x00000038u;
|
|
/* 024551A8 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 024551AC */ Gambit_fn_027ECDD0(cpu);
|
|
/* 024551B0 */ cpu->r[0] = 0x100A0000u;
|
|
/* 024551B4 */ _t22 = cpu->r[1] + 0x00000040u;
|
|
/* 024551B4 */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
|
|
/* 024551B8 */ cpu->r[0] = cpu->r[0] + 0x0000044Cu;
|
|
/* 024551BC */ _t23 = cpu->r[1] + 0x0000004Cu;
|
|
/* 024551BC */ rbrew_write32(cpu->mem, _t23, cpu->r[27]);
|
|
/* 024551C0 */ cpu->r[6] = cpu->r[1] + 0x00000040u;
|
|
/* 024551C4 */ _t24 = cpu->r[1] + 0x00000048u;
|
|
/* 024551C4 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 024551C8 */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 024551CC */ _t25 = cpu->r[1] + 0x00000044u;
|
|
/* 024551CC */ rbrew_write32(cpu->mem, _t25, cpu->r[27]);
|
|
/* 024551D0 */ _t26 = cpu->r[1] + 0x00000038u;
|
|
/* 024551D0 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 024551D4 */ cpu->r[5] = cpu->r[1] + 0x00000048u;
|
|
/* 024551D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 024551DC */ _t27 = cpu->r[1] + 0x0000003Cu;
|
|
/* 024551DC */ rbrew_write32(cpu->mem, _t27, cpu->r[27]);
|
|
/* 024551E0 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 024551E4 */ cpu->r[30] = 0x100A0000u;
|
|
/* 024551E8 */ _t28 = cpu->r[1] + 0x00000044u;
|
|
/* 024551E8 */ rbrew_write32(cpu->mem, _t28, cpu->r[27]);
|
|
/* 024551EC */ cpu->r[30] = cpu->r[30] + 0x00000420u;
|
|
/* 024551F0 */ _t29 = cpu->r[1] + 0x0000003Cu;
|
|
/* 024551F0 */ rbrew_write32(cpu->mem, _t29, cpu->r[27]);
|
|
/* 024551F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 024551F8 */ _t30 = cpu->r[1] + 0x00000038u;
|
|
/* 024551F8 */ rbrew_write32(cpu->mem, _t30, cpu->r[30]);
|
|
/* 024551FC */ cpu->r[8] = 0x100A0000u;
|
|
/* 02455200 */ _t31 = cpu->r[1] + 0x00000048u;
|
|
/* 02455200 */ rbrew_write32(cpu->mem, _t31, cpu->r[30]);
|
|
/* 02455204 */ cpu->r[8] = cpu->r[8] + 0x00000458u;
|
|
/* 02455208 */ cpu->r[5] = cpu->r[1] + 0x00000048u;
|
|
/* 0245520C */ _t32 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0245520C */ rbrew_write32(cpu->mem, _t32, cpu->r[27]);
|
|
/* 02455210 */ cpu->r[6] = cpu->r[1] + 0x00000040u;
|
|
/* 02455214 */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 02455218 */ _t33 = cpu->r[1] + 0x00000040u;
|
|
/* 02455218 */ rbrew_write32(cpu->mem, _t33, cpu->r[8]);
|
|
/* 0245521C */ Gambit_fn_027ECDD0(cpu);
|
|
/* 02455220 */ _t34 = cpu->r[31] + 0x000002C4u;
|
|
/* 02455220 */ cpu->r[9] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02455224 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02455228 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02455228 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02455228 */ if (_t36) goto L_0245522C; else goto L_02455244;
|
|
L_0245522C: ; // 0x245522c
|
|
/* 0245522C */ _t37 = cpu->r[1] + 0x00000050u;
|
|
/* 0245522C */ rbrew_write32(cpu->mem, _t37, cpu->r[30]);
|
|
/* 02455230 */ cpu->r[7] = 0x100A0000u;
|
|
/* 02455234 */ _t38 = cpu->r[1] + 0x00000054u;
|
|
/* 02455234 */ rbrew_write32(cpu->mem, _t38, cpu->r[27]);
|
|
/* 02455238 */ cpu->r[5] = cpu->r[1] + 0x00000050u;
|
|
/* 0245523C */ _t39 = cpu->r[7] + 0x00000348u;
|
|
/* 0245523C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02455240 */ goto L_02455258;
|
|
L_02455244: ; // 0x2455244
|
|
/* 02455244 */ cpu->r[6] = 0x100A0000u;
|
|
/* 02455248 */ _t40 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02455248 */ rbrew_write32(cpu->mem, _t40, cpu->r[27]);
|
|
/* 0245524C */ _t41 = cpu->r[6] + 0x0000034Cu;
|
|
/* 0245524C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 02455250 */ cpu->r[5] = cpu->r[1] + 0x00000058u;
|
|
/* 02455254 */ _t42 = cpu->r[1] + 0x00000058u;
|
|
/* 02455254 */ rbrew_write32(cpu->mem, _t42, cpu->r[30]);
|
|
L_02455258: ; // 0x2455258
|
|
/* 02455258 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245525C */ cpu->r[4] = 0x00000005u;
|
|
/* 02455260 */ Gambit_fn_027ED914(cpu);
|
|
/* 02455264 */ _t43 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02455264 */ rbrew_write32(cpu->mem, _t43, cpu->r[27]);
|
|
/* 02455268 */ cpu->r[6] = cpu->r[1] + 0x00000040u;
|
|
/* 0245526C */ _t44 = cpu->r[1] + 0x00000044u;
|
|
/* 0245526C */ rbrew_write32(cpu->mem, _t44, cpu->r[27]);
|
|
/* 02455270 */ cpu->r[7] = 0x100A0000u;
|
|
/* 02455274 */ _t45 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02455274 */ rbrew_write32(cpu->mem, _t45, cpu->r[27]);
|
|
/* 02455278 */ cpu->r[7] = cpu->r[7] + 0x00000428u;
|
|
/* 0245527C */ cpu->r[30] = 0x100A0000u;
|
|
/* 02455280 */ _t46 = cpu->r[1] + 0x00000038u;
|
|
/* 02455280 */ rbrew_write32(cpu->mem, _t46, cpu->r[7]);
|
|
/* 02455284 */ cpu->r[30] = cpu->r[30] + 0x00000464u;
|
|
/* 02455288 */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 0245528C */ _t47 = cpu->r[1] + 0x00000040u;
|
|
/* 0245528C */ rbrew_write32(cpu->mem, _t47, cpu->r[30]);
|
|
/* 02455290 */ cpu->r[3] = cpu->r[31];
|
|
/* 02455294 */ cpu->r[5] = cpu->r[1] + 0x00000048u;
|
|
/* 02455298 */ _t48 = cpu->r[1] + 0x00000048u;
|
|
/* 02455298 */ rbrew_write32(cpu->mem, _t48, cpu->r[7]);
|
|
/* 0245529C */ Gambit_fn_027ECDD0(cpu);
|
|
/* 024552A0 */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 024552A4 */ _t49 = cpu->r[1] + 0x0000003Cu;
|
|
/* 024552A4 */ rbrew_write32(cpu->mem, _t49, cpu->r[27]);
|
|
/* 024552A8 */ cpu->r[0] = 0x100A0000u;
|
|
/* 024552AC */ _t50 = cpu->r[1] + 0x00000040u;
|
|
/* 024552AC */ rbrew_write32(cpu->mem, _t50, cpu->r[30]);
|
|
/* 024552B0 */ cpu->r[0] = cpu->r[0] + 0x00000430u;
|
|
/* 024552B4 */ _t51 = cpu->r[1] + 0x0000004Cu;
|
|
/* 024552B4 */ rbrew_write32(cpu->mem, _t51, cpu->r[27]);
|
|
/* 024552B8 */ cpu->r[6] = cpu->r[1] + 0x00000040u;
|
|
/* 024552BC */ _t52 = cpu->r[1] + 0x00000038u;
|
|
/* 024552BC */ rbrew_write32(cpu->mem, _t52, cpu->r[0]);
|
|
/* 024552C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 024552C4 */ _t53 = cpu->r[1] + 0x00000048u;
|
|
/* 024552C4 */ rbrew_write32(cpu->mem, _t53, cpu->r[0]);
|
|
/* 024552C8 */ cpu->r[5] = cpu->r[1] + 0x00000048u;
|
|
/* 024552CC */ _t54 = cpu->r[1] + 0x00000044u;
|
|
/* 024552CC */ rbrew_write32(cpu->mem, _t54, cpu->r[27]);
|
|
/* 024552D0 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 024552D4 */ cpu->r[10] = 0x100A0000u;
|
|
/* 024552D8 */ _t55 = cpu->r[1] + 0x0000004Cu;
|
|
/* 024552D8 */ rbrew_write32(cpu->mem, _t55, cpu->r[27]);
|
|
/* 024552DC */ cpu->r[10] = cpu->r[10] + 0x000004B0u;
|
|
/* 024552E0 */ _t56 = cpu->r[1] + 0x00000044u;
|
|
/* 024552E0 */ rbrew_write32(cpu->mem, _t56, cpu->r[27]);
|
|
/* 024552E4 */ cpu->r[30] = 0x100A0000u;
|
|
/* 024552E8 */ _t57 = cpu->r[1] + 0x0000003Cu;
|
|
/* 024552E8 */ rbrew_write32(cpu->mem, _t57, cpu->r[27]);
|
|
/* 024552EC */ cpu->r[30] = cpu->r[30] + 0x000004BCu;
|
|
/* 024552F0 */ _t58 = cpu->r[1] + 0x00000038u;
|
|
/* 024552F0 */ rbrew_write32(cpu->mem, _t58, cpu->r[10]);
|
|
/* 024552F4 */ cpu->r[6] = cpu->r[1] + 0x00000040u;
|
|
/* 024552F8 */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 024552FC */ _t59 = cpu->r[1] + 0x00000040u;
|
|
/* 024552FC */ rbrew_write32(cpu->mem, _t59, cpu->r[30]);
|
|
/* 02455300 */ cpu->r[3] = cpu->r[31];
|
|
/* 02455304 */ cpu->r[5] = cpu->r[1] + 0x00000048u;
|
|
/* 02455308 */ _t60 = cpu->r[1] + 0x00000048u;
|
|
/* 02455308 */ rbrew_write32(cpu->mem, _t60, cpu->r[10]);
|
|
/* 0245530C */ Gambit_fn_027ECDD0(cpu);
|
|
/* 02455310 */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 02455314 */ _t61 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02455314 */ rbrew_write32(cpu->mem, _t61, cpu->r[27]);
|
|
/* 02455318 */ _t62 = cpu->r[1] + 0x00000040u;
|
|
/* 02455318 */ rbrew_write32(cpu->mem, _t62, cpu->r[30]);
|
|
/* 0245531C */ cpu->r[0] = 0x100A0000u;
|
|
/* 02455320 */ _t63 = cpu->r[1] + 0x00000044u;
|
|
/* 02455320 */ rbrew_write32(cpu->mem, _t63, cpu->r[27]);
|
|
/* 02455324 */ cpu->r[0] = cpu->r[0] + 0x00000474u;
|
|
/* 02455328 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245532C */ _t64 = cpu->r[1] + 0x00000038u;
|
|
/* 0245532C */ rbrew_write32(cpu->mem, _t64, cpu->r[0]);
|
|
/* 02455330 */ cpu->r[5] = cpu->r[1] + 0x00000048u;
|
|
/* 02455334 */ _t65 = cpu->r[1] + 0x00000048u;
|
|
/* 02455334 */ rbrew_write32(cpu->mem, _t65, cpu->r[0]);
|
|
/* 02455338 */ cpu->r[6] = cpu->r[1] + 0x00000040u;
|
|
/* 0245533C */ _t66 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0245533C */ rbrew_write32(cpu->mem, _t66, cpu->r[27]);
|
|
/* 02455340 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 02455344 */ cpu->r[28] = 0x100A0000u;
|
|
/* 02455348 */ _t67 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02455348 */ rbrew_write32(cpu->mem, _t67, cpu->r[27]);
|
|
/* 0245534C */ cpu->r[30] = 0x100A0000u;
|
|
/* 02455350 */ _t68 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02455350 */ rbrew_write32(cpu->mem, _t68, cpu->r[27]);
|
|
/* 02455354 */ cpu->r[29] = 0x100A0000u;
|
|
/* 02455358 */ cpu->r[28] = cpu->r[28] + 0x00000480u;
|
|
/* 0245535C */ cpu->r[29] = cpu->r[29] + 0x000004CCu;
|
|
/* 02455360 */ cpu->r[30] = cpu->r[30] + 0x000004D8u;
|
|
/* 02455364 */ _t69 = cpu->r[1] + 0x00000038u;
|
|
/* 02455364 */ rbrew_write32(cpu->mem, _t69, cpu->r[29]);
|
|
/* 02455368 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245536C */ _t70 = cpu->r[1] + 0x00000040u;
|
|
/* 0245536C */ rbrew_write32(cpu->mem, _t70, cpu->r[30]);
|
|
/* 02455370 */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 02455374 */ _t71 = cpu->r[1] + 0x00000048u;
|
|
/* 02455374 */ rbrew_write32(cpu->mem, _t71, cpu->r[28]);
|
|
/* 02455378 */ cpu->r[5] = cpu->r[1] + 0x00000048u;
|
|
/* 0245537C */ cpu->r[6] = cpu->r[1] + 0x00000040u;
|
|
/* 02455380 */ _t72 = cpu->r[1] + 0x00000044u;
|
|
/* 02455380 */ rbrew_write32(cpu->mem, _t72, cpu->r[27]);
|
|
/* 02455384 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 02455388 */ cpu->r[6] = cpu->r[1] + 0x00000040u;
|
|
/* 0245538C */ _t73 = cpu->r[1] + 0x00000048u;
|
|
/* 0245538C */ rbrew_write32(cpu->mem, _t73, cpu->r[29]);
|
|
/* 02455390 */ cpu->r[5] = cpu->r[1] + 0x00000048u;
|
|
/* 02455394 */ _t74 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02455394 */ rbrew_write32(cpu->mem, _t74, cpu->r[27]);
|
|
/* 02455398 */ _t75 = cpu->r[1] + 0x00000044u;
|
|
/* 02455398 */ rbrew_write32(cpu->mem, _t75, cpu->r[27]);
|
|
/* 0245539C */ _t76 = cpu->r[1] + 0x00000040u;
|
|
/* 0245539C */ rbrew_write32(cpu->mem, _t76, cpu->r[30]);
|
|
/* 024553A0 */ cpu->r[3] = cpu->r[31];
|
|
/* 024553A4 */ _t77 = cpu->r[1] + 0x00000038u;
|
|
/* 024553A4 */ rbrew_write32(cpu->mem, _t77, cpu->r[28]);
|
|
/* 024553A8 */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 024553AC */ _t78 = cpu->r[1] + 0x0000003Cu;
|
|
/* 024553AC */ rbrew_write32(cpu->mem, _t78, cpu->r[27]);
|
|
/* 024553B0 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 024553B4 */ cpu->r[30] = 0x100A0000u;
|
|
/* 024553B8 */ cpu->r[25] = cpu->r[31] + 0x00000220u;
|
|
/* 024553BC */ cpu->r[28] = 0x100A0000u;
|
|
/* 024553C0 */ cpu->r[30] = cpu->r[30] + 0x000004F4u;
|
|
/* 024553C4 */ cpu->r[22] = 0x00000000u;
|
|
/* 024553C8 */ cpu->r[29] = 0x100A0000u;
|
|
/* 024553CC */ cpu->r[26] = 0x100A0000u;
|
|
/* 024553D0 */ cpu->r[28] = cpu->r[28] + 0x00000410u;
|
|
/* 024553D4 */ cpu->r[29] = cpu->r[29] + 0x000004E8u;
|
|
/* 024553D8 */ cpu->r[24] = cpu->r[22];
|
|
/* 024553DC */ cpu->r[26] = cpu->r[26] + 0x00000414u;
|
|
/* 024553E0 */ goto L_024553EC;
|
|
L_024553E4: ; // 0x24553e4
|
|
/* 024553E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x00000007u);
|
|
/* 024553E8 */ _t79 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024553E8 */ _t80 = _t79 & 0x00000001u;
|
|
/* 024553E8 */ if (_t80) goto L_024553EC; else goto L_024553F8;
|
|
L_024553EC: ; // 0x24553ec
|
|
/* 024553EC */ cpu->r[11] = cpu->r[25] + cpu->r[24];
|
|
/* 024553F0 */ cpu->r[23] = cpu->r[24];
|
|
/* 024553F4 */ goto L_024553FC;
|
|
L_024553F8: ; // 0x24553f8
|
|
/* 024553F8 */ cpu->r[11] = cpu->r[25];
|
|
L_024553FC: ; // 0x24553fc
|
|
/* 024553FC */ _t81 = cpu->r[1] + 0x00000010u;
|
|
/* 024553FC */ rbrew_write32(cpu->mem, _t81, cpu->r[26]);
|
|
/* 02455400 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02455404 */ _t82 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02455404 */ rbrew_write32(cpu->mem, _t82, cpu->r[27]);
|
|
/* 02455408 */ _t83 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02455408 */ rbrew_write32(cpu->mem, _t83, cpu->r[27]);
|
|
/* 0245540C */ _t84 = cpu->r[1] + 0x00000014u;
|
|
/* 0245540C */ rbrew_write32(cpu->mem, _t84, cpu->r[27]);
|
|
/* 02455410 */ _t85 = cpu->r[1] + 0x00000018u;
|
|
/* 02455410 */ rbrew_write32(cpu->mem, _t85, cpu->r[29]);
|
|
/* 02455414 */ _t86 = cpu->r[1] + 0x00000008u;
|
|
/* 02455414 */ rbrew_write32(cpu->mem, _t86, cpu->r[26]);
|
|
/* 02455418 */ _t87 = cpu->r[11] + 0x00000000u;
|
|
/* 02455418 */ cpu->r[3] = rbrew_read32(cpu->mem, _t87);
|
|
/* 0245541C */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02455420 */ cpu->r[6] = cpu->r[1] + 0x00000018u;
|
|
/* 02455424 */ Gambit_fn_027ECE60(cpu);
|
|
/* 02455428 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x00000007u);
|
|
/* 0245542C */ _t88 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245542C */ _t89 = _t88 & 0x00000001u;
|
|
/* 0245542C */ if (_t89) goto L_02455430; else goto L_0245546C;
|
|
L_02455430: ; // 0x2455430
|
|
/* 02455430 */ _t90 = cpu->r[1] + 0x00000010u;
|
|
/* 02455430 */ rbrew_write32(cpu->mem, _t90, cpu->r[28]);
|
|
/* 02455434 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02455438 */ _t91 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02455438 */ rbrew_write32(cpu->mem, _t91, cpu->r[27]);
|
|
/* 0245543C */ _t92 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245543C */ rbrew_write32(cpu->mem, _t92, cpu->r[27]);
|
|
/* 02455440 */ _t93 = cpu->r[1] + 0x00000014u;
|
|
/* 02455440 */ rbrew_write32(cpu->mem, _t93, cpu->r[27]);
|
|
/* 02455444 */ _t94 = cpu->r[1] + 0x00000008u;
|
|
/* 02455444 */ rbrew_write32(cpu->mem, _t94, cpu->r[30]);
|
|
/* 02455448 */ _t95 = cpu->r[1] + 0x00000018u;
|
|
/* 02455448 */ rbrew_write32(cpu->mem, _t95, cpu->r[28]);
|
|
/* 0245544C */ _t96 = cpu->r[25] + cpu->r[23];
|
|
/* 0245544C */ cpu->r[3] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02455450 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02455454 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 02455458 */ Gambit_fn_027ECE60(cpu);
|
|
/* 0245545C */ _t97 = cpu->r[31] + 0x000002C4u;
|
|
/* 0245545C */ cpu->r[11] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02455460 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02455464 */ _t98 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02455464 */ _t99 = _t98 & 0x00000001u;
|
|
/* 02455464 */ if (_t99) goto L_02455468; else goto L_024555B0;
|
|
L_02455468: ; // 0x2455468
|
|
/* 02455468 */ goto L_024554A4;
|
|
L_0245546C: ; // 0x245546c
|
|
/* 0245546C */ _t100 = cpu->r[1] + 0x00000010u;
|
|
/* 0245546C */ rbrew_write32(cpu->mem, _t100, cpu->r[28]);
|
|
/* 02455470 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02455474 */ _t101 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02455474 */ rbrew_write32(cpu->mem, _t101, cpu->r[27]);
|
|
/* 02455478 */ _t102 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02455478 */ rbrew_write32(cpu->mem, _t102, cpu->r[27]);
|
|
/* 0245547C */ _t103 = cpu->r[1] + 0x00000014u;
|
|
/* 0245547C */ rbrew_write32(cpu->mem, _t103, cpu->r[27]);
|
|
/* 02455480 */ _t104 = cpu->r[1] + 0x00000008u;
|
|
/* 02455480 */ rbrew_write32(cpu->mem, _t104, cpu->r[30]);
|
|
/* 02455484 */ _t105 = cpu->r[1] + 0x00000018u;
|
|
/* 02455484 */ rbrew_write32(cpu->mem, _t105, cpu->r[28]);
|
|
/* 02455488 */ _t106 = cpu->r[25] + 0x00000000u;
|
|
/* 02455488 */ cpu->r[3] = rbrew_read32(cpu->mem, _t106);
|
|
/* 0245548C */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02455490 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 02455494 */ Gambit_fn_027ECE60(cpu);
|
|
/* 02455498 */ _t107 = cpu->r[31] + 0x000002C4u;
|
|
/* 02455498 */ cpu->r[11] = rbrew_read32(cpu->mem, _t107);
|
|
/* 0245549C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 024554A0 */ _t108 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024554A0 */ _t109 = _t108 & 0x00000001u;
|
|
/* 024554A0 */ if (_t109) goto L_024554A4; else goto L_024555B0;
|
|
L_024554A4: ; // 0x24554a4
|
|
/* 024554A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x00000007u);
|
|
/* 024554A8 */ _t110 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024554A8 */ _t111 = _t110 & 0x00000001u;
|
|
/* 024554A8 */ if (_t111) goto L_024554AC; else goto L_02455530;
|
|
L_024554AC: ; // 0x24554ac
|
|
/* 024554AC */ _t112 = cpu->r[1] + 0x00000024u;
|
|
/* 024554AC */ rbrew_write32(cpu->mem, _t112, cpu->r[27]);
|
|
/* 024554B0 */ cpu->r[0] = 0x100A0000u;
|
|
/* 024554B4 */ _t113 = cpu->r[1] + 0x00000034u;
|
|
/* 024554B4 */ rbrew_write32(cpu->mem, _t113, cpu->r[27]);
|
|
/* 024554B8 */ cpu->r[0] = cpu->r[0] + 0x00000438u;
|
|
/* 024554BC */ cpu->r[12] = 0x100A0000u;
|
|
/* 024554C0 */ _t114 = cpu->r[1] + 0x0000002Cu;
|
|
/* 024554C0 */ rbrew_write32(cpu->mem, _t114, cpu->r[27]);
|
|
/* 024554C4 */ cpu->r[12] = cpu->r[12] + 0x0000048Cu;
|
|
/* 024554C8 */ _t115 = cpu->r[1] + 0x00000020u;
|
|
/* 024554C8 */ rbrew_write32(cpu->mem, _t115, cpu->r[0]);
|
|
/* 024554CC */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 024554D0 */ _t116 = cpu->r[1] + 0x00000028u;
|
|
/* 024554D0 */ rbrew_write32(cpu->mem, _t116, cpu->r[0]);
|
|
/* 024554D4 */ _t117 = cpu->r[1] + 0x00000030u;
|
|
/* 024554D4 */ rbrew_write32(cpu->mem, _t117, cpu->r[12]);
|
|
/* 024554D8 */ _t118 = cpu->r[25] + cpu->r[23];
|
|
/* 024554D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t118);
|
|
/* 024554DC */ cpu->r[6] = cpu->r[1] + 0x00000030u;
|
|
/* 024554E0 */ cpu->r[5] = cpu->r[1] + 0x00000028u;
|
|
/* 024554E4 */ Gambit_fn_027ECE60(cpu);
|
|
/* 024554E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x00000007u);
|
|
/* 024554EC */ _t119 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024554EC */ _t120 = _t119 & 0x00000001u;
|
|
/* 024554EC */ if (_t120) goto L_02455574; else goto L_024554F0;
|
|
L_024554F0: ; // 0x24554f0
|
|
/* 024554F0 */ _t121 = cpu->r[1] + 0x00000034u;
|
|
/* 024554F0 */ rbrew_write32(cpu->mem, _t121, cpu->r[27]);
|
|
/* 024554F4 */ cpu->r[12] = 0x100A0000u;
|
|
/* 024554F8 */ _t122 = cpu->r[1] + 0x00000024u;
|
|
/* 024554F8 */ rbrew_write32(cpu->mem, _t122, cpu->r[27]);
|
|
/* 024554FC */ cpu->r[12] = cpu->r[12] + 0x00000404u;
|
|
/* 02455500 */ cpu->r[0] = 0x100A0000u;
|
|
/* 02455504 */ _t123 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02455504 */ rbrew_write32(cpu->mem, _t123, cpu->r[27]);
|
|
/* 02455508 */ cpu->r[0] = cpu->r[0] + 0x00000500u;
|
|
/* 0245550C */ _t124 = cpu->r[1] + 0x00000030u;
|
|
/* 0245550C */ rbrew_write32(cpu->mem, _t124, cpu->r[12]);
|
|
/* 02455510 */ cpu->r[4] = cpu->r[1] + 0x00000030u;
|
|
/* 02455514 */ _t125 = cpu->r[1] + 0x00000028u;
|
|
/* 02455514 */ rbrew_write32(cpu->mem, _t125, cpu->r[12]);
|
|
/* 02455518 */ _t126 = cpu->r[1] + 0x00000020u;
|
|
/* 02455518 */ rbrew_write32(cpu->mem, _t126, cpu->r[0]);
|
|
/* 0245551C */ _t127 = cpu->r[25] + 0x00000000u;
|
|
/* 0245551C */ cpu->r[3] = rbrew_read32(cpu->mem, _t127);
|
|
/* 02455520 */ cpu->r[6] = cpu->r[1] + 0x00000020u;
|
|
/* 02455524 */ cpu->r[5] = cpu->r[1] + 0x00000028u;
|
|
/* 02455528 */ Gambit_fn_027ECE60(cpu);
|
|
/* 0245552C */ goto L_024555B0;
|
|
L_02455530: ; // 0x2455530
|
|
/* 02455530 */ _t128 = cpu->r[1] + 0x00000024u;
|
|
/* 02455530 */ rbrew_write32(cpu->mem, _t128, cpu->r[27]);
|
|
/* 02455534 */ cpu->r[0] = 0x100A0000u;
|
|
/* 02455538 */ _t129 = cpu->r[1] + 0x00000034u;
|
|
/* 02455538 */ rbrew_write32(cpu->mem, _t129, cpu->r[27]);
|
|
/* 0245553C */ cpu->r[0] = cpu->r[0] + 0x00000438u;
|
|
/* 02455540 */ cpu->r[12] = 0x100A0000u;
|
|
/* 02455544 */ _t130 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02455544 */ rbrew_write32(cpu->mem, _t130, cpu->r[27]);
|
|
/* 02455548 */ cpu->r[12] = cpu->r[12] + 0x0000048Cu;
|
|
/* 0245554C */ _t131 = cpu->r[1] + 0x00000020u;
|
|
/* 0245554C */ rbrew_write32(cpu->mem, _t131, cpu->r[0]);
|
|
/* 02455550 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 02455554 */ _t132 = cpu->r[1] + 0x00000028u;
|
|
/* 02455554 */ rbrew_write32(cpu->mem, _t132, cpu->r[0]);
|
|
/* 02455558 */ _t133 = cpu->r[1] + 0x00000030u;
|
|
/* 02455558 */ rbrew_write32(cpu->mem, _t133, cpu->r[12]);
|
|
/* 0245555C */ _t134 = cpu->r[25] + 0x00000000u;
|
|
/* 0245555C */ cpu->r[3] = rbrew_read32(cpu->mem, _t134);
|
|
/* 02455560 */ cpu->r[6] = cpu->r[1] + 0x00000030u;
|
|
/* 02455564 */ cpu->r[5] = cpu->r[1] + 0x00000028u;
|
|
/* 02455568 */ Gambit_fn_027ECE60(cpu);
|
|
/* 0245556C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x00000007u);
|
|
/* 02455570 */ _t135 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02455570 */ _t136 = _t135 & 0x00000001u;
|
|
/* 02455570 */ if (_t136) goto L_02455574; else goto L_024554F0;
|
|
L_02455574: ; // 0x2455574
|
|
/* 02455574 */ _t137 = cpu->r[1] + 0x00000034u;
|
|
/* 02455574 */ rbrew_write32(cpu->mem, _t137, cpu->r[27]);
|
|
/* 02455578 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245557C */ _t138 = cpu->r[1] + 0x00000024u;
|
|
/* 0245557C */ rbrew_write32(cpu->mem, _t138, cpu->r[27]);
|
|
/* 02455580 */ cpu->r[12] = cpu->r[12] + 0x00000404u;
|
|
/* 02455584 */ cpu->r[0] = 0x100A0000u;
|
|
/* 02455588 */ _t139 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02455588 */ rbrew_write32(cpu->mem, _t139, cpu->r[27]);
|
|
/* 0245558C */ cpu->r[0] = cpu->r[0] + 0x00000500u;
|
|
/* 02455590 */ _t140 = cpu->r[1] + 0x00000030u;
|
|
/* 02455590 */ rbrew_write32(cpu->mem, _t140, cpu->r[12]);
|
|
/* 02455594 */ cpu->r[4] = cpu->r[1] + 0x00000030u;
|
|
/* 02455598 */ _t141 = cpu->r[1] + 0x00000028u;
|
|
/* 02455598 */ rbrew_write32(cpu->mem, _t141, cpu->r[12]);
|
|
/* 0245559C */ _t142 = cpu->r[1] + 0x00000020u;
|
|
/* 0245559C */ rbrew_write32(cpu->mem, _t142, cpu->r[0]);
|
|
/* 024555A0 */ _t143 = cpu->r[25] + cpu->r[23];
|
|
/* 024555A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t143);
|
|
/* 024555A4 */ cpu->r[6] = cpu->r[1] + 0x00000020u;
|
|
/* 024555A8 */ cpu->r[5] = cpu->r[1] + 0x00000028u;
|
|
/* 024555AC */ Gambit_fn_027ECE60(cpu);
|
|
L_024555B0: ; // 0x24555b0
|
|
/* 024555B0 */ cpu->r[22] = cpu->r[22] + 0x00000001u;
|
|
/* 024555B4 */ cpu->r[23] = cpu->r[23] + 0x00000004u;
|
|
/* 024555B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000007u);
|
|
/* 024555BC */ cpu->r[24] = cpu->r[24] + 0x00000004u;
|
|
/* 024555C0 */ _t144 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024555C0 */ _t145 = _t144 & 0x00000001u;
|
|
/* 024555C0 */ if (_t145) goto L_024553E4; else goto L_024555C4;
|
|
L_024555C4: ; // 0x24555c4
|
|
/* 024555C4 */ /* nop */
|
|
/* 024555C8 */ _t146 = cpu->r[1] + 0x0000008Cu;
|
|
/* 024555C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t146);
|
|
/* 024555CC */ cpu->lr = cpu->r[0];
|
|
/* 024555D0 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 024555D4 */ return;
|
|
}
|
|
|
|
// fn_024555D8 @ 0x24555d8
|
|
void Gambit_fn_024555D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _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;
|
|
|
|
L_024555D8: ; // 0x24555d8
|
|
/* 024555D8 */ _t0 = cpu->r[1] + 0xFFFFFF00u;
|
|
/* 024555D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024555D8 */ cpu->r[1] = _t0;
|
|
/* 024555DC */ /* nop */
|
|
/* 024555E0 */ cpu->r[0] = cpu->lr;
|
|
/* 024555E4 */ _t1 = cpu->r[1] + 0x00000104u;
|
|
/* 024555E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 024555E8 */ cpu->r[0] = 0x100A0000u;
|
|
/* 024555EC */ cpu->r[0] = cpu->r[0] + 0x00000280u;
|
|
/* 024555F0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 024555F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 024555F4 */ cpu->r[14] = 0x100A0000u;
|
|
/* 024555F8 */ cpu->r[4] = 0x00000007u;
|
|
/* 024555FC */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 024555FC */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 02455600 */ cpu->r[11] = 0x10110000u;
|
|
/* 02455604 */ cpu->r[14] = cpu->r[14] + 0x00000238u;
|
|
/* 02455608 */ cpu->r[12] = cpu->r[1] + 0x0000006Cu;
|
|
/* 0245560C */ cpu->r[22] = 0x00000000u;
|
|
/* 02455610 */ _t4 = cpu->r[11] + 0x00007399u;
|
|
/* 02455610 */ cpu->r[11] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02455614 */ cpu->r[16] = 0x101D0000u;
|
|
/* 02455618 */ cpu->r[5] = 0x00000020u;
|
|
/* 0245561C */ cpu->r[18] = cpu->r[1] + 0x00000038u;
|
|
/* 02455620 */ _t5 = cpu->r[1] + 0x00000019u;
|
|
/* 02455620 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[11]);
|
|
/* 02455624 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02455628 */ _t6 = cpu->r[1] + 0x0000008Bu;
|
|
/* 02455628 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[11]);
|
|
/* 0245562C */ cpu->r[7] = 0x100A0000u;
|
|
/* 02455630 */ _t7 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02455630 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[11]);
|
|
/* 02455634 */ cpu->r[29] = cpu->r[22];
|
|
/* 02455638 */ cpu->r[6] = 0x100A0000u;
|
|
/* 0245563C */ _t8 = cpu->r[1] + 0x00000064u;
|
|
/* 0245563C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02455640 */ cpu->r[6] = cpu->r[6] + 0x00000308u;
|
|
/* 02455644 */ _t9 = cpu->r[1] + 0x00000068u;
|
|
/* 02455644 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 02455648 */ cpu->r[7] = cpu->r[7] + 0x0000054Cu;
|
|
/* 0245564C */ _t10 = cpu->r[1] + 0x00000018u;
|
|
/* 0245564C */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[11]);
|
|
/* 02455650 */ cpu->r[17] = cpu->r[3];
|
|
/* 02455654 */ _t11 = cpu->r[1] + 0x00000060u;
|
|
/* 02455654 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02455658 */ cpu->r[24] = cpu->r[17] + 0x00000220u;
|
|
/* 0245565C */ cpu->r[31] = 0x101D0000u;
|
|
/* 02455660 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02455660 */ rbrew_write32(cpu->mem, _t12, cpu->r[6]);
|
|
/* 02455664 */ cpu->r[25] = cpu->r[17] + 0x0000023Cu;
|
|
/* 02455668 */ cpu->r[15] = 0x101D0000u;
|
|
/* 0245566C */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0245566C */ rbrew_write32(cpu->mem, _t13, cpu->r[7]);
|
|
L_02455670: ; // 0x2455670
|
|
/* 02455670 */ _t14 = cpu->r[17] + 0x000002C4u;
|
|
/* 02455670 */ cpu->r[6] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02455674 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02455678 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02455678 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02455678 */ if (_t16) goto L_0245567C; else goto L_0245569C;
|
|
L_0245567C: ; // 0x245567c
|
|
/* 0245567C */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 0245567C */ cpu->r[4] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02455680 */ cpu->r[5] = cpu->r[22] + 0x00000007u;
|
|
/* 02455684 */ cpu->r[3] = cpu->r[1] + 0x00000060u;
|
|
/* 02455688 */ _t18 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02455688 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02455688 */ if (_t19) goto L_0245568C; // else: addr-0 trap, fall-through
|
|
L_0245568C: ; // 0x245568c
|
|
/* 0245568C */ Gambit_fn_0282A5F4(cpu);
|
|
/* 02455690 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x00000007u);
|
|
/* 02455694 */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02455694 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02455694 */ if (_t21) goto L_024556B8; else goto L_02455698;
|
|
L_02455698: ; // 0x2455698
|
|
/* 02455698 */ goto L_024556DC;
|
|
L_0245569C: ; // 0x245569c
|
|
/* 0245569C */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 0245569C */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
|
|
/* 024556A0 */ cpu->r[5] = cpu->r[22];
|
|
/* 024556A4 */ cpu->r[3] = cpu->r[1] + 0x00000060u;
|
|
/* 024556A8 */ _t23 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 024556A8 */ _t24 = _t23 & 0x00000001u;
|
|
/* 024556A8 */ if (_t24) goto L_024556AC; // else: addr-0 trap, fall-through
|
|
L_024556AC: ; // 0x24556ac
|
|
/* 024556AC */ Gambit_fn_0282A5F4(cpu);
|
|
/* 024556B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x00000007u);
|
|
/* 024556B4 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024556B4 */ _t26 = _t25 & 0x00000001u;
|
|
/* 024556B4 */ if (_t26) goto L_024556B8; else goto L_024556DC;
|
|
L_024556B8: ; // 0x24556b8
|
|
/* 024556B8 */ cpu->r[3] = cpu->r[17];
|
|
/* 024556BC */ cpu->r[4] = cpu->r[1] + 0x00000060u;
|
|
/* 024556C0 */ cpu->r[27] = cpu->r[24] + cpu->r[29];
|
|
/* 024556C4 */ Gambit_fn_026D86C0(cpu);
|
|
/* 024556C8 */ _t27 = cpu->r[15] + 0xFFFFEDBCu;
|
|
/* 024556C8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t27);
|
|
/* 024556CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 024556D0 */ cpu->r[28] = cpu->r[3];
|
|
/* 024556D4 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024556D4 */ _t29 = _t28 & 0x00000001u;
|
|
/* 024556D4 */ if (_t29) goto L_024556D8; else goto L_0245570C;
|
|
L_024556D8: ; // 0x24556d8
|
|
/* 024556D8 */ goto L_024556FC;
|
|
L_024556DC: ; // 0x24556dc
|
|
/* 024556DC */ cpu->r[3] = cpu->r[17];
|
|
/* 024556E0 */ cpu->r[4] = cpu->r[1] + 0x00000060u;
|
|
/* 024556E4 */ cpu->r[27] = cpu->r[24];
|
|
/* 024556E8 */ Gambit_fn_026D86C0(cpu);
|
|
/* 024556EC */ _t30 = cpu->r[15] + 0xFFFFEDBCu;
|
|
/* 024556EC */ cpu->r[7] = rbrew_read32(cpu->mem, _t30);
|
|
/* 024556F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 024556F4 */ cpu->r[28] = cpu->r[3];
|
|
/* 024556F8 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024556F8 */ _t32 = _t31 & 0x00000001u;
|
|
/* 024556F8 */ if (_t32) goto L_024556FC; else goto L_0245570C;
|
|
L_024556FC: ; // 0x24556fc
|
|
/* 024556FC */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024556FC */ cpu->r[4] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02455700 */ cpu->r[8] = 0x00000001u;
|
|
/* 02455704 */ _t34 = cpu->r[15] + 0xFFFFEDBCu;
|
|
/* 02455704 */ rbrew_write32(cpu->mem, _t34, cpu->r[8]);
|
|
/* 02455708 */ _t35 = cpu->r[16] + 0xFFFFEE20u;
|
|
/* 02455708 */ rbrew_write32(cpu->mem, _t35, cpu->r[4]);
|
|
L_0245570C: ; // 0x245570c
|
|
/* 0245570C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02455710 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02455710 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02455710 */ if (_t37) goto L_02455734; else goto L_02455714;
|
|
L_02455714: ; // 0x2455714
|
|
/* 02455714 */ _t38 = cpu->r[28] + 0x00000000u;
|
|
/* 02455714 */ cpu->r[9] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02455718 */ _t39 = cpu->r[9] + 0x0000001Cu;
|
|
/* 02455718 */ cpu->r[10] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0245571C */ cpu->ctr = cpu->r[10];
|
|
/* 02455720 */ cpu->r[3] = cpu->r[28];
|
|
/* 02455724 */ cpu->r[4] = cpu->r[16] + 0xFFFFEE20u;
|
|
/* 02455728 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245572C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02455730 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02455730 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02455730 */ if (_t41) goto L_02455734; else goto L_02455738;
|
|
L_02455734: ; // 0x2455734
|
|
/* 02455734 */ cpu->r[28] = 0x00000000u;
|
|
L_02455738: ; // 0x2455738
|
|
/* 02455738 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x00000007u);
|
|
/* 0245573C */ _t42 = cpu->r[27] + 0x00000000u;
|
|
/* 0245573C */ rbrew_write32(cpu->mem, _t42, cpu->r[28]);
|
|
/* 02455740 */ _t43 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02455740 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02455740 */ if (_t44) goto L_02455744; else goto L_02455780;
|
|
L_02455744: ; // 0x2455744
|
|
/* 02455744 */ _t45 = cpu->r[24] + cpu->r[29];
|
|
/* 02455744 */ cpu->r[5] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02455748 */ cpu->r[0] = 0x00000000u;
|
|
/* 0245574C */ cpu->r[11] = 0x00000020u;
|
|
/* 02455750 */ _t46 = cpu->r[5] + 0x000001B7u;
|
|
/* 02455750 */ rbrew_write8(cpu->mem, _t46, (uint8_t)cpu->r[0]);
|
|
/* 02455754 */ _t47 = cpu->r[17] + 0x000002C4u;
|
|
/* 02455754 */ cpu->r[12] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02455758 */ _t48 = cpu->r[1] + 0x00000034u;
|
|
/* 02455758 */ rbrew_write32(cpu->mem, _t48, cpu->r[11]);
|
|
/* 0245575C */ _t49 = cpu->r[1] + 0x00000018u;
|
|
/* 0245575C */ cpu->r[11] = rbrew_read8(cpu->mem, _t49);
|
|
/* 02455760 */ _t50 = cpu->r[1] + 0x00000008u;
|
|
/* 02455760 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02455764 */ _t51 = cpu->r[18] + 0x00000000u;
|
|
/* 02455764 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[11]);
|
|
/* 02455768 */ _t52 = cpu->r[1] + 0x00000030u;
|
|
/* 02455768 */ rbrew_write32(cpu->mem, _t52, cpu->r[0]);
|
|
/* 0245576C */ _t53 = cpu->r[18] + 0x0000001Fu;
|
|
/* 0245576C */ rbrew_write8(cpu->mem, _t53, (uint8_t)cpu->r[11]);
|
|
/* 02455770 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02455774 */ _t54 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02455774 */ rbrew_write32(cpu->mem, _t54, cpu->r[18]);
|
|
/* 02455778 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02455778 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02455778 */ if (_t56) goto L_0245577C; else goto L_0245587C;
|
|
L_0245577C: ; // 0x245577c
|
|
/* 0245577C */ goto L_024557B8;
|
|
L_02455780: ; // 0x2455780
|
|
/* 02455780 */ _t57 = cpu->r[24] + 0x00000000u;
|
|
/* 02455780 */ cpu->r[5] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02455784 */ cpu->r[0] = 0x00000000u;
|
|
/* 02455788 */ cpu->r[11] = 0x00000020u;
|
|
/* 0245578C */ _t58 = cpu->r[5] + 0x000001B7u;
|
|
/* 0245578C */ rbrew_write8(cpu->mem, _t58, (uint8_t)cpu->r[0]);
|
|
/* 02455790 */ _t59 = cpu->r[17] + 0x000002C4u;
|
|
/* 02455790 */ cpu->r[12] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02455794 */ _t60 = cpu->r[1] + 0x00000034u;
|
|
/* 02455794 */ rbrew_write32(cpu->mem, _t60, cpu->r[11]);
|
|
/* 02455798 */ _t61 = cpu->r[1] + 0x00000018u;
|
|
/* 02455798 */ cpu->r[11] = rbrew_read8(cpu->mem, _t61);
|
|
/* 0245579C */ _t62 = cpu->r[1] + 0x00000008u;
|
|
/* 0245579C */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
|
|
/* 024557A0 */ _t63 = cpu->r[18] + 0x00000000u;
|
|
/* 024557A0 */ rbrew_write8(cpu->mem, _t63, (uint8_t)cpu->r[11]);
|
|
/* 024557A4 */ _t64 = cpu->r[1] + 0x00000030u;
|
|
/* 024557A4 */ rbrew_write32(cpu->mem, _t64, cpu->r[0]);
|
|
/* 024557A8 */ _t65 = cpu->r[18] + 0x0000001Fu;
|
|
/* 024557A8 */ rbrew_write8(cpu->mem, _t65, (uint8_t)cpu->r[11]);
|
|
/* 024557AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 024557B0 */ _t66 = cpu->r[1] + 0x0000002Cu;
|
|
/* 024557B0 */ rbrew_write32(cpu->mem, _t66, cpu->r[18]);
|
|
/* 024557B4 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024557B4 */ _t68 = _t67 & 0x00000001u;
|
|
/* 024557B4 */ if (_t68) goto L_024557B8; else goto L_0245587C;
|
|
L_024557B8: ; // 0x24557b8
|
|
/* 024557B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x00000007u);
|
|
/* 024557BC */ cpu->r[27] = cpu->r[25];
|
|
/* 024557C0 */ _t69 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024557C0 */ _t70 = _t69 & 0x00000001u;
|
|
/* 024557C0 */ if (_t70) goto L_024557C4; else goto L_024557C8;
|
|
L_024557C4: ; // 0x24557c4
|
|
/* 024557C4 */ cpu->r[27] = cpu->r[27] + cpu->r[29];
|
|
L_024557C8: ; // 0x24557c8
|
|
/* 024557C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x00000007u);
|
|
/* 024557CC */ _t71 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024557CC */ _t72 = _t71 & 0x00000001u;
|
|
/* 024557CC */ if (_t72) goto L_024557D0; else goto L_02455800;
|
|
L_024557D0: ; // 0x24557d0
|
|
/* 024557D0 */ cpu->r[6] = 0x100A0000u;
|
|
/* 024557D4 */ _t73 = cpu->r[1] + 0x00000020u;
|
|
/* 024557D4 */ rbrew_write32(cpu->mem, _t73, cpu->r[14]);
|
|
/* 024557D8 */ cpu->r[6] = cpu->r[6] + 0x00000558u;
|
|
/* 024557DC */ _t74 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024557DC */ rbrew_write32(cpu->mem, _t74, cpu->r[6]);
|
|
/* 024557E0 */ _t75 = cpu->r[24] + cpu->r[29];
|
|
/* 024557E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t75);
|
|
/* 024557E4 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 024557E8 */ Gambit_fn_026DB34C(cpu);
|
|
/* 024557EC */ _t76 = cpu->r[31] + 0xFFFFED9Cu;
|
|
/* 024557EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t76);
|
|
/* 024557F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 024557F4 */ cpu->r[28] = cpu->r[3];
|
|
/* 024557F8 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024557F8 */ _t78 = _t77 & 0x00000001u;
|
|
/* 024557F8 */ if (_t78) goto L_024557FC; else goto L_02455840;
|
|
L_024557FC: ; // 0x24557fc
|
|
/* 024557FC */ goto L_0245582C;
|
|
L_02455800: ; // 0x2455800
|
|
/* 02455800 */ cpu->r[6] = 0x100A0000u;
|
|
/* 02455804 */ _t79 = cpu->r[1] + 0x00000020u;
|
|
/* 02455804 */ rbrew_write32(cpu->mem, _t79, cpu->r[14]);
|
|
/* 02455808 */ cpu->r[6] = cpu->r[6] + 0x00000558u;
|
|
/* 0245580C */ _t80 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245580C */ rbrew_write32(cpu->mem, _t80, cpu->r[6]);
|
|
/* 02455810 */ _t81 = cpu->r[24] + 0x00000000u;
|
|
/* 02455810 */ cpu->r[3] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02455814 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02455818 */ Gambit_fn_026DB34C(cpu);
|
|
/* 0245581C */ _t82 = cpu->r[31] + 0xFFFFED9Cu;
|
|
/* 0245581C */ cpu->r[9] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02455820 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02455824 */ cpu->r[28] = cpu->r[3];
|
|
/* 02455828 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02455828 */ _t84 = _t83 & 0x00000001u;
|
|
/* 02455828 */ if (_t84) goto L_0245582C; else goto L_02455840;
|
|
L_0245582C: ; // 0x245582c
|
|
/* 0245582C */ cpu->r[0] = 0x100A0000u;
|
|
/* 02455830 */ cpu->r[12] = 0x00000001u;
|
|
/* 02455834 */ cpu->r[0] = cpu->r[0] + 0x00000328u;
|
|
/* 02455838 */ _t85 = cpu->r[31] + 0xFFFFED9Cu;
|
|
/* 02455838 */ rbrew_write32(cpu->mem, _t85, cpu->r[12]);
|
|
/* 0245583C */ _t86 = cpu->r[30] + 0xFFFFEDDCu;
|
|
/* 0245583C */ rbrew_write32(cpu->mem, _t86, cpu->r[0]);
|
|
L_02455840: ; // 0x2455840
|
|
/* 02455840 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02455844 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02455844 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02455844 */ if (_t88) goto L_02455868; else goto L_02455848;
|
|
L_02455848: ; // 0x2455848
|
|
/* 02455848 */ _t89 = cpu->r[28] + 0x00000000u;
|
|
/* 02455848 */ cpu->r[7] = rbrew_read32(cpu->mem, _t89);
|
|
/* 0245584C */ _t90 = cpu->r[7] + 0x0000001Cu;
|
|
/* 0245584C */ cpu->r[9] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02455850 */ cpu->ctr = cpu->r[9];
|
|
/* 02455854 */ cpu->r[3] = cpu->r[28];
|
|
/* 02455858 */ cpu->r[4] = cpu->r[30] + 0xFFFFEDDCu;
|
|
/* 0245585C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02455860 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02455864 */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02455864 */ _t92 = _t91 & 0x00000001u;
|
|
/* 02455864 */ if (_t92) goto L_02455868; else goto L_0245586C;
|
|
L_02455868: ; // 0x2455868
|
|
/* 02455868 */ cpu->r[28] = 0x00000000u;
|
|
L_0245586C: ; // 0x245586c
|
|
/* 0245586C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02455870 */ _t93 = cpu->r[27] + 0x00000000u;
|
|
/* 02455870 */ rbrew_write32(cpu->mem, _t93, cpu->r[28]);
|
|
/* 02455874 */ _t94 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02455874 */ _t95 = _t94 & 0x00000001u;
|
|
/* 02455874 */ if (_t95) goto L_02455878; else goto L_024559D4;
|
|
L_02455878: ; // 0x2455878
|
|
/* 02455878 */ goto L_02455990;
|
|
L_0245587C: ; // 0x245587c
|
|
/* 0245587C */ cpu->r[26] = 0x00000000u;
|
|
/* 02455880 */ cpu->r[20] = 0x00000003u;
|
|
/* 02455884 */ cpu->r[23] = 0x00000001u;
|
|
/* 02455888 */ cpu->r[21] = cpu->r[26];
|
|
/* 0245588C */ cpu->r[28] = 0x100A0000u;
|
|
L_02455890: ; // 0x2455890
|
|
/* 02455890 */ cpu->r[5] = cpu->r[26];
|
|
/* 02455894 */ cpu->r[4] = cpu->r[28] + 0x0000052Cu;
|
|
/* 02455898 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 0245589C */ _t96 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0245589C */ _t97 = _t96 & 0x00000001u;
|
|
/* 0245589C */ if (_t97) goto L_024558A0; // else: addr-0 trap, fall-through
|
|
L_024558A0: ; // 0x24558a0
|
|
/* 024558A0 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 024558A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000003u);
|
|
/* 024558A8 */ _t98 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024558A8 */ _t99 = _t98 & 0x00000001u;
|
|
/* 024558A8 */ if (_t99) goto L_024558AC; else goto L_024558BC;
|
|
L_024558AC: ; // 0x24558ac
|
|
/* 024558AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x00000007u);
|
|
/* 024558B0 */ cpu->r[12] = cpu->r[25] + cpu->r[21];
|
|
/* 024558B4 */ _t100 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024558B4 */ _t101 = _t100 & 0x00000001u;
|
|
/* 024558B4 */ if (_t101) goto L_024558C8; else goto L_024558B8;
|
|
L_024558B8: ; // 0x24558b8
|
|
/* 024558B8 */ goto L_024558D8;
|
|
L_024558BC: ; // 0x24558bc
|
|
/* 024558BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x00000007u);
|
|
/* 024558C0 */ cpu->r[12] = cpu->r[25];
|
|
/* 024558C4 */ _t102 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024558C4 */ _t103 = _t102 & 0x00000001u;
|
|
/* 024558C4 */ if (_t103) goto L_024558C8; else goto L_024558D8;
|
|
L_024558C8: ; // 0x24558c8
|
|
/* 024558C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x00000007u);
|
|
/* 024558CC */ cpu->r[27] = cpu->r[12] + cpu->r[29];
|
|
/* 024558D0 */ _t104 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024558D0 */ _t105 = _t104 & 0x00000001u;
|
|
/* 024558D0 */ if (_t105) goto L_024558E4; else goto L_024558D4;
|
|
L_024558D4: ; // 0x24558d4
|
|
/* 024558D4 */ goto L_02455904;
|
|
L_024558D8: ; // 0x24558d8
|
|
/* 024558D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x00000007u);
|
|
/* 024558DC */ cpu->r[27] = cpu->r[12];
|
|
/* 024558E0 */ _t106 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024558E0 */ _t107 = _t106 & 0x00000001u;
|
|
/* 024558E0 */ if (_t107) goto L_024558E4; else goto L_02455904;
|
|
L_024558E4: ; // 0x24558e4
|
|
/* 024558E4 */ _t108 = cpu->r[24] + cpu->r[29];
|
|
/* 024558E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t108);
|
|
/* 024558E8 */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 024558EC */ Gambit_fn_026DB34C(cpu);
|
|
/* 024558F0 */ _t109 = cpu->r[31] + 0xFFFFED9Cu;
|
|
/* 024558F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t109);
|
|
/* 024558F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 024558F8 */ cpu->r[19] = cpu->r[3];
|
|
/* 024558FC */ _t110 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024558FC */ _t111 = _t110 & 0x00000001u;
|
|
/* 024558FC */ if (_t111) goto L_02455900; else goto L_02455930;
|
|
L_02455900: ; // 0x2455900
|
|
/* 02455900 */ goto L_02455920;
|
|
L_02455904: ; // 0x2455904
|
|
/* 02455904 */ _t112 = cpu->r[24] + 0x00000000u;
|
|
/* 02455904 */ cpu->r[3] = rbrew_read32(cpu->mem, _t112);
|
|
/* 02455908 */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 0245590C */ Gambit_fn_026DB34C(cpu);
|
|
/* 02455910 */ _t113 = cpu->r[31] + 0xFFFFED9Cu;
|
|
/* 02455910 */ cpu->r[12] = rbrew_read32(cpu->mem, _t113);
|
|
/* 02455914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02455918 */ cpu->r[19] = cpu->r[3];
|
|
/* 0245591C */ _t114 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245591C */ _t115 = _t114 & 0x00000001u;
|
|
/* 0245591C */ if (_t115) goto L_02455920; else goto L_02455930;
|
|
L_02455920: ; // 0x2455920
|
|
/* 02455920 */ cpu->r[0] = 0x100A0000u;
|
|
/* 02455924 */ _t116 = cpu->r[31] + 0xFFFFED9Cu;
|
|
/* 02455924 */ rbrew_write32(cpu->mem, _t116, cpu->r[23]);
|
|
/* 02455928 */ cpu->r[0] = cpu->r[0] + 0x00000328u;
|
|
/* 0245592C */ _t117 = cpu->r[30] + 0xFFFFEDDCu;
|
|
/* 0245592C */ rbrew_write32(cpu->mem, _t117, cpu->r[0]);
|
|
L_02455930: ; // 0x2455930
|
|
/* 02455930 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u);
|
|
/* 02455934 */ _t118 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02455934 */ _t119 = _t118 & 0x00000001u;
|
|
/* 02455934 */ if (_t119) goto L_02455970; else goto L_02455938;
|
|
L_02455938: ; // 0x2455938
|
|
/* 02455938 */ _t120 = cpu->r[19] + 0x00000000u;
|
|
/* 02455938 */ cpu->r[5] = rbrew_read32(cpu->mem, _t120);
|
|
/* 0245593C */ _t121 = cpu->r[5] + 0x0000001Cu;
|
|
/* 0245593C */ cpu->r[0] = rbrew_read32(cpu->mem, _t121);
|
|
/* 02455940 */ cpu->ctr = cpu->r[0];
|
|
/* 02455944 */ cpu->r[3] = cpu->r[19];
|
|
/* 02455948 */ cpu->r[4] = cpu->r[30] + 0xFFFFEDDCu;
|
|
/* 0245594C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02455950 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02455954 */ _t122 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02455954 */ _t123 = _t122 & 0x00000001u;
|
|
/* 02455954 */ if (_t123) goto L_02455970; else goto L_02455958;
|
|
L_02455958: ; // 0x2455958
|
|
/* 02455958 */ _t124 = cpu->r[27] + 0x00000000u;
|
|
/* 02455958 */ rbrew_write32(cpu->mem, _t124, cpu->r[19]);
|
|
/* 0245595C */ cpu->r[20] = cpu->r[20] + 0xFFFFFFFFu;
|
|
/* 0245595C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 02455960 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 02455964 */ cpu->r[21] = cpu->r[21] + 0x0000001Cu;
|
|
/* 02455968 */ _t125 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02455968 */ _t126 = _t125 & 0x00000001u;
|
|
/* 02455968 */ if (_t126) goto L_0245596C; else goto L_02455890;
|
|
L_0245596C: ; // 0x245596c
|
|
/* 0245596C */ goto L_02455988;
|
|
L_02455970: ; // 0x2455970
|
|
/* 02455970 */ cpu->r[0] = 0x00000000u;
|
|
/* 02455974 */ cpu->r[20] = cpu->r[20] + 0xFFFFFFFFu;
|
|
/* 02455974 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 02455978 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 0245597C */ _t127 = cpu->r[27] + 0x00000000u;
|
|
/* 0245597C */ rbrew_write32(cpu->mem, _t127, cpu->r[0]);
|
|
/* 02455980 */ cpu->r[21] = cpu->r[21] + 0x0000001Cu;
|
|
/* 02455984 */ _t128 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02455984 */ _t129 = _t128 & 0x00000001u;
|
|
/* 02455984 */ if (_t129) goto L_02455988; else goto L_02455890;
|
|
L_02455988: ; // 0x2455988
|
|
/* 02455988 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0245598C */ _t130 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0245598C */ _t131 = _t130 & 0x00000001u;
|
|
/* 0245598C */ if (_t131) goto L_02455990; else goto L_024559D4;
|
|
L_02455990: ; // 0x2455990
|
|
/* 02455990 */ cpu->r[10] = cpu->r[22] + 0xFFFFFFFFu;
|
|
/* 02455994 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000007u);
|
|
/* 02455998 */ _t132 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02455998 */ _t133 = _t132 & 0x00000001u;
|
|
/* 02455998 */ if (_t133) goto L_0245599C; else goto L_024559BC;
|
|
L_0245599C: ; // 0x245599c
|
|
/* 0245599C */ cpu->r[12] = cpu->r[24] + cpu->r[29];
|
|
/* 024559A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x00000007u);
|
|
/* 024559A4 */ cpu->r[11] = cpu->r[12] + 0xFFFFFFFCu;
|
|
/* 024559A8 */ _t134 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024559A8 */ _t135 = _t134 & 0x00000001u;
|
|
/* 024559A8 */ if (_t135) goto L_024559C8; else goto L_024559AC;
|
|
L_024559AC: ; // 0x24559ac
|
|
/* 024559AC */ _t136 = cpu->r[11] + 0x00000000u;
|
|
/* 024559AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t136);
|
|
/* 024559B0 */ _t137 = cpu->r[24] + 0x00000000u;
|
|
/* 024559B0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t137);
|
|
/* 024559B4 */ Gambit_fn_027EADF4(cpu);
|
|
/* 024559B8 */ goto L_024559D4;
|
|
L_024559BC: ; // 0x24559bc
|
|
/* 024559BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x00000007u);
|
|
/* 024559C0 */ cpu->r[11] = cpu->r[24];
|
|
/* 024559C4 */ _t138 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024559C4 */ _t139 = _t138 & 0x00000001u;
|
|
/* 024559C4 */ if (_t139) goto L_024559C8; else goto L_024559AC;
|
|
L_024559C8: ; // 0x24559c8
|
|
/* 024559C8 */ _t140 = cpu->r[11] + 0x00000000u;
|
|
/* 024559C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t140);
|
|
/* 024559CC */ _t141 = cpu->r[24] + cpu->r[29];
|
|
/* 024559CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t141);
|
|
/* 024559D0 */ Gambit_fn_027EADF4(cpu);
|
|
L_024559D4: ; // 0x24559d4
|
|
/* 024559D4 */ _t142 = cpu->r[1] + 0x00000010u;
|
|
/* 024559D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t142);
|
|
/* 024559D8 */ cpu->r[8] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 024559D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 024559DC */ cpu->r[22] = cpu->r[22] + 0x00000001u;
|
|
/* 024559E0 */ _t143 = cpu->r[1] + 0x00000010u;
|
|
/* 024559E0 */ rbrew_write32(cpu->mem, _t143, cpu->r[8]);
|
|
/* 024559E4 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 024559E8 */ _t144 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024559E8 */ _t145 = _t144 & 0x00000001u;
|
|
/* 024559E8 */ if (_t145) goto L_024559EC; else goto L_02455670;
|
|
L_024559EC: ; // 0x24559ec
|
|
/* 024559EC */ cpu->r[0] = 0x100A0000u;
|
|
/* 024559F0 */ _t146 = cpu->r[1] + 0x0000005Cu;
|
|
/* 024559F0 */ rbrew_write32(cpu->mem, _t146, cpu->r[14]);
|
|
/* 024559F4 */ cpu->r[0] = cpu->r[0] + 0x00000568u;
|
|
/* 024559F8 */ cpu->r[4] = cpu->r[1] + 0x00000058u;
|
|
/* 024559FC */ cpu->r[3] = cpu->r[17];
|
|
/* 02455A00 */ _t147 = cpu->r[1] + 0x00000058u;
|
|
/* 02455A00 */ rbrew_write32(cpu->mem, _t147, cpu->r[0]);
|
|
/* 02455A04 */ Gambit_fn_026D86C0(cpu);
|
|
/* 02455A08 */ _t148 = cpu->r[15] + 0xFFFFEDBCu;
|
|
/* 02455A08 */ cpu->r[6] = rbrew_read32(cpu->mem, _t148);
|
|
/* 02455A0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02455A10 */ cpu->r[31] = cpu->r[3];
|
|
/* 02455A14 */ _t149 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02455A14 */ _t150 = _t149 & 0x00000001u;
|
|
/* 02455A14 */ if (_t150) goto L_02455A18; else goto L_02455A28;
|
|
L_02455A18: ; // 0x2455a18
|
|
/* 02455A18 */ _t151 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02455A18 */ cpu->r[6] = rbrew_read32(cpu->mem, _t151);
|
|
/* 02455A1C */ cpu->r[7] = 0x00000001u;
|
|
/* 02455A20 */ _t152 = cpu->r[15] + 0xFFFFEDBCu;
|
|
/* 02455A20 */ rbrew_write32(cpu->mem, _t152, cpu->r[7]);
|
|
/* 02455A24 */ _t153 = cpu->r[16] + 0xFFFFEE20u;
|
|
/* 02455A24 */ rbrew_write32(cpu->mem, _t153, cpu->r[6]);
|
|
L_02455A28: ; // 0x2455a28
|
|
/* 02455A28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02455A2C */ _t154 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02455A2C */ _t155 = _t154 & 0x00000001u;
|
|
/* 02455A2C */ if (_t155) goto L_02455A50; else goto L_02455A30;
|
|
L_02455A30: ; // 0x2455a30
|
|
/* 02455A30 */ _t156 = cpu->r[31] + 0x00000000u;
|
|
/* 02455A30 */ cpu->r[8] = rbrew_read32(cpu->mem, _t156);
|
|
/* 02455A34 */ _t157 = cpu->r[8] + 0x0000001Cu;
|
|
/* 02455A34 */ cpu->r[9] = rbrew_read32(cpu->mem, _t157);
|
|
/* 02455A38 */ cpu->ctr = cpu->r[9];
|
|
/* 02455A3C */ cpu->r[3] = cpu->r[31];
|
|
/* 02455A40 */ cpu->r[4] = cpu->r[16] + 0xFFFFEE20u;
|
|
/* 02455A44 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02455A48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02455A4C */ _t158 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02455A4C */ _t159 = _t158 & 0x00000001u;
|
|
/* 02455A4C */ if (_t159) goto L_02455A50; else goto L_02455A54;
|
|
L_02455A50: ; // 0x2455a50
|
|
/* 02455A50 */ cpu->r[31] = 0x00000000u;
|
|
L_02455A54: ; // 0x2455a54
|
|
/* 02455A54 */ cpu->r[4] = 0x00040000u;
|
|
/* 02455A58 */ cpu->r[3] = cpu->r[31];
|
|
/* 02455A5C */ _t160 = cpu->r[17] + 0x0000021Cu;
|
|
/* 02455A5C */ rbrew_write32(cpu->mem, _t160, cpu->r[31]);
|
|
/* 02455A60 */ cpu->r[4] = cpu->r[4] + 0x00000002u;
|
|
/* 02455A64 */ Gambit_fn_020DB1C8(cpu);
|
|
/* 02455A68 */ _t161 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02455A68 */ rbrew_write32(cpu->mem, _t161, cpu->r[14]);
|
|
/* 02455A6C */ cpu->r[4] = cpu->r[17];
|
|
/* 02455A70 */ cpu->r[10] = 0x100A0000u;
|
|
/* 02455A74 */ _t162 = cpu->r[1] + 0x00000028u;
|
|
/* 02455A74 */ rbrew_write32(cpu->mem, _t162, cpu->r[14]);
|
|
/* 02455A78 */ cpu->r[3] = 0x00000000u;
|
|
/* 02455A7C */ cpu->r[10] = cpu->r[10] + 0x0000053Cu;
|
|
/* 02455A80 */ cpu->r[5] = cpu->r[1] + 0x00000058u;
|
|
/* 02455A84 */ cpu->r[0] = 0x100A0000u;
|
|
/* 02455A88 */ _t163 = cpu->r[1] + 0x00000058u;
|
|
/* 02455A88 */ rbrew_write32(cpu->mem, _t163, cpu->r[10]);
|
|
/* 02455A8C */ cpu->r[7] = 0x00000001u;
|
|
/* 02455A90 */ cpu->r[0] = cpu->r[0] + 0x00000510u;
|
|
/* 02455A94 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02455A98 */ cpu->r[8] = cpu->r[7];
|
|
/* 02455A9C */ _t164 = cpu->r[1] + 0x00000024u;
|
|
/* 02455A9C */ rbrew_write32(cpu->mem, _t164, cpu->r[0]);
|
|
/* 02455AA0 */ Gambit_fn_020E4320(cpu);
|
|
/* 02455AA4 */ cpu->r[0] = 0x100A0000u;
|
|
/* 02455AA8 */ _t165 = cpu->r[17] + 0x00000218u;
|
|
/* 02455AA8 */ rbrew_write32(cpu->mem, _t165, cpu->r[3]);
|
|
/* 02455AAC */ cpu->r[3] = cpu->r[17];
|
|
/* 02455AB0 */ cpu->r[0] = cpu->r[0] + 0x00000574u;
|
|
/* 02455AB4 */ _t166 = cpu->r[1] + 0x00000028u;
|
|
/* 02455AB4 */ rbrew_write32(cpu->mem, _t166, cpu->r[14]);
|
|
/* 02455AB8 */ cpu->r[4] = cpu->r[1] + 0x00000024u;
|
|
/* 02455ABC */ _t167 = cpu->r[1] + 0x00000024u;
|
|
/* 02455ABC */ rbrew_write32(cpu->mem, _t167, cpu->r[0]);
|
|
/* 02455AC0 */ Gambit_fn_026D86C0(cpu);
|
|
/* 02455AC4 */ cpu->r[7] = 0x101D0000u;
|
|
/* 02455AC8 */ _t168 = cpu->r[7] + 0xFFFFDBBCu;
|
|
/* 02455AC8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t168);
|
|
/* 02455AC8 */ cpu->r[7] = _t168;
|
|
/* 02455ACC */ cpu->r[31] = cpu->r[3];
|
|
/* 02455AD0 */ cpu->r[4] = 0x101D0000u;
|
|
/* 02455AD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02455AD8 */ cpu->r[4] = cpu->r[4] + 0xFFFFEE1Cu;
|
|
/* 02455ADC */ _t169 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02455ADC */ _t170 = _t169 & 0x00000001u;
|
|
/* 02455ADC */ if (_t170) goto L_02455AE0; else goto L_02455AF0;
|
|
L_02455AE0: ; // 0x2455ae0
|
|
/* 02455AE0 */ _t171 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02455AE0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t171);
|
|
/* 02455AE4 */ cpu->r[8] = 0x00000001u;
|
|
/* 02455AE8 */ _t172 = cpu->r[7] + 0x00000000u;
|
|
/* 02455AE8 */ rbrew_write32(cpu->mem, _t172, cpu->r[8]);
|
|
/* 02455AEC */ _t173 = cpu->r[4] + 0x00000000u;
|
|
/* 02455AEC */ rbrew_write32(cpu->mem, _t173, cpu->r[5]);
|
|
L_02455AF0: ; // 0x2455af0
|
|
/* 02455AF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02455AF4 */ _t174 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02455AF4 */ _t175 = _t174 & 0x00000001u;
|
|
/* 02455AF4 */ if (_t175) goto L_02455B14; else goto L_02455AF8;
|
|
L_02455AF8: ; // 0x2455af8
|
|
/* 02455AF8 */ _t176 = cpu->r[31] + 0x00000000u;
|
|
/* 02455AF8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t176);
|
|
/* 02455AFC */ _t177 = cpu->r[9] + 0x0000001Cu;
|
|
/* 02455AFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t177);
|
|
/* 02455B00 */ cpu->ctr = cpu->r[12];
|
|
/* 02455B04 */ cpu->r[3] = cpu->r[31];
|
|
/* 02455B08 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02455B0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02455B10 */ _t178 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02455B10 */ _t179 = _t178 & 0x00000001u;
|
|
/* 02455B10 */ if (_t179) goto L_02455B14; else goto L_02455B18;
|
|
L_02455B14: ; // 0x2455b14
|
|
/* 02455B14 */ cpu->r[31] = 0x00000000u;
|
|
L_02455B18: ; // 0x2455b18
|
|
/* 02455B18 */ cpu->r[4] = 0x00002000u;
|
|
/* 02455B1C */ cpu->r[3] = cpu->r[31];
|
|
/* 02455B20 */ _t180 = cpu->r[17] + 0x00000294u;
|
|
/* 02455B20 */ rbrew_write32(cpu->mem, _t180, cpu->r[31]);
|
|
/* 02455B24 */ Gambit_fn_020DB1C8(cpu);
|
|
/* 02455B28 */ cpu->r[5] = 0x100A0000u;
|
|
/* 02455B2C */ _t181 = cpu->r[17] + 0x000002C4u;
|
|
/* 02455B2C */ cpu->r[11] = rbrew_read32(cpu->mem, _t181);
|
|
/* 02455B30 */ cpu->r[5] = cpu->r[5] + 0x00000514u;
|
|
/* 02455B34 */ _t182 = cpu->r[1] + 0x00000094u;
|
|
/* 02455B34 */ rbrew_write32(cpu->mem, _t182, cpu->r[14]);
|
|
/* 02455B38 */ cpu->r[6] = 0x00000001u;
|
|
/* 02455B3C */ _t183 = cpu->r[1] + 0x00000090u;
|
|
/* 02455B3C */ rbrew_write32(cpu->mem, _t183, cpu->r[5]);
|
|
/* 02455B40 */ cpu->r[0] = 0x100A0000u;
|
|
/* 02455B44 */ _t184 = cpu->r[1] + 0x00000098u;
|
|
/* 02455B44 */ rbrew_write32(cpu->mem, _t184, cpu->r[6]);
|
|
/* 02455B48 */ cpu->r[0] = cpu->r[0] + 0x00000338u;
|
|
/* 02455B4C */ _t185 = cpu->r[1] + 0x00000024u;
|
|
/* 02455B4C */ rbrew_write32(cpu->mem, _t185, cpu->r[5]);
|
|
/* 02455B50 */ cpu->r[10] = 0x00000000u;
|
|
/* 02455B54 */ _t186 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02455B54 */ rbrew_write32(cpu->mem, _t186, cpu->r[17]);
|
|
/* 02455B58 */ cpu->r[9] = 0x00000007u;
|
|
/* 02455B5C */ _t187 = cpu->r[1] + 0x000000B0u;
|
|
/* 02455B5C */ rbrew_write32(cpu->mem, _t187, cpu->r[0]);
|
|
/* 02455B60 */ cpu->r[8] = 0x00000006u;
|
|
/* 02455B64 */ _t188 = cpu->r[1] + 0x000000A4u;
|
|
/* 02455B64 */ rbrew_write8(cpu->mem, _t188, (uint8_t)cpu->r[10]);
|
|
/* 02455B68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02455B6C */ _t189 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02455B6C */ rbrew_write32(cpu->mem, _t189, cpu->r[8]);
|
|
/* 02455B70 */ _t190 = cpu->r[1] + 0x000000A8u;
|
|
/* 02455B70 */ rbrew_write32(cpu->mem, _t190, cpu->r[9]);
|
|
/* 02455B74 */ _t191 = cpu->r[17] + 0x000002C8u;
|
|
/* 02455B74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t191);
|
|
/* 02455B78 */ _t192 = cpu->r[1] + 0x00000028u;
|
|
/* 02455B78 */ rbrew_write32(cpu->mem, _t192, cpu->r[14]);
|
|
/* 02455B7C */ _t193 = cpu->r[1] + 0x000000A0u;
|
|
/* 02455B7C */ rbrew_write32(cpu->mem, _t193, cpu->r[0]);
|
|
/* 02455B80 */ _t194 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02455B80 */ _t195 = _t194 & 0x00000001u;
|
|
/* 02455B80 */ if (_t195) goto L_02455BE4; else goto L_02455B84;
|
|
L_02455B84: ; // 0x2455b84
|
|
/* 02455B84 */ cpu->r[3] = 0x00000000u;
|
|
/* 02455B88 */ cpu->r[4] = cpu->r[1] + 0x0000008Cu;
|
|
/* 02455B8C */ _t196 = cpu->r[1] + 0x000000ACu;
|
|
/* 02455B8C */ rbrew_write32(cpu->mem, _t196, cpu->r[10]);
|
|
/* 02455B90 */ Gambit_fn_020E07CC(cpu);
|
|
/* 02455B94 */ cpu->r[29] = 0x02450000u;
|
|
/* 02455B98 */ cpu->r[0] = 0x100A0000u;
|
|
/* 02455B9C */ cpu->r[29] = cpu->r[29] + 0x00006A50u;
|
|
/* 02455BA0 */ cpu->r[0] = cpu->r[0] + 0x0000051Cu;
|
|
/* 02455BA4 */ cpu->ctr = cpu->r[29];
|
|
/* 02455BA8 */ _t197 = cpu->r[17] + 0x00000290u;
|
|
/* 02455BA8 */ rbrew_write32(cpu->mem, _t197, cpu->r[3]);
|
|
/* 02455BAC */ cpu->r[28] = cpu->r[3];
|
|
/* 02455BB0 */ _t198 = cpu->r[1] + 0x00000028u;
|
|
/* 02455BB0 */ rbrew_write32(cpu->mem, _t198, cpu->r[14]);
|
|
/* 02455BB4 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02455BB8 */ _t199 = cpu->r[1] + 0x00000024u;
|
|
/* 02455BB8 */ rbrew_write32(cpu->mem, _t199, cpu->r[0]);
|
|
/* 02455BBC */ _t200 = cpu->r[28] + 0x0000003Cu;
|
|
/* 02455BBC */ cpu->r[30] = rbrew_read32(cpu->mem, _t200);
|
|
/* 02455BC0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02455BC4 */ _t201 = cpu->r[1] + 0x00000024u;
|
|
/* 02455BC4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t201);
|
|
/* 02455BC8 */ _t202 = cpu->r[1] + 0x00000019u;
|
|
/* 02455BC8 */ cpu->r[10] = rbrew_read8(cpu->mem, _t202);
|
|
/* 02455BCC */ _t203 = cpu->r[4] + 0x00000000u;
|
|
/* 02455BCC */ cpu->r[7] = rbrew_read8(cpu->mem, _t203);
|
|
/* 02455BD0 */ cpu->r[31] = 0x00000000u;
|
|
/* 02455BD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[10]);
|
|
/* 02455BD8 */ cpu->r[0] = 0x00080000u;
|
|
/* 02455BDC */ _t204 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02455BDC */ _t205 = _t204 & 0x00000001u;
|
|
/* 02455BDC */ if (_t205) goto L_02455BE0; else goto L_02455C44;
|
|
L_02455BE0: ; // 0x2455be0
|
|
/* 02455BE0 */ goto L_02455C68;
|
|
L_02455BE4: ; // 0x2455be4
|
|
/* 02455BE4 */ cpu->r[4] = 0x00000007u;
|
|
/* 02455BE8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02455BEC */ _t206 = cpu->r[1] + 0x000000ACu;
|
|
/* 02455BEC */ rbrew_write32(cpu->mem, _t206, cpu->r[4]);
|
|
/* 02455BF0 */ cpu->r[4] = cpu->r[1] + 0x0000008Cu;
|
|
/* 02455BF4 */ Gambit_fn_020E07CC(cpu);
|
|
/* 02455BF8 */ cpu->r[29] = 0x02450000u;
|
|
/* 02455BFC */ cpu->r[0] = 0x100A0000u;
|
|
/* 02455C00 */ cpu->r[29] = cpu->r[29] + 0x00006A50u;
|
|
/* 02455C04 */ cpu->r[0] = cpu->r[0] + 0x0000051Cu;
|
|
/* 02455C08 */ cpu->ctr = cpu->r[29];
|
|
/* 02455C0C */ _t207 = cpu->r[17] + 0x00000290u;
|
|
/* 02455C0C */ rbrew_write32(cpu->mem, _t207, cpu->r[3]);
|
|
/* 02455C10 */ cpu->r[28] = cpu->r[3];
|
|
/* 02455C14 */ _t208 = cpu->r[1] + 0x00000028u;
|
|
/* 02455C14 */ rbrew_write32(cpu->mem, _t208, cpu->r[14]);
|
|
/* 02455C18 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02455C1C */ _t209 = cpu->r[1] + 0x00000024u;
|
|
/* 02455C1C */ rbrew_write32(cpu->mem, _t209, cpu->r[0]);
|
|
/* 02455C20 */ _t210 = cpu->r[28] + 0x0000003Cu;
|
|
/* 02455C20 */ cpu->r[30] = rbrew_read32(cpu->mem, _t210);
|
|
/* 02455C24 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02455C28 */ _t211 = cpu->r[1] + 0x00000024u;
|
|
/* 02455C28 */ cpu->r[4] = rbrew_read32(cpu->mem, _t211);
|
|
/* 02455C2C */ _t212 = cpu->r[1] + 0x00000019u;
|
|
/* 02455C2C */ cpu->r[10] = rbrew_read8(cpu->mem, _t212);
|
|
/* 02455C30 */ _t213 = cpu->r[4] + 0x00000000u;
|
|
/* 02455C30 */ cpu->r[7] = rbrew_read8(cpu->mem, _t213);
|
|
/* 02455C34 */ cpu->r[31] = 0x00000000u;
|
|
/* 02455C38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[10]);
|
|
/* 02455C3C */ cpu->r[0] = 0x00080000u;
|
|
/* 02455C40 */ _t214 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02455C40 */ _t215 = _t214 & 0x00000001u;
|
|
/* 02455C40 */ if (_t215) goto L_02455BE0; else goto L_02455C44;
|
|
L_02455C44: ; // 0x2455c44
|
|
/* 02455C44 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02455C48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 02455C4C */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02455C50 */ _t216 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02455C50 */ _t217 = _t216 & 0x00000001u;
|
|
/* 02455C50 */ if (_t217) goto L_02455C64; else goto L_02455C54;
|
|
L_02455C54: ; // 0x2455c54
|
|
/* 02455C54 */ _t218 = cpu->r[4] + 0x00000000u;
|
|
/* 02455C54 */ cpu->r[8] = rbrew_read8(cpu->mem, _t218);
|
|
/* 02455C58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[10]);
|
|
/* 02455C5C */ _t219 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02455C5C */ _t220 = _t219 & 0x00000001u;
|
|
/* 02455C5C */ if (_t220) goto L_02455C60; else goto L_02455C44;
|
|
L_02455C60: ; // 0x2455c60
|
|
/* 02455C60 */ goto L_02455C68;
|
|
L_02455C64: ; // 0x2455c64
|
|
/* 02455C64 */ cpu->r[31] = 0x00000000u;
|
|
L_02455C68: ; // 0x2455c68
|
|
/* 02455C68 */ _t221 = cpu->r[28] + 0x00000044u;
|
|
/* 02455C68 */ cpu->r[11] = rbrew_read32(cpu->mem, _t221);
|
|
/* 02455C6C */ _t222 = cpu->r[1] + 0x00000028u;
|
|
/* 02455C6C */ cpu->r[9] = rbrew_read32(cpu->mem, _t222);
|
|
/* 02455C70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[11]);
|
|
/* 02455C74 */ _t223 = cpu->r[9] + 0x00000014u;
|
|
/* 02455C74 */ cpu->r[10] = rbrew_read32(cpu->mem, _t223);
|
|
/* 02455C78 */ _t224 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02455C78 */ _t225 = _t224 & 0x00000001u;
|
|
/* 02455C78 */ if (_t225) goto L_02455C80; else goto L_02455C7C;
|
|
L_02455C7C: ; // 0x2455c7c
|
|
/* 02455C7C */ cpu->r[31] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_02455C80: ; // 0x2455c80
|
|
/* 02455C80 */ cpu->ctr = cpu->r[10];
|
|
/* 02455C84 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02455C88 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02455C8C */ _t226 = cpu->r[1] + 0x00000024u;
|
|
/* 02455C8C */ cpu->r[4] = rbrew_read32(cpu->mem, _t226);
|
|
/* 02455C90 */ cpu->r[3] = cpu->r[30];
|
|
/* 02455C94 */ cpu->r[5] = cpu->r[31];
|
|
/* 02455C98 */ cpu->r[6] = 0x00000000u;
|
|
/* 02455C9C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02455CA0 */ _t227 = cpu->r[1] + 0x00000019u;
|
|
/* 02455CA0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t227);
|
|
/* 02455CA4 */ cpu->ctr = cpu->r[29];
|
|
/* 02455CA8 */ _t228 = cpu->r[30] + cpu->r[31];
|
|
/* 02455CA8 */ rbrew_write8(cpu->mem, _t228, (uint8_t)cpu->r[0]);
|
|
/* 02455CAC */ cpu->r[0] = 0x100A0000u;
|
|
/* 02455CB0 */ _t229 = cpu->r[1] + 0x00000028u;
|
|
/* 02455CB0 */ rbrew_write32(cpu->mem, _t229, cpu->r[14]);
|
|
/* 02455CB4 */ cpu->r[0] = cpu->r[0] + 0x00000524u;
|
|
/* 02455CB8 */ _t230 = cpu->r[17] + 0x00000290u;
|
|
/* 02455CB8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t230);
|
|
/* 02455CBC */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02455CC0 */ _t231 = cpu->r[1] + 0x00000024u;
|
|
/* 02455CC0 */ rbrew_write32(cpu->mem, _t231, cpu->r[0]);
|
|
/* 02455CC4 */ _t232 = cpu->r[28] + 0x00000068u;
|
|
/* 02455CC4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t232);
|
|
/* 02455CC8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02455CCC */ _t233 = cpu->r[1] + 0x00000024u;
|
|
/* 02455CCC */ cpu->r[5] = rbrew_read32(cpu->mem, _t233);
|
|
/* 02455CD0 */ _t234 = cpu->r[1] + 0x00000019u;
|
|
/* 02455CD0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t234);
|
|
/* 02455CD4 */ _t235 = cpu->r[5] + 0x00000000u;
|
|
/* 02455CD4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t235);
|
|
/* 02455CD8 */ cpu->r[7] = 0x00080000u;
|
|
/* 02455CDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 02455CE0 */ cpu->r[31] = 0x00000000u;
|
|
/* 02455CE4 */ _t236 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02455CE4 */ _t237 = _t236 & 0x00000001u;
|
|
/* 02455CE4 */ if (_t237) goto L_02455D0C; else goto L_02455CE8;
|
|
L_02455CE8: ; // 0x2455ce8
|
|
/* 02455CE8 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02455CEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[7]);
|
|
/* 02455CF0 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02455CF4 */ _t238 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02455CF4 */ _t239 = _t238 & 0x00000001u;
|
|
/* 02455CF4 */ if (_t239) goto L_02455D08; else goto L_02455CF8;
|
|
L_02455CF8: ; // 0x2455cf8
|
|
/* 02455CF8 */ _t240 = cpu->r[5] + 0x00000000u;
|
|
/* 02455CF8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t240);
|
|
/* 02455CFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02455D00 */ _t241 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02455D00 */ _t242 = _t241 & 0x00000001u;
|
|
/* 02455D00 */ if (_t242) goto L_02455D04; else goto L_02455CE8;
|
|
L_02455D04: ; // 0x2455d04
|
|
/* 02455D04 */ goto L_02455D0C;
|
|
L_02455D08: ; // 0x2455d08
|
|
/* 02455D08 */ cpu->r[31] = 0x00000000u;
|
|
L_02455D0C: ; // 0x2455d0c
|
|
/* 02455D0C */ _t243 = cpu->r[28] + 0x00000070u;
|
|
/* 02455D0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t243);
|
|
/* 02455D10 */ _t244 = cpu->r[1] + 0x00000028u;
|
|
/* 02455D10 */ cpu->r[4] = rbrew_read32(cpu->mem, _t244);
|
|
/* 02455D14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
|
|
/* 02455D18 */ _t245 = cpu->r[4] + 0x00000014u;
|
|
/* 02455D18 */ cpu->r[5] = rbrew_read32(cpu->mem, _t245);
|
|
/* 02455D1C */ _t246 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02455D1C */ _t247 = _t246 & 0x00000001u;
|
|
/* 02455D1C */ if (_t247) goto L_02455D24; else goto L_02455D20;
|
|
L_02455D20: ; // 0x2455d20
|
|
/* 02455D20 */ cpu->r[31] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_02455D24: ; // 0x2455d24
|
|
/* 02455D24 */ cpu->ctr = cpu->r[5];
|
|
/* 02455D28 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02455D2C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02455D30 */ _t248 = cpu->r[1] + 0x00000024u;
|
|
/* 02455D30 */ cpu->r[4] = rbrew_read32(cpu->mem, _t248);
|
|
/* 02455D34 */ cpu->r[6] = 0x00000000u;
|
|
/* 02455D38 */ cpu->r[5] = cpu->r[31];
|
|
/* 02455D3C */ cpu->r[3] = cpu->r[30];
|
|
/* 02455D40 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02455D44 */ _t249 = cpu->r[1] + 0x00000019u;
|
|
/* 02455D44 */ cpu->r[0] = rbrew_read8(cpu->mem, _t249);
|
|
/* 02455D48 */ _t250 = cpu->r[30] + cpu->r[31];
|
|
/* 02455D48 */ rbrew_write8(cpu->mem, _t250, (uint8_t)cpu->r[0]);
|
|
/* 02455D4C */ _t251 = cpu->r[17] + 0x00000290u;
|
|
/* 02455D4C */ cpu->r[9] = rbrew_read32(cpu->mem, _t251);
|
|
/* 02455D50 */ cpu->r[6] = 0x00000002u;
|
|
/* 02455D54 */ _t252 = cpu->r[9] + 0x00000094u;
|
|
/* 02455D54 */ rbrew_write32(cpu->mem, _t252, cpu->r[6]);
|
|
/* 02455D58 */ _t253 = cpu->r[17] + 0x00000290u;
|
|
/* 02455D58 */ cpu->r[10] = rbrew_read32(cpu->mem, _t253);
|
|
/* 02455D5C */ cpu->r[7] = 0x00000003u;
|
|
/* 02455D60 */ _t254 = cpu->r[10] + 0x00000098u;
|
|
/* 02455D60 */ rbrew_write32(cpu->mem, _t254, cpu->r[7]);
|
|
/* 02455D64 */ _t255 = cpu->r[17] + 0x00000290u;
|
|
/* 02455D64 */ cpu->r[11] = rbrew_read32(cpu->mem, _t255);
|
|
/* 02455D68 */ cpu->r[8] = 0x00000004u;
|
|
/* 02455D6C */ _t256 = cpu->r[11] + 0x0000009Cu;
|
|
/* 02455D6C */ rbrew_write32(cpu->mem, _t256, cpu->r[8]);
|
|
/* 02455D70 */ _t257 = cpu->r[17] + 0x00000290u;
|
|
/* 02455D70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t257);
|
|
/* 02455D74 */ _t258 = cpu->r[12] + 0x000000A0u;
|
|
/* 02455D74 */ rbrew_write32(cpu->mem, _t258, cpu->r[8]);
|
|
/* 02455D78 */ _t259 = cpu->r[17] + 0x00000290u;
|
|
/* 02455D78 */ cpu->r[4] = rbrew_read32(cpu->mem, _t259);
|
|
/* 02455D7C */ cpu->r[10] = cpu->r[17] + 0x000001DCu;
|
|
/* 02455D80 */ _t260 = cpu->r[4] + 0x000000A4u;
|
|
/* 02455D80 */ rbrew_write32(cpu->mem, _t260, cpu->r[10]);
|
|
/* 02455D84 */ /* nop */
|
|
/* 02455D88 */ _t261 = cpu->r[1] + 0x00000104u;
|
|
/* 02455D88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t261);
|
|
/* 02455D8C */ cpu->lr = cpu->r[0];
|
|
/* 02455D90 */ cpu->r[1] = cpu->r[1] + 0x00000100u;
|
|
/* 02455D94 */ return;
|
|
}
|
|
|
|
// fn_02455D98 @ 0x2455d98
|
|
void Gambit_fn_02455D98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02455D98: ; // 0x2455d98
|
|
/* 02455D98 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02455D98 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02455D98 */ cpu->r[1] = _t0;
|
|
/* 02455D9C */ /* nop */
|
|
/* 02455DA0 */ cpu->r[0] = cpu->lr;
|
|
/* 02455DA4 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 02455DA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02455DA8 */ cpu->r[0] = cpu->r[1] + 0x00000014u;
|
|
/* 02455DAC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02455DAC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02455DB0 */ cpu->r[0] = 0x100A0000u;
|
|
/* 02455DB4 */ cpu->r[0] = cpu->r[0] + 0x00000280u;
|
|
/* 02455DB8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02455DB8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02455DBC */ cpu->r[9] = 0x00000020u;
|
|
/* 02455DC0 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02455DC0 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 02455DC4 */ cpu->r[27] = 0x00000000u;
|
|
/* 02455DC8 */ cpu->r[12] = 0x10110000u;
|
|
/* 02455DCC */ cpu->r[30] = 0x100A0000u;
|
|
/* 02455DD0 */ _t5 = cpu->r[12] + 0x00007399u;
|
|
/* 02455DD0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02455DD4 */ cpu->r[26] = cpu->r[27];
|
|
/* 02455DD8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02455DDC */ cpu->r[25] = 0x00000007u;
|
|
/* 02455DE0 */ _t6 = cpu->r[1] + 0x00000033u;
|
|
/* 02455DE0 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[12]);
|
|
/* 02455DE4 */ cpu->r[28] = cpu->r[31] + 0x00000298u;
|
|
/* 02455DE8 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02455DE8 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[12]);
|
|
L_02455DEC: ; // 0x2455dec
|
|
/* 02455DEC */ cpu->r[5] = cpu->r[27];
|
|
/* 02455DF0 */ cpu->r[4] = cpu->r[30] + 0x00000584u;
|
|
/* 02455DF4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02455DF8 */ _t8 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02455DF8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02455DF8 */ if (_t9) goto L_02455DFC; // else: addr-0 trap, fall-through
|
|
L_02455DFC: ; // 0x2455dfc
|
|
/* 02455DFC */ Gambit_fn_0282A5F4(cpu);
|
|
/* 02455E00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], 0x00000007u);
|
|
/* 02455E04 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02455E04 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02455E04 */ if (_t11) goto L_02455E08; else goto L_02455E30;
|
|
L_02455E08: ; // 0x2455e08
|
|
/* 02455E08 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02455E0C */ cpu->r[3] = 0x00000000u;
|
|
/* 02455E10 */ cpu->r[4] = cpu->r[31];
|
|
/* 02455E14 */ Gambit_fn_020A7150(cpu);
|
|
/* 02455E18 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 02455E18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02455E1C */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 02455E20 */ _t12 = cpu->r[28] + cpu->r[26];
|
|
/* 02455E20 */ rbrew_write32(cpu->mem, _t12, cpu->r[3]);
|
|
/* 02455E24 */ cpu->r[26] = cpu->r[26] + 0x00000004u;
|
|
/* 02455E28 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02455E28 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02455E28 */ if (_t14) goto L_02455E2C; else goto L_02455DEC;
|
|
L_02455E2C: ; // 0x2455e2c
|
|
/* 02455E2C */ goto L_02455E54;
|
|
L_02455E30: ; // 0x2455e30
|
|
/* 02455E30 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02455E34 */ cpu->r[3] = 0x00000000u;
|
|
/* 02455E38 */ cpu->r[4] = cpu->r[31];
|
|
/* 02455E3C */ Gambit_fn_020A7150(cpu);
|
|
/* 02455E40 */ _t15 = cpu->r[28] + 0x00000000u;
|
|
/* 02455E40 */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
/* 02455E44 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 02455E44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02455E48 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 02455E4C */ cpu->r[26] = cpu->r[26] + 0x00000004u;
|
|
/* 02455E50 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02455E50 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02455E50 */ if (_t17) goto L_02455E54; else goto L_02455DEC;
|
|
L_02455E54: ; // 0x2455e54
|
|
/* 02455E54 */ /* nop */
|
|
/* 02455E58 */ _t18 = cpu->r[1] + 0x00000054u;
|
|
/* 02455E58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02455E5C */ cpu->lr = cpu->r[0];
|
|
/* 02455E60 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02455E64 */ return;
|
|
}
|
|
|
|
// fn_02455E68 @ 0x2455e68
|
|
void Gambit_fn_02455E68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66;
|
|
|
|
L_02455E68: ; // 0x2455e68
|
|
/* 02455E68 */ cpu->r[0] = cpu->lr;
|
|
/* 02455E6C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02455E6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02455E6C */ cpu->r[1] = _t0;
|
|
/* 02455E70 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02455E70 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02455E74 */ cpu->r[31] = 0x100A0000u;
|
|
/* 02455E78 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02455E78 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02455E7C */ cpu->r[31] = cpu->r[31] + 0x00000238u;
|
|
/* 02455E80 */ cpu->r[30] = cpu->r[4];
|
|
/* 02455E84 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02455E84 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02455E88 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02455E88 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02455E8C */ cpu->r[0] = 0x100A0000u;
|
|
/* 02455E90 */ _t5 = cpu->r[30] + 0x00000090u;
|
|
/* 02455E90 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02455E94 */ cpu->r[0] = cpu->r[0] + 0x000005B0u;
|
|
/* 02455E98 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02455E98 */ rbrew_write32(cpu->mem, _t6, cpu->r[31]);
|
|
/* 02455E9C */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02455E9C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02455EA0 */ _t8 = cpu->r[10] + 0x00000014u;
|
|
/* 02455EA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02455EA4 */ cpu->ctr = cpu->r[0];
|
|
/* 02455EA8 */ cpu->r[3] = cpu->r[30] + 0x0000008Cu;
|
|
/* 02455EAC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02455EB0 */ _t9 = cpu->r[30] + 0x00000090u;
|
|
/* 02455EB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02455EB4 */ _t10 = cpu->r[12] + 0x00000014u;
|
|
/* 02455EB4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02455EB8 */ cpu->ctr = cpu->r[6];
|
|
/* 02455EBC */ cpu->r[3] = cpu->r[30] + 0x0000008Cu;
|
|
/* 02455EC0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02455EC4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02455EC4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02455EC8 */ _t12 = cpu->r[7] + 0x00000014u;
|
|
/* 02455EC8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02455ECC */ cpu->ctr = cpu->r[8];
|
|
/* 02455ED0 */ _t13 = cpu->r[30] + 0x0000008Cu;
|
|
/* 02455ED0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02455ED4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02455ED8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02455EDC */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02455EDC */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02455EE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[9]);
|
|
/* 02455EE4 */ cpu->r[29] = 0x10110000u;
|
|
/* 02455EE8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02455EE8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02455EE8 */ if (_t16) goto L_02455EEC; else goto L_02455F0C;
|
|
L_02455EEC: ; // 0x2455eec
|
|
/* 02455EEC */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02455EEC */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02455EF0 */ _t18 = cpu->r[1] + 0x00000024u;
|
|
/* 02455EF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02455EF4 */ _t19 = cpu->r[1] + 0x00000018u;
|
|
/* 02455EF4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02455EF8 */ cpu->lr = cpu->r[0];
|
|
/* 02455EFC */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02455EFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02455F00 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02455F04 */ cpu->r[3] = 0x00000004u;
|
|
/* 02455F08 */ return;
|
|
L_02455F0C: ; // 0x2455f0c
|
|
/* 02455F0C */ _t21 = cpu->r[30] + 0x0000008Cu;
|
|
/* 02455F0C */ cpu->r[6] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02455F10 */ cpu->r[0] = 0x00080000u;
|
|
/* 02455F14 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02455F14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02455F18 */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 02455F1C */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 02455F20 */ _t23 = cpu->r[29] + 0x00007399u;
|
|
/* 02455F20 */ cpu->r[11] = rbrew_read8(cpu->mem, _t23);
|
|
/* 02455F24 */ cpu->ctr = cpu->r[0];
|
|
/* 02455F28 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_02455F2C: ; // 0x2455f2c
|
|
/* 02455F2C */ _t24 = cpu->r[6] + 0x00000001u;
|
|
/* 02455F2C */ cpu->r[0] = rbrew_read8(cpu->mem, _t24);
|
|
/* 02455F2C */ cpu->r[6] = _t24;
|
|
/* 02455F30 */ _t25 = cpu->r[12] + 0x00000001u;
|
|
/* 02455F30 */ cpu->r[10] = rbrew_read8(cpu->mem, _t25);
|
|
/* 02455F30 */ cpu->r[12] = _t25;
|
|
/* 02455F34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[10]);
|
|
/* 02455F38 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02455F38 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02455F38 */ if (_t27) goto L_02455F3C; else goto L_02455F48;
|
|
L_02455F3C: ; // 0x2455f3c
|
|
/* 02455F3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
|
|
/* 02455F40 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02455F40 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02455F40 */ if (_t29) goto L_02455EEC; else goto L_02455F44;
|
|
L_02455F44: ; // 0x2455f44
|
|
/* 02455F44 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02455F44 */ _t30 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02455F44 */ _t31 = _t30 >> (0x00000002u & 31u);
|
|
/* 02455F44 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02455F44 */ if (_t32) goto L_02455F2C; else goto L_02455F48;
|
|
L_02455F48: ; // 0x2455f48
|
|
/* 02455F48 */ cpu->r[11] = 0x100A0000u;
|
|
/* 02455F4C */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02455F4C */ rbrew_write32(cpu->mem, _t33, cpu->r[31]);
|
|
/* 02455F50 */ cpu->r[11] = cpu->r[11] + 0x0000059Cu;
|
|
/* 02455F54 */ _t34 = cpu->r[30] + 0x00000090u;
|
|
/* 02455F54 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02455F58 */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 02455F58 */ rbrew_write32(cpu->mem, _t35, cpu->r[11]);
|
|
/* 02455F5C */ _t36 = cpu->r[12] + 0x00000014u;
|
|
/* 02455F5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02455F60 */ cpu->ctr = cpu->r[0];
|
|
/* 02455F64 */ cpu->r[3] = cpu->r[30] + 0x0000008Cu;
|
|
/* 02455F68 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02455F6C */ _t37 = cpu->r[30] + 0x00000090u;
|
|
/* 02455F6C */ cpu->r[6] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02455F70 */ _t38 = cpu->r[6] + 0x00000014u;
|
|
/* 02455F70 */ cpu->r[7] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02455F74 */ cpu->ctr = cpu->r[7];
|
|
/* 02455F78 */ cpu->r[3] = cpu->r[30] + 0x0000008Cu;
|
|
/* 02455F7C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02455F80 */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02455F80 */ cpu->r[8] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02455F84 */ _t40 = cpu->r[8] + 0x00000014u;
|
|
/* 02455F84 */ cpu->r[9] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02455F88 */ cpu->ctr = cpu->r[9];
|
|
/* 02455F8C */ _t41 = cpu->r[30] + 0x0000008Cu;
|
|
/* 02455F8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02455F90 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02455F94 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02455F98 */ _t42 = cpu->r[1] + 0x00000008u;
|
|
/* 02455F98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02455F9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[12]);
|
|
/* 02455FA0 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02455FA0 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02455FA0 */ if (_t44) goto L_02455FA4; else goto L_02455FC4;
|
|
L_02455FA4: ; // 0x2455fa4
|
|
/* 02455FA4 */ _t45 = cpu->r[1] + 0x00000014u;
|
|
/* 02455FA4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02455FA8 */ _t46 = cpu->r[1] + 0x00000024u;
|
|
/* 02455FA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02455FAC */ _t47 = cpu->r[1] + 0x00000018u;
|
|
/* 02455FAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02455FB0 */ cpu->lr = cpu->r[0];
|
|
/* 02455FB4 */ _t48 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02455FB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02455FB8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02455FBC */ cpu->r[3] = 0x00000004u;
|
|
/* 02455FC0 */ return;
|
|
L_02455FC4: ; // 0x2455fc4
|
|
/* 02455FC4 */ _t49 = cpu->r[30] + 0x0000008Cu;
|
|
/* 02455FC4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02455FC8 */ cpu->r[11] = 0x00080000u;
|
|
/* 02455FCC */ _t50 = cpu->r[1] + 0x00000008u;
|
|
/* 02455FCC */ cpu->r[9] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02455FD0 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02455FD4 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02455FD8 */ _t51 = cpu->r[29] + 0x00007399u;
|
|
/* 02455FD8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t51);
|
|
/* 02455FDC */ cpu->ctr = cpu->r[11];
|
|
/* 02455FE0 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_02455FE4: ; // 0x2455fe4
|
|
/* 02455FE4 */ _t52 = cpu->r[10] + 0x00000001u;
|
|
/* 02455FE4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t52);
|
|
/* 02455FE4 */ cpu->r[10] = _t52;
|
|
/* 02455FE8 */ _t53 = cpu->r[9] + 0x00000001u;
|
|
/* 02455FE8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t53);
|
|
/* 02455FE8 */ cpu->r[9] = _t53;
|
|
/* 02455FEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[6]);
|
|
/* 02455FF0 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02455FF0 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02455FF0 */ if (_t55) goto L_02455FF4; else goto L_02456000;
|
|
L_02455FF4: ; // 0x2455ff4
|
|
/* 02455FF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 02455FF8 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02455FF8 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02455FF8 */ if (_t57) goto L_02455FA4; else goto L_02455FFC;
|
|
L_02455FFC: ; // 0x2455ffc
|
|
/* 02455FFC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02455FFC */ _t58 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02455FFC */ _t59 = _t58 >> (0x00000002u & 31u);
|
|
/* 02455FFC */ _t60 = _t59 & 0x00000001u;
|
|
/* 02455FFC */ if (_t60) goto L_02455FE4; else goto L_02456000;
|
|
L_02456000: ; // 0x2456000
|
|
/* 02456000 */ cpu->r[3] = cpu->r[30];
|
|
/* 02456004 */ Gambit_fn_020E6908(cpu);
|
|
/* 02456008 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0245600C */ _t61 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245600C */ _t62 = _t61 & 0x00000001u;
|
|
/* 0245600C */ if (_t62) goto L_02456010; else goto L_02456014;
|
|
L_02456010: ; // 0x2456010
|
|
/* 02456010 */ cpu->r[3] = 0x00000000u;
|
|
L_02456014: ; // 0x2456014
|
|
/* 02456014 */ _t63 = cpu->r[1] + 0x00000014u;
|
|
/* 02456014 */ cpu->r[29] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02456018 */ _t64 = cpu->r[1] + 0x00000024u;
|
|
/* 02456018 */ cpu->r[0] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0245601C */ _t65 = cpu->r[1] + 0x00000018u;
|
|
/* 0245601C */ cpu->r[30] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02456020 */ cpu->lr = cpu->r[0];
|
|
/* 02456024 */ _t66 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02456024 */ cpu->r[31] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02456028 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0245602C */ return;
|
|
}
|
|
|
|
// fn_02455E6C @ 0x2455e6c
|
|
void Gambit_fn_02455E6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66;
|
|
|
|
L_02455E6C: ; // 0x2455e6c
|
|
/* 02455E6C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02455E6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02455E6C */ cpu->r[1] = _t0;
|
|
/* 02455E70 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02455E70 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02455E74 */ cpu->r[31] = 0x100A0000u;
|
|
/* 02455E78 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02455E78 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02455E7C */ cpu->r[31] = cpu->r[31] + 0x00000238u;
|
|
/* 02455E80 */ cpu->r[30] = cpu->r[4];
|
|
/* 02455E84 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02455E84 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02455E88 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02455E88 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02455E8C */ cpu->r[0] = 0x100A0000u;
|
|
/* 02455E90 */ _t5 = cpu->r[30] + 0x00000090u;
|
|
/* 02455E90 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02455E94 */ cpu->r[0] = cpu->r[0] + 0x000005B0u;
|
|
/* 02455E98 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02455E98 */ rbrew_write32(cpu->mem, _t6, cpu->r[31]);
|
|
/* 02455E9C */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02455E9C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02455EA0 */ _t8 = cpu->r[10] + 0x00000014u;
|
|
/* 02455EA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02455EA4 */ cpu->ctr = cpu->r[0];
|
|
/* 02455EA8 */ cpu->r[3] = cpu->r[30] + 0x0000008Cu;
|
|
/* 02455EAC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02455EB0 */ _t9 = cpu->r[30] + 0x00000090u;
|
|
/* 02455EB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02455EB4 */ _t10 = cpu->r[12] + 0x00000014u;
|
|
/* 02455EB4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02455EB8 */ cpu->ctr = cpu->r[6];
|
|
/* 02455EBC */ cpu->r[3] = cpu->r[30] + 0x0000008Cu;
|
|
/* 02455EC0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02455EC4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02455EC4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02455EC8 */ _t12 = cpu->r[7] + 0x00000014u;
|
|
/* 02455EC8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02455ECC */ cpu->ctr = cpu->r[8];
|
|
/* 02455ED0 */ _t13 = cpu->r[30] + 0x0000008Cu;
|
|
/* 02455ED0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02455ED4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02455ED8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02455EDC */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02455EDC */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02455EE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[9]);
|
|
/* 02455EE4 */ cpu->r[29] = 0x10110000u;
|
|
/* 02455EE8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02455EE8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02455EE8 */ if (_t16) goto L_02455EEC; else goto L_02455F0C;
|
|
L_02455EEC: ; // 0x2455eec
|
|
/* 02455EEC */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02455EEC */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02455EF0 */ _t18 = cpu->r[1] + 0x00000024u;
|
|
/* 02455EF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02455EF4 */ _t19 = cpu->r[1] + 0x00000018u;
|
|
/* 02455EF4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02455EF8 */ cpu->lr = cpu->r[0];
|
|
/* 02455EFC */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02455EFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02455F00 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02455F04 */ cpu->r[3] = 0x00000004u;
|
|
/* 02455F08 */ return;
|
|
L_02455F0C: ; // 0x2455f0c
|
|
/* 02455F0C */ _t21 = cpu->r[30] + 0x0000008Cu;
|
|
/* 02455F0C */ cpu->r[6] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02455F10 */ cpu->r[0] = 0x00080000u;
|
|
/* 02455F14 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02455F14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02455F18 */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 02455F1C */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 02455F20 */ _t23 = cpu->r[29] + 0x00007399u;
|
|
/* 02455F20 */ cpu->r[11] = rbrew_read8(cpu->mem, _t23);
|
|
/* 02455F24 */ cpu->ctr = cpu->r[0];
|
|
/* 02455F28 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_02455F2C: ; // 0x2455f2c
|
|
/* 02455F2C */ _t24 = cpu->r[6] + 0x00000001u;
|
|
/* 02455F2C */ cpu->r[0] = rbrew_read8(cpu->mem, _t24);
|
|
/* 02455F2C */ cpu->r[6] = _t24;
|
|
/* 02455F30 */ _t25 = cpu->r[12] + 0x00000001u;
|
|
/* 02455F30 */ cpu->r[10] = rbrew_read8(cpu->mem, _t25);
|
|
/* 02455F30 */ cpu->r[12] = _t25;
|
|
/* 02455F34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[10]);
|
|
/* 02455F38 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02455F38 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02455F38 */ if (_t27) goto L_02455F3C; else goto L_02455F48;
|
|
L_02455F3C: ; // 0x2455f3c
|
|
/* 02455F3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
|
|
/* 02455F40 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02455F40 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02455F40 */ if (_t29) goto L_02455EEC; else goto L_02455F44;
|
|
L_02455F44: ; // 0x2455f44
|
|
/* 02455F44 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02455F44 */ _t30 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02455F44 */ _t31 = _t30 >> (0x00000002u & 31u);
|
|
/* 02455F44 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02455F44 */ if (_t32) goto L_02455F2C; else goto L_02455F48;
|
|
L_02455F48: ; // 0x2455f48
|
|
/* 02455F48 */ cpu->r[11] = 0x100A0000u;
|
|
/* 02455F4C */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02455F4C */ rbrew_write32(cpu->mem, _t33, cpu->r[31]);
|
|
/* 02455F50 */ cpu->r[11] = cpu->r[11] + 0x0000059Cu;
|
|
/* 02455F54 */ _t34 = cpu->r[30] + 0x00000090u;
|
|
/* 02455F54 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02455F58 */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 02455F58 */ rbrew_write32(cpu->mem, _t35, cpu->r[11]);
|
|
/* 02455F5C */ _t36 = cpu->r[12] + 0x00000014u;
|
|
/* 02455F5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02455F60 */ cpu->ctr = cpu->r[0];
|
|
/* 02455F64 */ cpu->r[3] = cpu->r[30] + 0x0000008Cu;
|
|
/* 02455F68 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02455F6C */ _t37 = cpu->r[30] + 0x00000090u;
|
|
/* 02455F6C */ cpu->r[6] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02455F70 */ _t38 = cpu->r[6] + 0x00000014u;
|
|
/* 02455F70 */ cpu->r[7] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02455F74 */ cpu->ctr = cpu->r[7];
|
|
/* 02455F78 */ cpu->r[3] = cpu->r[30] + 0x0000008Cu;
|
|
/* 02455F7C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02455F80 */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02455F80 */ cpu->r[8] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02455F84 */ _t40 = cpu->r[8] + 0x00000014u;
|
|
/* 02455F84 */ cpu->r[9] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02455F88 */ cpu->ctr = cpu->r[9];
|
|
/* 02455F8C */ _t41 = cpu->r[30] + 0x0000008Cu;
|
|
/* 02455F8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02455F90 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02455F94 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02455F98 */ _t42 = cpu->r[1] + 0x00000008u;
|
|
/* 02455F98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02455F9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[12]);
|
|
/* 02455FA0 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02455FA0 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02455FA0 */ if (_t44) goto L_02455FA4; else goto L_02455FC4;
|
|
L_02455FA4: ; // 0x2455fa4
|
|
/* 02455FA4 */ _t45 = cpu->r[1] + 0x00000014u;
|
|
/* 02455FA4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02455FA8 */ _t46 = cpu->r[1] + 0x00000024u;
|
|
/* 02455FA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02455FAC */ _t47 = cpu->r[1] + 0x00000018u;
|
|
/* 02455FAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02455FB0 */ cpu->lr = cpu->r[0];
|
|
/* 02455FB4 */ _t48 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02455FB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02455FB8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02455FBC */ cpu->r[3] = 0x00000004u;
|
|
/* 02455FC0 */ return;
|
|
L_02455FC4: ; // 0x2455fc4
|
|
/* 02455FC4 */ _t49 = cpu->r[30] + 0x0000008Cu;
|
|
/* 02455FC4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02455FC8 */ cpu->r[11] = 0x00080000u;
|
|
/* 02455FCC */ _t50 = cpu->r[1] + 0x00000008u;
|
|
/* 02455FCC */ cpu->r[9] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02455FD0 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02455FD4 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02455FD8 */ _t51 = cpu->r[29] + 0x00007399u;
|
|
/* 02455FD8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t51);
|
|
/* 02455FDC */ cpu->ctr = cpu->r[11];
|
|
/* 02455FE0 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_02455FE4: ; // 0x2455fe4
|
|
/* 02455FE4 */ _t52 = cpu->r[10] + 0x00000001u;
|
|
/* 02455FE4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t52);
|
|
/* 02455FE4 */ cpu->r[10] = _t52;
|
|
/* 02455FE8 */ _t53 = cpu->r[9] + 0x00000001u;
|
|
/* 02455FE8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t53);
|
|
/* 02455FE8 */ cpu->r[9] = _t53;
|
|
/* 02455FEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[6]);
|
|
/* 02455FF0 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02455FF0 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02455FF0 */ if (_t55) goto L_02455FF4; else goto L_02456000;
|
|
L_02455FF4: ; // 0x2455ff4
|
|
/* 02455FF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 02455FF8 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02455FF8 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02455FF8 */ if (_t57) goto L_02455FA4; else goto L_02455FFC;
|
|
L_02455FFC: ; // 0x2455ffc
|
|
/* 02455FFC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02455FFC */ _t58 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02455FFC */ _t59 = _t58 >> (0x00000002u & 31u);
|
|
/* 02455FFC */ _t60 = _t59 & 0x00000001u;
|
|
/* 02455FFC */ if (_t60) goto L_02455FE4; else goto L_02456000;
|
|
L_02456000: ; // 0x2456000
|
|
/* 02456000 */ cpu->r[3] = cpu->r[30];
|
|
/* 02456004 */ Gambit_fn_020E6908(cpu);
|
|
/* 02456008 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0245600C */ _t61 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245600C */ _t62 = _t61 & 0x00000001u;
|
|
/* 0245600C */ if (_t62) goto L_02456010; else goto L_02456014;
|
|
L_02456010: ; // 0x2456010
|
|
/* 02456010 */ cpu->r[3] = 0x00000000u;
|
|
L_02456014: ; // 0x2456014
|
|
/* 02456014 */ _t63 = cpu->r[1] + 0x00000014u;
|
|
/* 02456014 */ cpu->r[29] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02456018 */ _t64 = cpu->r[1] + 0x00000024u;
|
|
/* 02456018 */ cpu->r[0] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0245601C */ _t65 = cpu->r[1] + 0x00000018u;
|
|
/* 0245601C */ cpu->r[30] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02456020 */ cpu->lr = cpu->r[0];
|
|
/* 02456024 */ _t66 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02456024 */ cpu->r[31] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02456028 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0245602C */ return;
|
|
}
|
|
|
|
// fn_02456030 @ 0x2456030
|
|
void Gambit_fn_02456030(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02456030: ; // 0x2456030
|
|
/* 02456030 */ cpu->r[0] = cpu->lr;
|
|
/* 02456034 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02456034 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02456034 */ cpu->r[1] = _t0;
|
|
/* 02456038 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02456038 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245603C */ cpu->r[31] = cpu->r[3];
|
|
/* 02456040 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02456040 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02456044 */ _t3 = cpu->r[31] + 0x00000294u;
|
|
/* 02456044 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02456048 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 02456048 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0245604C */ _t5 = cpu->r[12] + 0x000000DCu;
|
|
/* 0245604C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02456050 */ cpu->ctr = cpu->r[0];
|
|
/* 02456054 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02456058 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0245605C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245605C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0245605C */ if (_t7) goto L_02456068; else goto L_02456060;
|
|
L_02456060: ; // 0x2456060
|
|
/* 02456060 */ _t8 = cpu->r[31] + 0x00000294u;
|
|
/* 02456060 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02456064 */ Gambit_fn_020C39E0(cpu);
|
|
L_02456068: ; // 0x2456068
|
|
/* 02456068 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02456068 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0245606C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245606C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02456070 */ cpu->lr = cpu->r[0];
|
|
/* 02456074 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02456078 */ return;
|
|
}
|
|
|
|
// fn_02456034 @ 0x2456034
|
|
void Gambit_fn_02456034(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02456034: ; // 0x2456034
|
|
/* 02456034 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02456034 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02456034 */ cpu->r[1] = _t0;
|
|
/* 02456038 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02456038 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245603C */ cpu->r[31] = cpu->r[3];
|
|
/* 02456040 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02456040 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02456044 */ _t3 = cpu->r[31] + 0x00000294u;
|
|
/* 02456044 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02456048 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 02456048 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0245604C */ _t5 = cpu->r[12] + 0x000000DCu;
|
|
/* 0245604C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02456050 */ cpu->ctr = cpu->r[0];
|
|
/* 02456054 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02456058 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0245605C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245605C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0245605C */ if (_t7) goto L_02456068; else goto L_02456060;
|
|
L_02456060: ; // 0x2456060
|
|
/* 02456060 */ _t8 = cpu->r[31] + 0x00000294u;
|
|
/* 02456060 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02456064 */ Gambit_fn_020C39E0(cpu);
|
|
L_02456068: ; // 0x2456068
|
|
/* 02456068 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02456068 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0245606C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245606C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02456070 */ cpu->lr = cpu->r[0];
|
|
/* 02456074 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02456078 */ return;
|
|
}
|
|
|
|
// fn_02456080 @ 0x2456080
|
|
void Gambit_fn_02456080(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _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_02456080: ; // 0x2456080
|
|
/* 02456080 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02456080 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02456080 */ cpu->r[1] = _t0;
|
|
/* 02456084 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02456084 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02456088 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02456088 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0245608C */ cpu->r[31] = cpu->r[3];
|
|
/* 02456090 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02456090 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02456094 */ _t4 = cpu->r[31] + 0x000001E8u;
|
|
/* 02456094 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02456098 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0245609C */ cpu->r[30] = 0x00000000u;
|
|
/* 024560A0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024560A0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 024560A0 */ if (_t6) goto L_024560A4; else goto L_024561C0;
|
|
L_024560A4: ; // 0x24560a4
|
|
/* 024560A4 */ cpu->r[10] = 0x100A0000u;
|
|
/* 024560A8 */ cpu->r[12] = 0x100A0000u;
|
|
/* 024560AC */ cpu->r[0] = 0x100A0000u;
|
|
/* 024560B0 */ cpu->r[10] = cpu->r[10] + 0x00000238u;
|
|
/* 024560B4 */ _t7 = cpu->r[12] + 0x00000348u;
|
|
/* 024560B4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 024560B8 */ cpu->r[4] = 0x00000000u;
|
|
/* 024560BC */ cpu->r[0] = cpu->r[0] + 0x000005C0u;
|
|
/* 024560C0 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024560C0 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 024560C4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 024560C8 */ cpu->r[3] = cpu->r[31];
|
|
/* 024560CC */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 024560CC */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 024560D0 */ Gambit_fn_027ED1E4(cpu);
|
|
/* 024560D4 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 024560D8 */ _t10 = cpu->r[31] + 0x000002B8u;
|
|
/* 024560D8 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 024560DC */ _t11 = cpu->r[31] + 0x000002B4u;
|
|
/* 024560DC */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 024560E0 */ _t12 = cpu->r[31] + 0x00000290u;
|
|
/* 024560E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 024560E4 */ cpu->r[0] = 0x00000001u;
|
|
/* 024560E8 */ _t13 = cpu->r[31] + 0x000002BCu;
|
|
/* 024560E8 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 024560EC */ _t14 = cpu->r[11] + 0x000000A8u;
|
|
/* 024560EC */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[0]);
|
|
/* 024560F0 */ _t15 = cpu->r[31] + 0x00000290u;
|
|
/* 024560F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 024560F4 */ _t16 = cpu->r[31] + 0x000002C8u;
|
|
/* 024560F4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t16);
|
|
/* 024560F8 */ Gambit_fn_020E1D58(cpu);
|
|
/* 024560FC */ _t17 = cpu->r[31] + 0x00000220u;
|
|
/* 024560FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02456100 */ Gambit_fn_027EAD60(cpu);
|
|
/* 02456104 */ cpu->r[5] = cpu->r[3];
|
|
/* 02456108 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245610C */ cpu->r[4] = 0x00000000u;
|
|
/* 02456110 */ Gambit_fn_027F0164(cpu);
|
|
/* 02456114 */ _t18 = cpu->r[31] + 0x000002C8u;
|
|
/* 02456114 */ cpu->r[6] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02456118 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0245611C */ _t19 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0245611C */ _t20 = _t19 & 0x00000001u;
|
|
/* 0245611C */ if (_t20) goto L_02456120; else goto L_02456124;
|
|
L_02456120: ; // 0x2456120
|
|
/* 02456120 */ _t21 = cpu->r[31] + 0x000002B4u;
|
|
/* 02456120 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
|
|
L_02456124: ; // 0x2456124
|
|
/* 02456124 */ cpu->r[10] = 0x101C0000u;
|
|
/* 02456128 */ _t22 = cpu->r[10] + 0x00001358u;
|
|
/* 02456128 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0245612C */ _t23 = cpu->r[10] + 0x00000010u;
|
|
/* 0245612C */ cpu->r[6] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02456130 */ _t24 = cpu->r[6] + 0x00000000u;
|
|
/* 02456130 */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02456134 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02456138 */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 0245613C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245613C */ _t26 = _t25 & 0x00000001u;
|
|
/* 0245613C */ if (_t26) goto L_024561B8; else goto L_02456140;
|
|
L_02456140: ; // 0x2456140
|
|
/* 02456140 */ _t27 = cpu->r[31] + 0x000002C8u;
|
|
/* 02456140 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02456144 */ _t28 = cpu->r[9] + 0x00000040u;
|
|
/* 02456144 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02456148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0245614C */ cpu->r[8] = 0x00000000u;
|
|
/* 02456150 */ _t29 = cpu->r[31] + 0x000002BCu;
|
|
/* 02456150 */ rbrew_write32(cpu->mem, _t29, cpu->r[11]);
|
|
/* 02456154 */ _t30 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02456154 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02456154 */ if (_t31) goto L_02456158; else goto L_024561B8;
|
|
L_02456158: ; // 0x2456158
|
|
/* 02456158 */ cpu->ctr = cpu->r[12];
|
|
/* 0245615C */ _t32 = cpu->r[31] + 0x000002CCu;
|
|
/* 0245615C */ cpu->r[6] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02456160 */ cpu->r[9] = 0x00000000u;
|
|
/* 02456164 */ cpu->r[0] = cpu->r[12];
|
|
L_02456168: ; // 0x2456168
|
|
/* 02456168 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]);
|
|
/* 0245616C */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245616C */ _t34 = _t33 & 0x00000001u;
|
|
/* 0245616C */ if (_t34) goto L_02456170; else goto L_02456180;
|
|
L_02456170: ; // 0x2456170
|
|
/* 02456170 */ _t35 = cpu->r[6] + cpu->r[9];
|
|
/* 02456170 */ cpu->r[7] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02456174 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[11]);
|
|
/* 02456178 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456178 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02456178 */ if (_t37) goto L_0245617C; else goto L_02456190;
|
|
L_0245617C: ; // 0x245617c
|
|
/* 0245617C */ goto L_0245618C;
|
|
L_02456180: ; // 0x2456180
|
|
/* 02456180 */ _t38 = cpu->r[6] + 0x00000000u;
|
|
/* 02456180 */ cpu->r[7] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02456184 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[11]);
|
|
/* 02456188 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456188 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02456188 */ if (_t40) goto L_0245618C; else goto L_02456190;
|
|
L_0245618C: ; // 0x245618c
|
|
/* 0245618C */ cpu->r[4] = cpu->r[8];
|
|
L_02456190: ; // 0x2456190
|
|
/* 02456190 */ cpu->r[9] = cpu->r[9] + 0x00000238u;
|
|
/* 02456194 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02456198 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02456198 */ _t41 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02456198 */ _t42 = _t41 >> (0x00000002u & 31u);
|
|
/* 02456198 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02456198 */ if (_t43) goto L_02456168; else goto L_0245619C;
|
|
L_0245619C: ; // 0x245619c
|
|
/* 0245619C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0xFFFFFFFFu);
|
|
/* 024561A0 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024561A0 */ _t45 = _t44 & 0x00000001u;
|
|
/* 024561A0 */ if (_t45) goto L_024561B8; else goto L_024561A4;
|
|
L_024561A4: ; // 0x24561a4
|
|
/* 024561A4 */ _t46 = cpu->r[31] + 0x00000290u;
|
|
/* 024561A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t46);
|
|
/* 024561A8 */ Gambit_fn_020E1D6C(cpu);
|
|
/* 024561AC */ _t47 = cpu->r[31] + 0x00000290u;
|
|
/* 024561AC */ cpu->r[7] = rbrew_read32(cpu->mem, _t47);
|
|
/* 024561B0 */ _t48 = cpu->r[7] + 0x00000020u;
|
|
/* 024561B0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t48);
|
|
/* 024561B4 */ _t49 = cpu->r[31] + 0x000002B4u;
|
|
/* 024561B4 */ rbrew_write32(cpu->mem, _t49, cpu->r[8]);
|
|
L_024561B8: ; // 0x24561b8
|
|
/* 024561B8 */ _t50 = cpu->r[31] + 0x00000294u;
|
|
/* 024561B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t50);
|
|
/* 024561BC */ Gambit_fn_020C38E0(cpu);
|
|
L_024561C0: ; // 0x24561c0
|
|
/* 024561C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 024561C4 */ cpu->r[4] = 0x00000000u;
|
|
/* 024561C8 */ Gambit_fn_027EDF00(cpu);
|
|
/* 024561CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024561D0 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024561D0 */ _t52 = _t51 & 0x00000001u;
|
|
/* 024561D0 */ if (_t52) goto L_02456204; else goto L_024561D4;
|
|
L_024561D4: ; // 0x24561d4
|
|
/* 024561D4 */ _t53 = cpu->r[31] + 0x00000294u;
|
|
/* 024561D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t53);
|
|
/* 024561D8 */ Gambit_fn_020C3920(cpu);
|
|
/* 024561DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024561E0 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024561E0 */ _t55 = _t54 & 0x00000001u;
|
|
/* 024561E0 */ if (_t55) goto L_02456204; else goto L_024561E4;
|
|
L_024561E4: ; // 0x24561e4
|
|
/* 024561E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 024561E8 */ Gambit_fn_02455084(cpu);
|
|
/* 024561EC */ _t56 = cpu->r[31] + 0x00000020u;
|
|
/* 024561EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t56);
|
|
/* 024561F0 */ cpu->r[4] = 0x00000000u;
|
|
/* 024561F4 */ Gambit_fn_027EFE98(cpu);
|
|
/* 024561F8 */ cpu->r[3] = cpu->r[31] + 0x000001E0u;
|
|
/* 024561FC */ cpu->r[4] = 0x00000002u;
|
|
/* 02456200 */ Gambit_fn_02451164(cpu);
|
|
L_02456204: ; // 0x2456204
|
|
/* 02456204 */ _t57 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02456204 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02456208 */ _t58 = cpu->r[1] + 0x00000010u;
|
|
/* 02456208 */ cpu->r[30] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0245620C */ cpu->lr = cpu->r[0];
|
|
/* 02456210 */ _t59 = cpu->r[1] + 0x00000014u;
|
|
/* 02456210 */ cpu->r[31] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02456214 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02456218 */ return;
|
|
}
|
|
|
|
// fn_02456220 @ 0x2456220
|
|
void Gambit_fn_02456220(CPUState* cpu) {
|
|
uint32_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_02456220: ; // 0x2456220
|
|
/* 02456220 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02456220 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02456220 */ cpu->r[1] = _t0;
|
|
/* 02456224 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02456224 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02456228 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245622C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0245622C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02456230 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02456234 */ _t3 = cpu->r[31] + 0x00000290u;
|
|
/* 02456234 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02456238 */ _t4 = cpu->r[31] + 0x000002B4u;
|
|
/* 02456238 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0245623C */ Gambit_fn_020E1338(cpu);
|
|
/* 02456240 */ _t5 = cpu->r[31] + 0x0000021Cu;
|
|
/* 02456240 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02456244 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 02456244 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02456248 */ _t7 = cpu->r[12] + 0x00000084u;
|
|
/* 02456248 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0245624C */ cpu->ctr = cpu->r[12];
|
|
/* 02456250 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02456254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02456258 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456258 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02456258 */ if (_t9) goto L_02456278; else goto L_0245625C;
|
|
L_0245625C: ; // 0x245625c
|
|
/* 0245625C */ cpu->r[3] = cpu->r[31];
|
|
/* 02456260 */ Gambit_fn_02454FDC(cpu);
|
|
/* 02456264 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02456264 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02456268 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02456268 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0245626C */ cpu->lr = cpu->r[0];
|
|
/* 02456270 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02456274 */ return;
|
|
L_02456278: ; // 0x2456278
|
|
/* 02456278 */ _t12 = cpu->r[31] + 0x00000290u;
|
|
/* 02456278 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0245627C */ _t13 = cpu->r[12] + 0x00000020u;
|
|
/* 0245627C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02456280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02456284 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456284 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02456284 */ if (_t15) goto L_024562A8; else goto L_02456288;
|
|
L_02456288: ; // 0x2456288
|
|
/* 02456288 */ _t16 = cpu->r[12] + 0x00000020u;
|
|
/* 02456288 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0245628C */ _t17 = cpu->r[31] + 0x00000290u;
|
|
/* 0245628C */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02456290 */ _t18 = cpu->r[31] + 0x000002B4u;
|
|
/* 02456290 */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
|
|
/* 02456294 */ _t19 = cpu->r[11] + 0x0000001Cu;
|
|
/* 02456294 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02456298 */ cpu->r[4] = 0x00000003u;
|
|
/* 0245629C */ cpu->r[3] = cpu->r[31] + 0x000001E0u;
|
|
/* 024562A0 */ _t20 = cpu->r[31] + 0x000002B8u;
|
|
/* 024562A0 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 024562A4 */ Gambit_fn_02451164(cpu);
|
|
L_024562A8: ; // 0x24562a8
|
|
/* 024562A8 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 024562A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 024562AC */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024562AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 024562B0 */ cpu->lr = cpu->r[0];
|
|
/* 024562B4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024562B8 */ return;
|
|
}
|
|
|
|
// fn_024562BC @ 0x24562bc
|
|
void Gambit_fn_024562BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_024562BC: ; // 0x24562bc
|
|
/* 024562BC */ cpu->r[0] = cpu->lr;
|
|
/* 024562C0 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 024562C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024562C0 */ cpu->r[1] = _t0;
|
|
/* 024562C4 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 024562C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 024562C8 */ _t2 = cpu->r[1] + 0x00000034u;
|
|
/* 024562C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 024562CC */ _t3 = cpu->r[1] + 0x00000030u;
|
|
/* 024562CC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 024562D0 */ cpu->r[31] = cpu->r[3];
|
|
/* 024562D4 */ _t4 = cpu->r[1] + 0x0000003Cu;
|
|
/* 024562D4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 024562D8 */ _t5 = cpu->r[31] + 0x00000290u;
|
|
/* 024562D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 024562DC */ _t6 = cpu->r[31] + 0x000002B4u;
|
|
/* 024562DC */ cpu->r[6] = rbrew_read32(cpu->mem, _t6);
|
|
/* 024562E0 */ _t7 = cpu->r[12] + 0x0000001Cu;
|
|
/* 024562E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 024562E4 */ _t8 = cpu->r[31] + 0x000002C8u;
|
|
/* 024562E4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
|
|
/* 024562E8 */ cpu->r[30] = cpu->r[12] + cpu->r[6];
|
|
/* 024562EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
|
|
/* 024562F0 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024562F0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 024562F0 */ if (_t10) goto L_024562F4; else goto L_024563DC;
|
|
L_024562F4: ; // 0x24562f4
|
|
/* 024562F4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 024562F8 */ Gambit_fn_02175308(cpu);
|
|
/* 024562FC */ _t11 = cpu->r[31] + 0x000002C4u;
|
|
/* 024562FC */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02456300 */ _t12 = cpu->r[31] + 0x000002C8u;
|
|
/* 02456300 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02456304 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02456308 */ _t13 = cpu->r[31] + 0x000002CCu;
|
|
/* 02456308 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0245630C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245630C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0245630C */ if (_t15) goto L_02456310; else goto L_0245634C;
|
|
L_02456310: ; // 0x2456310
|
|
/* 02456310 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[10]);
|
|
/* 02456314 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02456314 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02456314 */ if (_t17) goto L_02456318; else goto L_02456320;
|
|
L_02456318: ; // 0x2456318
|
|
/* 02456318 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)0x00000238u);
|
|
/* 0245631C */ cpu->r[12] = cpu->r[12] + cpu->r[9];
|
|
L_02456320: ; // 0x2456320
|
|
/* 02456320 */ _t18 = cpu->r[12] + 0x00000000u;
|
|
/* 02456320 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02456324 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02456328 */ cpu->r[4] = cpu->r[29];
|
|
/* 0245632C */ cpu->r[30] = 0x00000001u;
|
|
/* 02456330 */ Gambit_fn_02171158(cpu);
|
|
/* 02456334 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02456338 */ cpu->r[4] = cpu->r[29];
|
|
/* 0245633C */ Gambit_fn_02175850(cpu);
|
|
/* 02456340 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02456344 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456344 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02456344 */ if (_t20) goto L_024563BC; else goto L_02456348;
|
|
L_02456348: ; // 0x2456348
|
|
/* 02456348 */ goto L_02456384;
|
|
L_0245634C: ; // 0x245634c
|
|
/* 0245634C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[10]);
|
|
/* 02456350 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02456350 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02456350 */ if (_t22) goto L_02456354; else goto L_0245635C;
|
|
L_02456354: ; // 0x2456354
|
|
/* 02456354 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)0x00000238u);
|
|
/* 02456358 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_0245635C: ; // 0x245635c
|
|
/* 0245635C */ _t23 = cpu->r[12] + 0x00000000u;
|
|
/* 0245635C */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02456360 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02456364 */ cpu->r[4] = cpu->r[29];
|
|
/* 02456368 */ cpu->r[30] = 0x00000000u;
|
|
/* 0245636C */ Gambit_fn_02171158(cpu);
|
|
/* 02456370 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02456374 */ cpu->r[4] = cpu->r[29];
|
|
/* 02456378 */ Gambit_fn_02175850(cpu);
|
|
/* 0245637C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02456380 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456380 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02456380 */ if (_t25) goto L_024563BC; else goto L_02456384;
|
|
L_02456384: ; // 0x2456384
|
|
/* 02456384 */ cpu->r[4] = cpu->r[29];
|
|
/* 02456388 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0245638C */ Gambit_fn_02175B70(cpu);
|
|
/* 02456390 */ _t26 = cpu->r[3] + 0x00000000u;
|
|
/* 02456390 */ cpu->r[7] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02456394 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 02456394 */ rbrew_write32(cpu->mem, _t27, cpu->r[7]);
|
|
/* 02456398 */ _t28 = cpu->r[3] + 0x00000004u;
|
|
/* 02456398 */ cpu->r[8] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0245639C */ _t29 = cpu->r[1] + 0x00000018u;
|
|
/* 0245639C */ rbrew_write32(cpu->mem, _t29, cpu->r[8]);
|
|
/* 024563A0 */ _t30 = cpu->r[3] + 0x00000008u;
|
|
/* 024563A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t30);
|
|
/* 024563A4 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024563A4 */ rbrew_write32(cpu->mem, _t31, cpu->r[9]);
|
|
/* 024563A8 */ _t32 = cpu->r[3] + 0x0000000Cu;
|
|
/* 024563A8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t32);
|
|
/* 024563AC */ _t33 = cpu->r[1] + 0x00000020u;
|
|
/* 024563AC */ rbrew_write32(cpu->mem, _t33, cpu->r[10]);
|
|
/* 024563B0 */ _t34 = cpu->r[3] + 0x00000010u;
|
|
/* 024563B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 024563B4 */ cpu->r[30] = 0x00000000u;
|
|
/* 024563B8 */ _t35 = cpu->r[1] + 0x00000024u;
|
|
/* 024563B8 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
L_024563BC: ; // 0x24563bc
|
|
/* 024563BC */ _t36 = cpu->r[31] + 0x00000218u;
|
|
/* 024563BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 024563C0 */ cpu->r[6] = 0x00000000u;
|
|
/* 024563C4 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 024563C8 */ cpu->r[5] = cpu->r[30];
|
|
/* 024563CC */ Gambit_fn_020E5898(cpu);
|
|
/* 024563D0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 024563D4 */ cpu->r[4] = 0x00000002u;
|
|
/* 024563D8 */ Gambit_fn_021753A0(cpu);
|
|
L_024563DC: ; // 0x24563dc
|
|
/* 024563DC */ _t37 = cpu->r[1] + 0x0000002Cu;
|
|
/* 024563DC */ cpu->r[29] = rbrew_read32(cpu->mem, _t37);
|
|
/* 024563E0 */ _t38 = cpu->r[1] + 0x0000003Cu;
|
|
/* 024563E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 024563E4 */ _t39 = cpu->r[1] + 0x00000030u;
|
|
/* 024563E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t39);
|
|
/* 024563E8 */ cpu->lr = cpu->r[0];
|
|
/* 024563EC */ _t40 = cpu->r[1] + 0x00000034u;
|
|
/* 024563EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
|
|
/* 024563F0 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 024563F4 */ return;
|
|
}
|
|
|
|
// fn_024562C0 @ 0x24562c0
|
|
void Gambit_fn_024562C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_024562C0: ; // 0x24562c0
|
|
/* 024562C0 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 024562C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024562C0 */ cpu->r[1] = _t0;
|
|
/* 024562C4 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 024562C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 024562C8 */ _t2 = cpu->r[1] + 0x00000034u;
|
|
/* 024562C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 024562CC */ _t3 = cpu->r[1] + 0x00000030u;
|
|
/* 024562CC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 024562D0 */ cpu->r[31] = cpu->r[3];
|
|
/* 024562D4 */ _t4 = cpu->r[1] + 0x0000003Cu;
|
|
/* 024562D4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 024562D8 */ _t5 = cpu->r[31] + 0x00000290u;
|
|
/* 024562D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 024562DC */ _t6 = cpu->r[31] + 0x000002B4u;
|
|
/* 024562DC */ cpu->r[6] = rbrew_read32(cpu->mem, _t6);
|
|
/* 024562E0 */ _t7 = cpu->r[12] + 0x0000001Cu;
|
|
/* 024562E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 024562E4 */ _t8 = cpu->r[31] + 0x000002C8u;
|
|
/* 024562E4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
|
|
/* 024562E8 */ cpu->r[30] = cpu->r[12] + cpu->r[6];
|
|
/* 024562EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
|
|
/* 024562F0 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024562F0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 024562F0 */ if (_t10) goto L_024562F4; else goto L_024563DC;
|
|
L_024562F4: ; // 0x24562f4
|
|
/* 024562F4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 024562F8 */ Gambit_fn_02175308(cpu);
|
|
/* 024562FC */ _t11 = cpu->r[31] + 0x000002C4u;
|
|
/* 024562FC */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02456300 */ _t12 = cpu->r[31] + 0x000002C8u;
|
|
/* 02456300 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02456304 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02456308 */ _t13 = cpu->r[31] + 0x000002CCu;
|
|
/* 02456308 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0245630C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245630C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0245630C */ if (_t15) goto L_02456310; else goto L_0245634C;
|
|
L_02456310: ; // 0x2456310
|
|
/* 02456310 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[10]);
|
|
/* 02456314 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02456314 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02456314 */ if (_t17) goto L_02456318; else goto L_02456320;
|
|
L_02456318: ; // 0x2456318
|
|
/* 02456318 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)0x00000238u);
|
|
/* 0245631C */ cpu->r[12] = cpu->r[12] + cpu->r[9];
|
|
L_02456320: ; // 0x2456320
|
|
/* 02456320 */ _t18 = cpu->r[12] + 0x00000000u;
|
|
/* 02456320 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02456324 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02456328 */ cpu->r[4] = cpu->r[29];
|
|
/* 0245632C */ cpu->r[30] = 0x00000001u;
|
|
/* 02456330 */ Gambit_fn_02171158(cpu);
|
|
/* 02456334 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02456338 */ cpu->r[4] = cpu->r[29];
|
|
/* 0245633C */ Gambit_fn_02175850(cpu);
|
|
/* 02456340 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02456344 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456344 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02456344 */ if (_t20) goto L_024563BC; else goto L_02456348;
|
|
L_02456348: ; // 0x2456348
|
|
/* 02456348 */ goto L_02456384;
|
|
L_0245634C: ; // 0x245634c
|
|
/* 0245634C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[10]);
|
|
/* 02456350 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02456350 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02456350 */ if (_t22) goto L_02456354; else goto L_0245635C;
|
|
L_02456354: ; // 0x2456354
|
|
/* 02456354 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)0x00000238u);
|
|
/* 02456358 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_0245635C: ; // 0x245635c
|
|
/* 0245635C */ _t23 = cpu->r[12] + 0x00000000u;
|
|
/* 0245635C */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02456360 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02456364 */ cpu->r[4] = cpu->r[29];
|
|
/* 02456368 */ cpu->r[30] = 0x00000000u;
|
|
/* 0245636C */ Gambit_fn_02171158(cpu);
|
|
/* 02456370 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02456374 */ cpu->r[4] = cpu->r[29];
|
|
/* 02456378 */ Gambit_fn_02175850(cpu);
|
|
/* 0245637C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02456380 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456380 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02456380 */ if (_t25) goto L_024563BC; else goto L_02456384;
|
|
L_02456384: ; // 0x2456384
|
|
/* 02456384 */ cpu->r[4] = cpu->r[29];
|
|
/* 02456388 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0245638C */ Gambit_fn_02175B70(cpu);
|
|
/* 02456390 */ _t26 = cpu->r[3] + 0x00000000u;
|
|
/* 02456390 */ cpu->r[7] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02456394 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 02456394 */ rbrew_write32(cpu->mem, _t27, cpu->r[7]);
|
|
/* 02456398 */ _t28 = cpu->r[3] + 0x00000004u;
|
|
/* 02456398 */ cpu->r[8] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0245639C */ _t29 = cpu->r[1] + 0x00000018u;
|
|
/* 0245639C */ rbrew_write32(cpu->mem, _t29, cpu->r[8]);
|
|
/* 024563A0 */ _t30 = cpu->r[3] + 0x00000008u;
|
|
/* 024563A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t30);
|
|
/* 024563A4 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024563A4 */ rbrew_write32(cpu->mem, _t31, cpu->r[9]);
|
|
/* 024563A8 */ _t32 = cpu->r[3] + 0x0000000Cu;
|
|
/* 024563A8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t32);
|
|
/* 024563AC */ _t33 = cpu->r[1] + 0x00000020u;
|
|
/* 024563AC */ rbrew_write32(cpu->mem, _t33, cpu->r[10]);
|
|
/* 024563B0 */ _t34 = cpu->r[3] + 0x00000010u;
|
|
/* 024563B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 024563B4 */ cpu->r[30] = 0x00000000u;
|
|
/* 024563B8 */ _t35 = cpu->r[1] + 0x00000024u;
|
|
/* 024563B8 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
L_024563BC: ; // 0x24563bc
|
|
/* 024563BC */ _t36 = cpu->r[31] + 0x00000218u;
|
|
/* 024563BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 024563C0 */ cpu->r[6] = 0x00000000u;
|
|
/* 024563C4 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 024563C8 */ cpu->r[5] = cpu->r[30];
|
|
/* 024563CC */ Gambit_fn_020E5898(cpu);
|
|
/* 024563D0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 024563D4 */ cpu->r[4] = 0x00000002u;
|
|
/* 024563D8 */ Gambit_fn_021753A0(cpu);
|
|
L_024563DC: ; // 0x24563dc
|
|
/* 024563DC */ _t37 = cpu->r[1] + 0x0000002Cu;
|
|
/* 024563DC */ cpu->r[29] = rbrew_read32(cpu->mem, _t37);
|
|
/* 024563E0 */ _t38 = cpu->r[1] + 0x0000003Cu;
|
|
/* 024563E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 024563E4 */ _t39 = cpu->r[1] + 0x00000030u;
|
|
/* 024563E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t39);
|
|
/* 024563E8 */ cpu->lr = cpu->r[0];
|
|
/* 024563EC */ _t40 = cpu->r[1] + 0x00000034u;
|
|
/* 024563EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
|
|
/* 024563F0 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 024563F4 */ return;
|
|
}
|
|
|
|
// fn_024563FC @ 0x24563fc
|
|
void Gambit_fn_024563FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_024563FC: ; // 0x24563fc
|
|
/* 024563FC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 024563FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024563FC */ cpu->r[1] = _t0;
|
|
/* 02456400 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02456400 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02456404 */ cpu->r[31] = cpu->r[3];
|
|
/* 02456408 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02456408 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0245640C */ _t3 = cpu->r[31] + 0x000001E8u;
|
|
/* 0245640C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02456410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02456414 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456414 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02456414 */ if (_t5) goto L_02456418; else goto L_02456450;
|
|
L_02456418: ; // 0x2456418
|
|
/* 02456418 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245641C */ cpu->r[12] = cpu->r[12] + 0x00000238u;
|
|
/* 02456420 */ cpu->r[0] = 0x100A0000u;
|
|
/* 02456424 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02456424 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 02456428 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245642C */ cpu->r[0] = cpu->r[0] + 0x000005C4u;
|
|
/* 02456430 */ cpu->r[4] = 0x00000001u;
|
|
/* 02456434 */ _t7 = cpu->r[12] + 0x00000348u;
|
|
/* 02456434 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02456438 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245643C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02456440 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02456440 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02456444 */ Gambit_fn_027ED1E4(cpu);
|
|
/* 02456448 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245644C */ Gambit_fn_024562BC(cpu);
|
|
L_02456450: ; // 0x2456450
|
|
/* 02456450 */ _t9 = cpu->r[31] + 0x00000218u;
|
|
/* 02456450 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02456454 */ cpu->r[4] = 0x00000000u;
|
|
/* 02456458 */ Gambit_fn_020E5428(cpu);
|
|
/* 0245645C */ _t10 = cpu->r[31] + 0x00000290u;
|
|
/* 0245645C */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02456460 */ Gambit_fn_020E1338(cpu);
|
|
/* 02456464 */ _t11 = cpu->r[31] + 0x0000021Cu;
|
|
/* 02456464 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02456468 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 02456468 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0245646C */ _t13 = cpu->r[12] + 0x00000084u;
|
|
/* 0245646C */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02456470 */ cpu->ctr = cpu->r[12];
|
|
/* 02456474 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02456478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0245647C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245647C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0245647C */ if (_t15) goto L_0245649C; else goto L_02456480;
|
|
L_02456480: ; // 0x2456480
|
|
/* 02456480 */ cpu->r[3] = cpu->r[31];
|
|
/* 02456484 */ Gambit_fn_02454FDC(cpu);
|
|
/* 02456488 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02456488 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0245648C */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 0245648C */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02456490 */ cpu->lr = cpu->r[0];
|
|
/* 02456494 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02456498 */ return;
|
|
L_0245649C: ; // 0x245649c
|
|
/* 0245649C */ _t18 = cpu->r[31] + 0x0000021Cu;
|
|
/* 0245649C */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 024564A0 */ _t19 = cpu->r[3] + 0x00000000u;
|
|
/* 024564A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 024564A4 */ _t20 = cpu->r[12] + 0x000000D4u;
|
|
/* 024564A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 024564A8 */ cpu->ctr = cpu->r[0];
|
|
/* 024564AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024564B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024564B4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024564B4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 024564B4 */ if (_t22) goto L_024564D8; else goto L_024564B8;
|
|
L_024564B8: ; // 0x24564b8
|
|
/* 024564B8 */ cpu->r[3] = cpu->r[31] + 0x000001E0u;
|
|
/* 024564BC */ cpu->r[4] = 0x00000005u;
|
|
/* 024564C0 */ Gambit_fn_02451164(cpu);
|
|
/* 024564C4 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024564C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 024564C8 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 024564C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 024564CC */ cpu->lr = cpu->r[0];
|
|
/* 024564D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 024564D4 */ return;
|
|
L_024564D8: ; // 0x24564d8
|
|
/* 024564D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 024564DC */ cpu->r[4] = 0x00000001u;
|
|
/* 024564E0 */ Gambit_fn_027EDF00(cpu);
|
|
/* 024564E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024564E8 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024564E8 */ _t26 = _t25 & 0x00000001u;
|
|
/* 024564E8 */ if (_t26) goto L_024564F8; else goto L_024564EC;
|
|
L_024564EC: ; // 0x24564ec
|
|
/* 024564EC */ cpu->r[3] = cpu->r[31] + 0x000001E0u;
|
|
/* 024564F0 */ cpu->r[4] = 0x00000004u;
|
|
/* 024564F4 */ Gambit_fn_02451164(cpu);
|
|
L_024564F8: ; // 0x24564f8
|
|
/* 024564F8 */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024564F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 024564FC */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 024564FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02456500 */ cpu->lr = cpu->r[0];
|
|
/* 02456504 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02456508 */ return;
|
|
}
|
|
|
|
// fn_02456510 @ 0x2456510
|
|
void Gambit_fn_02456510(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108;
|
|
|
|
L_02456510: ; // 0x2456510
|
|
/* 02456510 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02456510 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02456510 */ cpu->r[1] = _t0;
|
|
/* 02456514 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02456514 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02456518 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02456518 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 0245651C */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0245651C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02456520 */ _t4 = cpu->r[1] + 0x00000028u;
|
|
/* 02456520 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02456524 */ cpu->r[31] = cpu->r[3];
|
|
/* 02456528 */ _t5 = cpu->r[1] + 0x00000034u;
|
|
/* 02456528 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0245652C */ _t6 = cpu->r[31] + 0x00000290u;
|
|
/* 0245652C */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02456530 */ _t7 = cpu->r[31] + 0x000002B4u;
|
|
/* 02456530 */ cpu->r[6] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02456534 */ _t8 = cpu->r[4] + 0x00000020u;
|
|
/* 02456534 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02456538 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[7]);
|
|
/* 0245653C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245653C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0245653C */ if (_t10) goto L_02456540; else goto L_02456550;
|
|
L_02456540: ; // 0x2456540
|
|
/* 02456540 */ _t11 = cpu->r[31] + 0x000002B8u;
|
|
/* 02456540 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02456544 */ _t12 = cpu->r[4] + 0x0000001Cu;
|
|
/* 02456544 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02456548 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[9]);
|
|
/* 0245654C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245654C */ _t14 = _t13 & 0x00000001u;
|
|
/* 0245654C */ if (_t14) goto L_02456574; else goto L_02456550;
|
|
L_02456550: ; // 0x2456550
|
|
/* 02456550 */ _t15 = cpu->r[4] + 0x00000020u;
|
|
/* 02456550 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02456554 */ _t16 = cpu->r[31] + 0x00000290u;
|
|
/* 02456554 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02456558 */ _t17 = cpu->r[31] + 0x000002B4u;
|
|
/* 02456558 */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 0245655C */ _t18 = cpu->r[12] + 0x0000001Cu;
|
|
/* 0245655C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02456560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0xFFFFFFFFu);
|
|
/* 02456564 */ _t19 = cpu->r[31] + 0x000002B8u;
|
|
/* 02456564 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 02456568 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456568 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02456568 */ if (_t21) goto L_02456574; else goto L_0245656C;
|
|
L_0245656C: ; // 0x245656c
|
|
/* 0245656C */ cpu->r[3] = cpu->r[31];
|
|
/* 02456570 */ Gambit_fn_024562BC(cpu);
|
|
L_02456574: ; // 0x2456574
|
|
/* 02456574 */ _t22 = cpu->r[31] + 0x000002B4u;
|
|
/* 02456574 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02456578 */ cpu->r[12] = 0x00000000u;
|
|
/* 0245657C */ cpu->r[30] = cpu->r[31] + 0x00000220u;
|
|
/* 02456580 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02456584 */ _t23 = cpu->r[31] + 0x000002C0u;
|
|
/* 02456584 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[12]);
|
|
/* 02456588 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456588 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02456588 */ if (_t25) goto L_0245658C; else goto L_02456598;
|
|
L_0245658C: ; // 0x245658c
|
|
/* 0245658C */ cpu->r[28] = 0x00000000u;
|
|
/* 02456590 */ cpu->r[29] = cpu->r[30];
|
|
/* 02456594 */ goto L_024566A8;
|
|
L_02456598: ; // 0x2456598
|
|
/* 02456598 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000007u);
|
|
/* 0245659C */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245659C */ _t27 = _t26 & 0x00000001u;
|
|
/* 0245659C */ if (_t27) goto L_024565A0; else goto L_024565CC;
|
|
L_024565A0: ; // 0x24565a0
|
|
/* 024565A0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 024565A4 */ _t28 = cpu->r[30] + cpu->r[0];
|
|
/* 024565A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 024565A8 */ _t29 = cpu->r[3] + 0x00000000u;
|
|
/* 024565A8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t29);
|
|
/* 024565AC */ _t30 = cpu->r[4] + 0x0000008Cu;
|
|
/* 024565AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t30);
|
|
/* 024565B0 */ cpu->ctr = cpu->r[5];
|
|
/* 024565B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024565B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024565BC */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024565BC */ _t32 = _t31 & 0x00000001u;
|
|
/* 024565BC */ if (_t32) goto L_024565C0; else goto L_024565E8;
|
|
L_024565C0: ; // 0x24565c0
|
|
/* 024565C0 */ cpu->r[28] = 0x00000000u;
|
|
/* 024565C4 */ cpu->r[29] = cpu->r[30];
|
|
/* 024565C8 */ goto L_024566A8;
|
|
L_024565CC: ; // 0x24565cc
|
|
/* 024565CC */ _t33 = cpu->r[30] + 0x00000000u;
|
|
/* 024565CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 024565D0 */ _t34 = cpu->r[3] + 0x00000000u;
|
|
/* 024565D0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t34);
|
|
/* 024565D4 */ _t35 = cpu->r[4] + 0x0000008Cu;
|
|
/* 024565D4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t35);
|
|
/* 024565D8 */ cpu->ctr = cpu->r[5];
|
|
/* 024565DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024565E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024565E4 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024565E4 */ _t37 = _t36 & 0x00000001u;
|
|
/* 024565E4 */ if (_t37) goto L_024565C0; else goto L_024565E8;
|
|
L_024565E8: ; // 0x24565e8
|
|
/* 024565E8 */ cpu->r[3] = cpu->r[31];
|
|
/* 024565EC */ Gambit_fn_02454F94(cpu);
|
|
/* 024565F0 */ _t38 = cpu->r[31] + 0x00000290u;
|
|
/* 024565F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t38);
|
|
/* 024565F4 */ _t39 = cpu->r[31] + 0x000002B4u;
|
|
/* 024565F4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t39);
|
|
/* 024565F8 */ _t40 = cpu->r[9] + 0x0000001Cu;
|
|
/* 024565F8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t40);
|
|
/* 024565FC */ cpu->r[4] = cpu->r[6] + cpu->r[7];
|
|
/* 024565FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02456600 */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02456600 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02456600 */ if (_t42) goto L_0245662C; else goto L_02456604;
|
|
L_02456604: ; // 0x2456604
|
|
/* 02456604 */ _t43 = cpu->r[31] + 0x000002C8u;
|
|
/* 02456604 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02456608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[0]);
|
|
/* 0245660C */ _t44 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245660C */ _t45 = _t44 & 0x00000001u;
|
|
/* 0245660C */ if (_t45) goto L_02456610; else goto L_0245662C;
|
|
L_02456610: ; // 0x2456610
|
|
/* 02456610 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 02456614 */ _t46 = cpu->r[31] + 0x000002CCu;
|
|
/* 02456614 */ cpu->r[12] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02456618 */ _t47 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02456618 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02456618 */ if (_t48) goto L_0245661C; else goto L_02456624;
|
|
L_0245661C: ; // 0x245661c
|
|
/* 0245661C */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x00000238u);
|
|
/* 02456620 */ cpu->r[12] = cpu->r[12] + cpu->r[8];
|
|
L_02456624: ; // 0x2456624
|
|
/* 02456624 */ _t49 = cpu->r[12] + 0x00000000u;
|
|
/* 02456624 */ cpu->r[9] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02456628 */ _t50 = cpu->r[31] + 0x000002BCu;
|
|
/* 02456628 */ rbrew_write32(cpu->mem, _t50, cpu->r[9]);
|
|
L_0245662C: ; // 0x245662c
|
|
/* 0245662C */ cpu->r[10] = 0x101C0000u;
|
|
/* 02456630 */ _t51 = cpu->r[10] + 0x00001358u;
|
|
/* 02456630 */ cpu->r[10] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02456634 */ _t52 = cpu->r[10] + 0x00000010u;
|
|
/* 02456634 */ cpu->r[11] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02456638 */ _t53 = cpu->r[11] + 0x00000000u;
|
|
/* 02456638 */ cpu->r[30] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0245663C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02456640 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456640 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02456640 */ if (_t55) goto L_02456678; else goto L_02456644;
|
|
L_02456644: ; // 0x2456644
|
|
/* 02456644 */ _t56 = cpu->r[31] + 0x000002BCu;
|
|
/* 02456644 */ cpu->r[4] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02456648 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0245664C */ Gambit_fn_02171158(cpu);
|
|
/* 02456650 */ _t57 = cpu->r[3] + 0x00000000u;
|
|
/* 02456650 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02456654 */ _t58 = cpu->r[30] + 0x00000040u;
|
|
/* 02456654 */ rbrew_write32(cpu->mem, _t58, cpu->r[0]);
|
|
/* 02456658 */ _t59 = cpu->r[3] + 0x00000004u;
|
|
/* 02456658 */ cpu->r[4] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0245665C */ _t60 = cpu->r[30] + 0x00000044u;
|
|
/* 0245665C */ rbrew_write32(cpu->mem, _t60, cpu->r[4]);
|
|
/* 02456660 */ _t61 = cpu->r[3] + 0x00000008u;
|
|
/* 02456660 */ cpu->r[5] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02456664 */ _t62 = cpu->r[30] + 0x00000048u;
|
|
/* 02456664 */ rbrew_write32(cpu->mem, _t62, cpu->r[5]);
|
|
/* 02456668 */ _t63 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02456668 */ cpu->r[6] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0245666C */ _t64 = cpu->r[30] + 0x0000004Cu;
|
|
/* 0245666C */ rbrew_write32(cpu->mem, _t64, cpu->r[6]);
|
|
/* 02456670 */ _t65 = cpu->r[3] + 0x00000010u;
|
|
/* 02456670 */ cpu->r[8] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02456674 */ _t66 = cpu->r[30] + 0x00000050u;
|
|
/* 02456674 */ rbrew_write32(cpu->mem, _t66, cpu->r[8]);
|
|
L_02456678: ; // 0x2456678
|
|
/* 02456678 */ cpu->r[0] = 0x00000001u;
|
|
/* 0245667C */ _t67 = cpu->r[31] + 0x000002C0u;
|
|
/* 0245667C */ rbrew_write8(cpu->mem, _t67, (uint8_t)cpu->r[0]);
|
|
/* 02456680 */ _t68 = cpu->r[1] + 0x00000020u;
|
|
/* 02456680 */ cpu->r[28] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02456684 */ _t69 = cpu->r[1] + 0x00000024u;
|
|
/* 02456684 */ cpu->r[29] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02456688 */ _t70 = cpu->r[1] + 0x00000034u;
|
|
/* 02456688 */ cpu->r[0] = rbrew_read32(cpu->mem, _t70);
|
|
/* 0245668C */ _t71 = cpu->r[1] + 0x00000028u;
|
|
/* 0245668C */ cpu->r[30] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02456690 */ cpu->lr = cpu->r[0];
|
|
/* 02456694 */ _t72 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02456694 */ cpu->r[31] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02456698 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0245669C */ return;
|
|
L_024566A0: ; // 0x24566a0
|
|
/* 024566A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000007u);
|
|
/* 024566A4 */ _t73 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024566A4 */ _t74 = _t73 & 0x00000001u;
|
|
/* 024566A4 */ if (_t74) goto L_024566A8; else goto L_024566B0;
|
|
L_024566A8: ; // 0x24566a8
|
|
/* 024566A8 */ cpu->r[11] = cpu->r[29];
|
|
/* 024566AC */ goto L_024566B4;
|
|
L_024566B0: ; // 0x24566b0
|
|
/* 024566B0 */ cpu->r[11] = cpu->r[30];
|
|
L_024566B4: ; // 0x24566b4
|
|
/* 024566B4 */ _t75 = cpu->r[11] + 0x00000000u;
|
|
/* 024566B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t75);
|
|
/* 024566B8 */ _t76 = cpu->r[3] + 0x00000000u;
|
|
/* 024566B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t76);
|
|
/* 024566BC */ _t77 = cpu->r[12] + 0x000000DCu;
|
|
/* 024566BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t77);
|
|
/* 024566C0 */ cpu->ctr = cpu->r[0];
|
|
/* 024566C4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024566C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024566CC */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024566CC */ _t79 = _t78 & 0x00000001u;
|
|
/* 024566CC */ if (_t79) goto L_024566D0; else goto L_02456728;
|
|
L_024566D0: ; // 0x24566d0
|
|
/* 024566D0 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 024566D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000007u);
|
|
/* 024566D8 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 024566DC */ _t80 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024566DC */ _t81 = _t80 & 0x00000001u;
|
|
/* 024566DC */ if (_t81) goto L_024566A0; else goto L_024566E0;
|
|
L_024566E0: ; // 0x24566e0
|
|
/* 024566E0 */ _t82 = cpu->r[31] + 0x00000294u;
|
|
/* 024566E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t82);
|
|
/* 024566E4 */ _t83 = cpu->r[3] + 0x00000000u;
|
|
/* 024566E4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t83);
|
|
/* 024566E8 */ _t84 = cpu->r[7] + 0x0000008Cu;
|
|
/* 024566E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t84);
|
|
/* 024566EC */ cpu->ctr = cpu->r[0];
|
|
/* 024566F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024566F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024566F8 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024566F8 */ _t86 = _t85 & 0x00000001u;
|
|
/* 024566F8 */ if (_t86) goto L_02456704; else goto L_024566FC;
|
|
L_024566FC: ; // 0x24566fc
|
|
/* 024566FC */ _t87 = cpu->r[31] + 0x00000218u;
|
|
/* 024566FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02456700 */ Gambit_fn_020E6214(cpu);
|
|
L_02456704: ; // 0x2456704
|
|
/* 02456704 */ _t88 = cpu->r[31] + 0x00000290u;
|
|
/* 02456704 */ cpu->r[3] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02456708 */ Gambit_fn_020E1338(cpu);
|
|
/* 0245670C */ _t89 = cpu->r[31] + 0x0000021Cu;
|
|
/* 0245670C */ cpu->r[3] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02456710 */ _t90 = cpu->r[3] + 0x00000000u;
|
|
/* 02456710 */ cpu->r[9] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02456714 */ _t91 = cpu->r[9] + 0x00000084u;
|
|
/* 02456714 */ cpu->r[10] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02456718 */ cpu->ctr = cpu->r[10];
|
|
/* 0245671C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02456720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02456724 */ _t92 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456724 */ _t93 = _t92 & 0x00000001u;
|
|
/* 02456724 */ if (_t93) goto L_02456750; else goto L_02456728;
|
|
L_02456728: ; // 0x2456728
|
|
/* 02456728 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245672C */ Gambit_fn_02454FDC(cpu);
|
|
/* 02456730 */ _t94 = cpu->r[1] + 0x00000020u;
|
|
/* 02456730 */ cpu->r[28] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02456734 */ _t95 = cpu->r[1] + 0x00000024u;
|
|
/* 02456734 */ cpu->r[29] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02456738 */ _t96 = cpu->r[1] + 0x00000034u;
|
|
/* 02456738 */ cpu->r[0] = rbrew_read32(cpu->mem, _t96);
|
|
/* 0245673C */ _t97 = cpu->r[1] + 0x00000028u;
|
|
/* 0245673C */ cpu->r[30] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02456740 */ cpu->lr = cpu->r[0];
|
|
/* 02456744 */ _t98 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02456744 */ cpu->r[31] = rbrew_read32(cpu->mem, _t98);
|
|
/* 02456748 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0245674C */ return;
|
|
L_02456750: ; // 0x2456750
|
|
/* 02456750 */ _t99 = cpu->r[31] + 0x0000021Cu;
|
|
/* 02456750 */ cpu->r[3] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02456754 */ _t100 = cpu->r[3] + 0x00000000u;
|
|
/* 02456754 */ cpu->r[12] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02456758 */ _t101 = cpu->r[12] + 0x000000D4u;
|
|
/* 02456758 */ cpu->r[0] = rbrew_read32(cpu->mem, _t101);
|
|
/* 0245675C */ cpu->ctr = cpu->r[0];
|
|
/* 02456760 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02456764 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02456768 */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456768 */ _t103 = _t102 & 0x00000001u;
|
|
/* 02456768 */ if (_t103) goto L_02456778; else goto L_0245676C;
|
|
L_0245676C: ; // 0x245676c
|
|
/* 0245676C */ cpu->r[3] = cpu->r[31] + 0x000001E0u;
|
|
/* 02456770 */ cpu->r[4] = 0x00000005u;
|
|
/* 02456774 */ Gambit_fn_02451164(cpu);
|
|
L_02456778: ; // 0x2456778
|
|
/* 02456778 */ _t104 = cpu->r[1] + 0x00000020u;
|
|
/* 02456778 */ cpu->r[28] = rbrew_read32(cpu->mem, _t104);
|
|
/* 0245677C */ _t105 = cpu->r[1] + 0x00000024u;
|
|
/* 0245677C */ cpu->r[29] = rbrew_read32(cpu->mem, _t105);
|
|
/* 02456780 */ _t106 = cpu->r[1] + 0x00000034u;
|
|
/* 02456780 */ cpu->r[0] = rbrew_read32(cpu->mem, _t106);
|
|
/* 02456784 */ _t107 = cpu->r[1] + 0x00000028u;
|
|
/* 02456784 */ cpu->r[30] = rbrew_read32(cpu->mem, _t107);
|
|
/* 02456788 */ cpu->lr = cpu->r[0];
|
|
/* 0245678C */ _t108 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0245678C */ cpu->r[31] = rbrew_read32(cpu->mem, _t108);
|
|
/* 02456790 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02456794 */ return;
|
|
}
|
|
|
|
// fn_0245679C @ 0x245679c
|
|
void Gambit_fn_0245679C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_0245679C: ; // 0x245679c
|
|
/* 0245679C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0245679C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245679C */ cpu->r[1] = _t0;
|
|
/* 024567A0 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 024567A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 024567A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 024567A8 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024567A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 024567AC */ _t3 = cpu->r[31] + 0x000001E8u;
|
|
/* 024567AC */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 024567B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 024567B4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024567B4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 024567B4 */ if (_t5) goto L_024567B8; else goto L_024567E8;
|
|
L_024567B8: ; // 0x24567b8
|
|
/* 024567B8 */ cpu->r[10] = 0x100A0000u;
|
|
/* 024567BC */ cpu->r[0] = 0x100A0000u;
|
|
/* 024567C0 */ cpu->r[12] = 0x100A0000u;
|
|
/* 024567C4 */ cpu->r[10] = cpu->r[10] + 0x00000238u;
|
|
/* 024567C8 */ cpu->r[0] = cpu->r[0] + 0x000005D0u;
|
|
/* 024567CC */ _t6 = cpu->r[12] + 0x00000348u;
|
|
/* 024567CC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 024567D0 */ cpu->r[4] = 0x00000001u;
|
|
/* 024567D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 024567D8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024567D8 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 024567DC */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 024567E0 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 024567E0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 024567E4 */ Gambit_fn_027ED1E4(cpu);
|
|
L_024567E8: ; // 0x24567e8
|
|
/* 024567E8 */ _t9 = cpu->r[31] + 0x00000290u;
|
|
/* 024567E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 024567EC */ Gambit_fn_020E1338(cpu);
|
|
/* 024567F0 */ _t10 = cpu->r[31] + 0x0000021Cu;
|
|
/* 024567F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 024567F4 */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 024567F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024567F8 */ _t12 = cpu->r[12] + 0x00000084u;
|
|
/* 024567F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 024567FC */ cpu->ctr = cpu->r[0];
|
|
/* 02456800 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02456804 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02456808 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456808 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02456808 */ if (_t14) goto L_02456828; else goto L_0245680C;
|
|
L_0245680C: ; // 0x245680c
|
|
/* 0245680C */ cpu->r[3] = cpu->r[31];
|
|
/* 02456810 */ Gambit_fn_02454FDC(cpu);
|
|
/* 02456814 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02456814 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02456818 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02456818 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0245681C */ cpu->lr = cpu->r[0];
|
|
/* 02456820 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02456824 */ return;
|
|
L_02456828: ; // 0x2456828
|
|
/* 02456828 */ _t17 = cpu->r[31] + 0x00000290u;
|
|
/* 02456828 */ cpu->r[6] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0245682C */ _t18 = cpu->r[6] + 0x00000020u;
|
|
/* 0245682C */ cpu->r[7] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02456830 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0xFFFFFFFFu);
|
|
/* 02456834 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456834 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02456834 */ if (_t20) goto L_02456860; else goto L_02456838;
|
|
L_02456838: ; // 0x2456838
|
|
/* 02456838 */ _t21 = cpu->r[6] + 0x00000020u;
|
|
/* 02456838 */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0245683C */ cpu->r[4] = 0x00000003u;
|
|
/* 02456840 */ cpu->r[3] = cpu->r[31] + 0x000001E0u;
|
|
/* 02456844 */ _t22 = cpu->r[31] + 0x000002B4u;
|
|
/* 02456844 */ rbrew_write32(cpu->mem, _t22, cpu->r[9]);
|
|
/* 02456848 */ Gambit_fn_02451164(cpu);
|
|
/* 0245684C */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245684C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02456850 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 02456850 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02456854 */ cpu->lr = cpu->r[0];
|
|
/* 02456858 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0245685C */ return;
|
|
L_02456860: ; // 0x2456860
|
|
/* 02456860 */ cpu->r[3] = cpu->r[31];
|
|
/* 02456864 */ cpu->r[4] = 0x00000001u;
|
|
/* 02456868 */ Gambit_fn_027EDF00(cpu);
|
|
/* 0245686C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02456870 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456870 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02456870 */ if (_t26) goto L_02456880; else goto L_02456874;
|
|
L_02456874: ; // 0x2456874
|
|
/* 02456874 */ cpu->r[3] = cpu->r[31] + 0x000001E0u;
|
|
/* 02456878 */ cpu->r[4] = 0x00000002u;
|
|
/* 0245687C */ Gambit_fn_02451164(cpu);
|
|
L_02456880: ; // 0x2456880
|
|
/* 02456880 */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02456880 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02456884 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 02456884 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02456888 */ cpu->lr = cpu->r[0];
|
|
/* 0245688C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02456890 */ return;
|
|
}
|
|
|
|
// fn_02456898 @ 0x2456898
|
|
void Gambit_fn_02456898(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02456898: ; // 0x2456898
|
|
/* 02456898 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02456898 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02456898 */ cpu->r[1] = _t0;
|
|
/* 0245689C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0245689C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 024568A0 */ cpu->r[31] = cpu->r[3];
|
|
/* 024568A4 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024568A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 024568A8 */ _t3 = cpu->r[31] + 0x000001E8u;
|
|
/* 024568A8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
|
|
/* 024568AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 024568B0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024568B0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 024568B0 */ if (_t5) goto L_024568B4; else goto L_024568FC;
|
|
L_024568B4: ; // 0x24568b4
|
|
/* 024568B4 */ cpu->r[0] = 0x100A0000u;
|
|
/* 024568B8 */ cpu->r[11] = 0x100A0000u;
|
|
/* 024568BC */ cpu->r[8] = 0x100A0000u;
|
|
/* 024568C0 */ cpu->r[0] = cpu->r[0] + 0x00000238u;
|
|
/* 024568C4 */ _t6 = cpu->r[11] + 0x00000348u;
|
|
/* 024568C4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 024568C8 */ cpu->r[4] = 0x00000000u;
|
|
/* 024568CC */ cpu->r[8] = cpu->r[8] + 0x000005DCu;
|
|
/* 024568D0 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024568D0 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 024568D4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 024568D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 024568DC */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 024568DC */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 024568E0 */ Gambit_fn_027ED1E4(cpu);
|
|
/* 024568E4 */ _t9 = cpu->r[31] + 0x00000294u;
|
|
/* 024568E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 024568E8 */ Gambit_fn_020C3920(cpu);
|
|
/* 024568EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024568F0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024568F0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 024568F0 */ if (_t11) goto L_024568FC; else goto L_024568F4;
|
|
L_024568F4: ; // 0x24568f4
|
|
/* 024568F4 */ _t12 = cpu->r[31] + 0x00000294u;
|
|
/* 024568F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 024568F8 */ Gambit_fn_020C3948(cpu);
|
|
L_024568FC: ; // 0x24568fc
|
|
/* 024568FC */ cpu->r[3] = cpu->r[31];
|
|
/* 02456900 */ cpu->r[4] = 0x00000000u;
|
|
/* 02456904 */ Gambit_fn_027EDF00(cpu);
|
|
/* 02456908 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0245690C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245690C */ _t14 = _t13 & 0x00000001u;
|
|
/* 0245690C */ if (_t14) goto L_02456924; else goto L_02456910;
|
|
L_02456910: ; // 0x2456910
|
|
/* 02456910 */ _t15 = cpu->r[31] + 0x00000000u;
|
|
/* 02456910 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02456914 */ _t16 = cpu->r[12] + 0x00000094u;
|
|
/* 02456914 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02456918 */ cpu->ctr = cpu->r[0];
|
|
/* 0245691C */ cpu->r[3] = cpu->r[31];
|
|
/* 02456920 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02456924: ; // 0x2456924
|
|
/* 02456924 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02456924 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02456928 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02456928 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0245692C */ cpu->lr = cpu->r[0];
|
|
/* 02456930 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02456934 */ return;
|
|
}
|
|
|
|
// fn_02456938 @ 0x2456938
|
|
void Gambit_fn_02456938(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02456938: ; // 0x2456938
|
|
/* 02456938 */ cpu->r[5] = 0xFFFFFFFDu;
|
|
/* 0245693C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0245693C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245693C */ cpu->r[1] = _t0;
|
|
/* 02456940 */ cpu->r[10] = 0x101E0000u;
|
|
/* 02456944 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02456948 */ _t1 = cpu->r[10] + 0x000078F0u;
|
|
/* 02456948 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 02456948 */ cpu->r[10] = _t1;
|
|
/* 0245694C */ cpu->r[7] = 0x101E0000u;
|
|
/* 02456950 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 02456950 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 02456954 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 02456958 */ cpu->r[8] = 0x101E0000u;
|
|
/* 0245695C */ _t3 = cpu->r[7] + 0x00007900u;
|
|
/* 0245695C */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0245695C */ cpu->r[7] = _t3;
|
|
/* 02456960 */ _t4 = cpu->r[8] + 0x000078F8u;
|
|
/* 02456960 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 02456960 */ cpu->r[8] = _t4;
|
|
/* 02456964 */ cpu->r[0] = 0x00000002u;
|
|
/* 02456968 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 02456968 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0245696C */ cpu->r[8] = 0x101E0000u;
|
|
/* 02456970 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02456970 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02456974 */ cpu->r[12] = 0x101E0000u;
|
|
/* 02456978 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 02456978 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0245697C */ _t8 = cpu->r[8] + 0x00007910u;
|
|
/* 0245697C */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 0245697C */ cpu->r[8] = _t8;
|
|
/* 02456980 */ _t9 = cpu->r[12] + 0x00007908u;
|
|
/* 02456980 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 02456980 */ cpu->r[12] = _t9;
|
|
/* 02456984 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 02456984 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02456988 */ cpu->r[0] = 0x00000004u;
|
|
/* 0245698C */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 0245698C */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02456990 */ cpu->r[11] = 0x101E0000u;
|
|
/* 02456994 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02456994 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02456998 */ _t13 = cpu->r[11] + 0x00007918u;
|
|
/* 02456998 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0245699C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 024569A0 */ return;
|
|
}
|
|
|
|
// fn_0245693C @ 0x245693c
|
|
void Gambit_fn_0245693C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0245693C: ; // 0x245693c
|
|
/* 0245693C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0245693C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245693C */ cpu->r[1] = _t0;
|
|
/* 02456940 */ cpu->r[10] = 0x101E0000u;
|
|
/* 02456944 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02456948 */ _t1 = cpu->r[10] + 0x000078F0u;
|
|
/* 02456948 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 02456948 */ cpu->r[10] = _t1;
|
|
/* 0245694C */ cpu->r[7] = 0x101E0000u;
|
|
/* 02456950 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 02456950 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 02456954 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 02456958 */ cpu->r[8] = 0x101E0000u;
|
|
/* 0245695C */ _t3 = cpu->r[7] + 0x00007900u;
|
|
/* 0245695C */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0245695C */ cpu->r[7] = _t3;
|
|
/* 02456960 */ _t4 = cpu->r[8] + 0x000078F8u;
|
|
/* 02456960 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 02456960 */ cpu->r[8] = _t4;
|
|
/* 02456964 */ cpu->r[0] = 0x00000002u;
|
|
/* 02456968 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 02456968 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0245696C */ cpu->r[8] = 0x101E0000u;
|
|
/* 02456970 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02456970 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02456974 */ cpu->r[12] = 0x101E0000u;
|
|
/* 02456978 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 02456978 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0245697C */ _t8 = cpu->r[8] + 0x00007910u;
|
|
/* 0245697C */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 0245697C */ cpu->r[8] = _t8;
|
|
/* 02456980 */ _t9 = cpu->r[12] + 0x00007908u;
|
|
/* 02456980 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 02456980 */ cpu->r[12] = _t9;
|
|
/* 02456984 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 02456984 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02456988 */ cpu->r[0] = 0x00000004u;
|
|
/* 0245698C */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 0245698C */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02456990 */ cpu->r[11] = 0x101E0000u;
|
|
/* 02456994 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02456994 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02456998 */ _t13 = cpu->r[11] + 0x00007918u;
|
|
/* 02456998 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0245699C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 024569A0 */ return;
|
|
}
|
|
|
|
// fn_024569A4 @ 0x24569a4
|
|
void Gambit_fn_024569A4(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_024569A4: ; // 0x24569a4
|
|
/* 024569A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024569A8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024569A8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 024569A8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 024569A8 */ goto L_024569AC;
|
|
L_024569AC: ; // 0x24569ac
|
|
/* 024569AC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 024569AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 024569B0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024569B0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 024569B0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 024569B0 */ goto L_024569B4;
|
|
L_024569B4: ; // 0x24569b4
|
|
/* 024569B4 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 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 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) 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 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_024569B8 @ 0x24569b8
|
|
void Gambit_fn_024569B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_024569B8: ; // 0x24569b8
|
|
/* 024569B8 */ cpu->r[0] = cpu->lr;
|
|
/* 024569BC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024569BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024569BC */ cpu->r[1] = _t0;
|
|
/* 024569C0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024569C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 024569C4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 024569C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 024569C8 */ cpu->r[30] = cpu->r[3];
|
|
/* 024569C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 024569CC */ cpu->r[31] = cpu->r[4];
|
|
/* 024569D0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 024569D0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 024569D4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024569D4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 024569D4 */ if (_t5) goto L_02456A24; else goto L_024569D8;
|
|
L_024569D8: ; // 0x24569d8
|
|
/* 024569D8 */ cpu->r[0] = 0x100A0000u;
|
|
/* 024569DC */ cpu->r[9] = 0x100A0000u;
|
|
/* 024569E0 */ cpu->r[0] = cpu->r[0] + 0x00000748u;
|
|
/* 024569E4 */ cpu->r[9] = cpu->r[9] + 0x00000758u;
|
|
/* 024569E8 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 024569E8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 024569EC */ cpu->r[0] = 0x100A0000u;
|
|
/* 024569F0 */ cpu->r[12] = 0x100A0000u;
|
|
/* 024569F4 */ _t7 = cpu->r[30] + 0x0000001Cu;
|
|
/* 024569F4 */ rbrew_write32(cpu->mem, _t7, cpu->r[9]);
|
|
/* 024569F8 */ cpu->r[0] = cpu->r[0] + 0x00000768u;
|
|
/* 024569FC */ cpu->r[12] = cpu->r[12] + 0x000007E0u;
|
|
/* 02456A00 */ cpu->r[3] = cpu->r[30];
|
|
/* 02456A04 */ _t8 = cpu->r[30] + 0x000001C8u;
|
|
/* 02456A04 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02456A08 */ cpu->r[4] = 0x00000000u;
|
|
/* 02456A0C */ _t9 = cpu->r[30] + 0x000001DCu;
|
|
/* 02456A0C */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02456A10 */ Gambit_fn_02068798(cpu);
|
|
/* 02456A14 */ cpu->r[10] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02456A14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02456A18 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456A18 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02456A18 */ if (_t11) goto L_02456A24; else goto L_02456A1C;
|
|
L_02456A1C: ; // 0x2456a1c
|
|
/* 02456A1C */ cpu->r[3] = cpu->r[30];
|
|
/* 02456A20 */ Gambit_fn_02801BB0(cpu);
|
|
L_02456A24: ; // 0x2456a24
|
|
/* 02456A24 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02456A24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02456A28 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02456A28 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02456A2C */ cpu->lr = cpu->r[0];
|
|
/* 02456A30 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02456A30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02456A34 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02456A38 */ return;
|
|
}
|
|
|
|
// fn_024569BC @ 0x24569bc
|
|
void Gambit_fn_024569BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_024569BC: ; // 0x24569bc
|
|
/* 024569BC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024569BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024569BC */ cpu->r[1] = _t0;
|
|
/* 024569C0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024569C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 024569C4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 024569C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 024569C8 */ cpu->r[30] = cpu->r[3];
|
|
/* 024569C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 024569CC */ cpu->r[31] = cpu->r[4];
|
|
/* 024569D0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 024569D0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 024569D4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024569D4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 024569D4 */ if (_t5) goto L_02456A24; else goto L_024569D8;
|
|
L_024569D8: ; // 0x24569d8
|
|
/* 024569D8 */ cpu->r[0] = 0x100A0000u;
|
|
/* 024569DC */ cpu->r[9] = 0x100A0000u;
|
|
/* 024569E0 */ cpu->r[0] = cpu->r[0] + 0x00000748u;
|
|
/* 024569E4 */ cpu->r[9] = cpu->r[9] + 0x00000758u;
|
|
/* 024569E8 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 024569E8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 024569EC */ cpu->r[0] = 0x100A0000u;
|
|
/* 024569F0 */ cpu->r[12] = 0x100A0000u;
|
|
/* 024569F4 */ _t7 = cpu->r[30] + 0x0000001Cu;
|
|
/* 024569F4 */ rbrew_write32(cpu->mem, _t7, cpu->r[9]);
|
|
/* 024569F8 */ cpu->r[0] = cpu->r[0] + 0x00000768u;
|
|
/* 024569FC */ cpu->r[12] = cpu->r[12] + 0x000007E0u;
|
|
/* 02456A00 */ cpu->r[3] = cpu->r[30];
|
|
/* 02456A04 */ _t8 = cpu->r[30] + 0x000001C8u;
|
|
/* 02456A04 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02456A08 */ cpu->r[4] = 0x00000000u;
|
|
/* 02456A0C */ _t9 = cpu->r[30] + 0x000001DCu;
|
|
/* 02456A0C */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02456A10 */ Gambit_fn_02068798(cpu);
|
|
/* 02456A14 */ cpu->r[10] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02456A14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02456A18 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456A18 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02456A18 */ if (_t11) goto L_02456A24; else goto L_02456A1C;
|
|
L_02456A1C: ; // 0x2456a1c
|
|
/* 02456A1C */ cpu->r[3] = cpu->r[30];
|
|
/* 02456A20 */ Gambit_fn_02801BB0(cpu);
|
|
L_02456A24: ; // 0x2456a24
|
|
/* 02456A24 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02456A24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02456A28 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02456A28 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02456A2C */ cpu->lr = cpu->r[0];
|
|
/* 02456A30 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02456A30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02456A34 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02456A38 */ return;
|
|
}
|
|
|
|
// fn_02456A3C @ 0x2456a3c
|
|
void Gambit_fn_02456A3C(CPUState* cpu) {
|
|
L_02456A3C: ; // 0x2456a3c
|
|
/* 02456A3C */ return;
|
|
}
|
|
|
|
// fn_02456A40 @ 0x2456a40
|
|
void Gambit_fn_02456A40(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02456A40: ; // 0x2456a40
|
|
/* 02456A40 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 02456A40 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02456A44 */ return;
|
|
}
|
|
|
|
// fn_02456A48 @ 0x2456a48
|
|
void Gambit_fn_02456A48(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02456A48: ; // 0x2456a48
|
|
/* 02456A48 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 02456A48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02456A4C */ return;
|
|
}
|
|
|
|
// fn_02456A50 @ 0x2456a50
|
|
void Gambit_fn_02456A50(CPUState* cpu) {
|
|
L_02456A50: ; // 0x2456a50
|
|
/* 02456A50 */ return;
|
|
}
|
|
|
|
// fn_02456A54 @ 0x2456a54
|
|
void Gambit_fn_02456A54(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_02456A54: ; // 0x2456a54
|
|
/* 02456A54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02456A58 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456A58 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02456A58 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02456A58 */ goto L_02456A5C;
|
|
L_02456A5C: ; // 0x2456a5c
|
|
/* 02456A5C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02456A5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02456A60 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456A60 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02456A60 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02456A60 */ goto L_02456A64;
|
|
L_02456A64: ; // 0x2456a64
|
|
/* 02456A64 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 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 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) 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 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02456A68 @ 0x2456a68
|
|
void Gambit_fn_02456A68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02456A68: ; // 0x2456a68
|
|
/* 02456A68 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02456A68 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02456A6C */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02456A6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02456A70 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 02456A74 */ cpu->r[11] = 0x10110000u;
|
|
/* 02456A78 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 02456A78 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02456A7C */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02456A7C */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 02456A80 */ return;
|
|
}
|
|
|
|
// fn_02456A84 @ 0x2456a84
|
|
void Gambit_fn_02456A84(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_02456A84: ; // 0x2456a84
|
|
/* 02456A84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02456A88 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456A88 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02456A88 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02456A88 */ goto L_02456A8C;
|
|
L_02456A8C: ; // 0x2456a8c
|
|
/* 02456A8C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02456A8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02456A90 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456A90 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02456A90 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02456A90 */ goto L_02456A94;
|
|
L_02456A94: ; // 0x2456a94
|
|
/* 02456A94 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 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 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) 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 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02456A98 @ 0x2456a98
|
|
void Gambit_fn_02456A98(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_02456A98: ; // 0x2456a98
|
|
/* 02456A98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02456A9C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456A9C */ _t1 = _t0 & 0x00000001u;
|
|
/* 02456A9C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02456A9C */ goto L_02456AA0;
|
|
L_02456AA0: ; // 0x2456aa0
|
|
/* 02456AA0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02456AA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02456AA4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456AA4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02456AA4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02456AA4 */ goto L_02456AA8;
|
|
L_02456AA8: ; // 0x2456aa8
|
|
/* 02456AA8 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 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 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) 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 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02456AAC @ 0x2456aac
|
|
void Gambit_fn_02456AAC(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_02456AAC: ; // 0x2456aac
|
|
/* 02456AAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02456AB0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456AB0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02456AB0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02456AB0 */ goto L_02456AB4;
|
|
L_02456AB4: ; // 0x2456ab4
|
|
/* 02456AB4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02456AB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02456AB8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456AB8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02456AB8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02456AB8 */ goto L_02456ABC;
|
|
L_02456ABC: ; // 0x2456abc
|
|
/* 02456ABC */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 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 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) 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 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02456AC0 @ 0x2456ac0
|
|
void Gambit_fn_02456AC0(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_02456AC0: ; // 0x2456ac0
|
|
/* 02456AC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02456AC4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456AC4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02456AC4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02456AC4 */ goto L_02456AC8;
|
|
L_02456AC8: ; // 0x2456ac8
|
|
/* 02456AC8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02456AC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02456ACC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456ACC */ _t3 = _t2 & 0x00000001u;
|
|
/* 02456ACC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02456ACC */ goto L_02456AD0;
|
|
L_02456AD0: ; // 0x2456ad0
|
|
/* 02456AD0 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 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 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) 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 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02456AD4 @ 0x2456ad4
|
|
void Gambit_fn_02456AD4(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_02456AD4: ; // 0x2456ad4
|
|
/* 02456AD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02456AD8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456AD8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02456AD8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02456AD8 */ goto L_02456ADC;
|
|
L_02456ADC: ; // 0x2456adc
|
|
/* 02456ADC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02456ADC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02456AE0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456AE0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02456AE0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02456AE0 */ goto L_02456AE4;
|
|
L_02456AE4: ; // 0x2456ae4
|
|
/* 02456AE4 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 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 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) 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 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02456AE8 @ 0x2456ae8
|
|
void Gambit_fn_02456AE8(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_02456AE8: ; // 0x2456ae8
|
|
/* 02456AE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02456AEC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456AEC */ _t1 = _t0 & 0x00000001u;
|
|
/* 02456AEC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02456AEC */ goto L_02456AF0;
|
|
L_02456AF0: ; // 0x2456af0
|
|
/* 02456AF0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02456AF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02456AF4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456AF4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02456AF4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02456AF4 */ goto L_02456AF8;
|
|
L_02456AF8: ; // 0x2456af8
|
|
/* 02456AF8 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 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 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) 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 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02456AFC @ 0x2456afc
|
|
void Gambit_fn_02456AFC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02456AFC: ; // 0x2456afc
|
|
/* 02456AFC */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02456AFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02456B00 */ return;
|
|
}
|
|
|
|
// fn_02456B04 @ 0x2456b04
|
|
void Gambit_fn_02456B04(CPUState* cpu) {
|
|
L_02456B04: ; // 0x2456b04
|
|
/* 02456B04 */ return;
|
|
}
|
|
|
|
// fn_02456B08 @ 0x2456b08
|
|
void Gambit_fn_02456B08(CPUState* cpu) {
|
|
L_02456B08: ; // 0x2456b08
|
|
/* 02456B08 */ return;
|
|
}
|
|
|
|
// fn_02456B0C @ 0x2456b0c
|
|
void Gambit_fn_02456B0C(CPUState* cpu) {
|
|
L_02456B0C: ; // 0x2456b0c
|
|
/* 02456B0C */ return;
|
|
}
|
|
|
|
// fn_02456B10 @ 0x2456b10
|
|
void Gambit_fn_02456B10(CPUState* cpu) {
|
|
L_02456B10: ; // 0x2456b10
|
|
/* 02456B10 */ return;
|
|
}
|
|
|
|
// fn_02456B14 @ 0x2456b14
|
|
void Gambit_fn_02456B14(CPUState* cpu) {
|
|
L_02456B14: ; // 0x2456b14
|
|
/* 02456B14 */ cpu->r[3] = 0x00000001u;
|
|
/* 02456B18 */ return;
|
|
}
|
|
|
|
// fn_02456B1C @ 0x2456b1c
|
|
void Gambit_fn_02456B1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02456B1C: ; // 0x2456b1c
|
|
/* 02456B1C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02456B1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02456B20 */ _t1 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02456B20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02456B24 */ cpu->ctr = cpu->r[0];
|
|
/* 02456B28 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02456B2C @ 0x2456b2c
|
|
void Gambit_fn_02456B2C(CPUState* cpu) {
|
|
L_02456B2C: ; // 0x2456b2c
|
|
/* 02456B2C */ return;
|
|
}
|
|
|
|
// fn_02456B30 @ 0x2456b30
|
|
void Gambit_fn_02456B30(CPUState* cpu) {
|
|
L_02456B30: ; // 0x2456b30
|
|
/* 02456B30 */ cpu->r[3] = 0x00000000u;
|
|
/* 02456B34 */ return;
|
|
}
|
|
|
|
// fn_02456B38 @ 0x2456b38
|
|
void Gambit_fn_02456B38(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02456B38: ; // 0x2456b38
|
|
/* 02456B38 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02456B3C */ _t0 = cpu->r[9] + 0xFFFFDBA0u;
|
|
/* 02456B3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02456B3C */ cpu->r[9] = _t0;
|
|
/* 02456B40 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02456B44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02456B48 */ cpu->r[12] = cpu->r[12] + 0xFFFFED90u;
|
|
/* 02456B4C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456B4C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02456B4C */ if (_t2) goto L_02456B50; else goto L_02456B64;
|
|
L_02456B50: ; // 0x2456b50
|
|
/* 02456B50 */ cpu->r[7] = 0x100A0000u;
|
|
/* 02456B54 */ cpu->r[0] = 0x00000001u;
|
|
/* 02456B58 */ cpu->r[7] = cpu->r[7] + 0x00000318u;
|
|
/* 02456B5C */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 02456B5C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02456B60 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 02456B60 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_02456B64: ; // 0x2456b64
|
|
/* 02456B64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02456B68 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456B68 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02456B68 */ if (_t6) goto L_02456B6C; else goto L_02456B74;
|
|
L_02456B6C: ; // 0x2456b6c
|
|
/* 02456B6C */ cpu->r[3] = 0x00000001u;
|
|
/* 02456B70 */ return;
|
|
L_02456B74: ; // 0x2456b74
|
|
/* 02456B74 */ cpu->r[7] = 0x101D0000u;
|
|
/* 02456B78 */ _t7 = cpu->r[7] + 0xFFFFDB98u;
|
|
/* 02456B78 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02456B78 */ cpu->r[7] = _t7;
|
|
/* 02456B7C */ cpu->r[11] = 0x101D0000u;
|
|
/* 02456B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02456B84 */ cpu->r[11] = cpu->r[11] + 0xFFFFED94u;
|
|
/* 02456B88 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456B88 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02456B88 */ if (_t9) goto L_02456B8C; else goto L_02456BA0;
|
|
L_02456B8C: ; // 0x2456b8c
|
|
/* 02456B8C */ cpu->r[0] = 0x100A0000u;
|
|
/* 02456B90 */ cpu->r[9] = 0x00000001u;
|
|
/* 02456B94 */ cpu->r[0] = cpu->r[0] + 0x00000228u;
|
|
/* 02456B98 */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 02456B98 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02456B9C */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 02456B9C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02456BA0: ; // 0x2456ba0
|
|
/* 02456BA0 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 02456BA4 */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 02456BA8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 02456BAC */ return;
|
|
}
|
|
|
|
// fn_02456BB0 @ 0x2456bb0
|
|
void Gambit_fn_02456BB0(CPUState* cpu) {
|
|
L_02456BB0: ; // 0x2456bb0
|
|
/* 02456BB0 */ return;
|
|
}
|
|
|
|
// fn_02456BB4 @ 0x2456bb4
|
|
void Gambit_fn_02456BB4(CPUState* cpu) {
|
|
L_02456BB4: ; // 0x2456bb4
|
|
/* 02456BB4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02456BB8 */ return;
|
|
}
|
|
|
|
// fn_02456BBC @ 0x2456bbc
|
|
void Gambit_fn_02456BBC(CPUState* cpu) {
|
|
L_02456BBC: ; // 0x2456bbc
|
|
/* 02456BBC */ return;
|
|
}
|
|
|
|
// fn_02456BC0 @ 0x2456bc0
|
|
void Gambit_fn_02456BC0(CPUState* cpu) {
|
|
L_02456BC0: ; // 0x2456bc0
|
|
/* 02456BC0 */ return;
|
|
}
|
|
|
|
// fn_02456BC4 @ 0x2456bc4
|
|
void Gambit_fn_02456BC4(CPUState* cpu) {
|
|
L_02456BC4: ; // 0x2456bc4
|
|
/* 02456BC4 */ return;
|
|
}
|
|
|
|
// fn_02456BC8 @ 0x2456bc8
|
|
void Gambit_fn_02456BC8(CPUState* cpu) {
|
|
L_02456BC8: ; // 0x2456bc8
|
|
/* 02456BC8 */ return;
|
|
}
|
|
|
|
// fn_02456BD0 @ 0x2456bd0
|
|
void Gambit_fn_02456BD0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_02456BD0: ; // 0x2456bd0
|
|
/* 02456BD0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02456BD0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02456BD0 */ cpu->r[1] = _t0;
|
|
/* 02456BD4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02456BD4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02456BD8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02456BD8 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02456BDC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02456BDC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02456BE0 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02456BE0 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02456BE4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02456BE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02456BE8 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02456BE8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02456BEC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456BEC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02456BEC */ if (_t7) goto L_02456BF0; else goto L_02456C00;
|
|
L_02456BF0: ; // 0x2456bf0
|
|
/* 02456BF0 */ cpu->r[3] = 0x00000050u;
|
|
/* 02456BF4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02456BF8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02456BF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02456BFC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456BFC */ _t9 = _t8 & 0x00000001u;
|
|
/* 02456BFC */ if (_t9) goto L_02456CAC; else goto L_02456C00;
|
|
L_02456C00: ; // 0x2456c00
|
|
/* 02456C00 */ cpu->r[28] = cpu->r[31];
|
|
/* 02456C00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02456C04 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456C04 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02456C04 */ if (_t11) goto L_02456C08; else goto L_02456C18;
|
|
L_02456C08: ; // 0x2456c08
|
|
/* 02456C08 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 02456C0C */ Gambit_fn_02801A78(cpu);
|
|
/* 02456C10 */ cpu->r[28] = cpu->r[3];
|
|
/* 02456C10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02456C14 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456C14 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02456C14 */ if (_t13) goto L_02456CAC; else goto L_02456C18;
|
|
L_02456C18: ; // 0x2456c18
|
|
/* 02456C18 */ cpu->r[30] = cpu->r[28];
|
|
/* 02456C18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02456C1C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456C1C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02456C1C */ if (_t15) goto L_02456C20; else goto L_02456C30;
|
|
L_02456C20: ; // 0x2456c20
|
|
/* 02456C20 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 02456C24 */ Gambit_fn_02801A78(cpu);
|
|
/* 02456C28 */ cpu->r[30] = cpu->r[3];
|
|
/* 02456C28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02456C2C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456C2C */ _t17 = _t16 & 0x00000001u;
|
|
/* 02456C2C */ if (_t17) goto L_02456CA0; else goto L_02456C30;
|
|
L_02456C30: ; // 0x2456c30
|
|
/* 02456C30 */ cpu->r[3] = cpu->r[30];
|
|
/* 02456C30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02456C34 */ cpu->r[29] = 0x10110000u;
|
|
/* 02456C38 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456C38 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02456C38 */ if (_t19) goto L_02456C3C; else goto L_02456C68;
|
|
L_02456C3C: ; // 0x2456c3c
|
|
/* 02456C3C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02456C40 */ Gambit_fn_02801A78(cpu);
|
|
/* 02456C44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02456C48 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456C48 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02456C48 */ if (_t21) goto L_02456C4C; else goto L_02456C68;
|
|
L_02456C4C: ; // 0x2456c4c
|
|
/* 02456C4C */ cpu->r[10] = 0x100A0000u;
|
|
/* 02456C50 */ _t22 = cpu->r[29] + 0x00007399u;
|
|
/* 02456C50 */ cpu->r[0] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02456C54 */ cpu->r[10] = cpu->r[10] + 0x00000298u;
|
|
/* 02456C58 */ _t23 = cpu->r[30] + 0x00000000u;
|
|
/* 02456C58 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02456C5C */ _t24 = cpu->r[30] + 0x00000004u;
|
|
/* 02456C5C */ rbrew_write32(cpu->mem, _t24, cpu->r[10]);
|
|
/* 02456C60 */ _t25 = cpu->r[11] + 0x00000000u;
|
|
/* 02456C60 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[0]);
|
|
/* 02456C64 */ goto L_02456CA0;
|
|
L_02456C68: ; // 0x2456c68
|
|
/* 02456C68 */ cpu->r[8] = 0x100A0000u;
|
|
/* 02456C6C */ cpu->r[7] = cpu->r[30] + 0x0000000Cu;
|
|
/* 02456C70 */ cpu->r[8] = cpu->r[8] + 0x00000250u;
|
|
/* 02456C74 */ _t26 = cpu->r[3] + 0x00000000u;
|
|
/* 02456C74 */ rbrew_write32(cpu->mem, _t26, cpu->r[7]);
|
|
/* 02456C78 */ cpu->r[9] = 0x00000040u;
|
|
/* 02456C7C */ _t27 = cpu->r[3] + 0x00000004u;
|
|
/* 02456C7C */ rbrew_write32(cpu->mem, _t27, cpu->r[8]);
|
|
/* 02456C80 */ _t28 = cpu->r[3] + 0x00000008u;
|
|
/* 02456C80 */ rbrew_write32(cpu->mem, _t28, cpu->r[9]);
|
|
/* 02456C84 */ _t29 = cpu->r[29] + 0x00007399u;
|
|
/* 02456C84 */ cpu->r[0] = rbrew_read8(cpu->mem, _t29);
|
|
/* 02456C88 */ cpu->r[10] = 0x100A0000u;
|
|
/* 02456C8C */ _t30 = cpu->r[30] + 0x00000000u;
|
|
/* 02456C8C */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02456C90 */ cpu->r[10] = cpu->r[10] + 0x00000298u;
|
|
/* 02456C94 */ _t31 = cpu->r[30] + 0x0000004Bu;
|
|
/* 02456C94 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[0]);
|
|
/* 02456C98 */ _t32 = cpu->r[30] + 0x00000004u;
|
|
/* 02456C98 */ rbrew_write32(cpu->mem, _t32, cpu->r[10]);
|
|
/* 02456C9C */ _t33 = cpu->r[11] + 0x00000000u;
|
|
/* 02456C9C */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[0]);
|
|
L_02456CA0: ; // 0x2456ca0
|
|
/* 02456CA0 */ cpu->r[12] = 0x100A0000u;
|
|
/* 02456CA4 */ cpu->r[12] = cpu->r[12] + 0x000002B0u;
|
|
/* 02456CA8 */ _t34 = cpu->r[28] + 0x00000004u;
|
|
/* 02456CA8 */ rbrew_write32(cpu->mem, _t34, cpu->r[12]);
|
|
L_02456CAC: ; // 0x2456cac
|
|
/* 02456CAC */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 02456CAC */ cpu->r[28] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02456CB0 */ _t36 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02456CB0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02456CB4 */ _t37 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02456CB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02456CB8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02456CBC */ _t38 = cpu->r[1] + 0x00000010u;
|
|
/* 02456CBC */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02456CC0 */ cpu->lr = cpu->r[0];
|
|
/* 02456CC4 */ _t39 = cpu->r[1] + 0x00000014u;
|
|
/* 02456CC4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02456CC8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02456CCC */ return;
|
|
}
|
|
|
|
// fn_02456CE4 @ 0x2456ce4
|
|
void Gambit_fn_02456CE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0245106C: ; // 0x245106c
|
|
/* 0245106C */ cpu->r[0] = cpu->lr;
|
|
/* 02451070 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02451070 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02451070 */ cpu->r[1] = _t0;
|
|
/* 02451074 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02451074 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02451078 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245107C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0245107C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02451080 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 02451080 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02451084 */ cpu->r[12] = 0x00000000u;
|
|
/* 02451088 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0245108C */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0245108C */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02451090 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02451090 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02451090 */ if (_t6) goto L_024510B8; else goto L_02451094;
|
|
L_02451094: ; // 0x2451094
|
|
/* 02451094 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02451094 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02451098 */ /* nop */
|
|
/* 0245109C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 024510A0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024510A0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 024510A0 */ if (_t9) goto L_024510A4; else goto L_024510B8;
|
|
L_024510A4: ; // 0x24510a4
|
|
/* 024510A4 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 024510A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 024510A8 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 024510A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 024510AC */ cpu->ctr = cpu->r[0];
|
|
/* 024510B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 024510B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_024510B8: ; // 0x24510b8
|
|
/* 024510B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 024510BC */ Gambit_fn_02450FE4(cpu);
|
|
/* 024510C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 024510C4 */ Gambit_fn_027FC37C(cpu);
|
|
/* 024510C8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 024510C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 024510CC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024510CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 024510D0 */ cpu->lr = cpu->r[0];
|
|
/* 024510D4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024510D8 */ return;
|
|
L_02456CE4: ; // 0x2456ce4
|
|
/* 02456CE4 */ cpu->r[3] = cpu->r[3] + 0x000001E0u;
|
|
/* 02456CE8 */ goto L_0245106C;
|
|
}
|
|
|
|
// fn_02456CF0 @ 0x2456cf0
|
|
void Gambit_fn_02456CF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104;
|
|
|
|
L_02456CF0: ; // 0x2456cf0
|
|
/* 02456CF0 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02456CF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02456CF0 */ cpu->r[1] = _t0;
|
|
/* 02456CF4 */ /* nop */
|
|
/* 02456CF8 */ cpu->r[0] = cpu->lr;
|
|
/* 02456CFC */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02456CFC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02456D00 */ cpu->r[29] = cpu->r[6];
|
|
/* 02456D04 */ cpu->r[28] = cpu->r[3];
|
|
/* 02456D08 */ cpu->r[30] = cpu->r[5];
|
|
/* 02456D0C */ _t2 = cpu->r[30] + 0x00000000u;
|
|
/* 02456D0C */ cpu->r[27] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02456D10 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02456D14 */ _t3 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02456D14 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 02456D18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02456D1C */ _t4 = cpu->r[28] + 0x0000000Fu;
|
|
/* 02456D1C */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[27]);
|
|
/* 02456D20 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456D20 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02456D20 */ if (_t6) goto L_02456D64; else goto L_02456D24;
|
|
L_02456D24: ; // 0x2456d24
|
|
/* 02456D24 */ _t7 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02456D24 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02456D28 */ Gambit_fn_02826F20(cpu);
|
|
/* 02456D2C */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02456D2C */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02456D30 */ _t9 = cpu->r[9] + 0x00000034u;
|
|
/* 02456D30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02456D34 */ cpu->ctr = cpu->r[0];
|
|
/* 02456D38 */ cpu->r[5] = 0x00000004u;
|
|
/* 02456D3C */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02456D40 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02456D44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02456D48 */ cpu->r[0] = cpu->r[27];
|
|
/* 02456D4C */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02456D4C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02456D4C */ if (_t11) goto L_02456D54; else goto L_02456D50;
|
|
L_02456D50: ; // 0x2456d50
|
|
/* 02456D50 */ cpu->r[0] = 0x00000001u;
|
|
L_02456D54: ; // 0x2456d54
|
|
/* 02456D54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02456D58 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456D58 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02456D58 */ if (_t13) goto L_02456D64; else goto L_02456D5C;
|
|
L_02456D5C: ; // 0x2456d5c
|
|
/* 02456D5C */ _t14 = cpu->r[28] + 0x00000024u;
|
|
/* 02456D5C */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 02456D60 */ _t15 = cpu->r[28] + 0x00000020u;
|
|
/* 02456D60 */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
L_02456D64: ; // 0x2456d64
|
|
/* 02456D64 */ _t16 = cpu->r[28] + 0x00000020u;
|
|
/* 02456D64 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02456D68 */ cpu->r[0] = 0x00000000u;
|
|
/* 02456D6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02456D70 */ cpu->r[12] = cpu->r[0];
|
|
/* 02456D74 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02456D74 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02456D74 */ if (_t18) goto L_02456D78; else goto L_02456D9C;
|
|
L_02456D78: ; // 0x2456d78
|
|
/* 02456D78 */ cpu->ctr = cpu->r[7];
|
|
/* 02456D7C */ cpu->r[10] = 0x00000000u;
|
|
L_02456D80: ; // 0x2456d80
|
|
/* 02456D80 */ _t19 = cpu->r[28] + 0x00000024u;
|
|
/* 02456D80 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02456D84 */ _t20 = cpu->r[11] + cpu->r[10];
|
|
/* 02456D84 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[0]);
|
|
/* 02456D88 */ cpu->r[8] = cpu->r[11] + cpu->r[10];
|
|
/* 02456D8C */ _t21 = cpu->r[8] + 0x00000004u;
|
|
/* 02456D8C */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 02456D90 */ cpu->r[10] = cpu->r[10] + 0x00000008u;
|
|
/* 02456D94 */ _t22 = cpu->r[8] + 0x00000002u;
|
|
/* 02456D94 */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[0]);
|
|
/* 02456D98 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02456D98 */ _t23 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02456D98 */ _t24 = _t23 >> (0x00000002u & 31u);
|
|
/* 02456D98 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02456D98 */ if (_t25) goto L_02456D80; else goto L_02456D9C;
|
|
L_02456D9C: ; // 0x2456d9c
|
|
/* 02456D9C */ _t26 = cpu->r[28] + 0x0000000Fu;
|
|
/* 02456D9C */ cpu->r[27] = rbrew_read8(cpu->mem, _t26);
|
|
/* 02456DA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02456DA4 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456DA4 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02456DA4 */ if (_t28) goto L_02456DE8; else goto L_02456DA8;
|
|
L_02456DA8: ; // 0x2456da8
|
|
/* 02456DA8 */ _t29 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02456DA8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02456DAC */ Gambit_fn_02826F20(cpu);
|
|
/* 02456DB0 */ _t30 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02456DB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02456DB4 */ _t31 = cpu->r[12] + 0x00000034u;
|
|
/* 02456DB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02456DB8 */ cpu->ctr = cpu->r[0];
|
|
/* 02456DBC */ cpu->r[5] = 0x00000004u;
|
|
/* 02456DC0 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02456DC4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02456DC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02456DCC */ cpu->r[11] = cpu->r[27];
|
|
/* 02456DD0 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02456DD0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02456DD0 */ if (_t33) goto L_02456DD8; else goto L_02456DD4;
|
|
L_02456DD4: ; // 0x2456dd4
|
|
/* 02456DD4 */ cpu->r[11] = 0x00000001u;
|
|
L_02456DD8: ; // 0x2456dd8
|
|
/* 02456DD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02456DDC */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456DDC */ _t35 = _t34 & 0x00000001u;
|
|
/* 02456DDC */ if (_t35) goto L_02456DE8; else goto L_02456DE0;
|
|
L_02456DE0: ; // 0x2456de0
|
|
/* 02456DE0 */ _t36 = cpu->r[28] + 0x0000002Cu;
|
|
/* 02456DE0 */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 02456DE4 */ _t37 = cpu->r[28] + 0x00000028u;
|
|
/* 02456DE4 */ rbrew_write32(cpu->mem, _t37, cpu->r[27]);
|
|
L_02456DE8: ; // 0x2456de8
|
|
/* 02456DE8 */ _t38 = cpu->r[28] + 0x00000028u;
|
|
/* 02456DE8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02456DEC */ cpu->r[0] = 0x00000000u;
|
|
/* 02456DF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02456DF4 */ cpu->r[12] = cpu->r[0];
|
|
/* 02456DF8 */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02456DF8 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02456DF8 */ if (_t40) goto L_02456DFC; else goto L_02456E20;
|
|
L_02456DFC: ; // 0x2456dfc
|
|
/* 02456DFC */ cpu->ctr = cpu->r[6];
|
|
/* 02456E00 */ cpu->r[9] = 0x00000000u;
|
|
L_02456E04: ; // 0x2456e04
|
|
/* 02456E04 */ _t41 = cpu->r[28] + 0x0000002Cu;
|
|
/* 02456E04 */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02456E08 */ _t42 = cpu->r[5] + cpu->r[9];
|
|
/* 02456E08 */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[0]);
|
|
/* 02456E0C */ cpu->r[7] = cpu->r[5] + cpu->r[9];
|
|
/* 02456E10 */ _t43 = cpu->r[7] + 0x00000004u;
|
|
/* 02456E10 */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 02456E14 */ cpu->r[9] = cpu->r[9] + 0x00000008u;
|
|
/* 02456E18 */ _t44 = cpu->r[7] + 0x00000002u;
|
|
/* 02456E18 */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[0]);
|
|
/* 02456E1C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02456E1C */ _t45 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02456E1C */ _t46 = _t45 >> (0x00000002u & 31u);
|
|
/* 02456E1C */ _t47 = _t46 & 0x00000001u;
|
|
/* 02456E1C */ if (_t47) goto L_02456E04; else goto L_02456E20;
|
|
L_02456E20: ; // 0x2456e20
|
|
/* 02456E20 */ _t48 = cpu->r[28] + 0x0000000Fu;
|
|
/* 02456E20 */ cpu->r[27] = rbrew_read8(cpu->mem, _t48);
|
|
/* 02456E24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02456E28 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456E28 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02456E28 */ if (_t50) goto L_02456E6C; else goto L_02456E2C;
|
|
L_02456E2C: ; // 0x2456e2c
|
|
/* 02456E2C */ _t51 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02456E2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02456E30 */ Gambit_fn_02826F20(cpu);
|
|
/* 02456E34 */ _t52 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02456E34 */ cpu->r[6] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02456E38 */ _t53 = cpu->r[6] + 0x00000034u;
|
|
/* 02456E38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02456E3C */ cpu->ctr = cpu->r[0];
|
|
/* 02456E40 */ cpu->r[5] = 0x00000004u;
|
|
/* 02456E44 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02456E48 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02456E4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02456E50 */ cpu->r[10] = cpu->r[27];
|
|
/* 02456E54 */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02456E54 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02456E54 */ if (_t55) goto L_02456E5C; else goto L_02456E58;
|
|
L_02456E58: ; // 0x2456e58
|
|
/* 02456E58 */ cpu->r[10] = 0x00000001u;
|
|
L_02456E5C: ; // 0x2456e5c
|
|
/* 02456E5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02456E60 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456E60 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02456E60 */ if (_t57) goto L_02456E6C; else goto L_02456E64;
|
|
L_02456E64: ; // 0x2456e64
|
|
/* 02456E64 */ _t58 = cpu->r[28] + 0x00000034u;
|
|
/* 02456E64 */ rbrew_write32(cpu->mem, _t58, cpu->r[3]);
|
|
/* 02456E68 */ _t59 = cpu->r[28] + 0x00000030u;
|
|
/* 02456E68 */ rbrew_write32(cpu->mem, _t59, cpu->r[27]);
|
|
L_02456E6C: ; // 0x2456e6c
|
|
/* 02456E6C */ _t60 = cpu->r[28] + 0x00000030u;
|
|
/* 02456E6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02456E70 */ cpu->r[0] = 0x00000000u;
|
|
/* 02456E74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02456E78 */ cpu->r[5] = cpu->r[0];
|
|
/* 02456E7C */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02456E7C */ _t62 = _t61 & 0x00000001u;
|
|
/* 02456E7C */ if (_t62) goto L_02456E80; else goto L_02456EA4;
|
|
L_02456E80: ; // 0x2456e80
|
|
/* 02456E80 */ cpu->ctr = cpu->r[12];
|
|
/* 02456E84 */ cpu->r[8] = 0x00000000u;
|
|
L_02456E88: ; // 0x2456e88
|
|
/* 02456E88 */ _t63 = cpu->r[28] + 0x00000034u;
|
|
/* 02456E88 */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02456E8C */ _t64 = cpu->r[9] + cpu->r[8];
|
|
/* 02456E8C */ rbrew_write16(cpu->mem, _t64, (uint16_t)cpu->r[0]);
|
|
/* 02456E90 */ cpu->r[6] = cpu->r[9] + cpu->r[8];
|
|
/* 02456E94 */ _t65 = cpu->r[6] + 0x00000004u;
|
|
/* 02456E94 */ rbrew_write32(cpu->mem, _t65, cpu->r[5]);
|
|
/* 02456E98 */ cpu->r[8] = cpu->r[8] + 0x00000008u;
|
|
/* 02456E9C */ _t66 = cpu->r[6] + 0x00000002u;
|
|
/* 02456E9C */ rbrew_write16(cpu->mem, _t66, (uint16_t)cpu->r[0]);
|
|
/* 02456EA0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02456EA0 */ _t67 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02456EA0 */ _t68 = _t67 >> (0x00000002u & 31u);
|
|
/* 02456EA0 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02456EA0 */ if (_t69) goto L_02456E88; else goto L_02456EA4;
|
|
L_02456EA4: ; // 0x2456ea4
|
|
/* 02456EA4 */ _t70 = cpu->r[30] + 0x00000000u;
|
|
/* 02456EA4 */ cpu->r[25] = rbrew_read8(cpu->mem, _t70);
|
|
/* 02456EA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02456EAC */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456EAC */ _t72 = _t71 & 0x00000001u;
|
|
/* 02456EAC */ if (_t72) goto L_02456F88; else goto L_02456EB0;
|
|
L_02456EB0: ; // 0x2456eb0
|
|
/* 02456EB0 */ _t73 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02456EB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02456EB4 */ Gambit_fn_02826F20(cpu);
|
|
/* 02456EB8 */ _t74 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02456EB8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02456EBC */ _t75 = cpu->r[10] + 0x00000034u;
|
|
/* 02456EBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02456EC0 */ cpu->ctr = cpu->r[12];
|
|
/* 02456EC4 */ cpu->r[5] = 0x00000004u;
|
|
/* 02456EC8 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000024u);
|
|
/* 02456ECC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02456ED0 */ cpu->r[24] = cpu->r[3];
|
|
/* 02456ED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02456ED8 */ cpu->r[30] = cpu->r[25];
|
|
/* 02456EDC */ cpu->r[7] = 0x00000000u;
|
|
/* 02456EE0 */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02456EE0 */ _t77 = _t76 & 0x00000001u;
|
|
/* 02456EE0 */ if (_t77) goto L_02456EE8; else goto L_02456EE4;
|
|
L_02456EE4: ; // 0x2456ee4
|
|
/* 02456EE4 */ cpu->r[30] = 0x00000001u;
|
|
L_02456EE8: ; // 0x2456ee8
|
|
/* 02456EE8 */ cpu->r[31] = 0x10110000u;
|
|
/* 02456EEC */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x00000024u);
|
|
/* 02456EF0 */ _t78 = cpu->r[31] + 0x00007399u;
|
|
/* 02456EF0 */ cpu->r[31] = rbrew_read8(cpu->mem, _t78);
|
|
/* 02456EF4 */ cpu->r[23] = 0x00000018u;
|
|
L_02456EF8: ; // 0x2456ef8
|
|
/* 02456EF8 */ cpu->r[27] = cpu->r[24] + cpu->r[22];
|
|
/* 02456EF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02456EFC */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456EFC */ _t80 = _t79 & 0x00000001u;
|
|
/* 02456EFC */ if (_t80) goto L_02456F6C; else goto L_02456F00;
|
|
L_02456F00: ; // 0x2456f00
|
|
/* 02456F00 */ cpu->r[26] = cpu->r[27];
|
|
/* 02456F00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02456F04 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456F04 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02456F04 */ if (_t82) goto L_02456F08; else goto L_02456F18;
|
|
L_02456F08: ; // 0x2456f08
|
|
/* 02456F08 */ cpu->r[3] = 0x00000024u;
|
|
/* 02456F0C */ Gambit_fn_02801A78(cpu);
|
|
/* 02456F10 */ cpu->r[26] = cpu->r[3];
|
|
/* 02456F10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02456F14 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456F14 */ _t84 = _t83 & 0x00000001u;
|
|
/* 02456F14 */ if (_t84) goto L_02456F60; else goto L_02456F18;
|
|
L_02456F18: ; // 0x2456f18
|
|
/* 02456F18 */ cpu->r[11] = cpu->r[26];
|
|
/* 02456F18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02456F1C */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456F1C */ _t86 = _t85 & 0x00000001u;
|
|
/* 02456F1C */ if (_t86) goto L_02456F20; else goto L_02456F30;
|
|
L_02456F20: ; // 0x2456f20
|
|
/* 02456F20 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02456F24 */ Gambit_fn_02801A78(cpu);
|
|
/* 02456F28 */ cpu->r[11] = cpu->r[3];
|
|
/* 02456F28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02456F2C */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456F2C */ _t88 = _t87 & 0x00000001u;
|
|
/* 02456F2C */ if (_t88) goto L_02456F4C; else goto L_02456F30;
|
|
L_02456F30: ; // 0x2456f30
|
|
/* 02456F30 */ cpu->r[5] = 0x100A0000u;
|
|
/* 02456F34 */ _t89 = cpu->r[11] + 0x00000008u;
|
|
/* 02456F34 */ rbrew_write32(cpu->mem, _t89, cpu->r[23]);
|
|
/* 02456F38 */ cpu->r[0] = cpu->r[26] + 0x0000000Cu;
|
|
/* 02456F3C */ cpu->r[5] = cpu->r[5] + 0x00000250u;
|
|
/* 02456F40 */ _t90 = cpu->r[11] + 0x00000000u;
|
|
/* 02456F40 */ rbrew_write32(cpu->mem, _t90, cpu->r[0]);
|
|
/* 02456F44 */ _t91 = cpu->r[11] + 0x00000004u;
|
|
/* 02456F44 */ rbrew_write32(cpu->mem, _t91, cpu->r[5]);
|
|
/* 02456F48 */ _t92 = cpu->r[26] + 0x00000023u;
|
|
/* 02456F48 */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[31]);
|
|
L_02456F4C: ; // 0x2456f4c
|
|
/* 02456F4C */ cpu->r[6] = 0x100A0000u;
|
|
/* 02456F50 */ _t93 = cpu->r[26] + 0x00000000u;
|
|
/* 02456F50 */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02456F54 */ cpu->r[6] = cpu->r[6] + 0x000002D8u;
|
|
/* 02456F58 */ _t94 = cpu->r[26] + 0x00000004u;
|
|
/* 02456F58 */ rbrew_write32(cpu->mem, _t94, cpu->r[6]);
|
|
/* 02456F5C */ _t95 = cpu->r[7] + 0x00000000u;
|
|
/* 02456F5C */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[31]);
|
|
L_02456F60: ; // 0x2456f60
|
|
/* 02456F60 */ cpu->r[0] = 0x100A0000u;
|
|
/* 02456F64 */ cpu->r[0] = cpu->r[0] + 0x000002F0u;
|
|
/* 02456F68 */ _t96 = cpu->r[27] + 0x00000004u;
|
|
/* 02456F68 */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
L_02456F6C: ; // 0x2456f6c
|
|
/* 02456F6C */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02456F6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02456F70 */ cpu->r[22] = cpu->r[22] + 0x00000024u;
|
|
/* 02456F74 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456F74 */ _t98 = _t97 & 0x00000001u;
|
|
/* 02456F74 */ if (_t98) goto L_02456F78; else goto L_02456EF8;
|
|
L_02456F78: ; // 0x2456f78
|
|
/* 02456F78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02456F7C */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02456F7C */ _t100 = _t99 & 0x00000001u;
|
|
/* 02456F7C */ if (_t100) goto L_02456F88; else goto L_02456F80;
|
|
L_02456F80: ; // 0x2456f80
|
|
/* 02456F80 */ _t101 = cpu->r[28] + 0x00000018u;
|
|
/* 02456F80 */ rbrew_write32(cpu->mem, _t101, cpu->r[24]);
|
|
/* 02456F84 */ _t102 = cpu->r[28] + 0x00000014u;
|
|
/* 02456F84 */ rbrew_write32(cpu->mem, _t102, cpu->r[25]);
|
|
L_02456F88: ; // 0x2456f88
|
|
/* 02456F88 */ _t103 = cpu->r[28] + 0x0000000Eu;
|
|
/* 02456F88 */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[29]);
|
|
/* 02456F8C */ /* nop */
|
|
/* 02456F90 */ _t104 = cpu->r[1] + 0x00000034u;
|
|
/* 02456F90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02456F94 */ cpu->lr = cpu->r[0];
|
|
/* 02456F98 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02456F9C */ return;
|
|
}
|
|
|
|
// fn_02456FA0 @ 0x2456fa0
|
|
void Gambit_fn_02456FA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_02456FA0: ; // 0x2456fa0
|
|
/* 02456FA0 */ _t0 = cpu->r[7] + 0x00000000u;
|
|
/* 02456FA0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02456FA4 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 02456FA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02456FA8 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 02456FA8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02456FAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 02456FB0 */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 02456FB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02456FB4 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02456FB4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02456FB4 */ if (_t5) goto L_02456FB8; else goto L_02456FC0;
|
|
L_02456FB8: ; // 0x2456fb8
|
|
/* 02456FB8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02456FBC */ cpu->r[11] = cpu->r[11] + cpu->r[10];
|
|
L_02456FC0: ; // 0x2456fc0
|
|
/* 02456FC0 */ _t6 = cpu->r[11] + 0x00000000u;
|
|
/* 02456FC0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02456FC4 */ _t7 = cpu->r[4] + 0x00000004u;
|
|
/* 02456FC4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02456FC8 */ _t8 = cpu->r[11] + 0x00000004u;
|
|
/* 02456FC8 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 02456FCC */ _t9 = cpu->r[7] + 0x00000000u;
|
|
/* 02456FCC */ cpu->r[9] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02456FD0 */ _t10 = cpu->r[3] + 0x00000028u;
|
|
/* 02456FD0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02456FD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 02456FD8 */ _t11 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02456FD8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02456FDC */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02456FDC */ _t13 = _t12 & 0x00000001u;
|
|
/* 02456FDC */ if (_t13) goto L_02456FE0; else goto L_02456FE8;
|
|
L_02456FE0: ; // 0x2456fe0
|
|
/* 02456FE0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02456FE4 */ cpu->r[10] = cpu->r[10] + cpu->r[0];
|
|
L_02456FE8: ; // 0x2456fe8
|
|
/* 02456FE8 */ _t14 = cpu->r[5] + 0x00000000u;
|
|
/* 02456FE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02456FEC */ _t15 = cpu->r[10] + 0x00000000u;
|
|
/* 02456FEC */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02456FF0 */ _t16 = cpu->r[5] + 0x00000004u;
|
|
/* 02456FF0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02456FF4 */ _t17 = cpu->r[10] + 0x00000004u;
|
|
/* 02456FF4 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 02456FF8 */ _t18 = cpu->r[3] + 0x00000030u;
|
|
/* 02456FF8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02456FFC */ _t19 = cpu->r[7] + 0x00000000u;
|
|
/* 02456FFC */ cpu->r[11] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02457000 */ _t20 = cpu->r[3] + 0x00000034u;
|
|
/* 02457000 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02457004 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[9]);
|
|
/* 02457008 */ _t21 = cpu->r[6] + 0x00000000u;
|
|
/* 02457008 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0245700C */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245700C */ _t23 = _t22 & 0x00000001u;
|
|
/* 0245700C */ if (_t23) goto L_02457010; else goto L_02457018;
|
|
L_02457010: ; // 0x2457010
|
|
/* 02457010 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02457014 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
|
|
L_02457018: ; // 0x2457018
|
|
/* 02457018 */ _t24 = cpu->r[12] + 0x00000000u;
|
|
/* 02457018 */ rbrew_write32(cpu->mem, _t24, cpu->r[7]);
|
|
/* 0245701C */ _t25 = cpu->r[6] + 0x00000004u;
|
|
/* 0245701C */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02457020 */ _t26 = cpu->r[12] + 0x00000004u;
|
|
/* 02457020 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02457024 */ return;
|
|
}
|
|
|
|
// fn_02457028 @ 0x2457028
|
|
void Gambit_fn_02457028(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t305, _t306, _t307, _t308, _t309, _t310, _t311, _t312, _t313, _t314, _t315, _t316, _t317, _t318, _t319, _t320, _t321, _t322, _t323, _t324, _t325, _t326, _t327, _t328, _t329, _t330, _t331, _t332, _t333, _t334, _t335, _t336, _t337, _t338, _t339, _t340, _t341, _t342, _t343, _t344, _t345, _t346, _t347, _t348, _t349, _t350, _t351, _t352, _t353, _t354, _t355, _t356, _t357, _t358, _t359, _t360, _t361, _t362, _t363, _t364, _t365, _t366, _t367, _t368, _t369, _t370, _t371, _t372, _t373, _t374, _t375, _t376, _t377, _t378, _t379, _t380, _t381, _t382, _t383, _t384, _t385, _t386, _t387, _t388, _t389, _t390, _t391, _t392, _t393, _t394, _t395, _t396, _t397, _t398, _t399, _t400, _t401, _t402, _t403, _t404, _t405, _t406, _t407, _t408, _t409, _t410, _t411, _t412, _t413, _t414, _t415, _t416, _t417, _t418, _t419, _t420, _t421, _t422, _t423, _t424, _t425, _t426, _t427, _t428, _t429, _t430, _t431, _t432, _t433, _t434, _t435, _t436, _t437, _t438, _t439, _t440, _t441, _t442, _t443, _t444, _t445, _t446, _t447, _t448, _t449, _t450, _t451, _t452, _t453, _t454, _t455, _t456, _t457, _t458, _t459, _t460, _t461, _t462, _t463, _t464, _t465, _t466, _t467, _t468, _t469, _t470, _t471, _t472, _t473, _t474, _t475, _t476, _t477, _t478, _t479, _t480, _t481, _t482, _t483, _t484, _t485, _t486, _t487, _t488, _t489, _t490, _t491, _t492, _t493, _t494, _t495, _t496, _t497, _t498, _t499, _t500, _t501, _t502, _t503, _t504, _t505, _t506, _t507, _t508, _t509, _t510, _t511, _t512, _t513, _t514, _t515, _t516, _t517, _t518, _t519, _t520, _t521, _t522, _t523, _t524, _t525, _t526, _t527, _t528, _t529, _t530, _t531, _t532, _t533, _t534, _t535, _t536, _t537, _t538, _t539, _t540, _t541, _t542, _t543, _t544, _t545, _t546, _t547, _t548, _t549, _t550, _t551, _t552, _t553, _t554, _t555, _t556, _t557, _t558, _t559, _t560, _t561, _t562, _t563, _t564, _t565, _t566, _t567, _t568, _t569, _t570, _t571, _t572, _t573, _t574, _t575, _t576, _t577, _t578, _t579, _t580, _t581, _t582, _t583, _t584, _t585, _t586, _t587, _t588, _t589, _t590, _t591, _t592, _t593, _t594, _t595, _t596, _t597, _t598, _t599, _t600, _t601, _t602, _t603, _t604, _t605, _t606, _t607, _t608, _t609, _t610, _t611, _t612, _t613, _t614, _t615, _t616, _t617, _t618, _t619, _t620, _t621, _t622, _t623, _t624, _t625, _t626, _t627, _t628, _t629, _t630, _t631, _t632, _t633, _t634, _t635, _t636, _t637, _t638, _t639, _t640, _t641, _t642, _t643, _t644, _t645, _t646, _t647, _t648, _t649, _t650, _t651, _t652, _t653, _t654, _t655, _t656, _t657, _t658, _t659, _t660, _t661, _t662, _t663, _t664, _t665, _t666, _t667, _t668, _t669, _t670, _t671, _t672, _t673, _t674, _t675, _t676, _t677, _t678, _t679, _t680, _t681, _t682, _t683, _t684, _t685, _t686, _t687, _t688, _t689, _t690, _t691, _t692, _t693, _t694, _t695, _t696, _t697, _t698, _t699, _t700, _t701, _t702, _t703, _t704, _t705, _t706, _t707, _t708, _t709, _t710, _t711, _t712, _t713, _t714, _t715, _t716, _t717, _t718, _t719, _t720, _t721, _t722, _t723, _t724, _t725, _t726, _t727, _t728, _t729, _t730, _t731, _t732, _t733, _t734, _t735, _t736, _t737, _t738, _t739, _t740, _t741, _t742, _t743, _t744, _t745, _t746, _t747, _t748, _t749, _t750, _t751, _t752, _t753, _t754, _t755, _t756, _t757, _t758, _t759, _t760, _t761, _t762, _t763, _t764, _t765, _t766, _t767, _t768, _t769, _t770, _t771, _t772, _t773, _t774, _t775, _t776, _t777, _t778, _t779, _t780, _t781, _t782, _t783, _t784, _t785, _t786, _t787, _t788, _t789, _t790, _t791, _t792, _t793, _t794, _t795, _t796, _t797, _t798, _t799, _t800, _t801, _t802, _t803, _t804, _t805, _t806, _t807, _t808, _t809, _t810, _t811, _t812, _t813, _t814, _t815, _t816, _t817, _t818, _t819, _t820, _t821, _t822, _t823, _t824, _t825, _t826, _t827, _t828, _t829, _t830, _t831, _t832, _t833, _t834, _t835, _t836, _t837, _t838, _t839, _t840, _t841, _t842, _t843, _t844, _t845, _t846, _t847, _t848, _t849, _t850, _t851, _t852, _t853, _t854, _t855, _t856, _t857, _t858, _t859;
|
|
|
|
L_02457028: ; // 0x2457028
|
|
/* 02457028 */ _t0 = cpu->r[1] + 0xFFFFFD78u;
|
|
/* 02457028 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02457028 */ cpu->r[1] = _t0;
|
|
/* 0245702C */ /* nop */
|
|
/* 02457030 */ cpu->r[0] = cpu->lr;
|
|
/* 02457034 */ _t1 = cpu->r[1] + 0x0000028Cu;
|
|
/* 02457034 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02457038 */ cpu->r[30] = cpu->r[3];
|
|
/* 0245703C */ _t2 = cpu->r[30] + 0x00000000u;
|
|
/* 0245703C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02457040 */ cpu->r[31] = cpu->r[5];
|
|
/* 02457044 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02457048 */ cpu->r[23] = cpu->r[4];
|
|
/* 0245704C */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245704C */ _t4 = _t3 & 0x00000001u;
|
|
/* 0245704C */ if (_t4) goto L_02457050; else goto L_02458A20;
|
|
L_02457050: ; // 0x2457050
|
|
/* 02457050 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[0]);
|
|
/* 02457054 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02457054 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02457054 */ if (_t6) goto L_02457058; else goto L_02458A20;
|
|
L_02457058: ; // 0x2457058
|
|
/* 02457058 */ cpu->r[6] = cpu->r[6] - cpu->r[31];
|
|
/* 0245705C */ cpu->r[14] = cpu->r[6] + 0x00000001u;
|
|
/* 02457060 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[14], 0x00000001u);
|
|
/* 02457064 */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02457064 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02457064 */ if (_t8) goto L_02457068; else goto L_02458A20;
|
|
L_02457068: ; // 0x2457068
|
|
/* 02457068 */ cpu->r[12] = 0x10110000u;
|
|
/* 0245706C */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 02457070 */ _t9 = cpu->r[12] + 0x00007399u;
|
|
/* 02457070 */ cpu->r[20] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02457074 */ cpu->r[11] = 0x00000040u;
|
|
/* 02457078 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02457078 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 0245707C */ cpu->r[9] = 0x100A0000u;
|
|
/* 02457080 */ _t11 = cpu->r[1] + 0x00000143u;
|
|
/* 02457080 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[20]);
|
|
/* 02457084 */ cpu->r[9] = cpu->r[9] + 0x000002B0u;
|
|
/* 02457088 */ _t12 = cpu->r[1] + 0x00000100u;
|
|
/* 02457088 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 0245708C */ cpu->r[0] = cpu->r[1] + 0x00000020u;
|
|
/* 02457090 */ _t13 = cpu->r[1] + 0x00000064u;
|
|
/* 02457090 */ rbrew_write32(cpu->mem, _t13, cpu->r[9]);
|
|
/* 02457094 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02457094 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02457098 */ _t15 = cpu->r[1] + 0x000000FCu;
|
|
/* 02457098 */ rbrew_write32(cpu->mem, _t15, cpu->r[9]);
|
|
/* 0245709C */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 0245709C */ rbrew_write32(cpu->mem, _t16, cpu->r[7]);
|
|
/* 024570A0 */ _t17 = cpu->r[1] + 0x00000144u;
|
|
/* 024570A0 */ rbrew_write32(cpu->mem, _t17, cpu->r[7]);
|
|
/* 024570A4 */ _t18 = cpu->r[1] + 0x00000148u;
|
|
/* 024570A4 */ rbrew_write32(cpu->mem, _t18, cpu->r[7]);
|
|
/* 024570A8 */ _t19 = cpu->r[1] + 0x00000018u;
|
|
/* 024570A8 */ rbrew_write32(cpu->mem, _t19, cpu->r[9]);
|
|
/* 024570AC */ cpu->r[6] = cpu->r[1] + 0x000000B8u;
|
|
/* 024570B0 */ _t20 = cpu->r[1] + 0x000000B4u;
|
|
/* 024570B0 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
|
|
/* 024570B4 */ cpu->r[8] = cpu->r[1] + 0x00000104u;
|
|
/* 024570B8 */ _t21 = cpu->r[1] + 0x000000B0u;
|
|
/* 024570B8 */ rbrew_write32(cpu->mem, _t21, cpu->r[9]);
|
|
/* 024570BC */ cpu->r[19] = cpu->r[1] + 0x00000150u;
|
|
/* 024570C0 */ cpu->r[4] = cpu->r[1] + 0x0000006Cu;
|
|
/* 024570C4 */ _t22 = cpu->r[1] + 0x000000ACu;
|
|
/* 024570C4 */ rbrew_write32(cpu->mem, _t22, cpu->r[6]);
|
|
/* 024570C8 */ cpu->r[6] = 0x02450000u;
|
|
/* 024570CC */ _t23 = cpu->r[1] + 0x00000060u;
|
|
/* 024570CC */ rbrew_write32(cpu->mem, _t23, cpu->r[4]);
|
|
/* 024570D0 */ cpu->r[0] = 0x00000000u;
|
|
/* 024570D4 */ _t24 = cpu->r[1] + 0x00000068u;
|
|
/* 024570D4 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 024570D8 */ cpu->r[3] = cpu->r[19];
|
|
/* 024570DC */ _t25 = cpu->r[1] + 0x000000F8u;
|
|
/* 024570DC */ rbrew_write32(cpu->mem, _t25, cpu->r[8]);
|
|
/* 024570E0 */ cpu->r[6] = cpu->r[6] + 0x00006BCCu;
|
|
/* 024570E4 */ _t26 = cpu->r[1] + 0x00000020u;
|
|
/* 024570E4 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[20]);
|
|
/* 024570E8 */ _t27 = cpu->r[1] + 0x000000F7u;
|
|
/* 024570E8 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[20]);
|
|
/* 024570EC */ cpu->r[5] = 0x00000050u;
|
|
/* 024570F0 */ _t28 = cpu->r[1] + 0x000000B8u;
|
|
/* 024570F0 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[20]);
|
|
/* 024570F4 */ cpu->r[4] = 0x00000003u;
|
|
/* 024570F8 */ _t29 = cpu->r[1] + 0x0000005Fu;
|
|
/* 024570F8 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[20]);
|
|
/* 024570FC */ _t30 = cpu->r[1] + 0x00000104u;
|
|
/* 024570FC */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[20]);
|
|
/* 02457100 */ _t31 = cpu->r[1] + 0x000000ABu;
|
|
/* 02457100 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[20]);
|
|
/* 02457104 */ _t32 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02457104 */ rbrew_write32(cpu->mem, _t32, cpu->r[11]);
|
|
/* 02457108 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 02457108 */ rbrew_write32(cpu->mem, _t33, cpu->r[7]);
|
|
/* 0245710C */ _t34 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0245710C */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[20]);
|
|
/* 02457110 */ _t35 = cpu->r[1] + 0x0000014Cu;
|
|
/* 02457110 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 02457114 */ Gambit_fn_02C82E00(cpu);
|
|
/* 02457118 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000238u);
|
|
/* 0245711C */ _t36 = cpu->r[30] + 0x00000004u;
|
|
/* 0245711C */ cpu->r[7] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02457120 */ cpu->r[17] = cpu->r[7] + cpu->r[6];
|
|
/* 02457124 */ /* nop */
|
|
/* 02457128 */ cpu->r[15] = cpu->r[8];
|
|
/* 02457128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[15], 0x00000000u);
|
|
/* 0245712C */ cpu->r[29] = cpu->r[15];
|
|
/* 02457130 */ _t37 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02457130 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02457130 */ if (_t38) goto L_02457150; else goto L_02457134;
|
|
L_02457134: ; // 0x2457134
|
|
/* 02457134 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[14] * (int32_t)0x00000238u);
|
|
/* 02457138 */ cpu->r[31] = cpu->r[19];
|
|
/* 0245713C */ cpu->r[30] = cpu->r[20];
|
|
/* 02457140 */ cpu->r[8] = cpu->r[17] + cpu->r[7];
|
|
/* 02457144 */ cpu->r[21] = cpu->r[17] + 0x00000148u;
|
|
/* 02457148 */ cpu->r[29] = cpu->r[8] + 0xFFFFFDC8u;
|
|
/* 0245714C */ goto L_02457C40;
|
|
L_02457150: ; // 0x2457150
|
|
/* 02457150 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[15] * (int32_t)0x00000238u);
|
|
/* 02457154 */ cpu->r[10] = cpu->r[17] + cpu->r[0];
|
|
/* 02457158 */ cpu->r[18] = cpu->r[10] + 0xFFFFFDC8u;
|
|
L_0245715C: ; // 0x245715c
|
|
/* 0245715C */ cpu->r[30] = cpu->r[18];
|
|
/* 02457160 */ _t39 = cpu->r[30] + 0x00000000u;
|
|
/* 02457160 */ cpu->r[4] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02457164 */ _t40 = cpu->r[1] + 0x00000008u;
|
|
/* 02457164 */ rbrew_write32(cpu->mem, _t40, cpu->r[4]);
|
|
/* 02457168 */ _t41 = cpu->r[30] + 0x00000004u;
|
|
/* 02457168 */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0245716C */ _t42 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245716C */ rbrew_write32(cpu->mem, _t42, cpu->r[5]);
|
|
/* 02457170 */ _t43 = cpu->r[30] + 0x00000008u;
|
|
/* 02457170 */ cpu->r[6] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02457174 */ _t44 = cpu->r[1] + 0x00000010u;
|
|
/* 02457174 */ rbrew_write32(cpu->mem, _t44, cpu->r[6]);
|
|
/* 02457178 */ _t45 = cpu->r[30] + 0x00000010u;
|
|
/* 02457178 */ cpu->r[7] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0245717C */ _t46 = cpu->r[7] + 0x00000014u;
|
|
/* 0245717C */ cpu->r[8] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02457180 */ cpu->ctr = cpu->r[8];
|
|
/* 02457184 */ _t47 = cpu->r[1] + 0x00000014u;
|
|
/* 02457184 */ cpu->r[28] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02457188 */ cpu->r[3] = cpu->r[30] + 0x0000000Cu;
|
|
/* 0245718C */ cpu->r[24] = cpu->r[15];
|
|
/* 02457190 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02457194 */ _t48 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02457194 */ cpu->r[10] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02457198 */ cpu->r[6] = cpu->r[20];
|
|
/* 0245719C */ _t49 = cpu->r[10] + 0x00000000u;
|
|
/* 0245719C */ cpu->r[9] = rbrew_read8(cpu->mem, _t49);
|
|
/* 024571A0 */ cpu->r[31] = 0x00000000u;
|
|
/* 024571A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[6]);
|
|
/* 024571A8 */ cpu->r[11] = 0x00080000u;
|
|
/* 024571AC */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024571AC */ _t51 = _t50 & 0x00000001u;
|
|
/* 024571AC */ if (_t51) goto L_024571D4; else goto L_024571B0;
|
|
L_024571B0: ; // 0x24571b0
|
|
/* 024571B0 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 024571B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[11]);
|
|
/* 024571B8 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 024571BC */ _t52 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 024571BC */ _t53 = _t52 & 0x00000001u;
|
|
/* 024571BC */ if (_t53) goto L_024571D0; else goto L_024571C0;
|
|
L_024571C0: ; // 0x24571c0
|
|
/* 024571C0 */ _t54 = cpu->r[10] + 0x00000000u;
|
|
/* 024571C0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t54);
|
|
/* 024571C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[6]);
|
|
/* 024571C8 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024571C8 */ _t56 = _t55 & 0x00000001u;
|
|
/* 024571C8 */ if (_t56) goto L_024571CC; else goto L_024571B0;
|
|
L_024571CC: ; // 0x24571cc
|
|
/* 024571CC */ goto L_024571D4;
|
|
L_024571D0: ; // 0x24571d0
|
|
/* 024571D0 */ cpu->r[31] = 0x00000000u;
|
|
L_024571D4: ; // 0x24571d4
|
|
/* 024571D4 */ _t57 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024571D4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t57);
|
|
/* 024571D8 */ _t58 = cpu->r[30] + 0x00000010u;
|
|
/* 024571D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t58);
|
|
/* 024571DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[5]);
|
|
/* 024571E0 */ _t59 = cpu->r[11] + 0x00000014u;
|
|
/* 024571E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t59);
|
|
/* 024571E4 */ _t60 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024571E4 */ _t61 = _t60 & 0x00000001u;
|
|
/* 024571E4 */ if (_t61) goto L_024571EC; else goto L_024571E8;
|
|
L_024571E8: ; // 0x24571e8
|
|
/* 024571E8 */ cpu->r[31] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_024571EC: ; // 0x24571ec
|
|
/* 024571EC */ cpu->ctr = cpu->r[4];
|
|
/* 024571F0 */ cpu->r[3] = cpu->r[30] + 0x0000000Cu;
|
|
/* 024571F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024571F8 */ _t62 = cpu->r[30] + 0x0000000Cu;
|
|
/* 024571F8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t62);
|
|
/* 024571FC */ cpu->r[3] = cpu->r[28];
|
|
/* 02457200 */ cpu->r[5] = cpu->r[31];
|
|
/* 02457204 */ cpu->r[6] = 0x00000000u;
|
|
/* 02457208 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0245720C */ _t63 = cpu->r[28] + cpu->r[31];
|
|
/* 0245720C */ rbrew_write8(cpu->mem, _t63, (uint8_t)cpu->r[20]);
|
|
/* 02457210 */ _t64 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02457210 */ cpu->r[5] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02457214 */ _t65 = cpu->r[5] + 0x00000014u;
|
|
/* 02457214 */ cpu->r[6] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02457218 */ cpu->ctr = cpu->r[6];
|
|
/* 0245721C */ _t66 = cpu->r[1] + 0x00000060u;
|
|
/* 0245721C */ cpu->r[28] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02457220 */ cpu->r[3] = cpu->r[30] + 0x00000058u;
|
|
/* 02457224 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02457228 */ _t67 = cpu->r[30] + 0x00000058u;
|
|
/* 02457228 */ cpu->r[8] = rbrew_read32(cpu->mem, _t67);
|
|
/* 0245722C */ cpu->r[5] = cpu->r[20];
|
|
/* 02457230 */ _t68 = cpu->r[8] + 0x00000000u;
|
|
/* 02457230 */ cpu->r[7] = rbrew_read8(cpu->mem, _t68);
|
|
/* 02457234 */ cpu->r[31] = 0x00000000u;
|
|
/* 02457238 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[5]);
|
|
/* 0245723C */ cpu->r[9] = 0x00080000u;
|
|
/* 02457240 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02457240 */ _t70 = _t69 & 0x00000001u;
|
|
/* 02457240 */ if (_t70) goto L_02457268; else goto L_02457244;
|
|
L_02457244: ; // 0x2457244
|
|
/* 02457244 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02457248 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[9]);
|
|
/* 0245724C */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02457250 */ _t71 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02457250 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02457250 */ if (_t72) goto L_02457264; else goto L_02457254;
|
|
L_02457254: ; // 0x2457254
|
|
/* 02457254 */ _t73 = cpu->r[8] + 0x00000000u;
|
|
/* 02457254 */ cpu->r[0] = rbrew_read8(cpu->mem, _t73);
|
|
/* 02457258 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[5]);
|
|
/* 0245725C */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245725C */ _t75 = _t74 & 0x00000001u;
|
|
/* 0245725C */ if (_t75) goto L_02457260; else goto L_02457244;
|
|
L_02457260: ; // 0x2457260
|
|
/* 02457260 */ goto L_02457268;
|
|
L_02457264: ; // 0x2457264
|
|
/* 02457264 */ cpu->r[31] = 0x00000000u;
|
|
L_02457268: ; // 0x2457268
|
|
/* 02457268 */ _t76 = cpu->r[1] + 0x00000068u;
|
|
/* 02457268 */ cpu->r[6] = rbrew_read32(cpu->mem, _t76);
|
|
/* 0245726C */ _t77 = cpu->r[30] + 0x0000005Cu;
|
|
/* 0245726C */ cpu->r[9] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02457270 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[6]);
|
|
/* 02457274 */ _t78 = cpu->r[9] + 0x00000014u;
|
|
/* 02457274 */ cpu->r[0] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02457278 */ _t79 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02457278 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02457278 */ if (_t80) goto L_02457280; else goto L_0245727C;
|
|
L_0245727C: ; // 0x245727c
|
|
/* 0245727C */ cpu->r[31] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_02457280: ; // 0x2457280
|
|
/* 02457280 */ cpu->ctr = cpu->r[0];
|
|
/* 02457284 */ cpu->r[3] = cpu->r[30] + 0x00000058u;
|
|
/* 02457288 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245728C */ _t81 = cpu->r[30] + 0x00000058u;
|
|
/* 0245728C */ cpu->r[4] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02457290 */ cpu->r[3] = cpu->r[28];
|
|
/* 02457294 */ cpu->r[5] = cpu->r[31];
|
|
/* 02457298 */ cpu->r[6] = 0x00000000u;
|
|
/* 0245729C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 024572A0 */ _t82 = cpu->r[28] + cpu->r[31];
|
|
/* 024572A0 */ rbrew_write8(cpu->mem, _t82, (uint8_t)cpu->r[20]);
|
|
/* 024572A4 */ _t83 = cpu->r[30] + 0x000000A8u;
|
|
/* 024572A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t83);
|
|
/* 024572A8 */ _t84 = cpu->r[11] + 0x00000014u;
|
|
/* 024572A8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t84);
|
|
/* 024572AC */ cpu->ctr = cpu->r[4];
|
|
/* 024572B0 */ _t85 = cpu->r[1] + 0x000000ACu;
|
|
/* 024572B0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t85);
|
|
/* 024572B4 */ cpu->r[3] = cpu->r[30] + 0x000000A4u;
|
|
/* 024572B8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024572BC */ _t86 = cpu->r[30] + 0x000000A4u;
|
|
/* 024572BC */ cpu->r[6] = rbrew_read32(cpu->mem, _t86);
|
|
/* 024572C0 */ cpu->r[4] = cpu->r[20];
|
|
/* 024572C4 */ _t87 = cpu->r[6] + 0x00000000u;
|
|
/* 024572C4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t87);
|
|
/* 024572C8 */ cpu->r[31] = 0x00000000u;
|
|
/* 024572CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[4]);
|
|
/* 024572D0 */ cpu->r[7] = 0x00080000u;
|
|
/* 024572D4 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024572D4 */ _t89 = _t88 & 0x00000001u;
|
|
/* 024572D4 */ if (_t89) goto L_024572FC; else goto L_024572D8;
|
|
L_024572D8: ; // 0x24572d8
|
|
/* 024572D8 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 024572DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[7]);
|
|
/* 024572E0 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 024572E4 */ _t90 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 024572E4 */ _t91 = _t90 & 0x00000001u;
|
|
/* 024572E4 */ if (_t91) goto L_024572F8; else goto L_024572E8;
|
|
L_024572E8: ; // 0x24572e8
|
|
/* 024572E8 */ _t92 = cpu->r[6] + 0x00000000u;
|
|
/* 024572E8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t92);
|
|
/* 024572EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 024572F0 */ _t93 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024572F0 */ _t94 = _t93 & 0x00000001u;
|
|
/* 024572F0 */ if (_t94) goto L_024572F4; else goto L_024572D8;
|
|
L_024572F4: ; // 0x24572f4
|
|
/* 024572F4 */ goto L_024572FC;
|
|
L_024572F8: ; // 0x24572f8
|
|
/* 024572F8 */ cpu->r[31] = 0x00000000u;
|
|
L_024572FC: ; // 0x24572fc
|
|
/* 024572FC */ _t95 = cpu->r[1] + 0x000000B4u;
|
|
/* 024572FC */ cpu->r[7] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02457300 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[7]);
|
|
/* 02457304 */ _t96 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02457304 */ _t97 = _t96 & 0x00000001u;
|
|
/* 02457304 */ if (_t97) goto L_0245730C; else goto L_02457308;
|
|
L_02457308: ; // 0x2457308
|
|
/* 02457308 */ cpu->r[31] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_0245730C: ; // 0x245730c
|
|
/* 0245730C */ _t98 = cpu->r[30] + 0x000000A8u;
|
|
/* 0245730C */ cpu->r[7] = rbrew_read32(cpu->mem, _t98);
|
|
/* 02457310 */ _t99 = cpu->r[7] + 0x00000014u;
|
|
/* 02457310 */ cpu->r[8] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02457314 */ cpu->ctr = cpu->r[8];
|
|
/* 02457318 */ cpu->r[3] = cpu->r[30] + 0x000000A4u;
|
|
/* 0245731C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02457320 */ _t100 = cpu->r[30] + 0x000000A4u;
|
|
/* 02457320 */ cpu->r[4] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02457324 */ cpu->r[3] = cpu->r[28];
|
|
/* 02457328 */ cpu->r[5] = cpu->r[31];
|
|
/* 0245732C */ cpu->r[6] = 0x00000000u;
|
|
/* 02457330 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02457334 */ _t101 = cpu->r[28] + cpu->r[31];
|
|
/* 02457334 */ rbrew_write8(cpu->mem, _t101, (uint8_t)cpu->r[20]);
|
|
/* 02457338 */ _t102 = cpu->r[30] + 0x000000F4u;
|
|
/* 02457338 */ cpu->r[9] = rbrew_read32(cpu->mem, _t102);
|
|
/* 0245733C */ _t103 = cpu->r[9] + 0x00000014u;
|
|
/* 0245733C */ cpu->r[0] = rbrew_read32(cpu->mem, _t103);
|
|
/* 02457340 */ cpu->ctr = cpu->r[0];
|
|
/* 02457344 */ _t104 = cpu->r[1] + 0x000000F8u;
|
|
/* 02457344 */ cpu->r[28] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02457348 */ cpu->r[3] = cpu->r[30] + 0x000000F0u;
|
|
/* 0245734C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02457350 */ _t105 = cpu->r[30] + 0x000000F0u;
|
|
/* 02457350 */ cpu->r[10] = rbrew_read32(cpu->mem, _t105);
|
|
/* 02457354 */ cpu->r[0] = cpu->r[20];
|
|
/* 02457358 */ _t106 = cpu->r[10] + 0x00000000u;
|
|
/* 02457358 */ cpu->r[11] = rbrew_read8(cpu->mem, _t106);
|
|
/* 0245735C */ cpu->r[31] = 0x00000000u;
|
|
/* 02457360 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 02457364 */ cpu->r[5] = 0x00080000u;
|
|
/* 02457368 */ _t107 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02457368 */ _t108 = _t107 & 0x00000001u;
|
|
/* 02457368 */ if (_t108) goto L_02457390; else goto L_0245736C;
|
|
L_0245736C: ; // 0x245736c
|
|
/* 0245736C */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02457370 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[5]);
|
|
/* 02457374 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02457378 */ _t109 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02457378 */ _t110 = _t109 & 0x00000001u;
|
|
/* 02457378 */ if (_t110) goto L_0245738C; else goto L_0245737C;
|
|
L_0245737C: ; // 0x245737c
|
|
/* 0245737C */ _t111 = cpu->r[10] + 0x00000000u;
|
|
/* 0245737C */ cpu->r[4] = rbrew_read8(cpu->mem, _t111);
|
|
/* 02457380 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 02457384 */ _t112 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02457384 */ _t113 = _t112 & 0x00000001u;
|
|
/* 02457384 */ if (_t113) goto L_02457388; else goto L_0245736C;
|
|
L_02457388: ; // 0x2457388
|
|
/* 02457388 */ goto L_02457390;
|
|
L_0245738C: ; // 0x245738c
|
|
/* 0245738C */ cpu->r[31] = 0x00000000u;
|
|
L_02457390: ; // 0x2457390
|
|
/* 02457390 */ _t114 = cpu->r[1] + 0x00000100u;
|
|
/* 02457390 */ cpu->r[8] = rbrew_read32(cpu->mem, _t114);
|
|
/* 02457394 */ _t115 = cpu->r[30] + 0x000000F4u;
|
|
/* 02457394 */ cpu->r[5] = rbrew_read32(cpu->mem, _t115);
|
|
/* 02457398 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[8]);
|
|
/* 0245739C */ _t116 = cpu->r[5] + 0x00000014u;
|
|
/* 0245739C */ cpu->r[6] = rbrew_read32(cpu->mem, _t116);
|
|
/* 024573A0 */ _t117 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024573A0 */ _t118 = _t117 & 0x00000001u;
|
|
/* 024573A0 */ if (_t118) goto L_024573A8; else goto L_024573A4;
|
|
L_024573A4: ; // 0x24573a4
|
|
/* 024573A4 */ cpu->r[31] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_024573A8: ; // 0x24573a8
|
|
/* 024573A8 */ cpu->ctr = cpu->r[6];
|
|
/* 024573AC */ cpu->r[3] = cpu->r[30] + 0x000000F0u;
|
|
/* 024573B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024573B4 */ _t119 = cpu->r[30] + 0x000000F0u;
|
|
/* 024573B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t119);
|
|
/* 024573B8 */ cpu->r[6] = 0x00000000u;
|
|
/* 024573BC */ cpu->r[5] = cpu->r[31];
|
|
/* 024573C0 */ cpu->r[3] = cpu->r[28];
|
|
/* 024573C4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 024573C8 */ _t120 = cpu->r[28] + cpu->r[31];
|
|
/* 024573C8 */ rbrew_write8(cpu->mem, _t120, (uint8_t)cpu->r[20]);
|
|
/* 024573CC */ _t121 = cpu->r[30] + 0x0000013Cu;
|
|
/* 024573CC */ cpu->r[7] = rbrew_read32(cpu->mem, _t121);
|
|
/* 024573D0 */ _t122 = cpu->r[1] + 0x00000144u;
|
|
/* 024573D0 */ rbrew_write32(cpu->mem, _t122, cpu->r[7]);
|
|
/* 024573D4 */ _t123 = cpu->r[30] + 0x00000140u;
|
|
/* 024573D4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t123);
|
|
/* 024573D8 */ cpu->r[31] = 0x00000003u;
|
|
/* 024573DC */ cpu->r[21] = 0x00000000u;
|
|
/* 024573E0 */ _t124 = cpu->r[1] + 0x00000148u;
|
|
/* 024573E0 */ rbrew_write32(cpu->mem, _t124, cpu->r[8]);
|
|
/* 024573E4 */ _t125 = cpu->r[30] + 0x00000144u;
|
|
/* 024573E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t125);
|
|
/* 024573E8 */ cpu->r[25] = cpu->r[30] + 0x00000148u;
|
|
/* 024573EC */ cpu->r[22] = cpu->r[19];
|
|
/* 024573F0 */ cpu->r[16] = cpu->r[20];
|
|
/* 024573F4 */ _t126 = cpu->r[1] + 0x0000014Cu;
|
|
/* 024573F4 */ rbrew_write32(cpu->mem, _t126, cpu->r[9]);
|
|
L_024573F8: ; // 0x24573f8
|
|
/* 024573F8 */ cpu->r[27] = cpu->r[25] + cpu->r[21];
|
|
/* 024573FC */ _t127 = cpu->r[27] + 0x00000004u;
|
|
/* 024573FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t127);
|
|
/* 02457400 */ _t128 = cpu->r[10] + 0x00000014u;
|
|
/* 02457400 */ cpu->r[11] = rbrew_read32(cpu->mem, _t128);
|
|
/* 02457404 */ cpu->r[26] = cpu->r[22];
|
|
/* 02457408 */ cpu->ctr = cpu->r[11];
|
|
/* 0245740C */ _t129 = cpu->r[26] + 0x00000000u;
|
|
/* 0245740C */ cpu->r[30] = rbrew_read32(cpu->mem, _t129);
|
|
/* 02457410 */ cpu->r[3] = cpu->r[27];
|
|
/* 02457414 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02457418 */ _t130 = cpu->r[27] + 0x00000000u;
|
|
/* 02457418 */ cpu->r[8] = rbrew_read32(cpu->mem, _t130);
|
|
/* 0245741C */ cpu->r[5] = cpu->r[16];
|
|
/* 02457420 */ _t131 = cpu->r[8] + 0x00000000u;
|
|
/* 02457420 */ cpu->r[0] = rbrew_read8(cpu->mem, _t131);
|
|
/* 02457424 */ cpu->r[11] = 0x00000000u;
|
|
/* 02457428 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[5]);
|
|
/* 0245742C */ cpu->r[0] = 0x00080000u;
|
|
/* 02457430 */ _t132 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02457430 */ _t133 = _t132 & 0x00000001u;
|
|
/* 02457430 */ if (_t133) goto L_02457474; else goto L_02457434;
|
|
L_02457434: ; // 0x2457434
|
|
/* 02457434 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02457438 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]);
|
|
/* 0245743C */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02457440 */ _t134 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02457440 */ _t135 = _t134 & 0x00000001u;
|
|
/* 02457440 */ if (_t135) goto L_02457458; else goto L_02457444;
|
|
L_02457444: ; // 0x2457444
|
|
/* 02457444 */ _t136 = cpu->r[8] + 0x00000000u;
|
|
/* 02457444 */ cpu->r[4] = rbrew_read8(cpu->mem, _t136);
|
|
/* 02457448 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[5]);
|
|
/* 0245744C */ _t137 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245744C */ _t138 = _t137 & 0x00000001u;
|
|
/* 0245744C */ if (_t138) goto L_02457450; else goto L_02457434;
|
|
L_02457450: ; // 0x2457450
|
|
/* 02457450 */ cpu->r[28] = cpu->r[11];
|
|
/* 02457454 */ goto L_02457478;
|
|
L_02457458: ; // 0x2457458
|
|
/* 02457458 */ _t139 = cpu->r[26] + 0x00000008u;
|
|
/* 02457458 */ cpu->r[11] = rbrew_read32(cpu->mem, _t139);
|
|
/* 0245745C */ _t140 = cpu->r[27] + 0x00000004u;
|
|
/* 0245745C */ cpu->r[6] = rbrew_read32(cpu->mem, _t140);
|
|
/* 02457460 */ cpu->r[28] = 0x00000000u;
|
|
/* 02457464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[11]);
|
|
/* 02457468 */ _t141 = cpu->r[6] + 0x00000014u;
|
|
/* 02457468 */ cpu->r[7] = rbrew_read32(cpu->mem, _t141);
|
|
/* 0245746C */ _t142 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245746C */ _t143 = _t142 & 0x00000001u;
|
|
/* 0245746C */ if (_t143) goto L_02457490; else goto L_02457470;
|
|
L_02457470: ; // 0x2457470
|
|
/* 02457470 */ goto L_0245748C;
|
|
L_02457474: ; // 0x2457474
|
|
/* 02457474 */ cpu->r[28] = cpu->r[11];
|
|
L_02457478: ; // 0x2457478
|
|
/* 02457478 */ _t144 = cpu->r[26] + 0x00000008u;
|
|
/* 02457478 */ cpu->r[11] = rbrew_read32(cpu->mem, _t144);
|
|
/* 0245747C */ _t145 = cpu->r[27] + 0x00000004u;
|
|
/* 0245747C */ cpu->r[6] = rbrew_read32(cpu->mem, _t145);
|
|
/* 02457480 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[11]);
|
|
/* 02457484 */ _t146 = cpu->r[6] + 0x00000014u;
|
|
/* 02457484 */ cpu->r[7] = rbrew_read32(cpu->mem, _t146);
|
|
/* 02457488 */ _t147 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02457488 */ _t148 = _t147 & 0x00000001u;
|
|
/* 02457488 */ if (_t148) goto L_02457490; else goto L_0245748C;
|
|
L_0245748C: ; // 0x245748c
|
|
/* 0245748C */ cpu->r[28] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_02457490: ; // 0x2457490
|
|
/* 02457490 */ cpu->ctr = cpu->r[7];
|
|
/* 02457494 */ cpu->r[3] = cpu->r[27];
|
|
/* 02457498 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245749C */ _t149 = cpu->r[27] + 0x00000000u;
|
|
/* 0245749C */ cpu->r[4] = rbrew_read32(cpu->mem, _t149);
|
|
/* 024574A0 */ cpu->r[6] = 0x00000000u;
|
|
/* 024574A4 */ cpu->r[5] = cpu->r[28];
|
|
/* 024574A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 024574AC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 024574B0 */ _t150 = cpu->r[30] + cpu->r[28];
|
|
/* 024574B0 */ rbrew_write8(cpu->mem, _t150, (uint8_t)cpu->r[16]);
|
|
/* 024574B4 */ _t151 = cpu->r[27] + 0x0000004Cu;
|
|
/* 024574B4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t151);
|
|
/* 024574B8 */ cpu->r[22] = cpu->r[22] + 0x00000050u;
|
|
/* 024574BC */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 024574BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 024574C0 */ cpu->r[21] = cpu->r[21] + 0x00000050u;
|
|
/* 024574C4 */ _t152 = cpu->r[26] + 0x0000004Cu;
|
|
/* 024574C4 */ rbrew_write32(cpu->mem, _t152, cpu->r[8]);
|
|
/* 024574C8 */ _t153 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024574C8 */ _t154 = _t153 & 0x00000001u;
|
|
/* 024574C8 */ if (_t154) goto L_024574CC; else goto L_024573F8;
|
|
L_024574CC: ; // 0x24574cc
|
|
/* 024574CC */ cpu->r[16] = rbrew_rlwinm(cpu->r[24], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 024574D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[16], cpu->r[14]);
|
|
/* 024574D4 */ _t155 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 024574D4 */ _t156 = _t155 & 0x00000001u;
|
|
/* 024574D4 */ if (_t156) goto L_024578AC; else goto L_024574D8;
|
|
L_024574D8: ; // 0x24574d8
|
|
/* 024574D8 */ cpu->r[31] = cpu->r[20];
|
|
L_024574DC: ; // 0x24574dc
|
|
/* 024574DC */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[16] * (int32_t)0x00000238u);
|
|
/* 024574E0 */ cpu->r[4] = cpu->r[17] + cpu->r[4];
|
|
/* 024574E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[16], cpu->r[14]);
|
|
/* 024574E8 */ cpu->r[28] = cpu->r[4] + 0xFFFFFDC8u;
|
|
/* 024574EC */ _t157 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024574EC */ _t158 = _t157 & 0x00000001u;
|
|
/* 024574EC */ if (_t158) goto L_024574F0; else goto L_02457514;
|
|
L_024574F0: ; // 0x24574f0
|
|
/* 024574F0 */ cpu->ctr = cpu->r[23];
|
|
/* 024574F4 */ cpu->r[3] = cpu->r[28];
|
|
/* 024574F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024574FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02457500 */ _t159 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02457500 */ _t160 = _t159 & 0x00000001u;
|
|
/* 02457500 */ if (_t160) goto L_02457504; else goto L_02457514;
|
|
L_02457504: ; // 0x2457504
|
|
/* 02457504 */ cpu->r[16] = cpu->r[16] + 0x00000001u;
|
|
/* 02457508 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[16] * (int32_t)0x00000238u);
|
|
/* 0245750C */ cpu->r[4] = cpu->r[17] + cpu->r[4];
|
|
/* 02457510 */ cpu->r[28] = cpu->r[4] + 0xFFFFFDC8u;
|
|
L_02457514: ; // 0x2457514
|
|
/* 02457514 */ cpu->ctr = cpu->r[23];
|
|
/* 02457518 */ cpu->r[4] = cpu->r[28];
|
|
/* 0245751C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02457520 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02457524 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02457528 */ _t161 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02457528 */ _t162 = _t161 & 0x00000001u;
|
|
/* 02457528 */ if (_t162) goto L_0245752C; else goto L_024578AC;
|
|
L_0245752C: ; // 0x245752c
|
|
/* 0245752C */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[24] * (int32_t)0x00000238u);
|
|
/* 02457530 */ cpu->r[26] = cpu->r[28];
|
|
/* 02457534 */ _t163 = cpu->r[26] + 0x00000000u;
|
|
/* 02457534 */ cpu->r[11] = rbrew_read32(cpu->mem, _t163);
|
|
/* 02457538 */ cpu->r[10] = cpu->r[17] + cpu->r[9];
|
|
/* 0245753C */ _t164 = cpu->r[10] + 0xFFFFFDC8u;
|
|
/* 0245753C */ rbrew_write32(cpu->mem, _t164, cpu->r[11]);
|
|
/* 02457540 */ _t165 = cpu->r[26] + 0x00000004u;
|
|
/* 02457540 */ cpu->r[0] = rbrew_read32(cpu->mem, _t165);
|
|
/* 02457544 */ _t166 = cpu->r[10] + 0xFFFFFDCCu;
|
|
/* 02457544 */ rbrew_write32(cpu->mem, _t166, cpu->r[0]);
|
|
/* 02457548 */ _t167 = cpu->r[26] + 0x00000008u;
|
|
/* 02457548 */ cpu->r[4] = rbrew_read32(cpu->mem, _t167);
|
|
/* 0245754C */ _t168 = cpu->r[10] + 0xFFFFFDD0u;
|
|
/* 0245754C */ rbrew_write32(cpu->mem, _t168, cpu->r[4]);
|
|
/* 02457550 */ _t169 = cpu->r[26] + 0x00000010u;
|
|
/* 02457550 */ cpu->r[5] = rbrew_read32(cpu->mem, _t169);
|
|
/* 02457554 */ _t170 = cpu->r[5] + 0x00000014u;
|
|
/* 02457554 */ cpu->r[6] = rbrew_read32(cpu->mem, _t170);
|
|
/* 02457558 */ cpu->ctr = cpu->r[6];
|
|
/* 0245755C */ _t171 = cpu->r[10] + 0xFFFFFDD4u;
|
|
/* 0245755C */ cpu->r[28] = rbrew_read32(cpu->mem, _t171);
|
|
/* 02457560 */ cpu->r[27] = cpu->r[10] + 0xFFFFFDC8u;
|
|
/* 02457564 */ cpu->r[3] = cpu->r[26] + 0x0000000Cu;
|
|
/* 02457568 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245756C */ _t172 = cpu->r[26] + 0x0000000Cu;
|
|
/* 0245756C */ cpu->r[6] = rbrew_read32(cpu->mem, _t172);
|
|
/* 02457570 */ cpu->r[0] = cpu->r[31];
|
|
/* 02457574 */ _t173 = cpu->r[6] + 0x00000000u;
|
|
/* 02457574 */ cpu->r[7] = rbrew_read8(cpu->mem, _t173);
|
|
/* 02457578 */ cpu->r[30] = 0x00000000u;
|
|
/* 0245757C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]);
|
|
/* 02457580 */ cpu->r[7] = 0x00080000u;
|
|
/* 02457584 */ _t174 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02457584 */ _t175 = _t174 & 0x00000001u;
|
|
/* 02457584 */ if (_t175) goto L_024575AC; else goto L_02457588;
|
|
L_02457588: ; // 0x2457588
|
|
/* 02457588 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0245758C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
|
|
/* 02457590 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02457594 */ _t176 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02457594 */ _t177 = _t176 & 0x00000001u;
|
|
/* 02457594 */ if (_t177) goto L_024575A8; else goto L_02457598;
|
|
L_02457598: ; // 0x2457598
|
|
/* 02457598 */ _t178 = cpu->r[6] + 0x00000000u;
|
|
/* 02457598 */ cpu->r[8] = rbrew_read8(cpu->mem, _t178);
|
|
/* 0245759C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]);
|
|
/* 024575A0 */ _t179 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024575A0 */ _t180 = _t179 & 0x00000001u;
|
|
/* 024575A0 */ if (_t180) goto L_024575A4; else goto L_02457588;
|
|
L_024575A4: ; // 0x24575a4
|
|
/* 024575A4 */ goto L_024575AC;
|
|
L_024575A8: ; // 0x24575a8
|
|
/* 024575A8 */ cpu->r[30] = 0x00000000u;
|
|
L_024575AC: ; // 0x24575ac
|
|
/* 024575AC */ _t181 = cpu->r[27] + 0x00000014u;
|
|
/* 024575AC */ cpu->r[4] = rbrew_read32(cpu->mem, _t181);
|
|
/* 024575B0 */ _t182 = cpu->r[26] + 0x00000010u;
|
|
/* 024575B0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t182);
|
|
/* 024575B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[4]);
|
|
/* 024575B8 */ _t183 = cpu->r[9] + 0x00000014u;
|
|
/* 024575B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t183);
|
|
/* 024575BC */ _t184 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024575BC */ _t185 = _t184 & 0x00000001u;
|
|
/* 024575BC */ if (_t185) goto L_024575C4; else goto L_024575C0;
|
|
L_024575C0: ; // 0x24575c0
|
|
/* 024575C0 */ cpu->r[30] = cpu->r[4] + 0xFFFFFFFFu;
|
|
L_024575C4: ; // 0x24575c4
|
|
/* 024575C4 */ cpu->ctr = cpu->r[0];
|
|
/* 024575C8 */ cpu->r[3] = cpu->r[26] + 0x0000000Cu;
|
|
/* 024575CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024575D0 */ _t186 = cpu->r[26] + 0x0000000Cu;
|
|
/* 024575D0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t186);
|
|
/* 024575D4 */ cpu->r[3] = cpu->r[28];
|
|
/* 024575D8 */ cpu->r[5] = cpu->r[30];
|
|
/* 024575DC */ cpu->r[6] = 0x00000000u;
|
|
/* 024575E0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 024575E4 */ _t187 = cpu->r[28] + cpu->r[30];
|
|
/* 024575E4 */ rbrew_write8(cpu->mem, _t187, (uint8_t)cpu->r[31]);
|
|
/* 024575E8 */ _t188 = cpu->r[26] + 0x0000005Cu;
|
|
/* 024575E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t188);
|
|
/* 024575EC */ _t189 = cpu->r[11] + 0x00000014u;
|
|
/* 024575EC */ cpu->r[4] = rbrew_read32(cpu->mem, _t189);
|
|
/* 024575F0 */ cpu->ctr = cpu->r[4];
|
|
/* 024575F4 */ _t190 = cpu->r[27] + 0x00000058u;
|
|
/* 024575F4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t190);
|
|
/* 024575F8 */ cpu->r[3] = cpu->r[26] + 0x00000058u;
|
|
/* 024575FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02457600 */ _t191 = cpu->r[26] + 0x00000058u;
|
|
/* 02457600 */ cpu->r[10] = rbrew_read32(cpu->mem, _t191);
|
|
/* 02457604 */ cpu->r[7] = cpu->r[31];
|
|
/* 02457608 */ _t192 = cpu->r[10] + 0x00000000u;
|
|
/* 02457608 */ cpu->r[5] = rbrew_read8(cpu->mem, _t192);
|
|
/* 0245760C */ cpu->r[30] = 0x00000000u;
|
|
/* 02457610 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[7]);
|
|
/* 02457614 */ cpu->r[0] = 0x00080000u;
|
|
/* 02457618 */ _t193 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02457618 */ _t194 = _t193 & 0x00000001u;
|
|
/* 02457618 */ if (_t194) goto L_02457640; else goto L_0245761C;
|
|
L_0245761C: ; // 0x245761c
|
|
/* 0245761C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02457620 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 02457624 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02457628 */ _t195 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02457628 */ _t196 = _t195 & 0x00000001u;
|
|
/* 02457628 */ if (_t196) goto L_0245763C; else goto L_0245762C;
|
|
L_0245762C: ; // 0x245762c
|
|
/* 0245762C */ _t197 = cpu->r[10] + 0x00000000u;
|
|
/* 0245762C */ cpu->r[6] = rbrew_read8(cpu->mem, _t197);
|
|
/* 02457630 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[7]);
|
|
/* 02457634 */ _t198 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02457634 */ _t199 = _t198 & 0x00000001u;
|
|
/* 02457634 */ if (_t199) goto L_02457638; else goto L_0245761C;
|
|
L_02457638: ; // 0x2457638
|
|
/* 02457638 */ goto L_02457640;
|
|
L_0245763C: ; // 0x245763c
|
|
/* 0245763C */ cpu->r[30] = 0x00000000u;
|
|
L_02457640: ; // 0x2457640
|
|
/* 02457640 */ _t200 = cpu->r[27] + 0x00000060u;
|
|
/* 02457640 */ cpu->r[5] = rbrew_read32(cpu->mem, _t200);
|
|
/* 02457644 */ _t201 = cpu->r[26] + 0x0000005Cu;
|
|
/* 02457644 */ cpu->r[8] = rbrew_read32(cpu->mem, _t201);
|
|
/* 02457648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 0245764C */ _t202 = cpu->r[8] + 0x00000014u;
|
|
/* 0245764C */ cpu->r[9] = rbrew_read32(cpu->mem, _t202);
|
|
/* 02457650 */ _t203 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02457650 */ _t204 = _t203 & 0x00000001u;
|
|
/* 02457650 */ if (_t204) goto L_02457658; else goto L_02457654;
|
|
L_02457654: ; // 0x2457654
|
|
/* 02457654 */ cpu->r[30] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_02457658: ; // 0x2457658
|
|
/* 02457658 */ cpu->ctr = cpu->r[9];
|
|
/* 0245765C */ cpu->r[3] = cpu->r[26] + 0x00000058u;
|
|
/* 02457660 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02457664 */ _t205 = cpu->r[26] + 0x00000058u;
|
|
/* 02457664 */ cpu->r[4] = rbrew_read32(cpu->mem, _t205);
|
|
/* 02457668 */ cpu->r[6] = 0x00000000u;
|
|
/* 0245766C */ cpu->r[5] = cpu->r[30];
|
|
/* 02457670 */ cpu->r[3] = cpu->r[28];
|
|
/* 02457674 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02457678 */ _t206 = cpu->r[28] + cpu->r[30];
|
|
/* 02457678 */ rbrew_write8(cpu->mem, _t206, (uint8_t)cpu->r[31]);
|
|
/* 0245767C */ _t207 = cpu->r[26] + 0x000000A8u;
|
|
/* 0245767C */ cpu->r[10] = rbrew_read32(cpu->mem, _t207);
|
|
/* 02457680 */ _t208 = cpu->r[10] + 0x00000014u;
|
|
/* 02457680 */ cpu->r[11] = rbrew_read32(cpu->mem, _t208);
|
|
/* 02457684 */ cpu->ctr = cpu->r[11];
|
|
/* 02457688 */ _t209 = cpu->r[27] + 0x000000A4u;
|
|
/* 02457688 */ cpu->r[28] = rbrew_read32(cpu->mem, _t209);
|
|
/* 0245768C */ cpu->r[3] = cpu->r[26] + 0x000000A4u;
|
|
/* 02457690 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02457694 */ _t210 = cpu->r[26] + 0x000000A4u;
|
|
/* 02457694 */ cpu->r[8] = rbrew_read32(cpu->mem, _t210);
|
|
/* 02457698 */ cpu->r[6] = cpu->r[31];
|
|
/* 0245769C */ _t211 = cpu->r[8] + 0x00000000u;
|
|
/* 0245769C */ cpu->r[0] = rbrew_read8(cpu->mem, _t211);
|
|
/* 024576A0 */ cpu->r[30] = 0x00000000u;
|
|
/* 024576A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[6]);
|
|
/* 024576A8 */ cpu->r[0] = 0x00080000u;
|
|
/* 024576AC */ _t212 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024576AC */ _t213 = _t212 & 0x00000001u;
|
|
/* 024576AC */ if (_t213) goto L_024576D4; else goto L_024576B0;
|
|
L_024576B0: ; // 0x24576b0
|
|
/* 024576B0 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 024576B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 024576B8 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 024576BC */ _t214 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 024576BC */ _t215 = _t214 & 0x00000001u;
|
|
/* 024576BC */ if (_t215) goto L_024576D0; else goto L_024576C0;
|
|
L_024576C0: ; // 0x24576c0
|
|
/* 024576C0 */ _t216 = cpu->r[8] + 0x00000000u;
|
|
/* 024576C0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t216);
|
|
/* 024576C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[6]);
|
|
/* 024576C8 */ _t217 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024576C8 */ _t218 = _t217 & 0x00000001u;
|
|
/* 024576C8 */ if (_t218) goto L_024576CC; else goto L_024576B0;
|
|
L_024576CC: ; // 0x24576cc
|
|
/* 024576CC */ goto L_024576D4;
|
|
L_024576D0: ; // 0x24576d0
|
|
/* 024576D0 */ cpu->r[30] = 0x00000000u;
|
|
L_024576D4: ; // 0x24576d4
|
|
/* 024576D4 */ _t219 = cpu->r[27] + 0x000000ACu;
|
|
/* 024576D4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t219);
|
|
/* 024576D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 024576DC */ _t220 = cpu->r[26] + 0x000000A8u;
|
|
/* 024576DC */ cpu->r[5] = rbrew_read32(cpu->mem, _t220);
|
|
/* 024576E0 */ _t221 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024576E0 */ _t222 = _t221 & 0x00000001u;
|
|
/* 024576E0 */ if (_t222) goto L_024576E8; else goto L_024576E4;
|
|
L_024576E4: ; // 0x24576e4
|
|
/* 024576E4 */ cpu->r[30] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_024576E8: ; // 0x24576e8
|
|
/* 024576E8 */ _t223 = cpu->r[5] + 0x00000014u;
|
|
/* 024576E8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t223);
|
|
/* 024576EC */ cpu->ctr = cpu->r[6];
|
|
/* 024576F0 */ cpu->r[3] = cpu->r[26] + 0x000000A4u;
|
|
/* 024576F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024576F8 */ _t224 = cpu->r[26] + 0x000000A4u;
|
|
/* 024576F8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t224);
|
|
/* 024576FC */ cpu->r[6] = 0x00000000u;
|
|
/* 02457700 */ cpu->r[5] = cpu->r[30];
|
|
/* 02457704 */ cpu->r[3] = cpu->r[28];
|
|
/* 02457708 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0245770C */ _t225 = cpu->r[28] + cpu->r[30];
|
|
/* 0245770C */ rbrew_write8(cpu->mem, _t225, (uint8_t)cpu->r[31]);
|
|
/* 02457710 */ _t226 = cpu->r[26] + 0x000000F4u;
|
|
/* 02457710 */ cpu->r[7] = rbrew_read32(cpu->mem, _t226);
|
|
/* 02457714 */ _t227 = cpu->r[7] + 0x00000014u;
|
|
/* 02457714 */ cpu->r[8] = rbrew_read32(cpu->mem, _t227);
|
|
/* 02457718 */ cpu->ctr = cpu->r[8];
|
|
/* 0245771C */ _t228 = cpu->r[27] + 0x000000F0u;
|
|
/* 0245771C */ cpu->r[28] = rbrew_read32(cpu->mem, _t228);
|
|
/* 02457720 */ cpu->r[3] = cpu->r[26] + 0x000000F0u;
|
|
/* 02457724 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02457728 */ _t229 = cpu->r[26] + 0x000000F0u;
|
|
/* 02457728 */ cpu->r[6] = rbrew_read32(cpu->mem, _t229);
|
|
/* 0245772C */ cpu->r[5] = cpu->r[31];
|
|
/* 02457730 */ _t230 = cpu->r[6] + 0x00000000u;
|
|
/* 02457730 */ cpu->r[0] = rbrew_read8(cpu->mem, _t230);
|
|
/* 02457734 */ cpu->r[30] = 0x00000000u;
|
|
/* 02457738 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[5]);
|
|
/* 0245773C */ cpu->r[0] = 0x00080000u;
|
|
/* 02457740 */ _t231 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02457740 */ _t232 = _t231 & 0x00000001u;
|
|
/* 02457740 */ if (_t232) goto L_02457768; else goto L_02457744;
|
|
L_02457744: ; // 0x2457744
|
|
/* 02457744 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02457748 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 0245774C */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02457750 */ _t233 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02457750 */ _t234 = _t233 & 0x00000001u;
|
|
/* 02457750 */ if (_t234) goto L_02457764; else goto L_02457754;
|
|
L_02457754: ; // 0x2457754
|
|
/* 02457754 */ _t235 = cpu->r[6] + 0x00000000u;
|
|
/* 02457754 */ cpu->r[10] = rbrew_read8(cpu->mem, _t235);
|
|
/* 02457758 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[5]);
|
|
/* 0245775C */ _t236 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245775C */ _t237 = _t236 & 0x00000001u;
|
|
/* 0245775C */ if (_t237) goto L_02457760; else goto L_02457744;
|
|
L_02457760: ; // 0x2457760
|
|
/* 02457760 */ goto L_02457768;
|
|
L_02457764: ; // 0x2457764
|
|
/* 02457764 */ cpu->r[30] = 0x00000000u;
|
|
L_02457768: ; // 0x2457768
|
|
/* 02457768 */ _t238 = cpu->r[27] + 0x000000F8u;
|
|
/* 02457768 */ cpu->r[7] = rbrew_read32(cpu->mem, _t238);
|
|
/* 0245776C */ _t239 = cpu->r[26] + 0x000000F4u;
|
|
/* 0245776C */ cpu->r[11] = rbrew_read32(cpu->mem, _t239);
|
|
/* 02457770 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
|
|
/* 02457774 */ _t240 = cpu->r[11] + 0x00000014u;
|
|
/* 02457774 */ cpu->r[4] = rbrew_read32(cpu->mem, _t240);
|
|
/* 02457778 */ _t241 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02457778 */ _t242 = _t241 & 0x00000001u;
|
|
/* 02457778 */ if (_t242) goto L_02457780; else goto L_0245777C;
|
|
L_0245777C: ; // 0x245777c
|
|
/* 0245777C */ cpu->r[30] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_02457780: ; // 0x2457780
|
|
/* 02457780 */ cpu->ctr = cpu->r[4];
|
|
/* 02457784 */ cpu->r[3] = cpu->r[26] + 0x000000F0u;
|
|
/* 02457788 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245778C */ _t243 = cpu->r[26] + 0x000000F0u;
|
|
/* 0245778C */ cpu->r[4] = rbrew_read32(cpu->mem, _t243);
|
|
/* 02457790 */ cpu->r[6] = 0x00000000u;
|
|
/* 02457794 */ cpu->r[5] = cpu->r[30];
|
|
/* 02457798 */ cpu->r[3] = cpu->r[28];
|
|
/* 0245779C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 024577A0 */ _t244 = cpu->r[28] + cpu->r[30];
|
|
/* 024577A0 */ rbrew_write8(cpu->mem, _t244, (uint8_t)cpu->r[31]);
|
|
/* 024577A4 */ _t245 = cpu->r[26] + 0x0000013Cu;
|
|
/* 024577A4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t245);
|
|
/* 024577A8 */ _t246 = cpu->r[27] + 0x0000013Cu;
|
|
/* 024577A8 */ rbrew_write32(cpu->mem, _t246, cpu->r[5]);
|
|
/* 024577AC */ _t247 = cpu->r[26] + 0x00000140u;
|
|
/* 024577AC */ cpu->r[6] = rbrew_read32(cpu->mem, _t247);
|
|
/* 024577B0 */ cpu->r[30] = 0x00000000u;
|
|
/* 024577B4 */ _t248 = cpu->r[27] + 0x00000140u;
|
|
/* 024577B4 */ rbrew_write32(cpu->mem, _t248, cpu->r[6]);
|
|
/* 024577B8 */ _t249 = cpu->r[26] + 0x00000144u;
|
|
/* 024577B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t249);
|
|
/* 024577BC */ cpu->r[21] = cpu->r[26] + 0x00000148u;
|
|
/* 024577C0 */ cpu->r[22] = cpu->r[27] + 0x00000148u;
|
|
/* 024577C4 */ cpu->r[28] = 0x00000003u;
|
|
/* 024577C8 */ _t250 = cpu->r[27] + 0x00000144u;
|
|
/* 024577C8 */ rbrew_write32(cpu->mem, _t250, cpu->r[7]);
|
|
L_024577CC: ; // 0x24577cc
|
|
/* 024577CC */ cpu->r[25] = cpu->r[21] + cpu->r[30];
|
|
/* 024577D0 */ _t251 = cpu->r[25] + 0x00000004u;
|
|
/* 024577D0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t251);
|
|
/* 024577D4 */ _t252 = cpu->r[8] + 0x00000014u;
|
|
/* 024577D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t252);
|
|
/* 024577D8 */ cpu->ctr = cpu->r[0];
|
|
/* 024577DC */ _t253 = cpu->r[22] + cpu->r[30];
|
|
/* 024577DC */ cpu->r[27] = rbrew_read32(cpu->mem, _t253);
|
|
/* 024577E0 */ cpu->r[3] = cpu->r[25];
|
|
/* 024577E4 */ cpu->r[24] = cpu->r[22] + cpu->r[30];
|
|
/* 024577E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024577EC */ _t254 = cpu->r[25] + 0x00000000u;
|
|
/* 024577EC */ cpu->r[4] = rbrew_read32(cpu->mem, _t254);
|
|
/* 024577F0 */ cpu->r[0] = cpu->r[31];
|
|
/* 024577F4 */ _t255 = cpu->r[4] + 0x00000000u;
|
|
/* 024577F4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t255);
|
|
/* 024577F8 */ cpu->r[9] = 0x00000000u;
|
|
/* 024577FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 02457800 */ cpu->r[5] = 0x00080000u;
|
|
/* 02457804 */ _t256 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02457804 */ _t257 = _t256 & 0x00000001u;
|
|
/* 02457804 */ if (_t257) goto L_02457848; else goto L_02457808;
|
|
L_02457808: ; // 0x2457808
|
|
/* 02457808 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0245780C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[5]);
|
|
/* 02457810 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02457814 */ _t258 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02457814 */ _t259 = _t258 & 0x00000001u;
|
|
/* 02457814 */ if (_t259) goto L_0245782C; else goto L_02457818;
|
|
L_02457818: ; // 0x2457818
|
|
/* 02457818 */ _t260 = cpu->r[4] + 0x00000000u;
|
|
/* 02457818 */ cpu->r[11] = rbrew_read8(cpu->mem, _t260);
|
|
/* 0245781C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 02457820 */ _t261 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02457820 */ _t262 = _t261 & 0x00000001u;
|
|
/* 02457820 */ if (_t262) goto L_02457824; else goto L_02457808;
|
|
L_02457824: ; // 0x2457824
|
|
/* 02457824 */ cpu->r[26] = cpu->r[9];
|
|
/* 02457828 */ goto L_0245784C;
|
|
L_0245782C: ; // 0x245782c
|
|
/* 0245782C */ _t263 = cpu->r[24] + 0x00000008u;
|
|
/* 0245782C */ cpu->r[8] = rbrew_read32(cpu->mem, _t263);
|
|
/* 02457830 */ _t264 = cpu->r[25] + 0x00000004u;
|
|
/* 02457830 */ cpu->r[5] = rbrew_read32(cpu->mem, _t264);
|
|
/* 02457834 */ cpu->r[26] = 0x00000000u;
|
|
/* 02457838 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[8]);
|
|
/* 0245783C */ _t265 = cpu->r[5] + 0x00000014u;
|
|
/* 0245783C */ cpu->r[6] = rbrew_read32(cpu->mem, _t265);
|
|
/* 02457840 */ _t266 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02457840 */ _t267 = _t266 & 0x00000001u;
|
|
/* 02457840 */ if (_t267) goto L_02457864; else goto L_02457844;
|
|
L_02457844: ; // 0x2457844
|
|
/* 02457844 */ goto L_02457860;
|
|
L_02457848: ; // 0x2457848
|
|
/* 02457848 */ cpu->r[26] = cpu->r[9];
|
|
L_0245784C: ; // 0x245784c
|
|
/* 0245784C */ _t268 = cpu->r[24] + 0x00000008u;
|
|
/* 0245784C */ cpu->r[8] = rbrew_read32(cpu->mem, _t268);
|
|
/* 02457850 */ _t269 = cpu->r[25] + 0x00000004u;
|
|
/* 02457850 */ cpu->r[5] = rbrew_read32(cpu->mem, _t269);
|
|
/* 02457854 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[8]);
|
|
/* 02457858 */ _t270 = cpu->r[5] + 0x00000014u;
|
|
/* 02457858 */ cpu->r[6] = rbrew_read32(cpu->mem, _t270);
|
|
/* 0245785C */ _t271 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245785C */ _t272 = _t271 & 0x00000001u;
|
|
/* 0245785C */ if (_t272) goto L_02457864; else goto L_02457860;
|
|
L_02457860: ; // 0x2457860
|
|
/* 02457860 */ cpu->r[26] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_02457864: ; // 0x2457864
|
|
/* 02457864 */ cpu->ctr = cpu->r[6];
|
|
/* 02457868 */ cpu->r[3] = cpu->r[25];
|
|
/* 0245786C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02457870 */ _t273 = cpu->r[25] + 0x00000000u;
|
|
/* 02457870 */ cpu->r[4] = rbrew_read32(cpu->mem, _t273);
|
|
/* 02457874 */ cpu->r[6] = 0x00000000u;
|
|
/* 02457878 */ cpu->r[5] = cpu->r[26];
|
|
/* 0245787C */ cpu->r[3] = cpu->r[27];
|
|
/* 02457880 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02457884 */ _t274 = cpu->r[27] + cpu->r[26];
|
|
/* 02457884 */ rbrew_write8(cpu->mem, _t274, (uint8_t)cpu->r[31]);
|
|
/* 02457888 */ _t275 = cpu->r[25] + 0x0000004Cu;
|
|
/* 02457888 */ cpu->r[7] = rbrew_read32(cpu->mem, _t275);
|
|
/* 0245788C */ cpu->r[30] = cpu->r[30] + 0x00000050u;
|
|
/* 02457890 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02457890 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02457894 */ _t276 = cpu->r[24] + 0x0000004Cu;
|
|
/* 02457894 */ rbrew_write32(cpu->mem, _t276, cpu->r[7]);
|
|
/* 02457898 */ _t277 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02457898 */ _t278 = _t277 & 0x00000001u;
|
|
/* 02457898 */ if (_t278) goto L_0245789C; else goto L_024577CC;
|
|
L_0245789C: ; // 0x245789c
|
|
/* 0245789C */ cpu->r[24] = cpu->r[16];
|
|
/* 024578A0 */ cpu->r[16] = rbrew_rlwinm(cpu->r[24], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 024578A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[16], cpu->r[14]);
|
|
/* 024578A8 */ _t279 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 024578A8 */ _t280 = _t279 & 0x00000001u;
|
|
/* 024578A8 */ if (_t280) goto L_024578AC; else goto L_024574DC;
|
|
L_024578AC: ; // 0x24578ac
|
|
/* 024578AC */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[24] * (int32_t)0x00000238u);
|
|
/* 024578B0 */ _t281 = cpu->r[1] + 0x00000008u;
|
|
/* 024578B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t281);
|
|
/* 024578B4 */ cpu->r[9] = cpu->r[17] + cpu->r[8];
|
|
/* 024578B8 */ _t282 = cpu->r[9] + 0xFFFFFDC8u;
|
|
/* 024578B8 */ rbrew_write32(cpu->mem, _t282, cpu->r[11]);
|
|
/* 024578BC */ _t283 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024578BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t283);
|
|
/* 024578C0 */ _t284 = cpu->r[9] + 0xFFFFFDCCu;
|
|
/* 024578C0 */ rbrew_write32(cpu->mem, _t284, cpu->r[0]);
|
|
/* 024578C4 */ _t285 = cpu->r[1] + 0x00000010u;
|
|
/* 024578C4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t285);
|
|
/* 024578C8 */ _t286 = cpu->r[9] + 0xFFFFFDD0u;
|
|
/* 024578C8 */ rbrew_write32(cpu->mem, _t286, cpu->r[4]);
|
|
/* 024578CC */ _t287 = cpu->r[1] + 0x00000018u;
|
|
/* 024578CC */ cpu->r[5] = rbrew_read32(cpu->mem, _t287);
|
|
/* 024578D0 */ _t288 = cpu->r[5] + 0x00000014u;
|
|
/* 024578D0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t288);
|
|
/* 024578D4 */ cpu->ctr = cpu->r[6];
|
|
/* 024578D8 */ _t289 = cpu->r[9] + 0xFFFFFDD4u;
|
|
/* 024578D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t289);
|
|
/* 024578DC */ cpu->r[26] = cpu->r[9] + 0xFFFFFDC8u;
|
|
/* 024578E0 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 024578E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024578E8 */ _t290 = cpu->r[1] + 0x00000014u;
|
|
/* 024578E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t290);
|
|
/* 024578EC */ cpu->r[4] = cpu->r[20];
|
|
/* 024578F0 */ _t291 = cpu->r[10] + 0x00000000u;
|
|
/* 024578F0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t291);
|
|
/* 024578F4 */ cpu->r[31] = 0x00000000u;
|
|
/* 024578F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 024578FC */ cpu->r[0] = 0x00080000u;
|
|
/* 02457900 */ _t292 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02457900 */ _t293 = _t292 & 0x00000001u;
|
|
/* 02457900 */ if (_t293) goto L_02457928; else goto L_02457904;
|
|
L_02457904: ; // 0x2457904
|
|
/* 02457904 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02457908 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 0245790C */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02457910 */ _t294 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02457910 */ _t295 = _t294 & 0x00000001u;
|
|
/* 02457910 */ if (_t295) goto L_02457924; else goto L_02457914;
|
|
L_02457914: ; // 0x2457914
|
|
/* 02457914 */ _t296 = cpu->r[10] + 0x00000000u;
|
|
/* 02457914 */ cpu->r[8] = rbrew_read8(cpu->mem, _t296);
|
|
/* 02457918 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[4]);
|
|
/* 0245791C */ _t297 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245791C */ _t298 = _t297 & 0x00000001u;
|
|
/* 0245791C */ if (_t298) goto L_02457920; else goto L_02457904;
|
|
L_02457920: ; // 0x2457920
|
|
/* 02457920 */ goto L_02457928;
|
|
L_02457924: ; // 0x2457924
|
|
/* 02457924 */ cpu->r[31] = 0x00000000u;
|
|
L_02457928: ; // 0x2457928
|
|
/* 02457928 */ _t299 = cpu->r[26] + 0x00000014u;
|
|
/* 02457928 */ cpu->r[9] = rbrew_read32(cpu->mem, _t299);
|
|
/* 0245792C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[9]);
|
|
/* 02457930 */ _t300 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02457930 */ _t301 = _t300 & 0x00000001u;
|
|
/* 02457930 */ if (_t301) goto L_02457938; else goto L_02457934;
|
|
L_02457934: ; // 0x2457934
|
|
/* 02457934 */ cpu->r[31] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_02457938: ; // 0x2457938
|
|
/* 02457938 */ _t302 = cpu->r[1] + 0x00000018u;
|
|
/* 02457938 */ cpu->r[9] = rbrew_read32(cpu->mem, _t302);
|
|
/* 0245793C */ _t303 = cpu->r[9] + 0x00000014u;
|
|
/* 0245793C */ cpu->r[10] = rbrew_read32(cpu->mem, _t303);
|
|
/* 02457940 */ cpu->ctr = cpu->r[10];
|
|
/* 02457944 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02457948 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245794C */ _t304 = cpu->r[1] + 0x00000014u;
|
|
/* 0245794C */ cpu->r[4] = rbrew_read32(cpu->mem, _t304);
|
|
/* 02457950 */ cpu->r[3] = cpu->r[30];
|
|
/* 02457954 */ cpu->r[5] = cpu->r[31];
|
|
/* 02457958 */ cpu->r[6] = 0x00000000u;
|
|
/* 0245795C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02457960 */ _t305 = cpu->r[30] + cpu->r[31];
|
|
/* 02457960 */ rbrew_write8(cpu->mem, _t305, (uint8_t)cpu->r[20]);
|
|
/* 02457964 */ _t306 = cpu->r[1] + 0x00000064u;
|
|
/* 02457964 */ cpu->r[11] = rbrew_read32(cpu->mem, _t306);
|
|
/* 02457968 */ _t307 = cpu->r[11] + 0x00000014u;
|
|
/* 02457968 */ cpu->r[0] = rbrew_read32(cpu->mem, _t307);
|
|
/* 0245796C */ cpu->ctr = cpu->r[0];
|
|
/* 02457970 */ _t308 = cpu->r[26] + 0x00000058u;
|
|
/* 02457970 */ cpu->r[30] = rbrew_read32(cpu->mem, _t308);
|
|
/* 02457974 */ cpu->r[3] = cpu->r[1] + 0x00000060u;
|
|
/* 02457978 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245797C */ _t309 = cpu->r[1] + 0x00000060u;
|
|
/* 0245797C */ cpu->r[5] = rbrew_read32(cpu->mem, _t309);
|
|
/* 02457980 */ cpu->r[0] = cpu->r[20];
|
|
/* 02457984 */ _t310 = cpu->r[5] + 0x00000000u;
|
|
/* 02457984 */ cpu->r[4] = rbrew_read8(cpu->mem, _t310);
|
|
/* 02457988 */ cpu->r[31] = 0x00000000u;
|
|
/* 0245798C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 02457990 */ cpu->r[7] = 0x00080000u;
|
|
/* 02457994 */ _t311 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02457994 */ _t312 = _t311 & 0x00000001u;
|
|
/* 02457994 */ if (_t312) goto L_024579BC; else goto L_02457998;
|
|
L_02457998: ; // 0x2457998
|
|
/* 02457998 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0245799C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[7]);
|
|
/* 024579A0 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 024579A4 */ _t313 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 024579A4 */ _t314 = _t313 & 0x00000001u;
|
|
/* 024579A4 */ if (_t314) goto L_024579B8; else goto L_024579A8;
|
|
L_024579A8: ; // 0x24579a8
|
|
/* 024579A8 */ _t315 = cpu->r[5] + 0x00000000u;
|
|
/* 024579A8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t315);
|
|
/* 024579AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[0]);
|
|
/* 024579B0 */ _t316 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024579B0 */ _t317 = _t316 & 0x00000001u;
|
|
/* 024579B0 */ if (_t317) goto L_024579B4; else goto L_02457998;
|
|
L_024579B4: ; // 0x24579b4
|
|
/* 024579B4 */ goto L_024579BC;
|
|
L_024579B8: ; // 0x24579b8
|
|
/* 024579B8 */ cpu->r[31] = 0x00000000u;
|
|
L_024579BC: ; // 0x24579bc
|
|
/* 024579BC */ _t318 = cpu->r[26] + 0x00000060u;
|
|
/* 024579BC */ cpu->r[10] = rbrew_read32(cpu->mem, _t318);
|
|
/* 024579C0 */ _t319 = cpu->r[1] + 0x00000064u;
|
|
/* 024579C0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t319);
|
|
/* 024579C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[10]);
|
|
/* 024579C8 */ _t320 = cpu->r[7] + 0x00000014u;
|
|
/* 024579C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t320);
|
|
/* 024579CC */ _t321 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024579CC */ _t322 = _t321 & 0x00000001u;
|
|
/* 024579CC */ if (_t322) goto L_024579D4; else goto L_024579D0;
|
|
L_024579D0: ; // 0x24579d0
|
|
/* 024579D0 */ cpu->r[31] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_024579D4: ; // 0x24579d4
|
|
/* 024579D4 */ cpu->ctr = cpu->r[8];
|
|
/* 024579D8 */ cpu->r[3] = cpu->r[1] + 0x00000060u;
|
|
/* 024579DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024579E0 */ _t323 = cpu->r[1] + 0x00000060u;
|
|
/* 024579E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t323);
|
|
/* 024579E4 */ cpu->r[6] = 0x00000000u;
|
|
/* 024579E8 */ cpu->r[5] = cpu->r[31];
|
|
/* 024579EC */ cpu->r[3] = cpu->r[30];
|
|
/* 024579F0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 024579F4 */ _t324 = cpu->r[30] + cpu->r[31];
|
|
/* 024579F4 */ rbrew_write8(cpu->mem, _t324, (uint8_t)cpu->r[20]);
|
|
/* 024579F8 */ _t325 = cpu->r[1] + 0x000000B0u;
|
|
/* 024579F8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t325);
|
|
/* 024579FC */ _t326 = cpu->r[9] + 0x00000014u;
|
|
/* 024579FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t326);
|
|
/* 02457A00 */ cpu->ctr = cpu->r[0];
|
|
/* 02457A04 */ _t327 = cpu->r[26] + 0x000000A4u;
|
|
/* 02457A04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t327);
|
|
/* 02457A08 */ cpu->r[3] = cpu->r[1] + 0x000000ACu;
|
|
/* 02457A0C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02457A10 */ _t328 = cpu->r[1] + 0x000000ACu;
|
|
/* 02457A10 */ cpu->r[9] = rbrew_read32(cpu->mem, _t328);
|
|
/* 02457A14 */ cpu->r[0] = cpu->r[20];
|
|
/* 02457A18 */ _t329 = cpu->r[9] + 0x00000000u;
|
|
/* 02457A18 */ cpu->r[11] = rbrew_read8(cpu->mem, _t329);
|
|
/* 02457A1C */ cpu->r[31] = 0x00000000u;
|
|
/* 02457A20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 02457A24 */ cpu->r[11] = 0x00080000u;
|
|
/* 02457A28 */ _t330 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02457A28 */ _t331 = _t330 & 0x00000001u;
|
|
/* 02457A28 */ if (_t331) goto L_02457A50; else goto L_02457A2C;
|
|
L_02457A2C: ; // 0x2457a2c
|
|
/* 02457A2C */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02457A30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[11]);
|
|
/* 02457A34 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02457A38 */ _t332 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02457A38 */ _t333 = _t332 & 0x00000001u;
|
|
/* 02457A38 */ if (_t333) goto L_02457A4C; else goto L_02457A3C;
|
|
L_02457A3C: ; // 0x2457a3c
|
|
/* 02457A3C */ _t334 = cpu->r[9] + 0x00000000u;
|
|
/* 02457A3C */ cpu->r[4] = rbrew_read8(cpu->mem, _t334);
|
|
/* 02457A40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 02457A44 */ _t335 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02457A44 */ _t336 = _t335 & 0x00000001u;
|
|
/* 02457A44 */ if (_t336) goto L_02457A48; else goto L_02457A2C;
|
|
L_02457A48: ; // 0x2457a48
|
|
/* 02457A48 */ goto L_02457A50;
|
|
L_02457A4C: ; // 0x2457a4c
|
|
/* 02457A4C */ cpu->r[31] = 0x00000000u;
|
|
L_02457A50: ; // 0x2457a50
|
|
/* 02457A50 */ _t337 = cpu->r[26] + 0x000000ACu;
|
|
/* 02457A50 */ cpu->r[11] = rbrew_read32(cpu->mem, _t337);
|
|
/* 02457A54 */ _t338 = cpu->r[1] + 0x000000B0u;
|
|
/* 02457A54 */ cpu->r[5] = rbrew_read32(cpu->mem, _t338);
|
|
/* 02457A58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[11]);
|
|
/* 02457A5C */ _t339 = cpu->r[5] + 0x00000014u;
|
|
/* 02457A5C */ cpu->r[6] = rbrew_read32(cpu->mem, _t339);
|
|
/* 02457A60 */ _t340 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02457A60 */ _t341 = _t340 & 0x00000001u;
|
|
/* 02457A60 */ if (_t341) goto L_02457A68; else goto L_02457A64;
|
|
L_02457A64: ; // 0x2457a64
|
|
/* 02457A64 */ cpu->r[31] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_02457A68: ; // 0x2457a68
|
|
/* 02457A68 */ cpu->ctr = cpu->r[6];
|
|
/* 02457A6C */ cpu->r[3] = cpu->r[1] + 0x000000ACu;
|
|
/* 02457A70 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02457A74 */ _t342 = cpu->r[1] + 0x000000ACu;
|
|
/* 02457A74 */ cpu->r[4] = rbrew_read32(cpu->mem, _t342);
|
|
/* 02457A78 */ cpu->r[3] = cpu->r[30];
|
|
/* 02457A7C */ cpu->r[5] = cpu->r[31];
|
|
/* 02457A80 */ cpu->r[6] = 0x00000000u;
|
|
/* 02457A84 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02457A88 */ _t343 = cpu->r[30] + cpu->r[31];
|
|
/* 02457A88 */ rbrew_write8(cpu->mem, _t343, (uint8_t)cpu->r[20]);
|
|
/* 02457A8C */ _t344 = cpu->r[1] + 0x000000FCu;
|
|
/* 02457A8C */ cpu->r[7] = rbrew_read32(cpu->mem, _t344);
|
|
/* 02457A90 */ _t345 = cpu->r[7] + 0x00000014u;
|
|
/* 02457A90 */ cpu->r[8] = rbrew_read32(cpu->mem, _t345);
|
|
/* 02457A94 */ cpu->ctr = cpu->r[8];
|
|
/* 02457A98 */ _t346 = cpu->r[26] + 0x000000F0u;
|
|
/* 02457A98 */ cpu->r[30] = rbrew_read32(cpu->mem, _t346);
|
|
/* 02457A9C */ cpu->r[3] = cpu->r[1] + 0x000000F8u;
|
|
/* 02457AA0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02457AA4 */ _t347 = cpu->r[1] + 0x000000F8u;
|
|
/* 02457AA4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t347);
|
|
/* 02457AA8 */ cpu->r[10] = cpu->r[20];
|
|
/* 02457AAC */ _t348 = cpu->r[4] + 0x00000000u;
|
|
/* 02457AAC */ cpu->r[9] = rbrew_read8(cpu->mem, _t348);
|
|
/* 02457AB0 */ cpu->r[31] = 0x00000000u;
|
|
/* 02457AB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[10]);
|
|
/* 02457AB8 */ cpu->r[6] = 0x00080000u;
|
|
/* 02457ABC */ _t349 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02457ABC */ _t350 = _t349 & 0x00000001u;
|
|
/* 02457ABC */ if (_t350) goto L_02457AE4; else goto L_02457AC0;
|
|
L_02457AC0: ; // 0x2457ac0
|
|
/* 02457AC0 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02457AC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[6]);
|
|
/* 02457AC8 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02457ACC */ _t351 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02457ACC */ _t352 = _t351 & 0x00000001u;
|
|
/* 02457ACC */ if (_t352) goto L_02457AE0; else goto L_02457AD0;
|
|
L_02457AD0: ; // 0x2457ad0
|
|
/* 02457AD0 */ _t353 = cpu->r[4] + 0x00000000u;
|
|
/* 02457AD0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t353);
|
|
/* 02457AD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[10]);
|
|
/* 02457AD8 */ _t354 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02457AD8 */ _t355 = _t354 & 0x00000001u;
|
|
/* 02457AD8 */ if (_t355) goto L_02457ADC; else goto L_02457AC0;
|
|
L_02457ADC: ; // 0x2457adc
|
|
/* 02457ADC */ goto L_02457AE4;
|
|
L_02457AE0: ; // 0x2457ae0
|
|
/* 02457AE0 */ cpu->r[31] = 0x00000000u;
|
|
L_02457AE4: ; // 0x2457ae4
|
|
/* 02457AE4 */ _t356 = cpu->r[26] + 0x000000F8u;
|
|
/* 02457AE4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t356);
|
|
/* 02457AE8 */ _t357 = cpu->r[1] + 0x000000FCu;
|
|
/* 02457AE8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t357);
|
|
/* 02457AEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[4]);
|
|
/* 02457AF0 */ _t358 = cpu->r[11] + 0x00000014u;
|
|
/* 02457AF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t358);
|
|
/* 02457AF4 */ _t359 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02457AF4 */ _t360 = _t359 & 0x00000001u;
|
|
/* 02457AF4 */ if (_t360) goto L_02457AFC; else goto L_02457AF8;
|
|
L_02457AF8: ; // 0x2457af8
|
|
/* 02457AF8 */ cpu->r[31] = cpu->r[4] + 0xFFFFFFFFu;
|
|
L_02457AFC: ; // 0x2457afc
|
|
/* 02457AFC */ cpu->ctr = cpu->r[0];
|
|
/* 02457B00 */ cpu->r[3] = cpu->r[1] + 0x000000F8u;
|
|
/* 02457B04 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02457B08 */ _t361 = cpu->r[1] + 0x000000F8u;
|
|
/* 02457B08 */ cpu->r[4] = rbrew_read32(cpu->mem, _t361);
|
|
/* 02457B0C */ cpu->r[6] = 0x00000000u;
|
|
/* 02457B10 */ cpu->r[5] = cpu->r[31];
|
|
/* 02457B14 */ cpu->r[3] = cpu->r[30];
|
|
/* 02457B18 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02457B1C */ _t362 = cpu->r[30] + cpu->r[31];
|
|
/* 02457B1C */ rbrew_write8(cpu->mem, _t362, (uint8_t)cpu->r[20]);
|
|
/* 02457B20 */ _t363 = cpu->r[1] + 0x00000144u;
|
|
/* 02457B20 */ cpu->r[4] = rbrew_read32(cpu->mem, _t363);
|
|
/* 02457B24 */ _t364 = cpu->r[26] + 0x0000013Cu;
|
|
/* 02457B24 */ rbrew_write32(cpu->mem, _t364, cpu->r[4]);
|
|
/* 02457B28 */ _t365 = cpu->r[1] + 0x00000148u;
|
|
/* 02457B28 */ cpu->r[5] = rbrew_read32(cpu->mem, _t365);
|
|
/* 02457B2C */ cpu->r[27] = 0x00000003u;
|
|
/* 02457B30 */ cpu->r[28] = 0x00000000u;
|
|
/* 02457B34 */ _t366 = cpu->r[26] + 0x00000140u;
|
|
/* 02457B34 */ rbrew_write32(cpu->mem, _t366, cpu->r[5]);
|
|
/* 02457B38 */ _t367 = cpu->r[1] + 0x0000014Cu;
|
|
/* 02457B38 */ cpu->r[6] = rbrew_read32(cpu->mem, _t367);
|
|
/* 02457B3C */ cpu->r[22] = cpu->r[26] + 0x00000148u;
|
|
/* 02457B40 */ cpu->r[30] = cpu->r[19];
|
|
/* 02457B44 */ cpu->r[31] = cpu->r[20];
|
|
/* 02457B48 */ _t368 = cpu->r[26] + 0x00000144u;
|
|
/* 02457B48 */ rbrew_write32(cpu->mem, _t368, cpu->r[6]);
|
|
L_02457B4C: ; // 0x2457b4c
|
|
/* 02457B4C */ _t369 = cpu->r[30] + 0x00000004u;
|
|
/* 02457B4C */ cpu->r[7] = rbrew_read32(cpu->mem, _t369);
|
|
/* 02457B50 */ _t370 = cpu->r[7] + 0x00000014u;
|
|
/* 02457B50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t370);
|
|
/* 02457B54 */ cpu->ctr = cpu->r[0];
|
|
/* 02457B58 */ _t371 = cpu->r[22] + cpu->r[28];
|
|
/* 02457B58 */ cpu->r[26] = rbrew_read32(cpu->mem, _t371);
|
|
/* 02457B5C */ cpu->r[3] = cpu->r[30];
|
|
/* 02457B60 */ cpu->r[24] = cpu->r[22] + cpu->r[28];
|
|
/* 02457B64 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02457B68 */ _t372 = cpu->r[30] + 0x00000000u;
|
|
/* 02457B68 */ cpu->r[7] = rbrew_read32(cpu->mem, _t372);
|
|
/* 02457B6C */ cpu->r[0] = cpu->r[31];
|
|
/* 02457B70 */ _t373 = cpu->r[7] + 0x00000000u;
|
|
/* 02457B70 */ cpu->r[9] = rbrew_read8(cpu->mem, _t373);
|
|
/* 02457B74 */ cpu->r[10] = 0x00000000u;
|
|
/* 02457B78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 02457B7C */ cpu->r[8] = 0x00080000u;
|
|
/* 02457B80 */ _t374 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02457B80 */ _t375 = _t374 & 0x00000001u;
|
|
/* 02457B80 */ if (_t375) goto L_02457BC0; else goto L_02457B84;
|
|
L_02457B84: ; // 0x2457b84
|
|
/* 02457B84 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02457B88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[8]);
|
|
/* 02457B8C */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 02457B90 */ _t376 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02457B90 */ _t377 = _t376 & 0x00000001u;
|
|
/* 02457B90 */ if (_t377) goto L_02457BA8; else goto L_02457B94;
|
|
L_02457B94: ; // 0x2457b94
|
|
/* 02457B94 */ _t378 = cpu->r[7] + 0x00000000u;
|
|
/* 02457B94 */ cpu->r[11] = rbrew_read8(cpu->mem, _t378);
|
|
/* 02457B98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 02457B9C */ _t379 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02457B9C */ _t380 = _t379 & 0x00000001u;
|
|
/* 02457B9C */ if (_t380) goto L_02457BA0; else goto L_02457B84;
|
|
L_02457BA0: ; // 0x2457ba0
|
|
/* 02457BA0 */ cpu->r[25] = cpu->r[10];
|
|
/* 02457BA4 */ goto L_02457BC4;
|
|
L_02457BA8: ; // 0x2457ba8
|
|
/* 02457BA8 */ _t381 = cpu->r[24] + 0x00000008u;
|
|
/* 02457BA8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t381);
|
|
/* 02457BAC */ cpu->r[25] = 0x00000000u;
|
|
/* 02457BB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[5]);
|
|
/* 02457BB4 */ _t382 = cpu->r[30] + 0x00000004u;
|
|
/* 02457BB4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t382);
|
|
/* 02457BB8 */ _t383 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02457BB8 */ _t384 = _t383 & 0x00000001u;
|
|
/* 02457BB8 */ if (_t384) goto L_02457BD8; else goto L_02457BBC;
|
|
L_02457BBC: ; // 0x2457bbc
|
|
/* 02457BBC */ goto L_02457BD4;
|
|
L_02457BC0: ; // 0x2457bc0
|
|
/* 02457BC0 */ cpu->r[25] = cpu->r[10];
|
|
L_02457BC4: ; // 0x2457bc4
|
|
/* 02457BC4 */ _t385 = cpu->r[24] + 0x00000008u;
|
|
/* 02457BC4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t385);
|
|
/* 02457BC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[5]);
|
|
/* 02457BCC */ _t386 = cpu->r[30] + 0x00000004u;
|
|
/* 02457BCC */ cpu->r[4] = rbrew_read32(cpu->mem, _t386);
|
|
/* 02457BD0 */ _t387 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02457BD0 */ _t388 = _t387 & 0x00000001u;
|
|
/* 02457BD0 */ if (_t388) goto L_02457BD8; else goto L_02457BD4;
|
|
L_02457BD4: ; // 0x2457bd4
|
|
/* 02457BD4 */ cpu->r[25] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_02457BD8: ; // 0x2457bd8
|
|
/* 02457BD8 */ _t389 = cpu->r[4] + 0x00000014u;
|
|
/* 02457BD8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t389);
|
|
/* 02457BDC */ cpu->ctr = cpu->r[5];
|
|
/* 02457BE0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02457BE4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02457BE8 */ _t390 = cpu->r[30] + 0x00000000u;
|
|
/* 02457BE8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t390);
|
|
/* 02457BEC */ cpu->r[6] = 0x00000000u;
|
|
/* 02457BF0 */ cpu->r[5] = cpu->r[25];
|
|
/* 02457BF4 */ cpu->r[3] = cpu->r[26];
|
|
/* 02457BF8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02457BFC */ _t391 = cpu->r[26] + cpu->r[25];
|
|
/* 02457BFC */ rbrew_write8(cpu->mem, _t391, (uint8_t)cpu->r[31]);
|
|
/* 02457C00 */ _t392 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02457C00 */ cpu->r[6] = rbrew_read32(cpu->mem, _t392);
|
|
/* 02457C04 */ cpu->r[30] = cpu->r[30] + 0x00000050u;
|
|
/* 02457C08 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02457C08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02457C0C */ cpu->r[28] = cpu->r[28] + 0x00000050u;
|
|
/* 02457C10 */ _t393 = cpu->r[24] + 0x0000004Cu;
|
|
/* 02457C10 */ rbrew_write32(cpu->mem, _t393, cpu->r[6]);
|
|
/* 02457C14 */ _t394 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02457C14 */ _t395 = _t394 & 0x00000001u;
|
|
/* 02457C14 */ if (_t395) goto L_02457C18; else goto L_02457B4C;
|
|
L_02457C18: ; // 0x2457c18
|
|
/* 02457C18 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02457C18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02457C1C */ cpu->r[15] = cpu->r[15] + 0xFFFFFFFFu;
|
|
/* 02457C20 */ cpu->r[18] = cpu->r[18] + 0xFFFFFDC8u;
|
|
/* 02457C24 */ _t396 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02457C24 */ _t397 = _t396 & 0x00000001u;
|
|
/* 02457C24 */ if (_t397) goto L_02457C28; else goto L_0245715C;
|
|
L_02457C28: ; // 0x2457c28
|
|
/* 02457C28 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[14] * (int32_t)0x00000238u);
|
|
/* 02457C2C */ cpu->r[31] = cpu->r[19];
|
|
/* 02457C30 */ cpu->r[30] = cpu->r[20];
|
|
/* 02457C34 */ cpu->r[8] = cpu->r[17] + cpu->r[7];
|
|
/* 02457C38 */ cpu->r[21] = cpu->r[17] + 0x00000148u;
|
|
/* 02457C3C */ cpu->r[29] = cpu->r[8] + 0xFFFFFDC8u;
|
|
L_02457C40: ; // 0x2457c40
|
|
/* 02457C40 */ _t398 = cpu->r[29] + 0x00000000u;
|
|
/* 02457C40 */ cpu->r[10] = rbrew_read32(cpu->mem, _t398);
|
|
/* 02457C44 */ _t399 = cpu->r[1] + 0x00000008u;
|
|
/* 02457C44 */ rbrew_write32(cpu->mem, _t399, cpu->r[10]);
|
|
/* 02457C48 */ _t400 = cpu->r[29] + 0x00000004u;
|
|
/* 02457C48 */ cpu->r[11] = rbrew_read32(cpu->mem, _t400);
|
|
/* 02457C4C */ _t401 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02457C4C */ rbrew_write32(cpu->mem, _t401, cpu->r[11]);
|
|
/* 02457C50 */ _t402 = cpu->r[29] + 0x00000008u;
|
|
/* 02457C50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t402);
|
|
/* 02457C54 */ _t403 = cpu->r[1] + 0x00000010u;
|
|
/* 02457C54 */ rbrew_write32(cpu->mem, _t403, cpu->r[0]);
|
|
/* 02457C58 */ _t404 = cpu->r[29] + 0x00000010u;
|
|
/* 02457C58 */ cpu->r[4] = rbrew_read32(cpu->mem, _t404);
|
|
/* 02457C5C */ _t405 = cpu->r[4] + 0x00000014u;
|
|
/* 02457C5C */ cpu->r[5] = rbrew_read32(cpu->mem, _t405);
|
|
/* 02457C60 */ cpu->ctr = cpu->r[5];
|
|
/* 02457C64 */ _t406 = cpu->r[1] + 0x00000014u;
|
|
/* 02457C64 */ cpu->r[27] = rbrew_read32(cpu->mem, _t406);
|
|
/* 02457C68 */ cpu->r[3] = cpu->r[29] + 0x0000000Cu;
|
|
/* 02457C6C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02457C70 */ _t407 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02457C70 */ cpu->r[8] = rbrew_read32(cpu->mem, _t407);
|
|
/* 02457C74 */ cpu->r[9] = cpu->r[30];
|
|
/* 02457C78 */ _t408 = cpu->r[8] + 0x00000000u;
|
|
/* 02457C78 */ cpu->r[0] = rbrew_read8(cpu->mem, _t408);
|
|
/* 02457C7C */ cpu->r[28] = 0x00000000u;
|
|
/* 02457C80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[9]);
|
|
/* 02457C84 */ cpu->r[0] = 0x00080000u;
|
|
/* 02457C88 */ _t409 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02457C88 */ _t410 = _t409 & 0x00000001u;
|
|
/* 02457C88 */ if (_t410) goto L_02457CB0; else goto L_02457C8C;
|
|
L_02457C8C: ; // 0x2457c8c
|
|
/* 02457C8C */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02457C90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]);
|
|
/* 02457C94 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02457C98 */ _t411 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02457C98 */ _t412 = _t411 & 0x00000001u;
|
|
/* 02457C98 */ if (_t412) goto L_02457CAC; else goto L_02457C9C;
|
|
L_02457C9C: ; // 0x2457c9c
|
|
/* 02457C9C */ _t413 = cpu->r[8] + 0x00000000u;
|
|
/* 02457C9C */ cpu->r[7] = rbrew_read8(cpu->mem, _t413);
|
|
/* 02457CA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[9]);
|
|
/* 02457CA4 */ _t414 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02457CA4 */ _t415 = _t414 & 0x00000001u;
|
|
/* 02457CA4 */ if (_t415) goto L_02457CA8; else goto L_02457C8C;
|
|
L_02457CA8: ; // 0x2457ca8
|
|
/* 02457CA8 */ goto L_02457CB0;
|
|
L_02457CAC: ; // 0x2457cac
|
|
/* 02457CAC */ cpu->r[28] = 0x00000000u;
|
|
L_02457CB0: ; // 0x2457cb0
|
|
/* 02457CB0 */ _t416 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02457CB0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t416);
|
|
/* 02457CB4 */ _t417 = cpu->r[29] + 0x00000010u;
|
|
/* 02457CB4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t417);
|
|
/* 02457CB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[5]);
|
|
/* 02457CBC */ _t418 = cpu->r[9] + 0x00000014u;
|
|
/* 02457CBC */ cpu->r[10] = rbrew_read32(cpu->mem, _t418);
|
|
/* 02457CC0 */ _t419 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02457CC0 */ _t420 = _t419 & 0x00000001u;
|
|
/* 02457CC0 */ if (_t420) goto L_02457CC8; else goto L_02457CC4;
|
|
L_02457CC4: ; // 0x2457cc4
|
|
/* 02457CC4 */ cpu->r[28] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_02457CC8: ; // 0x2457cc8
|
|
/* 02457CC8 */ cpu->ctr = cpu->r[10];
|
|
/* 02457CCC */ cpu->r[3] = cpu->r[29] + 0x0000000Cu;
|
|
/* 02457CD0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02457CD4 */ _t421 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02457CD4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t421);
|
|
/* 02457CD8 */ cpu->r[3] = cpu->r[27];
|
|
/* 02457CDC */ cpu->r[5] = cpu->r[28];
|
|
/* 02457CE0 */ cpu->r[6] = 0x00000000u;
|
|
/* 02457CE4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02457CE8 */ _t422 = cpu->r[27] + cpu->r[28];
|
|
/* 02457CE8 */ rbrew_write8(cpu->mem, _t422, (uint8_t)cpu->r[30]);
|
|
/* 02457CEC */ _t423 = cpu->r[29] + 0x0000005Cu;
|
|
/* 02457CEC */ cpu->r[11] = rbrew_read32(cpu->mem, _t423);
|
|
/* 02457CF0 */ _t424 = cpu->r[11] + 0x00000014u;
|
|
/* 02457CF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t424);
|
|
/* 02457CF4 */ cpu->ctr = cpu->r[0];
|
|
/* 02457CF8 */ _t425 = cpu->r[1] + 0x00000060u;
|
|
/* 02457CF8 */ cpu->r[27] = rbrew_read32(cpu->mem, _t425);
|
|
/* 02457CFC */ cpu->r[3] = cpu->r[29] + 0x00000058u;
|
|
/* 02457D00 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02457D04 */ _t426 = cpu->r[29] + 0x00000058u;
|
|
/* 02457D04 */ cpu->r[4] = rbrew_read32(cpu->mem, _t426);
|
|
/* 02457D08 */ cpu->r[8] = cpu->r[30];
|
|
/* 02457D0C */ _t427 = cpu->r[4] + 0x00000000u;
|
|
/* 02457D0C */ cpu->r[0] = rbrew_read8(cpu->mem, _t427);
|
|
/* 02457D10 */ cpu->r[28] = 0x00000000u;
|
|
/* 02457D14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 02457D18 */ cpu->r[6] = 0x00080000u;
|
|
/* 02457D1C */ _t428 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02457D1C */ _t429 = _t428 & 0x00000001u;
|
|
/* 02457D1C */ if (_t429) goto L_02457D44; else goto L_02457D20;
|
|
L_02457D20: ; // 0x2457d20
|
|
/* 02457D20 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02457D24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[6]);
|
|
/* 02457D28 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02457D2C */ _t430 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02457D2C */ _t431 = _t430 & 0x00000001u;
|
|
/* 02457D2C */ if (_t431) goto L_02457D40; else goto L_02457D30;
|
|
L_02457D30: ; // 0x2457d30
|
|
/* 02457D30 */ _t432 = cpu->r[4] + 0x00000000u;
|
|
/* 02457D30 */ cpu->r[5] = rbrew_read8(cpu->mem, _t432);
|
|
/* 02457D34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[8]);
|
|
/* 02457D38 */ _t433 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02457D38 */ _t434 = _t433 & 0x00000001u;
|
|
/* 02457D38 */ if (_t434) goto L_02457D3C; else goto L_02457D20;
|
|
L_02457D3C: ; // 0x2457d3c
|
|
/* 02457D3C */ goto L_02457D44;
|
|
L_02457D40: ; // 0x2457d40
|
|
/* 02457D40 */ cpu->r[28] = 0x00000000u;
|
|
L_02457D44: ; // 0x2457d44
|
|
/* 02457D44 */ _t435 = cpu->r[1] + 0x00000068u;
|
|
/* 02457D44 */ cpu->r[6] = rbrew_read32(cpu->mem, _t435);
|
|
/* 02457D48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[6]);
|
|
/* 02457D4C */ _t436 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02457D4C */ _t437 = _t436 & 0x00000001u;
|
|
/* 02457D4C */ if (_t437) goto L_02457D54; else goto L_02457D50;
|
|
L_02457D50: ; // 0x2457d50
|
|
/* 02457D50 */ cpu->r[28] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_02457D54: ; // 0x2457d54
|
|
/* 02457D54 */ _t438 = cpu->r[29] + 0x0000005Cu;
|
|
/* 02457D54 */ cpu->r[6] = rbrew_read32(cpu->mem, _t438);
|
|
/* 02457D58 */ _t439 = cpu->r[6] + 0x00000014u;
|
|
/* 02457D58 */ cpu->r[7] = rbrew_read32(cpu->mem, _t439);
|
|
/* 02457D5C */ cpu->ctr = cpu->r[7];
|
|
/* 02457D60 */ cpu->r[3] = cpu->r[29] + 0x00000058u;
|
|
/* 02457D64 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02457D68 */ _t440 = cpu->r[29] + 0x00000058u;
|
|
/* 02457D68 */ cpu->r[4] = rbrew_read32(cpu->mem, _t440);
|
|
/* 02457D6C */ cpu->r[6] = 0x00000000u;
|
|
/* 02457D70 */ cpu->r[5] = cpu->r[28];
|
|
/* 02457D74 */ cpu->r[3] = cpu->r[27];
|
|
/* 02457D78 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02457D7C */ _t441 = cpu->r[27] + cpu->r[28];
|
|
/* 02457D7C */ rbrew_write8(cpu->mem, _t441, (uint8_t)cpu->r[30]);
|
|
/* 02457D80 */ _t442 = cpu->r[29] + 0x000000A8u;
|
|
/* 02457D80 */ cpu->r[8] = rbrew_read32(cpu->mem, _t442);
|
|
/* 02457D84 */ _t443 = cpu->r[8] + 0x00000014u;
|
|
/* 02457D84 */ cpu->r[9] = rbrew_read32(cpu->mem, _t443);
|
|
/* 02457D88 */ cpu->ctr = cpu->r[9];
|
|
/* 02457D8C */ _t444 = cpu->r[1] + 0x000000ACu;
|
|
/* 02457D8C */ cpu->r[27] = rbrew_read32(cpu->mem, _t444);
|
|
/* 02457D90 */ cpu->r[3] = cpu->r[29] + 0x000000A4u;
|
|
/* 02457D94 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02457D98 */ _t445 = cpu->r[29] + 0x000000A4u;
|
|
/* 02457D98 */ cpu->r[8] = rbrew_read32(cpu->mem, _t445);
|
|
/* 02457D9C */ cpu->r[7] = cpu->r[30];
|
|
/* 02457DA0 */ _t446 = cpu->r[8] + 0x00000000u;
|
|
/* 02457DA0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t446);
|
|
/* 02457DA4 */ cpu->r[28] = 0x00000000u;
|
|
/* 02457DA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 02457DAC */ cpu->r[0] = 0x00080000u;
|
|
/* 02457DB0 */ _t447 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02457DB0 */ _t448 = _t447 & 0x00000001u;
|
|
/* 02457DB0 */ if (_t448) goto L_02457DD8; else goto L_02457DB4;
|
|
L_02457DB4: ; // 0x2457db4
|
|
/* 02457DB4 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02457DB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]);
|
|
/* 02457DBC */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02457DC0 */ _t449 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02457DC0 */ _t450 = _t449 & 0x00000001u;
|
|
/* 02457DC0 */ if (_t450) goto L_02457DD4; else goto L_02457DC4;
|
|
L_02457DC4: ; // 0x2457dc4
|
|
/* 02457DC4 */ _t451 = cpu->r[8] + 0x00000000u;
|
|
/* 02457DC4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t451);
|
|
/* 02457DC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[7]);
|
|
/* 02457DCC */ _t452 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02457DCC */ _t453 = _t452 & 0x00000001u;
|
|
/* 02457DCC */ if (_t453) goto L_02457DD0; else goto L_02457DB4;
|
|
L_02457DD0: ; // 0x2457dd0
|
|
/* 02457DD0 */ goto L_02457DD8;
|
|
L_02457DD4: ; // 0x2457dd4
|
|
/* 02457DD4 */ cpu->r[28] = 0x00000000u;
|
|
L_02457DD8: ; // 0x2457dd8
|
|
/* 02457DD8 */ _t454 = cpu->r[1] + 0x000000B4u;
|
|
/* 02457DD8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t454);
|
|
/* 02457DDC */ _t455 = cpu->r[29] + 0x000000A8u;
|
|
/* 02457DDC */ cpu->r[4] = rbrew_read32(cpu->mem, _t455);
|
|
/* 02457DE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[7]);
|
|
/* 02457DE4 */ _t456 = cpu->r[4] + 0x00000014u;
|
|
/* 02457DE4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t456);
|
|
/* 02457DE8 */ _t457 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02457DE8 */ _t458 = _t457 & 0x00000001u;
|
|
/* 02457DE8 */ if (_t458) goto L_02457DF0; else goto L_02457DEC;
|
|
L_02457DEC: ; // 0x2457dec
|
|
/* 02457DEC */ cpu->r[28] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_02457DF0: ; // 0x2457df0
|
|
/* 02457DF0 */ cpu->ctr = cpu->r[5];
|
|
/* 02457DF4 */ cpu->r[3] = cpu->r[29] + 0x000000A4u;
|
|
/* 02457DF8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02457DFC */ _t459 = cpu->r[29] + 0x000000A4u;
|
|
/* 02457DFC */ cpu->r[4] = rbrew_read32(cpu->mem, _t459);
|
|
/* 02457E00 */ cpu->r[3] = cpu->r[27];
|
|
/* 02457E04 */ cpu->r[5] = cpu->r[28];
|
|
/* 02457E08 */ cpu->r[6] = 0x00000000u;
|
|
/* 02457E0C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02457E10 */ _t460 = cpu->r[27] + cpu->r[28];
|
|
/* 02457E10 */ rbrew_write8(cpu->mem, _t460, (uint8_t)cpu->r[30]);
|
|
/* 02457E14 */ _t461 = cpu->r[29] + 0x000000F4u;
|
|
/* 02457E14 */ cpu->r[6] = rbrew_read32(cpu->mem, _t461);
|
|
/* 02457E18 */ _t462 = cpu->r[6] + 0x00000014u;
|
|
/* 02457E18 */ cpu->r[7] = rbrew_read32(cpu->mem, _t462);
|
|
/* 02457E1C */ cpu->ctr = cpu->r[7];
|
|
/* 02457E20 */ _t463 = cpu->r[1] + 0x000000F8u;
|
|
/* 02457E20 */ cpu->r[27] = rbrew_read32(cpu->mem, _t463);
|
|
/* 02457E24 */ cpu->r[3] = cpu->r[29] + 0x000000F0u;
|
|
/* 02457E28 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02457E2C */ _t464 = cpu->r[29] + 0x000000F0u;
|
|
/* 02457E2C */ cpu->r[11] = rbrew_read32(cpu->mem, _t464);
|
|
/* 02457E30 */ cpu->r[6] = cpu->r[30];
|
|
/* 02457E34 */ _t465 = cpu->r[11] + 0x00000000u;
|
|
/* 02457E34 */ cpu->r[0] = rbrew_read8(cpu->mem, _t465);
|
|
/* 02457E38 */ cpu->r[28] = 0x00000000u;
|
|
/* 02457E3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[6]);
|
|
/* 02457E40 */ cpu->r[5] = 0x00080000u;
|
|
/* 02457E44 */ _t466 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02457E44 */ _t467 = _t466 & 0x00000001u;
|
|
/* 02457E44 */ if (_t467) goto L_02457E6C; else goto L_02457E48;
|
|
L_02457E48: ; // 0x2457e48
|
|
/* 02457E48 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02457E4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[5]);
|
|
/* 02457E50 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02457E54 */ _t468 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02457E54 */ _t469 = _t468 & 0x00000001u;
|
|
/* 02457E54 */ if (_t469) goto L_02457E68; else goto L_02457E58;
|
|
L_02457E58: ; // 0x2457e58
|
|
/* 02457E58 */ _t470 = cpu->r[11] + 0x00000000u;
|
|
/* 02457E58 */ cpu->r[9] = rbrew_read8(cpu->mem, _t470);
|
|
/* 02457E5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[6]);
|
|
/* 02457E60 */ _t471 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02457E60 */ _t472 = _t471 & 0x00000001u;
|
|
/* 02457E60 */ if (_t472) goto L_02457E64; else goto L_02457E48;
|
|
L_02457E64: ; // 0x2457e64
|
|
/* 02457E64 */ goto L_02457E6C;
|
|
L_02457E68: ; // 0x2457e68
|
|
/* 02457E68 */ cpu->r[28] = 0x00000000u;
|
|
L_02457E6C: ; // 0x2457e6c
|
|
/* 02457E6C */ _t473 = cpu->r[1] + 0x00000100u;
|
|
/* 02457E6C */ cpu->r[8] = rbrew_read32(cpu->mem, _t473);
|
|
/* 02457E70 */ _t474 = cpu->r[29] + 0x000000F4u;
|
|
/* 02457E70 */ cpu->r[10] = rbrew_read32(cpu->mem, _t474);
|
|
/* 02457E74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[8]);
|
|
/* 02457E78 */ _t475 = cpu->r[10] + 0x00000014u;
|
|
/* 02457E78 */ cpu->r[11] = rbrew_read32(cpu->mem, _t475);
|
|
/* 02457E7C */ _t476 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02457E7C */ _t477 = _t476 & 0x00000001u;
|
|
/* 02457E7C */ if (_t477) goto L_02457E84; else goto L_02457E80;
|
|
L_02457E80: ; // 0x2457e80
|
|
/* 02457E80 */ cpu->r[28] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_02457E84: ; // 0x2457e84
|
|
/* 02457E84 */ cpu->ctr = cpu->r[11];
|
|
/* 02457E88 */ cpu->r[3] = cpu->r[29] + 0x000000F0u;
|
|
/* 02457E8C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02457E90 */ _t478 = cpu->r[29] + 0x000000F0u;
|
|
/* 02457E90 */ cpu->r[4] = rbrew_read32(cpu->mem, _t478);
|
|
/* 02457E94 */ cpu->r[6] = 0x00000000u;
|
|
/* 02457E98 */ cpu->r[5] = cpu->r[28];
|
|
/* 02457E9C */ cpu->r[3] = cpu->r[27];
|
|
/* 02457EA0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02457EA4 */ _t479 = cpu->r[27] + cpu->r[28];
|
|
/* 02457EA4 */ rbrew_write8(cpu->mem, _t479, (uint8_t)cpu->r[30]);
|
|
/* 02457EA8 */ _t480 = cpu->r[29] + 0x0000013Cu;
|
|
/* 02457EA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t480);
|
|
/* 02457EAC */ _t481 = cpu->r[1] + 0x00000144u;
|
|
/* 02457EAC */ rbrew_write32(cpu->mem, _t481, cpu->r[0]);
|
|
/* 02457EB0 */ _t482 = cpu->r[29] + 0x00000140u;
|
|
/* 02457EB0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t482);
|
|
/* 02457EB4 */ cpu->r[24] = 0x00000003u;
|
|
/* 02457EB8 */ cpu->r[25] = 0x00000000u;
|
|
/* 02457EBC */ _t483 = cpu->r[1] + 0x00000148u;
|
|
/* 02457EBC */ rbrew_write32(cpu->mem, _t483, cpu->r[4]);
|
|
/* 02457EC0 */ _t484 = cpu->r[29] + 0x00000144u;
|
|
/* 02457EC0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t484);
|
|
/* 02457EC4 */ cpu->r[16] = cpu->r[29] + 0x00000148u;
|
|
/* 02457EC8 */ cpu->r[27] = cpu->r[31];
|
|
/* 02457ECC */ cpu->r[26] = cpu->r[30];
|
|
/* 02457ED0 */ _t485 = cpu->r[1] + 0x0000014Cu;
|
|
/* 02457ED0 */ rbrew_write32(cpu->mem, _t485, cpu->r[5]);
|
|
L_02457ED4: ; // 0x2457ed4
|
|
/* 02457ED4 */ cpu->r[20] = cpu->r[16] + cpu->r[25];
|
|
/* 02457ED8 */ _t486 = cpu->r[20] + 0x00000004u;
|
|
/* 02457ED8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t486);
|
|
/* 02457EDC */ _t487 = cpu->r[6] + 0x00000014u;
|
|
/* 02457EDC */ cpu->r[7] = rbrew_read32(cpu->mem, _t487);
|
|
/* 02457EE0 */ cpu->r[18] = cpu->r[27];
|
|
/* 02457EE4 */ cpu->ctr = cpu->r[7];
|
|
/* 02457EE8 */ _t488 = cpu->r[18] + 0x00000000u;
|
|
/* 02457EE8 */ cpu->r[22] = rbrew_read32(cpu->mem, _t488);
|
|
/* 02457EEC */ cpu->r[3] = cpu->r[20];
|
|
/* 02457EF0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02457EF4 */ _t489 = cpu->r[20] + 0x00000000u;
|
|
/* 02457EF4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t489);
|
|
/* 02457EF8 */ _t490 = cpu->r[5] + 0x00000000u;
|
|
/* 02457EF8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t490);
|
|
/* 02457EFC */ cpu->r[28] = 0x00000000u;
|
|
/* 02457F00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[26]);
|
|
/* 02457F04 */ cpu->r[7] = 0x00080000u;
|
|
/* 02457F08 */ _t491 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02457F08 */ _t492 = _t491 & 0x00000001u;
|
|
/* 02457F08 */ if (_t492) goto L_02457F30; else goto L_02457F0C;
|
|
L_02457F0C: ; // 0x2457f0c
|
|
/* 02457F0C */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02457F10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[7]);
|
|
/* 02457F14 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02457F18 */ _t493 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02457F18 */ _t494 = _t493 & 0x00000001u;
|
|
/* 02457F18 */ if (_t494) goto L_02457F2C; else goto L_02457F1C;
|
|
L_02457F1C: ; // 0x2457f1c
|
|
/* 02457F1C */ _t495 = cpu->r[5] + 0x00000000u;
|
|
/* 02457F1C */ cpu->r[9] = rbrew_read8(cpu->mem, _t495);
|
|
/* 02457F20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[26]);
|
|
/* 02457F24 */ _t496 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02457F24 */ _t497 = _t496 & 0x00000001u;
|
|
/* 02457F24 */ if (_t497) goto L_02457F28; else goto L_02457F0C;
|
|
L_02457F28: ; // 0x2457f28
|
|
/* 02457F28 */ goto L_02457F30;
|
|
L_02457F2C: ; // 0x2457f2c
|
|
/* 02457F2C */ cpu->r[28] = 0x00000000u;
|
|
L_02457F30: ; // 0x2457f30
|
|
/* 02457F30 */ _t498 = cpu->r[18] + 0x00000008u;
|
|
/* 02457F30 */ cpu->r[6] = rbrew_read32(cpu->mem, _t498);
|
|
/* 02457F34 */ _t499 = cpu->r[20] + 0x00000004u;
|
|
/* 02457F34 */ cpu->r[10] = rbrew_read32(cpu->mem, _t499);
|
|
/* 02457F38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[6]);
|
|
/* 02457F3C */ _t500 = cpu->r[10] + 0x00000014u;
|
|
/* 02457F3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t500);
|
|
/* 02457F40 */ _t501 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02457F40 */ _t502 = _t501 & 0x00000001u;
|
|
/* 02457F40 */ if (_t502) goto L_02457F48; else goto L_02457F44;
|
|
L_02457F44: ; // 0x2457f44
|
|
/* 02457F44 */ cpu->r[28] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_02457F48: ; // 0x2457f48
|
|
/* 02457F48 */ cpu->ctr = cpu->r[11];
|
|
/* 02457F4C */ cpu->r[3] = cpu->r[20];
|
|
/* 02457F50 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02457F54 */ _t503 = cpu->r[20] + 0x00000000u;
|
|
/* 02457F54 */ cpu->r[4] = rbrew_read32(cpu->mem, _t503);
|
|
/* 02457F58 */ cpu->r[6] = 0x00000000u;
|
|
/* 02457F5C */ cpu->r[5] = cpu->r[28];
|
|
/* 02457F60 */ cpu->r[3] = cpu->r[22];
|
|
/* 02457F64 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02457F68 */ _t504 = cpu->r[22] + cpu->r[28];
|
|
/* 02457F68 */ rbrew_write8(cpu->mem, _t504, (uint8_t)cpu->r[26]);
|
|
/* 02457F6C */ _t505 = cpu->r[20] + 0x0000004Cu;
|
|
/* 02457F6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t505);
|
|
/* 02457F70 */ cpu->r[27] = cpu->r[27] + 0x00000050u;
|
|
/* 02457F74 */ cpu->r[24] = cpu->r[24] + 0xFFFFFFFFu;
|
|
/* 02457F74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02457F78 */ cpu->r[25] = cpu->r[25] + 0x00000050u;
|
|
/* 02457F7C */ _t506 = cpu->r[18] + 0x0000004Cu;
|
|
/* 02457F7C */ rbrew_write32(cpu->mem, _t506, cpu->r[0]);
|
|
/* 02457F80 */ _t507 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02457F80 */ _t508 = _t507 & 0x00000001u;
|
|
/* 02457F80 */ if (_t508) goto L_02457F84; else goto L_02457ED4;
|
|
L_02457F84: ; // 0x2457f84
|
|
/* 02457F84 */ _t509 = cpu->r[17] + 0x00000000u;
|
|
/* 02457F84 */ cpu->r[4] = rbrew_read32(cpu->mem, _t509);
|
|
/* 02457F88 */ _t510 = cpu->r[29] + 0x00000000u;
|
|
/* 02457F88 */ rbrew_write32(cpu->mem, _t510, cpu->r[4]);
|
|
/* 02457F8C */ _t511 = cpu->r[17] + 0x00000004u;
|
|
/* 02457F8C */ cpu->r[5] = rbrew_read32(cpu->mem, _t511);
|
|
/* 02457F90 */ _t512 = cpu->r[29] + 0x00000004u;
|
|
/* 02457F90 */ rbrew_write32(cpu->mem, _t512, cpu->r[5]);
|
|
/* 02457F94 */ _t513 = cpu->r[17] + 0x00000008u;
|
|
/* 02457F94 */ cpu->r[6] = rbrew_read32(cpu->mem, _t513);
|
|
/* 02457F98 */ _t514 = cpu->r[29] + 0x00000008u;
|
|
/* 02457F98 */ rbrew_write32(cpu->mem, _t514, cpu->r[6]);
|
|
/* 02457F9C */ _t515 = cpu->r[17] + 0x00000010u;
|
|
/* 02457F9C */ cpu->r[7] = rbrew_read32(cpu->mem, _t515);
|
|
/* 02457FA0 */ _t516 = cpu->r[7] + 0x00000014u;
|
|
/* 02457FA0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t516);
|
|
/* 02457FA4 */ cpu->ctr = cpu->r[8];
|
|
/* 02457FA8 */ _t517 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02457FA8 */ cpu->r[27] = rbrew_read32(cpu->mem, _t517);
|
|
/* 02457FAC */ cpu->r[3] = cpu->r[17] + 0x0000000Cu;
|
|
/* 02457FB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02457FB4 */ _t518 = cpu->r[17] + 0x0000000Cu;
|
|
/* 02457FB4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t518);
|
|
/* 02457FB8 */ cpu->r[5] = cpu->r[30];
|
|
/* 02457FBC */ _t519 = cpu->r[9] + 0x00000000u;
|
|
/* 02457FBC */ cpu->r[0] = rbrew_read8(cpu->mem, _t519);
|
|
/* 02457FC0 */ cpu->r[28] = 0x00000000u;
|
|
/* 02457FC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[5]);
|
|
/* 02457FC8 */ cpu->r[0] = 0x00080000u;
|
|
/* 02457FCC */ _t520 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02457FCC */ _t521 = _t520 & 0x00000001u;
|
|
/* 02457FCC */ if (_t521) goto L_02457FF4; else goto L_02457FD0;
|
|
L_02457FD0: ; // 0x2457fd0
|
|
/* 02457FD0 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02457FD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]);
|
|
/* 02457FD8 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02457FDC */ _t522 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02457FDC */ _t523 = _t522 & 0x00000001u;
|
|
/* 02457FDC */ if (_t523) goto L_02457FF0; else goto L_02457FE0;
|
|
L_02457FE0: ; // 0x2457fe0
|
|
/* 02457FE0 */ _t524 = cpu->r[9] + 0x00000000u;
|
|
/* 02457FE0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t524);
|
|
/* 02457FE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[5]);
|
|
/* 02457FE8 */ _t525 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02457FE8 */ _t526 = _t525 & 0x00000001u;
|
|
/* 02457FE8 */ if (_t526) goto L_02457FEC; else goto L_02457FD0;
|
|
L_02457FEC: ; // 0x2457fec
|
|
/* 02457FEC */ goto L_02457FF4;
|
|
L_02457FF0: ; // 0x2457ff0
|
|
/* 02457FF0 */ cpu->r[28] = 0x00000000u;
|
|
L_02457FF4: ; // 0x2457ff4
|
|
/* 02457FF4 */ _t527 = cpu->r[29] + 0x00000014u;
|
|
/* 02457FF4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t527);
|
|
/* 02457FF8 */ _t528 = cpu->r[17] + 0x00000010u;
|
|
/* 02457FF8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t528);
|
|
/* 02457FFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[7]);
|
|
/* 02458000 */ _t529 = cpu->r[11] + 0x00000014u;
|
|
/* 02458000 */ cpu->r[4] = rbrew_read32(cpu->mem, _t529);
|
|
/* 02458004 */ _t530 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02458004 */ _t531 = _t530 & 0x00000001u;
|
|
/* 02458004 */ if (_t531) goto L_0245800C; else goto L_02458008;
|
|
L_02458008: ; // 0x2458008
|
|
/* 02458008 */ cpu->r[28] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_0245800C: ; // 0x245800c
|
|
/* 0245800C */ cpu->ctr = cpu->r[4];
|
|
/* 02458010 */ cpu->r[3] = cpu->r[17] + 0x0000000Cu;
|
|
/* 02458014 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02458018 */ _t532 = cpu->r[17] + 0x0000000Cu;
|
|
/* 02458018 */ cpu->r[4] = rbrew_read32(cpu->mem, _t532);
|
|
/* 0245801C */ cpu->r[3] = cpu->r[27];
|
|
/* 02458020 */ cpu->r[5] = cpu->r[28];
|
|
/* 02458024 */ cpu->r[6] = 0x00000000u;
|
|
/* 02458028 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0245802C */ _t533 = cpu->r[27] + cpu->r[28];
|
|
/* 0245802C */ rbrew_write8(cpu->mem, _t533, (uint8_t)cpu->r[30]);
|
|
/* 02458030 */ _t534 = cpu->r[17] + 0x0000005Cu;
|
|
/* 02458030 */ cpu->r[5] = rbrew_read32(cpu->mem, _t534);
|
|
/* 02458034 */ _t535 = cpu->r[5] + 0x00000014u;
|
|
/* 02458034 */ cpu->r[6] = rbrew_read32(cpu->mem, _t535);
|
|
/* 02458038 */ cpu->ctr = cpu->r[6];
|
|
/* 0245803C */ _t536 = cpu->r[29] + 0x00000058u;
|
|
/* 0245803C */ cpu->r[27] = rbrew_read32(cpu->mem, _t536);
|
|
/* 02458040 */ cpu->r[3] = cpu->r[17] + 0x00000058u;
|
|
/* 02458044 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02458048 */ _t537 = cpu->r[17] + 0x00000058u;
|
|
/* 02458048 */ cpu->r[11] = rbrew_read32(cpu->mem, _t537);
|
|
/* 0245804C */ cpu->r[4] = cpu->r[30];
|
|
/* 02458050 */ _t538 = cpu->r[11] + 0x00000000u;
|
|
/* 02458050 */ cpu->r[0] = rbrew_read8(cpu->mem, _t538);
|
|
/* 02458054 */ cpu->r[28] = 0x00000000u;
|
|
/* 02458058 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 0245805C */ cpu->r[6] = 0x00080000u;
|
|
/* 02458060 */ _t539 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458060 */ _t540 = _t539 & 0x00000001u;
|
|
/* 02458060 */ if (_t540) goto L_02458088; else goto L_02458064;
|
|
L_02458064: ; // 0x2458064
|
|
/* 02458064 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02458068 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[6]);
|
|
/* 0245806C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02458070 */ _t541 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02458070 */ _t542 = _t541 & 0x00000001u;
|
|
/* 02458070 */ if (_t542) goto L_02458084; else goto L_02458074;
|
|
L_02458074: ; // 0x2458074
|
|
/* 02458074 */ _t543 = cpu->r[11] + 0x00000000u;
|
|
/* 02458074 */ cpu->r[8] = rbrew_read8(cpu->mem, _t543);
|
|
/* 02458078 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[4]);
|
|
/* 0245807C */ _t544 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245807C */ _t545 = _t544 & 0x00000001u;
|
|
/* 0245807C */ if (_t545) goto L_02458080; else goto L_02458064;
|
|
L_02458080: ; // 0x2458080
|
|
/* 02458080 */ goto L_02458088;
|
|
L_02458084: ; // 0x2458084
|
|
/* 02458084 */ cpu->r[28] = 0x00000000u;
|
|
L_02458088: ; // 0x2458088
|
|
/* 02458088 */ _t546 = cpu->r[29] + 0x00000060u;
|
|
/* 02458088 */ cpu->r[8] = rbrew_read32(cpu->mem, _t546);
|
|
/* 0245808C */ _t547 = cpu->r[17] + 0x0000005Cu;
|
|
/* 0245808C */ cpu->r[9] = rbrew_read32(cpu->mem, _t547);
|
|
/* 02458090 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[8]);
|
|
/* 02458094 */ _t548 = cpu->r[9] + 0x00000014u;
|
|
/* 02458094 */ cpu->r[0] = rbrew_read32(cpu->mem, _t548);
|
|
/* 02458098 */ _t549 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02458098 */ _t550 = _t549 & 0x00000001u;
|
|
/* 02458098 */ if (_t550) goto L_024580A0; else goto L_0245809C;
|
|
L_0245809C: ; // 0x245809c
|
|
/* 0245809C */ cpu->r[28] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_024580A0: ; // 0x24580a0
|
|
/* 024580A0 */ cpu->ctr = cpu->r[0];
|
|
/* 024580A4 */ cpu->r[3] = cpu->r[17] + 0x00000058u;
|
|
/* 024580A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024580AC */ _t551 = cpu->r[17] + 0x00000058u;
|
|
/* 024580AC */ cpu->r[4] = rbrew_read32(cpu->mem, _t551);
|
|
/* 024580B0 */ cpu->r[3] = cpu->r[27];
|
|
/* 024580B4 */ cpu->r[5] = cpu->r[28];
|
|
/* 024580B8 */ cpu->r[6] = 0x00000000u;
|
|
/* 024580BC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 024580C0 */ _t552 = cpu->r[27] + cpu->r[28];
|
|
/* 024580C0 */ rbrew_write8(cpu->mem, _t552, (uint8_t)cpu->r[30]);
|
|
/* 024580C4 */ _t553 = cpu->r[17] + 0x000000A8u;
|
|
/* 024580C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t553);
|
|
/* 024580C8 */ _t554 = cpu->r[11] + 0x00000014u;
|
|
/* 024580C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t554);
|
|
/* 024580CC */ cpu->ctr = cpu->r[0];
|
|
/* 024580D0 */ _t555 = cpu->r[29] + 0x000000A4u;
|
|
/* 024580D0 */ cpu->r[27] = rbrew_read32(cpu->mem, _t555);
|
|
/* 024580D4 */ cpu->r[3] = cpu->r[17] + 0x000000A4u;
|
|
/* 024580D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024580DC */ _t556 = cpu->r[17] + 0x000000A4u;
|
|
/* 024580DC */ cpu->r[7] = rbrew_read32(cpu->mem, _t556);
|
|
/* 024580E0 */ cpu->r[0] = cpu->r[30];
|
|
/* 024580E4 */ _t557 = cpu->r[7] + 0x00000000u;
|
|
/* 024580E4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t557);
|
|
/* 024580E8 */ cpu->r[28] = 0x00000000u;
|
|
/* 024580EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]);
|
|
/* 024580F0 */ cpu->r[8] = 0x00080000u;
|
|
/* 024580F4 */ _t558 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024580F4 */ _t559 = _t558 & 0x00000001u;
|
|
/* 024580F4 */ if (_t559) goto L_0245811C; else goto L_024580F8;
|
|
L_024580F8: ; // 0x24580f8
|
|
/* 024580F8 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 024580FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[8]);
|
|
/* 02458100 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 02458104 */ _t560 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02458104 */ _t561 = _t560 & 0x00000001u;
|
|
/* 02458104 */ if (_t561) goto L_02458118; else goto L_02458108;
|
|
L_02458108: ; // 0x2458108
|
|
/* 02458108 */ _t562 = cpu->r[7] + 0x00000000u;
|
|
/* 02458108 */ cpu->r[6] = rbrew_read8(cpu->mem, _t562);
|
|
/* 0245810C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[0]);
|
|
/* 02458110 */ _t563 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458110 */ _t564 = _t563 & 0x00000001u;
|
|
/* 02458110 */ if (_t564) goto L_02458114; else goto L_024580F8;
|
|
L_02458114: ; // 0x2458114
|
|
/* 02458114 */ goto L_0245811C;
|
|
L_02458118: ; // 0x2458118
|
|
/* 02458118 */ cpu->r[28] = 0x00000000u;
|
|
L_0245811C: ; // 0x245811c
|
|
/* 0245811C */ _t565 = cpu->r[29] + 0x000000ACu;
|
|
/* 0245811C */ cpu->r[9] = rbrew_read32(cpu->mem, _t565);
|
|
/* 02458120 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[9]);
|
|
/* 02458124 */ _t566 = cpu->r[17] + 0x000000A8u;
|
|
/* 02458124 */ cpu->r[8] = rbrew_read32(cpu->mem, _t566);
|
|
/* 02458128 */ _t567 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02458128 */ _t568 = _t567 & 0x00000001u;
|
|
/* 02458128 */ if (_t568) goto L_02458130; else goto L_0245812C;
|
|
L_0245812C: ; // 0x245812c
|
|
/* 0245812C */ cpu->r[28] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_02458130: ; // 0x2458130
|
|
/* 02458130 */ _t569 = cpu->r[8] + 0x00000014u;
|
|
/* 02458130 */ cpu->r[9] = rbrew_read32(cpu->mem, _t569);
|
|
/* 02458134 */ cpu->ctr = cpu->r[9];
|
|
/* 02458138 */ cpu->r[3] = cpu->r[17] + 0x000000A4u;
|
|
/* 0245813C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02458140 */ _t570 = cpu->r[17] + 0x000000A4u;
|
|
/* 02458140 */ cpu->r[4] = rbrew_read32(cpu->mem, _t570);
|
|
/* 02458144 */ cpu->r[3] = cpu->r[27];
|
|
/* 02458148 */ cpu->r[5] = cpu->r[28];
|
|
/* 0245814C */ cpu->r[6] = 0x00000000u;
|
|
/* 02458150 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02458154 */ _t571 = cpu->r[27] + cpu->r[28];
|
|
/* 02458154 */ rbrew_write8(cpu->mem, _t571, (uint8_t)cpu->r[30]);
|
|
/* 02458158 */ _t572 = cpu->r[17] + 0x000000F4u;
|
|
/* 02458158 */ cpu->r[10] = rbrew_read32(cpu->mem, _t572);
|
|
/* 0245815C */ _t573 = cpu->r[10] + 0x00000014u;
|
|
/* 0245815C */ cpu->r[11] = rbrew_read32(cpu->mem, _t573);
|
|
/* 02458160 */ cpu->ctr = cpu->r[11];
|
|
/* 02458164 */ _t574 = cpu->r[29] + 0x000000F0u;
|
|
/* 02458164 */ cpu->r[27] = rbrew_read32(cpu->mem, _t574);
|
|
/* 02458168 */ cpu->r[3] = cpu->r[17] + 0x000000F0u;
|
|
/* 0245816C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02458170 */ _t575 = cpu->r[17] + 0x000000F0u;
|
|
/* 02458170 */ cpu->r[10] = rbrew_read32(cpu->mem, _t575);
|
|
/* 02458174 */ cpu->r[11] = cpu->r[30];
|
|
/* 02458178 */ _t576 = cpu->r[10] + 0x00000000u;
|
|
/* 02458178 */ cpu->r[0] = rbrew_read8(cpu->mem, _t576);
|
|
/* 0245817C */ cpu->r[28] = 0x00000000u;
|
|
/* 02458180 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
|
|
/* 02458184 */ cpu->r[5] = 0x00080000u;
|
|
/* 02458188 */ _t577 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458188 */ _t578 = _t577 & 0x00000001u;
|
|
/* 02458188 */ if (_t578) goto L_024581B0; else goto L_0245818C;
|
|
L_0245818C: ; // 0x245818c
|
|
/* 0245818C */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02458190 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[5]);
|
|
/* 02458194 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02458198 */ _t579 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02458198 */ _t580 = _t579 & 0x00000001u;
|
|
/* 02458198 */ if (_t580) goto L_024581AC; else goto L_0245819C;
|
|
L_0245819C: ; // 0x245819c
|
|
/* 0245819C */ _t581 = cpu->r[10] + 0x00000000u;
|
|
/* 0245819C */ cpu->r[4] = rbrew_read8(cpu->mem, _t581);
|
|
/* 024581A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 024581A4 */ _t582 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024581A4 */ _t583 = _t582 & 0x00000001u;
|
|
/* 024581A4 */ if (_t583) goto L_024581A8; else goto L_0245818C;
|
|
L_024581A8: ; // 0x24581a8
|
|
/* 024581A8 */ goto L_024581B0;
|
|
L_024581AC: ; // 0x24581ac
|
|
/* 024581AC */ cpu->r[28] = 0x00000000u;
|
|
L_024581B0: ; // 0x24581b0
|
|
/* 024581B0 */ _t584 = cpu->r[29] + 0x000000F8u;
|
|
/* 024581B0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t584);
|
|
/* 024581B4 */ _t585 = cpu->r[17] + 0x000000F4u;
|
|
/* 024581B4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t585);
|
|
/* 024581B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[10]);
|
|
/* 024581BC */ _t586 = cpu->r[5] + 0x00000014u;
|
|
/* 024581BC */ cpu->r[6] = rbrew_read32(cpu->mem, _t586);
|
|
/* 024581C0 */ _t587 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024581C0 */ _t588 = _t587 & 0x00000001u;
|
|
/* 024581C0 */ if (_t588) goto L_024581C8; else goto L_024581C4;
|
|
L_024581C4: ; // 0x24581c4
|
|
/* 024581C4 */ cpu->r[28] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_024581C8: ; // 0x24581c8
|
|
/* 024581C8 */ cpu->ctr = cpu->r[6];
|
|
/* 024581CC */ cpu->r[3] = cpu->r[17] + 0x000000F0u;
|
|
/* 024581D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024581D4 */ _t589 = cpu->r[17] + 0x000000F0u;
|
|
/* 024581D4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t589);
|
|
/* 024581D8 */ cpu->r[6] = 0x00000000u;
|
|
/* 024581DC */ cpu->r[5] = cpu->r[28];
|
|
/* 024581E0 */ cpu->r[3] = cpu->r[27];
|
|
/* 024581E4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 024581E8 */ _t590 = cpu->r[27] + cpu->r[28];
|
|
/* 024581E8 */ rbrew_write8(cpu->mem, _t590, (uint8_t)cpu->r[30]);
|
|
/* 024581EC */ _t591 = cpu->r[17] + 0x0000013Cu;
|
|
/* 024581EC */ cpu->r[7] = rbrew_read32(cpu->mem, _t591);
|
|
/* 024581F0 */ _t592 = cpu->r[29] + 0x0000013Cu;
|
|
/* 024581F0 */ rbrew_write32(cpu->mem, _t592, cpu->r[7]);
|
|
/* 024581F4 */ _t593 = cpu->r[17] + 0x00000140u;
|
|
/* 024581F4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t593);
|
|
/* 024581F8 */ cpu->r[25] = 0x00000003u;
|
|
/* 024581FC */ _t594 = cpu->r[29] + 0x00000140u;
|
|
/* 024581FC */ rbrew_write32(cpu->mem, _t594, cpu->r[8]);
|
|
/* 02458200 */ _t595 = cpu->r[17] + 0x00000144u;
|
|
/* 02458200 */ cpu->r[9] = rbrew_read32(cpu->mem, _t595);
|
|
/* 02458204 */ cpu->r[20] = cpu->r[29] + 0x00000148u;
|
|
/* 02458208 */ cpu->r[28] = cpu->r[30];
|
|
/* 0245820C */ cpu->r[26] = 0x00000000u;
|
|
/* 02458210 */ _t596 = cpu->r[29] + 0x00000144u;
|
|
/* 02458210 */ rbrew_write32(cpu->mem, _t596, cpu->r[9]);
|
|
L_02458214: ; // 0x2458214
|
|
/* 02458214 */ cpu->r[22] = cpu->r[21] + cpu->r[26];
|
|
/* 02458218 */ _t597 = cpu->r[22] + 0x00000004u;
|
|
/* 02458218 */ cpu->r[10] = rbrew_read32(cpu->mem, _t597);
|
|
/* 0245821C */ _t598 = cpu->r[10] + 0x00000014u;
|
|
/* 0245821C */ cpu->r[11] = rbrew_read32(cpu->mem, _t598);
|
|
/* 02458220 */ cpu->ctr = cpu->r[11];
|
|
/* 02458224 */ _t599 = cpu->r[20] + cpu->r[26];
|
|
/* 02458224 */ cpu->r[24] = rbrew_read32(cpu->mem, _t599);
|
|
/* 02458228 */ cpu->r[3] = cpu->r[22];
|
|
/* 0245822C */ cpu->r[18] = cpu->r[20] + cpu->r[26];
|
|
/* 02458230 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02458234 */ _t600 = cpu->r[22] + 0x00000000u;
|
|
/* 02458234 */ cpu->r[11] = rbrew_read32(cpu->mem, _t600);
|
|
/* 02458238 */ _t601 = cpu->r[11] + 0x00000000u;
|
|
/* 02458238 */ cpu->r[0] = rbrew_read8(cpu->mem, _t601);
|
|
/* 0245823C */ cpu->r[27] = 0x00000000u;
|
|
/* 02458240 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[28]);
|
|
/* 02458244 */ cpu->r[0] = 0x00080000u;
|
|
/* 02458248 */ _t602 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458248 */ _t603 = _t602 & 0x00000001u;
|
|
/* 02458248 */ if (_t603) goto L_02458270; else goto L_0245824C;
|
|
L_0245824C: ; // 0x245824c
|
|
/* 0245824C */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 02458250 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[0]);
|
|
/* 02458254 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02458258 */ _t604 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02458258 */ _t605 = _t604 & 0x00000001u;
|
|
/* 02458258 */ if (_t605) goto L_0245826C; else goto L_0245825C;
|
|
L_0245825C: ; // 0x245825c
|
|
/* 0245825C */ _t606 = cpu->r[11] + 0x00000000u;
|
|
/* 0245825C */ cpu->r[4] = rbrew_read8(cpu->mem, _t606);
|
|
/* 02458260 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[28]);
|
|
/* 02458264 */ _t607 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458264 */ _t608 = _t607 & 0x00000001u;
|
|
/* 02458264 */ if (_t608) goto L_02458268; else goto L_0245824C;
|
|
L_02458268: ; // 0x2458268
|
|
/* 02458268 */ goto L_02458270;
|
|
L_0245826C: ; // 0x245826c
|
|
/* 0245826C */ cpu->r[27] = 0x00000000u;
|
|
L_02458270: ; // 0x2458270
|
|
/* 02458270 */ _t609 = cpu->r[18] + 0x00000008u;
|
|
/* 02458270 */ cpu->r[11] = rbrew_read32(cpu->mem, _t609);
|
|
/* 02458274 */ _t610 = cpu->r[22] + 0x00000004u;
|
|
/* 02458274 */ cpu->r[5] = rbrew_read32(cpu->mem, _t610);
|
|
/* 02458278 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[11]);
|
|
/* 0245827C */ _t611 = cpu->r[5] + 0x00000014u;
|
|
/* 0245827C */ cpu->r[6] = rbrew_read32(cpu->mem, _t611);
|
|
/* 02458280 */ _t612 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02458280 */ _t613 = _t612 & 0x00000001u;
|
|
/* 02458280 */ if (_t613) goto L_02458288; else goto L_02458284;
|
|
L_02458284: ; // 0x2458284
|
|
/* 02458284 */ cpu->r[27] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_02458288: ; // 0x2458288
|
|
/* 02458288 */ cpu->ctr = cpu->r[6];
|
|
/* 0245828C */ cpu->r[3] = cpu->r[22];
|
|
/* 02458290 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02458294 */ _t614 = cpu->r[22] + 0x00000000u;
|
|
/* 02458294 */ cpu->r[4] = rbrew_read32(cpu->mem, _t614);
|
|
/* 02458298 */ cpu->r[6] = 0x00000000u;
|
|
/* 0245829C */ cpu->r[5] = cpu->r[27];
|
|
/* 024582A0 */ cpu->r[3] = cpu->r[24];
|
|
/* 024582A4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 024582A8 */ _t615 = cpu->r[24] + cpu->r[27];
|
|
/* 024582A8 */ rbrew_write8(cpu->mem, _t615, (uint8_t)cpu->r[28]);
|
|
/* 024582AC */ _t616 = cpu->r[22] + 0x0000004Cu;
|
|
/* 024582AC */ cpu->r[7] = rbrew_read32(cpu->mem, _t616);
|
|
/* 024582B0 */ cpu->r[26] = cpu->r[26] + 0x00000050u;
|
|
/* 024582B4 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 024582B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 024582B8 */ _t617 = cpu->r[18] + 0x0000004Cu;
|
|
/* 024582B8 */ rbrew_write32(cpu->mem, _t617, cpu->r[7]);
|
|
/* 024582BC */ _t618 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024582BC */ _t619 = _t618 & 0x00000001u;
|
|
/* 024582BC */ if (_t619) goto L_024582C0; else goto L_02458214;
|
|
L_024582C0: ; // 0x24582c0
|
|
/* 024582C0 */ cpu->r[14] = cpu->r[14] + 0xFFFFFFFFu;
|
|
/* 024582C4 */ cpu->r[16] = 0x00000002u;
|
|
/* 024582C8 */ cpu->r[29] = cpu->r[29] + 0xFFFFFDC8u;
|
|
/* 024582CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[16], cpu->r[14]);
|
|
/* 024582D0 */ cpu->r[24] = 0x00000001u;
|
|
/* 024582D4 */ _t620 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 024582D4 */ _t621 = _t620 & 0x00000001u;
|
|
/* 024582D4 */ if (_t621) goto L_024586AC; else goto L_024582D8;
|
|
L_024582D8: ; // 0x24582d8
|
|
/* 024582D8 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[16] * (int32_t)0x00000238u);
|
|
/* 024582DC */ cpu->r[4] = cpu->r[17] + cpu->r[4];
|
|
/* 024582E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[16], cpu->r[14]);
|
|
/* 024582E4 */ cpu->r[28] = cpu->r[4] + 0xFFFFFDC8u;
|
|
/* 024582E8 */ _t622 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024582E8 */ _t623 = _t622 & 0x00000001u;
|
|
/* 024582E8 */ if (_t623) goto L_024582EC; else goto L_02458310;
|
|
L_024582EC: ; // 0x24582ec
|
|
/* 024582EC */ cpu->ctr = cpu->r[23];
|
|
/* 024582F0 */ cpu->r[3] = cpu->r[28];
|
|
/* 024582F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024582F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024582FC */ _t624 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024582FC */ _t625 = _t624 & 0x00000001u;
|
|
/* 024582FC */ if (_t625) goto L_02458300; else goto L_02458310;
|
|
L_02458300: ; // 0x2458300
|
|
/* 02458300 */ cpu->r[16] = cpu->r[16] + 0x00000001u;
|
|
/* 02458304 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[16] * (int32_t)0x00000238u);
|
|
/* 02458308 */ cpu->r[4] = cpu->r[17] + cpu->r[4];
|
|
/* 0245830C */ cpu->r[28] = cpu->r[4] + 0xFFFFFDC8u;
|
|
L_02458310: ; // 0x2458310
|
|
/* 02458310 */ cpu->ctr = cpu->r[23];
|
|
/* 02458314 */ cpu->r[4] = cpu->r[28];
|
|
/* 02458318 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0245831C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02458320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02458324 */ _t626 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02458324 */ _t627 = _t626 & 0x00000001u;
|
|
/* 02458324 */ if (_t627) goto L_02458328; else goto L_024586AC;
|
|
L_02458328: ; // 0x2458328
|
|
/* 02458328 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[24] * (int32_t)0x00000238u);
|
|
/* 0245832C */ cpu->r[25] = cpu->r[28];
|
|
/* 02458330 */ _t628 = cpu->r[25] + 0x00000000u;
|
|
/* 02458330 */ cpu->r[5] = rbrew_read32(cpu->mem, _t628);
|
|
/* 02458334 */ cpu->r[9] = cpu->r[17] + cpu->r[0];
|
|
/* 02458338 */ _t629 = cpu->r[9] + 0xFFFFFDC8u;
|
|
/* 02458338 */ rbrew_write32(cpu->mem, _t629, cpu->r[5]);
|
|
/* 0245833C */ _t630 = cpu->r[25] + 0x00000004u;
|
|
/* 0245833C */ cpu->r[6] = rbrew_read32(cpu->mem, _t630);
|
|
/* 02458340 */ _t631 = cpu->r[9] + 0xFFFFFDCCu;
|
|
/* 02458340 */ rbrew_write32(cpu->mem, _t631, cpu->r[6]);
|
|
/* 02458344 */ _t632 = cpu->r[25] + 0x00000008u;
|
|
/* 02458344 */ cpu->r[7] = rbrew_read32(cpu->mem, _t632);
|
|
/* 02458348 */ _t633 = cpu->r[9] + 0xFFFFFDD0u;
|
|
/* 02458348 */ rbrew_write32(cpu->mem, _t633, cpu->r[7]);
|
|
/* 0245834C */ _t634 = cpu->r[25] + 0x00000010u;
|
|
/* 0245834C */ cpu->r[10] = rbrew_read32(cpu->mem, _t634);
|
|
/* 02458350 */ _t635 = cpu->r[10] + 0x00000014u;
|
|
/* 02458350 */ cpu->r[0] = rbrew_read32(cpu->mem, _t635);
|
|
/* 02458354 */ cpu->ctr = cpu->r[0];
|
|
/* 02458358 */ _t636 = cpu->r[9] + 0xFFFFFDD4u;
|
|
/* 02458358 */ cpu->r[27] = rbrew_read32(cpu->mem, _t636);
|
|
/* 0245835C */ cpu->r[26] = cpu->r[9] + 0xFFFFFDC8u;
|
|
/* 02458360 */ cpu->r[3] = cpu->r[25] + 0x0000000Cu;
|
|
/* 02458364 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02458368 */ _t637 = cpu->r[25] + 0x0000000Cu;
|
|
/* 02458368 */ cpu->r[5] = rbrew_read32(cpu->mem, _t637);
|
|
/* 0245836C */ cpu->r[0] = cpu->r[30];
|
|
/* 02458370 */ _t638 = cpu->r[5] + 0x00000000u;
|
|
/* 02458370 */ cpu->r[4] = rbrew_read8(cpu->mem, _t638);
|
|
/* 02458374 */ cpu->r[28] = 0x00000000u;
|
|
/* 02458378 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 0245837C */ cpu->r[7] = 0x00080000u;
|
|
/* 02458380 */ _t639 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458380 */ _t640 = _t639 & 0x00000001u;
|
|
/* 02458380 */ if (_t640) goto L_024583A8; else goto L_02458384;
|
|
L_02458384: ; // 0x2458384
|
|
/* 02458384 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02458388 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[7]);
|
|
/* 0245838C */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02458390 */ _t641 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02458390 */ _t642 = _t641 & 0x00000001u;
|
|
/* 02458390 */ if (_t642) goto L_024583A4; else goto L_02458394;
|
|
L_02458394: ; // 0x2458394
|
|
/* 02458394 */ _t643 = cpu->r[5] + 0x00000000u;
|
|
/* 02458394 */ cpu->r[6] = rbrew_read8(cpu->mem, _t643);
|
|
/* 02458398 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[0]);
|
|
/* 0245839C */ _t644 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245839C */ _t645 = _t644 & 0x00000001u;
|
|
/* 0245839C */ if (_t645) goto L_024583A0; else goto L_02458384;
|
|
L_024583A0: ; // 0x24583a0
|
|
/* 024583A0 */ goto L_024583A8;
|
|
L_024583A4: ; // 0x24583a4
|
|
/* 024583A4 */ cpu->r[28] = 0x00000000u;
|
|
L_024583A8: ; // 0x24583a8
|
|
/* 024583A8 */ _t646 = cpu->r[26] + 0x00000014u;
|
|
/* 024583A8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t646);
|
|
/* 024583AC */ _t647 = cpu->r[25] + 0x00000010u;
|
|
/* 024583AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t647);
|
|
/* 024583B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[4]);
|
|
/* 024583B4 */ _t648 = cpu->r[9] + 0x00000014u;
|
|
/* 024583B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t648);
|
|
/* 024583B8 */ _t649 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024583B8 */ _t650 = _t649 & 0x00000001u;
|
|
/* 024583B8 */ if (_t650) goto L_024583C0; else goto L_024583BC;
|
|
L_024583BC: ; // 0x24583bc
|
|
/* 024583BC */ cpu->r[28] = cpu->r[4] + 0xFFFFFFFFu;
|
|
L_024583C0: ; // 0x24583c0
|
|
/* 024583C0 */ cpu->ctr = cpu->r[0];
|
|
/* 024583C4 */ cpu->r[3] = cpu->r[25] + 0x0000000Cu;
|
|
/* 024583C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024583CC */ _t651 = cpu->r[25] + 0x0000000Cu;
|
|
/* 024583CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t651);
|
|
/* 024583D0 */ cpu->r[3] = cpu->r[27];
|
|
/* 024583D4 */ cpu->r[5] = cpu->r[28];
|
|
/* 024583D8 */ cpu->r[6] = 0x00000000u;
|
|
/* 024583DC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 024583E0 */ _t652 = cpu->r[27] + cpu->r[28];
|
|
/* 024583E0 */ rbrew_write8(cpu->mem, _t652, (uint8_t)cpu->r[30]);
|
|
/* 024583E4 */ _t653 = cpu->r[25] + 0x0000005Cu;
|
|
/* 024583E4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t653);
|
|
/* 024583E8 */ _t654 = cpu->r[4] + 0x00000014u;
|
|
/* 024583E8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t654);
|
|
/* 024583EC */ cpu->ctr = cpu->r[6];
|
|
/* 024583F0 */ _t655 = cpu->r[26] + 0x00000058u;
|
|
/* 024583F0 */ cpu->r[27] = rbrew_read32(cpu->mem, _t655);
|
|
/* 024583F4 */ cpu->r[3] = cpu->r[25] + 0x00000058u;
|
|
/* 024583F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024583FC */ _t656 = cpu->r[25] + 0x00000058u;
|
|
/* 024583FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t656);
|
|
/* 02458400 */ cpu->r[8] = cpu->r[30];
|
|
/* 02458404 */ _t657 = cpu->r[9] + 0x00000000u;
|
|
/* 02458404 */ cpu->r[7] = rbrew_read8(cpu->mem, _t657);
|
|
/* 02458408 */ cpu->r[28] = 0x00000000u;
|
|
/* 0245840C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 02458410 */ cpu->r[11] = 0x00080000u;
|
|
/* 02458414 */ _t658 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458414 */ _t659 = _t658 & 0x00000001u;
|
|
/* 02458414 */ if (_t659) goto L_0245843C; else goto L_02458418;
|
|
L_02458418: ; // 0x2458418
|
|
/* 02458418 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 0245841C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[11]);
|
|
/* 02458420 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02458424 */ _t660 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02458424 */ _t661 = _t660 & 0x00000001u;
|
|
/* 02458424 */ if (_t661) goto L_02458438; else goto L_02458428;
|
|
L_02458428: ; // 0x2458428
|
|
/* 02458428 */ _t662 = cpu->r[9] + 0x00000000u;
|
|
/* 02458428 */ cpu->r[0] = rbrew_read8(cpu->mem, _t662);
|
|
/* 0245842C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 02458430 */ _t663 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458430 */ _t664 = _t663 & 0x00000001u;
|
|
/* 02458430 */ if (_t664) goto L_02458434; else goto L_02458418;
|
|
L_02458434: ; // 0x2458434
|
|
/* 02458434 */ goto L_0245843C;
|
|
L_02458438: ; // 0x2458438
|
|
/* 02458438 */ cpu->r[28] = 0x00000000u;
|
|
L_0245843C: ; // 0x245843c
|
|
/* 0245843C */ _t665 = cpu->r[26] + 0x00000060u;
|
|
/* 0245843C */ cpu->r[5] = rbrew_read32(cpu->mem, _t665);
|
|
/* 02458440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[5]);
|
|
/* 02458444 */ _t666 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02458444 */ _t667 = _t666 & 0x00000001u;
|
|
/* 02458444 */ if (_t667) goto L_0245844C; else goto L_02458448;
|
|
L_02458448: ; // 0x2458448
|
|
/* 02458448 */ cpu->r[28] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_0245844C: ; // 0x245844c
|
|
/* 0245844C */ _t668 = cpu->r[25] + 0x0000005Cu;
|
|
/* 0245844C */ cpu->r[5] = rbrew_read32(cpu->mem, _t668);
|
|
/* 02458450 */ _t669 = cpu->r[5] + 0x00000014u;
|
|
/* 02458450 */ cpu->r[0] = rbrew_read32(cpu->mem, _t669);
|
|
/* 02458454 */ cpu->ctr = cpu->r[0];
|
|
/* 02458458 */ cpu->r[3] = cpu->r[25] + 0x00000058u;
|
|
/* 0245845C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02458460 */ _t670 = cpu->r[25] + 0x00000058u;
|
|
/* 02458460 */ cpu->r[4] = rbrew_read32(cpu->mem, _t670);
|
|
/* 02458464 */ cpu->r[3] = cpu->r[27];
|
|
/* 02458468 */ cpu->r[5] = cpu->r[28];
|
|
/* 0245846C */ cpu->r[6] = 0x00000000u;
|
|
/* 02458470 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02458474 */ _t671 = cpu->r[27] + cpu->r[28];
|
|
/* 02458474 */ rbrew_write8(cpu->mem, _t671, (uint8_t)cpu->r[30]);
|
|
/* 02458478 */ _t672 = cpu->r[25] + 0x000000A8u;
|
|
/* 02458478 */ cpu->r[8] = rbrew_read32(cpu->mem, _t672);
|
|
/* 0245847C */ _t673 = cpu->r[8] + 0x00000014u;
|
|
/* 0245847C */ cpu->r[0] = rbrew_read32(cpu->mem, _t673);
|
|
/* 02458480 */ cpu->ctr = cpu->r[0];
|
|
/* 02458484 */ _t674 = cpu->r[26] + 0x000000A4u;
|
|
/* 02458484 */ cpu->r[27] = rbrew_read32(cpu->mem, _t674);
|
|
/* 02458488 */ cpu->r[3] = cpu->r[25] + 0x000000A4u;
|
|
/* 0245848C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02458490 */ _t675 = cpu->r[25] + 0x000000A4u;
|
|
/* 02458490 */ cpu->r[4] = rbrew_read32(cpu->mem, _t675);
|
|
/* 02458494 */ cpu->r[0] = cpu->r[30];
|
|
/* 02458498 */ _t676 = cpu->r[4] + 0x00000000u;
|
|
/* 02458498 */ cpu->r[11] = rbrew_read8(cpu->mem, _t676);
|
|
/* 0245849C */ cpu->r[28] = 0x00000000u;
|
|
/* 024584A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 024584A4 */ cpu->r[6] = 0x00080000u;
|
|
/* 024584A8 */ _t677 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024584A8 */ _t678 = _t677 & 0x00000001u;
|
|
/* 024584A8 */ if (_t678) goto L_024584D0; else goto L_024584AC;
|
|
L_024584AC: ; // 0x24584ac
|
|
/* 024584AC */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 024584B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[6]);
|
|
/* 024584B4 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 024584B8 */ _t679 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 024584B8 */ _t680 = _t679 & 0x00000001u;
|
|
/* 024584B8 */ if (_t680) goto L_024584CC; else goto L_024584BC;
|
|
L_024584BC: ; // 0x24584bc
|
|
/* 024584BC */ _t681 = cpu->r[4] + 0x00000000u;
|
|
/* 024584BC */ cpu->r[5] = rbrew_read8(cpu->mem, _t681);
|
|
/* 024584C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]);
|
|
/* 024584C4 */ _t682 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024584C4 */ _t683 = _t682 & 0x00000001u;
|
|
/* 024584C4 */ if (_t683) goto L_024584C8; else goto L_024584AC;
|
|
L_024584C8: ; // 0x24584c8
|
|
/* 024584C8 */ goto L_024584D0;
|
|
L_024584CC: ; // 0x24584cc
|
|
/* 024584CC */ cpu->r[28] = 0x00000000u;
|
|
L_024584D0: ; // 0x24584d0
|
|
/* 024584D0 */ _t684 = cpu->r[26] + 0x000000ACu;
|
|
/* 024584D0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t684);
|
|
/* 024584D4 */ _t685 = cpu->r[25] + 0x000000A8u;
|
|
/* 024584D4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t685);
|
|
/* 024584D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[6]);
|
|
/* 024584DC */ _t686 = cpu->r[7] + 0x00000014u;
|
|
/* 024584DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t686);
|
|
/* 024584E0 */ _t687 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024584E0 */ _t688 = _t687 & 0x00000001u;
|
|
/* 024584E0 */ if (_t688) goto L_024584E8; else goto L_024584E4;
|
|
L_024584E4: ; // 0x24584e4
|
|
/* 024584E4 */ cpu->r[28] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_024584E8: ; // 0x24584e8
|
|
/* 024584E8 */ cpu->ctr = cpu->r[0];
|
|
/* 024584EC */ cpu->r[3] = cpu->r[25] + 0x000000A4u;
|
|
/* 024584F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024584F4 */ _t689 = cpu->r[25] + 0x000000A4u;
|
|
/* 024584F4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t689);
|
|
/* 024584F8 */ cpu->r[3] = cpu->r[27];
|
|
/* 024584FC */ cpu->r[5] = cpu->r[28];
|
|
/* 02458500 */ cpu->r[6] = 0x00000000u;
|
|
/* 02458504 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02458508 */ _t690 = cpu->r[27] + cpu->r[28];
|
|
/* 02458508 */ rbrew_write8(cpu->mem, _t690, (uint8_t)cpu->r[30]);
|
|
/* 0245850C */ _t691 = cpu->r[25] + 0x000000F4u;
|
|
/* 0245850C */ cpu->r[11] = rbrew_read32(cpu->mem, _t691);
|
|
/* 02458510 */ _t692 = cpu->r[11] + 0x00000014u;
|
|
/* 02458510 */ cpu->r[0] = rbrew_read32(cpu->mem, _t692);
|
|
/* 02458514 */ cpu->ctr = cpu->r[0];
|
|
/* 02458518 */ _t693 = cpu->r[26] + 0x000000F0u;
|
|
/* 02458518 */ cpu->r[27] = rbrew_read32(cpu->mem, _t693);
|
|
/* 0245851C */ cpu->r[3] = cpu->r[25] + 0x000000F0u;
|
|
/* 02458520 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02458524 */ _t694 = cpu->r[25] + 0x000000F0u;
|
|
/* 02458524 */ cpu->r[8] = rbrew_read32(cpu->mem, _t694);
|
|
/* 02458528 */ cpu->r[6] = cpu->r[30];
|
|
/* 0245852C */ _t695 = cpu->r[8] + 0x00000000u;
|
|
/* 0245852C */ cpu->r[5] = rbrew_read8(cpu->mem, _t695);
|
|
/* 02458530 */ cpu->r[28] = 0x00000000u;
|
|
/* 02458534 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[6]);
|
|
/* 02458538 */ cpu->r[10] = 0x00080000u;
|
|
/* 0245853C */ _t696 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245853C */ _t697 = _t696 & 0x00000001u;
|
|
/* 0245853C */ if (_t697) goto L_02458564; else goto L_02458540;
|
|
L_02458540: ; // 0x2458540
|
|
/* 02458540 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02458544 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[10]);
|
|
/* 02458548 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 0245854C */ _t698 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0245854C */ _t699 = _t698 & 0x00000001u;
|
|
/* 0245854C */ if (_t699) goto L_02458560; else goto L_02458550;
|
|
L_02458550: ; // 0x2458550
|
|
/* 02458550 */ _t700 = cpu->r[8] + 0x00000000u;
|
|
/* 02458550 */ cpu->r[0] = rbrew_read8(cpu->mem, _t700);
|
|
/* 02458554 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[6]);
|
|
/* 02458558 */ _t701 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458558 */ _t702 = _t701 & 0x00000001u;
|
|
/* 02458558 */ if (_t702) goto L_0245855C; else goto L_02458540;
|
|
L_0245855C: ; // 0x245855c
|
|
/* 0245855C */ goto L_02458564;
|
|
L_02458560: ; // 0x2458560
|
|
/* 02458560 */ cpu->r[28] = 0x00000000u;
|
|
L_02458564: ; // 0x2458564
|
|
/* 02458564 */ _t703 = cpu->r[26] + 0x000000F8u;
|
|
/* 02458564 */ cpu->r[7] = rbrew_read32(cpu->mem, _t703);
|
|
/* 02458568 */ _t704 = cpu->r[25] + 0x000000F4u;
|
|
/* 02458568 */ cpu->r[8] = rbrew_read32(cpu->mem, _t704);
|
|
/* 0245856C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[7]);
|
|
/* 02458570 */ _t705 = cpu->r[8] + 0x00000014u;
|
|
/* 02458570 */ cpu->r[10] = rbrew_read32(cpu->mem, _t705);
|
|
/* 02458574 */ _t706 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02458574 */ _t707 = _t706 & 0x00000001u;
|
|
/* 02458574 */ if (_t707) goto L_0245857C; else goto L_02458578;
|
|
L_02458578: ; // 0x2458578
|
|
/* 02458578 */ cpu->r[28] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_0245857C: ; // 0x245857c
|
|
/* 0245857C */ cpu->ctr = cpu->r[10];
|
|
/* 02458580 */ cpu->r[3] = cpu->r[25] + 0x000000F0u;
|
|
/* 02458584 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02458588 */ _t708 = cpu->r[25] + 0x000000F0u;
|
|
/* 02458588 */ cpu->r[4] = rbrew_read32(cpu->mem, _t708);
|
|
/* 0245858C */ cpu->r[6] = 0x00000000u;
|
|
/* 02458590 */ cpu->r[5] = cpu->r[28];
|
|
/* 02458594 */ cpu->r[3] = cpu->r[27];
|
|
/* 02458598 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0245859C */ _t709 = cpu->r[27] + cpu->r[28];
|
|
/* 0245859C */ rbrew_write8(cpu->mem, _t709, (uint8_t)cpu->r[30]);
|
|
/* 024585A0 */ _t710 = cpu->r[25] + 0x0000013Cu;
|
|
/* 024585A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t710);
|
|
/* 024585A4 */ _t711 = cpu->r[26] + 0x0000013Cu;
|
|
/* 024585A4 */ rbrew_write32(cpu->mem, _t711, cpu->r[0]);
|
|
/* 024585A8 */ _t712 = cpu->r[25] + 0x00000140u;
|
|
/* 024585A8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t712);
|
|
/* 024585AC */ cpu->r[27] = 0x00000003u;
|
|
/* 024585B0 */ cpu->r[28] = 0x00000000u;
|
|
/* 024585B4 */ _t713 = cpu->r[26] + 0x00000140u;
|
|
/* 024585B4 */ rbrew_write32(cpu->mem, _t713, cpu->r[4]);
|
|
/* 024585B8 */ _t714 = cpu->r[25] + 0x00000144u;
|
|
/* 024585B8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t714);
|
|
/* 024585BC */ cpu->r[18] = cpu->r[25] + 0x00000148u;
|
|
/* 024585C0 */ cpu->r[20] = cpu->r[26] + 0x00000148u;
|
|
/* 024585C4 */ cpu->r[15] = cpu->r[30];
|
|
/* 024585C8 */ _t715 = cpu->r[26] + 0x00000144u;
|
|
/* 024585C8 */ rbrew_write32(cpu->mem, _t715, cpu->r[6]);
|
|
L_024585CC: ; // 0x24585cc
|
|
/* 024585CC */ cpu->r[24] = cpu->r[18] + cpu->r[28];
|
|
/* 024585D0 */ _t716 = cpu->r[24] + 0x00000004u;
|
|
/* 024585D0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t716);
|
|
/* 024585D4 */ _t717 = cpu->r[8] + 0x00000014u;
|
|
/* 024585D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t717);
|
|
/* 024585D8 */ cpu->ctr = cpu->r[0];
|
|
/* 024585DC */ _t718 = cpu->r[20] + cpu->r[28];
|
|
/* 024585DC */ cpu->r[26] = rbrew_read32(cpu->mem, _t718);
|
|
/* 024585E0 */ cpu->r[3] = cpu->r[24];
|
|
/* 024585E4 */ cpu->r[22] = cpu->r[20] + cpu->r[28];
|
|
/* 024585E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024585EC */ _t719 = cpu->r[24] + 0x00000000u;
|
|
/* 024585EC */ cpu->r[7] = rbrew_read32(cpu->mem, _t719);
|
|
/* 024585F0 */ cpu->r[0] = cpu->r[15];
|
|
/* 024585F4 */ _t720 = cpu->r[7] + 0x00000000u;
|
|
/* 024585F4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t720);
|
|
/* 024585F8 */ cpu->r[11] = 0x00000000u;
|
|
/* 024585FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 02458600 */ cpu->r[9] = 0x00080000u;
|
|
/* 02458604 */ _t721 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458604 */ _t722 = _t721 & 0x00000001u;
|
|
/* 02458604 */ if (_t722) goto L_02458648; else goto L_02458608;
|
|
L_02458608: ; // 0x2458608
|
|
/* 02458608 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0245860C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[9]);
|
|
/* 02458610 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 02458614 */ _t723 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02458614 */ _t724 = _t723 & 0x00000001u;
|
|
/* 02458614 */ if (_t724) goto L_0245862C; else goto L_02458618;
|
|
L_02458618: ; // 0x2458618
|
|
/* 02458618 */ _t725 = cpu->r[7] + 0x00000000u;
|
|
/* 02458618 */ cpu->r[4] = rbrew_read8(cpu->mem, _t725);
|
|
/* 0245861C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 02458620 */ _t726 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458620 */ _t727 = _t726 & 0x00000001u;
|
|
/* 02458620 */ if (_t727) goto L_02458624; else goto L_02458608;
|
|
L_02458624: ; // 0x2458624
|
|
/* 02458624 */ cpu->r[25] = cpu->r[11];
|
|
/* 02458628 */ goto L_0245864C;
|
|
L_0245862C: ; // 0x245862c
|
|
/* 0245862C */ _t728 = cpu->r[22] + 0x00000008u;
|
|
/* 0245862C */ cpu->r[8] = rbrew_read32(cpu->mem, _t728);
|
|
/* 02458630 */ _t729 = cpu->r[24] + 0x00000004u;
|
|
/* 02458630 */ cpu->r[6] = rbrew_read32(cpu->mem, _t729);
|
|
/* 02458634 */ cpu->r[25] = 0x00000000u;
|
|
/* 02458638 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[8]);
|
|
/* 0245863C */ _t730 = cpu->r[6] + 0x00000014u;
|
|
/* 0245863C */ cpu->r[7] = rbrew_read32(cpu->mem, _t730);
|
|
/* 02458640 */ _t731 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02458640 */ _t732 = _t731 & 0x00000001u;
|
|
/* 02458640 */ if (_t732) goto L_02458664; else goto L_02458644;
|
|
L_02458644: ; // 0x2458644
|
|
/* 02458644 */ goto L_02458660;
|
|
L_02458648: ; // 0x2458648
|
|
/* 02458648 */ cpu->r[25] = cpu->r[11];
|
|
L_0245864C: ; // 0x245864c
|
|
/* 0245864C */ _t733 = cpu->r[22] + 0x00000008u;
|
|
/* 0245864C */ cpu->r[8] = rbrew_read32(cpu->mem, _t733);
|
|
/* 02458650 */ _t734 = cpu->r[24] + 0x00000004u;
|
|
/* 02458650 */ cpu->r[6] = rbrew_read32(cpu->mem, _t734);
|
|
/* 02458654 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[8]);
|
|
/* 02458658 */ _t735 = cpu->r[6] + 0x00000014u;
|
|
/* 02458658 */ cpu->r[7] = rbrew_read32(cpu->mem, _t735);
|
|
/* 0245865C */ _t736 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245865C */ _t737 = _t736 & 0x00000001u;
|
|
/* 0245865C */ if (_t737) goto L_02458664; else goto L_02458660;
|
|
L_02458660: ; // 0x2458660
|
|
/* 02458660 */ cpu->r[25] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_02458664: ; // 0x2458664
|
|
/* 02458664 */ cpu->ctr = cpu->r[7];
|
|
/* 02458668 */ cpu->r[3] = cpu->r[24];
|
|
/* 0245866C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02458670 */ _t738 = cpu->r[24] + 0x00000000u;
|
|
/* 02458670 */ cpu->r[4] = rbrew_read32(cpu->mem, _t738);
|
|
/* 02458674 */ cpu->r[6] = 0x00000000u;
|
|
/* 02458678 */ cpu->r[5] = cpu->r[25];
|
|
/* 0245867C */ cpu->r[3] = cpu->r[26];
|
|
/* 02458680 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02458684 */ _t739 = cpu->r[26] + cpu->r[25];
|
|
/* 02458684 */ rbrew_write8(cpu->mem, _t739, (uint8_t)cpu->r[15]);
|
|
/* 02458688 */ _t740 = cpu->r[24] + 0x0000004Cu;
|
|
/* 02458688 */ cpu->r[8] = rbrew_read32(cpu->mem, _t740);
|
|
/* 0245868C */ cpu->r[28] = cpu->r[28] + 0x00000050u;
|
|
/* 02458690 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02458690 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02458694 */ _t741 = cpu->r[22] + 0x0000004Cu;
|
|
/* 02458694 */ rbrew_write32(cpu->mem, _t741, cpu->r[8]);
|
|
/* 02458698 */ _t742 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458698 */ _t743 = _t742 & 0x00000001u;
|
|
/* 02458698 */ if (_t743) goto L_0245869C; else goto L_024585CC;
|
|
L_0245869C: ; // 0x245869c
|
|
/* 0245869C */ cpu->r[24] = cpu->r[16];
|
|
/* 024586A0 */ cpu->r[16] = rbrew_rlwinm(cpu->r[24], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 024586A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[16], cpu->r[14]);
|
|
/* 024586A8 */ _t744 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 024586A8 */ _t745 = _t744 & 0x00000001u;
|
|
/* 024586A8 */ if (_t745) goto L_024586AC; else goto L_024582D8;
|
|
L_024586AC: ; // 0x24586ac
|
|
/* 024586AC */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[24] * (int32_t)0x00000238u);
|
|
/* 024586B0 */ _t746 = cpu->r[1] + 0x00000008u;
|
|
/* 024586B0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t746);
|
|
/* 024586B4 */ cpu->r[4] = cpu->r[17] + cpu->r[0];
|
|
/* 024586B8 */ _t747 = cpu->r[4] + 0xFFFFFDC8u;
|
|
/* 024586B8 */ rbrew_write32(cpu->mem, _t747, cpu->r[9]);
|
|
/* 024586BC */ _t748 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024586BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t748);
|
|
/* 024586C0 */ _t749 = cpu->r[4] + 0xFFFFFDCCu;
|
|
/* 024586C0 */ rbrew_write32(cpu->mem, _t749, cpu->r[0]);
|
|
/* 024586C4 */ _t750 = cpu->r[1] + 0x00000010u;
|
|
/* 024586C4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t750);
|
|
/* 024586C8 */ _t751 = cpu->r[4] + 0xFFFFFDD0u;
|
|
/* 024586C8 */ rbrew_write32(cpu->mem, _t751, cpu->r[5]);
|
|
/* 024586CC */ _t752 = cpu->r[1] + 0x00000018u;
|
|
/* 024586CC */ cpu->r[7] = rbrew_read32(cpu->mem, _t752);
|
|
/* 024586D0 */ _t753 = cpu->r[7] + 0x00000014u;
|
|
/* 024586D0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t753);
|
|
/* 024586D4 */ cpu->ctr = cpu->r[8];
|
|
/* 024586D8 */ _t754 = cpu->r[4] + 0xFFFFFDD4u;
|
|
/* 024586D8 */ cpu->r[26] = rbrew_read32(cpu->mem, _t754);
|
|
/* 024586DC */ cpu->r[27] = cpu->r[4] + 0xFFFFFDC8u;
|
|
/* 024586E0 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 024586E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024586E8 */ _t755 = cpu->r[1] + 0x00000014u;
|
|
/* 024586E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t755);
|
|
/* 024586EC */ cpu->r[0] = cpu->r[30];
|
|
/* 024586F0 */ _t756 = cpu->r[9] + 0x00000000u;
|
|
/* 024586F0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t756);
|
|
/* 024586F4 */ cpu->r[28] = 0x00000000u;
|
|
/* 024586F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 024586FC */ cpu->r[11] = 0x00080000u;
|
|
/* 02458700 */ _t757 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458700 */ _t758 = _t757 & 0x00000001u;
|
|
/* 02458700 */ if (_t758) goto L_02458728; else goto L_02458704;
|
|
L_02458704: ; // 0x2458704
|
|
/* 02458704 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02458708 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[11]);
|
|
/* 0245870C */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02458710 */ _t759 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02458710 */ _t760 = _t759 & 0x00000001u;
|
|
/* 02458710 */ if (_t760) goto L_02458724; else goto L_02458714;
|
|
L_02458714: ; // 0x2458714
|
|
/* 02458714 */ _t761 = cpu->r[9] + 0x00000000u;
|
|
/* 02458714 */ cpu->r[4] = rbrew_read8(cpu->mem, _t761);
|
|
/* 02458718 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 0245871C */ _t762 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245871C */ _t763 = _t762 & 0x00000001u;
|
|
/* 0245871C */ if (_t763) goto L_02458720; else goto L_02458704;
|
|
L_02458720: ; // 0x2458720
|
|
/* 02458720 */ goto L_02458728;
|
|
L_02458724: ; // 0x2458724
|
|
/* 02458724 */ cpu->r[28] = 0x00000000u;
|
|
L_02458728: ; // 0x2458728
|
|
/* 02458728 */ _t764 = cpu->r[27] + 0x00000014u;
|
|
/* 02458728 */ cpu->r[9] = rbrew_read32(cpu->mem, _t764);
|
|
/* 0245872C */ _t765 = cpu->r[1] + 0x00000018u;
|
|
/* 0245872C */ cpu->r[6] = rbrew_read32(cpu->mem, _t765);
|
|
/* 02458730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[9]);
|
|
/* 02458734 */ _t766 = cpu->r[6] + 0x00000014u;
|
|
/* 02458734 */ cpu->r[8] = rbrew_read32(cpu->mem, _t766);
|
|
/* 02458738 */ _t767 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02458738 */ _t768 = _t767 & 0x00000001u;
|
|
/* 02458738 */ if (_t768) goto L_02458740; else goto L_0245873C;
|
|
L_0245873C: ; // 0x245873c
|
|
/* 0245873C */ cpu->r[28] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_02458740: ; // 0x2458740
|
|
/* 02458740 */ cpu->ctr = cpu->r[8];
|
|
/* 02458744 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02458748 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245874C */ _t769 = cpu->r[1] + 0x00000014u;
|
|
/* 0245874C */ cpu->r[4] = rbrew_read32(cpu->mem, _t769);
|
|
/* 02458750 */ cpu->r[3] = cpu->r[26];
|
|
/* 02458754 */ cpu->r[5] = cpu->r[28];
|
|
/* 02458758 */ cpu->r[6] = 0x00000000u;
|
|
/* 0245875C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02458760 */ _t770 = cpu->r[26] + cpu->r[28];
|
|
/* 02458760 */ rbrew_write8(cpu->mem, _t770, (uint8_t)cpu->r[30]);
|
|
/* 02458764 */ _t771 = cpu->r[1] + 0x00000064u;
|
|
/* 02458764 */ cpu->r[9] = rbrew_read32(cpu->mem, _t771);
|
|
/* 02458768 */ _t772 = cpu->r[9] + 0x00000014u;
|
|
/* 02458768 */ cpu->r[0] = rbrew_read32(cpu->mem, _t772);
|
|
/* 0245876C */ cpu->ctr = cpu->r[0];
|
|
/* 02458770 */ _t773 = cpu->r[27] + 0x00000058u;
|
|
/* 02458770 */ cpu->r[26] = rbrew_read32(cpu->mem, _t773);
|
|
/* 02458774 */ cpu->r[3] = cpu->r[1] + 0x00000060u;
|
|
/* 02458778 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245877C */ _t774 = cpu->r[1] + 0x00000060u;
|
|
/* 0245877C */ cpu->r[11] = rbrew_read32(cpu->mem, _t774);
|
|
/* 02458780 */ cpu->r[0] = cpu->r[30];
|
|
/* 02458784 */ _t775 = cpu->r[11] + 0x00000000u;
|
|
/* 02458784 */ cpu->r[4] = rbrew_read8(cpu->mem, _t775);
|
|
/* 02458788 */ cpu->r[28] = 0x00000000u;
|
|
/* 0245878C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 02458790 */ cpu->r[5] = 0x00080000u;
|
|
/* 02458794 */ _t776 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458794 */ _t777 = _t776 & 0x00000001u;
|
|
/* 02458794 */ if (_t777) goto L_024587BC; else goto L_02458798;
|
|
L_02458798: ; // 0x2458798
|
|
/* 02458798 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 0245879C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[5]);
|
|
/* 024587A0 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 024587A4 */ _t778 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 024587A4 */ _t779 = _t778 & 0x00000001u;
|
|
/* 024587A4 */ if (_t779) goto L_024587B8; else goto L_024587A8;
|
|
L_024587A8: ; // 0x24587a8
|
|
/* 024587A8 */ _t780 = cpu->r[11] + 0x00000000u;
|
|
/* 024587A8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t780);
|
|
/* 024587AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[0]);
|
|
/* 024587B0 */ _t781 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024587B0 */ _t782 = _t781 & 0x00000001u;
|
|
/* 024587B0 */ if (_t782) goto L_024587B4; else goto L_02458798;
|
|
L_024587B4: ; // 0x24587b4
|
|
/* 024587B4 */ goto L_024587BC;
|
|
L_024587B8: ; // 0x24587b8
|
|
/* 024587B8 */ cpu->r[28] = 0x00000000u;
|
|
L_024587BC: ; // 0x24587bc
|
|
/* 024587BC */ _t783 = cpu->r[27] + 0x00000060u;
|
|
/* 024587BC */ cpu->r[10] = rbrew_read32(cpu->mem, _t783);
|
|
/* 024587C0 */ _t784 = cpu->r[1] + 0x00000064u;
|
|
/* 024587C0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t784);
|
|
/* 024587C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[10]);
|
|
/* 024587C8 */ _t785 = cpu->r[7] + 0x00000014u;
|
|
/* 024587C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t785);
|
|
/* 024587CC */ _t786 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024587CC */ _t787 = _t786 & 0x00000001u;
|
|
/* 024587CC */ if (_t787) goto L_024587D4; else goto L_024587D0;
|
|
L_024587D0: ; // 0x24587d0
|
|
/* 024587D0 */ cpu->r[28] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_024587D4: ; // 0x24587d4
|
|
/* 024587D4 */ cpu->ctr = cpu->r[9];
|
|
/* 024587D8 */ cpu->r[3] = cpu->r[1] + 0x00000060u;
|
|
/* 024587DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024587E0 */ _t788 = cpu->r[1] + 0x00000060u;
|
|
/* 024587E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t788);
|
|
/* 024587E4 */ cpu->r[3] = cpu->r[26];
|
|
/* 024587E8 */ cpu->r[5] = cpu->r[28];
|
|
/* 024587EC */ cpu->r[6] = 0x00000000u;
|
|
/* 024587F0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 024587F4 */ _t789 = cpu->r[26] + cpu->r[28];
|
|
/* 024587F4 */ rbrew_write8(cpu->mem, _t789, (uint8_t)cpu->r[30]);
|
|
/* 024587F8 */ _t790 = cpu->r[1] + 0x000000B0u;
|
|
/* 024587F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t790);
|
|
/* 024587FC */ _t791 = cpu->r[11] + 0x00000014u;
|
|
/* 024587FC */ cpu->r[5] = rbrew_read32(cpu->mem, _t791);
|
|
/* 02458800 */ cpu->ctr = cpu->r[5];
|
|
/* 02458804 */ _t792 = cpu->r[27] + 0x000000A4u;
|
|
/* 02458804 */ cpu->r[26] = rbrew_read32(cpu->mem, _t792);
|
|
/* 02458808 */ cpu->r[3] = cpu->r[1] + 0x000000ACu;
|
|
/* 0245880C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02458810 */ _t793 = cpu->r[1] + 0x000000ACu;
|
|
/* 02458810 */ cpu->r[5] = rbrew_read32(cpu->mem, _t793);
|
|
/* 02458814 */ cpu->r[8] = cpu->r[30];
|
|
/* 02458818 */ _t794 = cpu->r[5] + 0x00000000u;
|
|
/* 02458818 */ cpu->r[7] = rbrew_read8(cpu->mem, _t794);
|
|
/* 0245881C */ cpu->r[28] = 0x00000000u;
|
|
/* 02458820 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 02458824 */ cpu->r[0] = 0x00080000u;
|
|
/* 02458828 */ _t795 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458828 */ _t796 = _t795 & 0x00000001u;
|
|
/* 02458828 */ if (_t796) goto L_02458850; else goto L_0245882C;
|
|
L_0245882C: ; // 0x245882c
|
|
/* 0245882C */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02458830 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]);
|
|
/* 02458834 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02458838 */ _t797 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02458838 */ _t798 = _t797 & 0x00000001u;
|
|
/* 02458838 */ if (_t798) goto L_0245884C; else goto L_0245883C;
|
|
L_0245883C: ; // 0x245883c
|
|
/* 0245883C */ _t799 = cpu->r[5] + 0x00000000u;
|
|
/* 0245883C */ cpu->r[9] = rbrew_read8(cpu->mem, _t799);
|
|
/* 02458840 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[8]);
|
|
/* 02458844 */ _t800 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458844 */ _t801 = _t800 & 0x00000001u;
|
|
/* 02458844 */ if (_t801) goto L_02458848; else goto L_0245882C;
|
|
L_02458848: ; // 0x2458848
|
|
/* 02458848 */ goto L_02458850;
|
|
L_0245884C: ; // 0x245884c
|
|
/* 0245884C */ cpu->r[28] = 0x00000000u;
|
|
L_02458850: ; // 0x2458850
|
|
/* 02458850 */ _t802 = cpu->r[27] + 0x000000ACu;
|
|
/* 02458850 */ cpu->r[11] = rbrew_read32(cpu->mem, _t802);
|
|
/* 02458854 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[11]);
|
|
/* 02458858 */ _t803 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02458858 */ _t804 = _t803 & 0x00000001u;
|
|
/* 02458858 */ if (_t804) goto L_02458860; else goto L_0245885C;
|
|
L_0245885C: ; // 0x245885c
|
|
/* 0245885C */ cpu->r[28] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_02458860: ; // 0x2458860
|
|
/* 02458860 */ _t805 = cpu->r[1] + 0x000000B0u;
|
|
/* 02458860 */ cpu->r[11] = rbrew_read32(cpu->mem, _t805);
|
|
/* 02458864 */ _t806 = cpu->r[11] + 0x00000014u;
|
|
/* 02458864 */ cpu->r[4] = rbrew_read32(cpu->mem, _t806);
|
|
/* 02458868 */ cpu->ctr = cpu->r[4];
|
|
/* 0245886C */ cpu->r[3] = cpu->r[1] + 0x000000ACu;
|
|
/* 02458870 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02458874 */ _t807 = cpu->r[1] + 0x000000ACu;
|
|
/* 02458874 */ cpu->r[4] = rbrew_read32(cpu->mem, _t807);
|
|
/* 02458878 */ cpu->r[3] = cpu->r[26];
|
|
/* 0245887C */ cpu->r[5] = cpu->r[28];
|
|
/* 02458880 */ cpu->r[6] = 0x00000000u;
|
|
/* 02458884 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02458888 */ _t808 = cpu->r[26] + cpu->r[28];
|
|
/* 02458888 */ rbrew_write8(cpu->mem, _t808, (uint8_t)cpu->r[30]);
|
|
/* 0245888C */ _t809 = cpu->r[1] + 0x000000FCu;
|
|
/* 0245888C */ cpu->r[5] = rbrew_read32(cpu->mem, _t809);
|
|
/* 02458890 */ _t810 = cpu->r[5] + 0x00000014u;
|
|
/* 02458890 */ cpu->r[6] = rbrew_read32(cpu->mem, _t810);
|
|
/* 02458894 */ cpu->ctr = cpu->r[6];
|
|
/* 02458898 */ _t811 = cpu->r[27] + 0x000000F0u;
|
|
/* 02458898 */ cpu->r[26] = rbrew_read32(cpu->mem, _t811);
|
|
/* 0245889C */ cpu->r[3] = cpu->r[1] + 0x000000F8u;
|
|
/* 024588A0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024588A4 */ _t812 = cpu->r[1] + 0x000000F8u;
|
|
/* 024588A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t812);
|
|
/* 024588A8 */ cpu->r[7] = cpu->r[30];
|
|
/* 024588AC */ _t813 = cpu->r[8] + 0x00000000u;
|
|
/* 024588AC */ cpu->r[9] = rbrew_read8(cpu->mem, _t813);
|
|
/* 024588B0 */ cpu->r[28] = 0x00000000u;
|
|
/* 024588B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[7]);
|
|
/* 024588B8 */ cpu->r[0] = 0x00080000u;
|
|
/* 024588BC */ _t814 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024588BC */ _t815 = _t814 & 0x00000001u;
|
|
/* 024588BC */ if (_t815) goto L_024588E4; else goto L_024588C0;
|
|
L_024588C0: ; // 0x24588c0
|
|
/* 024588C0 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 024588C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]);
|
|
/* 024588C8 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 024588CC */ _t816 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 024588CC */ _t817 = _t816 & 0x00000001u;
|
|
/* 024588CC */ if (_t817) goto L_024588E0; else goto L_024588D0;
|
|
L_024588D0: ; // 0x24588d0
|
|
/* 024588D0 */ _t818 = cpu->r[8] + 0x00000000u;
|
|
/* 024588D0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t818);
|
|
/* 024588D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[7]);
|
|
/* 024588D8 */ _t819 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024588D8 */ _t820 = _t819 & 0x00000001u;
|
|
/* 024588D8 */ if (_t820) goto L_024588DC; else goto L_024588C0;
|
|
L_024588DC: ; // 0x24588dc
|
|
/* 024588DC */ goto L_024588E4;
|
|
L_024588E0: ; // 0x24588e0
|
|
/* 024588E0 */ cpu->r[28] = 0x00000000u;
|
|
L_024588E4: ; // 0x24588e4
|
|
/* 024588E4 */ _t821 = cpu->r[27] + 0x000000F8u;
|
|
/* 024588E4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t821);
|
|
/* 024588E8 */ _t822 = cpu->r[1] + 0x000000FCu;
|
|
/* 024588E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t822);
|
|
/* 024588EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[4]);
|
|
/* 024588F0 */ _t823 = cpu->r[11] + 0x00000014u;
|
|
/* 024588F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t823);
|
|
/* 024588F4 */ _t824 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024588F4 */ _t825 = _t824 & 0x00000001u;
|
|
/* 024588F4 */ if (_t825) goto L_024588FC; else goto L_024588F8;
|
|
L_024588F8: ; // 0x24588f8
|
|
/* 024588F8 */ cpu->r[28] = cpu->r[4] + 0xFFFFFFFFu;
|
|
L_024588FC: ; // 0x24588fc
|
|
/* 024588FC */ cpu->ctr = cpu->r[0];
|
|
/* 02458900 */ cpu->r[3] = cpu->r[1] + 0x000000F8u;
|
|
/* 02458904 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02458908 */ _t826 = cpu->r[1] + 0x000000F8u;
|
|
/* 02458908 */ cpu->r[4] = rbrew_read32(cpu->mem, _t826);
|
|
/* 0245890C */ cpu->r[6] = 0x00000000u;
|
|
/* 02458910 */ cpu->r[5] = cpu->r[28];
|
|
/* 02458914 */ cpu->r[3] = cpu->r[26];
|
|
/* 02458918 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0245891C */ _t827 = cpu->r[26] + cpu->r[28];
|
|
/* 0245891C */ rbrew_write8(cpu->mem, _t827, (uint8_t)cpu->r[30]);
|
|
/* 02458920 */ _t828 = cpu->r[1] + 0x00000144u;
|
|
/* 02458920 */ cpu->r[5] = rbrew_read32(cpu->mem, _t828);
|
|
/* 02458924 */ _t829 = cpu->r[27] + 0x0000013Cu;
|
|
/* 02458924 */ rbrew_write32(cpu->mem, _t829, cpu->r[5]);
|
|
/* 02458928 */ _t830 = cpu->r[1] + 0x00000148u;
|
|
/* 02458928 */ cpu->r[7] = rbrew_read32(cpu->mem, _t830);
|
|
/* 0245892C */ cpu->r[24] = 0x00000003u;
|
|
/* 02458930 */ cpu->r[25] = 0x00000000u;
|
|
/* 02458934 */ _t831 = cpu->r[27] + 0x00000140u;
|
|
/* 02458934 */ rbrew_write32(cpu->mem, _t831, cpu->r[7]);
|
|
/* 02458938 */ _t832 = cpu->r[1] + 0x0000014Cu;
|
|
/* 02458938 */ cpu->r[8] = rbrew_read32(cpu->mem, _t832);
|
|
/* 0245893C */ cpu->r[20] = cpu->r[27] + 0x00000148u;
|
|
/* 02458940 */ cpu->r[28] = cpu->r[31];
|
|
/* 02458944 */ cpu->r[26] = cpu->r[30];
|
|
/* 02458948 */ _t833 = cpu->r[27] + 0x00000144u;
|
|
/* 02458948 */ rbrew_write32(cpu->mem, _t833, cpu->r[8]);
|
|
L_0245894C: ; // 0x245894c
|
|
/* 0245894C */ _t834 = cpu->r[28] + 0x00000004u;
|
|
/* 0245894C */ cpu->r[10] = rbrew_read32(cpu->mem, _t834);
|
|
/* 02458950 */ _t835 = cpu->r[10] + 0x00000014u;
|
|
/* 02458950 */ cpu->r[0] = rbrew_read32(cpu->mem, _t835);
|
|
/* 02458954 */ cpu->ctr = cpu->r[0];
|
|
/* 02458958 */ _t836 = cpu->r[20] + cpu->r[25];
|
|
/* 02458958 */ cpu->r[27] = rbrew_read32(cpu->mem, _t836);
|
|
/* 0245895C */ cpu->r[18] = cpu->r[20] + cpu->r[25];
|
|
/* 02458960 */ cpu->r[3] = cpu->r[28];
|
|
/* 02458964 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02458968 */ _t837 = cpu->r[28] + 0x00000000u;
|
|
/* 02458968 */ cpu->r[11] = rbrew_read32(cpu->mem, _t837);
|
|
/* 0245896C */ _t838 = cpu->r[11] + 0x00000000u;
|
|
/* 0245896C */ cpu->r[4] = rbrew_read8(cpu->mem, _t838);
|
|
/* 02458970 */ cpu->r[22] = 0x00000000u;
|
|
/* 02458974 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[26]);
|
|
/* 02458978 */ cpu->r[4] = 0x00080000u;
|
|
/* 0245897C */ _t839 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245897C */ _t840 = _t839 & 0x00000001u;
|
|
/* 0245897C */ if (_t840) goto L_024589A4; else goto L_02458980;
|
|
L_02458980: ; // 0x2458980
|
|
/* 02458980 */ cpu->r[22] = cpu->r[22] + 0x00000001u;
|
|
/* 02458984 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], cpu->r[4]);
|
|
/* 02458988 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0245898C */ _t841 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0245898C */ _t842 = _t841 & 0x00000001u;
|
|
/* 0245898C */ if (_t842) goto L_024589A0; else goto L_02458990;
|
|
L_02458990: ; // 0x2458990
|
|
/* 02458990 */ _t843 = cpu->r[11] + 0x00000000u;
|
|
/* 02458990 */ cpu->r[6] = rbrew_read8(cpu->mem, _t843);
|
|
/* 02458994 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[26]);
|
|
/* 02458998 */ _t844 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458998 */ _t845 = _t844 & 0x00000001u;
|
|
/* 02458998 */ if (_t845) goto L_0245899C; else goto L_02458980;
|
|
L_0245899C: ; // 0x245899c
|
|
/* 0245899C */ goto L_024589A4;
|
|
L_024589A0: ; // 0x24589a0
|
|
/* 024589A0 */ cpu->r[22] = 0x00000000u;
|
|
L_024589A4: ; // 0x24589a4
|
|
/* 024589A4 */ _t846 = cpu->r[18] + 0x00000008u;
|
|
/* 024589A4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t846);
|
|
/* 024589A8 */ _t847 = cpu->r[28] + 0x00000004u;
|
|
/* 024589A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t847);
|
|
/* 024589AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], cpu->r[5]);
|
|
/* 024589B0 */ _t848 = cpu->r[8] + 0x00000014u;
|
|
/* 024589B0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t848);
|
|
/* 024589B4 */ _t849 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024589B4 */ _t850 = _t849 & 0x00000001u;
|
|
/* 024589B4 */ if (_t850) goto L_024589BC; else goto L_024589B8;
|
|
L_024589B8: ; // 0x24589b8
|
|
/* 024589B8 */ cpu->r[22] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_024589BC: ; // 0x24589bc
|
|
/* 024589BC */ cpu->ctr = cpu->r[9];
|
|
/* 024589C0 */ cpu->r[3] = cpu->r[28];
|
|
/* 024589C4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024589C8 */ _t851 = cpu->r[28] + 0x00000000u;
|
|
/* 024589C8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t851);
|
|
/* 024589CC */ cpu->r[6] = 0x00000000u;
|
|
/* 024589D0 */ cpu->r[5] = cpu->r[22];
|
|
/* 024589D4 */ cpu->r[3] = cpu->r[27];
|
|
/* 024589D8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 024589DC */ _t852 = cpu->r[27] + cpu->r[22];
|
|
/* 024589DC */ rbrew_write8(cpu->mem, _t852, (uint8_t)cpu->r[26]);
|
|
/* 024589E0 */ _t853 = cpu->r[28] + 0x0000004Cu;
|
|
/* 024589E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t853);
|
|
/* 024589E4 */ cpu->r[28] = cpu->r[28] + 0x00000050u;
|
|
/* 024589E8 */ cpu->r[24] = cpu->r[24] + 0xFFFFFFFFu;
|
|
/* 024589E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 024589EC */ cpu->r[25] = cpu->r[25] + 0x00000050u;
|
|
/* 024589F0 */ _t854 = cpu->r[18] + 0x0000004Cu;
|
|
/* 024589F0 */ rbrew_write32(cpu->mem, _t854, cpu->r[11]);
|
|
/* 024589F4 */ _t855 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024589F4 */ _t856 = _t855 & 0x00000001u;
|
|
/* 024589F4 */ if (_t856) goto L_024589F8; else goto L_0245894C;
|
|
L_024589F8: ; // 0x24589f8
|
|
/* 024589F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[14], 0x00000001u);
|
|
/* 024589FC */ _t857 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 024589FC */ _t858 = _t857 & 0x00000001u;
|
|
/* 024589FC */ if (_t858) goto L_02457C40; else goto L_02458A00;
|
|
L_02458A00: ; // 0x2458a00
|
|
/* 02458A00 */ cpu->r[6] = 0x02450000u;
|
|
/* 02458A04 */ cpu->r[3] = cpu->r[19];
|
|
/* 02458A08 */ cpu->r[7] = 0x00000000u;
|
|
/* 02458A0C */ cpu->r[6] = cpu->r[6] + 0x00006CD0u;
|
|
/* 02458A10 */ cpu->r[4] = 0x00000003u;
|
|
/* 02458A14 */ cpu->r[8] = cpu->r[7];
|
|
/* 02458A18 */ cpu->r[5] = 0x00000050u;
|
|
/* 02458A1C */ Gambit_fn_02C82F38(cpu);
|
|
L_02458A20: ; // 0x2458a20
|
|
/* 02458A20 */ /* nop */
|
|
/* 02458A24 */ _t859 = cpu->r[1] + 0x0000028Cu;
|
|
/* 02458A24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t859);
|
|
/* 02458A28 */ cpu->lr = cpu->r[0];
|
|
/* 02458A2C */ cpu->r[1] = cpu->r[1] + 0x00000288u;
|
|
/* 02458A30 */ return;
|
|
}
|
|
|
|
// fn_02458A34 @ 0x2458a34
|
|
void Gambit_fn_02458A34(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02458A34: ; // 0x2458a34
|
|
/* 02458A34 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 02458A38 */ goto L_02458F98;
|
|
L_02458F98: ; // 0x2458f98
|
|
/* 02458F98 */ cpu->r[0] = cpu->lr;
|
|
/* 02458F9C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02458F9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02458F9C */ cpu->r[1] = _t0;
|
|
/* 02458FA0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02458FA0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02458FA4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02458FA4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02458FA8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02458FA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02458FAC */ cpu->r[31] = cpu->r[4];
|
|
/* 02458FB0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02458FB0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02458FB4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458FB4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02458FB4 */ if (_t5) goto L_02459024; else goto L_02458FB8;
|
|
L_02458FB8: ; // 0x2458fb8
|
|
/* 02458FB8 */ cpu->r[0] = 0x100A0000u;
|
|
/* 02458FBC */ cpu->r[12] = 0x100A0000u;
|
|
/* 02458FC0 */ cpu->r[0] = cpu->r[0] + 0x00000A8Cu;
|
|
/* 02458FC4 */ cpu->r[12] = cpu->r[12] + 0x00000AACu;
|
|
/* 02458FC8 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02458FC8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02458FCC */ cpu->r[11] = 0x100A0000u;
|
|
/* 02458FD0 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 02458FD0 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02458FD4 */ cpu->r[11] = cpu->r[11] + 0x00000A9Cu;
|
|
/* 02458FD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02458FDC */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02458FDC */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02458FE0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458FE0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02458FE0 */ if (_t10) goto L_02459014; else goto L_02458FE4;
|
|
L_02458FE4: ; // 0x2458fe4
|
|
/* 02458FE4 */ cpu->r[10] = 0x10010000u;
|
|
/* 02458FE8 */ cpu->r[0] = 0x10010000u;
|
|
/* 02458FEC */ cpu->r[10] = cpu->r[10] + 0x00004B98u;
|
|
/* 02458FF0 */ cpu->r[0] = cpu->r[0] + 0x00004B88u;
|
|
/* 02458FF4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02458FF8 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02458FF8 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02458FFC */ cpu->r[0] = 0x10010000u;
|
|
/* 02459000 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02459000 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 02459004 */ cpu->r[0] = cpu->r[0] + 0x00004BA8u;
|
|
/* 02459008 */ cpu->r[4] = 0x00000000u;
|
|
/* 0245900C */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0245900C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02459010 */ Gambit_fn_02068798(cpu);
|
|
L_02459014: ; // 0x2459014
|
|
/* 02459014 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02459014 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02459018 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459018 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02459018 */ if (_t15) goto L_02459024; else goto L_0245901C;
|
|
L_0245901C: ; // 0x245901c
|
|
/* 0245901C */ cpu->r[3] = cpu->r[30];
|
|
/* 02459020 */ Gambit_fn_02801BB0(cpu);
|
|
L_02459024: ; // 0x2459024
|
|
/* 02459024 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02459024 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02459028 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02459028 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0245902C */ cpu->lr = cpu->r[0];
|
|
/* 02459030 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02459030 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02459034 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02459038 */ return;
|
|
}
|
|
|
|
// fn_02458A3C @ 0x2458a3c
|
|
void Gambit_fn_02458A3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02068818: ; // 0x2068818
|
|
/* 02068818 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0206881C */ _t0 = cpu->r[12] + 0x00001D34u;
|
|
/* 0206881C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02068820 */ _t1 = cpu->r[12] + 0x0000018Cu;
|
|
/* 02068820 */ cpu->r[12] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02068824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02068828 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02068828 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02068828 */ if (_t3) goto L_0206883C; else goto L_0206882C;
|
|
L_0206882C: ; // 0x206882c
|
|
/* 0206882C */ cpu->r[0] = cpu->r[5] ^ 0x00000001u;
|
|
/* 02068830 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02068834 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068838 */ return;
|
|
L_0206883C: ; // 0x206883c
|
|
/* 0206883C */ cpu->r[0] = rbrew_clz32(cpu->r[5]);
|
|
/* 02068840 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068844 */ return;
|
|
L_02458A3C: ; // 0x2458a3c
|
|
/* 02458A3C */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 02458A40 */ goto L_02068818;
|
|
}
|
|
|
|
// fn_02458A44 @ 0x2458a44
|
|
void Gambit_fn_02458A44(CPUState* cpu) {
|
|
L_02458A44: ; // 0x2458a44
|
|
/* 02458A44 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 02458A48 */ goto L_0245903C;
|
|
L_0245903C: ; // 0x245903c
|
|
/* 0245903C */ return;
|
|
}
|
|
|
|
// fn_02458A4C @ 0x2458a4c
|
|
void Gambit_fn_02458A4C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02458A4C: ; // 0x2458a4c
|
|
/* 02458A4C */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 02458A50 */ goto L_02459040;
|
|
L_02459040: ; // 0x2459040
|
|
/* 02459040 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 02459040 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02459044 */ return;
|
|
}
|
|
|
|
// fn_02458A54 @ 0x2458a54
|
|
void Gambit_fn_02458A54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108;
|
|
|
|
L_02458A54: ; // 0x2458a54
|
|
/* 02458A54 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02458A54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02458A54 */ cpu->r[1] = _t0;
|
|
/* 02458A58 */ /* nop */
|
|
/* 02458A5C */ cpu->r[0] = cpu->lr;
|
|
/* 02458A60 */ cpu->r[31] = cpu->r[3];
|
|
/* 02458A60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02458A64 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02458A64 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02458A68 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458A68 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02458A68 */ if (_t3) goto L_02458A6C; else goto L_02458A7C;
|
|
L_02458A6C: ; // 0x2458a6c
|
|
/* 02458A6C */ cpu->r[3] = 0x000006E8u;
|
|
/* 02458A70 */ Gambit_fn_02801A78(cpu);
|
|
/* 02458A74 */ cpu->r[31] = cpu->r[3];
|
|
/* 02458A74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02458A78 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458A78 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02458A78 */ if (_t5) goto L_02458D20; else goto L_02458A7C;
|
|
L_02458A7C: ; // 0x2458a7c
|
|
/* 02458A7C */ cpu->r[4] = 0x100A0000u;
|
|
/* 02458A80 */ cpu->r[3] = cpu->r[31];
|
|
/* 02458A84 */ cpu->r[5] = 0x00000001u;
|
|
/* 02458A88 */ cpu->r[4] = cpu->r[4] + 0x000008D8u;
|
|
/* 02458A8C */ Gambit_fn_020B82F0(cpu);
|
|
/* 02458A90 */ cpu->r[0] = 0x100A0000u;
|
|
/* 02458A94 */ cpu->r[8] = 0x100A0000u;
|
|
/* 02458A98 */ cpu->r[0] = cpu->r[0] + 0x00000924u;
|
|
/* 02458A9C */ cpu->r[8] = cpu->r[8] + 0x00000A8Cu;
|
|
/* 02458AA0 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 02458AA0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02458AA4 */ cpu->r[0] = 0x100A0000u;
|
|
/* 02458AA8 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02458AA8 */ rbrew_write32(cpu->mem, _t7, cpu->r[8]);
|
|
/* 02458AAC */ cpu->r[0] = cpu->r[0] + 0x00000A9Cu;
|
|
/* 02458AB0 */ cpu->r[10] = 0x100A0000u;
|
|
/* 02458AB4 */ cpu->r[30] = 0x00000000u;
|
|
/* 02458AB8 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02458AB8 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02458ABC */ cpu->r[10] = cpu->r[10] + 0x00000AACu;
|
|
/* 02458AC0 */ _t9 = cpu->r[31] + 0x00000224u;
|
|
/* 02458AC0 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 02458AC4 */ cpu->r[29] = 0x10110000u;
|
|
/* 02458AC8 */ cpu->r[26] = cpu->r[31] + 0x00000228u;
|
|
/* 02458AC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02458ACC */ _t10 = cpu->r[31] + 0x000001C8u;
|
|
/* 02458ACC */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 02458AD0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458AD0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02458AD0 */ if (_t12) goto L_02458AD4; else goto L_02458AF4;
|
|
L_02458AD4: ; // 0x2458ad4
|
|
/* 02458AD4 */ cpu->r[3] = 0x0000040Cu;
|
|
/* 02458AD8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02458ADC */ cpu->r[26] = cpu->r[3];
|
|
/* 02458ADC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02458AE0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458AE0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02458AE0 */ if (_t14) goto L_02458AE4; else goto L_02458AF4;
|
|
L_02458AE4: ; // 0x2458ae4
|
|
/* 02458AE4 */ cpu->r[26] = cpu->r[31] + 0x00000634u;
|
|
/* 02458AE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02458AE8 */ _t15 = cpu->r[29] + 0x0000739Au;
|
|
/* 02458AE8 */ cpu->r[27] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02458AEC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458AEC */ _t17 = _t16 & 0x00000001u;
|
|
/* 02458AEC */ if (_t17) goto L_02458AF0; else goto L_02458BB0;
|
|
L_02458AF0: ; // 0x2458af0
|
|
/* 02458AF0 */ goto L_02458BA0;
|
|
L_02458AF4: ; // 0x2458af4
|
|
/* 02458AF4 */ cpu->r[28] = cpu->r[26];
|
|
/* 02458AF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02458AF8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458AF8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02458AF8 */ if (_t19) goto L_02458AFC; else goto L_02458B20;
|
|
L_02458AFC: ; // 0x2458afc
|
|
/* 02458AFC */ cpu->r[3] = 0x0000040Cu;
|
|
/* 02458B00 */ Gambit_fn_02801A78(cpu);
|
|
/* 02458B04 */ cpu->r[28] = cpu->r[3];
|
|
/* 02458B04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02458B08 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458B08 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02458B08 */ if (_t21) goto L_02458B0C; else goto L_02458B20;
|
|
L_02458B0C: ; // 0x2458b0c
|
|
/* 02458B0C */ cpu->r[7] = 0x100A0000u;
|
|
/* 02458B10 */ _t22 = cpu->r[29] + 0x0000739Au;
|
|
/* 02458B10 */ cpu->r[27] = rbrew_read16(cpu->mem, _t22);
|
|
/* 02458B14 */ cpu->r[7] = cpu->r[7] + 0x000008C0u;
|
|
/* 02458B18 */ _t23 = cpu->r[26] + 0x00000004u;
|
|
/* 02458B18 */ rbrew_write32(cpu->mem, _t23, cpu->r[7]);
|
|
/* 02458B1C */ goto L_02458B98;
|
|
L_02458B20: ; // 0x2458b20
|
|
/* 02458B20 */ cpu->r[3] = cpu->r[28];
|
|
/* 02458B20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02458B24 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458B24 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02458B24 */ if (_t25) goto L_02458B28; else goto L_02458B54;
|
|
L_02458B28: ; // 0x2458b28
|
|
/* 02458B28 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02458B2C */ Gambit_fn_02801A78(cpu);
|
|
/* 02458B30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02458B34 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458B34 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02458B34 */ if (_t27) goto L_02458B38; else goto L_02458B54;
|
|
L_02458B38: ; // 0x2458b38
|
|
/* 02458B38 */ cpu->r[5] = 0x100A0000u;
|
|
/* 02458B3C */ _t28 = cpu->r[29] + 0x0000739Au;
|
|
/* 02458B3C */ cpu->r[27] = rbrew_read16(cpu->mem, _t28);
|
|
/* 02458B40 */ cpu->r[5] = cpu->r[5] + 0x000008A8u;
|
|
/* 02458B44 */ _t29 = cpu->r[28] + 0x00000000u;
|
|
/* 02458B44 */ cpu->r[6] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02458B48 */ _t30 = cpu->r[28] + 0x00000004u;
|
|
/* 02458B48 */ rbrew_write32(cpu->mem, _t30, cpu->r[5]);
|
|
/* 02458B4C */ _t31 = cpu->r[6] + 0x00000000u;
|
|
/* 02458B4C */ rbrew_write16(cpu->mem, _t31, (uint16_t)cpu->r[27]);
|
|
/* 02458B50 */ goto L_02458B8C;
|
|
L_02458B54: ; // 0x2458b54
|
|
/* 02458B54 */ cpu->r[12] = 0x100A0000u;
|
|
/* 02458B58 */ cpu->r[11] = cpu->r[28] + 0x0000000Cu;
|
|
/* 02458B5C */ cpu->r[12] = cpu->r[12] + 0x00000880u;
|
|
/* 02458B60 */ _t32 = cpu->r[3] + 0x00000000u;
|
|
/* 02458B60 */ rbrew_write32(cpu->mem, _t32, cpu->r[11]);
|
|
/* 02458B64 */ cpu->r[0] = 0x00000200u;
|
|
/* 02458B68 */ _t33 = cpu->r[3] + 0x00000004u;
|
|
/* 02458B68 */ rbrew_write32(cpu->mem, _t33, cpu->r[12]);
|
|
/* 02458B6C */ _t34 = cpu->r[3] + 0x00000008u;
|
|
/* 02458B6C */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 02458B70 */ _t35 = cpu->r[29] + 0x0000739Au;
|
|
/* 02458B70 */ cpu->r[27] = rbrew_read16(cpu->mem, _t35);
|
|
/* 02458B74 */ cpu->r[5] = 0x100A0000u;
|
|
/* 02458B78 */ _t36 = cpu->r[28] + 0x00000000u;
|
|
/* 02458B78 */ cpu->r[6] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02458B7C */ cpu->r[5] = cpu->r[5] + 0x000008A8u;
|
|
/* 02458B80 */ _t37 = cpu->r[28] + 0x0000040Au;
|
|
/* 02458B80 */ rbrew_write16(cpu->mem, _t37, (uint16_t)cpu->r[27]);
|
|
/* 02458B84 */ _t38 = cpu->r[28] + 0x00000004u;
|
|
/* 02458B84 */ rbrew_write32(cpu->mem, _t38, cpu->r[5]);
|
|
/* 02458B88 */ _t39 = cpu->r[6] + 0x00000000u;
|
|
/* 02458B88 */ rbrew_write16(cpu->mem, _t39, (uint16_t)cpu->r[27]);
|
|
L_02458B8C: ; // 0x2458b8c
|
|
/* 02458B8C */ cpu->r[7] = 0x100A0000u;
|
|
/* 02458B90 */ cpu->r[7] = cpu->r[7] + 0x000008C0u;
|
|
/* 02458B94 */ _t40 = cpu->r[26] + 0x00000004u;
|
|
/* 02458B94 */ rbrew_write32(cpu->mem, _t40, cpu->r[7]);
|
|
L_02458B98: ; // 0x2458b98
|
|
/* 02458B98 */ cpu->r[26] = cpu->r[31] + 0x00000634u;
|
|
/* 02458B98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02458B9C */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458B9C */ _t42 = _t41 & 0x00000001u;
|
|
/* 02458B9C */ if (_t42) goto L_02458BA0; else goto L_02458BB0;
|
|
L_02458BA0: ; // 0x2458ba0
|
|
/* 02458BA0 */ cpu->r[3] = 0x000000B4u;
|
|
/* 02458BA4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02458BA8 */ cpu->r[26] = cpu->r[3];
|
|
/* 02458BA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02458BAC */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458BAC */ _t44 = _t43 & 0x00000001u;
|
|
/* 02458BAC */ if (_t44) goto L_02458D18; else goto L_02458BB0;
|
|
L_02458BB0: ; // 0x2458bb0
|
|
/* 02458BB0 */ _t45 = cpu->r[26] + 0x00000000u;
|
|
/* 02458BB0 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[30]);
|
|
/* 02458BB4 */ cpu->r[28] = cpu->r[26] + 0x00000010u;
|
|
/* 02458BB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02458BB8 */ cpu->r[23] = 0x10110000u;
|
|
/* 02458BBC */ _t46 = cpu->r[26] + 0x00000004u;
|
|
/* 02458BBC */ rbrew_write32(cpu->mem, _t46, cpu->r[30]);
|
|
/* 02458BC0 */ cpu->r[24] = 0x100A0000u;
|
|
/* 02458BC4 */ cpu->r[25] = 0x100A0000u;
|
|
/* 02458BC8 */ _t47 = cpu->r[26] + 0x00000008u;
|
|
/* 02458BC8 */ rbrew_write32(cpu->mem, _t47, cpu->r[30]);
|
|
/* 02458BCC */ cpu->r[24] = cpu->r[24] + 0x00000868u;
|
|
/* 02458BD0 */ cpu->r[25] = cpu->r[25] + 0x00000850u;
|
|
/* 02458BD4 */ _t48 = cpu->r[26] + 0x0000000Cu;
|
|
/* 02458BD4 */ rbrew_write32(cpu->mem, _t48, cpu->r[30]);
|
|
/* 02458BD8 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458BD8 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02458BD8 */ if (_t50) goto L_02458BDC; else goto L_02458BFC;
|
|
L_02458BDC: ; // 0x2458bdc
|
|
/* 02458BDC */ cpu->r[3] = 0x0000004Cu;
|
|
/* 02458BE0 */ Gambit_fn_02801A78(cpu);
|
|
/* 02458BE4 */ cpu->r[28] = cpu->r[3];
|
|
/* 02458BE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02458BE8 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458BE8 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02458BE8 */ if (_t52) goto L_02458BEC; else goto L_02458BFC;
|
|
L_02458BEC: ; // 0x2458bec
|
|
/* 02458BEC */ cpu->r[28] = cpu->r[26] + 0x0000005Cu;
|
|
/* 02458BEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02458BF0 */ _t53 = cpu->r[23] + 0x00007399u;
|
|
/* 02458BF0 */ cpu->r[23] = rbrew_read8(cpu->mem, _t53);
|
|
/* 02458BF4 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458BF4 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02458BF4 */ if (_t55) goto L_02458C88; else goto L_02458BF8;
|
|
L_02458BF8: ; // 0x2458bf8
|
|
/* 02458BF8 */ goto L_02458C98;
|
|
L_02458BFC: ; // 0x2458bfc
|
|
/* 02458BFC */ cpu->r[29] = cpu->r[28];
|
|
/* 02458BFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02458C00 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458C00 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02458C00 */ if (_t57) goto L_02458C04; else goto L_02458C20;
|
|
L_02458C04: ; // 0x2458c04
|
|
/* 02458C04 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 02458C08 */ Gambit_fn_02801A78(cpu);
|
|
/* 02458C0C */ cpu->r[29] = cpu->r[3];
|
|
/* 02458C0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02458C10 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458C10 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02458C10 */ if (_t59) goto L_02458C14; else goto L_02458C20;
|
|
L_02458C14: ; // 0x2458c14
|
|
/* 02458C14 */ _t60 = cpu->r[23] + 0x00007399u;
|
|
/* 02458C14 */ cpu->r[23] = rbrew_read8(cpu->mem, _t60);
|
|
/* 02458C18 */ _t61 = cpu->r[28] + 0x00000004u;
|
|
/* 02458C18 */ rbrew_write32(cpu->mem, _t61, cpu->r[24]);
|
|
/* 02458C1C */ goto L_02458C80;
|
|
L_02458C20: ; // 0x2458c20
|
|
/* 02458C20 */ cpu->r[3] = cpu->r[29];
|
|
/* 02458C20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02458C24 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458C24 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02458C24 */ if (_t63) goto L_02458C28; else goto L_02458C4C;
|
|
L_02458C28: ; // 0x2458c28
|
|
/* 02458C28 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02458C2C */ Gambit_fn_02801A78(cpu);
|
|
/* 02458C30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02458C34 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458C34 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02458C34 */ if (_t65) goto L_02458C38; else goto L_02458C4C;
|
|
L_02458C38: ; // 0x2458c38
|
|
/* 02458C38 */ _t66 = cpu->r[29] + 0x00000000u;
|
|
/* 02458C38 */ cpu->r[11] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02458C3C */ _t67 = cpu->r[23] + 0x00007399u;
|
|
/* 02458C3C */ cpu->r[23] = rbrew_read8(cpu->mem, _t67);
|
|
/* 02458C40 */ _t68 = cpu->r[29] + 0x00000004u;
|
|
/* 02458C40 */ rbrew_write32(cpu->mem, _t68, cpu->r[25]);
|
|
/* 02458C44 */ _t69 = cpu->r[11] + 0x00000000u;
|
|
/* 02458C44 */ rbrew_write8(cpu->mem, _t69, (uint8_t)cpu->r[23]);
|
|
/* 02458C48 */ goto L_02458C7C;
|
|
L_02458C4C: ; // 0x2458c4c
|
|
/* 02458C4C */ cpu->r[9] = 0x100A0000u;
|
|
/* 02458C50 */ cpu->r[8] = cpu->r[29] + 0x0000000Cu;
|
|
/* 02458C54 */ cpu->r[9] = cpu->r[9] + 0x00000838u;
|
|
/* 02458C58 */ _t70 = cpu->r[3] + 0x00000000u;
|
|
/* 02458C58 */ rbrew_write32(cpu->mem, _t70, cpu->r[8]);
|
|
/* 02458C5C */ cpu->r[10] = 0x00000040u;
|
|
/* 02458C60 */ _t71 = cpu->r[3] + 0x00000004u;
|
|
/* 02458C60 */ rbrew_write32(cpu->mem, _t71, cpu->r[9]);
|
|
/* 02458C64 */ _t72 = cpu->r[3] + 0x00000008u;
|
|
/* 02458C64 */ rbrew_write32(cpu->mem, _t72, cpu->r[10]);
|
|
/* 02458C68 */ _t73 = cpu->r[23] + 0x00007399u;
|
|
/* 02458C68 */ cpu->r[23] = rbrew_read8(cpu->mem, _t73);
|
|
/* 02458C6C */ _t74 = cpu->r[29] + 0x00000004u;
|
|
/* 02458C6C */ rbrew_write32(cpu->mem, _t74, cpu->r[25]);
|
|
/* 02458C70 */ _t75 = cpu->r[29] + 0x00000000u;
|
|
/* 02458C70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02458C74 */ _t76 = cpu->r[29] + 0x0000004Bu;
|
|
/* 02458C74 */ rbrew_write8(cpu->mem, _t76, (uint8_t)cpu->r[23]);
|
|
/* 02458C78 */ _t77 = cpu->r[11] + 0x00000000u;
|
|
/* 02458C78 */ rbrew_write8(cpu->mem, _t77, (uint8_t)cpu->r[23]);
|
|
L_02458C7C: ; // 0x2458c7c
|
|
/* 02458C7C */ _t78 = cpu->r[28] + 0x00000004u;
|
|
/* 02458C7C */ rbrew_write32(cpu->mem, _t78, cpu->r[24]);
|
|
L_02458C80: ; // 0x2458c80
|
|
/* 02458C80 */ cpu->r[28] = cpu->r[26] + 0x0000005Cu;
|
|
/* 02458C80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02458C84 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458C84 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02458C84 */ if (_t80) goto L_02458C88; else goto L_02458C98;
|
|
L_02458C88: ; // 0x2458c88
|
|
/* 02458C88 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 02458C8C */ Gambit_fn_02801A78(cpu);
|
|
/* 02458C90 */ cpu->r[28] = cpu->r[3];
|
|
/* 02458C90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02458C94 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458C94 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02458C94 */ if (_t82) goto L_02458CF8; else goto L_02458C98;
|
|
L_02458C98: ; // 0x2458c98
|
|
/* 02458C98 */ cpu->r[29] = cpu->r[28];
|
|
/* 02458C98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02458C9C */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458C9C */ _t84 = _t83 & 0x00000001u;
|
|
/* 02458C9C */ if (_t84) goto L_02458CA0; else goto L_02458CB0;
|
|
L_02458CA0: ; // 0x2458ca0
|
|
/* 02458CA0 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 02458CA4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02458CA8 */ cpu->r[29] = cpu->r[3];
|
|
/* 02458CA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02458CAC */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458CAC */ _t86 = _t85 & 0x00000001u;
|
|
/* 02458CAC */ if (_t86) goto L_02458CF4; else goto L_02458CB0;
|
|
L_02458CB0: ; // 0x2458cb0
|
|
/* 02458CB0 */ cpu->r[3] = cpu->r[29];
|
|
/* 02458CB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02458CB4 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458CB4 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02458CB4 */ if (_t88) goto L_02458CB8; else goto L_02458CC8;
|
|
L_02458CB8: ; // 0x2458cb8
|
|
/* 02458CB8 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02458CBC */ Gambit_fn_02801A78(cpu);
|
|
/* 02458CC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02458CC4 */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458CC4 */ _t90 = _t89 & 0x00000001u;
|
|
/* 02458CC4 */ if (_t90) goto L_02458CE8; else goto L_02458CC8;
|
|
L_02458CC8: ; // 0x2458cc8
|
|
/* 02458CC8 */ cpu->r[0] = 0x100A0000u;
|
|
/* 02458CCC */ cpu->r[12] = cpu->r[29] + 0x0000000Cu;
|
|
/* 02458CD0 */ cpu->r[0] = cpu->r[0] + 0x00000838u;
|
|
/* 02458CD4 */ _t91 = cpu->r[3] + 0x00000000u;
|
|
/* 02458CD4 */ rbrew_write32(cpu->mem, _t91, cpu->r[12]);
|
|
/* 02458CD8 */ cpu->r[8] = 0x00000040u;
|
|
/* 02458CDC */ _t92 = cpu->r[3] + 0x00000004u;
|
|
/* 02458CDC */ rbrew_write32(cpu->mem, _t92, cpu->r[0]);
|
|
/* 02458CE0 */ _t93 = cpu->r[3] + 0x00000008u;
|
|
/* 02458CE0 */ rbrew_write32(cpu->mem, _t93, cpu->r[8]);
|
|
/* 02458CE4 */ _t94 = cpu->r[29] + 0x0000004Bu;
|
|
/* 02458CE4 */ rbrew_write8(cpu->mem, _t94, (uint8_t)cpu->r[23]);
|
|
L_02458CE8: ; // 0x2458ce8
|
|
/* 02458CE8 */ _t95 = cpu->r[29] + 0x00000000u;
|
|
/* 02458CE8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02458CEC */ _t96 = cpu->r[29] + 0x00000004u;
|
|
/* 02458CEC */ rbrew_write32(cpu->mem, _t96, cpu->r[25]);
|
|
/* 02458CF0 */ _t97 = cpu->r[9] + 0x00000000u;
|
|
/* 02458CF0 */ rbrew_write8(cpu->mem, _t97, (uint8_t)cpu->r[23]);
|
|
L_02458CF4: ; // 0x2458cf4
|
|
/* 02458CF4 */ _t98 = cpu->r[28] + 0x00000004u;
|
|
/* 02458CF4 */ rbrew_write32(cpu->mem, _t98, cpu->r[24]);
|
|
L_02458CF8: ; // 0x2458cf8
|
|
/* 02458CF8 */ _t99 = cpu->r[26] + 0x00000010u;
|
|
/* 02458CF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02458CFC */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02458D00 */ _t100 = cpu->r[26] + 0x000000ACu;
|
|
/* 02458D00 */ rbrew_write32(cpu->mem, _t100, cpu->r[30]);
|
|
/* 02458D04 */ _t101 = cpu->r[26] + 0x000000A8u;
|
|
/* 02458D04 */ rbrew_write32(cpu->mem, _t101, cpu->r[0]);
|
|
/* 02458D08 */ _t102 = cpu->r[26] + 0x000000B0u;
|
|
/* 02458D08 */ rbrew_write32(cpu->mem, _t102, cpu->r[0]);
|
|
/* 02458D0C */ _t103 = cpu->r[12] + 0x00000000u;
|
|
/* 02458D0C */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[23]);
|
|
/* 02458D10 */ _t104 = cpu->r[26] + 0x0000005Cu;
|
|
/* 02458D10 */ cpu->r[5] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02458D14 */ _t105 = cpu->r[5] + 0x00000000u;
|
|
/* 02458D14 */ rbrew_write8(cpu->mem, _t105, (uint8_t)cpu->r[23]);
|
|
L_02458D18: ; // 0x2458d18
|
|
/* 02458D18 */ _t106 = cpu->r[31] + 0x00000228u;
|
|
/* 02458D18 */ cpu->r[6] = rbrew_read32(cpu->mem, _t106);
|
|
/* 02458D1C */ _t107 = cpu->r[6] + 0x00000000u;
|
|
/* 02458D1C */ rbrew_write16(cpu->mem, _t107, (uint16_t)cpu->r[27]);
|
|
L_02458D20: ; // 0x2458d20
|
|
/* 02458D20 */ cpu->r[3] = cpu->r[31];
|
|
/* 02458D24 */ /* nop */
|
|
/* 02458D28 */ _t108 = cpu->r[1] + 0x00000034u;
|
|
/* 02458D28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t108);
|
|
/* 02458D2C */ cpu->lr = cpu->r[0];
|
|
/* 02458D30 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02458D34 */ return;
|
|
}
|
|
|
|
// fn_02458D38 @ 0x2458d38
|
|
void Gambit_fn_02458D38(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02458D38: ; // 0x2458d38
|
|
/* 02458D38 */ cpu->r[0] = cpu->lr;
|
|
/* 02458D3C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02458D3C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02458D3C */ cpu->r[1] = _t0;
|
|
/* 02458D40 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02458D40 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02458D44 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 02458D44 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02458D48 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02458D48 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02458D4C */ cpu->r[31] = cpu->r[4];
|
|
/* 02458D50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000015u);
|
|
/* 02458D54 */ cpu->r[30] = cpu->r[3];
|
|
/* 02458D58 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 02458D58 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02458D5C */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02458D5C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02458D5C */ if (_t6) goto L_02458D60; else goto L_02458DC0;
|
|
L_02458D60: ; // 0x2458d60
|
|
/* 02458D60 */ cpu->r[11] = 0x10110000u;
|
|
/* 02458D64 */ _t7 = cpu->r[30] + 0x00000228u;
|
|
/* 02458D64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02458D68 */ _t8 = cpu->r[11] + 0x0000739Au;
|
|
/* 02458D68 */ cpu->r[8] = rbrew_read16(cpu->mem, _t8);
|
|
/* 02458D6C */ cpu->r[29] = rbrew_rlwinm(cpu->r[31], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02458D70 */ _t9 = cpu->r[12] + 0x00000000u;
|
|
/* 02458D70 */ rbrew_write16(cpu->mem, _t9, (uint16_t)cpu->r[8]);
|
|
/* 02458D74 */ Gambit_fn_027BDBAC(cpu);
|
|
/* 02458D78 */ cpu->r[10] = 0x100A0000u;
|
|
/* 02458D7C */ _t10 = cpu->r[30] + 0x0000063Cu;
|
|
/* 02458D7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02458D80 */ cpu->r[10] = cpu->r[10] + 0x00000820u;
|
|
/* 02458D84 */ cpu->r[4] = cpu->r[30] + 0x00000228u;
|
|
/* 02458D88 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02458D8C */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02458D8C */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02458D90 */ cpu->r[7] = 0x00000008u;
|
|
/* 02458D94 */ cpu->r[6] = cpu->r[29];
|
|
/* 02458D98 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 02458D98 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02458D9C */ Gambit_fn_027C1D50(cpu);
|
|
/* 02458DA0 */ _t13 = cpu->r[30] + 0x0000022Cu;
|
|
/* 02458DA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02458DA4 */ _t14 = cpu->r[12] + 0x00000014u;
|
|
/* 02458DA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02458DA8 */ cpu->ctr = cpu->r[0];
|
|
/* 02458DAC */ cpu->r[3] = cpu->r[30] + 0x00000228u;
|
|
/* 02458DB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02458DB4 */ _t15 = cpu->r[30] + 0x00000224u;
|
|
/* 02458DB4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02458DB8 */ cpu->r[4] = cpu->r[30] + 0x00000228u;
|
|
/* 02458DBC */ Gambit_fn_020A8300(cpu);
|
|
L_02458DC0: ; // 0x2458dc0
|
|
/* 02458DC0 */ cpu->r[9] = 0x100A0000u;
|
|
/* 02458DC4 */ cpu->r[0] = cpu->r[31] ^ 0x80000000u;
|
|
/* 02458DC8 */ _t16 = cpu->r[9] + 0x000008F0u;
|
|
/* 02458DC8 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t16);
|
|
/* 02458DCC */ cpu->r[9] = 0x43300000u;
|
|
/* 02458DD0 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02458DD0 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02458DD4 */ cpu->r[8] = 0x100A0000u;
|
|
/* 02458DD8 */ _t18 = cpu->r[1] + 0x00000018u;
|
|
/* 02458DD8 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
/* 02458DDC */ _t19 = cpu->r[1] + 0x00000018u;
|
|
/* 02458DDC */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t19);
|
|
/* 02458DE0 */ cpu->r[0] = 0x100A0000u;
|
|
/* 02458DE4 */ cpu->r[8] = cpu->r[8] + 0x00000808u;
|
|
/* 02458DE8 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 02458DEC */ cpu->r[0] = cpu->r[0] + 0x000008F8u;
|
|
/* 02458DF0 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02458DF0 */ rbrew_write32(cpu->mem, _t20, cpu->r[8]);
|
|
/* 02458DF4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02458DF8 */ cpu->f[1] = (double)(float)cpu->f[0];
|
|
/* 02458DFC */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02458DFC */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 02458E00 */ cpu->r[4] = 0x00000000u;
|
|
/* 02458E04 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02458E08 */ Gambit_fn_027EDA78(cpu);
|
|
/* 02458E0C */ _t22 = cpu->r[1] + 0x00000024u;
|
|
/* 02458E0C */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02458E10 */ _t23 = cpu->r[1] + 0x00000034u;
|
|
/* 02458E10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02458E14 */ _t24 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02458E14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02458E18 */ cpu->lr = cpu->r[0];
|
|
/* 02458E1C */ _t25 = cpu->r[1] + 0x00000028u;
|
|
/* 02458E1C */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02458E20 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02458E24 */ return;
|
|
}
|
|
|
|
// fn_02458D3C @ 0x2458d3c
|
|
void Gambit_fn_02458D3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02458D3C: ; // 0x2458d3c
|
|
/* 02458D3C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02458D3C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02458D3C */ cpu->r[1] = _t0;
|
|
/* 02458D40 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02458D40 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02458D44 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 02458D44 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02458D48 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02458D48 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02458D4C */ cpu->r[31] = cpu->r[4];
|
|
/* 02458D50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000015u);
|
|
/* 02458D54 */ cpu->r[30] = cpu->r[3];
|
|
/* 02458D58 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 02458D58 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02458D5C */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02458D5C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02458D5C */ if (_t6) goto L_02458D60; else goto L_02458DC0;
|
|
L_02458D60: ; // 0x2458d60
|
|
/* 02458D60 */ cpu->r[11] = 0x10110000u;
|
|
/* 02458D64 */ _t7 = cpu->r[30] + 0x00000228u;
|
|
/* 02458D64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02458D68 */ _t8 = cpu->r[11] + 0x0000739Au;
|
|
/* 02458D68 */ cpu->r[8] = rbrew_read16(cpu->mem, _t8);
|
|
/* 02458D6C */ cpu->r[29] = rbrew_rlwinm(cpu->r[31], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02458D70 */ _t9 = cpu->r[12] + 0x00000000u;
|
|
/* 02458D70 */ rbrew_write16(cpu->mem, _t9, (uint16_t)cpu->r[8]);
|
|
/* 02458D74 */ Gambit_fn_027BDBAC(cpu);
|
|
/* 02458D78 */ cpu->r[10] = 0x100A0000u;
|
|
/* 02458D7C */ _t10 = cpu->r[30] + 0x0000063Cu;
|
|
/* 02458D7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02458D80 */ cpu->r[10] = cpu->r[10] + 0x00000820u;
|
|
/* 02458D84 */ cpu->r[4] = cpu->r[30] + 0x00000228u;
|
|
/* 02458D88 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02458D8C */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02458D8C */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02458D90 */ cpu->r[7] = 0x00000008u;
|
|
/* 02458D94 */ cpu->r[6] = cpu->r[29];
|
|
/* 02458D98 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 02458D98 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02458D9C */ Gambit_fn_027C1D50(cpu);
|
|
/* 02458DA0 */ _t13 = cpu->r[30] + 0x0000022Cu;
|
|
/* 02458DA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02458DA4 */ _t14 = cpu->r[12] + 0x00000014u;
|
|
/* 02458DA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02458DA8 */ cpu->ctr = cpu->r[0];
|
|
/* 02458DAC */ cpu->r[3] = cpu->r[30] + 0x00000228u;
|
|
/* 02458DB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02458DB4 */ _t15 = cpu->r[30] + 0x00000224u;
|
|
/* 02458DB4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02458DB8 */ cpu->r[4] = cpu->r[30] + 0x00000228u;
|
|
/* 02458DBC */ Gambit_fn_020A8300(cpu);
|
|
L_02458DC0: ; // 0x2458dc0
|
|
/* 02458DC0 */ cpu->r[9] = 0x100A0000u;
|
|
/* 02458DC4 */ cpu->r[0] = cpu->r[31] ^ 0x80000000u;
|
|
/* 02458DC8 */ _t16 = cpu->r[9] + 0x000008F0u;
|
|
/* 02458DC8 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t16);
|
|
/* 02458DCC */ cpu->r[9] = 0x43300000u;
|
|
/* 02458DD0 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02458DD0 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02458DD4 */ cpu->r[8] = 0x100A0000u;
|
|
/* 02458DD8 */ _t18 = cpu->r[1] + 0x00000018u;
|
|
/* 02458DD8 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
/* 02458DDC */ _t19 = cpu->r[1] + 0x00000018u;
|
|
/* 02458DDC */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t19);
|
|
/* 02458DE0 */ cpu->r[0] = 0x100A0000u;
|
|
/* 02458DE4 */ cpu->r[8] = cpu->r[8] + 0x00000808u;
|
|
/* 02458DE8 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 02458DEC */ cpu->r[0] = cpu->r[0] + 0x000008F8u;
|
|
/* 02458DF0 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02458DF0 */ rbrew_write32(cpu->mem, _t20, cpu->r[8]);
|
|
/* 02458DF4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02458DF8 */ cpu->f[1] = (double)(float)cpu->f[0];
|
|
/* 02458DFC */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02458DFC */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 02458E00 */ cpu->r[4] = 0x00000000u;
|
|
/* 02458E04 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02458E08 */ Gambit_fn_027EDA78(cpu);
|
|
/* 02458E0C */ _t22 = cpu->r[1] + 0x00000024u;
|
|
/* 02458E0C */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02458E10 */ _t23 = cpu->r[1] + 0x00000034u;
|
|
/* 02458E10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02458E14 */ _t24 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02458E14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02458E18 */ cpu->lr = cpu->r[0];
|
|
/* 02458E1C */ _t25 = cpu->r[1] + 0x00000028u;
|
|
/* 02458E1C */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02458E20 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02458E24 */ return;
|
|
}
|
|
|
|
// fn_02458E28 @ 0x2458e28
|
|
void Gambit_fn_02458E28(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02458E28: ; // 0x2458e28
|
|
/* 02458E28 */ cpu->r[0] = cpu->lr;
|
|
/* 02458E2C */ cpu->r[11] = 0x100A0000u;
|
|
/* 02458E30 */ cpu->r[12] = 0x100A0000u;
|
|
/* 02458E34 */ cpu->r[11] = cpu->r[11] + 0x00000808u;
|
|
/* 02458E38 */ cpu->r[12] = cpu->r[12] + 0x00000900u;
|
|
/* 02458E3C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02458E3C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02458E40 */ cpu->r[0] = 0x100A0000u;
|
|
/* 02458E44 */ _t1 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02458E44 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02458E44 */ cpu->r[1] = _t1;
|
|
/* 02458E48 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02458E48 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02458E4C */ cpu->r[0] = cpu->r[0] + 0x00000908u;
|
|
/* 02458E50 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02458E50 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 02458E54 */ cpu->r[6] = cpu->r[1] + 0x00000018u;
|
|
/* 02458E58 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02458E58 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02458E5C */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02458E60 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02458E60 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02458E64 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02458E68 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02458E68 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02458E6C */ _t7 = cpu->r[1] + 0x00000018u;
|
|
/* 02458E6C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02458E70 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 02458E74 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 02458E74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02458E78 */ cpu->lr = cpu->r[0];
|
|
/* 02458E7C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02458E80 */ return;
|
|
}
|
|
|
|
// fn_02458E44 @ 0x2458e44
|
|
void Gambit_fn_02458E44(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02458E44: ; // 0x2458e44
|
|
/* 02458E44 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02458E44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02458E44 */ cpu->r[1] = _t0;
|
|
/* 02458E48 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02458E48 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 02458E4C */ cpu->r[0] = cpu->r[0] + 0x00000908u;
|
|
/* 02458E50 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02458E50 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 02458E54 */ cpu->r[6] = cpu->r[1] + 0x00000018u;
|
|
/* 02458E58 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02458E58 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02458E5C */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02458E60 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02458E60 */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
|
|
/* 02458E64 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02458E68 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02458E68 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02458E6C */ _t6 = cpu->r[1] + 0x00000018u;
|
|
/* 02458E6C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02458E70 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 02458E74 */ _t7 = cpu->r[1] + 0x00000024u;
|
|
/* 02458E74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02458E78 */ cpu->lr = cpu->r[0];
|
|
/* 02458E7C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02458E80 */ return;
|
|
}
|
|
|
|
// fn_02458E84 @ 0x2458e84
|
|
void Gambit_fn_02458E84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02458E84: ; // 0x2458e84
|
|
/* 02458E84 */ cpu->r[0] = cpu->lr;
|
|
/* 02458E88 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02458E88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02458E88 */ cpu->r[1] = _t0;
|
|
/* 02458E8C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02458E8C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02458E90 */ cpu->r[30] = 0x100A0000u;
|
|
/* 02458E94 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02458E94 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02458E98 */ cpu->r[31] = cpu->r[3];
|
|
/* 02458E9C */ cpu->r[3] = 0x00000000u;
|
|
/* 02458EA0 */ cpu->r[30] = cpu->r[30] + 0x00000808u;
|
|
/* 02458EA4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02458EA8 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02458EA8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02458EAC */ cpu->r[0] = 0x100A0000u;
|
|
/* 02458EB0 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02458EB0 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02458EB4 */ cpu->r[0] = cpu->r[0] + 0x00000918u;
|
|
/* 02458EB8 */ cpu->r[4] = cpu->r[31];
|
|
/* 02458EBC */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02458EBC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02458EC0 */ Gambit_fn_020A7150(cpu);
|
|
/* 02458EC4 */ cpu->r[0] = 0x100A0000u;
|
|
/* 02458EC8 */ cpu->r[5] = cpu->r[31];
|
|
/* 02458ECC */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02458ECC */ rbrew_write32(cpu->mem, _t6, cpu->r[30]);
|
|
/* 02458ED0 */ cpu->r[0] = cpu->r[0] + 0x00000914u;
|
|
/* 02458ED4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02458ED8 */ _t7 = cpu->r[31] + 0x00000224u;
|
|
/* 02458ED8 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 02458EDC */ cpu->r[3] = cpu->r[31] + 0x00000634u;
|
|
/* 02458EE0 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 02458EE4 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02458EE4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02458EE8 */ Gambit_fn_027FDF28(cpu);
|
|
/* 02458EEC */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02458EEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02458EF0 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02458EF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02458EF4 */ cpu->lr = cpu->r[0];
|
|
/* 02458EF8 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02458EF8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02458EFC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02458F00 */ return;
|
|
}
|
|
|
|
// fn_02458E88 @ 0x2458e88
|
|
void Gambit_fn_02458E88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02458E88: ; // 0x2458e88
|
|
/* 02458E88 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02458E88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02458E88 */ cpu->r[1] = _t0;
|
|
/* 02458E8C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02458E8C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02458E90 */ cpu->r[30] = 0x100A0000u;
|
|
/* 02458E94 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02458E94 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02458E98 */ cpu->r[31] = cpu->r[3];
|
|
/* 02458E9C */ cpu->r[3] = 0x00000000u;
|
|
/* 02458EA0 */ cpu->r[30] = cpu->r[30] + 0x00000808u;
|
|
/* 02458EA4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02458EA8 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02458EA8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02458EAC */ cpu->r[0] = 0x100A0000u;
|
|
/* 02458EB0 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02458EB0 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02458EB4 */ cpu->r[0] = cpu->r[0] + 0x00000918u;
|
|
/* 02458EB8 */ cpu->r[4] = cpu->r[31];
|
|
/* 02458EBC */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02458EBC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02458EC0 */ Gambit_fn_020A7150(cpu);
|
|
/* 02458EC4 */ cpu->r[0] = 0x100A0000u;
|
|
/* 02458EC8 */ cpu->r[5] = cpu->r[31];
|
|
/* 02458ECC */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02458ECC */ rbrew_write32(cpu->mem, _t6, cpu->r[30]);
|
|
/* 02458ED0 */ cpu->r[0] = cpu->r[0] + 0x00000914u;
|
|
/* 02458ED4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02458ED8 */ _t7 = cpu->r[31] + 0x00000224u;
|
|
/* 02458ED8 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 02458EDC */ cpu->r[3] = cpu->r[31] + 0x00000634u;
|
|
/* 02458EE0 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 02458EE4 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02458EE4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02458EE8 */ Gambit_fn_027FDF28(cpu);
|
|
/* 02458EEC */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02458EEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02458EF0 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02458EF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02458EF4 */ cpu->lr = cpu->r[0];
|
|
/* 02458EF8 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02458EF8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02458EFC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02458F00 */ return;
|
|
}
|
|
|
|
// fn_02458F04 @ 0x2458f04
|
|
void Gambit_fn_02458F04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02458F04: ; // 0x2458f04
|
|
/* 02458F04 */ cpu->r[5] = 0xFFFFFFFDu;
|
|
/* 02458F08 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02458F08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02458F08 */ cpu->r[1] = _t0;
|
|
/* 02458F0C */ cpu->r[10] = 0x101E0000u;
|
|
/* 02458F10 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02458F14 */ _t1 = cpu->r[10] + 0x0000791Cu;
|
|
/* 02458F14 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 02458F14 */ cpu->r[10] = _t1;
|
|
/* 02458F18 */ cpu->r[7] = 0x101E0000u;
|
|
/* 02458F1C */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 02458F1C */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 02458F20 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 02458F24 */ cpu->r[8] = 0x101E0000u;
|
|
/* 02458F28 */ _t3 = cpu->r[7] + 0x0000792Cu;
|
|
/* 02458F28 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 02458F28 */ cpu->r[7] = _t3;
|
|
/* 02458F2C */ _t4 = cpu->r[8] + 0x00007924u;
|
|
/* 02458F2C */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 02458F2C */ cpu->r[8] = _t4;
|
|
/* 02458F30 */ cpu->r[0] = 0x00000002u;
|
|
/* 02458F34 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 02458F34 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02458F38 */ cpu->r[8] = 0x101E0000u;
|
|
/* 02458F3C */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02458F3C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02458F40 */ cpu->r[12] = 0x101E0000u;
|
|
/* 02458F44 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 02458F44 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02458F48 */ _t8 = cpu->r[8] + 0x0000793Cu;
|
|
/* 02458F48 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 02458F48 */ cpu->r[8] = _t8;
|
|
/* 02458F4C */ _t9 = cpu->r[12] + 0x00007934u;
|
|
/* 02458F4C */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 02458F4C */ cpu->r[12] = _t9;
|
|
/* 02458F50 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 02458F50 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02458F54 */ cpu->r[0] = 0x00000004u;
|
|
/* 02458F58 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 02458F58 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02458F5C */ cpu->r[11] = 0x101E0000u;
|
|
/* 02458F60 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02458F60 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02458F64 */ _t13 = cpu->r[11] + 0x00007944u;
|
|
/* 02458F64 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02458F68 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02458F6C */ return;
|
|
}
|
|
|
|
// fn_02458F08 @ 0x2458f08
|
|
void Gambit_fn_02458F08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02458F08: ; // 0x2458f08
|
|
/* 02458F08 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02458F08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02458F08 */ cpu->r[1] = _t0;
|
|
/* 02458F0C */ cpu->r[10] = 0x101E0000u;
|
|
/* 02458F10 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02458F14 */ _t1 = cpu->r[10] + 0x0000791Cu;
|
|
/* 02458F14 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 02458F14 */ cpu->r[10] = _t1;
|
|
/* 02458F18 */ cpu->r[7] = 0x101E0000u;
|
|
/* 02458F1C */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 02458F1C */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 02458F20 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 02458F24 */ cpu->r[8] = 0x101E0000u;
|
|
/* 02458F28 */ _t3 = cpu->r[7] + 0x0000792Cu;
|
|
/* 02458F28 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 02458F28 */ cpu->r[7] = _t3;
|
|
/* 02458F2C */ _t4 = cpu->r[8] + 0x00007924u;
|
|
/* 02458F2C */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 02458F2C */ cpu->r[8] = _t4;
|
|
/* 02458F30 */ cpu->r[0] = 0x00000002u;
|
|
/* 02458F34 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 02458F34 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02458F38 */ cpu->r[8] = 0x101E0000u;
|
|
/* 02458F3C */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02458F3C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02458F40 */ cpu->r[12] = 0x101E0000u;
|
|
/* 02458F44 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 02458F44 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02458F48 */ _t8 = cpu->r[8] + 0x0000793Cu;
|
|
/* 02458F48 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 02458F48 */ cpu->r[8] = _t8;
|
|
/* 02458F4C */ _t9 = cpu->r[12] + 0x00007934u;
|
|
/* 02458F4C */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 02458F4C */ cpu->r[12] = _t9;
|
|
/* 02458F50 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 02458F50 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02458F54 */ cpu->r[0] = 0x00000004u;
|
|
/* 02458F58 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 02458F58 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02458F5C */ cpu->r[11] = 0x101E0000u;
|
|
/* 02458F60 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02458F60 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02458F64 */ _t13 = cpu->r[11] + 0x00007944u;
|
|
/* 02458F64 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02458F68 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02458F6C */ return;
|
|
}
|
|
|
|
// fn_02458F70 @ 0x2458f70
|
|
void Gambit_fn_02458F70(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_02458F70: ; // 0x2458f70
|
|
/* 02458F70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02458F74 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458F74 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02458F74 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02458F74 */ goto L_02458F78;
|
|
L_02458F78: ; // 0x2458f78
|
|
/* 02458F78 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02458F78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02458F7C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458F7C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02458F7C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02458F7C */ goto L_02458F80;
|
|
L_02458F80: ; // 0x2458f80
|
|
/* 02458F80 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 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 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) 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 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02458F84 @ 0x2458f84
|
|
void Gambit_fn_02458F84(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_02458F84: ; // 0x2458f84
|
|
/* 02458F84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02458F88 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458F88 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02458F88 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02458F88 */ goto L_02458F8C;
|
|
L_02458F8C: ; // 0x2458f8c
|
|
/* 02458F8C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02458F8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02458F90 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458F90 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02458F90 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02458F90 */ goto L_02458F94;
|
|
L_02458F94: ; // 0x2458f94
|
|
/* 02458F94 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 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 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) 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 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02458F98 @ 0x2458f98
|
|
void Gambit_fn_02458F98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02458F98: ; // 0x2458f98
|
|
/* 02458F98 */ cpu->r[0] = cpu->lr;
|
|
/* 02458F9C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02458F9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02458F9C */ cpu->r[1] = _t0;
|
|
/* 02458FA0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02458FA0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02458FA4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02458FA4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02458FA8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02458FA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02458FAC */ cpu->r[31] = cpu->r[4];
|
|
/* 02458FB0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02458FB0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02458FB4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458FB4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02458FB4 */ if (_t5) goto L_02459024; else goto L_02458FB8;
|
|
L_02458FB8: ; // 0x2458fb8
|
|
/* 02458FB8 */ cpu->r[0] = 0x100A0000u;
|
|
/* 02458FBC */ cpu->r[12] = 0x100A0000u;
|
|
/* 02458FC0 */ cpu->r[0] = cpu->r[0] + 0x00000A8Cu;
|
|
/* 02458FC4 */ cpu->r[12] = cpu->r[12] + 0x00000AACu;
|
|
/* 02458FC8 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02458FC8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02458FCC */ cpu->r[11] = 0x100A0000u;
|
|
/* 02458FD0 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 02458FD0 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02458FD4 */ cpu->r[11] = cpu->r[11] + 0x00000A9Cu;
|
|
/* 02458FD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02458FDC */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02458FDC */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02458FE0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458FE0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02458FE0 */ if (_t10) goto L_02459014; else goto L_02458FE4;
|
|
L_02458FE4: ; // 0x2458fe4
|
|
/* 02458FE4 */ cpu->r[10] = 0x10010000u;
|
|
/* 02458FE8 */ cpu->r[0] = 0x10010000u;
|
|
/* 02458FEC */ cpu->r[10] = cpu->r[10] + 0x00004B98u;
|
|
/* 02458FF0 */ cpu->r[0] = cpu->r[0] + 0x00004B88u;
|
|
/* 02458FF4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02458FF8 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02458FF8 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02458FFC */ cpu->r[0] = 0x10010000u;
|
|
/* 02459000 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02459000 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 02459004 */ cpu->r[0] = cpu->r[0] + 0x00004BA8u;
|
|
/* 02459008 */ cpu->r[4] = 0x00000000u;
|
|
/* 0245900C */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0245900C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02459010 */ Gambit_fn_02068798(cpu);
|
|
L_02459014: ; // 0x2459014
|
|
/* 02459014 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02459014 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02459018 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459018 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02459018 */ if (_t15) goto L_02459024; else goto L_0245901C;
|
|
L_0245901C: ; // 0x245901c
|
|
/* 0245901C */ cpu->r[3] = cpu->r[30];
|
|
/* 02459020 */ Gambit_fn_02801BB0(cpu);
|
|
L_02459024: ; // 0x2459024
|
|
/* 02459024 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02459024 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02459028 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02459028 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0245902C */ cpu->lr = cpu->r[0];
|
|
/* 02459030 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02459030 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02459034 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02459038 */ return;
|
|
}
|
|
|
|
// fn_02458F9C @ 0x2458f9c
|
|
void Gambit_fn_02458F9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02458F9C: ; // 0x2458f9c
|
|
/* 02458F9C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02458F9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02458F9C */ cpu->r[1] = _t0;
|
|
/* 02458FA0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02458FA0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02458FA4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02458FA4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02458FA8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02458FA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02458FAC */ cpu->r[31] = cpu->r[4];
|
|
/* 02458FB0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02458FB0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02458FB4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458FB4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02458FB4 */ if (_t5) goto L_02459024; else goto L_02458FB8;
|
|
L_02458FB8: ; // 0x2458fb8
|
|
/* 02458FB8 */ cpu->r[0] = 0x100A0000u;
|
|
/* 02458FBC */ cpu->r[12] = 0x100A0000u;
|
|
/* 02458FC0 */ cpu->r[0] = cpu->r[0] + 0x00000A8Cu;
|
|
/* 02458FC4 */ cpu->r[12] = cpu->r[12] + 0x00000AACu;
|
|
/* 02458FC8 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02458FC8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02458FCC */ cpu->r[11] = 0x100A0000u;
|
|
/* 02458FD0 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 02458FD0 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02458FD4 */ cpu->r[11] = cpu->r[11] + 0x00000A9Cu;
|
|
/* 02458FD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02458FDC */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02458FDC */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02458FE0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02458FE0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02458FE0 */ if (_t10) goto L_02459014; else goto L_02458FE4;
|
|
L_02458FE4: ; // 0x2458fe4
|
|
/* 02458FE4 */ cpu->r[10] = 0x10010000u;
|
|
/* 02458FE8 */ cpu->r[0] = 0x10010000u;
|
|
/* 02458FEC */ cpu->r[10] = cpu->r[10] + 0x00004B98u;
|
|
/* 02458FF0 */ cpu->r[0] = cpu->r[0] + 0x00004B88u;
|
|
/* 02458FF4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02458FF8 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02458FF8 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02458FFC */ cpu->r[0] = 0x10010000u;
|
|
/* 02459000 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02459000 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 02459004 */ cpu->r[0] = cpu->r[0] + 0x00004BA8u;
|
|
/* 02459008 */ cpu->r[4] = 0x00000000u;
|
|
/* 0245900C */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0245900C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02459010 */ Gambit_fn_02068798(cpu);
|
|
L_02459014: ; // 0x2459014
|
|
/* 02459014 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02459014 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02459018 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459018 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02459018 */ if (_t15) goto L_02459024; else goto L_0245901C;
|
|
L_0245901C: ; // 0x245901c
|
|
/* 0245901C */ cpu->r[3] = cpu->r[30];
|
|
/* 02459020 */ Gambit_fn_02801BB0(cpu);
|
|
L_02459024: ; // 0x2459024
|
|
/* 02459024 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02459024 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02459028 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02459028 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0245902C */ cpu->lr = cpu->r[0];
|
|
/* 02459030 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02459030 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02459034 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02459038 */ return;
|
|
}
|
|
|
|
// fn_0245903C @ 0x245903c
|
|
void Gambit_fn_0245903C(CPUState* cpu) {
|
|
L_0245903C: ; // 0x245903c
|
|
/* 0245903C */ return;
|
|
}
|
|
|
|
// fn_02459040 @ 0x2459040
|
|
void Gambit_fn_02459040(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02459040: ; // 0x2459040
|
|
/* 02459040 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 02459040 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02459044 */ return;
|
|
}
|
|
|
|
// fn_02459048 @ 0x2459048
|
|
void Gambit_fn_02459048(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02459048: ; // 0x2459048
|
|
/* 02459048 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 02459048 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245904C */ return;
|
|
}
|
|
|
|
// fn_02459050 @ 0x2459050
|
|
void Gambit_fn_02459050(CPUState* cpu) {
|
|
L_02459050: ; // 0x2459050
|
|
/* 02459050 */ return;
|
|
}
|
|
|
|
// fn_02459054 @ 0x2459054
|
|
void Gambit_fn_02459054(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_02459054: ; // 0x2459054
|
|
/* 02459054 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02459058 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459058 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02459058 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02459058 */ goto L_0245905C;
|
|
L_0245905C: ; // 0x245905c
|
|
/* 0245905C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0245905C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02459060 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459060 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02459060 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02459060 */ goto L_02459064;
|
|
L_02459064: ; // 0x2459064
|
|
/* 02459064 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 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 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) 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 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02459068 @ 0x2459068
|
|
void Gambit_fn_02459068(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02459068: ; // 0x2459068
|
|
/* 02459068 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02459068 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245906C */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 0245906C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02459070 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 02459074 */ cpu->r[11] = 0x10110000u;
|
|
/* 02459078 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 02459078 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0245907C */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0245907C */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 02459080 */ return;
|
|
}
|
|
|
|
// fn_02459084 @ 0x2459084
|
|
void Gambit_fn_02459084(CPUState* cpu) {
|
|
L_02459084: ; // 0x2459084
|
|
/* 02459084 */ return;
|
|
}
|
|
|
|
// fn_02459088 @ 0x2459088
|
|
void Gambit_fn_02459088(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02459088: ; // 0x2459088
|
|
/* 02459088 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02459088 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245908C */ cpu->r[9] = 0x10110000u;
|
|
/* 02459090 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02459090 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02459094 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02459098 */ _t2 = cpu->r[9] + 0x0000739Au;
|
|
/* 02459098 */ cpu->r[0] = rbrew_read16(cpu->mem, _t2);
|
|
/* 0245909C */ cpu->r[12] = cpu->r[12] + cpu->r[10];
|
|
/* 024590A0 */ _t3 = cpu->r[12] + 0xFFFFFFFEu;
|
|
/* 024590A0 */ rbrew_write16(cpu->mem, _t3, (uint16_t)cpu->r[0]);
|
|
/* 024590A4 */ return;
|
|
}
|
|
|
|
// fn_024590A8 @ 0x24590a8
|
|
void Gambit_fn_024590A8(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_024590A8: ; // 0x24590a8
|
|
/* 024590A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024590AC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024590AC */ _t1 = _t0 & 0x00000001u;
|
|
/* 024590AC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 024590AC */ goto L_024590B0;
|
|
L_024590B0: ; // 0x24590b0
|
|
/* 024590B0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 024590B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 024590B4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024590B4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 024590B4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 024590B4 */ goto L_024590B8;
|
|
L_024590B8: ; // 0x24590b8
|
|
/* 024590B8 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 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 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) 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 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_024590BC @ 0x24590bc
|
|
void Gambit_fn_024590BC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_024590BC: ; // 0x24590bc
|
|
/* 024590BC */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 024590BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 024590C0 */ return;
|
|
}
|
|
|
|
// fn_024590C4 @ 0x24590c4
|
|
void Gambit_fn_024590C4(CPUState* cpu) {
|
|
L_024590C4: ; // 0x24590c4
|
|
/* 024590C4 */ return;
|
|
}
|
|
|
|
// fn_024590C8 @ 0x24590c8
|
|
void Gambit_fn_024590C8(CPUState* cpu) {
|
|
L_024590C8: ; // 0x24590c8
|
|
/* 024590C8 */ return;
|
|
}
|
|
|
|
// fn_024590CC @ 0x24590cc
|
|
void Gambit_fn_024590CC(CPUState* cpu) {
|
|
L_024590CC: ; // 0x24590cc
|
|
/* 024590CC */ return;
|
|
}
|
|
|
|
// fn_024590D0 @ 0x24590d0
|
|
void Gambit_fn_024590D0(CPUState* cpu) {
|
|
L_024590D0: ; // 0x24590d0
|
|
/* 024590D0 */ return;
|
|
}
|
|
|
|
// fn_024590D4 @ 0x24590d4
|
|
void Gambit_fn_024590D4(CPUState* cpu) {
|
|
L_024590D4: ; // 0x24590d4
|
|
/* 024590D4 */ return;
|
|
}
|
|
|
|
// fn_024590D8 @ 0x24590d8
|
|
void Gambit_fn_024590D8(CPUState* cpu) {
|
|
L_024590D8: ; // 0x24590d8
|
|
/* 024590D8 */ cpu->r[3] = 0x00000001u;
|
|
/* 024590DC */ return;
|
|
}
|
|
|
|
// fn_024590E0 @ 0x24590e0
|
|
void Gambit_fn_024590E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_024590E0: ; // 0x24590e0
|
|
/* 024590E0 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 024590E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 024590E4 */ _t1 = cpu->r[12] + 0x0000000Cu;
|
|
/* 024590E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 024590E8 */ cpu->ctr = cpu->r[0];
|
|
/* 024590EC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_024590F0 @ 0x24590f0
|
|
void Gambit_fn_024590F0(CPUState* cpu) {
|
|
L_024590F0: ; // 0x24590f0
|
|
/* 024590F0 */ return;
|
|
}
|
|
|
|
// fn_024590F4 @ 0x24590f4
|
|
void Gambit_fn_024590F4(CPUState* cpu) {
|
|
L_024590F4: ; // 0x24590f4
|
|
/* 024590F4 */ cpu->r[3] = 0x00000000u;
|
|
/* 024590F8 */ return;
|
|
}
|
|
|
|
// fn_024590FC @ 0x24590fc
|
|
void Gambit_fn_024590FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_024590FC: ; // 0x24590fc
|
|
/* 024590FC */ cpu->r[9] = 0x101D0000u;
|
|
/* 02459100 */ _t0 = cpu->r[9] + 0xFFFFDBA0u;
|
|
/* 02459100 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02459100 */ cpu->r[9] = _t0;
|
|
/* 02459104 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02459108 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0245910C */ cpu->r[12] = cpu->r[12] + 0xFFFFED90u;
|
|
/* 02459110 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459110 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02459110 */ if (_t2) goto L_02459114; else goto L_02459128;
|
|
L_02459114: ; // 0x2459114
|
|
/* 02459114 */ cpu->r[7] = 0x100A0000u;
|
|
/* 02459118 */ cpu->r[0] = 0x00000001u;
|
|
/* 0245911C */ cpu->r[7] = cpu->r[7] + 0x00000898u;
|
|
/* 02459120 */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 02459120 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02459124 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 02459124 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_02459128: ; // 0x2459128
|
|
/* 02459128 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 0245912C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245912C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0245912C */ if (_t6) goto L_02459130; else goto L_02459138;
|
|
L_02459130: ; // 0x2459130
|
|
/* 02459130 */ cpu->r[3] = 0x00000001u;
|
|
/* 02459134 */ return;
|
|
L_02459138: ; // 0x2459138
|
|
/* 02459138 */ cpu->r[7] = 0x101D0000u;
|
|
/* 0245913C */ _t7 = cpu->r[7] + 0xFFFFDB98u;
|
|
/* 0245913C */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0245913C */ cpu->r[7] = _t7;
|
|
/* 02459140 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02459144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02459148 */ cpu->r[11] = cpu->r[11] + 0xFFFFED94u;
|
|
/* 0245914C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245914C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0245914C */ if (_t9) goto L_02459150; else goto L_02459164;
|
|
L_02459150: ; // 0x2459150
|
|
/* 02459150 */ cpu->r[0] = 0x100A0000u;
|
|
/* 02459154 */ cpu->r[9] = 0x00000001u;
|
|
/* 02459158 */ cpu->r[0] = cpu->r[0] + 0x000007F8u;
|
|
/* 0245915C */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 0245915C */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02459160 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 02459160 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02459164: ; // 0x2459164
|
|
/* 02459164 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 02459168 */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 0245916C */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 02459170 */ return;
|
|
}
|
|
|
|
// fn_02459174 @ 0x2459174
|
|
void Gambit_fn_02459174(CPUState* cpu) {
|
|
L_02459174: ; // 0x2459174
|
|
/* 02459174 */ return;
|
|
}
|
|
|
|
// fn_02459178 @ 0x2459178
|
|
void Gambit_fn_02459178(CPUState* cpu) {
|
|
L_02459178: ; // 0x2459178
|
|
/* 02459178 */ cpu->r[3] = 0x00000000u;
|
|
/* 0245917C */ return;
|
|
}
|
|
|
|
// fn_02459180 @ 0x2459180
|
|
void Gambit_fn_02459180(CPUState* cpu) {
|
|
L_02459180: ; // 0x2459180
|
|
/* 02459180 */ cpu->r[3] = 0x00000000u;
|
|
/* 02459184 */ return;
|
|
}
|
|
|
|
// fn_02459188 @ 0x2459188
|
|
void Gambit_fn_02459188(CPUState* cpu) {
|
|
L_02459188: ; // 0x2459188
|
|
/* 02459188 */ return;
|
|
}
|
|
|
|
// fn_0245918C @ 0x245918c
|
|
void Gambit_fn_0245918C(CPUState* cpu) {
|
|
L_0245918C: ; // 0x245918c
|
|
/* 0245918C */ return;
|
|
}
|
|
|
|
// fn_02459190 @ 0x2459190
|
|
void Gambit_fn_02459190(CPUState* cpu) {
|
|
L_02459190: ; // 0x2459190
|
|
/* 02459190 */ return;
|
|
}
|
|
|
|
// fn_02459194 @ 0x2459194
|
|
void Gambit_fn_02459194(CPUState* cpu) {
|
|
L_02459194: ; // 0x2459194
|
|
/* 02459194 */ return;
|
|
}
|
|
|
|
// fn_02459198 @ 0x2459198
|
|
void Gambit_fn_02459198(CPUState* cpu) {
|
|
L_02459198: ; // 0x2459198
|
|
/* 02459198 */ return;
|
|
}
|
|
|
|
// fn_0245919C @ 0x245919c
|
|
void Gambit_fn_0245919C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0206C894: ; // 0x206c894
|
|
/* 0206C894 */ cpu->r[0] = cpu->lr;
|
|
/* 0206C898 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0206C898 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0206C898 */ cpu->r[1] = _t0;
|
|
/* 0206C89C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0206C89C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0206C8A0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0206C8A4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0206C8A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0206C8A8 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 0206C8A8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0206C8AC */ cpu->r[12] = 0x00000000u;
|
|
/* 0206C8B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0206C8B4 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0206C8B4 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 0206C8B8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0206C8B8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0206C8B8 */ if (_t6) goto L_0206C8E0; else goto L_0206C8BC;
|
|
L_0206C8BC: ; // 0x206c8bc
|
|
/* 0206C8BC */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0206C8BC */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0206C8C0 */ /* nop */
|
|
/* 0206C8C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 0206C8C8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0206C8C8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0206C8C8 */ if (_t9) goto L_0206C8CC; else goto L_0206C8E0;
|
|
L_0206C8CC: ; // 0x206c8cc
|
|
/* 0206C8CC */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0206C8CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0206C8D0 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 0206C8D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0206C8D4 */ cpu->ctr = cpu->r[0];
|
|
/* 0206C8D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0206C8DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0206C8E0: ; // 0x206c8e0
|
|
/* 0206C8E0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0206C8E4 */ Gambit_fn_0206C80C(cpu);
|
|
/* 0206C8E8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0206C8EC */ Gambit_fn_027FC37C(cpu);
|
|
/* 0206C8F0 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0206C8F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0206C8F4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0206C8F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0206C8F8 */ cpu->lr = cpu->r[0];
|
|
/* 0206C8FC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0206C900 */ return;
|
|
L_0245919C: ; // 0x245919c
|
|
/* 0245919C */ cpu->r[3] = cpu->r[3] + 0x000001DCu;
|
|
/* 024591A0 */ goto L_0206C894;
|
|
}
|
|
|
|
// fn_024591A4 @ 0x24591a4
|
|
void Gambit_fn_024591A4(CPUState* cpu) {
|
|
L_024591A4: ; // 0x24591a4
|
|
/* 024591A4 */ return;
|
|
}
|
|
|
|
// fn_024591A8 @ 0x24591a8
|
|
void Gambit_fn_024591A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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_024591A8: ; // 0x24591a8
|
|
/* 024591A8 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 024591A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024591A8 */ cpu->r[1] = _t0;
|
|
/* 024591AC */ /* nop */
|
|
/* 024591B0 */ cpu->r[0] = cpu->lr;
|
|
/* 024591B4 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 024591B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 024591B8 */ cpu->r[30] = cpu->r[3];
|
|
/* 024591BC */ _t2 = cpu->r[30] + 0x00000028u;
|
|
/* 024591BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 024591C0 */ Gambit_fn_027E6E4C(cpu);
|
|
/* 024591C4 */ cpu->r[27] = 0x00000000u;
|
|
/* 024591C8 */ cpu->r[28] = cpu->r[30] + 0x0000003Cu;
|
|
/* 024591CC */ cpu->r[25] = cpu->r[3];
|
|
/* 024591D0 */ cpu->r[26] = cpu->r[27];
|
|
L_024591D4: ; // 0x24591d4
|
|
/* 024591D4 */ cpu->r[31] = cpu->r[26];
|
|
/* 024591D8 */ cpu->r[29] = cpu->r[28] + cpu->r[26];
|
|
L_024591DC: ; // 0x24591dc
|
|
/* 024591DC */ cpu->r[3] = 0x00000640u;
|
|
/* 024591E0 */ Gambit_fn_02801A78(cpu);
|
|
/* 024591E4 */ cpu->r[0] = cpu->r[3];
|
|
/* 024591E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 024591E8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024591E8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 024591E8 */ if (_t4) goto L_024591F8; else goto L_024591EC;
|
|
L_024591EC: ; // 0x24591ec
|
|
/* 024591EC */ cpu->r[3] = cpu->r[0];
|
|
/* 024591F0 */ Gambit_fn_02973EC8(cpu);
|
|
/* 024591F4 */ cpu->r[0] = cpu->r[3];
|
|
L_024591F8: ; // 0x24591f8
|
|
/* 024591F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], 0x00000017u);
|
|
/* 024591FC */ _t5 = cpu->r[29] + 0x00000000u;
|
|
/* 024591FC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02459200 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02459200 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02459200 */ if (_t7) goto L_02459204; else goto L_0245923C;
|
|
L_02459204: ; // 0x2459204
|
|
/* 02459204 */ _t8 = cpu->r[28] + cpu->r[31];
|
|
/* 02459204 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02459208 */ cpu->r[6] = 0x00000000u;
|
|
/* 0245920C */ cpu->r[5] = 0x00000002u;
|
|
/* 02459210 */ cpu->r[4] = cpu->r[25];
|
|
/* 02459214 */ Gambit_fn_029741BC(cpu);
|
|
/* 02459218 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 0245921C */ cpu->r[31] = cpu->r[31] + 0x00000004u;
|
|
/* 02459220 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000017u);
|
|
/* 02459224 */ cpu->r[26] = cpu->r[26] + 0x00000004u;
|
|
/* 02459228 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02459228 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02459228 */ if (_t10) goto L_0245922C; else goto L_02459264;
|
|
L_0245922C: ; // 0x245922c
|
|
/* 0245922C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], 0x00000017u);
|
|
/* 02459230 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02459230 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02459230 */ if (_t12) goto L_024591D4; else goto L_02459234;
|
|
L_02459234: ; // 0x2459234
|
|
/* 02459234 */ cpu->r[29] = cpu->r[28];
|
|
/* 02459238 */ goto L_024591DC;
|
|
L_0245923C: ; // 0x245923c
|
|
/* 0245923C */ _t13 = cpu->r[28] + 0x00000000u;
|
|
/* 0245923C */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02459240 */ cpu->r[6] = 0x00000000u;
|
|
/* 02459244 */ cpu->r[5] = 0x00000002u;
|
|
/* 02459248 */ cpu->r[4] = cpu->r[25];
|
|
/* 0245924C */ Gambit_fn_029741BC(cpu);
|
|
/* 02459250 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 02459254 */ cpu->r[31] = cpu->r[31] + 0x00000004u;
|
|
/* 02459258 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000017u);
|
|
/* 0245925C */ cpu->r[26] = cpu->r[26] + 0x00000004u;
|
|
/* 02459260 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02459260 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02459260 */ if (_t15) goto L_0245922C; else goto L_02459264;
|
|
L_02459264: ; // 0x2459264
|
|
/* 02459264 */ cpu->r[31] = 0x00010000u;
|
|
/* 02459268 */ cpu->r[29] = 0x00000000u;
|
|
/* 0245926C */ cpu->r[27] = cpu->r[30] + 0x00000098u;
|
|
/* 02459270 */ cpu->r[31] = cpu->r[31] + 0x00000205u;
|
|
/* 02459274 */ cpu->r[26] = cpu->r[29];
|
|
L_02459278: ; // 0x2459278
|
|
/* 02459278 */ cpu->r[25] = 0x00000001u;
|
|
/* 0245927C */ cpu->r[24] = cpu->r[26];
|
|
/* 02459280 */ cpu->r[30] = cpu->r[27] + cpu->r[26];
|
|
L_02459284: ; // 0x2459284
|
|
/* 02459284 */ cpu->r[3] = 0x0000036Cu;
|
|
/* 02459288 */ Gambit_fn_02801A78(cpu);
|
|
/* 0245928C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02459290 */ cpu->r[12] = cpu->r[3];
|
|
/* 02459294 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459294 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02459294 */ if (_t17) goto L_024592A0; else goto L_02459298;
|
|
L_02459298: ; // 0x2459298
|
|
/* 02459298 */ Gambit_fn_02800E08(cpu);
|
|
/* 0245929C */ cpu->r[12] = cpu->r[3];
|
|
L_024592A0: ; // 0x24592a0
|
|
/* 024592A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], 0x00000017u);
|
|
/* 024592A4 */ _t18 = cpu->r[30] + 0x00000000u;
|
|
/* 024592A4 */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
|
|
/* 024592A8 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024592A8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 024592A8 */ if (_t20) goto L_024592AC; else goto L_024592BC;
|
|
L_024592AC: ; // 0x24592ac
|
|
/* 024592AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], 0x00000017u);
|
|
/* 024592B0 */ cpu->r[9] = cpu->r[27] + cpu->r[24];
|
|
/* 024592B4 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024592B4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 024592B4 */ if (_t22) goto L_024592C8; else goto L_024592B8;
|
|
L_024592B8: ; // 0x24592b8
|
|
/* 024592B8 */ goto L_024592E4;
|
|
L_024592BC: ; // 0x24592bc
|
|
/* 024592BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], 0x00000017u);
|
|
/* 024592C0 */ cpu->r[9] = cpu->r[27];
|
|
/* 024592C4 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024592C4 */ _t24 = _t23 & 0x00000001u;
|
|
/* 024592C4 */ if (_t24) goto L_024592C8; else goto L_024592E4;
|
|
L_024592C8: ; // 0x24592c8
|
|
/* 024592C8 */ _t25 = cpu->r[28] + cpu->r[24];
|
|
/* 024592C8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t25);
|
|
/* 024592CC */ _t26 = cpu->r[9] + 0x00000000u;
|
|
/* 024592CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 024592D0 */ cpu->r[4] = cpu->r[7] + 0x00000250u;
|
|
/* 024592D4 */ Gambit_fn_02800EE4(cpu);
|
|
/* 024592D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], 0x00000017u);
|
|
/* 024592DC */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024592DC */ _t28 = _t27 & 0x00000001u;
|
|
/* 024592DC */ if (_t28) goto L_024592FC; else goto L_024592E0;
|
|
L_024592E0: ; // 0x24592e0
|
|
/* 024592E0 */ goto L_0245932C;
|
|
L_024592E4: ; // 0x24592e4
|
|
/* 024592E4 */ _t29 = cpu->r[28] + 0x00000000u;
|
|
/* 024592E4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t29);
|
|
/* 024592E8 */ _t30 = cpu->r[9] + 0x00000000u;
|
|
/* 024592E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
|
|
/* 024592EC */ cpu->r[4] = cpu->r[7] + 0x00000250u;
|
|
/* 024592F0 */ Gambit_fn_02800EE4(cpu);
|
|
/* 024592F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], 0x00000017u);
|
|
/* 024592F8 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024592F8 */ _t32 = _t31 & 0x00000001u;
|
|
/* 024592F8 */ if (_t32) goto L_024592FC; else goto L_0245932C;
|
|
L_024592FC: ; // 0x24592fc
|
|
/* 024592FC */ _t33 = cpu->r[27] + cpu->r[24];
|
|
/* 024592FC */ cpu->r[8] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02459300 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02459304 */ cpu->r[26] = cpu->r[26] + 0x00000004u;
|
|
/* 02459308 */ _t34 = cpu->r[8] + 0x00000368u;
|
|
/* 02459308 */ rbrew_write32(cpu->mem, _t34, cpu->r[31]);
|
|
/* 0245930C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000017u);
|
|
/* 02459310 */ cpu->r[24] = cpu->r[24] + 0x00000004u;
|
|
/* 02459314 */ _t35 = cpu->r[8] + 0x00000364u;
|
|
/* 02459314 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[25]);
|
|
/* 02459318 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02459318 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02459318 */ if (_t37) goto L_0245931C; else goto L_0245934C;
|
|
L_0245931C: ; // 0x245931c
|
|
/* 0245931C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], 0x00000017u);
|
|
/* 02459320 */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02459320 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02459320 */ if (_t39) goto L_02459278; else goto L_02459324;
|
|
L_02459324: ; // 0x2459324
|
|
/* 02459324 */ cpu->r[30] = cpu->r[27];
|
|
/* 02459328 */ goto L_02459284;
|
|
L_0245932C: ; // 0x245932c
|
|
/* 0245932C */ _t40 = cpu->r[27] + 0x00000000u;
|
|
/* 0245932C */ cpu->r[8] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02459330 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02459334 */ cpu->r[26] = cpu->r[26] + 0x00000004u;
|
|
/* 02459338 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000017u);
|
|
/* 0245933C */ _t41 = cpu->r[8] + 0x00000368u;
|
|
/* 0245933C */ rbrew_write32(cpu->mem, _t41, cpu->r[31]);
|
|
/* 02459340 */ cpu->r[24] = cpu->r[24] + 0x00000004u;
|
|
/* 02459344 */ _t42 = cpu->r[8] + 0x00000364u;
|
|
/* 02459344 */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[25]);
|
|
/* 02459348 */ _t43 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02459348 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02459348 */ if (_t44) goto L_0245931C; else goto L_0245934C;
|
|
L_0245934C: ; // 0x245934c
|
|
/* 0245934C */ /* nop */
|
|
/* 02459350 */ _t45 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02459350 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02459354 */ cpu->lr = cpu->r[0];
|
|
/* 02459358 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0245935C */ return;
|
|
}
|
|
|
|
// fn_02459360 @ 0x2459360
|
|
void Gambit_fn_02459360(CPUState* 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_02459360: ; // 0x2459360
|
|
/* 02459360 */ cpu->r[0] = cpu->lr;
|
|
/* 02459364 */ _t0 = cpu->r[1] + 0xFFFFFEA0u;
|
|
/* 02459364 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02459364 */ cpu->r[1] = _t0;
|
|
/* 02459368 */ _t1 = cpu->r[1] + 0x0000015Cu;
|
|
/* 02459368 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245936C */ _t2 = cpu->r[1] + 0x00000164u;
|
|
/* 0245936C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02459370 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02459370 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02459374 */ _t4 = cpu->r[11] + 0x00000064u;
|
|
/* 02459374 */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02459378 */ cpu->ctr = cpu->r[6];
|
|
/* 0245937C */ cpu->r[31] = cpu->r[3];
|
|
/* 02459380 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02459384 */ cpu->r[4] = cpu->r[3];
|
|
/* 02459388 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0245938C */ Gambit_fn_026D6C54(cpu);
|
|
/* 02459390 */ _t5 = cpu->r[31] + 0x00000028u;
|
|
/* 02459390 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02459394 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02459398 */ cpu->r[5] = 0x00000001u;
|
|
/* 0245939C */ Gambit_fn_026D6F40(cpu);
|
|
/* 024593A0 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 024593A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 024593A4 */ _t7 = cpu->r[9] + 0x00000064u;
|
|
/* 024593A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 024593A8 */ cpu->ctr = cpu->r[0];
|
|
/* 024593AC */ cpu->r[3] = cpu->r[31];
|
|
/* 024593B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024593B4 */ cpu->r[4] = cpu->r[3];
|
|
/* 024593B8 */ cpu->r[3] = cpu->r[1] + 0x000000B0u;
|
|
/* 024593BC */ Gambit_fn_026D6C54(cpu);
|
|
/* 024593C0 */ _t8 = cpu->r[31] + 0x0000002Cu;
|
|
/* 024593C0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t8);
|
|
/* 024593C4 */ cpu->r[3] = cpu->r[1] + 0x000000B0u;
|
|
/* 024593C8 */ cpu->r[5] = 0x00000001u;
|
|
/* 024593CC */ Gambit_fn_026D6F40(cpu);
|
|
/* 024593D0 */ cpu->r[3] = 0x000006E8u;
|
|
/* 024593D4 */ Gambit_fn_02801A78(cpu);
|
|
/* 024593D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024593DC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024593DC */ _t10 = _t9 & 0x00000001u;
|
|
/* 024593DC */ if (_t10) goto L_024593E4; else goto L_024593E0;
|
|
L_024593E0: ; // 0x24593e0
|
|
/* 024593E0 */ Gambit_fn_02458A54(cpu);
|
|
L_024593E4: ; // 0x24593e4
|
|
/* 024593E4 */ _t11 = cpu->r[31] + 0x00000034u;
|
|
/* 024593E4 */ rbrew_write32(cpu->mem, _t11, cpu->r[3]);
|
|
/* 024593E8 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 024593E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 024593EC */ _t13 = cpu->r[12] + 0x00000034u;
|
|
/* 024593EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 024593F0 */ cpu->ctr = cpu->r[0];
|
|
/* 024593F4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 024593F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024593FC */ cpu->r[3] = 0x00000244u;
|
|
/* 02459400 */ Gambit_fn_02801A78(cpu);
|
|
/* 02459404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02459408 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459408 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02459408 */ if (_t15) goto L_02459410; else goto L_0245940C;
|
|
L_0245940C: ; // 0x245940c
|
|
/* 0245940C */ Gambit_fn_02459888(cpu);
|
|
L_02459410: ; // 0x2459410
|
|
/* 02459410 */ _t16 = cpu->r[31] + 0x00000038u;
|
|
/* 02459410 */ rbrew_write32(cpu->mem, _t16, cpu->r[3]);
|
|
/* 02459414 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 02459414 */ cpu->r[7] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02459418 */ _t18 = cpu->r[7] + 0x00000034u;
|
|
/* 02459418 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0245941C */ cpu->ctr = cpu->r[8];
|
|
/* 02459420 */ cpu->r[4] = cpu->r[1] + 0x000000B0u;
|
|
/* 02459424 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02459428 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245942C */ Gambit_fn_024591A8(cpu);
|
|
/* 02459430 */ _t19 = cpu->r[1] + 0x00000164u;
|
|
/* 02459430 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02459434 */ _t20 = cpu->r[1] + 0x0000015Cu;
|
|
/* 02459434 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02459438 */ cpu->lr = cpu->r[0];
|
|
/* 0245943C */ cpu->r[1] = cpu->r[1] + 0x00000160u;
|
|
/* 02459440 */ return;
|
|
}
|
|
|
|
// fn_02459364 @ 0x2459364
|
|
void Gambit_fn_02459364(CPUState* 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_02459364: ; // 0x2459364
|
|
/* 02459364 */ _t0 = cpu->r[1] + 0xFFFFFEA0u;
|
|
/* 02459364 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02459364 */ cpu->r[1] = _t0;
|
|
/* 02459368 */ _t1 = cpu->r[1] + 0x0000015Cu;
|
|
/* 02459368 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245936C */ _t2 = cpu->r[1] + 0x00000164u;
|
|
/* 0245936C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02459370 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02459370 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02459374 */ _t4 = cpu->r[11] + 0x00000064u;
|
|
/* 02459374 */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02459378 */ cpu->ctr = cpu->r[6];
|
|
/* 0245937C */ cpu->r[31] = cpu->r[3];
|
|
/* 02459380 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02459384 */ cpu->r[4] = cpu->r[3];
|
|
/* 02459388 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0245938C */ Gambit_fn_026D6C54(cpu);
|
|
/* 02459390 */ _t5 = cpu->r[31] + 0x00000028u;
|
|
/* 02459390 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02459394 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02459398 */ cpu->r[5] = 0x00000001u;
|
|
/* 0245939C */ Gambit_fn_026D6F40(cpu);
|
|
/* 024593A0 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 024593A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 024593A4 */ _t7 = cpu->r[9] + 0x00000064u;
|
|
/* 024593A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 024593A8 */ cpu->ctr = cpu->r[0];
|
|
/* 024593AC */ cpu->r[3] = cpu->r[31];
|
|
/* 024593B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024593B4 */ cpu->r[4] = cpu->r[3];
|
|
/* 024593B8 */ cpu->r[3] = cpu->r[1] + 0x000000B0u;
|
|
/* 024593BC */ Gambit_fn_026D6C54(cpu);
|
|
/* 024593C0 */ _t8 = cpu->r[31] + 0x0000002Cu;
|
|
/* 024593C0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t8);
|
|
/* 024593C4 */ cpu->r[3] = cpu->r[1] + 0x000000B0u;
|
|
/* 024593C8 */ cpu->r[5] = 0x00000001u;
|
|
/* 024593CC */ Gambit_fn_026D6F40(cpu);
|
|
/* 024593D0 */ cpu->r[3] = 0x000006E8u;
|
|
/* 024593D4 */ Gambit_fn_02801A78(cpu);
|
|
/* 024593D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024593DC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024593DC */ _t10 = _t9 & 0x00000001u;
|
|
/* 024593DC */ if (_t10) goto L_024593E4; else goto L_024593E0;
|
|
L_024593E0: ; // 0x24593e0
|
|
/* 024593E0 */ Gambit_fn_02458A54(cpu);
|
|
L_024593E4: ; // 0x24593e4
|
|
/* 024593E4 */ _t11 = cpu->r[31] + 0x00000034u;
|
|
/* 024593E4 */ rbrew_write32(cpu->mem, _t11, cpu->r[3]);
|
|
/* 024593E8 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 024593E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 024593EC */ _t13 = cpu->r[12] + 0x00000034u;
|
|
/* 024593EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 024593F0 */ cpu->ctr = cpu->r[0];
|
|
/* 024593F4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 024593F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024593FC */ cpu->r[3] = 0x00000244u;
|
|
/* 02459400 */ Gambit_fn_02801A78(cpu);
|
|
/* 02459404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02459408 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459408 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02459408 */ if (_t15) goto L_02459410; else goto L_0245940C;
|
|
L_0245940C: ; // 0x245940c
|
|
/* 0245940C */ Gambit_fn_02459888(cpu);
|
|
L_02459410: ; // 0x2459410
|
|
/* 02459410 */ _t16 = cpu->r[31] + 0x00000038u;
|
|
/* 02459410 */ rbrew_write32(cpu->mem, _t16, cpu->r[3]);
|
|
/* 02459414 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 02459414 */ cpu->r[7] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02459418 */ _t18 = cpu->r[7] + 0x00000034u;
|
|
/* 02459418 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0245941C */ cpu->ctr = cpu->r[8];
|
|
/* 02459420 */ cpu->r[4] = cpu->r[1] + 0x000000B0u;
|
|
/* 02459424 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02459428 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245942C */ Gambit_fn_024591A8(cpu);
|
|
/* 02459430 */ _t19 = cpu->r[1] + 0x00000164u;
|
|
/* 02459430 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02459434 */ _t20 = cpu->r[1] + 0x0000015Cu;
|
|
/* 02459434 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02459438 */ cpu->lr = cpu->r[0];
|
|
/* 0245943C */ cpu->r[1] = cpu->r[1] + 0x00000160u;
|
|
/* 02459440 */ return;
|
|
}
|
|
|
|
// fn_02459444 @ 0x2459444
|
|
void Gambit_fn_02459444(CPUState* 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_02459360: ; // 0x2459360
|
|
/* 02459360 */ cpu->r[0] = cpu->lr;
|
|
/* 02459364 */ _t0 = cpu->r[1] + 0xFFFFFEA0u;
|
|
/* 02459364 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02459364 */ cpu->r[1] = _t0;
|
|
/* 02459368 */ _t1 = cpu->r[1] + 0x0000015Cu;
|
|
/* 02459368 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245936C */ _t2 = cpu->r[1] + 0x00000164u;
|
|
/* 0245936C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02459370 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02459370 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02459374 */ _t4 = cpu->r[11] + 0x00000064u;
|
|
/* 02459374 */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02459378 */ cpu->ctr = cpu->r[6];
|
|
/* 0245937C */ cpu->r[31] = cpu->r[3];
|
|
/* 02459380 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02459384 */ cpu->r[4] = cpu->r[3];
|
|
/* 02459388 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0245938C */ Gambit_fn_026D6C54(cpu);
|
|
/* 02459390 */ _t5 = cpu->r[31] + 0x00000028u;
|
|
/* 02459390 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02459394 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02459398 */ cpu->r[5] = 0x00000001u;
|
|
/* 0245939C */ Gambit_fn_026D6F40(cpu);
|
|
/* 024593A0 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 024593A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 024593A4 */ _t7 = cpu->r[9] + 0x00000064u;
|
|
/* 024593A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 024593A8 */ cpu->ctr = cpu->r[0];
|
|
/* 024593AC */ cpu->r[3] = cpu->r[31];
|
|
/* 024593B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024593B4 */ cpu->r[4] = cpu->r[3];
|
|
/* 024593B8 */ cpu->r[3] = cpu->r[1] + 0x000000B0u;
|
|
/* 024593BC */ Gambit_fn_026D6C54(cpu);
|
|
/* 024593C0 */ _t8 = cpu->r[31] + 0x0000002Cu;
|
|
/* 024593C0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t8);
|
|
/* 024593C4 */ cpu->r[3] = cpu->r[1] + 0x000000B0u;
|
|
/* 024593C8 */ cpu->r[5] = 0x00000001u;
|
|
/* 024593CC */ Gambit_fn_026D6F40(cpu);
|
|
/* 024593D0 */ cpu->r[3] = 0x000006E8u;
|
|
/* 024593D4 */ Gambit_fn_02801A78(cpu);
|
|
/* 024593D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024593DC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024593DC */ _t10 = _t9 & 0x00000001u;
|
|
/* 024593DC */ if (_t10) goto L_024593E4; else goto L_024593E0;
|
|
L_024593E0: ; // 0x24593e0
|
|
/* 024593E0 */ Gambit_fn_02458A54(cpu);
|
|
L_024593E4: ; // 0x24593e4
|
|
/* 024593E4 */ _t11 = cpu->r[31] + 0x00000034u;
|
|
/* 024593E4 */ rbrew_write32(cpu->mem, _t11, cpu->r[3]);
|
|
/* 024593E8 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 024593E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 024593EC */ _t13 = cpu->r[12] + 0x00000034u;
|
|
/* 024593EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 024593F0 */ cpu->ctr = cpu->r[0];
|
|
/* 024593F4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 024593F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024593FC */ cpu->r[3] = 0x00000244u;
|
|
/* 02459400 */ Gambit_fn_02801A78(cpu);
|
|
/* 02459404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02459408 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459408 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02459408 */ if (_t15) goto L_02459410; else goto L_0245940C;
|
|
L_0245940C: ; // 0x245940c
|
|
/* 0245940C */ Gambit_fn_02459888(cpu);
|
|
L_02459410: ; // 0x2459410
|
|
/* 02459410 */ _t16 = cpu->r[31] + 0x00000038u;
|
|
/* 02459410 */ rbrew_write32(cpu->mem, _t16, cpu->r[3]);
|
|
/* 02459414 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 02459414 */ cpu->r[7] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02459418 */ _t18 = cpu->r[7] + 0x00000034u;
|
|
/* 02459418 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0245941C */ cpu->ctr = cpu->r[8];
|
|
/* 02459420 */ cpu->r[4] = cpu->r[1] + 0x000000B0u;
|
|
/* 02459424 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02459428 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245942C */ Gambit_fn_024591A8(cpu);
|
|
/* 02459430 */ _t19 = cpu->r[1] + 0x00000164u;
|
|
/* 02459430 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02459434 */ _t20 = cpu->r[1] + 0x0000015Cu;
|
|
/* 02459434 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02459438 */ cpu->lr = cpu->r[0];
|
|
/* 0245943C */ cpu->r[1] = cpu->r[1] + 0x00000160u;
|
|
/* 02459440 */ return;
|
|
L_02459444: ; // 0x2459444
|
|
/* 02459444 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 02459448 */ goto L_02459360;
|
|
}
|
|
|
|
// fn_0245944C @ 0x245944c
|
|
void Gambit_fn_0245944C(CPUState* cpu) {
|
|
L_0245944C: ; // 0x245944c
|
|
/* 0245944C */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 02459450 */ goto L_02459828;
|
|
L_02459828: ; // 0x2459828
|
|
/* 02459828 */ return;
|
|
}
|
|
|
|
// fn_02459454 @ 0x2459454
|
|
void Gambit_fn_02459454(CPUState* cpu) {
|
|
L_02459454: ; // 0x2459454
|
|
/* 02459454 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 02459458 */ goto L_0245982C;
|
|
L_0245982C: ; // 0x245982c
|
|
/* 0245982C */ return;
|
|
}
|
|
|
|
// fn_0245945C @ 0x245945c
|
|
void Gambit_fn_0245945C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _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_0245945C: ; // 0x245945c
|
|
/* 0245945C */ cpu->r[0] = cpu->lr;
|
|
/* 02459460 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02459460 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02459460 */ cpu->r[1] = _t0;
|
|
/* 02459464 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02459464 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02459468 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02459468 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0245946C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0245946C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02459470 */ cpu->r[30] = cpu->r[3];
|
|
/* 02459474 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02459474 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02459478 */ _t5 = cpu->r[30] + 0x00000028u;
|
|
/* 02459478 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0245947C */ Gambit_fn_027E6E4C(cpu);
|
|
/* 02459480 */ _t6 = cpu->r[30] + 0x00000034u;
|
|
/* 02459480 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02459484 */ _t7 = cpu->r[8] + 0x00000118u;
|
|
/* 02459484 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02459488 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02459488 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0245948C */ cpu->r[29] = cpu->r[3];
|
|
/* 02459490 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459490 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02459490 */ if (_t9) goto L_02459494; else goto L_02459580;
|
|
L_02459494: ; // 0x2459494
|
|
/* 02459494 */ _t10 = cpu->r[30] + 0x0000010Cu;
|
|
/* 02459494 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02459498 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0245949C */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245949C */ _t12 = _t11 & 0x00000001u;
|
|
/* 0245949C */ if (_t12) goto L_024594BC; else goto L_024594A0;
|
|
L_024594A0: ; // 0x24594a0
|
|
/* 024594A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000017u);
|
|
/* 024594A4 */ cpu->r[11] = cpu->r[30] + 0x000000F4u;
|
|
/* 024594A8 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024594A8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 024594A8 */ if (_t14) goto L_024594AC; else goto L_024594B0;
|
|
L_024594AC: ; // 0x24594ac
|
|
/* 024594AC */ cpu->r[11] = cpu->r[11] + cpu->r[12];
|
|
L_024594B0: ; // 0x24594b0
|
|
/* 024594B0 */ cpu->r[0] = 0x00000001u;
|
|
/* 024594B4 */ _t15 = cpu->r[11] + 0x00000000u;
|
|
/* 024594B4 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[0]);
|
|
/* 024594B8 */ _t16 = cpu->r[30] + 0x0000010Cu;
|
|
/* 024594B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
L_024594BC: ; // 0x24594bc
|
|
/* 024594BC */ cpu->r[0] = cpu->r[12] + 0x00000001u;
|
|
/* 024594C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000017u);
|
|
/* 024594C4 */ _t17 = cpu->r[30] + 0x0000010Cu;
|
|
/* 024594C4 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 024594C8 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 024594C8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 024594C8 */ if (_t19) goto L_02459580; else goto L_024594CC;
|
|
L_024594CC: ; // 0x24594cc
|
|
/* 024594CC */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024594CC */ _t21 = _t20 & 0x00000001u;
|
|
/* 024594CC */ if (_t21) goto L_024594D0; else goto L_02459560;
|
|
L_024594D0: ; // 0x24594d0
|
|
/* 024594D0 */ _t22 = cpu->r[29] + 0x00000050u;
|
|
/* 024594D0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 024594D4 */ cpu->r[10] = cpu->r[10] | 0x00000001u;
|
|
/* 024594D8 */ _t23 = cpu->r[29] + 0x00000050u;
|
|
/* 024594D8 */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
|
|
/* 024594DC */ _t24 = cpu->r[30] + 0x00000034u;
|
|
/* 024594DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 024594E0 */ _t25 = cpu->r[30] + 0x0000010Cu;
|
|
/* 024594E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t25);
|
|
/* 024594E4 */ Gambit_fn_02458D38(cpu);
|
|
/* 024594E8 */ _t26 = cpu->r[30] + 0x0000010Cu;
|
|
/* 024594E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 024594EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000017u);
|
|
/* 024594F0 */ cpu->r[31] = cpu->r[30] + 0x0000003Cu;
|
|
/* 024594F4 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024594F4 */ _t28 = _t27 & 0x00000001u;
|
|
/* 024594F4 */ if (_t28) goto L_024594F8; else goto L_02459518;
|
|
L_024594F8: ; // 0x24594f8
|
|
/* 024594F8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 024594FC */ _t29 = cpu->r[31] + cpu->r[0];
|
|
/* 024594FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02459500 */ cpu->r[4] = cpu->r[29];
|
|
/* 02459504 */ Gambit_fn_02974144(cpu);
|
|
/* 02459508 */ _t30 = cpu->r[30] + 0x0000010Cu;
|
|
/* 02459508 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0245950C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000017u);
|
|
/* 02459510 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02459510 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02459510 */ if (_t32) goto L_02459530; else goto L_02459514;
|
|
L_02459514: ; // 0x2459514
|
|
/* 02459514 */ goto L_02459538;
|
|
L_02459518: ; // 0x2459518
|
|
/* 02459518 */ _t33 = cpu->r[31] + 0x00000000u;
|
|
/* 02459518 */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0245951C */ cpu->r[4] = cpu->r[29];
|
|
/* 02459520 */ Gambit_fn_02974144(cpu);
|
|
/* 02459524 */ _t34 = cpu->r[30] + 0x0000010Cu;
|
|
/* 02459524 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02459528 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000017u);
|
|
/* 0245952C */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245952C */ _t36 = _t35 & 0x00000001u;
|
|
/* 0245952C */ if (_t36) goto L_02459530; else goto L_02459514;
|
|
L_02459530: ; // 0x2459530
|
|
/* 02459530 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02459534 */ cpu->r[31] = cpu->r[31] + cpu->r[8];
|
|
L_02459538: ; // 0x2459538
|
|
/* 02459538 */ _t37 = cpu->r[31] + 0x00000000u;
|
|
/* 02459538 */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0245953C */ cpu->r[10] = 0x00000001u;
|
|
/* 02459540 */ _t38 = cpu->r[12] + 0x000002DCu;
|
|
/* 02459540 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[10]);
|
|
/* 02459544 */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02459544 */ cpu->r[29] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02459548 */ _t40 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02459548 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0245954C */ _t41 = cpu->r[1] + 0x00000010u;
|
|
/* 0245954C */ cpu->r[30] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02459550 */ cpu->lr = cpu->r[0];
|
|
/* 02459554 */ _t42 = cpu->r[1] + 0x00000014u;
|
|
/* 02459554 */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02459558 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0245955C */ return;
|
|
L_02459560: ; // 0x2459560
|
|
/* 02459560 */ _t43 = cpu->r[29] + 0x00000050u;
|
|
/* 02459560 */ cpu->r[12] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02459564 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000000u, 0x0000001Eu);
|
|
/* 02459568 */ _t44 = cpu->r[29] + 0x00000050u;
|
|
/* 02459568 */ rbrew_write32(cpu->mem, _t44, cpu->r[12]);
|
|
/* 0245956C */ _t45 = cpu->r[30] + 0x00000034u;
|
|
/* 0245956C */ cpu->r[3] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02459570 */ _t46 = cpu->r[3] + 0x00000000u;
|
|
/* 02459570 */ cpu->r[8] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02459574 */ _t47 = cpu->r[8] + 0x00000094u;
|
|
/* 02459574 */ cpu->r[9] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02459578 */ cpu->ctr = cpu->r[9];
|
|
/* 0245957C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02459580: ; // 0x2459580
|
|
/* 02459580 */ _t48 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02459580 */ cpu->r[29] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02459584 */ _t49 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02459584 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02459588 */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 02459588 */ cpu->r[30] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0245958C */ cpu->lr = cpu->r[0];
|
|
/* 02459590 */ _t51 = cpu->r[1] + 0x00000014u;
|
|
/* 02459590 */ cpu->r[31] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02459594 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02459598 */ return;
|
|
}
|
|
|
|
// fn_02459460 @ 0x2459460
|
|
void Gambit_fn_02459460(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _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_02459460: ; // 0x2459460
|
|
/* 02459460 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02459460 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02459460 */ cpu->r[1] = _t0;
|
|
/* 02459464 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02459464 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02459468 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02459468 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0245946C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0245946C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02459470 */ cpu->r[30] = cpu->r[3];
|
|
/* 02459474 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02459474 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02459478 */ _t5 = cpu->r[30] + 0x00000028u;
|
|
/* 02459478 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0245947C */ Gambit_fn_027E6E4C(cpu);
|
|
/* 02459480 */ _t6 = cpu->r[30] + 0x00000034u;
|
|
/* 02459480 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02459484 */ _t7 = cpu->r[8] + 0x00000118u;
|
|
/* 02459484 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02459488 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02459488 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0245948C */ cpu->r[29] = cpu->r[3];
|
|
/* 02459490 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459490 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02459490 */ if (_t9) goto L_02459494; else goto L_02459580;
|
|
L_02459494: ; // 0x2459494
|
|
/* 02459494 */ _t10 = cpu->r[30] + 0x0000010Cu;
|
|
/* 02459494 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02459498 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0245949C */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245949C */ _t12 = _t11 & 0x00000001u;
|
|
/* 0245949C */ if (_t12) goto L_024594BC; else goto L_024594A0;
|
|
L_024594A0: ; // 0x24594a0
|
|
/* 024594A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000017u);
|
|
/* 024594A4 */ cpu->r[11] = cpu->r[30] + 0x000000F4u;
|
|
/* 024594A8 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024594A8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 024594A8 */ if (_t14) goto L_024594AC; else goto L_024594B0;
|
|
L_024594AC: ; // 0x24594ac
|
|
/* 024594AC */ cpu->r[11] = cpu->r[11] + cpu->r[12];
|
|
L_024594B0: ; // 0x24594b0
|
|
/* 024594B0 */ cpu->r[0] = 0x00000001u;
|
|
/* 024594B4 */ _t15 = cpu->r[11] + 0x00000000u;
|
|
/* 024594B4 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[0]);
|
|
/* 024594B8 */ _t16 = cpu->r[30] + 0x0000010Cu;
|
|
/* 024594B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
L_024594BC: ; // 0x24594bc
|
|
/* 024594BC */ cpu->r[0] = cpu->r[12] + 0x00000001u;
|
|
/* 024594C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000017u);
|
|
/* 024594C4 */ _t17 = cpu->r[30] + 0x0000010Cu;
|
|
/* 024594C4 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 024594C8 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 024594C8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 024594C8 */ if (_t19) goto L_02459580; else goto L_024594CC;
|
|
L_024594CC: ; // 0x24594cc
|
|
/* 024594CC */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024594CC */ _t21 = _t20 & 0x00000001u;
|
|
/* 024594CC */ if (_t21) goto L_024594D0; else goto L_02459560;
|
|
L_024594D0: ; // 0x24594d0
|
|
/* 024594D0 */ _t22 = cpu->r[29] + 0x00000050u;
|
|
/* 024594D0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 024594D4 */ cpu->r[10] = cpu->r[10] | 0x00000001u;
|
|
/* 024594D8 */ _t23 = cpu->r[29] + 0x00000050u;
|
|
/* 024594D8 */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
|
|
/* 024594DC */ _t24 = cpu->r[30] + 0x00000034u;
|
|
/* 024594DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 024594E0 */ _t25 = cpu->r[30] + 0x0000010Cu;
|
|
/* 024594E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t25);
|
|
/* 024594E4 */ Gambit_fn_02458D38(cpu);
|
|
/* 024594E8 */ _t26 = cpu->r[30] + 0x0000010Cu;
|
|
/* 024594E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 024594EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000017u);
|
|
/* 024594F0 */ cpu->r[31] = cpu->r[30] + 0x0000003Cu;
|
|
/* 024594F4 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024594F4 */ _t28 = _t27 & 0x00000001u;
|
|
/* 024594F4 */ if (_t28) goto L_024594F8; else goto L_02459518;
|
|
L_024594F8: ; // 0x24594f8
|
|
/* 024594F8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 024594FC */ _t29 = cpu->r[31] + cpu->r[0];
|
|
/* 024594FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02459500 */ cpu->r[4] = cpu->r[29];
|
|
/* 02459504 */ Gambit_fn_02974144(cpu);
|
|
/* 02459508 */ _t30 = cpu->r[30] + 0x0000010Cu;
|
|
/* 02459508 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0245950C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000017u);
|
|
/* 02459510 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02459510 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02459510 */ if (_t32) goto L_02459530; else goto L_02459514;
|
|
L_02459514: ; // 0x2459514
|
|
/* 02459514 */ goto L_02459538;
|
|
L_02459518: ; // 0x2459518
|
|
/* 02459518 */ _t33 = cpu->r[31] + 0x00000000u;
|
|
/* 02459518 */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0245951C */ cpu->r[4] = cpu->r[29];
|
|
/* 02459520 */ Gambit_fn_02974144(cpu);
|
|
/* 02459524 */ _t34 = cpu->r[30] + 0x0000010Cu;
|
|
/* 02459524 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02459528 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000017u);
|
|
/* 0245952C */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245952C */ _t36 = _t35 & 0x00000001u;
|
|
/* 0245952C */ if (_t36) goto L_02459530; else goto L_02459514;
|
|
L_02459530: ; // 0x2459530
|
|
/* 02459530 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02459534 */ cpu->r[31] = cpu->r[31] + cpu->r[8];
|
|
L_02459538: ; // 0x2459538
|
|
/* 02459538 */ _t37 = cpu->r[31] + 0x00000000u;
|
|
/* 02459538 */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0245953C */ cpu->r[10] = 0x00000001u;
|
|
/* 02459540 */ _t38 = cpu->r[12] + 0x000002DCu;
|
|
/* 02459540 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[10]);
|
|
/* 02459544 */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02459544 */ cpu->r[29] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02459548 */ _t40 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02459548 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0245954C */ _t41 = cpu->r[1] + 0x00000010u;
|
|
/* 0245954C */ cpu->r[30] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02459550 */ cpu->lr = cpu->r[0];
|
|
/* 02459554 */ _t42 = cpu->r[1] + 0x00000014u;
|
|
/* 02459554 */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02459558 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0245955C */ return;
|
|
L_02459560: ; // 0x2459560
|
|
/* 02459560 */ _t43 = cpu->r[29] + 0x00000050u;
|
|
/* 02459560 */ cpu->r[12] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02459564 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000000u, 0x0000001Eu);
|
|
/* 02459568 */ _t44 = cpu->r[29] + 0x00000050u;
|
|
/* 02459568 */ rbrew_write32(cpu->mem, _t44, cpu->r[12]);
|
|
/* 0245956C */ _t45 = cpu->r[30] + 0x00000034u;
|
|
/* 0245956C */ cpu->r[3] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02459570 */ _t46 = cpu->r[3] + 0x00000000u;
|
|
/* 02459570 */ cpu->r[8] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02459574 */ _t47 = cpu->r[8] + 0x00000094u;
|
|
/* 02459574 */ cpu->r[9] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02459578 */ cpu->ctr = cpu->r[9];
|
|
/* 0245957C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02459580: ; // 0x2459580
|
|
/* 02459580 */ _t48 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02459580 */ cpu->r[29] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02459584 */ _t49 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02459584 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02459588 */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 02459588 */ cpu->r[30] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0245958C */ cpu->lr = cpu->r[0];
|
|
/* 02459590 */ _t51 = cpu->r[1] + 0x00000014u;
|
|
/* 02459590 */ cpu->r[31] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02459594 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02459598 */ return;
|
|
}
|
|
|
|
// fn_0245959C @ 0x245959c
|
|
void Gambit_fn_0245959C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _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_0245945C: ; // 0x245945c
|
|
/* 0245945C */ cpu->r[0] = cpu->lr;
|
|
/* 02459460 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02459460 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02459460 */ cpu->r[1] = _t0;
|
|
/* 02459464 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02459464 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02459468 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02459468 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0245946C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0245946C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02459470 */ cpu->r[30] = cpu->r[3];
|
|
/* 02459474 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02459474 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02459478 */ _t5 = cpu->r[30] + 0x00000028u;
|
|
/* 02459478 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0245947C */ Gambit_fn_027E6E4C(cpu);
|
|
/* 02459480 */ _t6 = cpu->r[30] + 0x00000034u;
|
|
/* 02459480 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02459484 */ _t7 = cpu->r[8] + 0x00000118u;
|
|
/* 02459484 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02459488 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02459488 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0245948C */ cpu->r[29] = cpu->r[3];
|
|
/* 02459490 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459490 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02459490 */ if (_t9) goto L_02459494; else goto L_02459580;
|
|
L_02459494: ; // 0x2459494
|
|
/* 02459494 */ _t10 = cpu->r[30] + 0x0000010Cu;
|
|
/* 02459494 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02459498 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0245949C */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245949C */ _t12 = _t11 & 0x00000001u;
|
|
/* 0245949C */ if (_t12) goto L_024594BC; else goto L_024594A0;
|
|
L_024594A0: ; // 0x24594a0
|
|
/* 024594A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000017u);
|
|
/* 024594A4 */ cpu->r[11] = cpu->r[30] + 0x000000F4u;
|
|
/* 024594A8 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024594A8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 024594A8 */ if (_t14) goto L_024594AC; else goto L_024594B0;
|
|
L_024594AC: ; // 0x24594ac
|
|
/* 024594AC */ cpu->r[11] = cpu->r[11] + cpu->r[12];
|
|
L_024594B0: ; // 0x24594b0
|
|
/* 024594B0 */ cpu->r[0] = 0x00000001u;
|
|
/* 024594B4 */ _t15 = cpu->r[11] + 0x00000000u;
|
|
/* 024594B4 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[0]);
|
|
/* 024594B8 */ _t16 = cpu->r[30] + 0x0000010Cu;
|
|
/* 024594B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
L_024594BC: ; // 0x24594bc
|
|
/* 024594BC */ cpu->r[0] = cpu->r[12] + 0x00000001u;
|
|
/* 024594C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000017u);
|
|
/* 024594C4 */ _t17 = cpu->r[30] + 0x0000010Cu;
|
|
/* 024594C4 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 024594C8 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 024594C8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 024594C8 */ if (_t19) goto L_02459580; else goto L_024594CC;
|
|
L_024594CC: ; // 0x24594cc
|
|
/* 024594CC */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024594CC */ _t21 = _t20 & 0x00000001u;
|
|
/* 024594CC */ if (_t21) goto L_024594D0; else goto L_02459560;
|
|
L_024594D0: ; // 0x24594d0
|
|
/* 024594D0 */ _t22 = cpu->r[29] + 0x00000050u;
|
|
/* 024594D0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 024594D4 */ cpu->r[10] = cpu->r[10] | 0x00000001u;
|
|
/* 024594D8 */ _t23 = cpu->r[29] + 0x00000050u;
|
|
/* 024594D8 */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
|
|
/* 024594DC */ _t24 = cpu->r[30] + 0x00000034u;
|
|
/* 024594DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 024594E0 */ _t25 = cpu->r[30] + 0x0000010Cu;
|
|
/* 024594E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t25);
|
|
/* 024594E4 */ Gambit_fn_02458D38(cpu);
|
|
/* 024594E8 */ _t26 = cpu->r[30] + 0x0000010Cu;
|
|
/* 024594E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 024594EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000017u);
|
|
/* 024594F0 */ cpu->r[31] = cpu->r[30] + 0x0000003Cu;
|
|
/* 024594F4 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024594F4 */ _t28 = _t27 & 0x00000001u;
|
|
/* 024594F4 */ if (_t28) goto L_024594F8; else goto L_02459518;
|
|
L_024594F8: ; // 0x24594f8
|
|
/* 024594F8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 024594FC */ _t29 = cpu->r[31] + cpu->r[0];
|
|
/* 024594FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02459500 */ cpu->r[4] = cpu->r[29];
|
|
/* 02459504 */ Gambit_fn_02974144(cpu);
|
|
/* 02459508 */ _t30 = cpu->r[30] + 0x0000010Cu;
|
|
/* 02459508 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0245950C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000017u);
|
|
/* 02459510 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02459510 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02459510 */ if (_t32) goto L_02459530; else goto L_02459514;
|
|
L_02459514: ; // 0x2459514
|
|
/* 02459514 */ goto L_02459538;
|
|
L_02459518: ; // 0x2459518
|
|
/* 02459518 */ _t33 = cpu->r[31] + 0x00000000u;
|
|
/* 02459518 */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0245951C */ cpu->r[4] = cpu->r[29];
|
|
/* 02459520 */ Gambit_fn_02974144(cpu);
|
|
/* 02459524 */ _t34 = cpu->r[30] + 0x0000010Cu;
|
|
/* 02459524 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02459528 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000017u);
|
|
/* 0245952C */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245952C */ _t36 = _t35 & 0x00000001u;
|
|
/* 0245952C */ if (_t36) goto L_02459530; else goto L_02459514;
|
|
L_02459530: ; // 0x2459530
|
|
/* 02459530 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02459534 */ cpu->r[31] = cpu->r[31] + cpu->r[8];
|
|
L_02459538: ; // 0x2459538
|
|
/* 02459538 */ _t37 = cpu->r[31] + 0x00000000u;
|
|
/* 02459538 */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0245953C */ cpu->r[10] = 0x00000001u;
|
|
/* 02459540 */ _t38 = cpu->r[12] + 0x000002DCu;
|
|
/* 02459540 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[10]);
|
|
/* 02459544 */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02459544 */ cpu->r[29] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02459548 */ _t40 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02459548 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0245954C */ _t41 = cpu->r[1] + 0x00000010u;
|
|
/* 0245954C */ cpu->r[30] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02459550 */ cpu->lr = cpu->r[0];
|
|
/* 02459554 */ _t42 = cpu->r[1] + 0x00000014u;
|
|
/* 02459554 */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02459558 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0245955C */ return;
|
|
L_02459560: ; // 0x2459560
|
|
/* 02459560 */ _t43 = cpu->r[29] + 0x00000050u;
|
|
/* 02459560 */ cpu->r[12] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02459564 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000000u, 0x0000001Eu);
|
|
/* 02459568 */ _t44 = cpu->r[29] + 0x00000050u;
|
|
/* 02459568 */ rbrew_write32(cpu->mem, _t44, cpu->r[12]);
|
|
/* 0245956C */ _t45 = cpu->r[30] + 0x00000034u;
|
|
/* 0245956C */ cpu->r[3] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02459570 */ _t46 = cpu->r[3] + 0x00000000u;
|
|
/* 02459570 */ cpu->r[8] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02459574 */ _t47 = cpu->r[8] + 0x00000094u;
|
|
/* 02459574 */ cpu->r[9] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02459578 */ cpu->ctr = cpu->r[9];
|
|
/* 0245957C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02459580: ; // 0x2459580
|
|
/* 02459580 */ _t48 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02459580 */ cpu->r[29] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02459584 */ _t49 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02459584 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02459588 */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 02459588 */ cpu->r[30] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0245958C */ cpu->lr = cpu->r[0];
|
|
/* 02459590 */ _t51 = cpu->r[1] + 0x00000014u;
|
|
/* 02459590 */ cpu->r[31] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02459594 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02459598 */ return;
|
|
L_0245959C: ; // 0x245959c
|
|
/* 0245959C */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 024595A0 */ goto L_0245945C;
|
|
}
|
|
|
|
// fn_024595A4 @ 0x24595a4
|
|
void Gambit_fn_024595A4(CPUState* cpu) {
|
|
L_024595A4: ; // 0x24595a4
|
|
/* 024595A4 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 024595A8 */ goto L_02459830;
|
|
L_02459830: ; // 0x2459830
|
|
/* 02459830 */ return;
|
|
}
|
|
|
|
// fn_024595AC @ 0x24595ac
|
|
void Gambit_fn_024595AC(CPUState* cpu) {
|
|
L_024595AC: ; // 0x24595ac
|
|
/* 024595AC */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 024595B0 */ goto L_02459834;
|
|
L_02459834: ; // 0x2459834
|
|
/* 02459834 */ return;
|
|
}
|
|
|
|
// fn_024595B4 @ 0x24595b4
|
|
void Gambit_fn_024595B4(CPUState* cpu) {
|
|
L_024595B4: ; // 0x24595b4
|
|
/* 024595B4 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 024595B8 */ goto L_02459838;
|
|
L_02459838: ; // 0x2459838
|
|
/* 02459838 */ cpu->r[3] = 0x00000001u;
|
|
/* 0245983C */ return;
|
|
}
|
|
|
|
// fn_024595BC @ 0x24595bc
|
|
void Gambit_fn_024595BC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_024595BC: ; // 0x24595bc
|
|
/* 024595BC */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 024595C0 */ goto L_02459840;
|
|
L_02459840: ; // 0x2459840
|
|
/* 02459840 */ _t0 = cpu->r[3] + 0x00000014u;
|
|
/* 02459840 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 02459844 */ return;
|
|
}
|
|
|
|
// fn_024595C4 @ 0x24595c4
|
|
void Gambit_fn_024595C4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_024595C4: ; // 0x24595c4
|
|
/* 024595C4 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 024595C8 */ goto L_02459850;
|
|
L_02459850: ; // 0x2459850
|
|
/* 02459850 */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 02459850 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 02459854 */ return;
|
|
}
|
|
|
|
// fn_024595CC @ 0x24595cc
|
|
void Gambit_fn_024595CC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_024595CC: ; // 0x24595cc
|
|
/* 024595CC */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 024595D0 */ goto L_02459858;
|
|
L_02459858: ; // 0x2459858
|
|
/* 02459858 */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 02459858 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245985C */ return;
|
|
}
|
|
|
|
// fn_024595D4 @ 0x24595d4
|
|
void Gambit_fn_024595D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34;
|
|
|
|
L_024595D4: ; // 0x24595d4
|
|
/* 024595D4 */ cpu->r[0] = cpu->lr;
|
|
/* 024595D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024595D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024595D8 */ cpu->r[1] = _t0;
|
|
/* 024595DC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 024595DC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 024595E0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024595E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 024595E4 */ cpu->r[31] = cpu->r[3];
|
|
/* 024595E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 024595E8 */ cpu->r[30] = cpu->r[4];
|
|
/* 024595EC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 024595EC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 024595F0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024595F0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 024595F0 */ if (_t5) goto L_024595F4; else goto L_02459604;
|
|
L_024595F4: ; // 0x24595f4
|
|
/* 024595F4 */ cpu->r[3] = 0x00000110u;
|
|
/* 024595F8 */ Gambit_fn_02801A78(cpu);
|
|
/* 024595FC */ cpu->r[31] = cpu->r[3];
|
|
/* 024595FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02459600 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459600 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02459600 */ if (_t7) goto L_024596B4; else goto L_02459604;
|
|
L_02459604: ; // 0x2459604
|
|
/* 02459604 */ cpu->r[4] = 0x100A0000u;
|
|
/* 02459608 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245960C */ cpu->r[5] = 0x00000020u;
|
|
/* 02459610 */ cpu->r[4] = cpu->r[4] + 0x00000B24u;
|
|
/* 02459614 */ Gambit_fn_026DD9F0(cpu);
|
|
/* 02459618 */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245961C */ cpu->r[12] = 0x100A0000u;
|
|
/* 02459620 */ cpu->r[11] = cpu->r[11] + 0x00000B38u;
|
|
/* 02459624 */ cpu->r[12] = cpu->r[12] + 0x00000BB0u;
|
|
/* 02459628 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245962C */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 0245962C */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02459630 */ cpu->r[0] = cpu->r[0] + 0x00000BC0u;
|
|
/* 02459634 */ _t9 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02459634 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02459638 */ _t10 = cpu->r[31] + 0x00000010u;
|
|
/* 02459638 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0245963C */ _t11 = cpu->r[30] + 0x00000000u;
|
|
/* 0245963C */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02459640 */ _t12 = cpu->r[31] + 0x00000028u;
|
|
/* 02459640 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 02459644 */ _t13 = cpu->r[30] + 0x00000004u;
|
|
/* 02459644 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02459648 */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 0245964C */ _t14 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0245964C */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 02459650 */ _t15 = cpu->r[30] + 0x00000008u;
|
|
/* 02459650 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02459654 */ cpu->r[0] = 0x00000000u;
|
|
/* 02459658 */ _t16 = cpu->r[31] + 0x0000010Cu;
|
|
/* 02459658 */ rbrew_write32(cpu->mem, _t16, cpu->r[9]);
|
|
/* 0245965C */ cpu->r[11] = cpu->r[31] + 0x00000038u;
|
|
/* 02459660 */ _t17 = cpu->r[31] + 0x00000030u;
|
|
/* 02459660 */ rbrew_write32(cpu->mem, _t17, cpu->r[12]);
|
|
/* 02459664 */ cpu->r[12] = 0x00000017u;
|
|
/* 02459668 */ _t18 = cpu->r[31] + 0x00000034u;
|
|
/* 02459668 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 0245966C */ cpu->ctr = cpu->r[12];
|
|
/* 02459670 */ _t19 = cpu->r[31] + 0x00000038u;
|
|
/* 02459670 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
L_02459674: ; // 0x2459674
|
|
/* 02459674 */ _t20 = cpu->r[11] + 0x00000004u;
|
|
/* 02459674 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 02459674 */ cpu->r[11] = _t20;
|
|
/* 02459678 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02459678 */ _t21 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02459678 */ _t22 = _t21 >> (0x00000002u & 31u);
|
|
/* 02459678 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02459678 */ if (_t23) goto L_02459674; else goto L_0245967C;
|
|
L_0245967C: ; // 0x245967c
|
|
/* 0245967C */ cpu->r[11] = 0x00000017u;
|
|
/* 02459680 */ cpu->r[9] = cpu->r[31] + 0x00000094u;
|
|
/* 02459684 */ cpu->ctr = cpu->r[11];
|
|
/* 02459688 */ cpu->r[0] = 0x00000000u;
|
|
L_0245968C: ; // 0x245968c
|
|
/* 0245968C */ _t24 = cpu->r[9] + 0x00000004u;
|
|
/* 0245968C */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 0245968C */ cpu->r[9] = _t24;
|
|
/* 02459690 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02459690 */ _t25 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02459690 */ _t26 = _t25 >> (0x00000002u & 31u);
|
|
/* 02459690 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02459690 */ if (_t27) goto L_0245968C; else goto L_02459694;
|
|
L_02459694: ; // 0x2459694
|
|
/* 02459694 */ cpu->r[10] = 0x00000017u;
|
|
/* 02459698 */ cpu->r[9] = 0x00000000u;
|
|
/* 0245969C */ cpu->r[12] = cpu->r[31] + 0x000000F4u;
|
|
/* 024596A0 */ cpu->ctr = cpu->r[10];
|
|
/* 024596A4 */ cpu->r[0] = cpu->r[9];
|
|
L_024596A8: ; // 0x24596a8
|
|
/* 024596A8 */ _t28 = cpu->r[12] + cpu->r[9];
|
|
/* 024596A8 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[0]);
|
|
/* 024596AC */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 024596B0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 024596B0 */ _t29 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 024596B0 */ _t30 = _t29 >> (0x00000002u & 31u);
|
|
/* 024596B0 */ _t31 = _t30 & 0x00000001u;
|
|
/* 024596B0 */ if (_t31) goto L_024596A8; else goto L_024596B4;
|
|
L_024596B4: ; // 0x24596b4
|
|
/* 024596B4 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 024596B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 024596B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 024596BC */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024596BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 024596C0 */ cpu->lr = cpu->r[0];
|
|
/* 024596C4 */ _t34 = cpu->r[1] + 0x00000008u;
|
|
/* 024596C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t34);
|
|
/* 024596C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024596CC */ return;
|
|
}
|
|
|
|
// fn_024595D8 @ 0x24595d8
|
|
void Gambit_fn_024595D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34;
|
|
|
|
L_024595D8: ; // 0x24595d8
|
|
/* 024595D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 024595D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024595D8 */ cpu->r[1] = _t0;
|
|
/* 024595DC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 024595DC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 024595E0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024595E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 024595E4 */ cpu->r[31] = cpu->r[3];
|
|
/* 024595E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 024595E8 */ cpu->r[30] = cpu->r[4];
|
|
/* 024595EC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 024595EC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 024595F0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024595F0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 024595F0 */ if (_t5) goto L_024595F4; else goto L_02459604;
|
|
L_024595F4: ; // 0x24595f4
|
|
/* 024595F4 */ cpu->r[3] = 0x00000110u;
|
|
/* 024595F8 */ Gambit_fn_02801A78(cpu);
|
|
/* 024595FC */ cpu->r[31] = cpu->r[3];
|
|
/* 024595FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02459600 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459600 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02459600 */ if (_t7) goto L_024596B4; else goto L_02459604;
|
|
L_02459604: ; // 0x2459604
|
|
/* 02459604 */ cpu->r[4] = 0x100A0000u;
|
|
/* 02459608 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245960C */ cpu->r[5] = 0x00000020u;
|
|
/* 02459610 */ cpu->r[4] = cpu->r[4] + 0x00000B24u;
|
|
/* 02459614 */ Gambit_fn_026DD9F0(cpu);
|
|
/* 02459618 */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245961C */ cpu->r[12] = 0x100A0000u;
|
|
/* 02459620 */ cpu->r[11] = cpu->r[11] + 0x00000B38u;
|
|
/* 02459624 */ cpu->r[12] = cpu->r[12] + 0x00000BB0u;
|
|
/* 02459628 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245962C */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 0245962C */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02459630 */ cpu->r[0] = cpu->r[0] + 0x00000BC0u;
|
|
/* 02459634 */ _t9 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02459634 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02459638 */ _t10 = cpu->r[31] + 0x00000010u;
|
|
/* 02459638 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0245963C */ _t11 = cpu->r[30] + 0x00000000u;
|
|
/* 0245963C */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02459640 */ _t12 = cpu->r[31] + 0x00000028u;
|
|
/* 02459640 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 02459644 */ _t13 = cpu->r[30] + 0x00000004u;
|
|
/* 02459644 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02459648 */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 0245964C */ _t14 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0245964C */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 02459650 */ _t15 = cpu->r[30] + 0x00000008u;
|
|
/* 02459650 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02459654 */ cpu->r[0] = 0x00000000u;
|
|
/* 02459658 */ _t16 = cpu->r[31] + 0x0000010Cu;
|
|
/* 02459658 */ rbrew_write32(cpu->mem, _t16, cpu->r[9]);
|
|
/* 0245965C */ cpu->r[11] = cpu->r[31] + 0x00000038u;
|
|
/* 02459660 */ _t17 = cpu->r[31] + 0x00000030u;
|
|
/* 02459660 */ rbrew_write32(cpu->mem, _t17, cpu->r[12]);
|
|
/* 02459664 */ cpu->r[12] = 0x00000017u;
|
|
/* 02459668 */ _t18 = cpu->r[31] + 0x00000034u;
|
|
/* 02459668 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 0245966C */ cpu->ctr = cpu->r[12];
|
|
/* 02459670 */ _t19 = cpu->r[31] + 0x00000038u;
|
|
/* 02459670 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
L_02459674: ; // 0x2459674
|
|
/* 02459674 */ _t20 = cpu->r[11] + 0x00000004u;
|
|
/* 02459674 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 02459674 */ cpu->r[11] = _t20;
|
|
/* 02459678 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02459678 */ _t21 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02459678 */ _t22 = _t21 >> (0x00000002u & 31u);
|
|
/* 02459678 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02459678 */ if (_t23) goto L_02459674; else goto L_0245967C;
|
|
L_0245967C: ; // 0x245967c
|
|
/* 0245967C */ cpu->r[11] = 0x00000017u;
|
|
/* 02459680 */ cpu->r[9] = cpu->r[31] + 0x00000094u;
|
|
/* 02459684 */ cpu->ctr = cpu->r[11];
|
|
/* 02459688 */ cpu->r[0] = 0x00000000u;
|
|
L_0245968C: ; // 0x245968c
|
|
/* 0245968C */ _t24 = cpu->r[9] + 0x00000004u;
|
|
/* 0245968C */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 0245968C */ cpu->r[9] = _t24;
|
|
/* 02459690 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02459690 */ _t25 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02459690 */ _t26 = _t25 >> (0x00000002u & 31u);
|
|
/* 02459690 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02459690 */ if (_t27) goto L_0245968C; else goto L_02459694;
|
|
L_02459694: ; // 0x2459694
|
|
/* 02459694 */ cpu->r[10] = 0x00000017u;
|
|
/* 02459698 */ cpu->r[9] = 0x00000000u;
|
|
/* 0245969C */ cpu->r[12] = cpu->r[31] + 0x000000F4u;
|
|
/* 024596A0 */ cpu->ctr = cpu->r[10];
|
|
/* 024596A4 */ cpu->r[0] = cpu->r[9];
|
|
L_024596A8: ; // 0x24596a8
|
|
/* 024596A8 */ _t28 = cpu->r[12] + cpu->r[9];
|
|
/* 024596A8 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[0]);
|
|
/* 024596AC */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 024596B0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 024596B0 */ _t29 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 024596B0 */ _t30 = _t29 >> (0x00000002u & 31u);
|
|
/* 024596B0 */ _t31 = _t30 & 0x00000001u;
|
|
/* 024596B0 */ if (_t31) goto L_024596A8; else goto L_024596B4;
|
|
L_024596B4: ; // 0x24596b4
|
|
/* 024596B4 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 024596B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 024596B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 024596BC */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 024596BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 024596C0 */ cpu->lr = cpu->r[0];
|
|
/* 024596C4 */ _t34 = cpu->r[1] + 0x00000008u;
|
|
/* 024596C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t34);
|
|
/* 024596C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 024596CC */ return;
|
|
}
|
|
|
|
// fn_024596D0 @ 0x24596d0
|
|
void Gambit_fn_024596D0(CPUState* 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_020B8610: ; // 0x20b8610
|
|
/* 020B8610 */ cpu->r[0] = cpu->lr;
|
|
/* 020B8614 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 020B8614 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 020B8614 */ cpu->r[1] = _t0;
|
|
/* 020B8618 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020B8618 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 020B861C */ cpu->r[31] = cpu->r[3];
|
|
/* 020B8620 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 020B8620 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 020B8624 */ _t3 = cpu->r[31] + 0x000001E8u;
|
|
/* 020B8624 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 020B8628 */ /* nop */
|
|
/* 020B862C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020B862C */ _t5 = _t4 & 0x00000001u;
|
|
/* 020B862C */ if (_t5) goto L_020B8630; else goto L_020B8668;
|
|
L_020B8630: ; // 0x20b8630
|
|
/* 020B8630 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 020B8634 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020B8634 */ _t7 = _t6 & 0x00000001u;
|
|
/* 020B8634 */ if (_t7) goto L_020B868C; else goto L_020B8638;
|
|
L_020B8638: ; // 0x20b8638
|
|
/* 020B8638 */ cpu->r[3] = cpu->r[31];
|
|
/* 020B863C */ Gambit_fn_0206A274(cpu);
|
|
/* 020B8640 */ cpu->r[3] = cpu->r[31] + 0x000001DCu;
|
|
/* 020B8644 */ cpu->r[4] = 0x00000001u;
|
|
/* 020B8648 */ Gambit_fn_0206C98C(cpu);
|
|
/* 020B864C */ _t8 = cpu->r[31] + 0x000001ACu;
|
|
/* 020B864C */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 020B8650 */ Gambit_fn_027BB1DC(cpu);
|
|
/* 020B8654 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 020B8654 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 020B8658 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020B8658 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 020B865C */ cpu->lr = cpu->r[0];
|
|
/* 020B8660 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 020B8664 */ return;
|
|
L_020B8668: ; // 0x20b8668
|
|
/* 020B8668 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 020B866C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020B866C */ _t12 = _t11 & 0x00000001u;
|
|
/* 020B866C */ if (_t12) goto L_020B8670; else goto L_020B868C;
|
|
L_020B8670: ; // 0x20b8670
|
|
/* 020B8670 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 020B8674 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020B8674 */ _t14 = _t13 & 0x00000001u;
|
|
/* 020B8674 */ if (_t14) goto L_020B8678; else goto L_020B868C;
|
|
L_020B8678: ; // 0x20b8678
|
|
/* 020B8678 */ _t15 = cpu->r[31] + 0x00000000u;
|
|
/* 020B8678 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 020B867C */ _t16 = cpu->r[12] + 0x00000094u;
|
|
/* 020B867C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 020B8680 */ cpu->ctr = cpu->r[0];
|
|
/* 020B8684 */ cpu->r[3] = cpu->r[31];
|
|
/* 020B8688 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_020B868C: ; // 0x20b868c
|
|
/* 020B868C */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 020B868C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 020B8690 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020B8690 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 020B8694 */ cpu->lr = cpu->r[0];
|
|
/* 020B8698 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 020B869C */ return;
|
|
L_024596D0: ; // 0x24596d0
|
|
/* 024596D0 */ cpu->r[12] = cpu->r[3];
|
|
/* 024596D4 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 024596D8 */ _t19 = cpu->r[12] + 0x00000034u;
|
|
/* 024596D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 024596DC */ cpu->r[4] = 0x00000001u;
|
|
/* 024596E0 */ _t20 = cpu->r[12] + 0x0000010Cu;
|
|
/* 024596E0 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 024596E4 */ goto L_020B8610;
|
|
}
|
|
|
|
// fn_024596E8 @ 0x24596e8
|
|
void Gambit_fn_024596E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_024596E8: ; // 0x24596e8
|
|
/* 024596E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000017u);
|
|
/* 024596EC */ cpu->r[12] = cpu->r[3] + 0x000000F4u;
|
|
/* 024596F0 */ _t0 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 024596F0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 024596F0 */ if (_t1) goto L_024596F4; else goto L_024596F8;
|
|
L_024596F4: ; // 0x24596f4
|
|
/* 024596F4 */ cpu->r[12] = cpu->r[12] + cpu->r[4];
|
|
L_024596F8: ; // 0x24596f8
|
|
/* 024596F8 */ _t2 = cpu->r[12] + 0x00000000u;
|
|
/* 024596F8 */ cpu->r[3] = rbrew_read8(cpu->mem, _t2);
|
|
/* 024596FC */ return;
|
|
}
|
|
|
|
// fn_02459700 @ 0x2459700
|
|
void Gambit_fn_02459700(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02459700: ; // 0x2459700
|
|
/* 02459700 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000017u);
|
|
/* 02459704 */ cpu->r[12] = cpu->r[3] + 0x00000098u;
|
|
/* 02459708 */ _t0 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02459708 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02459708 */ if (_t1) goto L_0245970C; else goto L_02459714;
|
|
L_0245970C: ; // 0x245970c
|
|
/* 0245970C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02459710 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_02459714: ; // 0x2459714
|
|
/* 02459714 */ _t2 = cpu->r[12] + 0x00000000u;
|
|
/* 02459714 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02459718 */ return;
|
|
}
|
|
|
|
// fn_0245971C @ 0x245971c
|
|
void Gambit_fn_0245971C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0245971C: ; // 0x245971c
|
|
/* 0245971C */ cpu->r[0] = cpu->lr;
|
|
/* 02459720 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02459720 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02459720 */ cpu->r[1] = _t0;
|
|
/* 02459724 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02459724 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02459728 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245972C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0245972C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02459730 */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 02459730 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02459734 */ _t4 = cpu->r[31] + 0x00000038u;
|
|
/* 02459734 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02459738 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0245973C */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 0245973C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02459740 */ Gambit_fn_02459B28(cpu);
|
|
/* 02459744 */ _t6 = cpu->r[31] + 0x00000038u;
|
|
/* 02459744 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02459748 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02459748 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0245974C */ _t8 = cpu->r[12] + 0x00000164u;
|
|
/* 0245974C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02459750 */ cpu->ctr = cpu->r[0];
|
|
/* 02459754 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02459758 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02459758 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0245975C */ cpu->lr = cpu->r[0];
|
|
/* 02459760 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02459760 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02459764 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02459768 */ return;
|
|
}
|
|
|
|
// fn_02459720 @ 0x2459720
|
|
void Gambit_fn_02459720(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02459720: ; // 0x2459720
|
|
/* 02459720 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02459720 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02459720 */ cpu->r[1] = _t0;
|
|
/* 02459724 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02459724 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02459728 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245972C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0245972C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02459730 */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 02459730 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02459734 */ _t4 = cpu->r[31] + 0x00000038u;
|
|
/* 02459734 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02459738 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0245973C */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 0245973C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02459740 */ Gambit_fn_02459B28(cpu);
|
|
/* 02459744 */ _t6 = cpu->r[31] + 0x00000038u;
|
|
/* 02459744 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02459748 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02459748 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0245974C */ _t8 = cpu->r[12] + 0x00000164u;
|
|
/* 0245974C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02459750 */ cpu->ctr = cpu->r[0];
|
|
/* 02459754 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02459758 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02459758 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0245975C */ cpu->lr = cpu->r[0];
|
|
/* 02459760 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02459760 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02459764 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02459768 */ return;
|
|
}
|
|
|
|
// fn_0245976C @ 0x245976c
|
|
void Gambit_fn_0245976C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0245976C: ; // 0x245976c
|
|
/* 0245976C */ _t0 = cpu->r[3] + 0x00000038u;
|
|
/* 0245976C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02459770 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02459770 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02459774 */ _t2 = cpu->r[12] + 0x0000016Cu;
|
|
/* 02459774 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02459778 */ cpu->ctr = cpu->r[0];
|
|
/* 0245977C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02459780 @ 0x2459780
|
|
void Gambit_fn_02459780(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02459780: ; // 0x2459780
|
|
/* 02459780 */ _t0 = cpu->r[3] + 0x00000038u;
|
|
/* 02459780 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02459784 */ _t1 = cpu->r[12] + 0x00000118u;
|
|
/* 02459784 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02459788 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 0245978C */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02459790 */ cpu->r[3] = cpu->r[12] - cpu->r[0];
|
|
/* 02459794 */ return;
|
|
}
|
|
|
|
// fn_02459798 @ 0x2459798
|
|
void Gambit_fn_02459798(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02459798: ; // 0x2459798
|
|
/* 02459798 */ _t0 = cpu->r[3] + 0x00000038u;
|
|
/* 02459798 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245979C */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 0245979C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 024597A0 */ _t2 = cpu->r[12] + 0x0000018Cu;
|
|
/* 024597A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 024597A4 */ cpu->ctr = cpu->r[0];
|
|
/* 024597A8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_024597AC @ 0x24597ac
|
|
void Gambit_fn_024597AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_024597AC: ; // 0x24597ac
|
|
/* 024597AC */ cpu->r[0] = cpu->lr;
|
|
/* 024597B0 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 024597B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 024597B4 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 024597B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 024597B4 */ cpu->r[1] = _t1;
|
|
/* 024597B8 */ _t2 = cpu->r[4] + 0x00000000u;
|
|
/* 024597B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 024597BC */ _t3 = cpu->r[3] + 0x00000038u;
|
|
/* 024597BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 024597C0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 024597C4 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 024597C4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 024597C8 */ Gambit_fn_02459B68(cpu);
|
|
/* 024597CC */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024597CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 024597D0 */ cpu->lr = cpu->r[0];
|
|
/* 024597D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 024597D8 */ return;
|
|
}
|
|
|
|
// fn_024597B4 @ 0x24597b4
|
|
void Gambit_fn_024597B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_024597B4: ; // 0x24597b4
|
|
/* 024597B4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 024597B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024597B4 */ cpu->r[1] = _t0;
|
|
/* 024597B8 */ _t1 = cpu->r[4] + 0x00000000u;
|
|
/* 024597B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 024597BC */ _t2 = cpu->r[3] + 0x00000038u;
|
|
/* 024597BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 024597C0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 024597C4 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 024597C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 024597C8 */ Gambit_fn_02459B68(cpu);
|
|
/* 024597CC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024597CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 024597D0 */ cpu->lr = cpu->r[0];
|
|
/* 024597D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 024597D8 */ return;
|
|
}
|
|
|
|
// fn_024597DC @ 0x24597dc
|
|
void Gambit_fn_024597DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_024597DC: ; // 0x24597dc
|
|
/* 024597DC */ cpu->r[0] = cpu->lr;
|
|
/* 024597E0 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 024597E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 024597E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024597E8 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 024597E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 024597E8 */ cpu->r[1] = _t1;
|
|
/* 024597EC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024597EC */ _t3 = _t2 & 0x00000001u;
|
|
/* 024597EC */ if (_t3) goto L_024597F0; else goto L_02459800;
|
|
L_024597F0: ; // 0x24597f0
|
|
/* 024597F0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 024597F4 */ Gambit_fn_02801A78(cpu);
|
|
/* 024597F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024597FC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024597FC */ _t5 = _t4 & 0x00000001u;
|
|
/* 024597FC */ if (_t5) goto L_02459818; else goto L_02459800;
|
|
L_02459800: ; // 0x2459800
|
|
/* 02459800 */ cpu->r[0] = 0x00000003u;
|
|
/* 02459804 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 02459808 */ cpu->ctr = cpu->r[0];
|
|
/* 0245980C */ cpu->r[12] = cpu->r[3] + 0xFFFFFFFCu;
|
|
L_02459810: ; // 0x2459810
|
|
/* 02459810 */ _t6 = cpu->r[12] + 0x00000004u;
|
|
/* 02459810 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 02459810 */ cpu->r[12] = _t6;
|
|
/* 02459814 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02459814 */ _t7 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02459814 */ _t8 = _t7 >> (0x00000002u & 31u);
|
|
/* 02459814 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02459814 */ if (_t9) goto L_02459810; else goto L_02459818;
|
|
L_02459818: ; // 0x2459818
|
|
/* 02459818 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02459818 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0245981C */ cpu->lr = cpu->r[0];
|
|
/* 02459820 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02459824 */ return;
|
|
}
|
|
|
|
// fn_024597E8 @ 0x24597e8
|
|
void Gambit_fn_024597E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_024597E8: ; // 0x24597e8
|
|
/* 024597E8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 024597E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 024597E8 */ cpu->r[1] = _t0;
|
|
/* 024597EC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024597EC */ _t2 = _t1 & 0x00000001u;
|
|
/* 024597EC */ if (_t2) goto L_024597F0; else goto L_02459800;
|
|
L_024597F0: ; // 0x24597f0
|
|
/* 024597F0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 024597F4 */ Gambit_fn_02801A78(cpu);
|
|
/* 024597F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024597FC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024597FC */ _t4 = _t3 & 0x00000001u;
|
|
/* 024597FC */ if (_t4) goto L_02459818; else goto L_02459800;
|
|
L_02459800: ; // 0x2459800
|
|
/* 02459800 */ cpu->r[0] = 0x00000003u;
|
|
/* 02459804 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 02459808 */ cpu->ctr = cpu->r[0];
|
|
/* 0245980C */ cpu->r[12] = cpu->r[3] + 0xFFFFFFFCu;
|
|
L_02459810: ; // 0x2459810
|
|
/* 02459810 */ _t5 = cpu->r[12] + 0x00000004u;
|
|
/* 02459810 */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
|
|
/* 02459810 */ cpu->r[12] = _t5;
|
|
/* 02459814 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02459814 */ _t6 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02459814 */ _t7 = _t6 >> (0x00000002u & 31u);
|
|
/* 02459814 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02459814 */ if (_t8) goto L_02459810; else goto L_02459818;
|
|
L_02459818: ; // 0x2459818
|
|
/* 02459818 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02459818 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0245981C */ cpu->lr = cpu->r[0];
|
|
/* 02459820 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02459824 */ return;
|
|
}
|
|
|
|
// fn_02459828 @ 0x2459828
|
|
void Gambit_fn_02459828(CPUState* cpu) {
|
|
L_02459828: ; // 0x2459828
|
|
/* 02459828 */ return;
|
|
}
|
|
|
|
// fn_0245982C @ 0x245982c
|
|
void Gambit_fn_0245982C(CPUState* cpu) {
|
|
L_0245982C: ; // 0x245982c
|
|
/* 0245982C */ return;
|
|
}
|
|
|
|
// fn_02459830 @ 0x2459830
|
|
void Gambit_fn_02459830(CPUState* cpu) {
|
|
L_02459830: ; // 0x2459830
|
|
/* 02459830 */ return;
|
|
}
|
|
|
|
// fn_02459834 @ 0x2459834
|
|
void Gambit_fn_02459834(CPUState* cpu) {
|
|
L_02459834: ; // 0x2459834
|
|
/* 02459834 */ return;
|
|
}
|
|
|
|
// fn_02459838 @ 0x2459838
|
|
void Gambit_fn_02459838(CPUState* cpu) {
|
|
L_02459838: ; // 0x2459838
|
|
/* 02459838 */ cpu->r[3] = 0x00000001u;
|
|
/* 0245983C */ return;
|
|
}
|
|
|
|
// fn_02459840 @ 0x2459840
|
|
void Gambit_fn_02459840(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02459840: ; // 0x2459840
|
|
/* 02459840 */ _t0 = cpu->r[3] + 0x00000014u;
|
|
/* 02459840 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 02459844 */ return;
|
|
}
|
|
|
|
// fn_02459848 @ 0x2459848
|
|
void Gambit_fn_02459848(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02459848: ; // 0x2459848
|
|
/* 02459848 */ _t0 = cpu->r[3] + 0x00000014u;
|
|
/* 02459848 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245984C */ return;
|
|
}
|
|
|
|
// fn_02459850 @ 0x2459850
|
|
void Gambit_fn_02459850(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02459850: ; // 0x2459850
|
|
/* 02459850 */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 02459850 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 02459854 */ return;
|
|
}
|
|
|
|
// fn_02459858 @ 0x2459858
|
|
void Gambit_fn_02459858(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02459858: ; // 0x2459858
|
|
/* 02459858 */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 02459858 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245985C */ return;
|
|
}
|
|
|
|
// fn_02459860 @ 0x2459860
|
|
void Gambit_fn_02459860(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02459860: ; // 0x2459860
|
|
/* 02459860 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02459860 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02459864 */ return;
|
|
}
|
|
|
|
// fn_02459868 @ 0x2459868
|
|
void Gambit_fn_02459868(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02459868: ; // 0x2459868
|
|
/* 02459868 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0245986C */ goto L_0245A550;
|
|
L_0245A550: ; // 0x245a550
|
|
/* 0245A550 */ cpu->r[0] = cpu->lr;
|
|
/* 0245A554 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245A554 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245A554 */ cpu->r[1] = _t0;
|
|
/* 0245A558 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245A558 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245A55C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0245A55C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0245A560 */ cpu->r[30] = cpu->r[3];
|
|
/* 0245A560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0245A564 */ cpu->r[31] = cpu->r[4];
|
|
/* 0245A568 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0245A568 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0245A56C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A56C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0245A56C */ if (_t5) goto L_0245A5DC; else goto L_0245A570;
|
|
L_0245A570: ; // 0x245a570
|
|
/* 0245A570 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245A574 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245A578 */ cpu->r[0] = cpu->r[0] + 0x00000F58u;
|
|
/* 0245A57C */ cpu->r[12] = cpu->r[12] + 0x00000F78u;
|
|
/* 0245A580 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0245A580 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0245A584 */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245A588 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 0245A588 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0245A58C */ cpu->r[11] = cpu->r[11] + 0x00000F68u;
|
|
/* 0245A590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0245A594 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0245A594 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0245A598 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A598 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0245A598 */ if (_t10) goto L_0245A5CC; else goto L_0245A59C;
|
|
L_0245A59C: ; // 0x245a59c
|
|
/* 0245A59C */ cpu->r[10] = 0x10010000u;
|
|
/* 0245A5A0 */ cpu->r[0] = 0x10010000u;
|
|
/* 0245A5A4 */ cpu->r[10] = cpu->r[10] + 0x00004564u;
|
|
/* 0245A5A8 */ cpu->r[0] = cpu->r[0] + 0x00004554u;
|
|
/* 0245A5AC */ cpu->r[3] = cpu->r[30];
|
|
/* 0245A5B0 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0245A5B0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0245A5B4 */ cpu->r[0] = 0x10010000u;
|
|
/* 0245A5B8 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0245A5B8 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0245A5BC */ cpu->r[0] = cpu->r[0] + 0x00004574u;
|
|
/* 0245A5C0 */ cpu->r[4] = 0x00000000u;
|
|
/* 0245A5C4 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0245A5C4 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0245A5C8 */ Gambit_fn_02068798(cpu);
|
|
L_0245A5CC: ; // 0x245a5cc
|
|
/* 0245A5CC */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0245A5CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0245A5D0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A5D0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0245A5D0 */ if (_t15) goto L_0245A5DC; else goto L_0245A5D4;
|
|
L_0245A5D4: ; // 0x245a5d4
|
|
/* 0245A5D4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0245A5D8 */ Gambit_fn_02801BB0(cpu);
|
|
L_0245A5DC: ; // 0x245a5dc
|
|
/* 0245A5DC */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0245A5DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0245A5E0 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0245A5E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0245A5E4 */ cpu->lr = cpu->r[0];
|
|
/* 0245A5E8 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245A5E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0245A5EC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245A5F0 */ return;
|
|
}
|
|
|
|
// fn_02459870 @ 0x2459870
|
|
void Gambit_fn_02459870(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02068818: ; // 0x2068818
|
|
/* 02068818 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0206881C */ _t0 = cpu->r[12] + 0x00001D34u;
|
|
/* 0206881C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02068820 */ _t1 = cpu->r[12] + 0x0000018Cu;
|
|
/* 02068820 */ cpu->r[12] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02068824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02068828 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02068828 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02068828 */ if (_t3) goto L_0206883C; else goto L_0206882C;
|
|
L_0206882C: ; // 0x206882c
|
|
/* 0206882C */ cpu->r[0] = cpu->r[5] ^ 0x00000001u;
|
|
/* 02068830 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02068834 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068838 */ return;
|
|
L_0206883C: ; // 0x206883c
|
|
/* 0206883C */ cpu->r[0] = rbrew_clz32(cpu->r[5]);
|
|
/* 02068840 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068844 */ return;
|
|
L_02459870: ; // 0x2459870
|
|
/* 02459870 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 02459874 */ goto L_02068818;
|
|
}
|
|
|
|
// fn_02459878 @ 0x2459878
|
|
void Gambit_fn_02459878(CPUState* cpu) {
|
|
L_02459878: ; // 0x2459878
|
|
/* 02459878 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 0245987C */ goto L_0245A5F4;
|
|
L_0245A5F4: ; // 0x245a5f4
|
|
/* 0245A5F4 */ return;
|
|
}
|
|
|
|
// fn_02459880 @ 0x2459880
|
|
void Gambit_fn_02459880(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02459880: ; // 0x2459880
|
|
/* 02459880 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 02459884 */ goto L_0245A5F8;
|
|
L_0245A5F8: ; // 0x245a5f8
|
|
/* 0245A5F8 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0245A5F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245A5FC */ return;
|
|
}
|
|
|
|
// fn_02459888 @ 0x2459888
|
|
void Gambit_fn_02459888(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105;
|
|
|
|
L_02459888: ; // 0x2459888
|
|
/* 02459888 */ cpu->r[0] = cpu->lr;
|
|
/* 0245988C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0245988C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245988C */ cpu->r[1] = _t0;
|
|
/* 02459890 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02459890 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02459894 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02459894 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02459898 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02459898 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0245989C */ cpu->r[31] = cpu->r[3];
|
|
/* 0245989C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 024598A0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024598A0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 024598A4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024598A4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 024598A4 */ if (_t6) goto L_024598A8; else goto L_024598B8;
|
|
L_024598A8: ; // 0x24598a8
|
|
/* 024598A8 */ cpu->r[3] = 0x00000244u;
|
|
/* 024598AC */ Gambit_fn_02801A78(cpu);
|
|
/* 024598B0 */ cpu->r[31] = cpu->r[3];
|
|
/* 024598B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 024598B4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024598B4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 024598B4 */ if (_t8) goto L_02459B08; else goto L_024598B8;
|
|
L_024598B8: ; // 0x24598b8
|
|
/* 024598B8 */ cpu->r[4] = 0x100A0000u;
|
|
/* 024598BC */ cpu->r[3] = cpu->r[31];
|
|
/* 024598C0 */ cpu->r[5] = 0x00000001u;
|
|
/* 024598C4 */ cpu->r[4] = cpu->r[4] + 0x00000CD8u;
|
|
/* 024598C8 */ Gambit_fn_020B5C38(cpu);
|
|
/* 024598CC */ cpu->r[12] = 0x100A0000u;
|
|
/* 024598D0 */ cpu->r[6] = 0x100A0000u;
|
|
/* 024598D4 */ cpu->r[12] = cpu->r[12] + 0x00000D88u;
|
|
/* 024598D8 */ cpu->r[6] = cpu->r[6] + 0x00000F68u;
|
|
/* 024598DC */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 024598DC */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 024598E0 */ cpu->r[29] = 0x00000000u;
|
|
/* 024598E4 */ cpu->r[7] = 0x100A0000u;
|
|
/* 024598E8 */ _t10 = cpu->r[31] + 0x0000001Cu;
|
|
/* 024598E8 */ rbrew_write32(cpu->mem, _t10, cpu->r[6]);
|
|
/* 024598EC */ cpu->r[7] = cpu->r[7] + 0x00000F78u;
|
|
/* 024598F0 */ _t11 = cpu->r[31] + 0x00000218u;
|
|
/* 024598F0 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 024598F4 */ cpu->r[0] = 0x100A0000u;
|
|
/* 024598F8 */ _t12 = cpu->r[31] + 0x000001C8u;
|
|
/* 024598F8 */ rbrew_write32(cpu->mem, _t12, cpu->r[7]);
|
|
/* 024598FC */ cpu->r[0] = cpu->r[0] + 0x00000F58u;
|
|
/* 02459900 */ cpu->r[3] = cpu->r[31] + 0x0000021Cu;
|
|
/* 02459900 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02459904 */ _t13 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02459904 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02459908 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459908 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02459908 */ if (_t15) goto L_0245990C; else goto L_0245991C;
|
|
L_0245990C: ; // 0x245990c
|
|
/* 0245990C */ cpu->r[3] = 0x00000008u;
|
|
/* 02459910 */ Gambit_fn_02801A78(cpu);
|
|
/* 02459914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02459918 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459918 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02459918 */ if (_t17) goto L_02459924; else goto L_0245991C;
|
|
L_0245991C: ; // 0x245991c
|
|
/* 0245991C */ _t18 = cpu->r[3] + 0x00000004u;
|
|
/* 0245991C */ rbrew_write32(cpu->mem, _t18, cpu->r[29]);
|
|
/* 02459920 */ _t19 = cpu->r[3] + 0x00000000u;
|
|
/* 02459920 */ rbrew_write32(cpu->mem, _t19, cpu->r[29]);
|
|
L_02459924: ; // 0x2459924
|
|
/* 02459924 */ cpu->r[3] = cpu->r[31] + 0x00000224u;
|
|
/* 02459924 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02459928 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459928 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02459928 */ if (_t21) goto L_0245992C; else goto L_0245993C;
|
|
L_0245992C: ; // 0x245992c
|
|
/* 0245992C */ cpu->r[3] = 0x00000008u;
|
|
/* 02459930 */ Gambit_fn_02801A78(cpu);
|
|
/* 02459934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02459938 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459938 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02459938 */ if (_t23) goto L_02459944; else goto L_0245993C;
|
|
L_0245993C: ; // 0x245993c
|
|
/* 0245993C */ _t24 = cpu->r[3] + 0x00000004u;
|
|
/* 0245993C */ rbrew_write32(cpu->mem, _t24, cpu->r[29]);
|
|
/* 02459940 */ _t25 = cpu->r[3] + 0x00000000u;
|
|
/* 02459940 */ rbrew_write32(cpu->mem, _t25, cpu->r[29]);
|
|
L_02459944: ; // 0x2459944
|
|
/* 02459944 */ cpu->r[3] = cpu->r[31] + 0x0000022Cu;
|
|
/* 02459944 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02459948 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459948 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02459948 */ if (_t27) goto L_0245994C; else goto L_0245995C;
|
|
L_0245994C: ; // 0x245994c
|
|
/* 0245994C */ cpu->r[3] = 0x00000008u;
|
|
/* 02459950 */ Gambit_fn_02801A78(cpu);
|
|
/* 02459954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02459958 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459958 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02459958 */ if (_t29) goto L_02459964; else goto L_0245995C;
|
|
L_0245995C: ; // 0x245995c
|
|
/* 0245995C */ _t30 = cpu->r[3] + 0x00000004u;
|
|
/* 0245995C */ rbrew_write32(cpu->mem, _t30, cpu->r[29]);
|
|
/* 02459960 */ _t31 = cpu->r[3] + 0x00000000u;
|
|
/* 02459960 */ rbrew_write32(cpu->mem, _t31, cpu->r[29]);
|
|
L_02459964: ; // 0x2459964
|
|
/* 02459964 */ cpu->r[3] = cpu->r[31] + 0x00000234u;
|
|
/* 02459964 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02459968 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459968 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02459968 */ if (_t33) goto L_0245996C; else goto L_0245997C;
|
|
L_0245996C: ; // 0x245996c
|
|
/* 0245996C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02459970 */ Gambit_fn_02801A78(cpu);
|
|
/* 02459974 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02459978 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459978 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02459978 */ if (_t35) goto L_02459988; else goto L_0245997C;
|
|
L_0245997C: ; // 0x245997c
|
|
/* 0245997C */ _t36 = cpu->r[3] + 0x00000004u;
|
|
/* 0245997C */ rbrew_write32(cpu->mem, _t36, cpu->r[29]);
|
|
/* 02459980 */ _t37 = cpu->r[3] + 0x00000000u;
|
|
/* 02459980 */ rbrew_write32(cpu->mem, _t37, cpu->r[29]);
|
|
/* 02459984 */ _t38 = cpu->r[3] + 0x00000008u;
|
|
/* 02459984 */ rbrew_write32(cpu->mem, _t38, cpu->r[29]);
|
|
L_02459988: ; // 0x2459988
|
|
/* 02459988 */ cpu->r[30] = 0x101D0000u;
|
|
/* 0245998C */ _t39 = cpu->r[31] + 0x00000240u;
|
|
/* 0245998C */ rbrew_write32(cpu->mem, _t39, cpu->r[29]);
|
|
/* 02459990 */ _t40 = cpu->r[30] + 0xFFFF98F0u;
|
|
/* 02459990 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02459990 */ cpu->r[30] = _t40;
|
|
/* 02459994 */ Gambit_fn_02826F20(cpu);
|
|
/* 02459998 */ _t41 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02459998 */ cpu->r[8] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0245999C */ _t42 = cpu->r[8] + 0x00000034u;
|
|
/* 0245999C */ cpu->r[9] = rbrew_read32(cpu->mem, _t42);
|
|
/* 024599A0 */ cpu->ctr = cpu->r[9];
|
|
/* 024599A4 */ cpu->r[4] = 0x0000000Cu;
|
|
/* 024599A8 */ cpu->r[5] = 0x00000004u;
|
|
/* 024599AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024599B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024599B4 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024599B4 */ _t44 = _t43 & 0x00000001u;
|
|
/* 024599B4 */ if (_t44) goto L_024599C4; else goto L_024599B8;
|
|
L_024599B8: ; // 0x24599b8
|
|
/* 024599B8 */ _t45 = cpu->r[31] + 0x00000220u;
|
|
/* 024599B8 */ rbrew_write32(cpu->mem, _t45, cpu->r[3]);
|
|
/* 024599BC */ cpu->r[0] = 0x00000003u;
|
|
/* 024599C0 */ _t46 = cpu->r[31] + 0x0000021Cu;
|
|
/* 024599C0 */ rbrew_write32(cpu->mem, _t46, cpu->r[0]);
|
|
L_024599C4: ; // 0x24599c4
|
|
/* 024599C4 */ _t47 = cpu->r[31] + 0x0000021Cu;
|
|
/* 024599C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t47);
|
|
/* 024599C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 024599CC */ _t48 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 024599CC */ _t49 = _t48 & 0x00000001u;
|
|
/* 024599CC */ if (_t49) goto L_024599D0; else goto L_024599EC;
|
|
L_024599D0: ; // 0x24599d0
|
|
/* 024599D0 */ cpu->r[10] = 0x00000000u;
|
|
/* 024599D4 */ cpu->ctr = cpu->r[7];
|
|
/* 024599D8 */ cpu->r[0] = cpu->r[10];
|
|
L_024599DC: ; // 0x24599dc
|
|
/* 024599DC */ _t50 = cpu->r[31] + 0x00000220u;
|
|
/* 024599DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t50);
|
|
/* 024599E0 */ _t51 = cpu->r[11] + cpu->r[10];
|
|
/* 024599E0 */ rbrew_write32(cpu->mem, _t51, cpu->r[0]);
|
|
/* 024599E4 */ cpu->r[10] = cpu->r[10] + 0x00000004u;
|
|
/* 024599E8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 024599E8 */ _t52 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 024599E8 */ _t53 = _t52 >> (0x00000002u & 31u);
|
|
/* 024599E8 */ _t54 = _t53 & 0x00000001u;
|
|
/* 024599E8 */ if (_t54) goto L_024599DC; else goto L_024599EC;
|
|
L_024599EC: ; // 0x24599ec
|
|
/* 024599EC */ _t55 = cpu->r[30] + 0x00000000u;
|
|
/* 024599EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t55);
|
|
/* 024599F0 */ Gambit_fn_02826F20(cpu);
|
|
/* 024599F4 */ _t56 = cpu->r[3] + 0x0000000Cu;
|
|
/* 024599F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t56);
|
|
/* 024599F8 */ _t57 = cpu->r[12] + 0x00000034u;
|
|
/* 024599F8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t57);
|
|
/* 024599FC */ cpu->ctr = cpu->r[6];
|
|
/* 02459A00 */ cpu->r[4] = 0x0000000Cu;
|
|
/* 02459A04 */ cpu->r[5] = 0x00000004u;
|
|
/* 02459A08 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02459A0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02459A10 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459A10 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02459A10 */ if (_t59) goto L_02459A20; else goto L_02459A14;
|
|
L_02459A14: ; // 0x2459a14
|
|
/* 02459A14 */ _t60 = cpu->r[31] + 0x00000228u;
|
|
/* 02459A14 */ rbrew_write32(cpu->mem, _t60, cpu->r[3]);
|
|
/* 02459A18 */ cpu->r[7] = 0x00000003u;
|
|
/* 02459A1C */ _t61 = cpu->r[31] + 0x00000224u;
|
|
/* 02459A1C */ rbrew_write32(cpu->mem, _t61, cpu->r[7]);
|
|
L_02459A20: ; // 0x2459a20
|
|
/* 02459A20 */ _t62 = cpu->r[31] + 0x00000224u;
|
|
/* 02459A20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02459A24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02459A28 */ _t63 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02459A28 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02459A28 */ if (_t64) goto L_02459A2C; else goto L_02459A48;
|
|
L_02459A2C: ; // 0x2459a2c
|
|
/* 02459A2C */ cpu->r[7] = 0x00000000u;
|
|
/* 02459A30 */ cpu->ctr = cpu->r[0];
|
|
/* 02459A34 */ cpu->r[9] = cpu->r[7];
|
|
L_02459A38: ; // 0x2459a38
|
|
/* 02459A38 */ _t65 = cpu->r[31] + 0x00000228u;
|
|
/* 02459A38 */ cpu->r[8] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02459A3C */ _t66 = cpu->r[8] + cpu->r[7];
|
|
/* 02459A3C */ rbrew_write32(cpu->mem, _t66, cpu->r[9]);
|
|
/* 02459A40 */ cpu->r[7] = cpu->r[7] + 0x00000004u;
|
|
/* 02459A44 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02459A44 */ _t67 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02459A44 */ _t68 = _t67 >> (0x00000002u & 31u);
|
|
/* 02459A44 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02459A44 */ if (_t69) goto L_02459A38; else goto L_02459A48;
|
|
L_02459A48: ; // 0x2459a48
|
|
/* 02459A48 */ _t70 = cpu->r[30] + 0x00000000u;
|
|
/* 02459A48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02459A4C */ Gambit_fn_02826F20(cpu);
|
|
/* 02459A50 */ _t71 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02459A50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02459A54 */ _t72 = cpu->r[9] + 0x00000034u;
|
|
/* 02459A54 */ cpu->r[10] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02459A58 */ cpu->ctr = cpu->r[10];
|
|
/* 02459A5C */ cpu->r[4] = 0x0000000Cu;
|
|
/* 02459A60 */ cpu->r[5] = 0x00000004u;
|
|
/* 02459A64 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02459A68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02459A6C */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459A6C */ _t74 = _t73 & 0x00000001u;
|
|
/* 02459A6C */ if (_t74) goto L_02459A7C; else goto L_02459A70;
|
|
L_02459A70: ; // 0x2459a70
|
|
/* 02459A70 */ _t75 = cpu->r[31] + 0x00000230u;
|
|
/* 02459A70 */ rbrew_write32(cpu->mem, _t75, cpu->r[3]);
|
|
/* 02459A74 */ cpu->r[0] = 0x00000003u;
|
|
/* 02459A78 */ _t76 = cpu->r[31] + 0x0000022Cu;
|
|
/* 02459A78 */ rbrew_write32(cpu->mem, _t76, cpu->r[0]);
|
|
L_02459A7C: ; // 0x2459a7c
|
|
/* 02459A7C */ _t77 = cpu->r[31] + 0x0000022Cu;
|
|
/* 02459A7C */ cpu->r[10] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02459A80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02459A84 */ _t78 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02459A84 */ _t79 = _t78 & 0x00000001u;
|
|
/* 02459A84 */ if (_t79) goto L_02459A88; else goto L_02459AA4;
|
|
L_02459A88: ; // 0x2459a88
|
|
/* 02459A88 */ cpu->r[11] = 0x00000000u;
|
|
/* 02459A8C */ cpu->ctr = cpu->r[10];
|
|
/* 02459A90 */ cpu->r[6] = cpu->r[11];
|
|
L_02459A94: ; // 0x2459a94
|
|
/* 02459A94 */ _t80 = cpu->r[31] + 0x00000230u;
|
|
/* 02459A94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02459A98 */ _t81 = cpu->r[12] + cpu->r[11];
|
|
/* 02459A98 */ rbrew_write32(cpu->mem, _t81, cpu->r[6]);
|
|
/* 02459A9C */ cpu->r[11] = cpu->r[11] + 0x00000004u;
|
|
/* 02459AA0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02459AA0 */ _t82 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02459AA0 */ _t83 = _t82 >> (0x00000002u & 31u);
|
|
/* 02459AA0 */ _t84 = _t83 & 0x00000001u;
|
|
/* 02459AA0 */ if (_t84) goto L_02459A94; else goto L_02459AA4;
|
|
L_02459AA4: ; // 0x2459aa4
|
|
/* 02459AA4 */ _t85 = cpu->r[30] + 0x00000000u;
|
|
/* 02459AA4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02459AA8 */ Gambit_fn_02826F20(cpu);
|
|
/* 02459AAC */ _t86 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02459AAC */ cpu->r[6] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02459AB0 */ _t87 = cpu->r[6] + 0x00000034u;
|
|
/* 02459AB0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02459AB4 */ cpu->ctr = cpu->r[7];
|
|
/* 02459AB8 */ cpu->r[4] = 0x00000024u;
|
|
/* 02459ABC */ cpu->r[5] = 0x00000004u;
|
|
/* 02459AC0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02459AC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02459AC8 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459AC8 */ _t89 = _t88 & 0x00000001u;
|
|
/* 02459AC8 */ if (_t89) goto L_02459ADC; else goto L_02459ACC;
|
|
L_02459ACC: ; // 0x2459acc
|
|
/* 02459ACC */ _t90 = cpu->r[31] + 0x0000023Cu;
|
|
/* 02459ACC */ rbrew_write32(cpu->mem, _t90, cpu->r[3]);
|
|
/* 02459AD0 */ cpu->r[8] = 0x00000003u;
|
|
/* 02459AD4 */ _t91 = cpu->r[31] + 0x00000238u;
|
|
/* 02459AD4 */ rbrew_write32(cpu->mem, _t91, cpu->r[8]);
|
|
/* 02459AD8 */ _t92 = cpu->r[31] + 0x00000234u;
|
|
/* 02459AD8 */ rbrew_write32(cpu->mem, _t92, cpu->r[8]);
|
|
L_02459ADC: ; // 0x2459adc
|
|
/* 02459ADC */ _t93 = cpu->r[31] + 0x00000234u;
|
|
/* 02459ADC */ cpu->r[10] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02459AE0 */ _t94 = cpu->r[31] + 0x00000238u;
|
|
/* 02459AE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02459AE4 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[0]);
|
|
/* 02459AE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02459AE8 */ _t95 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02459AE8 */ _t96 = _t95 & 0x00000001u;
|
|
/* 02459AE8 */ if (_t96) goto L_02459AEC; else goto L_02459B08;
|
|
L_02459AEC: ; // 0x2459aec
|
|
/* 02459AEC */ cpu->r[9] = 0x00000000u;
|
|
/* 02459AF0 */ cpu->ctr = cpu->r[8];
|
|
/* 02459AF4 */ cpu->r[0] = cpu->r[9];
|
|
L_02459AF8: ; // 0x2459af8
|
|
/* 02459AF8 */ _t97 = cpu->r[31] + 0x0000023Cu;
|
|
/* 02459AF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02459AFC */ _t98 = cpu->r[12] + cpu->r[9];
|
|
/* 02459AFC */ rbrew_write32(cpu->mem, _t98, cpu->r[0]);
|
|
/* 02459B00 */ cpu->r[9] = cpu->r[9] + 0x00000004u;
|
|
/* 02459B04 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02459B04 */ _t99 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02459B04 */ _t100 = _t99 >> (0x00000002u & 31u);
|
|
/* 02459B04 */ _t101 = _t100 & 0x00000001u;
|
|
/* 02459B04 */ if (_t101) goto L_02459AF8; else goto L_02459B08;
|
|
L_02459B08: ; // 0x2459b08
|
|
/* 02459B08 */ _t102 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02459B08 */ cpu->r[29] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02459B0C */ _t103 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02459B0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t103);
|
|
/* 02459B10 */ cpu->r[3] = cpu->r[31];
|
|
/* 02459B14 */ _t104 = cpu->r[1] + 0x00000010u;
|
|
/* 02459B14 */ cpu->r[30] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02459B18 */ cpu->lr = cpu->r[0];
|
|
/* 02459B1C */ _t105 = cpu->r[1] + 0x00000014u;
|
|
/* 02459B1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t105);
|
|
/* 02459B20 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02459B24 */ return;
|
|
}
|
|
|
|
// fn_0245988C @ 0x245988c
|
|
void Gambit_fn_0245988C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105;
|
|
|
|
L_0245988C: ; // 0x245988c
|
|
/* 0245988C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0245988C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245988C */ cpu->r[1] = _t0;
|
|
/* 02459890 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02459890 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02459894 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02459894 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02459898 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02459898 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0245989C */ cpu->r[31] = cpu->r[3];
|
|
/* 0245989C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 024598A0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 024598A0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 024598A4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024598A4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 024598A4 */ if (_t6) goto L_024598A8; else goto L_024598B8;
|
|
L_024598A8: ; // 0x24598a8
|
|
/* 024598A8 */ cpu->r[3] = 0x00000244u;
|
|
/* 024598AC */ Gambit_fn_02801A78(cpu);
|
|
/* 024598B0 */ cpu->r[31] = cpu->r[3];
|
|
/* 024598B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 024598B4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024598B4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 024598B4 */ if (_t8) goto L_02459B08; else goto L_024598B8;
|
|
L_024598B8: ; // 0x24598b8
|
|
/* 024598B8 */ cpu->r[4] = 0x100A0000u;
|
|
/* 024598BC */ cpu->r[3] = cpu->r[31];
|
|
/* 024598C0 */ cpu->r[5] = 0x00000001u;
|
|
/* 024598C4 */ cpu->r[4] = cpu->r[4] + 0x00000CD8u;
|
|
/* 024598C8 */ Gambit_fn_020B5C38(cpu);
|
|
/* 024598CC */ cpu->r[12] = 0x100A0000u;
|
|
/* 024598D0 */ cpu->r[6] = 0x100A0000u;
|
|
/* 024598D4 */ cpu->r[12] = cpu->r[12] + 0x00000D88u;
|
|
/* 024598D8 */ cpu->r[6] = cpu->r[6] + 0x00000F68u;
|
|
/* 024598DC */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 024598DC */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 024598E0 */ cpu->r[29] = 0x00000000u;
|
|
/* 024598E4 */ cpu->r[7] = 0x100A0000u;
|
|
/* 024598E8 */ _t10 = cpu->r[31] + 0x0000001Cu;
|
|
/* 024598E8 */ rbrew_write32(cpu->mem, _t10, cpu->r[6]);
|
|
/* 024598EC */ cpu->r[7] = cpu->r[7] + 0x00000F78u;
|
|
/* 024598F0 */ _t11 = cpu->r[31] + 0x00000218u;
|
|
/* 024598F0 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 024598F4 */ cpu->r[0] = 0x100A0000u;
|
|
/* 024598F8 */ _t12 = cpu->r[31] + 0x000001C8u;
|
|
/* 024598F8 */ rbrew_write32(cpu->mem, _t12, cpu->r[7]);
|
|
/* 024598FC */ cpu->r[0] = cpu->r[0] + 0x00000F58u;
|
|
/* 02459900 */ cpu->r[3] = cpu->r[31] + 0x0000021Cu;
|
|
/* 02459900 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02459904 */ _t13 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02459904 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02459908 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459908 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02459908 */ if (_t15) goto L_0245990C; else goto L_0245991C;
|
|
L_0245990C: ; // 0x245990c
|
|
/* 0245990C */ cpu->r[3] = 0x00000008u;
|
|
/* 02459910 */ Gambit_fn_02801A78(cpu);
|
|
/* 02459914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02459918 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459918 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02459918 */ if (_t17) goto L_02459924; else goto L_0245991C;
|
|
L_0245991C: ; // 0x245991c
|
|
/* 0245991C */ _t18 = cpu->r[3] + 0x00000004u;
|
|
/* 0245991C */ rbrew_write32(cpu->mem, _t18, cpu->r[29]);
|
|
/* 02459920 */ _t19 = cpu->r[3] + 0x00000000u;
|
|
/* 02459920 */ rbrew_write32(cpu->mem, _t19, cpu->r[29]);
|
|
L_02459924: ; // 0x2459924
|
|
/* 02459924 */ cpu->r[3] = cpu->r[31] + 0x00000224u;
|
|
/* 02459924 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02459928 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459928 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02459928 */ if (_t21) goto L_0245992C; else goto L_0245993C;
|
|
L_0245992C: ; // 0x245992c
|
|
/* 0245992C */ cpu->r[3] = 0x00000008u;
|
|
/* 02459930 */ Gambit_fn_02801A78(cpu);
|
|
/* 02459934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02459938 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459938 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02459938 */ if (_t23) goto L_02459944; else goto L_0245993C;
|
|
L_0245993C: ; // 0x245993c
|
|
/* 0245993C */ _t24 = cpu->r[3] + 0x00000004u;
|
|
/* 0245993C */ rbrew_write32(cpu->mem, _t24, cpu->r[29]);
|
|
/* 02459940 */ _t25 = cpu->r[3] + 0x00000000u;
|
|
/* 02459940 */ rbrew_write32(cpu->mem, _t25, cpu->r[29]);
|
|
L_02459944: ; // 0x2459944
|
|
/* 02459944 */ cpu->r[3] = cpu->r[31] + 0x0000022Cu;
|
|
/* 02459944 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02459948 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459948 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02459948 */ if (_t27) goto L_0245994C; else goto L_0245995C;
|
|
L_0245994C: ; // 0x245994c
|
|
/* 0245994C */ cpu->r[3] = 0x00000008u;
|
|
/* 02459950 */ Gambit_fn_02801A78(cpu);
|
|
/* 02459954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02459958 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459958 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02459958 */ if (_t29) goto L_02459964; else goto L_0245995C;
|
|
L_0245995C: ; // 0x245995c
|
|
/* 0245995C */ _t30 = cpu->r[3] + 0x00000004u;
|
|
/* 0245995C */ rbrew_write32(cpu->mem, _t30, cpu->r[29]);
|
|
/* 02459960 */ _t31 = cpu->r[3] + 0x00000000u;
|
|
/* 02459960 */ rbrew_write32(cpu->mem, _t31, cpu->r[29]);
|
|
L_02459964: ; // 0x2459964
|
|
/* 02459964 */ cpu->r[3] = cpu->r[31] + 0x00000234u;
|
|
/* 02459964 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02459968 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459968 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02459968 */ if (_t33) goto L_0245996C; else goto L_0245997C;
|
|
L_0245996C: ; // 0x245996c
|
|
/* 0245996C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02459970 */ Gambit_fn_02801A78(cpu);
|
|
/* 02459974 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02459978 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459978 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02459978 */ if (_t35) goto L_02459988; else goto L_0245997C;
|
|
L_0245997C: ; // 0x245997c
|
|
/* 0245997C */ _t36 = cpu->r[3] + 0x00000004u;
|
|
/* 0245997C */ rbrew_write32(cpu->mem, _t36, cpu->r[29]);
|
|
/* 02459980 */ _t37 = cpu->r[3] + 0x00000000u;
|
|
/* 02459980 */ rbrew_write32(cpu->mem, _t37, cpu->r[29]);
|
|
/* 02459984 */ _t38 = cpu->r[3] + 0x00000008u;
|
|
/* 02459984 */ rbrew_write32(cpu->mem, _t38, cpu->r[29]);
|
|
L_02459988: ; // 0x2459988
|
|
/* 02459988 */ cpu->r[30] = 0x101D0000u;
|
|
/* 0245998C */ _t39 = cpu->r[31] + 0x00000240u;
|
|
/* 0245998C */ rbrew_write32(cpu->mem, _t39, cpu->r[29]);
|
|
/* 02459990 */ _t40 = cpu->r[30] + 0xFFFF98F0u;
|
|
/* 02459990 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02459990 */ cpu->r[30] = _t40;
|
|
/* 02459994 */ Gambit_fn_02826F20(cpu);
|
|
/* 02459998 */ _t41 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02459998 */ cpu->r[8] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0245999C */ _t42 = cpu->r[8] + 0x00000034u;
|
|
/* 0245999C */ cpu->r[9] = rbrew_read32(cpu->mem, _t42);
|
|
/* 024599A0 */ cpu->ctr = cpu->r[9];
|
|
/* 024599A4 */ cpu->r[4] = 0x0000000Cu;
|
|
/* 024599A8 */ cpu->r[5] = 0x00000004u;
|
|
/* 024599AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 024599B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 024599B4 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 024599B4 */ _t44 = _t43 & 0x00000001u;
|
|
/* 024599B4 */ if (_t44) goto L_024599C4; else goto L_024599B8;
|
|
L_024599B8: ; // 0x24599b8
|
|
/* 024599B8 */ _t45 = cpu->r[31] + 0x00000220u;
|
|
/* 024599B8 */ rbrew_write32(cpu->mem, _t45, cpu->r[3]);
|
|
/* 024599BC */ cpu->r[0] = 0x00000003u;
|
|
/* 024599C0 */ _t46 = cpu->r[31] + 0x0000021Cu;
|
|
/* 024599C0 */ rbrew_write32(cpu->mem, _t46, cpu->r[0]);
|
|
L_024599C4: ; // 0x24599c4
|
|
/* 024599C4 */ _t47 = cpu->r[31] + 0x0000021Cu;
|
|
/* 024599C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t47);
|
|
/* 024599C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 024599CC */ _t48 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 024599CC */ _t49 = _t48 & 0x00000001u;
|
|
/* 024599CC */ if (_t49) goto L_024599D0; else goto L_024599EC;
|
|
L_024599D0: ; // 0x24599d0
|
|
/* 024599D0 */ cpu->r[10] = 0x00000000u;
|
|
/* 024599D4 */ cpu->ctr = cpu->r[7];
|
|
/* 024599D8 */ cpu->r[0] = cpu->r[10];
|
|
L_024599DC: ; // 0x24599dc
|
|
/* 024599DC */ _t50 = cpu->r[31] + 0x00000220u;
|
|
/* 024599DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t50);
|
|
/* 024599E0 */ _t51 = cpu->r[11] + cpu->r[10];
|
|
/* 024599E0 */ rbrew_write32(cpu->mem, _t51, cpu->r[0]);
|
|
/* 024599E4 */ cpu->r[10] = cpu->r[10] + 0x00000004u;
|
|
/* 024599E8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 024599E8 */ _t52 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 024599E8 */ _t53 = _t52 >> (0x00000002u & 31u);
|
|
/* 024599E8 */ _t54 = _t53 & 0x00000001u;
|
|
/* 024599E8 */ if (_t54) goto L_024599DC; else goto L_024599EC;
|
|
L_024599EC: ; // 0x24599ec
|
|
/* 024599EC */ _t55 = cpu->r[30] + 0x00000000u;
|
|
/* 024599EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t55);
|
|
/* 024599F0 */ Gambit_fn_02826F20(cpu);
|
|
/* 024599F4 */ _t56 = cpu->r[3] + 0x0000000Cu;
|
|
/* 024599F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t56);
|
|
/* 024599F8 */ _t57 = cpu->r[12] + 0x00000034u;
|
|
/* 024599F8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t57);
|
|
/* 024599FC */ cpu->ctr = cpu->r[6];
|
|
/* 02459A00 */ cpu->r[4] = 0x0000000Cu;
|
|
/* 02459A04 */ cpu->r[5] = 0x00000004u;
|
|
/* 02459A08 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02459A0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02459A10 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459A10 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02459A10 */ if (_t59) goto L_02459A20; else goto L_02459A14;
|
|
L_02459A14: ; // 0x2459a14
|
|
/* 02459A14 */ _t60 = cpu->r[31] + 0x00000228u;
|
|
/* 02459A14 */ rbrew_write32(cpu->mem, _t60, cpu->r[3]);
|
|
/* 02459A18 */ cpu->r[7] = 0x00000003u;
|
|
/* 02459A1C */ _t61 = cpu->r[31] + 0x00000224u;
|
|
/* 02459A1C */ rbrew_write32(cpu->mem, _t61, cpu->r[7]);
|
|
L_02459A20: ; // 0x2459a20
|
|
/* 02459A20 */ _t62 = cpu->r[31] + 0x00000224u;
|
|
/* 02459A20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02459A24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02459A28 */ _t63 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02459A28 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02459A28 */ if (_t64) goto L_02459A2C; else goto L_02459A48;
|
|
L_02459A2C: ; // 0x2459a2c
|
|
/* 02459A2C */ cpu->r[7] = 0x00000000u;
|
|
/* 02459A30 */ cpu->ctr = cpu->r[0];
|
|
/* 02459A34 */ cpu->r[9] = cpu->r[7];
|
|
L_02459A38: ; // 0x2459a38
|
|
/* 02459A38 */ _t65 = cpu->r[31] + 0x00000228u;
|
|
/* 02459A38 */ cpu->r[8] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02459A3C */ _t66 = cpu->r[8] + cpu->r[7];
|
|
/* 02459A3C */ rbrew_write32(cpu->mem, _t66, cpu->r[9]);
|
|
/* 02459A40 */ cpu->r[7] = cpu->r[7] + 0x00000004u;
|
|
/* 02459A44 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02459A44 */ _t67 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02459A44 */ _t68 = _t67 >> (0x00000002u & 31u);
|
|
/* 02459A44 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02459A44 */ if (_t69) goto L_02459A38; else goto L_02459A48;
|
|
L_02459A48: ; // 0x2459a48
|
|
/* 02459A48 */ _t70 = cpu->r[30] + 0x00000000u;
|
|
/* 02459A48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02459A4C */ Gambit_fn_02826F20(cpu);
|
|
/* 02459A50 */ _t71 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02459A50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02459A54 */ _t72 = cpu->r[9] + 0x00000034u;
|
|
/* 02459A54 */ cpu->r[10] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02459A58 */ cpu->ctr = cpu->r[10];
|
|
/* 02459A5C */ cpu->r[4] = 0x0000000Cu;
|
|
/* 02459A60 */ cpu->r[5] = 0x00000004u;
|
|
/* 02459A64 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02459A68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02459A6C */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459A6C */ _t74 = _t73 & 0x00000001u;
|
|
/* 02459A6C */ if (_t74) goto L_02459A7C; else goto L_02459A70;
|
|
L_02459A70: ; // 0x2459a70
|
|
/* 02459A70 */ _t75 = cpu->r[31] + 0x00000230u;
|
|
/* 02459A70 */ rbrew_write32(cpu->mem, _t75, cpu->r[3]);
|
|
/* 02459A74 */ cpu->r[0] = 0x00000003u;
|
|
/* 02459A78 */ _t76 = cpu->r[31] + 0x0000022Cu;
|
|
/* 02459A78 */ rbrew_write32(cpu->mem, _t76, cpu->r[0]);
|
|
L_02459A7C: ; // 0x2459a7c
|
|
/* 02459A7C */ _t77 = cpu->r[31] + 0x0000022Cu;
|
|
/* 02459A7C */ cpu->r[10] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02459A80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02459A84 */ _t78 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02459A84 */ _t79 = _t78 & 0x00000001u;
|
|
/* 02459A84 */ if (_t79) goto L_02459A88; else goto L_02459AA4;
|
|
L_02459A88: ; // 0x2459a88
|
|
/* 02459A88 */ cpu->r[11] = 0x00000000u;
|
|
/* 02459A8C */ cpu->ctr = cpu->r[10];
|
|
/* 02459A90 */ cpu->r[6] = cpu->r[11];
|
|
L_02459A94: ; // 0x2459a94
|
|
/* 02459A94 */ _t80 = cpu->r[31] + 0x00000230u;
|
|
/* 02459A94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02459A98 */ _t81 = cpu->r[12] + cpu->r[11];
|
|
/* 02459A98 */ rbrew_write32(cpu->mem, _t81, cpu->r[6]);
|
|
/* 02459A9C */ cpu->r[11] = cpu->r[11] + 0x00000004u;
|
|
/* 02459AA0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02459AA0 */ _t82 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02459AA0 */ _t83 = _t82 >> (0x00000002u & 31u);
|
|
/* 02459AA0 */ _t84 = _t83 & 0x00000001u;
|
|
/* 02459AA0 */ if (_t84) goto L_02459A94; else goto L_02459AA4;
|
|
L_02459AA4: ; // 0x2459aa4
|
|
/* 02459AA4 */ _t85 = cpu->r[30] + 0x00000000u;
|
|
/* 02459AA4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02459AA8 */ Gambit_fn_02826F20(cpu);
|
|
/* 02459AAC */ _t86 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02459AAC */ cpu->r[6] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02459AB0 */ _t87 = cpu->r[6] + 0x00000034u;
|
|
/* 02459AB0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02459AB4 */ cpu->ctr = cpu->r[7];
|
|
/* 02459AB8 */ cpu->r[4] = 0x00000024u;
|
|
/* 02459ABC */ cpu->r[5] = 0x00000004u;
|
|
/* 02459AC0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02459AC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02459AC8 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459AC8 */ _t89 = _t88 & 0x00000001u;
|
|
/* 02459AC8 */ if (_t89) goto L_02459ADC; else goto L_02459ACC;
|
|
L_02459ACC: ; // 0x2459acc
|
|
/* 02459ACC */ _t90 = cpu->r[31] + 0x0000023Cu;
|
|
/* 02459ACC */ rbrew_write32(cpu->mem, _t90, cpu->r[3]);
|
|
/* 02459AD0 */ cpu->r[8] = 0x00000003u;
|
|
/* 02459AD4 */ _t91 = cpu->r[31] + 0x00000238u;
|
|
/* 02459AD4 */ rbrew_write32(cpu->mem, _t91, cpu->r[8]);
|
|
/* 02459AD8 */ _t92 = cpu->r[31] + 0x00000234u;
|
|
/* 02459AD8 */ rbrew_write32(cpu->mem, _t92, cpu->r[8]);
|
|
L_02459ADC: ; // 0x2459adc
|
|
/* 02459ADC */ _t93 = cpu->r[31] + 0x00000234u;
|
|
/* 02459ADC */ cpu->r[10] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02459AE0 */ _t94 = cpu->r[31] + 0x00000238u;
|
|
/* 02459AE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02459AE4 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[0]);
|
|
/* 02459AE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02459AE8 */ _t95 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02459AE8 */ _t96 = _t95 & 0x00000001u;
|
|
/* 02459AE8 */ if (_t96) goto L_02459AEC; else goto L_02459B08;
|
|
L_02459AEC: ; // 0x2459aec
|
|
/* 02459AEC */ cpu->r[9] = 0x00000000u;
|
|
/* 02459AF0 */ cpu->ctr = cpu->r[8];
|
|
/* 02459AF4 */ cpu->r[0] = cpu->r[9];
|
|
L_02459AF8: ; // 0x2459af8
|
|
/* 02459AF8 */ _t97 = cpu->r[31] + 0x0000023Cu;
|
|
/* 02459AF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02459AFC */ _t98 = cpu->r[12] + cpu->r[9];
|
|
/* 02459AFC */ rbrew_write32(cpu->mem, _t98, cpu->r[0]);
|
|
/* 02459B00 */ cpu->r[9] = cpu->r[9] + 0x00000004u;
|
|
/* 02459B04 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02459B04 */ _t99 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02459B04 */ _t100 = _t99 >> (0x00000002u & 31u);
|
|
/* 02459B04 */ _t101 = _t100 & 0x00000001u;
|
|
/* 02459B04 */ if (_t101) goto L_02459AF8; else goto L_02459B08;
|
|
L_02459B08: ; // 0x2459b08
|
|
/* 02459B08 */ _t102 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02459B08 */ cpu->r[29] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02459B0C */ _t103 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02459B0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t103);
|
|
/* 02459B10 */ cpu->r[3] = cpu->r[31];
|
|
/* 02459B14 */ _t104 = cpu->r[1] + 0x00000010u;
|
|
/* 02459B14 */ cpu->r[30] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02459B18 */ cpu->lr = cpu->r[0];
|
|
/* 02459B1C */ _t105 = cpu->r[1] + 0x00000014u;
|
|
/* 02459B1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t105);
|
|
/* 02459B20 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02459B24 */ return;
|
|
}
|
|
|
|
// fn_02459B28 @ 0x2459b28
|
|
void Gambit_fn_02459B28(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02459B28: ; // 0x2459b28
|
|
/* 02459B28 */ cpu->r[0] = cpu->lr;
|
|
/* 02459B2C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02459B2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02459B2C */ cpu->r[1] = _t0;
|
|
/* 02459B30 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02459B30 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02459B34 */ cpu->r[31] = cpu->r[3];
|
|
/* 02459B38 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02459B38 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02459B3C */ _t3 = cpu->r[31] + 0x00000240u;
|
|
/* 02459B3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02459B40 */ _t4 = cpu->r[4] + 0x00000000u;
|
|
/* 02459B40 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02459B44 */ cpu->r[5] = 0x00000003u;
|
|
/* 02459B48 */ Gambit_fn_020A7D70(cpu);
|
|
/* 02459B4C */ _t5 = cpu->r[31] + 0x00000240u;
|
|
/* 02459B4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02459B50 */ Gambit_fn_020A7E60(cpu);
|
|
/* 02459B54 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02459B54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02459B58 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02459B58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02459B5C */ cpu->lr = cpu->r[0];
|
|
/* 02459B60 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02459B64 */ return;
|
|
}
|
|
|
|
// fn_02459B2C @ 0x2459b2c
|
|
void Gambit_fn_02459B2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02459B2C: ; // 0x2459b2c
|
|
/* 02459B2C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02459B2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02459B2C */ cpu->r[1] = _t0;
|
|
/* 02459B30 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02459B30 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02459B34 */ cpu->r[31] = cpu->r[3];
|
|
/* 02459B38 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02459B38 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02459B3C */ _t3 = cpu->r[31] + 0x00000240u;
|
|
/* 02459B3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02459B40 */ _t4 = cpu->r[4] + 0x00000000u;
|
|
/* 02459B40 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02459B44 */ cpu->r[5] = 0x00000003u;
|
|
/* 02459B48 */ Gambit_fn_020A7D70(cpu);
|
|
/* 02459B4C */ _t5 = cpu->r[31] + 0x00000240u;
|
|
/* 02459B4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02459B50 */ Gambit_fn_020A7E60(cpu);
|
|
/* 02459B54 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02459B54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02459B58 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02459B58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02459B5C */ cpu->lr = cpu->r[0];
|
|
/* 02459B60 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02459B64 */ return;
|
|
}
|
|
|
|
// fn_02459B68 @ 0x2459b68
|
|
void Gambit_fn_02459B68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _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_02459B68: ; // 0x2459b68
|
|
/* 02459B68 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02459B68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02459B68 */ cpu->r[1] = _t0;
|
|
/* 02459B6C */ /* nop */
|
|
/* 02459B70 */ cpu->r[0] = cpu->lr;
|
|
/* 02459B74 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02459B74 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02459B78 */ cpu->r[11] = 0x101C0000u;
|
|
/* 02459B7C */ cpu->r[31] = cpu->r[4];
|
|
/* 02459B80 */ _t2 = cpu->r[11] + 0x00001344u;
|
|
/* 02459B80 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02459B84 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 02459B84 */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02459B88 */ cpu->r[30] = cpu->r[3];
|
|
/* 02459B8C */ cpu->r[28] = cpu->r[5];
|
|
/* 02459B90 */ _t4 = cpu->r[11] + 0x00000014u;
|
|
/* 02459B90 */ cpu->r[29] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02459B94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000002u);
|
|
/* 02459B98 */ cpu->r[27] = 0x00000000u;
|
|
/* 02459B9C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459B9C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02459B9C */ if (_t6) goto L_02459BD4; else goto L_02459BA0;
|
|
L_02459BA0: ; // 0x2459ba0
|
|
/* 02459BA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000001u);
|
|
/* 02459BA4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459BA4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02459BA4 */ if (_t8) goto L_02459BA8; else goto L_02459BC8;
|
|
L_02459BA8: ; // 0x2459ba8
|
|
/* 02459BA8 */ _t9 = cpu->r[30] + 0x00000224u;
|
|
/* 02459BA8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02459BAC */ cpu->r[27] = 0x00000001u;
|
|
/* 02459BB0 */ _t10 = cpu->r[28] + 0x00000000u;
|
|
/* 02459BB0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02459BB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[7]);
|
|
/* 02459BB8 */ _t11 = cpu->r[30] + 0x00000228u;
|
|
/* 02459BB8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02459BBC */ _t12 = cpu->r[31] + 0x00000000u;
|
|
/* 02459BBC */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02459BC0 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02459BC0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02459BC0 */ if (_t14) goto L_02459BEC; else goto L_02459BC4;
|
|
L_02459BC4: ; // 0x2459bc4
|
|
/* 02459BC4 */ goto L_02459BF4;
|
|
L_02459BC8: ; // 0x2459bc8
|
|
/* 02459BC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02459BCC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459BCC */ _t16 = _t15 & 0x00000001u;
|
|
/* 02459BCC */ if (_t16) goto L_02459BD0; else goto L_02459BD4;
|
|
L_02459BD0: ; // 0x2459bd0
|
|
/* 02459BD0 */ cpu->r[27] = 0x00000002u;
|
|
L_02459BD4: ; // 0x2459bd4
|
|
/* 02459BD4 */ _t17 = cpu->r[30] + 0x00000224u;
|
|
/* 02459BD4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02459BD8 */ _t18 = cpu->r[28] + 0x00000000u;
|
|
/* 02459BD8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02459BDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[7]);
|
|
/* 02459BE0 */ _t19 = cpu->r[30] + 0x00000228u;
|
|
/* 02459BE0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02459BE4 */ _t20 = cpu->r[31] + 0x00000000u;
|
|
/* 02459BE4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02459BE8 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02459BE8 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02459BE8 */ if (_t22) goto L_02459BEC; else goto L_02459BC4;
|
|
L_02459BEC: ; // 0x2459bec
|
|
/* 02459BEC */ cpu->r[0] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02459BF0 */ cpu->r[10] = cpu->r[10] + cpu->r[0];
|
|
L_02459BF4: ; // 0x2459bf4
|
|
/* 02459BF4 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 02459BF4 */ rbrew_write32(cpu->mem, _t23, cpu->r[9]);
|
|
/* 02459BF8 */ _t24 = cpu->r[10] + 0x00000000u;
|
|
/* 02459BF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02459BFC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02459C00 */ Gambit_fn_020CE670(cpu);
|
|
/* 02459C04 */ _t25 = cpu->r[31] + 0x00000000u;
|
|
/* 02459C04 */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02459C08 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02459C0C */ _t26 = cpu->r[28] + 0x00000000u;
|
|
/* 02459C0C */ cpu->r[5] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02459C10 */ cpu->r[3] = cpu->r[29];
|
|
/* 02459C14 */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 02459C14 */ rbrew_write32(cpu->mem, _t27, cpu->r[10]);
|
|
/* 02459C18 */ Gambit_fn_0201D9E4(cpu);
|
|
/* 02459C1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02459C20 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459C20 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02459C20 */ if (_t29) goto L_02459CE4; else goto L_02459C24;
|
|
L_02459C24: ; // 0x2459c24
|
|
/* 02459C24 */ _t30 = cpu->r[30] + 0x0000022Cu;
|
|
/* 02459C24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02459C28 */ _t31 = cpu->r[30] + 0x00000230u;
|
|
/* 02459C28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02459C2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]);
|
|
/* 02459C30 */ _t32 = cpu->r[3] + 0x0000014Cu;
|
|
/* 02459C30 */ cpu->r[4] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02459C34 */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02459C34 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02459C34 */ if (_t34) goto L_02459C38; else goto L_02459C40;
|
|
L_02459C38: ; // 0x2459c38
|
|
/* 02459C38 */ cpu->r[5] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02459C3C */ cpu->r[12] = cpu->r[12] + cpu->r[5];
|
|
L_02459C40: ; // 0x2459c40
|
|
/* 02459C40 */ _t35 = cpu->r[12] + 0x00000000u;
|
|
/* 02459C40 */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02459C44 */ Gambit_fn_020CF070(cpu);
|
|
/* 02459C48 */ cpu->r[26] = 0x00000000u;
|
|
/* 02459C4C */ cpu->r[29] = 0x00000003u;
|
|
/* 02459C50 */ cpu->r[31] = cpu->r[26];
|
|
L_02459C54: ; // 0x2459c54
|
|
/* 02459C54 */ _t36 = cpu->r[28] + 0x00000008u;
|
|
/* 02459C54 */ cpu->r[7] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02459C58 */ cpu->r[6] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02459C5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[6]);
|
|
/* 02459C60 */ cpu->r[4] = 0xFFFFFFFEu;
|
|
/* 02459C64 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02459C64 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02459C64 */ if (_t38) goto L_02459C68; else goto L_02459C84;
|
|
L_02459C68: ; // 0x2459c68
|
|
/* 02459C68 */ _t39 = cpu->r[28] + 0x00000004u;
|
|
/* 02459C68 */ cpu->r[9] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02459C6C */ cpu->r[0] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 02459C70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[0]);
|
|
/* 02459C74 */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 02459C78 */ _t40 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02459C78 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02459C78 */ if (_t41) goto L_02459C7C; else goto L_02459C84;
|
|
L_02459C7C: ; // 0x2459c7c
|
|
/* 02459C7C */ cpu->r[10] = cpu->r[28] + cpu->r[31];
|
|
/* 02459C80 */ _t42 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02459C80 */ cpu->r[4] = rbrew_read32(cpu->mem, _t42);
|
|
L_02459C84: ; // 0x2459c84
|
|
/* 02459C84 */ _t43 = cpu->r[30] + 0x00000234u;
|
|
/* 02459C84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02459C88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]);
|
|
/* 02459C8C */ _t44 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02459C8C */ _t45 = _t44 & 0x00000001u;
|
|
/* 02459C8C */ if (_t45) goto L_02459C90; else goto L_02459CC8;
|
|
L_02459C90: ; // 0x2459c90
|
|
/* 02459C90 */ _t46 = cpu->r[30] + 0x00000238u;
|
|
/* 02459C90 */ cpu->r[11] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02459C94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[11]);
|
|
/* 02459C98 */ _t47 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02459C98 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02459C98 */ if (_t48) goto L_02459C9C; else goto L_02459CC8;
|
|
L_02459C9C: ; // 0x2459c9c
|
|
/* 02459C9C */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[26]);
|
|
/* 02459CA0 */ cpu->r[5] = cpu->r[12] + cpu->r[27];
|
|
/* 02459CA4 */ _t49 = cpu->r[30] + 0x0000023Cu;
|
|
/* 02459CA4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02459CA8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02459CAC */ _t50 = cpu->r[7] + cpu->r[0];
|
|
/* 02459CAC */ cpu->r[3] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02459CB0 */ Gambit_fn_020CF070(cpu);
|
|
/* 02459CB4 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02459CB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02459CB8 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 02459CBC */ cpu->r[31] = cpu->r[31] + 0x00000004u;
|
|
/* 02459CC0 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459CC0 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02459CC0 */ if (_t52) goto L_02459CC4; else goto L_02459C54;
|
|
L_02459CC4: ; // 0x2459cc4
|
|
/* 02459CC4 */ goto L_02459CE4;
|
|
L_02459CC8: ; // 0x2459cc8
|
|
/* 02459CC8 */ _t53 = cpu->r[30] + 0x0000023Cu;
|
|
/* 02459CC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02459CCC */ _t54 = cpu->r[12] + 0x00000000u;
|
|
/* 02459CCC */ cpu->r[3] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02459CD0 */ Gambit_fn_020CF070(cpu);
|
|
/* 02459CD4 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02459CD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02459CD8 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 02459CDC */ cpu->r[31] = cpu->r[31] + 0x00000004u;
|
|
/* 02459CE0 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459CE0 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02459CE0 */ if (_t56) goto L_02459CE4; else goto L_02459C54;
|
|
L_02459CE4: ; // 0x2459ce4
|
|
/* 02459CE4 */ /* nop */
|
|
/* 02459CE8 */ _t57 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02459CE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02459CEC */ cpu->lr = cpu->r[0];
|
|
/* 02459CF0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02459CF4 */ return;
|
|
}
|
|
|
|
// fn_02459CF8 @ 0x2459cf8
|
|
void Gambit_fn_02459CF8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _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;
|
|
|
|
L_02459CF8: ; // 0x2459cf8
|
|
/* 02459CF8 */ _t0 = cpu->r[1] + 0xFFFFFF68u;
|
|
/* 02459CF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02459CF8 */ cpu->r[1] = _t0;
|
|
/* 02459CFC */ /* nop */
|
|
/* 02459D00 */ cpu->r[17] = 0x100A0000u;
|
|
/* 02459D04 */ cpu->r[17] = cpu->r[17] + 0x00000C38u;
|
|
/* 02459D08 */ cpu->r[12] = 0x100A0000u;
|
|
/* 02459D0C */ _t1 = cpu->r[1] + 0x00000048u;
|
|
/* 02459D0C */ rbrew_write32(cpu->mem, _t1, cpu->r[17]);
|
|
/* 02459D10 */ cpu->r[12] = cpu->r[12] + 0x00000D2Cu;
|
|
/* 02459D14 */ cpu->r[0] = cpu->lr;
|
|
/* 02459D18 */ _t2 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02459D18 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02459D1C */ cpu->r[25] = cpu->r[3];
|
|
/* 02459D20 */ cpu->r[4] = cpu->r[1] + 0x00000044u;
|
|
/* 02459D24 */ _t3 = cpu->r[1] + 0x00000044u;
|
|
/* 02459D24 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02459D28 */ Gambit_fn_026D86C0(cpu);
|
|
/* 02459D2C */ cpu->r[4] = 0x101D0000u;
|
|
/* 02459D30 */ cpu->r[8] = 0x101D0000u;
|
|
/* 02459D34 */ _t4 = cpu->r[8] + 0xFFFFDBBCu;
|
|
/* 02459D34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02459D34 */ cpu->r[8] = _t4;
|
|
/* 02459D38 */ cpu->r[4] = cpu->r[4] + 0xFFFFEE1Cu;
|
|
/* 02459D3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02459D40 */ cpu->r[15] = 0x100A0000u;
|
|
/* 02459D44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02459D48 */ cpu->r[15] = cpu->r[15] + 0x00000CA8u;
|
|
/* 02459D4C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459D4C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02459D4C */ if (_t6) goto L_02459D50; else goto L_02459D5C;
|
|
L_02459D50: ; // 0x2459d50
|
|
/* 02459D50 */ _t7 = cpu->r[4] + 0x00000000u;
|
|
/* 02459D50 */ rbrew_write32(cpu->mem, _t7, cpu->r[15]);
|
|
/* 02459D54 */ cpu->r[7] = 0x00000001u;
|
|
/* 02459D58 */ _t8 = cpu->r[8] + 0x00000000u;
|
|
/* 02459D58 */ rbrew_write32(cpu->mem, _t8, cpu->r[7]);
|
|
L_02459D5C: ; // 0x2459d5c
|
|
/* 02459D5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02459D60 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459D60 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02459D60 */ if (_t10) goto L_02459D80; else goto L_02459D64;
|
|
L_02459D64: ; // 0x2459d64
|
|
/* 02459D64 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 02459D64 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02459D68 */ _t12 = cpu->r[9] + 0x0000001Cu;
|
|
/* 02459D68 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02459D6C */ cpu->ctr = cpu->r[11];
|
|
/* 02459D70 */ cpu->r[3] = cpu->r[31];
|
|
/* 02459D74 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02459D78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02459D7C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459D7C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02459D7C */ if (_t14) goto L_02459D80; else goto L_02459D84;
|
|
L_02459D80: ; // 0x2459d80
|
|
/* 02459D80 */ cpu->r[31] = 0x00000000u;
|
|
L_02459D84: ; // 0x2459d84
|
|
/* 02459D84 */ cpu->r[26] = 0x00000000u;
|
|
/* 02459D88 */ cpu->r[12] = 0x10110000u;
|
|
/* 02459D8C */ cpu->r[14] = 0x00000003u;
|
|
/* 02459D90 */ _t15 = cpu->r[25] + 0x00000218u;
|
|
/* 02459D90 */ rbrew_write32(cpu->mem, _t15, cpu->r[31]);
|
|
/* 02459D94 */ cpu->r[5] = 0x00000020u;
|
|
/* 02459D98 */ _t16 = cpu->r[12] + 0x00007399u;
|
|
/* 02459D98 */ cpu->r[12] = rbrew_read8(cpu->mem, _t16);
|
|
/* 02459D9C */ cpu->r[31] = cpu->r[26];
|
|
/* 02459DA0 */ cpu->r[0] = cpu->r[1] + 0x00000024u;
|
|
/* 02459DA4 */ _t17 = cpu->r[1] + 0x00000020u;
|
|
/* 02459DA4 */ rbrew_write32(cpu->mem, _t17, cpu->r[5]);
|
|
/* 02459DA8 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02459DAC */ cpu->r[6] = 0x100A0000u;
|
|
/* 02459DB0 */ _t18 = cpu->r[1] + 0x00000018u;
|
|
/* 02459DB0 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 02459DB4 */ cpu->r[29] = 0x101D0000u;
|
|
/* 02459DB8 */ cpu->r[20] = 0x101D0000u;
|
|
/* 02459DBC */ cpu->r[6] = cpu->r[6] + 0x00000C80u;
|
|
/* 02459DC0 */ _t19 = cpu->r[1] + 0x00000043u;
|
|
/* 02459DC0 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[12]);
|
|
/* 02459DC4 */ cpu->r[21] = 0x00000001u;
|
|
/* 02459DC8 */ cpu->r[22] = 0x101D0000u;
|
|
/* 02459DCC */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02459DCC */ rbrew_write32(cpu->mem, _t20, cpu->r[6]);
|
|
/* 02459DD0 */ cpu->r[23] = 0x100A0000u;
|
|
/* 02459DD4 */ cpu->r[0] = 0x100A0000u;
|
|
/* 02459DD8 */ _t21 = cpu->r[1] + 0x00000024u;
|
|
/* 02459DD8 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[12]);
|
|
/* 02459DDC */ cpu->r[4] = 0x100A0000u;
|
|
/* 02459DE0 */ cpu->r[0] = cpu->r[0] + 0x00000D08u;
|
|
/* 02459DE4 */ cpu->r[24] = 0x100A0000u;
|
|
/* 02459DE8 */ cpu->r[16] = 0x100A0000u;
|
|
/* 02459DEC */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02459DEC */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 02459DF0 */ cpu->r[4] = cpu->r[4] + 0x00000CFCu;
|
|
/* 02459DF4 */ cpu->r[24] = cpu->r[24] + 0x00000CC8u;
|
|
/* 02459DF8 */ cpu->r[16] = cpu->r[16] + 0x00000CECu;
|
|
/* 02459DFC */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02459DFC */ rbrew_write32(cpu->mem, _t23, cpu->r[4]);
|
|
L_02459E00: ; // 0x2459e00
|
|
/* 02459E00 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02459E00 */ cpu->r[4] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02459E04 */ cpu->r[5] = cpu->r[26];
|
|
/* 02459E08 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02459E0C */ _t25 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02459E0C */ _t26 = _t25 & 0x00000001u;
|
|
/* 02459E0C */ if (_t26) goto L_02459E10; // else: addr-0 trap, fall-through
|
|
L_02459E10: ; // 0x2459e10
|
|
/* 02459E10 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 02459E14 */ _t27 = cpu->r[25] + 0x0000021Cu;
|
|
/* 02459E14 */ cpu->r[10] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02459E18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[10]);
|
|
/* 02459E1C */ _t28 = cpu->r[25] + 0x00000220u;
|
|
/* 02459E1C */ cpu->r[27] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02459E20 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02459E20 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02459E20 */ if (_t30) goto L_02459E24; else goto L_02459E28;
|
|
L_02459E24: ; // 0x2459e24
|
|
/* 02459E24 */ cpu->r[27] = cpu->r[27] + cpu->r[31];
|
|
L_02459E28: ; // 0x2459e28
|
|
/* 02459E28 */ cpu->r[3] = cpu->r[25];
|
|
/* 02459E2C */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02459E30 */ Gambit_fn_026D86C0(cpu);
|
|
/* 02459E34 */ _t31 = cpu->r[22] + 0xFFFFEDBCu;
|
|
/* 02459E34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02459E38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02459E3C */ cpu->r[28] = cpu->r[3];
|
|
/* 02459E40 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459E40 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02459E40 */ if (_t33) goto L_02459E44; else goto L_02459E4C;
|
|
L_02459E44: ; // 0x2459e44
|
|
/* 02459E44 */ _t34 = cpu->r[20] + 0xFFFFEE20u;
|
|
/* 02459E44 */ rbrew_write32(cpu->mem, _t34, cpu->r[15]);
|
|
/* 02459E48 */ _t35 = cpu->r[22] + 0xFFFFEDBCu;
|
|
/* 02459E48 */ rbrew_write32(cpu->mem, _t35, cpu->r[21]);
|
|
L_02459E4C: ; // 0x2459e4c
|
|
/* 02459E4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02459E50 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459E50 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02459E50 */ if (_t37) goto L_02459E74; else goto L_02459E54;
|
|
L_02459E54: ; // 0x2459e54
|
|
/* 02459E54 */ _t38 = cpu->r[28] + 0x00000000u;
|
|
/* 02459E54 */ cpu->r[4] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02459E58 */ _t39 = cpu->r[4] + 0x0000001Cu;
|
|
/* 02459E58 */ cpu->r[5] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02459E5C */ cpu->ctr = cpu->r[5];
|
|
/* 02459E60 */ cpu->r[4] = cpu->r[20] + 0xFFFFEE20u;
|
|
/* 02459E64 */ cpu->r[3] = cpu->r[28];
|
|
/* 02459E68 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02459E6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02459E70 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459E70 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02459E70 */ if (_t41) goto L_02459E74; else goto L_02459E78;
|
|
L_02459E74: ; // 0x2459e74
|
|
/* 02459E74 */ cpu->r[28] = 0x00000000u;
|
|
L_02459E78: ; // 0x2459e78
|
|
/* 02459E78 */ _t42 = cpu->r[27] + 0x00000000u;
|
|
/* 02459E78 */ rbrew_write32(cpu->mem, _t42, cpu->r[28]);
|
|
/* 02459E7C */ _t43 = cpu->r[25] + 0x00000224u;
|
|
/* 02459E7C */ cpu->r[6] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02459E80 */ _t44 = cpu->r[25] + 0x00000228u;
|
|
/* 02459E80 */ cpu->r[28] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02459E84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[6]);
|
|
/* 02459E88 */ _t45 = cpu->r[25] + 0x0000021Cu;
|
|
/* 02459E88 */ cpu->r[7] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02459E8C */ _t46 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02459E8C */ _t47 = _t46 & 0x00000001u;
|
|
/* 02459E8C */ if (_t47) goto L_02459E90; else goto L_02459E94;
|
|
L_02459E90: ; // 0x2459e90
|
|
/* 02459E90 */ cpu->r[28] = cpu->r[28] + cpu->r[31];
|
|
L_02459E94: ; // 0x2459e94
|
|
/* 02459E94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[7]);
|
|
/* 02459E98 */ _t48 = cpu->r[25] + 0x00000220u;
|
|
/* 02459E98 */ cpu->r[10] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02459E9C */ _t49 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02459E9C */ _t50 = _t49 & 0x00000001u;
|
|
/* 02459E9C */ if (_t50) goto L_02459EA0; else goto L_02459EA4;
|
|
L_02459EA0: ; // 0x2459ea0
|
|
/* 02459EA0 */ cpu->r[10] = cpu->r[10] + cpu->r[31];
|
|
L_02459EA4: ; // 0x2459ea4
|
|
/* 02459EA4 */ _t51 = cpu->r[1] + 0x00000008u;
|
|
/* 02459EA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02459EA8 */ _t52 = cpu->r[1] + 0x00000014u;
|
|
/* 02459EA8 */ rbrew_write32(cpu->mem, _t52, cpu->r[17]);
|
|
/* 02459EAC */ _t53 = cpu->r[1] + 0x00000010u;
|
|
/* 02459EAC */ rbrew_write32(cpu->mem, _t53, cpu->r[0]);
|
|
/* 02459EB0 */ _t54 = cpu->r[10] + 0x00000000u;
|
|
/* 02459EB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02459EB4 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02459EB8 */ Gambit_fn_026DB34C(cpu);
|
|
/* 02459EBC */ _t55 = cpu->r[29] + 0xFFFFED9Cu;
|
|
/* 02459EBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02459EC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02459EC4 */ cpu->r[27] = cpu->r[3];
|
|
/* 02459EC8 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459EC8 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02459EC8 */ if (_t57) goto L_02459ECC; else goto L_02459ED4;
|
|
L_02459ECC: ; // 0x2459ecc
|
|
/* 02459ECC */ _t58 = cpu->r[30] + 0xFFFFEDDCu;
|
|
/* 02459ECC */ rbrew_write32(cpu->mem, _t58, cpu->r[24]);
|
|
/* 02459ED0 */ _t59 = cpu->r[29] + 0xFFFFED9Cu;
|
|
/* 02459ED0 */ rbrew_write32(cpu->mem, _t59, cpu->r[21]);
|
|
L_02459ED4: ; // 0x2459ed4
|
|
/* 02459ED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02459ED8 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459ED8 */ _t61 = _t60 & 0x00000001u;
|
|
/* 02459ED8 */ if (_t61) goto L_02459EFC; else goto L_02459EDC;
|
|
L_02459EDC: ; // 0x2459edc
|
|
/* 02459EDC */ _t62 = cpu->r[27] + 0x00000000u;
|
|
/* 02459EDC */ cpu->r[9] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02459EE0 */ _t63 = cpu->r[9] + 0x0000001Cu;
|
|
/* 02459EE0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02459EE4 */ cpu->ctr = cpu->r[10];
|
|
/* 02459EE8 */ cpu->r[3] = cpu->r[27];
|
|
/* 02459EEC */ cpu->r[4] = cpu->r[30] + 0xFFFFEDDCu;
|
|
/* 02459EF0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02459EF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02459EF8 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459EF8 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02459EF8 */ if (_t65) goto L_02459EFC; else goto L_02459F00;
|
|
L_02459EFC: ; // 0x2459efc
|
|
/* 02459EFC */ cpu->r[27] = 0x00000000u;
|
|
L_02459F00: ; // 0x2459f00
|
|
/* 02459F00 */ _t66 = cpu->r[28] + 0x00000000u;
|
|
/* 02459F00 */ rbrew_write32(cpu->mem, _t66, cpu->r[27]);
|
|
/* 02459F04 */ _t67 = cpu->r[25] + 0x0000022Cu;
|
|
/* 02459F04 */ cpu->r[11] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02459F08 */ _t68 = cpu->r[25] + 0x00000230u;
|
|
/* 02459F08 */ cpu->r[27] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02459F0C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[11]);
|
|
/* 02459F10 */ _t69 = cpu->r[25] + 0x0000021Cu;
|
|
/* 02459F10 */ cpu->r[4] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02459F14 */ _t70 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02459F14 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02459F14 */ if (_t71) goto L_02459F18; else goto L_02459F1C;
|
|
L_02459F18: ; // 0x2459f18
|
|
/* 02459F18 */ cpu->r[27] = cpu->r[27] + cpu->r[31];
|
|
L_02459F1C: ; // 0x2459f1c
|
|
/* 02459F1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[4]);
|
|
/* 02459F20 */ _t72 = cpu->r[25] + 0x00000220u;
|
|
/* 02459F20 */ cpu->r[11] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02459F24 */ _t73 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02459F24 */ _t74 = _t73 & 0x00000001u;
|
|
/* 02459F24 */ if (_t74) goto L_02459F28; else goto L_02459F2C;
|
|
L_02459F28: ; // 0x2459f28
|
|
/* 02459F28 */ cpu->r[11] = cpu->r[11] + cpu->r[31];
|
|
L_02459F2C: ; // 0x2459f2c
|
|
/* 02459F2C */ _t75 = cpu->r[1] + 0x00000010u;
|
|
/* 02459F2C */ rbrew_write32(cpu->mem, _t75, cpu->r[16]);
|
|
/* 02459F30 */ _t76 = cpu->r[1] + 0x00000014u;
|
|
/* 02459F30 */ rbrew_write32(cpu->mem, _t76, cpu->r[17]);
|
|
/* 02459F34 */ _t77 = cpu->r[11] + 0x00000000u;
|
|
/* 02459F34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02459F38 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02459F3C */ Gambit_fn_026DB34C(cpu);
|
|
/* 02459F40 */ _t78 = cpu->r[29] + 0xFFFFED9Cu;
|
|
/* 02459F40 */ cpu->r[5] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02459F44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02459F48 */ cpu->r[28] = cpu->r[3];
|
|
/* 02459F4C */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459F4C */ _t80 = _t79 & 0x00000001u;
|
|
/* 02459F4C */ if (_t80) goto L_02459F50; else goto L_02459F58;
|
|
L_02459F50: ; // 0x2459f50
|
|
/* 02459F50 */ _t81 = cpu->r[30] + 0xFFFFEDDCu;
|
|
/* 02459F50 */ rbrew_write32(cpu->mem, _t81, cpu->r[24]);
|
|
/* 02459F54 */ _t82 = cpu->r[29] + 0xFFFFED9Cu;
|
|
/* 02459F54 */ rbrew_write32(cpu->mem, _t82, cpu->r[21]);
|
|
L_02459F58: ; // 0x2459f58
|
|
/* 02459F58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02459F5C */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459F5C */ _t84 = _t83 & 0x00000001u;
|
|
/* 02459F5C */ if (_t84) goto L_02459F80; else goto L_02459F60;
|
|
L_02459F60: ; // 0x2459f60
|
|
/* 02459F60 */ _t85 = cpu->r[28] + 0x00000000u;
|
|
/* 02459F60 */ cpu->r[6] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02459F64 */ _t86 = cpu->r[6] + 0x0000001Cu;
|
|
/* 02459F64 */ cpu->r[8] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02459F68 */ cpu->ctr = cpu->r[8];
|
|
/* 02459F6C */ cpu->r[3] = cpu->r[28];
|
|
/* 02459F70 */ cpu->r[4] = cpu->r[30] + 0xFFFFEDDCu;
|
|
/* 02459F74 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02459F78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02459F7C */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02459F7C */ _t88 = _t87 & 0x00000001u;
|
|
/* 02459F7C */ if (_t88) goto L_02459F80; else goto L_02459F84;
|
|
L_02459F80: ; // 0x2459f80
|
|
/* 02459F80 */ cpu->r[28] = 0x00000000u;
|
|
L_02459F84: ; // 0x2459f84
|
|
/* 02459F84 */ _t89 = cpu->r[27] + 0x00000000u;
|
|
/* 02459F84 */ rbrew_write32(cpu->mem, _t89, cpu->r[28]);
|
|
/* 02459F88 */ cpu->r[21] = 0x00000001u;
|
|
/* 02459F8C */ cpu->r[19] = 0x00000003u;
|
|
/* 02459F90 */ cpu->r[27] = 0x00000000u;
|
|
L_02459F94: ; // 0x2459f94
|
|
/* 02459F94 */ cpu->r[5] = cpu->r[27];
|
|
/* 02459F98 */ cpu->r[4] = cpu->r[23] + 0x00000D18u;
|
|
/* 02459F9C */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02459FA0 */ _t90 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02459FA0 */ _t91 = _t90 & 0x00000001u;
|
|
/* 02459FA0 */ if (_t91) goto L_02459FA4; // else: addr-0 trap, fall-through
|
|
L_02459FA4: ; // 0x2459fa4
|
|
/* 02459FA4 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 02459FA8 */ _t92 = cpu->r[25] + 0x00000234u;
|
|
/* 02459FA8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02459FAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[11]);
|
|
/* 02459FB0 */ _t93 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02459FB0 */ _t94 = _t93 & 0x00000001u;
|
|
/* 02459FB0 */ if (_t94) goto L_02459FB4; else goto L_02459FE8;
|
|
L_02459FB4: ; // 0x2459fb4
|
|
/* 02459FB4 */ _t95 = cpu->r[25] + 0x00000238u;
|
|
/* 02459FB4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02459FB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[10]);
|
|
/* 02459FBC */ _t96 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02459FBC */ _t97 = _t96 & 0x00000001u;
|
|
/* 02459FBC */ if (_t97) goto L_02459FC0; else goto L_02459FE8;
|
|
L_02459FC0: ; // 0x2459fc0
|
|
/* 02459FC0 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)cpu->r[27]);
|
|
/* 02459FC4 */ _t98 = cpu->r[25] + 0x0000023Cu;
|
|
/* 02459FC4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t98);
|
|
/* 02459FC8 */ _t99 = cpu->r[25] + 0x0000021Cu;
|
|
/* 02459FC8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02459FCC */ cpu->r[0] = cpu->r[12] + cpu->r[26];
|
|
/* 02459FD0 */ _t100 = cpu->r[25] + 0x00000220u;
|
|
/* 02459FD0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02459FD4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02459FD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[8]);
|
|
/* 02459FDC */ cpu->r[28] = cpu->r[6] + cpu->r[5];
|
|
/* 02459FE0 */ _t101 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02459FE0 */ _t102 = _t101 & 0x00000001u;
|
|
/* 02459FE0 */ if (_t102) goto L_02459FFC; else goto L_02459FE4;
|
|
L_02459FE4: ; // 0x2459fe4
|
|
/* 02459FE4 */ goto L_0245A000;
|
|
L_02459FE8: ; // 0x2459fe8
|
|
/* 02459FE8 */ _t103 = cpu->r[25] + 0x0000021Cu;
|
|
/* 02459FE8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t103);
|
|
/* 02459FEC */ _t104 = cpu->r[25] + 0x0000023Cu;
|
|
/* 02459FEC */ cpu->r[28] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02459FF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[8]);
|
|
/* 02459FF4 */ _t105 = cpu->r[25] + 0x00000220u;
|
|
/* 02459FF4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t105);
|
|
/* 02459FF8 */ _t106 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02459FF8 */ _t107 = _t106 & 0x00000001u;
|
|
/* 02459FF8 */ if (_t107) goto L_02459FFC; else goto L_02459FE4;
|
|
L_02459FFC: ; // 0x2459ffc
|
|
/* 02459FFC */ cpu->r[9] = cpu->r[9] + cpu->r[31];
|
|
L_0245A000: ; // 0x245a000
|
|
/* 0245A000 */ _t108 = cpu->r[9] + 0x00000000u;
|
|
/* 0245A000 */ cpu->r[3] = rbrew_read32(cpu->mem, _t108);
|
|
/* 0245A004 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 0245A008 */ Gambit_fn_026DB34C(cpu);
|
|
/* 0245A00C */ _t109 = cpu->r[29] + 0xFFFFED9Cu;
|
|
/* 0245A00C */ cpu->r[7] = rbrew_read32(cpu->mem, _t109);
|
|
/* 0245A010 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0245A014 */ cpu->r[18] = cpu->r[3];
|
|
/* 0245A018 */ _t110 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A018 */ _t111 = _t110 & 0x00000001u;
|
|
/* 0245A018 */ if (_t111) goto L_0245A01C; else goto L_0245A024;
|
|
L_0245A01C: ; // 0x245a01c
|
|
/* 0245A01C */ _t112 = cpu->r[30] + 0xFFFFEDDCu;
|
|
/* 0245A01C */ rbrew_write32(cpu->mem, _t112, cpu->r[24]);
|
|
/* 0245A020 */ _t113 = cpu->r[29] + 0xFFFFED9Cu;
|
|
/* 0245A020 */ rbrew_write32(cpu->mem, _t113, cpu->r[21]);
|
|
L_0245A024: ; // 0x245a024
|
|
/* 0245A024 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u);
|
|
/* 0245A028 */ _t114 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A028 */ _t115 = _t114 & 0x00000001u;
|
|
/* 0245A028 */ if (_t115) goto L_0245A060; else goto L_0245A02C;
|
|
L_0245A02C: ; // 0x245a02c
|
|
/* 0245A02C */ _t116 = cpu->r[18] + 0x00000000u;
|
|
/* 0245A02C */ cpu->r[8] = rbrew_read32(cpu->mem, _t116);
|
|
/* 0245A030 */ _t117 = cpu->r[8] + 0x0000001Cu;
|
|
/* 0245A030 */ cpu->r[9] = rbrew_read32(cpu->mem, _t117);
|
|
/* 0245A034 */ cpu->ctr = cpu->r[9];
|
|
/* 0245A038 */ cpu->r[3] = cpu->r[18];
|
|
/* 0245A03C */ cpu->r[4] = cpu->r[30] + 0xFFFFEDDCu;
|
|
/* 0245A040 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245A044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0245A048 */ _t118 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A048 */ _t119 = _t118 & 0x00000001u;
|
|
/* 0245A048 */ if (_t119) goto L_0245A060; else goto L_0245A04C;
|
|
L_0245A04C: ; // 0x245a04c
|
|
/* 0245A04C */ cpu->r[19] = cpu->r[19] + 0xFFFFFFFFu;
|
|
/* 0245A04C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u);
|
|
/* 0245A050 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 0245A054 */ _t120 = cpu->r[28] + 0x00000000u;
|
|
/* 0245A054 */ rbrew_write32(cpu->mem, _t120, cpu->r[18]);
|
|
/* 0245A058 */ _t121 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A058 */ _t122 = _t121 & 0x00000001u;
|
|
/* 0245A058 */ if (_t122) goto L_0245A05C; else goto L_02459F94;
|
|
L_0245A05C: ; // 0x245a05c
|
|
/* 0245A05C */ goto L_0245A074;
|
|
L_0245A060: ; // 0x245a060
|
|
/* 0245A060 */ cpu->r[0] = 0x00000000u;
|
|
/* 0245A064 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 0245A068 */ cpu->r[19] = cpu->r[19] + 0xFFFFFFFFu;
|
|
/* 0245A068 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u);
|
|
/* 0245A06C */ _t123 = cpu->r[28] + 0x00000000u;
|
|
/* 0245A06C */ rbrew_write32(cpu->mem, _t123, cpu->r[0]);
|
|
/* 0245A070 */ _t124 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A070 */ _t125 = _t124 & 0x00000001u;
|
|
/* 0245A070 */ if (_t125) goto L_0245A074; else goto L_02459F94;
|
|
L_0245A074: ; // 0x245a074
|
|
/* 0245A074 */ cpu->r[14] = cpu->r[14] + 0xFFFFFFFFu;
|
|
/* 0245A074 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[14], 0x00000000u);
|
|
/* 0245A078 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 0245A07C */ cpu->r[31] = cpu->r[31] + 0x00000004u;
|
|
/* 0245A080 */ _t126 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A080 */ _t127 = _t126 & 0x00000001u;
|
|
/* 0245A080 */ if (_t127) goto L_0245A084; else goto L_02459E00;
|
|
L_0245A084: ; // 0x245a084
|
|
/* 0245A084 */ /* nop */
|
|
/* 0245A088 */ _t128 = cpu->r[1] + 0x0000009Cu;
|
|
/* 0245A088 */ cpu->r[0] = rbrew_read32(cpu->mem, _t128);
|
|
/* 0245A08C */ cpu->lr = cpu->r[0];
|
|
/* 0245A090 */ cpu->r[1] = cpu->r[1] + 0x00000098u;
|
|
/* 0245A094 */ return;
|
|
}
|
|
|
|
// fn_0245A098 @ 0x245a098
|
|
void Gambit_fn_0245A098(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _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_0245A098: ; // 0x245a098
|
|
/* 0245A098 */ _t0 = cpu->r[1] + 0xFFFFFF78u;
|
|
/* 0245A098 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245A098 */ cpu->r[1] = _t0;
|
|
/* 0245A09C */ _t1 = cpu->r[1] + 0x00000058u;
|
|
/* 0245A09C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[29]);
|
|
/* 0245A0A0 */ _t2 = cpu->r[1] + 0x00000068u;
|
|
/* 0245A0A0 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
|
|
/* 0245A0A4 */ /* nop */
|
|
/* 0245A0A8 */ cpu->r[30] = 0x100A0000u;
|
|
/* 0245A0AC */ cpu->r[6] = 0x100A0000u;
|
|
/* 0245A0B0 */ cpu->r[25] = 0x00000000u;
|
|
/* 0245A0B4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245A0B8 */ cpu->r[30] = cpu->r[30] + 0x00000D5Cu;
|
|
/* 0245A0BC */ cpu->r[26] = 0x100A0000u;
|
|
/* 0245A0C0 */ /* nop */
|
|
/* 0245A0C4 */ cpu->r[0] = cpu->lr;
|
|
/* 0245A0C8 */ /* nop */
|
|
/* 0245A0CC */ _t3 = cpu->r[1] + 0x00000060u;
|
|
/* 0245A0CC */ rbrew_write_f32(cpu->mem, _t3, cpu->f[29]);
|
|
/* 0245A0D0 */ cpu->r[8] = 0x100A0000u;
|
|
/* 0245A0D4 */ _t4 = cpu->r[1] + 0x00000078u;
|
|
/* 0245A0D4 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[31]);
|
|
/* 0245A0D8 */ _t5 = cpu->r[1] + 0x00000048u;
|
|
/* 0245A0D8 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[28]);
|
|
/* 0245A0DC */ /* nop */
|
|
/* 0245A0E0 */ _t6 = cpu->r[1] + 0x00000070u;
|
|
/* 0245A0E0 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[30]);
|
|
/* 0245A0E4 */ /* nop */
|
|
/* 0245A0E8 */ _t7 = cpu->r[1] + 0x00000080u;
|
|
/* 0245A0E8 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[31]);
|
|
/* 0245A0EC */ cpu->r[28] = 0x100A0000u;
|
|
/* 0245A0F0 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245A0F4 */ _t8 = cpu->r[6] + 0x00000D48u;
|
|
/* 0245A0F4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 0245A0F8 */ cpu->r[23] = cpu->r[25];
|
|
/* 0245A0FC */ _t9 = cpu->r[12] + 0x00000D44u;
|
|
/* 0245A0FC */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 0245A100 */ cpu->r[24] = 0x00000003u;
|
|
/* 0245A104 */ _t10 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0245A104 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0245A108 */ cpu->r[10] = 0x100A0000u;
|
|
/* 0245A10C */ _t11 = cpu->r[8] + 0x00000D3Cu;
|
|
/* 0245A10C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 0245A110 */ cpu->r[26] = cpu->r[26] + 0x00000C38u;
|
|
/* 0245A114 */ _t12 = cpu->r[1] + 0x00000050u;
|
|
/* 0245A114 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[28]);
|
|
/* 0245A118 */ cpu->r[27] = 0x100A0000u;
|
|
/* 0245A11C */ _t13 = cpu->r[10] + 0x00000D40u;
|
|
/* 0245A11C */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 0245A120 */ cpu->r[29] = 0x100A0000u;
|
|
/* 0245A124 */ cpu->r[27] = cpu->r[27] + 0x00000D4Cu;
|
|
/* 0245A128 */ cpu->r[28] = cpu->r[28] + 0x00000D54u;
|
|
/* 0245A12C */ cpu->r[29] = cpu->r[29] + 0x00000D68u;
|
|
L_0245A130: ; // 0x245a130
|
|
/* 0245A130 */ _t14 = cpu->r[31] + 0x0000021Cu;
|
|
/* 0245A130 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0245A134 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[0]);
|
|
/* 0245A138 */ _t15 = cpu->r[31] + 0x00000220u;
|
|
/* 0245A138 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0245A13C */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245A13C */ _t17 = _t16 & 0x00000001u;
|
|
/* 0245A13C */ if (_t17) goto L_0245A140; else goto L_0245A144;
|
|
L_0245A140: ; // 0x245a140
|
|
/* 0245A140 */ cpu->r[9] = cpu->r[9] + cpu->r[23];
|
|
L_0245A144: ; // 0x245a144
|
|
/* 0245A144 */ _t18 = cpu->r[1] + 0x00000018u;
|
|
/* 0245A144 */ rbrew_write32(cpu->mem, _t18, cpu->r[27]);
|
|
/* 0245A148 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 0245A14C */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245A14C */ rbrew_write32(cpu->mem, _t19, cpu->r[26]);
|
|
/* 0245A150 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 0245A150 */ rbrew_write32(cpu->mem, _t20, cpu->r[26]);
|
|
/* 0245A154 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245A154 */ rbrew_write32(cpu->mem, _t21, cpu->r[26]);
|
|
/* 0245A158 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 0245A158 */ rbrew_write32(cpu->mem, _t22, cpu->r[29]);
|
|
/* 0245A15C */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 0245A15C */ rbrew_write32(cpu->mem, _t23, cpu->r[27]);
|
|
/* 0245A160 */ _t24 = cpu->r[9] + 0x00000000u;
|
|
/* 0245A160 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0245A164 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 0245A168 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 0245A16C */ Gambit_fn_027ECE60(cpu);
|
|
/* 0245A170 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0245A174 */ cpu->f[1] = cpu->f[31];
|
|
/* 0245A178 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A178 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0245A178 */ if (_t26) goto L_0245A17C; else goto L_0245A194;
|
|
L_0245A17C: ; // 0x245a17c
|
|
/* 0245A17C */ _t27 = cpu->r[31] + 0x0000021Cu;
|
|
/* 0245A17C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0245A180 */ cpu->f[1] = cpu->f[29];
|
|
/* 0245A184 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[0]);
|
|
/* 0245A188 */ _t28 = cpu->r[31] + 0x00000220u;
|
|
/* 0245A188 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0245A18C */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245A18C */ _t30 = _t29 & 0x00000001u;
|
|
/* 0245A18C */ if (_t30) goto L_0245A1D0; else goto L_0245A190;
|
|
L_0245A190: ; // 0x245a190
|
|
/* 0245A190 */ goto L_0245A1D4;
|
|
L_0245A194: ; // 0x245a194
|
|
/* 0245A194 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000001u);
|
|
/* 0245A198 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A198 */ _t32 = _t31 & 0x00000001u;
|
|
/* 0245A198 */ if (_t32) goto L_0245A19C; else goto L_0245A1B4;
|
|
L_0245A19C: ; // 0x245a19c
|
|
/* 0245A19C */ _t33 = cpu->r[31] + 0x0000021Cu;
|
|
/* 0245A19C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0245A1A0 */ cpu->f[1] = cpu->f[30];
|
|
/* 0245A1A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[0]);
|
|
/* 0245A1A8 */ _t34 = cpu->r[31] + 0x00000220u;
|
|
/* 0245A1A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0245A1AC */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245A1AC */ _t36 = _t35 & 0x00000001u;
|
|
/* 0245A1AC */ if (_t36) goto L_0245A1B0; else goto L_0245A190;
|
|
L_0245A1B0: ; // 0x245a1b0
|
|
/* 0245A1B0 */ goto L_0245A1D0;
|
|
L_0245A1B4: ; // 0x245a1b4
|
|
/* 0245A1B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000002u);
|
|
/* 0245A1B8 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A1B8 */ _t38 = _t37 & 0x00000001u;
|
|
/* 0245A1B8 */ if (_t38) goto L_0245A1BC; else goto L_0245A1C0;
|
|
L_0245A1BC: ; // 0x245a1bc
|
|
/* 0245A1BC */ cpu->f[1] = cpu->f[28];
|
|
L_0245A1C0: ; // 0x245a1c0
|
|
/* 0245A1C0 */ _t39 = cpu->r[31] + 0x0000021Cu;
|
|
/* 0245A1C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0245A1C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[0]);
|
|
/* 0245A1C8 */ _t40 = cpu->r[31] + 0x00000220u;
|
|
/* 0245A1C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0245A1CC */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245A1CC */ _t42 = _t41 & 0x00000001u;
|
|
/* 0245A1CC */ if (_t42) goto L_0245A1D0; else goto L_0245A190;
|
|
L_0245A1D0: ; // 0x245a1d0
|
|
/* 0245A1D0 */ cpu->r[11] = cpu->r[11] + cpu->r[23];
|
|
L_0245A1D4: ; // 0x245a1d4
|
|
/* 0245A1D4 */ _t43 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245A1D4 */ rbrew_write32(cpu->mem, _t43, cpu->r[26]);
|
|
/* 0245A1D8 */ cpu->r[4] = 0x00000000u;
|
|
/* 0245A1DC */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 0245A1DC */ rbrew_write32(cpu->mem, _t44, cpu->r[27]);
|
|
/* 0245A1E0 */ _t45 = cpu->r[11] + 0x00000000u;
|
|
/* 0245A1E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0245A1E4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0245A1E8 */ Gambit_fn_027EDDA4(cpu);
|
|
/* 0245A1EC */ _t46 = cpu->r[31] + 0x0000021Cu;
|
|
/* 0245A1EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0245A1F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[0]);
|
|
/* 0245A1F4 */ _t47 = cpu->r[31] + 0x00000220u;
|
|
/* 0245A1F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0245A1F8 */ _t48 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245A1F8 */ _t49 = _t48 & 0x00000001u;
|
|
/* 0245A1F8 */ if (_t49) goto L_0245A1FC; else goto L_0245A200;
|
|
L_0245A1FC: ; // 0x245a1fc
|
|
/* 0245A1FC */ cpu->r[10] = cpu->r[10] + cpu->r[23];
|
|
L_0245A200: ; // 0x245a200
|
|
/* 0245A200 */ _t50 = cpu->r[1] + 0x00000018u;
|
|
/* 0245A200 */ rbrew_write32(cpu->mem, _t50, cpu->r[28]);
|
|
/* 0245A204 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0245A208 */ _t51 = cpu->r[1] + 0x00000014u;
|
|
/* 0245A208 */ rbrew_write32(cpu->mem, _t51, cpu->r[26]);
|
|
/* 0245A20C */ _t52 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245A20C */ rbrew_write32(cpu->mem, _t52, cpu->r[26]);
|
|
/* 0245A210 */ _t53 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245A210 */ rbrew_write32(cpu->mem, _t53, cpu->r[26]);
|
|
/* 0245A214 */ _t54 = cpu->r[1] + 0x00000010u;
|
|
/* 0245A214 */ rbrew_write32(cpu->mem, _t54, cpu->r[30]);
|
|
/* 0245A218 */ _t55 = cpu->r[1] + 0x00000008u;
|
|
/* 0245A218 */ rbrew_write32(cpu->mem, _t55, cpu->r[28]);
|
|
/* 0245A21C */ _t56 = cpu->r[10] + 0x00000000u;
|
|
/* 0245A21C */ cpu->r[3] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0245A220 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 0245A224 */ cpu->r[6] = cpu->r[1] + 0x00000010u;
|
|
/* 0245A228 */ Gambit_fn_027ECE60(cpu);
|
|
/* 0245A22C */ _t57 = cpu->r[31] + 0x0000021Cu;
|
|
/* 0245A22C */ cpu->r[4] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0245A230 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[4]);
|
|
/* 0245A234 */ _t58 = cpu->r[31] + 0x00000220u;
|
|
/* 0245A234 */ cpu->r[12] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0245A238 */ _t59 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245A238 */ _t60 = _t59 & 0x00000001u;
|
|
/* 0245A238 */ if (_t60) goto L_0245A23C; else goto L_0245A240;
|
|
L_0245A23C: ; // 0x245a23c
|
|
/* 0245A23C */ cpu->r[12] = cpu->r[12] + cpu->r[23];
|
|
L_0245A240: ; // 0x245a240
|
|
/* 0245A240 */ _t61 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245A240 */ rbrew_write32(cpu->mem, _t61, cpu->r[26]);
|
|
/* 0245A244 */ cpu->f[1] = cpu->f[30];
|
|
/* 0245A248 */ _t62 = cpu->r[1] + 0x00000008u;
|
|
/* 0245A248 */ rbrew_write32(cpu->mem, _t62, cpu->r[28]);
|
|
/* 0245A24C */ _t63 = cpu->r[12] + 0x00000000u;
|
|
/* 0245A24C */ cpu->r[3] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0245A250 */ cpu->r[4] = 0x00000001u;
|
|
/* 0245A254 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0245A258 */ Gambit_fn_027EDDA4(cpu);
|
|
/* 0245A25C */ cpu->r[24] = cpu->r[24] + 0xFFFFFFFFu;
|
|
/* 0245A25C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0245A260 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 0245A264 */ cpu->r[23] = cpu->r[23] + 0x00000004u;
|
|
/* 0245A268 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A268 */ _t65 = _t64 & 0x00000001u;
|
|
/* 0245A268 */ if (_t65) goto L_0245A26C; else goto L_0245A130;
|
|
L_0245A26C: ; // 0x245a26c
|
|
/* 0245A26C */ /* nop */
|
|
/* 0245A270 */ _t66 = cpu->r[1] + 0x00000060u;
|
|
/* 0245A270 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t66);
|
|
/* 0245A274 */ _t67 = cpu->r[1] + 0x00000070u;
|
|
/* 0245A274 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 0245A278 */ _t68 = cpu->r[1] + 0x00000058u;
|
|
/* 0245A278 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t68);
|
|
/* 0245A27C */ _t69 = cpu->r[1] + 0x00000068u;
|
|
/* 0245A27C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t69);
|
|
/* 0245A280 */ _t70 = cpu->r[1] + 0x00000050u;
|
|
/* 0245A280 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t70);
|
|
/* 0245A284 */ _t71 = cpu->r[1] + 0x00000080u;
|
|
/* 0245A284 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t71);
|
|
/* 0245A288 */ _t72 = cpu->r[1] + 0x00000048u;
|
|
/* 0245A288 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t72);
|
|
/* 0245A28C */ _t73 = cpu->r[1] + 0x00000078u;
|
|
/* 0245A28C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t73);
|
|
/* 0245A290 */ _t74 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245A290 */ _t75 = _t74 & 0x00000001u;
|
|
/* 0245A290 */ if (_t75) goto L_0245A294; // else: addr-0 trap, fall-through
|
|
L_0245A294: ; // 0x245a294
|
|
/* 0245A294 */ _t76 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0245A294 */ cpu->r[0] = rbrew_read32(cpu->mem, _t76);
|
|
/* 0245A298 */ cpu->lr = cpu->r[0];
|
|
/* 0245A29C */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 0245A2A0 */ return;
|
|
}
|
|
|
|
// fn_0245A2A4 @ 0x245a2a4
|
|
void Gambit_fn_0245A2A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0245A2A4: ; // 0x245a2a4
|
|
/* 0245A2A4 */ cpu->r[0] = cpu->lr;
|
|
/* 0245A2A8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0245A2A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245A2A8 */ cpu->r[1] = _t0;
|
|
/* 0245A2AC */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0245A2AC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245A2B0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245A2B4 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245A2B8 */ cpu->r[4] = cpu->r[31];
|
|
/* 0245A2BC */ cpu->r[12] = cpu->r[12] + 0x00000D74u;
|
|
/* 0245A2C0 */ cpu->r[3] = 0x00000000u;
|
|
/* 0245A2C4 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245A2C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0245A2C8 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245A2CC */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0245A2CC */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0245A2D0 */ cpu->r[0] = cpu->r[0] + 0x00000C38u;
|
|
/* 0245A2D4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0245A2D8 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245A2D8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0245A2DC */ Gambit_fn_020A7150(cpu);
|
|
/* 0245A2E0 */ _t5 = cpu->r[31] + 0x00000240u;
|
|
/* 0245A2E0 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 0245A2E4 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245A2E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0245A2E8 */ cpu->lr = cpu->r[0];
|
|
/* 0245A2EC */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0245A2EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0245A2F0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0245A2F4 */ return;
|
|
}
|
|
|
|
// fn_0245A2A8 @ 0x245a2a8
|
|
void Gambit_fn_0245A2A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0245A2A8: ; // 0x245a2a8
|
|
/* 0245A2A8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0245A2A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245A2A8 */ cpu->r[1] = _t0;
|
|
/* 0245A2AC */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0245A2AC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245A2B0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245A2B4 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245A2B8 */ cpu->r[4] = cpu->r[31];
|
|
/* 0245A2BC */ cpu->r[12] = cpu->r[12] + 0x00000D74u;
|
|
/* 0245A2C0 */ cpu->r[3] = 0x00000000u;
|
|
/* 0245A2C4 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245A2C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0245A2C8 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245A2CC */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0245A2CC */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0245A2D0 */ cpu->r[0] = cpu->r[0] + 0x00000C38u;
|
|
/* 0245A2D4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0245A2D8 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245A2D8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0245A2DC */ Gambit_fn_020A7150(cpu);
|
|
/* 0245A2E0 */ _t5 = cpu->r[31] + 0x00000240u;
|
|
/* 0245A2E0 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 0245A2E4 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245A2E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0245A2E8 */ cpu->lr = cpu->r[0];
|
|
/* 0245A2EC */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0245A2EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0245A2F0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0245A2F4 */ return;
|
|
}
|
|
|
|
// fn_0245A2F8 @ 0x245a2f8
|
|
void Gambit_fn_0245A2F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65;
|
|
|
|
L_0245A2F8: ; // 0x245a2f8
|
|
/* 0245A2F8 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 0245A2F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245A2F8 */ cpu->r[1] = _t0;
|
|
/* 0245A2FC */ /* nop */
|
|
/* 0245A300 */ cpu->r[0] = cpu->lr;
|
|
/* 0245A304 */ cpu->r[25] = 0x100A0000u;
|
|
/* 0245A308 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0245A308 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0245A30C */ cpu->r[25] = cpu->r[25] + 0x00000C38u;
|
|
/* 0245A310 */ cpu->r[9] = 0x100A0000u;
|
|
/* 0245A314 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0245A314 */ rbrew_write32(cpu->mem, _t2, cpu->r[25]);
|
|
/* 0245A318 */ cpu->r[26] = cpu->r[4];
|
|
/* 0245A31C */ cpu->r[9] = cpu->r[9] + 0x00000D80u;
|
|
/* 0245A320 */ _t3 = cpu->r[26] + 0x00000088u;
|
|
/* 0245A320 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0245A324 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 0245A324 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 0245A328 */ _t5 = cpu->r[10] + 0x00000014u;
|
|
/* 0245A328 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0245A32C */ cpu->ctr = cpu->r[11];
|
|
/* 0245A330 */ cpu->r[3] = cpu->r[26] + 0x00000084u;
|
|
/* 0245A334 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245A338 */ cpu->r[31] = 0x10110000u;
|
|
/* 0245A33C */ _t6 = cpu->r[26] + 0x00000084u;
|
|
/* 0245A33C */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0245A340 */ _t7 = cpu->r[31] + 0x00007399u;
|
|
/* 0245A340 */ cpu->r[31] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0245A344 */ _t8 = cpu->r[5] + 0x00000000u;
|
|
/* 0245A344 */ cpu->r[0] = rbrew_read8(cpu->mem, _t8);
|
|
/* 0245A348 */ cpu->r[30] = 0x00000000u;
|
|
/* 0245A34C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0245A350 */ cpu->r[6] = 0x00080000u;
|
|
/* 0245A354 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A354 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0245A354 */ if (_t10) goto L_0245A37C; else goto L_0245A358;
|
|
L_0245A358: ; // 0x245a358
|
|
/* 0245A358 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0245A35C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 0245A360 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0245A364 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0245A364 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0245A364 */ if (_t12) goto L_0245A378; else goto L_0245A368;
|
|
L_0245A368: ; // 0x245a368
|
|
/* 0245A368 */ _t13 = cpu->r[5] + 0x00000000u;
|
|
/* 0245A368 */ cpu->r[0] = rbrew_read8(cpu->mem, _t13);
|
|
/* 0245A36C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0245A370 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A370 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0245A370 */ if (_t15) goto L_0245A374; else goto L_0245A358;
|
|
L_0245A374: ; // 0x245a374
|
|
/* 0245A374 */ goto L_0245A37C;
|
|
L_0245A378: ; // 0x245a378
|
|
/* 0245A378 */ cpu->r[30] = 0x00000000u;
|
|
L_0245A37C: ; // 0x245a37c
|
|
/* 0245A37C */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0245A37C */ cpu->r[5] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0245A380 */ _t17 = cpu->r[5] + 0x00000014u;
|
|
/* 0245A380 */ cpu->r[6] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0245A384 */ cpu->ctr = cpu->r[6];
|
|
/* 0245A388 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0245A38C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245A390 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 0245A390 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0245A394 */ _t19 = cpu->r[12] + 0x00000000u;
|
|
/* 0245A394 */ cpu->r[7] = rbrew_read8(cpu->mem, _t19);
|
|
/* 0245A398 */ cpu->r[4] = 0x00080000u;
|
|
/* 0245A39C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 0245A3A0 */ cpu->r[29] = 0x00000000u;
|
|
/* 0245A3A4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A3A4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0245A3A4 */ if (_t21) goto L_0245A3CC; else goto L_0245A3A8;
|
|
L_0245A3A8: ; // 0x245a3a8
|
|
/* 0245A3A8 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0245A3AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[4]);
|
|
/* 0245A3B0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0245A3B4 */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0245A3B4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0245A3B4 */ if (_t23) goto L_0245A3C8; else goto L_0245A3B8;
|
|
L_0245A3B8: ; // 0x245a3b8
|
|
/* 0245A3B8 */ _t24 = cpu->r[12] + 0x00000000u;
|
|
/* 0245A3B8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t24);
|
|
/* 0245A3BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 0245A3C0 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A3C0 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0245A3C0 */ if (_t26) goto L_0245A3C4; else goto L_0245A3A8;
|
|
L_0245A3C4: ; // 0x245a3c4
|
|
/* 0245A3C4 */ goto L_0245A3CC;
|
|
L_0245A3C8: ; // 0x245a3c8
|
|
/* 0245A3C8 */ cpu->r[29] = 0x00000000u;
|
|
L_0245A3CC: ; // 0x245a3cc
|
|
/* 0245A3CC */ cpu->r[30] = cpu->r[30] - cpu->r[29];
|
|
/* 0245A3CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0245A3D0 */ cpu->r[28] = 0x00000000u;
|
|
/* 0245A3D4 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245A3D4 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0245A3D4 */ if (_t28) goto L_0245A4A0; else goto L_0245A3D8;
|
|
L_0245A3D8: ; // 0x245a3d8
|
|
/* 0245A3D8 */ _t29 = cpu->r[26] + 0x00000084u;
|
|
/* 0245A3D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0245A3DC */ cpu->r[27] = cpu->r[29];
|
|
/* 0245A3E0 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245A3E0 */ rbrew_write32(cpu->mem, _t30, cpu->r[25]);
|
|
/* 0245A3E4 */ cpu->r[0] = cpu->r[11] + cpu->r[28];
|
|
/* 0245A3E8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0245A3EC */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 0245A3EC */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 0245A3F0 */ Gambit_fn_0245A608(cpu);
|
|
/* 0245A3F4 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245A3F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0245A3F8 */ _t33 = cpu->r[12] + 0x00000014u;
|
|
/* 0245A3F8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0245A3FC */ cpu->ctr = cpu->r[5];
|
|
/* 0245A400 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0245A404 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245A408 */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 0245A408 */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0245A40C */ _t35 = cpu->r[7] + 0x00000014u;
|
|
/* 0245A40C */ cpu->r[8] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0245A410 */ cpu->ctr = cpu->r[8];
|
|
/* 0245A414 */ _t36 = cpu->r[1] + 0x00000008u;
|
|
/* 0245A414 */ cpu->r[24] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0245A418 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0245A41C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245A420 */ _t37 = cpu->r[1] + 0x00000010u;
|
|
/* 0245A420 */ cpu->r[9] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0245A424 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[9]);
|
|
/* 0245A428 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A428 */ _t39 = _t38 & 0x00000001u;
|
|
/* 0245A428 */ if (_t39) goto L_0245A47C; else goto L_0245A42C;
|
|
L_0245A42C: ; // 0x245a42c
|
|
/* 0245A42C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0245A430 */ _t40 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0245A430 */ _t41 = _t40 & 0x00000001u;
|
|
/* 0245A430 */ if (_t41) goto L_0245A434; else goto L_0245A47C;
|
|
L_0245A434: ; // 0x245a434
|
|
/* 0245A434 */ _t42 = cpu->r[1] + 0x00000010u;
|
|
/* 0245A434 */ cpu->r[4] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0245A438 */ cpu->ctr = cpu->r[27];
|
|
/* 0245A43C */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 0245A43C */ cpu->r[6] = rbrew_read32(cpu->mem, _t43);
|
|
L_0245A440: ; // 0x245a440
|
|
/* 0245A440 */ _t44 = cpu->r[6] + 0x00000000u;
|
|
/* 0245A440 */ cpu->r[0] = rbrew_read8(cpu->mem, _t44);
|
|
/* 0245A444 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0245A448 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A448 */ _t46 = _t45 & 0x00000001u;
|
|
/* 0245A448 */ if (_t46) goto L_0245A44C; else goto L_0245A45C;
|
|
L_0245A44C: ; // 0x245a44c
|
|
/* 0245A44C */ _t47 = cpu->r[4] + 0x00000000u;
|
|
/* 0245A44C */ cpu->r[10] = rbrew_read8(cpu->mem, _t47);
|
|
/* 0245A450 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 0245A454 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A454 */ _t49 = _t48 & 0x00000001u;
|
|
/* 0245A454 */ if (_t49) goto L_0245A47C; else goto L_0245A458;
|
|
L_0245A458: ; // 0x245a458
|
|
/* 0245A458 */ goto L_0245A494;
|
|
L_0245A45C: ; // 0x245a45c
|
|
/* 0245A45C */ _t50 = cpu->r[4] + 0x00000000u;
|
|
/* 0245A45C */ cpu->r[7] = rbrew_read8(cpu->mem, _t50);
|
|
/* 0245A460 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 0245A464 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A464 */ _t52 = _t51 & 0x00000001u;
|
|
/* 0245A464 */ if (_t52) goto L_0245A494; else goto L_0245A468;
|
|
L_0245A468: ; // 0x245a468
|
|
/* 0245A468 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]);
|
|
/* 0245A46C */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A46C */ _t54 = _t53 & 0x00000001u;
|
|
/* 0245A46C */ if (_t54) goto L_0245A470; else goto L_0245A494;
|
|
L_0245A470: ; // 0x245a470
|
|
/* 0245A470 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 0245A474 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0245A478 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0245A478 */ _t55 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0245A478 */ _t56 = _t55 >> (0x00000002u & 31u);
|
|
/* 0245A478 */ _t57 = _t56 & 0x00000001u;
|
|
/* 0245A478 */ if (_t57) goto L_0245A440; else goto L_0245A47C;
|
|
L_0245A47C: ; // 0x245a47c
|
|
/* 0245A47C */ _t58 = cpu->r[28] | cpu->r[28];
|
|
/* 0245A47C */ cpu->r[11] = ~_t58;
|
|
/* 0245A480 */ cpu->r[0] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 0245A484 */ cpu->r[8] = cpu->r[11] - cpu->r[0];
|
|
/* 0245A484 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0245A488 */ cpu->r[3] = 0x00000000u;
|
|
/* 0245A48C */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A48C */ _t60 = _t59 & 0x00000001u;
|
|
/* 0245A48C */ if (_t60) goto L_0245A4B4; else goto L_0245A490;
|
|
L_0245A490: ; // 0x245a490
|
|
/* 0245A490 */ goto L_0245A4B0;
|
|
L_0245A494: ; // 0x245a494
|
|
/* 0245A494 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 0245A498 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[30]);
|
|
/* 0245A49C */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0245A49C */ _t62 = _t61 & 0x00000001u;
|
|
/* 0245A49C */ if (_t62) goto L_0245A4A0; else goto L_0245A3D8;
|
|
L_0245A4A0: ; // 0x245a4a0
|
|
/* 0245A4A0 */ cpu->r[3] = 0x00000000u;
|
|
/* 0245A4A4 */ cpu->r[0] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 0245A4A8 */ cpu->r[8] = ~cpu->r[0];
|
|
/* 0245A4A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0245A4AC */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A4AC */ _t64 = _t63 & 0x00000001u;
|
|
/* 0245A4AC */ if (_t64) goto L_0245A4B4; else goto L_0245A4B0;
|
|
L_0245A4B0: ; // 0x245a4b0
|
|
/* 0245A4B0 */ cpu->r[3] = 0x00000002u;
|
|
L_0245A4B4: ; // 0x245a4b4
|
|
/* 0245A4B4 */ /* nop */
|
|
/* 0245A4B8 */ _t65 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0245A4B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
|
|
/* 0245A4BC */ cpu->lr = cpu->r[0];
|
|
/* 0245A4C0 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 0245A4C4 */ return;
|
|
}
|
|
|
|
// fn_0245A4C8 @ 0x245a4c8
|
|
void Gambit_fn_0245A4C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_020C38E0: ; // 0x20c38e0
|
|
/* 020C38E0 */ cpu->r[0] = cpu->lr;
|
|
/* 020C38E4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 020C38E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 020C38E4 */ cpu->r[1] = _t0;
|
|
/* 020C38E8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020C38E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 020C38EC */ cpu->r[31] = cpu->r[3];
|
|
/* 020C38F0 */ cpu->r[3] = 0x101C0000u;
|
|
/* 020C38F4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 020C38F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 020C38F8 */ _t3 = cpu->r[3] + 0x00003400u;
|
|
/* 020C38F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 020C38FC */ Gambit_fn_0206C030(cpu);
|
|
/* 020C3900 */ cpu->r[3] = cpu->r[31] + 0x00000168u;
|
|
/* 020C3904 */ cpu->r[4] = 0x00000001u;
|
|
/* 020C3908 */ Gambit_fn_020069F0(cpu);
|
|
/* 020C390C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 020C390C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 020C3910 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020C3910 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 020C3914 */ cpu->lr = cpu->r[0];
|
|
/* 020C3918 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 020C391C */ return;
|
|
L_0245A4C8: ; // 0x245a4c8
|
|
/* 0245A4C8 */ _t6 = cpu->r[3] + 0x00000218u;
|
|
/* 0245A4C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0245A4CC */ goto L_020C38E0;
|
|
}
|
|
|
|
// fn_0245A4D0 @ 0x245a4d0
|
|
void Gambit_fn_0245A4D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0245A4D0: ; // 0x245a4d0
|
|
/* 0245A4D0 */ cpu->r[5] = 0xFFFFFFFDu;
|
|
/* 0245A4D4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0245A4D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245A4D4 */ cpu->r[1] = _t0;
|
|
/* 0245A4D8 */ cpu->r[10] = 0x101E0000u;
|
|
/* 0245A4DC */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 0245A4E0 */ _t1 = cpu->r[10] + 0x00007948u;
|
|
/* 0245A4E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 0245A4E0 */ cpu->r[10] = _t1;
|
|
/* 0245A4E4 */ cpu->r[7] = 0x101E0000u;
|
|
/* 0245A4E8 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 0245A4E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 0245A4EC */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 0245A4F0 */ cpu->r[8] = 0x101E0000u;
|
|
/* 0245A4F4 */ _t3 = cpu->r[7] + 0x00007958u;
|
|
/* 0245A4F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0245A4F4 */ cpu->r[7] = _t3;
|
|
/* 0245A4F8 */ _t4 = cpu->r[8] + 0x00007950u;
|
|
/* 0245A4F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 0245A4F8 */ cpu->r[8] = _t4;
|
|
/* 0245A4FC */ cpu->r[0] = 0x00000002u;
|
|
/* 0245A500 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 0245A500 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0245A504 */ cpu->r[8] = 0x101E0000u;
|
|
/* 0245A508 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0245A508 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0245A50C */ cpu->r[12] = 0x101E0000u;
|
|
/* 0245A510 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 0245A510 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0245A514 */ _t8 = cpu->r[8] + 0x00007968u;
|
|
/* 0245A514 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 0245A514 */ cpu->r[8] = _t8;
|
|
/* 0245A518 */ _t9 = cpu->r[12] + 0x00007960u;
|
|
/* 0245A518 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 0245A518 */ cpu->r[12] = _t9;
|
|
/* 0245A51C */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 0245A51C */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 0245A520 */ cpu->r[0] = 0x00000004u;
|
|
/* 0245A524 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 0245A524 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 0245A528 */ cpu->r[11] = 0x101E0000u;
|
|
/* 0245A52C */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0245A52C */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0245A530 */ _t13 = cpu->r[11] + 0x00007970u;
|
|
/* 0245A530 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0245A534 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0245A538 */ return;
|
|
}
|
|
|
|
// fn_0245A4D4 @ 0x245a4d4
|
|
void Gambit_fn_0245A4D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0245A4D4: ; // 0x245a4d4
|
|
/* 0245A4D4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0245A4D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245A4D4 */ cpu->r[1] = _t0;
|
|
/* 0245A4D8 */ cpu->r[10] = 0x101E0000u;
|
|
/* 0245A4DC */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 0245A4E0 */ _t1 = cpu->r[10] + 0x00007948u;
|
|
/* 0245A4E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 0245A4E0 */ cpu->r[10] = _t1;
|
|
/* 0245A4E4 */ cpu->r[7] = 0x101E0000u;
|
|
/* 0245A4E8 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 0245A4E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 0245A4EC */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 0245A4F0 */ cpu->r[8] = 0x101E0000u;
|
|
/* 0245A4F4 */ _t3 = cpu->r[7] + 0x00007958u;
|
|
/* 0245A4F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0245A4F4 */ cpu->r[7] = _t3;
|
|
/* 0245A4F8 */ _t4 = cpu->r[8] + 0x00007950u;
|
|
/* 0245A4F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 0245A4F8 */ cpu->r[8] = _t4;
|
|
/* 0245A4FC */ cpu->r[0] = 0x00000002u;
|
|
/* 0245A500 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 0245A500 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0245A504 */ cpu->r[8] = 0x101E0000u;
|
|
/* 0245A508 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0245A508 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0245A50C */ cpu->r[12] = 0x101E0000u;
|
|
/* 0245A510 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 0245A510 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0245A514 */ _t8 = cpu->r[8] + 0x00007968u;
|
|
/* 0245A514 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 0245A514 */ cpu->r[8] = _t8;
|
|
/* 0245A518 */ _t9 = cpu->r[12] + 0x00007960u;
|
|
/* 0245A518 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 0245A518 */ cpu->r[12] = _t9;
|
|
/* 0245A51C */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 0245A51C */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 0245A520 */ cpu->r[0] = 0x00000004u;
|
|
/* 0245A524 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 0245A524 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 0245A528 */ cpu->r[11] = 0x101E0000u;
|
|
/* 0245A52C */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0245A52C */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0245A530 */ _t13 = cpu->r[11] + 0x00007970u;
|
|
/* 0245A530 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0245A534 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0245A538 */ return;
|
|
}
|
|
|
|
// fn_0245A53C @ 0x245a53c
|
|
void Gambit_fn_0245A53C(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_0245A53C: ; // 0x245a53c
|
|
/* 0245A53C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0245A540 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A540 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0245A540 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0245A540 */ goto L_0245A544;
|
|
L_0245A544: ; // 0x245a544
|
|
/* 0245A544 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0245A544 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0245A548 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A548 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0245A548 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0245A548 */ goto L_0245A54C;
|
|
L_0245A54C: ; // 0x245a54c
|
|
/* 0245A54C */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 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 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) 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 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0245A550 @ 0x245a550
|
|
void Gambit_fn_0245A550(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0245A550: ; // 0x245a550
|
|
/* 0245A550 */ cpu->r[0] = cpu->lr;
|
|
/* 0245A554 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245A554 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245A554 */ cpu->r[1] = _t0;
|
|
/* 0245A558 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245A558 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245A55C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0245A55C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0245A560 */ cpu->r[30] = cpu->r[3];
|
|
/* 0245A560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0245A564 */ cpu->r[31] = cpu->r[4];
|
|
/* 0245A568 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0245A568 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0245A56C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A56C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0245A56C */ if (_t5) goto L_0245A5DC; else goto L_0245A570;
|
|
L_0245A570: ; // 0x245a570
|
|
/* 0245A570 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245A574 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245A578 */ cpu->r[0] = cpu->r[0] + 0x00000F58u;
|
|
/* 0245A57C */ cpu->r[12] = cpu->r[12] + 0x00000F78u;
|
|
/* 0245A580 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0245A580 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0245A584 */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245A588 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 0245A588 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0245A58C */ cpu->r[11] = cpu->r[11] + 0x00000F68u;
|
|
/* 0245A590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0245A594 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0245A594 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0245A598 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A598 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0245A598 */ if (_t10) goto L_0245A5CC; else goto L_0245A59C;
|
|
L_0245A59C: ; // 0x245a59c
|
|
/* 0245A59C */ cpu->r[10] = 0x10010000u;
|
|
/* 0245A5A0 */ cpu->r[0] = 0x10010000u;
|
|
/* 0245A5A4 */ cpu->r[10] = cpu->r[10] + 0x00004564u;
|
|
/* 0245A5A8 */ cpu->r[0] = cpu->r[0] + 0x00004554u;
|
|
/* 0245A5AC */ cpu->r[3] = cpu->r[30];
|
|
/* 0245A5B0 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0245A5B0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0245A5B4 */ cpu->r[0] = 0x10010000u;
|
|
/* 0245A5B8 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0245A5B8 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0245A5BC */ cpu->r[0] = cpu->r[0] + 0x00004574u;
|
|
/* 0245A5C0 */ cpu->r[4] = 0x00000000u;
|
|
/* 0245A5C4 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0245A5C4 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0245A5C8 */ Gambit_fn_02068798(cpu);
|
|
L_0245A5CC: ; // 0x245a5cc
|
|
/* 0245A5CC */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0245A5CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0245A5D0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A5D0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0245A5D0 */ if (_t15) goto L_0245A5DC; else goto L_0245A5D4;
|
|
L_0245A5D4: ; // 0x245a5d4
|
|
/* 0245A5D4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0245A5D8 */ Gambit_fn_02801BB0(cpu);
|
|
L_0245A5DC: ; // 0x245a5dc
|
|
/* 0245A5DC */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0245A5DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0245A5E0 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0245A5E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0245A5E4 */ cpu->lr = cpu->r[0];
|
|
/* 0245A5E8 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245A5E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0245A5EC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245A5F0 */ return;
|
|
}
|
|
|
|
// fn_0245A554 @ 0x245a554
|
|
void Gambit_fn_0245A554(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0245A554: ; // 0x245a554
|
|
/* 0245A554 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245A554 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245A554 */ cpu->r[1] = _t0;
|
|
/* 0245A558 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245A558 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245A55C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0245A55C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0245A560 */ cpu->r[30] = cpu->r[3];
|
|
/* 0245A560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0245A564 */ cpu->r[31] = cpu->r[4];
|
|
/* 0245A568 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0245A568 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0245A56C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A56C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0245A56C */ if (_t5) goto L_0245A5DC; else goto L_0245A570;
|
|
L_0245A570: ; // 0x245a570
|
|
/* 0245A570 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245A574 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245A578 */ cpu->r[0] = cpu->r[0] + 0x00000F58u;
|
|
/* 0245A57C */ cpu->r[12] = cpu->r[12] + 0x00000F78u;
|
|
/* 0245A580 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0245A580 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0245A584 */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245A588 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 0245A588 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0245A58C */ cpu->r[11] = cpu->r[11] + 0x00000F68u;
|
|
/* 0245A590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0245A594 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0245A594 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0245A598 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A598 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0245A598 */ if (_t10) goto L_0245A5CC; else goto L_0245A59C;
|
|
L_0245A59C: ; // 0x245a59c
|
|
/* 0245A59C */ cpu->r[10] = 0x10010000u;
|
|
/* 0245A5A0 */ cpu->r[0] = 0x10010000u;
|
|
/* 0245A5A4 */ cpu->r[10] = cpu->r[10] + 0x00004564u;
|
|
/* 0245A5A8 */ cpu->r[0] = cpu->r[0] + 0x00004554u;
|
|
/* 0245A5AC */ cpu->r[3] = cpu->r[30];
|
|
/* 0245A5B0 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0245A5B0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0245A5B4 */ cpu->r[0] = 0x10010000u;
|
|
/* 0245A5B8 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0245A5B8 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0245A5BC */ cpu->r[0] = cpu->r[0] + 0x00004574u;
|
|
/* 0245A5C0 */ cpu->r[4] = 0x00000000u;
|
|
/* 0245A5C4 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0245A5C4 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0245A5C8 */ Gambit_fn_02068798(cpu);
|
|
L_0245A5CC: ; // 0x245a5cc
|
|
/* 0245A5CC */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0245A5CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0245A5D0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A5D0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0245A5D0 */ if (_t15) goto L_0245A5DC; else goto L_0245A5D4;
|
|
L_0245A5D4: ; // 0x245a5d4
|
|
/* 0245A5D4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0245A5D8 */ Gambit_fn_02801BB0(cpu);
|
|
L_0245A5DC: ; // 0x245a5dc
|
|
/* 0245A5DC */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0245A5DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0245A5E0 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0245A5E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0245A5E4 */ cpu->lr = cpu->r[0];
|
|
/* 0245A5E8 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245A5E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0245A5EC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245A5F0 */ return;
|
|
}
|
|
|
|
// fn_0245A5F4 @ 0x245a5f4
|
|
void Gambit_fn_0245A5F4(CPUState* cpu) {
|
|
L_0245A5F4: ; // 0x245a5f4
|
|
/* 0245A5F4 */ return;
|
|
}
|
|
|
|
// fn_0245A5F8 @ 0x245a5f8
|
|
void Gambit_fn_0245A5F8(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0245A5F8: ; // 0x245a5f8
|
|
/* 0245A5F8 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0245A5F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245A5FC */ return;
|
|
}
|
|
|
|
// fn_0245A600 @ 0x245a600
|
|
void Gambit_fn_0245A600(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0245A600: ; // 0x245a600
|
|
/* 0245A600 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0245A600 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245A604 */ return;
|
|
}
|
|
|
|
// fn_0245A608 @ 0x245a608
|
|
void Gambit_fn_0245A608(CPUState* cpu) {
|
|
L_0245A608: ; // 0x245a608
|
|
/* 0245A608 */ return;
|
|
}
|
|
|
|
// fn_0245A60C @ 0x245a60c
|
|
void Gambit_fn_0245A60C(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_0245A60C: ; // 0x245a60c
|
|
/* 0245A60C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0245A610 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A610 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0245A610 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0245A610 */ goto L_0245A614;
|
|
L_0245A614: ; // 0x245a614
|
|
/* 0245A614 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0245A614 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0245A618 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A618 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0245A618 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0245A618 */ goto L_0245A61C;
|
|
L_0245A61C: ; // 0x245a61c
|
|
/* 0245A61C */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 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 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) 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 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0245A620 @ 0x245a620
|
|
void Gambit_fn_0245A620(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0245A620: ; // 0x245a620
|
|
/* 0245A620 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0245A620 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245A624 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 0245A624 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0245A628 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 0245A62C */ cpu->r[11] = 0x10110000u;
|
|
/* 0245A630 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 0245A630 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0245A634 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0245A634 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 0245A638 */ return;
|
|
}
|
|
|
|
// fn_0245A63C @ 0x245a63c
|
|
void Gambit_fn_0245A63C(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_0245A63C: ; // 0x245a63c
|
|
/* 0245A63C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0245A640 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A640 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0245A640 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0245A640 */ goto L_0245A644;
|
|
L_0245A644: ; // 0x245a644
|
|
/* 0245A644 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0245A644 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0245A648 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A648 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0245A648 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0245A648 */ goto L_0245A64C;
|
|
L_0245A64C: ; // 0x245a64c
|
|
/* 0245A64C */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 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 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) 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 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0245A650 @ 0x245a650
|
|
void Gambit_fn_0245A650(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_0245A650: ; // 0x245a650
|
|
/* 0245A650 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0245A654 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A654 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0245A654 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0245A654 */ goto L_0245A658;
|
|
L_0245A658: ; // 0x245a658
|
|
/* 0245A658 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0245A658 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0245A65C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A65C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0245A65C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0245A65C */ goto L_0245A660;
|
|
L_0245A660: ; // 0x245a660
|
|
/* 0245A660 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 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 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) 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 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0245A664 @ 0x245a664
|
|
void Gambit_fn_0245A664(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0245A664: ; // 0x245a664
|
|
/* 0245A664 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0245A664 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245A668 */ return;
|
|
}
|
|
|
|
// fn_0245A66C @ 0x245a66c
|
|
void Gambit_fn_0245A66C(CPUState* cpu) {
|
|
L_0245A66C: ; // 0x245a66c
|
|
/* 0245A66C */ return;
|
|
}
|
|
|
|
// fn_0245A670 @ 0x245a670
|
|
void Gambit_fn_0245A670(CPUState* cpu) {
|
|
L_0245A670: ; // 0x245a670
|
|
/* 0245A670 */ return;
|
|
}
|
|
|
|
// fn_0245A674 @ 0x245a674
|
|
void Gambit_fn_0245A674(CPUState* cpu) {
|
|
L_0245A674: ; // 0x245a674
|
|
/* 0245A674 */ return;
|
|
}
|
|
|
|
// fn_0245A678 @ 0x245a678
|
|
void Gambit_fn_0245A678(CPUState* cpu) {
|
|
L_0245A678: ; // 0x245a678
|
|
/* 0245A678 */ return;
|
|
}
|
|
|
|
// fn_0245A67C @ 0x245a67c
|
|
void Gambit_fn_0245A67C(CPUState* cpu) {
|
|
L_0245A67C: ; // 0x245a67c
|
|
/* 0245A67C */ return;
|
|
}
|
|
|
|
// fn_0245A680 @ 0x245a680
|
|
void Gambit_fn_0245A680(CPUState* cpu) {
|
|
L_0245A680: ; // 0x245a680
|
|
/* 0245A680 */ cpu->r[3] = 0x00000001u;
|
|
/* 0245A684 */ return;
|
|
}
|
|
|
|
// fn_0245A688 @ 0x245a688
|
|
void Gambit_fn_0245A688(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0245A688: ; // 0x245a688
|
|
/* 0245A688 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0245A688 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245A68C */ _t1 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0245A68C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0245A690 */ cpu->ctr = cpu->r[0];
|
|
/* 0245A694 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0245A698 @ 0x245a698
|
|
void Gambit_fn_0245A698(CPUState* cpu) {
|
|
L_0245A698: ; // 0x245a698
|
|
/* 0245A698 */ return;
|
|
}
|
|
|
|
// fn_0245A69C @ 0x245a69c
|
|
void Gambit_fn_0245A69C(CPUState* cpu) {
|
|
L_0245A69C: ; // 0x245a69c
|
|
/* 0245A69C */ cpu->r[3] = 0x00000000u;
|
|
/* 0245A6A0 */ return;
|
|
}
|
|
|
|
// fn_0245A6A4 @ 0x245a6a4
|
|
void Gambit_fn_0245A6A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0245A6A4: ; // 0x245a6a4
|
|
/* 0245A6A4 */ cpu->r[9] = 0x101D0000u;
|
|
/* 0245A6A8 */ _t0 = cpu->r[9] + 0xFFFFDBA0u;
|
|
/* 0245A6A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245A6A8 */ cpu->r[9] = _t0;
|
|
/* 0245A6AC */ cpu->r[12] = 0x101D0000u;
|
|
/* 0245A6B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0245A6B4 */ cpu->r[12] = cpu->r[12] + 0xFFFFED90u;
|
|
/* 0245A6B8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A6B8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0245A6B8 */ if (_t2) goto L_0245A6BC; else goto L_0245A6D0;
|
|
L_0245A6BC: ; // 0x245a6bc
|
|
/* 0245A6BC */ cpu->r[7] = 0x100A0000u;
|
|
/* 0245A6C0 */ cpu->r[0] = 0x00000001u;
|
|
/* 0245A6C4 */ cpu->r[7] = cpu->r[7] + 0x00000CB8u;
|
|
/* 0245A6C8 */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 0245A6C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0245A6CC */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 0245A6CC */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_0245A6D0: ; // 0x245a6d0
|
|
/* 0245A6D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 0245A6D4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A6D4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0245A6D4 */ if (_t6) goto L_0245A6D8; else goto L_0245A6E0;
|
|
L_0245A6D8: ; // 0x245a6d8
|
|
/* 0245A6D8 */ cpu->r[3] = 0x00000001u;
|
|
/* 0245A6DC */ return;
|
|
L_0245A6E0: ; // 0x245a6e0
|
|
/* 0245A6E0 */ cpu->r[7] = 0x101D0000u;
|
|
/* 0245A6E4 */ _t7 = cpu->r[7] + 0xFFFFDB98u;
|
|
/* 0245A6E4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0245A6E4 */ cpu->r[7] = _t7;
|
|
/* 0245A6E8 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0245A6EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0245A6F0 */ cpu->r[11] = cpu->r[11] + 0xFFFFED94u;
|
|
/* 0245A6F4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A6F4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0245A6F4 */ if (_t9) goto L_0245A6F8; else goto L_0245A70C;
|
|
L_0245A6F8: ; // 0x245a6f8
|
|
/* 0245A6F8 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245A6FC */ cpu->r[9] = 0x00000001u;
|
|
/* 0245A700 */ cpu->r[0] = cpu->r[0] + 0x00000C28u;
|
|
/* 0245A704 */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 0245A704 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 0245A708 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 0245A708 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_0245A70C: ; // 0x245a70c
|
|
/* 0245A70C */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 0245A710 */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 0245A714 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 0245A718 */ return;
|
|
}
|
|
|
|
// fn_0245A71C @ 0x245a71c
|
|
void Gambit_fn_0245A71C(CPUState* cpu) {
|
|
L_0245A71C: ; // 0x245a71c
|
|
/* 0245A71C */ return;
|
|
}
|
|
|
|
// fn_0245A720 @ 0x245a720
|
|
void Gambit_fn_0245A720(CPUState* cpu) {
|
|
L_0245A720: ; // 0x245a720
|
|
/* 0245A720 */ cpu->r[3] = 0x00000000u;
|
|
/* 0245A724 */ return;
|
|
}
|
|
|
|
// fn_0245A728 @ 0x245a728
|
|
void Gambit_fn_0245A728(CPUState* cpu) {
|
|
L_0245A728: ; // 0x245a728
|
|
/* 0245A728 */ return;
|
|
}
|
|
|
|
// fn_0245A72C @ 0x245a72c
|
|
void Gambit_fn_0245A72C(CPUState* cpu) {
|
|
L_0245A72C: ; // 0x245a72c
|
|
/* 0245A72C */ return;
|
|
}
|
|
|
|
// fn_0245A730 @ 0x245a730
|
|
void Gambit_fn_0245A730(CPUState* cpu) {
|
|
L_0245A730: ; // 0x245a730
|
|
/* 0245A730 */ return;
|
|
}
|
|
|
|
// fn_0245A734 @ 0x245a734
|
|
void Gambit_fn_0245A734(CPUState* cpu) {
|
|
L_0245A734: ; // 0x245a734
|
|
/* 0245A734 */ return;
|
|
}
|
|
|
|
// fn_0245A738 @ 0x245a738
|
|
void Gambit_fn_0245A738(CPUState* cpu) {
|
|
L_0245A738: ; // 0x245a738
|
|
/* 0245A738 */ return;
|
|
}
|
|
|
|
// fn_0245A73C @ 0x245a73c
|
|
void Gambit_fn_0245A73C(CPUState* cpu) {
|
|
L_0245A73C: ; // 0x245a73c
|
|
/* 0245A73C */ return;
|
|
}
|
|
|
|
// fn_0245A740 @ 0x245a740
|
|
void Gambit_fn_0245A740(CPUState* cpu) {
|
|
L_0245A740: ; // 0x245a740
|
|
/* 0245A740 */ return;
|
|
}
|
|
|
|
// fn_0245A744 @ 0x245a744
|
|
void Gambit_fn_0245A744(CPUState* cpu) {
|
|
L_0245A744: ; // 0x245a744
|
|
/* 0245A744 */ return;
|
|
}
|
|
|
|
// fn_0245A748 @ 0x245a748
|
|
void Gambit_fn_0245A748(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0208A0C8: ; // 0x208a0c8
|
|
/* 0208A0C8 */ cpu->r[0] = cpu->lr;
|
|
/* 0208A0CC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0208A0CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0208A0CC */ cpu->r[1] = _t0;
|
|
/* 0208A0D0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0208A0D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0208A0D4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0208A0D8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0208A0D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0208A0DC */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 0208A0DC */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0208A0E0 */ cpu->r[12] = 0x00000000u;
|
|
/* 0208A0E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0208A0E8 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0208A0E8 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 0208A0EC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0208A0EC */ _t6 = _t5 & 0x00000001u;
|
|
/* 0208A0EC */ if (_t6) goto L_0208A114; else goto L_0208A0F0;
|
|
L_0208A0F0: ; // 0x208a0f0
|
|
/* 0208A0F0 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0208A0F0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0208A0F4 */ /* nop */
|
|
/* 0208A0F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 0208A0FC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0208A0FC */ _t9 = _t8 & 0x00000001u;
|
|
/* 0208A0FC */ if (_t9) goto L_0208A100; else goto L_0208A114;
|
|
L_0208A100: ; // 0x208a100
|
|
/* 0208A100 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0208A100 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0208A104 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 0208A104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0208A108 */ cpu->ctr = cpu->r[0];
|
|
/* 0208A10C */ cpu->r[3] = cpu->r[31];
|
|
/* 0208A110 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0208A114: ; // 0x208a114
|
|
/* 0208A114 */ cpu->r[3] = cpu->r[31];
|
|
/* 0208A118 */ Gambit_fn_0208A040(cpu);
|
|
/* 0208A11C */ cpu->r[3] = cpu->r[31];
|
|
/* 0208A120 */ Gambit_fn_027FC37C(cpu);
|
|
/* 0208A124 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0208A124 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0208A128 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0208A128 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0208A12C */ cpu->lr = cpu->r[0];
|
|
/* 0208A130 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0208A134 */ return;
|
|
L_0245A748: ; // 0x245a748
|
|
/* 0245A748 */ cpu->r[3] = cpu->r[3] + 0x000001E0u;
|
|
/* 0245A74C */ goto L_0208A0C8;
|
|
}
|
|
|
|
// fn_0245A750 @ 0x245a750
|
|
void Gambit_fn_0245A750(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0245A750: ; // 0x245a750
|
|
/* 0245A750 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0245A754 */ goto L_0245AA30;
|
|
L_0245AA30: ; // 0x245aa30
|
|
/* 0245AA30 */ cpu->r[0] = cpu->lr;
|
|
/* 0245AA34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245AA34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245AA34 */ cpu->r[1] = _t0;
|
|
/* 0245AA38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245AA38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245AA3C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0245AA3C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0245AA40 */ cpu->r[30] = cpu->r[3];
|
|
/* 0245AA40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0245AA44 */ cpu->r[31] = cpu->r[4];
|
|
/* 0245AA48 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0245AA48 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0245AA4C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245AA4C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0245AA4C */ if (_t5) goto L_0245AABC; else goto L_0245AA50;
|
|
L_0245AA50: ; // 0x245aa50
|
|
/* 0245AA50 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245AA54 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245AA58 */ cpu->r[0] = cpu->r[0] + 0x0000128Cu;
|
|
/* 0245AA5C */ cpu->r[12] = cpu->r[12] + 0x000012ACu;
|
|
/* 0245AA60 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0245AA60 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0245AA64 */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245AA68 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 0245AA68 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0245AA6C */ cpu->r[11] = cpu->r[11] + 0x0000129Cu;
|
|
/* 0245AA70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0245AA74 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0245AA74 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0245AA78 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245AA78 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0245AA78 */ if (_t10) goto L_0245AAAC; else goto L_0245AA7C;
|
|
L_0245AA7C: ; // 0x245aa7c
|
|
/* 0245AA7C */ cpu->r[10] = 0x10010000u;
|
|
/* 0245AA80 */ cpu->r[0] = 0x10010000u;
|
|
/* 0245AA84 */ cpu->r[10] = cpu->r[10] + 0x000048FCu;
|
|
/* 0245AA88 */ cpu->r[0] = cpu->r[0] + 0x000048ECu;
|
|
/* 0245AA8C */ cpu->r[3] = cpu->r[30];
|
|
/* 0245AA90 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0245AA90 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0245AA94 */ cpu->r[0] = 0x10010000u;
|
|
/* 0245AA98 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0245AA98 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0245AA9C */ cpu->r[0] = cpu->r[0] + 0x0000490Cu;
|
|
/* 0245AAA0 */ cpu->r[4] = 0x00000000u;
|
|
/* 0245AAA4 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0245AAA4 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0245AAA8 */ Gambit_fn_02068798(cpu);
|
|
L_0245AAAC: ; // 0x245aaac
|
|
/* 0245AAAC */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0245AAAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0245AAB0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245AAB0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0245AAB0 */ if (_t15) goto L_0245AABC; else goto L_0245AAB4;
|
|
L_0245AAB4: ; // 0x245aab4
|
|
/* 0245AAB4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0245AAB8 */ Gambit_fn_02801BB0(cpu);
|
|
L_0245AABC: ; // 0x245aabc
|
|
/* 0245AABC */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0245AABC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0245AAC0 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0245AAC0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0245AAC4 */ cpu->lr = cpu->r[0];
|
|
/* 0245AAC8 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245AAC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0245AACC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245AAD0 */ return;
|
|
}
|
|
|
|
// fn_0245A758 @ 0x245a758
|
|
void Gambit_fn_0245A758(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02068818: ; // 0x2068818
|
|
/* 02068818 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0206881C */ _t0 = cpu->r[12] + 0x00001D34u;
|
|
/* 0206881C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02068820 */ _t1 = cpu->r[12] + 0x0000018Cu;
|
|
/* 02068820 */ cpu->r[12] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02068824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02068828 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02068828 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02068828 */ if (_t3) goto L_0206883C; else goto L_0206882C;
|
|
L_0206882C: ; // 0x206882c
|
|
/* 0206882C */ cpu->r[0] = cpu->r[5] ^ 0x00000001u;
|
|
/* 02068830 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02068834 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068838 */ return;
|
|
L_0206883C: ; // 0x206883c
|
|
/* 0206883C */ cpu->r[0] = rbrew_clz32(cpu->r[5]);
|
|
/* 02068840 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068844 */ return;
|
|
L_0245A758: ; // 0x245a758
|
|
/* 0245A758 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 0245A75C */ goto L_02068818;
|
|
}
|
|
|
|
// fn_0245A760 @ 0x245a760
|
|
void Gambit_fn_0245A760(CPUState* cpu) {
|
|
L_0245A760: ; // 0x245a760
|
|
/* 0245A760 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 0245A764 */ goto L_0245AAD4;
|
|
L_0245AAD4: ; // 0x245aad4
|
|
/* 0245AAD4 */ return;
|
|
}
|
|
|
|
// fn_0245A768 @ 0x245a768
|
|
void Gambit_fn_0245A768(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0245A768: ; // 0x245a768
|
|
/* 0245A768 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 0245A76C */ goto L_0245AAD8;
|
|
L_0245AAD8: ; // 0x245aad8
|
|
/* 0245AAD8 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0245AAD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245AADC */ return;
|
|
}
|
|
|
|
// fn_0245A770 @ 0x245a770
|
|
void Gambit_fn_0245A770(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0245A770: ; // 0x245a770
|
|
/* 0245A770 */ cpu->r[0] = cpu->lr;
|
|
/* 0245A774 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245A774 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245A774 */ cpu->r[1] = _t0;
|
|
/* 0245A778 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245A778 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245A77C */ cpu->r[31] = cpu->r[3];
|
|
/* 0245A77C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0245A780 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0245A780 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0245A784 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A784 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0245A784 */ if (_t4) goto L_0245A788; else goto L_0245A798;
|
|
L_0245A788: ; // 0x245a788
|
|
/* 0245A788 */ cpu->r[3] = 0x00000220u;
|
|
/* 0245A78C */ Gambit_fn_02801A78(cpu);
|
|
/* 0245A790 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245A790 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0245A794 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A794 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0245A794 */ if (_t6) goto L_0245A7E8; else goto L_0245A798;
|
|
L_0245A798: ; // 0x245a798
|
|
/* 0245A798 */ cpu->r[4] = 0x100A0000u;
|
|
/* 0245A79C */ cpu->r[3] = cpu->r[31];
|
|
/* 0245A7A0 */ cpu->r[6] = 0x00000000u;
|
|
/* 0245A7A4 */ cpu->r[4] = cpu->r[4] + 0x00001048u;
|
|
/* 0245A7A8 */ cpu->r[5] = 0x00000001u;
|
|
/* 0245A7AC */ Gambit_fn_020B6F60(cpu);
|
|
/* 0245A7B0 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245A7B4 */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245A7B8 */ cpu->r[12] = cpu->r[12] + 0x0000128Cu;
|
|
/* 0245A7BC */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245A7C0 */ cpu->r[11] = cpu->r[11] + 0x000010ACu;
|
|
/* 0245A7C4 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0245A7C4 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0245A7C8 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245A7CC */ cpu->r[0] = cpu->r[0] + 0x0000129Cu;
|
|
/* 0245A7D0 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 0245A7D0 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0245A7D4 */ cpu->r[12] = cpu->r[12] + 0x000012ACu;
|
|
/* 0245A7D8 */ _t9 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0245A7D8 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0245A7DC */ cpu->r[10] = 0x00000000u;
|
|
/* 0245A7E0 */ _t10 = cpu->r[31] + 0x000001C8u;
|
|
/* 0245A7E0 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0245A7E4 */ _t11 = cpu->r[31] + 0x0000021Cu;
|
|
/* 0245A7E4 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
L_0245A7E8: ; // 0x245a7e8
|
|
/* 0245A7E8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0245A7E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0245A7EC */ cpu->r[3] = cpu->r[31];
|
|
/* 0245A7F0 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245A7F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0245A7F4 */ cpu->lr = cpu->r[0];
|
|
/* 0245A7F8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245A7FC */ return;
|
|
}
|
|
|
|
// fn_0245A774 @ 0x245a774
|
|
void Gambit_fn_0245A774(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0245A774: ; // 0x245a774
|
|
/* 0245A774 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245A774 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245A774 */ cpu->r[1] = _t0;
|
|
/* 0245A778 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245A778 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245A77C */ cpu->r[31] = cpu->r[3];
|
|
/* 0245A77C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0245A780 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0245A780 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0245A784 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A784 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0245A784 */ if (_t4) goto L_0245A788; else goto L_0245A798;
|
|
L_0245A788: ; // 0x245a788
|
|
/* 0245A788 */ cpu->r[3] = 0x00000220u;
|
|
/* 0245A78C */ Gambit_fn_02801A78(cpu);
|
|
/* 0245A790 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245A790 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0245A794 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245A794 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0245A794 */ if (_t6) goto L_0245A7E8; else goto L_0245A798;
|
|
L_0245A798: ; // 0x245a798
|
|
/* 0245A798 */ cpu->r[4] = 0x100A0000u;
|
|
/* 0245A79C */ cpu->r[3] = cpu->r[31];
|
|
/* 0245A7A0 */ cpu->r[6] = 0x00000000u;
|
|
/* 0245A7A4 */ cpu->r[4] = cpu->r[4] + 0x00001048u;
|
|
/* 0245A7A8 */ cpu->r[5] = 0x00000001u;
|
|
/* 0245A7AC */ Gambit_fn_020B6F60(cpu);
|
|
/* 0245A7B0 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245A7B4 */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245A7B8 */ cpu->r[12] = cpu->r[12] + 0x0000128Cu;
|
|
/* 0245A7BC */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245A7C0 */ cpu->r[11] = cpu->r[11] + 0x000010ACu;
|
|
/* 0245A7C4 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0245A7C4 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0245A7C8 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245A7CC */ cpu->r[0] = cpu->r[0] + 0x0000129Cu;
|
|
/* 0245A7D0 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 0245A7D0 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0245A7D4 */ cpu->r[12] = cpu->r[12] + 0x000012ACu;
|
|
/* 0245A7D8 */ _t9 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0245A7D8 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0245A7DC */ cpu->r[10] = 0x00000000u;
|
|
/* 0245A7E0 */ _t10 = cpu->r[31] + 0x000001C8u;
|
|
/* 0245A7E0 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0245A7E4 */ _t11 = cpu->r[31] + 0x0000021Cu;
|
|
/* 0245A7E4 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
L_0245A7E8: ; // 0x245a7e8
|
|
/* 0245A7E8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0245A7E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0245A7EC */ cpu->r[3] = cpu->r[31];
|
|
/* 0245A7F0 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245A7F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0245A7F4 */ cpu->lr = cpu->r[0];
|
|
/* 0245A7F8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245A7FC */ return;
|
|
}
|
|
|
|
// fn_0245A800 @ 0x245a800
|
|
void Gambit_fn_0245A800(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0245A800: ; // 0x245a800
|
|
/* 0245A800 */ cpu->r[0] = cpu->lr;
|
|
/* 0245A804 */ cpu->r[10] = 0x100A0000u;
|
|
/* 0245A808 */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245A80C */ cpu->r[10] = cpu->r[10] + 0x00001060u;
|
|
/* 0245A810 */ cpu->r[11] = cpu->r[11] + 0x00001000u;
|
|
/* 0245A814 */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0245A818 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0245A818 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0245A81C */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245A820 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0245A820 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0245A820 */ cpu->r[1] = _t1;
|
|
/* 0245A824 */ cpu->r[0] = cpu->r[0] + 0x00001028u;
|
|
/* 0245A828 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245A828 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 0245A82C */ cpu->r[4] = 0x00000000u;
|
|
/* 0245A830 */ _t3 = cpu->r[12] + cpu->r[0];
|
|
/* 0245A830 */ cpu->r[1] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0245A834 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0245A838 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 0245A838 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 0245A83C */ Gambit_fn_027ED914(cpu);
|
|
/* 0245A840 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245A840 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0245A844 */ cpu->lr = cpu->r[0];
|
|
/* 0245A848 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0245A84C */ return;
|
|
}
|
|
|
|
// fn_0245A820 @ 0x245a820
|
|
void Gambit_fn_0245A820(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0245A820: ; // 0x245a820
|
|
/* 0245A820 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0245A820 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245A820 */ cpu->r[1] = _t0;
|
|
/* 0245A824 */ cpu->r[0] = cpu->r[0] + 0x00001028u;
|
|
/* 0245A828 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245A828 */ rbrew_write32(cpu->mem, _t1, cpu->r[11]);
|
|
/* 0245A82C */ cpu->r[4] = 0x00000000u;
|
|
/* 0245A830 */ _t2 = cpu->r[12] + cpu->r[0];
|
|
/* 0245A830 */ cpu->r[1] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0245A834 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0245A838 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0245A838 */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
|
|
/* 0245A83C */ Gambit_fn_027ED914(cpu);
|
|
/* 0245A840 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245A840 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0245A844 */ cpu->lr = cpu->r[0];
|
|
/* 0245A848 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0245A84C */ return;
|
|
}
|
|
|
|
// fn_0245A850 @ 0x245a850
|
|
void Gambit_fn_0245A850(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0245A850: ; // 0x245a850
|
|
/* 0245A850 */ cpu->r[0] = cpu->lr;
|
|
/* 0245A854 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0245A854 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245A854 */ cpu->r[1] = _t0;
|
|
/* 0245A858 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0245A858 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245A85C */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245A860 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 0245A860 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0245A864 */ cpu->r[12] = cpu->r[12] + 0x00001070u;
|
|
/* 0245A868 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 0245A86C */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 0245A86C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0245A870 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 0245A870 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0245A874 */ cpu->r[29] = 0x100A0000u;
|
|
/* 0245A878 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245A87C */ cpu->r[29] = cpu->r[29] + 0x00001000u;
|
|
/* 0245A880 */ cpu->r[0] = cpu->r[0] + 0x00001074u;
|
|
/* 0245A884 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245A884 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
|
|
/* 0245A888 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 0245A88C */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0245A88C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0245A890 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245A890 */ rbrew_write32(cpu->mem, _t7, cpu->r[29]);
|
|
/* 0245A894 */ cpu->r[30] = 0x100A0000u;
|
|
/* 0245A898 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0245A898 */ rbrew_write32(cpu->mem, _t8, cpu->r[29]);
|
|
/* 0245A89C */ cpu->r[30] = cpu->r[30] + 0x00001068u;
|
|
/* 0245A8A0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245A8A4 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 0245A8A4 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 0245A8A8 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 0245A8AC */ _t10 = cpu->r[1] + 0x00000018u;
|
|
/* 0245A8AC */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0245A8B0 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0245A8B4 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 0245A8B4 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
/* 0245A8B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245A8BC */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245A8BC */ rbrew_write32(cpu->mem, _t12, cpu->r[29]);
|
|
/* 0245A8C0 */ Gambit_fn_020B7778(cpu);
|
|
/* 0245A8C4 */ cpu->r[4] = cpu->r[3];
|
|
/* 0245A8C8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245A8CC */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0245A8D0 */ Gambit_fn_027ED798(cpu);
|
|
/* 0245A8D4 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 0245A8D4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0245A8D8 */ _t14 = cpu->r[1] + 0x00000034u;
|
|
/* 0245A8D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0245A8DC */ _t15 = cpu->r[1] + 0x00000028u;
|
|
/* 0245A8DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0245A8E0 */ cpu->lr = cpu->r[0];
|
|
/* 0245A8E4 */ _t16 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0245A8E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0245A8E8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0245A8EC */ return;
|
|
}
|
|
|
|
// fn_0245A854 @ 0x245a854
|
|
void Gambit_fn_0245A854(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0245A854: ; // 0x245a854
|
|
/* 0245A854 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0245A854 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245A854 */ cpu->r[1] = _t0;
|
|
/* 0245A858 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0245A858 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245A85C */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245A860 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 0245A860 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0245A864 */ cpu->r[12] = cpu->r[12] + 0x00001070u;
|
|
/* 0245A868 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 0245A86C */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 0245A86C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0245A870 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 0245A870 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0245A874 */ cpu->r[29] = 0x100A0000u;
|
|
/* 0245A878 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245A87C */ cpu->r[29] = cpu->r[29] + 0x00001000u;
|
|
/* 0245A880 */ cpu->r[0] = cpu->r[0] + 0x00001074u;
|
|
/* 0245A884 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245A884 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
|
|
/* 0245A888 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 0245A88C */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0245A88C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0245A890 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245A890 */ rbrew_write32(cpu->mem, _t7, cpu->r[29]);
|
|
/* 0245A894 */ cpu->r[30] = 0x100A0000u;
|
|
/* 0245A898 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0245A898 */ rbrew_write32(cpu->mem, _t8, cpu->r[29]);
|
|
/* 0245A89C */ cpu->r[30] = cpu->r[30] + 0x00001068u;
|
|
/* 0245A8A0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245A8A4 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 0245A8A4 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 0245A8A8 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 0245A8AC */ _t10 = cpu->r[1] + 0x00000018u;
|
|
/* 0245A8AC */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0245A8B0 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0245A8B4 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 0245A8B4 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
/* 0245A8B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245A8BC */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245A8BC */ rbrew_write32(cpu->mem, _t12, cpu->r[29]);
|
|
/* 0245A8C0 */ Gambit_fn_020B7778(cpu);
|
|
/* 0245A8C4 */ cpu->r[4] = cpu->r[3];
|
|
/* 0245A8C8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245A8CC */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0245A8D0 */ Gambit_fn_027ED798(cpu);
|
|
/* 0245A8D4 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 0245A8D4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0245A8D8 */ _t14 = cpu->r[1] + 0x00000034u;
|
|
/* 0245A8D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0245A8DC */ _t15 = cpu->r[1] + 0x00000028u;
|
|
/* 0245A8DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0245A8E0 */ cpu->lr = cpu->r[0];
|
|
/* 0245A8E4 */ _t16 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0245A8E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0245A8E8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0245A8EC */ return;
|
|
}
|
|
|
|
// fn_0245A8F0 @ 0x245a8f0
|
|
void Gambit_fn_0245A8F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0245A8F0: ; // 0x245a8f0
|
|
/* 0245A8F0 */ cpu->r[0] = cpu->lr;
|
|
/* 0245A8F4 */ cpu->r[10] = 0x100A0000u;
|
|
/* 0245A8F8 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245A8FC */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245A900 */ cpu->r[10] = cpu->r[10] + 0x0000108Cu;
|
|
/* 0245A904 */ cpu->r[12] = cpu->r[12] + 0x00001080u;
|
|
/* 0245A908 */ cpu->r[11] = cpu->r[11] + 0x00001000u;
|
|
/* 0245A90C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0245A90C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0245A910 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245A914 */ _t1 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0245A914 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0245A914 */ cpu->r[1] = _t1;
|
|
/* 0245A918 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245A918 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 0245A91C */ cpu->r[0] = cpu->r[0] + 0x00001088u;
|
|
/* 0245A920 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 0245A920 */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
|
|
/* 0245A924 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0245A928 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245A928 */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
|
|
/* 0245A92C */ cpu->r[6] = cpu->r[1] + 0x00000018u;
|
|
/* 0245A930 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0245A930 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0245A934 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0245A938 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 0245A938 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 0245A93C */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 0245A93C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0245A940 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0245A944 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 0245A944 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0245A948 */ cpu->lr = cpu->r[0];
|
|
/* 0245A94C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0245A950 */ return;
|
|
}
|
|
|
|
// fn_0245A914 @ 0x245a914
|
|
void Gambit_fn_0245A914(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0245A914: ; // 0x245a914
|
|
/* 0245A914 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0245A914 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245A914 */ cpu->r[1] = _t0;
|
|
/* 0245A918 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245A918 */ rbrew_write32(cpu->mem, _t1, cpu->r[11]);
|
|
/* 0245A91C */ cpu->r[0] = cpu->r[0] + 0x00001088u;
|
|
/* 0245A920 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 0245A920 */ rbrew_write32(cpu->mem, _t2, cpu->r[10]);
|
|
/* 0245A924 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0245A928 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245A928 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0245A92C */ cpu->r[6] = cpu->r[1] + 0x00000018u;
|
|
/* 0245A930 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 0245A930 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0245A934 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0245A938 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0245A938 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0245A93C */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0245A93C */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 0245A940 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0245A944 */ _t7 = cpu->r[1] + 0x00000024u;
|
|
/* 0245A944 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0245A948 */ cpu->lr = cpu->r[0];
|
|
/* 0245A94C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0245A950 */ return;
|
|
}
|
|
|
|
// fn_0245A954 @ 0x245a954
|
|
void Gambit_fn_0245A954(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0245A954: ; // 0x245a954
|
|
/* 0245A954 */ cpu->r[0] = cpu->lr;
|
|
/* 0245A958 */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245A95C */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245A960 */ cpu->r[11] = cpu->r[11] + 0x00001000u;
|
|
/* 0245A964 */ cpu->r[12] = cpu->r[12] + 0x00001098u;
|
|
/* 0245A968 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0245A968 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0245A96C */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245A970 */ _t1 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0245A970 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0245A970 */ cpu->r[1] = _t1;
|
|
/* 0245A974 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0245A974 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 0245A978 */ cpu->r[0] = cpu->r[0] + 0x000010A0u;
|
|
/* 0245A97C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245A97C */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0245A980 */ cpu->r[6] = cpu->r[1] + 0x00000018u;
|
|
/* 0245A984 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 0245A984 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0245A988 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0245A98C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245A98C */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0245A990 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0245A994 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 0245A994 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 0245A998 */ _t7 = cpu->r[1] + 0x00000018u;
|
|
/* 0245A998 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0245A99C */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0245A9A0 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 0245A9A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0245A9A4 */ cpu->lr = cpu->r[0];
|
|
/* 0245A9A8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0245A9AC */ return;
|
|
}
|
|
|
|
// fn_0245A970 @ 0x245a970
|
|
void Gambit_fn_0245A970(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0245A970: ; // 0x245a970
|
|
/* 0245A970 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0245A970 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245A970 */ cpu->r[1] = _t0;
|
|
/* 0245A974 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0245A974 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 0245A978 */ cpu->r[0] = cpu->r[0] + 0x000010A0u;
|
|
/* 0245A97C */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245A97C */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 0245A980 */ cpu->r[6] = cpu->r[1] + 0x00000018u;
|
|
/* 0245A984 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0245A984 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0245A988 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0245A98C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245A98C */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
|
|
/* 0245A990 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0245A994 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0245A994 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0245A998 */ _t6 = cpu->r[1] + 0x00000018u;
|
|
/* 0245A998 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0245A99C */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0245A9A0 */ _t7 = cpu->r[1] + 0x00000024u;
|
|
/* 0245A9A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0245A9A4 */ cpu->lr = cpu->r[0];
|
|
/* 0245A9A8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0245A9AC */ return;
|
|
}
|
|
|
|
// fn_0245A9B0 @ 0x245a9b0
|
|
void Gambit_fn_0245A9B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0245A9B0: ; // 0x245a9b0
|
|
/* 0245A9B0 */ cpu->r[5] = 0xFFFFFFFDu;
|
|
/* 0245A9B4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0245A9B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245A9B4 */ cpu->r[1] = _t0;
|
|
/* 0245A9B8 */ cpu->r[10] = 0x101E0000u;
|
|
/* 0245A9BC */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 0245A9C0 */ _t1 = cpu->r[10] + 0x00007974u;
|
|
/* 0245A9C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 0245A9C0 */ cpu->r[10] = _t1;
|
|
/* 0245A9C4 */ cpu->r[7] = 0x101E0000u;
|
|
/* 0245A9C8 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 0245A9C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 0245A9CC */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 0245A9D0 */ cpu->r[8] = 0x101E0000u;
|
|
/* 0245A9D4 */ _t3 = cpu->r[7] + 0x00007984u;
|
|
/* 0245A9D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0245A9D4 */ cpu->r[7] = _t3;
|
|
/* 0245A9D8 */ _t4 = cpu->r[8] + 0x0000797Cu;
|
|
/* 0245A9D8 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 0245A9D8 */ cpu->r[8] = _t4;
|
|
/* 0245A9DC */ cpu->r[0] = 0x00000002u;
|
|
/* 0245A9E0 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 0245A9E0 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0245A9E4 */ cpu->r[8] = 0x101E0000u;
|
|
/* 0245A9E8 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0245A9E8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0245A9EC */ cpu->r[12] = 0x101E0000u;
|
|
/* 0245A9F0 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 0245A9F0 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0245A9F4 */ _t8 = cpu->r[8] + 0x00007994u;
|
|
/* 0245A9F4 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 0245A9F4 */ cpu->r[8] = _t8;
|
|
/* 0245A9F8 */ _t9 = cpu->r[12] + 0x0000798Cu;
|
|
/* 0245A9F8 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 0245A9F8 */ cpu->r[12] = _t9;
|
|
/* 0245A9FC */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 0245A9FC */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 0245AA00 */ cpu->r[0] = 0x00000004u;
|
|
/* 0245AA04 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 0245AA04 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 0245AA08 */ cpu->r[11] = 0x101E0000u;
|
|
/* 0245AA0C */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0245AA0C */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0245AA10 */ _t13 = cpu->r[11] + 0x0000799Cu;
|
|
/* 0245AA10 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0245AA14 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0245AA18 */ return;
|
|
}
|
|
|
|
// fn_0245A9B4 @ 0x245a9b4
|
|
void Gambit_fn_0245A9B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0245A9B4: ; // 0x245a9b4
|
|
/* 0245A9B4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0245A9B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245A9B4 */ cpu->r[1] = _t0;
|
|
/* 0245A9B8 */ cpu->r[10] = 0x101E0000u;
|
|
/* 0245A9BC */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 0245A9C0 */ _t1 = cpu->r[10] + 0x00007974u;
|
|
/* 0245A9C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 0245A9C0 */ cpu->r[10] = _t1;
|
|
/* 0245A9C4 */ cpu->r[7] = 0x101E0000u;
|
|
/* 0245A9C8 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 0245A9C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 0245A9CC */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 0245A9D0 */ cpu->r[8] = 0x101E0000u;
|
|
/* 0245A9D4 */ _t3 = cpu->r[7] + 0x00007984u;
|
|
/* 0245A9D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0245A9D4 */ cpu->r[7] = _t3;
|
|
/* 0245A9D8 */ _t4 = cpu->r[8] + 0x0000797Cu;
|
|
/* 0245A9D8 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 0245A9D8 */ cpu->r[8] = _t4;
|
|
/* 0245A9DC */ cpu->r[0] = 0x00000002u;
|
|
/* 0245A9E0 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 0245A9E0 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0245A9E4 */ cpu->r[8] = 0x101E0000u;
|
|
/* 0245A9E8 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0245A9E8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0245A9EC */ cpu->r[12] = 0x101E0000u;
|
|
/* 0245A9F0 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 0245A9F0 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0245A9F4 */ _t8 = cpu->r[8] + 0x00007994u;
|
|
/* 0245A9F4 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 0245A9F4 */ cpu->r[8] = _t8;
|
|
/* 0245A9F8 */ _t9 = cpu->r[12] + 0x0000798Cu;
|
|
/* 0245A9F8 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 0245A9F8 */ cpu->r[12] = _t9;
|
|
/* 0245A9FC */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 0245A9FC */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 0245AA00 */ cpu->r[0] = 0x00000004u;
|
|
/* 0245AA04 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 0245AA04 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 0245AA08 */ cpu->r[11] = 0x101E0000u;
|
|
/* 0245AA0C */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0245AA0C */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0245AA10 */ _t13 = cpu->r[11] + 0x0000799Cu;
|
|
/* 0245AA10 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0245AA14 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0245AA18 */ return;
|
|
}
|
|
|
|
// fn_0245AA1C @ 0x245aa1c
|
|
void Gambit_fn_0245AA1C(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_0245AA1C: ; // 0x245aa1c
|
|
/* 0245AA1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0245AA20 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245AA20 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0245AA20 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0245AA20 */ goto L_0245AA24;
|
|
L_0245AA24: ; // 0x245aa24
|
|
/* 0245AA24 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0245AA24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0245AA28 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245AA28 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0245AA28 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0245AA28 */ goto L_0245AA2C;
|
|
L_0245AA2C: ; // 0x245aa2c
|
|
/* 0245AA2C */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 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 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) 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 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0245AA30 @ 0x245aa30
|
|
void Gambit_fn_0245AA30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0245AA30: ; // 0x245aa30
|
|
/* 0245AA30 */ cpu->r[0] = cpu->lr;
|
|
/* 0245AA34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245AA34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245AA34 */ cpu->r[1] = _t0;
|
|
/* 0245AA38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245AA38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245AA3C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0245AA3C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0245AA40 */ cpu->r[30] = cpu->r[3];
|
|
/* 0245AA40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0245AA44 */ cpu->r[31] = cpu->r[4];
|
|
/* 0245AA48 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0245AA48 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0245AA4C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245AA4C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0245AA4C */ if (_t5) goto L_0245AABC; else goto L_0245AA50;
|
|
L_0245AA50: ; // 0x245aa50
|
|
/* 0245AA50 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245AA54 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245AA58 */ cpu->r[0] = cpu->r[0] + 0x0000128Cu;
|
|
/* 0245AA5C */ cpu->r[12] = cpu->r[12] + 0x000012ACu;
|
|
/* 0245AA60 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0245AA60 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0245AA64 */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245AA68 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 0245AA68 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0245AA6C */ cpu->r[11] = cpu->r[11] + 0x0000129Cu;
|
|
/* 0245AA70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0245AA74 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0245AA74 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0245AA78 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245AA78 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0245AA78 */ if (_t10) goto L_0245AAAC; else goto L_0245AA7C;
|
|
L_0245AA7C: ; // 0x245aa7c
|
|
/* 0245AA7C */ cpu->r[10] = 0x10010000u;
|
|
/* 0245AA80 */ cpu->r[0] = 0x10010000u;
|
|
/* 0245AA84 */ cpu->r[10] = cpu->r[10] + 0x000048FCu;
|
|
/* 0245AA88 */ cpu->r[0] = cpu->r[0] + 0x000048ECu;
|
|
/* 0245AA8C */ cpu->r[3] = cpu->r[30];
|
|
/* 0245AA90 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0245AA90 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0245AA94 */ cpu->r[0] = 0x10010000u;
|
|
/* 0245AA98 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0245AA98 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0245AA9C */ cpu->r[0] = cpu->r[0] + 0x0000490Cu;
|
|
/* 0245AAA0 */ cpu->r[4] = 0x00000000u;
|
|
/* 0245AAA4 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0245AAA4 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0245AAA8 */ Gambit_fn_02068798(cpu);
|
|
L_0245AAAC: ; // 0x245aaac
|
|
/* 0245AAAC */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0245AAAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0245AAB0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245AAB0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0245AAB0 */ if (_t15) goto L_0245AABC; else goto L_0245AAB4;
|
|
L_0245AAB4: ; // 0x245aab4
|
|
/* 0245AAB4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0245AAB8 */ Gambit_fn_02801BB0(cpu);
|
|
L_0245AABC: ; // 0x245aabc
|
|
/* 0245AABC */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0245AABC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0245AAC0 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0245AAC0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0245AAC4 */ cpu->lr = cpu->r[0];
|
|
/* 0245AAC8 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245AAC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0245AACC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245AAD0 */ return;
|
|
}
|
|
|
|
// fn_0245AA34 @ 0x245aa34
|
|
void Gambit_fn_0245AA34(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0245AA34: ; // 0x245aa34
|
|
/* 0245AA34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245AA34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245AA34 */ cpu->r[1] = _t0;
|
|
/* 0245AA38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245AA38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245AA3C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0245AA3C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0245AA40 */ cpu->r[30] = cpu->r[3];
|
|
/* 0245AA40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0245AA44 */ cpu->r[31] = cpu->r[4];
|
|
/* 0245AA48 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0245AA48 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0245AA4C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245AA4C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0245AA4C */ if (_t5) goto L_0245AABC; else goto L_0245AA50;
|
|
L_0245AA50: ; // 0x245aa50
|
|
/* 0245AA50 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245AA54 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245AA58 */ cpu->r[0] = cpu->r[0] + 0x0000128Cu;
|
|
/* 0245AA5C */ cpu->r[12] = cpu->r[12] + 0x000012ACu;
|
|
/* 0245AA60 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0245AA60 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0245AA64 */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245AA68 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 0245AA68 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0245AA6C */ cpu->r[11] = cpu->r[11] + 0x0000129Cu;
|
|
/* 0245AA70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0245AA74 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0245AA74 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0245AA78 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245AA78 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0245AA78 */ if (_t10) goto L_0245AAAC; else goto L_0245AA7C;
|
|
L_0245AA7C: ; // 0x245aa7c
|
|
/* 0245AA7C */ cpu->r[10] = 0x10010000u;
|
|
/* 0245AA80 */ cpu->r[0] = 0x10010000u;
|
|
/* 0245AA84 */ cpu->r[10] = cpu->r[10] + 0x000048FCu;
|
|
/* 0245AA88 */ cpu->r[0] = cpu->r[0] + 0x000048ECu;
|
|
/* 0245AA8C */ cpu->r[3] = cpu->r[30];
|
|
/* 0245AA90 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0245AA90 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0245AA94 */ cpu->r[0] = 0x10010000u;
|
|
/* 0245AA98 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0245AA98 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0245AA9C */ cpu->r[0] = cpu->r[0] + 0x0000490Cu;
|
|
/* 0245AAA0 */ cpu->r[4] = 0x00000000u;
|
|
/* 0245AAA4 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0245AAA4 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0245AAA8 */ Gambit_fn_02068798(cpu);
|
|
L_0245AAAC: ; // 0x245aaac
|
|
/* 0245AAAC */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0245AAAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0245AAB0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245AAB0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0245AAB0 */ if (_t15) goto L_0245AABC; else goto L_0245AAB4;
|
|
L_0245AAB4: ; // 0x245aab4
|
|
/* 0245AAB4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0245AAB8 */ Gambit_fn_02801BB0(cpu);
|
|
L_0245AABC: ; // 0x245aabc
|
|
/* 0245AABC */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0245AABC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0245AAC0 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0245AAC0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0245AAC4 */ cpu->lr = cpu->r[0];
|
|
/* 0245AAC8 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245AAC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0245AACC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245AAD0 */ return;
|
|
}
|
|
|
|
// fn_0245AAD4 @ 0x245aad4
|
|
void Gambit_fn_0245AAD4(CPUState* cpu) {
|
|
L_0245AAD4: ; // 0x245aad4
|
|
/* 0245AAD4 */ return;
|
|
}
|
|
|
|
// fn_0245AAD8 @ 0x245aad8
|
|
void Gambit_fn_0245AAD8(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0245AAD8: ; // 0x245aad8
|
|
/* 0245AAD8 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0245AAD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245AADC */ return;
|
|
}
|
|
|
|
// fn_0245AAE0 @ 0x245aae0
|
|
void Gambit_fn_0245AAE0(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0245AAE0: ; // 0x245aae0
|
|
/* 0245AAE0 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0245AAE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245AAE4 */ return;
|
|
}
|
|
|
|
// fn_0245AAE8 @ 0x245aae8
|
|
void Gambit_fn_0245AAE8(CPUState* cpu) {
|
|
L_0245AAE8: ; // 0x245aae8
|
|
/* 0245AAE8 */ return;
|
|
}
|
|
|
|
// fn_0245AAEC @ 0x245aaec
|
|
void Gambit_fn_0245AAEC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0245AAEC: ; // 0x245aaec
|
|
/* 0245AAEC */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0245AAEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245AAF0 */ return;
|
|
}
|
|
|
|
// fn_0245AAF4 @ 0x245aaf4
|
|
void Gambit_fn_0245AAF4(CPUState* cpu) {
|
|
L_0245AAF4: ; // 0x245aaf4
|
|
/* 0245AAF4 */ return;
|
|
}
|
|
|
|
// fn_0245AAF8 @ 0x245aaf8
|
|
void Gambit_fn_0245AAF8(CPUState* cpu) {
|
|
L_0245AAF8: ; // 0x245aaf8
|
|
/* 0245AAF8 */ return;
|
|
}
|
|
|
|
// fn_0245AAFC @ 0x245aafc
|
|
void Gambit_fn_0245AAFC(CPUState* cpu) {
|
|
L_0245AAFC: ; // 0x245aafc
|
|
/* 0245AAFC */ return;
|
|
}
|
|
|
|
// fn_0245AB00 @ 0x245ab00
|
|
void Gambit_fn_0245AB00(CPUState* cpu) {
|
|
L_0245AB00: ; // 0x245ab00
|
|
/* 0245AB00 */ return;
|
|
}
|
|
|
|
// fn_0245AB04 @ 0x245ab04
|
|
void Gambit_fn_0245AB04(CPUState* cpu) {
|
|
L_0245AB04: ; // 0x245ab04
|
|
/* 0245AB04 */ return;
|
|
}
|
|
|
|
// fn_0245AB08 @ 0x245ab08
|
|
void Gambit_fn_0245AB08(CPUState* cpu) {
|
|
L_0245AB08: ; // 0x245ab08
|
|
/* 0245AB08 */ cpu->r[3] = 0x00000001u;
|
|
/* 0245AB0C */ return;
|
|
}
|
|
|
|
// fn_0245AB10 @ 0x245ab10
|
|
void Gambit_fn_0245AB10(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0245AB10: ; // 0x245ab10
|
|
/* 0245AB10 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0245AB10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245AB14 */ _t1 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0245AB14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0245AB18 */ cpu->ctr = cpu->r[0];
|
|
/* 0245AB1C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0245AB20 @ 0x245ab20
|
|
void Gambit_fn_0245AB20(CPUState* cpu) {
|
|
L_0245AB20: ; // 0x245ab20
|
|
/* 0245AB20 */ return;
|
|
}
|
|
|
|
// fn_0245AB24 @ 0x245ab24
|
|
void Gambit_fn_0245AB24(CPUState* cpu) {
|
|
L_0245AB24: ; // 0x245ab24
|
|
/* 0245AB24 */ cpu->r[3] = 0x00000000u;
|
|
/* 0245AB28 */ return;
|
|
}
|
|
|
|
// fn_0245AB2C @ 0x245ab2c
|
|
void Gambit_fn_0245AB2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0245AB2C: ; // 0x245ab2c
|
|
/* 0245AB2C */ cpu->r[9] = 0x101D0000u;
|
|
/* 0245AB30 */ _t0 = cpu->r[9] + 0xFFFFDBA0u;
|
|
/* 0245AB30 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245AB30 */ cpu->r[9] = _t0;
|
|
/* 0245AB34 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0245AB38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0245AB3C */ cpu->r[12] = cpu->r[12] + 0xFFFFED90u;
|
|
/* 0245AB40 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245AB40 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0245AB40 */ if (_t2) goto L_0245AB44; else goto L_0245AB58;
|
|
L_0245AB44: ; // 0x245ab44
|
|
/* 0245AB44 */ cpu->r[7] = 0x100A0000u;
|
|
/* 0245AB48 */ cpu->r[0] = 0x00000001u;
|
|
/* 0245AB4C */ cpu->r[7] = cpu->r[7] + 0x00001018u;
|
|
/* 0245AB50 */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 0245AB50 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0245AB54 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 0245AB54 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_0245AB58: ; // 0x245ab58
|
|
/* 0245AB58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 0245AB5C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245AB5C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0245AB5C */ if (_t6) goto L_0245AB60; else goto L_0245AB68;
|
|
L_0245AB60: ; // 0x245ab60
|
|
/* 0245AB60 */ cpu->r[3] = 0x00000001u;
|
|
/* 0245AB64 */ return;
|
|
L_0245AB68: ; // 0x245ab68
|
|
/* 0245AB68 */ cpu->r[7] = 0x101D0000u;
|
|
/* 0245AB6C */ _t7 = cpu->r[7] + 0xFFFFDB98u;
|
|
/* 0245AB6C */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0245AB6C */ cpu->r[7] = _t7;
|
|
/* 0245AB70 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0245AB74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0245AB78 */ cpu->r[11] = cpu->r[11] + 0xFFFFED94u;
|
|
/* 0245AB7C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245AB7C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0245AB7C */ if (_t9) goto L_0245AB80; else goto L_0245AB94;
|
|
L_0245AB80: ; // 0x245ab80
|
|
/* 0245AB80 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245AB84 */ cpu->r[9] = 0x00000001u;
|
|
/* 0245AB88 */ cpu->r[0] = cpu->r[0] + 0x00000FF0u;
|
|
/* 0245AB8C */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 0245AB8C */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 0245AB90 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 0245AB90 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_0245AB94: ; // 0x245ab94
|
|
/* 0245AB94 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 0245AB98 */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 0245AB9C */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 0245ABA0 */ return;
|
|
}
|
|
|
|
// fn_0245ABA4 @ 0x245aba4
|
|
void Gambit_fn_0245ABA4(CPUState* cpu) {
|
|
L_0245ABA4: ; // 0x245aba4
|
|
/* 0245ABA4 */ return;
|
|
}
|
|
|
|
// fn_0245ABA8 @ 0x245aba8
|
|
void Gambit_fn_0245ABA8(CPUState* cpu) {
|
|
L_0245ABA8: ; // 0x245aba8
|
|
/* 0245ABA8 */ return;
|
|
}
|
|
|
|
// fn_0245ABAC @ 0x245abac
|
|
void Gambit_fn_0245ABAC(CPUState* cpu) {
|
|
L_0245ABAC: ; // 0x245abac
|
|
/* 0245ABAC */ return;
|
|
}
|
|
|
|
// fn_0245ABB0 @ 0x245abb0
|
|
void Gambit_fn_0245ABB0(CPUState* cpu) {
|
|
L_0245ABB0: ; // 0x245abb0
|
|
/* 0245ABB0 */ cpu->r[3] = 0x00000000u;
|
|
/* 0245ABB4 */ return;
|
|
}
|
|
|
|
// fn_0245ABB8 @ 0x245abb8
|
|
void Gambit_fn_0245ABB8(CPUState* cpu) {
|
|
L_0245ABB8: ; // 0x245abb8
|
|
/* 0245ABB8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0245ABBC */ return;
|
|
}
|
|
|
|
// fn_0245ABC0 @ 0x245abc0
|
|
void Gambit_fn_0245ABC0(CPUState* cpu) {
|
|
L_0245ABC0: ; // 0x245abc0
|
|
/* 0245ABC0 */ return;
|
|
}
|
|
|
|
// fn_0245ABC4 @ 0x245abc4
|
|
void Gambit_fn_0245ABC4(CPUState* cpu) {
|
|
L_0245ABC4: ; // 0x245abc4
|
|
/* 0245ABC4 */ return;
|
|
}
|
|
|
|
// fn_0245ABC8 @ 0x245abc8
|
|
void Gambit_fn_0245ABC8(CPUState* cpu) {
|
|
L_0245ABC8: ; // 0x245abc8
|
|
/* 0245ABC8 */ return;
|
|
}
|
|
|
|
// fn_0245ABCC @ 0x245abcc
|
|
void Gambit_fn_0245ABCC(CPUState* cpu) {
|
|
L_0245ABCC: ; // 0x245abcc
|
|
/* 0245ABCC */ return;
|
|
}
|
|
|
|
// fn_0245ABD0 @ 0x245abd0
|
|
void Gambit_fn_0245ABD0(CPUState* cpu) {
|
|
L_0245ABD0: ; // 0x245abd0
|
|
/* 0245ABD0 */ return;
|
|
}
|
|
|
|
// fn_0245ABD4 @ 0x245abd4
|
|
void Gambit_fn_0245ABD4(CPUState* cpu) {
|
|
L_0245ABD4: ; // 0x245abd4
|
|
/* 0245ABD4 */ return;
|
|
}
|
|
|
|
// fn_0245ABD8 @ 0x245abd8
|
|
void Gambit_fn_0245ABD8(CPUState* cpu) {
|
|
L_0245ABD8: ; // 0x245abd8
|
|
/* 0245ABD8 */ return;
|
|
}
|
|
|
|
// fn_0245ABDC @ 0x245abdc
|
|
void Gambit_fn_0245ABDC(CPUState* cpu) {
|
|
L_0245ABDC: ; // 0x245abdc
|
|
/* 0245ABDC */ return;
|
|
}
|
|
|
|
// fn_0245ABE0 @ 0x245abe0
|
|
void Gambit_fn_0245ABE0(CPUState* cpu) {
|
|
L_0245ABE0: ; // 0x245abe0
|
|
/* 0245ABE0 */ return;
|
|
}
|
|
|
|
// fn_0245ABE4 @ 0x245abe4
|
|
void Gambit_fn_0245ABE4(CPUState* cpu) {
|
|
L_0245ABE4: ; // 0x245abe4
|
|
/* 0245ABE4 */ return;
|
|
}
|
|
|
|
// fn_0245ABE8 @ 0x245abe8
|
|
void Gambit_fn_0245ABE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0200896C: ; // 0x200896c
|
|
/* 0200896C */ cpu->r[0] = cpu->lr;
|
|
/* 02008970 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02008970 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02008970 */ cpu->r[1] = _t0;
|
|
/* 02008974 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02008974 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02008978 */ cpu->r[31] = cpu->r[3];
|
|
/* 0200897C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0200897C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02008980 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 02008980 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02008984 */ cpu->r[12] = 0x00000000u;
|
|
/* 02008988 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0200898C */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0200898C */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02008990 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02008990 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02008990 */ if (_t6) goto L_020089B8; else goto L_02008994;
|
|
L_02008994: ; // 0x2008994
|
|
/* 02008994 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02008994 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02008998 */ /* nop */
|
|
/* 0200899C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 020089A0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020089A0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 020089A0 */ if (_t9) goto L_020089A4; else goto L_020089B8;
|
|
L_020089A4: ; // 0x20089a4
|
|
/* 020089A4 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 020089A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 020089A8 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 020089A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 020089AC */ cpu->ctr = cpu->r[0];
|
|
/* 020089B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 020089B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_020089B8: ; // 0x20089b8
|
|
/* 020089B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 020089BC */ Gambit_fn_020088E4(cpu);
|
|
/* 020089C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 020089C4 */ Gambit_fn_027FC37C(cpu);
|
|
/* 020089C8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 020089C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 020089CC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020089CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 020089D0 */ cpu->lr = cpu->r[0];
|
|
/* 020089D4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 020089D8 */ return;
|
|
L_0245ABE8: ; // 0x245abe8
|
|
/* 0245ABE8 */ cpu->r[3] = cpu->r[3] + 0x000001DCu;
|
|
/* 0245ABEC */ goto L_0200896C;
|
|
}
|
|
|
|
// fn_0245ABF0 @ 0x245abf0
|
|
void Gambit_fn_0245ABF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0245ABF0: ; // 0x245abf0
|
|
/* 0245ABF0 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0245ABF4 */ goto L_0245AEBC;
|
|
L_0245AEBC: ; // 0x245aebc
|
|
/* 0245AEBC */ cpu->r[0] = cpu->lr;
|
|
/* 0245AEC0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245AEC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245AEC0 */ cpu->r[1] = _t0;
|
|
/* 0245AEC4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245AEC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245AEC8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0245AEC8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0245AECC */ cpu->r[30] = cpu->r[3];
|
|
/* 0245AECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0245AED0 */ cpu->r[31] = cpu->r[4];
|
|
/* 0245AED4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0245AED4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0245AED8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245AED8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0245AED8 */ if (_t5) goto L_0245AF48; else goto L_0245AEDC;
|
|
L_0245AEDC: ; // 0x245aedc
|
|
/* 0245AEDC */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245AEE0 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245AEE4 */ cpu->r[0] = cpu->r[0] + 0x00001588u;
|
|
/* 0245AEE8 */ cpu->r[12] = cpu->r[12] + 0x000015A8u;
|
|
/* 0245AEEC */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0245AEEC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0245AEF0 */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245AEF4 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 0245AEF4 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0245AEF8 */ cpu->r[11] = cpu->r[11] + 0x00001598u;
|
|
/* 0245AEFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0245AF00 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0245AF00 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0245AF04 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245AF04 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0245AF04 */ if (_t10) goto L_0245AF38; else goto L_0245AF08;
|
|
L_0245AF08: ; // 0x245af08
|
|
/* 0245AF08 */ cpu->r[10] = 0x10010000u;
|
|
/* 0245AF0C */ cpu->r[0] = 0x10010000u;
|
|
/* 0245AF10 */ cpu->r[10] = cpu->r[10] + 0x000048FCu;
|
|
/* 0245AF14 */ cpu->r[0] = cpu->r[0] + 0x000048ECu;
|
|
/* 0245AF18 */ cpu->r[3] = cpu->r[30];
|
|
/* 0245AF1C */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0245AF1C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0245AF20 */ cpu->r[0] = 0x10010000u;
|
|
/* 0245AF24 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0245AF24 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0245AF28 */ cpu->r[0] = cpu->r[0] + 0x0000490Cu;
|
|
/* 0245AF2C */ cpu->r[4] = 0x00000000u;
|
|
/* 0245AF30 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0245AF30 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0245AF34 */ Gambit_fn_02068798(cpu);
|
|
L_0245AF38: ; // 0x245af38
|
|
/* 0245AF38 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0245AF38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0245AF3C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245AF3C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0245AF3C */ if (_t15) goto L_0245AF48; else goto L_0245AF40;
|
|
L_0245AF40: ; // 0x245af40
|
|
/* 0245AF40 */ cpu->r[3] = cpu->r[30];
|
|
/* 0245AF44 */ Gambit_fn_02801BB0(cpu);
|
|
L_0245AF48: ; // 0x245af48
|
|
/* 0245AF48 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0245AF48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0245AF4C */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0245AF4C */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0245AF50 */ cpu->lr = cpu->r[0];
|
|
/* 0245AF54 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245AF54 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0245AF58 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245AF5C */ return;
|
|
}
|
|
|
|
// fn_0245ABF8 @ 0x245abf8
|
|
void Gambit_fn_0245ABF8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02068818: ; // 0x2068818
|
|
/* 02068818 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0206881C */ _t0 = cpu->r[12] + 0x00001D34u;
|
|
/* 0206881C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02068820 */ _t1 = cpu->r[12] + 0x0000018Cu;
|
|
/* 02068820 */ cpu->r[12] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02068824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02068828 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02068828 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02068828 */ if (_t3) goto L_0206883C; else goto L_0206882C;
|
|
L_0206882C: ; // 0x206882c
|
|
/* 0206882C */ cpu->r[0] = cpu->r[5] ^ 0x00000001u;
|
|
/* 02068830 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02068834 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068838 */ return;
|
|
L_0206883C: ; // 0x206883c
|
|
/* 0206883C */ cpu->r[0] = rbrew_clz32(cpu->r[5]);
|
|
/* 02068840 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068844 */ return;
|
|
L_0245ABF8: ; // 0x245abf8
|
|
/* 0245ABF8 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 0245ABFC */ goto L_02068818;
|
|
}
|
|
|
|
// fn_0245AC00 @ 0x245ac00
|
|
void Gambit_fn_0245AC00(CPUState* cpu) {
|
|
L_0245AC00: ; // 0x245ac00
|
|
/* 0245AC00 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 0245AC04 */ goto L_0245AF60;
|
|
L_0245AF60: ; // 0x245af60
|
|
/* 0245AF60 */ return;
|
|
}
|
|
|
|
// fn_0245AC08 @ 0x245ac08
|
|
void Gambit_fn_0245AC08(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0245AC08: ; // 0x245ac08
|
|
/* 0245AC08 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 0245AC0C */ goto L_0245AF64;
|
|
L_0245AF64: ; // 0x245af64
|
|
/* 0245AF64 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0245AF64 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245AF68 */ return;
|
|
}
|
|
|
|
// fn_0245AC10 @ 0x245ac10
|
|
void Gambit_fn_0245AC10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_0245AC10: ; // 0x245ac10
|
|
/* 0245AC10 */ cpu->r[0] = cpu->lr;
|
|
/* 0245AC14 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245AC14 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245AC14 */ cpu->r[1] = _t0;
|
|
/* 0245AC18 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245AC18 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245AC1C */ cpu->r[31] = cpu->r[3];
|
|
/* 0245AC1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0245AC20 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0245AC20 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0245AC24 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245AC24 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0245AC24 */ if (_t4) goto L_0245AC28; else goto L_0245AC38;
|
|
L_0245AC28: ; // 0x245ac28
|
|
/* 0245AC28 */ cpu->r[3] = 0x00000224u;
|
|
/* 0245AC2C */ Gambit_fn_02801A78(cpu);
|
|
/* 0245AC30 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245AC30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0245AC34 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245AC34 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0245AC34 */ if (_t6) goto L_0245AC90; else goto L_0245AC38;
|
|
L_0245AC38: ; // 0x245ac38
|
|
/* 0245AC38 */ cpu->r[4] = 0x100A0000u;
|
|
/* 0245AC3C */ cpu->r[3] = cpu->r[31];
|
|
/* 0245AC40 */ cpu->r[5] = 0x00000001u;
|
|
/* 0245AC44 */ cpu->r[4] = cpu->r[4] + 0x00001368u;
|
|
/* 0245AC48 */ cpu->r[6] = 0x00000000u;
|
|
/* 0245AC4C */ Gambit_fn_020B6F60(cpu);
|
|
/* 0245AC50 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245AC54 */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245AC58 */ cpu->r[12] = cpu->r[12] + 0x00001588u;
|
|
/* 0245AC5C */ cpu->r[11] = cpu->r[11] + 0x000013A8u;
|
|
/* 0245AC60 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245AC64 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0245AC64 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0245AC68 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245AC6C */ cpu->r[0] = cpu->r[0] + 0x00001598u;
|
|
/* 0245AC70 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 0245AC70 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0245AC74 */ cpu->r[12] = cpu->r[12] + 0x000015A8u;
|
|
/* 0245AC78 */ _t9 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0245AC78 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0245AC7C */ cpu->r[0] = 0x00000000u;
|
|
/* 0245AC80 */ _t10 = cpu->r[31] + 0x000001C8u;
|
|
/* 0245AC80 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0245AC84 */ cpu->r[10] = 0x00000003u;
|
|
/* 0245AC88 */ _t11 = cpu->r[31] + 0x0000021Cu;
|
|
/* 0245AC88 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0245AC8C */ _t12 = cpu->r[31] + 0x00000220u;
|
|
/* 0245AC8C */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
L_0245AC90: ; // 0x245ac90
|
|
/* 0245AC90 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0245AC90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0245AC94 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245AC98 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245AC98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0245AC9C */ cpu->lr = cpu->r[0];
|
|
/* 0245ACA0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245ACA4 */ return;
|
|
}
|
|
|
|
// fn_0245AC14 @ 0x245ac14
|
|
void Gambit_fn_0245AC14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_0245AC14: ; // 0x245ac14
|
|
/* 0245AC14 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245AC14 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245AC14 */ cpu->r[1] = _t0;
|
|
/* 0245AC18 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245AC18 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245AC1C */ cpu->r[31] = cpu->r[3];
|
|
/* 0245AC1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0245AC20 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0245AC20 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0245AC24 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245AC24 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0245AC24 */ if (_t4) goto L_0245AC28; else goto L_0245AC38;
|
|
L_0245AC28: ; // 0x245ac28
|
|
/* 0245AC28 */ cpu->r[3] = 0x00000224u;
|
|
/* 0245AC2C */ Gambit_fn_02801A78(cpu);
|
|
/* 0245AC30 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245AC30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0245AC34 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245AC34 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0245AC34 */ if (_t6) goto L_0245AC90; else goto L_0245AC38;
|
|
L_0245AC38: ; // 0x245ac38
|
|
/* 0245AC38 */ cpu->r[4] = 0x100A0000u;
|
|
/* 0245AC3C */ cpu->r[3] = cpu->r[31];
|
|
/* 0245AC40 */ cpu->r[5] = 0x00000001u;
|
|
/* 0245AC44 */ cpu->r[4] = cpu->r[4] + 0x00001368u;
|
|
/* 0245AC48 */ cpu->r[6] = 0x00000000u;
|
|
/* 0245AC4C */ Gambit_fn_020B6F60(cpu);
|
|
/* 0245AC50 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245AC54 */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245AC58 */ cpu->r[12] = cpu->r[12] + 0x00001588u;
|
|
/* 0245AC5C */ cpu->r[11] = cpu->r[11] + 0x000013A8u;
|
|
/* 0245AC60 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245AC64 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0245AC64 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0245AC68 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245AC6C */ cpu->r[0] = cpu->r[0] + 0x00001598u;
|
|
/* 0245AC70 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 0245AC70 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0245AC74 */ cpu->r[12] = cpu->r[12] + 0x000015A8u;
|
|
/* 0245AC78 */ _t9 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0245AC78 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0245AC7C */ cpu->r[0] = 0x00000000u;
|
|
/* 0245AC80 */ _t10 = cpu->r[31] + 0x000001C8u;
|
|
/* 0245AC80 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0245AC84 */ cpu->r[10] = 0x00000003u;
|
|
/* 0245AC88 */ _t11 = cpu->r[31] + 0x0000021Cu;
|
|
/* 0245AC88 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0245AC8C */ _t12 = cpu->r[31] + 0x00000220u;
|
|
/* 0245AC8C */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
L_0245AC90: ; // 0x245ac90
|
|
/* 0245AC90 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0245AC90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0245AC94 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245AC98 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245AC98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0245AC9C */ cpu->lr = cpu->r[0];
|
|
/* 0245ACA0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245ACA4 */ return;
|
|
}
|
|
|
|
// fn_0245ACA8 @ 0x245aca8
|
|
void Gambit_fn_0245ACA8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_0245ACA8: ; // 0x245aca8
|
|
/* 0245ACA8 */ cpu->r[0] = cpu->lr;
|
|
/* 0245ACAC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0245ACAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245ACAC */ cpu->r[1] = _t0;
|
|
/* 0245ACB0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0245ACB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0245ACB4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0245ACB8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0245ACB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0245ACBC */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245ACBC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0245ACC0 */ _t4 = cpu->r[30] + 0x00000220u;
|
|
/* 0245ACC0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0245ACC4 */ cpu->r[31] = cpu->r[4];
|
|
/* 0245ACC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 0245ACCC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245ACCC */ _t6 = _t5 & 0x00000001u;
|
|
/* 0245ACCC */ if (_t6) goto L_0245AD30; else goto L_0245ACD0;
|
|
L_0245ACD0: ; // 0x245acd0
|
|
/* 0245ACD0 */ cpu->r[11] = 0x101E0000u;
|
|
/* 0245ACD4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0245ACD8 */ _t7 = cpu->r[30] + 0x0000021Cu;
|
|
/* 0245ACD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0245ACDC */ cpu->r[11] = cpu->r[11] + 0x000079CCu;
|
|
/* 0245ACE0 */ cpu->r[4] = cpu->r[30];
|
|
/* 0245ACE4 */ _t8 = cpu->r[30] + 0x00000220u;
|
|
/* 0245ACE4 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 0245ACE8 */ cpu->r[5] = cpu->r[11] + cpu->r[0];
|
|
/* 0245ACEC */ Gambit_fn_020A77B8(cpu);
|
|
/* 0245ACF0 */ _t9 = cpu->r[30] + 0x0000021Cu;
|
|
/* 0245ACF0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0245ACF4 */ Gambit_fn_020A7E60(cpu);
|
|
/* 0245ACF8 */ cpu->r[8] = 0x100A0000u;
|
|
/* 0245ACFC */ cpu->r[9] = 0x100A0000u;
|
|
/* 0245AD00 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245AD04 */ cpu->r[8] = cpu->r[8] + 0x00001334u;
|
|
/* 0245AD08 */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0245AD0C */ cpu->r[0] = cpu->r[0] + 0x0000135Cu;
|
|
/* 0245AD10 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245AD10 */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
/* 0245AD14 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0245AD18 */ cpu->r[9] = cpu->r[9] + 0x00001374u;
|
|
/* 0245AD1C */ _t11 = cpu->r[12] + cpu->r[0];
|
|
/* 0245AD1C */ cpu->r[1] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0245AD20 */ cpu->r[4] = 0x00000000u;
|
|
/* 0245AD24 */ cpu->r[3] = cpu->r[30];
|
|
/* 0245AD28 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0245AD28 */ rbrew_write32(cpu->mem, _t12, cpu->r[9]);
|
|
/* 0245AD2C */ Gambit_fn_027ED914(cpu);
|
|
L_0245AD30: ; // 0x245ad30
|
|
/* 0245AD30 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245AD30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0245AD34 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 0245AD34 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0245AD38 */ cpu->lr = cpu->r[0];
|
|
/* 0245AD3C */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 0245AD3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0245AD40 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0245AD44 */ return;
|
|
}
|
|
|
|
// fn_0245ACAC @ 0x245acac
|
|
void Gambit_fn_0245ACAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_0245ACAC: ; // 0x245acac
|
|
/* 0245ACAC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0245ACAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245ACAC */ cpu->r[1] = _t0;
|
|
/* 0245ACB0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0245ACB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0245ACB4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0245ACB8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0245ACB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0245ACBC */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245ACBC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0245ACC0 */ _t4 = cpu->r[30] + 0x00000220u;
|
|
/* 0245ACC0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0245ACC4 */ cpu->r[31] = cpu->r[4];
|
|
/* 0245ACC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 0245ACCC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245ACCC */ _t6 = _t5 & 0x00000001u;
|
|
/* 0245ACCC */ if (_t6) goto L_0245AD30; else goto L_0245ACD0;
|
|
L_0245ACD0: ; // 0x245acd0
|
|
/* 0245ACD0 */ cpu->r[11] = 0x101E0000u;
|
|
/* 0245ACD4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0245ACD8 */ _t7 = cpu->r[30] + 0x0000021Cu;
|
|
/* 0245ACD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0245ACDC */ cpu->r[11] = cpu->r[11] + 0x000079CCu;
|
|
/* 0245ACE0 */ cpu->r[4] = cpu->r[30];
|
|
/* 0245ACE4 */ _t8 = cpu->r[30] + 0x00000220u;
|
|
/* 0245ACE4 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 0245ACE8 */ cpu->r[5] = cpu->r[11] + cpu->r[0];
|
|
/* 0245ACEC */ Gambit_fn_020A77B8(cpu);
|
|
/* 0245ACF0 */ _t9 = cpu->r[30] + 0x0000021Cu;
|
|
/* 0245ACF0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0245ACF4 */ Gambit_fn_020A7E60(cpu);
|
|
/* 0245ACF8 */ cpu->r[8] = 0x100A0000u;
|
|
/* 0245ACFC */ cpu->r[9] = 0x100A0000u;
|
|
/* 0245AD00 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245AD04 */ cpu->r[8] = cpu->r[8] + 0x00001334u;
|
|
/* 0245AD08 */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0245AD0C */ cpu->r[0] = cpu->r[0] + 0x0000135Cu;
|
|
/* 0245AD10 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245AD10 */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
/* 0245AD14 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0245AD18 */ cpu->r[9] = cpu->r[9] + 0x00001374u;
|
|
/* 0245AD1C */ _t11 = cpu->r[12] + cpu->r[0];
|
|
/* 0245AD1C */ cpu->r[1] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0245AD20 */ cpu->r[4] = 0x00000000u;
|
|
/* 0245AD24 */ cpu->r[3] = cpu->r[30];
|
|
/* 0245AD28 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0245AD28 */ rbrew_write32(cpu->mem, _t12, cpu->r[9]);
|
|
/* 0245AD2C */ Gambit_fn_027ED914(cpu);
|
|
L_0245AD30: ; // 0x245ad30
|
|
/* 0245AD30 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245AD30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0245AD34 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 0245AD34 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0245AD38 */ cpu->lr = cpu->r[0];
|
|
/* 0245AD3C */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 0245AD3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0245AD40 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0245AD44 */ return;
|
|
}
|
|
|
|
// fn_0245AD48 @ 0x245ad48
|
|
void Gambit_fn_0245AD48(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0245AD48: ; // 0x245ad48
|
|
/* 0245AD48 */ cpu->r[0] = cpu->lr;
|
|
/* 0245AD4C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0245AD4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245AD4C */ cpu->r[1] = _t0;
|
|
/* 0245AD50 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0245AD50 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245AD54 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245AD58 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245AD5C */ cpu->r[4] = cpu->r[31];
|
|
/* 0245AD60 */ cpu->r[12] = cpu->r[12] + 0x0000137Cu;
|
|
/* 0245AD64 */ cpu->r[3] = 0x00000000u;
|
|
/* 0245AD68 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245AD68 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0245AD6C */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245AD70 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0245AD70 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0245AD74 */ cpu->r[0] = cpu->r[0] + 0x00001334u;
|
|
/* 0245AD78 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0245AD7C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245AD7C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0245AD80 */ Gambit_fn_020A7150(cpu);
|
|
/* 0245AD84 */ _t5 = cpu->r[31] + 0x0000021Cu;
|
|
/* 0245AD84 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 0245AD88 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245AD88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0245AD8C */ cpu->lr = cpu->r[0];
|
|
/* 0245AD90 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0245AD90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0245AD94 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0245AD98 */ return;
|
|
}
|
|
|
|
// fn_0245AD4C @ 0x245ad4c
|
|
void Gambit_fn_0245AD4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0245AD4C: ; // 0x245ad4c
|
|
/* 0245AD4C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0245AD4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245AD4C */ cpu->r[1] = _t0;
|
|
/* 0245AD50 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0245AD50 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245AD54 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245AD58 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245AD5C */ cpu->r[4] = cpu->r[31];
|
|
/* 0245AD60 */ cpu->r[12] = cpu->r[12] + 0x0000137Cu;
|
|
/* 0245AD64 */ cpu->r[3] = 0x00000000u;
|
|
/* 0245AD68 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245AD68 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0245AD6C */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245AD70 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0245AD70 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0245AD74 */ cpu->r[0] = cpu->r[0] + 0x00001334u;
|
|
/* 0245AD78 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0245AD7C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245AD7C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0245AD80 */ Gambit_fn_020A7150(cpu);
|
|
/* 0245AD84 */ _t5 = cpu->r[31] + 0x0000021Cu;
|
|
/* 0245AD84 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 0245AD88 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245AD88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0245AD8C */ cpu->lr = cpu->r[0];
|
|
/* 0245AD90 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0245AD90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0245AD94 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0245AD98 */ return;
|
|
}
|
|
|
|
// fn_0245AD9C @ 0x245ad9c
|
|
void Gambit_fn_0245AD9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0245AD9C: ; // 0x245ad9c
|
|
/* 0245AD9C */ cpu->r[0] = cpu->lr;
|
|
/* 0245ADA0 */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245ADA4 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245ADA8 */ cpu->r[11] = cpu->r[11] + 0x00001334u;
|
|
/* 0245ADAC */ cpu->r[12] = cpu->r[12] + 0x00001388u;
|
|
/* 0245ADB0 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0245ADB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0245ADB4 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245ADB8 */ _t1 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0245ADB8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0245ADB8 */ cpu->r[1] = _t1;
|
|
/* 0245ADBC */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0245ADBC */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 0245ADC0 */ cpu->r[0] = cpu->r[0] + 0x00001390u;
|
|
/* 0245ADC4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245ADC4 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0245ADC8 */ cpu->r[6] = cpu->r[1] + 0x00000018u;
|
|
/* 0245ADCC */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 0245ADCC */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0245ADD0 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0245ADD4 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245ADD4 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0245ADD8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0245ADDC */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 0245ADDC */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 0245ADE0 */ _t7 = cpu->r[1] + 0x00000018u;
|
|
/* 0245ADE0 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0245ADE4 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0245ADE8 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 0245ADE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0245ADEC */ cpu->lr = cpu->r[0];
|
|
/* 0245ADF0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0245ADF4 */ return;
|
|
}
|
|
|
|
// fn_0245ADB8 @ 0x245adb8
|
|
void Gambit_fn_0245ADB8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0245ADB8: ; // 0x245adb8
|
|
/* 0245ADB8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0245ADB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245ADB8 */ cpu->r[1] = _t0;
|
|
/* 0245ADBC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0245ADBC */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 0245ADC0 */ cpu->r[0] = cpu->r[0] + 0x00001390u;
|
|
/* 0245ADC4 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245ADC4 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 0245ADC8 */ cpu->r[6] = cpu->r[1] + 0x00000018u;
|
|
/* 0245ADCC */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0245ADCC */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0245ADD0 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0245ADD4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245ADD4 */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
|
|
/* 0245ADD8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0245ADDC */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0245ADDC */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0245ADE0 */ _t6 = cpu->r[1] + 0x00000018u;
|
|
/* 0245ADE0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0245ADE4 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0245ADE8 */ _t7 = cpu->r[1] + 0x00000024u;
|
|
/* 0245ADE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0245ADEC */ cpu->lr = cpu->r[0];
|
|
/* 0245ADF0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0245ADF4 */ return;
|
|
}
|
|
|
|
// fn_0245ADF8 @ 0x245adf8
|
|
void Gambit_fn_0245ADF8(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_0245ADF8: ; // 0x245adf8
|
|
/* 0245ADF8 */ cpu->r[9] = 0xFFFFFFFDu;
|
|
/* 0245ADFC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0245ADFC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245ADFC */ cpu->r[1] = _t0;
|
|
/* 0245AE00 */ cpu->r[10] = 0x101E0000u;
|
|
/* 0245AE04 */ cpu->r[12] = 0x101E0000u;
|
|
/* 0245AE08 */ cpu->r[7] = 0xFFFFFFFEu;
|
|
/* 0245AE0C */ _t1 = cpu->r[10] + 0x000079B8u;
|
|
/* 0245AE0C */ rbrew_write32(cpu->mem, _t1, cpu->r[9]);
|
|
/* 0245AE0C */ cpu->r[10] = _t1;
|
|
/* 0245AE10 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 0245AE14 */ _t2 = cpu->r[12] + 0x000079A8u;
|
|
/* 0245AE14 */ rbrew_write32(cpu->mem, _t2, cpu->r[7]);
|
|
/* 0245AE14 */ cpu->r[12] = _t2;
|
|
/* 0245AE18 */ cpu->r[7] = 0x101E0000u;
|
|
/* 0245AE1C */ _t3 = cpu->r[12] + 0x00000004u;
|
|
/* 0245AE1C */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 0245AE20 */ cpu->r[4] = 0x101E0000u;
|
|
/* 0245AE24 */ cpu->r[0] = 0x00000002u;
|
|
/* 0245AE28 */ _t4 = cpu->r[7] + 0x000079B0u;
|
|
/* 0245AE28 */ rbrew_write32(cpu->mem, _t4, cpu->r[8]);
|
|
/* 0245AE28 */ cpu->r[7] = _t4;
|
|
/* 0245AE2C */ cpu->r[11] = 0x101E0000u;
|
|
/* 0245AE30 */ cpu->r[6] = 0x101E0000u;
|
|
/* 0245AE34 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 0245AE34 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0245AE38 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0245AE38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0245AE3C */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 0245AE3C */ rbrew_write32(cpu->mem, _t7, cpu->r[8]);
|
|
/* 0245AE40 */ cpu->r[5] = 0x100A0000u;
|
|
/* 0245AE44 */ cpu->r[7] = 0x100A0000u;
|
|
/* 0245AE48 */ _t8 = cpu->r[6] + 0x000079A0u;
|
|
/* 0245AE48 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 0245AE48 */ cpu->r[6] = _t8;
|
|
/* 0245AE4C */ cpu->r[5] = cpu->r[5] + 0x00001334u;
|
|
/* 0245AE50 */ cpu->r[4] = cpu->r[4] + 0x000079CCu;
|
|
/* 0245AE54 */ _t9 = cpu->r[6] + 0x00000004u;
|
|
/* 0245AE54 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]);
|
|
/* 0245AE58 */ cpu->r[7] = cpu->r[7] + 0x0000139Cu;
|
|
/* 0245AE5C */ _t10 = cpu->r[4] + 0x00000004u;
|
|
/* 0245AE5C */ rbrew_write32(cpu->mem, _t10, cpu->r[5]);
|
|
/* 0245AE60 */ cpu->r[11] = cpu->r[11] + 0x000079C0u;
|
|
/* 0245AE64 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245AE68 */ _t11 = cpu->r[4] + 0x00000000u;
|
|
/* 0245AE68 */ rbrew_write32(cpu->mem, _t11, cpu->r[7]);
|
|
/* 0245AE6C */ cpu->r[0] = cpu->r[0] + 0x000013A0u;
|
|
/* 0245AE70 */ _t12 = cpu->r[4] + 0x0000000Cu;
|
|
/* 0245AE70 */ rbrew_write32(cpu->mem, _t12, cpu->r[5]);
|
|
/* 0245AE74 */ cpu->r[7] = 0x101E0000u;
|
|
/* 0245AE78 */ _t13 = cpu->r[4] + 0x00000008u;
|
|
/* 0245AE78 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0245AE7C */ _t14 = cpu->r[11] + 0x00000004u;
|
|
/* 0245AE7C */ rbrew_write32(cpu->mem, _t14, cpu->r[8]);
|
|
/* 0245AE80 */ _t15 = cpu->r[4] + 0x00000014u;
|
|
/* 0245AE80 */ rbrew_write32(cpu->mem, _t15, cpu->r[5]);
|
|
/* 0245AE84 */ cpu->r[0] = 0x00000004u;
|
|
/* 0245AE88 */ _t16 = cpu->r[11] + 0x00000000u;
|
|
/* 0245AE88 */ rbrew_write32(cpu->mem, _t16, cpu->r[9]);
|
|
/* 0245AE8C */ cpu->r[6] = 0x100A0000u;
|
|
/* 0245AE90 */ _t17 = cpu->r[7] + 0x000079C8u;
|
|
/* 0245AE90 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 0245AE94 */ cpu->r[6] = cpu->r[6] + 0x000013A4u;
|
|
/* 0245AE98 */ _t18 = cpu->r[10] + 0x00000004u;
|
|
/* 0245AE98 */ rbrew_write32(cpu->mem, _t18, cpu->r[8]);
|
|
/* 0245AE9C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0245AEA0 */ _t19 = cpu->r[4] + 0x00000010u;
|
|
/* 0245AEA0 */ rbrew_write32(cpu->mem, _t19, cpu->r[6]);
|
|
/* 0245AEA4 */ return;
|
|
}
|
|
|
|
// fn_0245ADFC @ 0x245adfc
|
|
void Gambit_fn_0245ADFC(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_0245ADFC: ; // 0x245adfc
|
|
/* 0245ADFC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0245ADFC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245ADFC */ cpu->r[1] = _t0;
|
|
/* 0245AE00 */ cpu->r[10] = 0x101E0000u;
|
|
/* 0245AE04 */ cpu->r[12] = 0x101E0000u;
|
|
/* 0245AE08 */ cpu->r[7] = 0xFFFFFFFEu;
|
|
/* 0245AE0C */ _t1 = cpu->r[10] + 0x000079B8u;
|
|
/* 0245AE0C */ rbrew_write32(cpu->mem, _t1, cpu->r[9]);
|
|
/* 0245AE0C */ cpu->r[10] = _t1;
|
|
/* 0245AE10 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 0245AE14 */ _t2 = cpu->r[12] + 0x000079A8u;
|
|
/* 0245AE14 */ rbrew_write32(cpu->mem, _t2, cpu->r[7]);
|
|
/* 0245AE14 */ cpu->r[12] = _t2;
|
|
/* 0245AE18 */ cpu->r[7] = 0x101E0000u;
|
|
/* 0245AE1C */ _t3 = cpu->r[12] + 0x00000004u;
|
|
/* 0245AE1C */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 0245AE20 */ cpu->r[4] = 0x101E0000u;
|
|
/* 0245AE24 */ cpu->r[0] = 0x00000002u;
|
|
/* 0245AE28 */ _t4 = cpu->r[7] + 0x000079B0u;
|
|
/* 0245AE28 */ rbrew_write32(cpu->mem, _t4, cpu->r[8]);
|
|
/* 0245AE28 */ cpu->r[7] = _t4;
|
|
/* 0245AE2C */ cpu->r[11] = 0x101E0000u;
|
|
/* 0245AE30 */ cpu->r[6] = 0x101E0000u;
|
|
/* 0245AE34 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 0245AE34 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0245AE38 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0245AE38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0245AE3C */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 0245AE3C */ rbrew_write32(cpu->mem, _t7, cpu->r[8]);
|
|
/* 0245AE40 */ cpu->r[5] = 0x100A0000u;
|
|
/* 0245AE44 */ cpu->r[7] = 0x100A0000u;
|
|
/* 0245AE48 */ _t8 = cpu->r[6] + 0x000079A0u;
|
|
/* 0245AE48 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 0245AE48 */ cpu->r[6] = _t8;
|
|
/* 0245AE4C */ cpu->r[5] = cpu->r[5] + 0x00001334u;
|
|
/* 0245AE50 */ cpu->r[4] = cpu->r[4] + 0x000079CCu;
|
|
/* 0245AE54 */ _t9 = cpu->r[6] + 0x00000004u;
|
|
/* 0245AE54 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]);
|
|
/* 0245AE58 */ cpu->r[7] = cpu->r[7] + 0x0000139Cu;
|
|
/* 0245AE5C */ _t10 = cpu->r[4] + 0x00000004u;
|
|
/* 0245AE5C */ rbrew_write32(cpu->mem, _t10, cpu->r[5]);
|
|
/* 0245AE60 */ cpu->r[11] = cpu->r[11] + 0x000079C0u;
|
|
/* 0245AE64 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245AE68 */ _t11 = cpu->r[4] + 0x00000000u;
|
|
/* 0245AE68 */ rbrew_write32(cpu->mem, _t11, cpu->r[7]);
|
|
/* 0245AE6C */ cpu->r[0] = cpu->r[0] + 0x000013A0u;
|
|
/* 0245AE70 */ _t12 = cpu->r[4] + 0x0000000Cu;
|
|
/* 0245AE70 */ rbrew_write32(cpu->mem, _t12, cpu->r[5]);
|
|
/* 0245AE74 */ cpu->r[7] = 0x101E0000u;
|
|
/* 0245AE78 */ _t13 = cpu->r[4] + 0x00000008u;
|
|
/* 0245AE78 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0245AE7C */ _t14 = cpu->r[11] + 0x00000004u;
|
|
/* 0245AE7C */ rbrew_write32(cpu->mem, _t14, cpu->r[8]);
|
|
/* 0245AE80 */ _t15 = cpu->r[4] + 0x00000014u;
|
|
/* 0245AE80 */ rbrew_write32(cpu->mem, _t15, cpu->r[5]);
|
|
/* 0245AE84 */ cpu->r[0] = 0x00000004u;
|
|
/* 0245AE88 */ _t16 = cpu->r[11] + 0x00000000u;
|
|
/* 0245AE88 */ rbrew_write32(cpu->mem, _t16, cpu->r[9]);
|
|
/* 0245AE8C */ cpu->r[6] = 0x100A0000u;
|
|
/* 0245AE90 */ _t17 = cpu->r[7] + 0x000079C8u;
|
|
/* 0245AE90 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 0245AE94 */ cpu->r[6] = cpu->r[6] + 0x000013A4u;
|
|
/* 0245AE98 */ _t18 = cpu->r[10] + 0x00000004u;
|
|
/* 0245AE98 */ rbrew_write32(cpu->mem, _t18, cpu->r[8]);
|
|
/* 0245AE9C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0245AEA0 */ _t19 = cpu->r[4] + 0x00000010u;
|
|
/* 0245AEA0 */ rbrew_write32(cpu->mem, _t19, cpu->r[6]);
|
|
/* 0245AEA4 */ return;
|
|
}
|
|
|
|
// fn_0245AEA8 @ 0x245aea8
|
|
void Gambit_fn_0245AEA8(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_0245AEA8: ; // 0x245aea8
|
|
/* 0245AEA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0245AEAC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245AEAC */ _t1 = _t0 & 0x00000001u;
|
|
/* 0245AEAC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0245AEAC */ goto L_0245AEB0;
|
|
L_0245AEB0: ; // 0x245aeb0
|
|
/* 0245AEB0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0245AEB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0245AEB4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245AEB4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0245AEB4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0245AEB4 */ goto L_0245AEB8;
|
|
L_0245AEB8: ; // 0x245aeb8
|
|
/* 0245AEB8 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 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 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) 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 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0245AEBC @ 0x245aebc
|
|
void Gambit_fn_0245AEBC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0245AEBC: ; // 0x245aebc
|
|
/* 0245AEBC */ cpu->r[0] = cpu->lr;
|
|
/* 0245AEC0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245AEC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245AEC0 */ cpu->r[1] = _t0;
|
|
/* 0245AEC4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245AEC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245AEC8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0245AEC8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0245AECC */ cpu->r[30] = cpu->r[3];
|
|
/* 0245AECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0245AED0 */ cpu->r[31] = cpu->r[4];
|
|
/* 0245AED4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0245AED4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0245AED8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245AED8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0245AED8 */ if (_t5) goto L_0245AF48; else goto L_0245AEDC;
|
|
L_0245AEDC: ; // 0x245aedc
|
|
/* 0245AEDC */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245AEE0 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245AEE4 */ cpu->r[0] = cpu->r[0] + 0x00001588u;
|
|
/* 0245AEE8 */ cpu->r[12] = cpu->r[12] + 0x000015A8u;
|
|
/* 0245AEEC */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0245AEEC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0245AEF0 */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245AEF4 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 0245AEF4 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0245AEF8 */ cpu->r[11] = cpu->r[11] + 0x00001598u;
|
|
/* 0245AEFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0245AF00 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0245AF00 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0245AF04 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245AF04 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0245AF04 */ if (_t10) goto L_0245AF38; else goto L_0245AF08;
|
|
L_0245AF08: ; // 0x245af08
|
|
/* 0245AF08 */ cpu->r[10] = 0x10010000u;
|
|
/* 0245AF0C */ cpu->r[0] = 0x10010000u;
|
|
/* 0245AF10 */ cpu->r[10] = cpu->r[10] + 0x000048FCu;
|
|
/* 0245AF14 */ cpu->r[0] = cpu->r[0] + 0x000048ECu;
|
|
/* 0245AF18 */ cpu->r[3] = cpu->r[30];
|
|
/* 0245AF1C */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0245AF1C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0245AF20 */ cpu->r[0] = 0x10010000u;
|
|
/* 0245AF24 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0245AF24 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0245AF28 */ cpu->r[0] = cpu->r[0] + 0x0000490Cu;
|
|
/* 0245AF2C */ cpu->r[4] = 0x00000000u;
|
|
/* 0245AF30 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0245AF30 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0245AF34 */ Gambit_fn_02068798(cpu);
|
|
L_0245AF38: ; // 0x245af38
|
|
/* 0245AF38 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0245AF38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0245AF3C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245AF3C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0245AF3C */ if (_t15) goto L_0245AF48; else goto L_0245AF40;
|
|
L_0245AF40: ; // 0x245af40
|
|
/* 0245AF40 */ cpu->r[3] = cpu->r[30];
|
|
/* 0245AF44 */ Gambit_fn_02801BB0(cpu);
|
|
L_0245AF48: ; // 0x245af48
|
|
/* 0245AF48 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0245AF48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0245AF4C */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0245AF4C */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0245AF50 */ cpu->lr = cpu->r[0];
|
|
/* 0245AF54 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245AF54 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0245AF58 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245AF5C */ return;
|
|
}
|
|
|
|
// fn_0245AEC0 @ 0x245aec0
|
|
void Gambit_fn_0245AEC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0245AEC0: ; // 0x245aec0
|
|
/* 0245AEC0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245AEC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245AEC0 */ cpu->r[1] = _t0;
|
|
/* 0245AEC4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245AEC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245AEC8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0245AEC8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0245AECC */ cpu->r[30] = cpu->r[3];
|
|
/* 0245AECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0245AED0 */ cpu->r[31] = cpu->r[4];
|
|
/* 0245AED4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0245AED4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0245AED8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245AED8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0245AED8 */ if (_t5) goto L_0245AF48; else goto L_0245AEDC;
|
|
L_0245AEDC: ; // 0x245aedc
|
|
/* 0245AEDC */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245AEE0 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245AEE4 */ cpu->r[0] = cpu->r[0] + 0x00001588u;
|
|
/* 0245AEE8 */ cpu->r[12] = cpu->r[12] + 0x000015A8u;
|
|
/* 0245AEEC */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0245AEEC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0245AEF0 */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245AEF4 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 0245AEF4 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0245AEF8 */ cpu->r[11] = cpu->r[11] + 0x00001598u;
|
|
/* 0245AEFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0245AF00 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0245AF00 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0245AF04 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245AF04 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0245AF04 */ if (_t10) goto L_0245AF38; else goto L_0245AF08;
|
|
L_0245AF08: ; // 0x245af08
|
|
/* 0245AF08 */ cpu->r[10] = 0x10010000u;
|
|
/* 0245AF0C */ cpu->r[0] = 0x10010000u;
|
|
/* 0245AF10 */ cpu->r[10] = cpu->r[10] + 0x000048FCu;
|
|
/* 0245AF14 */ cpu->r[0] = cpu->r[0] + 0x000048ECu;
|
|
/* 0245AF18 */ cpu->r[3] = cpu->r[30];
|
|
/* 0245AF1C */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0245AF1C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0245AF20 */ cpu->r[0] = 0x10010000u;
|
|
/* 0245AF24 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0245AF24 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0245AF28 */ cpu->r[0] = cpu->r[0] + 0x0000490Cu;
|
|
/* 0245AF2C */ cpu->r[4] = 0x00000000u;
|
|
/* 0245AF30 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0245AF30 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0245AF34 */ Gambit_fn_02068798(cpu);
|
|
L_0245AF38: ; // 0x245af38
|
|
/* 0245AF38 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0245AF38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0245AF3C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245AF3C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0245AF3C */ if (_t15) goto L_0245AF48; else goto L_0245AF40;
|
|
L_0245AF40: ; // 0x245af40
|
|
/* 0245AF40 */ cpu->r[3] = cpu->r[30];
|
|
/* 0245AF44 */ Gambit_fn_02801BB0(cpu);
|
|
L_0245AF48: ; // 0x245af48
|
|
/* 0245AF48 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0245AF48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0245AF4C */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0245AF4C */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0245AF50 */ cpu->lr = cpu->r[0];
|
|
/* 0245AF54 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245AF54 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0245AF58 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245AF5C */ return;
|
|
}
|
|
|
|
// fn_0245AF60 @ 0x245af60
|
|
void Gambit_fn_0245AF60(CPUState* cpu) {
|
|
L_0245AF60: ; // 0x245af60
|
|
/* 0245AF60 */ return;
|
|
}
|
|
|
|
// fn_0245AF64 @ 0x245af64
|
|
void Gambit_fn_0245AF64(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0245AF64: ; // 0x245af64
|
|
/* 0245AF64 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0245AF64 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245AF68 */ return;
|
|
}
|
|
|
|
// fn_0245AF6C @ 0x245af6c
|
|
void Gambit_fn_0245AF6C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0245AF6C: ; // 0x245af6c
|
|
/* 0245AF6C */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0245AF6C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245AF70 */ return;
|
|
}
|
|
|
|
// fn_0245AF74 @ 0x245af74
|
|
void Gambit_fn_0245AF74(CPUState* cpu) {
|
|
L_0245AF74: ; // 0x245af74
|
|
/* 0245AF74 */ return;
|
|
}
|
|
|
|
// fn_0245AF78 @ 0x245af78
|
|
void Gambit_fn_0245AF78(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0245AF78: ; // 0x245af78
|
|
/* 0245AF78 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0245AF78 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245AF7C */ return;
|
|
}
|
|
|
|
// fn_0245AF80 @ 0x245af80
|
|
void Gambit_fn_0245AF80(CPUState* cpu) {
|
|
L_0245AF80: ; // 0x245af80
|
|
/* 0245AF80 */ return;
|
|
}
|
|
|
|
// fn_0245AF84 @ 0x245af84
|
|
void Gambit_fn_0245AF84(CPUState* cpu) {
|
|
L_0245AF84: ; // 0x245af84
|
|
/* 0245AF84 */ return;
|
|
}
|
|
|
|
// fn_0245AF88 @ 0x245af88
|
|
void Gambit_fn_0245AF88(CPUState* cpu) {
|
|
L_0245AF88: ; // 0x245af88
|
|
/* 0245AF88 */ return;
|
|
}
|
|
|
|
// fn_0245AF8C @ 0x245af8c
|
|
void Gambit_fn_0245AF8C(CPUState* cpu) {
|
|
L_0245AF8C: ; // 0x245af8c
|
|
/* 0245AF8C */ return;
|
|
}
|
|
|
|
// fn_0245AF90 @ 0x245af90
|
|
void Gambit_fn_0245AF90(CPUState* cpu) {
|
|
L_0245AF90: ; // 0x245af90
|
|
/* 0245AF90 */ return;
|
|
}
|
|
|
|
// fn_0245AF94 @ 0x245af94
|
|
void Gambit_fn_0245AF94(CPUState* cpu) {
|
|
L_0245AF94: ; // 0x245af94
|
|
/* 0245AF94 */ cpu->r[3] = 0x00000001u;
|
|
/* 0245AF98 */ return;
|
|
}
|
|
|
|
// fn_0245AF9C @ 0x245af9c
|
|
void Gambit_fn_0245AF9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0245AF9C: ; // 0x245af9c
|
|
/* 0245AF9C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0245AF9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245AFA0 */ _t1 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0245AFA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0245AFA4 */ cpu->ctr = cpu->r[0];
|
|
/* 0245AFA8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0245AFAC @ 0x245afac
|
|
void Gambit_fn_0245AFAC(CPUState* cpu) {
|
|
L_0245AFAC: ; // 0x245afac
|
|
/* 0245AFAC */ return;
|
|
}
|
|
|
|
// fn_0245AFB0 @ 0x245afb0
|
|
void Gambit_fn_0245AFB0(CPUState* cpu) {
|
|
L_0245AFB0: ; // 0x245afb0
|
|
/* 0245AFB0 */ cpu->r[3] = 0x00000000u;
|
|
/* 0245AFB4 */ return;
|
|
}
|
|
|
|
// fn_0245AFB8 @ 0x245afb8
|
|
void Gambit_fn_0245AFB8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0245AFB8: ; // 0x245afb8
|
|
/* 0245AFB8 */ cpu->r[9] = 0x101D0000u;
|
|
/* 0245AFBC */ _t0 = cpu->r[9] + 0xFFFFDBA0u;
|
|
/* 0245AFBC */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245AFBC */ cpu->r[9] = _t0;
|
|
/* 0245AFC0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0245AFC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0245AFC8 */ cpu->r[12] = cpu->r[12] + 0xFFFFED90u;
|
|
/* 0245AFCC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245AFCC */ _t2 = _t1 & 0x00000001u;
|
|
/* 0245AFCC */ if (_t2) goto L_0245AFD0; else goto L_0245AFE4;
|
|
L_0245AFD0: ; // 0x245afd0
|
|
/* 0245AFD0 */ cpu->r[7] = 0x100A0000u;
|
|
/* 0245AFD4 */ cpu->r[0] = 0x00000001u;
|
|
/* 0245AFD8 */ cpu->r[7] = cpu->r[7] + 0x0000134Cu;
|
|
/* 0245AFDC */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 0245AFDC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0245AFE0 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 0245AFE0 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_0245AFE4: ; // 0x245afe4
|
|
/* 0245AFE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 0245AFE8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245AFE8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0245AFE8 */ if (_t6) goto L_0245AFEC; else goto L_0245AFF4;
|
|
L_0245AFEC: ; // 0x245afec
|
|
/* 0245AFEC */ cpu->r[3] = 0x00000001u;
|
|
/* 0245AFF0 */ return;
|
|
L_0245AFF4: ; // 0x245aff4
|
|
/* 0245AFF4 */ cpu->r[7] = 0x101D0000u;
|
|
/* 0245AFF8 */ _t7 = cpu->r[7] + 0xFFFFDB98u;
|
|
/* 0245AFF8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0245AFF8 */ cpu->r[7] = _t7;
|
|
/* 0245AFFC */ cpu->r[11] = 0x101D0000u;
|
|
/* 0245B000 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0245B004 */ cpu->r[11] = cpu->r[11] + 0xFFFFED94u;
|
|
/* 0245B008 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B008 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0245B008 */ if (_t9) goto L_0245B00C; else goto L_0245B020;
|
|
L_0245B00C: ; // 0x245b00c
|
|
/* 0245B00C */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245B010 */ cpu->r[9] = 0x00000001u;
|
|
/* 0245B014 */ cpu->r[0] = cpu->r[0] + 0x00001324u;
|
|
/* 0245B018 */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 0245B018 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 0245B01C */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 0245B01C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_0245B020: ; // 0x245b020
|
|
/* 0245B020 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 0245B024 */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 0245B028 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 0245B02C */ return;
|
|
}
|
|
|
|
// fn_0245B030 @ 0x245b030
|
|
void Gambit_fn_0245B030(CPUState* cpu) {
|
|
L_0245B030: ; // 0x245b030
|
|
/* 0245B030 */ return;
|
|
}
|
|
|
|
// fn_0245B034 @ 0x245b034
|
|
void Gambit_fn_0245B034(CPUState* cpu) {
|
|
L_0245B034: ; // 0x245b034
|
|
/* 0245B034 */ return;
|
|
}
|
|
|
|
// fn_0245B038 @ 0x245b038
|
|
void Gambit_fn_0245B038(CPUState* cpu) {
|
|
L_0245B038: ; // 0x245b038
|
|
/* 0245B038 */ cpu->r[3] = 0x00000000u;
|
|
/* 0245B03C */ return;
|
|
}
|
|
|
|
// fn_0245B040 @ 0x245b040
|
|
void Gambit_fn_0245B040(CPUState* cpu) {
|
|
L_0245B040: ; // 0x245b040
|
|
/* 0245B040 */ cpu->r[3] = 0x00000000u;
|
|
/* 0245B044 */ return;
|
|
}
|
|
|
|
// fn_0245B048 @ 0x245b048
|
|
void Gambit_fn_0245B048(CPUState* cpu) {
|
|
L_0245B048: ; // 0x245b048
|
|
/* 0245B048 */ return;
|
|
}
|
|
|
|
// fn_0245B04C @ 0x245b04c
|
|
void Gambit_fn_0245B04C(CPUState* cpu) {
|
|
L_0245B04C: ; // 0x245b04c
|
|
/* 0245B04C */ return;
|
|
}
|
|
|
|
// fn_0245B050 @ 0x245b050
|
|
void Gambit_fn_0245B050(CPUState* cpu) {
|
|
L_0245B050: ; // 0x245b050
|
|
/* 0245B050 */ return;
|
|
}
|
|
|
|
// fn_0245B054 @ 0x245b054
|
|
void Gambit_fn_0245B054(CPUState* cpu) {
|
|
L_0245B054: ; // 0x245b054
|
|
/* 0245B054 */ return;
|
|
}
|
|
|
|
// fn_0245B058 @ 0x245b058
|
|
void Gambit_fn_0245B058(CPUState* cpu) {
|
|
L_0245B058: ; // 0x245b058
|
|
/* 0245B058 */ return;
|
|
}
|
|
|
|
// fn_0245B05C @ 0x245b05c
|
|
void Gambit_fn_0245B05C(CPUState* cpu) {
|
|
L_0245B05C: ; // 0x245b05c
|
|
/* 0245B05C */ return;
|
|
}
|
|
|
|
// fn_0245B060 @ 0x245b060
|
|
void Gambit_fn_0245B060(CPUState* cpu) {
|
|
L_0245B060: ; // 0x245b060
|
|
/* 0245B060 */ return;
|
|
}
|
|
|
|
// fn_0245B064 @ 0x245b064
|
|
void Gambit_fn_0245B064(CPUState* cpu) {
|
|
L_0245B064: ; // 0x245b064
|
|
/* 0245B064 */ return;
|
|
}
|
|
|
|
// fn_0245B068 @ 0x245b068
|
|
void Gambit_fn_0245B068(CPUState* cpu) {
|
|
L_0245B068: ; // 0x245b068
|
|
/* 0245B068 */ return;
|
|
}
|
|
|
|
// fn_0245B06C @ 0x245b06c
|
|
void Gambit_fn_0245B06C(CPUState* cpu) {
|
|
L_0245B06C: ; // 0x245b06c
|
|
/* 0245B06C */ return;
|
|
}
|
|
|
|
// fn_0245B070 @ 0x245b070
|
|
void Gambit_fn_0245B070(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0200896C: ; // 0x200896c
|
|
/* 0200896C */ cpu->r[0] = cpu->lr;
|
|
/* 02008970 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02008970 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02008970 */ cpu->r[1] = _t0;
|
|
/* 02008974 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02008974 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02008978 */ cpu->r[31] = cpu->r[3];
|
|
/* 0200897C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0200897C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02008980 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 02008980 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02008984 */ cpu->r[12] = 0x00000000u;
|
|
/* 02008988 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0200898C */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0200898C */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02008990 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02008990 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02008990 */ if (_t6) goto L_020089B8; else goto L_02008994;
|
|
L_02008994: ; // 0x2008994
|
|
/* 02008994 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02008994 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02008998 */ /* nop */
|
|
/* 0200899C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 020089A0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020089A0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 020089A0 */ if (_t9) goto L_020089A4; else goto L_020089B8;
|
|
L_020089A4: ; // 0x20089a4
|
|
/* 020089A4 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 020089A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 020089A8 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 020089A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 020089AC */ cpu->ctr = cpu->r[0];
|
|
/* 020089B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 020089B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_020089B8: ; // 0x20089b8
|
|
/* 020089B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 020089BC */ Gambit_fn_020088E4(cpu);
|
|
/* 020089C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 020089C4 */ Gambit_fn_027FC37C(cpu);
|
|
/* 020089C8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 020089C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 020089CC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020089CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 020089D0 */ cpu->lr = cpu->r[0];
|
|
/* 020089D4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 020089D8 */ return;
|
|
L_0245B070: ; // 0x245b070
|
|
/* 0245B070 */ cpu->r[3] = cpu->r[3] + 0x000001DCu;
|
|
/* 0245B074 */ goto L_0200896C;
|
|
}
|
|
|
|
// fn_0245B078 @ 0x245b078
|
|
void Gambit_fn_0245B078(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_0245B078: ; // 0x245b078
|
|
/* 0245B078 */ cpu->r[0] = cpu->lr;
|
|
/* 0245B07C */ _t0 = cpu->r[1] + 0xFFFFFF48u;
|
|
/* 0245B07C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245B07C */ cpu->r[1] = _t0;
|
|
/* 0245B080 */ _t1 = cpu->r[1] + 0x000000B4u;
|
|
/* 0245B080 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245B084 */ _t2 = cpu->r[1] + 0x000000BCu;
|
|
/* 0245B084 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0245B088 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 0245B088 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0245B08C */ _t4 = cpu->r[11] + 0x00000064u;
|
|
/* 0245B08C */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0245B090 */ cpu->ctr = cpu->r[11];
|
|
/* 0245B094 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245B098 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245B09C */ cpu->r[4] = cpu->r[3];
|
|
/* 0245B0A0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0245B0A4 */ Gambit_fn_026D6C54(cpu);
|
|
/* 0245B0A8 */ _t5 = cpu->r[31] + 0x00000028u;
|
|
/* 0245B0A8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0245B0AC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0245B0B0 */ cpu->r[5] = 0x00000001u;
|
|
/* 0245B0B4 */ Gambit_fn_026D6F40(cpu);
|
|
/* 0245B0B8 */ cpu->r[0] = 0x00000000u;
|
|
/* 0245B0BC */ cpu->r[3] = 0x0000021Cu;
|
|
/* 0245B0C0 */ _t6 = cpu->r[1] + 0x00000084u;
|
|
/* 0245B0C0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0245B0C4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0245B0C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0245B0CC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B0CC */ _t8 = _t7 & 0x00000001u;
|
|
/* 0245B0CC */ if (_t8) goto L_0245B0D4; else goto L_0245B0D0;
|
|
L_0245B0D0: ; // 0x245b0d0
|
|
/* 0245B0D0 */ Gambit_fn_0245C7C4(cpu);
|
|
L_0245B0D4: ; // 0x245b0d4
|
|
/* 0245B0D4 */ _t9 = cpu->r[31] + 0x00000030u;
|
|
/* 0245B0D4 */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
|
|
/* 0245B0D8 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 0245B0D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0245B0DC */ _t11 = cpu->r[12] + 0x00000034u;
|
|
/* 0245B0DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0245B0E0 */ cpu->ctr = cpu->r[0];
|
|
/* 0245B0E4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0245B0E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245B0EC */ cpu->r[3] = 0x00000214u;
|
|
/* 0245B0F0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0245B0F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0245B0F8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B0F8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0245B0F8 */ if (_t13) goto L_0245B100; else goto L_0245B0FC;
|
|
L_0245B0FC: ; // 0x245b0fc
|
|
/* 0245B0FC */ Gambit_fn_0245B844(cpu);
|
|
L_0245B100: ; // 0x245b100
|
|
/* 0245B100 */ _t14 = cpu->r[31] + 0x00000034u;
|
|
/* 0245B100 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 0245B104 */ _t15 = cpu->r[3] + 0x00000000u;
|
|
/* 0245B104 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0245B108 */ _t16 = cpu->r[12] + 0x00000034u;
|
|
/* 0245B108 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0245B10C */ cpu->ctr = cpu->r[0];
|
|
/* 0245B110 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0245B114 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245B118 */ cpu->r[3] = 0x00000224u;
|
|
/* 0245B11C */ Gambit_fn_02801A78(cpu);
|
|
/* 0245B120 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0245B124 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B124 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0245B124 */ if (_t18) goto L_0245B12C; else goto L_0245B128;
|
|
L_0245B128: ; // 0x245b128
|
|
/* 0245B128 */ Gambit_fn_0245AC10(cpu);
|
|
L_0245B12C: ; // 0x245b12c
|
|
/* 0245B12C */ _t19 = cpu->r[31] + 0x00000038u;
|
|
/* 0245B12C */ rbrew_write32(cpu->mem, _t19, cpu->r[3]);
|
|
/* 0245B130 */ _t20 = cpu->r[3] + 0x00000000u;
|
|
/* 0245B130 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0245B134 */ _t21 = cpu->r[12] + 0x00000034u;
|
|
/* 0245B134 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0245B138 */ cpu->ctr = cpu->r[0];
|
|
/* 0245B13C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0245B140 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245B144 */ cpu->r[3] = 0x00000220u;
|
|
/* 0245B148 */ Gambit_fn_02801A78(cpu);
|
|
/* 0245B14C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0245B150 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B150 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0245B150 */ if (_t23) goto L_0245B158; else goto L_0245B154;
|
|
L_0245B154: ; // 0x245b154
|
|
/* 0245B154 */ Gambit_fn_0245A770(cpu);
|
|
L_0245B158: ; // 0x245b158
|
|
/* 0245B158 */ _t24 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0245B158 */ rbrew_write32(cpu->mem, _t24, cpu->r[3]);
|
|
/* 0245B15C */ _t25 = cpu->r[3] + 0x00000000u;
|
|
/* 0245B15C */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0245B160 */ _t26 = cpu->r[12] + 0x00000034u;
|
|
/* 0245B160 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0245B164 */ cpu->ctr = cpu->r[0];
|
|
/* 0245B168 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0245B16C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245B170 */ _t27 = cpu->r[1] + 0x000000BCu;
|
|
/* 0245B170 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0245B174 */ _t28 = cpu->r[1] + 0x000000B4u;
|
|
/* 0245B174 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0245B178 */ cpu->lr = cpu->r[0];
|
|
/* 0245B17C */ cpu->r[1] = cpu->r[1] + 0x000000B8u;
|
|
/* 0245B180 */ return;
|
|
}
|
|
|
|
// fn_0245B07C @ 0x245b07c
|
|
void Gambit_fn_0245B07C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_0245B07C: ; // 0x245b07c
|
|
/* 0245B07C */ _t0 = cpu->r[1] + 0xFFFFFF48u;
|
|
/* 0245B07C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245B07C */ cpu->r[1] = _t0;
|
|
/* 0245B080 */ _t1 = cpu->r[1] + 0x000000B4u;
|
|
/* 0245B080 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245B084 */ _t2 = cpu->r[1] + 0x000000BCu;
|
|
/* 0245B084 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0245B088 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 0245B088 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0245B08C */ _t4 = cpu->r[11] + 0x00000064u;
|
|
/* 0245B08C */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0245B090 */ cpu->ctr = cpu->r[11];
|
|
/* 0245B094 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245B098 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245B09C */ cpu->r[4] = cpu->r[3];
|
|
/* 0245B0A0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0245B0A4 */ Gambit_fn_026D6C54(cpu);
|
|
/* 0245B0A8 */ _t5 = cpu->r[31] + 0x00000028u;
|
|
/* 0245B0A8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0245B0AC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0245B0B0 */ cpu->r[5] = 0x00000001u;
|
|
/* 0245B0B4 */ Gambit_fn_026D6F40(cpu);
|
|
/* 0245B0B8 */ cpu->r[0] = 0x00000000u;
|
|
/* 0245B0BC */ cpu->r[3] = 0x0000021Cu;
|
|
/* 0245B0C0 */ _t6 = cpu->r[1] + 0x00000084u;
|
|
/* 0245B0C0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0245B0C4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0245B0C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0245B0CC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B0CC */ _t8 = _t7 & 0x00000001u;
|
|
/* 0245B0CC */ if (_t8) goto L_0245B0D4; else goto L_0245B0D0;
|
|
L_0245B0D0: ; // 0x245b0d0
|
|
/* 0245B0D0 */ Gambit_fn_0245C7C4(cpu);
|
|
L_0245B0D4: ; // 0x245b0d4
|
|
/* 0245B0D4 */ _t9 = cpu->r[31] + 0x00000030u;
|
|
/* 0245B0D4 */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
|
|
/* 0245B0D8 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 0245B0D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0245B0DC */ _t11 = cpu->r[12] + 0x00000034u;
|
|
/* 0245B0DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0245B0E0 */ cpu->ctr = cpu->r[0];
|
|
/* 0245B0E4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0245B0E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245B0EC */ cpu->r[3] = 0x00000214u;
|
|
/* 0245B0F0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0245B0F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0245B0F8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B0F8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0245B0F8 */ if (_t13) goto L_0245B100; else goto L_0245B0FC;
|
|
L_0245B0FC: ; // 0x245b0fc
|
|
/* 0245B0FC */ Gambit_fn_0245B844(cpu);
|
|
L_0245B100: ; // 0x245b100
|
|
/* 0245B100 */ _t14 = cpu->r[31] + 0x00000034u;
|
|
/* 0245B100 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 0245B104 */ _t15 = cpu->r[3] + 0x00000000u;
|
|
/* 0245B104 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0245B108 */ _t16 = cpu->r[12] + 0x00000034u;
|
|
/* 0245B108 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0245B10C */ cpu->ctr = cpu->r[0];
|
|
/* 0245B110 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0245B114 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245B118 */ cpu->r[3] = 0x00000224u;
|
|
/* 0245B11C */ Gambit_fn_02801A78(cpu);
|
|
/* 0245B120 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0245B124 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B124 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0245B124 */ if (_t18) goto L_0245B12C; else goto L_0245B128;
|
|
L_0245B128: ; // 0x245b128
|
|
/* 0245B128 */ Gambit_fn_0245AC10(cpu);
|
|
L_0245B12C: ; // 0x245b12c
|
|
/* 0245B12C */ _t19 = cpu->r[31] + 0x00000038u;
|
|
/* 0245B12C */ rbrew_write32(cpu->mem, _t19, cpu->r[3]);
|
|
/* 0245B130 */ _t20 = cpu->r[3] + 0x00000000u;
|
|
/* 0245B130 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0245B134 */ _t21 = cpu->r[12] + 0x00000034u;
|
|
/* 0245B134 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0245B138 */ cpu->ctr = cpu->r[0];
|
|
/* 0245B13C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0245B140 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245B144 */ cpu->r[3] = 0x00000220u;
|
|
/* 0245B148 */ Gambit_fn_02801A78(cpu);
|
|
/* 0245B14C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0245B150 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B150 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0245B150 */ if (_t23) goto L_0245B158; else goto L_0245B154;
|
|
L_0245B154: ; // 0x245b154
|
|
/* 0245B154 */ Gambit_fn_0245A770(cpu);
|
|
L_0245B158: ; // 0x245b158
|
|
/* 0245B158 */ _t24 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0245B158 */ rbrew_write32(cpu->mem, _t24, cpu->r[3]);
|
|
/* 0245B15C */ _t25 = cpu->r[3] + 0x00000000u;
|
|
/* 0245B15C */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0245B160 */ _t26 = cpu->r[12] + 0x00000034u;
|
|
/* 0245B160 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0245B164 */ cpu->ctr = cpu->r[0];
|
|
/* 0245B168 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0245B16C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245B170 */ _t27 = cpu->r[1] + 0x000000BCu;
|
|
/* 0245B170 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0245B174 */ _t28 = cpu->r[1] + 0x000000B4u;
|
|
/* 0245B174 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0245B178 */ cpu->lr = cpu->r[0];
|
|
/* 0245B17C */ cpu->r[1] = cpu->r[1] + 0x000000B8u;
|
|
/* 0245B180 */ return;
|
|
}
|
|
|
|
// fn_0245B184 @ 0x245b184
|
|
void Gambit_fn_0245B184(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_0245B078: ; // 0x245b078
|
|
/* 0245B078 */ cpu->r[0] = cpu->lr;
|
|
/* 0245B07C */ _t0 = cpu->r[1] + 0xFFFFFF48u;
|
|
/* 0245B07C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245B07C */ cpu->r[1] = _t0;
|
|
/* 0245B080 */ _t1 = cpu->r[1] + 0x000000B4u;
|
|
/* 0245B080 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245B084 */ _t2 = cpu->r[1] + 0x000000BCu;
|
|
/* 0245B084 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0245B088 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 0245B088 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0245B08C */ _t4 = cpu->r[11] + 0x00000064u;
|
|
/* 0245B08C */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0245B090 */ cpu->ctr = cpu->r[11];
|
|
/* 0245B094 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245B098 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245B09C */ cpu->r[4] = cpu->r[3];
|
|
/* 0245B0A0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0245B0A4 */ Gambit_fn_026D6C54(cpu);
|
|
/* 0245B0A8 */ _t5 = cpu->r[31] + 0x00000028u;
|
|
/* 0245B0A8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0245B0AC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0245B0B0 */ cpu->r[5] = 0x00000001u;
|
|
/* 0245B0B4 */ Gambit_fn_026D6F40(cpu);
|
|
/* 0245B0B8 */ cpu->r[0] = 0x00000000u;
|
|
/* 0245B0BC */ cpu->r[3] = 0x0000021Cu;
|
|
/* 0245B0C0 */ _t6 = cpu->r[1] + 0x00000084u;
|
|
/* 0245B0C0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0245B0C4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0245B0C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0245B0CC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B0CC */ _t8 = _t7 & 0x00000001u;
|
|
/* 0245B0CC */ if (_t8) goto L_0245B0D4; else goto L_0245B0D0;
|
|
L_0245B0D0: ; // 0x245b0d0
|
|
/* 0245B0D0 */ Gambit_fn_0245C7C4(cpu);
|
|
L_0245B0D4: ; // 0x245b0d4
|
|
/* 0245B0D4 */ _t9 = cpu->r[31] + 0x00000030u;
|
|
/* 0245B0D4 */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
|
|
/* 0245B0D8 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 0245B0D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0245B0DC */ _t11 = cpu->r[12] + 0x00000034u;
|
|
/* 0245B0DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0245B0E0 */ cpu->ctr = cpu->r[0];
|
|
/* 0245B0E4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0245B0E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245B0EC */ cpu->r[3] = 0x00000214u;
|
|
/* 0245B0F0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0245B0F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0245B0F8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B0F8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0245B0F8 */ if (_t13) goto L_0245B100; else goto L_0245B0FC;
|
|
L_0245B0FC: ; // 0x245b0fc
|
|
/* 0245B0FC */ Gambit_fn_0245B844(cpu);
|
|
L_0245B100: ; // 0x245b100
|
|
/* 0245B100 */ _t14 = cpu->r[31] + 0x00000034u;
|
|
/* 0245B100 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 0245B104 */ _t15 = cpu->r[3] + 0x00000000u;
|
|
/* 0245B104 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0245B108 */ _t16 = cpu->r[12] + 0x00000034u;
|
|
/* 0245B108 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0245B10C */ cpu->ctr = cpu->r[0];
|
|
/* 0245B110 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0245B114 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245B118 */ cpu->r[3] = 0x00000224u;
|
|
/* 0245B11C */ Gambit_fn_02801A78(cpu);
|
|
/* 0245B120 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0245B124 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B124 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0245B124 */ if (_t18) goto L_0245B12C; else goto L_0245B128;
|
|
L_0245B128: ; // 0x245b128
|
|
/* 0245B128 */ Gambit_fn_0245AC10(cpu);
|
|
L_0245B12C: ; // 0x245b12c
|
|
/* 0245B12C */ _t19 = cpu->r[31] + 0x00000038u;
|
|
/* 0245B12C */ rbrew_write32(cpu->mem, _t19, cpu->r[3]);
|
|
/* 0245B130 */ _t20 = cpu->r[3] + 0x00000000u;
|
|
/* 0245B130 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0245B134 */ _t21 = cpu->r[12] + 0x00000034u;
|
|
/* 0245B134 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0245B138 */ cpu->ctr = cpu->r[0];
|
|
/* 0245B13C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0245B140 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245B144 */ cpu->r[3] = 0x00000220u;
|
|
/* 0245B148 */ Gambit_fn_02801A78(cpu);
|
|
/* 0245B14C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0245B150 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B150 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0245B150 */ if (_t23) goto L_0245B158; else goto L_0245B154;
|
|
L_0245B154: ; // 0x245b154
|
|
/* 0245B154 */ Gambit_fn_0245A770(cpu);
|
|
L_0245B158: ; // 0x245b158
|
|
/* 0245B158 */ _t24 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0245B158 */ rbrew_write32(cpu->mem, _t24, cpu->r[3]);
|
|
/* 0245B15C */ _t25 = cpu->r[3] + 0x00000000u;
|
|
/* 0245B15C */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0245B160 */ _t26 = cpu->r[12] + 0x00000034u;
|
|
/* 0245B160 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0245B164 */ cpu->ctr = cpu->r[0];
|
|
/* 0245B168 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0245B16C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245B170 */ _t27 = cpu->r[1] + 0x000000BCu;
|
|
/* 0245B170 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0245B174 */ _t28 = cpu->r[1] + 0x000000B4u;
|
|
/* 0245B174 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0245B178 */ cpu->lr = cpu->r[0];
|
|
/* 0245B17C */ cpu->r[1] = cpu->r[1] + 0x000000B8u;
|
|
/* 0245B180 */ return;
|
|
L_0245B184: ; // 0x245b184
|
|
/* 0245B184 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0245B188 */ goto L_0245B078;
|
|
}
|
|
|
|
// fn_0245B18C @ 0x245b18c
|
|
void Gambit_fn_0245B18C(CPUState* cpu) {
|
|
L_0245B18C: ; // 0x245b18c
|
|
/* 0245B18C */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0245B190 */ goto L_0245B524;
|
|
L_0245B524: ; // 0x245b524
|
|
/* 0245B524 */ return;
|
|
}
|
|
|
|
// fn_0245B194 @ 0x245b194
|
|
void Gambit_fn_0245B194(CPUState* cpu) {
|
|
L_0245B194: ; // 0x245b194
|
|
/* 0245B194 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0245B198 */ goto L_0245B528;
|
|
L_0245B528: ; // 0x245b528
|
|
/* 0245B528 */ return;
|
|
}
|
|
|
|
// fn_0245B19C @ 0x245b19c
|
|
void Gambit_fn_0245B19C(CPUState* cpu) {
|
|
L_0245B19C: ; // 0x245b19c
|
|
/* 0245B19C */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0245B1A0 */ goto L_0245B52C;
|
|
L_0245B52C: ; // 0x245b52c
|
|
/* 0245B52C */ return;
|
|
}
|
|
|
|
// fn_0245B1A4 @ 0x245b1a4
|
|
void Gambit_fn_0245B1A4(CPUState* cpu) {
|
|
L_0245B1A4: ; // 0x245b1a4
|
|
/* 0245B1A4 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0245B1A8 */ goto L_0245B530;
|
|
L_0245B530: ; // 0x245b530
|
|
/* 0245B530 */ return;
|
|
}
|
|
|
|
// fn_0245B1AC @ 0x245b1ac
|
|
void Gambit_fn_0245B1AC(CPUState* cpu) {
|
|
L_0245B1AC: ; // 0x245b1ac
|
|
/* 0245B1AC */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0245B1B0 */ goto L_0245B534;
|
|
L_0245B534: ; // 0x245b534
|
|
/* 0245B534 */ return;
|
|
}
|
|
|
|
// fn_0245B1B4 @ 0x245b1b4
|
|
void Gambit_fn_0245B1B4(CPUState* cpu) {
|
|
L_0245B1B4: ; // 0x245b1b4
|
|
/* 0245B1B4 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0245B1B8 */ goto L_0245B538;
|
|
L_0245B538: ; // 0x245b538
|
|
/* 0245B538 */ cpu->r[3] = 0x00000001u;
|
|
/* 0245B53C */ return;
|
|
}
|
|
|
|
// fn_0245B1BC @ 0x245b1bc
|
|
void Gambit_fn_0245B1BC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0245B1BC: ; // 0x245b1bc
|
|
/* 0245B1BC */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0245B1C0 */ goto L_0245B540;
|
|
L_0245B540: ; // 0x245b540
|
|
/* 0245B540 */ _t0 = cpu->r[3] + 0x00000014u;
|
|
/* 0245B540 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 0245B544 */ return;
|
|
}
|
|
|
|
// fn_0245B1C4 @ 0x245b1c4
|
|
void Gambit_fn_0245B1C4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0245B1C4: ; // 0x245b1c4
|
|
/* 0245B1C4 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0245B1C8 */ goto L_0245B550;
|
|
L_0245B550: ; // 0x245b550
|
|
/* 0245B550 */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 0245B550 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 0245B554 */ return;
|
|
}
|
|
|
|
// fn_0245B1CC @ 0x245b1cc
|
|
void Gambit_fn_0245B1CC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0245B1CC: ; // 0x245b1cc
|
|
/* 0245B1CC */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0245B1D0 */ goto L_0245B558;
|
|
L_0245B558: ; // 0x245b558
|
|
/* 0245B558 */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 0245B558 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245B55C */ return;
|
|
}
|
|
|
|
// fn_0245B1D4 @ 0x245b1d4
|
|
void Gambit_fn_0245B1D4(CPUState* cpu) {
|
|
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_0245B1D4: ; // 0x245b1d4
|
|
/* 0245B1D4 */ cpu->r[0] = cpu->lr;
|
|
/* 0245B1D8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0245B1D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245B1D8 */ cpu->r[1] = _t0;
|
|
/* 0245B1DC */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0245B1DC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245B1E0 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0245B1E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0245B1E4 */ cpu->r[30] = cpu->r[5];
|
|
/* 0245B1E8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245B1E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0245B1EC */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B1EC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0245B1F0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245B1F0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0245B1F4 */ cpu->r[29] = cpu->r[4];
|
|
/* 0245B1F8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B1F8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0245B1F8 */ if (_t6) goto L_0245B1FC; else goto L_0245B20C;
|
|
L_0245B1FC: ; // 0x245b1fc
|
|
/* 0245B1FC */ cpu->r[3] = 0x00000040u;
|
|
/* 0245B200 */ Gambit_fn_02801A78(cpu);
|
|
/* 0245B204 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245B204 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0245B208 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B208 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0245B208 */ if (_t8) goto L_0245B260; else goto L_0245B20C;
|
|
L_0245B20C: ; // 0x245b20c
|
|
/* 0245B20C */ cpu->r[4] = 0x100A0000u;
|
|
/* 0245B210 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245B214 */ cpu->r[5] = 0x00000020u;
|
|
/* 0245B218 */ cpu->r[4] = cpu->r[4] + 0x00001620u;
|
|
/* 0245B21C */ Gambit_fn_026DD9F0(cpu);
|
|
/* 0245B220 */ _t9 = cpu->r[31] + 0x00000028u;
|
|
/* 0245B220 */ rbrew_write32(cpu->mem, _t9, cpu->r[29]);
|
|
/* 0245B224 */ cpu->r[10] = 0x00000000u;
|
|
/* 0245B228 */ _t10 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0245B228 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 0245B22C */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245B230 */ _t11 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0245B230 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 0245B234 */ cpu->r[11] = cpu->r[11] + 0x00001668u;
|
|
/* 0245B238 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245B23C */ _t12 = cpu->r[31] + 0x00000030u;
|
|
/* 0245B23C */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0245B240 */ cpu->r[12] = cpu->r[12] + 0x000016E0u;
|
|
/* 0245B244 */ _t13 = cpu->r[31] + 0x00000000u;
|
|
/* 0245B244 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 0245B248 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245B24C */ _t14 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0245B24C */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 0245B250 */ cpu->r[0] = cpu->r[0] + 0x000016F0u;
|
|
/* 0245B254 */ _t15 = cpu->r[31] + 0x00000038u;
|
|
/* 0245B254 */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
|
|
/* 0245B258 */ _t16 = cpu->r[31] + 0x00000010u;
|
|
/* 0245B258 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 0245B25C */ _t17 = cpu->r[31] + 0x00000034u;
|
|
/* 0245B25C */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
L_0245B260: ; // 0x245b260
|
|
/* 0245B260 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B260 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0245B264 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245B264 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0245B268 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245B26C */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 0245B26C */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0245B270 */ cpu->lr = cpu->r[0];
|
|
/* 0245B274 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 0245B274 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0245B278 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0245B27C */ return;
|
|
}
|
|
|
|
// fn_0245B1D8 @ 0x245b1d8
|
|
void Gambit_fn_0245B1D8(CPUState* cpu) {
|
|
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_0245B1D8: ; // 0x245b1d8
|
|
/* 0245B1D8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0245B1D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245B1D8 */ cpu->r[1] = _t0;
|
|
/* 0245B1DC */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0245B1DC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245B1E0 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0245B1E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0245B1E4 */ cpu->r[30] = cpu->r[5];
|
|
/* 0245B1E8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245B1E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0245B1EC */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B1EC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0245B1F0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245B1F0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0245B1F4 */ cpu->r[29] = cpu->r[4];
|
|
/* 0245B1F8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B1F8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0245B1F8 */ if (_t6) goto L_0245B1FC; else goto L_0245B20C;
|
|
L_0245B1FC: ; // 0x245b1fc
|
|
/* 0245B1FC */ cpu->r[3] = 0x00000040u;
|
|
/* 0245B200 */ Gambit_fn_02801A78(cpu);
|
|
/* 0245B204 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245B204 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0245B208 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B208 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0245B208 */ if (_t8) goto L_0245B260; else goto L_0245B20C;
|
|
L_0245B20C: ; // 0x245b20c
|
|
/* 0245B20C */ cpu->r[4] = 0x100A0000u;
|
|
/* 0245B210 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245B214 */ cpu->r[5] = 0x00000020u;
|
|
/* 0245B218 */ cpu->r[4] = cpu->r[4] + 0x00001620u;
|
|
/* 0245B21C */ Gambit_fn_026DD9F0(cpu);
|
|
/* 0245B220 */ _t9 = cpu->r[31] + 0x00000028u;
|
|
/* 0245B220 */ rbrew_write32(cpu->mem, _t9, cpu->r[29]);
|
|
/* 0245B224 */ cpu->r[10] = 0x00000000u;
|
|
/* 0245B228 */ _t10 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0245B228 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 0245B22C */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245B230 */ _t11 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0245B230 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 0245B234 */ cpu->r[11] = cpu->r[11] + 0x00001668u;
|
|
/* 0245B238 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245B23C */ _t12 = cpu->r[31] + 0x00000030u;
|
|
/* 0245B23C */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0245B240 */ cpu->r[12] = cpu->r[12] + 0x000016E0u;
|
|
/* 0245B244 */ _t13 = cpu->r[31] + 0x00000000u;
|
|
/* 0245B244 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 0245B248 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245B24C */ _t14 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0245B24C */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 0245B250 */ cpu->r[0] = cpu->r[0] + 0x000016F0u;
|
|
/* 0245B254 */ _t15 = cpu->r[31] + 0x00000038u;
|
|
/* 0245B254 */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
|
|
/* 0245B258 */ _t16 = cpu->r[31] + 0x00000010u;
|
|
/* 0245B258 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 0245B25C */ _t17 = cpu->r[31] + 0x00000034u;
|
|
/* 0245B25C */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
L_0245B260: ; // 0x245b260
|
|
/* 0245B260 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B260 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0245B264 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245B264 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0245B268 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245B26C */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 0245B26C */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0245B270 */ cpu->lr = cpu->r[0];
|
|
/* 0245B274 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 0245B274 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0245B278 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0245B27C */ return;
|
|
}
|
|
|
|
// fn_0245B280 @ 0x245b280
|
|
void Gambit_fn_0245B280(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0245B280: ; // 0x245b280
|
|
/* 0245B280 */ cpu->r[0] = cpu->lr;
|
|
/* 0245B284 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245B284 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245B284 */ cpu->r[1] = _t0;
|
|
/* 0245B288 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B288 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245B28C */ cpu->r[31] = cpu->r[3];
|
|
/* 0245B290 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0245B294 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0245B294 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0245B298 */ _t3 = cpu->r[3] + 0x00003400u;
|
|
/* 0245B298 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0245B29C */ Gambit_fn_0206C030(cpu);
|
|
/* 0245B2A0 */ _t4 = cpu->r[31] + 0x00000028u;
|
|
/* 0245B2A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0245B2A4 */ cpu->r[5] = 0x00000001u;
|
|
/* 0245B2A8 */ _t5 = cpu->r[31] + 0x00000030u;
|
|
/* 0245B2A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0245B2AC */ Gambit_fn_027ECB34(cpu);
|
|
/* 0245B2B0 */ _t6 = cpu->r[31] + 0x00000030u;
|
|
/* 0245B2B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0245B2B4 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 0245B2B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0245B2B8 */ _t8 = cpu->r[12] + 0x00000164u;
|
|
/* 0245B2B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0245B2BC */ cpu->ctr = cpu->r[0];
|
|
/* 0245B2C0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245B2C4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0245B2C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0245B2C8 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B2C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0245B2CC */ cpu->lr = cpu->r[0];
|
|
/* 0245B2D0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245B2D4 */ return;
|
|
}
|
|
|
|
// fn_0245B284 @ 0x245b284
|
|
void Gambit_fn_0245B284(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0245B284: ; // 0x245b284
|
|
/* 0245B284 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245B284 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245B284 */ cpu->r[1] = _t0;
|
|
/* 0245B288 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B288 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245B28C */ cpu->r[31] = cpu->r[3];
|
|
/* 0245B290 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0245B294 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0245B294 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0245B298 */ _t3 = cpu->r[3] + 0x00003400u;
|
|
/* 0245B298 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0245B29C */ Gambit_fn_0206C030(cpu);
|
|
/* 0245B2A0 */ _t4 = cpu->r[31] + 0x00000028u;
|
|
/* 0245B2A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0245B2A4 */ cpu->r[5] = 0x00000001u;
|
|
/* 0245B2A8 */ _t5 = cpu->r[31] + 0x00000030u;
|
|
/* 0245B2A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0245B2AC */ Gambit_fn_027ECB34(cpu);
|
|
/* 0245B2B0 */ _t6 = cpu->r[31] + 0x00000030u;
|
|
/* 0245B2B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0245B2B4 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 0245B2B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0245B2B8 */ _t8 = cpu->r[12] + 0x00000164u;
|
|
/* 0245B2B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0245B2BC */ cpu->ctr = cpu->r[0];
|
|
/* 0245B2C0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245B2C4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0245B2C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0245B2C8 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B2C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0245B2CC */ cpu->lr = cpu->r[0];
|
|
/* 0245B2D0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245B2D4 */ return;
|
|
}
|
|
|
|
// fn_0245B2D8 @ 0x245b2d8
|
|
void Gambit_fn_0245B2D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0245B2D8: ; // 0x245b2d8
|
|
/* 0245B2D8 */ _t0 = cpu->r[3] + 0x00000034u;
|
|
/* 0245B2D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245B2DC */ _t1 = cpu->r[12] + 0x00000118u;
|
|
/* 0245B2DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0245B2E0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 0245B2E4 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0245B2E8 */ cpu->r[3] = cpu->r[12] - cpu->r[0];
|
|
/* 0245B2EC */ return;
|
|
}
|
|
|
|
// fn_0245B2F0 @ 0x245b2f0
|
|
void Gambit_fn_0245B2F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0245B2F0: ; // 0x245b2f0
|
|
/* 0245B2F0 */ cpu->r[0] = cpu->lr;
|
|
/* 0245B2F4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245B2F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245B2F4 */ cpu->r[1] = _t0;
|
|
/* 0245B2F8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B2F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245B2FC */ cpu->r[31] = cpu->r[3];
|
|
/* 0245B300 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0245B304 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0245B304 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0245B308 */ _t3 = cpu->r[3] + 0x00003400u;
|
|
/* 0245B308 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0245B30C */ Gambit_fn_0206C030(cpu);
|
|
/* 0245B310 */ _t4 = cpu->r[31] + 0x00000028u;
|
|
/* 0245B310 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0245B314 */ cpu->r[5] = 0x00000001u;
|
|
/* 0245B318 */ _t5 = cpu->r[31] + 0x00000034u;
|
|
/* 0245B318 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0245B31C */ Gambit_fn_027ECB34(cpu);
|
|
/* 0245B320 */ _t6 = cpu->r[31] + 0x00000034u;
|
|
/* 0245B320 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0245B324 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 0245B324 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0245B328 */ _t8 = cpu->r[12] + 0x00000164u;
|
|
/* 0245B328 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0245B32C */ cpu->ctr = cpu->r[0];
|
|
/* 0245B330 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245B334 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0245B334 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0245B338 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B338 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0245B33C */ cpu->lr = cpu->r[0];
|
|
/* 0245B340 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245B344 */ return;
|
|
}
|
|
|
|
// fn_0245B2F4 @ 0x245b2f4
|
|
void Gambit_fn_0245B2F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0245B2F4: ; // 0x245b2f4
|
|
/* 0245B2F4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245B2F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245B2F4 */ cpu->r[1] = _t0;
|
|
/* 0245B2F8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B2F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245B2FC */ cpu->r[31] = cpu->r[3];
|
|
/* 0245B300 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0245B304 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0245B304 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0245B308 */ _t3 = cpu->r[3] + 0x00003400u;
|
|
/* 0245B308 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0245B30C */ Gambit_fn_0206C030(cpu);
|
|
/* 0245B310 */ _t4 = cpu->r[31] + 0x00000028u;
|
|
/* 0245B310 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0245B314 */ cpu->r[5] = 0x00000001u;
|
|
/* 0245B318 */ _t5 = cpu->r[31] + 0x00000034u;
|
|
/* 0245B318 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0245B31C */ Gambit_fn_027ECB34(cpu);
|
|
/* 0245B320 */ _t6 = cpu->r[31] + 0x00000034u;
|
|
/* 0245B320 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0245B324 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 0245B324 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0245B328 */ _t8 = cpu->r[12] + 0x00000164u;
|
|
/* 0245B328 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0245B32C */ cpu->ctr = cpu->r[0];
|
|
/* 0245B330 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245B334 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0245B334 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0245B338 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B338 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0245B33C */ cpu->lr = cpu->r[0];
|
|
/* 0245B340 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245B344 */ return;
|
|
}
|
|
|
|
// fn_0245B348 @ 0x245b348
|
|
void Gambit_fn_0245B348(CPUState* cpu) {
|
|
uint32_t _t0, _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_0245B348: ; // 0x245b348
|
|
/* 0245B348 */ cpu->r[0] = cpu->lr;
|
|
/* 0245B34C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245B34C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245B34C */ cpu->r[1] = _t0;
|
|
/* 0245B350 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0245B350 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0245B354 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B354 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0245B358 */ cpu->r[30] = cpu->r[3];
|
|
/* 0245B35C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0245B35C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0245B360 */ _t4 = cpu->r[30] + 0x00000038u;
|
|
/* 0245B360 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0245B364 */ _t5 = cpu->r[3] + 0x00000118u;
|
|
/* 0245B364 */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0245B368 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 0245B368 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0245B36C */ cpu->r[31] = cpu->r[4];
|
|
/* 0245B370 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B370 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0245B370 */ if (_t7) goto L_0245B374; else goto L_0245B394;
|
|
L_0245B374: ; // 0x245b374
|
|
/* 0245B374 */ _t8 = cpu->r[3] + 0x00000220u;
|
|
/* 0245B374 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0245B378 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[9]);
|
|
/* 0245B37C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B37C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0245B37C */ if (_t10) goto L_0245B394; else goto L_0245B380;
|
|
L_0245B380: ; // 0x245b380
|
|
/* 0245B380 */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 0245B380 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0245B384 */ _t12 = cpu->r[10] + 0x00000094u;
|
|
/* 0245B384 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0245B388 */ cpu->ctr = cpu->r[11];
|
|
/* 0245B38C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245B390 */ _t13 = cpu->r[30] + 0x00000038u;
|
|
/* 0245B390 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
L_0245B394: ; // 0x245b394
|
|
/* 0245B394 */ _t14 = cpu->r[3] + 0x00000118u;
|
|
/* 0245B394 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0245B398 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 0245B398 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0245B39C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B39C */ _t16 = _t15 & 0x00000001u;
|
|
/* 0245B39C */ if (_t16) goto L_0245B3D4; else goto L_0245B3A0;
|
|
L_0245B3A0: ; // 0x245b3a0
|
|
/* 0245B3A0 */ Gambit_fn_027ECBB4(cpu);
|
|
/* 0245B3A4 */ _t17 = cpu->r[30] + 0x00000038u;
|
|
/* 0245B3A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0245B3A8 */ cpu->r[4] = 0x00000012u;
|
|
/* 0245B3AC */ cpu->r[5] = 0x00000001u;
|
|
/* 0245B3B0 */ Gambit_fn_027ECB34(cpu);
|
|
/* 0245B3B4 */ _t18 = cpu->r[30] + 0x00000038u;
|
|
/* 0245B3B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0245B3B8 */ cpu->r[4] = cpu->r[31];
|
|
/* 0245B3BC */ Gambit_fn_0245ACA8(cpu);
|
|
/* 0245B3C0 */ _t19 = cpu->r[30] + 0x00000038u;
|
|
/* 0245B3C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0245B3C4 */ _t20 = cpu->r[3] + 0x00000000u;
|
|
/* 0245B3C4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0245B3C8 */ _t21 = cpu->r[5] + 0x00000164u;
|
|
/* 0245B3C8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0245B3CC */ cpu->ctr = cpu->r[6];
|
|
/* 0245B3D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0245B3D4: ; // 0x245b3d4
|
|
/* 0245B3D4 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 0245B3D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0245B3D8 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 0245B3D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0245B3DC */ cpu->lr = cpu->r[0];
|
|
/* 0245B3E0 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B3E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0245B3E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245B3E8 */ return;
|
|
}
|
|
|
|
// fn_0245B34C @ 0x245b34c
|
|
void Gambit_fn_0245B34C(CPUState* cpu) {
|
|
uint32_t _t0, _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_0245B34C: ; // 0x245b34c
|
|
/* 0245B34C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245B34C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245B34C */ cpu->r[1] = _t0;
|
|
/* 0245B350 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0245B350 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0245B354 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B354 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0245B358 */ cpu->r[30] = cpu->r[3];
|
|
/* 0245B35C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0245B35C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0245B360 */ _t4 = cpu->r[30] + 0x00000038u;
|
|
/* 0245B360 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0245B364 */ _t5 = cpu->r[3] + 0x00000118u;
|
|
/* 0245B364 */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0245B368 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 0245B368 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0245B36C */ cpu->r[31] = cpu->r[4];
|
|
/* 0245B370 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B370 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0245B370 */ if (_t7) goto L_0245B374; else goto L_0245B394;
|
|
L_0245B374: ; // 0x245b374
|
|
/* 0245B374 */ _t8 = cpu->r[3] + 0x00000220u;
|
|
/* 0245B374 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0245B378 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[9]);
|
|
/* 0245B37C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B37C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0245B37C */ if (_t10) goto L_0245B394; else goto L_0245B380;
|
|
L_0245B380: ; // 0x245b380
|
|
/* 0245B380 */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 0245B380 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0245B384 */ _t12 = cpu->r[10] + 0x00000094u;
|
|
/* 0245B384 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0245B388 */ cpu->ctr = cpu->r[11];
|
|
/* 0245B38C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245B390 */ _t13 = cpu->r[30] + 0x00000038u;
|
|
/* 0245B390 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
L_0245B394: ; // 0x245b394
|
|
/* 0245B394 */ _t14 = cpu->r[3] + 0x00000118u;
|
|
/* 0245B394 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0245B398 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 0245B398 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0245B39C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B39C */ _t16 = _t15 & 0x00000001u;
|
|
/* 0245B39C */ if (_t16) goto L_0245B3D4; else goto L_0245B3A0;
|
|
L_0245B3A0: ; // 0x245b3a0
|
|
/* 0245B3A0 */ Gambit_fn_027ECBB4(cpu);
|
|
/* 0245B3A4 */ _t17 = cpu->r[30] + 0x00000038u;
|
|
/* 0245B3A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0245B3A8 */ cpu->r[4] = 0x00000012u;
|
|
/* 0245B3AC */ cpu->r[5] = 0x00000001u;
|
|
/* 0245B3B0 */ Gambit_fn_027ECB34(cpu);
|
|
/* 0245B3B4 */ _t18 = cpu->r[30] + 0x00000038u;
|
|
/* 0245B3B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0245B3B8 */ cpu->r[4] = cpu->r[31];
|
|
/* 0245B3BC */ Gambit_fn_0245ACA8(cpu);
|
|
/* 0245B3C0 */ _t19 = cpu->r[30] + 0x00000038u;
|
|
/* 0245B3C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0245B3C4 */ _t20 = cpu->r[3] + 0x00000000u;
|
|
/* 0245B3C4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0245B3C8 */ _t21 = cpu->r[5] + 0x00000164u;
|
|
/* 0245B3C8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0245B3CC */ cpu->ctr = cpu->r[6];
|
|
/* 0245B3D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0245B3D4: ; // 0x245b3d4
|
|
/* 0245B3D4 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 0245B3D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0245B3D8 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 0245B3D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0245B3DC */ cpu->lr = cpu->r[0];
|
|
/* 0245B3E0 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B3E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0245B3E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245B3E8 */ return;
|
|
}
|
|
|
|
// fn_0245B3EC @ 0x245b3ec
|
|
void Gambit_fn_0245B3EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_0245B3EC: ; // 0x245b3ec
|
|
/* 0245B3EC */ cpu->r[0] = cpu->lr;
|
|
/* 0245B3F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245B3F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245B3F0 */ cpu->r[1] = _t0;
|
|
/* 0245B3F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B3F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245B3F8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245B3FC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0245B3FC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0245B400 */ _t3 = cpu->r[31] + 0x00000038u;
|
|
/* 0245B400 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0245B404 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 0245B404 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0245B408 */ _t5 = cpu->r[12] + 0x00000184u;
|
|
/* 0245B408 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0245B40C */ cpu->ctr = cpu->r[11];
|
|
/* 0245B410 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245B414 */ _t6 = cpu->r[31] + 0x00000038u;
|
|
/* 0245B414 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0245B418 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0245B41C */ _t7 = cpu->r[12] + 0x00000000u;
|
|
/* 0245B41C */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0245B420 */ cpu->r[3] = cpu->r[12];
|
|
/* 0245B424 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B424 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0245B424 */ if (_t9) goto L_0245B448; else goto L_0245B428;
|
|
L_0245B428: ; // 0x245b428
|
|
/* 0245B428 */ _t10 = cpu->r[11] + 0x0000016Cu;
|
|
/* 0245B428 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0245B42C */ cpu->ctr = cpu->r[0];
|
|
/* 0245B430 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245B434 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0245B434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0245B438 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B438 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0245B43C */ cpu->lr = cpu->r[0];
|
|
/* 0245B440 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245B444 */ return;
|
|
L_0245B448: ; // 0x245b448
|
|
/* 0245B448 */ _t13 = cpu->r[11] + 0x00000094u;
|
|
/* 0245B448 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0245B44C */ cpu->ctr = cpu->r[0];
|
|
/* 0245B450 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245B454 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 0245B454 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0245B458 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B458 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0245B45C */ cpu->lr = cpu->r[0];
|
|
/* 0245B460 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245B464 */ return;
|
|
}
|
|
|
|
// fn_0245B3F0 @ 0x245b3f0
|
|
void Gambit_fn_0245B3F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_0245B3F0: ; // 0x245b3f0
|
|
/* 0245B3F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245B3F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245B3F0 */ cpu->r[1] = _t0;
|
|
/* 0245B3F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B3F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245B3F8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245B3FC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0245B3FC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0245B400 */ _t3 = cpu->r[31] + 0x00000038u;
|
|
/* 0245B400 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0245B404 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 0245B404 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0245B408 */ _t5 = cpu->r[12] + 0x00000184u;
|
|
/* 0245B408 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0245B40C */ cpu->ctr = cpu->r[11];
|
|
/* 0245B410 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245B414 */ _t6 = cpu->r[31] + 0x00000038u;
|
|
/* 0245B414 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0245B418 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0245B41C */ _t7 = cpu->r[12] + 0x00000000u;
|
|
/* 0245B41C */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0245B420 */ cpu->r[3] = cpu->r[12];
|
|
/* 0245B424 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B424 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0245B424 */ if (_t9) goto L_0245B448; else goto L_0245B428;
|
|
L_0245B428: ; // 0x245b428
|
|
/* 0245B428 */ _t10 = cpu->r[11] + 0x0000016Cu;
|
|
/* 0245B428 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0245B42C */ cpu->ctr = cpu->r[0];
|
|
/* 0245B430 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245B434 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0245B434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0245B438 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B438 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0245B43C */ cpu->lr = cpu->r[0];
|
|
/* 0245B440 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245B444 */ return;
|
|
L_0245B448: ; // 0x245b448
|
|
/* 0245B448 */ _t13 = cpu->r[11] + 0x00000094u;
|
|
/* 0245B448 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0245B44C */ cpu->ctr = cpu->r[0];
|
|
/* 0245B450 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245B454 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 0245B454 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0245B458 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B458 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0245B45C */ cpu->lr = cpu->r[0];
|
|
/* 0245B460 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245B464 */ return;
|
|
}
|
|
|
|
// fn_0245B468 @ 0x245b468
|
|
void Gambit_fn_0245B468(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0245B468: ; // 0x245b468
|
|
/* 0245B468 */ _t0 = cpu->r[3] + 0x00000038u;
|
|
/* 0245B468 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245B46C */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 0245B46C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0245B470 */ _t2 = cpu->r[12] + 0x00000184u;
|
|
/* 0245B470 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0245B474 */ cpu->ctr = cpu->r[0];
|
|
/* 0245B478 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0245B47C @ 0x245b47c
|
|
void Gambit_fn_0245B47C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0245B47C: ; // 0x245b47c
|
|
/* 0245B47C */ _t0 = cpu->r[3] + 0x0000003Cu;
|
|
/* 0245B47C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245B480 */ _t1 = cpu->r[12] + 0x00000118u;
|
|
/* 0245B480 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0245B484 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 0245B488 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0245B48C */ cpu->r[3] = cpu->r[12] - cpu->r[0];
|
|
/* 0245B490 */ return;
|
|
}
|
|
|
|
// fn_0245B494 @ 0x245b494
|
|
void Gambit_fn_0245B494(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_0245B494: ; // 0x245b494
|
|
/* 0245B494 */ cpu->r[0] = cpu->lr;
|
|
/* 0245B498 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245B498 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245B498 */ cpu->r[1] = _t0;
|
|
/* 0245B49C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B49C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245B4A0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0245B4A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0245B4A4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0245B4A8 */ cpu->r[31] = cpu->r[4];
|
|
/* 0245B4AC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0245B4AC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0245B4B0 */ Gambit_fn_0245B47C(cpu);
|
|
/* 0245B4B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0245B4B8 */ _t4 = cpu->r[30] + 0x0000003Cu;
|
|
/* 0245B4B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0245B4BC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B4BC */ _t6 = _t5 & 0x00000001u;
|
|
/* 0245B4BC */ if (_t6) goto L_0245B504; else goto L_0245B4C0;
|
|
L_0245B4C0: ; // 0x245b4c0
|
|
/* 0245B4C0 */ _t7 = cpu->r[30] + 0x00000028u;
|
|
/* 0245B4C0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0245B4C4 */ cpu->r[5] = 0x00000001u;
|
|
/* 0245B4C8 */ Gambit_fn_027ECB34(cpu);
|
|
/* 0245B4CC */ _t8 = cpu->r[30] + 0x0000003Cu;
|
|
/* 0245B4CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0245B4D0 */ cpu->r[4] = cpu->r[31];
|
|
/* 0245B4D4 */ Gambit_fn_0245A800(cpu);
|
|
/* 0245B4D8 */ _t9 = cpu->r[30] + 0x0000003Cu;
|
|
/* 0245B4D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0245B4DC */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 0245B4DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0245B4E0 */ _t11 = cpu->r[12] + 0x00000164u;
|
|
/* 0245B4E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0245B4E4 */ cpu->ctr = cpu->r[0];
|
|
/* 0245B4E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245B4EC */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0245B4EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0245B4F0 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 0245B4F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0245B4F4 */ cpu->lr = cpu->r[0];
|
|
/* 0245B4F8 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B4F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0245B4FC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245B500 */ return;
|
|
L_0245B504: ; // 0x245b504
|
|
/* 0245B504 */ cpu->r[4] = cpu->r[31];
|
|
/* 0245B508 */ Gambit_fn_0245A800(cpu);
|
|
/* 0245B50C */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 0245B50C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0245B510 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 0245B510 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0245B514 */ cpu->lr = cpu->r[0];
|
|
/* 0245B518 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B518 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0245B51C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245B520 */ return;
|
|
}
|
|
|
|
// fn_0245B498 @ 0x245b498
|
|
void Gambit_fn_0245B498(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_0245B498: ; // 0x245b498
|
|
/* 0245B498 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245B498 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245B498 */ cpu->r[1] = _t0;
|
|
/* 0245B49C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B49C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245B4A0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0245B4A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0245B4A4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0245B4A8 */ cpu->r[31] = cpu->r[4];
|
|
/* 0245B4AC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0245B4AC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0245B4B0 */ Gambit_fn_0245B47C(cpu);
|
|
/* 0245B4B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0245B4B8 */ _t4 = cpu->r[30] + 0x0000003Cu;
|
|
/* 0245B4B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0245B4BC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B4BC */ _t6 = _t5 & 0x00000001u;
|
|
/* 0245B4BC */ if (_t6) goto L_0245B504; else goto L_0245B4C0;
|
|
L_0245B4C0: ; // 0x245b4c0
|
|
/* 0245B4C0 */ _t7 = cpu->r[30] + 0x00000028u;
|
|
/* 0245B4C0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0245B4C4 */ cpu->r[5] = 0x00000001u;
|
|
/* 0245B4C8 */ Gambit_fn_027ECB34(cpu);
|
|
/* 0245B4CC */ _t8 = cpu->r[30] + 0x0000003Cu;
|
|
/* 0245B4CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0245B4D0 */ cpu->r[4] = cpu->r[31];
|
|
/* 0245B4D4 */ Gambit_fn_0245A800(cpu);
|
|
/* 0245B4D8 */ _t9 = cpu->r[30] + 0x0000003Cu;
|
|
/* 0245B4D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0245B4DC */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 0245B4DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0245B4E0 */ _t11 = cpu->r[12] + 0x00000164u;
|
|
/* 0245B4E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0245B4E4 */ cpu->ctr = cpu->r[0];
|
|
/* 0245B4E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245B4EC */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0245B4EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0245B4F0 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 0245B4F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0245B4F4 */ cpu->lr = cpu->r[0];
|
|
/* 0245B4F8 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B4F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0245B4FC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245B500 */ return;
|
|
L_0245B504: ; // 0x245b504
|
|
/* 0245B504 */ cpu->r[4] = cpu->r[31];
|
|
/* 0245B508 */ Gambit_fn_0245A800(cpu);
|
|
/* 0245B50C */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 0245B50C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0245B510 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 0245B510 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0245B514 */ cpu->lr = cpu->r[0];
|
|
/* 0245B518 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B518 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0245B51C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245B520 */ return;
|
|
}
|
|
|
|
// fn_0245B524 @ 0x245b524
|
|
void Gambit_fn_0245B524(CPUState* cpu) {
|
|
L_0245B524: ; // 0x245b524
|
|
/* 0245B524 */ return;
|
|
}
|
|
|
|
// fn_0245B528 @ 0x245b528
|
|
void Gambit_fn_0245B528(CPUState* cpu) {
|
|
L_0245B528: ; // 0x245b528
|
|
/* 0245B528 */ return;
|
|
}
|
|
|
|
// fn_0245B52C @ 0x245b52c
|
|
void Gambit_fn_0245B52C(CPUState* cpu) {
|
|
L_0245B52C: ; // 0x245b52c
|
|
/* 0245B52C */ return;
|
|
}
|
|
|
|
// fn_0245B530 @ 0x245b530
|
|
void Gambit_fn_0245B530(CPUState* cpu) {
|
|
L_0245B530: ; // 0x245b530
|
|
/* 0245B530 */ return;
|
|
}
|
|
|
|
// fn_0245B534 @ 0x245b534
|
|
void Gambit_fn_0245B534(CPUState* cpu) {
|
|
L_0245B534: ; // 0x245b534
|
|
/* 0245B534 */ return;
|
|
}
|
|
|
|
// fn_0245B538 @ 0x245b538
|
|
void Gambit_fn_0245B538(CPUState* cpu) {
|
|
L_0245B538: ; // 0x245b538
|
|
/* 0245B538 */ cpu->r[3] = 0x00000001u;
|
|
/* 0245B53C */ return;
|
|
}
|
|
|
|
// fn_0245B540 @ 0x245b540
|
|
void Gambit_fn_0245B540(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0245B540: ; // 0x245b540
|
|
/* 0245B540 */ _t0 = cpu->r[3] + 0x00000014u;
|
|
/* 0245B540 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 0245B544 */ return;
|
|
}
|
|
|
|
// fn_0245B548 @ 0x245b548
|
|
void Gambit_fn_0245B548(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0245B548: ; // 0x245b548
|
|
/* 0245B548 */ _t0 = cpu->r[3] + 0x00000014u;
|
|
/* 0245B548 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245B54C */ return;
|
|
}
|
|
|
|
// fn_0245B550 @ 0x245b550
|
|
void Gambit_fn_0245B550(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0245B550: ; // 0x245b550
|
|
/* 0245B550 */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 0245B550 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 0245B554 */ return;
|
|
}
|
|
|
|
// fn_0245B558 @ 0x245b558
|
|
void Gambit_fn_0245B558(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0245B558: ; // 0x245b558
|
|
/* 0245B558 */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 0245B558 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245B55C */ return;
|
|
}
|
|
|
|
// fn_0245B560 @ 0x245b560
|
|
void Gambit_fn_0245B560(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0245B560: ; // 0x245b560
|
|
/* 0245B560 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0245B560 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245B564 */ return;
|
|
}
|
|
|
|
// fn_0245B568 @ 0x245b568
|
|
void Gambit_fn_0245B568(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0245B568: ; // 0x245b568
|
|
/* 0245B568 */ cpu->r[0] = cpu->lr;
|
|
/* 0245B56C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245B56C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245B56C */ cpu->r[1] = _t0;
|
|
/* 0245B570 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B570 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245B574 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0245B574 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0245B578 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 0245B578 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0245B57C */ cpu->r[31] = cpu->r[3];
|
|
/* 0245B580 */ /* nop */
|
|
/* 0245B584 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0245B588 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245B58C */ Gambit_fn_0245B5A4(cpu);
|
|
/* 0245B590 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0245B590 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0245B594 */ cpu->lr = cpu->r[0];
|
|
/* 0245B598 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0245B59C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245B5A0 */ return;
|
|
}
|
|
|
|
// fn_0245B56C @ 0x245b56c
|
|
void Gambit_fn_0245B56C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0245B56C: ; // 0x245b56c
|
|
/* 0245B56C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245B56C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245B56C */ cpu->r[1] = _t0;
|
|
/* 0245B570 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B570 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245B574 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0245B574 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0245B578 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 0245B578 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0245B57C */ cpu->r[31] = cpu->r[3];
|
|
/* 0245B580 */ /* nop */
|
|
/* 0245B584 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0245B588 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245B58C */ Gambit_fn_0245B5A4(cpu);
|
|
/* 0245B590 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0245B590 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0245B594 */ cpu->lr = cpu->r[0];
|
|
/* 0245B598 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0245B59C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245B5A0 */ return;
|
|
}
|
|
|
|
// fn_0245B5A4 @ 0x245b5a4
|
|
void Gambit_fn_0245B5A4(CPUState* 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_0245B5A4: ; // 0x245b5a4
|
|
/* 0245B5A4 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0245B5A4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0245B5A8 */ /* nop */
|
|
/* 0245B5AC */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 0245B5AC */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0245B5B0 */ cpu->r[8] = cpu->r[0];
|
|
/* 0245B5B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 0245B5B8 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 0245B5B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0245B5BC */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245B5BC */ _t4 = _t3 & 0x00000001u;
|
|
/* 0245B5BC */ if (_t4) goto L_0245B5C0; else goto L_0245B5D8;
|
|
L_0245B5C0: ; // 0x245b5c0
|
|
/* 0245B5C0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0245B5C4 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 0245B5C8 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 0245B5C8 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 0245B5CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0245B5D0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B5D0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0245B5D0 */ if (_t7) goto L_0245B5D4; else goto L_0245B5E4;
|
|
L_0245B5D4: ; // 0x245b5d4
|
|
/* 0245B5D4 */ return;
|
|
L_0245B5D8: ; // 0x245b5d8
|
|
/* 0245B5D8 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 0245B5D8 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 0245B5DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0245B5E0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B5E0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0245B5E0 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0245B5E0 */ goto L_0245B5E4;
|
|
L_0245B5E4: ; // 0x245b5e4
|
|
/* 0245B5E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 0245B5E8 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0245B5E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0245B5EC */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245B5EC */ _t13 = _t12 & 0x00000001u;
|
|
/* 0245B5EC */ if (_t13) goto L_0245B5F0; else goto L_0245B5F8;
|
|
L_0245B5F0: ; // 0x245b5f0
|
|
/* 0245B5F0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0245B5F4 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_0245B5F8: ; // 0x245b5f8
|
|
/* 0245B5F8 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 0245B5F8 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 0245B5FC */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 0245B5FC */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 0245B600 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0245B604 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 0245B604 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0245B608 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 0245B60C */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245B60C */ _t18 = _t17 & 0x00000001u;
|
|
/* 0245B60C */ if (_t18) goto L_0245B624; else goto L_0245B610;
|
|
L_0245B610: ; // 0x245b610
|
|
/* 0245B610 */ /* nop */
|
|
/* 0245B614 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 0245B614 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0245B618 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0245B61C */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 0245B620 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 0245B620 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_0245B624: ; // 0x245b624
|
|
/* 0245B624 */ cpu->ctr = cpu->r[11];
|
|
/* 0245B628 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0245B62C @ 0x245b62c
|
|
void Gambit_fn_0245B62C(CPUState* 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_0245B62C: ; // 0x245b62c
|
|
/* 0245B62C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0245B62C */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0245B630 */ /* nop */
|
|
/* 0245B634 */ _t1 = cpu->r[3] + 0x00000028u;
|
|
/* 0245B634 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0245B638 */ cpu->r[8] = cpu->r[0];
|
|
/* 0245B63C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 0245B640 */ _t2 = cpu->r[3] + 0x0000002Cu;
|
|
/* 0245B640 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0245B644 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245B644 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0245B644 */ if (_t4) goto L_0245B648; else goto L_0245B660;
|
|
L_0245B648: ; // 0x245b648
|
|
/* 0245B648 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0245B64C */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 0245B650 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 0245B650 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 0245B654 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0245B658 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B658 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0245B658 */ if (_t7) goto L_0245B65C; else goto L_0245B66C;
|
|
L_0245B65C: ; // 0x245b65c
|
|
/* 0245B65C */ return;
|
|
L_0245B660: ; // 0x245b660
|
|
/* 0245B660 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 0245B660 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 0245B664 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0245B668 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B668 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0245B668 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0245B668 */ goto L_0245B66C;
|
|
L_0245B66C: ; // 0x245b66c
|
|
/* 0245B66C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 0245B670 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0245B670 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0245B674 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245B674 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0245B674 */ if (_t13) goto L_0245B678; else goto L_0245B680;
|
|
L_0245B678: ; // 0x245b678
|
|
/* 0245B678 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0245B67C */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_0245B680: ; // 0x245b680
|
|
/* 0245B680 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 0245B680 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 0245B684 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 0245B684 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 0245B688 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0245B68C */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 0245B68C */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0245B690 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 0245B694 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245B694 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0245B694 */ if (_t18) goto L_0245B6AC; else goto L_0245B698;
|
|
L_0245B698: ; // 0x245b698
|
|
/* 0245B698 */ /* nop */
|
|
/* 0245B69C */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 0245B69C */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0245B6A0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0245B6A4 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 0245B6A8 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 0245B6A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_0245B6AC: ; // 0x245b6ac
|
|
/* 0245B6AC */ cpu->ctr = cpu->r[11];
|
|
/* 0245B6B0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0245B6B4 @ 0x245b6b4
|
|
void Gambit_fn_0245B6B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0245B6B4: ; // 0x245b6b4
|
|
/* 0245B6B4 */ cpu->r[0] = cpu->lr;
|
|
/* 0245B6B8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245B6B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245B6B8 */ cpu->r[1] = _t0;
|
|
/* 0245B6BC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B6BC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245B6C0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245B6C4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0245B6C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0245B6C8 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 0245B6C8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0245B6CC */ cpu->r[12] = 0x00000000u;
|
|
/* 0245B6D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0245B6D4 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0245B6D4 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 0245B6D8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B6D8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0245B6D8 */ if (_t6) goto L_0245B700; else goto L_0245B6DC;
|
|
L_0245B6DC: ; // 0x245b6dc
|
|
/* 0245B6DC */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0245B6DC */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0245B6E0 */ /* nop */
|
|
/* 0245B6E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 0245B6E8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B6E8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0245B6E8 */ if (_t9) goto L_0245B6EC; else goto L_0245B700;
|
|
L_0245B6EC: ; // 0x245b6ec
|
|
/* 0245B6EC */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0245B6EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0245B6F0 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 0245B6F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0245B6F4 */ cpu->ctr = cpu->r[0];
|
|
/* 0245B6F8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245B6FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0245B700: ; // 0x245b700
|
|
/* 0245B700 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245B704 */ Gambit_fn_0245B62C(cpu);
|
|
/* 0245B708 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245B70C */ Gambit_fn_027FC37C(cpu);
|
|
/* 0245B710 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0245B710 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0245B714 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B714 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0245B718 */ cpu->lr = cpu->r[0];
|
|
/* 0245B71C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245B720 */ return;
|
|
}
|
|
|
|
// fn_0245B6B8 @ 0x245b6b8
|
|
void Gambit_fn_0245B6B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0245B6B8: ; // 0x245b6b8
|
|
/* 0245B6B8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245B6B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245B6B8 */ cpu->r[1] = _t0;
|
|
/* 0245B6BC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B6BC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245B6C0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245B6C4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0245B6C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0245B6C8 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 0245B6C8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0245B6CC */ cpu->r[12] = 0x00000000u;
|
|
/* 0245B6D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0245B6D4 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0245B6D4 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 0245B6D8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B6D8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0245B6D8 */ if (_t6) goto L_0245B700; else goto L_0245B6DC;
|
|
L_0245B6DC: ; // 0x245b6dc
|
|
/* 0245B6DC */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0245B6DC */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0245B6E0 */ /* nop */
|
|
/* 0245B6E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 0245B6E8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B6E8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0245B6E8 */ if (_t9) goto L_0245B6EC; else goto L_0245B700;
|
|
L_0245B6EC: ; // 0x245b6ec
|
|
/* 0245B6EC */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0245B6EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0245B6F0 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 0245B6F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0245B6F4 */ cpu->ctr = cpu->r[0];
|
|
/* 0245B6F8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245B6FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0245B700: ; // 0x245b700
|
|
/* 0245B700 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245B704 */ Gambit_fn_0245B62C(cpu);
|
|
/* 0245B708 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245B70C */ Gambit_fn_027FC37C(cpu);
|
|
/* 0245B710 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0245B710 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0245B714 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B714 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0245B718 */ cpu->lr = cpu->r[0];
|
|
/* 0245B71C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245B720 */ return;
|
|
}
|
|
|
|
// fn_0245B724 @ 0x245b724
|
|
void Gambit_fn_0245B724(CPUState* 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_0245B724: ; // 0x245b724
|
|
/* 0245B724 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0245B724 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0245B728 */ /* nop */
|
|
/* 0245B72C */ _t1 = cpu->r[3] + 0x00000030u;
|
|
/* 0245B72C */ cpu->r[8] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0245B730 */ cpu->r[7] = cpu->r[0];
|
|
/* 0245B734 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 0245B738 */ _t2 = cpu->r[3] + 0x00000034u;
|
|
/* 0245B738 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0245B73C */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245B73C */ _t4 = _t3 & 0x00000001u;
|
|
/* 0245B73C */ if (_t4) goto L_0245B740; else goto L_0245B758;
|
|
L_0245B740: ; // 0x245b740
|
|
/* 0245B740 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0245B744 */ cpu->r[9] = cpu->r[12] + cpu->r[10];
|
|
/* 0245B748 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 0245B748 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 0245B74C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0245B750 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B750 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0245B750 */ if (_t7) goto L_0245B754; else goto L_0245B764;
|
|
L_0245B754: ; // 0x245b754
|
|
/* 0245B754 */ return;
|
|
L_0245B758: ; // 0x245b758
|
|
/* 0245B758 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 0245B758 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 0245B75C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0245B760 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B760 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0245B760 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0245B760 */ goto L_0245B764;
|
|
L_0245B764: ; // 0x245b764
|
|
/* 0245B764 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 0245B768 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0245B768 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0245B76C */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245B76C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0245B76C */ if (_t13) goto L_0245B770; else goto L_0245B778;
|
|
L_0245B770: ; // 0x245b770
|
|
/* 0245B770 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0245B774 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_0245B778: ; // 0x245b778
|
|
/* 0245B778 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 0245B778 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 0245B77C */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 0245B77C */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 0245B780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0245B784 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 0245B784 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0245B788 */ cpu->r[3] = cpu->r[8] + cpu->r[9];
|
|
/* 0245B78C */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245B78C */ _t18 = _t17 & 0x00000001u;
|
|
/* 0245B78C */ if (_t18) goto L_0245B7A4; else goto L_0245B790;
|
|
L_0245B790: ; // 0x245b790
|
|
/* 0245B790 */ /* nop */
|
|
/* 0245B794 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 0245B794 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0245B798 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0245B79C */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
/* 0245B7A0 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 0245B7A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_0245B7A4: ; // 0x245b7a4
|
|
/* 0245B7A4 */ cpu->ctr = cpu->r[11];
|
|
/* 0245B7A8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0245B7AC @ 0x245b7ac
|
|
void Gambit_fn_0245B7AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0245B7AC: ; // 0x245b7ac
|
|
/* 0245B7AC */ cpu->r[0] = cpu->lr;
|
|
/* 0245B7B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245B7B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245B7B0 */ cpu->r[1] = _t0;
|
|
/* 0245B7B4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0245B7B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0245B7B8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B7B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0245B7BC */ cpu->r[30] = cpu->r[3];
|
|
/* 0245B7C0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0245B7C0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0245B7C4 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0245B7C4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0245B7C8 */ /* nop */
|
|
/* 0245B7CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 0245B7D0 */ cpu->r[31] = cpu->r[4];
|
|
/* 0245B7D4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B7D4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0245B7D4 */ if (_t6) goto L_0245B7D8; else goto L_0245B7EC;
|
|
L_0245B7D8: ; // 0x245b7d8
|
|
/* 0245B7D8 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 0245B7D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0245B7DC */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 0245B7DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0245B7E0 */ cpu->ctr = cpu->r[0];
|
|
/* 0245B7E4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0245B7E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0245B7EC: ; // 0x245b7ec
|
|
/* 0245B7EC */ cpu->r[3] = cpu->r[30];
|
|
/* 0245B7F0 */ cpu->r[4] = cpu->r[31];
|
|
/* 0245B7F4 */ Gambit_fn_0245B724(cpu);
|
|
/* 0245B7F8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0245B7FC */ /* nop */
|
|
/* 0245B800 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0245B804 */ cpu->r[3] = cpu->r[30];
|
|
/* 0245B808 */ Gambit_fn_0245B5A4(cpu);
|
|
/* 0245B80C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0245B80C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0245B810 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0245B810 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0245B814 */ cpu->lr = cpu->r[0];
|
|
/* 0245B818 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B818 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0245B81C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245B820 */ return;
|
|
}
|
|
|
|
// fn_0245B7B0 @ 0x245b7b0
|
|
void Gambit_fn_0245B7B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0245B7B0: ; // 0x245b7b0
|
|
/* 0245B7B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245B7B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245B7B0 */ cpu->r[1] = _t0;
|
|
/* 0245B7B4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0245B7B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0245B7B8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B7B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0245B7BC */ cpu->r[30] = cpu->r[3];
|
|
/* 0245B7C0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0245B7C0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0245B7C4 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0245B7C4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0245B7C8 */ /* nop */
|
|
/* 0245B7CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 0245B7D0 */ cpu->r[31] = cpu->r[4];
|
|
/* 0245B7D4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B7D4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0245B7D4 */ if (_t6) goto L_0245B7D8; else goto L_0245B7EC;
|
|
L_0245B7D8: ; // 0x245b7d8
|
|
/* 0245B7D8 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 0245B7D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0245B7DC */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 0245B7DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0245B7E0 */ cpu->ctr = cpu->r[0];
|
|
/* 0245B7E4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0245B7E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0245B7EC: ; // 0x245b7ec
|
|
/* 0245B7EC */ cpu->r[3] = cpu->r[30];
|
|
/* 0245B7F0 */ cpu->r[4] = cpu->r[31];
|
|
/* 0245B7F4 */ Gambit_fn_0245B724(cpu);
|
|
/* 0245B7F8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0245B7FC */ /* nop */
|
|
/* 0245B800 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0245B804 */ cpu->r[3] = cpu->r[30];
|
|
/* 0245B808 */ Gambit_fn_0245B5A4(cpu);
|
|
/* 0245B80C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0245B80C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0245B810 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0245B810 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0245B814 */ cpu->lr = cpu->r[0];
|
|
/* 0245B818 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B818 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0245B81C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245B820 */ return;
|
|
}
|
|
|
|
// fn_0245B824 @ 0x245b824
|
|
void Gambit_fn_0245B824(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0245B824: ; // 0x245b824
|
|
/* 0245B824 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0245B828 */ goto L_0245C294;
|
|
L_0245C294: ; // 0x245c294
|
|
/* 0245C294 */ cpu->r[0] = cpu->lr;
|
|
/* 0245C298 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245C298 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245C298 */ cpu->r[1] = _t0;
|
|
/* 0245C29C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245C29C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245C2A0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0245C2A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0245C2A4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0245C2A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0245C2A8 */ cpu->r[31] = cpu->r[4];
|
|
/* 0245C2AC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0245C2AC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0245C2B0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C2B0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0245C2B0 */ if (_t5) goto L_0245C2F4; else goto L_0245C2B4;
|
|
L_0245C2B4: ; // 0x245c2b4
|
|
/* 0245C2B4 */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245C2B8 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245C2BC */ cpu->r[11] = cpu->r[11] + 0x00001A14u;
|
|
/* 0245C2C0 */ cpu->r[0] = cpu->r[0] + 0x00001A04u;
|
|
/* 0245C2C4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0245C2C8 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0245C2C8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0245C2CC */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245C2D0 */ _t7 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0245C2D0 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0245C2D4 */ cpu->r[0] = cpu->r[0] + 0x00001A24u;
|
|
/* 0245C2D8 */ cpu->r[4] = 0x00000000u;
|
|
/* 0245C2DC */ _t8 = cpu->r[30] + 0x000001C8u;
|
|
/* 0245C2DC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0245C2E0 */ Gambit_fn_02068798(cpu);
|
|
/* 0245C2E4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0245C2E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0245C2E8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C2E8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0245C2E8 */ if (_t10) goto L_0245C2F4; else goto L_0245C2EC;
|
|
L_0245C2EC: ; // 0x245c2ec
|
|
/* 0245C2EC */ cpu->r[3] = cpu->r[30];
|
|
/* 0245C2F0 */ Gambit_fn_02801BB0(cpu);
|
|
L_0245C2F4: ; // 0x245c2f4
|
|
/* 0245C2F4 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0245C2F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0245C2F8 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0245C2F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0245C2FC */ cpu->lr = cpu->r[0];
|
|
/* 0245C300 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245C300 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0245C304 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245C308 */ return;
|
|
}
|
|
|
|
// fn_0245B82C @ 0x245b82c
|
|
void Gambit_fn_0245B82C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02068818: ; // 0x2068818
|
|
/* 02068818 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0206881C */ _t0 = cpu->r[12] + 0x00001D34u;
|
|
/* 0206881C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02068820 */ _t1 = cpu->r[12] + 0x0000018Cu;
|
|
/* 02068820 */ cpu->r[12] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02068824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02068828 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02068828 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02068828 */ if (_t3) goto L_0206883C; else goto L_0206882C;
|
|
L_0206882C: ; // 0x206882c
|
|
/* 0206882C */ cpu->r[0] = cpu->r[5] ^ 0x00000001u;
|
|
/* 02068830 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02068834 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068838 */ return;
|
|
L_0206883C: ; // 0x206883c
|
|
/* 0206883C */ cpu->r[0] = rbrew_clz32(cpu->r[5]);
|
|
/* 02068840 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068844 */ return;
|
|
L_0245B82C: ; // 0x245b82c
|
|
/* 0245B82C */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 0245B830 */ goto L_02068818;
|
|
}
|
|
|
|
// fn_0245B834 @ 0x245b834
|
|
void Gambit_fn_0245B834(CPUState* cpu) {
|
|
L_0245B834: ; // 0x245b834
|
|
/* 0245B834 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 0245B838 */ goto L_0245C30C;
|
|
L_0245C30C: ; // 0x245c30c
|
|
/* 0245C30C */ return;
|
|
}
|
|
|
|
// fn_0245B83C @ 0x245b83c
|
|
void Gambit_fn_0245B83C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0245B83C: ; // 0x245b83c
|
|
/* 0245B83C */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 0245B840 */ goto L_0245C310;
|
|
L_0245C310: ; // 0x245c310
|
|
/* 0245C310 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0245C310 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245C314 */ return;
|
|
}
|
|
|
|
// fn_0245B844 @ 0x245b844
|
|
void Gambit_fn_0245B844(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189;
|
|
|
|
L_0245B844: ; // 0x245b844
|
|
/* 0245B844 */ cpu->r[0] = cpu->lr;
|
|
/* 0245B848 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 0245B848 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245B848 */ cpu->r[1] = _t0;
|
|
/* 0245B84C */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 0245B84C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0245B850 */ /* nop */
|
|
/* 0245B854 */ cpu->r[29] = cpu->r[3];
|
|
/* 0245B854 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0245B858 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B858 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0245B858 */ if (_t3) goto L_0245B85C; else goto L_0245B86C;
|
|
L_0245B85C: ; // 0x245b85c
|
|
/* 0245B85C */ cpu->r[3] = 0x00000214u;
|
|
/* 0245B860 */ Gambit_fn_02801A78(cpu);
|
|
/* 0245B864 */ cpu->r[29] = cpu->r[3];
|
|
/* 0245B864 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0245B868 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B868 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0245B868 */ if (_t5) goto L_0245BE20; else goto L_0245B86C;
|
|
L_0245B86C: ; // 0x245b86c
|
|
/* 0245B86C */ cpu->r[26] = 0x100A0000u;
|
|
/* 0245B870 */ cpu->r[3] = cpu->r[29];
|
|
/* 0245B874 */ cpu->r[10] = 0x100A0000u;
|
|
/* 0245B878 */ cpu->r[26] = cpu->r[26] + 0x00001768u;
|
|
/* 0245B87C */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B880 */ cpu->r[10] = cpu->r[10] + 0x00001818u;
|
|
/* 0245B884 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 0245B884 */ rbrew_write32(cpu->mem, _t6, cpu->r[26]);
|
|
/* 0245B888 */ cpu->r[5] = 0x00000002u;
|
|
/* 0245B88C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B88C */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 0245B890 */ Gambit_fn_02068860(cpu);
|
|
/* 0245B894 */ cpu->r[9] = 0x100A0000u;
|
|
/* 0245B898 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245B89C */ cpu->r[9] = cpu->r[9] + 0x0000188Cu;
|
|
/* 0245B8A0 */ cpu->r[0] = cpu->r[0] + 0x00001A04u;
|
|
/* 0245B8A4 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245B8A8 */ _t8 = cpu->r[29] + 0x00000000u;
|
|
/* 0245B8A8 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 0245B8AC */ cpu->r[12] = cpu->r[12] + 0x00001A14u;
|
|
/* 0245B8B0 */ _t9 = cpu->r[29] + 0x0000000Cu;
|
|
/* 0245B8B0 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0245B8B4 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245B8B8 */ cpu->r[27] = cpu->r[29] + 0x000001DCu;
|
|
/* 0245B8B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0245B8BC */ _t10 = cpu->r[29] + 0x0000001Cu;
|
|
/* 0245B8BC */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0245B8C0 */ cpu->r[0] = cpu->r[0] + 0x00001A24u;
|
|
/* 0245B8C4 */ cpu->r[31] = cpu->r[27];
|
|
/* 0245B8C8 */ cpu->r[28] = 0x00000000u;
|
|
/* 0245B8CC */ _t11 = cpu->r[29] + 0x000001C8u;
|
|
/* 0245B8CC */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0245B8D0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B8D0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0245B8D0 */ if (_t13) goto L_0245B8D4; else goto L_0245B8E4;
|
|
L_0245B8D4: ; // 0x245b8d4
|
|
/* 0245B8D4 */ cpu->r[3] = 0x00000038u;
|
|
/* 0245B8D8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0245B8DC */ cpu->r[31] = cpu->r[3];
|
|
/* 0245B8DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0245B8E0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B8E0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0245B8E0 */ if (_t15) goto L_0245B914; else goto L_0245B8E4;
|
|
L_0245B8E4: ; // 0x245b8e4
|
|
/* 0245B8E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245B8E8 */ Gambit_fn_027FC29C(cpu);
|
|
/* 0245B8EC */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245B8F0 */ _t16 = cpu->r[31] + 0x00000030u;
|
|
/* 0245B8F0 */ rbrew_write32(cpu->mem, _t16, cpu->r[28]);
|
|
/* 0245B8F4 */ cpu->r[0] = cpu->r[0] + 0x00001638u;
|
|
/* 0245B8F8 */ _t17 = cpu->r[31] + 0x00000034u;
|
|
/* 0245B8F8 */ rbrew_write32(cpu->mem, _t17, cpu->r[28]);
|
|
/* 0245B8FC */ _t18 = cpu->r[31] + 0x00000004u;
|
|
/* 0245B8FC */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 0245B900 */ _t19 = cpu->r[31] + 0x00000024u;
|
|
/* 0245B900 */ rbrew_write32(cpu->mem, _t19, cpu->r[28]);
|
|
/* 0245B904 */ _t20 = cpu->r[31] + 0x00000028u;
|
|
/* 0245B904 */ rbrew_write32(cpu->mem, _t20, cpu->r[28]);
|
|
/* 0245B908 */ _t21 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0245B908 */ rbrew_write32(cpu->mem, _t21, cpu->r[28]);
|
|
/* 0245B90C */ _t22 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0245B90C */ rbrew_write32(cpu->mem, _t22, cpu->r[28]);
|
|
/* 0245B910 */ _t23 = cpu->r[31] + 0x00000020u;
|
|
/* 0245B910 */ rbrew_write32(cpu->mem, _t23, cpu->r[28]);
|
|
L_0245B914: ; // 0x245b914
|
|
/* 0245B914 */ cpu->r[0] = 0x00000005u;
|
|
/* 0245B918 */ cpu->r[3] = cpu->r[27];
|
|
/* 0245B91C */ cpu->r[4] = cpu->r[29];
|
|
/* 0245B920 */ cpu->r[6] = 0x00000000u;
|
|
/* 0245B924 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0245B928 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 0245B928 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[0]);
|
|
/* 0245B92C */ Gambit_fn_0245C46C(cpu);
|
|
/* 0245B930 */ cpu->r[25] = 0x02460000u;
|
|
/* 0245B934 */ cpu->r[6] = 0x100A0000u;
|
|
/* 0245B938 */ cpu->r[25] = cpu->r[25] + 0xFFFFC320u;
|
|
/* 0245B93C */ cpu->r[6] = cpu->r[6] + 0x000017E8u;
|
|
/* 0245B940 */ cpu->ctr = cpu->r[25];
|
|
/* 0245B944 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B944 */ rbrew_write32(cpu->mem, _t25, cpu->r[6]);
|
|
/* 0245B948 */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 0245B948 */ rbrew_write32(cpu->mem, _t26, cpu->r[26]);
|
|
/* 0245B94C */ _t27 = cpu->r[27] + 0x00000018u;
|
|
/* 0245B94C */ cpu->r[23] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0245B950 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B954 */ _t28 = cpu->r[23] + 0x00000000u;
|
|
/* 0245B954 */ cpu->r[24] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0245B958 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245B95C */ cpu->r[30] = 0x10110000u;
|
|
/* 0245B960 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B960 */ cpu->r[10] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0245B964 */ _t30 = cpu->r[30] + 0x00007399u;
|
|
/* 0245B964 */ cpu->r[30] = rbrew_read8(cpu->mem, _t30);
|
|
/* 0245B968 */ _t31 = cpu->r[10] + 0x00000000u;
|
|
/* 0245B968 */ cpu->r[0] = rbrew_read8(cpu->mem, _t31);
|
|
/* 0245B96C */ cpu->r[31] = 0x00000000u;
|
|
/* 0245B970 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 0245B974 */ cpu->r[12] = 0x00080000u;
|
|
/* 0245B978 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B978 */ _t33 = _t32 & 0x00000001u;
|
|
/* 0245B978 */ if (_t33) goto L_0245B9A0; else goto L_0245B97C;
|
|
L_0245B97C: ; // 0x245b97c
|
|
/* 0245B97C */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0245B980 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
|
|
/* 0245B984 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0245B988 */ _t34 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0245B988 */ _t35 = _t34 & 0x00000001u;
|
|
/* 0245B988 */ if (_t35) goto L_0245B99C; else goto L_0245B98C;
|
|
L_0245B98C: ; // 0x245b98c
|
|
/* 0245B98C */ _t36 = cpu->r[10] + 0x00000000u;
|
|
/* 0245B98C */ cpu->r[8] = rbrew_read8(cpu->mem, _t36);
|
|
/* 0245B990 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[30]);
|
|
/* 0245B994 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B994 */ _t38 = _t37 & 0x00000001u;
|
|
/* 0245B994 */ if (_t38) goto L_0245B998; else goto L_0245B97C;
|
|
L_0245B998: ; // 0x245b998
|
|
/* 0245B998 */ goto L_0245B9A0;
|
|
L_0245B99C: ; // 0x245b99c
|
|
/* 0245B99C */ cpu->r[31] = 0x00000000u;
|
|
L_0245B9A0: ; // 0x245b9a0
|
|
/* 0245B9A0 */ _t39 = cpu->r[23] + 0x00000008u;
|
|
/* 0245B9A0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0245B9A4 */ _t40 = cpu->r[1] + 0x00000010u;
|
|
/* 0245B9A4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0245B9A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[6]);
|
|
/* 0245B9AC */ _t41 = cpu->r[9] + 0x00000014u;
|
|
/* 0245B9AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0245B9B0 */ _t42 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245B9B0 */ _t43 = _t42 & 0x00000001u;
|
|
/* 0245B9B0 */ if (_t43) goto L_0245B9B8; else goto L_0245B9B4;
|
|
L_0245B9B4: ; // 0x245b9b4
|
|
/* 0245B9B4 */ cpu->r[31] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_0245B9B8: ; // 0x245b9b8
|
|
/* 0245B9B8 */ cpu->ctr = cpu->r[0];
|
|
/* 0245B9BC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B9C0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245B9C4 */ _t44 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B9C4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0245B9C8 */ cpu->r[6] = 0x00000000u;
|
|
/* 0245B9CC */ cpu->r[5] = cpu->r[31];
|
|
/* 0245B9D0 */ cpu->r[3] = cpu->r[24];
|
|
/* 0245B9D4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0245B9D8 */ _t45 = cpu->r[24] + cpu->r[31];
|
|
/* 0245B9D8 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[30]);
|
|
/* 0245B9DC */ cpu->r[8] = 0x00000000u;
|
|
/* 0245B9E0 */ _t46 = cpu->r[1] + 0x00000016u;
|
|
/* 0245B9E0 */ rbrew_write16(cpu->mem, _t46, (uint16_t)cpu->r[28]);
|
|
/* 0245B9E4 */ cpu->r[0] = 0x02460000u;
|
|
/* 0245B9E8 */ _t47 = cpu->r[1] + 0x00000028u;
|
|
/* 0245B9E8 */ rbrew_write32(cpu->mem, _t47, cpu->r[28]);
|
|
/* 0245B9EC */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 0245B9F0 */ _t48 = cpu->r[1] + 0x00000018u;
|
|
/* 0245B9F0 */ rbrew_write32(cpu->mem, _t48, cpu->r[28]);
|
|
/* 0245B9F4 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0245B9F8 */ _t49 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0245B9F8 */ rbrew_write16(cpu->mem, _t49, (uint16_t)cpu->r[7]);
|
|
/* 0245B9FC */ _t50 = cpu->r[1] + 0x00000008u;
|
|
/* 0245B9FC */ rbrew_write8(cpu->mem, _t50, (uint8_t)cpu->r[8]);
|
|
/* 0245BA00 */ cpu->r[0] = cpu->r[0] + 0xFFFFC468u;
|
|
/* 0245BA04 */ _t51 = cpu->r[1] + 0x00000014u;
|
|
/* 0245BA04 */ rbrew_write16(cpu->mem, _t51, (uint16_t)cpu->r[28]);
|
|
/* 0245BA08 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0245BA0C */ _t52 = cpu->r[1] + 0x00000026u;
|
|
/* 0245BA0C */ rbrew_write16(cpu->mem, _t52, (uint16_t)cpu->r[28]);
|
|
/* 0245BA10 */ cpu->r[3] = cpu->r[27];
|
|
/* 0245BA14 */ _t53 = cpu->r[1] + 0x00000020u;
|
|
/* 0245BA14 */ rbrew_write32(cpu->mem, _t53, cpu->r[0]);
|
|
/* 0245BA18 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245BA1C */ _t54 = cpu->r[1] + 0x00000024u;
|
|
/* 0245BA1C */ rbrew_write16(cpu->mem, _t54, (uint16_t)cpu->r[28]);
|
|
/* 0245BA20 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0245BA24 */ _t55 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245BA24 */ rbrew_write16(cpu->mem, _t55, (uint16_t)cpu->r[28]);
|
|
/* 0245BA28 */ Gambit_fn_0245C71C(cpu);
|
|
/* 0245BA2C */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245BA30 */ _t56 = cpu->r[1] + 0x00000010u;
|
|
/* 0245BA30 */ rbrew_write32(cpu->mem, _t56, cpu->r[26]);
|
|
/* 0245BA34 */ cpu->r[12] = cpu->r[12] + 0x00001828u;
|
|
/* 0245BA38 */ _t57 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BA38 */ rbrew_write32(cpu->mem, _t57, cpu->r[12]);
|
|
/* 0245BA3C */ _t58 = cpu->r[27] + 0x00000014u;
|
|
/* 0245BA3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0245BA40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 0245BA44 */ _t59 = cpu->r[27] + 0x00000018u;
|
|
/* 0245BA44 */ cpu->r[24] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0245BA48 */ _t60 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0245BA48 */ _t61 = _t60 & 0x00000001u;
|
|
/* 0245BA48 */ if (_t61) goto L_0245BA4C; else goto L_0245BA50;
|
|
L_0245BA4C: ; // 0x245ba4c
|
|
/* 0245BA4C */ cpu->r[24] = cpu->r[24] + 0x00000024u;
|
|
L_0245BA50: ; // 0x245ba50
|
|
/* 0245BA50 */ cpu->ctr = cpu->r[25];
|
|
/* 0245BA54 */ _t62 = cpu->r[24] + 0x00000000u;
|
|
/* 0245BA54 */ cpu->r[23] = rbrew_read32(cpu->mem, _t62);
|
|
/* 0245BA58 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BA5C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245BA60 */ _t63 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BA60 */ cpu->r[6] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0245BA64 */ _t64 = cpu->r[6] + 0x00000000u;
|
|
/* 0245BA64 */ cpu->r[5] = rbrew_read8(cpu->mem, _t64);
|
|
/* 0245BA68 */ cpu->r[31] = 0x00000000u;
|
|
/* 0245BA6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[30]);
|
|
/* 0245BA70 */ cpu->r[8] = 0x00080000u;
|
|
/* 0245BA74 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245BA74 */ _t66 = _t65 & 0x00000001u;
|
|
/* 0245BA74 */ if (_t66) goto L_0245BA9C; else goto L_0245BA78;
|
|
L_0245BA78: ; // 0x245ba78
|
|
/* 0245BA78 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0245BA7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[8]);
|
|
/* 0245BA80 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0245BA84 */ _t67 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0245BA84 */ _t68 = _t67 & 0x00000001u;
|
|
/* 0245BA84 */ if (_t68) goto L_0245BA98; else goto L_0245BA88;
|
|
L_0245BA88: ; // 0x245ba88
|
|
/* 0245BA88 */ _t69 = cpu->r[6] + 0x00000000u;
|
|
/* 0245BA88 */ cpu->r[7] = rbrew_read8(cpu->mem, _t69);
|
|
/* 0245BA8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[30]);
|
|
/* 0245BA90 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245BA90 */ _t71 = _t70 & 0x00000001u;
|
|
/* 0245BA90 */ if (_t71) goto L_0245BA94; else goto L_0245BA78;
|
|
L_0245BA94: ; // 0x245ba94
|
|
/* 0245BA94 */ goto L_0245BA9C;
|
|
L_0245BA98: ; // 0x245ba98
|
|
/* 0245BA98 */ cpu->r[31] = 0x00000000u;
|
|
L_0245BA9C: ; // 0x245ba9c
|
|
/* 0245BA9C */ _t72 = cpu->r[24] + 0x00000008u;
|
|
/* 0245BA9C */ cpu->r[8] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0245BAA0 */ _t73 = cpu->r[1] + 0x00000010u;
|
|
/* 0245BAA0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0245BAA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[8]);
|
|
/* 0245BAA8 */ _t74 = cpu->r[9] + 0x00000014u;
|
|
/* 0245BAA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0245BAAC */ _t75 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245BAAC */ _t76 = _t75 & 0x00000001u;
|
|
/* 0245BAAC */ if (_t76) goto L_0245BAB4; else goto L_0245BAB0;
|
|
L_0245BAB0: ; // 0x245bab0
|
|
/* 0245BAB0 */ cpu->r[31] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_0245BAB4: ; // 0x245bab4
|
|
/* 0245BAB4 */ cpu->ctr = cpu->r[12];
|
|
/* 0245BAB8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BABC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245BAC0 */ _t77 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BAC0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t77);
|
|
/* 0245BAC4 */ cpu->r[6] = 0x00000000u;
|
|
/* 0245BAC8 */ cpu->r[5] = cpu->r[31];
|
|
/* 0245BACC */ cpu->r[3] = cpu->r[23];
|
|
/* 0245BAD0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0245BAD4 */ _t78 = cpu->r[23] + cpu->r[31];
|
|
/* 0245BAD4 */ rbrew_write8(cpu->mem, _t78, (uint8_t)cpu->r[30]);
|
|
/* 0245BAD8 */ cpu->r[12] = 0x00000001u;
|
|
/* 0245BADC */ _t79 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245BADC */ rbrew_write16(cpu->mem, _t79, (uint16_t)cpu->r[28]);
|
|
/* 0245BAE0 */ cpu->r[5] = 0x02460000u;
|
|
/* 0245BAE4 */ _t80 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0245BAE4 */ rbrew_write16(cpu->mem, _t80, (uint16_t)cpu->r[28]);
|
|
/* 0245BAE8 */ cpu->r[5] = cpu->r[5] + 0xFFFFC024u;
|
|
/* 0245BAEC */ _t81 = cpu->r[1] + 0x00000008u;
|
|
/* 0245BAEC */ rbrew_write8(cpu->mem, _t81, (uint8_t)cpu->r[12]);
|
|
/* 0245BAF0 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0245BAF4 */ _t82 = cpu->r[1] + 0x00000018u;
|
|
/* 0245BAF4 */ rbrew_write32(cpu->mem, _t82, cpu->r[5]);
|
|
/* 0245BAF8 */ _t83 = cpu->r[1] + 0x00000026u;
|
|
/* 0245BAF8 */ rbrew_write16(cpu->mem, _t83, (uint16_t)cpu->r[28]);
|
|
/* 0245BAFC */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 0245BB00 */ _t84 = cpu->r[1] + 0x00000028u;
|
|
/* 0245BB00 */ rbrew_write32(cpu->mem, _t84, cpu->r[28]);
|
|
/* 0245BB04 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0245BB08 */ _t85 = cpu->r[1] + 0x00000014u;
|
|
/* 0245BB08 */ rbrew_write16(cpu->mem, _t85, (uint16_t)cpu->r[28]);
|
|
/* 0245BB0C */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0245BB10 */ _t86 = cpu->r[1] + 0x00000020u;
|
|
/* 0245BB10 */ rbrew_write32(cpu->mem, _t86, cpu->r[28]);
|
|
/* 0245BB14 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245BB18 */ _t87 = cpu->r[1] + 0x00000016u;
|
|
/* 0245BB18 */ rbrew_write16(cpu->mem, _t87, (uint16_t)cpu->r[0]);
|
|
/* 0245BB1C */ cpu->r[3] = cpu->r[27];
|
|
/* 0245BB20 */ _t88 = cpu->r[1] + 0x00000024u;
|
|
/* 0245BB20 */ rbrew_write16(cpu->mem, _t88, (uint16_t)cpu->r[28]);
|
|
/* 0245BB24 */ Gambit_fn_0245C71C(cpu);
|
|
/* 0245BB28 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245BB2C */ _t89 = cpu->r[1] + 0x00000010u;
|
|
/* 0245BB2C */ rbrew_write32(cpu->mem, _t89, cpu->r[26]);
|
|
/* 0245BB30 */ cpu->r[0] = cpu->r[0] + 0x000017F8u;
|
|
/* 0245BB34 */ _t90 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BB34 */ rbrew_write32(cpu->mem, _t90, cpu->r[0]);
|
|
/* 0245BB38 */ _t91 = cpu->r[27] + 0x00000014u;
|
|
/* 0245BB38 */ cpu->r[10] = rbrew_read32(cpu->mem, _t91);
|
|
/* 0245BB3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000002u);
|
|
/* 0245BB40 */ _t92 = cpu->r[27] + 0x00000018u;
|
|
/* 0245BB40 */ cpu->r[24] = rbrew_read32(cpu->mem, _t92);
|
|
/* 0245BB44 */ _t93 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0245BB44 */ _t94 = _t93 & 0x00000001u;
|
|
/* 0245BB44 */ if (_t94) goto L_0245BB48; else goto L_0245BB4C;
|
|
L_0245BB48: ; // 0x245bb48
|
|
/* 0245BB48 */ cpu->r[24] = cpu->r[24] + 0x00000048u;
|
|
L_0245BB4C: ; // 0x245bb4c
|
|
/* 0245BB4C */ cpu->ctr = cpu->r[25];
|
|
/* 0245BB50 */ _t95 = cpu->r[24] + 0x00000000u;
|
|
/* 0245BB50 */ cpu->r[23] = rbrew_read32(cpu->mem, _t95);
|
|
/* 0245BB54 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BB58 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245BB5C */ _t96 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BB5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t96);
|
|
/* 0245BB60 */ _t97 = cpu->r[11] + 0x00000000u;
|
|
/* 0245BB60 */ cpu->r[0] = rbrew_read8(cpu->mem, _t97);
|
|
/* 0245BB64 */ cpu->r[31] = 0x00000000u;
|
|
/* 0245BB68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 0245BB6C */ cpu->r[12] = 0x00080000u;
|
|
/* 0245BB70 */ _t98 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245BB70 */ _t99 = _t98 & 0x00000001u;
|
|
/* 0245BB70 */ if (_t99) goto L_0245BB98; else goto L_0245BB74;
|
|
L_0245BB74: ; // 0x245bb74
|
|
/* 0245BB74 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0245BB78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
|
|
/* 0245BB7C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0245BB80 */ _t100 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0245BB80 */ _t101 = _t100 & 0x00000001u;
|
|
/* 0245BB80 */ if (_t101) goto L_0245BB94; else goto L_0245BB84;
|
|
L_0245BB84: ; // 0x245bb84
|
|
/* 0245BB84 */ _t102 = cpu->r[11] + 0x00000000u;
|
|
/* 0245BB84 */ cpu->r[5] = rbrew_read8(cpu->mem, _t102);
|
|
/* 0245BB88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[30]);
|
|
/* 0245BB8C */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245BB8C */ _t104 = _t103 & 0x00000001u;
|
|
/* 0245BB8C */ if (_t104) goto L_0245BB90; else goto L_0245BB74;
|
|
L_0245BB90: ; // 0x245bb90
|
|
/* 0245BB90 */ goto L_0245BB98;
|
|
L_0245BB94: ; // 0x245bb94
|
|
/* 0245BB94 */ cpu->r[31] = 0x00000000u;
|
|
L_0245BB98: ; // 0x245bb98
|
|
/* 0245BB98 */ _t105 = cpu->r[24] + 0x00000008u;
|
|
/* 0245BB98 */ cpu->r[10] = rbrew_read32(cpu->mem, _t105);
|
|
/* 0245BB9C */ _t106 = cpu->r[1] + 0x00000010u;
|
|
/* 0245BB9C */ cpu->r[7] = rbrew_read32(cpu->mem, _t106);
|
|
/* 0245BBA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[10]);
|
|
/* 0245BBA4 */ _t107 = cpu->r[7] + 0x00000014u;
|
|
/* 0245BBA4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t107);
|
|
/* 0245BBA8 */ _t108 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245BBA8 */ _t109 = _t108 & 0x00000001u;
|
|
/* 0245BBA8 */ if (_t109) goto L_0245BBB0; else goto L_0245BBAC;
|
|
L_0245BBAC: ; // 0x245bbac
|
|
/* 0245BBAC */ cpu->r[31] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_0245BBB0: ; // 0x245bbb0
|
|
/* 0245BBB0 */ cpu->ctr = cpu->r[9];
|
|
/* 0245BBB4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BBB8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245BBBC */ _t110 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BBBC */ cpu->r[4] = rbrew_read32(cpu->mem, _t110);
|
|
/* 0245BBC0 */ cpu->r[3] = cpu->r[23];
|
|
/* 0245BBC4 */ cpu->r[5] = cpu->r[31];
|
|
/* 0245BBC8 */ cpu->r[6] = 0x00000000u;
|
|
/* 0245BBCC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0245BBD0 */ _t111 = cpu->r[23] + cpu->r[31];
|
|
/* 0245BBD0 */ rbrew_write8(cpu->mem, _t111, (uint8_t)cpu->r[30]);
|
|
/* 0245BBD4 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0245BBD8 */ _t112 = cpu->r[1] + 0x00000028u;
|
|
/* 0245BBD8 */ rbrew_write32(cpu->mem, _t112, cpu->r[28]);
|
|
/* 0245BBDC */ cpu->r[11] = 0x02460000u;
|
|
/* 0245BBE0 */ _t113 = cpu->r[1] + 0x00000020u;
|
|
/* 0245BBE0 */ rbrew_write32(cpu->mem, _t113, cpu->r[28]);
|
|
/* 0245BBE4 */ cpu->r[11] = cpu->r[11] + 0xFFFFC0E4u;
|
|
/* 0245BBE8 */ _t114 = cpu->r[1] + 0x00000016u;
|
|
/* 0245BBE8 */ rbrew_write16(cpu->mem, _t114, (uint16_t)cpu->r[0]);
|
|
/* 0245BBEC */ cpu->r[0] = 0x00000002u;
|
|
/* 0245BBF0 */ _t115 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245BBF0 */ rbrew_write16(cpu->mem, _t115, (uint16_t)cpu->r[28]);
|
|
/* 0245BBF4 */ _t116 = cpu->r[1] + 0x00000014u;
|
|
/* 0245BBF4 */ rbrew_write16(cpu->mem, _t116, (uint16_t)cpu->r[28]);
|
|
/* 0245BBF8 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0245BBFC */ _t117 = cpu->r[1] + 0x00000008u;
|
|
/* 0245BBFC */ rbrew_write8(cpu->mem, _t117, (uint8_t)cpu->r[0]);
|
|
/* 0245BC00 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0245BC04 */ _t118 = cpu->r[1] + 0x00000018u;
|
|
/* 0245BC04 */ rbrew_write32(cpu->mem, _t118, cpu->r[11]);
|
|
/* 0245BC08 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 0245BC0C */ _t119 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0245BC0C */ rbrew_write16(cpu->mem, _t119, (uint16_t)cpu->r[28]);
|
|
/* 0245BC10 */ cpu->r[3] = cpu->r[27];
|
|
/* 0245BC14 */ _t120 = cpu->r[1] + 0x00000026u;
|
|
/* 0245BC14 */ rbrew_write16(cpu->mem, _t120, (uint16_t)cpu->r[28]);
|
|
/* 0245BC18 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245BC1C */ _t121 = cpu->r[1] + 0x00000024u;
|
|
/* 0245BC1C */ rbrew_write16(cpu->mem, _t121, (uint16_t)cpu->r[28]);
|
|
/* 0245BC20 */ Gambit_fn_0245C71C(cpu);
|
|
/* 0245BC24 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245BC28 */ _t122 = cpu->r[1] + 0x00000010u;
|
|
/* 0245BC28 */ rbrew_write32(cpu->mem, _t122, cpu->r[26]);
|
|
/* 0245BC2C */ cpu->r[0] = cpu->r[0] + 0x00001808u;
|
|
/* 0245BC30 */ _t123 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BC30 */ rbrew_write32(cpu->mem, _t123, cpu->r[0]);
|
|
/* 0245BC34 */ _t124 = cpu->r[27] + 0x00000014u;
|
|
/* 0245BC34 */ cpu->r[5] = rbrew_read32(cpu->mem, _t124);
|
|
/* 0245BC38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000003u);
|
|
/* 0245BC3C */ _t125 = cpu->r[27] + 0x00000018u;
|
|
/* 0245BC3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t125);
|
|
/* 0245BC40 */ _t126 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0245BC40 */ _t127 = _t126 & 0x00000001u;
|
|
/* 0245BC40 */ if (_t127) goto L_0245BC44; else goto L_0245BC48;
|
|
L_0245BC44: ; // 0x245bc44
|
|
/* 0245BC44 */ cpu->r[31] = cpu->r[31] + 0x0000006Cu;
|
|
L_0245BC48: ; // 0x245bc48
|
|
/* 0245BC48 */ cpu->ctr = cpu->r[25];
|
|
/* 0245BC4C */ _t128 = cpu->r[31] + 0x00000000u;
|
|
/* 0245BC4C */ cpu->r[23] = rbrew_read32(cpu->mem, _t128);
|
|
/* 0245BC50 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BC54 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245BC58 */ _t129 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BC58 */ cpu->r[6] = rbrew_read32(cpu->mem, _t129);
|
|
/* 0245BC5C */ _t130 = cpu->r[6] + 0x00000000u;
|
|
/* 0245BC5C */ cpu->r[7] = rbrew_read8(cpu->mem, _t130);
|
|
/* 0245BC60 */ cpu->r[24] = 0x00000000u;
|
|
/* 0245BC64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[30]);
|
|
/* 0245BC68 */ cpu->r[8] = 0x00080000u;
|
|
/* 0245BC6C */ _t131 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245BC6C */ _t132 = _t131 & 0x00000001u;
|
|
/* 0245BC6C */ if (_t132) goto L_0245BC94; else goto L_0245BC70;
|
|
L_0245BC70: ; // 0x245bc70
|
|
/* 0245BC70 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 0245BC74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[8]);
|
|
/* 0245BC78 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0245BC7C */ _t133 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0245BC7C */ _t134 = _t133 & 0x00000001u;
|
|
/* 0245BC7C */ if (_t134) goto L_0245BC90; else goto L_0245BC80;
|
|
L_0245BC80: ; // 0x245bc80
|
|
/* 0245BC80 */ _t135 = cpu->r[6] + 0x00000000u;
|
|
/* 0245BC80 */ cpu->r[0] = rbrew_read8(cpu->mem, _t135);
|
|
/* 0245BC84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 0245BC88 */ _t136 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245BC88 */ _t137 = _t136 & 0x00000001u;
|
|
/* 0245BC88 */ if (_t137) goto L_0245BC8C; else goto L_0245BC70;
|
|
L_0245BC8C: ; // 0x245bc8c
|
|
/* 0245BC8C */ goto L_0245BC94;
|
|
L_0245BC90: ; // 0x245bc90
|
|
/* 0245BC90 */ cpu->r[24] = 0x00000000u;
|
|
L_0245BC94: ; // 0x245bc94
|
|
/* 0245BC94 */ _t138 = cpu->r[31] + 0x00000008u;
|
|
/* 0245BC94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t138);
|
|
/* 0245BC98 */ _t139 = cpu->r[1] + 0x00000010u;
|
|
/* 0245BC98 */ cpu->r[11] = rbrew_read32(cpu->mem, _t139);
|
|
/* 0245BC9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[12]);
|
|
/* 0245BCA0 */ _t140 = cpu->r[11] + 0x00000014u;
|
|
/* 0245BCA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t140);
|
|
/* 0245BCA4 */ _t141 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245BCA4 */ _t142 = _t141 & 0x00000001u;
|
|
/* 0245BCA4 */ if (_t142) goto L_0245BCAC; else goto L_0245BCA8;
|
|
L_0245BCA8: ; // 0x245bca8
|
|
/* 0245BCA8 */ cpu->r[24] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_0245BCAC: ; // 0x245bcac
|
|
/* 0245BCAC */ cpu->ctr = cpu->r[0];
|
|
/* 0245BCB0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BCB4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245BCB8 */ _t143 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BCB8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t143);
|
|
/* 0245BCBC */ cpu->r[3] = cpu->r[23];
|
|
/* 0245BCC0 */ cpu->r[5] = cpu->r[24];
|
|
/* 0245BCC4 */ cpu->r[6] = 0x00000000u;
|
|
/* 0245BCC8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0245BCCC */ _t144 = cpu->r[23] + cpu->r[24];
|
|
/* 0245BCCC */ rbrew_write8(cpu->mem, _t144, (uint8_t)cpu->r[30]);
|
|
/* 0245BCD0 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 0245BCD4 */ _t145 = cpu->r[1] + 0x00000026u;
|
|
/* 0245BCD4 */ rbrew_write16(cpu->mem, _t145, (uint16_t)cpu->r[28]);
|
|
/* 0245BCD8 */ cpu->r[6] = 0x02460000u;
|
|
/* 0245BCDC */ _t146 = cpu->r[1] + 0x00000014u;
|
|
/* 0245BCDC */ rbrew_write16(cpu->mem, _t146, (uint16_t)cpu->r[28]);
|
|
/* 0245BCE0 */ cpu->r[6] = cpu->r[6] + 0xFFFFC168u;
|
|
/* 0245BCE4 */ _t147 = cpu->r[1] + 0x00000016u;
|
|
/* 0245BCE4 */ rbrew_write16(cpu->mem, _t147, (uint16_t)cpu->r[12]);
|
|
/* 0245BCE8 */ cpu->r[0] = 0x00000003u;
|
|
/* 0245BCEC */ _t148 = cpu->r[1] + 0x00000024u;
|
|
/* 0245BCEC */ rbrew_write16(cpu->mem, _t148, (uint16_t)cpu->r[28]);
|
|
/* 0245BCF0 */ _t149 = cpu->r[1] + 0x00000018u;
|
|
/* 0245BCF0 */ rbrew_write32(cpu->mem, _t149, cpu->r[6]);
|
|
/* 0245BCF4 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0245BCF8 */ _t150 = cpu->r[1] + 0x00000028u;
|
|
/* 0245BCF8 */ rbrew_write32(cpu->mem, _t150, cpu->r[28]);
|
|
/* 0245BCFC */ cpu->r[3] = cpu->r[27];
|
|
/* 0245BD00 */ _t151 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245BD00 */ rbrew_write16(cpu->mem, _t151, (uint16_t)cpu->r[28]);
|
|
/* 0245BD04 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0245BD08 */ _t152 = cpu->r[1] + 0x00000020u;
|
|
/* 0245BD08 */ rbrew_write32(cpu->mem, _t152, cpu->r[28]);
|
|
/* 0245BD0C */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 0245BD10 */ _t153 = cpu->r[1] + 0x00000008u;
|
|
/* 0245BD10 */ rbrew_write8(cpu->mem, _t153, (uint8_t)cpu->r[0]);
|
|
/* 0245BD14 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245BD18 */ _t154 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0245BD18 */ rbrew_write16(cpu->mem, _t154, (uint16_t)cpu->r[28]);
|
|
/* 0245BD1C */ Gambit_fn_0245C71C(cpu);
|
|
/* 0245BD20 */ cpu->r[7] = 0x100A0000u;
|
|
/* 0245BD24 */ _t155 = cpu->r[1] + 0x00000010u;
|
|
/* 0245BD24 */ rbrew_write32(cpu->mem, _t155, cpu->r[26]);
|
|
/* 0245BD28 */ cpu->r[7] = cpu->r[7] + 0x000017D8u;
|
|
/* 0245BD2C */ _t156 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BD2C */ rbrew_write32(cpu->mem, _t156, cpu->r[7]);
|
|
/* 0245BD30 */ _t157 = cpu->r[27] + 0x00000014u;
|
|
/* 0245BD30 */ cpu->r[8] = rbrew_read32(cpu->mem, _t157);
|
|
/* 0245BD34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000004u);
|
|
/* 0245BD38 */ _t158 = cpu->r[27] + 0x00000018u;
|
|
/* 0245BD38 */ cpu->r[26] = rbrew_read32(cpu->mem, _t158);
|
|
/* 0245BD3C */ _t159 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0245BD3C */ _t160 = _t159 & 0x00000001u;
|
|
/* 0245BD3C */ if (_t160) goto L_0245BD40; else goto L_0245BD44;
|
|
L_0245BD40: ; // 0x245bd40
|
|
/* 0245BD40 */ cpu->r[26] = cpu->r[26] + 0x00000090u;
|
|
L_0245BD44: ; // 0x245bd44
|
|
/* 0245BD44 */ cpu->ctr = cpu->r[25];
|
|
/* 0245BD48 */ _t161 = cpu->r[26] + 0x00000000u;
|
|
/* 0245BD48 */ cpu->r[24] = rbrew_read32(cpu->mem, _t161);
|
|
/* 0245BD4C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BD50 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245BD54 */ _t162 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BD54 */ cpu->r[10] = rbrew_read32(cpu->mem, _t162);
|
|
/* 0245BD58 */ _t163 = cpu->r[10] + 0x00000000u;
|
|
/* 0245BD58 */ cpu->r[9] = rbrew_read8(cpu->mem, _t163);
|
|
/* 0245BD5C */ cpu->r[31] = 0x00000000u;
|
|
/* 0245BD60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[30]);
|
|
/* 0245BD64 */ cpu->r[0] = 0x00080000u;
|
|
/* 0245BD68 */ _t164 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245BD68 */ _t165 = _t164 & 0x00000001u;
|
|
/* 0245BD68 */ if (_t165) goto L_0245BD90; else goto L_0245BD6C;
|
|
L_0245BD6C: ; // 0x245bd6c
|
|
/* 0245BD6C */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0245BD70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 0245BD74 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0245BD78 */ _t166 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0245BD78 */ _t167 = _t166 & 0x00000001u;
|
|
/* 0245BD78 */ if (_t167) goto L_0245BD8C; else goto L_0245BD7C;
|
|
L_0245BD7C: ; // 0x245bd7c
|
|
/* 0245BD7C */ _t168 = cpu->r[10] + 0x00000000u;
|
|
/* 0245BD7C */ cpu->r[11] = rbrew_read8(cpu->mem, _t168);
|
|
/* 0245BD80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[30]);
|
|
/* 0245BD84 */ _t169 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245BD84 */ _t170 = _t169 & 0x00000001u;
|
|
/* 0245BD84 */ if (_t170) goto L_0245BD88; else goto L_0245BD6C;
|
|
L_0245BD88: ; // 0x245bd88
|
|
/* 0245BD88 */ goto L_0245BD90;
|
|
L_0245BD8C: ; // 0x245bd8c
|
|
/* 0245BD8C */ cpu->r[31] = 0x00000000u;
|
|
L_0245BD90: ; // 0x245bd90
|
|
/* 0245BD90 */ _t171 = cpu->r[26] + 0x00000008u;
|
|
/* 0245BD90 */ cpu->r[5] = rbrew_read32(cpu->mem, _t171);
|
|
/* 0245BD94 */ _t172 = cpu->r[1] + 0x00000010u;
|
|
/* 0245BD94 */ cpu->r[6] = rbrew_read32(cpu->mem, _t172);
|
|
/* 0245BD98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[5]);
|
|
/* 0245BD9C */ _t173 = cpu->r[6] + 0x00000014u;
|
|
/* 0245BD9C */ cpu->r[7] = rbrew_read32(cpu->mem, _t173);
|
|
/* 0245BDA0 */ _t174 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245BDA0 */ _t175 = _t174 & 0x00000001u;
|
|
/* 0245BDA0 */ if (_t175) goto L_0245BDA8; else goto L_0245BDA4;
|
|
L_0245BDA4: ; // 0x245bda4
|
|
/* 0245BDA4 */ cpu->r[31] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_0245BDA8: ; // 0x245bda8
|
|
/* 0245BDA8 */ cpu->ctr = cpu->r[7];
|
|
/* 0245BDAC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BDB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245BDB4 */ _t176 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BDB4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t176);
|
|
/* 0245BDB8 */ cpu->r[3] = cpu->r[24];
|
|
/* 0245BDBC */ cpu->r[5] = cpu->r[31];
|
|
/* 0245BDC0 */ cpu->r[6] = 0x00000000u;
|
|
/* 0245BDC4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0245BDC8 */ _t177 = cpu->r[24] + cpu->r[31];
|
|
/* 0245BDC8 */ rbrew_write8(cpu->mem, _t177, (uint8_t)cpu->r[30]);
|
|
/* 0245BDCC */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 0245BDD0 */ _t178 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0245BDD0 */ rbrew_write16(cpu->mem, _t178, (uint16_t)cpu->r[28]);
|
|
/* 0245BDD4 */ cpu->r[8] = 0x00000004u;
|
|
/* 0245BDD8 */ _t179 = cpu->r[1] + 0x00000014u;
|
|
/* 0245BDD8 */ rbrew_write16(cpu->mem, _t179, (uint16_t)cpu->r[28]);
|
|
/* 0245BDDC */ cpu->r[10] = 0x02460000u;
|
|
/* 0245BDE0 */ _t180 = cpu->r[1] + 0x00000024u;
|
|
/* 0245BDE0 */ rbrew_write16(cpu->mem, _t180, (uint16_t)cpu->r[28]);
|
|
/* 0245BDE4 */ cpu->r[10] = cpu->r[10] + 0xFFFFC1F4u;
|
|
/* 0245BDE8 */ _t181 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245BDE8 */ rbrew_write16(cpu->mem, _t181, (uint16_t)cpu->r[28]);
|
|
/* 0245BDEC */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0245BDF0 */ _t182 = cpu->r[1] + 0x00000008u;
|
|
/* 0245BDF0 */ rbrew_write8(cpu->mem, _t182, (uint8_t)cpu->r[8]);
|
|
/* 0245BDF4 */ cpu->r[3] = cpu->r[27];
|
|
/* 0245BDF8 */ _t183 = cpu->r[1] + 0x00000018u;
|
|
/* 0245BDF8 */ rbrew_write32(cpu->mem, _t183, cpu->r[10]);
|
|
/* 0245BDFC */ _t184 = cpu->r[1] + 0x00000016u;
|
|
/* 0245BDFC */ rbrew_write16(cpu->mem, _t184, (uint16_t)cpu->r[5]);
|
|
/* 0245BE00 */ _t185 = cpu->r[1] + 0x00000020u;
|
|
/* 0245BE00 */ rbrew_write32(cpu->mem, _t185, cpu->r[28]);
|
|
/* 0245BE04 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245BE08 */ _t186 = cpu->r[1] + 0x00000028u;
|
|
/* 0245BE08 */ rbrew_write32(cpu->mem, _t186, cpu->r[28]);
|
|
/* 0245BE0C */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 0245BE10 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0245BE14 */ _t187 = cpu->r[1] + 0x00000026u;
|
|
/* 0245BE14 */ rbrew_write16(cpu->mem, _t187, (uint16_t)cpu->r[28]);
|
|
/* 0245BE18 */ Gambit_fn_0245C71C(cpu);
|
|
/* 0245BE1C */ _t188 = cpu->r[29] + 0x000001B8u;
|
|
/* 0245BE1C */ rbrew_write32(cpu->mem, _t188, cpu->r[27]);
|
|
L_0245BE20: ; // 0x245be20
|
|
/* 0245BE20 */ cpu->r[3] = cpu->r[29];
|
|
/* 0245BE24 */ /* nop */
|
|
/* 0245BE28 */ _t189 = cpu->r[1] + 0x00000054u;
|
|
/* 0245BE28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t189);
|
|
/* 0245BE2C */ cpu->lr = cpu->r[0];
|
|
/* 0245BE30 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 0245BE34 */ return;
|
|
}
|
|
|
|
// fn_0245B848 @ 0x245b848
|
|
void Gambit_fn_0245B848(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189;
|
|
|
|
L_0245B848: ; // 0x245b848
|
|
/* 0245B848 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 0245B848 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245B848 */ cpu->r[1] = _t0;
|
|
/* 0245B84C */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 0245B84C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0245B850 */ /* nop */
|
|
/* 0245B854 */ cpu->r[29] = cpu->r[3];
|
|
/* 0245B854 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0245B858 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B858 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0245B858 */ if (_t3) goto L_0245B85C; else goto L_0245B86C;
|
|
L_0245B85C: ; // 0x245b85c
|
|
/* 0245B85C */ cpu->r[3] = 0x00000214u;
|
|
/* 0245B860 */ Gambit_fn_02801A78(cpu);
|
|
/* 0245B864 */ cpu->r[29] = cpu->r[3];
|
|
/* 0245B864 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0245B868 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B868 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0245B868 */ if (_t5) goto L_0245BE20; else goto L_0245B86C;
|
|
L_0245B86C: ; // 0x245b86c
|
|
/* 0245B86C */ cpu->r[26] = 0x100A0000u;
|
|
/* 0245B870 */ cpu->r[3] = cpu->r[29];
|
|
/* 0245B874 */ cpu->r[10] = 0x100A0000u;
|
|
/* 0245B878 */ cpu->r[26] = cpu->r[26] + 0x00001768u;
|
|
/* 0245B87C */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B880 */ cpu->r[10] = cpu->r[10] + 0x00001818u;
|
|
/* 0245B884 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 0245B884 */ rbrew_write32(cpu->mem, _t6, cpu->r[26]);
|
|
/* 0245B888 */ cpu->r[5] = 0x00000002u;
|
|
/* 0245B88C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B88C */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 0245B890 */ Gambit_fn_02068860(cpu);
|
|
/* 0245B894 */ cpu->r[9] = 0x100A0000u;
|
|
/* 0245B898 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245B89C */ cpu->r[9] = cpu->r[9] + 0x0000188Cu;
|
|
/* 0245B8A0 */ cpu->r[0] = cpu->r[0] + 0x00001A04u;
|
|
/* 0245B8A4 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245B8A8 */ _t8 = cpu->r[29] + 0x00000000u;
|
|
/* 0245B8A8 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 0245B8AC */ cpu->r[12] = cpu->r[12] + 0x00001A14u;
|
|
/* 0245B8B0 */ _t9 = cpu->r[29] + 0x0000000Cu;
|
|
/* 0245B8B0 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0245B8B4 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245B8B8 */ cpu->r[27] = cpu->r[29] + 0x000001DCu;
|
|
/* 0245B8B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0245B8BC */ _t10 = cpu->r[29] + 0x0000001Cu;
|
|
/* 0245B8BC */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0245B8C0 */ cpu->r[0] = cpu->r[0] + 0x00001A24u;
|
|
/* 0245B8C4 */ cpu->r[31] = cpu->r[27];
|
|
/* 0245B8C8 */ cpu->r[28] = 0x00000000u;
|
|
/* 0245B8CC */ _t11 = cpu->r[29] + 0x000001C8u;
|
|
/* 0245B8CC */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0245B8D0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B8D0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0245B8D0 */ if (_t13) goto L_0245B8D4; else goto L_0245B8E4;
|
|
L_0245B8D4: ; // 0x245b8d4
|
|
/* 0245B8D4 */ cpu->r[3] = 0x00000038u;
|
|
/* 0245B8D8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0245B8DC */ cpu->r[31] = cpu->r[3];
|
|
/* 0245B8DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0245B8E0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B8E0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0245B8E0 */ if (_t15) goto L_0245B914; else goto L_0245B8E4;
|
|
L_0245B8E4: ; // 0x245b8e4
|
|
/* 0245B8E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245B8E8 */ Gambit_fn_027FC29C(cpu);
|
|
/* 0245B8EC */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245B8F0 */ _t16 = cpu->r[31] + 0x00000030u;
|
|
/* 0245B8F0 */ rbrew_write32(cpu->mem, _t16, cpu->r[28]);
|
|
/* 0245B8F4 */ cpu->r[0] = cpu->r[0] + 0x00001638u;
|
|
/* 0245B8F8 */ _t17 = cpu->r[31] + 0x00000034u;
|
|
/* 0245B8F8 */ rbrew_write32(cpu->mem, _t17, cpu->r[28]);
|
|
/* 0245B8FC */ _t18 = cpu->r[31] + 0x00000004u;
|
|
/* 0245B8FC */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 0245B900 */ _t19 = cpu->r[31] + 0x00000024u;
|
|
/* 0245B900 */ rbrew_write32(cpu->mem, _t19, cpu->r[28]);
|
|
/* 0245B904 */ _t20 = cpu->r[31] + 0x00000028u;
|
|
/* 0245B904 */ rbrew_write32(cpu->mem, _t20, cpu->r[28]);
|
|
/* 0245B908 */ _t21 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0245B908 */ rbrew_write32(cpu->mem, _t21, cpu->r[28]);
|
|
/* 0245B90C */ _t22 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0245B90C */ rbrew_write32(cpu->mem, _t22, cpu->r[28]);
|
|
/* 0245B910 */ _t23 = cpu->r[31] + 0x00000020u;
|
|
/* 0245B910 */ rbrew_write32(cpu->mem, _t23, cpu->r[28]);
|
|
L_0245B914: ; // 0x245b914
|
|
/* 0245B914 */ cpu->r[0] = 0x00000005u;
|
|
/* 0245B918 */ cpu->r[3] = cpu->r[27];
|
|
/* 0245B91C */ cpu->r[4] = cpu->r[29];
|
|
/* 0245B920 */ cpu->r[6] = 0x00000000u;
|
|
/* 0245B924 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0245B928 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 0245B928 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[0]);
|
|
/* 0245B92C */ Gambit_fn_0245C46C(cpu);
|
|
/* 0245B930 */ cpu->r[25] = 0x02460000u;
|
|
/* 0245B934 */ cpu->r[6] = 0x100A0000u;
|
|
/* 0245B938 */ cpu->r[25] = cpu->r[25] + 0xFFFFC320u;
|
|
/* 0245B93C */ cpu->r[6] = cpu->r[6] + 0x000017E8u;
|
|
/* 0245B940 */ cpu->ctr = cpu->r[25];
|
|
/* 0245B944 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B944 */ rbrew_write32(cpu->mem, _t25, cpu->r[6]);
|
|
/* 0245B948 */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 0245B948 */ rbrew_write32(cpu->mem, _t26, cpu->r[26]);
|
|
/* 0245B94C */ _t27 = cpu->r[27] + 0x00000018u;
|
|
/* 0245B94C */ cpu->r[23] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0245B950 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B954 */ _t28 = cpu->r[23] + 0x00000000u;
|
|
/* 0245B954 */ cpu->r[24] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0245B958 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245B95C */ cpu->r[30] = 0x10110000u;
|
|
/* 0245B960 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B960 */ cpu->r[10] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0245B964 */ _t30 = cpu->r[30] + 0x00007399u;
|
|
/* 0245B964 */ cpu->r[30] = rbrew_read8(cpu->mem, _t30);
|
|
/* 0245B968 */ _t31 = cpu->r[10] + 0x00000000u;
|
|
/* 0245B968 */ cpu->r[0] = rbrew_read8(cpu->mem, _t31);
|
|
/* 0245B96C */ cpu->r[31] = 0x00000000u;
|
|
/* 0245B970 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 0245B974 */ cpu->r[12] = 0x00080000u;
|
|
/* 0245B978 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B978 */ _t33 = _t32 & 0x00000001u;
|
|
/* 0245B978 */ if (_t33) goto L_0245B9A0; else goto L_0245B97C;
|
|
L_0245B97C: ; // 0x245b97c
|
|
/* 0245B97C */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0245B980 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
|
|
/* 0245B984 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0245B988 */ _t34 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0245B988 */ _t35 = _t34 & 0x00000001u;
|
|
/* 0245B988 */ if (_t35) goto L_0245B99C; else goto L_0245B98C;
|
|
L_0245B98C: ; // 0x245b98c
|
|
/* 0245B98C */ _t36 = cpu->r[10] + 0x00000000u;
|
|
/* 0245B98C */ cpu->r[8] = rbrew_read8(cpu->mem, _t36);
|
|
/* 0245B990 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[30]);
|
|
/* 0245B994 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B994 */ _t38 = _t37 & 0x00000001u;
|
|
/* 0245B994 */ if (_t38) goto L_0245B998; else goto L_0245B97C;
|
|
L_0245B998: ; // 0x245b998
|
|
/* 0245B998 */ goto L_0245B9A0;
|
|
L_0245B99C: ; // 0x245b99c
|
|
/* 0245B99C */ cpu->r[31] = 0x00000000u;
|
|
L_0245B9A0: ; // 0x245b9a0
|
|
/* 0245B9A0 */ _t39 = cpu->r[23] + 0x00000008u;
|
|
/* 0245B9A0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0245B9A4 */ _t40 = cpu->r[1] + 0x00000010u;
|
|
/* 0245B9A4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0245B9A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[6]);
|
|
/* 0245B9AC */ _t41 = cpu->r[9] + 0x00000014u;
|
|
/* 0245B9AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0245B9B0 */ _t42 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245B9B0 */ _t43 = _t42 & 0x00000001u;
|
|
/* 0245B9B0 */ if (_t43) goto L_0245B9B8; else goto L_0245B9B4;
|
|
L_0245B9B4: ; // 0x245b9b4
|
|
/* 0245B9B4 */ cpu->r[31] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_0245B9B8: ; // 0x245b9b8
|
|
/* 0245B9B8 */ cpu->ctr = cpu->r[0];
|
|
/* 0245B9BC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B9C0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245B9C4 */ _t44 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B9C4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0245B9C8 */ cpu->r[6] = 0x00000000u;
|
|
/* 0245B9CC */ cpu->r[5] = cpu->r[31];
|
|
/* 0245B9D0 */ cpu->r[3] = cpu->r[24];
|
|
/* 0245B9D4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0245B9D8 */ _t45 = cpu->r[24] + cpu->r[31];
|
|
/* 0245B9D8 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[30]);
|
|
/* 0245B9DC */ cpu->r[8] = 0x00000000u;
|
|
/* 0245B9E0 */ _t46 = cpu->r[1] + 0x00000016u;
|
|
/* 0245B9E0 */ rbrew_write16(cpu->mem, _t46, (uint16_t)cpu->r[28]);
|
|
/* 0245B9E4 */ cpu->r[0] = 0x02460000u;
|
|
/* 0245B9E8 */ _t47 = cpu->r[1] + 0x00000028u;
|
|
/* 0245B9E8 */ rbrew_write32(cpu->mem, _t47, cpu->r[28]);
|
|
/* 0245B9EC */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 0245B9F0 */ _t48 = cpu->r[1] + 0x00000018u;
|
|
/* 0245B9F0 */ rbrew_write32(cpu->mem, _t48, cpu->r[28]);
|
|
/* 0245B9F4 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0245B9F8 */ _t49 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0245B9F8 */ rbrew_write16(cpu->mem, _t49, (uint16_t)cpu->r[7]);
|
|
/* 0245B9FC */ _t50 = cpu->r[1] + 0x00000008u;
|
|
/* 0245B9FC */ rbrew_write8(cpu->mem, _t50, (uint8_t)cpu->r[8]);
|
|
/* 0245BA00 */ cpu->r[0] = cpu->r[0] + 0xFFFFC468u;
|
|
/* 0245BA04 */ _t51 = cpu->r[1] + 0x00000014u;
|
|
/* 0245BA04 */ rbrew_write16(cpu->mem, _t51, (uint16_t)cpu->r[28]);
|
|
/* 0245BA08 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0245BA0C */ _t52 = cpu->r[1] + 0x00000026u;
|
|
/* 0245BA0C */ rbrew_write16(cpu->mem, _t52, (uint16_t)cpu->r[28]);
|
|
/* 0245BA10 */ cpu->r[3] = cpu->r[27];
|
|
/* 0245BA14 */ _t53 = cpu->r[1] + 0x00000020u;
|
|
/* 0245BA14 */ rbrew_write32(cpu->mem, _t53, cpu->r[0]);
|
|
/* 0245BA18 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245BA1C */ _t54 = cpu->r[1] + 0x00000024u;
|
|
/* 0245BA1C */ rbrew_write16(cpu->mem, _t54, (uint16_t)cpu->r[28]);
|
|
/* 0245BA20 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0245BA24 */ _t55 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245BA24 */ rbrew_write16(cpu->mem, _t55, (uint16_t)cpu->r[28]);
|
|
/* 0245BA28 */ Gambit_fn_0245C71C(cpu);
|
|
/* 0245BA2C */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245BA30 */ _t56 = cpu->r[1] + 0x00000010u;
|
|
/* 0245BA30 */ rbrew_write32(cpu->mem, _t56, cpu->r[26]);
|
|
/* 0245BA34 */ cpu->r[12] = cpu->r[12] + 0x00001828u;
|
|
/* 0245BA38 */ _t57 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BA38 */ rbrew_write32(cpu->mem, _t57, cpu->r[12]);
|
|
/* 0245BA3C */ _t58 = cpu->r[27] + 0x00000014u;
|
|
/* 0245BA3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0245BA40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 0245BA44 */ _t59 = cpu->r[27] + 0x00000018u;
|
|
/* 0245BA44 */ cpu->r[24] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0245BA48 */ _t60 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0245BA48 */ _t61 = _t60 & 0x00000001u;
|
|
/* 0245BA48 */ if (_t61) goto L_0245BA4C; else goto L_0245BA50;
|
|
L_0245BA4C: ; // 0x245ba4c
|
|
/* 0245BA4C */ cpu->r[24] = cpu->r[24] + 0x00000024u;
|
|
L_0245BA50: ; // 0x245ba50
|
|
/* 0245BA50 */ cpu->ctr = cpu->r[25];
|
|
/* 0245BA54 */ _t62 = cpu->r[24] + 0x00000000u;
|
|
/* 0245BA54 */ cpu->r[23] = rbrew_read32(cpu->mem, _t62);
|
|
/* 0245BA58 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BA5C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245BA60 */ _t63 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BA60 */ cpu->r[6] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0245BA64 */ _t64 = cpu->r[6] + 0x00000000u;
|
|
/* 0245BA64 */ cpu->r[5] = rbrew_read8(cpu->mem, _t64);
|
|
/* 0245BA68 */ cpu->r[31] = 0x00000000u;
|
|
/* 0245BA6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[30]);
|
|
/* 0245BA70 */ cpu->r[8] = 0x00080000u;
|
|
/* 0245BA74 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245BA74 */ _t66 = _t65 & 0x00000001u;
|
|
/* 0245BA74 */ if (_t66) goto L_0245BA9C; else goto L_0245BA78;
|
|
L_0245BA78: ; // 0x245ba78
|
|
/* 0245BA78 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0245BA7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[8]);
|
|
/* 0245BA80 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0245BA84 */ _t67 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0245BA84 */ _t68 = _t67 & 0x00000001u;
|
|
/* 0245BA84 */ if (_t68) goto L_0245BA98; else goto L_0245BA88;
|
|
L_0245BA88: ; // 0x245ba88
|
|
/* 0245BA88 */ _t69 = cpu->r[6] + 0x00000000u;
|
|
/* 0245BA88 */ cpu->r[7] = rbrew_read8(cpu->mem, _t69);
|
|
/* 0245BA8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[30]);
|
|
/* 0245BA90 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245BA90 */ _t71 = _t70 & 0x00000001u;
|
|
/* 0245BA90 */ if (_t71) goto L_0245BA94; else goto L_0245BA78;
|
|
L_0245BA94: ; // 0x245ba94
|
|
/* 0245BA94 */ goto L_0245BA9C;
|
|
L_0245BA98: ; // 0x245ba98
|
|
/* 0245BA98 */ cpu->r[31] = 0x00000000u;
|
|
L_0245BA9C: ; // 0x245ba9c
|
|
/* 0245BA9C */ _t72 = cpu->r[24] + 0x00000008u;
|
|
/* 0245BA9C */ cpu->r[8] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0245BAA0 */ _t73 = cpu->r[1] + 0x00000010u;
|
|
/* 0245BAA0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0245BAA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[8]);
|
|
/* 0245BAA8 */ _t74 = cpu->r[9] + 0x00000014u;
|
|
/* 0245BAA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0245BAAC */ _t75 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245BAAC */ _t76 = _t75 & 0x00000001u;
|
|
/* 0245BAAC */ if (_t76) goto L_0245BAB4; else goto L_0245BAB0;
|
|
L_0245BAB0: ; // 0x245bab0
|
|
/* 0245BAB0 */ cpu->r[31] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_0245BAB4: ; // 0x245bab4
|
|
/* 0245BAB4 */ cpu->ctr = cpu->r[12];
|
|
/* 0245BAB8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BABC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245BAC0 */ _t77 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BAC0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t77);
|
|
/* 0245BAC4 */ cpu->r[6] = 0x00000000u;
|
|
/* 0245BAC8 */ cpu->r[5] = cpu->r[31];
|
|
/* 0245BACC */ cpu->r[3] = cpu->r[23];
|
|
/* 0245BAD0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0245BAD4 */ _t78 = cpu->r[23] + cpu->r[31];
|
|
/* 0245BAD4 */ rbrew_write8(cpu->mem, _t78, (uint8_t)cpu->r[30]);
|
|
/* 0245BAD8 */ cpu->r[12] = 0x00000001u;
|
|
/* 0245BADC */ _t79 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245BADC */ rbrew_write16(cpu->mem, _t79, (uint16_t)cpu->r[28]);
|
|
/* 0245BAE0 */ cpu->r[5] = 0x02460000u;
|
|
/* 0245BAE4 */ _t80 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0245BAE4 */ rbrew_write16(cpu->mem, _t80, (uint16_t)cpu->r[28]);
|
|
/* 0245BAE8 */ cpu->r[5] = cpu->r[5] + 0xFFFFC024u;
|
|
/* 0245BAEC */ _t81 = cpu->r[1] + 0x00000008u;
|
|
/* 0245BAEC */ rbrew_write8(cpu->mem, _t81, (uint8_t)cpu->r[12]);
|
|
/* 0245BAF0 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0245BAF4 */ _t82 = cpu->r[1] + 0x00000018u;
|
|
/* 0245BAF4 */ rbrew_write32(cpu->mem, _t82, cpu->r[5]);
|
|
/* 0245BAF8 */ _t83 = cpu->r[1] + 0x00000026u;
|
|
/* 0245BAF8 */ rbrew_write16(cpu->mem, _t83, (uint16_t)cpu->r[28]);
|
|
/* 0245BAFC */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 0245BB00 */ _t84 = cpu->r[1] + 0x00000028u;
|
|
/* 0245BB00 */ rbrew_write32(cpu->mem, _t84, cpu->r[28]);
|
|
/* 0245BB04 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0245BB08 */ _t85 = cpu->r[1] + 0x00000014u;
|
|
/* 0245BB08 */ rbrew_write16(cpu->mem, _t85, (uint16_t)cpu->r[28]);
|
|
/* 0245BB0C */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0245BB10 */ _t86 = cpu->r[1] + 0x00000020u;
|
|
/* 0245BB10 */ rbrew_write32(cpu->mem, _t86, cpu->r[28]);
|
|
/* 0245BB14 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245BB18 */ _t87 = cpu->r[1] + 0x00000016u;
|
|
/* 0245BB18 */ rbrew_write16(cpu->mem, _t87, (uint16_t)cpu->r[0]);
|
|
/* 0245BB1C */ cpu->r[3] = cpu->r[27];
|
|
/* 0245BB20 */ _t88 = cpu->r[1] + 0x00000024u;
|
|
/* 0245BB20 */ rbrew_write16(cpu->mem, _t88, (uint16_t)cpu->r[28]);
|
|
/* 0245BB24 */ Gambit_fn_0245C71C(cpu);
|
|
/* 0245BB28 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245BB2C */ _t89 = cpu->r[1] + 0x00000010u;
|
|
/* 0245BB2C */ rbrew_write32(cpu->mem, _t89, cpu->r[26]);
|
|
/* 0245BB30 */ cpu->r[0] = cpu->r[0] + 0x000017F8u;
|
|
/* 0245BB34 */ _t90 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BB34 */ rbrew_write32(cpu->mem, _t90, cpu->r[0]);
|
|
/* 0245BB38 */ _t91 = cpu->r[27] + 0x00000014u;
|
|
/* 0245BB38 */ cpu->r[10] = rbrew_read32(cpu->mem, _t91);
|
|
/* 0245BB3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000002u);
|
|
/* 0245BB40 */ _t92 = cpu->r[27] + 0x00000018u;
|
|
/* 0245BB40 */ cpu->r[24] = rbrew_read32(cpu->mem, _t92);
|
|
/* 0245BB44 */ _t93 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0245BB44 */ _t94 = _t93 & 0x00000001u;
|
|
/* 0245BB44 */ if (_t94) goto L_0245BB48; else goto L_0245BB4C;
|
|
L_0245BB48: ; // 0x245bb48
|
|
/* 0245BB48 */ cpu->r[24] = cpu->r[24] + 0x00000048u;
|
|
L_0245BB4C: ; // 0x245bb4c
|
|
/* 0245BB4C */ cpu->ctr = cpu->r[25];
|
|
/* 0245BB50 */ _t95 = cpu->r[24] + 0x00000000u;
|
|
/* 0245BB50 */ cpu->r[23] = rbrew_read32(cpu->mem, _t95);
|
|
/* 0245BB54 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BB58 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245BB5C */ _t96 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BB5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t96);
|
|
/* 0245BB60 */ _t97 = cpu->r[11] + 0x00000000u;
|
|
/* 0245BB60 */ cpu->r[0] = rbrew_read8(cpu->mem, _t97);
|
|
/* 0245BB64 */ cpu->r[31] = 0x00000000u;
|
|
/* 0245BB68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 0245BB6C */ cpu->r[12] = 0x00080000u;
|
|
/* 0245BB70 */ _t98 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245BB70 */ _t99 = _t98 & 0x00000001u;
|
|
/* 0245BB70 */ if (_t99) goto L_0245BB98; else goto L_0245BB74;
|
|
L_0245BB74: ; // 0x245bb74
|
|
/* 0245BB74 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0245BB78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
|
|
/* 0245BB7C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0245BB80 */ _t100 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0245BB80 */ _t101 = _t100 & 0x00000001u;
|
|
/* 0245BB80 */ if (_t101) goto L_0245BB94; else goto L_0245BB84;
|
|
L_0245BB84: ; // 0x245bb84
|
|
/* 0245BB84 */ _t102 = cpu->r[11] + 0x00000000u;
|
|
/* 0245BB84 */ cpu->r[5] = rbrew_read8(cpu->mem, _t102);
|
|
/* 0245BB88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[30]);
|
|
/* 0245BB8C */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245BB8C */ _t104 = _t103 & 0x00000001u;
|
|
/* 0245BB8C */ if (_t104) goto L_0245BB90; else goto L_0245BB74;
|
|
L_0245BB90: ; // 0x245bb90
|
|
/* 0245BB90 */ goto L_0245BB98;
|
|
L_0245BB94: ; // 0x245bb94
|
|
/* 0245BB94 */ cpu->r[31] = 0x00000000u;
|
|
L_0245BB98: ; // 0x245bb98
|
|
/* 0245BB98 */ _t105 = cpu->r[24] + 0x00000008u;
|
|
/* 0245BB98 */ cpu->r[10] = rbrew_read32(cpu->mem, _t105);
|
|
/* 0245BB9C */ _t106 = cpu->r[1] + 0x00000010u;
|
|
/* 0245BB9C */ cpu->r[7] = rbrew_read32(cpu->mem, _t106);
|
|
/* 0245BBA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[10]);
|
|
/* 0245BBA4 */ _t107 = cpu->r[7] + 0x00000014u;
|
|
/* 0245BBA4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t107);
|
|
/* 0245BBA8 */ _t108 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245BBA8 */ _t109 = _t108 & 0x00000001u;
|
|
/* 0245BBA8 */ if (_t109) goto L_0245BBB0; else goto L_0245BBAC;
|
|
L_0245BBAC: ; // 0x245bbac
|
|
/* 0245BBAC */ cpu->r[31] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_0245BBB0: ; // 0x245bbb0
|
|
/* 0245BBB0 */ cpu->ctr = cpu->r[9];
|
|
/* 0245BBB4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BBB8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245BBBC */ _t110 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BBBC */ cpu->r[4] = rbrew_read32(cpu->mem, _t110);
|
|
/* 0245BBC0 */ cpu->r[3] = cpu->r[23];
|
|
/* 0245BBC4 */ cpu->r[5] = cpu->r[31];
|
|
/* 0245BBC8 */ cpu->r[6] = 0x00000000u;
|
|
/* 0245BBCC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0245BBD0 */ _t111 = cpu->r[23] + cpu->r[31];
|
|
/* 0245BBD0 */ rbrew_write8(cpu->mem, _t111, (uint8_t)cpu->r[30]);
|
|
/* 0245BBD4 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0245BBD8 */ _t112 = cpu->r[1] + 0x00000028u;
|
|
/* 0245BBD8 */ rbrew_write32(cpu->mem, _t112, cpu->r[28]);
|
|
/* 0245BBDC */ cpu->r[11] = 0x02460000u;
|
|
/* 0245BBE0 */ _t113 = cpu->r[1] + 0x00000020u;
|
|
/* 0245BBE0 */ rbrew_write32(cpu->mem, _t113, cpu->r[28]);
|
|
/* 0245BBE4 */ cpu->r[11] = cpu->r[11] + 0xFFFFC0E4u;
|
|
/* 0245BBE8 */ _t114 = cpu->r[1] + 0x00000016u;
|
|
/* 0245BBE8 */ rbrew_write16(cpu->mem, _t114, (uint16_t)cpu->r[0]);
|
|
/* 0245BBEC */ cpu->r[0] = 0x00000002u;
|
|
/* 0245BBF0 */ _t115 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245BBF0 */ rbrew_write16(cpu->mem, _t115, (uint16_t)cpu->r[28]);
|
|
/* 0245BBF4 */ _t116 = cpu->r[1] + 0x00000014u;
|
|
/* 0245BBF4 */ rbrew_write16(cpu->mem, _t116, (uint16_t)cpu->r[28]);
|
|
/* 0245BBF8 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0245BBFC */ _t117 = cpu->r[1] + 0x00000008u;
|
|
/* 0245BBFC */ rbrew_write8(cpu->mem, _t117, (uint8_t)cpu->r[0]);
|
|
/* 0245BC00 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0245BC04 */ _t118 = cpu->r[1] + 0x00000018u;
|
|
/* 0245BC04 */ rbrew_write32(cpu->mem, _t118, cpu->r[11]);
|
|
/* 0245BC08 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 0245BC0C */ _t119 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0245BC0C */ rbrew_write16(cpu->mem, _t119, (uint16_t)cpu->r[28]);
|
|
/* 0245BC10 */ cpu->r[3] = cpu->r[27];
|
|
/* 0245BC14 */ _t120 = cpu->r[1] + 0x00000026u;
|
|
/* 0245BC14 */ rbrew_write16(cpu->mem, _t120, (uint16_t)cpu->r[28]);
|
|
/* 0245BC18 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245BC1C */ _t121 = cpu->r[1] + 0x00000024u;
|
|
/* 0245BC1C */ rbrew_write16(cpu->mem, _t121, (uint16_t)cpu->r[28]);
|
|
/* 0245BC20 */ Gambit_fn_0245C71C(cpu);
|
|
/* 0245BC24 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245BC28 */ _t122 = cpu->r[1] + 0x00000010u;
|
|
/* 0245BC28 */ rbrew_write32(cpu->mem, _t122, cpu->r[26]);
|
|
/* 0245BC2C */ cpu->r[0] = cpu->r[0] + 0x00001808u;
|
|
/* 0245BC30 */ _t123 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BC30 */ rbrew_write32(cpu->mem, _t123, cpu->r[0]);
|
|
/* 0245BC34 */ _t124 = cpu->r[27] + 0x00000014u;
|
|
/* 0245BC34 */ cpu->r[5] = rbrew_read32(cpu->mem, _t124);
|
|
/* 0245BC38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000003u);
|
|
/* 0245BC3C */ _t125 = cpu->r[27] + 0x00000018u;
|
|
/* 0245BC3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t125);
|
|
/* 0245BC40 */ _t126 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0245BC40 */ _t127 = _t126 & 0x00000001u;
|
|
/* 0245BC40 */ if (_t127) goto L_0245BC44; else goto L_0245BC48;
|
|
L_0245BC44: ; // 0x245bc44
|
|
/* 0245BC44 */ cpu->r[31] = cpu->r[31] + 0x0000006Cu;
|
|
L_0245BC48: ; // 0x245bc48
|
|
/* 0245BC48 */ cpu->ctr = cpu->r[25];
|
|
/* 0245BC4C */ _t128 = cpu->r[31] + 0x00000000u;
|
|
/* 0245BC4C */ cpu->r[23] = rbrew_read32(cpu->mem, _t128);
|
|
/* 0245BC50 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BC54 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245BC58 */ _t129 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BC58 */ cpu->r[6] = rbrew_read32(cpu->mem, _t129);
|
|
/* 0245BC5C */ _t130 = cpu->r[6] + 0x00000000u;
|
|
/* 0245BC5C */ cpu->r[7] = rbrew_read8(cpu->mem, _t130);
|
|
/* 0245BC60 */ cpu->r[24] = 0x00000000u;
|
|
/* 0245BC64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[30]);
|
|
/* 0245BC68 */ cpu->r[8] = 0x00080000u;
|
|
/* 0245BC6C */ _t131 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245BC6C */ _t132 = _t131 & 0x00000001u;
|
|
/* 0245BC6C */ if (_t132) goto L_0245BC94; else goto L_0245BC70;
|
|
L_0245BC70: ; // 0x245bc70
|
|
/* 0245BC70 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 0245BC74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[8]);
|
|
/* 0245BC78 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0245BC7C */ _t133 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0245BC7C */ _t134 = _t133 & 0x00000001u;
|
|
/* 0245BC7C */ if (_t134) goto L_0245BC90; else goto L_0245BC80;
|
|
L_0245BC80: ; // 0x245bc80
|
|
/* 0245BC80 */ _t135 = cpu->r[6] + 0x00000000u;
|
|
/* 0245BC80 */ cpu->r[0] = rbrew_read8(cpu->mem, _t135);
|
|
/* 0245BC84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 0245BC88 */ _t136 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245BC88 */ _t137 = _t136 & 0x00000001u;
|
|
/* 0245BC88 */ if (_t137) goto L_0245BC8C; else goto L_0245BC70;
|
|
L_0245BC8C: ; // 0x245bc8c
|
|
/* 0245BC8C */ goto L_0245BC94;
|
|
L_0245BC90: ; // 0x245bc90
|
|
/* 0245BC90 */ cpu->r[24] = 0x00000000u;
|
|
L_0245BC94: ; // 0x245bc94
|
|
/* 0245BC94 */ _t138 = cpu->r[31] + 0x00000008u;
|
|
/* 0245BC94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t138);
|
|
/* 0245BC98 */ _t139 = cpu->r[1] + 0x00000010u;
|
|
/* 0245BC98 */ cpu->r[11] = rbrew_read32(cpu->mem, _t139);
|
|
/* 0245BC9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[12]);
|
|
/* 0245BCA0 */ _t140 = cpu->r[11] + 0x00000014u;
|
|
/* 0245BCA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t140);
|
|
/* 0245BCA4 */ _t141 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245BCA4 */ _t142 = _t141 & 0x00000001u;
|
|
/* 0245BCA4 */ if (_t142) goto L_0245BCAC; else goto L_0245BCA8;
|
|
L_0245BCA8: ; // 0x245bca8
|
|
/* 0245BCA8 */ cpu->r[24] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_0245BCAC: ; // 0x245bcac
|
|
/* 0245BCAC */ cpu->ctr = cpu->r[0];
|
|
/* 0245BCB0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BCB4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245BCB8 */ _t143 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BCB8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t143);
|
|
/* 0245BCBC */ cpu->r[3] = cpu->r[23];
|
|
/* 0245BCC0 */ cpu->r[5] = cpu->r[24];
|
|
/* 0245BCC4 */ cpu->r[6] = 0x00000000u;
|
|
/* 0245BCC8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0245BCCC */ _t144 = cpu->r[23] + cpu->r[24];
|
|
/* 0245BCCC */ rbrew_write8(cpu->mem, _t144, (uint8_t)cpu->r[30]);
|
|
/* 0245BCD0 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 0245BCD4 */ _t145 = cpu->r[1] + 0x00000026u;
|
|
/* 0245BCD4 */ rbrew_write16(cpu->mem, _t145, (uint16_t)cpu->r[28]);
|
|
/* 0245BCD8 */ cpu->r[6] = 0x02460000u;
|
|
/* 0245BCDC */ _t146 = cpu->r[1] + 0x00000014u;
|
|
/* 0245BCDC */ rbrew_write16(cpu->mem, _t146, (uint16_t)cpu->r[28]);
|
|
/* 0245BCE0 */ cpu->r[6] = cpu->r[6] + 0xFFFFC168u;
|
|
/* 0245BCE4 */ _t147 = cpu->r[1] + 0x00000016u;
|
|
/* 0245BCE4 */ rbrew_write16(cpu->mem, _t147, (uint16_t)cpu->r[12]);
|
|
/* 0245BCE8 */ cpu->r[0] = 0x00000003u;
|
|
/* 0245BCEC */ _t148 = cpu->r[1] + 0x00000024u;
|
|
/* 0245BCEC */ rbrew_write16(cpu->mem, _t148, (uint16_t)cpu->r[28]);
|
|
/* 0245BCF0 */ _t149 = cpu->r[1] + 0x00000018u;
|
|
/* 0245BCF0 */ rbrew_write32(cpu->mem, _t149, cpu->r[6]);
|
|
/* 0245BCF4 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0245BCF8 */ _t150 = cpu->r[1] + 0x00000028u;
|
|
/* 0245BCF8 */ rbrew_write32(cpu->mem, _t150, cpu->r[28]);
|
|
/* 0245BCFC */ cpu->r[3] = cpu->r[27];
|
|
/* 0245BD00 */ _t151 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245BD00 */ rbrew_write16(cpu->mem, _t151, (uint16_t)cpu->r[28]);
|
|
/* 0245BD04 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0245BD08 */ _t152 = cpu->r[1] + 0x00000020u;
|
|
/* 0245BD08 */ rbrew_write32(cpu->mem, _t152, cpu->r[28]);
|
|
/* 0245BD0C */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 0245BD10 */ _t153 = cpu->r[1] + 0x00000008u;
|
|
/* 0245BD10 */ rbrew_write8(cpu->mem, _t153, (uint8_t)cpu->r[0]);
|
|
/* 0245BD14 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245BD18 */ _t154 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0245BD18 */ rbrew_write16(cpu->mem, _t154, (uint16_t)cpu->r[28]);
|
|
/* 0245BD1C */ Gambit_fn_0245C71C(cpu);
|
|
/* 0245BD20 */ cpu->r[7] = 0x100A0000u;
|
|
/* 0245BD24 */ _t155 = cpu->r[1] + 0x00000010u;
|
|
/* 0245BD24 */ rbrew_write32(cpu->mem, _t155, cpu->r[26]);
|
|
/* 0245BD28 */ cpu->r[7] = cpu->r[7] + 0x000017D8u;
|
|
/* 0245BD2C */ _t156 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BD2C */ rbrew_write32(cpu->mem, _t156, cpu->r[7]);
|
|
/* 0245BD30 */ _t157 = cpu->r[27] + 0x00000014u;
|
|
/* 0245BD30 */ cpu->r[8] = rbrew_read32(cpu->mem, _t157);
|
|
/* 0245BD34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000004u);
|
|
/* 0245BD38 */ _t158 = cpu->r[27] + 0x00000018u;
|
|
/* 0245BD38 */ cpu->r[26] = rbrew_read32(cpu->mem, _t158);
|
|
/* 0245BD3C */ _t159 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0245BD3C */ _t160 = _t159 & 0x00000001u;
|
|
/* 0245BD3C */ if (_t160) goto L_0245BD40; else goto L_0245BD44;
|
|
L_0245BD40: ; // 0x245bd40
|
|
/* 0245BD40 */ cpu->r[26] = cpu->r[26] + 0x00000090u;
|
|
L_0245BD44: ; // 0x245bd44
|
|
/* 0245BD44 */ cpu->ctr = cpu->r[25];
|
|
/* 0245BD48 */ _t161 = cpu->r[26] + 0x00000000u;
|
|
/* 0245BD48 */ cpu->r[24] = rbrew_read32(cpu->mem, _t161);
|
|
/* 0245BD4C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BD50 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245BD54 */ _t162 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BD54 */ cpu->r[10] = rbrew_read32(cpu->mem, _t162);
|
|
/* 0245BD58 */ _t163 = cpu->r[10] + 0x00000000u;
|
|
/* 0245BD58 */ cpu->r[9] = rbrew_read8(cpu->mem, _t163);
|
|
/* 0245BD5C */ cpu->r[31] = 0x00000000u;
|
|
/* 0245BD60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[30]);
|
|
/* 0245BD64 */ cpu->r[0] = 0x00080000u;
|
|
/* 0245BD68 */ _t164 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245BD68 */ _t165 = _t164 & 0x00000001u;
|
|
/* 0245BD68 */ if (_t165) goto L_0245BD90; else goto L_0245BD6C;
|
|
L_0245BD6C: ; // 0x245bd6c
|
|
/* 0245BD6C */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0245BD70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 0245BD74 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0245BD78 */ _t166 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0245BD78 */ _t167 = _t166 & 0x00000001u;
|
|
/* 0245BD78 */ if (_t167) goto L_0245BD8C; else goto L_0245BD7C;
|
|
L_0245BD7C: ; // 0x245bd7c
|
|
/* 0245BD7C */ _t168 = cpu->r[10] + 0x00000000u;
|
|
/* 0245BD7C */ cpu->r[11] = rbrew_read8(cpu->mem, _t168);
|
|
/* 0245BD80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[30]);
|
|
/* 0245BD84 */ _t169 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245BD84 */ _t170 = _t169 & 0x00000001u;
|
|
/* 0245BD84 */ if (_t170) goto L_0245BD88; else goto L_0245BD6C;
|
|
L_0245BD88: ; // 0x245bd88
|
|
/* 0245BD88 */ goto L_0245BD90;
|
|
L_0245BD8C: ; // 0x245bd8c
|
|
/* 0245BD8C */ cpu->r[31] = 0x00000000u;
|
|
L_0245BD90: ; // 0x245bd90
|
|
/* 0245BD90 */ _t171 = cpu->r[26] + 0x00000008u;
|
|
/* 0245BD90 */ cpu->r[5] = rbrew_read32(cpu->mem, _t171);
|
|
/* 0245BD94 */ _t172 = cpu->r[1] + 0x00000010u;
|
|
/* 0245BD94 */ cpu->r[6] = rbrew_read32(cpu->mem, _t172);
|
|
/* 0245BD98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[5]);
|
|
/* 0245BD9C */ _t173 = cpu->r[6] + 0x00000014u;
|
|
/* 0245BD9C */ cpu->r[7] = rbrew_read32(cpu->mem, _t173);
|
|
/* 0245BDA0 */ _t174 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245BDA0 */ _t175 = _t174 & 0x00000001u;
|
|
/* 0245BDA0 */ if (_t175) goto L_0245BDA8; else goto L_0245BDA4;
|
|
L_0245BDA4: ; // 0x245bda4
|
|
/* 0245BDA4 */ cpu->r[31] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_0245BDA8: ; // 0x245bda8
|
|
/* 0245BDA8 */ cpu->ctr = cpu->r[7];
|
|
/* 0245BDAC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BDB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245BDB4 */ _t176 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BDB4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t176);
|
|
/* 0245BDB8 */ cpu->r[3] = cpu->r[24];
|
|
/* 0245BDBC */ cpu->r[5] = cpu->r[31];
|
|
/* 0245BDC0 */ cpu->r[6] = 0x00000000u;
|
|
/* 0245BDC4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0245BDC8 */ _t177 = cpu->r[24] + cpu->r[31];
|
|
/* 0245BDC8 */ rbrew_write8(cpu->mem, _t177, (uint8_t)cpu->r[30]);
|
|
/* 0245BDCC */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 0245BDD0 */ _t178 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0245BDD0 */ rbrew_write16(cpu->mem, _t178, (uint16_t)cpu->r[28]);
|
|
/* 0245BDD4 */ cpu->r[8] = 0x00000004u;
|
|
/* 0245BDD8 */ _t179 = cpu->r[1] + 0x00000014u;
|
|
/* 0245BDD8 */ rbrew_write16(cpu->mem, _t179, (uint16_t)cpu->r[28]);
|
|
/* 0245BDDC */ cpu->r[10] = 0x02460000u;
|
|
/* 0245BDE0 */ _t180 = cpu->r[1] + 0x00000024u;
|
|
/* 0245BDE0 */ rbrew_write16(cpu->mem, _t180, (uint16_t)cpu->r[28]);
|
|
/* 0245BDE4 */ cpu->r[10] = cpu->r[10] + 0xFFFFC1F4u;
|
|
/* 0245BDE8 */ _t181 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245BDE8 */ rbrew_write16(cpu->mem, _t181, (uint16_t)cpu->r[28]);
|
|
/* 0245BDEC */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 0245BDF0 */ _t182 = cpu->r[1] + 0x00000008u;
|
|
/* 0245BDF0 */ rbrew_write8(cpu->mem, _t182, (uint8_t)cpu->r[8]);
|
|
/* 0245BDF4 */ cpu->r[3] = cpu->r[27];
|
|
/* 0245BDF8 */ _t183 = cpu->r[1] + 0x00000018u;
|
|
/* 0245BDF8 */ rbrew_write32(cpu->mem, _t183, cpu->r[10]);
|
|
/* 0245BDFC */ _t184 = cpu->r[1] + 0x00000016u;
|
|
/* 0245BDFC */ rbrew_write16(cpu->mem, _t184, (uint16_t)cpu->r[5]);
|
|
/* 0245BE00 */ _t185 = cpu->r[1] + 0x00000020u;
|
|
/* 0245BE00 */ rbrew_write32(cpu->mem, _t185, cpu->r[28]);
|
|
/* 0245BE04 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245BE08 */ _t186 = cpu->r[1] + 0x00000028u;
|
|
/* 0245BE08 */ rbrew_write32(cpu->mem, _t186, cpu->r[28]);
|
|
/* 0245BE0C */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 0245BE10 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0245BE14 */ _t187 = cpu->r[1] + 0x00000026u;
|
|
/* 0245BE14 */ rbrew_write16(cpu->mem, _t187, (uint16_t)cpu->r[28]);
|
|
/* 0245BE18 */ Gambit_fn_0245C71C(cpu);
|
|
/* 0245BE1C */ _t188 = cpu->r[29] + 0x000001B8u;
|
|
/* 0245BE1C */ rbrew_write32(cpu->mem, _t188, cpu->r[27]);
|
|
L_0245BE20: ; // 0x245be20
|
|
/* 0245BE20 */ cpu->r[3] = cpu->r[29];
|
|
/* 0245BE24 */ /* nop */
|
|
/* 0245BE28 */ _t189 = cpu->r[1] + 0x00000054u;
|
|
/* 0245BE28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t189);
|
|
/* 0245BE2C */ cpu->lr = cpu->r[0];
|
|
/* 0245BE30 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 0245BE34 */ return;
|
|
}
|
|
|
|
// fn_0245BE38 @ 0x245be38
|
|
void Gambit_fn_0245BE38(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0245BE38: ; // 0x245be38
|
|
/* 0245BE38 */ cpu->r[0] = cpu->lr;
|
|
/* 0245BE3C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245BE3C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245BE3C */ cpu->r[1] = _t0;
|
|
/* 0245BE40 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BE40 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245BE44 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245BE48 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0245BE4C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0245BE4C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0245BE50 */ _t3 = cpu->r[3] + 0x00003400u;
|
|
/* 0245BE50 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0245BE54 */ Gambit_fn_0206C030(cpu);
|
|
/* 0245BE58 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245BE5C */ Gambit_fn_0206A274(cpu);
|
|
/* 0245BE60 */ cpu->r[3] = cpu->r[31] + 0x000001DCu;
|
|
/* 0245BE64 */ cpu->r[4] = 0x00000001u;
|
|
/* 0245BE68 */ Gambit_fn_0245B7AC(cpu);
|
|
/* 0245BE6C */ _t4 = cpu->r[31] + 0x000001ACu;
|
|
/* 0245BE6C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0245BE70 */ Gambit_fn_027BB1DC(cpu);
|
|
/* 0245BE74 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0245BE74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0245BE78 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BE78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0245BE7C */ cpu->lr = cpu->r[0];
|
|
/* 0245BE80 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245BE84 */ return;
|
|
}
|
|
|
|
// fn_0245BE3C @ 0x245be3c
|
|
void Gambit_fn_0245BE3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0245BE3C: ; // 0x245be3c
|
|
/* 0245BE3C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245BE3C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245BE3C */ cpu->r[1] = _t0;
|
|
/* 0245BE40 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BE40 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245BE44 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245BE48 */ cpu->r[3] = 0x101C0000u;
|
|
/* 0245BE4C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0245BE4C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0245BE50 */ _t3 = cpu->r[3] + 0x00003400u;
|
|
/* 0245BE50 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0245BE54 */ Gambit_fn_0206C030(cpu);
|
|
/* 0245BE58 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245BE5C */ Gambit_fn_0206A274(cpu);
|
|
/* 0245BE60 */ cpu->r[3] = cpu->r[31] + 0x000001DCu;
|
|
/* 0245BE64 */ cpu->r[4] = 0x00000001u;
|
|
/* 0245BE68 */ Gambit_fn_0245B7AC(cpu);
|
|
/* 0245BE6C */ _t4 = cpu->r[31] + 0x000001ACu;
|
|
/* 0245BE6C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0245BE70 */ Gambit_fn_027BB1DC(cpu);
|
|
/* 0245BE74 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0245BE74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0245BE78 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BE78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0245BE7C */ cpu->lr = cpu->r[0];
|
|
/* 0245BE80 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245BE84 */ return;
|
|
}
|
|
|
|
// fn_0245BE88 @ 0x245be88
|
|
void Gambit_fn_0245BE88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0245BE88: ; // 0x245be88
|
|
/* 0245BE88 */ cpu->r[0] = cpu->lr;
|
|
/* 0245BE8C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245BE8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245BE8C */ cpu->r[1] = _t0;
|
|
/* 0245BE90 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BE90 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245BE94 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245BE98 */ cpu->r[3] = cpu->r[31] + 0x000001DCu;
|
|
/* 0245BE9C */ cpu->r[4] = 0x00000000u;
|
|
/* 0245BEA0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0245BEA0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0245BEA4 */ Gambit_fn_0245B7AC(cpu);
|
|
/* 0245BEA8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245BEAC */ Gambit_fn_0206A310(cpu);
|
|
/* 0245BEB0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0245BEB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0245BEB4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BEB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0245BEB8 */ cpu->lr = cpu->r[0];
|
|
/* 0245BEBC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245BEC0 */ return;
|
|
}
|
|
|
|
// fn_0245BE8C @ 0x245be8c
|
|
void Gambit_fn_0245BE8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0245BE8C: ; // 0x245be8c
|
|
/* 0245BE8C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245BE8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245BE8C */ cpu->r[1] = _t0;
|
|
/* 0245BE90 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BE90 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245BE94 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245BE98 */ cpu->r[3] = cpu->r[31] + 0x000001DCu;
|
|
/* 0245BE9C */ cpu->r[4] = 0x00000000u;
|
|
/* 0245BEA0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0245BEA0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0245BEA4 */ Gambit_fn_0245B7AC(cpu);
|
|
/* 0245BEA8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245BEAC */ Gambit_fn_0206A310(cpu);
|
|
/* 0245BEB0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0245BEB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0245BEB4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BEB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0245BEB8 */ cpu->lr = cpu->r[0];
|
|
/* 0245BEBC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245BEC0 */ return;
|
|
}
|
|
|
|
// fn_0245BEC4 @ 0x245bec4
|
|
void Gambit_fn_0245BEC4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0245BEC4: ; // 0x245bec4
|
|
/* 0245BEC4 */ cpu->r[0] = cpu->lr;
|
|
/* 0245BEC8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245BEC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245BEC8 */ cpu->r[1] = _t0;
|
|
/* 0245BECC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BECC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245BED0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245BED4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0245BED4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0245BED8 */ Gambit_fn_0206A1E0(cpu);
|
|
/* 0245BEDC */ _t3 = cpu->r[31] + 0x000001EAu;
|
|
/* 0245BEDC */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0245BEE0 */ cpu->r[3] = cpu->r[31] + 0x000001DCu;
|
|
/* 0245BEE4 */ /* nop */
|
|
/* 0245BEE8 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0245BEEC */ cpu->r[3] = cpu->r[31] + 0x000001DCu;
|
|
/* 0245BEF0 */ Gambit_fn_0245B5A4(cpu);
|
|
/* 0245BEF4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0245BEF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0245BEF8 */ cpu->lr = cpu->r[0];
|
|
/* 0245BEFC */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BEFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0245BF00 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245BF04 */ return;
|
|
}
|
|
|
|
// fn_0245BEC8 @ 0x245bec8
|
|
void Gambit_fn_0245BEC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0245BEC8: ; // 0x245bec8
|
|
/* 0245BEC8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245BEC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245BEC8 */ cpu->r[1] = _t0;
|
|
/* 0245BECC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BECC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245BED0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245BED4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0245BED4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0245BED8 */ Gambit_fn_0206A1E0(cpu);
|
|
/* 0245BEDC */ _t3 = cpu->r[31] + 0x000001EAu;
|
|
/* 0245BEDC */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0245BEE0 */ cpu->r[3] = cpu->r[31] + 0x000001DCu;
|
|
/* 0245BEE4 */ /* nop */
|
|
/* 0245BEE8 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0245BEEC */ cpu->r[3] = cpu->r[31] + 0x000001DCu;
|
|
/* 0245BEF0 */ Gambit_fn_0245B5A4(cpu);
|
|
/* 0245BEF4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0245BEF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0245BEF8 */ cpu->lr = cpu->r[0];
|
|
/* 0245BEFC */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BEFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0245BF00 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245BF04 */ return;
|
|
}
|
|
|
|
// fn_0245BF08 @ 0x245bf08
|
|
void Gambit_fn_0245BF08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_0245BF08: ; // 0x245bf08
|
|
/* 0245BF08 */ cpu->r[0] = cpu->lr;
|
|
/* 0245BF0C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0245BF0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245BF0C */ cpu->r[1] = _t0;
|
|
/* 0245BF10 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 0245BF10 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0245BF14 */ cpu->r[30] = 0x100A0000u;
|
|
/* 0245BF18 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 0245BF18 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0245BF1C */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0245BF1C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0245BF20 */ cpu->r[10] = 0x100A0000u;
|
|
/* 0245BF24 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 0245BF24 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0245BF28 */ cpu->r[29] = 0x100A0000u;
|
|
/* 0245BF2C */ cpu->r[30] = cpu->r[30] + 0x0000185Cu;
|
|
/* 0245BF30 */ cpu->r[29] = cpu->r[29] + 0x00001768u;
|
|
/* 0245BF34 */ cpu->r[10] = cpu->r[10] + 0x0000184Cu;
|
|
/* 0245BF38 */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 0245BF38 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 0245BF3C */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 0245BF3C */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 0245BF40 */ cpu->r[6] = cpu->r[1] + 0x00000018u;
|
|
/* 0245BF44 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245BF44 */ rbrew_write32(cpu->mem, _t7, cpu->r[29]);
|
|
/* 0245BF48 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0245BF48 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 0245BF4C */ cpu->r[31] = cpu->r[3];
|
|
/* 0245BF50 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BF50 */ rbrew_write32(cpu->mem, _t9, cpu->r[29]);
|
|
/* 0245BF54 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0245BF58 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0245BF5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0245BF5C */ rbrew_write32(cpu->mem, _t10, cpu->r[29]);
|
|
/* 0245BF60 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0245BF64 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245BF68 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245BF68 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 0245BF6C */ cpu->r[0] = cpu->r[0] + 0x00001838u;
|
|
/* 0245BF70 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0245BF70 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 0245BF74 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 0245BF78 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 0245BF78 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0245BF7C */ cpu->r[3] = cpu->r[31];
|
|
/* 0245BF80 */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 0245BF80 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 0245BF84 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0245BF88 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BF88 */ rbrew_write32(cpu->mem, _t15, cpu->r[29]);
|
|
/* 0245BF8C */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 0245BF90 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0245BF90 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
/* 0245BF94 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0245BF98 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245BF9C */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245BF9C */ rbrew_write32(cpu->mem, _t17, cpu->r[29]);
|
|
/* 0245BFA0 */ cpu->r[12] = cpu->r[12] + 0x0000183Cu;
|
|
/* 0245BFA4 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BFA4 */ rbrew_write32(cpu->mem, _t18, cpu->r[29]);
|
|
/* 0245BFA8 */ cpu->r[30] = 0x100A0000u;
|
|
/* 0245BFAC */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0245BFAC */ rbrew_write32(cpu->mem, _t19, cpu->r[29]);
|
|
/* 0245BFB0 */ cpu->r[30] = cpu->r[30] + 0x00001850u;
|
|
/* 0245BFB4 */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 0245BFB4 */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 0245BFB8 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 0245BFBC */ cpu->r[3] = cpu->r[31];
|
|
/* 0245BFC0 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 0245BFC0 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
|
|
/* 0245BFC4 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 0245BFC8 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0245BFCC */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 0245BFCC */ rbrew_write32(cpu->mem, _t22, cpu->r[12]);
|
|
/* 0245BFD0 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0245BFD4 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BFD4 */ rbrew_write32(cpu->mem, _t23, cpu->r[29]);
|
|
/* 0245BFD8 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0245BFDC */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 0245BFDC */ rbrew_write32(cpu->mem, _t24, cpu->r[29]);
|
|
/* 0245BFE0 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245BFE4 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 0245BFE4 */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
|
|
/* 0245BFE8 */ cpu->r[0] = cpu->r[0] + 0x00001844u;
|
|
/* 0245BFEC */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245BFEC */ rbrew_write32(cpu->mem, _t26, cpu->r[29]);
|
|
/* 0245BFF0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245BFF4 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 0245BFF4 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 0245BFF8 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 0245BFFC */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 0245C000 */ _t28 = cpu->r[1] + 0x00000018u;
|
|
/* 0245C000 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 0245C004 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0245C008 */ _t29 = cpu->r[1] + 0x00000024u;
|
|
/* 0245C008 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0245C00C */ _t30 = cpu->r[1] + 0x00000034u;
|
|
/* 0245C00C */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0245C010 */ _t31 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0245C010 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0245C014 */ cpu->lr = cpu->r[0];
|
|
/* 0245C018 */ _t32 = cpu->r[1] + 0x00000028u;
|
|
/* 0245C018 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0245C01C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0245C020 */ return;
|
|
}
|
|
|
|
// fn_0245BF0C @ 0x245bf0c
|
|
void Gambit_fn_0245BF0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_0245BF0C: ; // 0x245bf0c
|
|
/* 0245BF0C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0245BF0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245BF0C */ cpu->r[1] = _t0;
|
|
/* 0245BF10 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 0245BF10 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0245BF14 */ cpu->r[30] = 0x100A0000u;
|
|
/* 0245BF18 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 0245BF18 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0245BF1C */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0245BF1C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0245BF20 */ cpu->r[10] = 0x100A0000u;
|
|
/* 0245BF24 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 0245BF24 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0245BF28 */ cpu->r[29] = 0x100A0000u;
|
|
/* 0245BF2C */ cpu->r[30] = cpu->r[30] + 0x0000185Cu;
|
|
/* 0245BF30 */ cpu->r[29] = cpu->r[29] + 0x00001768u;
|
|
/* 0245BF34 */ cpu->r[10] = cpu->r[10] + 0x0000184Cu;
|
|
/* 0245BF38 */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 0245BF38 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 0245BF3C */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 0245BF3C */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 0245BF40 */ cpu->r[6] = cpu->r[1] + 0x00000018u;
|
|
/* 0245BF44 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245BF44 */ rbrew_write32(cpu->mem, _t7, cpu->r[29]);
|
|
/* 0245BF48 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0245BF48 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 0245BF4C */ cpu->r[31] = cpu->r[3];
|
|
/* 0245BF50 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BF50 */ rbrew_write32(cpu->mem, _t9, cpu->r[29]);
|
|
/* 0245BF54 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0245BF58 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0245BF5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0245BF5C */ rbrew_write32(cpu->mem, _t10, cpu->r[29]);
|
|
/* 0245BF60 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0245BF64 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245BF68 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245BF68 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 0245BF6C */ cpu->r[0] = cpu->r[0] + 0x00001838u;
|
|
/* 0245BF70 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0245BF70 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 0245BF74 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 0245BF78 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 0245BF78 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0245BF7C */ cpu->r[3] = cpu->r[31];
|
|
/* 0245BF80 */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 0245BF80 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 0245BF84 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0245BF88 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BF88 */ rbrew_write32(cpu->mem, _t15, cpu->r[29]);
|
|
/* 0245BF8C */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 0245BF90 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0245BF90 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
/* 0245BF94 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0245BF98 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245BF9C */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245BF9C */ rbrew_write32(cpu->mem, _t17, cpu->r[29]);
|
|
/* 0245BFA0 */ cpu->r[12] = cpu->r[12] + 0x0000183Cu;
|
|
/* 0245BFA4 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BFA4 */ rbrew_write32(cpu->mem, _t18, cpu->r[29]);
|
|
/* 0245BFA8 */ cpu->r[30] = 0x100A0000u;
|
|
/* 0245BFAC */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0245BFAC */ rbrew_write32(cpu->mem, _t19, cpu->r[29]);
|
|
/* 0245BFB0 */ cpu->r[30] = cpu->r[30] + 0x00001850u;
|
|
/* 0245BFB4 */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 0245BFB4 */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 0245BFB8 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 0245BFBC */ cpu->r[3] = cpu->r[31];
|
|
/* 0245BFC0 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 0245BFC0 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
|
|
/* 0245BFC4 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 0245BFC8 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0245BFCC */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 0245BFCC */ rbrew_write32(cpu->mem, _t22, cpu->r[12]);
|
|
/* 0245BFD0 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0245BFD4 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245BFD4 */ rbrew_write32(cpu->mem, _t23, cpu->r[29]);
|
|
/* 0245BFD8 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0245BFDC */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 0245BFDC */ rbrew_write32(cpu->mem, _t24, cpu->r[29]);
|
|
/* 0245BFE0 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245BFE4 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 0245BFE4 */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
|
|
/* 0245BFE8 */ cpu->r[0] = cpu->r[0] + 0x00001844u;
|
|
/* 0245BFEC */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245BFEC */ rbrew_write32(cpu->mem, _t26, cpu->r[29]);
|
|
/* 0245BFF0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245BFF4 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 0245BFF4 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 0245BFF8 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 0245BFFC */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 0245C000 */ _t28 = cpu->r[1] + 0x00000018u;
|
|
/* 0245C000 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 0245C004 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0245C008 */ _t29 = cpu->r[1] + 0x00000024u;
|
|
/* 0245C008 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0245C00C */ _t30 = cpu->r[1] + 0x00000034u;
|
|
/* 0245C00C */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0245C010 */ _t31 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0245C010 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0245C014 */ cpu->lr = cpu->r[0];
|
|
/* 0245C018 */ _t32 = cpu->r[1] + 0x00000028u;
|
|
/* 0245C018 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0245C01C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0245C020 */ return;
|
|
}
|
|
|
|
// fn_0245C028 @ 0x245c028
|
|
void Gambit_fn_0245C028(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0245C028: ; // 0x245c028
|
|
/* 0245C028 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0245C028 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245C028 */ cpu->r[1] = _t0;
|
|
/* 0245C02C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0245C02C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245C030 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0245C030 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0245C034 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245C038 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245C038 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0245C03C */ _t4 = cpu->r[31] + 0x000001E4u;
|
|
/* 0245C03C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0245C040 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0245C044 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C044 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0245C044 */ if (_t6) goto L_0245C048; else goto L_0245C0AC;
|
|
L_0245C048: ; // 0x245c048
|
|
/* 0245C048 */ cpu->r[30] = 0x100A0000u;
|
|
/* 0245C04C */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245C050 */ cpu->r[10] = 0x100A0000u;
|
|
/* 0245C054 */ cpu->r[30] = cpu->r[30] + 0x00001768u;
|
|
/* 0245C058 */ cpu->r[0] = cpu->r[0] + 0x00001874u;
|
|
/* 0245C05C */ _t7 = cpu->r[10] + 0x00001868u;
|
|
/* 0245C05C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 0245C060 */ cpu->r[4] = 0x00000000u;
|
|
/* 0245C064 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245C068 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245C068 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 0245C06C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0245C070 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0245C070 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0245C074 */ Gambit_fn_027ED1E4(cpu);
|
|
/* 0245C078 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245C07C */ cpu->r[3] = cpu->r[31];
|
|
/* 0245C080 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245C080 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 0245C084 */ cpu->r[0] = cpu->r[0] + 0x0000186Cu;
|
|
/* 0245C088 */ cpu->r[4] = 0x00000001u;
|
|
/* 0245C08C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0245C090 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 0245C090 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0245C094 */ Gambit_fn_027ED798(cpu);
|
|
/* 0245C098 */ _t12 = cpu->r[31] + 0x00000000u;
|
|
/* 0245C098 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0245C09C */ _t13 = cpu->r[12] + 0x000000FCu;
|
|
/* 0245C09C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0245C0A0 */ cpu->ctr = cpu->r[0];
|
|
/* 0245C0A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245C0A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0245C0AC: ; // 0x245c0ac
|
|
/* 0245C0AC */ cpu->r[3] = cpu->r[31];
|
|
/* 0245C0B0 */ cpu->r[4] = 0x00000000u;
|
|
/* 0245C0B4 */ Gambit_fn_027EDF00(cpu);
|
|
/* 0245C0B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0245C0BC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C0BC */ _t15 = _t14 & 0x00000001u;
|
|
/* 0245C0BC */ if (_t15) goto L_0245C0CC; else goto L_0245C0C0;
|
|
L_0245C0C0: ; // 0x245c0c0
|
|
/* 0245C0C0 */ cpu->r[3] = cpu->r[31] + 0x000001DCu;
|
|
/* 0245C0C4 */ cpu->r[4] = 0x00000002u;
|
|
/* 0245C0C8 */ Gambit_fn_0245B7AC(cpu);
|
|
L_0245C0CC: ; // 0x245c0cc
|
|
/* 0245C0CC */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245C0CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0245C0D0 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 0245C0D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0245C0D4 */ cpu->lr = cpu->r[0];
|
|
/* 0245C0D8 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 0245C0D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0245C0DC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0245C0E0 */ return;
|
|
}
|
|
|
|
// fn_0245C0E8 @ 0x245c0e8
|
|
void Gambit_fn_0245C0E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0245C0E8: ; // 0x245c0e8
|
|
/* 0245C0E8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0245C0E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245C0E8 */ cpu->r[1] = _t0;
|
|
/* 0245C0EC */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0245C0EC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245C0F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245C0F4 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245C0F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0245C0F8 */ _t3 = cpu->r[31] + 0x000001E4u;
|
|
/* 0245C0F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0245C0FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0245C100 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C100 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0245C100 */ if (_t5) goto L_0245C104; else goto L_0245C134;
|
|
L_0245C104: ; // 0x245c104
|
|
/* 0245C104 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245C108 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245C10C */ cpu->r[10] = 0x100A0000u;
|
|
/* 0245C110 */ cpu->r[12] = cpu->r[12] + 0x00001768u;
|
|
/* 0245C114 */ cpu->r[0] = cpu->r[0] + 0x00001878u;
|
|
/* 0245C118 */ _t6 = cpu->r[10] + 0x00001868u;
|
|
/* 0245C118 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 0245C11C */ cpu->r[4] = 0x00000001u;
|
|
/* 0245C120 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245C124 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245C124 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0245C128 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0245C12C */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0245C12C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0245C130 */ Gambit_fn_027ED1E4(cpu);
|
|
L_0245C134: ; // 0x245c134
|
|
/* 0245C134 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245C138 */ cpu->r[4] = 0x00000001u;
|
|
/* 0245C13C */ Gambit_fn_027EDF00(cpu);
|
|
/* 0245C140 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0245C144 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C144 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0245C144 */ if (_t10) goto L_0245C154; else goto L_0245C148;
|
|
L_0245C148: ; // 0x245c148
|
|
/* 0245C148 */ cpu->r[3] = cpu->r[31] + 0x000001DCu;
|
|
/* 0245C14C */ cpu->r[4] = 0x00000003u;
|
|
/* 0245C150 */ Gambit_fn_0245B7AC(cpu);
|
|
L_0245C154: ; // 0x245c154
|
|
/* 0245C154 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245C154 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0245C158 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0245C158 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0245C15C */ cpu->lr = cpu->r[0];
|
|
/* 0245C160 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0245C164 */ return;
|
|
}
|
|
|
|
// fn_0245C16C @ 0x245c16c
|
|
void Gambit_fn_0245C16C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0245C16C: ; // 0x245c16c
|
|
/* 0245C16C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0245C16C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245C16C */ cpu->r[1] = _t0;
|
|
/* 0245C170 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0245C170 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245C174 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245C178 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245C178 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0245C17C */ _t3 = cpu->r[31] + 0x000001E4u;
|
|
/* 0245C17C */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0245C180 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0245C184 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C184 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0245C184 */ if (_t5) goto L_0245C188; else goto L_0245C1B8;
|
|
L_0245C188: ; // 0x245c188
|
|
/* 0245C188 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245C18C */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245C190 */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245C194 */ cpu->r[12] = cpu->r[12] + 0x00001768u;
|
|
/* 0245C198 */ cpu->r[0] = cpu->r[0] + 0x00001880u;
|
|
/* 0245C19C */ _t6 = cpu->r[11] + 0x00001868u;
|
|
/* 0245C19C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 0245C1A0 */ cpu->r[4] = 0x00000001u;
|
|
/* 0245C1A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245C1A8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245C1A8 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0245C1AC */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0245C1B0 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0245C1B0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0245C1B4 */ Gambit_fn_027ED1E4(cpu);
|
|
L_0245C1B8: ; // 0x245c1b8
|
|
/* 0245C1B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245C1BC */ cpu->r[4] = 0x00000001u;
|
|
/* 0245C1C0 */ Gambit_fn_027EDF00(cpu);
|
|
/* 0245C1C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0245C1C8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C1C8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0245C1C8 */ if (_t10) goto L_0245C1E0; else goto L_0245C1CC;
|
|
L_0245C1CC: ; // 0x245c1cc
|
|
/* 0245C1CC */ cpu->r[3] = cpu->r[31] + 0x000001DCu;
|
|
/* 0245C1D0 */ cpu->r[4] = 0x00000004u;
|
|
/* 0245C1D4 */ Gambit_fn_0245B7AC(cpu);
|
|
/* 0245C1D8 */ _t11 = cpu->r[31] + 0x000001ACu;
|
|
/* 0245C1D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0245C1DC */ Gambit_fn_027BB1DC(cpu);
|
|
L_0245C1E0: ; // 0x245c1e0
|
|
/* 0245C1E0 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245C1E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0245C1E4 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0245C1E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0245C1E8 */ cpu->lr = cpu->r[0];
|
|
/* 0245C1EC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0245C1F0 */ return;
|
|
}
|
|
|
|
// fn_0245C1F8 @ 0x245c1f8
|
|
void Gambit_fn_0245C1F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_0245C1F8: ; // 0x245c1f8
|
|
/* 0245C1F8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0245C1F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245C1F8 */ cpu->r[1] = _t0;
|
|
/* 0245C1FC */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0245C1FC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245C200 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245C204 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245C204 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0245C208 */ _t3 = cpu->r[31] + 0x000001E4u;
|
|
/* 0245C208 */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0245C20C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0245C210 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C210 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0245C210 */ if (_t5) goto L_0245C214; else goto L_0245C244;
|
|
L_0245C214: ; // 0x245c214
|
|
/* 0245C214 */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245C218 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245C21C */ cpu->r[10] = 0x100A0000u;
|
|
/* 0245C220 */ cpu->r[11] = cpu->r[11] + 0x00001768u;
|
|
/* 0245C224 */ cpu->r[0] = cpu->r[0] + 0x00001888u;
|
|
/* 0245C228 */ _t6 = cpu->r[10] + 0x00001868u;
|
|
/* 0245C228 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 0245C22C */ cpu->r[4] = 0x00000000u;
|
|
/* 0245C230 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245C234 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245C234 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0245C238 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0245C23C */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0245C23C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0245C240 */ Gambit_fn_027ED1E4(cpu);
|
|
L_0245C244: ; // 0x245c244
|
|
/* 0245C244 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245C248 */ cpu->r[4] = 0x00000000u;
|
|
/* 0245C24C */ Gambit_fn_027EDF00(cpu);
|
|
/* 0245C250 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0245C254 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C254 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0245C254 */ if (_t10) goto L_0245C26C; else goto L_0245C258;
|
|
L_0245C258: ; // 0x245c258
|
|
/* 0245C258 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 0245C258 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0245C25C */ _t12 = cpu->r[12] + 0x00000094u;
|
|
/* 0245C25C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0245C260 */ cpu->ctr = cpu->r[0];
|
|
/* 0245C264 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245C268 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0245C26C: ; // 0x245c26c
|
|
/* 0245C26C */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245C26C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0245C270 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 0245C270 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0245C274 */ cpu->lr = cpu->r[0];
|
|
/* 0245C278 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0245C27C */ return;
|
|
}
|
|
|
|
// fn_0245C280 @ 0x245c280
|
|
void Gambit_fn_0245C280(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_0245C280: ; // 0x245c280
|
|
/* 0245C280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0245C284 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C284 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0245C284 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0245C284 */ goto L_0245C288;
|
|
L_0245C288: ; // 0x245c288
|
|
/* 0245C288 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0245C288 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0245C28C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C28C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0245C28C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0245C28C */ goto L_0245C290;
|
|
L_0245C290: ; // 0x245c290
|
|
/* 0245C290 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 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 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) 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 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0245C294 @ 0x245c294
|
|
void Gambit_fn_0245C294(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0245C294: ; // 0x245c294
|
|
/* 0245C294 */ cpu->r[0] = cpu->lr;
|
|
/* 0245C298 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245C298 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245C298 */ cpu->r[1] = _t0;
|
|
/* 0245C29C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245C29C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245C2A0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0245C2A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0245C2A4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0245C2A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0245C2A8 */ cpu->r[31] = cpu->r[4];
|
|
/* 0245C2AC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0245C2AC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0245C2B0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C2B0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0245C2B0 */ if (_t5) goto L_0245C2F4; else goto L_0245C2B4;
|
|
L_0245C2B4: ; // 0x245c2b4
|
|
/* 0245C2B4 */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245C2B8 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245C2BC */ cpu->r[11] = cpu->r[11] + 0x00001A14u;
|
|
/* 0245C2C0 */ cpu->r[0] = cpu->r[0] + 0x00001A04u;
|
|
/* 0245C2C4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0245C2C8 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0245C2C8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0245C2CC */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245C2D0 */ _t7 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0245C2D0 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0245C2D4 */ cpu->r[0] = cpu->r[0] + 0x00001A24u;
|
|
/* 0245C2D8 */ cpu->r[4] = 0x00000000u;
|
|
/* 0245C2DC */ _t8 = cpu->r[30] + 0x000001C8u;
|
|
/* 0245C2DC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0245C2E0 */ Gambit_fn_02068798(cpu);
|
|
/* 0245C2E4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0245C2E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0245C2E8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C2E8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0245C2E8 */ if (_t10) goto L_0245C2F4; else goto L_0245C2EC;
|
|
L_0245C2EC: ; // 0x245c2ec
|
|
/* 0245C2EC */ cpu->r[3] = cpu->r[30];
|
|
/* 0245C2F0 */ Gambit_fn_02801BB0(cpu);
|
|
L_0245C2F4: ; // 0x245c2f4
|
|
/* 0245C2F4 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0245C2F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0245C2F8 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0245C2F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0245C2FC */ cpu->lr = cpu->r[0];
|
|
/* 0245C300 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245C300 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0245C304 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245C308 */ return;
|
|
}
|
|
|
|
// fn_0245C298 @ 0x245c298
|
|
void Gambit_fn_0245C298(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0245C298: ; // 0x245c298
|
|
/* 0245C298 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245C298 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245C298 */ cpu->r[1] = _t0;
|
|
/* 0245C29C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245C29C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245C2A0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0245C2A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0245C2A4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0245C2A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0245C2A8 */ cpu->r[31] = cpu->r[4];
|
|
/* 0245C2AC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0245C2AC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0245C2B0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C2B0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0245C2B0 */ if (_t5) goto L_0245C2F4; else goto L_0245C2B4;
|
|
L_0245C2B4: ; // 0x245c2b4
|
|
/* 0245C2B4 */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245C2B8 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245C2BC */ cpu->r[11] = cpu->r[11] + 0x00001A14u;
|
|
/* 0245C2C0 */ cpu->r[0] = cpu->r[0] + 0x00001A04u;
|
|
/* 0245C2C4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0245C2C8 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0245C2C8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0245C2CC */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245C2D0 */ _t7 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0245C2D0 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0245C2D4 */ cpu->r[0] = cpu->r[0] + 0x00001A24u;
|
|
/* 0245C2D8 */ cpu->r[4] = 0x00000000u;
|
|
/* 0245C2DC */ _t8 = cpu->r[30] + 0x000001C8u;
|
|
/* 0245C2DC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0245C2E0 */ Gambit_fn_02068798(cpu);
|
|
/* 0245C2E4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0245C2E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0245C2E8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C2E8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0245C2E8 */ if (_t10) goto L_0245C2F4; else goto L_0245C2EC;
|
|
L_0245C2EC: ; // 0x245c2ec
|
|
/* 0245C2EC */ cpu->r[3] = cpu->r[30];
|
|
/* 0245C2F0 */ Gambit_fn_02801BB0(cpu);
|
|
L_0245C2F4: ; // 0x245c2f4
|
|
/* 0245C2F4 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0245C2F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0245C2F8 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0245C2F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0245C2FC */ cpu->lr = cpu->r[0];
|
|
/* 0245C300 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245C300 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0245C304 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245C308 */ return;
|
|
}
|
|
|
|
// fn_0245C30C @ 0x245c30c
|
|
void Gambit_fn_0245C30C(CPUState* cpu) {
|
|
L_0245C30C: ; // 0x245c30c
|
|
/* 0245C30C */ return;
|
|
}
|
|
|
|
// fn_0245C310 @ 0x245c310
|
|
void Gambit_fn_0245C310(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0245C310: ; // 0x245c310
|
|
/* 0245C310 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0245C310 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245C314 */ return;
|
|
}
|
|
|
|
// fn_0245C318 @ 0x245c318
|
|
void Gambit_fn_0245C318(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0245C318: ; // 0x245c318
|
|
/* 0245C318 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0245C318 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245C31C */ return;
|
|
}
|
|
|
|
// fn_0245C320 @ 0x245c320
|
|
void Gambit_fn_0245C320(CPUState* cpu) {
|
|
L_0245C320: ; // 0x245c320
|
|
/* 0245C320 */ return;
|
|
}
|
|
|
|
// fn_0245C324 @ 0x245c324
|
|
void Gambit_fn_0245C324(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_0245C324: ; // 0x245c324
|
|
/* 0245C324 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0245C328 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C328 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0245C328 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0245C328 */ goto L_0245C32C;
|
|
L_0245C32C: ; // 0x245c32c
|
|
/* 0245C32C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0245C32C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0245C330 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C330 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0245C330 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0245C330 */ goto L_0245C334;
|
|
L_0245C334: ; // 0x245c334
|
|
/* 0245C334 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 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 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) 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 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0245C338 @ 0x245c338
|
|
void Gambit_fn_0245C338(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0245C338: ; // 0x245c338
|
|
/* 0245C338 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0245C338 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245C33C */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 0245C33C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0245C340 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 0245C344 */ cpu->r[11] = 0x10110000u;
|
|
/* 0245C348 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 0245C348 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0245C34C */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0245C34C */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 0245C350 */ return;
|
|
}
|
|
|
|
// fn_0245C354 @ 0x245c354
|
|
void Gambit_fn_0245C354(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_0245C354: ; // 0x245c354
|
|
/* 0245C354 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0245C358 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C358 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0245C358 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0245C358 */ goto L_0245C35C;
|
|
L_0245C35C: ; // 0x245c35c
|
|
/* 0245C35C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0245C35C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0245C360 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C360 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0245C360 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0245C360 */ goto L_0245C364;
|
|
L_0245C364: ; // 0x245c364
|
|
/* 0245C364 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 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 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) 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 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0245C368 @ 0x245c368
|
|
void Gambit_fn_0245C368(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_0245C368: ; // 0x245c368
|
|
/* 0245C368 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0245C36C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C36C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0245C36C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0245C36C */ goto L_0245C370;
|
|
L_0245C370: ; // 0x245c370
|
|
/* 0245C370 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0245C370 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0245C374 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C374 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0245C374 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0245C374 */ goto L_0245C378;
|
|
L_0245C378: ; // 0x245c378
|
|
/* 0245C378 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 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 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) 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 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0245C37C @ 0x245c37c
|
|
void Gambit_fn_0245C37C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0245C37C: ; // 0x245c37c
|
|
/* 0245C37C */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0245C37C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245C380 */ return;
|
|
}
|
|
|
|
// fn_0245C384 @ 0x245c384
|
|
void Gambit_fn_0245C384(CPUState* cpu) {
|
|
L_0245C384: ; // 0x245c384
|
|
/* 0245C384 */ return;
|
|
}
|
|
|
|
// fn_0245C388 @ 0x245c388
|
|
void Gambit_fn_0245C388(CPUState* cpu) {
|
|
L_0245C388: ; // 0x245c388
|
|
/* 0245C388 */ return;
|
|
}
|
|
|
|
// fn_0245C38C @ 0x245c38c
|
|
void Gambit_fn_0245C38C(CPUState* cpu) {
|
|
L_0245C38C: ; // 0x245c38c
|
|
/* 0245C38C */ return;
|
|
}
|
|
|
|
// fn_0245C390 @ 0x245c390
|
|
void Gambit_fn_0245C390(CPUState* cpu) {
|
|
L_0245C390: ; // 0x245c390
|
|
/* 0245C390 */ return;
|
|
}
|
|
|
|
// fn_0245C394 @ 0x245c394
|
|
void Gambit_fn_0245C394(CPUState* cpu) {
|
|
L_0245C394: ; // 0x245c394
|
|
/* 0245C394 */ return;
|
|
}
|
|
|
|
// fn_0245C398 @ 0x245c398
|
|
void Gambit_fn_0245C398(CPUState* cpu) {
|
|
L_0245C398: ; // 0x245c398
|
|
/* 0245C398 */ cpu->r[3] = 0x00000001u;
|
|
/* 0245C39C */ return;
|
|
}
|
|
|
|
// fn_0245C3A0 @ 0x245c3a0
|
|
void Gambit_fn_0245C3A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0245C3A0: ; // 0x245c3a0
|
|
/* 0245C3A0 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0245C3A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245C3A4 */ _t1 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0245C3A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0245C3A8 */ cpu->ctr = cpu->r[0];
|
|
/* 0245C3AC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0245C3B0 @ 0x245c3b0
|
|
void Gambit_fn_0245C3B0(CPUState* cpu) {
|
|
L_0245C3B0: ; // 0x245c3b0
|
|
/* 0245C3B0 */ return;
|
|
}
|
|
|
|
// fn_0245C3B4 @ 0x245c3b4
|
|
void Gambit_fn_0245C3B4(CPUState* cpu) {
|
|
L_0245C3B4: ; // 0x245c3b4
|
|
/* 0245C3B4 */ cpu->r[3] = 0x00000000u;
|
|
/* 0245C3B8 */ return;
|
|
}
|
|
|
|
// fn_0245C3BC @ 0x245c3bc
|
|
void Gambit_fn_0245C3BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0245C3BC: ; // 0x245c3bc
|
|
/* 0245C3BC */ cpu->r[9] = 0x101D0000u;
|
|
/* 0245C3C0 */ _t0 = cpu->r[9] + 0xFFFFDBA0u;
|
|
/* 0245C3C0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245C3C0 */ cpu->r[9] = _t0;
|
|
/* 0245C3C4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0245C3C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0245C3CC */ cpu->r[12] = cpu->r[12] + 0xFFFFED90u;
|
|
/* 0245C3D0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C3D0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0245C3D0 */ if (_t2) goto L_0245C3D4; else goto L_0245C3E8;
|
|
L_0245C3D4: ; // 0x245c3d4
|
|
/* 0245C3D4 */ cpu->r[7] = 0x100A0000u;
|
|
/* 0245C3D8 */ cpu->r[0] = 0x00000001u;
|
|
/* 0245C3DC */ cpu->r[7] = cpu->r[7] + 0x000017C8u;
|
|
/* 0245C3E0 */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 0245C3E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0245C3E4 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 0245C3E4 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_0245C3E8: ; // 0x245c3e8
|
|
/* 0245C3E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 0245C3EC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C3EC */ _t6 = _t5 & 0x00000001u;
|
|
/* 0245C3EC */ if (_t6) goto L_0245C3F0; else goto L_0245C3F8;
|
|
L_0245C3F0: ; // 0x245c3f0
|
|
/* 0245C3F0 */ cpu->r[3] = 0x00000001u;
|
|
/* 0245C3F4 */ return;
|
|
L_0245C3F8: ; // 0x245c3f8
|
|
/* 0245C3F8 */ cpu->r[7] = 0x101D0000u;
|
|
/* 0245C3FC */ _t7 = cpu->r[7] + 0xFFFFDB98u;
|
|
/* 0245C3FC */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0245C3FC */ cpu->r[7] = _t7;
|
|
/* 0245C400 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0245C404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0245C408 */ cpu->r[11] = cpu->r[11] + 0xFFFFED94u;
|
|
/* 0245C40C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C40C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0245C40C */ if (_t9) goto L_0245C410; else goto L_0245C424;
|
|
L_0245C410: ; // 0x245c410
|
|
/* 0245C410 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245C414 */ cpu->r[9] = 0x00000001u;
|
|
/* 0245C418 */ cpu->r[0] = cpu->r[0] + 0x00001758u;
|
|
/* 0245C41C */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 0245C41C */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 0245C420 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 0245C420 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_0245C424: ; // 0x245c424
|
|
/* 0245C424 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 0245C428 */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 0245C42C */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 0245C430 */ return;
|
|
}
|
|
|
|
// fn_0245C434 @ 0x245c434
|
|
void Gambit_fn_0245C434(CPUState* cpu) {
|
|
L_0245C434: ; // 0x245c434
|
|
/* 0245C434 */ return;
|
|
}
|
|
|
|
// fn_0245C438 @ 0x245c438
|
|
void Gambit_fn_0245C438(CPUState* cpu) {
|
|
L_0245C438: ; // 0x245c438
|
|
/* 0245C438 */ return;
|
|
}
|
|
|
|
// fn_0245C43C @ 0x245c43c
|
|
void Gambit_fn_0245C43C(CPUState* cpu) {
|
|
L_0245C43C: ; // 0x245c43c
|
|
/* 0245C43C */ return;
|
|
}
|
|
|
|
// fn_0245C440 @ 0x245c440
|
|
void Gambit_fn_0245C440(CPUState* cpu) {
|
|
L_0245C440: ; // 0x245c440
|
|
/* 0245C440 */ cpu->r[3] = 0x00000000u;
|
|
/* 0245C444 */ return;
|
|
}
|
|
|
|
// fn_0245C448 @ 0x245c448
|
|
void Gambit_fn_0245C448(CPUState* cpu) {
|
|
L_0245C448: ; // 0x245c448
|
|
/* 0245C448 */ cpu->r[3] = 0x00000000u;
|
|
/* 0245C44C */ return;
|
|
}
|
|
|
|
// fn_0245C450 @ 0x245c450
|
|
void Gambit_fn_0245C450(CPUState* cpu) {
|
|
L_0245C450: ; // 0x245c450
|
|
/* 0245C450 */ return;
|
|
}
|
|
|
|
// fn_0245C454 @ 0x245c454
|
|
void Gambit_fn_0245C454(CPUState* cpu) {
|
|
L_0245C454: ; // 0x245c454
|
|
/* 0245C454 */ return;
|
|
}
|
|
|
|
// fn_0245C458 @ 0x245c458
|
|
void Gambit_fn_0245C458(CPUState* cpu) {
|
|
L_0245C458: ; // 0x245c458
|
|
/* 0245C458 */ return;
|
|
}
|
|
|
|
// fn_0245C45C @ 0x245c45c
|
|
void Gambit_fn_0245C45C(CPUState* cpu) {
|
|
L_0245C45C: ; // 0x245c45c
|
|
/* 0245C45C */ return;
|
|
}
|
|
|
|
// fn_0245C460 @ 0x245c460
|
|
void Gambit_fn_0245C460(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0245B6B4: ; // 0x245b6b4
|
|
/* 0245B6B4 */ cpu->r[0] = cpu->lr;
|
|
/* 0245B6B8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245B6B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245B6B8 */ cpu->r[1] = _t0;
|
|
/* 0245B6BC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B6BC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245B6C0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245B6C4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0245B6C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0245B6C8 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 0245B6C8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0245B6CC */ cpu->r[12] = 0x00000000u;
|
|
/* 0245B6D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0245B6D4 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0245B6D4 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 0245B6D8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B6D8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0245B6D8 */ if (_t6) goto L_0245B700; else goto L_0245B6DC;
|
|
L_0245B6DC: ; // 0x245b6dc
|
|
/* 0245B6DC */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0245B6DC */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0245B6E0 */ /* nop */
|
|
/* 0245B6E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 0245B6E8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245B6E8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0245B6E8 */ if (_t9) goto L_0245B6EC; else goto L_0245B700;
|
|
L_0245B6EC: ; // 0x245b6ec
|
|
/* 0245B6EC */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0245B6EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0245B6F0 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 0245B6F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0245B6F4 */ cpu->ctr = cpu->r[0];
|
|
/* 0245B6F8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245B6FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0245B700: ; // 0x245b700
|
|
/* 0245B700 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245B704 */ Gambit_fn_0245B62C(cpu);
|
|
/* 0245B708 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245B70C */ Gambit_fn_027FC37C(cpu);
|
|
/* 0245B710 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0245B710 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0245B714 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245B714 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0245B718 */ cpu->lr = cpu->r[0];
|
|
/* 0245B71C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245B720 */ return;
|
|
L_0245C460: ; // 0x245c460
|
|
/* 0245C460 */ cpu->r[3] = cpu->r[3] + 0x000001DCu;
|
|
/* 0245C464 */ goto L_0245B6B4;
|
|
}
|
|
|
|
// fn_0245C46C @ 0x245c46c
|
|
void Gambit_fn_0245C46C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104;
|
|
|
|
L_0245C46C: ; // 0x245c46c
|
|
/* 0245C46C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0245C46C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245C46C */ cpu->r[1] = _t0;
|
|
/* 0245C470 */ /* nop */
|
|
/* 0245C474 */ cpu->r[0] = cpu->lr;
|
|
/* 0245C478 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 0245C478 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0245C47C */ cpu->r[29] = cpu->r[6];
|
|
/* 0245C480 */ cpu->r[28] = cpu->r[3];
|
|
/* 0245C484 */ cpu->r[30] = cpu->r[5];
|
|
/* 0245C488 */ _t2 = cpu->r[30] + 0x00000000u;
|
|
/* 0245C488 */ cpu->r[27] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0245C48C */ cpu->r[31] = 0x101D0000u;
|
|
/* 0245C490 */ _t3 = cpu->r[28] + 0x0000001Cu;
|
|
/* 0245C490 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 0245C494 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0245C498 */ _t4 = cpu->r[28] + 0x0000000Fu;
|
|
/* 0245C498 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[27]);
|
|
/* 0245C49C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C49C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0245C49C */ if (_t6) goto L_0245C4E0; else goto L_0245C4A0;
|
|
L_0245C4A0: ; // 0x245c4a0
|
|
/* 0245C4A0 */ _t7 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 0245C4A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0245C4A4 */ Gambit_fn_02826F20(cpu);
|
|
/* 0245C4A8 */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0245C4A8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0245C4AC */ _t9 = cpu->r[9] + 0x00000034u;
|
|
/* 0245C4AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0245C4B0 */ cpu->ctr = cpu->r[0];
|
|
/* 0245C4B4 */ cpu->r[5] = 0x00000004u;
|
|
/* 0245C4B8 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0245C4BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245C4C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0245C4C4 */ cpu->r[0] = cpu->r[27];
|
|
/* 0245C4C8 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0245C4C8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0245C4C8 */ if (_t11) goto L_0245C4D0; else goto L_0245C4CC;
|
|
L_0245C4CC: ; // 0x245c4cc
|
|
/* 0245C4CC */ cpu->r[0] = 0x00000001u;
|
|
L_0245C4D0: ; // 0x245c4d0
|
|
/* 0245C4D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0245C4D4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C4D4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0245C4D4 */ if (_t13) goto L_0245C4E0; else goto L_0245C4D8;
|
|
L_0245C4D8: ; // 0x245c4d8
|
|
/* 0245C4D8 */ _t14 = cpu->r[28] + 0x00000024u;
|
|
/* 0245C4D8 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 0245C4DC */ _t15 = cpu->r[28] + 0x00000020u;
|
|
/* 0245C4DC */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
L_0245C4E0: ; // 0x245c4e0
|
|
/* 0245C4E0 */ _t16 = cpu->r[28] + 0x00000020u;
|
|
/* 0245C4E0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0245C4E4 */ cpu->r[0] = 0x00000000u;
|
|
/* 0245C4E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0245C4EC */ cpu->r[12] = cpu->r[0];
|
|
/* 0245C4F0 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0245C4F0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0245C4F0 */ if (_t18) goto L_0245C4F4; else goto L_0245C518;
|
|
L_0245C4F4: ; // 0x245c4f4
|
|
/* 0245C4F4 */ cpu->ctr = cpu->r[7];
|
|
/* 0245C4F8 */ cpu->r[10] = 0x00000000u;
|
|
L_0245C4FC: ; // 0x245c4fc
|
|
/* 0245C4FC */ _t19 = cpu->r[28] + 0x00000024u;
|
|
/* 0245C4FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0245C500 */ _t20 = cpu->r[11] + cpu->r[10];
|
|
/* 0245C500 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[0]);
|
|
/* 0245C504 */ cpu->r[8] = cpu->r[11] + cpu->r[10];
|
|
/* 0245C508 */ _t21 = cpu->r[8] + 0x00000004u;
|
|
/* 0245C508 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 0245C50C */ cpu->r[10] = cpu->r[10] + 0x00000008u;
|
|
/* 0245C510 */ _t22 = cpu->r[8] + 0x00000002u;
|
|
/* 0245C510 */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[0]);
|
|
/* 0245C514 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0245C514 */ _t23 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0245C514 */ _t24 = _t23 >> (0x00000002u & 31u);
|
|
/* 0245C514 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0245C514 */ if (_t25) goto L_0245C4FC; else goto L_0245C518;
|
|
L_0245C518: ; // 0x245c518
|
|
/* 0245C518 */ _t26 = cpu->r[28] + 0x0000000Fu;
|
|
/* 0245C518 */ cpu->r[27] = rbrew_read8(cpu->mem, _t26);
|
|
/* 0245C51C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0245C520 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C520 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0245C520 */ if (_t28) goto L_0245C564; else goto L_0245C524;
|
|
L_0245C524: ; // 0x245c524
|
|
/* 0245C524 */ _t29 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 0245C524 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0245C528 */ Gambit_fn_02826F20(cpu);
|
|
/* 0245C52C */ _t30 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0245C52C */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0245C530 */ _t31 = cpu->r[12] + 0x00000034u;
|
|
/* 0245C530 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0245C534 */ cpu->ctr = cpu->r[0];
|
|
/* 0245C538 */ cpu->r[5] = 0x00000004u;
|
|
/* 0245C53C */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0245C540 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245C544 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0245C548 */ cpu->r[11] = cpu->r[27];
|
|
/* 0245C54C */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0245C54C */ _t33 = _t32 & 0x00000001u;
|
|
/* 0245C54C */ if (_t33) goto L_0245C554; else goto L_0245C550;
|
|
L_0245C550: ; // 0x245c550
|
|
/* 0245C550 */ cpu->r[11] = 0x00000001u;
|
|
L_0245C554: ; // 0x245c554
|
|
/* 0245C554 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0245C558 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C558 */ _t35 = _t34 & 0x00000001u;
|
|
/* 0245C558 */ if (_t35) goto L_0245C564; else goto L_0245C55C;
|
|
L_0245C55C: ; // 0x245c55c
|
|
/* 0245C55C */ _t36 = cpu->r[28] + 0x0000002Cu;
|
|
/* 0245C55C */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 0245C560 */ _t37 = cpu->r[28] + 0x00000028u;
|
|
/* 0245C560 */ rbrew_write32(cpu->mem, _t37, cpu->r[27]);
|
|
L_0245C564: ; // 0x245c564
|
|
/* 0245C564 */ _t38 = cpu->r[28] + 0x00000028u;
|
|
/* 0245C564 */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0245C568 */ cpu->r[0] = 0x00000000u;
|
|
/* 0245C56C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0245C570 */ cpu->r[12] = cpu->r[0];
|
|
/* 0245C574 */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0245C574 */ _t40 = _t39 & 0x00000001u;
|
|
/* 0245C574 */ if (_t40) goto L_0245C578; else goto L_0245C59C;
|
|
L_0245C578: ; // 0x245c578
|
|
/* 0245C578 */ cpu->ctr = cpu->r[6];
|
|
/* 0245C57C */ cpu->r[9] = 0x00000000u;
|
|
L_0245C580: ; // 0x245c580
|
|
/* 0245C580 */ _t41 = cpu->r[28] + 0x0000002Cu;
|
|
/* 0245C580 */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0245C584 */ _t42 = cpu->r[5] + cpu->r[9];
|
|
/* 0245C584 */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[0]);
|
|
/* 0245C588 */ cpu->r[7] = cpu->r[5] + cpu->r[9];
|
|
/* 0245C58C */ _t43 = cpu->r[7] + 0x00000004u;
|
|
/* 0245C58C */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 0245C590 */ cpu->r[9] = cpu->r[9] + 0x00000008u;
|
|
/* 0245C594 */ _t44 = cpu->r[7] + 0x00000002u;
|
|
/* 0245C594 */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[0]);
|
|
/* 0245C598 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0245C598 */ _t45 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0245C598 */ _t46 = _t45 >> (0x00000002u & 31u);
|
|
/* 0245C598 */ _t47 = _t46 & 0x00000001u;
|
|
/* 0245C598 */ if (_t47) goto L_0245C580; else goto L_0245C59C;
|
|
L_0245C59C: ; // 0x245c59c
|
|
/* 0245C59C */ _t48 = cpu->r[28] + 0x0000000Fu;
|
|
/* 0245C59C */ cpu->r[27] = rbrew_read8(cpu->mem, _t48);
|
|
/* 0245C5A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0245C5A4 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C5A4 */ _t50 = _t49 & 0x00000001u;
|
|
/* 0245C5A4 */ if (_t50) goto L_0245C5E8; else goto L_0245C5A8;
|
|
L_0245C5A8: ; // 0x245c5a8
|
|
/* 0245C5A8 */ _t51 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 0245C5A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0245C5AC */ Gambit_fn_02826F20(cpu);
|
|
/* 0245C5B0 */ _t52 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0245C5B0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0245C5B4 */ _t53 = cpu->r[6] + 0x00000034u;
|
|
/* 0245C5B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0245C5B8 */ cpu->ctr = cpu->r[0];
|
|
/* 0245C5BC */ cpu->r[5] = 0x00000004u;
|
|
/* 0245C5C0 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0245C5C4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245C5C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0245C5CC */ cpu->r[10] = cpu->r[27];
|
|
/* 0245C5D0 */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0245C5D0 */ _t55 = _t54 & 0x00000001u;
|
|
/* 0245C5D0 */ if (_t55) goto L_0245C5D8; else goto L_0245C5D4;
|
|
L_0245C5D4: ; // 0x245c5d4
|
|
/* 0245C5D4 */ cpu->r[10] = 0x00000001u;
|
|
L_0245C5D8: ; // 0x245c5d8
|
|
/* 0245C5D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0245C5DC */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C5DC */ _t57 = _t56 & 0x00000001u;
|
|
/* 0245C5DC */ if (_t57) goto L_0245C5E8; else goto L_0245C5E0;
|
|
L_0245C5E0: ; // 0x245c5e0
|
|
/* 0245C5E0 */ _t58 = cpu->r[28] + 0x00000034u;
|
|
/* 0245C5E0 */ rbrew_write32(cpu->mem, _t58, cpu->r[3]);
|
|
/* 0245C5E4 */ _t59 = cpu->r[28] + 0x00000030u;
|
|
/* 0245C5E4 */ rbrew_write32(cpu->mem, _t59, cpu->r[27]);
|
|
L_0245C5E8: ; // 0x245c5e8
|
|
/* 0245C5E8 */ _t60 = cpu->r[28] + 0x00000030u;
|
|
/* 0245C5E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 0245C5EC */ cpu->r[0] = 0x00000000u;
|
|
/* 0245C5F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0245C5F4 */ cpu->r[5] = cpu->r[0];
|
|
/* 0245C5F8 */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0245C5F8 */ _t62 = _t61 & 0x00000001u;
|
|
/* 0245C5F8 */ if (_t62) goto L_0245C5FC; else goto L_0245C620;
|
|
L_0245C5FC: ; // 0x245c5fc
|
|
/* 0245C5FC */ cpu->ctr = cpu->r[12];
|
|
/* 0245C600 */ cpu->r[8] = 0x00000000u;
|
|
L_0245C604: ; // 0x245c604
|
|
/* 0245C604 */ _t63 = cpu->r[28] + 0x00000034u;
|
|
/* 0245C604 */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0245C608 */ _t64 = cpu->r[9] + cpu->r[8];
|
|
/* 0245C608 */ rbrew_write16(cpu->mem, _t64, (uint16_t)cpu->r[0]);
|
|
/* 0245C60C */ cpu->r[6] = cpu->r[9] + cpu->r[8];
|
|
/* 0245C610 */ _t65 = cpu->r[6] + 0x00000004u;
|
|
/* 0245C610 */ rbrew_write32(cpu->mem, _t65, cpu->r[5]);
|
|
/* 0245C614 */ cpu->r[8] = cpu->r[8] + 0x00000008u;
|
|
/* 0245C618 */ _t66 = cpu->r[6] + 0x00000002u;
|
|
/* 0245C618 */ rbrew_write16(cpu->mem, _t66, (uint16_t)cpu->r[0]);
|
|
/* 0245C61C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0245C61C */ _t67 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0245C61C */ _t68 = _t67 >> (0x00000002u & 31u);
|
|
/* 0245C61C */ _t69 = _t68 & 0x00000001u;
|
|
/* 0245C61C */ if (_t69) goto L_0245C604; else goto L_0245C620;
|
|
L_0245C620: ; // 0x245c620
|
|
/* 0245C620 */ _t70 = cpu->r[30] + 0x00000000u;
|
|
/* 0245C620 */ cpu->r[25] = rbrew_read8(cpu->mem, _t70);
|
|
/* 0245C624 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0245C628 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C628 */ _t72 = _t71 & 0x00000001u;
|
|
/* 0245C628 */ if (_t72) goto L_0245C704; else goto L_0245C62C;
|
|
L_0245C62C: ; // 0x245c62c
|
|
/* 0245C62C */ _t73 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 0245C62C */ cpu->r[3] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0245C630 */ Gambit_fn_02826F20(cpu);
|
|
/* 0245C634 */ _t74 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0245C634 */ cpu->r[10] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0245C638 */ _t75 = cpu->r[10] + 0x00000034u;
|
|
/* 0245C638 */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0245C63C */ cpu->ctr = cpu->r[12];
|
|
/* 0245C640 */ cpu->r[5] = 0x00000004u;
|
|
/* 0245C644 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000024u);
|
|
/* 0245C648 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0245C64C */ cpu->r[24] = cpu->r[3];
|
|
/* 0245C650 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0245C654 */ cpu->r[30] = cpu->r[25];
|
|
/* 0245C658 */ cpu->r[7] = 0x00000000u;
|
|
/* 0245C65C */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0245C65C */ _t77 = _t76 & 0x00000001u;
|
|
/* 0245C65C */ if (_t77) goto L_0245C664; else goto L_0245C660;
|
|
L_0245C660: ; // 0x245c660
|
|
/* 0245C660 */ cpu->r[30] = 0x00000001u;
|
|
L_0245C664: ; // 0x245c664
|
|
/* 0245C664 */ cpu->r[31] = 0x10110000u;
|
|
/* 0245C668 */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x00000024u);
|
|
/* 0245C66C */ _t78 = cpu->r[31] + 0x00007399u;
|
|
/* 0245C66C */ cpu->r[31] = rbrew_read8(cpu->mem, _t78);
|
|
/* 0245C670 */ cpu->r[23] = 0x00000018u;
|
|
L_0245C674: ; // 0x245c674
|
|
/* 0245C674 */ cpu->r[27] = cpu->r[24] + cpu->r[22];
|
|
/* 0245C674 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0245C678 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C678 */ _t80 = _t79 & 0x00000001u;
|
|
/* 0245C678 */ if (_t80) goto L_0245C6E8; else goto L_0245C67C;
|
|
L_0245C67C: ; // 0x245c67c
|
|
/* 0245C67C */ cpu->r[26] = cpu->r[27];
|
|
/* 0245C67C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0245C680 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C680 */ _t82 = _t81 & 0x00000001u;
|
|
/* 0245C680 */ if (_t82) goto L_0245C684; else goto L_0245C694;
|
|
L_0245C684: ; // 0x245c684
|
|
/* 0245C684 */ cpu->r[3] = 0x00000024u;
|
|
/* 0245C688 */ Gambit_fn_02801A78(cpu);
|
|
/* 0245C68C */ cpu->r[26] = cpu->r[3];
|
|
/* 0245C68C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0245C690 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C690 */ _t84 = _t83 & 0x00000001u;
|
|
/* 0245C690 */ if (_t84) goto L_0245C6DC; else goto L_0245C694;
|
|
L_0245C694: ; // 0x245c694
|
|
/* 0245C694 */ cpu->r[11] = cpu->r[26];
|
|
/* 0245C694 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0245C698 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C698 */ _t86 = _t85 & 0x00000001u;
|
|
/* 0245C698 */ if (_t86) goto L_0245C69C; else goto L_0245C6AC;
|
|
L_0245C69C: ; // 0x245c69c
|
|
/* 0245C69C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0245C6A0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0245C6A4 */ cpu->r[11] = cpu->r[3];
|
|
/* 0245C6A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0245C6A8 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C6A8 */ _t88 = _t87 & 0x00000001u;
|
|
/* 0245C6A8 */ if (_t88) goto L_0245C6C8; else goto L_0245C6AC;
|
|
L_0245C6AC: ; // 0x245c6ac
|
|
/* 0245C6AC */ cpu->r[5] = 0x100A0000u;
|
|
/* 0245C6B0 */ _t89 = cpu->r[11] + 0x00000008u;
|
|
/* 0245C6B0 */ rbrew_write32(cpu->mem, _t89, cpu->r[23]);
|
|
/* 0245C6B4 */ cpu->r[0] = cpu->r[26] + 0x0000000Cu;
|
|
/* 0245C6B8 */ cpu->r[5] = cpu->r[5] + 0x00001780u;
|
|
/* 0245C6BC */ _t90 = cpu->r[11] + 0x00000000u;
|
|
/* 0245C6BC */ rbrew_write32(cpu->mem, _t90, cpu->r[0]);
|
|
/* 0245C6C0 */ _t91 = cpu->r[11] + 0x00000004u;
|
|
/* 0245C6C0 */ rbrew_write32(cpu->mem, _t91, cpu->r[5]);
|
|
/* 0245C6C4 */ _t92 = cpu->r[26] + 0x00000023u;
|
|
/* 0245C6C4 */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[31]);
|
|
L_0245C6C8: ; // 0x245c6c8
|
|
/* 0245C6C8 */ cpu->r[6] = 0x100A0000u;
|
|
/* 0245C6CC */ _t93 = cpu->r[26] + 0x00000000u;
|
|
/* 0245C6CC */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 0245C6D0 */ cpu->r[6] = cpu->r[6] + 0x00001798u;
|
|
/* 0245C6D4 */ _t94 = cpu->r[26] + 0x00000004u;
|
|
/* 0245C6D4 */ rbrew_write32(cpu->mem, _t94, cpu->r[6]);
|
|
/* 0245C6D8 */ _t95 = cpu->r[7] + 0x00000000u;
|
|
/* 0245C6D8 */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[31]);
|
|
L_0245C6DC: ; // 0x245c6dc
|
|
/* 0245C6DC */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245C6E0 */ cpu->r[0] = cpu->r[0] + 0x000017B0u;
|
|
/* 0245C6E4 */ _t96 = cpu->r[27] + 0x00000004u;
|
|
/* 0245C6E4 */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
L_0245C6E8: ; // 0x245c6e8
|
|
/* 0245C6E8 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 0245C6E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0245C6EC */ cpu->r[22] = cpu->r[22] + 0x00000024u;
|
|
/* 0245C6F0 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C6F0 */ _t98 = _t97 & 0x00000001u;
|
|
/* 0245C6F0 */ if (_t98) goto L_0245C6F4; else goto L_0245C674;
|
|
L_0245C6F4: ; // 0x245c6f4
|
|
/* 0245C6F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0245C6F8 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C6F8 */ _t100 = _t99 & 0x00000001u;
|
|
/* 0245C6F8 */ if (_t100) goto L_0245C704; else goto L_0245C6FC;
|
|
L_0245C6FC: ; // 0x245c6fc
|
|
/* 0245C6FC */ _t101 = cpu->r[28] + 0x00000018u;
|
|
/* 0245C6FC */ rbrew_write32(cpu->mem, _t101, cpu->r[24]);
|
|
/* 0245C700 */ _t102 = cpu->r[28] + 0x00000014u;
|
|
/* 0245C700 */ rbrew_write32(cpu->mem, _t102, cpu->r[25]);
|
|
L_0245C704: ; // 0x245c704
|
|
/* 0245C704 */ _t103 = cpu->r[28] + 0x0000000Eu;
|
|
/* 0245C704 */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[29]);
|
|
/* 0245C708 */ /* nop */
|
|
/* 0245C70C */ _t104 = cpu->r[1] + 0x00000034u;
|
|
/* 0245C70C */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 0245C710 */ cpu->lr = cpu->r[0];
|
|
/* 0245C714 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0245C718 */ return;
|
|
}
|
|
|
|
// fn_0245C71C @ 0x245c71c
|
|
void Gambit_fn_0245C71C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_0245C71C: ; // 0x245c71c
|
|
/* 0245C71C */ _t0 = cpu->r[7] + 0x00000000u;
|
|
/* 0245C71C */ cpu->r[8] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0245C720 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 0245C720 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0245C724 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 0245C724 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0245C728 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 0245C72C */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 0245C72C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0245C730 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245C730 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0245C730 */ if (_t5) goto L_0245C734; else goto L_0245C73C;
|
|
L_0245C734: ; // 0x245c734
|
|
/* 0245C734 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0245C738 */ cpu->r[11] = cpu->r[11] + cpu->r[10];
|
|
L_0245C73C: ; // 0x245c73c
|
|
/* 0245C73C */ _t6 = cpu->r[11] + 0x00000000u;
|
|
/* 0245C73C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0245C740 */ _t7 = cpu->r[4] + 0x00000004u;
|
|
/* 0245C740 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0245C744 */ _t8 = cpu->r[11] + 0x00000004u;
|
|
/* 0245C744 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 0245C748 */ _t9 = cpu->r[7] + 0x00000000u;
|
|
/* 0245C748 */ cpu->r[9] = rbrew_read8(cpu->mem, _t9);
|
|
/* 0245C74C */ _t10 = cpu->r[3] + 0x00000028u;
|
|
/* 0245C74C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0245C750 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 0245C754 */ _t11 = cpu->r[3] + 0x0000002Cu;
|
|
/* 0245C754 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0245C758 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245C758 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0245C758 */ if (_t13) goto L_0245C75C; else goto L_0245C764;
|
|
L_0245C75C: ; // 0x245c75c
|
|
/* 0245C75C */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0245C760 */ cpu->r[10] = cpu->r[10] + cpu->r[0];
|
|
L_0245C764: ; // 0x245c764
|
|
/* 0245C764 */ _t14 = cpu->r[5] + 0x00000000u;
|
|
/* 0245C764 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0245C768 */ _t15 = cpu->r[10] + 0x00000000u;
|
|
/* 0245C768 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 0245C76C */ _t16 = cpu->r[5] + 0x00000004u;
|
|
/* 0245C76C */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0245C770 */ _t17 = cpu->r[10] + 0x00000004u;
|
|
/* 0245C770 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 0245C774 */ _t18 = cpu->r[3] + 0x00000030u;
|
|
/* 0245C774 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0245C778 */ _t19 = cpu->r[7] + 0x00000000u;
|
|
/* 0245C778 */ cpu->r[11] = rbrew_read8(cpu->mem, _t19);
|
|
/* 0245C77C */ _t20 = cpu->r[3] + 0x00000034u;
|
|
/* 0245C77C */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0245C780 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[9]);
|
|
/* 0245C784 */ _t21 = cpu->r[6] + 0x00000000u;
|
|
/* 0245C784 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0245C788 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0245C788 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0245C788 */ if (_t23) goto L_0245C78C; else goto L_0245C794;
|
|
L_0245C78C: ; // 0x245c78c
|
|
/* 0245C78C */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0245C790 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
|
|
L_0245C794: ; // 0x245c794
|
|
/* 0245C794 */ _t24 = cpu->r[12] + 0x00000000u;
|
|
/* 0245C794 */ rbrew_write32(cpu->mem, _t24, cpu->r[7]);
|
|
/* 0245C798 */ _t25 = cpu->r[6] + 0x00000004u;
|
|
/* 0245C798 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0245C79C */ _t26 = cpu->r[12] + 0x00000004u;
|
|
/* 0245C79C */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 0245C7A0 */ return;
|
|
}
|
|
|
|
// fn_0245C7A4 @ 0x245c7a4
|
|
void Gambit_fn_0245C7A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0245C7A4: ; // 0x245c7a4
|
|
/* 0245C7A4 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0245C7A8 */ goto L_0245C84C;
|
|
L_0245C84C: ; // 0x245c84c
|
|
/* 0245C84C */ cpu->r[0] = cpu->lr;
|
|
/* 0245C850 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245C850 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245C850 */ cpu->r[1] = _t0;
|
|
/* 0245C854 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245C854 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245C858 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0245C858 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0245C85C */ cpu->r[30] = cpu->r[3];
|
|
/* 0245C85C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0245C860 */ cpu->r[31] = cpu->r[4];
|
|
/* 0245C864 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0245C864 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0245C868 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C868 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0245C868 */ if (_t5) goto L_0245C8D8; else goto L_0245C86C;
|
|
L_0245C86C: ; // 0x245c86c
|
|
/* 0245C86C */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245C870 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245C874 */ cpu->r[0] = cpu->r[0] + 0x00001ABCu;
|
|
/* 0245C878 */ cpu->r[12] = cpu->r[12] + 0x00001CBCu;
|
|
/* 0245C87C */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0245C87C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0245C880 */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245C884 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 0245C884 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0245C888 */ cpu->r[11] = cpu->r[11] + 0x00001ACCu;
|
|
/* 0245C88C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0245C890 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0245C890 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0245C894 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C894 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0245C894 */ if (_t10) goto L_0245C8C8; else goto L_0245C898;
|
|
L_0245C898: ; // 0x245c898
|
|
/* 0245C898 */ cpu->r[10] = 0x10010000u;
|
|
/* 0245C89C */ cpu->r[0] = 0x10010000u;
|
|
/* 0245C8A0 */ cpu->r[10] = cpu->r[10] + 0x000048FCu;
|
|
/* 0245C8A4 */ cpu->r[0] = cpu->r[0] + 0x000048ECu;
|
|
/* 0245C8A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0245C8AC */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0245C8AC */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0245C8B0 */ cpu->r[0] = 0x10010000u;
|
|
/* 0245C8B4 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0245C8B4 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0245C8B8 */ cpu->r[0] = cpu->r[0] + 0x0000490Cu;
|
|
/* 0245C8BC */ cpu->r[4] = 0x00000000u;
|
|
/* 0245C8C0 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0245C8C0 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0245C8C4 */ Gambit_fn_02068798(cpu);
|
|
L_0245C8C8: ; // 0x245c8c8
|
|
/* 0245C8C8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0245C8C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0245C8CC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C8CC */ _t15 = _t14 & 0x00000001u;
|
|
/* 0245C8CC */ if (_t15) goto L_0245C8D8; else goto L_0245C8D0;
|
|
L_0245C8D0: ; // 0x245c8d0
|
|
/* 0245C8D0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0245C8D4 */ Gambit_fn_02801BB0(cpu);
|
|
L_0245C8D8: ; // 0x245c8d8
|
|
/* 0245C8D8 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0245C8D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0245C8DC */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0245C8DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0245C8E0 */ cpu->lr = cpu->r[0];
|
|
/* 0245C8E4 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245C8E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0245C8E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245C8EC */ return;
|
|
}
|
|
|
|
// fn_0245C7AC @ 0x245c7ac
|
|
void Gambit_fn_0245C7AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02068818: ; // 0x2068818
|
|
/* 02068818 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0206881C */ _t0 = cpu->r[12] + 0x00001D34u;
|
|
/* 0206881C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02068820 */ _t1 = cpu->r[12] + 0x0000018Cu;
|
|
/* 02068820 */ cpu->r[12] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02068824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02068828 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02068828 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02068828 */ if (_t3) goto L_0206883C; else goto L_0206882C;
|
|
L_0206882C: ; // 0x206882c
|
|
/* 0206882C */ cpu->r[0] = cpu->r[5] ^ 0x00000001u;
|
|
/* 02068830 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02068834 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068838 */ return;
|
|
L_0206883C: ; // 0x206883c
|
|
/* 0206883C */ cpu->r[0] = rbrew_clz32(cpu->r[5]);
|
|
/* 02068840 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068844 */ return;
|
|
L_0245C7AC: ; // 0x245c7ac
|
|
/* 0245C7AC */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 0245C7B0 */ goto L_02068818;
|
|
}
|
|
|
|
// fn_0245C7B4 @ 0x245c7b4
|
|
void Gambit_fn_0245C7B4(CPUState* cpu) {
|
|
L_0245C7B4: ; // 0x245c7b4
|
|
/* 0245C7B4 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 0245C7B8 */ goto L_0245C8F0;
|
|
L_0245C8F0: ; // 0x245c8f0
|
|
/* 0245C8F0 */ return;
|
|
}
|
|
|
|
// fn_0245C7BC @ 0x245c7bc
|
|
void Gambit_fn_0245C7BC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0245C7BC: ; // 0x245c7bc
|
|
/* 0245C7BC */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 0245C7C0 */ goto L_0245C8F4;
|
|
L_0245C8F4: ; // 0x245c8f4
|
|
/* 0245C8F4 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0245C8F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245C8F8 */ return;
|
|
}
|
|
|
|
// fn_0245C7C4 @ 0x245c7c4
|
|
void Gambit_fn_0245C7C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0245C7C4: ; // 0x245c7c4
|
|
/* 0245C7C4 */ cpu->r[0] = cpu->lr;
|
|
/* 0245C7C8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245C7C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245C7C8 */ cpu->r[1] = _t0;
|
|
/* 0245C7CC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245C7CC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245C7D0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245C7D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0245C7D4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0245C7D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0245C7D8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C7D8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0245C7D8 */ if (_t4) goto L_0245C7DC; else goto L_0245C7EC;
|
|
L_0245C7DC: ; // 0x245c7dc
|
|
/* 0245C7DC */ cpu->r[3] = 0x0000021Cu;
|
|
/* 0245C7E0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0245C7E4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245C7E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0245C7E8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C7E8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0245C7E8 */ if (_t6) goto L_0245C834; else goto L_0245C7EC;
|
|
L_0245C7EC: ; // 0x245c7ec
|
|
/* 0245C7EC */ cpu->r[4] = 0x100A0000u;
|
|
/* 0245C7F0 */ cpu->r[5] = 0x00000000u;
|
|
/* 0245C7F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245C7F8 */ cpu->r[4] = cpu->r[4] + 0x00001D34u;
|
|
/* 0245C7FC */ cpu->r[6] = cpu->r[5];
|
|
/* 0245C800 */ Gambit_fn_020B6F60(cpu);
|
|
/* 0245C804 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245C808 */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245C80C */ cpu->r[12] = cpu->r[12] + 0x00001ABCu;
|
|
/* 0245C810 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245C814 */ cpu->r[11] = cpu->r[11] + 0x00001ADCu;
|
|
/* 0245C818 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0245C818 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0245C81C */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245C820 */ cpu->r[0] = cpu->r[0] + 0x00001ACCu;
|
|
/* 0245C824 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 0245C824 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0245C828 */ cpu->r[12] = cpu->r[12] + 0x00001CBCu;
|
|
/* 0245C82C */ _t9 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0245C82C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0245C830 */ _t10 = cpu->r[31] + 0x000001C8u;
|
|
/* 0245C830 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
L_0245C834: ; // 0x245c834
|
|
/* 0245C834 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0245C834 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0245C838 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245C83C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245C83C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0245C840 */ cpu->lr = cpu->r[0];
|
|
/* 0245C844 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245C848 */ return;
|
|
}
|
|
|
|
// fn_0245C7C8 @ 0x245c7c8
|
|
void Gambit_fn_0245C7C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0245C7C8: ; // 0x245c7c8
|
|
/* 0245C7C8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245C7C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245C7C8 */ cpu->r[1] = _t0;
|
|
/* 0245C7CC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245C7CC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245C7D0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245C7D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0245C7D4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0245C7D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0245C7D8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C7D8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0245C7D8 */ if (_t4) goto L_0245C7DC; else goto L_0245C7EC;
|
|
L_0245C7DC: ; // 0x245c7dc
|
|
/* 0245C7DC */ cpu->r[3] = 0x0000021Cu;
|
|
/* 0245C7E0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0245C7E4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245C7E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0245C7E8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C7E8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0245C7E8 */ if (_t6) goto L_0245C834; else goto L_0245C7EC;
|
|
L_0245C7EC: ; // 0x245c7ec
|
|
/* 0245C7EC */ cpu->r[4] = 0x100A0000u;
|
|
/* 0245C7F0 */ cpu->r[5] = 0x00000000u;
|
|
/* 0245C7F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245C7F8 */ cpu->r[4] = cpu->r[4] + 0x00001D34u;
|
|
/* 0245C7FC */ cpu->r[6] = cpu->r[5];
|
|
/* 0245C800 */ Gambit_fn_020B6F60(cpu);
|
|
/* 0245C804 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245C808 */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245C80C */ cpu->r[12] = cpu->r[12] + 0x00001ABCu;
|
|
/* 0245C810 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245C814 */ cpu->r[11] = cpu->r[11] + 0x00001ADCu;
|
|
/* 0245C818 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0245C818 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0245C81C */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245C820 */ cpu->r[0] = cpu->r[0] + 0x00001ACCu;
|
|
/* 0245C824 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 0245C824 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0245C828 */ cpu->r[12] = cpu->r[12] + 0x00001CBCu;
|
|
/* 0245C82C */ _t9 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0245C82C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0245C830 */ _t10 = cpu->r[31] + 0x000001C8u;
|
|
/* 0245C830 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
L_0245C834: ; // 0x245c834
|
|
/* 0245C834 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0245C834 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0245C838 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245C83C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245C83C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0245C840 */ cpu->lr = cpu->r[0];
|
|
/* 0245C844 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245C848 */ return;
|
|
}
|
|
|
|
// fn_0245C84C @ 0x245c84c
|
|
void Gambit_fn_0245C84C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0245C84C: ; // 0x245c84c
|
|
/* 0245C84C */ cpu->r[0] = cpu->lr;
|
|
/* 0245C850 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245C850 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245C850 */ cpu->r[1] = _t0;
|
|
/* 0245C854 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245C854 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245C858 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0245C858 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0245C85C */ cpu->r[30] = cpu->r[3];
|
|
/* 0245C85C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0245C860 */ cpu->r[31] = cpu->r[4];
|
|
/* 0245C864 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0245C864 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0245C868 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C868 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0245C868 */ if (_t5) goto L_0245C8D8; else goto L_0245C86C;
|
|
L_0245C86C: ; // 0x245c86c
|
|
/* 0245C86C */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245C870 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245C874 */ cpu->r[0] = cpu->r[0] + 0x00001ABCu;
|
|
/* 0245C878 */ cpu->r[12] = cpu->r[12] + 0x00001CBCu;
|
|
/* 0245C87C */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0245C87C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0245C880 */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245C884 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 0245C884 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0245C888 */ cpu->r[11] = cpu->r[11] + 0x00001ACCu;
|
|
/* 0245C88C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0245C890 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0245C890 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0245C894 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C894 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0245C894 */ if (_t10) goto L_0245C8C8; else goto L_0245C898;
|
|
L_0245C898: ; // 0x245c898
|
|
/* 0245C898 */ cpu->r[10] = 0x10010000u;
|
|
/* 0245C89C */ cpu->r[0] = 0x10010000u;
|
|
/* 0245C8A0 */ cpu->r[10] = cpu->r[10] + 0x000048FCu;
|
|
/* 0245C8A4 */ cpu->r[0] = cpu->r[0] + 0x000048ECu;
|
|
/* 0245C8A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0245C8AC */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0245C8AC */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0245C8B0 */ cpu->r[0] = 0x10010000u;
|
|
/* 0245C8B4 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0245C8B4 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0245C8B8 */ cpu->r[0] = cpu->r[0] + 0x0000490Cu;
|
|
/* 0245C8BC */ cpu->r[4] = 0x00000000u;
|
|
/* 0245C8C0 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0245C8C0 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0245C8C4 */ Gambit_fn_02068798(cpu);
|
|
L_0245C8C8: ; // 0x245c8c8
|
|
/* 0245C8C8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0245C8C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0245C8CC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C8CC */ _t15 = _t14 & 0x00000001u;
|
|
/* 0245C8CC */ if (_t15) goto L_0245C8D8; else goto L_0245C8D0;
|
|
L_0245C8D0: ; // 0x245c8d0
|
|
/* 0245C8D0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0245C8D4 */ Gambit_fn_02801BB0(cpu);
|
|
L_0245C8D8: ; // 0x245c8d8
|
|
/* 0245C8D8 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0245C8D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0245C8DC */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0245C8DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0245C8E0 */ cpu->lr = cpu->r[0];
|
|
/* 0245C8E4 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245C8E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0245C8E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245C8EC */ return;
|
|
}
|
|
|
|
// fn_0245C850 @ 0x245c850
|
|
void Gambit_fn_0245C850(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0245C850: ; // 0x245c850
|
|
/* 0245C850 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245C850 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245C850 */ cpu->r[1] = _t0;
|
|
/* 0245C854 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245C854 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245C858 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0245C858 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0245C85C */ cpu->r[30] = cpu->r[3];
|
|
/* 0245C85C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0245C860 */ cpu->r[31] = cpu->r[4];
|
|
/* 0245C864 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0245C864 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0245C868 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C868 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0245C868 */ if (_t5) goto L_0245C8D8; else goto L_0245C86C;
|
|
L_0245C86C: ; // 0x245c86c
|
|
/* 0245C86C */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245C870 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245C874 */ cpu->r[0] = cpu->r[0] + 0x00001ABCu;
|
|
/* 0245C878 */ cpu->r[12] = cpu->r[12] + 0x00001CBCu;
|
|
/* 0245C87C */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0245C87C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0245C880 */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245C884 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 0245C884 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0245C888 */ cpu->r[11] = cpu->r[11] + 0x00001ACCu;
|
|
/* 0245C88C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0245C890 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0245C890 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0245C894 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C894 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0245C894 */ if (_t10) goto L_0245C8C8; else goto L_0245C898;
|
|
L_0245C898: ; // 0x245c898
|
|
/* 0245C898 */ cpu->r[10] = 0x10010000u;
|
|
/* 0245C89C */ cpu->r[0] = 0x10010000u;
|
|
/* 0245C8A0 */ cpu->r[10] = cpu->r[10] + 0x000048FCu;
|
|
/* 0245C8A4 */ cpu->r[0] = cpu->r[0] + 0x000048ECu;
|
|
/* 0245C8A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0245C8AC */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0245C8AC */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0245C8B0 */ cpu->r[0] = 0x10010000u;
|
|
/* 0245C8B4 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0245C8B4 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0245C8B8 */ cpu->r[0] = cpu->r[0] + 0x0000490Cu;
|
|
/* 0245C8BC */ cpu->r[4] = 0x00000000u;
|
|
/* 0245C8C0 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0245C8C0 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0245C8C4 */ Gambit_fn_02068798(cpu);
|
|
L_0245C8C8: ; // 0x245c8c8
|
|
/* 0245C8C8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0245C8C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0245C8CC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C8CC */ _t15 = _t14 & 0x00000001u;
|
|
/* 0245C8CC */ if (_t15) goto L_0245C8D8; else goto L_0245C8D0;
|
|
L_0245C8D0: ; // 0x245c8d0
|
|
/* 0245C8D0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0245C8D4 */ Gambit_fn_02801BB0(cpu);
|
|
L_0245C8D8: ; // 0x245c8d8
|
|
/* 0245C8D8 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0245C8D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0245C8DC */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0245C8DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0245C8E0 */ cpu->lr = cpu->r[0];
|
|
/* 0245C8E4 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245C8E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0245C8E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245C8EC */ return;
|
|
}
|
|
|
|
// fn_0245C8F0 @ 0x245c8f0
|
|
void Gambit_fn_0245C8F0(CPUState* cpu) {
|
|
L_0245C8F0: ; // 0x245c8f0
|
|
/* 0245C8F0 */ return;
|
|
}
|
|
|
|
// fn_0245C8F4 @ 0x245c8f4
|
|
void Gambit_fn_0245C8F4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0245C8F4: ; // 0x245c8f4
|
|
/* 0245C8F4 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0245C8F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245C8F8 */ return;
|
|
}
|
|
|
|
// fn_0245C8FC @ 0x245c8fc
|
|
void Gambit_fn_0245C8FC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0245C8FC: ; // 0x245c8fc
|
|
/* 0245C8FC */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0245C8FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245C900 */ return;
|
|
}
|
|
|
|
// fn_0245C904 @ 0x245c904
|
|
void Gambit_fn_0245C904(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0245C904: ; // 0x245c904
|
|
/* 0245C904 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0245C904 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245C908 */ return;
|
|
}
|
|
|
|
// fn_0245C90C @ 0x245c90c
|
|
void Gambit_fn_0245C90C(CPUState* cpu) {
|
|
L_0245C90C: ; // 0x245c90c
|
|
/* 0245C90C */ return;
|
|
}
|
|
|
|
// fn_0245C910 @ 0x245c910
|
|
void Gambit_fn_0245C910(CPUState* cpu) {
|
|
L_0245C910: ; // 0x245c910
|
|
/* 0245C910 */ return;
|
|
}
|
|
|
|
// fn_0245C914 @ 0x245c914
|
|
void Gambit_fn_0245C914(CPUState* cpu) {
|
|
L_0245C914: ; // 0x245c914
|
|
/* 0245C914 */ return;
|
|
}
|
|
|
|
// fn_0245C918 @ 0x245c918
|
|
void Gambit_fn_0245C918(CPUState* cpu) {
|
|
L_0245C918: ; // 0x245c918
|
|
/* 0245C918 */ return;
|
|
}
|
|
|
|
// fn_0245C91C @ 0x245c91c
|
|
void Gambit_fn_0245C91C(CPUState* cpu) {
|
|
L_0245C91C: ; // 0x245c91c
|
|
/* 0245C91C */ return;
|
|
}
|
|
|
|
// fn_0245C920 @ 0x245c920
|
|
void Gambit_fn_0245C920(CPUState* cpu) {
|
|
L_0245C920: ; // 0x245c920
|
|
/* 0245C920 */ cpu->r[3] = 0x00000001u;
|
|
/* 0245C924 */ return;
|
|
}
|
|
|
|
// fn_0245C928 @ 0x245c928
|
|
void Gambit_fn_0245C928(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0245C928: ; // 0x245c928
|
|
/* 0245C928 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0245C928 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245C92C */ _t1 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0245C92C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0245C930 */ cpu->ctr = cpu->r[0];
|
|
/* 0245C934 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0245C938 @ 0x245c938
|
|
void Gambit_fn_0245C938(CPUState* cpu) {
|
|
L_0245C938: ; // 0x245c938
|
|
/* 0245C938 */ return;
|
|
}
|
|
|
|
// fn_0245C93C @ 0x245c93c
|
|
void Gambit_fn_0245C93C(CPUState* cpu) {
|
|
L_0245C93C: ; // 0x245c93c
|
|
/* 0245C93C */ cpu->r[3] = 0x00000000u;
|
|
/* 0245C940 */ return;
|
|
}
|
|
|
|
// fn_0245C944 @ 0x245c944
|
|
void Gambit_fn_0245C944(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0245C944: ; // 0x245c944
|
|
/* 0245C944 */ cpu->r[9] = 0x101D0000u;
|
|
/* 0245C948 */ _t0 = cpu->r[9] + 0xFFFFDBA0u;
|
|
/* 0245C948 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245C948 */ cpu->r[9] = _t0;
|
|
/* 0245C94C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0245C950 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0245C954 */ cpu->r[12] = cpu->r[12] + 0xFFFFED90u;
|
|
/* 0245C958 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C958 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0245C958 */ if (_t2) goto L_0245C95C; else goto L_0245C970;
|
|
L_0245C95C: ; // 0x245c95c
|
|
/* 0245C95C */ cpu->r[7] = 0x100A0000u;
|
|
/* 0245C960 */ cpu->r[0] = 0x00000001u;
|
|
/* 0245C964 */ cpu->r[7] = cpu->r[7] + 0x00001AACu;
|
|
/* 0245C968 */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 0245C968 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0245C96C */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 0245C96C */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_0245C970: ; // 0x245c970
|
|
/* 0245C970 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 0245C974 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C974 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0245C974 */ if (_t6) goto L_0245C978; else goto L_0245C980;
|
|
L_0245C978: ; // 0x245c978
|
|
/* 0245C978 */ cpu->r[3] = 0x00000001u;
|
|
/* 0245C97C */ return;
|
|
L_0245C980: ; // 0x245c980
|
|
/* 0245C980 */ cpu->r[7] = 0x101D0000u;
|
|
/* 0245C984 */ _t7 = cpu->r[7] + 0xFFFFDB98u;
|
|
/* 0245C984 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0245C984 */ cpu->r[7] = _t7;
|
|
/* 0245C988 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0245C98C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0245C990 */ cpu->r[11] = cpu->r[11] + 0xFFFFED94u;
|
|
/* 0245C994 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245C994 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0245C994 */ if (_t9) goto L_0245C998; else goto L_0245C9AC;
|
|
L_0245C998: ; // 0x245c998
|
|
/* 0245C998 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245C99C */ cpu->r[9] = 0x00000001u;
|
|
/* 0245C9A0 */ cpu->r[0] = cpu->r[0] + 0x00001A9Cu;
|
|
/* 0245C9A4 */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 0245C9A4 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 0245C9A8 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 0245C9A8 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_0245C9AC: ; // 0x245c9ac
|
|
/* 0245C9AC */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 0245C9B0 */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 0245C9B4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 0245C9B8 */ return;
|
|
}
|
|
|
|
// fn_0245C9BC @ 0x245c9bc
|
|
void Gambit_fn_0245C9BC(CPUState* cpu) {
|
|
L_0245C9BC: ; // 0x245c9bc
|
|
/* 0245C9BC */ return;
|
|
}
|
|
|
|
// fn_0245C9C0 @ 0x245c9c0
|
|
void Gambit_fn_0245C9C0(CPUState* cpu) {
|
|
L_0245C9C0: ; // 0x245c9c0
|
|
/* 0245C9C0 */ return;
|
|
}
|
|
|
|
// fn_0245C9C4 @ 0x245c9c4
|
|
void Gambit_fn_0245C9C4(CPUState* cpu) {
|
|
L_0245C9C4: ; // 0x245c9c4
|
|
/* 0245C9C4 */ return;
|
|
}
|
|
|
|
// fn_0245C9C8 @ 0x245c9c8
|
|
void Gambit_fn_0245C9C8(CPUState* cpu) {
|
|
L_0245C9C8: ; // 0x245c9c8
|
|
/* 0245C9C8 */ return;
|
|
}
|
|
|
|
// fn_0245C9CC @ 0x245c9cc
|
|
void Gambit_fn_0245C9CC(CPUState* cpu) {
|
|
L_0245C9CC: ; // 0x245c9cc
|
|
/* 0245C9CC */ cpu->r[3] = 0x00000000u;
|
|
/* 0245C9D0 */ return;
|
|
}
|
|
|
|
// fn_0245C9D4 @ 0x245c9d4
|
|
void Gambit_fn_0245C9D4(CPUState* cpu) {
|
|
L_0245C9D4: ; // 0x245c9d4
|
|
/* 0245C9D4 */ cpu->r[3] = 0x00000000u;
|
|
/* 0245C9D8 */ return;
|
|
}
|
|
|
|
// fn_0245C9DC @ 0x245c9dc
|
|
void Gambit_fn_0245C9DC(CPUState* cpu) {
|
|
L_0245C9DC: ; // 0x245c9dc
|
|
/* 0245C9DC */ return;
|
|
}
|
|
|
|
// fn_0245C9E0 @ 0x245c9e0
|
|
void Gambit_fn_0245C9E0(CPUState* cpu) {
|
|
L_0245C9E0: ; // 0x245c9e0
|
|
/* 0245C9E0 */ return;
|
|
}
|
|
|
|
// fn_0245C9E4 @ 0x245c9e4
|
|
void Gambit_fn_0245C9E4(CPUState* cpu) {
|
|
L_0245C9E4: ; // 0x245c9e4
|
|
/* 0245C9E4 */ return;
|
|
}
|
|
|
|
// fn_0245C9E8 @ 0x245c9e8
|
|
void Gambit_fn_0245C9E8(CPUState* cpu) {
|
|
L_0245C9E8: ; // 0x245c9e8
|
|
/* 0245C9E8 */ return;
|
|
}
|
|
|
|
// fn_0245C9EC @ 0x245c9ec
|
|
void Gambit_fn_0245C9EC(CPUState* cpu) {
|
|
L_0245C9EC: ; // 0x245c9ec
|
|
/* 0245C9EC */ return;
|
|
}
|
|
|
|
// fn_0245C9F0 @ 0x245c9f0
|
|
void Gambit_fn_0245C9F0(CPUState* cpu) {
|
|
L_0245C9F0: ; // 0x245c9f0
|
|
/* 0245C9F0 */ return;
|
|
}
|
|
|
|
// fn_0245C9F4 @ 0x245c9f4
|
|
void Gambit_fn_0245C9F4(CPUState* cpu) {
|
|
L_0245C9F4: ; // 0x245c9f4
|
|
/* 0245C9F4 */ return;
|
|
}
|
|
|
|
// fn_0245C9F8 @ 0x245c9f8
|
|
void Gambit_fn_0245C9F8(CPUState* cpu) {
|
|
L_0245C9F8: ; // 0x245c9f8
|
|
/* 0245C9F8 */ return;
|
|
}
|
|
|
|
// fn_0245C9FC @ 0x245c9fc
|
|
void Gambit_fn_0245C9FC(CPUState* cpu) {
|
|
L_0245C9FC: ; // 0x245c9fc
|
|
/* 0245C9FC */ return;
|
|
}
|
|
|
|
// fn_0245CA00 @ 0x245ca00
|
|
void Gambit_fn_0245CA00(CPUState* cpu) {
|
|
L_0245CA00: ; // 0x245ca00
|
|
/* 0245CA00 */ return;
|
|
}
|
|
|
|
// fn_0245CA04 @ 0x245ca04
|
|
void Gambit_fn_0245CA04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0200896C: ; // 0x200896c
|
|
/* 0200896C */ cpu->r[0] = cpu->lr;
|
|
/* 02008970 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02008970 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02008970 */ cpu->r[1] = _t0;
|
|
/* 02008974 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02008974 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02008978 */ cpu->r[31] = cpu->r[3];
|
|
/* 0200897C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0200897C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02008980 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 02008980 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02008984 */ cpu->r[12] = 0x00000000u;
|
|
/* 02008988 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0200898C */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0200898C */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02008990 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02008990 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02008990 */ if (_t6) goto L_020089B8; else goto L_02008994;
|
|
L_02008994: ; // 0x2008994
|
|
/* 02008994 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02008994 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02008998 */ /* nop */
|
|
/* 0200899C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 020089A0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020089A0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 020089A0 */ if (_t9) goto L_020089A4; else goto L_020089B8;
|
|
L_020089A4: ; // 0x20089a4
|
|
/* 020089A4 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 020089A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 020089A8 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 020089A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 020089AC */ cpu->ctr = cpu->r[0];
|
|
/* 020089B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 020089B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_020089B8: ; // 0x20089b8
|
|
/* 020089B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 020089BC */ Gambit_fn_020088E4(cpu);
|
|
/* 020089C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 020089C4 */ Gambit_fn_027FC37C(cpu);
|
|
/* 020089C8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 020089C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 020089CC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020089CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 020089D0 */ cpu->lr = cpu->r[0];
|
|
/* 020089D4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 020089D8 */ return;
|
|
L_0245CA04: ; // 0x245ca04
|
|
/* 0245CA04 */ cpu->r[3] = cpu->r[3] + 0x000001DCu;
|
|
/* 0245CA08 */ goto L_0200896C;
|
|
}
|
|
|
|
// fn_0245CA0C @ 0x245ca0c
|
|
void Gambit_fn_0245CA0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0245CA0C: ; // 0x245ca0c
|
|
/* 0245CA0C */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0245CA10 */ goto L_0245CCEC;
|
|
L_0245CCEC: ; // 0x245ccec
|
|
/* 0245CCEC */ cpu->r[0] = cpu->lr;
|
|
/* 0245CCF0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245CCF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245CCF0 */ cpu->r[1] = _t0;
|
|
/* 0245CCF4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245CCF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245CCF8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0245CCF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0245CCFC */ cpu->r[30] = cpu->r[3];
|
|
/* 0245CCFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0245CD00 */ cpu->r[31] = cpu->r[4];
|
|
/* 0245CD04 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0245CD04 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0245CD08 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245CD08 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0245CD08 */ if (_t5) goto L_0245CD78; else goto L_0245CD0C;
|
|
L_0245CD0C: ; // 0x245cd0c
|
|
/* 0245CD0C */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245CD10 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245CD14 */ cpu->r[0] = cpu->r[0] + 0x00001FE8u;
|
|
/* 0245CD18 */ cpu->r[12] = cpu->r[12] + 0x00002008u;
|
|
/* 0245CD1C */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0245CD1C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0245CD20 */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245CD24 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 0245CD24 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0245CD28 */ cpu->r[11] = cpu->r[11] + 0x00001FF8u;
|
|
/* 0245CD2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0245CD30 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0245CD30 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0245CD34 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245CD34 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0245CD34 */ if (_t10) goto L_0245CD68; else goto L_0245CD38;
|
|
L_0245CD38: ; // 0x245cd38
|
|
/* 0245CD38 */ cpu->r[10] = 0x10010000u;
|
|
/* 0245CD3C */ cpu->r[0] = 0x10010000u;
|
|
/* 0245CD40 */ cpu->r[10] = cpu->r[10] + 0x000048FCu;
|
|
/* 0245CD44 */ cpu->r[0] = cpu->r[0] + 0x000048ECu;
|
|
/* 0245CD48 */ cpu->r[3] = cpu->r[30];
|
|
/* 0245CD4C */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0245CD4C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0245CD50 */ cpu->r[0] = 0x10010000u;
|
|
/* 0245CD54 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0245CD54 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0245CD58 */ cpu->r[0] = cpu->r[0] + 0x0000490Cu;
|
|
/* 0245CD5C */ cpu->r[4] = 0x00000000u;
|
|
/* 0245CD60 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0245CD60 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0245CD64 */ Gambit_fn_02068798(cpu);
|
|
L_0245CD68: ; // 0x245cd68
|
|
/* 0245CD68 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0245CD68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0245CD6C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245CD6C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0245CD6C */ if (_t15) goto L_0245CD78; else goto L_0245CD70;
|
|
L_0245CD70: ; // 0x245cd70
|
|
/* 0245CD70 */ cpu->r[3] = cpu->r[30];
|
|
/* 0245CD74 */ Gambit_fn_02801BB0(cpu);
|
|
L_0245CD78: ; // 0x245cd78
|
|
/* 0245CD78 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0245CD78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0245CD7C */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0245CD7C */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0245CD80 */ cpu->lr = cpu->r[0];
|
|
/* 0245CD84 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245CD84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0245CD88 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245CD8C */ return;
|
|
}
|
|
|
|
// fn_0245CA14 @ 0x245ca14
|
|
void Gambit_fn_0245CA14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02068818: ; // 0x2068818
|
|
/* 02068818 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0206881C */ _t0 = cpu->r[12] + 0x00001D34u;
|
|
/* 0206881C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02068820 */ _t1 = cpu->r[12] + 0x0000018Cu;
|
|
/* 02068820 */ cpu->r[12] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02068824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02068828 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02068828 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02068828 */ if (_t3) goto L_0206883C; else goto L_0206882C;
|
|
L_0206882C: ; // 0x206882c
|
|
/* 0206882C */ cpu->r[0] = cpu->r[5] ^ 0x00000001u;
|
|
/* 02068830 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02068834 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068838 */ return;
|
|
L_0206883C: ; // 0x206883c
|
|
/* 0206883C */ cpu->r[0] = rbrew_clz32(cpu->r[5]);
|
|
/* 02068840 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068844 */ return;
|
|
L_0245CA14: ; // 0x245ca14
|
|
/* 0245CA14 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 0245CA18 */ goto L_02068818;
|
|
}
|
|
|
|
// fn_0245CA1C @ 0x245ca1c
|
|
void Gambit_fn_0245CA1C(CPUState* cpu) {
|
|
L_0245CA1C: ; // 0x245ca1c
|
|
/* 0245CA1C */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 0245CA20 */ goto L_0245CD90;
|
|
L_0245CD90: ; // 0x245cd90
|
|
/* 0245CD90 */ return;
|
|
}
|
|
|
|
// fn_0245CA24 @ 0x245ca24
|
|
void Gambit_fn_0245CA24(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0245CA24: ; // 0x245ca24
|
|
/* 0245CA24 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 0245CA28 */ goto L_0245CD94;
|
|
L_0245CD94: ; // 0x245cd94
|
|
/* 0245CD94 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0245CD94 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245CD98 */ return;
|
|
}
|
|
|
|
// fn_0245CA2C @ 0x245ca2c
|
|
void Gambit_fn_0245CA2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0245CA2C: ; // 0x245ca2c
|
|
/* 0245CA2C */ cpu->r[0] = cpu->lr;
|
|
/* 0245CA30 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245CA30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245CA30 */ cpu->r[1] = _t0;
|
|
/* 0245CA34 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245CA34 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245CA38 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245CA38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0245CA3C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0245CA3C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0245CA40 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245CA40 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0245CA40 */ if (_t4) goto L_0245CA44; else goto L_0245CA54;
|
|
L_0245CA44: ; // 0x245ca44
|
|
/* 0245CA44 */ cpu->r[3] = 0x00000220u;
|
|
/* 0245CA48 */ Gambit_fn_02801A78(cpu);
|
|
/* 0245CA4C */ cpu->r[31] = cpu->r[3];
|
|
/* 0245CA4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0245CA50 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245CA50 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0245CA50 */ if (_t6) goto L_0245CAA4; else goto L_0245CA54;
|
|
L_0245CA54: ; // 0x245ca54
|
|
/* 0245CA54 */ cpu->r[4] = 0x100A0000u;
|
|
/* 0245CA58 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245CA5C */ cpu->r[6] = 0x00000000u;
|
|
/* 0245CA60 */ cpu->r[4] = cpu->r[4] + 0x00001DA4u;
|
|
/* 0245CA64 */ cpu->r[5] = 0x00000001u;
|
|
/* 0245CA68 */ Gambit_fn_020B6F60(cpu);
|
|
/* 0245CA6C */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245CA70 */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245CA74 */ cpu->r[12] = cpu->r[12] + 0x00001FE8u;
|
|
/* 0245CA78 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245CA7C */ cpu->r[11] = cpu->r[11] + 0x00001E08u;
|
|
/* 0245CA80 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0245CA80 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0245CA84 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245CA88 */ cpu->r[0] = cpu->r[0] + 0x00001FF8u;
|
|
/* 0245CA8C */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 0245CA8C */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0245CA90 */ cpu->r[12] = cpu->r[12] + 0x00002008u;
|
|
/* 0245CA94 */ _t9 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0245CA94 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0245CA98 */ cpu->r[10] = 0x00000000u;
|
|
/* 0245CA9C */ _t10 = cpu->r[31] + 0x000001C8u;
|
|
/* 0245CA9C */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0245CAA0 */ _t11 = cpu->r[31] + 0x0000021Cu;
|
|
/* 0245CAA0 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
L_0245CAA4: ; // 0x245caa4
|
|
/* 0245CAA4 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0245CAA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0245CAA8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245CAAC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245CAAC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0245CAB0 */ cpu->lr = cpu->r[0];
|
|
/* 0245CAB4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245CAB8 */ return;
|
|
}
|
|
|
|
// fn_0245CA30 @ 0x245ca30
|
|
void Gambit_fn_0245CA30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0245CA30: ; // 0x245ca30
|
|
/* 0245CA30 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245CA30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245CA30 */ cpu->r[1] = _t0;
|
|
/* 0245CA34 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245CA34 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245CA38 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245CA38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0245CA3C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0245CA3C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0245CA40 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245CA40 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0245CA40 */ if (_t4) goto L_0245CA44; else goto L_0245CA54;
|
|
L_0245CA44: ; // 0x245ca44
|
|
/* 0245CA44 */ cpu->r[3] = 0x00000220u;
|
|
/* 0245CA48 */ Gambit_fn_02801A78(cpu);
|
|
/* 0245CA4C */ cpu->r[31] = cpu->r[3];
|
|
/* 0245CA4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0245CA50 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245CA50 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0245CA50 */ if (_t6) goto L_0245CAA4; else goto L_0245CA54;
|
|
L_0245CA54: ; // 0x245ca54
|
|
/* 0245CA54 */ cpu->r[4] = 0x100A0000u;
|
|
/* 0245CA58 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245CA5C */ cpu->r[6] = 0x00000000u;
|
|
/* 0245CA60 */ cpu->r[4] = cpu->r[4] + 0x00001DA4u;
|
|
/* 0245CA64 */ cpu->r[5] = 0x00000001u;
|
|
/* 0245CA68 */ Gambit_fn_020B6F60(cpu);
|
|
/* 0245CA6C */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245CA70 */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245CA74 */ cpu->r[12] = cpu->r[12] + 0x00001FE8u;
|
|
/* 0245CA78 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245CA7C */ cpu->r[11] = cpu->r[11] + 0x00001E08u;
|
|
/* 0245CA80 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0245CA80 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0245CA84 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245CA88 */ cpu->r[0] = cpu->r[0] + 0x00001FF8u;
|
|
/* 0245CA8C */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 0245CA8C */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0245CA90 */ cpu->r[12] = cpu->r[12] + 0x00002008u;
|
|
/* 0245CA94 */ _t9 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0245CA94 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0245CA98 */ cpu->r[10] = 0x00000000u;
|
|
/* 0245CA9C */ _t10 = cpu->r[31] + 0x000001C8u;
|
|
/* 0245CA9C */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0245CAA0 */ _t11 = cpu->r[31] + 0x0000021Cu;
|
|
/* 0245CAA0 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
L_0245CAA4: ; // 0x245caa4
|
|
/* 0245CAA4 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0245CAA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0245CAA8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245CAAC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245CAAC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0245CAB0 */ cpu->lr = cpu->r[0];
|
|
/* 0245CAB4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245CAB8 */ return;
|
|
}
|
|
|
|
// fn_0245CABC @ 0x245cabc
|
|
void Gambit_fn_0245CABC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0245CABC: ; // 0x245cabc
|
|
/* 0245CABC */ cpu->r[0] = cpu->lr;
|
|
/* 0245CAC0 */ cpu->r[10] = 0x100A0000u;
|
|
/* 0245CAC4 */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245CAC8 */ cpu->r[10] = cpu->r[10] + 0x00001DBCu;
|
|
/* 0245CACC */ cpu->r[11] = cpu->r[11] + 0x00001D54u;
|
|
/* 0245CAD0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0245CAD4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0245CAD4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0245CAD8 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245CADC */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0245CADC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0245CADC */ cpu->r[1] = _t1;
|
|
/* 0245CAE0 */ cpu->r[0] = cpu->r[0] + 0x00001D7Cu;
|
|
/* 0245CAE4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245CAE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 0245CAE8 */ cpu->r[4] = 0x00000000u;
|
|
/* 0245CAEC */ _t3 = cpu->r[12] + cpu->r[0];
|
|
/* 0245CAEC */ cpu->r[1] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0245CAF0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0245CAF4 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 0245CAF4 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 0245CAF8 */ Gambit_fn_027ED914(cpu);
|
|
/* 0245CAFC */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245CAFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0245CB00 */ cpu->lr = cpu->r[0];
|
|
/* 0245CB04 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0245CB08 */ return;
|
|
}
|
|
|
|
// fn_0245CADC @ 0x245cadc
|
|
void Gambit_fn_0245CADC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0245CADC: ; // 0x245cadc
|
|
/* 0245CADC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0245CADC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245CADC */ cpu->r[1] = _t0;
|
|
/* 0245CAE0 */ cpu->r[0] = cpu->r[0] + 0x00001D7Cu;
|
|
/* 0245CAE4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245CAE4 */ rbrew_write32(cpu->mem, _t1, cpu->r[11]);
|
|
/* 0245CAE8 */ cpu->r[4] = 0x00000000u;
|
|
/* 0245CAEC */ _t2 = cpu->r[12] + cpu->r[0];
|
|
/* 0245CAEC */ cpu->r[1] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0245CAF0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0245CAF4 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0245CAF4 */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
|
|
/* 0245CAF8 */ Gambit_fn_027ED914(cpu);
|
|
/* 0245CAFC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245CAFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0245CB00 */ cpu->lr = cpu->r[0];
|
|
/* 0245CB04 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0245CB08 */ return;
|
|
}
|
|
|
|
// fn_0245CB0C @ 0x245cb0c
|
|
void Gambit_fn_0245CB0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0245CB0C: ; // 0x245cb0c
|
|
/* 0245CB0C */ cpu->r[0] = cpu->lr;
|
|
/* 0245CB10 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0245CB10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245CB10 */ cpu->r[1] = _t0;
|
|
/* 0245CB14 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0245CB14 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245CB18 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245CB1C */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 0245CB1C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0245CB20 */ cpu->r[12] = cpu->r[12] + 0x00001DCCu;
|
|
/* 0245CB24 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 0245CB28 */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 0245CB28 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0245CB2C */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 0245CB2C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0245CB30 */ cpu->r[29] = 0x100A0000u;
|
|
/* 0245CB34 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245CB38 */ cpu->r[29] = cpu->r[29] + 0x00001D54u;
|
|
/* 0245CB3C */ cpu->r[0] = cpu->r[0] + 0x00001DD0u;
|
|
/* 0245CB40 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245CB40 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
|
|
/* 0245CB44 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 0245CB48 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0245CB48 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0245CB4C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245CB4C */ rbrew_write32(cpu->mem, _t7, cpu->r[29]);
|
|
/* 0245CB50 */ cpu->r[30] = 0x100A0000u;
|
|
/* 0245CB54 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0245CB54 */ rbrew_write32(cpu->mem, _t8, cpu->r[29]);
|
|
/* 0245CB58 */ cpu->r[30] = cpu->r[30] + 0x00001DC4u;
|
|
/* 0245CB5C */ cpu->r[31] = cpu->r[3];
|
|
/* 0245CB60 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 0245CB60 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 0245CB64 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 0245CB68 */ _t10 = cpu->r[1] + 0x00000018u;
|
|
/* 0245CB68 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0245CB6C */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0245CB70 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 0245CB70 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
/* 0245CB74 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245CB78 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245CB78 */ rbrew_write32(cpu->mem, _t12, cpu->r[29]);
|
|
/* 0245CB7C */ Gambit_fn_020B7778(cpu);
|
|
/* 0245CB80 */ cpu->r[4] = cpu->r[3];
|
|
/* 0245CB84 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245CB88 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0245CB8C */ Gambit_fn_027ED798(cpu);
|
|
/* 0245CB90 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 0245CB90 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0245CB94 */ _t14 = cpu->r[1] + 0x00000034u;
|
|
/* 0245CB94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0245CB98 */ _t15 = cpu->r[1] + 0x00000028u;
|
|
/* 0245CB98 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0245CB9C */ cpu->lr = cpu->r[0];
|
|
/* 0245CBA0 */ _t16 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0245CBA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0245CBA4 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0245CBA8 */ return;
|
|
}
|
|
|
|
// fn_0245CB10 @ 0x245cb10
|
|
void Gambit_fn_0245CB10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0245CB10: ; // 0x245cb10
|
|
/* 0245CB10 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0245CB10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245CB10 */ cpu->r[1] = _t0;
|
|
/* 0245CB14 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0245CB14 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245CB18 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245CB1C */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 0245CB1C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0245CB20 */ cpu->r[12] = cpu->r[12] + 0x00001DCCu;
|
|
/* 0245CB24 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 0245CB28 */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 0245CB28 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0245CB2C */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 0245CB2C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0245CB30 */ cpu->r[29] = 0x100A0000u;
|
|
/* 0245CB34 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245CB38 */ cpu->r[29] = cpu->r[29] + 0x00001D54u;
|
|
/* 0245CB3C */ cpu->r[0] = cpu->r[0] + 0x00001DD0u;
|
|
/* 0245CB40 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245CB40 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
|
|
/* 0245CB44 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 0245CB48 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0245CB48 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0245CB4C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245CB4C */ rbrew_write32(cpu->mem, _t7, cpu->r[29]);
|
|
/* 0245CB50 */ cpu->r[30] = 0x100A0000u;
|
|
/* 0245CB54 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0245CB54 */ rbrew_write32(cpu->mem, _t8, cpu->r[29]);
|
|
/* 0245CB58 */ cpu->r[30] = cpu->r[30] + 0x00001DC4u;
|
|
/* 0245CB5C */ cpu->r[31] = cpu->r[3];
|
|
/* 0245CB60 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 0245CB60 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 0245CB64 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 0245CB68 */ _t10 = cpu->r[1] + 0x00000018u;
|
|
/* 0245CB68 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0245CB6C */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0245CB70 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 0245CB70 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
/* 0245CB74 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245CB78 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245CB78 */ rbrew_write32(cpu->mem, _t12, cpu->r[29]);
|
|
/* 0245CB7C */ Gambit_fn_020B7778(cpu);
|
|
/* 0245CB80 */ cpu->r[4] = cpu->r[3];
|
|
/* 0245CB84 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245CB88 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0245CB8C */ Gambit_fn_027ED798(cpu);
|
|
/* 0245CB90 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 0245CB90 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0245CB94 */ _t14 = cpu->r[1] + 0x00000034u;
|
|
/* 0245CB94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0245CB98 */ _t15 = cpu->r[1] + 0x00000028u;
|
|
/* 0245CB98 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0245CB9C */ cpu->lr = cpu->r[0];
|
|
/* 0245CBA0 */ _t16 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0245CBA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0245CBA4 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0245CBA8 */ return;
|
|
}
|
|
|
|
// fn_0245CBAC @ 0x245cbac
|
|
void Gambit_fn_0245CBAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0245CBAC: ; // 0x245cbac
|
|
/* 0245CBAC */ cpu->r[0] = cpu->lr;
|
|
/* 0245CBB0 */ cpu->r[10] = 0x100A0000u;
|
|
/* 0245CBB4 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245CBB8 */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245CBBC */ cpu->r[10] = cpu->r[10] + 0x00001DE8u;
|
|
/* 0245CBC0 */ cpu->r[12] = cpu->r[12] + 0x00001DDCu;
|
|
/* 0245CBC4 */ cpu->r[11] = cpu->r[11] + 0x00001D54u;
|
|
/* 0245CBC8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0245CBC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0245CBCC */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245CBD0 */ _t1 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0245CBD0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0245CBD0 */ cpu->r[1] = _t1;
|
|
/* 0245CBD4 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245CBD4 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 0245CBD8 */ cpu->r[0] = cpu->r[0] + 0x00001DE4u;
|
|
/* 0245CBDC */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 0245CBDC */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
|
|
/* 0245CBE0 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0245CBE4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245CBE4 */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
|
|
/* 0245CBE8 */ cpu->r[6] = cpu->r[1] + 0x00000018u;
|
|
/* 0245CBEC */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0245CBEC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0245CBF0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0245CBF4 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 0245CBF4 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 0245CBF8 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 0245CBF8 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0245CBFC */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0245CC00 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 0245CC00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0245CC04 */ cpu->lr = cpu->r[0];
|
|
/* 0245CC08 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0245CC0C */ return;
|
|
}
|
|
|
|
// fn_0245CBD0 @ 0x245cbd0
|
|
void Gambit_fn_0245CBD0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0245CBD0: ; // 0x245cbd0
|
|
/* 0245CBD0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0245CBD0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245CBD0 */ cpu->r[1] = _t0;
|
|
/* 0245CBD4 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245CBD4 */ rbrew_write32(cpu->mem, _t1, cpu->r[11]);
|
|
/* 0245CBD8 */ cpu->r[0] = cpu->r[0] + 0x00001DE4u;
|
|
/* 0245CBDC */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 0245CBDC */ rbrew_write32(cpu->mem, _t2, cpu->r[10]);
|
|
/* 0245CBE0 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0245CBE4 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245CBE4 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0245CBE8 */ cpu->r[6] = cpu->r[1] + 0x00000018u;
|
|
/* 0245CBEC */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 0245CBEC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0245CBF0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0245CBF4 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0245CBF4 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0245CBF8 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0245CBF8 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 0245CBFC */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0245CC00 */ _t7 = cpu->r[1] + 0x00000024u;
|
|
/* 0245CC00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0245CC04 */ cpu->lr = cpu->r[0];
|
|
/* 0245CC08 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0245CC0C */ return;
|
|
}
|
|
|
|
// fn_0245CC10 @ 0x245cc10
|
|
void Gambit_fn_0245CC10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0245CC10: ; // 0x245cc10
|
|
/* 0245CC10 */ cpu->r[0] = cpu->lr;
|
|
/* 0245CC14 */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245CC18 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245CC1C */ cpu->r[11] = cpu->r[11] + 0x00001D54u;
|
|
/* 0245CC20 */ cpu->r[12] = cpu->r[12] + 0x00001DF4u;
|
|
/* 0245CC24 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0245CC24 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0245CC28 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245CC2C */ _t1 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0245CC2C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0245CC2C */ cpu->r[1] = _t1;
|
|
/* 0245CC30 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0245CC30 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 0245CC34 */ cpu->r[0] = cpu->r[0] + 0x00001DFCu;
|
|
/* 0245CC38 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245CC38 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0245CC3C */ cpu->r[6] = cpu->r[1] + 0x00000018u;
|
|
/* 0245CC40 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 0245CC40 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0245CC44 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0245CC48 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245CC48 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0245CC4C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0245CC50 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 0245CC50 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 0245CC54 */ _t7 = cpu->r[1] + 0x00000018u;
|
|
/* 0245CC54 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0245CC58 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0245CC5C */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 0245CC5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0245CC60 */ cpu->lr = cpu->r[0];
|
|
/* 0245CC64 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0245CC68 */ return;
|
|
}
|
|
|
|
// fn_0245CC2C @ 0x245cc2c
|
|
void Gambit_fn_0245CC2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0245CC2C: ; // 0x245cc2c
|
|
/* 0245CC2C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0245CC2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245CC2C */ cpu->r[1] = _t0;
|
|
/* 0245CC30 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0245CC30 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 0245CC34 */ cpu->r[0] = cpu->r[0] + 0x00001DFCu;
|
|
/* 0245CC38 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245CC38 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 0245CC3C */ cpu->r[6] = cpu->r[1] + 0x00000018u;
|
|
/* 0245CC40 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0245CC40 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0245CC44 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0245CC48 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245CC48 */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
|
|
/* 0245CC4C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0245CC50 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0245CC50 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0245CC54 */ _t6 = cpu->r[1] + 0x00000018u;
|
|
/* 0245CC54 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0245CC58 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0245CC5C */ _t7 = cpu->r[1] + 0x00000024u;
|
|
/* 0245CC5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0245CC60 */ cpu->lr = cpu->r[0];
|
|
/* 0245CC64 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0245CC68 */ return;
|
|
}
|
|
|
|
// fn_0245CC6C @ 0x245cc6c
|
|
void Gambit_fn_0245CC6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0245CC6C: ; // 0x245cc6c
|
|
/* 0245CC6C */ cpu->r[5] = 0xFFFFFFFDu;
|
|
/* 0245CC70 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0245CC70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245CC70 */ cpu->r[1] = _t0;
|
|
/* 0245CC74 */ cpu->r[10] = 0x101E0000u;
|
|
/* 0245CC78 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 0245CC7C */ _t1 = cpu->r[10] + 0x000079E4u;
|
|
/* 0245CC7C */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 0245CC7C */ cpu->r[10] = _t1;
|
|
/* 0245CC80 */ cpu->r[7] = 0x101E0000u;
|
|
/* 0245CC84 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 0245CC84 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 0245CC88 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 0245CC8C */ cpu->r[8] = 0x101E0000u;
|
|
/* 0245CC90 */ _t3 = cpu->r[7] + 0x000079F4u;
|
|
/* 0245CC90 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0245CC90 */ cpu->r[7] = _t3;
|
|
/* 0245CC94 */ _t4 = cpu->r[8] + 0x000079ECu;
|
|
/* 0245CC94 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 0245CC94 */ cpu->r[8] = _t4;
|
|
/* 0245CC98 */ cpu->r[0] = 0x00000002u;
|
|
/* 0245CC9C */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 0245CC9C */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0245CCA0 */ cpu->r[8] = 0x101E0000u;
|
|
/* 0245CCA4 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0245CCA4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0245CCA8 */ cpu->r[12] = 0x101E0000u;
|
|
/* 0245CCAC */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 0245CCAC */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0245CCB0 */ _t8 = cpu->r[8] + 0x00007A04u;
|
|
/* 0245CCB0 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 0245CCB0 */ cpu->r[8] = _t8;
|
|
/* 0245CCB4 */ _t9 = cpu->r[12] + 0x000079FCu;
|
|
/* 0245CCB4 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 0245CCB4 */ cpu->r[12] = _t9;
|
|
/* 0245CCB8 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 0245CCB8 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 0245CCBC */ cpu->r[0] = 0x00000004u;
|
|
/* 0245CCC0 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 0245CCC0 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 0245CCC4 */ cpu->r[11] = 0x101E0000u;
|
|
/* 0245CCC8 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0245CCC8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0245CCCC */ _t13 = cpu->r[11] + 0x00007A0Cu;
|
|
/* 0245CCCC */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0245CCD0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0245CCD4 */ return;
|
|
}
|
|
|
|
// fn_0245CC70 @ 0x245cc70
|
|
void Gambit_fn_0245CC70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0245CC70: ; // 0x245cc70
|
|
/* 0245CC70 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0245CC70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245CC70 */ cpu->r[1] = _t0;
|
|
/* 0245CC74 */ cpu->r[10] = 0x101E0000u;
|
|
/* 0245CC78 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 0245CC7C */ _t1 = cpu->r[10] + 0x000079E4u;
|
|
/* 0245CC7C */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 0245CC7C */ cpu->r[10] = _t1;
|
|
/* 0245CC80 */ cpu->r[7] = 0x101E0000u;
|
|
/* 0245CC84 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 0245CC84 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 0245CC88 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 0245CC8C */ cpu->r[8] = 0x101E0000u;
|
|
/* 0245CC90 */ _t3 = cpu->r[7] + 0x000079F4u;
|
|
/* 0245CC90 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0245CC90 */ cpu->r[7] = _t3;
|
|
/* 0245CC94 */ _t4 = cpu->r[8] + 0x000079ECu;
|
|
/* 0245CC94 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 0245CC94 */ cpu->r[8] = _t4;
|
|
/* 0245CC98 */ cpu->r[0] = 0x00000002u;
|
|
/* 0245CC9C */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 0245CC9C */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0245CCA0 */ cpu->r[8] = 0x101E0000u;
|
|
/* 0245CCA4 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0245CCA4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0245CCA8 */ cpu->r[12] = 0x101E0000u;
|
|
/* 0245CCAC */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 0245CCAC */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0245CCB0 */ _t8 = cpu->r[8] + 0x00007A04u;
|
|
/* 0245CCB0 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 0245CCB0 */ cpu->r[8] = _t8;
|
|
/* 0245CCB4 */ _t9 = cpu->r[12] + 0x000079FCu;
|
|
/* 0245CCB4 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 0245CCB4 */ cpu->r[12] = _t9;
|
|
/* 0245CCB8 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 0245CCB8 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 0245CCBC */ cpu->r[0] = 0x00000004u;
|
|
/* 0245CCC0 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 0245CCC0 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 0245CCC4 */ cpu->r[11] = 0x101E0000u;
|
|
/* 0245CCC8 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0245CCC8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0245CCCC */ _t13 = cpu->r[11] + 0x00007A0Cu;
|
|
/* 0245CCCC */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0245CCD0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0245CCD4 */ return;
|
|
}
|
|
|
|
// fn_0245CCD8 @ 0x245ccd8
|
|
void Gambit_fn_0245CCD8(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_0245CCD8: ; // 0x245ccd8
|
|
/* 0245CCD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0245CCDC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245CCDC */ _t1 = _t0 & 0x00000001u;
|
|
/* 0245CCDC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0245CCDC */ goto L_0245CCE0;
|
|
L_0245CCE0: ; // 0x245cce0
|
|
/* 0245CCE0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0245CCE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0245CCE4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245CCE4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0245CCE4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0245CCE4 */ goto L_0245CCE8;
|
|
L_0245CCE8: ; // 0x245cce8
|
|
/* 0245CCE8 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 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 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) 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 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0245CCEC @ 0x245ccec
|
|
void Gambit_fn_0245CCEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0245CCEC: ; // 0x245ccec
|
|
/* 0245CCEC */ cpu->r[0] = cpu->lr;
|
|
/* 0245CCF0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245CCF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245CCF0 */ cpu->r[1] = _t0;
|
|
/* 0245CCF4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245CCF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245CCF8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0245CCF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0245CCFC */ cpu->r[30] = cpu->r[3];
|
|
/* 0245CCFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0245CD00 */ cpu->r[31] = cpu->r[4];
|
|
/* 0245CD04 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0245CD04 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0245CD08 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245CD08 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0245CD08 */ if (_t5) goto L_0245CD78; else goto L_0245CD0C;
|
|
L_0245CD0C: ; // 0x245cd0c
|
|
/* 0245CD0C */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245CD10 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245CD14 */ cpu->r[0] = cpu->r[0] + 0x00001FE8u;
|
|
/* 0245CD18 */ cpu->r[12] = cpu->r[12] + 0x00002008u;
|
|
/* 0245CD1C */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0245CD1C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0245CD20 */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245CD24 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 0245CD24 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0245CD28 */ cpu->r[11] = cpu->r[11] + 0x00001FF8u;
|
|
/* 0245CD2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0245CD30 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0245CD30 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0245CD34 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245CD34 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0245CD34 */ if (_t10) goto L_0245CD68; else goto L_0245CD38;
|
|
L_0245CD38: ; // 0x245cd38
|
|
/* 0245CD38 */ cpu->r[10] = 0x10010000u;
|
|
/* 0245CD3C */ cpu->r[0] = 0x10010000u;
|
|
/* 0245CD40 */ cpu->r[10] = cpu->r[10] + 0x000048FCu;
|
|
/* 0245CD44 */ cpu->r[0] = cpu->r[0] + 0x000048ECu;
|
|
/* 0245CD48 */ cpu->r[3] = cpu->r[30];
|
|
/* 0245CD4C */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0245CD4C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0245CD50 */ cpu->r[0] = 0x10010000u;
|
|
/* 0245CD54 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0245CD54 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0245CD58 */ cpu->r[0] = cpu->r[0] + 0x0000490Cu;
|
|
/* 0245CD5C */ cpu->r[4] = 0x00000000u;
|
|
/* 0245CD60 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0245CD60 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0245CD64 */ Gambit_fn_02068798(cpu);
|
|
L_0245CD68: ; // 0x245cd68
|
|
/* 0245CD68 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0245CD68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0245CD6C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245CD6C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0245CD6C */ if (_t15) goto L_0245CD78; else goto L_0245CD70;
|
|
L_0245CD70: ; // 0x245cd70
|
|
/* 0245CD70 */ cpu->r[3] = cpu->r[30];
|
|
/* 0245CD74 */ Gambit_fn_02801BB0(cpu);
|
|
L_0245CD78: ; // 0x245cd78
|
|
/* 0245CD78 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0245CD78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0245CD7C */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0245CD7C */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0245CD80 */ cpu->lr = cpu->r[0];
|
|
/* 0245CD84 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245CD84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0245CD88 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245CD8C */ return;
|
|
}
|
|
|
|
// fn_0245CCF0 @ 0x245ccf0
|
|
void Gambit_fn_0245CCF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0245CCF0: ; // 0x245ccf0
|
|
/* 0245CCF0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245CCF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245CCF0 */ cpu->r[1] = _t0;
|
|
/* 0245CCF4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245CCF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245CCF8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0245CCF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0245CCFC */ cpu->r[30] = cpu->r[3];
|
|
/* 0245CCFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0245CD00 */ cpu->r[31] = cpu->r[4];
|
|
/* 0245CD04 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0245CD04 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0245CD08 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245CD08 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0245CD08 */ if (_t5) goto L_0245CD78; else goto L_0245CD0C;
|
|
L_0245CD0C: ; // 0x245cd0c
|
|
/* 0245CD0C */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245CD10 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245CD14 */ cpu->r[0] = cpu->r[0] + 0x00001FE8u;
|
|
/* 0245CD18 */ cpu->r[12] = cpu->r[12] + 0x00002008u;
|
|
/* 0245CD1C */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0245CD1C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0245CD20 */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245CD24 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 0245CD24 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0245CD28 */ cpu->r[11] = cpu->r[11] + 0x00001FF8u;
|
|
/* 0245CD2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0245CD30 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0245CD30 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0245CD34 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245CD34 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0245CD34 */ if (_t10) goto L_0245CD68; else goto L_0245CD38;
|
|
L_0245CD38: ; // 0x245cd38
|
|
/* 0245CD38 */ cpu->r[10] = 0x10010000u;
|
|
/* 0245CD3C */ cpu->r[0] = 0x10010000u;
|
|
/* 0245CD40 */ cpu->r[10] = cpu->r[10] + 0x000048FCu;
|
|
/* 0245CD44 */ cpu->r[0] = cpu->r[0] + 0x000048ECu;
|
|
/* 0245CD48 */ cpu->r[3] = cpu->r[30];
|
|
/* 0245CD4C */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0245CD4C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0245CD50 */ cpu->r[0] = 0x10010000u;
|
|
/* 0245CD54 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0245CD54 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0245CD58 */ cpu->r[0] = cpu->r[0] + 0x0000490Cu;
|
|
/* 0245CD5C */ cpu->r[4] = 0x00000000u;
|
|
/* 0245CD60 */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0245CD60 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0245CD64 */ Gambit_fn_02068798(cpu);
|
|
L_0245CD68: ; // 0x245cd68
|
|
/* 0245CD68 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0245CD68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0245CD6C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245CD6C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0245CD6C */ if (_t15) goto L_0245CD78; else goto L_0245CD70;
|
|
L_0245CD70: ; // 0x245cd70
|
|
/* 0245CD70 */ cpu->r[3] = cpu->r[30];
|
|
/* 0245CD74 */ Gambit_fn_02801BB0(cpu);
|
|
L_0245CD78: ; // 0x245cd78
|
|
/* 0245CD78 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0245CD78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0245CD7C */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0245CD7C */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0245CD80 */ cpu->lr = cpu->r[0];
|
|
/* 0245CD84 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245CD84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0245CD88 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245CD8C */ return;
|
|
}
|
|
|
|
// fn_0245CD90 @ 0x245cd90
|
|
void Gambit_fn_0245CD90(CPUState* cpu) {
|
|
L_0245CD90: ; // 0x245cd90
|
|
/* 0245CD90 */ return;
|
|
}
|
|
|
|
// fn_0245CD94 @ 0x245cd94
|
|
void Gambit_fn_0245CD94(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0245CD94: ; // 0x245cd94
|
|
/* 0245CD94 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0245CD94 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245CD98 */ return;
|
|
}
|
|
|
|
// fn_0245CD9C @ 0x245cd9c
|
|
void Gambit_fn_0245CD9C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0245CD9C: ; // 0x245cd9c
|
|
/* 0245CD9C */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0245CD9C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245CDA0 */ return;
|
|
}
|
|
|
|
// fn_0245CDA4 @ 0x245cda4
|
|
void Gambit_fn_0245CDA4(CPUState* cpu) {
|
|
L_0245CDA4: ; // 0x245cda4
|
|
/* 0245CDA4 */ return;
|
|
}
|
|
|
|
// fn_0245CDA8 @ 0x245cda8
|
|
void Gambit_fn_0245CDA8(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0245CDA8: ; // 0x245cda8
|
|
/* 0245CDA8 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0245CDA8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245CDAC */ return;
|
|
}
|
|
|
|
// fn_0245CDB0 @ 0x245cdb0
|
|
void Gambit_fn_0245CDB0(CPUState* cpu) {
|
|
L_0245CDB0: ; // 0x245cdb0
|
|
/* 0245CDB0 */ return;
|
|
}
|
|
|
|
// fn_0245CDB4 @ 0x245cdb4
|
|
void Gambit_fn_0245CDB4(CPUState* cpu) {
|
|
L_0245CDB4: ; // 0x245cdb4
|
|
/* 0245CDB4 */ return;
|
|
}
|
|
|
|
// fn_0245CDB8 @ 0x245cdb8
|
|
void Gambit_fn_0245CDB8(CPUState* cpu) {
|
|
L_0245CDB8: ; // 0x245cdb8
|
|
/* 0245CDB8 */ return;
|
|
}
|
|
|
|
// fn_0245CDBC @ 0x245cdbc
|
|
void Gambit_fn_0245CDBC(CPUState* cpu) {
|
|
L_0245CDBC: ; // 0x245cdbc
|
|
/* 0245CDBC */ return;
|
|
}
|
|
|
|
// fn_0245CDC0 @ 0x245cdc0
|
|
void Gambit_fn_0245CDC0(CPUState* cpu) {
|
|
L_0245CDC0: ; // 0x245cdc0
|
|
/* 0245CDC0 */ return;
|
|
}
|
|
|
|
// fn_0245CDC4 @ 0x245cdc4
|
|
void Gambit_fn_0245CDC4(CPUState* cpu) {
|
|
L_0245CDC4: ; // 0x245cdc4
|
|
/* 0245CDC4 */ cpu->r[3] = 0x00000001u;
|
|
/* 0245CDC8 */ return;
|
|
}
|
|
|
|
// fn_0245CDCC @ 0x245cdcc
|
|
void Gambit_fn_0245CDCC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0245CDCC: ; // 0x245cdcc
|
|
/* 0245CDCC */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0245CDCC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245CDD0 */ _t1 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0245CDD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0245CDD4 */ cpu->ctr = cpu->r[0];
|
|
/* 0245CDD8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0245CDDC @ 0x245cddc
|
|
void Gambit_fn_0245CDDC(CPUState* cpu) {
|
|
L_0245CDDC: ; // 0x245cddc
|
|
/* 0245CDDC */ return;
|
|
}
|
|
|
|
// fn_0245CDE0 @ 0x245cde0
|
|
void Gambit_fn_0245CDE0(CPUState* cpu) {
|
|
L_0245CDE0: ; // 0x245cde0
|
|
/* 0245CDE0 */ cpu->r[3] = 0x00000000u;
|
|
/* 0245CDE4 */ return;
|
|
}
|
|
|
|
// fn_0245CDE8 @ 0x245cde8
|
|
void Gambit_fn_0245CDE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0245CDE8: ; // 0x245cde8
|
|
/* 0245CDE8 */ cpu->r[9] = 0x101D0000u;
|
|
/* 0245CDEC */ _t0 = cpu->r[9] + 0xFFFFDBA0u;
|
|
/* 0245CDEC */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245CDEC */ cpu->r[9] = _t0;
|
|
/* 0245CDF0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0245CDF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0245CDF8 */ cpu->r[12] = cpu->r[12] + 0xFFFFED90u;
|
|
/* 0245CDFC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245CDFC */ _t2 = _t1 & 0x00000001u;
|
|
/* 0245CDFC */ if (_t2) goto L_0245CE00; else goto L_0245CE14;
|
|
L_0245CE00: ; // 0x245ce00
|
|
/* 0245CE00 */ cpu->r[7] = 0x100A0000u;
|
|
/* 0245CE04 */ cpu->r[0] = 0x00000001u;
|
|
/* 0245CE08 */ cpu->r[7] = cpu->r[7] + 0x00001D6Cu;
|
|
/* 0245CE0C */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 0245CE0C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0245CE10 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 0245CE10 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_0245CE14: ; // 0x245ce14
|
|
/* 0245CE14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 0245CE18 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245CE18 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0245CE18 */ if (_t6) goto L_0245CE1C; else goto L_0245CE24;
|
|
L_0245CE1C: ; // 0x245ce1c
|
|
/* 0245CE1C */ cpu->r[3] = 0x00000001u;
|
|
/* 0245CE20 */ return;
|
|
L_0245CE24: ; // 0x245ce24
|
|
/* 0245CE24 */ cpu->r[7] = 0x101D0000u;
|
|
/* 0245CE28 */ _t7 = cpu->r[7] + 0xFFFFDB98u;
|
|
/* 0245CE28 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0245CE28 */ cpu->r[7] = _t7;
|
|
/* 0245CE2C */ cpu->r[11] = 0x101D0000u;
|
|
/* 0245CE30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0245CE34 */ cpu->r[11] = cpu->r[11] + 0xFFFFED94u;
|
|
/* 0245CE38 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245CE38 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0245CE38 */ if (_t9) goto L_0245CE3C; else goto L_0245CE50;
|
|
L_0245CE3C: ; // 0x245ce3c
|
|
/* 0245CE3C */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245CE40 */ cpu->r[9] = 0x00000001u;
|
|
/* 0245CE44 */ cpu->r[0] = cpu->r[0] + 0x00001D44u;
|
|
/* 0245CE48 */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 0245CE48 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 0245CE4C */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 0245CE4C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_0245CE50: ; // 0x245ce50
|
|
/* 0245CE50 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 0245CE54 */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 0245CE58 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 0245CE5C */ return;
|
|
}
|
|
|
|
// fn_0245CE60 @ 0x245ce60
|
|
void Gambit_fn_0245CE60(CPUState* cpu) {
|
|
L_0245CE60: ; // 0x245ce60
|
|
/* 0245CE60 */ return;
|
|
}
|
|
|
|
// fn_0245CE64 @ 0x245ce64
|
|
void Gambit_fn_0245CE64(CPUState* cpu) {
|
|
L_0245CE64: ; // 0x245ce64
|
|
/* 0245CE64 */ return;
|
|
}
|
|
|
|
// fn_0245CE68 @ 0x245ce68
|
|
void Gambit_fn_0245CE68(CPUState* cpu) {
|
|
L_0245CE68: ; // 0x245ce68
|
|
/* 0245CE68 */ return;
|
|
}
|
|
|
|
// fn_0245CE6C @ 0x245ce6c
|
|
void Gambit_fn_0245CE6C(CPUState* cpu) {
|
|
L_0245CE6C: ; // 0x245ce6c
|
|
/* 0245CE6C */ cpu->r[3] = 0x00000000u;
|
|
/* 0245CE70 */ return;
|
|
}
|
|
|
|
// fn_0245CE74 @ 0x245ce74
|
|
void Gambit_fn_0245CE74(CPUState* cpu) {
|
|
L_0245CE74: ; // 0x245ce74
|
|
/* 0245CE74 */ cpu->r[3] = 0x00000000u;
|
|
/* 0245CE78 */ return;
|
|
}
|
|
|
|
// fn_0245CE7C @ 0x245ce7c
|
|
void Gambit_fn_0245CE7C(CPUState* cpu) {
|
|
L_0245CE7C: ; // 0x245ce7c
|
|
/* 0245CE7C */ return;
|
|
}
|
|
|
|
// fn_0245CE80 @ 0x245ce80
|
|
void Gambit_fn_0245CE80(CPUState* cpu) {
|
|
L_0245CE80: ; // 0x245ce80
|
|
/* 0245CE80 */ return;
|
|
}
|
|
|
|
// fn_0245CE84 @ 0x245ce84
|
|
void Gambit_fn_0245CE84(CPUState* cpu) {
|
|
L_0245CE84: ; // 0x245ce84
|
|
/* 0245CE84 */ return;
|
|
}
|
|
|
|
// fn_0245CE88 @ 0x245ce88
|
|
void Gambit_fn_0245CE88(CPUState* cpu) {
|
|
L_0245CE88: ; // 0x245ce88
|
|
/* 0245CE88 */ return;
|
|
}
|
|
|
|
// fn_0245CE8C @ 0x245ce8c
|
|
void Gambit_fn_0245CE8C(CPUState* cpu) {
|
|
L_0245CE8C: ; // 0x245ce8c
|
|
/* 0245CE8C */ return;
|
|
}
|
|
|
|
// fn_0245CE90 @ 0x245ce90
|
|
void Gambit_fn_0245CE90(CPUState* cpu) {
|
|
L_0245CE90: ; // 0x245ce90
|
|
/* 0245CE90 */ return;
|
|
}
|
|
|
|
// fn_0245CE94 @ 0x245ce94
|
|
void Gambit_fn_0245CE94(CPUState* cpu) {
|
|
L_0245CE94: ; // 0x245ce94
|
|
/* 0245CE94 */ return;
|
|
}
|
|
|
|
// fn_0245CE98 @ 0x245ce98
|
|
void Gambit_fn_0245CE98(CPUState* cpu) {
|
|
L_0245CE98: ; // 0x245ce98
|
|
/* 0245CE98 */ return;
|
|
}
|
|
|
|
// fn_0245CE9C @ 0x245ce9c
|
|
void Gambit_fn_0245CE9C(CPUState* cpu) {
|
|
L_0245CE9C: ; // 0x245ce9c
|
|
/* 0245CE9C */ return;
|
|
}
|
|
|
|
// fn_0245CEA0 @ 0x245cea0
|
|
void Gambit_fn_0245CEA0(CPUState* cpu) {
|
|
L_0245CEA0: ; // 0x245cea0
|
|
/* 0245CEA0 */ return;
|
|
}
|
|
|
|
// fn_0245CEA4 @ 0x245cea4
|
|
void Gambit_fn_0245CEA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0200896C: ; // 0x200896c
|
|
/* 0200896C */ cpu->r[0] = cpu->lr;
|
|
/* 02008970 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02008970 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02008970 */ cpu->r[1] = _t0;
|
|
/* 02008974 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02008974 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02008978 */ cpu->r[31] = cpu->r[3];
|
|
/* 0200897C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0200897C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02008980 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 02008980 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02008984 */ cpu->r[12] = 0x00000000u;
|
|
/* 02008988 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0200898C */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0200898C */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02008990 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02008990 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02008990 */ if (_t6) goto L_020089B8; else goto L_02008994;
|
|
L_02008994: ; // 0x2008994
|
|
/* 02008994 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02008994 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02008998 */ /* nop */
|
|
/* 0200899C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 020089A0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020089A0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 020089A0 */ if (_t9) goto L_020089A4; else goto L_020089B8;
|
|
L_020089A4: ; // 0x20089a4
|
|
/* 020089A4 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 020089A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 020089A8 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 020089A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 020089AC */ cpu->ctr = cpu->r[0];
|
|
/* 020089B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 020089B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_020089B8: ; // 0x20089b8
|
|
/* 020089B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 020089BC */ Gambit_fn_020088E4(cpu);
|
|
/* 020089C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 020089C4 */ Gambit_fn_027FC37C(cpu);
|
|
/* 020089C8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 020089C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 020089CC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020089CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 020089D0 */ cpu->lr = cpu->r[0];
|
|
/* 020089D4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 020089D8 */ return;
|
|
L_0245CEA4: ; // 0x245cea4
|
|
/* 0245CEA4 */ cpu->r[3] = cpu->r[3] + 0x000001DCu;
|
|
/* 0245CEA8 */ goto L_0200896C;
|
|
}
|
|
|
|
// fn_0245CEAC @ 0x245ceac
|
|
void Gambit_fn_0245CEAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0245CEAC: ; // 0x245ceac
|
|
/* 0245CEAC */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0245CEB0 */ goto L_0245D178;
|
|
L_0245D178: ; // 0x245d178
|
|
/* 0245D178 */ cpu->r[0] = cpu->lr;
|
|
/* 0245D17C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245D17C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245D17C */ cpu->r[1] = _t0;
|
|
/* 0245D180 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245D180 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245D184 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0245D184 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0245D188 */ cpu->r[30] = cpu->r[3];
|
|
/* 0245D188 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0245D18C */ cpu->r[31] = cpu->r[4];
|
|
/* 0245D190 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0245D190 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0245D194 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245D194 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0245D194 */ if (_t5) goto L_0245D204; else goto L_0245D198;
|
|
L_0245D198: ; // 0x245d198
|
|
/* 0245D198 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245D19C */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245D1A0 */ cpu->r[0] = cpu->r[0] + 0x000022E4u;
|
|
/* 0245D1A4 */ cpu->r[12] = cpu->r[12] + 0x00002304u;
|
|
/* 0245D1A8 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0245D1A8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0245D1AC */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245D1B0 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 0245D1B0 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0245D1B4 */ cpu->r[11] = cpu->r[11] + 0x000022F4u;
|
|
/* 0245D1B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0245D1BC */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0245D1BC */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0245D1C0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245D1C0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0245D1C0 */ if (_t10) goto L_0245D1F4; else goto L_0245D1C4;
|
|
L_0245D1C4: ; // 0x245d1c4
|
|
/* 0245D1C4 */ cpu->r[10] = 0x10010000u;
|
|
/* 0245D1C8 */ cpu->r[0] = 0x10010000u;
|
|
/* 0245D1CC */ cpu->r[10] = cpu->r[10] + 0x000048FCu;
|
|
/* 0245D1D0 */ cpu->r[0] = cpu->r[0] + 0x000048ECu;
|
|
/* 0245D1D4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0245D1D8 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0245D1D8 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0245D1DC */ cpu->r[0] = 0x10010000u;
|
|
/* 0245D1E0 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0245D1E0 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0245D1E4 */ cpu->r[0] = cpu->r[0] + 0x0000490Cu;
|
|
/* 0245D1E8 */ cpu->r[4] = 0x00000000u;
|
|
/* 0245D1EC */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0245D1EC */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0245D1F0 */ Gambit_fn_02068798(cpu);
|
|
L_0245D1F4: ; // 0x245d1f4
|
|
/* 0245D1F4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0245D1F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0245D1F8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245D1F8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0245D1F8 */ if (_t15) goto L_0245D204; else goto L_0245D1FC;
|
|
L_0245D1FC: ; // 0x245d1fc
|
|
/* 0245D1FC */ cpu->r[3] = cpu->r[30];
|
|
/* 0245D200 */ Gambit_fn_02801BB0(cpu);
|
|
L_0245D204: ; // 0x245d204
|
|
/* 0245D204 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0245D204 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0245D208 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0245D208 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0245D20C */ cpu->lr = cpu->r[0];
|
|
/* 0245D210 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245D210 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0245D214 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245D218 */ return;
|
|
}
|
|
|
|
// fn_0245CEB4 @ 0x245ceb4
|
|
void Gambit_fn_0245CEB4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02068818: ; // 0x2068818
|
|
/* 02068818 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0206881C */ _t0 = cpu->r[12] + 0x00001D34u;
|
|
/* 0206881C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02068820 */ _t1 = cpu->r[12] + 0x0000018Cu;
|
|
/* 02068820 */ cpu->r[12] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02068824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02068828 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02068828 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02068828 */ if (_t3) goto L_0206883C; else goto L_0206882C;
|
|
L_0206882C: ; // 0x206882c
|
|
/* 0206882C */ cpu->r[0] = cpu->r[5] ^ 0x00000001u;
|
|
/* 02068830 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02068834 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068838 */ return;
|
|
L_0206883C: ; // 0x206883c
|
|
/* 0206883C */ cpu->r[0] = rbrew_clz32(cpu->r[5]);
|
|
/* 02068840 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068844 */ return;
|
|
L_0245CEB4: ; // 0x245ceb4
|
|
/* 0245CEB4 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 0245CEB8 */ goto L_02068818;
|
|
}
|
|
|
|
// fn_0245CEBC @ 0x245cebc
|
|
void Gambit_fn_0245CEBC(CPUState* cpu) {
|
|
L_0245CEBC: ; // 0x245cebc
|
|
/* 0245CEBC */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 0245CEC0 */ goto L_0245D21C;
|
|
L_0245D21C: ; // 0x245d21c
|
|
/* 0245D21C */ return;
|
|
}
|
|
|
|
// fn_0245CEC4 @ 0x245cec4
|
|
void Gambit_fn_0245CEC4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0245CEC4: ; // 0x245cec4
|
|
/* 0245CEC4 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 0245CEC8 */ goto L_0245D220;
|
|
L_0245D220: ; // 0x245d220
|
|
/* 0245D220 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0245D220 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245D224 */ return;
|
|
}
|
|
|
|
// fn_0245CECC @ 0x245cecc
|
|
void Gambit_fn_0245CECC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_0245CECC: ; // 0x245cecc
|
|
/* 0245CECC */ cpu->r[0] = cpu->lr;
|
|
/* 0245CED0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245CED0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245CED0 */ cpu->r[1] = _t0;
|
|
/* 0245CED4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245CED4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245CED8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245CED8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0245CEDC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0245CEDC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0245CEE0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245CEE0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0245CEE0 */ if (_t4) goto L_0245CEE4; else goto L_0245CEF4;
|
|
L_0245CEE4: ; // 0x245cee4
|
|
/* 0245CEE4 */ cpu->r[3] = 0x00000224u;
|
|
/* 0245CEE8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0245CEEC */ cpu->r[31] = cpu->r[3];
|
|
/* 0245CEEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0245CEF0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245CEF0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0245CEF0 */ if (_t6) goto L_0245CF4C; else goto L_0245CEF4;
|
|
L_0245CEF4: ; // 0x245cef4
|
|
/* 0245CEF4 */ cpu->r[4] = 0x100A0000u;
|
|
/* 0245CEF8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245CEFC */ cpu->r[5] = 0x00000001u;
|
|
/* 0245CF00 */ cpu->r[4] = cpu->r[4] + 0x000020C4u;
|
|
/* 0245CF04 */ cpu->r[6] = 0x00000000u;
|
|
/* 0245CF08 */ Gambit_fn_020B6F60(cpu);
|
|
/* 0245CF0C */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245CF10 */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245CF14 */ cpu->r[12] = cpu->r[12] + 0x000022E4u;
|
|
/* 0245CF18 */ cpu->r[11] = cpu->r[11] + 0x00002104u;
|
|
/* 0245CF1C */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245CF20 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0245CF20 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0245CF24 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245CF28 */ cpu->r[0] = cpu->r[0] + 0x000022F4u;
|
|
/* 0245CF2C */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 0245CF2C */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0245CF30 */ cpu->r[12] = cpu->r[12] + 0x00002304u;
|
|
/* 0245CF34 */ _t9 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0245CF34 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0245CF38 */ cpu->r[0] = 0x00000000u;
|
|
/* 0245CF3C */ _t10 = cpu->r[31] + 0x000001C8u;
|
|
/* 0245CF3C */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0245CF40 */ cpu->r[10] = 0x00000003u;
|
|
/* 0245CF44 */ _t11 = cpu->r[31] + 0x0000021Cu;
|
|
/* 0245CF44 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0245CF48 */ _t12 = cpu->r[31] + 0x00000220u;
|
|
/* 0245CF48 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
L_0245CF4C: ; // 0x245cf4c
|
|
/* 0245CF4C */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0245CF4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0245CF50 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245CF54 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245CF54 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0245CF58 */ cpu->lr = cpu->r[0];
|
|
/* 0245CF5C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245CF60 */ return;
|
|
}
|
|
|
|
// fn_0245CED0 @ 0x245ced0
|
|
void Gambit_fn_0245CED0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_0245CED0: ; // 0x245ced0
|
|
/* 0245CED0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245CED0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245CED0 */ cpu->r[1] = _t0;
|
|
/* 0245CED4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245CED4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245CED8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245CED8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0245CEDC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0245CEDC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0245CEE0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245CEE0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0245CEE0 */ if (_t4) goto L_0245CEE4; else goto L_0245CEF4;
|
|
L_0245CEE4: ; // 0x245cee4
|
|
/* 0245CEE4 */ cpu->r[3] = 0x00000224u;
|
|
/* 0245CEE8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0245CEEC */ cpu->r[31] = cpu->r[3];
|
|
/* 0245CEEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0245CEF0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245CEF0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0245CEF0 */ if (_t6) goto L_0245CF4C; else goto L_0245CEF4;
|
|
L_0245CEF4: ; // 0x245cef4
|
|
/* 0245CEF4 */ cpu->r[4] = 0x100A0000u;
|
|
/* 0245CEF8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245CEFC */ cpu->r[5] = 0x00000001u;
|
|
/* 0245CF00 */ cpu->r[4] = cpu->r[4] + 0x000020C4u;
|
|
/* 0245CF04 */ cpu->r[6] = 0x00000000u;
|
|
/* 0245CF08 */ Gambit_fn_020B6F60(cpu);
|
|
/* 0245CF0C */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245CF10 */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245CF14 */ cpu->r[12] = cpu->r[12] + 0x000022E4u;
|
|
/* 0245CF18 */ cpu->r[11] = cpu->r[11] + 0x00002104u;
|
|
/* 0245CF1C */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245CF20 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0245CF20 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0245CF24 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245CF28 */ cpu->r[0] = cpu->r[0] + 0x000022F4u;
|
|
/* 0245CF2C */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 0245CF2C */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0245CF30 */ cpu->r[12] = cpu->r[12] + 0x00002304u;
|
|
/* 0245CF34 */ _t9 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0245CF34 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0245CF38 */ cpu->r[0] = 0x00000000u;
|
|
/* 0245CF3C */ _t10 = cpu->r[31] + 0x000001C8u;
|
|
/* 0245CF3C */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0245CF40 */ cpu->r[10] = 0x00000003u;
|
|
/* 0245CF44 */ _t11 = cpu->r[31] + 0x0000021Cu;
|
|
/* 0245CF44 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0245CF48 */ _t12 = cpu->r[31] + 0x00000220u;
|
|
/* 0245CF48 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
L_0245CF4C: ; // 0x245cf4c
|
|
/* 0245CF4C */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0245CF4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0245CF50 */ cpu->r[3] = cpu->r[31];
|
|
/* 0245CF54 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245CF54 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0245CF58 */ cpu->lr = cpu->r[0];
|
|
/* 0245CF5C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245CF60 */ return;
|
|
}
|
|
|
|
// fn_0245CF64 @ 0x245cf64
|
|
void Gambit_fn_0245CF64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_0245CF64: ; // 0x245cf64
|
|
/* 0245CF64 */ cpu->r[0] = cpu->lr;
|
|
/* 0245CF68 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0245CF68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245CF68 */ cpu->r[1] = _t0;
|
|
/* 0245CF6C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0245CF6C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0245CF70 */ cpu->r[30] = cpu->r[3];
|
|
/* 0245CF74 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0245CF74 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0245CF78 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245CF78 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0245CF7C */ _t4 = cpu->r[30] + 0x00000220u;
|
|
/* 0245CF7C */ cpu->r[7] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0245CF80 */ cpu->r[31] = cpu->r[4];
|
|
/* 0245CF84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 0245CF88 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245CF88 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0245CF88 */ if (_t6) goto L_0245CFEC; else goto L_0245CF8C;
|
|
L_0245CF8C: ; // 0x245cf8c
|
|
/* 0245CF8C */ cpu->r[11] = 0x101E0000u;
|
|
/* 0245CF90 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0245CF94 */ _t7 = cpu->r[30] + 0x0000021Cu;
|
|
/* 0245CF94 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0245CF98 */ cpu->r[11] = cpu->r[11] + 0x00007A3Cu;
|
|
/* 0245CF9C */ cpu->r[4] = cpu->r[30];
|
|
/* 0245CFA0 */ _t8 = cpu->r[30] + 0x00000220u;
|
|
/* 0245CFA0 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 0245CFA4 */ cpu->r[5] = cpu->r[11] + cpu->r[0];
|
|
/* 0245CFA8 */ Gambit_fn_020A77B8(cpu);
|
|
/* 0245CFAC */ _t9 = cpu->r[30] + 0x0000021Cu;
|
|
/* 0245CFAC */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0245CFB0 */ Gambit_fn_020A7E60(cpu);
|
|
/* 0245CFB4 */ cpu->r[8] = 0x100A0000u;
|
|
/* 0245CFB8 */ cpu->r[9] = 0x100A0000u;
|
|
/* 0245CFBC */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245CFC0 */ cpu->r[8] = cpu->r[8] + 0x00002090u;
|
|
/* 0245CFC4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0245CFC8 */ cpu->r[0] = cpu->r[0] + 0x000020B8u;
|
|
/* 0245CFCC */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245CFCC */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
/* 0245CFD0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0245CFD4 */ cpu->r[9] = cpu->r[9] + 0x000020D0u;
|
|
/* 0245CFD8 */ _t11 = cpu->r[12] + cpu->r[0];
|
|
/* 0245CFD8 */ cpu->r[1] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0245CFDC */ cpu->r[4] = 0x00000000u;
|
|
/* 0245CFE0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0245CFE4 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0245CFE4 */ rbrew_write32(cpu->mem, _t12, cpu->r[9]);
|
|
/* 0245CFE8 */ Gambit_fn_027ED914(cpu);
|
|
L_0245CFEC: ; // 0x245cfec
|
|
/* 0245CFEC */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245CFEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0245CFF0 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 0245CFF0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0245CFF4 */ cpu->lr = cpu->r[0];
|
|
/* 0245CFF8 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 0245CFF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0245CFFC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0245D000 */ return;
|
|
}
|
|
|
|
// fn_0245CF68 @ 0x245cf68
|
|
void Gambit_fn_0245CF68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_0245CF68: ; // 0x245cf68
|
|
/* 0245CF68 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0245CF68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245CF68 */ cpu->r[1] = _t0;
|
|
/* 0245CF6C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0245CF6C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0245CF70 */ cpu->r[30] = cpu->r[3];
|
|
/* 0245CF74 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0245CF74 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0245CF78 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245CF78 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0245CF7C */ _t4 = cpu->r[30] + 0x00000220u;
|
|
/* 0245CF7C */ cpu->r[7] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0245CF80 */ cpu->r[31] = cpu->r[4];
|
|
/* 0245CF84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 0245CF88 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245CF88 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0245CF88 */ if (_t6) goto L_0245CFEC; else goto L_0245CF8C;
|
|
L_0245CF8C: ; // 0x245cf8c
|
|
/* 0245CF8C */ cpu->r[11] = 0x101E0000u;
|
|
/* 0245CF90 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0245CF94 */ _t7 = cpu->r[30] + 0x0000021Cu;
|
|
/* 0245CF94 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0245CF98 */ cpu->r[11] = cpu->r[11] + 0x00007A3Cu;
|
|
/* 0245CF9C */ cpu->r[4] = cpu->r[30];
|
|
/* 0245CFA0 */ _t8 = cpu->r[30] + 0x00000220u;
|
|
/* 0245CFA0 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 0245CFA4 */ cpu->r[5] = cpu->r[11] + cpu->r[0];
|
|
/* 0245CFA8 */ Gambit_fn_020A77B8(cpu);
|
|
/* 0245CFAC */ _t9 = cpu->r[30] + 0x0000021Cu;
|
|
/* 0245CFAC */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0245CFB0 */ Gambit_fn_020A7E60(cpu);
|
|
/* 0245CFB4 */ cpu->r[8] = 0x100A0000u;
|
|
/* 0245CFB8 */ cpu->r[9] = 0x100A0000u;
|
|
/* 0245CFBC */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245CFC0 */ cpu->r[8] = cpu->r[8] + 0x00002090u;
|
|
/* 0245CFC4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0245CFC8 */ cpu->r[0] = cpu->r[0] + 0x000020B8u;
|
|
/* 0245CFCC */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245CFCC */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
/* 0245CFD0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0245CFD4 */ cpu->r[9] = cpu->r[9] + 0x000020D0u;
|
|
/* 0245CFD8 */ _t11 = cpu->r[12] + cpu->r[0];
|
|
/* 0245CFD8 */ cpu->r[1] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0245CFDC */ cpu->r[4] = 0x00000000u;
|
|
/* 0245CFE0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0245CFE4 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0245CFE4 */ rbrew_write32(cpu->mem, _t12, cpu->r[9]);
|
|
/* 0245CFE8 */ Gambit_fn_027ED914(cpu);
|
|
L_0245CFEC: ; // 0x245cfec
|
|
/* 0245CFEC */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245CFEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0245CFF0 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 0245CFF0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0245CFF4 */ cpu->lr = cpu->r[0];
|
|
/* 0245CFF8 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 0245CFF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0245CFFC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0245D000 */ return;
|
|
}
|
|
|
|
// fn_0245D004 @ 0x245d004
|
|
void Gambit_fn_0245D004(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0245D004: ; // 0x245d004
|
|
/* 0245D004 */ cpu->r[0] = cpu->lr;
|
|
/* 0245D008 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0245D008 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245D008 */ cpu->r[1] = _t0;
|
|
/* 0245D00C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0245D00C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245D010 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245D014 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245D018 */ cpu->r[4] = cpu->r[31];
|
|
/* 0245D01C */ cpu->r[12] = cpu->r[12] + 0x000020D8u;
|
|
/* 0245D020 */ cpu->r[3] = 0x00000000u;
|
|
/* 0245D024 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245D024 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0245D028 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245D02C */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0245D02C */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0245D030 */ cpu->r[0] = cpu->r[0] + 0x00002090u;
|
|
/* 0245D034 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0245D038 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245D038 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0245D03C */ Gambit_fn_020A7150(cpu);
|
|
/* 0245D040 */ _t5 = cpu->r[31] + 0x0000021Cu;
|
|
/* 0245D040 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 0245D044 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245D044 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0245D048 */ cpu->lr = cpu->r[0];
|
|
/* 0245D04C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0245D04C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0245D050 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0245D054 */ return;
|
|
}
|
|
|
|
// fn_0245D008 @ 0x245d008
|
|
void Gambit_fn_0245D008(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0245D008: ; // 0x245d008
|
|
/* 0245D008 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0245D008 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245D008 */ cpu->r[1] = _t0;
|
|
/* 0245D00C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0245D00C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245D010 */ cpu->r[31] = cpu->r[3];
|
|
/* 0245D014 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245D018 */ cpu->r[4] = cpu->r[31];
|
|
/* 0245D01C */ cpu->r[12] = cpu->r[12] + 0x000020D8u;
|
|
/* 0245D020 */ cpu->r[3] = 0x00000000u;
|
|
/* 0245D024 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245D024 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0245D028 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245D02C */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0245D02C */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0245D030 */ cpu->r[0] = cpu->r[0] + 0x00002090u;
|
|
/* 0245D034 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0245D038 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245D038 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0245D03C */ Gambit_fn_020A7150(cpu);
|
|
/* 0245D040 */ _t5 = cpu->r[31] + 0x0000021Cu;
|
|
/* 0245D040 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 0245D044 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245D044 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0245D048 */ cpu->lr = cpu->r[0];
|
|
/* 0245D04C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0245D04C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0245D050 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0245D054 */ return;
|
|
}
|
|
|
|
// fn_0245D058 @ 0x245d058
|
|
void Gambit_fn_0245D058(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0245D058: ; // 0x245d058
|
|
/* 0245D058 */ cpu->r[0] = cpu->lr;
|
|
/* 0245D05C */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245D060 */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245D064 */ cpu->r[11] = cpu->r[11] + 0x00002090u;
|
|
/* 0245D068 */ cpu->r[12] = cpu->r[12] + 0x000020E4u;
|
|
/* 0245D06C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0245D06C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0245D070 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245D074 */ _t1 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0245D074 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0245D074 */ cpu->r[1] = _t1;
|
|
/* 0245D078 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0245D078 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 0245D07C */ cpu->r[0] = cpu->r[0] + 0x000020ECu;
|
|
/* 0245D080 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245D080 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0245D084 */ cpu->r[6] = cpu->r[1] + 0x00000018u;
|
|
/* 0245D088 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 0245D088 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0245D08C */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0245D090 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245D090 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0245D094 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0245D098 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 0245D098 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 0245D09C */ _t7 = cpu->r[1] + 0x00000018u;
|
|
/* 0245D09C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0245D0A0 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0245D0A4 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 0245D0A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0245D0A8 */ cpu->lr = cpu->r[0];
|
|
/* 0245D0AC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0245D0B0 */ return;
|
|
}
|
|
|
|
// fn_0245D074 @ 0x245d074
|
|
void Gambit_fn_0245D074(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0245D074: ; // 0x245d074
|
|
/* 0245D074 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0245D074 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245D074 */ cpu->r[1] = _t0;
|
|
/* 0245D078 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0245D078 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 0245D07C */ cpu->r[0] = cpu->r[0] + 0x000020ECu;
|
|
/* 0245D080 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0245D080 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 0245D084 */ cpu->r[6] = cpu->r[1] + 0x00000018u;
|
|
/* 0245D088 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0245D088 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0245D08C */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0245D090 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245D090 */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
|
|
/* 0245D094 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0245D098 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0245D098 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0245D09C */ _t6 = cpu->r[1] + 0x00000018u;
|
|
/* 0245D09C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0245D0A0 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 0245D0A4 */ _t7 = cpu->r[1] + 0x00000024u;
|
|
/* 0245D0A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0245D0A8 */ cpu->lr = cpu->r[0];
|
|
/* 0245D0AC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0245D0B0 */ return;
|
|
}
|
|
|
|
// fn_0245D0B4 @ 0x245d0b4
|
|
void Gambit_fn_0245D0B4(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_0245D0B4: ; // 0x245d0b4
|
|
/* 0245D0B4 */ cpu->r[9] = 0xFFFFFFFDu;
|
|
/* 0245D0B8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0245D0B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245D0B8 */ cpu->r[1] = _t0;
|
|
/* 0245D0BC */ cpu->r[10] = 0x101E0000u;
|
|
/* 0245D0C0 */ cpu->r[12] = 0x101E0000u;
|
|
/* 0245D0C4 */ cpu->r[7] = 0xFFFFFFFEu;
|
|
/* 0245D0C8 */ _t1 = cpu->r[10] + 0x00007A28u;
|
|
/* 0245D0C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[9]);
|
|
/* 0245D0C8 */ cpu->r[10] = _t1;
|
|
/* 0245D0CC */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 0245D0D0 */ _t2 = cpu->r[12] + 0x00007A18u;
|
|
/* 0245D0D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[7]);
|
|
/* 0245D0D0 */ cpu->r[12] = _t2;
|
|
/* 0245D0D4 */ cpu->r[7] = 0x101E0000u;
|
|
/* 0245D0D8 */ _t3 = cpu->r[12] + 0x00000004u;
|
|
/* 0245D0D8 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 0245D0DC */ cpu->r[4] = 0x101E0000u;
|
|
/* 0245D0E0 */ cpu->r[0] = 0x00000002u;
|
|
/* 0245D0E4 */ _t4 = cpu->r[7] + 0x00007A20u;
|
|
/* 0245D0E4 */ rbrew_write32(cpu->mem, _t4, cpu->r[8]);
|
|
/* 0245D0E4 */ cpu->r[7] = _t4;
|
|
/* 0245D0E8 */ cpu->r[11] = 0x101E0000u;
|
|
/* 0245D0EC */ cpu->r[6] = 0x101E0000u;
|
|
/* 0245D0F0 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 0245D0F0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0245D0F4 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0245D0F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0245D0F8 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 0245D0F8 */ rbrew_write32(cpu->mem, _t7, cpu->r[8]);
|
|
/* 0245D0FC */ cpu->r[5] = 0x100A0000u;
|
|
/* 0245D100 */ cpu->r[7] = 0x100A0000u;
|
|
/* 0245D104 */ _t8 = cpu->r[6] + 0x00007A10u;
|
|
/* 0245D104 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 0245D104 */ cpu->r[6] = _t8;
|
|
/* 0245D108 */ cpu->r[5] = cpu->r[5] + 0x00002090u;
|
|
/* 0245D10C */ cpu->r[4] = cpu->r[4] + 0x00007A3Cu;
|
|
/* 0245D110 */ _t9 = cpu->r[6] + 0x00000004u;
|
|
/* 0245D110 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]);
|
|
/* 0245D114 */ cpu->r[7] = cpu->r[7] + 0x000020F8u;
|
|
/* 0245D118 */ _t10 = cpu->r[4] + 0x00000004u;
|
|
/* 0245D118 */ rbrew_write32(cpu->mem, _t10, cpu->r[5]);
|
|
/* 0245D11C */ cpu->r[11] = cpu->r[11] + 0x00007A30u;
|
|
/* 0245D120 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245D124 */ _t11 = cpu->r[4] + 0x00000000u;
|
|
/* 0245D124 */ rbrew_write32(cpu->mem, _t11, cpu->r[7]);
|
|
/* 0245D128 */ cpu->r[0] = cpu->r[0] + 0x000020FCu;
|
|
/* 0245D12C */ _t12 = cpu->r[4] + 0x0000000Cu;
|
|
/* 0245D12C */ rbrew_write32(cpu->mem, _t12, cpu->r[5]);
|
|
/* 0245D130 */ cpu->r[7] = 0x101E0000u;
|
|
/* 0245D134 */ _t13 = cpu->r[4] + 0x00000008u;
|
|
/* 0245D134 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0245D138 */ _t14 = cpu->r[11] + 0x00000004u;
|
|
/* 0245D138 */ rbrew_write32(cpu->mem, _t14, cpu->r[8]);
|
|
/* 0245D13C */ _t15 = cpu->r[4] + 0x00000014u;
|
|
/* 0245D13C */ rbrew_write32(cpu->mem, _t15, cpu->r[5]);
|
|
/* 0245D140 */ cpu->r[0] = 0x00000004u;
|
|
/* 0245D144 */ _t16 = cpu->r[11] + 0x00000000u;
|
|
/* 0245D144 */ rbrew_write32(cpu->mem, _t16, cpu->r[9]);
|
|
/* 0245D148 */ cpu->r[6] = 0x100A0000u;
|
|
/* 0245D14C */ _t17 = cpu->r[7] + 0x00007A38u;
|
|
/* 0245D14C */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 0245D150 */ cpu->r[6] = cpu->r[6] + 0x00002100u;
|
|
/* 0245D154 */ _t18 = cpu->r[10] + 0x00000004u;
|
|
/* 0245D154 */ rbrew_write32(cpu->mem, _t18, cpu->r[8]);
|
|
/* 0245D158 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0245D15C */ _t19 = cpu->r[4] + 0x00000010u;
|
|
/* 0245D15C */ rbrew_write32(cpu->mem, _t19, cpu->r[6]);
|
|
/* 0245D160 */ return;
|
|
}
|
|
|
|
// fn_0245D0B8 @ 0x245d0b8
|
|
void Gambit_fn_0245D0B8(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_0245D0B8: ; // 0x245d0b8
|
|
/* 0245D0B8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0245D0B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245D0B8 */ cpu->r[1] = _t0;
|
|
/* 0245D0BC */ cpu->r[10] = 0x101E0000u;
|
|
/* 0245D0C0 */ cpu->r[12] = 0x101E0000u;
|
|
/* 0245D0C4 */ cpu->r[7] = 0xFFFFFFFEu;
|
|
/* 0245D0C8 */ _t1 = cpu->r[10] + 0x00007A28u;
|
|
/* 0245D0C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[9]);
|
|
/* 0245D0C8 */ cpu->r[10] = _t1;
|
|
/* 0245D0CC */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 0245D0D0 */ _t2 = cpu->r[12] + 0x00007A18u;
|
|
/* 0245D0D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[7]);
|
|
/* 0245D0D0 */ cpu->r[12] = _t2;
|
|
/* 0245D0D4 */ cpu->r[7] = 0x101E0000u;
|
|
/* 0245D0D8 */ _t3 = cpu->r[12] + 0x00000004u;
|
|
/* 0245D0D8 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 0245D0DC */ cpu->r[4] = 0x101E0000u;
|
|
/* 0245D0E0 */ cpu->r[0] = 0x00000002u;
|
|
/* 0245D0E4 */ _t4 = cpu->r[7] + 0x00007A20u;
|
|
/* 0245D0E4 */ rbrew_write32(cpu->mem, _t4, cpu->r[8]);
|
|
/* 0245D0E4 */ cpu->r[7] = _t4;
|
|
/* 0245D0E8 */ cpu->r[11] = 0x101E0000u;
|
|
/* 0245D0EC */ cpu->r[6] = 0x101E0000u;
|
|
/* 0245D0F0 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 0245D0F0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0245D0F4 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0245D0F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0245D0F8 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 0245D0F8 */ rbrew_write32(cpu->mem, _t7, cpu->r[8]);
|
|
/* 0245D0FC */ cpu->r[5] = 0x100A0000u;
|
|
/* 0245D100 */ cpu->r[7] = 0x100A0000u;
|
|
/* 0245D104 */ _t8 = cpu->r[6] + 0x00007A10u;
|
|
/* 0245D104 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 0245D104 */ cpu->r[6] = _t8;
|
|
/* 0245D108 */ cpu->r[5] = cpu->r[5] + 0x00002090u;
|
|
/* 0245D10C */ cpu->r[4] = cpu->r[4] + 0x00007A3Cu;
|
|
/* 0245D110 */ _t9 = cpu->r[6] + 0x00000004u;
|
|
/* 0245D110 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]);
|
|
/* 0245D114 */ cpu->r[7] = cpu->r[7] + 0x000020F8u;
|
|
/* 0245D118 */ _t10 = cpu->r[4] + 0x00000004u;
|
|
/* 0245D118 */ rbrew_write32(cpu->mem, _t10, cpu->r[5]);
|
|
/* 0245D11C */ cpu->r[11] = cpu->r[11] + 0x00007A30u;
|
|
/* 0245D120 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245D124 */ _t11 = cpu->r[4] + 0x00000000u;
|
|
/* 0245D124 */ rbrew_write32(cpu->mem, _t11, cpu->r[7]);
|
|
/* 0245D128 */ cpu->r[0] = cpu->r[0] + 0x000020FCu;
|
|
/* 0245D12C */ _t12 = cpu->r[4] + 0x0000000Cu;
|
|
/* 0245D12C */ rbrew_write32(cpu->mem, _t12, cpu->r[5]);
|
|
/* 0245D130 */ cpu->r[7] = 0x101E0000u;
|
|
/* 0245D134 */ _t13 = cpu->r[4] + 0x00000008u;
|
|
/* 0245D134 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0245D138 */ _t14 = cpu->r[11] + 0x00000004u;
|
|
/* 0245D138 */ rbrew_write32(cpu->mem, _t14, cpu->r[8]);
|
|
/* 0245D13C */ _t15 = cpu->r[4] + 0x00000014u;
|
|
/* 0245D13C */ rbrew_write32(cpu->mem, _t15, cpu->r[5]);
|
|
/* 0245D140 */ cpu->r[0] = 0x00000004u;
|
|
/* 0245D144 */ _t16 = cpu->r[11] + 0x00000000u;
|
|
/* 0245D144 */ rbrew_write32(cpu->mem, _t16, cpu->r[9]);
|
|
/* 0245D148 */ cpu->r[6] = 0x100A0000u;
|
|
/* 0245D14C */ _t17 = cpu->r[7] + 0x00007A38u;
|
|
/* 0245D14C */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 0245D150 */ cpu->r[6] = cpu->r[6] + 0x00002100u;
|
|
/* 0245D154 */ _t18 = cpu->r[10] + 0x00000004u;
|
|
/* 0245D154 */ rbrew_write32(cpu->mem, _t18, cpu->r[8]);
|
|
/* 0245D158 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0245D15C */ _t19 = cpu->r[4] + 0x00000010u;
|
|
/* 0245D15C */ rbrew_write32(cpu->mem, _t19, cpu->r[6]);
|
|
/* 0245D160 */ return;
|
|
}
|
|
|
|
// fn_0245D164 @ 0x245d164
|
|
void Gambit_fn_0245D164(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_0245D164: ; // 0x245d164
|
|
/* 0245D164 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0245D168 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245D168 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0245D168 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0245D168 */ goto L_0245D16C;
|
|
L_0245D16C: ; // 0x245d16c
|
|
/* 0245D16C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0245D16C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0245D170 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245D170 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0245D170 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0245D170 */ goto L_0245D174;
|
|
L_0245D174: ; // 0x245d174
|
|
/* 0245D174 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 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 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) 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 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0245D178 @ 0x245d178
|
|
void Gambit_fn_0245D178(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0245D178: ; // 0x245d178
|
|
/* 0245D178 */ cpu->r[0] = cpu->lr;
|
|
/* 0245D17C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245D17C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245D17C */ cpu->r[1] = _t0;
|
|
/* 0245D180 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245D180 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245D184 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0245D184 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0245D188 */ cpu->r[30] = cpu->r[3];
|
|
/* 0245D188 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0245D18C */ cpu->r[31] = cpu->r[4];
|
|
/* 0245D190 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0245D190 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0245D194 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245D194 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0245D194 */ if (_t5) goto L_0245D204; else goto L_0245D198;
|
|
L_0245D198: ; // 0x245d198
|
|
/* 0245D198 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245D19C */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245D1A0 */ cpu->r[0] = cpu->r[0] + 0x000022E4u;
|
|
/* 0245D1A4 */ cpu->r[12] = cpu->r[12] + 0x00002304u;
|
|
/* 0245D1A8 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0245D1A8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0245D1AC */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245D1B0 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 0245D1B0 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0245D1B4 */ cpu->r[11] = cpu->r[11] + 0x000022F4u;
|
|
/* 0245D1B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0245D1BC */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0245D1BC */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0245D1C0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245D1C0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0245D1C0 */ if (_t10) goto L_0245D1F4; else goto L_0245D1C4;
|
|
L_0245D1C4: ; // 0x245d1c4
|
|
/* 0245D1C4 */ cpu->r[10] = 0x10010000u;
|
|
/* 0245D1C8 */ cpu->r[0] = 0x10010000u;
|
|
/* 0245D1CC */ cpu->r[10] = cpu->r[10] + 0x000048FCu;
|
|
/* 0245D1D0 */ cpu->r[0] = cpu->r[0] + 0x000048ECu;
|
|
/* 0245D1D4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0245D1D8 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0245D1D8 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0245D1DC */ cpu->r[0] = 0x10010000u;
|
|
/* 0245D1E0 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0245D1E0 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0245D1E4 */ cpu->r[0] = cpu->r[0] + 0x0000490Cu;
|
|
/* 0245D1E8 */ cpu->r[4] = 0x00000000u;
|
|
/* 0245D1EC */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0245D1EC */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0245D1F0 */ Gambit_fn_02068798(cpu);
|
|
L_0245D1F4: ; // 0x245d1f4
|
|
/* 0245D1F4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0245D1F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0245D1F8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245D1F8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0245D1F8 */ if (_t15) goto L_0245D204; else goto L_0245D1FC;
|
|
L_0245D1FC: ; // 0x245d1fc
|
|
/* 0245D1FC */ cpu->r[3] = cpu->r[30];
|
|
/* 0245D200 */ Gambit_fn_02801BB0(cpu);
|
|
L_0245D204: ; // 0x245d204
|
|
/* 0245D204 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0245D204 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0245D208 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0245D208 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0245D20C */ cpu->lr = cpu->r[0];
|
|
/* 0245D210 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245D210 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0245D214 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245D218 */ return;
|
|
}
|
|
|
|
// fn_0245D17C @ 0x245d17c
|
|
void Gambit_fn_0245D17C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0245D17C: ; // 0x245d17c
|
|
/* 0245D17C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0245D17C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0245D17C */ cpu->r[1] = _t0;
|
|
/* 0245D180 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245D180 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0245D184 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0245D184 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0245D188 */ cpu->r[30] = cpu->r[3];
|
|
/* 0245D188 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0245D18C */ cpu->r[31] = cpu->r[4];
|
|
/* 0245D190 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0245D190 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0245D194 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245D194 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0245D194 */ if (_t5) goto L_0245D204; else goto L_0245D198;
|
|
L_0245D198: ; // 0x245d198
|
|
/* 0245D198 */ cpu->r[0] = 0x100A0000u;
|
|
/* 0245D19C */ cpu->r[12] = 0x100A0000u;
|
|
/* 0245D1A0 */ cpu->r[0] = cpu->r[0] + 0x000022E4u;
|
|
/* 0245D1A4 */ cpu->r[12] = cpu->r[12] + 0x00002304u;
|
|
/* 0245D1A8 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0245D1A8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0245D1AC */ cpu->r[11] = 0x100A0000u;
|
|
/* 0245D1B0 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 0245D1B0 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0245D1B4 */ cpu->r[11] = cpu->r[11] + 0x000022F4u;
|
|
/* 0245D1B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0245D1BC */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0245D1BC */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0245D1C0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245D1C0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0245D1C0 */ if (_t10) goto L_0245D1F4; else goto L_0245D1C4;
|
|
L_0245D1C4: ; // 0x245d1c4
|
|
/* 0245D1C4 */ cpu->r[10] = 0x10010000u;
|
|
/* 0245D1C8 */ cpu->r[0] = 0x10010000u;
|
|
/* 0245D1CC */ cpu->r[10] = cpu->r[10] + 0x000048FCu;
|
|
/* 0245D1D0 */ cpu->r[0] = cpu->r[0] + 0x000048ECu;
|
|
/* 0245D1D4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0245D1D8 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0245D1D8 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0245D1DC */ cpu->r[0] = 0x10010000u;
|
|
/* 0245D1E0 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0245D1E0 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0245D1E4 */ cpu->r[0] = cpu->r[0] + 0x0000490Cu;
|
|
/* 0245D1E8 */ cpu->r[4] = 0x00000000u;
|
|
/* 0245D1EC */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0245D1EC */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0245D1F0 */ Gambit_fn_02068798(cpu);
|
|
L_0245D1F4: ; // 0x245d1f4
|
|
/* 0245D1F4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0245D1F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0245D1F8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0245D1F8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0245D1F8 */ if (_t15) goto L_0245D204; else goto L_0245D1FC;
|
|
L_0245D1FC: ; // 0x245d1fc
|
|
/* 0245D1FC */ cpu->r[3] = cpu->r[30];
|
|
/* 0245D200 */ Gambit_fn_02801BB0(cpu);
|
|
L_0245D204: ; // 0x245d204
|
|
/* 0245D204 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0245D204 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0245D208 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0245D208 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0245D20C */ cpu->lr = cpu->r[0];
|
|
/* 0245D210 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0245D210 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0245D214 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0245D218 */ return;
|
|
}
|
|
|
|
// fn_0245D21C @ 0x245d21c
|
|
void Gambit_fn_0245D21C(CPUState* cpu) {
|
|
L_0245D21C: ; // 0x245d21c
|
|
/* 0245D21C */ return;
|
|
}
|
|
|
|
// fn_0245D220 @ 0x245d220
|
|
void Gambit_fn_0245D220(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0245D220: ; // 0x245d220
|
|
/* 0245D220 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0245D220 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245D224 */ return;
|
|
}
|
|
|
|
// fn_0245D228 @ 0x245d228
|
|
void Gambit_fn_0245D228(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0245D228: ; // 0x245d228
|
|
/* 0245D228 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 0245D228 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245D22C */ return;
|
|
}
|
|
|
|
// fn_0245D230 @ 0x245d230
|
|
void Gambit_fn_0245D230(CPUState* cpu) {
|
|
L_0245D230: ; // 0x245d230
|
|
/* 0245D230 */ return;
|
|
}
|
|
|
|
// fn_0245D234 @ 0x245d234
|
|
void Gambit_fn_0245D234(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0245D234: ; // 0x245d234
|
|
/* 0245D234 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0245D234 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0245D238 */ return;
|
|
}
|
|
|
|
// fn_0245D23C @ 0x245d23c
|
|
void Gambit_fn_0245D23C(CPUState* cpu) {
|
|
L_0245D23C: ; // 0x245d23c
|
|
/* 0245D23C */ return;
|
|
}
|
|
|
|
// fn_0245D240 @ 0x245d240
|
|
void Gambit_fn_0245D240(CPUState* cpu) {
|
|
L_0245D240: ; // 0x245d240
|
|
/* 0245D240 */ return;
|
|
}
|
|
|