CmGetRootKeyObjectForSilo

PVOID __fastcall CmGetRootKeyObjectForSilo(INT64 a1){
  PVOID v1; 
  void *v2; 
  PVOID ReturnedSiloContext; 
  ReturnedSiloContext = 0i64;
  PsGetPermanentSiloContext((_EJOB *)a1, *(unsigned int *)CmpSiloContextSlot, &ReturnedSiloContext);
  v1 = ReturnedSiloContext;
  if( ReturnedSiloContext && (v2 = (void *)*((_QWORD *)ReturnedSiloContext + 4)) != 0i64 )
  {
    ObfReferenceObject(v2);
    return(PVOID)*((_QWORD *)v1 + 4);
  }
  else
  {
    ObfReferenceObject(CmpRegistryRootObject);
    return CmpRegistryRootObject;
  }
}

Referenced by:

VrpHandleIoctlInitializeJobForVreg