PfpPrefetchRequestPatchOffsets
__int64 __fastcall PfpPrefetchRequestPatchOffsets(__int64 a1){
__int64 v1;
__int64 v2;
__int64 v3;
__int64 v4;
bool v5;
__int64 v6;
__int64 v7;
__int64 v8;
__int64 result;
__int64 v10;
v1 = 0i64;
for( *(_QWORD *)(a1 + 32) = a1 + *(unsigned int *)(a1 + 32);
(unsigned int)v1 < *(_DWORD *)(a1 + 8);
v1 = (unsigned int)(v1 + 1) )
{
v2 = *(_QWORD *)(a1 + 32);
v3 = 5 * v1;
v4 = 0i64;
*(_QWORD *)(v2 + 8 * v3 + 32) = a1 + *(unsigned int *)(v2 + 40 * v1 + 32);
v5 = (*(_DWORD *)(v2 + 40 * v1 + 12) & 0xFFFFFFFE) == 0;
*(_QWORD *)(v2 + 8 * v3 + 16) = a1 + *(unsigned int *)(v2 + 40 * v1 + 16);
if( !v5 )
{
do
{
v6 = *(_QWORD *)(v2 + 40 * v1 + 16) + 48 * v4;
v7 = *(unsigned int *)(v6 + 32);
if( (_DWORD)v7 )
*(_QWORD *)(v6 + 32) = a1 + v7;
if( *(_DWORD *)(v6 + 16) )
*(_QWORD *)(v6 + 24) = a1 + *(unsigned int *)(v6 + 24);
v4 = (unsigned int)(v4 + 1);
}
while( (unsigned int)v4 < *(_DWORD *)(v2 + 40 * v1 + 12) >> 1 );
}
}
v8 = 0i64;
result = a1 + *(unsigned int *)(a1 + 56);
for( *(_QWORD *)(a1 + 56) = result; (unsigned int)v8 < *(_DWORD *)(a1 + 20); v8 = (unsigned int)(v8 + 1) )
{
v10 = *(_QWORD *)(a1 + 56);
if( *(_DWORD *)(v10 + 40 * v8 + 24) )
{
result = a1 + *(unsigned int *)(v10 + 40 * v8 + 32);
*(_QWORD *)(v10 + 40 * v8 + 32) = result;
}
}
return result;
}Referenced by:
PfpPrefetchRequestPerform