XmBoundOp

INT64 __fastcall XmBoundOp(INT64 a1){
  unsigned int v1; 
  INT64 *OffsetAddress; 
  int v4; 
  __int64 v5; 
  INT64 *v6; 
  int v7; 
  __int16 *v8; 
  INT64 result; 
  bool v10; 
  int v11; 
  v1 = *(_DWORD *)(a1 + 108);
  OffsetAddress = XmGetOffsetAddress(a1, v1);
  XmSetSourceValue(a1, (UINT16 *)OffsetAddress);
  v4 = *(_DWORD *)(a1 + 108);
  v6 = XmGetOffsetAddress(v5, v1 + *(_DWORD *)(a1 + 120) + 1);
  XmSetSourceValue(a1, (UINT16 *)v6);
  v7 = *(_DWORD *)(a1 + 108);
  v8 = *(__int16 **)(a1 + 88);
  if( *(_DWORD *)(a1 + 120) == 3 )
  {
    result = *(unsigned int *)v8;
    if( (int)result < v4 )
      goto LABEL_7;
    v10 = (int)result <= v7 + 4;
  }
  else
  {
    v11 = *v8;
    if( *v8 < (__int16)v4 )
      goto LABEL_7;
    result = (unsigned int)(__int16)v7;
    v10 = v11 <= (int)result + (__int16)(*(_WORD *)(a1 + 120) + 1);
  }
  if( !v10 )
LABEL_7:
    longjmp((_JBTYPE *)(a1 + 160), 13i64);
  return result;
}

Referenced by:

No references.