FsFilterFreeCompletionStack

VOID __stdcall FsFilterFreeCompletionStack(_FS_FILTER_CTRL *FsFilterCtrl){
  __int16 *v1; 
  int v3; 
  int v4; 
  int v5; 
  int v6; 
  int v7; 

  v1 = 0i64;
  if( (FsFilterCtrl[16] & 2) == 0 )
  {
    ExFreePoolWithTag(*((PVOID *)FsFilterCtrl + 10), 0x676D5346u);
    return;
  }
  v3 = *((unsigned __int8 *)FsFilterCtrl + 4) - 250;
  if( !v3 )
    goto LABEL_10;
  v4 = v3 - 1;
  if( !v4 )
    goto LABEL_9;
  v5 = v4 - 1;
  if( !v5 )
  {
LABEL_10:
    v1 = &word_140C47500;
    goto LABEL_11;
  }
  v6 = v5 - 1;
  if( !v6 )
  {
LABEL_9:
    v1 = &word_140C474E0;
    goto LABEL_11;
  }
  v7 = v6 - 1;
  if( !v7 )
    goto LABEL_10;
  if( v7 == 1 )
    goto LABEL_9;
LABEL_11:
  *(_QWORD *)(*((_QWORD *)FsFilterCtrl + 10) - 8i64) = 0i64;
  KeSetEvent((PRKEVENT)v1, 0, 0);
}

Referenced by:

FsFilterCtrlFree
FsRtlAcquireFileForModWriteEx
FsRtlReleaseFileForModWrite