WheapQueryPshedForErrorSources

INT64 __stdcall WheapQueryPshedForErrorSources(UINT64 *Count, UINT8 **Buffer){
  int AllErrorSources; 
  INT64 result; 
  __int64 v6[2]; 
  ULONG Size; 
  int v8; 
  v6[0] = 0i64;
  Size = 0;
  v8 = 0;
  if( (unsigned int)PshedGetAllErrorSources(&v8, v6, &Size) == -1073741789 )
  {
    v6[0] = (__int64)PshedAllocateMemory(Size);
    if( !v6[0] )
    {
      LODWORD(WheapStatus) = WheapStatus + 1;
      result = 3221225626i64;
      HIDWORD(WheapStatus) |= 1u;
      return result;
    }
    AllErrorSources = PshedGetAllErrorSources(&v8, v6, &Size);
    if( AllErrorSources >= 0 )
    {
      *Buffer = (UINT8 *)v6[0];
      *(_DWORD *)Count = v8;
      return 0i64;
    }
    LODWORD(WheapStatus) = WheapStatus + 1;
    HIDWORD(WheapStatus) |= 0x20u;
    dword_140C15F38 = AllErrorSources;
  }
  else
  {
    LODWORD(WheapStatus) = WheapStatus + 1;
    HIDWORD(WheapStatus) |= 4u;
  }
  return 3221225473i64;
}

Referenced by:

WheaInitialize