HalpWdatProcessWdatInternalData

__int64 __fastcall HalpWdatProcessWdatInternalData(__int64 a1, _DWORD *a2, _DWORD *a3, _BYTE *a4){
  unsigned int v4; 
  int v5; 
  _BYTE *i; 
  __int64 result; 

  if( (*(_BYTE *)(a1 + 60) & 1) != 0 )
  {
    a2[4] = *(_DWORD *)(a1 + 52);
    a2[5] = *(_DWORD *)(a1 + 56);
    a2[6] = *(_DWORD *)(a1 + 48);
    v4 = *(_DWORD *)(a1 + 64);
    *a4 = 1;
    *a3 = (v4 << 6) + 112;
    v5 = 0;
    if( v4 )
    {
      for( i = (_BYTE *)(a1 + 68); *i != 6; i += 24 )
      {
        if( ++v5 >= v4 )
          return 3221225485i64;
      }
      return 0i64;
    }
    else
    {
      return 3221225485i64;
    }
  }
  else
  {
    result = 0i64;
    *a4 = 0;
  }
  return result;
}

Referenced by:

HalpWdatDiscover