XmGroup8BitOffset

INT64 __fastcall XmGroup8BitOffset(INT64 a1, INT64 a2, VOID *a3){
  UINT16 *OffsetAddress; 
  INT64 v5; 
  VOID *v6; 
  bool v7; 
  int v8; 
  char v9; 
  int v10; 
  INT64 result; 
  INT64 v12; 
  LODWORD(v12) = 0;
  *(_DWORD *)(a1 + 120) = *(_BYTE *)(a1 + 138) != 0 ? 3 : 1;
  OffsetAddress = (UINT16 *)XmEvaluateAddressSpecifier(a1, &v12, a3);
  LOBYTE(v8) = XmGetCodeByte(a1, v5, v6);
  v7 = *(_BYTE *)(a1 + 142) == 0;
  v8 = (unsigned __int8)v8;
  *(_DWORD *)(a1 + 108) = (unsigned __int8)v8;
  if( v7 )
  {
    v9 = -4;
    if( *(_DWORD *)(a1 + 120) != 3 )
      v9 = -2;
    OffsetAddress = (UINT16 *)XmGetOffsetAddress(
                                a1,
                                *(_DWORD *)(a1 + 128) + (((unsigned __int8)v8 >> 3) & *(_DWORD *)&v9));
    v8 = *(_DWORD *)(a1 + 108);
  }
  v10 = 31;
  if( *(_DWORD *)(a1 + 120) != 3 )
    v10 = 15;
  *(_DWORD *)(a1 + 108) = v8 & v10;
  XmSetDestinationValue(a1, OffsetAddress);
  result = 1i64;
  *(_DWORD *)(a1 + 124) += v12 & 3;
  return result;
}

Referenced by:

No references.