EmpSearchRuleDatabase

SINGLE_LIST_ENTRY *__fastcall EmpSearchRuleDatabase(const GUID *RuleId){
  _QWORD *i; 
  SINGLE_LIST_ENTRY *v2; 
  char *v3; 
  for( i = (_QWORD *)EmpRuleListHead; ; i = (_QWORD *)*i )
  {
    v2 = 0i64;
    if( !i )
      break;
    v2 = (SINGLE_LIST_ENTRY *)(i - 3);
    v3 = (char *)(*(i - 3) - *(_QWORD *)&RuleId->Data1);
    if( !v3 )
      v3 = (char *)v2[1].Next - *(_QWORD *)RuleId->Data4;
    if( !v3 )
      break;
  }
  return v2;
}

Referenced by:

EmClientQueryRuleState
EmClientRuleEvaluate
EmpClientRuleRegisterNotification
EmpParseRuleTerm
EmpParseRules
EmpParseTargetRules