HalpInitializeGhesRecovery

UINT64 __stdcall HalpInitializeGhesRecovery(
        _HHIVE *Hive,
        UINT8 SymLink,
        _CELL_DATA *List,
        UINT64 Count,
        UINT64 KeyCell,
        _RTL_BITMAP *Bitmap,
        UINT64 *MaxValueNameLen,
        UINT64 *MaxValueDataLen){
  _SLIST_ENTRY *v8; 
  _QWORD *v9; 
  __int64 v10; 
  UINT64 result; 

  if( ((unsigned __int8)&WheapDrsPoolList & 0xF) != 0 )
    RtlRaiseStatus(-2147483646);
  v8 = &ListEntry;
  WheapDrsPoolList = 0i64;
  v9 = &unk_140CED568;
  v10 = 32i64;
  do
  {
    *(_OWORD *)(v9 - 3) = 0i64;
    *(_OWORD *)(v9 - 1) = 0i64;
    v9[1] = 0i64;
    *(v9 - 1) = HalpErrorDeferredHandler;
    RtlpInterlockedPushEntrySList(&WheapDrsPoolList, v8);
    v8 += 6;
    v9 += 12;
    --v10;
  }
  while( v10 );
  result = (UINT64)HalpRequestGenericErrorRecovery;
  off_140C009D8[0] = (__int64(__fastcall *)())HalpRequestGenericErrorRecovery;
  return result;
}

Referenced by:

HalpInitializeMce