VF_FIND_BUFFER

INT64 VF_FIND_BUFFER(void){
  UINT64 v0; 
  __int64 v1; 
  UINT64 *v2; 
  _QWORD **v3; 
  UINT64 v4; 
  _QWORD *v5; 
  unsigned __int8 v6; 
  unsigned __int64 v7; 
  unsigned __int16 *v8; 
  v2 = (UINT64 *)(v1 + 16);
  v3 = (_QWORD **)v1;
  v4 = v0;
  KeAcquireSpinLockRaiseToDpc((UINT64 *)(v1 + 16), v0);
  v5 = *v3;
  v7 = v6;
  v8 = (unsigned __int16 *)(*v3 - 6);
  while( 1 )
  {
    if( v3 == v5 )
    {
      KxReleaseSpinLock(v2);
      v8 = 0i64;
      goto LABEL_6;
    }
    if( *((_QWORD *)v8 + 2) + *v8 == v4 )
      break;
    v8 = (unsigned __int16 *)(*v5 - 48i64);
    v5 = (_QWORD *)*v5;
  }
  KxReleaseSpinLock(v2);
LABEL_6:
  __writecr8(v7);
  return(INT64)v8;
}

Referenced by:

ViSpecialFreeCommonBuffer