SdbpCheckMatchingRegistry

__int64 __fastcall SdbpCheckMatchingRegistry(_DWORD *a1, __int64 a2, void *a3, __int64 a4, UINT64 a5, __int64 a6){
  UINT64 v6; 
  unsigned int v7; 
  UINT64 dwValueDataDb; 
  UINT64 ulValueTypeDb; 
  UINT64 pValueDataSize; 
  UINT8 *pValueDataDb; 
  UINT64 qwValueDataDb; 
  PWCHAR pwszValueDataDb; 
  INT64 a4a; 
  _QWORD a3a[2]; 
  UINT64 v18; 
  v6 = (unsigned int)a5;
  v7 = 0;
  *a1 = 0;
  a3a[0] = 0i64;
  a4a = 0i64;
  ulValueTypeDb = 0i64;
  pwszValueDataDb = 0i64;
  LODWORD(v18) = 0;
  qwValueDataDb = 0i64;
  pValueDataDb = 0i64;
  pValueDataSize = 0i64;
  if( (unsigned int)SdbpGetRegistryMatchingAttributes(
                       (_RTL_RUN_ONCE *)a3,
                       v6,
                       a3a,
                       &a4a,
                       (INT64)&ulValueTypeDb,
                       (INT64)&pwszValueDataDb,
                       (INT64)&v18,
                       (INT64)&qwValueDataDb,
                       (INT64)&pValueDataDb,
                       (INT64)&pValueDataSize) )
  {
    LODWORD(dwValueDataDb) = v18;
    if( SdbpCheckMatchingRegistryEntry(
           (PWCHAR)a3a[0],
           (PWCHAR)a4a,
           (unsigned int)ulValueTypeDb,
           pwszValueDataDb,
           dwValueDataDb,
           qwValueDataDb,
           pValueDataDb,
           pValueDataSize,
           (INT64 *)((char *)&ulValueTypeDb + 4)) )
    {
      v7 = 1;
      *(_DWORD *)(a6 + 80) = 1;
      *a1 = HIDWORD(ulValueTypeDb);
    }
    else
    {
      AslLogCallPrintf(1ui64, "SdbpCheckMatchingRegistry", 0x5DCui64, "Failed to check MATCHING_REG entry");
    }
  }
  else
  {
    AslLogCallPrintf(1ui64, "SdbpCheckMatchingRegistry", 0x5CBui64, "Failed to read MATCHING_REG entry");
  }
  return v7;
}

Referenced by:

No references.