KeInitializeEnclave

INT64 __stdcall KeInitializeEnclave(
        PVOID EnclaveControlAddress,
        PVOID SignatureInfo,
        PVOID InitializationToken,
        UINT64 *ReturnedError){
  bool v4; 
  int v5; 
  INT64 result; 
  _DWORD *v7; 
  v4 = (KeFeatureBits & 0x10000000000i64) == 0;
  *v7 = 0;
  if( v4 )
    return 3221225659i64;
  v5 = 16;
  while( 1 )
  {
    result = KiEncls(2ui64);
    if( !(_DWORD)result )
      break;
    if( (_DWORD)result != 128 )
    {
      *v7 = result;
      return 3221226639i64;
    }
    if( !--v5 )
    {
      *v7 = 128;
      return 3221226029i64;
    }
  }
  return result;
}

Referenced by:

MiInitializeEnclave