ViDeadlockAllocate

int __fastcall ViDeadlockAllocate(int a1){
  int v1; 
  int v2; 
  __int64 v3; 
  __int64 *v4; 
  v1 = a1 - 1;
  if( v1 )
  {
    v2 = v1 - 1;
    if( v2 )
    {
      if( v2 != 1 )
      {
        LODWORD(v3) = 0;
        return v3;
      }
      v4 = (__int64 *)ViDeadlockThreadLookaside;
    }
    else
    {
      v4 = ViDeadlockNodeLookaside;
    }
  }
  else
  {
    v4 = ViDeadlockResourceLookaside;
  }
  LODWORD(v3) = ExAllocateFromNPagedLookasideList((NPAGED_LOOKASIDE_LIST *)v4);
  if( !v3 )
  {
    ViDeadlockState |= 1u;
    _InterlockedIncrement((volatile signed __int32 *)ViDeadlockGlobals + 8196);
  }
  return v3;
}

Referenced by:

VfDeadlockAcquireResource
VfDeadlockBeforeCallDriver
VfDeadlockInitializeResource