HalpDpReplaceTarget
INT64 __fastcall HalpDpReplaceTarget(INT64 a1, INT64 a2, INT64 a3){
int v3;
unsigned int v5;
int v6;
int v7;
unsigned int v8;
INT64 result;
v3 = *(_DWORD *)a1;
v5 = 0;
_InterlockedIncrement((volatile signed __int32 *)(a1 + 48));
v6 = *(_DWORD *)(a1 + 48);
v7 = v3 + 1;
while( v6 < v7 )
{
if( (++v5 & dword_140C4A13C) != 0 || !qword_140C4A140 )
_mm_pause();
else
qword_140C4A140(v5, a2, a3);
v6 = *(_DWORD *)(a1 + 48);
}
if( !*(_BYTE *)(a1 + 68) )
HalpDpOfflineProcessorForReplace(a1);
v8 = 0;
_InterlockedIncrement((volatile signed __int32 *)(a1 + 52));
while( 1 )
{
result = *(unsigned int *)(a1 + 52);
if( (int)result >= v7 )
break;
if( (++v8 & dword_140C4A13C) != 0 || !qword_140C4A140 )
_mm_pause();
else
qword_140C4A140(v8, a2, a3);
}
return result;
}Referenced by:
No references.