IopQueryPassiveInterruptRegistryOptions

NTSTATUS __stdcall IopQueryPassiveInterruptRegistryOptions(){
  int v0; 
  NTSTATUS v1; 
  char v2; 
  char v4; 
  int v5; 
  int v6; 
  _QWORD v7[29]; 

  memset(&v7[1], 0i64, 0xE0u);
  LODWORD(v7[7]) = 0;
  LODWORD(v7[14]) = 0;
  LODWORD(v7[21]) = 0;
  LODWORD(v7[0]) = (unsigned __int8)PassiveInterruptForceCriticalWorker;
  v5 = (unsigned __int8)PassiveInterruptRealtimeWorkerCount;
  v6 = (unsigned __int8)PassiveInterruptRealtimeWorkerPriority;
  v7[3] = L"PassiveIntRealTimeWorkerCount";
  v7[4] = &v5;
  v7[6] = &v5;
  v7[10] = L"PassiveIntRealTimeWorkerPriority";
  v7[11] = &v6;
  v7[13] = &v6;
  v7[17] = L"PassiveIntForceCriticalWorker";
  v7[18] = v7;
  LODWORD(v7[2]) = 288;
  LODWORD(v7[5]) = 67108868;
  LODWORD(v7[9]) = 288;
  LODWORD(v7[12]) = 67108868;
  LODWORD(v7[16]) = 288;
  LODWORD(v7[19]) = 67108868;
  v7[20] = v7;
  LOBYTE(v0) = RtlpQueryRegistryValues((_KTRAP_FRAME *)2, (_KEXCEPTION_FRAME *)&stru_1407D01E0);
  v1 = v0;
  if( v0 >= 0 )
  {
    if( (_BYTE)v5 )
    {
      v2 = v5;
      if( (unsigned __int8)v5 > 0x10u )
        v2 = 16;
      PassiveInterruptRealtimeWorkerCount = v2;
    }
    if( (unsigned __int8)v6 > 0x10u )
    {
      v4 = v6;
      if( (unsigned __int8)v6 > 0x15u )
        v4 = 21;
      PassiveInterruptRealtimeWorkerPriority = v4;
    }
  }
  return v1;
}

Referenced by:

IopInitializePassiveInterruptServices