KeXorAffinityEx
INT64 __fastcall KeXorAffinityEx(UINT16 *a1, UINT16 *a2, UINT16 *a3){
UINT16 v3;
UINT16 *v4;
UINT16 v5;
UINT16 *v6;
unsigned int v8;
__int64 v9;
unsigned int v10;
__int64 v11;
__int64 v12;
unsigned int v13;
__int64 v14;
v3 = *a1;
v4 = a2;
v5 = *a2;
v6 = a1;
if( *a1 <= *a2 )
v6 = a2;
if( v3 <= v5 )
v4 = a1;
v8 = 0;
v9 = 0i64;
v10 = 0;
if( v3 <= v5 )
v5 = *a1;
if( v5 )
{
do
{
v11 = v10++;
v12 = *(_QWORD *)&v6[4 * v11 + 4] ^ *(_QWORD *)&v4[4 * v11 + 4];
*(_QWORD *)&a3[4 * v11 + 4] = v12;
v9 |= v12;
}
while( v10 < *v4 );
}
v13 = *v6;
*a3 = v13;
while( v10 < v13 )
{
v14 = v10++;
*(_QWORD *)&a3[4 * v14 + 4] = *(_QWORD *)&v6[4 * v14 + 4];
v13 = *a3;
}
*((_DWORD *)a3 + 1) = 0;
a3[1] = 20;
if( v10 < 0x14 )
memset((INT64)&a3[4 * v10 + 4], 0i64);
LOBYTE(v8) = v9 != 0;
return v8;
}Referenced by:
PpmParkComputeDiff
PpmParkReportParkedCores