SdbpCheckMatchingDevice

__int64 __fastcall SdbpCheckMatchingDevice(_DWORD *a1, __int64 a2, void *a3, __int64 a4, unsigned int a5, __int64 a6){
  __int64(__fastcall *v6)(INT64); 
  unsigned int v7; 
  unsigned int FirstTag; 
  INT64 StringTagPtr; 
  v6 = *(__int64(__fastcall **)(INT64))(a2 + 968);
  v7 = 0;
  *a1 = 0;
  if( v6 )
  {
    FirstTag = SdbFindFirstTag((INT64)a3, a5, 24577);
    if( FirstTag )
    {
      StringTagPtr = SdbGetStringTagPtr((RTL_RUN_ONCE *)a3, FirstTag);
      if( StringTagPtr )
      {
        v7 = 1;
        *a1 = v6(StringTagPtr);
        if( a6 )
          *(_DWORD *)(a6 + 80) = 1;
      }
      else
      {
        AslLogCallPrintf(1ui64, "SdbpCheckMatchingDevice", 0x7FAui64, "Failed to get HWID");
      }
    }
    else
    {
      AslLogCallPrintf(1ui64, "SdbpCheckMatchingDevice", 0x7F4ui64, "Failed to read HWID attribute");
    }
  }
  else
  {
    AslLogCallPrintf(1ui64, "SdbpCheckMatchingDevice", 0x7EEui64, "No device query callback specified");
  }
  return v7;
}

Referenced by:

No references.