CHAR __stdcall PnpMarkHalDeviceNode(){
unsigned int v0;
__int64 i;
LOBYTE(v0) = (_BYTE)IopRootDeviceNode;
for( i = *((_QWORD *)IopRootDeviceNode + 1); i; i = *(_QWORD *)i )
{
v0 = *(_DWORD *)(i + 300) - 775;
if( v0 <= 1 && (*(_DWORD *)(i + 396) & 0x1000) == 0 )
{
IopInitHalDeviceNode = i;
LOBYTE(v0) = PipSetDevNodeFlags(i, 4);
return v0;
}
}
return v0;
}