// // sub_5DE68 from 0x5de68 to 0x5df74 (268 bytes) // // 1 xrefs: // > FMOD::Geometry::setPolygonVertex @ 0xd51b0 // // 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 // __int64 sub_5DE68() { __int64 v0; // x19 __int64 v1; // x8 __int64 *v2; // x3 __int64 *v3; // x20 int v4; // w2 int v5; // w22 int v6; // w1 int v7; // w21 __int64 v8; // x0 __int64 v9; // x0 long double v10; // q0 unsigned int v11; // w23 __int64 v12; // x21 __int64 v13; // x9 _DWORD *v14; // x8 __int64 v15; // x10 sub_5F2A0(); v3 = v2; v5 = v4; v7 = v6; v8 = sub_5F218(*(_QWORD *)(v1 + 400)); v9 = sub_5F23C(v8); if ( v7 < 0 || *(_DWORD *)(v0 + 44) <= v7 || v5 < 0 ) { v11 = 31; } else { v11 = 31; if ( v3 ) { v12 = *(_QWORD *)(v0 + 64) + *(int *)(*(_QWORD *)(v0 + 48) + 4LL * v7); if ( *(unsigned __int16 *)(v12 + 184) > v5 ) { v13 = v12 + 188; v14 = (_DWORD *)(v12 + 188 + 12LL * v5); LODWORD(v10) = *v14; if ( *(float *)v14 != *(float *)v3 || (LODWORD(v10) = *(_DWORD *)(v13 + 12LL * v5 + 4), *(float *)&v10 != *((float *)v3 + 1)) || (LODWORD(v10) = *(_DWORD *)(v13 + 12LL * v5 + 8), *(float *)&v10 != *((float *)v3 + 2)) ) { v15 = *v3; v14[2] = *((_DWORD *)v3 + 2); *(_QWORD *)v14 = v15; if ( (*(_BYTE *)(v12 + 24) & 0x40) != 0 ) { v9 = sub_60D14(v0 + 272); *(_QWORD *)(v12 + 72) = *(_QWORD *)(v0 + 80); *(_QWORD *)(v0 + 80) = v12; } v9 = sub_5F298(v9, v10); } v11 = 0; } } } sub_5F234(v9); return v11; }