VfPowerVerifyIrpStackDownward
void __fastcall VfPowerVerifyIrpStackDownward(
__int64 a1,
__int64 a2,
__int64 a3,
__int64 a4,
__int64 a5,
__int64 a6,
const void *a7){
const VOID *v8;
int v10;
int v11;
__int64 v12;
const VOID *v13;
v8 = *(const VOID **)a1;
v10 = *(_DWORD *)(*(_QWORD *)a1 + 48i64);
v11 = *(_DWORD *)(a5 + 96);
if( *(_DWORD *)(*(_QWORD *)(a1 + 240) + 56i64) == 3 )
ViErrorReport1(529i64, a7, *(const VOID **)a1);
v12 = *(_QWORD *)(a2 + 8);
if( *(NTSTATUS(__stdcall **)(_DEVICE_OBJECT *, _IRP *))(v12 + 288) == IopInvalidDeviceRequest )
{
*(_DWORD *)(a5 + 4) |= 0x1000000u;
LODWORD(v13) = VfGetPristineDriverInit((DRIVER_OBJECT *)v12);
ViErrorReport1(543i64, v13, v8);
*(_DWORD *)(a6 + 4) |= 0x80000000;
}
if( a3 && v10 < 0 )
{
if( v10 == -1073741637 )
{
if( v11 != -1073741637 )
ViErrorReport1(538i64, a7, v8);
}
else if( (*(_DWORD *)(a5 + 4) & 0x2000000) == 0 )
{
ViErrorReport1(537i64, a7, v8);
*(_DWORD *)(a5 + 4) |= 0x2000000u;
}
}
}Referenced by:
No references.