HalpEfiStartRuntimeCode

NTSTATUS __stdcall HalpEfiStartRuntimeCode(UINT64 a1){
  unsigned int v1; 
  NTSTATUS result; 
  int *v3; 

  v1 = a1;
  result = KeGetCurrentIrql();
  v3 = (int *)&KeGetPcr()->HalReserved[8];
  if( (unsigned __int8)result < 2u )
  {
    while( 1 )
    {
      while( *v3 < 0 )
        _mm_pause();
      _m_prefetchw(v3);
      result = _InterlockedOr(v3, v1);
      if( result >= 0 )
        break;
      _InterlockedAnd(v3, ~v1);
    }
  }
  else
  {
    _InterlockedOr(v3, a1);
  }
  return result;
}

Referenced by:

HalEfiGetEnvironmentVariable
HalEfiGetTime
HalEfiQueryCapsuleCapabilities
HalEfiQueryVariableInfo
HalEfiResetSystem
HalEfiSetEnvironmentVariable
HalEfiSetTime
HalEfiUpdateCapsule
HalpEnumerateEnvironmentVariablesWithFilter