__int64 __fastcall CmRegisterSystemHiveLimitCallback(__int64 a1, __int64 a2, __int64 a3){
unsigned int v3;
if( *(&stru_140C00F40 + 70) )
v3 = 100
* (*(_DWORD *)(*(_QWORD *)(*(&stru_140C00F40 + 70) + 64i64) + 40i64) + 4096)
/ (unsigned int)dword_140C50860;
else
v3 = 0;
if( !qword_140C50848 )
{
dword_140C5085C = 80;
qword_140C50848 = (__int64(__fastcall *)(_QWORD, _QWORD))PpSystemHiveLimitCallback;
dword_140C50858 = 90;
qword_140C50850 = a3;
byte_140C50841 = 1;
if( v3 >= 0x5A && (byte_140C50840 = 1, CmpDoQueueSystemHiveHysteresis(v3)) )
byte_140C50841 = 0;
else
byte_140C50840 = 0;
}
return v3;
}