RawSetInformation
INT64 __fastcall RawSetInformation(INT64 a1, IRP *a2, INT64 a3){
unsigned int v6;
_QWORD *v7;
INT64 v8;
v6 = 0;
if( RawBeginOperation(a1, *(_QWORD *)(a3 + 48)) )
{
v7 = (_QWORD *)*((_QWORD *)a2 + 3);
v8 = *(_QWORD *)(a3 + 48);
if( *(_DWORD *)(a3 + 16) == 14 )
{
if( (*((_DWORD *)IoGetRelatedDeviceObject(*(_FILE_OBJECT **)(a3 + 48)) + 38) & *(_DWORD *)v7) != 0 )
v6 = -1073741811;
else
*(_QWORD *)(v8 + 104) = *v7;
v8 = *(_QWORD *)(a3 + 48);
}
else
{
v6 = -1073741808;
}
RawEndOperation(a1, v8);
}
else
{
v6 = -1073741202;
}
*((_DWORD *)a2 + 12) = v6;
IofCompleteRequest(a2, 1);
return v6;
}Referenced by:
RawDispatch