INT64 __stdcall CmpGetLastHive(){
INT64 v0;
__int64 v1;
__int64 *v2;
INT64 v3;
__int64 v4;
v0 = 0i64;
ExAcquirePushLockSharedEx((UINT64)&CmpHiveListHeadLock, 0i64);
v1 = qword_140D2D918;
v2 = &CmpHiveListHead;
while( (__int64 *)v1 != v2 )
{
if( CmpReferenceHive((_CMHIVE *)(v1 - 1600)) )
{
v0 = v3;
break;
}
v1 = *(_QWORD *)(v4 + 8);
}
ExReleasePushLockEx((UINT64)&CmpHiveListHeadLock, 0i64);
return v0;
}