DbgkpWerUpdateTriageDumpHeader

NTSTATUS __stdcall DbgkpWerUpdateTriageDumpHeader(_DBGKWER_CONTEXT *Context){
  _DBGKWER_CONTEXT v1; 
  __int64 v3; 
  unsigned int v4; 
  unsigned int v5; 
  unsigned __int64 v6; 
  unsigned int v7; 

  v1 = Context[24];
  v3 = (unsigned int)Context[38];
  if( !v1 )
    goto LABEL_5;
  v4 = Context[44];
  v5 = v3 + 16;
  v6 = 32i64 * v4;
  if( v6 > 0xFFFFFFFF )
  {
    DbgPrintEx(5u, 0, "DBGK: Overflow calculating total blocks. Block count %i\n", v4);
  }
  else
  {
    v7 = v6 + v5;
    if( (unsigned int)v6 + v5 >= v5 )
    {
      v3 = v1 + v7;
      if( (unsigned int)v3 >= v7 )
      {
LABEL_5:
        *(_QWORD *)(*((_QWORD *)Context + 18) + 4000i64) = (unsigned int)v3;
        DbgPrintEx(5u, 3u, "DBGK: Required total aize: 0x%X\n", v3);
        return 0;
      }
    }
  }
  return -1073741675;
}

Referenced by:

DbgkpWerWriteTriageDump