KeInitializeEnclave

NTSTATUS __stdcall KeInitializeEnclave(
        VOID *EnclaveControlAddress,
        VOID *SignatureInfo,
        VOID *InitializationToken,
        UINT64 *ReturnedError){
  bool v4; 
  int v5; 
  NTSTATUS result; 
  NTSTATUS *v7; 

  v4 = ((unsigned __int64)KeFeatureBits & 0x10000000000i64) == 0;
  *v7 = 0;
  if( v4 )
    return -1073741637;
  v5 = 16;
  while( 1 )
  {
    result = KiEncls(2ui64);
    if( !result )
      break;
    if( result != 128 )
    {
      *v7 = result;
      return -1073740657;
    }
    if( !--v5 )
    {
      *v7 = 128;
      return -1073741267;
    }
  }
  return result;
}

Referenced by:

MiInitializeEnclave