CmpFindGroupOrderList

INT64 __fastcall CmpFindGroupOrderList(INT64 a1, INT64 a2){
  _CM_KEY_NODE *v3; 
  unsigned int SubKeyByName; 
  _CM_KEY_NODE *v5; 
  unsigned int v6; 
  int v8; 
  int v9; 
  v8 = -1;
  v9 = 0;
  v3 = (_CM_KEY_NODE *)(*(__int64(__fastcall **)(INT64, INT64, int *))(a1 + 8))(a1, a2, &v8);
  if( !v3 )
    return 0xFFFFFFFFi64;
  SubKeyByName = CmpFindSubKeyByName((_HHIVE *)a1, v3, (_UNICODE_STRING *)&CmpControlString);
  (*(void(__fastcall **)(INT64, int *))(a1 + 16))(a1, &v8);
  if( SubKeyByName == -1 )
    return 0xFFFFFFFFi64;
  v5 = (_CM_KEY_NODE *)(*(__int64(__fastcall **)(INT64, _QWORD, int *))(a1 + 8))(a1, SubKeyByName, &v8);
  if( !v5 )
    return 0xFFFFFFFFi64;
  v6 = CmpFindSubKeyByName((_HHIVE *)a1, v5, (_UNICODE_STRING *)&CmpGroupOrderListString);
  (*(void(__fastcall **)(INT64, int *))(a1 + 16))(a1, &v8);
  return v6;
}

Referenced by:

CmpFindDrivers