KiHvEnlightenedGuestPriorityKick
UINT64 __stdcall KiHvEnlightenedGuestPriorityKick(INT64 a1, INT64 a2, INT64 a3){
UINT64 result;
int v4;
bool v5;
__int64 v6;
__int64 v7;
result = (unsigned int)KiVelocityFlags;
if( (KiVelocityFlags & 2) != 0 )
{
result = *(_QWORD *)(a2 + 33976);
if( result )
{
if( *(_QWORD *)(a1 + 33976) )
{
if( a1 != a2 && (int)a3 >= 8 )
{
v4 = *(_DWORD *)result;
result = *(_DWORD *)result & 0x40000;
if( (v4 & 0x100000) != 0 || (_DWORD)result && (result = (unsigned __int8)v4, (unsigned __int8)v4 < (int)a3) )
{
v5 = HvlpVirtualProcessorsIdentityMapped == 0;
v6 = *(_QWORD *)(a1 + 33976);
*(_DWORD *)(v6 + 12) = 2;
v7 = *(unsigned int *)(a2 + 36);
if( v5 )
LODWORD(v7) = (unsigned __int8)HvlpVirtualProcessorMapping[2 * (unsigned int)v7 + 1] | ((unsigned __int8)HvlpVirtualProcessorMapping[2 * v7] << 6);
*(_DWORD *)(v6 + 8) = v7;
result = (unsigned int)v7;
__writemsr(0x400000C2u, (unsigned int)v7);
}
}
}
}
}
return result;
}Referenced by:
KiDeferredReadySingleThread