// // sub_53348 from 0x53348 to 0x53484 (316 bytes) // // 1 xrefs: // > @ 0x10c2b8 // // 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 // _QWORD *__fastcall sub_53348(_QWORD *a1, int a2, float a3) { __int64 v4; // x0 float *v5; // x8 float *v6; // x9 __int64 v7; // x21 __int64 v9; // x22 _QWORD *result; // x0 __int64 v11; // x1 __int64 v12; // [xsp+8h] [xbp-28h] v4 = a1[1]; v5 = (float *)a1[3]; v6 = &v5[2 * a2 + 84]; if ( !*(_QWORD *)(v4 + 24LL * a2 + 73664) ) { *(_QWORD *)v6 = 0; return nullptr; } v7 = *(_QWORD *)v6; v9 = a2; if ( a3 == 0.0 ) { if ( v7 ) { result = (_QWORD *)sub_77980(); if ( (_DWORD)result ) return result; *(_BYTE *)v12 = 3; *(_QWORD *)(v12 + 8) = v7; result = (_QWORD *)sub_77A28(a1[1]); if ( (_DWORD)result ) return result; *(_QWORD *)(a1[3] + 8 * v9 + 336) = 0; a1[96] = 0; } return nullptr; } if ( v7 ) goto LABEL_4; v11 = a1[96]; if ( !v11 ) { result = (*(_QWORD *(__fastcall **)(float *__return_ptr, _QWORD, __int64, _QWORD *))(*(_QWORD *)v5 + 288LL))( v5, a1[3], 4294967293LL, a1 + 96); if ( (_DWORD)result ) return result; v11 = a1[96]; } result = (_QWORD *)sub_52C8C((__int64)a1, v11, a2); if ( !(_DWORD)result ) { v4 = a1[1]; v5 = (float *)a1[3]; LABEL_4: result = (_QWORD *)sub_53484(a1, v4 + 24 * v9 + 73656, v5[12]); if ( (_DWORD)result ) return result; return nullptr; } return result; }