WdipSemLoadConfigInfo

VOID __fastcall WdipSemLoadConfigInfo(INT64 a1){
  int v1; 
  int ReturnValue; 
  UINT64 ReturnValueSize; 
  int v4; 
  HANDLE Handle; 
  Handle = 0i64;
  LODWORD(ReturnValueSize) = 0;
  ReturnValue = 0;
  v4 = 0;
  if( (int)WdipSemOpenRegistryKey(
              L"\\REGISTRY\\MACHINE\\SYSTEM\\CURRENTCONTROLSET\\Control\\WDI\\Config",
              0i64,
              &Handle) < 0
    || (int)WdipSemQueryValueFromRegistry(Handle, (WCHAR *)L"SEMEnabled", 4ui64, 4ui64, &ReturnValue, &ReturnValueSize) >= 0
    && !ReturnValue )
  {
    goto LABEL_9;
  }
  if( (int)WdipSemQueryValueFromRegistry(Handle, (WCHAR *)L"SEMTimeOutValue", 4ui64, 4ui64, &v4, &ReturnValueSize) < 0 )
  {
    v1 = 600;
  }
  else
  {
    if( !v4 )
    {
      WdipSemTimeoutEnabled = 0;
      v1 = 600;
      goto LABEL_8;
    }
    v1 = 60 * v4;
  }
  WdipSemTimeoutEnabled = 1;
LABEL_8:
  WdipSemTimeoutValue = v1;
  WdipSemDeleteValueFromRegistry(Handle);
LABEL_9:
  if( Handle )
    ZwClose(Handle);
}

Referenced by:

WdipSemCleanStart