WheapDeviceDriverCreateRecord

UINT8 __stdcall WheapDeviceDriverCreateRecord(WCHAR *IndirectString){
  __int64 v1; 
  _WHEA_ERROR_RECORD *v2; 
  UINT64 v3; 
  _WHEA_ERROR_RECORD *v4; 
  __int64 v5; 
  UINT8 result; 
  _GUID v8; 
  VOID *v9; 

  v4 = v2;
  v5 = v1;
  if( (unsigned int)v3 < 0xC8 )
    return 35;
  if( *(_DWORD *)(v1 + 56) != 7 )
    return 2;
  result = WheapCreateRecordFromGenericErrorData(
             (_WHEA_ERROR_SOURCE_DESCRIPTOR *)IndirectString,
             (_WHEA_ERROR_PACKET_V2 *)v1,
             v2,
             v3,
             v9);
  v4->Header.CreatorId = *(_GUID *)(IndirectString + 52);
  v4->Header.PartitionId = *(_GUID *)(IndirectString + 60);
  v8 = *(_GUID *)(IndirectString + 22);
  v4->Header.ValidBits.AsULONG |= 5u;
  v4->Header.PlatformId = v8;
  v4->Header.Flags.AsULONG ^= (v4->Header.Flags.AsULONG ^ (8 * *(_DWORD *)(v5 + 12))) & 0x10;
  return result;
}

Referenced by:

No references.