XmInsOp

_WORD *__fastcall XmInsOp(INT64 a1){
  _WORD *result; 
  int v3; 
  unsigned __int16 i; 
  INT64 *StringAddress; 
  UINT64 v6; 
  UINT32 IoSpace; 
  result = 0i64;
  v3 = 1;
  if( *(_BYTE *)(a1 + 139) )
  {
    if( *(_BYTE *)(a1 + 137) )
    {
      v3 = *(_DWORD *)(a1 + 28);
      *(_DWORD *)(a1 + 28) = 0;
    }
    else
    {
      v3 = *(unsigned __int16 *)(a1 + 28);
      *(_WORD *)(a1 + 28) = 0;
    }
  }
  for( i = *(_WORD *)(a1 + 108); v3; --v3 )
  {
    StringAddress = XmGetStringAddress(a1, 0i64, 7ui64);
    v6 = *(unsigned int *)(a1 + 120);
    *(_QWORD *)(a1 + 88) = StringAddress;
    IoSpace = x86BiosReadIoSpace(v6, i);
    result = XmStoreResult(a1, IoSpace);
  }
  return result;
}

Referenced by:

No references.