SdbpReleaseSearchDBContext

VOID __stdcall SdbpReleaseSearchDBContext(tagSEARCHDBCONTEXT *pContext){
  void *v2; 
  void *v3; 
  _DWORD *v4; 
  void *v5; 
  void *v6; 
  void *v7; 
  _RTL_ARRAY *v8; 
  __int64 i; 
  __int64 v10; 
  _ASL_STRING_HASH *v11; 
  _ASL_STRING_HASH *v12; 
  void *v13; 

  if( pContext )
  {
    v2 = (void *)*((_QWORD *)pContext + 3);
    if( v2 )
    {
      ExFreePoolWithTag(v2, 0x74705041u);
      *((_QWORD *)pContext + 3) = 0i64;
    }
    v3 = (void *)*((_QWORD *)pContext + 8);
    if( v3 )
    {
      ExFreePoolWithTag(v3, 0x74705041u);
      *((_QWORD *)pContext + 8) = 0i64;
    }
    v4 = (_DWORD *)*((_QWORD *)pContext + 9);
    if( v4 )
    {
      for( i = 0i64; (unsigned int)i < *v4; i = (unsigned int)(i + 1) )
      {
        v10 = (__int64)&v4[12 * i + 2];
        if( v10 )
        {
          v11 = *(_ASL_STRING_HASH **)(v10 + 16);
          if( v11 )
          {
            AslHashFree(v11);
            *(_QWORD *)(v10 + 16) = 0i64;
          }
          v12 = *(_ASL_STRING_HASH **)(v10 + 24);
          if( v12 )
          {
            AslHashFree(v12);
            *(_QWORD *)(v10 + 24) = 0i64;
          }
          v13 = *(void **)(v10 + 40);
          if( v13 )
          {
            ExFreePoolWithTag(v13, 0x74705041u);
            *(_OWORD *)(v10 + 32) = 0i64;
          }
        }
        v4 = (_DWORD *)*((_QWORD *)pContext + 9);
      }
      if( v4 )
        ExFreePoolWithTag(v4, 0x74705041u);
      *((_QWORD *)pContext + 9) = 0i64;
    }
    v5 = (void *)*((_QWORD *)pContext + 4);
    if( v5 )
    {
      ExFreePoolWithTag(v5, 0x74705041u);
      *((_QWORD *)pContext + 4) = 0i64;
    }
    v6 = (void *)*((_QWORD *)pContext + 5);
    if( v6 )
    {
      ExFreePoolWithTag(v6, 0x74705041u);
      *((_QWORD *)pContext + 5) = 0i64;
    }
    v7 = (void *)*((_QWORD *)pContext + 6);
    if( v7 )
    {
      ExFreePoolWithTag(v7, 0x74705041u);
      *((_QWORD *)pContext + 6) = 0i64;
    }
    v8 = (_RTL_ARRAY *)*((_QWORD *)pContext + 11);
    if( v8 )
    {
      SdbpFreePackageAttributes(v8);
      *((_QWORD *)pContext + 11) = 0i64;
    }
  }
}

Referenced by:

SdbGetDatabaseMatch
SdbpCheckKObject