PnpCtxDestroyNode

__int64 __fastcall PnpCtxDestroyNode(PVOID P){
  char *v2; 
  char *v3; 
  char *v4; 
  char *v5; 
  char *v6; 
  char *v7; 
  char *v8; 
  char *v9; 
  char *v10; 
  char *v11; 
  void *v12; 
  RtlFreeAnsiString((_UNICODE_STRING *)P + 2);
  v2 = (char *)*((_QWORD *)P + 8);
  if( (unsigned __int64)(v2 - 1) <= 0xFFFFFFFFFFFFFFFDui64 )
    ZwClose(v2);
  v3 = (char *)*((_QWORD *)P + 9);
  if( (unsigned __int64)(v3 - 1) <= 0xFFFFFFFFFFFFFFFDui64 )
    ZwClose(v3);
  v4 = (char *)*((_QWORD *)P + 10);
  if( (unsigned __int64)(v4 - 1) <= 0xFFFFFFFFFFFFFFFDui64 )
    ZwClose(v4);
  v5 = (char *)*((_QWORD *)P + 11);
  if( (unsigned __int64)(v5 - 1) <= 0xFFFFFFFFFFFFFFFDui64 )
    ZwClose(v5);
  v6 = (char *)*((_QWORD *)P + 12);
  if( (unsigned __int64)(v6 - 1) <= 0xFFFFFFFFFFFFFFFDui64 )
    ZwClose(v6);
  v7 = (char *)*((_QWORD *)P + 13);
  if( (unsigned __int64)(v7 - 1) <= 0xFFFFFFFFFFFFFFFDui64 )
    ZwClose(v7);
  v8 = (char *)*((_QWORD *)P + 14);
  if( (unsigned __int64)(v8 - 1) <= 0xFFFFFFFFFFFFFFFDui64 )
    ZwClose(v8);
  v9 = (char *)*((_QWORD *)P + 16);
  if( (unsigned __int64)(v9 - 1) <= 0xFFFFFFFFFFFFFFFDui64 )
    ZwClose(v9);
  v10 = (char *)*((_QWORD *)P + 17);
  if( (unsigned __int64)(v10 - 1) <= 0xFFFFFFFFFFFFFFFDui64 )
    ZwClose(v10);
  v11 = (char *)*((_QWORD *)P + 18);
  if( (unsigned __int64)(v11 - 1) <= 0xFFFFFFFFFFFFFFFDui64 )
    ZwClose(v11);
  v12 = (void *)*((_QWORD *)P + 7);
  if( v12 )
    SysCtxCloseMachine(v12);
  ExFreePoolWithTag(P, 0);
  return 0i64;
}

Referenced by:

PnpCtxCloseMachine
PnpCtxOpenMachine
PnpCtxRegisterMachineNode