CmpUpdateSystemHiveHysteresis

void __fastcall CmpUpdateSystemHiveHysteresis(_HHIVE *Hive, UINT64 NewLength, UINT64 OldLength){
  unsigned int v3; 

  if( Hive == (_HHIVE *)*(&stru_140C00F40 + 70) && qword_140C50848 )
  {
    v3 = 100 * ((int)NewLength + 4096) / (unsigned int)dword_140C50860;
    if( (unsigned int)NewLength <= (unsigned int)OldLength )
    {
      if( !byte_140C50841 && v3 < dword_140C5085C )
      {
        byte_140C50841 = 1;
        if( byte_140C50840 == 1 )
        {
          if( CmpDoQueueSystemHiveHysteresis(v3) != 1 )
            goto LABEL_9;
LABEL_14:
          byte_140C50840 = 0;
        }
      }
    }
    else if( v3 > dword_140C50858 && !byte_140C50840 )
    {
      byte_140C50840 = 1;
      if( byte_140C50841 == 1 )
      {
        if( CmpDoQueueSystemHiveHysteresis(v3) == 1 )
        {
LABEL_9:
          byte_140C50841 = 0;
          return;
        }
        goto LABEL_14;
      }
    }
  }
}

Referenced by:

HvFreeHivePartial
HvpAddBin