ViGenericVerifyNewIrp
VOID __fastcall ViGenericVerifyNewIrp(INT64 a1, UINT64 a2, INT64 a3, INT64 a4, const VOID *a5){
__int64 v7;
int v8;
int v9;
_QWORD *v10;
UINT64 v11;
char pszDest[96];
if( *(_OWORD *)(a2 + 72) != 0i64 && ((*(_DWORD *)(a2 + 16) & 0x440) == 0 || (*(_DWORD *)(a2 + 16) & 0x402) == 0) )
{
v7 = *(_QWORD *)(a2 + 184);
v8 = *(char *)(a2 + 67) - 1;
v9 = *(char *)(a2 + 66);
if( v8 > v9 )
{
LABEL_7:
v11 = *(unsigned __int8 *)(a1 + 60);
if( (_BYTE)v11 )
{
ViErrorDisplayDescription(770);
if( (int)RtlStringCbPrintfA(pszDest, 0x5Bui64, (INT8 *)"CulpritAddress = %p, Irp = %p, IRQL = %u.\n") >= 0 )
VfUtilDbgPrint(pszDest);
ViErrorFinishReport(770i64, (UINT64)a5, a2, v11);
}
}
else
{
v10 = (_QWORD *)(v7 - 16);
while( !*v10 )
{
v10 += 9;
if( ++v8 > v9 )
goto LABEL_7;
}
}
}
}Referenced by:
No references.