Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- __int64 __fastcall CCollisionDataObjectManager::sub_1401BB970(__int64 *a1, __int64 a2, __int64 a3, __int64 a4, _DWORD *a5)
- {
- CCollisionDataObjectManager *v5; // rsi
- __int64 v6; // rbx
- signed __int64 v8; // rax
- unsigned int v9; // ecx
- __m128 v10; // xmm2
- CCollisionDataEntry *pEntries; // rbx
- CCollisionDataObject *pObject; // r10
- __int64 v13; // r10
- __int64 v14; // [rsp+20h] [rbp-A8h]
- __int64 v15; // [rsp+28h] [rbp-A0h]
- __int64 v16; // [rsp+30h] [rbp-98h]
- int v17; // [rsp+38h] [rbp-90h]
- unsigned int v18; // [rsp+3Ch] [rbp-8Ch]
- float a2a[4]; // [rsp+40h] [rbp-88h]
- __m128 v20; // [rsp+50h] [rbp-78h]
- __m128 v21; // [rsp+60h] [rbp-68h]
- __m128 v22; // [rsp+70h] [rbp-58h]
- v5 = (CCollisionDataObjectManager *)*a1;
- v6 = a2;
- if ( !*a1 )
- return 0i64;
- sub_1402679B0((__int64)&v21, (__m128 *)a3, (__m128 *)a4);
- v8 = v6 + 16;
- v9 = 0;
- v15 = v6;
- v14 = v6;
- v16 = v6 + 16;
- v18 = 0;
- v10 = _mm_max_ps(v21, v22);
- *(__m128 *)a2a = _mm_min_ps(v21, v22);
- *(_OWORD *)v6 = 0i64;
- *(_DWORD *)(v6 + 12) = 0x3F800000;
- *(_OWORD *)v8 = 0i64;
- *(_DWORD *)(v8 + 12) = 0x3F800000;
- *(_QWORD *)(v6 + 40) = 0i64;
- *(_DWORD *)(v6 + 56) = 0;
- *(_DWORD *)(v6 + 32) = 0x7F7FFFFF;
- *(_QWORD *)(v6 + 48) = 0i64;
- *(_DWORD *)(v6 + 64) = -1;
- pEntries = v5->m_Data.m_pEntries;
- v20 = v10;
- v17 = 0x7F7FFFFF;
- a2a[3] = 1.0;
- v20.m128_i32[3] = 0x3F800000;
- if ( pEntries )
- {
- do
- {
- pObject = pEntries->m_pObject;
- pEntries = pEntries->m_pNext;
- if ( pObject && !pObject->dword54 && pObject->dword58 && pObject->dword50 && *a5 != pObject->m_uScenePropIndex && pObject->dword38 & a5[1] && pObject->dword30 & a5[2] )
- {
- if ( (unsigned int)OBB::Contains(&pObject->m_vMax.x, a2a) )
- (*(void (__fastcall **)(__int64, __int64 *, _DWORD *, float *, __int64, __int64, __int64, _QWORD, _QWORD, _QWORD, unsigned __int64, unsigned __int64))(*(_QWORD *)v13// v13 = rdx
- + 32i64))(
- v13,
- &v14,
- a5,
- a2a,
- v14,
- v15,
- v16,
- *(_QWORD *)&v17,
- *(_QWORD *)a2a,
- *(_QWORD *)&a2a[2],
- v20.m128_u64[0],
- v20.m128_u64[1]);
- }
- }
- while ( pEntries );
- v9 = v18;
- }
- return v9;
- }
Advertisement
Add Comment
Please, Sign In to add comment