WmipProbeWmiOpenGuidBlock

INT64 __fastcall WmipProbeWmiOpenGuidBlock(
        __int64 a1,
        __int64 a2,
        _WORD *a3,
        unsigned int *a4,
        unsigned int *a5,
        int a6,
        int a7){
  _OBJECT_ATTRIBUTES *v11; 
  unsigned int v12; 
  INT64 result; 
  if( IoIs32bitProcess(0i64) )
  {
    if( a6 == 16 && a7 == 16 )
    {
      v11 = (_OBJECT_ATTRIBUTES *)*a5;
      v12 = a5[1];
      goto LABEL_5;
    }
    return 3221225473i64;
  }
  if( a6 != 24 || a7 != 24 )
    return 3221225473i64;
  v11 = *(_OBJECT_ATTRIBUTES **)a5;
  v12 = a5[2];
LABEL_5:
  *a4 = v12;
  result = WmipProbeAndCaptureGuidObjectAttributes((_OBJECT_ATTRIBUTES *)a1, (_UNICODE_STRING *)a2, a3, v11);
  if( (int)result >= 0 && (*(_QWORD *)(a1 + 8) || *(_DWORD *)(a1 + 24) || *(_QWORD *)(a1 + 32) || *(_QWORD *)(a1 + 40)) )
    return 3221225485i64;
  return result;
}

Referenced by:

WmipIoControl