EmpSearchCallbackDatabase

_SINGLE_LIST_ENTRY *__stdcall EmpSearchCallbackDatabase(const _GUID *CallbackId){
  _QWORD *i; 
  _SINGLE_LIST_ENTRY *v2; 
  char *v3; 

  for( i = (_QWORD *)EmpCallbackListHead; ; i = (_QWORD *)*i )
  {
    v2 = 0i64;
    if( !i )
      break;
    v2 = (_SINGLE_LIST_ENTRY *)(i - 5);
    v3 = (char *)(*(i - 5) - *(_QWORD *)&CallbackId->Data1);
    if( !v3 )
      v3 = (char *)v2[1].Next - *(_QWORD *)CallbackId->Data4;
    if( !v3 )
      break;
  }
  return v2;
}

Referenced by:

EmpParseCallbacks
EmpParseRuleTerm
EmpProviderRegister