// // sub_56EC8 from 0x56ec8 to 0x56fc0 (248 bytes) // // 2 xrefs: // > @ 0x10c538 // > @ 0x10c760 // // This function is hookable on this platform! // // Using BromaIDA 8.0.0 @ https://github.com/Stazzical/BromaIDA // Using bindings at commit ba9f177b at Thu Jul 16 22:52:06 2026 from https://github.com/geode-sdk/bindings // void sub_56EC8() { float *v0; // x19 __int64 v1; // x20 float *v2; // x21 __int64 v3; // x10 __int64 v4; // x10 char v5; // [xsp+Ch] [xbp-24h] if ( !(unsigned int)((__int64 (*)(void))loc_5782C)() && (v5 & 0x10) != 0 ) { if ( v2 ) { if ( (unsigned int)sub_56FC0(v2) ) goto LABEL_17; if ( *(float *)(v1 + 128) != *v2 || *(float *)(v1 + 132) != v2[1] || *(float *)(v1 + 136) != v2[2] ) *(_DWORD *)(v1 + 72) |= 4u; v3 = *(_QWORD *)v2; *(float *)(v1 + 136) = v2[2]; *(_QWORD *)(v1 + 128) = v3; } if ( v0 && !(unsigned int)sub_56FC0(v0) ) { if ( *(float *)(v1 + 140) != *v0 || *(float *)(v1 + 144) != v0[1] || *(float *)(v1 + 148) != v0[2] ) *(_DWORD *)(v1 + 72) |= 4u; v4 = *(_QWORD *)v0; *(float *)(v1 + 148) = v0[2]; *(_QWORD *)(v1 + 140) = v4; } } LABEL_17: JUMPOUT(0x5784C); }