Files
PSPRecomp/profiles/vcs/generated/generated_unit_0202.cpp
T
Jessica_Natalia 430e45bdb0 more updates
more updates
2026-08-27 04:39:50 -03:00

8329 lines
428 KiB
C++

#include "psprecomp/runtime.hpp"
#include "generated_units.hpp"
#include "vcs_resident_regions.hpp"
#include <bit>
#include <cmath>
#include <cstdint>
#include <limits>
namespace psprecomp {
// PSPRECOMP_V811_COMPACT_DISPATCH: 64-slot occupancy masks + per-group base id.
static constexpr std::uint64_t kEntryMasks_recomp_unit_0202[64] = {
0x12028629090010A1ull, 0x900404010900040Cull, 0x12000830480A0188ull, 0x0400004800202100ull,
0x0901402102401010ull, 0x0041002822240106ull, 0x2008101200208889ull, 0x224010A404112811ull,
0x044044A401040000ull, 0x00418240500C2401ull, 0x20B0210280680048ull, 0x5A44480041240480ull,
0x2240040609014031ull, 0x11200818240500D2ull, 0x888900418240500Cull, 0x8288900415448020ull,
0x62514A2240021480ull, 0x0120000101824050ull, 0x0368122D0A152000ull, 0x124480200030480Aull,
0x0022448000432404ull, 0x4248290122482100ull, 0x0092240004008282ull, 0x2425124852208400ull,
0x9004124480200828ull, 0x4480104912008248ull, 0x48020609014030A9ull, 0x01848020C1202806ull,
0x028041200830480Aull, 0xA0124AA294490104ull, 0x04214480842290A0ull, 0x20020C1202806090ull,
0x90040AA204142411ull, 0x0000010609014030ull, 0x5125A14292000402ull, 0x0848828245048911ull,
0x0082080200004342ull, 0xA01A920041010212ull, 0x02000090042C0840ull, 0x0804000001000048ull,
0x05048A8B42852400ull, 0x9004000086841091ull, 0x6090140309004000ull, 0x5509000820224010ull,
0x1200801200808CA0ull, 0x2020004802024010ull, 0x2401042848480201ull, 0x0008040000010610ull,
0x1050548A8B428524ull, 0x0900400008684109ull, 0x8401200081048008ull, 0x8000200000100814ull,
0x11404888A8B42854ull, 0x2400400008A4AC24ull, 0x0415292008119024ull, 0x1824050340480082ull,
0x0818240503448008ull, 0x1000480081000480ull, 0x40D4480208092008ull, 0x1010024001060901ull,
0x0910480204110900ull, 0x3545444C22009002ull, 0x1120200858108140ull, 0x0020010000004000ull,
};
static constexpr std::uint16_t kEntryBases_recomp_unit_0202[64] = {
1u, 16u, 26u, 38u, 44u, 54u, 65u, 76u, 90u, 99u, 111u, 124u, 138u, 151u, 165u, 179u,
193u, 209u, 218u, 235u, 247u, 258u, 272u, 282u, 297u, 309u, 322u, 337u, 350u, 362u, 380u, 394u,
406u, 421u, 430u, 446u, 462u, 471u, 485u, 494u, 499u, 516u, 528u, 539u, 551u, 562u, 570u, 582u,
588u, 608u, 619u, 628u, 634u, 653u, 666u, 681u, 694u, 707u, 714u, 727u, 737u, 748u, 765u, 777u,
};
void recomp_unit_0202_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) {
// PSPRECOMP_AOT_REGCACHE_BEGIN
// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,16,31,29,17 fprs=12,13,14,30 gpr_occ=4751 fpr_occ=205 gpr_total=6319 fpr_total=353
std::uint32_t aot_gpr_4 = ctx.gpr[4];
std::uint32_t aot_gpr_5 = ctx.gpr[5];
std::uint32_t aot_gpr_16 = ctx.gpr[16];
std::uint32_t aot_gpr_31 = ctx.gpr[31];
std::uint32_t aot_gpr_29 = ctx.gpr[29];
std::uint32_t aot_gpr_17 = ctx.gpr[17];
float aot_fpr_12 = ctx.fpr[12];
float aot_fpr_13 = ctx.fpr[13];
float aot_fpr_14 = ctx.fpr[14];
float aot_fpr_30 = ctx.fpr[30];
bool aot_regcache_valid = true;
#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.gpr[29] = aot_gpr_29; ctx.gpr[17] = aot_gpr_17; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[30] = aot_fpr_30; } } while (false)
#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_17 = ctx.gpr[17]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_30 = ctx.fpr[30]; } } while (false)
// PSPRECOMP_AOT_REGCACHE_END
std::uint32_t jump_target = 0u;
std::uint32_t local_transfers = 0u;
std::uint32_t local_redispatch_rounds = 0u;
std::uint32_t local_pc = ctx.pc;
std::uint32_t entry_id = direct_entry_id;
LOCAL_DISPATCH:
{
if (entry_id == 0u) {
const std::uint32_t entry_delta = local_pc - 0x08B2C000u;
entry_id = 0u;
if (entry_delta < 16344u && (entry_delta & 3u) == 0u) {
const std::uint32_t entry_slot = entry_delta >> 2u;
const std::uint32_t entry_group = entry_slot >> 6u;
const std::uint64_t entry_mask = kEntryMasks_recomp_unit_0202[entry_group];
const std::uint64_t entry_bit = 1ull << (entry_slot & 63u);
if ((entry_mask & entry_bit) != 0u) {
entry_id = static_cast<std::uint16_t>(
kEntryBases_recomp_unit_0202[entry_group] +
std::popcount(entry_mask & (entry_bit - 1ull)));
}
}
}
switch (entry_id) {
case 1u: goto L_08B2C000;
case 2u: goto L_08B2C014;
case 3u: goto L_08B2C01C;
case 4u: goto L_08B2C030;
case 5u: goto L_08B2C060;
case 6u: goto L_08B2C06C;
case 7u: goto L_08B2C080;
case 8u: goto L_08B2C08C;
case 9u: goto L_08B2C094;
case 10u: goto L_08B2C0A4;
case 11u: goto L_08B2C0A8;
case 12u: goto L_08B2C0BC;
case 13u: goto L_08B2C0C4;
case 14u: goto L_08B2C0E4;
case 15u: goto L_08B2C0F0;
case 16u: goto L_08B2C108;
case 17u: goto L_08B2C10C;
case 18u: goto L_08B2C128;
case 19u: goto L_08B2C160;
case 20u: goto L_08B2C16C;
case 21u: goto L_08B2C180;
case 22u: goto L_08B2C1A8;
case 23u: goto L_08B2C1C8;
case 24u: goto L_08B2C1F0;
case 25u: goto L_08B2C1FC;
case 26u: goto L_08B2C20C;
case 27u: goto L_08B2C21C;
case 28u: goto L_08B2C220;
case 29u: goto L_08B2C244;
case 30u: goto L_08B2C24C;
case 31u: goto L_08B2C26C;
case 32u: goto L_08B2C278;
case 33u: goto L_08B2C290;
case 34u: goto L_08B2C294;
case 35u: goto L_08B2C2AC;
case 36u: goto L_08B2C2E4;
case 37u: goto L_08B2C2F0;
case 38u: goto L_08B2C320;
case 39u: goto L_08B2C334;
case 40u: goto L_08B2C354;
case 41u: goto L_08B2C38C;
case 42u: goto L_08B2C398;
case 43u: goto L_08B2C3E8;
case 44u: goto L_08B2C410;
case 45u: goto L_08B2C430;
case 46u: goto L_08B2C458;
case 47u: goto L_08B2C464;
case 48u: goto L_08B2C480;
case 49u: goto L_08B2C494;
case 50u: goto L_08B2C4B8;
case 51u: goto L_08B2C4C0;
case 52u: goto L_08B2C4E0;
case 53u: goto L_08B2C4EC;
case 54u: goto L_08B2C504;
case 55u: goto L_08B2C508;
case 56u: goto L_08B2C520;
case 57u: goto L_08B2C548;
case 58u: goto L_08B2C554;
case 59u: goto L_08B2C564;
case 60u: goto L_08B2C574;
case 61u: goto L_08B2C58C;
case 62u: goto L_08B2C594;
case 63u: goto L_08B2C5C0;
case 64u: goto L_08B2C5D8;
case 65u: goto L_08B2C600;
case 66u: goto L_08B2C60C;
case 67u: goto L_08B2C61C;
case 68u: goto L_08B2C62C;
case 69u: goto L_08B2C63C;
case 70u: goto L_08B2C654;
case 71u: goto L_08B2C684;
case 72u: goto L_08B2C690;
case 73u: goto L_08B2C6B0;
case 74u: goto L_08B2C6CC;
case 75u: goto L_08B2C6F4;
case 76u: goto L_08B2C700;
case 77u: goto L_08B2C710;
case 78u: goto L_08B2C72C;
case 79u: goto L_08B2C734;
case 80u: goto L_08B2C740;
case 81u: goto L_08B2C750;
case 82u: goto L_08B2C768;
case 83u: goto L_08B2C788;
case 84u: goto L_08B2C794;
case 85u: goto L_08B2C79C;
case 86u: goto L_08B2C7B0;
case 87u: goto L_08B2C7D8;
case 88u: goto L_08B2C7E4;
case 89u: goto L_08B2C7F4;
case 90u: goto L_08B2C848;
case 91u: goto L_08B2C860;
case 92u: goto L_08B2C888;
case 93u: goto L_08B2C894;
case 94u: goto L_08B2C89C;
case 95u: goto L_08B2C8A8;
case 96u: goto L_08B2C8B8;
case 97u: goto L_08B2C8D8;
case 98u: goto L_08B2C8E8;
case 99u: goto L_08B2C900;
case 100u: goto L_08B2C928;
case 101u: goto L_08B2C934;
case 102u: goto L_08B2C948;
case 103u: goto L_08B2C94C;
case 104u: goto L_08B2C970;
case 105u: goto L_08B2C978;
case 106u: goto L_08B2C998;
case 107u: goto L_08B2C9A4;
case 108u: goto L_08B2C9BC;
case 109u: goto L_08B2C9C0;
case 110u: goto L_08B2C9D8;
case 111u: goto L_08B2CA0C;
case 112u: goto L_08B2CA18;
case 113u: goto L_08B2CA4C;
case 114u: goto L_08B2CA54;
case 115u: goto L_08B2CA58;
case 116u: goto L_08B2CA7C;
case 117u: goto L_08B2CA84;
case 118u: goto L_08B2CAA0;
case 119u: goto L_08B2CAB4;
case 120u: goto L_08B2CAD0;
case 121u: goto L_08B2CAD4;
case 122u: goto L_08B2CADC;
case 123u: goto L_08B2CAF4;
case 124u: goto L_08B2CB1C;
case 125u: goto L_08B2CB28;
case 126u: goto L_08B2CB48;
case 127u: goto L_08B2CB54;
case 128u: goto L_08B2CB60;
case 129u: goto L_08B2CB78;
case 130u: goto L_08B2CBAC;
case 131u: goto L_08B2CBB8;
case 132u: goto L_08B2CBC8;
case 133u: goto L_08B2CBD8;
case 134u: goto L_08B2CBE4;
case 135u: goto L_08B2CBEC;
case 136u: goto L_08B2CBF0;
case 137u: goto L_08B2CBF8;
case 138u: goto L_08B2CC00;
case 139u: goto L_08B2CC10;
case 140u: goto L_08B2CC14;
case 141u: goto L_08B2CC38;
case 142u: goto L_08B2CC40;
case 143u: goto L_08B2CC60;
case 144u: goto L_08B2CC6C;
case 145u: goto L_08B2CC84;
case 146u: goto L_08B2CC88;
case 147u: goto L_08B2CCA8;
case 148u: goto L_08B2CCD8;
case 149u: goto L_08B2CCE4;
case 150u: goto L_08B2CCF4;
case 151u: goto L_08B2CD04;
case 152u: goto L_08B2CD10;
case 153u: goto L_08B2CD18;
case 154u: goto L_08B2CD1C;
case 155u: goto L_08B2CD40;
case 156u: goto L_08B2CD48;
case 157u: goto L_08B2CD68;
case 158u: goto L_08B2CD74;
case 159u: goto L_08B2CD8C;
case 160u: goto L_08B2CD90;
case 161u: goto L_08B2CDAC;
case 162u: goto L_08B2CDD4;
case 163u: goto L_08B2CDE0;
case 164u: goto L_08B2CDF0;
case 165u: goto L_08B2CE08;
case 166u: goto L_08B2CE0C;
case 167u: goto L_08B2CE30;
case 168u: goto L_08B2CE38;
case 169u: goto L_08B2CE58;
case 170u: goto L_08B2CE64;
case 171u: goto L_08B2CE7C;
case 172u: goto L_08B2CE80;
case 173u: goto L_08B2CE98;
case 174u: goto L_08B2CEC0;
case 175u: goto L_08B2CECC;
case 176u: goto L_08B2CEDC;
case 177u: goto L_08B2CEEC;
case 178u: goto L_08B2CEFC;
case 179u: goto L_08B2CF14;
case 180u: goto L_08B2CF3C;
case 181u: goto L_08B2CF48;
case 182u: goto L_08B2CF58;
case 183u: goto L_08B2CF60;
case 184u: goto L_08B2CF68;
case 185u: goto L_08B2CF70;
case 186u: goto L_08B2CF88;
case 187u: goto L_08B2CFB0;
case 188u: goto L_08B2CFBC;
case 189u: goto L_08B2CFCC;
case 190u: goto L_08B2CFDC;
case 191u: goto L_08B2CFE4;
case 192u: goto L_08B2CFFC;
case 193u: goto L_08B2D01C;
case 194u: goto L_08B2D028;
case 195u: goto L_08B2D030;
case 196u: goto L_08B2D044;
case 197u: goto L_08B2D078;
case 198u: goto L_08B2D084;
case 199u: goto L_08B2D094;
case 200u: goto L_08B2D0A4;
case 201u: goto L_08B2D0AC;
case 202u: goto L_08B2D0B8;
case 203u: goto L_08B2D0C0;
case 204u: goto L_08B2D0D0;
case 205u: goto L_08B2D0D8;
case 206u: goto L_08B2D0E4;
case 207u: goto L_08B2D0F4;
case 208u: goto L_08B2D0F8;
case 209u: goto L_08B2D110;
case 210u: goto L_08B2D118;
case 211u: goto L_08B2D138;
case 212u: goto L_08B2D144;
case 213u: goto L_08B2D15C;
case 214u: goto L_08B2D160;
case 215u: goto L_08B2D180;
case 216u: goto L_08B2D1D4;
case 217u: goto L_08B2D1E0;
case 218u: goto L_08B2D234;
case 219u: goto L_08B2D240;
case 220u: goto L_08B2D248;
case 221u: goto L_08B2D250;
case 222u: goto L_08B2D264;
case 223u: goto L_08B2D26C;
case 224u: goto L_08B2D280;
case 225u: goto L_08B2D288;
case 226u: goto L_08B2D28C;
case 227u: goto L_08B2D294;
case 228u: goto L_08B2D2A4;
case 229u: goto L_08B2D2B0;
case 230u: goto L_08B2D2CC;
case 231u: goto L_08B2D2D4;
case 232u: goto L_08B2D2D8;
case 233u: goto L_08B2D2E0;
case 234u: goto L_08B2D2E4;
case 235u: goto L_08B2D304;
case 236u: goto L_08B2D30C;
case 237u: goto L_08B2D32C;
case 238u: goto L_08B2D338;
case 239u: goto L_08B2D350;
case 240u: goto L_08B2D354;
case 241u: goto L_08B2D394;
case 242u: goto L_08B2D3BC;
case 243u: goto L_08B2D3C8;
case 244u: goto L_08B2D3D8;
case 245u: goto L_08B2D3E4;
case 246u: goto L_08B2D3F0;
case 247u: goto L_08B2D408;
case 248u: goto L_08B2D428;
case 249u: goto L_08B2D434;
case 250u: goto L_08B2D440;
case 251u: goto L_08B2D444;
case 252u: goto L_08B2D458;
case 253u: goto L_08B2D49C;
case 254u: goto L_08B2D4A8;
case 255u: goto L_08B2D4B8;
case 256u: goto L_08B2D4C4;
case 257u: goto L_08B2D4D4;
case 258u: goto L_08B2D520;
case 259u: goto L_08B2D534;
case 260u: goto L_08B2D54C;
case 261u: goto L_08B2D558;
case 262u: goto L_08B2D564;
case 263u: goto L_08B2D574;
case 264u: goto L_08B2D580;
case 265u: goto L_08B2D5A0;
case 266u: goto L_08B2D5AC;
case 267u: goto L_08B2D5B4;
case 268u: goto L_08B2D5CC;
case 269u: goto L_08B2D5D8;
case 270u: goto L_08B2D5E4;
case 271u: goto L_08B2D5F8;
case 272u: goto L_08B2D604;
case 273u: goto L_08B2D61C;
case 274u: goto L_08B2D624;
case 275u: goto L_08B2D63C;
case 276u: goto L_08B2D668;
case 277u: goto L_08B2D6A8;
case 278u: goto L_08B2D6B4;
case 279u: goto L_08B2D6C4;
case 280u: goto L_08B2D6D0;
case 281u: goto L_08B2D6DC;
case 282u: goto L_08B2D728;
case 283u: goto L_08B2D73C;
case 284u: goto L_08B2D754;
case 285u: goto L_08B2D764;
case 286u: goto L_08B2D770;
case 287u: goto L_08B2D778;
case 288u: goto L_08B2D78C;
case 289u: goto L_08B2D798;
case 290u: goto L_08B2D7A4;
case 291u: goto L_08B2D7B0;
case 292u: goto L_08B2D7C0;
case 293u: goto L_08B2D7C8;
case 294u: goto L_08B2D7D4;
case 295u: goto L_08B2D7E8;
case 296u: goto L_08B2D7F4;
case 297u: goto L_08B2D80C;
case 298u: goto L_08B2D814;
case 299u: goto L_08B2D82C;
case 300u: goto L_08B2D854;
case 301u: goto L_08B2D87C;
case 302u: goto L_08B2D888;
case 303u: goto L_08B2D898;
case 304u: goto L_08B2D8A4;
case 305u: goto L_08B2D8B0;
case 306u: goto L_08B2D8C8;
case 307u: goto L_08B2D8F0;
case 308u: goto L_08B2D8FC;
case 309u: goto L_08B2D90C;
case 310u: goto L_08B2D918;
case 311u: goto L_08B2D924;
case 312u: goto L_08B2D93C;
case 313u: goto L_08B2D964;
case 314u: goto L_08B2D970;
case 315u: goto L_08B2D980;
case 316u: goto L_08B2D98C;
case 317u: goto L_08B2D998;
case 318u: goto L_08B2D9B0;
case 319u: goto L_08B2D9DC;
case 320u: goto L_08B2D9E8;
case 321u: goto L_08B2D9F8;
case 322u: goto L_08B2DA00;
case 323u: goto L_08B2DA0C;
case 324u: goto L_08B2DA14;
case 325u: goto L_08B2DA1C;
case 326u: goto L_08B2DA30;
case 327u: goto L_08B2DA34;
case 328u: goto L_08B2DA58;
case 329u: goto L_08B2DA60;
case 330u: goto L_08B2DA80;
case 331u: goto L_08B2DA8C;
case 332u: goto L_08B2DAA4;
case 333u: goto L_08B2DAA8;
case 334u: goto L_08B2DAC4;
case 335u: goto L_08B2DAEC;
case 336u: goto L_08B2DAF8;
case 337u: goto L_08B2DB04;
case 338u: goto L_08B2DB08;
case 339u: goto L_08B2DB2C;
case 340u: goto L_08B2DB34;
case 341u: goto L_08B2DB54;
case 342u: goto L_08B2DB60;
case 343u: goto L_08B2DB78;
case 344u: goto L_08B2DB7C;
case 345u: goto L_08B2DB94;
case 346u: goto L_08B2DBBC;
case 347u: goto L_08B2DBC8;
case 348u: goto L_08B2DBDC;
case 349u: goto L_08B2DBE0;
case 350u: goto L_08B2DC04;
case 351u: goto L_08B2DC0C;
case 352u: goto L_08B2DC2C;
case 353u: goto L_08B2DC38;
case 354u: goto L_08B2DC50;
case 355u: goto L_08B2DC54;
case 356u: goto L_08B2DC6C;
case 357u: goto L_08B2DC94;
case 358u: goto L_08B2DCA0;
case 359u: goto L_08B2DCB8;
case 360u: goto L_08B2DCDC;
case 361u: goto L_08B2DCE4;
case 362u: goto L_08B2DD08;
case 363u: goto L_08B2DD20;
case 364u: goto L_08B2DD40;
case 365u: goto L_08B2DD4C;
case 366u: goto L_08B2DD58;
case 367u: goto L_08B2DD68;
case 368u: goto L_08B2DD70;
case 369u: goto L_08B2DD7C;
case 370u: goto L_08B2DD84;
case 371u: goto L_08B2DD94;
case 372u: goto L_08B2DD9C;
case 373u: goto L_08B2DDA4;
case 374u: goto L_08B2DDAC;
case 375u: goto L_08B2DDB8;
case 376u: goto L_08B2DDC4;
case 377u: goto L_08B2DDD0;
case 378u: goto L_08B2DDF4;
case 379u: goto L_08B2DDFC;
case 380u: goto L_08B2DE14;
case 381u: goto L_08B2DE1C;
case 382u: goto L_08B2DE30;
case 383u: goto L_08B2DE3C;
case 384u: goto L_08B2DE44;
case 385u: goto L_08B2DE54;
case 386u: goto L_08B2DE68;
case 387u: goto L_08B2DE7C;
case 388u: goto L_08B2DE9C;
case 389u: goto L_08B2DEA8;
case 390u: goto L_08B2DEB8;
case 391u: goto L_08B2DEC0;
case 392u: goto L_08B2DED4;
case 393u: goto L_08B2DEE8;
case 394u: goto L_08B2DF10;
case 395u: goto L_08B2DF1C;
case 396u: goto L_08B2DF34;
case 397u: goto L_08B2DF38;
case 398u: goto L_08B2DF5C;
case 399u: goto L_08B2DF64;
case 400u: goto L_08B2DF84;
case 401u: goto L_08B2DF90;
case 402u: goto L_08B2DFA8;
case 403u: goto L_08B2DFAC;
case 404u: goto L_08B2DFC4;
case 405u: goto L_08B2DFF4;
case 406u: goto L_08B2E000;
case 407u: goto L_08B2E010;
case 408u: goto L_08B2E028;
case 409u: goto L_08B2E034;
case 410u: goto L_08B2E048;
case 411u: goto L_08B2E050;
case 412u: goto L_08B2E068;
case 413u: goto L_08B2E084;
case 414u: goto L_08B2E094;
case 415u: goto L_08B2E09C;
case 416u: goto L_08B2E0A4;
case 417u: goto L_08B2E0AC;
case 418u: goto L_08B2E0C8;
case 419u: goto L_08B2E0F0;
case 420u: goto L_08B2E0FC;
case 421u: goto L_08B2E110;
case 422u: goto L_08B2E114;
case 423u: goto L_08B2E138;
case 424u: goto L_08B2E140;
case 425u: goto L_08B2E160;
case 426u: goto L_08B2E16C;
case 427u: goto L_08B2E184;
case 428u: goto L_08B2E188;
case 429u: goto L_08B2E1A0;
case 430u: goto L_08B2E204;
case 431u: goto L_08B2E228;
case 432u: goto L_08B2E264;
case 433u: goto L_08B2E270;
case 434u: goto L_08B2E27C;
case 435u: goto L_08B2E284;
case 436u: goto L_08B2E298;
case 437u: goto L_08B2E2A0;
case 438u: goto L_08B2E2B4;
case 439u: goto L_08B2E2BC;
case 440u: goto L_08B2E2C0;
case 441u: goto L_08B2E2C8;
case 442u: goto L_08B2E2D4;
case 443u: goto L_08B2E2E0;
case 444u: goto L_08B2E2F0;
case 445u: goto L_08B2E2F8;
case 446u: goto L_08B2E300;
case 447u: goto L_08B2E310;
case 448u: goto L_08B2E320;
case 449u: goto L_08B2E32C;
case 450u: goto L_08B2E33C;
case 451u: goto L_08B2E348;
case 452u: goto L_08B2E360;
case 453u: goto L_08B2E368;
case 454u: goto L_08B2E378;
case 455u: goto L_08B2E384;
case 456u: goto L_08B2E39C;
case 457u: goto L_08B2E3A4;
case 458u: goto L_08B2E3BC;
case 459u: goto L_08B2E3CC;
case 460u: goto L_08B2E3D8;
case 461u: goto L_08B2E3EC;
case 462u: goto L_08B2E404;
case 463u: goto L_08B2E418;
case 464u: goto L_08B2E420;
case 465u: goto L_08B2E424;
case 466u: goto L_08B2E438;
case 467u: goto L_08B2E484;
case 468u: goto L_08B2E4AC;
case 469u: goto L_08B2E4C4;
case 470u: goto L_08B2E4DC;
case 471u: goto L_08B2E504;
case 472u: goto L_08B2E510;
case 473u: goto L_08B2E524;
case 474u: goto L_08B2E540;
case 475u: goto L_08B2E560;
case 476u: goto L_08B2E578;
case 477u: goto L_08B2E5A4;
case 478u: goto L_08B2E5B0;
case 479u: goto L_08B2E5BC;
case 480u: goto L_08B2E5C4;
case 481u: goto L_08B2E5CC;
case 482u: goto L_08B2E5D0;
case 483u: goto L_08B2E5F4;
case 484u: goto L_08B2E5FC;
case 485u: goto L_08B2E618;
case 486u: goto L_08B2E62C;
case 487u: goto L_08B2E648;
case 488u: goto L_08B2E64C;
case 489u: goto L_08B2E654;
case 490u: goto L_08B2E668;
case 491u: goto L_08B2E690;
case 492u: goto L_08B2E69C;
case 493u: goto L_08B2E6E4;
case 494u: goto L_08B2E70C;
case 495u: goto L_08B2E718;
case 496u: goto L_08B2E760;
case 497u: goto L_08B2E7C8;
case 498u: goto L_08B2E7EC;
case 499u: goto L_08B2E828;
case 500u: goto L_08B2E834;
case 501u: goto L_08B2E840;
case 502u: goto L_08B2E848;
case 503u: goto L_08B2E85C;
case 504u: goto L_08B2E864;
case 505u: goto L_08B2E878;
case 506u: goto L_08B2E880;
case 507u: goto L_08B2E884;
case 508u: goto L_08B2E88C;
case 509u: goto L_08B2E89C;
case 510u: goto L_08B2E8A4;
case 511u: goto L_08B2E8AC;
case 512u: goto L_08B2E8BC;
case 513u: goto L_08B2E8C8;
case 514u: goto L_08B2E8E0;
case 515u: goto L_08B2E8E8;
case 516u: goto L_08B2E900;
case 517u: goto L_08B2E910;
case 518u: goto L_08B2E91C;
case 519u: goto L_08B2E930;
case 520u: goto L_08B2E948;
case 521u: goto L_08B2E95C;
case 522u: goto L_08B2E964;
case 523u: goto L_08B2E968;
case 524u: goto L_08B2E97C;
case 525u: goto L_08B2E9C8;
case 526u: goto L_08B2E9F0;
case 527u: goto L_08B2E9FC;
case 528u: goto L_08B2EA38;
case 529u: goto L_08B2EA60;
case 530u: goto L_08B2EA6C;
case 531u: goto L_08B2EA80;
case 532u: goto L_08B2EA84;
case 533u: goto L_08B2EAA8;
case 534u: goto L_08B2EAB0;
case 535u: goto L_08B2EAD0;
case 536u: goto L_08B2EADC;
case 537u: goto L_08B2EAF4;
case 538u: goto L_08B2EAF8;
case 539u: goto L_08B2EB10;
case 540u: goto L_08B2EB38;
case 541u: goto L_08B2EB44;
case 542u: goto L_08B2EB54;
case 543u: goto L_08B2EB74;
case 544u: goto L_08B2EB8C;
case 545u: goto L_08B2EBC0;
case 546u: goto L_08B2EBCC;
case 547u: goto L_08B2EBE0;
case 548u: goto L_08B2EBE8;
case 549u: goto L_08B2EBF0;
case 550u: goto L_08B2EBF8;
case 551u: goto L_08B2EC14;
case 552u: goto L_08B2EC1C;
case 553u: goto L_08B2EC28;
case 554u: goto L_08B2EC2C;
case 555u: goto L_08B2EC3C;
case 556u: goto L_08B2EC5C;
case 557u: goto L_08B2EC84;
case 558u: goto L_08B2EC90;
case 559u: goto L_08B2ECBC;
case 560u: goto L_08B2ECE4;
case 561u: goto L_08B2ECF0;
case 562u: goto L_08B2ED10;
case 563u: goto L_08B2ED38;
case 564u: goto L_08B2ED44;
case 565u: goto L_08B2ED64;
case 566u: goto L_08B2ED8C;
case 567u: goto L_08B2ED98;
case 568u: goto L_08B2EDD4;
case 569u: goto L_08B2EDF4;
case 570u: goto L_08B2EE00;
case 571u: goto L_08B2EE24;
case 572u: goto L_08B2EE4C;
case 573u: goto L_08B2EE58;
case 574u: goto L_08B2EE6C;
case 575u: goto L_08B2EE78;
case 576u: goto L_08B2EE8C;
case 577u: goto L_08B2EE94;
case 578u: goto L_08B2EEA8;
case 579u: goto L_08B2EEC0;
case 580u: goto L_08B2EEE8;
case 581u: goto L_08B2EEF4;
case 582u: goto L_08B2EF10;
case 583u: goto L_08B2EF24;
case 584u: goto L_08B2EF28;
case 585u: goto L_08B2EF40;
case 586u: goto L_08B2EFA8;
case 587u: goto L_08B2EFCC;
case 588u: goto L_08B2F008;
case 589u: goto L_08B2F014;
case 590u: goto L_08B2F020;
case 591u: goto L_08B2F028;
case 592u: goto L_08B2F03C;
case 593u: goto L_08B2F044;
case 594u: goto L_08B2F058;
case 595u: goto L_08B2F060;
case 596u: goto L_08B2F064;
case 597u: goto L_08B2F06C;
case 598u: goto L_08B2F07C;
case 599u: goto L_08B2F084;
case 600u: goto L_08B2F08C;
case 601u: goto L_08B2F09C;
case 602u: goto L_08B2F0A8;
case 603u: goto L_08B2F0B0;
case 604u: goto L_08B2F0B8;
case 605u: goto L_08B2F0D0;
case 606u: goto L_08B2F0D8;
case 607u: goto L_08B2F0F0;
case 608u: goto L_08B2F100;
case 609u: goto L_08B2F10C;
case 610u: goto L_08B2F120;
case 611u: goto L_08B2F138;
case 612u: goto L_08B2F14C;
case 613u: goto L_08B2F154;
case 614u: goto L_08B2F158;
case 615u: goto L_08B2F16C;
case 616u: goto L_08B2F1B8;
case 617u: goto L_08B2F1E0;
case 618u: goto L_08B2F1EC;
case 619u: goto L_08B2F20C;
case 620u: goto L_08B2F23C;
case 621u: goto L_08B2F248;
case 622u: goto L_08B2F260;
case 623u: goto L_08B2F27C;
case 624u: goto L_08B2F2B4;
case 625u: goto L_08B2F2C0;
case 626u: goto L_08B2F2E8;
case 627u: goto L_08B2F2FC;
case 628u: goto L_08B2F308;
case 629u: goto L_08B2F310;
case 630u: goto L_08B2F32C;
case 631u: goto L_08B2F350;
case 632u: goto L_08B2F3B4;
case 633u: goto L_08B2F3FC;
case 634u: goto L_08B2F408;
case 635u: goto L_08B2F410;
case 636u: goto L_08B2F418;
case 637u: goto L_08B2F42C;
case 638u: goto L_08B2F434;
case 639u: goto L_08B2F448;
case 640u: goto L_08B2F450;
case 641u: goto L_08B2F454;
case 642u: goto L_08B2F45C;
case 643u: goto L_08B2F46C;
case 644u: goto L_08B2F474;
case 645u: goto L_08B2F47C;
case 646u: goto L_08B2F48C;
case 647u: goto L_08B2F49C;
case 648u: goto L_08B2F4AC;
case 649u: goto L_08B2F4B8;
case 650u: goto L_08B2F4D8;
case 651u: goto L_08B2F4E0;
case 652u: goto L_08B2F4F0;
case 653u: goto L_08B2F508;
case 654u: goto L_08B2F514;
case 655u: goto L_08B2F528;
case 656u: goto L_08B2F52C;
case 657u: goto L_08B2F534;
case 658u: goto L_08B2F53C;
case 659u: goto L_08B2F548;
case 660u: goto L_08B2F554;
case 661u: goto L_08B2F55C;
case 662u: goto L_08B2F56C;
case 663u: goto L_08B2F5B8;
case 664u: goto L_08B2F5E8;
case 665u: goto L_08B2F5F4;
case 666u: goto L_08B2F608;
case 667u: goto L_08B2F614;
case 668u: goto L_08B2F630;
case 669u: goto L_08B2F63C;
case 670u: goto L_08B2F640;
case 671u: goto L_08B2F650;
case 672u: goto L_08B2F66C;
case 673u: goto L_08B2F694;
case 674u: goto L_08B2F6A0;
case 675u: goto L_08B2F6AC;
case 676u: goto L_08B2F6B4;
case 677u: goto L_08B2F6C0;
case 678u: goto L_08B2F6C8;
case 679u: goto L_08B2F6D0;
case 680u: goto L_08B2F6E8;
case 681u: goto L_08B2F704;
case 682u: goto L_08B2F71C;
case 683u: goto L_08B2F74C;
case 684u: goto L_08B2F758;
case 685u: goto L_08B2F778;
case 686u: goto L_08B2F780;
case 687u: goto L_08B2F784;
case 688u: goto L_08B2F7A0;
case 689u: goto L_08B2F7A8;
case 690u: goto L_08B2F7C8;
case 691u: goto L_08B2F7D4;
case 692u: goto L_08B2F7EC;
case 693u: goto L_08B2F7F0;
case 694u: goto L_08B2F80C;
case 695u: goto L_08B2F83C;
case 696u: goto L_08B2F848;
case 697u: goto L_08B2F858;
case 698u: goto L_08B2F860;
case 699u: goto L_08B2F864;
case 700u: goto L_08B2F880;
case 701u: goto L_08B2F888;
case 702u: goto L_08B2F8A8;
case 703u: goto L_08B2F8B4;
case 704u: goto L_08B2F8CC;
case 705u: goto L_08B2F8D0;
case 706u: goto L_08B2F8EC;
case 707u: goto L_08B2F91C;
case 708u: goto L_08B2F928;
case 709u: goto L_08B2F960;
case 710u: goto L_08B2F97C;
case 711u: goto L_08B2F9AC;
case 712u: goto L_08B2F9B8;
case 713u: goto L_08B2F9F0;
case 714u: goto L_08B2FA0C;
case 715u: goto L_08B2FA34;
case 716u: goto L_08B2FA40;
case 717u: goto L_08B2FA4C;
case 718u: goto L_08B2FA6C;
case 719u: goto L_08B2FA84;
case 720u: goto L_08B2FAAC;
case 721u: goto L_08B2FAB8;
case 722u: goto L_08B2FAC8;
case 723u: goto L_08B2FAD0;
case 724u: goto L_08B2FAD8;
case 725u: goto L_08B2FADC;
case 726u: goto L_08B2FAF8;
case 727u: goto L_08B2FB00;
case 728u: goto L_08B2FB20;
case 729u: goto L_08B2FB2C;
case 730u: goto L_08B2FB44;
case 731u: goto L_08B2FB48;
case 732u: goto L_08B2FB60;
case 733u: goto L_08B2FB98;
case 734u: goto L_08B2FBA4;
case 735u: goto L_08B2FBD0;
case 736u: goto L_08B2FBF0;
case 737u: goto L_08B2FC20;
case 738u: goto L_08B2FC2C;
case 739u: goto L_08B2FC40;
case 740u: goto L_08B2FC50;
case 741u: goto L_08B2FC68;
case 742u: goto L_08B2FC84;
case 743u: goto L_08B2FCAC;
case 744u: goto L_08B2FCB8;
case 745u: goto L_08B2FCD0;
case 746u: goto L_08B2FCE0;
case 747u: goto L_08B2FCEC;
case 748u: goto L_08B2FD04;
case 749u: goto L_08B2FD30;
case 750u: goto L_08B2FD3C;
case 751u: goto L_08B2FD64;
case 752u: goto L_08B2FD74;
case 753u: goto L_08B2FD88;
case 754u: goto L_08B2FD8C;
case 755u: goto L_08B2FD98;
case 756u: goto L_08B2FDA8;
case 757u: goto L_08B2FDB8;
case 758u: goto L_08B2FDC0;
case 759u: goto L_08B2FDC8;
case 760u: goto L_08B2FDD8;
case 761u: goto L_08B2FDE0;
case 762u: goto L_08B2FDE8;
case 763u: goto L_08B2FDF0;
case 764u: goto L_08B2FDF4;
case 765u: goto L_08B2FE18;
case 766u: goto L_08B2FE20;
case 767u: goto L_08B2FE3C;
case 768u: goto L_08B2FE50;
case 769u: goto L_08B2FE6C;
case 770u: goto L_08B2FE70;
case 771u: goto L_08B2FE78;
case 772u: goto L_08B2FE8C;
case 773u: goto L_08B2FEB4;
case 774u: goto L_08B2FED4;
case 775u: goto L_08B2FEE0;
case 776u: goto L_08B2FEF0;
case 777u: goto L_08B2FF38;
case 778u: goto L_08B2FFA0;
case 779u: goto L_08B2FFD4;
default:
if (local_transfers == 0u) rt.unsupported(ctx.pc, 0u, "invalid internal function entry");
else ctx.pc = local_pc;
AOT_REGCACHE_SYNC_OUT(); return;
}
}
// PSPRECOMP_V812_SHARED_SCHED_BLOCK: one scheduler-exact slow boundary per unit.
LOCAL_SCHED_BOUNDARY:
ctx.pc = jump_target;
AOT_REGCACHE_SYNC_OUT();
if (local_redispatch_rounds < 7u && rt.continue_generated_local_dispatch(ctx)) {
++local_redispatch_rounds;
AOT_REGCACHE_SYNC_IN();
local_transfers = 0u;
local_pc = ctx.pc;
entry_id = 0u;
goto LOCAL_DISPATCH;
}
return;
L_08B2C000:
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(80)));
aot_gpr_4 = (aot_gpr_16 | 0u);
ctx.gpr[6] = (0u | 0u);
aot_gpr_31 = (0x08B2C014u);
ctx.gpr[7] = (0u | 6u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 175u, 0x089089B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C014u) goto L_08B2C014;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C014:
aot_gpr_31 = (0x08B2C01Cu);
aot_gpr_4 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 79u, 0x0890849Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C01Cu) goto L_08B2C01C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C01C:
ctx.gpr[2] = (0u | 0u);
aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(4)));
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2C030:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
ctx.gpr[18] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08B2C060u);
ctx.gpr[7] = (ctx.gpr[18] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C060u) goto L_08B2C060;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C060:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2C06Cu);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C06Cu) goto L_08B2C06C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C06C:
ctx.gpr[8] = (0u | 0u);
ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(4)));
ctx.gpr[7] = (ctx.gpr[2] + static_cast<std::uint32_t>(1396));
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(524)));
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
goto L_08B2C080;
L_08B2C080:
ctx.gpr[9] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast<std::uint32_t>(4)));
{ const bool branch_taken = ctx.gpr[9] != ctx.gpr[6];
if (branch_taken) {
goto L_08B2C094;
}
goto L_08B2C08C;
}
L_08B2C08C:
{ const bool branch_taken = 0u == 0u;
ctx.gpr[6] = (0u | 1u);
if (branch_taken) {
goto L_08B2C0A8;
}
goto L_08B2C094;
}
L_08B2C094:
ctx.gpr[8] = (ctx.gpr[8] + static_cast<std::uint32_t>(1));
ctx.gpr[9] = (ctx.gpr[8] < static_cast<std::uint32_t>(10) ? 1u : 0u);
{ const bool branch_taken = ctx.gpr[9] != 0u;
ctx.gpr[7] = (ctx.gpr[7] + static_cast<std::uint32_t>(28));
if (branch_taken) {
goto L_08B2C080;
}
goto L_08B2C0A4;
}
L_08B2C0A4:
ctx.gpr[6] = (0u | 0u);
goto L_08B2C0A8;
L_08B2C0A8:
ctx.gpr[6] = (ctx.gpr[6] & 255u);
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
aot_gpr_5 = (ctx.gpr[6] ^ aot_gpr_5);
{ const bool branch_taken = aot_gpr_4 != 0u;
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
if (branch_taken) {
goto L_08B2C0C4;
}
goto L_08B2C0BC;
}
L_08B2C0BC:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_5));
if (branch_taken) {
goto L_08B2C10C;
}
goto L_08B2C0C4;
}
L_08B2C0C4:
aot_gpr_4 = (aot_gpr_16 + static_cast<std::uint32_t>(518));
ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast<std::uint32_t>(0)));
ctx.gpr[7] = (static_cast<std::int32_t>(ctx.gpr[6]) < 9 ? 1u : 0u);
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store16(aot_gpr_4 + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(ctx.gpr[6]));
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(521)));
{ const bool branch_taken = ctx.gpr[7] == 0u;
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
if (branch_taken) {
goto L_08B2C0F0;
}
goto L_08B2C0E4;
}
L_08B2C0E4:
aot_gpr_4 = (aot_gpr_5 & aot_gpr_4);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08B2C10C;
}
goto L_08B2C0F0;
}
L_08B2C0F0:
aot_gpr_4 = (aot_gpr_5 | aot_gpr_4);
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_4) < 21 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08B2C10C;
}
goto L_08B2C108;
}
L_08B2C108:
aot_mem.aot_direct_store16(aot_gpr_16 + static_cast<std::uint32_t>(518), static_cast<std::uint16_t>(0u));
goto L_08B2C10C;
L_08B2C10C:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[4]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
aot_gpr_31 = aot_run_words[3];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2C128:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-32));
{ const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(12), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
ctx.gpr[18] = (2236u << 16u);
ctx.gpr[19] = (ctx.gpr[18] + static_cast<std::uint32_t>(29704));
aot_gpr_5 = (aot_gpr_17 | 0u);
ctx.gpr[6] = (0u | 1u);
aot_gpr_31 = (0x08B2C160u);
ctx.gpr[7] = (ctx.gpr[19] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C160u) goto L_08B2C160;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C160:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2C16Cu);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C16Cu) goto L_08B2C16C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C16C:
ctx.gpr[6] = (aot_gpr_29 + static_cast<std::uint32_t>(4));
ctx.gpr[7] = (aot_gpr_29 + static_cast<std::uint32_t>(8));
aot_gpr_4 = (ctx.gpr[2] | 0u);
aot_gpr_31 = (0x08B2C180u);
aot_gpr_5 = (aot_gpr_29 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0060_entry, 60u, 869u, 0x088F7DF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C180u) goto L_08B2C180;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C180:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast<std::uint32_t>(29704), aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(4)));
aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast<std::uint32_t>(4), aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(8)));
aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast<std::uint32_t>(8), aot_gpr_4);
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (aot_gpr_17 | 0u);
aot_gpr_31 = (0x08B2C1A8u);
ctx.gpr[6] = (0u | 3u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C1A8u) goto L_08B2C1A8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C1A8:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[5]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(12), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
ctx.gpr[19] = aot_run_words[3];
aot_gpr_31 = aot_run_words[4];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2C1C8:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
aot_gpr_31 = (0x08B2C1F0u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C1F0u) goto L_08B2C1F0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C1F0:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2C1FCu);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C1FCu) goto L_08B2C1FC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C1FC:
aot_gpr_5 = (ctx.gpr[2] | 0u);
aot_gpr_4 = (0u | 0u);
{ const bool branch_taken = aot_gpr_5 == 0u;
if (branch_taken) {
goto L_08B2C220;
}
goto L_08B2C20C;
}
L_08B2C20C:
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(236)));
aot_gpr_5 = (aot_gpr_5 & 256u);
{ const bool branch_taken = aot_gpr_5 == 0u;
if (branch_taken) {
goto L_08B2C220;
}
goto L_08B2C21C;
}
L_08B2C21C:
aot_gpr_4 = (0u | 1u);
goto L_08B2C220;
L_08B2C220:
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(524)));
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5);
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
{ const bool branch_taken = aot_gpr_5 != 0u;
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
if (branch_taken) {
goto L_08B2C24C;
}
goto L_08B2C244;
}
L_08B2C244:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08B2C294;
}
goto L_08B2C24C;
}
L_08B2C24C:
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(518));
ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(0)));
ctx.gpr[7] = (static_cast<std::int32_t>(ctx.gpr[6]) < 9 ? 1u : 0u);
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store16(aot_gpr_5 + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(ctx.gpr[6]));
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(521)));
{ const bool branch_taken = ctx.gpr[7] == 0u;
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
if (branch_taken) {
goto L_08B2C278;
}
goto L_08B2C26C;
}
L_08B2C26C:
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08B2C294;
}
goto L_08B2C278;
}
L_08B2C278:
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_4) < 21 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08B2C294;
}
goto L_08B2C290;
}
L_08B2C290:
aot_mem.aot_direct_store16(aot_gpr_16 + static_cast<std::uint32_t>(518), static_cast<std::uint16_t>(0u));
goto L_08B2C294;
L_08B2C294:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2C2AC:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-32));
{ const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
ctx.gpr[18] = (2236u << 16u);
ctx.gpr[19] = (ctx.gpr[18] + static_cast<std::uint32_t>(29704));
aot_gpr_5 = (aot_gpr_17 | 0u);
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08B2C2E4u);
ctx.gpr[7] = (ctx.gpr[19] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C2E4u) goto L_08B2C2E4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C2E4:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2C2F0u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C2F0u) goto L_08B2C2F0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C2F0:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(4)));
aot_gpr_5 = (aot_gpr_4 << 5u);
aot_gpr_4 = (aot_gpr_4 << 2u);
aot_gpr_4 = (aot_gpr_5 - aot_gpr_4);
aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4);
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(1368));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(4)));
aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast<std::uint32_t>(29704), aot_gpr_5);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(16)));
aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast<std::uint32_t>(4), aot_gpr_4);
aot_gpr_31 = (0x08B2C320u);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0059_entry, 59u, 587u, 0x088F2CE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C320u) goto L_08B2C320;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C320:
aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast<std::uint32_t>(8), ctx.gpr[2]);
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (aot_gpr_17 | 0u);
aot_gpr_31 = (0x08B2C334u);
ctx.gpr[6] = (0u | 3u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C334u) goto L_08B2C334;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C334:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[5]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
ctx.gpr[19] = aot_run_words[3];
aot_gpr_31 = aot_run_words[4];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2C354:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-96));
{ const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(64), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
ctx.gpr[18] = (2236u << 16u);
ctx.gpr[19] = (ctx.gpr[18] + static_cast<std::uint32_t>(29704));
aot_gpr_5 = (aot_gpr_17 | 0u);
ctx.gpr[6] = (0u | 4u);
aot_gpr_31 = (0x08B2C38Cu);
ctx.gpr[7] = (ctx.gpr[19] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C38Cu) goto L_08B2C38C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C38C:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2C398u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C398u) goto L_08B2C398;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C398:
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(ctx.gpr[19] + static_cast<std::uint32_t>(4), aot_run_words);
aot_fpr_12 = std::bit_cast<float>(aot_run_words[0]);
aot_fpr_13 = std::bit_cast<float>(aot_run_words[1]);
aot_fpr_14 = std::bit_cast<float>(aot_run_words[2]);
}
{ const std::uint32_t aot_run_words[3]{std::bit_cast<std::uint32_t>(aot_fpr_12), std::bit_cast<std::uint32_t>(aot_fpr_13), std::bit_cast<std::uint32_t>(aot_fpr_14)};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
{ const std::uint32_t vfpu_address = aot_gpr_29 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<4u, 4u>(vfpu_value); }
{ const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast<std::uint32_t>(16);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<5u, 4u>(vfpu_value); }
{ const std::uint32_t vfpu_address = ctx.gpr[2] + static_cast<std::uint32_t>(32);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<6u, 4u>(vfpu_value); }
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<7u, 4u>(vfpu_value); }
ctx.execute_vfpu_vtfm_ct<0u, 36u, 7u, 3u, 3u>();
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_29 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const std::uint32_t vfpu_address = aot_gpr_29 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_gpr_31 = (0x08B2C3E8u);
aot_gpr_5 = (ctx.gpr[2] + static_cast<std::uint32_t>(48));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C3E8u) goto L_08B2C3E8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C3E8:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(32)));
aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast<std::uint32_t>(29704), aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(36)));
aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast<std::uint32_t>(4), aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(40)));
aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast<std::uint32_t>(8), aot_gpr_4);
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (aot_gpr_17 | 0u);
aot_gpr_31 = (0x08B2C410u);
ctx.gpr[6] = (0u | 3u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C410u) goto L_08B2C410;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C410:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[5]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(64), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
ctx.gpr[19] = aot_run_words[3];
aot_gpr_31 = aot_run_words[4];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(96));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2C430:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
aot_gpr_31 = (0x08B2C458u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C458u) goto L_08B2C458;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C458:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2C464u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C464u) goto L_08B2C464;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C464:
ctx.gpr[6] = (ctx.gpr[2] | 0u);
aot_gpr_4 = (0u | 0u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast<std::uint32_t>(464)));
ctx.gpr[7] = (128u << 16u);
ctx.gpr[7] = (aot_gpr_5 & ctx.gpr[7]);
{ const bool branch_taken = ctx.gpr[7] == 0u;
if (branch_taken) {
goto L_08B2C494;
}
goto L_08B2C480;
}
L_08B2C480:
aot_gpr_4 = (0u | 1u);
ctx.gpr[7] = (65408u << 16u);
ctx.gpr[7] = (ctx.gpr[7] + static_cast<std::uint32_t>(-1));
aot_gpr_5 = (aot_gpr_5 & ctx.gpr[7]);
aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast<std::uint32_t>(464), aot_gpr_5);
goto L_08B2C494;
L_08B2C494:
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(524)));
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5);
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
{ const bool branch_taken = aot_gpr_5 != 0u;
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
if (branch_taken) {
goto L_08B2C4C0;
}
goto L_08B2C4B8;
}
L_08B2C4B8:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08B2C508;
}
goto L_08B2C4C0;
}
L_08B2C4C0:
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(518));
ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(0)));
ctx.gpr[7] = (static_cast<std::int32_t>(ctx.gpr[6]) < 9 ? 1u : 0u);
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store16(aot_gpr_5 + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(ctx.gpr[6]));
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(521)));
{ const bool branch_taken = ctx.gpr[7] == 0u;
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
if (branch_taken) {
goto L_08B2C4EC;
}
goto L_08B2C4E0;
}
L_08B2C4E0:
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08B2C508;
}
goto L_08B2C4EC;
}
L_08B2C4EC:
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_4) < 21 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08B2C508;
}
goto L_08B2C504;
}
L_08B2C504:
aot_mem.aot_direct_store16(aot_gpr_16 + static_cast<std::uint32_t>(518), static_cast<std::uint16_t>(0u));
goto L_08B2C508;
L_08B2C508:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2C520:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08B2C548u);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C548u) goto L_08B2C548;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C548:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2C554u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C554u) goto L_08B2C554;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C554:
aot_gpr_16 = (ctx.gpr[2] | 0u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
{ const bool branch_taken = aot_gpr_5 == 0u;
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(236)));
if (branch_taken) {
goto L_08B2C574;
}
goto L_08B2C564;
}
L_08B2C564:
aot_gpr_5 = (16384u << 16u);
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(236), aot_gpr_4);
if (branch_taken) {
goto L_08B2C5C0;
}
goto L_08B2C574;
}
L_08B2C574:
aot_gpr_5 = (49152u << 16u);
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(-1));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(236), aot_gpr_4);
aot_gpr_31 = (0x08B2C58Cu);
aot_gpr_4 = (aot_gpr_16 + static_cast<std::uint32_t>(48));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 321u, 0x08809958u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C58Cu) goto L_08B2C58C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C58C:
{ const bool branch_taken = ctx.gpr[2] != 0u;
if (branch_taken) {
goto L_08B2C5C0;
}
goto L_08B2C594;
}
L_08B2C594:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(76)));
aot_gpr_5 = (65520u << 16u);
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(-1));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(76), aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(92)));
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(168));
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(0))))));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(4)));
jump_target = aot_gpr_5;
aot_gpr_31 = (0x08B2C5C0u);
aot_gpr_4 = (aot_gpr_16 + aot_gpr_4);
ctx.pc = jump_target;
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C5C0u) goto L_08B2C5C0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C5C0:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2C5D8:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08B2C600u);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C600u) goto L_08B2C600;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C600:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2C60Cu);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C60Cu) goto L_08B2C60C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C60C:
aot_gpr_5 = (ctx.gpr[2] | 0u);
ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
{ const bool branch_taken = ctx.gpr[6] == 0u;
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(464)));
if (branch_taken) {
goto L_08B2C62C;
}
goto L_08B2C61C;
}
L_08B2C61C:
ctx.gpr[6] = (256u << 16u);
aot_gpr_4 = (aot_gpr_4 | ctx.gpr[6]);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(464), aot_gpr_4);
if (branch_taken) {
goto L_08B2C63C;
}
goto L_08B2C62C;
}
L_08B2C62C:
ctx.gpr[6] = (65280u << 16u);
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(-1));
aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]);
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(464), aot_gpr_4);
goto L_08B2C63C;
L_08B2C63C:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2C654:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
ctx.gpr[18] = (2236u << 16u);
ctx.gpr[7] = (ctx.gpr[18] + static_cast<std::uint32_t>(29704));
aot_gpr_5 = (aot_gpr_17 | 0u);
aot_gpr_31 = (0x08B2C684u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C684u) goto L_08B2C684;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C684:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2C690u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C690u) goto L_08B2C690;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C690:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast<std::uint32_t>(1256)));
aot_fpr_12 = std::bit_cast<float>(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12));
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast<std::uint32_t>(29704), aot_gpr_4);
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (aot_gpr_17 | 0u);
aot_gpr_31 = (0x08B2C6B0u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C6B0u) goto L_08B2C6B0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C6B0:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[4]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
aot_gpr_31 = aot_run_words[3];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2C6CC:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 3u);
aot_gpr_31 = (0x08B2C6F4u);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C6F4u) goto L_08B2C6F4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C6F4:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2C700u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C700u) goto L_08B2C700;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C700:
aot_gpr_16 = (ctx.gpr[2] | 0u);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08B2C734;
}
goto L_08B2C710;
}
L_08B2C710:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(460)));
aot_gpr_4 = (aot_gpr_4 | 4096u);
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(460), aot_gpr_4);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(8)));
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_31 = (0x08B2C72Cu);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 654u, 0x089AB1F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C72Cu) goto L_08B2C72C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C72C:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08B2C750;
}
goto L_08B2C734;
}
L_08B2C734:
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_31 = (0x08B2C740u);
aot_gpr_5 = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 696u, 0x089AB4FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C740u) goto L_08B2C740;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C740:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(460)));
aot_gpr_5 = (0u + static_cast<std::uint32_t>(-4097));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(460), aot_gpr_4);
goto L_08B2C750;
L_08B2C750:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2C768:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_gpr_16);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_gpr_31);
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
aot_gpr_31 = (0x08B2C788u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C788u) goto L_08B2C788;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C788:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2C794u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C794u) goto L_08B2C794;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C794:
aot_gpr_31 = (0x08B2C79Cu);
aot_gpr_4 = (ctx.gpr[2] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 766u, 0x089AB948u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C79Cu) goto L_08B2C79C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C79C:
ctx.gpr[2] = (0u | 0u);
aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(4)));
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2C7B0:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-32));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(16), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 8u);
aot_gpr_31 = (0x08B2C7D8u);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C7D8u) goto L_08B2C7D8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C7D8:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2C7E4u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C7E4u) goto L_08B2C7E4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C7E4:
aot_gpr_16 = (ctx.gpr[2] | 0u);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15960)));
aot_gpr_31 = (0x08B2C7F4u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 445u, 0x08B65D28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C7F4u) goto L_08B2C7F4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C7F4:
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_17 + static_cast<std::uint32_t>(8), aot_run_words);
aot_fpr_13 = std::bit_cast<float>(aot_run_words[0]);
aot_fpr_14 = std::bit_cast<float>(aot_run_words[1]);
ctx.fpr[15] = std::bit_cast<float>(aot_run_words[2]);
}
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(24)));
aot_gpr_4 = (16457u << 16u);
aot_gpr_4 = (aot_gpr_4 | 4059u);
ctx.fpr[16] = std::bit_cast<float>(aot_gpr_4);
{ const float fs = aot_fpr_12; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
aot_gpr_4 = (17204u << 16u);
ctx.fpr[17] = std::bit_cast<float>(aot_gpr_4);
aot_fpr_12 = aot_fpr_12 / ctx.fpr[17];
{ const std::uint32_t aot_run_words[3]{std::bit_cast<std::uint32_t>(aot_fpr_13), std::bit_cast<std::uint32_t>(aot_fpr_14), std::bit_cast<std::uint32_t>(ctx.fpr[15])};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(20)));
ctx.gpr[7] = (ctx.gpr[7] & 65535u);
ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(28)));
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (ctx.gpr[2] | 0u);
aot_gpr_31 = (0x08B2C848u);
ctx.gpr[6] = (aot_gpr_29 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0074_entry, 74u, 76u, 0x0892C914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C848u) goto L_08B2C848;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C848:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(16), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2C860:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 3u);
aot_gpr_31 = (0x08B2C888u);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C888u) goto L_08B2C888;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C888:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2C894u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C894u) goto L_08B2C894;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C894:
aot_gpr_31 = (0x08B2C89Cu);
aot_gpr_4 = (ctx.gpr[2] | 0u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089474C4, 80u, 661u, 0x089474C4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0080_entry, 80u, 661u, 0x089474C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C89Cu) goto L_08B2C89C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C89C:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2C8A8u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C8A8u) goto L_08B2C8A8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C8A8:
aot_gpr_5 = (ctx.gpr[2] | 0u);
ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(8)));
{ const bool branch_taken = ctx.gpr[6] == 0u;
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(464)));
if (branch_taken) {
goto L_08B2C8D8;
}
goto L_08B2C8B8;
}
L_08B2C8B8:
ctx.gpr[6] = (4096u << 16u);
aot_gpr_4 = (aot_gpr_4 | ctx.gpr[6]);
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(464), aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(684)));
ctx.gpr[6] = (0u + static_cast<std::uint32_t>(-2));
aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(684), aot_gpr_4);
if (branch_taken) {
goto L_08B2C8E8;
}
goto L_08B2C8D8;
}
L_08B2C8D8:
ctx.gpr[6] = (61440u << 16u);
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(-1));
aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]);
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(464), aot_gpr_4);
goto L_08B2C8E8;
L_08B2C8E8:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2C900:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
aot_gpr_31 = (0x08B2C928u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C928u) goto L_08B2C928;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C928:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2C934u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2C934u) goto L_08B2C934;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2C934:
aot_gpr_4 = (0u | 0u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast<std::uint32_t>(2196)));
ctx.gpr[6] = (0u | 38u);
{ const bool branch_taken = aot_gpr_5 != ctx.gpr[6];
if (branch_taken) {
goto L_08B2C94C;
}
goto L_08B2C948;
}
L_08B2C948:
aot_gpr_4 = (0u | 1u);
goto L_08B2C94C;
L_08B2C94C:
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(524)));
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5);
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
{ const bool branch_taken = aot_gpr_5 != 0u;
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
if (branch_taken) {
goto L_08B2C978;
}
goto L_08B2C970;
}
L_08B2C970:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08B2C9C0;
}
goto L_08B2C978;
}
L_08B2C978:
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(518));
ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(0)));
ctx.gpr[7] = (static_cast<std::int32_t>(ctx.gpr[6]) < 9 ? 1u : 0u);
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store16(aot_gpr_5 + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(ctx.gpr[6]));
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(521)));
{ const bool branch_taken = ctx.gpr[7] == 0u;
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
if (branch_taken) {
goto L_08B2C9A4;
}
goto L_08B2C998;
}
L_08B2C998:
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08B2C9C0;
}
goto L_08B2C9A4;
}
L_08B2C9A4:
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_4) < 21 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08B2C9C0;
}
goto L_08B2C9BC;
}
L_08B2C9BC:
aot_mem.aot_direct_store16(aot_gpr_16 + static_cast<std::uint32_t>(518), static_cast<std::uint16_t>(0u));
goto L_08B2C9C0;
L_08B2C9C0:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2C9D8:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-32));
{ const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(16), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
ctx.gpr[18] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
aot_gpr_4 = (aot_gpr_16 | 0u);
ctx.gpr[6] = (0u | 5u);
aot_gpr_31 = (0x08B2CA0Cu);
ctx.gpr[7] = (ctx.gpr[18] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2CA0Cu) goto L_08B2CA0C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2CA0C:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2CA18u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2CA18u) goto L_08B2CA18;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2CA18:
{ std::uint32_t aot_run_words[4]{};
aot_mem.aot_direct_load32_block(ctx.gpr[18] + static_cast<std::uint32_t>(4), aot_run_words);
aot_fpr_12 = std::bit_cast<float>(aot_run_words[0]);
aot_fpr_13 = std::bit_cast<float>(aot_run_words[1]);
aot_fpr_14 = std::bit_cast<float>(aot_run_words[2]);
ctx.fpr[15] = std::bit_cast<float>(aot_run_words[3]);
}
aot_gpr_17 = (0u | 0u);
aot_gpr_4 = (ctx.gpr[2] + static_cast<std::uint32_t>(48));
{ const std::uint32_t aot_run_words[3]{std::bit_cast<std::uint32_t>(aot_fpr_12), std::bit_cast<std::uint32_t>(aot_fpr_13), std::bit_cast<std::uint32_t>(aot_fpr_14)};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_29 | 0u);
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[15]));
aot_gpr_31 = (0x08B2CA4Cu);
ctx.gpr[6] = (0u | 4u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 302u, 0x08891FDCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2CA4Cu) goto L_08B2CA4C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2CA4C:
{ const bool branch_taken = ctx.gpr[2] == 0u;
if (branch_taken) {
goto L_08B2CA58;
}
goto L_08B2CA54;
}
L_08B2CA54:
aot_gpr_17 = (0u | 1u);
goto L_08B2CA58;
L_08B2CA58:
aot_gpr_4 = (0u < aot_gpr_17 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(524)));
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
aot_gpr_17 = (aot_gpr_4 ^ aot_gpr_5);
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
{ const bool branch_taken = aot_gpr_4 != 0u;
aot_gpr_17 = (0u < aot_gpr_17 ? 1u : 0u);
if (branch_taken) {
goto L_08B2CA84;
}
goto L_08B2CA7C;
}
L_08B2CA7C:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_17));
if (branch_taken) {
goto L_08B2CAD4;
}
goto L_08B2CA84;
}
L_08B2CA84:
aot_gpr_4 = (aot_gpr_16 + static_cast<std::uint32_t>(518));
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast<std::uint32_t>(0)));
ctx.gpr[6] = (aot_gpr_5 + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store16(aot_gpr_4 + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(ctx.gpr[6]));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_5) < 9 ? 1u : 0u);
if (aot_gpr_4 == 0u) {
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(521)));
goto L_08B2CAB4;
}
goto L_08B2CAA0;
L_08B2CAA0:
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(521)));
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_17 & aot_gpr_4);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08B2CAD4;
}
goto L_08B2CAB4;
}
L_08B2CAB4:
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_17 | aot_gpr_4);
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_4) < 21 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08B2CAD4;
}
goto L_08B2CAD0;
}
L_08B2CAD0:
aot_mem.aot_direct_store16(aot_gpr_16 + static_cast<std::uint32_t>(518), static_cast<std::uint16_t>(0u));
goto L_08B2CAD4;
L_08B2CAD4:
{ const bool branch_taken = 0u == 0u;
ctx.gpr[2] = (0u | 0u);
if (branch_taken) {
goto L_08B2CADC;
}
goto L_08B2CADC;
}
L_08B2CADC:
{ std::uint32_t aot_run_words[4]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(16), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
aot_gpr_31 = aot_run_words[3];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2CAF4:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 3u);
aot_gpr_31 = (0x08B2CB1Cu);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2CB1Cu) goto L_08B2CB1C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2CB1C:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2CB28u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2CB28u) goto L_08B2CB28;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2CB28:
ctx.gpr[6] = (ctx.gpr[2] | 0u);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
aot_gpr_5 = (0u | 1u);
aot_gpr_5 = (aot_gpr_5 << (aot_gpr_4 & 31u));
aot_gpr_5 = (aot_gpr_5 & 255u);
ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(8)));
{ const bool branch_taken = ctx.gpr[7] == 0u;
aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast<std::uint32_t>(478)));
if (branch_taken) {
goto L_08B2CB54;
}
goto L_08B2CB48;
}
L_08B2CB48:
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store16(ctx.gpr[6] + static_cast<std::uint32_t>(478), static_cast<std::uint16_t>(aot_gpr_4));
if (branch_taken) {
goto L_08B2CB60;
}
goto L_08B2CB54;
}
L_08B2CB54:
aot_gpr_5 = (~(aot_gpr_5 | 0u));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
aot_mem.aot_direct_store16(ctx.gpr[6] + static_cast<std::uint32_t>(478), static_cast<std::uint16_t>(aot_gpr_4));
goto L_08B2CB60;
L_08B2CB60:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2CB78:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-32));
{ const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
ctx.gpr[18] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08B2CBACu);
ctx.gpr[7] = (ctx.gpr[18] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2CBACu) goto L_08B2CBAC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2CBAC:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2CBB8u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2CBB8u) goto L_08B2CBB8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2CBB8:
ctx.gpr[19] = (ctx.gpr[2] | 0u);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2CBC8u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(4)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2CBC8u) goto L_08B2CBC8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2CBC8:
ctx.gpr[18] = (ctx.gpr[2] | 0u);
aot_gpr_17 = (0u | 0u);
{ const bool branch_taken = ctx.gpr[19] == 0u;
if (branch_taken) {
goto L_08B2CC14;
}
goto L_08B2CBD8;
}
L_08B2CBD8:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(1864)));
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08B2CC14;
}
goto L_08B2CBE4;
}
L_08B2CBE4:
{ const bool branch_taken = aot_gpr_4 != ctx.gpr[18];
if (branch_taken) {
goto L_08B2CBF0;
}
goto L_08B2CBEC;
}
L_08B2CBEC:
aot_gpr_17 = (0u | 1u);
goto L_08B2CBF0;
L_08B2CBF0:
aot_gpr_31 = (0x08B2CBF8u);
aot_gpr_4 = (ctx.gpr[18] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2CBF8u) goto L_08B2CBF8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2CBF8:
{ const bool branch_taken = ctx.gpr[2] == 0u;
if (branch_taken) {
goto L_08B2CC14;
}
goto L_08B2CC00;
}
L_08B2CC00:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(1864)));
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(1152)));
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
if (branch_taken) {
goto L_08B2CC14;
}
goto L_08B2CC10;
}
L_08B2CC10:
aot_gpr_17 = (0u | 1u);
goto L_08B2CC14;
L_08B2CC14:
aot_gpr_4 = (0u < aot_gpr_17 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(524)));
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
aot_gpr_17 = (aot_gpr_4 ^ aot_gpr_5);
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
{ const bool branch_taken = aot_gpr_4 != 0u;
aot_gpr_17 = (0u < aot_gpr_17 ? 1u : 0u);
if (branch_taken) {
goto L_08B2CC40;
}
goto L_08B2CC38;
}
L_08B2CC38:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_17));
if (branch_taken) {
goto L_08B2CC88;
}
goto L_08B2CC40;
}
L_08B2CC40:
aot_gpr_4 = (aot_gpr_16 + static_cast<std::uint32_t>(518));
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast<std::uint32_t>(0)));
ctx.gpr[6] = (static_cast<std::int32_t>(aot_gpr_5) < 9 ? 1u : 0u);
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store16(aot_gpr_4 + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(aot_gpr_5));
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(521)));
{ const bool branch_taken = ctx.gpr[6] == 0u;
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
if (branch_taken) {
goto L_08B2CC6C;
}
goto L_08B2CC60;
}
L_08B2CC60:
aot_gpr_4 = (aot_gpr_17 & aot_gpr_4);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08B2CC88;
}
goto L_08B2CC6C;
}
L_08B2CC6C:
aot_gpr_4 = (aot_gpr_17 | aot_gpr_4);
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_4) < 21 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08B2CC88;
}
goto L_08B2CC84;
}
L_08B2CC84:
aot_mem.aot_direct_store16(aot_gpr_16 + static_cast<std::uint32_t>(518), static_cast<std::uint16_t>(0u));
goto L_08B2CC88;
L_08B2CC88:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[5]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
ctx.gpr[19] = aot_run_words[3];
aot_gpr_31 = aot_run_words[4];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2CCA8:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
ctx.gpr[18] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08B2CCD8u);
ctx.gpr[7] = (ctx.gpr[18] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2CCD8u) goto L_08B2CCD8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2CCD8:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2CCE4u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2CCE4u) goto L_08B2CCE4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2CCE4:
aot_gpr_17 = (ctx.gpr[2] | 0u);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08B2CCF4u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(4)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2CCF4u) goto L_08B2CCF4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2CCF4:
aot_gpr_5 = (ctx.gpr[2] | 0u);
aot_gpr_4 = (0u | 0u);
{ const bool branch_taken = aot_gpr_17 == 0u;
if (branch_taken) {
goto L_08B2CD1C;
}
goto L_08B2CD04;
}
L_08B2CD04:
aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(1864)));
{ const bool branch_taken = aot_gpr_17 == 0u;
if (branch_taken) {
goto L_08B2CD1C;
}
goto L_08B2CD10;
}
L_08B2CD10:
{ const bool branch_taken = aot_gpr_17 != aot_gpr_5;
if (branch_taken) {
goto L_08B2CD1C;
}
goto L_08B2CD18;
}
L_08B2CD18:
aot_gpr_4 = (0u | 1u);
goto L_08B2CD1C;
L_08B2CD1C:
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(524)));
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5);
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
{ const bool branch_taken = aot_gpr_5 != 0u;
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
if (branch_taken) {
goto L_08B2CD48;
}
goto L_08B2CD40;
}
L_08B2CD40:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08B2CD90;
}
goto L_08B2CD48;
}
L_08B2CD48:
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(518));
ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(0)));
ctx.gpr[7] = (static_cast<std::int32_t>(ctx.gpr[6]) < 9 ? 1u : 0u);
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store16(aot_gpr_5 + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(ctx.gpr[6]));
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(521)));
{ const bool branch_taken = ctx.gpr[7] == 0u;
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
if (branch_taken) {
goto L_08B2CD74;
}
goto L_08B2CD68;
}
L_08B2CD68:
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08B2CD90;
}
goto L_08B2CD74;
}
L_08B2CD74:
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_4) < 21 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08B2CD90;
}
goto L_08B2CD8C;
}
L_08B2CD8C:
aot_mem.aot_direct_store16(aot_gpr_16 + static_cast<std::uint32_t>(518), static_cast<std::uint16_t>(0u));
goto L_08B2CD90;
L_08B2CD90:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[4]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
aot_gpr_31 = aot_run_words[3];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2CDAC:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
aot_gpr_31 = (0x08B2CDD4u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2CDD4u) goto L_08B2CDD4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2CDD4:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2CDE0u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2CDE0u) goto L_08B2CDE0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2CDE0:
aot_gpr_5 = (ctx.gpr[2] | 0u);
aot_gpr_4 = (0u | 0u);
{ const bool branch_taken = aot_gpr_5 == 0u;
if (branch_taken) {
goto L_08B2CE0C;
}
goto L_08B2CDF0;
}
L_08B2CDF0:
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(2228)));
aot_gpr_5 = (aot_gpr_5 ^ 68u);
aot_gpr_5 = (aot_gpr_5 < static_cast<std::uint32_t>(1) ? 1u : 0u);
aot_gpr_5 = (aot_gpr_5 & 255u);
{ const bool branch_taken = aot_gpr_5 == 0u;
if (branch_taken) {
goto L_08B2CE0C;
}
goto L_08B2CE08;
}
L_08B2CE08:
aot_gpr_4 = (0u | 1u);
goto L_08B2CE0C;
L_08B2CE0C:
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(524)));
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5);
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
{ const bool branch_taken = aot_gpr_5 != 0u;
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
if (branch_taken) {
goto L_08B2CE38;
}
goto L_08B2CE30;
}
L_08B2CE30:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08B2CE80;
}
goto L_08B2CE38;
}
L_08B2CE38:
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(518));
ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(0)));
ctx.gpr[7] = (static_cast<std::int32_t>(ctx.gpr[6]) < 9 ? 1u : 0u);
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store16(aot_gpr_5 + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(ctx.gpr[6]));
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(521)));
{ const bool branch_taken = ctx.gpr[7] == 0u;
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
if (branch_taken) {
goto L_08B2CE64;
}
goto L_08B2CE58;
}
L_08B2CE58:
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08B2CE80;
}
goto L_08B2CE64;
}
L_08B2CE64:
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_4) < 21 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08B2CE80;
}
goto L_08B2CE7C;
}
L_08B2CE7C:
aot_mem.aot_direct_store16(aot_gpr_16 + static_cast<std::uint32_t>(518), static_cast<std::uint16_t>(0u));
goto L_08B2CE80;
L_08B2CE80:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2CE98:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08B2CEC0u);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2CEC0u) goto L_08B2CEC0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2CEC0:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2CECCu);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2CECCu) goto L_08B2CECC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2CECC:
aot_gpr_5 = (ctx.gpr[2] | 0u);
ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
{ const bool branch_taken = ctx.gpr[6] == 0u;
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(464)));
if (branch_taken) {
goto L_08B2CEEC;
}
goto L_08B2CEDC;
}
L_08B2CEDC:
ctx.gpr[6] = (32768u << 16u);
aot_gpr_4 = (aot_gpr_4 | ctx.gpr[6]);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(464), aot_gpr_4);
if (branch_taken) {
goto L_08B2CEFC;
}
goto L_08B2CEEC;
}
L_08B2CEEC:
ctx.gpr[6] = (32768u << 16u);
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(-1));
aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]);
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(464), aot_gpr_4);
goto L_08B2CEFC;
L_08B2CEFC:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2CF14:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08B2CF3Cu);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2CF3Cu) goto L_08B2CF3C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2CF3C:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2CF48u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2CF48u) goto L_08B2CF48;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2CF48:
aot_gpr_4 = (ctx.gpr[2] | 0u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
{ const bool branch_taken = aot_gpr_5 == 0u;
if (branch_taken) {
goto L_08B2CF68;
}
goto L_08B2CF58;
}
L_08B2CF58:
aot_gpr_31 = (0x08B2CF60u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 912u, 0x0890BA20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2CF60u) goto L_08B2CF60;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2CF60:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08B2CF70;
}
goto L_08B2CF68;
}
L_08B2CF68:
aot_gpr_31 = (0x08B2CF70u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 925u, 0x0890BB1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2CF70u) goto L_08B2CF70;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2CF70:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2CF88:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08B2CFB0u);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2CFB0u) goto L_08B2CFB0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2CFB0:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2CFBCu);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2CFBCu) goto L_08B2CFBC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2CFBC:
aot_gpr_5 = (ctx.gpr[2] | 0u);
ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
{ const bool branch_taken = ctx.gpr[6] == 0u;
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(468)));
if (branch_taken) {
goto L_08B2CFDC;
}
goto L_08B2CFCC;
}
L_08B2CFCC:
ctx.gpr[6] = (0u + static_cast<std::uint32_t>(-2));
aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(468), aot_gpr_4);
if (branch_taken) {
goto L_08B2CFE4;
}
goto L_08B2CFDC;
}
L_08B2CFDC:
aot_gpr_4 = (aot_gpr_4 | 1u);
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(468), aot_gpr_4);
goto L_08B2CFE4;
L_08B2CFE4:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2CFFC:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_gpr_16);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_gpr_31);
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
aot_gpr_31 = (0x08B2D01Cu);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D01Cu) goto L_08B2D01C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D01C:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2D028u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D028u) goto L_08B2D028;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D028:
aot_gpr_31 = (0x08B2D030u);
aot_gpr_4 = (ctx.gpr[2] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0073_entry, 73u, 396u, 0x08929C28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D030u) goto L_08B2D030;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D030:
ctx.gpr[2] = (0u | 0u);
aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(4)));
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2D044:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-32));
{ const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
ctx.gpr[18] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08B2D078u);
ctx.gpr[7] = (ctx.gpr[18] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D078u) goto L_08B2D078;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D078:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2D084u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D084u) goto L_08B2D084;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D084:
ctx.gpr[19] = (ctx.gpr[2] | 0u);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08B2D094u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(4)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D094u) goto L_08B2D094;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D094:
ctx.gpr[18] = (ctx.gpr[2] | 0u);
aot_gpr_17 = (0u | 0u);
aot_gpr_31 = (0x08B2D0A4u);
aot_gpr_4 = (ctx.gpr[19] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D0A4u) goto L_08B2D0A4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D0A4:
{ const bool branch_taken = ctx.gpr[2] == 0u;
if (branch_taken) {
goto L_08B2D0D8;
}
goto L_08B2D0AC;
}
L_08B2D0AC:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(1152)));
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08B2D0D8;
}
goto L_08B2D0B8;
}
L_08B2D0B8:
aot_gpr_31 = (0x08B2D0C0u);
aot_gpr_5 = (ctx.gpr[18] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 587u, 0x08A66C04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D0C0u) goto L_08B2D0C0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D0C0:
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(524)));
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
{ const bool branch_taken = ctx.gpr[2] == 0u;
ctx.gpr[18] = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
if (branch_taken) {
goto L_08B2D0F8;
}
goto L_08B2D0D0;
}
L_08B2D0D0:
{ const bool branch_taken = 0u == 0u;
aot_gpr_17 = (0u | 1u);
if (branch_taken) {
goto L_08B2D0F8;
}
goto L_08B2D0D8;
}
L_08B2D0D8:
aot_gpr_4 = (ctx.gpr[19] | 0u);
aot_gpr_31 = (0x08B2D0E4u);
aot_gpr_5 = (ctx.gpr[18] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 587u, 0x08A66C04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D0E4u) goto L_08B2D0E4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D0E4:
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(524)));
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
{ const bool branch_taken = ctx.gpr[2] == 0u;
ctx.gpr[18] = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
if (branch_taken) {
goto L_08B2D0F8;
}
goto L_08B2D0F4;
}
L_08B2D0F4:
aot_gpr_17 = (0u | 1u);
goto L_08B2D0F8;
L_08B2D0F8:
aot_gpr_5 = (0u < aot_gpr_17 ? 1u : 0u);
aot_gpr_5 = (aot_gpr_5 & 255u);
aot_gpr_5 = (aot_gpr_5 & 255u);
aot_gpr_17 = (aot_gpr_5 ^ aot_gpr_4);
{ const bool branch_taken = ctx.gpr[18] != 0u;
aot_gpr_17 = (0u < aot_gpr_17 ? 1u : 0u);
if (branch_taken) {
goto L_08B2D118;
}
goto L_08B2D110;
}
L_08B2D110:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_17));
if (branch_taken) {
goto L_08B2D160;
}
goto L_08B2D118;
}
L_08B2D118:
aot_gpr_4 = (aot_gpr_16 + static_cast<std::uint32_t>(518));
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast<std::uint32_t>(0)));
ctx.gpr[6] = (static_cast<std::int32_t>(aot_gpr_5) < 9 ? 1u : 0u);
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store16(aot_gpr_4 + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(aot_gpr_5));
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(521)));
{ const bool branch_taken = ctx.gpr[6] == 0u;
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
if (branch_taken) {
goto L_08B2D144;
}
goto L_08B2D138;
}
L_08B2D138:
aot_gpr_4 = (aot_gpr_17 & aot_gpr_4);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08B2D160;
}
goto L_08B2D144;
}
L_08B2D144:
aot_gpr_4 = (aot_gpr_17 | aot_gpr_4);
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_4) < 21 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08B2D160;
}
goto L_08B2D15C;
}
L_08B2D15C:
aot_mem.aot_direct_store16(aot_gpr_16 + static_cast<std::uint32_t>(518), static_cast<std::uint16_t>(0u));
goto L_08B2D160;
L_08B2D160:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[5]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
ctx.gpr[19] = aot_run_words[3];
aot_gpr_31 = aot_run_words[4];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2D180:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-64));
{ const std::uint32_t aot_run_words[13]{std::bit_cast<std::uint32_t>(ctx.fpr[20]), std::bit_cast<std::uint32_t>(ctx.fpr[22]), std::bit_cast<std::uint32_t>(ctx.fpr[24]), std::bit_cast<std::uint32_t>(ctx.fpr[26]), std::bit_cast<std::uint32_t>(ctx.fpr[28]), std::bit_cast<std::uint32_t>(aot_fpr_30), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
ctx.gpr[18] = (2236u << 16u);
aot_gpr_17 = (ctx.gpr[18] + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 6u);
aot_gpr_31 = (0x08B2D1D4u);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D1D4u) goto L_08B2D1D4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D1D4:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2D1E0u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D1E0u) goto L_08B2D1E0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D1E0:
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_17 + static_cast<std::uint32_t>(4), aot_run_words);
ctx.fpr[26] = std::bit_cast<float>(aot_run_words[0]);
ctx.fpr[28] = std::bit_cast<float>(aot_run_words[1]);
aot_fpr_30 = std::bit_cast<float>(aot_run_words[2]);
}
aot_gpr_4 = (ctx.gpr[2] + static_cast<std::uint32_t>(48));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
ctx.fpr[20] = aot_fpr_12 - ctx.fpr[26];
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(4)));
ctx.fpr[22] = aot_fpr_13 - ctx.fpr[28];
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(8)));
ctx.fpr[24] = aot_fpr_14 - aot_fpr_30;
ctx.fpr[26] = aot_fpr_12 + ctx.fpr[26];
ctx.fpr[28] = aot_fpr_13 + ctx.fpr[28];
aot_fpr_30 = aot_fpr_14 + aot_fpr_30;
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(8)));
ctx.gpr[19] = (0u | 0u);
ctx.gpr[20] = (ctx.gpr[18] + static_cast<std::uint32_t>(-1));
aot_gpr_4 = (0u + static_cast<std::uint32_t>(3344));
{ const std::int64_t product = static_cast<std::int64_t>(static_cast<std::int32_t>(ctx.gpr[18])) * static_cast<std::int64_t>(static_cast<std::int32_t>(aot_gpr_4)); ctx.lo = static_cast<std::uint32_t>(product); ctx.hi = static_cast<std::uint32_t>(static_cast<std::uint64_t>(product) >> 32u); }
ctx.gpr[21] = (ctx.lo);
aot_gpr_4 = (ctx.gpr[18] | 0u);
goto L_08B2D234;
L_08B2D234:
ctx.gpr[18] = (ctx.gpr[20] | 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
ctx.gpr[21] = (ctx.gpr[21] + static_cast<std::uint32_t>(-3344));
if (branch_taken) {
goto L_08B2D2E0;
}
goto L_08B2D240;
}
L_08B2D240:
if (ctx.gpr[19] != 0u) {
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(524)));
goto L_08B2D2E4;
}
goto L_08B2D248;
L_08B2D248:
{ const bool branch_taken = static_cast<std::int32_t>(ctx.gpr[18]) < 0;
ctx.gpr[20] = (ctx.gpr[18] + static_cast<std::uint32_t>(-1));
if (branch_taken) {
goto L_08B2D264;
}
goto L_08B2D250;
}
L_08B2D250:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(8)));
aot_gpr_5 = (static_cast<std::int32_t>(ctx.gpr[18]) < static_cast<std::int32_t>(aot_gpr_5) ? 1u : 0u);
if (aot_gpr_5 != 0u) {
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(4)));
goto L_08B2D26C;
}
goto L_08B2D264;
L_08B2D264:
{ const bool branch_taken = 0u == 0u;
aot_gpr_4 = (0u | 0u);
if (branch_taken) {
goto L_08B2D28C;
}
goto L_08B2D26C;
}
L_08B2D26C:
aot_gpr_5 = (aot_gpr_5 + ctx.gpr[18]);
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast<std::uint32_t>(0)));
aot_gpr_5 = (aot_gpr_5 & 128u);
if (aot_gpr_5 == 0u) {
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
goto L_08B2D288;
}
goto L_08B2D280;
L_08B2D280:
{ const bool branch_taken = 0u == 0u;
aot_gpr_4 = (0u | 0u);
if (branch_taken) {
goto L_08B2D28C;
}
goto L_08B2D288;
}
L_08B2D288:
aot_gpr_4 = (aot_gpr_4 + ctx.gpr[21]);
goto L_08B2D28C;
L_08B2D28C:
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08B2D2D8;
}
goto L_08B2D294;
}
L_08B2D294:
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast<std::uint32_t>(86))))));
ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(16)));
{ const bool branch_taken = aot_gpr_5 == ctx.gpr[6];
if (branch_taken) {
goto L_08B2D2B0;
}
goto L_08B2D2A4;
}
L_08B2D2A4:
ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(20)));
{ const bool branch_taken = aot_gpr_5 != ctx.gpr[6];
if (branch_taken) {
goto L_08B2D2D8;
}
goto L_08B2D2B0;
}
L_08B2D2B0:
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[20]));
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[22]));
aot_fpr_14 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[24]));
ctx.fpr[15] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[26]));
ctx.fpr[16] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[28]));
aot_gpr_31 = (0x08B2D2CCu);
ctx.fpr[17] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_30));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 799u, 0x08AAF984u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D2CCu) goto L_08B2D2CC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D2CC:
{ const bool branch_taken = ctx.gpr[2] == 0u;
if (branch_taken) {
goto L_08B2D2D8;
}
goto L_08B2D2D4;
}
L_08B2D2D4:
ctx.gpr[19] = (0u | 1u);
goto L_08B2D2D8;
L_08B2D2D8:
{ const bool branch_taken = 0u == 0u;
aot_gpr_4 = (ctx.gpr[18] | 0u);
if (branch_taken) {
goto L_08B2D234;
}
goto L_08B2D2E0;
}
L_08B2D2E0:
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(524)));
goto L_08B2D2E4;
L_08B2D2E4:
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
ctx.gpr[6] = (0u < ctx.gpr[19] ? 1u : 0u);
ctx.gpr[6] = (ctx.gpr[6] & 255u);
ctx.gpr[6] = (ctx.gpr[6] & 255u);
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
ctx.gpr[19] = (ctx.gpr[6] ^ aot_gpr_4);
{ const bool branch_taken = aot_gpr_5 != 0u;
ctx.gpr[19] = (0u < ctx.gpr[19] ? 1u : 0u);
if (branch_taken) {
goto L_08B2D30C;
}
goto L_08B2D304;
}
L_08B2D304:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(ctx.gpr[19]));
if (branch_taken) {
goto L_08B2D354;
}
goto L_08B2D30C;
}
L_08B2D30C:
aot_gpr_4 = (aot_gpr_16 + static_cast<std::uint32_t>(518));
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast<std::uint32_t>(0)));
ctx.gpr[6] = (static_cast<std::int32_t>(aot_gpr_5) < 9 ? 1u : 0u);
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store16(aot_gpr_4 + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(aot_gpr_5));
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(521)));
{ const bool branch_taken = ctx.gpr[6] == 0u;
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
if (branch_taken) {
goto L_08B2D338;
}
goto L_08B2D32C;
}
L_08B2D32C:
aot_gpr_4 = (ctx.gpr[19] & aot_gpr_4);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08B2D354;
}
goto L_08B2D338;
}
L_08B2D338:
aot_gpr_4 = (ctx.gpr[19] | aot_gpr_4);
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_4) < 21 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08B2D354;
}
goto L_08B2D350;
}
L_08B2D350:
aot_mem.aot_direct_store16(aot_gpr_16 + static_cast<std::uint32_t>(518), static_cast<std::uint16_t>(0u));
goto L_08B2D354;
L_08B2D354:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[13]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
ctx.fpr[20] = std::bit_cast<float>(aot_run_words[0]);
ctx.fpr[22] = std::bit_cast<float>(aot_run_words[1]);
ctx.fpr[24] = std::bit_cast<float>(aot_run_words[2]);
ctx.fpr[26] = std::bit_cast<float>(aot_run_words[3]);
ctx.fpr[28] = std::bit_cast<float>(aot_run_words[4]);
aot_fpr_30 = std::bit_cast<float>(aot_run_words[5]);
aot_gpr_16 = aot_run_words[6];
aot_gpr_17 = aot_run_words[7];
ctx.gpr[18] = aot_run_words[8];
ctx.gpr[19] = aot_run_words[9];
ctx.gpr[20] = aot_run_words[10];
ctx.gpr[21] = aot_run_words[11];
aot_gpr_31 = aot_run_words[12];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(64));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2D394:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08B2D3BCu);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D3BCu) goto L_08B2D3BC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D3BC:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2D3C8u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D3C8u) goto L_08B2D3C8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D3C8:
aot_gpr_5 = (ctx.gpr[2] | 0u);
ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
{ const bool branch_taken = ctx.gpr[6] == 0u;
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(468)));
if (branch_taken) {
goto L_08B2D3E4;
}
goto L_08B2D3D8;
}
L_08B2D3D8:
aot_gpr_4 = (aot_gpr_4 | 4u);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(468), aot_gpr_4);
if (branch_taken) {
goto L_08B2D3F0;
}
goto L_08B2D3E4;
}
L_08B2D3E4:
ctx.gpr[6] = (0u + static_cast<std::uint32_t>(-5));
aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]);
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(468), aot_gpr_4);
goto L_08B2D3F0;
L_08B2D3F0:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2D408:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_gpr_16);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_gpr_31);
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
aot_gpr_31 = (0x08B2D428u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D428u) goto L_08B2D428;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D428:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2D434u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D434u) goto L_08B2D434;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D434:
aot_gpr_4 = (ctx.gpr[2] | 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08B2D444;
}
goto L_08B2D440;
}
L_08B2D440:
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(1864), 0u);
goto L_08B2D444;
L_08B2D444:
ctx.gpr[2] = (0u | 0u);
aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(4)));
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2D458:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-48));
{ const std::uint32_t aot_run_words[8]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(16), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
ctx.gpr[22] = (aot_gpr_16 + static_cast<std::uint32_t>(16));
ctx.gpr[21] = (0u | 1u);
ctx.gpr[20] = (2236u << 16u);
ctx.gpr[7] = (ctx.gpr[20] + static_cast<std::uint32_t>(29704));
aot_gpr_5 = (ctx.gpr[22] | 0u);
aot_gpr_31 = (0x08B2D49Cu);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D49Cu) goto L_08B2D49C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D49C:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08B2D4A8u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D4A8u) goto L_08B2D4A8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D4A8:
ctx.gpr[19] = (ctx.gpr[2] | 0u);
aot_gpr_4 = (ctx.gpr[19] | 0u);
aot_gpr_31 = (0x08B2D4B8u);
aot_gpr_5 = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0113_entry, 113u, 641u, 0x089CA714u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D4B8u) goto L_08B2D4B8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D4B8:
ctx.gpr[18] = (ctx.gpr[2] | 0u);
{ const bool branch_taken = ctx.gpr[18] == 0u;
if (branch_taken) {
goto L_08B2D624;
}
goto L_08B2D4C4;
}
L_08B2D4C4:
aot_gpr_17 = (0u | 2u);
aot_gpr_4 = (ctx.gpr[18] | 0u);
aot_gpr_31 = (0x08B2D4D4u);
aot_gpr_5 = (0u | 2u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 334u, 0x08911320u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D4D4u) goto L_08B2D4D4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D4D4:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(456)));
aot_gpr_5 = (65532u << 16u);
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(-1));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast<std::uint32_t>(456), aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(460)));
aot_gpr_5 = (65024u << 16u);
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(-1));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast<std::uint32_t>(460), aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(464)));
aot_gpr_5 = (61440u << 16u);
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(-1));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast<std::uint32_t>(464), aot_gpr_4);
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast<std::uint32_t>(614))))));
aot_gpr_4 = (aot_gpr_4 & 2u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08B2D534;
}
goto L_08B2D520;
}
L_08B2D520:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(456)));
aot_gpr_5 = (65528u << 16u);
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(-1));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast<std::uint32_t>(456), aot_gpr_4);
goto L_08B2D534;
L_08B2D534:
aot_gpr_4 = (ctx.gpr[19] + static_cast<std::uint32_t>(48));
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_29 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_gpr_4 = (ctx.gpr[18] | 0u);
aot_gpr_31 = (0x08B2D54Cu);
aot_gpr_5 = (ctx.gpr[19] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 171u, 0x08910A24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D54Cu) goto L_08B2D54C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D54C:
aot_gpr_4 = (ctx.gpr[18] | 0u);
aot_gpr_31 = (0x08B2D558u);
aot_gpr_5 = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 209u, 0x08910BDCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D558u) goto L_08B2D558;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D558:
aot_gpr_4 = (ctx.gpr[18] | 0u);
aot_gpr_31 = (0x08B2D564u);
aot_gpr_5 = (0u | 55u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 240u, 0x08908D60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D564u) goto L_08B2D564;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D564:
aot_gpr_4 = (ctx.gpr[18] | 0u);
aot_gpr_5 = (ctx.gpr[19] | 0u);
aot_gpr_31 = (0x08B2D574u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 307u, 0x089B56FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D574u) goto L_08B2D574;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D574:
aot_gpr_4 = (ctx.gpr[19] | 0u);
aot_gpr_31 = (0x08B2D580u);
aot_gpr_5 = (ctx.gpr[18] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 72u, 0x08B00520u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D580u) goto L_08B2D580;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D580:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(72)));
aot_gpr_5 = (0u + static_cast<std::uint32_t>(-497));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
aot_gpr_4 = (aot_gpr_4 | 48u);
aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast<std::uint32_t>(72), aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(852)));
{ const bool branch_taken = aot_gpr_4 == ctx.gpr[21];
if (branch_taken) {
goto L_08B2D5B4;
}
goto L_08B2D5A0;
}
L_08B2D5A0:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(852)));
{ const bool branch_taken = aot_gpr_4 == aot_gpr_17;
if (branch_taken) {
goto L_08B2D5B4;
}
goto L_08B2D5AC;
}
L_08B2D5AC:
aot_gpr_4 = (0u | 0u);
aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast<std::uint32_t>(533), static_cast<std::uint8_t>(aot_gpr_4));
goto L_08B2D5B4;
L_08B2D5B4:
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast<std::uint32_t>(613))))));
aot_gpr_4 = (aot_gpr_4 | 16u);
aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast<std::uint32_t>(613), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-5336)));
aot_gpr_31 = (0x08B2D5CCu);
aot_gpr_5 = (aot_gpr_29 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 382u, 0x08A8DF08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D5CCu) goto L_08B2D5CC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D5CC:
aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast<std::uint32_t>(312), static_cast<std::uint8_t>(ctx.gpr[2]));
aot_gpr_31 = (0x08B2D5D8u);
aot_gpr_4 = (ctx.gpr[18] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0200_entry, 200u, 540u, 0x08B26CECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D5D8u) goto L_08B2D5D8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D5D8:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2D5E4u);
aot_gpr_5 = (ctx.gpr[18] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 775u, 0x08B67368u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D5E4u) goto L_08B2D5E4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D5E4:
aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast<std::uint32_t>(29704), ctx.gpr[2]);
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (ctx.gpr[22] | 0u);
aot_gpr_31 = (0x08B2D5F8u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D5F8u) goto L_08B2D5F8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D5F8:
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(522)));
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08B2D63C;
}
goto L_08B2D604;
}
L_08B2D604:
aot_gpr_4 = (2239u << 16u);
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(21784));
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast<std::uint32_t>(29704)));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08B2D61Cu);
ctx.gpr[7] = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 275u, 0x08861C90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D61Cu) goto L_08B2D61C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D61C:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08B2D63C;
}
goto L_08B2D624;
}
L_08B2D624:
aot_gpr_4 = (0u + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast<std::uint32_t>(29704), aot_gpr_4);
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (ctx.gpr[22] | 0u);
aot_gpr_31 = (0x08B2D63Cu);
ctx.gpr[6] = (0u | 1u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D63Cu) goto L_08B2D63C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D63C:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[8]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(16), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
ctx.gpr[19] = aot_run_words[3];
ctx.gpr[20] = aot_run_words[4];
ctx.gpr[21] = aot_run_words[5];
ctx.gpr[22] = aot_run_words[6];
aot_gpr_31 = aot_run_words[7];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(48));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2D668:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-48));
{ const std::uint32_t aot_run_words[7]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(16), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
ctx.gpr[21] = (aot_gpr_16 + static_cast<std::uint32_t>(16));
ctx.gpr[20] = (2236u << 16u);
ctx.gpr[19] = (ctx.gpr[20] + static_cast<std::uint32_t>(29704));
aot_gpr_5 = (ctx.gpr[21] | 0u);
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08B2D6A8u);
ctx.gpr[7] = (ctx.gpr[19] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D6A8u) goto L_08B2D6A8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D6A8:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08B2D6B4u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D6B4u) goto L_08B2D6B4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D6B4:
ctx.gpr[18] = (ctx.gpr[2] | 0u);
aot_gpr_4 = (ctx.gpr[18] | 0u);
aot_gpr_31 = (0x08B2D6C4u);
aot_gpr_5 = (0u | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0113_entry, 113u, 641u, 0x089CA714u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D6C4u) goto L_08B2D6C4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D6C4:
aot_gpr_17 = (ctx.gpr[2] | 0u);
{ const bool branch_taken = aot_gpr_17 == 0u;
if (branch_taken) {
goto L_08B2D814;
}
goto L_08B2D6D0;
}
L_08B2D6D0:
aot_gpr_4 = (aot_gpr_17 | 0u);
aot_gpr_31 = (0x08B2D6DCu);
aot_gpr_5 = (0u | 2u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 334u, 0x08911320u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D6DCu) goto L_08B2D6DC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D6DC:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(456)));
aot_gpr_5 = (65532u << 16u);
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(-1));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(456), aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(460)));
aot_gpr_5 = (65024u << 16u);
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(-1));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(460), aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(464)));
aot_gpr_5 = (61440u << 16u);
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(-1));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(464), aot_gpr_4);
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast<std::uint32_t>(614))))));
aot_gpr_4 = (aot_gpr_4 & 2u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08B2D73C;
}
goto L_08B2D728;
}
L_08B2D728:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(456)));
aot_gpr_5 = (65528u << 16u);
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(-1));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(456), aot_gpr_4);
goto L_08B2D73C;
L_08B2D73C:
aot_gpr_4 = (ctx.gpr[18] + static_cast<std::uint32_t>(48));
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_29 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-5336)));
aot_gpr_31 = (0x08B2D754u);
aot_gpr_5 = (aot_gpr_29 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 382u, 0x08A8DF08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D754u) goto L_08B2D754;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D754:
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(312), static_cast<std::uint8_t>(ctx.gpr[2]));
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(4)));
{ const bool branch_taken = static_cast<std::int32_t>(aot_gpr_4) >= 0;
if (branch_taken) {
goto L_08B2D778;
}
goto L_08B2D764;
}
L_08B2D764:
aot_gpr_4 = (ctx.gpr[18] | 0u);
aot_gpr_31 = (0x08B2D770u);
aot_gpr_5 = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 10u, 0x08B000ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D770u) goto L_08B2D770;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D770:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08B2D78C;
}
goto L_08B2D778;
}
L_08B2D778:
ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(4)));
ctx.gpr[6] = (ctx.gpr[6] & 255u);
aot_gpr_4 = (ctx.gpr[18] | 0u);
aot_gpr_31 = (0x08B2D78Cu);
aot_gpr_5 = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 24u, 0x08B00214u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D78Cu) goto L_08B2D78C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D78C:
aot_gpr_4 = (aot_gpr_17 | 0u);
aot_gpr_31 = (0x08B2D798u);
aot_gpr_5 = (ctx.gpr[18] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 171u, 0x08910A24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D798u) goto L_08B2D798;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D798:
aot_gpr_4 = (aot_gpr_17 | 0u);
aot_gpr_31 = (0x08B2D7A4u);
aot_gpr_5 = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 209u, 0x08910BDCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D7A4u) goto L_08B2D7A4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D7A4:
aot_gpr_4 = (aot_gpr_17 | 0u);
aot_gpr_31 = (0x08B2D7B0u);
aot_gpr_5 = (0u | 55u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 240u, 0x08908D60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D7B0u) goto L_08B2D7B0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D7B0:
aot_gpr_4 = (aot_gpr_17 | 0u);
aot_gpr_5 = (ctx.gpr[18] | 0u);
aot_gpr_31 = (0x08B2D7C0u);
ctx.gpr[6] = (0u | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 307u, 0x089B56FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D7C0u) goto L_08B2D7C0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D7C0:
aot_gpr_31 = (0x08B2D7C8u);
aot_gpr_4 = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0200_entry, 200u, 540u, 0x08B26CECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D7C8u) goto L_08B2D7C8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D7C8:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2D7D4u);
aot_gpr_5 = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 775u, 0x08B67368u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D7D4u) goto L_08B2D7D4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D7D4:
aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast<std::uint32_t>(29704), ctx.gpr[2]);
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (ctx.gpr[21] | 0u);
aot_gpr_31 = (0x08B2D7E8u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D7E8u) goto L_08B2D7E8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D7E8:
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(522)));
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08B2D82C;
}
goto L_08B2D7F4;
}
L_08B2D7F4:
aot_gpr_4 = (2239u << 16u);
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(21784));
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast<std::uint32_t>(29704)));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08B2D80Cu);
ctx.gpr[7] = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 275u, 0x08861C90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D80Cu) goto L_08B2D80C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D80C:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08B2D82C;
}
goto L_08B2D814;
}
L_08B2D814:
aot_gpr_4 = (0u + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast<std::uint32_t>(29704), aot_gpr_4);
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (ctx.gpr[21] | 0u);
aot_gpr_31 = (0x08B2D82Cu);
ctx.gpr[6] = (0u | 1u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D82Cu) goto L_08B2D82C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D82C:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[7]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(16), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
ctx.gpr[19] = aot_run_words[3];
ctx.gpr[20] = aot_run_words[4];
ctx.gpr[21] = aot_run_words[5];
aot_gpr_31 = aot_run_words[6];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(48));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2D854:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08B2D87Cu);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D87Cu) goto L_08B2D87C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D87C:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2D888u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D888u) goto L_08B2D888;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D888:
aot_gpr_5 = (ctx.gpr[2] | 0u);
ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
{ const bool branch_taken = ctx.gpr[6] == 0u;
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(468)));
if (branch_taken) {
goto L_08B2D8A4;
}
goto L_08B2D898;
}
L_08B2D898:
aot_gpr_4 = (aot_gpr_4 | 128u);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(468), aot_gpr_4);
if (branch_taken) {
goto L_08B2D8B0;
}
goto L_08B2D8A4;
}
L_08B2D8A4:
ctx.gpr[6] = (0u + static_cast<std::uint32_t>(-129));
aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]);
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(468), aot_gpr_4);
goto L_08B2D8B0;
L_08B2D8B0:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2D8C8:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08B2D8F0u);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D8F0u) goto L_08B2D8F0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D8F0:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2D8FCu);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D8FCu) goto L_08B2D8FC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D8FC:
aot_gpr_5 = (ctx.gpr[2] | 0u);
ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
{ const bool branch_taken = ctx.gpr[6] == 0u;
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(468)));
if (branch_taken) {
goto L_08B2D918;
}
goto L_08B2D90C;
}
L_08B2D90C:
aot_gpr_4 = (aot_gpr_4 | 256u);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(468), aot_gpr_4);
if (branch_taken) {
goto L_08B2D924;
}
goto L_08B2D918;
}
L_08B2D918:
ctx.gpr[6] = (0u + static_cast<std::uint32_t>(-257));
aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]);
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(468), aot_gpr_4);
goto L_08B2D924;
L_08B2D924:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2D93C:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08B2D964u);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D964u) goto L_08B2D964;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D964:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2D970u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D970u) goto L_08B2D970;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D970:
aot_gpr_5 = (ctx.gpr[2] | 0u);
ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
{ const bool branch_taken = ctx.gpr[6] == 0u;
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(468)));
if (branch_taken) {
goto L_08B2D98C;
}
goto L_08B2D980;
}
L_08B2D980:
aot_gpr_4 = (aot_gpr_4 | 512u);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(468), aot_gpr_4);
if (branch_taken) {
goto L_08B2D998;
}
goto L_08B2D98C;
}
L_08B2D98C:
ctx.gpr[6] = (0u + static_cast<std::uint32_t>(-513));
aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]);
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(468), aot_gpr_4);
goto L_08B2D998;
L_08B2D998:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2D9B0:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
aot_gpr_31 = (0x08B2D9DCu);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D9DCu) goto L_08B2D9DC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D9DC:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2D9E8u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D9E8u) goto L_08B2D9E8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D9E8:
ctx.gpr[18] = (ctx.gpr[2] | 0u);
aot_gpr_17 = (0u | 0u);
aot_gpr_31 = (0x08B2D9F8u);
aot_gpr_4 = (ctx.gpr[18] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2D9F8u) goto L_08B2D9F8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2D9F8:
{ const bool branch_taken = ctx.gpr[2] == 0u;
if (branch_taken) {
goto L_08B2DA34;
}
goto L_08B2DA00;
}
L_08B2DA00:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(1152)));
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08B2DA34;
}
goto L_08B2DA0C;
}
L_08B2DA0C:
aot_gpr_31 = (0x08B2DA14u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 456u, 0x08B01BA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2DA14u) goto L_08B2DA14;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2DA14:
{ const bool branch_taken = ctx.gpr[2] == 0u;
if (branch_taken) {
goto L_08B2DA34;
}
goto L_08B2DA1C;
}
L_08B2DA1C:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(1152)));
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast<std::uint32_t>(86))))));
aot_gpr_5 = (0u | 219u);
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
if (branch_taken) {
goto L_08B2DA34;
}
goto L_08B2DA30;
}
L_08B2DA30:
aot_gpr_17 = (0u | 1u);
goto L_08B2DA34;
L_08B2DA34:
aot_gpr_4 = (0u < aot_gpr_17 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(524)));
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
aot_gpr_17 = (aot_gpr_4 ^ aot_gpr_5);
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
{ const bool branch_taken = aot_gpr_4 != 0u;
aot_gpr_17 = (0u < aot_gpr_17 ? 1u : 0u);
if (branch_taken) {
goto L_08B2DA60;
}
goto L_08B2DA58;
}
L_08B2DA58:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_17));
if (branch_taken) {
goto L_08B2DAA8;
}
goto L_08B2DA60;
}
L_08B2DA60:
aot_gpr_4 = (aot_gpr_16 + static_cast<std::uint32_t>(518));
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast<std::uint32_t>(0)));
ctx.gpr[6] = (static_cast<std::int32_t>(aot_gpr_5) < 9 ? 1u : 0u);
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store16(aot_gpr_4 + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(aot_gpr_5));
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(521)));
{ const bool branch_taken = ctx.gpr[6] == 0u;
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
if (branch_taken) {
goto L_08B2DA8C;
}
goto L_08B2DA80;
}
L_08B2DA80:
aot_gpr_4 = (aot_gpr_17 & aot_gpr_4);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08B2DAA8;
}
goto L_08B2DA8C;
}
L_08B2DA8C:
aot_gpr_4 = (aot_gpr_17 | aot_gpr_4);
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_4) < 21 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08B2DAA8;
}
goto L_08B2DAA4;
}
L_08B2DAA4:
aot_mem.aot_direct_store16(aot_gpr_16 + static_cast<std::uint32_t>(518), static_cast<std::uint16_t>(0u));
goto L_08B2DAA8;
L_08B2DAA8:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[4]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
aot_gpr_31 = aot_run_words[3];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2DAC4:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
aot_gpr_31 = (0x08B2DAECu);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2DAECu) goto L_08B2DAEC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2DAEC:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2DAF8u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2DAF8u) goto L_08B2DAF8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2DAF8:
aot_gpr_4 = (0u | 0u);
{ const bool branch_taken = ctx.gpr[2] == 0u;
if (branch_taken) {
goto L_08B2DB08;
}
goto L_08B2DB04;
}
L_08B2DB04:
aot_gpr_4 = (0u | 1u);
goto L_08B2DB08;
L_08B2DB08:
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(524)));
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5);
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
{ const bool branch_taken = aot_gpr_5 != 0u;
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
if (branch_taken) {
goto L_08B2DB34;
}
goto L_08B2DB2C;
}
L_08B2DB2C:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08B2DB7C;
}
goto L_08B2DB34;
}
L_08B2DB34:
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(518));
ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(0)));
ctx.gpr[7] = (static_cast<std::int32_t>(ctx.gpr[6]) < 9 ? 1u : 0u);
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store16(aot_gpr_5 + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(ctx.gpr[6]));
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(521)));
{ const bool branch_taken = ctx.gpr[7] == 0u;
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
if (branch_taken) {
goto L_08B2DB60;
}
goto L_08B2DB54;
}
L_08B2DB54:
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08B2DB7C;
}
goto L_08B2DB60;
}
L_08B2DB60:
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_4) < 21 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08B2DB7C;
}
goto L_08B2DB78;
}
L_08B2DB78:
aot_mem.aot_direct_store16(aot_gpr_16 + static_cast<std::uint32_t>(518), static_cast<std::uint16_t>(0u));
goto L_08B2DB7C;
L_08B2DB7C:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2DB94:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
aot_gpr_31 = (0x08B2DBBCu);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2DBBCu) goto L_08B2DBBC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2DBBC:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2DBC8u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2DBC8u) goto L_08B2DBC8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2DBC8:
aot_gpr_4 = (0u | 0u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast<std::uint32_t>(2236)));
ctx.gpr[6] = (0u | 12u);
{ const bool branch_taken = aot_gpr_5 != ctx.gpr[6];
if (branch_taken) {
goto L_08B2DBE0;
}
goto L_08B2DBDC;
}
L_08B2DBDC:
aot_gpr_4 = (0u | 1u);
goto L_08B2DBE0;
L_08B2DBE0:
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(524)));
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5);
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
{ const bool branch_taken = aot_gpr_5 != 0u;
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
if (branch_taken) {
goto L_08B2DC0C;
}
goto L_08B2DC04;
}
L_08B2DC04:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08B2DC54;
}
goto L_08B2DC0C;
}
L_08B2DC0C:
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(518));
ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(0)));
ctx.gpr[7] = (static_cast<std::int32_t>(ctx.gpr[6]) < 9 ? 1u : 0u);
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store16(aot_gpr_5 + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(ctx.gpr[6]));
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(521)));
{ const bool branch_taken = ctx.gpr[7] == 0u;
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
if (branch_taken) {
goto L_08B2DC38;
}
goto L_08B2DC2C;
}
L_08B2DC2C:
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08B2DC54;
}
goto L_08B2DC38;
}
L_08B2DC38:
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_4) < 21 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08B2DC54;
}
goto L_08B2DC50;
}
L_08B2DC50:
aot_mem.aot_direct_store16(aot_gpr_16 + static_cast<std::uint32_t>(518), static_cast<std::uint16_t>(0u));
goto L_08B2DC54;
L_08B2DC54:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2DC6C:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08B2DC94u);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2DC94u) goto L_08B2DC94;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2DC94:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2DCA0u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2DCA0u) goto L_08B2DCA0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2DCA0:
aot_gpr_5 = (ctx.gpr[2] | 0u);
ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(460)));
ctx.gpr[7] = (0u + static_cast<std::uint32_t>(-513));
{ const bool branch_taken = ctx.gpr[6] == 0u;
aot_gpr_4 = (aot_gpr_4 & ctx.gpr[7]);
if (branch_taken) {
goto L_08B2DCE4;
}
goto L_08B2DCB8;
}
L_08B2DCB8:
aot_gpr_4 = (aot_gpr_4 | 512u);
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(460), aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(456)));
ctx.gpr[6] = (4096u << 16u);
aot_gpr_4 = (aot_gpr_4 | ctx.gpr[6]);
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(456), aot_gpr_4);
aot_gpr_4 = (aot_gpr_5 | 0u);
aot_gpr_31 = (0x08B2DCDCu);
aot_gpr_5 = (0u | 0u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2DCDCu) goto L_08B2DCDC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2DCDC:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08B2DD08;
}
goto L_08B2DCE4;
}
L_08B2DCE4:
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(460), aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(456)));
ctx.gpr[6] = (61440u << 16u);
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(-1));
aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]);
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(456), aot_gpr_4);
aot_gpr_4 = (aot_gpr_5 | 0u);
aot_gpr_31 = (0x08B2DD08u);
aot_gpr_5 = (0u | 0u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2DD08u) goto L_08B2DD08;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2DD08:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2DD20:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_gpr_16);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_gpr_31);
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
aot_gpr_31 = (0x08B2DD40u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2DD40u) goto L_08B2DD40;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2DD40:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2DD4Cu);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2DD4Cu) goto L_08B2DD4C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2DD4C:
aot_gpr_16 = (ctx.gpr[2] | 0u);
{ const bool branch_taken = aot_gpr_16 == 0u;
if (branch_taken) {
goto L_08B2DE68;
}
goto L_08B2DD58;
}
L_08B2DD58:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2228)));
aot_gpr_5 = (0u | 55u);
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
aot_gpr_5 = (0u | 22u);
if (branch_taken) {
goto L_08B2DE68;
}
goto L_08B2DD68;
}
L_08B2DD68:
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
if (branch_taken) {
goto L_08B2DE68;
}
goto L_08B2DD70;
}
L_08B2DD70:
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_31 = (0x08B2DD7Cu);
aot_gpr_5 = (0u | 0u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2DD7Cu) goto L_08B2DD7C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2DD7C:
aot_gpr_31 = (0x08B2DD84u);
aot_gpr_4 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 976u, 0x0890BDFCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2DD84u) goto L_08B2DD84;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2DD84:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2228)));
aot_gpr_5 = (0u | 61u);
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
aot_gpr_5 = (0u | 59u);
if (branch_taken) {
goto L_08B2DD9C;
}
goto L_08B2DD94;
}
L_08B2DD94:
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
if (branch_taken) {
goto L_08B2DDA4;
}
goto L_08B2DD9C;
}
L_08B2DD9C:
aot_gpr_31 = (0x08B2DDA4u);
aot_gpr_4 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 441u, 0x089AA5B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2DDA4u) goto L_08B2DDA4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2DDA4:
aot_gpr_31 = (0x08B2DDACu);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(80)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 195u, 0x0886D420u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2DDACu) goto L_08B2DDAC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2DDAC:
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_31 = (0x08B2DDB8u);
aot_gpr_5 = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 240u, 0x08908D60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2DDB8u) goto L_08B2DDB8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2DDB8:
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_31 = (0x08B2DDC4u);
aot_gpr_5 = (0u | 1u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2DDC4u) goto L_08B2DDC4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2DDC4:
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_31 = (0x08B2DDD0u);
aot_gpr_5 = (0u | 0u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2DDD0u) goto L_08B2DDD0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2DDD0:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(456)));
aot_gpr_5 = (0u + static_cast<std::uint32_t>(-8193));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(456), aot_gpr_4);
aot_gpr_5 = (0u + static_cast<std::uint32_t>(-4097));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(456), aot_gpr_4);
aot_gpr_31 = (0x08B2DDF4u);
aot_gpr_4 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 410u, 0x08909880u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2DDF4u) goto L_08B2DDF4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2DDF4:
aot_gpr_31 = (0x08B2DDFCu);
aot_gpr_4 = (aot_gpr_16 | 0u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_16, aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2DDFCu) goto L_08B2DDFC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2DDFC:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(456)));
aot_gpr_5 = (0u + static_cast<std::uint32_t>(-9));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(456), aot_gpr_4);
aot_gpr_31 = (0x08B2DE14u);
aot_gpr_4 = (aot_gpr_16 | 0u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2DE14u) goto L_08B2DE14;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2DE14:
{ const bool branch_taken = ctx.gpr[2] == 0u;
if (branch_taken) {
goto L_08B2DE30;
}
goto L_08B2DE1C;
}
L_08B2DE1C:
aot_fpr_12 = std::bit_cast<float>(0u);
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(3156), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(80)));
{ const bool branch_taken = 0u == 0u;
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(776)));
if (branch_taken) {
goto L_08B2DE44;
}
goto L_08B2DE30;
}
L_08B2DE30:
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_31 = (0x08B2DE3Cu);
aot_gpr_5 = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 304u, 0x08911138u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2DE3Cu) goto L_08B2DE3C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2DE3C:
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(80)));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(776)));
goto L_08B2DE44;
L_08B2DE44:
ctx.gpr[6] = (aot_gpr_4 | 0u);
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_31 = (0x08B2DE54u);
ctx.gpr[7] = (0u | 6u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 175u, 0x089089B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2DE54u) goto L_08B2DE54;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2DE54:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(456)));
aot_gpr_5 = (57344u << 16u);
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(-1));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(456), aot_gpr_4);
goto L_08B2DE68;
L_08B2DE68:
ctx.gpr[2] = (0u | 0u);
aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(4)));
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2DE7C:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_gpr_16);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_gpr_31);
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
aot_gpr_31 = (0x08B2DE9Cu);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2DE9Cu) goto L_08B2DE9C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2DE9C:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2DEA8u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2DEA8u) goto L_08B2DEA8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2DEA8:
aot_gpr_16 = (ctx.gpr[2] | 0u);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(1340)));
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08B2DED4;
}
goto L_08B2DEB8;
}
L_08B2DEB8:
aot_gpr_31 = (0x08B2DEC0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0127_entry, 127u, 371u, 0x08A01528u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2DEC0u) goto L_08B2DEC0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2DEC0:
ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(1340)));
aot_gpr_4 = (ctx.gpr[2] | 0u);
aot_gpr_5 = (aot_gpr_16 | 0u);
aot_gpr_31 = (0x08B2DED4u);
ctx.gpr[7] = (0u | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0127_entry, 127u, 746u, 0x08A02EC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2DED4u) goto L_08B2DED4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2DED4:
ctx.gpr[2] = (0u | 0u);
aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(4)));
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2DEE8:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
aot_gpr_31 = (0x08B2DF10u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2DF10u) goto L_08B2DF10;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2DF10:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2DF1Cu);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2DF1Cu) goto L_08B2DF1C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2DF1C:
aot_gpr_4 = (0u | 0u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast<std::uint32_t>(464)));
ctx.gpr[6] = (1u << 16u);
aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]);
{ const bool branch_taken = aot_gpr_5 == 0u;
if (branch_taken) {
goto L_08B2DF38;
}
goto L_08B2DF34;
}
L_08B2DF34:
aot_gpr_4 = (0u | 1u);
goto L_08B2DF38;
L_08B2DF38:
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(524)));
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5);
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
{ const bool branch_taken = aot_gpr_5 != 0u;
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
if (branch_taken) {
goto L_08B2DF64;
}
goto L_08B2DF5C;
}
L_08B2DF5C:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08B2DFAC;
}
goto L_08B2DF64;
}
L_08B2DF64:
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(518));
ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(0)));
ctx.gpr[7] = (static_cast<std::int32_t>(ctx.gpr[6]) < 9 ? 1u : 0u);
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store16(aot_gpr_5 + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(ctx.gpr[6]));
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(521)));
{ const bool branch_taken = ctx.gpr[7] == 0u;
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
if (branch_taken) {
goto L_08B2DF90;
}
goto L_08B2DF84;
}
L_08B2DF84:
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08B2DFAC;
}
goto L_08B2DF90;
}
L_08B2DF90:
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_4) < 21 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08B2DFAC;
}
goto L_08B2DFA8;
}
L_08B2DFA8:
aot_mem.aot_direct_store16(aot_gpr_16 + static_cast<std::uint32_t>(518), static_cast<std::uint16_t>(0u));
goto L_08B2DFAC;
L_08B2DFAC:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2DFC4:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_17 = (aot_gpr_4 | 0u);
aot_gpr_5 = (aot_gpr_17 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
ctx.gpr[18] = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08B2DFF4u);
ctx.gpr[7] = (ctx.gpr[18] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2DFF4u) goto L_08B2DFF4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2DFF4:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2E000u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E000u) goto L_08B2E000;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2E000:
aot_gpr_16 = (ctx.gpr[2] | 0u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(4)));
{ const bool branch_taken = aot_gpr_5 == 0u;
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(236)));
if (branch_taken) {
goto L_08B2E050;
}
goto L_08B2E010;
}
L_08B2E010:
aot_gpr_5 = (0u + static_cast<std::uint32_t>(-8193));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(236), aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast<std::uint32_t>(522)));
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08B2E0AC;
}
goto L_08B2E028;
}
L_08B2E028:
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_31 = (0x08B2E034u);
aot_gpr_5 = (0u | 2u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 247u, 0x08891B8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E034u) goto L_08B2E034;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2E034:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(76)));
aot_gpr_4 = (aot_gpr_4 | 2048u);
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(76), aot_gpr_4);
aot_gpr_31 = (0x08B2E048u);
aot_gpr_4 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 224u, 0x08891A2Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E048u) goto L_08B2E048;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2E048:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08B2E0AC;
}
goto L_08B2E050;
}
L_08B2E050:
aot_gpr_4 = (aot_gpr_4 | 8192u);
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(236), aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(76)));
aot_gpr_5 = (aot_gpr_4 & 2048u);
{ const bool branch_taken = aot_gpr_5 == 0u;
if (branch_taken) {
goto L_08B2E0AC;
}
goto L_08B2E068;
}
L_08B2E068:
aot_gpr_5 = (0u + static_cast<std::uint32_t>(-2049));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(76), aot_gpr_4);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(72)));
aot_gpr_5 = (aot_gpr_5 & 2048u);
{ const bool branch_taken = aot_gpr_5 != 0u;
aot_gpr_4 = (0u | 0u);
if (branch_taken) {
goto L_08B2E094;
}
goto L_08B2E084;
}
L_08B2E084:
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(76)));
aot_gpr_5 = (aot_gpr_5 & 2048u);
{ const bool branch_taken = aot_gpr_5 == 0u;
aot_gpr_4 = (aot_gpr_4 & 255u);
if (branch_taken) {
goto L_08B2E09C;
}
goto L_08B2E094;
}
L_08B2E094:
aot_gpr_4 = (0u | 1u);
aot_gpr_4 = (aot_gpr_4 & 255u);
goto L_08B2E09C;
L_08B2E09C:
{ const bool branch_taken = aot_gpr_4 != 0u;
if (branch_taken) {
goto L_08B2E0AC;
}
goto L_08B2E0A4;
}
L_08B2E0A4:
aot_gpr_31 = (0x08B2E0ACu);
aot_gpr_4 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 463u, 0x08A66048u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E0ACu) goto L_08B2E0AC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2E0AC:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[4]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
aot_gpr_31 = aot_run_words[3];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2E0C8:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
aot_gpr_31 = (0x08B2E0F0u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E0F0u) goto L_08B2E0F0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2E0F0:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2E0FCu);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E0FCu) goto L_08B2E0FC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2E0FC:
aot_gpr_4 = (0u | 0u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast<std::uint32_t>(468)));
aot_gpr_5 = (aot_gpr_5 & 8192u);
{ const bool branch_taken = aot_gpr_5 == 0u;
if (branch_taken) {
goto L_08B2E114;
}
goto L_08B2E110;
}
L_08B2E110:
aot_gpr_4 = (0u | 1u);
goto L_08B2E114;
L_08B2E114:
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(524)));
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5);
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
{ const bool branch_taken = aot_gpr_5 != 0u;
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
if (branch_taken) {
goto L_08B2E140;
}
goto L_08B2E138;
}
L_08B2E138:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08B2E188;
}
goto L_08B2E140;
}
L_08B2E140:
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(518));
ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(0)));
ctx.gpr[7] = (static_cast<std::int32_t>(ctx.gpr[6]) < 9 ? 1u : 0u);
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store16(aot_gpr_5 + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(ctx.gpr[6]));
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(521)));
{ const bool branch_taken = ctx.gpr[7] == 0u;
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
if (branch_taken) {
goto L_08B2E16C;
}
goto L_08B2E160;
}
L_08B2E160:
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08B2E188;
}
goto L_08B2E16C;
}
L_08B2E16C:
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_4) < 21 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08B2E188;
}
goto L_08B2E184;
}
L_08B2E184:
aot_mem.aot_direct_store16(aot_gpr_16 + static_cast<std::uint32_t>(518), static_cast<std::uint16_t>(0u));
goto L_08B2E188;
L_08B2E188:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2E1A0:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-96));
{ const std::uint32_t aot_run_words[16]{std::bit_cast<std::uint32_t>(ctx.fpr[20]), std::bit_cast<std::uint32_t>(ctx.fpr[22]), std::bit_cast<std::uint32_t>(ctx.fpr[24]), std::bit_cast<std::uint32_t>(ctx.fpr[26]), std::bit_cast<std::uint32_t>(ctx.fpr[28]), std::bit_cast<std::uint32_t>(aot_fpr_30), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(20), aot_run_words); }
ctx.gpr[20] = (aot_gpr_4 | 0u);
aot_gpr_16 = (ctx.gpr[20] + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
ctx.gpr[19] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
aot_gpr_5 = (aot_gpr_16 | 0u);
ctx.gpr[6] = (0u | 7u);
aot_gpr_31 = (0x08B2E204u);
ctx.gpr[7] = (ctx.gpr[19] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E204u) goto L_08B2E204;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2E204:
ctx.fpr[20] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(ctx.gpr[19] + static_cast<std::uint32_t>(4), aot_run_words);
ctx.fpr[22] = std::bit_cast<float>(aot_run_words[0]);
ctx.fpr[24] = std::bit_cast<float>(aot_run_words[1]);
ctx.fpr[26] = std::bit_cast<float>(aot_run_words[2]);
}
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(8)));
ctx.gpr[18] = (0u + static_cast<std::uint32_t>(-1));
aot_gpr_31 = (0x08B2E228u);
aot_gpr_4 = (aot_gpr_29 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E228u) goto L_08B2E228;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2E228:
aot_fpr_30 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(8)));
aot_gpr_4 = (16544u << 16u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
ctx.fpr[28] = aot_fpr_30 - aot_fpr_12;
aot_fpr_30 = aot_fpr_30 + aot_fpr_12;
ctx.gpr[30] = (65532u << 16u);
ctx.gpr[30] = (ctx.gpr[30] + static_cast<std::uint32_t>(-1));
ctx.gpr[23] = (2239u << 16u);
ctx.gpr[23] = (ctx.gpr[23] + static_cast<std::uint32_t>(21784));
ctx.gpr[22] = (aot_gpr_17 + static_cast<std::uint32_t>(-1));
aot_gpr_4 = (0u + static_cast<std::uint32_t>(3344));
{ const std::int64_t product = static_cast<std::int64_t>(static_cast<std::int32_t>(aot_gpr_17)) * static_cast<std::int64_t>(static_cast<std::int32_t>(aot_gpr_4)); ctx.lo = static_cast<std::uint32_t>(product); ctx.hi = static_cast<std::uint32_t>(static_cast<std::uint64_t>(product) >> 32u); }
ctx.gpr[21] = (ctx.lo);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(16), aot_gpr_16);
aot_gpr_4 = (aot_gpr_17 | 0u);
goto L_08B2E264;
L_08B2E264:
aot_gpr_17 = (ctx.gpr[22] | 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
ctx.gpr[21] = (ctx.gpr[21] + static_cast<std::uint32_t>(-3344));
if (branch_taken) {
goto L_08B2E420;
}
goto L_08B2E270;
}
L_08B2E270:
aot_gpr_4 = (0u + static_cast<std::uint32_t>(-1));
{ const bool branch_taken = ctx.gpr[18] != aot_gpr_4;
aot_gpr_4 = (2236u << 16u);
if (branch_taken) {
goto L_08B2E424;
}
goto L_08B2E27C;
}
L_08B2E27C:
{ const bool branch_taken = static_cast<std::int32_t>(aot_gpr_17) < 0;
ctx.gpr[22] = (aot_gpr_17 + static_cast<std::uint32_t>(-1));
if (branch_taken) {
goto L_08B2E298;
}
goto L_08B2E284;
}
L_08B2E284:
aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(8)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_17) < static_cast<std::int32_t>(aot_gpr_4) ? 1u : 0u);
if (aot_gpr_4 != 0u) {
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(4)));
goto L_08B2E2A0;
}
goto L_08B2E298;
L_08B2E298:
{ const bool branch_taken = 0u == 0u;
aot_gpr_16 = (0u | 0u);
if (branch_taken) {
goto L_08B2E2C0;
}
goto L_08B2E2A0;
}
L_08B2E2A0:
aot_gpr_4 = (aot_gpr_4 + aot_gpr_17);
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(0)));
aot_gpr_4 = (aot_gpr_4 & 128u);
if (aot_gpr_4 == 0u) {
aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(0)));
goto L_08B2E2BC;
}
goto L_08B2E2B4;
L_08B2E2B4:
{ const bool branch_taken = 0u == 0u;
aot_gpr_16 = (0u | 0u);
if (branch_taken) {
goto L_08B2E2C0;
}
goto L_08B2E2BC;
}
L_08B2E2BC:
aot_gpr_16 = (aot_gpr_16 + ctx.gpr[21]);
goto L_08B2E2C0;
L_08B2E2C0:
{ const bool branch_taken = aot_gpr_16 == 0u;
if (branch_taken) {
goto L_08B2E418;
}
goto L_08B2E2C8;
}
L_08B2E2C8:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2E2D4u);
aot_gpr_5 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 775u, 0x08B67368u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E2D4u) goto L_08B2E2D4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2E2D4:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7980)));
{ const bool branch_taken = ctx.gpr[2] == aot_gpr_4;
if (branch_taken) {
goto L_08B2E418;
}
goto L_08B2E2E0;
}
L_08B2E2E0:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2276)));
aot_gpr_5 = (0u | 1u);
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
if (branch_taken) {
goto L_08B2E418;
}
goto L_08B2E2F0;
}
L_08B2E2F0:
aot_gpr_31 = (0x08B2E2F8u);
aot_gpr_4 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 620u, 0x08906DE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E2F8u) goto L_08B2E2F8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2E2F8:
{ const bool branch_taken = ctx.gpr[2] == 0u;
if (branch_taken) {
goto L_08B2E418;
}
goto L_08B2E300;
}
L_08B2E300:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(76)));
aot_gpr_4 = (aot_gpr_4 & 1u);
{ const bool branch_taken = aot_gpr_4 != 0u;
aot_gpr_4 = (32768u << 16u);
if (branch_taken) {
goto L_08B2E418;
}
goto L_08B2E310;
}
L_08B2E310:
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(460)));
aot_gpr_4 = (aot_gpr_5 & aot_gpr_4);
{ const bool branch_taken = aot_gpr_4 != 0u;
if (branch_taken) {
goto L_08B2E418;
}
goto L_08B2E320;
}
L_08B2E320:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2236)));
{ const bool branch_taken = aot_gpr_4 != 0u;
aot_gpr_4 = (1u << 16u);
if (branch_taken) {
goto L_08B2E418;
}
goto L_08B2E32C;
}
L_08B2E32C:
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(464)));
aot_gpr_4 = (aot_gpr_5 & aot_gpr_4);
{ const bool branch_taken = aot_gpr_4 != 0u;
if (branch_taken) {
goto L_08B2E418;
}
goto L_08B2E33C;
}
L_08B2E33C:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(1340)));
{ const bool branch_taken = aot_gpr_4 != 0u;
if (branch_taken) {
goto L_08B2E418;
}
goto L_08B2E348;
}
L_08B2E348:
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(1360)));
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(ctx.gpr[19] + static_cast<std::uint32_t>(16), aot_run_words);
ctx.gpr[6] = aot_run_words[0];
ctx.gpr[7] = aot_run_words[1];
ctx.gpr[8] = aot_run_words[2];
}
aot_gpr_31 = (0x08B2E360u);
aot_gpr_4 = (ctx.gpr[20] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 563u, 0x08863028u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E360u) goto L_08B2E360;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2E360:
{ const bool branch_taken = ctx.gpr[2] == 0u;
aot_gpr_4 = (2u << 16u);
if (branch_taken) {
goto L_08B2E418;
}
goto L_08B2E368;
}
L_08B2E368:
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(460)));
aot_gpr_4 = (aot_gpr_5 & aot_gpr_4);
{ const bool branch_taken = aot_gpr_4 != 0u;
if (branch_taken) {
goto L_08B2E418;
}
goto L_08B2E378;
}
L_08B2E378:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(676)));
{ const bool branch_taken = aot_gpr_4 != 0u;
if (branch_taken) {
goto L_08B2E418;
}
goto L_08B2E384;
}
L_08B2E384:
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[20]));
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[22]));
aot_fpr_14 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[24]));
aot_gpr_31 = (0x08B2E39Cu);
ctx.fpr[15] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[26]));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 788u, 0x08AAF8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E39Cu) goto L_08B2E39C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2E39C:
{ const bool branch_taken = ctx.gpr[2] == 0u;
if (branch_taken) {
goto L_08B2E418;
}
goto L_08B2E3A4;
}
L_08B2E3A4:
aot_gpr_4 = (aot_gpr_16 + static_cast<std::uint32_t>(48));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(8)));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[28])) ? 0x00800000u : 0u);
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_08B2E418;
}
goto L_08B2E3BC;
}
L_08B2E3BC:
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_30)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_08B2E418;
}
goto L_08B2E3CC;
}
L_08B2E3CC:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2E3D8u);
aot_gpr_5 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 775u, 0x08B67368u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E3D8u) goto L_08B2E3D8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2E3D8:
ctx.gpr[18] = (ctx.gpr[2] | 0u);
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(7980), ctx.gpr[18]);
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_31 = (0x08B2E3ECu);
aot_gpr_5 = (0u | 2u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 334u, 0x08911320u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E3ECu) goto L_08B2E3EC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2E3EC:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(456)));
aot_gpr_4 = (aot_gpr_4 & ctx.gpr[30]);
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(456), aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast<std::uint32_t>(522)));
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08B2E418;
}
goto L_08B2E404;
}
L_08B2E404:
aot_gpr_4 = (ctx.gpr[23] | 0u);
aot_gpr_5 = (ctx.gpr[18] | 0u);
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08B2E418u);
ctx.gpr[7] = (ctx.gpr[20] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 275u, 0x08861C90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E418u) goto L_08B2E418;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2E418:
{ const bool branch_taken = 0u == 0u;
aot_gpr_4 = (aot_gpr_17 | 0u);
if (branch_taken) {
goto L_08B2E264;
}
goto L_08B2E420;
}
L_08B2E420:
aot_gpr_4 = (2236u << 16u);
goto L_08B2E424;
L_08B2E424:
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(29704), ctx.gpr[18]);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(16)));
aot_gpr_4 = (ctx.gpr[20] | 0u);
aot_gpr_31 = (0x08B2E438u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E438u) goto L_08B2E438;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2E438:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[16]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(20), aot_run_words);
ctx.fpr[20] = std::bit_cast<float>(aot_run_words[0]);
ctx.fpr[22] = std::bit_cast<float>(aot_run_words[1]);
ctx.fpr[24] = std::bit_cast<float>(aot_run_words[2]);
ctx.fpr[26] = std::bit_cast<float>(aot_run_words[3]);
ctx.fpr[28] = std::bit_cast<float>(aot_run_words[4]);
aot_fpr_30 = std::bit_cast<float>(aot_run_words[5]);
aot_gpr_16 = aot_run_words[6];
aot_gpr_17 = aot_run_words[7];
ctx.gpr[18] = aot_run_words[8];
ctx.gpr[19] = aot_run_words[9];
ctx.gpr[20] = aot_run_words[10];
ctx.gpr[21] = aot_run_words[11];
ctx.gpr[22] = aot_run_words[12];
ctx.gpr[23] = aot_run_words[13];
ctx.gpr[30] = aot_run_words[14];
aot_gpr_31 = aot_run_words[15];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(96));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2E484:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08B2E4ACu);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E4ACu) goto L_08B2E4AC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2E4AC:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(7));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
aot_gpr_31 = (0x08B2E4C4u);
aot_gpr_5 = (aot_gpr_5 & 255u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0160_entry, 160u, 531u, 0x08A87734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E4C4u) goto L_08B2E4C4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2E4C4:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2E4DC:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08B2E504u);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E504u) goto L_08B2E504;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2E504:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2E510u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E510u) goto L_08B2E510;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2E510:
ctx.gpr[6] = (ctx.gpr[2] | 0u);
ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast<std::uint32_t>(464)));
{ const bool branch_taken = ctx.gpr[7] == 0u;
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast<std::uint32_t>(468)));
if (branch_taken) {
goto L_08B2E540;
}
goto L_08B2E524;
}
L_08B2E524:
ctx.gpr[7] = (1024u << 16u);
aot_gpr_5 = (aot_gpr_5 | ctx.gpr[7]);
aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast<std::uint32_t>(464), aot_gpr_5);
aot_gpr_5 = (64u << 16u);
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast<std::uint32_t>(468), aot_gpr_4);
if (branch_taken) {
goto L_08B2E560;
}
goto L_08B2E540;
}
L_08B2E540:
ctx.gpr[7] = (64512u << 16u);
ctx.gpr[7] = (ctx.gpr[7] + static_cast<std::uint32_t>(-1));
aot_gpr_5 = (aot_gpr_5 & ctx.gpr[7]);
aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast<std::uint32_t>(464), aot_gpr_5);
aot_gpr_5 = (65472u << 16u);
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(-1));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast<std::uint32_t>(468), aot_gpr_4);
goto L_08B2E560;
L_08B2E560:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2E578:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_31 = (0x08B2E5A4u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E5A4u) goto L_08B2E5A4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2E5A4:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2E5B0u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E5B0u) goto L_08B2E5B0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2E5B0:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast<std::uint32_t>(80)));
aot_gpr_31 = (0x08B2E5BCu);
aot_gpr_5 = (0u | 153u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0886D4BC, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0026_entry, 26u, 206u, 0x0886D4BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E5BCu) goto L_08B2E5BC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2E5BC:
{ const bool branch_taken = ctx.gpr[2] == 0u;
if (branch_taken) {
goto L_08B2E5CC;
}
goto L_08B2E5C4;
}
L_08B2E5C4:
{ const bool branch_taken = 0u == 0u;
aot_gpr_4 = (0u | 1u);
if (branch_taken) {
goto L_08B2E5D0;
}
goto L_08B2E5CC;
}
L_08B2E5CC:
aot_gpr_4 = (0u | 0u);
goto L_08B2E5D0;
L_08B2E5D0:
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(524)));
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5);
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
{ const bool branch_taken = aot_gpr_5 != 0u;
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
if (branch_taken) {
goto L_08B2E5FC;
}
goto L_08B2E5F4;
}
L_08B2E5F4:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08B2E64C;
}
goto L_08B2E5FC;
}
L_08B2E5FC:
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(518));
ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(0)));
ctx.gpr[7] = (ctx.gpr[6] + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store16(aot_gpr_5 + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(ctx.gpr[7]));
aot_gpr_5 = (static_cast<std::int32_t>(ctx.gpr[6]) < 9 ? 1u : 0u);
if (aot_gpr_5 == 0u) {
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(521)));
goto L_08B2E62C;
}
goto L_08B2E618;
L_08B2E618:
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(521)));
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08B2E64C;
}
goto L_08B2E62C;
}
L_08B2E62C:
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_4) < 21 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08B2E64C;
}
goto L_08B2E648;
}
L_08B2E648:
aot_mem.aot_direct_store16(aot_gpr_16 + static_cast<std::uint32_t>(518), static_cast<std::uint16_t>(0u));
goto L_08B2E64C;
L_08B2E64C:
{ const bool branch_taken = 0u == 0u;
ctx.gpr[2] = (0u | 0u);
if (branch_taken) {
goto L_08B2E654;
}
goto L_08B2E654;
}
L_08B2E654:
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2E668:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08B2E690u);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E690u) goto L_08B2E690;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2E690:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2E69Cu);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E69Cu) goto L_08B2E69C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2E69C:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
aot_gpr_4 = (aot_gpr_4 < static_cast<std::uint32_t>(1) ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast<std::uint32_t>(468)));
ctx.gpr[6] = (65535u << 16u);
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(-1));
aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]);
aot_gpr_4 = (aot_gpr_4 & 1u);
aot_gpr_4 = (aot_gpr_4 << 16u);
aot_gpr_4 = (aot_gpr_5 | aot_gpr_4);
aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast<std::uint32_t>(468), aot_gpr_4);
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2E6E4:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08B2E70Cu);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E70Cu) goto L_08B2E70C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2E70C:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2E718u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E718u) goto L_08B2E718;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2E718:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast<std::uint32_t>(468)));
ctx.gpr[6] = (65534u << 16u);
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(-1));
aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]);
aot_gpr_4 = (aot_gpr_4 & 1u);
aot_gpr_4 = (aot_gpr_4 << 17u);
aot_gpr_4 = (aot_gpr_5 | aot_gpr_4);
aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast<std::uint32_t>(468), aot_gpr_4);
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2E760:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-96));
{ const std::uint32_t aot_run_words[16]{std::bit_cast<std::uint32_t>(ctx.fpr[20]), std::bit_cast<std::uint32_t>(ctx.fpr[22]), std::bit_cast<std::uint32_t>(ctx.fpr[24]), std::bit_cast<std::uint32_t>(ctx.fpr[26]), std::bit_cast<std::uint32_t>(ctx.fpr[28]), std::bit_cast<std::uint32_t>(aot_fpr_30), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(20), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
ctx.gpr[21] = (aot_gpr_4 | 0u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(16), aot_gpr_5);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
aot_gpr_4 = (ctx.gpr[21] | 0u);
ctx.gpr[6] = (0u | 4u);
aot_gpr_31 = (0x08B2E7C8u);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E7C8u) goto L_08B2E7C8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2E7C8:
ctx.fpr[20] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_17 + static_cast<std::uint32_t>(4), aot_run_words);
ctx.fpr[22] = std::bit_cast<float>(aot_run_words[0]);
ctx.fpr[24] = std::bit_cast<float>(aot_run_words[1]);
ctx.fpr[26] = std::bit_cast<float>(aot_run_words[2]);
}
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(8)));
ctx.gpr[18] = (0u + static_cast<std::uint32_t>(-1));
aot_gpr_31 = (0x08B2E7ECu);
aot_gpr_4 = (aot_gpr_29 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E7ECu) goto L_08B2E7EC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2E7EC:
aot_fpr_30 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(8)));
ctx.gpr[30] = (32768u << 16u);
aot_gpr_4 = (16544u << 16u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
ctx.fpr[28] = aot_fpr_30 - aot_fpr_12;
aot_fpr_30 = aot_fpr_30 + aot_fpr_12;
ctx.gpr[23] = (65532u << 16u);
ctx.gpr[23] = (ctx.gpr[23] + static_cast<std::uint32_t>(-1));
ctx.gpr[22] = (2239u << 16u);
ctx.gpr[22] = (ctx.gpr[22] + static_cast<std::uint32_t>(21784));
ctx.gpr[20] = (aot_gpr_17 + static_cast<std::uint32_t>(-1));
aot_gpr_4 = (0u + static_cast<std::uint32_t>(3344));
{ const std::int64_t product = static_cast<std::int64_t>(static_cast<std::int32_t>(aot_gpr_17)) * static_cast<std::int64_t>(static_cast<std::int32_t>(aot_gpr_4)); ctx.lo = static_cast<std::uint32_t>(product); ctx.hi = static_cast<std::uint32_t>(static_cast<std::uint64_t>(product) >> 32u); }
ctx.gpr[19] = (ctx.lo);
aot_gpr_4 = (aot_gpr_17 | 0u);
goto L_08B2E828;
L_08B2E828:
aot_gpr_17 = (ctx.gpr[20] | 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
ctx.gpr[19] = (ctx.gpr[19] + static_cast<std::uint32_t>(-3344));
if (branch_taken) {
goto L_08B2E964;
}
goto L_08B2E834;
}
L_08B2E834:
aot_gpr_4 = (0u + static_cast<std::uint32_t>(-1));
{ const bool branch_taken = ctx.gpr[18] != aot_gpr_4;
aot_gpr_4 = (2236u << 16u);
if (branch_taken) {
goto L_08B2E968;
}
goto L_08B2E840;
}
L_08B2E840:
{ const bool branch_taken = static_cast<std::int32_t>(aot_gpr_17) < 0;
ctx.gpr[20] = (aot_gpr_17 + static_cast<std::uint32_t>(-1));
if (branch_taken) {
goto L_08B2E85C;
}
goto L_08B2E848;
}
L_08B2E848:
aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(8)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_17) < static_cast<std::int32_t>(aot_gpr_4) ? 1u : 0u);
if (aot_gpr_4 != 0u) {
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(4)));
goto L_08B2E864;
}
goto L_08B2E85C;
L_08B2E85C:
{ const bool branch_taken = 0u == 0u;
aot_gpr_16 = (0u | 0u);
if (branch_taken) {
goto L_08B2E884;
}
goto L_08B2E864;
}
L_08B2E864:
aot_gpr_4 = (aot_gpr_4 + aot_gpr_17);
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(0)));
aot_gpr_4 = (aot_gpr_4 & 128u);
if (aot_gpr_4 == 0u) {
aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(0)));
goto L_08B2E880;
}
goto L_08B2E878;
L_08B2E878:
{ const bool branch_taken = 0u == 0u;
aot_gpr_16 = (0u | 0u);
if (branch_taken) {
goto L_08B2E884;
}
goto L_08B2E880;
}
L_08B2E880:
aot_gpr_16 = (aot_gpr_16 + ctx.gpr[19]);
goto L_08B2E884;
L_08B2E884:
{ const bool branch_taken = aot_gpr_16 == 0u;
if (branch_taken) {
goto L_08B2E95C;
}
goto L_08B2E88C;
}
L_08B2E88C:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(76)));
aot_gpr_4 = (aot_gpr_4 & 1u);
{ const bool branch_taken = aot_gpr_4 != 0u;
if (branch_taken) {
goto L_08B2E95C;
}
goto L_08B2E89C;
}
L_08B2E89C:
aot_gpr_31 = (0x08B2E8A4u);
aot_gpr_4 = (aot_gpr_16 | 0u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E8A4u) goto L_08B2E8A4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2E8A4:
{ const bool branch_taken = ctx.gpr[2] != 0u;
if (branch_taken) {
goto L_08B2E95C;
}
goto L_08B2E8AC;
}
L_08B2E8AC:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(460)));
aot_gpr_4 = (aot_gpr_4 & ctx.gpr[30]);
{ const bool branch_taken = aot_gpr_4 != 0u;
if (branch_taken) {
goto L_08B2E95C;
}
goto L_08B2E8BC;
}
L_08B2E8BC:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2236)));
{ const bool branch_taken = aot_gpr_4 != 0u;
if (branch_taken) {
goto L_08B2E95C;
}
goto L_08B2E8C8;
}
L_08B2E8C8:
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[20]));
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[22]));
aot_fpr_14 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[24]));
aot_gpr_31 = (0x08B2E8E0u);
ctx.fpr[15] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[26]));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 788u, 0x08AAF8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E8E0u) goto L_08B2E8E0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2E8E0:
{ const bool branch_taken = ctx.gpr[2] == 0u;
if (branch_taken) {
goto L_08B2E95C;
}
goto L_08B2E8E8;
}
L_08B2E8E8:
aot_gpr_4 = (aot_gpr_16 + static_cast<std::uint32_t>(48));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(8)));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[28])) ? 0x00800000u : 0u);
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_08B2E95C;
}
goto L_08B2E900;
}
L_08B2E900:
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_30)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_08B2E95C;
}
goto L_08B2E910;
}
L_08B2E910:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2E91Cu);
aot_gpr_5 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 775u, 0x08B67368u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E91Cu) goto L_08B2E91C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2E91C:
ctx.gpr[18] = (ctx.gpr[2] | 0u);
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(7980), ctx.gpr[18]);
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_31 = (0x08B2E930u);
aot_gpr_5 = (0u | 2u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 334u, 0x08911320u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E930u) goto L_08B2E930;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2E930:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(456)));
aot_gpr_4 = (aot_gpr_4 & ctx.gpr[23]);
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(456), aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[21] + static_cast<std::uint32_t>(522)));
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08B2E95C;
}
goto L_08B2E948;
}
L_08B2E948:
aot_gpr_4 = (ctx.gpr[22] | 0u);
aot_gpr_5 = (ctx.gpr[18] | 0u);
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08B2E95Cu);
ctx.gpr[7] = (ctx.gpr[21] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 275u, 0x08861C90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E95Cu) goto L_08B2E95C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2E95C:
{ const bool branch_taken = 0u == 0u;
aot_gpr_4 = (aot_gpr_17 | 0u);
if (branch_taken) {
goto L_08B2E828;
}
goto L_08B2E964;
}
L_08B2E964:
aot_gpr_4 = (2236u << 16u);
goto L_08B2E968;
L_08B2E968:
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(29704), ctx.gpr[18]);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(16)));
aot_gpr_4 = (ctx.gpr[21] | 0u);
aot_gpr_31 = (0x08B2E97Cu);
ctx.gpr[6] = (0u | 1u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E97Cu) goto L_08B2E97C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2E97C:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[16]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(20), aot_run_words);
ctx.fpr[20] = std::bit_cast<float>(aot_run_words[0]);
ctx.fpr[22] = std::bit_cast<float>(aot_run_words[1]);
ctx.fpr[24] = std::bit_cast<float>(aot_run_words[2]);
ctx.fpr[26] = std::bit_cast<float>(aot_run_words[3]);
ctx.fpr[28] = std::bit_cast<float>(aot_run_words[4]);
aot_fpr_30 = std::bit_cast<float>(aot_run_words[5]);
aot_gpr_16 = aot_run_words[6];
aot_gpr_17 = aot_run_words[7];
ctx.gpr[18] = aot_run_words[8];
ctx.gpr[19] = aot_run_words[9];
ctx.gpr[20] = aot_run_words[10];
ctx.gpr[21] = aot_run_words[11];
ctx.gpr[22] = aot_run_words[12];
ctx.gpr[23] = aot_run_words[13];
ctx.gpr[30] = aot_run_words[14];
aot_gpr_31 = aot_run_words[15];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(96));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2E9C8:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08B2E9F0u);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E9F0u) goto L_08B2E9F0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2E9F0:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2E9FCu);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2E9FCu) goto L_08B2E9FC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2E9FC:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast<std::uint32_t>(468)));
aot_gpr_5 = (65504u << 16u);
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(-1));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
aot_gpr_5 = (aot_gpr_5 < static_cast<std::uint32_t>(1) ? 1u : 0u);
aot_gpr_5 = (aot_gpr_5 << 21u);
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast<std::uint32_t>(468), aot_gpr_4);
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2EA38:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
aot_gpr_31 = (0x08B2EA60u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2EA60u) goto L_08B2EA60;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2EA60:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2EA6Cu);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2EA6Cu) goto L_08B2EA6C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2EA6C:
aot_gpr_4 = (0u | 0u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast<std::uint32_t>(460)));
aot_gpr_5 = (aot_gpr_5 & 8192u);
{ const bool branch_taken = aot_gpr_5 == 0u;
if (branch_taken) {
goto L_08B2EA84;
}
goto L_08B2EA80;
}
L_08B2EA80:
aot_gpr_4 = (0u | 1u);
goto L_08B2EA84;
L_08B2EA84:
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(524)));
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5);
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
{ const bool branch_taken = aot_gpr_5 != 0u;
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
if (branch_taken) {
goto L_08B2EAB0;
}
goto L_08B2EAA8;
}
L_08B2EAA8:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08B2EAF8;
}
goto L_08B2EAB0;
}
L_08B2EAB0:
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(518));
ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(0)));
ctx.gpr[7] = (static_cast<std::int32_t>(ctx.gpr[6]) < 9 ? 1u : 0u);
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store16(aot_gpr_5 + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(ctx.gpr[6]));
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(521)));
{ const bool branch_taken = ctx.gpr[7] == 0u;
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
if (branch_taken) {
goto L_08B2EADC;
}
goto L_08B2EAD0;
}
L_08B2EAD0:
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08B2EAF8;
}
goto L_08B2EADC;
}
L_08B2EADC:
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_4) < 21 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08B2EAF8;
}
goto L_08B2EAF4;
}
L_08B2EAF4:
aot_mem.aot_direct_store16(aot_gpr_16 + static_cast<std::uint32_t>(518), static_cast<std::uint16_t>(0u));
goto L_08B2EAF8;
L_08B2EAF8:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2EB10:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08B2EB38u);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2EB38u) goto L_08B2EB38;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2EB38:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2EB44u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2EB44u) goto L_08B2EB44;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2EB44:
aot_gpr_16 = (ctx.gpr[2] | 0u);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
aot_gpr_31 = (0x08B2EB54u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2EB54u) goto L_08B2EB54;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2EB54:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(456)));
aot_gpr_5 = (4u << 16u);
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(456), aot_gpr_4);
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (ctx.gpr[2] | 0u);
aot_gpr_31 = (0x08B2EB74u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0070_entry, 70u, 550u, 0x0891ECB8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2EB74u) goto L_08B2EB74;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2EB74:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2EB8C:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-32));
{ const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
ctx.gpr[19] = (aot_gpr_16 + static_cast<std::uint32_t>(16));
ctx.gpr[18] = (2236u << 16u);
ctx.gpr[7] = (ctx.gpr[18] + static_cast<std::uint32_t>(29704));
aot_gpr_5 = (ctx.gpr[19] | 0u);
aot_gpr_31 = (0x08B2EBC0u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2EBC0u) goto L_08B2EBC0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2EBC0:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2EBCCu);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2EBCCu) goto L_08B2EBCC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2EBCC:
aot_gpr_17 = (ctx.gpr[2] | 0u);
aot_gpr_4 = (0u + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast<std::uint32_t>(29704), aot_gpr_4);
{ const bool branch_taken = aot_gpr_17 == 0u;
if (branch_taken) {
goto L_08B2EC2C;
}
goto L_08B2EBE0;
}
L_08B2EBE0:
aot_gpr_31 = (0x08B2EBE8u);
aot_gpr_4 = (aot_gpr_17 | 0u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2EBE8u) goto L_08B2EBE8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2EBE8:
{ const bool branch_taken = ctx.gpr[2] == 0u;
if (branch_taken) {
goto L_08B2EC2C;
}
goto L_08B2EBF0;
}
L_08B2EBF0:
aot_gpr_31 = (0x08B2EBF8u);
aot_gpr_4 = (aot_gpr_17 | 0u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2EBF8u) goto L_08B2EBF8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2EBF8:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast<std::uint32_t>(72)));
aot_gpr_4 = (aot_gpr_4 & 14u);
aot_gpr_4 = (aot_gpr_4 ^ 6u);
aot_gpr_4 = (aot_gpr_4 < static_cast<std::uint32_t>(1) ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08B2EC2C;
}
goto L_08B2EC14;
}
L_08B2EC14:
aot_gpr_31 = (0x08B2EC1Cu);
aot_gpr_4 = (aot_gpr_17 | 0u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089101A4, 67u, 27u, 0x089101A4u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0067_entry, 67u, 27u, 0x089101A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2EC1Cu) goto L_08B2EC1C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2EC1C:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2EC28u);
aot_gpr_5 = (ctx.gpr[2] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 775u, 0x08B67368u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2EC28u) goto L_08B2EC28;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2EC28:
aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast<std::uint32_t>(29704), ctx.gpr[2]);
goto L_08B2EC2C;
L_08B2EC2C:
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (ctx.gpr[19] | 0u);
aot_gpr_31 = (0x08B2EC3Cu);
ctx.gpr[6] = (0u | 1u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2EC3Cu) goto L_08B2EC3C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2EC3C:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[5]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
ctx.gpr[19] = aot_run_words[3];
aot_gpr_31 = aot_run_words[4];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2EC5C:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08B2EC84u);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2EC84u) goto L_08B2EC84;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2EC84:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2EC90u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2EC90u) goto L_08B2EC90;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2EC90:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
aot_fpr_12 = static_cast<float>(static_cast<std::int32_t>(std::bit_cast<std::uint32_t>(aot_fpr_12)));
aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast<std::uint32_t>(2084), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast<std::uint32_t>(1252), std::bit_cast<std::uint32_t>(aot_fpr_12));
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2ECBC:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08B2ECE4u);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2ECE4u) goto L_08B2ECE4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2ECE4:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2ECF0u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2ECF0u) goto L_08B2ECF0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2ECF0:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast<std::uint32_t>(1264), aot_gpr_4);
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2ED10:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08B2ED38u);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2ED38u) goto L_08B2ED38;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2ED38:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2ED44u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2ED44u) goto L_08B2ED44;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2ED44:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast<std::uint32_t>(1268), aot_gpr_4);
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2ED64:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08B2ED8Cu);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2ED8Cu) goto L_08B2ED8C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2ED8C:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2ED98u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2ED98u) goto L_08B2ED98;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2ED98:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast<std::uint32_t>(468)));
aot_gpr_5 = (65408u << 16u);
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(-1));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
aot_gpr_5 = (aot_gpr_5 & 1u);
aot_gpr_5 = (aot_gpr_5 << 23u);
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast<std::uint32_t>(468), aot_gpr_4);
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2EDD4:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_gpr_16);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_gpr_31);
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
aot_gpr_31 = (0x08B2EDF4u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2EDF4u) goto L_08B2EDF4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2EDF4:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2EE00u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2EE00u) goto L_08B2EE00;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2EE00:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast<std::uint32_t>(468)));
aot_gpr_5 = (16u << 16u);
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast<std::uint32_t>(468), aot_gpr_4);
ctx.gpr[2] = (0u | 0u);
aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(4)));
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2EE24:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
aot_gpr_16 = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 3u);
aot_gpr_31 = (0x08B2EE4Cu);
ctx.gpr[7] = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2EE4Cu) goto L_08B2EE4C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2EE4C:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2EE58u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2EE58u) goto L_08B2EE58;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2EE58:
aot_gpr_4 = (ctx.gpr[2] | 0u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(8)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_gpr_5);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08B2EEA8;
}
goto L_08B2EE6C;
}
L_08B2EE6C:
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
{ const bool branch_taken = static_cast<std::int32_t>(aot_gpr_5) >= 0;
aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(4)));
if (branch_taken) {
goto L_08B2EE94;
}
goto L_08B2EE78;
}
L_08B2EE78:
aot_gpr_5 = (aot_gpr_16 | 0u);
ctx.gpr[6] = (0u | 0u);
ctx.gpr[7] = (0u | 1u);
aot_gpr_31 = (0x08B2EE8Cu);
ctx.gpr[8] = (0u | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0074_entry, 74u, 613u, 0x0892F140u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2EE8Cu) goto L_08B2EE8C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2EE8C:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08B2EEA8;
}
goto L_08B2EE94;
}
L_08B2EE94:
aot_gpr_5 = (aot_gpr_16 | 0u);
ctx.gpr[6] = (aot_gpr_29 | 0u);
ctx.gpr[7] = (0u | 1u);
aot_gpr_31 = (0x08B2EEA8u);
ctx.gpr[8] = (0u | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0074_entry, 74u, 613u, 0x0892F140u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2EEA8u) goto L_08B2EEA8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2EEA8:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2EEC0:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08B2EEE8u);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2EEE8u) goto L_08B2EEE8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2EEE8:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2EEF4u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2EEF4u) goto L_08B2EEF4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2EEF4:
ctx.gpr[6] = (ctx.gpr[2] | 0u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(8)));
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast<std::uint32_t>(468)));
ctx.gpr[7] = (65024u << 16u);
ctx.gpr[7] = (ctx.gpr[7] + static_cast<std::uint32_t>(-1));
{ const bool branch_taken = aot_gpr_5 == 0u;
aot_gpr_4 = (aot_gpr_4 & ctx.gpr[7]);
if (branch_taken) {
goto L_08B2EF24;
}
goto L_08B2EF10;
}
L_08B2EF10:
aot_gpr_5 = (aot_gpr_5 & 1u);
aot_gpr_5 = (aot_gpr_5 << 25u);
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast<std::uint32_t>(468), aot_gpr_4);
if (branch_taken) {
goto L_08B2EF28;
}
goto L_08B2EF24;
}
L_08B2EF24:
aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast<std::uint32_t>(468), aot_gpr_4);
goto L_08B2EF28;
L_08B2EF28:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2EF40:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-96));
{ const std::uint32_t aot_run_words[16]{std::bit_cast<std::uint32_t>(ctx.fpr[20]), std::bit_cast<std::uint32_t>(ctx.fpr[22]), std::bit_cast<std::uint32_t>(ctx.fpr[24]), std::bit_cast<std::uint32_t>(ctx.fpr[26]), std::bit_cast<std::uint32_t>(ctx.fpr[28]), std::bit_cast<std::uint32_t>(aot_fpr_30), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(20), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
ctx.gpr[21] = (aot_gpr_4 | 0u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(16), aot_gpr_5);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
aot_gpr_4 = (ctx.gpr[21] | 0u);
ctx.gpr[6] = (0u | 4u);
aot_gpr_31 = (0x08B2EFA8u);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2EFA8u) goto L_08B2EFA8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2EFA8:
ctx.fpr[20] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_17 + static_cast<std::uint32_t>(4), aot_run_words);
ctx.fpr[22] = std::bit_cast<float>(aot_run_words[0]);
ctx.fpr[24] = std::bit_cast<float>(aot_run_words[1]);
ctx.fpr[26] = std::bit_cast<float>(aot_run_words[2]);
}
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(8)));
ctx.gpr[18] = (0u + static_cast<std::uint32_t>(-1));
aot_gpr_31 = (0x08B2EFCCu);
aot_gpr_4 = (aot_gpr_29 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2EFCCu) goto L_08B2EFCC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2EFCC:
aot_fpr_30 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(8)));
ctx.gpr[30] = (32768u << 16u);
aot_gpr_4 = (16544u << 16u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
ctx.fpr[28] = aot_fpr_30 - aot_fpr_12;
aot_fpr_30 = aot_fpr_30 + aot_fpr_12;
ctx.gpr[23] = (65532u << 16u);
ctx.gpr[23] = (ctx.gpr[23] + static_cast<std::uint32_t>(-1));
ctx.gpr[22] = (2239u << 16u);
ctx.gpr[22] = (ctx.gpr[22] + static_cast<std::uint32_t>(21784));
ctx.gpr[20] = (aot_gpr_17 + static_cast<std::uint32_t>(-1));
aot_gpr_4 = (0u + static_cast<std::uint32_t>(3344));
{ const std::int64_t product = static_cast<std::int64_t>(static_cast<std::int32_t>(aot_gpr_17)) * static_cast<std::int64_t>(static_cast<std::int32_t>(aot_gpr_4)); ctx.lo = static_cast<std::uint32_t>(product); ctx.hi = static_cast<std::uint32_t>(static_cast<std::uint64_t>(product) >> 32u); }
ctx.gpr[19] = (ctx.lo);
aot_gpr_4 = (aot_gpr_17 | 0u);
goto L_08B2F008;
L_08B2F008:
aot_gpr_17 = (ctx.gpr[20] | 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
ctx.gpr[19] = (ctx.gpr[19] + static_cast<std::uint32_t>(-3344));
if (branch_taken) {
goto L_08B2F154;
}
goto L_08B2F014;
}
L_08B2F014:
aot_gpr_4 = (0u + static_cast<std::uint32_t>(-1));
{ const bool branch_taken = ctx.gpr[18] != aot_gpr_4;
aot_gpr_4 = (2236u << 16u);
if (branch_taken) {
goto L_08B2F158;
}
goto L_08B2F020;
}
L_08B2F020:
{ const bool branch_taken = static_cast<std::int32_t>(aot_gpr_17) < 0;
ctx.gpr[20] = (aot_gpr_17 + static_cast<std::uint32_t>(-1));
if (branch_taken) {
goto L_08B2F03C;
}
goto L_08B2F028;
}
L_08B2F028:
aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(8)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_17) < static_cast<std::int32_t>(aot_gpr_4) ? 1u : 0u);
if (aot_gpr_4 != 0u) {
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(4)));
goto L_08B2F044;
}
goto L_08B2F03C;
L_08B2F03C:
{ const bool branch_taken = 0u == 0u;
aot_gpr_16 = (0u | 0u);
if (branch_taken) {
goto L_08B2F064;
}
goto L_08B2F044;
}
L_08B2F044:
aot_gpr_4 = (aot_gpr_4 + aot_gpr_17);
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(0)));
aot_gpr_4 = (aot_gpr_4 & 128u);
if (aot_gpr_4 == 0u) {
aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(0)));
goto L_08B2F060;
}
goto L_08B2F058;
L_08B2F058:
{ const bool branch_taken = 0u == 0u;
aot_gpr_16 = (0u | 0u);
if (branch_taken) {
goto L_08B2F064;
}
goto L_08B2F060;
}
L_08B2F060:
aot_gpr_16 = (aot_gpr_16 + ctx.gpr[19]);
goto L_08B2F064;
L_08B2F064:
{ const bool branch_taken = aot_gpr_16 == 0u;
if (branch_taken) {
goto L_08B2F14C;
}
goto L_08B2F06C;
}
L_08B2F06C:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(76)));
aot_gpr_4 = (aot_gpr_4 & 1u);
{ const bool branch_taken = aot_gpr_4 != 0u;
if (branch_taken) {
goto L_08B2F14C;
}
goto L_08B2F07C;
}
L_08B2F07C:
aot_gpr_31 = (0x08B2F084u);
aot_gpr_4 = (aot_gpr_16 | 0u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F084u) goto L_08B2F084;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F084:
{ const bool branch_taken = ctx.gpr[2] != 0u;
if (branch_taken) {
goto L_08B2F14C;
}
goto L_08B2F08C;
}
L_08B2F08C:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(460)));
aot_gpr_4 = (aot_gpr_4 & ctx.gpr[30]);
{ const bool branch_taken = aot_gpr_4 != 0u;
if (branch_taken) {
goto L_08B2F14C;
}
goto L_08B2F09C;
}
L_08B2F09C:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2236)));
{ const bool branch_taken = aot_gpr_4 != 0u;
if (branch_taken) {
goto L_08B2F14C;
}
goto L_08B2F0A8;
}
L_08B2F0A8:
aot_gpr_31 = (0x08B2F0B0u);
aot_gpr_4 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F0B0u) goto L_08B2F0B0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F0B0:
{ const bool branch_taken = ctx.gpr[2] != 0u;
if (branch_taken) {
goto L_08B2F14C;
}
goto L_08B2F0B8;
}
L_08B2F0B8:
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[20]));
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[22]));
aot_fpr_14 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[24]));
aot_gpr_31 = (0x08B2F0D0u);
ctx.fpr[15] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[26]));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 788u, 0x08AAF8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F0D0u) goto L_08B2F0D0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F0D0:
{ const bool branch_taken = ctx.gpr[2] == 0u;
if (branch_taken) {
goto L_08B2F14C;
}
goto L_08B2F0D8;
}
L_08B2F0D8:
aot_gpr_4 = (aot_gpr_16 + static_cast<std::uint32_t>(48));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(8)));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[28])) ? 0x00800000u : 0u);
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_08B2F14C;
}
goto L_08B2F0F0;
}
L_08B2F0F0:
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_30)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_08B2F14C;
}
goto L_08B2F100;
}
L_08B2F100:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2F10Cu);
aot_gpr_5 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 775u, 0x08B67368u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F10Cu) goto L_08B2F10C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F10C:
ctx.gpr[18] = (ctx.gpr[2] | 0u);
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(7980), ctx.gpr[18]);
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_31 = (0x08B2F120u);
aot_gpr_5 = (0u | 2u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 334u, 0x08911320u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F120u) goto L_08B2F120;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F120:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(456)));
aot_gpr_4 = (aot_gpr_4 & ctx.gpr[23]);
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(456), aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[21] + static_cast<std::uint32_t>(522)));
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08B2F14C;
}
goto L_08B2F138;
}
L_08B2F138:
aot_gpr_4 = (ctx.gpr[22] | 0u);
aot_gpr_5 = (ctx.gpr[18] | 0u);
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08B2F14Cu);
ctx.gpr[7] = (ctx.gpr[21] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 275u, 0x08861C90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F14Cu) goto L_08B2F14C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F14C:
{ const bool branch_taken = 0u == 0u;
aot_gpr_4 = (aot_gpr_17 | 0u);
if (branch_taken) {
goto L_08B2F008;
}
goto L_08B2F154;
}
L_08B2F154:
aot_gpr_4 = (2236u << 16u);
goto L_08B2F158;
L_08B2F158:
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(29704), ctx.gpr[18]);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(16)));
aot_gpr_4 = (ctx.gpr[21] | 0u);
aot_gpr_31 = (0x08B2F16Cu);
ctx.gpr[6] = (0u | 1u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F16Cu) goto L_08B2F16C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F16C:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[16]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(20), aot_run_words);
ctx.fpr[20] = std::bit_cast<float>(aot_run_words[0]);
ctx.fpr[22] = std::bit_cast<float>(aot_run_words[1]);
ctx.fpr[24] = std::bit_cast<float>(aot_run_words[2]);
ctx.fpr[26] = std::bit_cast<float>(aot_run_words[3]);
ctx.fpr[28] = std::bit_cast<float>(aot_run_words[4]);
aot_fpr_30 = std::bit_cast<float>(aot_run_words[5]);
aot_gpr_16 = aot_run_words[6];
aot_gpr_17 = aot_run_words[7];
ctx.gpr[18] = aot_run_words[8];
ctx.gpr[19] = aot_run_words[9];
ctx.gpr[20] = aot_run_words[10];
ctx.gpr[21] = aot_run_words[11];
ctx.gpr[22] = aot_run_words[12];
ctx.gpr[23] = aot_run_words[13];
ctx.gpr[30] = aot_run_words[14];
aot_gpr_31 = aot_run_words[15];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(96));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2F1B8:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08B2F1E0u);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F1E0u) goto L_08B2F1E0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F1E0:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2F1ECu);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F1ECu) goto L_08B2F1EC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F1EC:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
aot_mem.aot_direct_store32(ctx.gpr[2] + static_cast<std::uint32_t>(2208), aot_gpr_4);
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2F20C:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
ctx.gpr[18] = (2236u << 16u);
ctx.gpr[7] = (ctx.gpr[18] + static_cast<std::uint32_t>(29704));
aot_gpr_5 = (aot_gpr_17 | 0u);
aot_gpr_31 = (0x08B2F23Cu);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F23Cu) goto L_08B2F23C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F23C:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2F248u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F248u) goto L_08B2F248;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F248:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast<std::uint32_t>(2208)));
aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast<std::uint32_t>(29704), aot_gpr_4);
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (aot_gpr_17 | 0u);
aot_gpr_31 = (0x08B2F260u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F260u) goto L_08B2F260;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F260:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[4]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
aot_gpr_31 = aot_run_words[3];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2F27C:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-32));
{ const std::uint32_t aot_run_words[6]{std::bit_cast<std::uint32_t>(ctx.fpr[20]), std::bit_cast<std::uint32_t>(ctx.fpr[22]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
ctx.gpr[18] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 4u);
aot_gpr_31 = (0x08B2F2B4u);
ctx.gpr[7] = (ctx.gpr[18] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F2B4u) goto L_08B2F2B4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F2B4:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2F2C0u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F2C0u) goto L_08B2F2C0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F2C0:
aot_gpr_17 = (ctx.gpr[2] | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(ctx.gpr[18] + static_cast<std::uint32_t>(4), aot_run_words);
ctx.fpr[22] = std::bit_cast<float>(aot_run_words[0]);
ctx.fpr[20] = std::bit_cast<float>(aot_run_words[1]);
aot_fpr_12 = std::bit_cast<float>(aot_run_words[2]);
}
aot_gpr_4 = (49864u << 16u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u);
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
aot_gpr_4 = (50042u << 16u);
if (branch_taken) {
goto L_08B2F2FC;
}
goto L_08B2F2E8;
}
L_08B2F2E8:
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u);
if (!((ctx.fcr31 & 0x00800000u) != 0u)) {
aot_fpr_14 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12));
goto L_08B2F310;
}
goto L_08B2F2FC;
L_08B2F2FC:
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[22]));
aot_gpr_31 = (0x08B2F308u);
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[20]));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 514u, 0x088933E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F308u) goto L_08B2F308;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F308:
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]));
aot_fpr_14 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12));
goto L_08B2F310;
L_08B2F310:
ctx.gpr[6] = (aot_gpr_16 + static_cast<std::uint32_t>(527));
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (aot_gpr_17 | 0u);
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[22]));
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[20]));
aot_gpr_31 = (0x08B2F32Cu);
ctx.gpr[7] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0203_entry, 203u, 211u, 0x08B312F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F32Cu) goto L_08B2F32C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F32C:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[6]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
ctx.fpr[20] = std::bit_cast<float>(aot_run_words[0]);
ctx.fpr[22] = std::bit_cast<float>(aot_run_words[1]);
aot_gpr_16 = aot_run_words[2];
aot_gpr_17 = aot_run_words[3];
ctx.gpr[18] = aot_run_words[4];
aot_gpr_31 = aot_run_words[5];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2F350:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-96));
{ const std::uint32_t aot_run_words[16]{std::bit_cast<std::uint32_t>(ctx.fpr[20]), std::bit_cast<std::uint32_t>(ctx.fpr[22]), std::bit_cast<std::uint32_t>(ctx.fpr[24]), std::bit_cast<std::uint32_t>(ctx.fpr[26]), std::bit_cast<std::uint32_t>(ctx.fpr[28]), std::bit_cast<std::uint32_t>(aot_fpr_30), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(20), aot_run_words); }
ctx.gpr[22] = (aot_gpr_4 | 0u);
aot_gpr_5 = (ctx.gpr[22] + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
ctx.gpr[19] = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(16), aot_gpr_5);
ctx.gpr[6] = (0u | 8u);
aot_gpr_31 = (0x08B2F3B4u);
ctx.gpr[7] = (ctx.gpr[19] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F3B4u) goto L_08B2F3B4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F3B4:
ctx.fpr[20] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
{ std::uint32_t aot_run_words[5]{};
aot_mem.aot_direct_load32_block(ctx.gpr[19] + static_cast<std::uint32_t>(4), aot_run_words);
ctx.fpr[22] = std::bit_cast<float>(aot_run_words[0]);
ctx.fpr[24] = std::bit_cast<float>(aot_run_words[1]);
ctx.fpr[26] = std::bit_cast<float>(aot_run_words[2]);
ctx.fpr[28] = std::bit_cast<float>(aot_run_words[3]);
aot_fpr_30 = std::bit_cast<float>(aot_run_words[4]);
}
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(8)));
ctx.gpr[20] = (0u | 0u);
ctx.gpr[30] = (65532u << 16u);
ctx.gpr[30] = (ctx.gpr[30] + static_cast<std::uint32_t>(-1));
ctx.gpr[23] = (2239u << 16u);
ctx.gpr[23] = (ctx.gpr[23] + static_cast<std::uint32_t>(21784));
ctx.gpr[21] = (aot_gpr_17 + static_cast<std::uint32_t>(-1));
aot_gpr_4 = (0u + static_cast<std::uint32_t>(3344));
{ const std::int64_t product = static_cast<std::int64_t>(static_cast<std::int32_t>(aot_gpr_17)) * static_cast<std::int64_t>(static_cast<std::int32_t>(aot_gpr_4)); ctx.lo = static_cast<std::uint32_t>(product); ctx.hi = static_cast<std::uint32_t>(static_cast<std::uint64_t>(product) >> 32u); }
ctx.gpr[18] = (ctx.lo);
aot_gpr_4 = (aot_gpr_17 | 0u);
goto L_08B2F3FC;
L_08B2F3FC:
aot_gpr_17 = (ctx.gpr[21] | 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
ctx.gpr[18] = (ctx.gpr[18] + static_cast<std::uint32_t>(-3344));
if (branch_taken) {
goto L_08B2F534;
}
goto L_08B2F408;
}
L_08B2F408:
{ const bool branch_taken = ctx.gpr[20] != 0u;
if (branch_taken) {
goto L_08B2F534;
}
goto L_08B2F410;
}
L_08B2F410:
{ const bool branch_taken = static_cast<std::int32_t>(aot_gpr_17) < 0;
ctx.gpr[21] = (aot_gpr_17 + static_cast<std::uint32_t>(-1));
if (branch_taken) {
goto L_08B2F42C;
}
goto L_08B2F418;
}
L_08B2F418:
aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(8)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_17) < static_cast<std::int32_t>(aot_gpr_4) ? 1u : 0u);
if (aot_gpr_4 != 0u) {
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(4)));
goto L_08B2F434;
}
goto L_08B2F42C;
L_08B2F42C:
{ const bool branch_taken = 0u == 0u;
aot_gpr_16 = (0u | 0u);
if (branch_taken) {
goto L_08B2F454;
}
goto L_08B2F434;
}
L_08B2F434:
aot_gpr_4 = (aot_gpr_4 + aot_gpr_17);
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(0)));
aot_gpr_4 = (aot_gpr_4 & 128u);
if (aot_gpr_4 == 0u) {
aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(0)));
goto L_08B2F450;
}
goto L_08B2F448;
L_08B2F448:
{ const bool branch_taken = 0u == 0u;
aot_gpr_16 = (0u | 0u);
if (branch_taken) {
goto L_08B2F454;
}
goto L_08B2F450;
}
L_08B2F450:
aot_gpr_16 = (aot_gpr_16 + ctx.gpr[18]);
goto L_08B2F454;
L_08B2F454:
{ const bool branch_taken = aot_gpr_16 == 0u;
if (branch_taken) {
goto L_08B2F52C;
}
goto L_08B2F45C;
}
L_08B2F45C:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(2276)));
aot_gpr_5 = (0u | 1u);
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
if (branch_taken) {
goto L_08B2F52C;
}
goto L_08B2F46C;
}
L_08B2F46C:
aot_gpr_31 = (0x08B2F474u);
aot_gpr_4 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 620u, 0x08906DE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F474u) goto L_08B2F474;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F474:
{ const bool branch_taken = ctx.gpr[2] == 0u;
if (branch_taken) {
goto L_08B2F52C;
}
goto L_08B2F47C;
}
L_08B2F47C:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(76)));
aot_gpr_4 = (aot_gpr_4 & 1u);
{ const bool branch_taken = aot_gpr_4 != 0u;
aot_gpr_4 = (32768u << 16u);
if (branch_taken) {
goto L_08B2F52C;
}
goto L_08B2F48C;
}
L_08B2F48C:
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(460)));
aot_gpr_4 = (aot_gpr_5 & aot_gpr_4);
{ const bool branch_taken = aot_gpr_4 != 0u;
if (branch_taken) {
goto L_08B2F52C;
}
goto L_08B2F49C;
}
L_08B2F49C:
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(86))))));
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(24)));
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
if (branch_taken) {
goto L_08B2F4B8;
}
goto L_08B2F4AC;
}
L_08B2F4AC:
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(28)));
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
if (branch_taken) {
goto L_08B2F52C;
}
goto L_08B2F4B8;
}
L_08B2F4B8:
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[20]));
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[22]));
aot_fpr_14 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[24]));
ctx.fpr[15] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[26]));
ctx.fpr[16] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[28]));
aot_gpr_31 = (0x08B2F4D8u);
ctx.fpr[17] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_30));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 799u, 0x08AAF984u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F4D8u) goto L_08B2F4D8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F4D8:
{ const bool branch_taken = ctx.gpr[2] == 0u;
if (branch_taken) {
goto L_08B2F52C;
}
goto L_08B2F4E0;
}
L_08B2F4E0:
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(7980), aot_gpr_17);
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_31 = (0x08B2F4F0u);
aot_gpr_5 = (0u | 2u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 334u, 0x08911320u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F4F0u) goto L_08B2F4F0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F4F0:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(456)));
aot_gpr_4 = (aot_gpr_4 & ctx.gpr[30]);
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(456), aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[22] + static_cast<std::uint32_t>(522)));
{ const bool branch_taken = aot_gpr_4 == 0u;
ctx.gpr[20] = (0u | 1u);
if (branch_taken) {
goto L_08B2F52C;
}
goto L_08B2F508;
}
L_08B2F508:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2F514u);
aot_gpr_5 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 775u, 0x08B67368u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F514u) goto L_08B2F514;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F514:
aot_gpr_4 = (ctx.gpr[23] | 0u);
aot_gpr_5 = (ctx.gpr[2] | 0u);
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08B2F528u);
ctx.gpr[7] = (ctx.gpr[22] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 275u, 0x08861C90u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F528u) goto L_08B2F528;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F528:
ctx.gpr[20] = (0u | 1u);
goto L_08B2F52C;
L_08B2F52C:
{ const bool branch_taken = 0u == 0u;
aot_gpr_4 = (aot_gpr_17 | 0u);
if (branch_taken) {
goto L_08B2F3FC;
}
goto L_08B2F534;
}
L_08B2F534:
{ const bool branch_taken = ctx.gpr[20] != 0u;
aot_gpr_4 = (2236u << 16u);
if (branch_taken) {
goto L_08B2F548;
}
goto L_08B2F53C;
}
L_08B2F53C:
aot_gpr_5 = (0u + static_cast<std::uint32_t>(-1));
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(29704), aot_gpr_5);
if (branch_taken) {
goto L_08B2F55C;
}
goto L_08B2F548;
}
L_08B2F548:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2F554u);
aot_gpr_5 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 775u, 0x08B67368u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F554u) goto L_08B2F554;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F554:
aot_gpr_4 = (2236u << 16u);
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(29704), ctx.gpr[2]);
goto L_08B2F55C;
L_08B2F55C:
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(16)));
aot_gpr_4 = (ctx.gpr[22] | 0u);
aot_gpr_31 = (0x08B2F56Cu);
ctx.gpr[6] = (0u | 1u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F56Cu) goto L_08B2F56C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F56C:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[16]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(20), aot_run_words);
ctx.fpr[20] = std::bit_cast<float>(aot_run_words[0]);
ctx.fpr[22] = std::bit_cast<float>(aot_run_words[1]);
ctx.fpr[24] = std::bit_cast<float>(aot_run_words[2]);
ctx.fpr[26] = std::bit_cast<float>(aot_run_words[3]);
ctx.fpr[28] = std::bit_cast<float>(aot_run_words[4]);
aot_fpr_30 = std::bit_cast<float>(aot_run_words[5]);
aot_gpr_16 = aot_run_words[6];
aot_gpr_17 = aot_run_words[7];
ctx.gpr[18] = aot_run_words[8];
ctx.gpr[19] = aot_run_words[9];
ctx.gpr[20] = aot_run_words[10];
ctx.gpr[21] = aot_run_words[11];
ctx.gpr[22] = aot_run_words[12];
ctx.gpr[23] = aot_run_words[13];
ctx.gpr[30] = aot_run_words[14];
aot_gpr_31 = aot_run_words[15];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(96));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2F5B8:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
ctx.gpr[18] = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
aot_gpr_5 = (ctx.gpr[18] | 0u);
aot_gpr_31 = (0x08B2F5E8u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F5E8u) goto L_08B2F5E8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F5E8:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2F5F4u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F5F4u) goto L_08B2F5F4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F5F4:
aot_gpr_4 = (ctx.gpr[2] | 0u);
aot_gpr_5 = (0u + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(29704), aot_gpr_5);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08B2F640;
}
goto L_08B2F608;
}
L_08B2F608:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(2076)));
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08B2F640;
}
goto L_08B2F614;
}
L_08B2F614:
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(72)));
aot_gpr_5 = (aot_gpr_5 & 14u);
aot_gpr_5 = (aot_gpr_5 ^ 6u);
aot_gpr_5 = (aot_gpr_5 < static_cast<std::uint32_t>(1) ? 1u : 0u);
aot_gpr_5 = (aot_gpr_5 & 255u);
{ const bool branch_taken = aot_gpr_5 == 0u;
if (branch_taken) {
goto L_08B2F640;
}
goto L_08B2F630;
}
L_08B2F630:
aot_gpr_5 = (aot_gpr_4 | 0u);
aot_gpr_31 = (0x08B2F63Cu);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 775u, 0x08B67368u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F63Cu) goto L_08B2F63C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F63C:
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(29704), ctx.gpr[2]);
goto L_08B2F640;
L_08B2F640:
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (ctx.gpr[18] | 0u);
aot_gpr_31 = (0x08B2F650u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F650u) goto L_08B2F650;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F650:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[4]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
aot_gpr_31 = aot_run_words[3];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2F66C:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_16 = (2236u << 16u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08B2F694u);
ctx.gpr[7] = (aot_gpr_17 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F694u) goto L_08B2F694;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F694:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2F6A0u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F6A0u) goto L_08B2F6A0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F6A0:
aot_gpr_16 = (ctx.gpr[2] | 0u);
aot_gpr_31 = (0x08B2F6ACu);
aot_gpr_4 = (aot_gpr_16 | 0u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F6ACu) goto L_08B2F6AC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F6AC:
{ const bool branch_taken = ctx.gpr[2] != 0u;
if (branch_taken) {
goto L_08B2F6E8;
}
goto L_08B2F6B4;
}
L_08B2F6B4:
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_31 = (0x08B2F6C0u);
aot_gpr_5 = (0u | 0u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890F694, 66u, 781u, 0x0890F694u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 781u, 0x0890F694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F6C0u) goto L_08B2F6C0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F6C0:
aot_gpr_31 = (0x08B2F6C8u);
aot_gpr_4 = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 976u, 0x0890BDFCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F6C8u) goto L_08B2F6C8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F6C8:
aot_gpr_31 = (0x08B2F6D0u);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(80)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 195u, 0x0886D420u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F6D0u) goto L_08B2F6D0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F6D0:
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(776), 0u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(80)));
aot_gpr_4 = (aot_gpr_16 | 0u);
ctx.gpr[6] = (0u | 0u);
aot_gpr_31 = (0x08B2F6E8u);
ctx.gpr[7] = (0u | 6u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 175u, 0x089089B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F6E8u) goto L_08B2F6E8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F6E8:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
aot_gpr_5 = (aot_gpr_4 << 5u);
aot_gpr_4 = (aot_gpr_4 << 2u);
aot_gpr_4 = (aot_gpr_5 - aot_gpr_4);
aot_gpr_4 = (aot_gpr_16 + aot_gpr_4);
aot_gpr_31 = (0x08B2F704u);
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(1396));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 148u, 0x08A40C70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F704u) goto L_08B2F704;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F704:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2F71C:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
ctx.gpr[18] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08B2F74Cu);
ctx.gpr[7] = (ctx.gpr[18] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F74Cu) goto L_08B2F74C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F74C:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2F758u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F758u) goto L_08B2F758;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F758:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast<std::uint32_t>(1256)));
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(4)));
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
aot_fpr_13 = static_cast<float>(static_cast<std::int32_t>(std::bit_cast<std::uint32_t>(aot_fpr_13)));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u);
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_08B2F780;
}
goto L_08B2F778;
}
L_08B2F778:
{ const bool branch_taken = 0u == 0u;
aot_gpr_4 = (0u | 1u);
if (branch_taken) {
goto L_08B2F784;
}
goto L_08B2F780;
}
L_08B2F780:
aot_gpr_4 = (0u | 0u);
goto L_08B2F784;
L_08B2F784:
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(524)));
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5);
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
{ const bool branch_taken = aot_gpr_5 != 0u;
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
if (branch_taken) {
goto L_08B2F7A8;
}
goto L_08B2F7A0;
}
L_08B2F7A0:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08B2F7F0;
}
goto L_08B2F7A8;
}
L_08B2F7A8:
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(518));
ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(0)));
ctx.gpr[7] = (static_cast<std::int32_t>(ctx.gpr[6]) < 9 ? 1u : 0u);
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store16(aot_gpr_5 + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(ctx.gpr[6]));
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(521)));
{ const bool branch_taken = ctx.gpr[7] == 0u;
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
if (branch_taken) {
goto L_08B2F7D4;
}
goto L_08B2F7C8;
}
L_08B2F7C8:
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08B2F7F0;
}
goto L_08B2F7D4;
}
L_08B2F7D4:
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_4) < 21 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08B2F7F0;
}
goto L_08B2F7EC;
}
L_08B2F7EC:
aot_mem.aot_direct_store16(aot_gpr_16 + static_cast<std::uint32_t>(518), static_cast<std::uint16_t>(0u));
goto L_08B2F7F0;
L_08B2F7F0:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[4]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
aot_gpr_31 = aot_run_words[3];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2F80C:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
ctx.gpr[18] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08B2F83Cu);
ctx.gpr[7] = (ctx.gpr[18] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F83Cu) goto L_08B2F83C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F83C:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2F848u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F848u) goto L_08B2F848;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F848:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast<std::uint32_t>(1360)));
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(4)));
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
if (branch_taken) {
goto L_08B2F860;
}
goto L_08B2F858;
}
L_08B2F858:
{ const bool branch_taken = 0u == 0u;
aot_gpr_4 = (0u | 1u);
if (branch_taken) {
goto L_08B2F864;
}
goto L_08B2F860;
}
L_08B2F860:
aot_gpr_4 = (0u | 0u);
goto L_08B2F864;
L_08B2F864:
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(524)));
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5);
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
{ const bool branch_taken = aot_gpr_5 != 0u;
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
if (branch_taken) {
goto L_08B2F888;
}
goto L_08B2F880;
}
L_08B2F880:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08B2F8D0;
}
goto L_08B2F888;
}
L_08B2F888:
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(518));
ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(0)));
ctx.gpr[7] = (static_cast<std::int32_t>(ctx.gpr[6]) < 9 ? 1u : 0u);
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store16(aot_gpr_5 + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(ctx.gpr[6]));
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(521)));
{ const bool branch_taken = ctx.gpr[7] == 0u;
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
if (branch_taken) {
goto L_08B2F8B4;
}
goto L_08B2F8A8;
}
L_08B2F8A8:
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08B2F8D0;
}
goto L_08B2F8B4;
}
L_08B2F8B4:
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_4) < 21 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08B2F8D0;
}
goto L_08B2F8CC;
}
L_08B2F8CC:
aot_mem.aot_direct_store16(aot_gpr_16 + static_cast<std::uint32_t>(518), static_cast<std::uint16_t>(0u));
goto L_08B2F8D0;
L_08B2F8D0:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[4]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
aot_gpr_31 = aot_run_words[3];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2F8EC:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-32));
{ const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
ctx.gpr[18] = (2236u << 16u);
ctx.gpr[7] = (ctx.gpr[18] + static_cast<std::uint32_t>(29704));
aot_gpr_5 = (aot_gpr_17 | 0u);
aot_gpr_31 = (0x08B2F91Cu);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F91Cu) goto L_08B2F91C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F91C:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2F928u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F928u) goto L_08B2F928;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F928:
aot_gpr_4 = (ctx.gpr[2] + static_cast<std::uint32_t>(16));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(4)));
{ const float fs = aot_fpr_12; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_14 = fs * ft; }
{ const float fs = aot_fpr_13; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_13 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_13 = fs * ft; }
aot_fpr_13 = aot_fpr_14 + aot_fpr_13;
aot_fpr_13 = std::sqrt(aot_fpr_13);
aot_fpr_12 = aot_fpr_12 / aot_fpr_13;
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast<std::uint32_t>(29704), aot_gpr_4);
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (aot_gpr_17 | 0u);
aot_gpr_31 = (0x08B2F960u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F960u) goto L_08B2F960;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F960:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[4]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
aot_gpr_31 = aot_run_words[3];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2F97C:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-32));
{ const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
ctx.gpr[18] = (2236u << 16u);
ctx.gpr[7] = (ctx.gpr[18] + static_cast<std::uint32_t>(29704));
aot_gpr_5 = (aot_gpr_17 | 0u);
aot_gpr_31 = (0x08B2F9ACu);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F9ACu) goto L_08B2F9AC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F9AC:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2F9B8u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F9B8u) goto L_08B2F9B8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F9B8:
aot_gpr_4 = (ctx.gpr[2] + static_cast<std::uint32_t>(16));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(4)));
{ const float fs = aot_fpr_12; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
{ const float fs = aot_fpr_13; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_14 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_14 = fs * ft; }
aot_fpr_12 = aot_fpr_12 + aot_fpr_14;
aot_fpr_12 = std::sqrt(aot_fpr_12);
aot_fpr_12 = aot_fpr_13 / aot_fpr_12;
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast<std::uint32_t>(29704), aot_gpr_4);
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (aot_gpr_17 | 0u);
aot_gpr_31 = (0x08B2F9F0u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2F9F0u) goto L_08B2F9F0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2F9F0:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[4]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
aot_gpr_31 = aot_run_words[3];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2FA0C:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
aot_gpr_16 = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08B2FA34u);
ctx.gpr[7] = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2FA34u) goto L_08B2FA34;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2FA34:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2FA40u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2FA40u) goto L_08B2FA40;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2FA40:
aot_gpr_4 = (ctx.gpr[2] | 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08B2FA6C;
}
goto L_08B2FA4C;
}
L_08B2FA4C:
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(472)));
ctx.gpr[6] = (0u + static_cast<std::uint32_t>(-9));
aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]);
ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(4)));
ctx.gpr[6] = (ctx.gpr[6] & 1u);
ctx.gpr[6] = (ctx.gpr[6] << 3u);
aot_gpr_5 = (aot_gpr_5 | ctx.gpr[6]);
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(472), aot_gpr_5);
goto L_08B2FA6C;
L_08B2FA6C:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2FA84:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
aot_gpr_31 = (0x08B2FAACu);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2FAACu) goto L_08B2FAAC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2FAAC:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2FAB8u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2FAB8u) goto L_08B2FAB8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2FAB8:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast<std::uint32_t>(2236)));
aot_gpr_5 = (0u | 17u);
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
aot_gpr_5 = (0u | 18u);
if (branch_taken) {
goto L_08B2FAD0;
}
goto L_08B2FAC8;
}
L_08B2FAC8:
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
if (branch_taken) {
goto L_08B2FAD8;
}
goto L_08B2FAD0;
}
L_08B2FAD0:
{ const bool branch_taken = 0u == 0u;
aot_gpr_4 = (0u | 1u);
if (branch_taken) {
goto L_08B2FADC;
}
goto L_08B2FAD8;
}
L_08B2FAD8:
aot_gpr_4 = (0u | 0u);
goto L_08B2FADC;
L_08B2FADC:
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(524)));
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5);
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
{ const bool branch_taken = aot_gpr_5 != 0u;
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
if (branch_taken) {
goto L_08B2FB00;
}
goto L_08B2FAF8;
}
L_08B2FAF8:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08B2FB48;
}
goto L_08B2FB00;
}
L_08B2FB00:
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(518));
ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(0)));
ctx.gpr[7] = (static_cast<std::int32_t>(ctx.gpr[6]) < 9 ? 1u : 0u);
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store16(aot_gpr_5 + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(ctx.gpr[6]));
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(521)));
{ const bool branch_taken = ctx.gpr[7] == 0u;
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
if (branch_taken) {
goto L_08B2FB2C;
}
goto L_08B2FB20;
}
L_08B2FB20:
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08B2FB48;
}
goto L_08B2FB2C;
}
L_08B2FB2C:
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_4) < 21 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08B2FB48;
}
goto L_08B2FB44;
}
L_08B2FB44:
aot_mem.aot_direct_store16(aot_gpr_16 + static_cast<std::uint32_t>(518), static_cast<std::uint16_t>(0u));
goto L_08B2FB48;
L_08B2FB48:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2FB60:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-32));
{ const std::uint32_t aot_run_words[5]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
ctx.gpr[18] = (2236u << 16u);
ctx.gpr[19] = (ctx.gpr[18] + static_cast<std::uint32_t>(29704));
aot_gpr_5 = (aot_gpr_17 | 0u);
ctx.gpr[6] = (0u | 1u);
aot_gpr_31 = (0x08B2FB98u);
ctx.gpr[7] = (ctx.gpr[19] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2FB98u) goto L_08B2FB98;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2FB98:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2FBA4u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2FBA4u) goto L_08B2FBA4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2FBA4:
aot_gpr_4 = (ctx.gpr[2] + static_cast<std::uint32_t>(48));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast<std::uint32_t>(29704), aot_gpr_5);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(4)));
aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast<std::uint32_t>(4), aot_gpr_5);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(8)));
aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast<std::uint32_t>(8), aot_gpr_4);
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (aot_gpr_17 | 0u);
aot_gpr_31 = (0x08B2FBD0u);
ctx.gpr[6] = (0u | 3u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2FBD0u) goto L_08B2FBD0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2FBD0:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[5]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
ctx.gpr[19] = aot_run_words[3];
aot_gpr_31 = aot_run_words[4];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2FBF0:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
ctx.gpr[18] = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
aot_gpr_5 = (ctx.gpr[18] | 0u);
aot_gpr_31 = (0x08B2FC20u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2FC20u) goto L_08B2FC20;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2FC20:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2FC2Cu);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2FC2Cu) goto L_08B2FC2C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2FC2C:
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast<std::uint32_t>(86))))));
ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7656)));
ctx.gpr[6] = (static_cast<std::int32_t>(aot_gpr_5) < static_cast<std::int32_t>(ctx.gpr[6]) ? 1u : 0u);
{ const bool branch_taken = ctx.gpr[6] == 0u;
aot_gpr_4 = (0u | 0u);
if (branch_taken) {
goto L_08B2FC50;
}
goto L_08B2FC40;
}
L_08B2FC40:
aot_gpr_4 = (aot_gpr_5 << 2u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(24)));
aot_gpr_4 = (aot_gpr_5 + aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
goto L_08B2FC50;
L_08B2FC50:
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(71)));
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(29704), aot_gpr_4);
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (ctx.gpr[18] | 0u);
aot_gpr_31 = (0x08B2FC68u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2FC68u) goto L_08B2FC68;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2FC68:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[4]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
aot_gpr_31 = aot_run_words[3];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2FC84:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
aot_gpr_16 = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
ctx.gpr[6] = (0u | 2u);
aot_gpr_31 = (0x08B2FCACu);
ctx.gpr[7] = (aot_gpr_16 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2FCACu) goto L_08B2FCAC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2FCAC:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2FCB8u);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2FCB8u) goto L_08B2FCB8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2FCB8:
ctx.gpr[6] = (ctx.gpr[2] | 0u);
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast<std::uint32_t>(86))))));
ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7656)));
ctx.gpr[7] = (static_cast<std::int32_t>(aot_gpr_5) < static_cast<std::int32_t>(ctx.gpr[7]) ? 1u : 0u);
{ const bool branch_taken = ctx.gpr[7] == 0u;
aot_gpr_4 = (0u | 0u);
if (branch_taken) {
goto L_08B2FCE0;
}
goto L_08B2FCD0;
}
L_08B2FCD0:
aot_gpr_4 = (aot_gpr_5 << 2u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(24)));
aot_gpr_4 = (aot_gpr_5 + aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
goto L_08B2FCE0;
L_08B2FCE0:
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(4)));
aot_gpr_31 = (0x08B2FCECu);
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(1276));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 632u, 0x08903654u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2FCECu) goto L_08B2FCEC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2FCEC:
ctx.gpr[2] = (0u | 0u);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2FD04:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
aot_gpr_17 = (2236u << 16u);
ctx.gpr[7] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_31 = (0x08B2FD30u);
ctx.gpr[6] = (0u | 1u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2FD30u) goto L_08B2FD30;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2FD30:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2FD3Cu);
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2FD3Cu) goto L_08B2FD3C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2FD3C:
aot_gpr_5 = (ctx.gpr[2] | 0u);
aot_gpr_4 = (aot_gpr_5 + static_cast<std::uint32_t>(320));
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>();
aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>());
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(2244)));
ctx.gpr[6] = (0u | 2u);
if (aot_gpr_4 == ctx.gpr[6]) {
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(2244)));
goto L_08B2FD8C;
}
goto L_08B2FD64;
L_08B2FD64:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(2244)));
ctx.gpr[6] = (0u | 6u);
if (aot_gpr_4 == ctx.gpr[6]) {
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(2244)));
goto L_08B2FD8C;
}
goto L_08B2FD74;
L_08B2FD74:
aot_fpr_13 = std::bit_cast<float>(0u);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u);
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_08B2FDF0;
}
goto L_08B2FD88;
}
L_08B2FD88:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(2244)));
goto L_08B2FD8C;
L_08B2FD8C:
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_4) < 3 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08B2FDF0;
}
goto L_08B2FD98;
}
L_08B2FD98:
ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(2228)));
ctx.gpr[7] = (0u | 43u);
{ const bool branch_taken = ctx.gpr[6] == ctx.gpr[7];
aot_gpr_4 = (0u | 0u);
if (branch_taken) {
goto L_08B2FDB8;
}
goto L_08B2FDA8;
}
L_08B2FDA8:
ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(2228)));
ctx.gpr[7] = (0u | 44u);
{ const bool branch_taken = ctx.gpr[6] != ctx.gpr[7];
aot_gpr_4 = (aot_gpr_4 & 255u);
if (branch_taken) {
goto L_08B2FDC0;
}
goto L_08B2FDB8;
}
L_08B2FDB8:
aot_gpr_4 = (0u | 1u);
aot_gpr_4 = (aot_gpr_4 & 255u);
goto L_08B2FDC0;
L_08B2FDC0:
{ const bool branch_taken = aot_gpr_4 != 0u;
if (branch_taken) {
goto L_08B2FDF0;
}
goto L_08B2FDC8;
}
L_08B2FDC8:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(2228)));
ctx.gpr[6] = (0u | 45u);
{ const bool branch_taken = aot_gpr_4 == ctx.gpr[6];
if (branch_taken) {
goto L_08B2FDF0;
}
goto L_08B2FDD8;
}
L_08B2FDD8:
aot_gpr_31 = (0x08B2FDE0u);
aot_gpr_4 = (aot_gpr_5 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2FDE0u) goto L_08B2FDE0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2FDE0:
{ const bool branch_taken = ctx.gpr[2] != 0u;
if (branch_taken) {
goto L_08B2FDF0;
}
goto L_08B2FDE8;
}
L_08B2FDE8:
{ const bool branch_taken = 0u == 0u;
aot_gpr_4 = (0u | 1u);
if (branch_taken) {
goto L_08B2FDF4;
}
goto L_08B2FDF0;
}
L_08B2FDF0:
aot_gpr_4 = (0u | 0u);
goto L_08B2FDF4;
L_08B2FDF4:
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(524)));
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5);
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
{ const bool branch_taken = aot_gpr_5 != 0u;
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
if (branch_taken) {
goto L_08B2FE20;
}
goto L_08B2FE18;
}
L_08B2FE18:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08B2FE70;
}
goto L_08B2FE20;
}
L_08B2FE20:
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(518));
ctx.gpr[6] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(0)));
ctx.gpr[7] = (ctx.gpr[6] + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store16(aot_gpr_5 + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(ctx.gpr[7]));
aot_gpr_5 = (static_cast<std::int32_t>(ctx.gpr[6]) < 9 ? 1u : 0u);
if (aot_gpr_5 == 0u) {
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(521)));
goto L_08B2FE50;
}
goto L_08B2FE3C;
L_08B2FE3C:
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(521)));
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
if (branch_taken) {
goto L_08B2FE70;
}
goto L_08B2FE50;
}
L_08B2FE50:
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_4) < 21 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08B2FE70;
}
goto L_08B2FE6C;
}
L_08B2FE6C:
aot_mem.aot_direct_store16(aot_gpr_16 + static_cast<std::uint32_t>(518), static_cast<std::uint16_t>(0u));
goto L_08B2FE70;
L_08B2FE70:
{ const bool branch_taken = 0u == 0u;
ctx.gpr[2] = (0u | 0u);
if (branch_taken) {
goto L_08B2FE78;
}
goto L_08B2FE78;
}
L_08B2FE78:
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_run_words);
aot_gpr_16 = aot_run_words[0];
aot_gpr_17 = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
local_pc = jump_target;
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08B2FE8C:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-112));
{ const std::uint32_t aot_run_words[6]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(84), aot_run_words); }
aot_gpr_16 = (aot_gpr_4 | 0u);
aot_gpr_31 = (0x08B2FEB4u);
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(48));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 291u, 0x089D1AECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2FEB4u) goto L_08B2FEB4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2FEB4:
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
ctx.gpr[18] = (2236u << 16u);
ctx.gpr[19] = (ctx.gpr[18] + static_cast<std::uint32_t>(29704));
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (aot_gpr_17 | 0u);
ctx.gpr[6] = (0u | 1u);
aot_gpr_31 = (0x08B2FED4u);
ctx.gpr[7] = (ctx.gpr[19] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2FED4u) goto L_08B2FED4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2FED4:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15976)));
aot_gpr_31 = (0x08B2FEE0u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(29704)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 431u, 0x08B65C68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2FEE0u) goto L_08B2FEE0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2FEE0:
ctx.gpr[20] = (ctx.gpr[2] | 0u);
aot_gpr_4 = (ctx.gpr[20] | 0u);
aot_gpr_31 = (0x08B2FEF0u);
aot_gpr_5 = (aot_gpr_29 | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0200_entry, 200u, 544u, 0x08B26D30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2FEF0u) goto L_08B2FEF0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2FEF0:
{ const std::uint32_t vfpu_address = aot_gpr_29 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast<std::uint32_t>(86))))));
aot_gpr_4 = (aot_gpr_4 << 2u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(24)));
aot_gpr_4 = (aot_gpr_5 + aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(20)));
ctx.fpr[15] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(12)));
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(32)));
aot_fpr_12 = aot_fpr_14 - ctx.fpr[15];
ctx.fpr[16] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(40)));
aot_fpr_13 = ctx.fpr[16] + ctx.fpr[15];
aot_fpr_14 = aot_fpr_14 + ctx.fpr[15];
aot_gpr_31 = (0x08B2FF38u);
ctx.fpr[15] = ctx.fpr[16] - ctx.fpr[15];
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089D1B1C, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, ctx.fpr[15]); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0115_entry, 115u, 292u, 0x089D1B1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2FF38u) goto L_08B2FF38;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2FF38:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(16)));
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(20)));
aot_gpr_5 = (std::bit_cast<std::uint32_t>(aot_fpr_13));
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(24)));
ctx.gpr[6] = (std::bit_cast<std::uint32_t>(aot_fpr_14));
{ const std::uint32_t aot_run_words[3]{aot_gpr_4, aot_gpr_5, ctx.gpr[6]};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(48), aot_run_words); }
ctx.fpr[15] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(28)));
aot_gpr_4 = (std::bit_cast<std::uint32_t>(ctx.fpr[15]));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(60), aot_gpr_4);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(48)));
ctx.fpr[16] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(36)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(40)));
{ const std::uint32_t aot_run_words[3]{std::bit_cast<std::uint32_t>(aot_fpr_12), std::bit_cast<std::uint32_t>(ctx.fpr[16]), std::bit_cast<std::uint32_t>(aot_fpr_13)};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
ctx.gpr[6] = (aot_gpr_29 + static_cast<std::uint32_t>(64));
ctx.gpr[20] = (aot_gpr_29 + static_cast<std::uint32_t>(80));
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (aot_gpr_29 | 0u);
ctx.gpr[7] = (ctx.gpr[20] | 0u);
ctx.gpr[8] = (ctx.gpr[20] | 0u);
aot_gpr_31 = (0x08B2FFA0u);
ctx.gpr[9] = (ctx.gpr[20] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 584u, 0x088631C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2FFA0u) goto L_08B2FFA0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2FFA0:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(56)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(36)));
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(40)));
{ const std::uint32_t aot_run_words[3]{std::bit_cast<std::uint32_t>(aot_fpr_12), std::bit_cast<std::uint32_t>(aot_fpr_13), std::bit_cast<std::uint32_t>(aot_fpr_14)};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
ctx.gpr[7] = (aot_gpr_29 + static_cast<std::uint32_t>(68));
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (aot_gpr_29 | 0u);
ctx.gpr[6] = (ctx.gpr[20] | 0u);
ctx.gpr[8] = (ctx.gpr[20] | 0u);
aot_gpr_31 = (0x08B2FFD4u);
ctx.gpr[9] = (ctx.gpr[20] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 584u, 0x088631C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08B2FFD4u) goto L_08B2FFD4;
AOT_REGCACHE_SYNC_OUT(); return;
L_08B2FFD4:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(32)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(36)));
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(52)));
{ const std::uint32_t aot_run_words[3]{std::bit_cast<std::uint32_t>(aot_fpr_12), std::bit_cast<std::uint32_t>(aot_fpr_13), std::bit_cast<std::uint32_t>(aot_fpr_14)};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
ctx.gpr[8] = (aot_gpr_29 + static_cast<std::uint32_t>(72));
aot_gpr_4 = (aot_gpr_16 | 0u);
aot_gpr_5 = (aot_gpr_29 | 0u);
ctx.gpr[6] = (ctx.gpr[20] | 0u);
ctx.gpr[7] = (ctx.gpr[20] | 0u);
ctx.pc = 0x08B30000u; AOT_REGCACHE_SYNC_OUT(); return;
}
#undef AOT_REGCACHE_SYNC_IN
#undef AOT_REGCACHE_SYNC_OUT
void recomp_unit_0202(Runtime &rt, AllegrexContext &ctx) {
auto aot_mem = rt.memory().aot_fast_view();
recomp_unit_0202_entry(rt, ctx, 0u, aot_mem);
}
void register_generated_unit_202(Runtime &runtime) {
runtime.register_generated_unit(202u, 0x08B2C000u, 16384u, &recomp_unit_0202, &recomp_unit_0202_entry);
// PSPRECOMP_V812_COMPACT_REGISTRATION: same entry set, looped once in Runtime instead of source-expanded calls.
runtime.register_generated_entry_mask(0x08B2C000u, &recomp_unit_0202, "recomp_unit_0202",
kEntryMasks_recomp_unit_0202, 64u);
}
} // namespace psprecomp