HalpTscInitializeSynchronizationContext

UINT64 __fastcall HalpTscInitializeSynchronizationContext(INT64 a1, CHAR a2, INT64 *a3, _DWORD *a4){
  int v4; 
  UINT64 result; 
  v4 = 0;
  *(_BYTE *)(a1 + 33) = a2;
  if( a4 )
  {
    *(_DWORD *)a1 = *a4;
    result = (unsigned int)*a4;
    *(_DWORD *)(a1 + 40) = result;
  }
  else
  {
    result = KeQueryActiveProcessorCountEx(0xFFFFu);
    *(_DWORD *)(a1 + 40) = result;
    *(_DWORD *)a1 = result;
  }
  if( a3 )
  {
    *(_BYTE *)(a1 + 34) = 1;
    v4 = *(_DWORD *)a3;
  }
  else
  {
    *(_BYTE *)(a1 + 34) = 0;
  }
  *(_DWORD *)(a1 + 36) = v4;
  return result;
}

Referenced by:

HalpPostSleepMP
HalpTscSynchronization