HalpInterruptMaskLevelTriggeredLines

INT64 __stdcall HalpInterruptMaskLevelTriggeredLines(){
  ULONG_PTR *v0; 
  __int64 v1; 
  __int64 v2; 
  __int64 *v3; 
  __int64 *v4; 
  int v5; 
  int v6; 
  __int64 v7; 
  __int64 v8; 
  int v9; 
  __m128i v11; 
  __int128 v12; 
  __int128 v13; 
  __int64 v14; 
  __int64 v15; 
  ULONG_PTR *v16; 
  v15 = 0i64;
  v0 = (ULONG_PTR *)HalpRegisteredInterruptControllers;
  v14 = 0i64;
  v11 = 0i64;
  v12 = 0i64;
  v13 = 0i64;
  while( v0 != &HalpRegisteredInterruptControllers )
  {
    v1 = (__int64)v0;
    v16 = v0;
    v0 = (ULONG_PTR *)*v0;
    v2 = v1 + 240;
    v3 = *(__int64 **)(v1 + 240);
    if( v3 != (__int64 *)(v1 + 240) )
    {
      do
      {
        v4 = v3;
        v5 = 0;
        v6 = *((_DWORD *)v3 + 6) - *((_DWORD *)v3 + 5);
        v3 = (__int64 *)*v3;
        if( v6 > 0 )
        {
          v7 = 0i64;
          do
          {
            v8 = v4[5];
            if( (*(_DWORD *)(v7 + v8 + 12) & 0x10) != 0 && !*(_DWORD *)(v7 + v8 + 8) )
            {
              v11 = *(__m128i *)(v7 + v8);
              v12 = *(_OWORD *)(v7 + v8 + 16);
              v13 = *(_OWORD *)(v7 + v8 + 32);
              v14 = *(_QWORD *)(v7 + v8 + 48);
              v11.m128i_i32[3] = HIDWORD(_mm_srli_si128(v11, 8).m128i_u64[0]) & 0xFFFFFFEF;
              LODWORD(v15) = *(_DWORD *)(v1 + 232);
              HIDWORD(v15) = v5 + *((_DWORD *)v4 + 5);
              v9 = HalpInterruptSetLineStateInternal(v1, (__int64)&v15, (__int64)&v11);
              if( v9 < 0 )
              {
                HalpInterruptRestoreAllControllerState();
                return(unsigned int)v9;
              }
              v1 = (__int64)v16;
            }
            ++v5;
            v7 += 56i64;
          }
          while( v5 < *((_DWORD *)v4 + 6) - *((_DWORD *)v4 + 5) );
        }
      }
      while( v3 != (__int64 *)v2 );
    }
  }
  return 0;
}

Referenced by:

No references.