CmpAcquireSystemDriverHiveContext

INT64 __fastcall CmpAcquireSystemDriverHiveContext(INT64 a1){
  int v2; 
  __int64 v3; 
  UINT64 v4; 
  int ControlSet; 
  BYTE v7; 
  v7 = 0;
  v2 = CmpPerformKeyBodyDeletionCheck(*(_QWORD *)(a1 + 40), 0i64);
  if( v2 >= 0 )
  {
    v3 = *(_QWORD *)(a1 + 40);
    v4 = *(_QWORD *)(*(_QWORD *)(v3 + 8) + 32i64);
    *(_QWORD *)(a1 + 48) = v4;
    ControlSet = CmpFindControlSet(v4, *(unsigned int *)(*(_QWORD *)(v3 + 8) + 40i64), &CmpCurrentString, &v7);
    *(_DWORD *)(a1 + 56) = ControlSet;
    if( ControlSet == -1 )
      return(unsigned int)-1073741275;
  }
  return(unsigned int)v2;
}

Referenced by:

CmGetSystemDriverList