HalpPopulateMsiMessages

NTSTATUS __stdcall HalpPopulateMsiMessages(INT64 a1, INT64 a2, UINT64 a3){
  unsigned int v3; 
  unsigned int v4; 
  NTSTATUS result; 
  INT64 v8; 
  __int64 v9; 
  __int64 v10[5]; 
  __int64 v11; 

  v11 = 0i64;
  v3 = 0;
  v10[0] = 0i64;
  v4 = a3;
  result = 0;
  if( (_DWORD)a3 )
  {
    v8 = a2 + 48;
    do
    {
      v9 = a2 + 88i64 * v3;
      result = HalpInterruptGenerateMessage(a1, v9, &v11, v10);
      if( result < 0 )
        break;
      ++v3;
      *(_QWORD *)(v9 + 44) = 0i64;
      *(_DWORD *)(v9 + 52) = 0;
      *(_DWORD *)(v8 - 4) = HIDWORD(v11);
      *(_DWORD *)v8 = v11;
      *(_WORD *)(v8 + 4) = v10[0];
      v8 += 88i64;
    }
    while( v3 < v4 );
  }
  return result;
}

Referenced by:

HalpInterruptRemap