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