SleepstudyHelper_GenerateGuid

NTSTATUS __stdcall SleepstudyHelper_GenerateGuid(INT64 ComponentNamespace, UINT64 ComponentUid, _GUID *pGuid){
  int v5; 
  NTSTATUS v6; 
  int v7; 
  int v8; 
  char v9; 
  NTSTATUS v10; 
  INT64 v12[2]; 

  v5 = ComponentNamespace;
  if( pGuid )
  {
    v6 = 0;
    *pGuid = 0i64;
    *(_OWORD *)v12 = 0i64;
    if( (_DWORD)ComponentNamespace )
    {
      v7 = ComponentNamespace - 1;
      if( v7 )
      {
        v8 = v7 - 4;
        if( v8 )
        {
          if( v8 != 1 )
          {
            v12[0] = ComponentUid;
            LODWORD(v12[1]) = 52428;
            HIDWORD(v12[1]) = v5;
            goto LABEL_14;
          }
          v9 = HIBYTE(v12[0]) & 0xFC | 2;
        }
        else
        {
          v9 = HIBYTE(v12[0]) & 0xFC | 1;
        }
        v12[1] = ComponentUid;
        HIBYTE(v12[0]) = v9;
        goto LABEL_14;
      }
      SleepstudyHelperGetBlockerGuid((_SC_DEVICE *)ComponentUid, (INT64)v12, pGuid);
      v6 = v10;
    }
    else
    {
      v12[0] = ComponentUid;
    }
    if( v6 < 0 )
      return v6;
LABEL_14:
    *pGuid = *(_GUID *)v12;
    return v6;
  }
  return -1073741811;
}

Referenced by:

No references.