SdbpCloseLocalDatabaseEx

NTSTATUS __stdcall SdbpCloseLocalDatabaseEx(VOID *hSDB, UINT64 dwIndex){
  unsigned int v2; 
  unsigned int v3; 
  int v5; 
  char *v6; 
  _DB *v7; 

  v3 = v2;
  if( v2 >= 0x10 )
    return 0;
  v5 = 1 << v2;
  if( ((1 << v2) & *((_DWORD *)hSDB + 7)) == 0 )
    return 0;
  v6 = (char *)hSDB + 32 * v2 + 32;
  if( (*((_DWORD *)v6 + 6) & 2) != 0 )
  {
    v7 = (_DB *)*((_QWORD *)v6 + 2);
    if( v7 )
      SdbCloseDatabaseRead(v7);
  }
  *(_OWORD *)v6 = 0i64;
  *((_OWORD *)v6 + 1) = 0i64;
  *((_DWORD *)hSDB + 7) &= ~v5;
  if( v3 == 1 )
    *((_QWORD *)hSDB + 2) = 0i64;
  return 1;
}

Referenced by:

SdbpCleanupLocalDatabaseSupport
SdbpOpenLocalDatabaseEx