XmGroup8BitOffset

NTSTATUS __stdcall XmGroup8BitOffset(INT64 a1, INT64 a2, VOID *a3){
  INT64 *v4; 
  INT64 *OffsetAddress; 
  INT64 v6; 
  VOID *v7; 
  VOID *v8; 
  bool v9; 
  int v10; 
  char v11; 
  int v12; 
  NTSTATUS result; 
  INT64 v14; 

  LODWORD(v14) = 0;
  *(_DWORD *)(a1 + 120) = *(_BYTE *)(a1 + 138) != 0 ? 3 : 1;
  LODWORD(v4) = XmEvaluateAddressSpecifier(a1, &v14, a3);
  OffsetAddress = v4;
  LOBYTE(v10) = XmGetCodeByte(a1, v6, v7);
  v9 = *(_BYTE *)(a1 + 142) == 0;
  v10 = (unsigned __int8)v10;
  *(_DWORD *)(a1 + 108) = (unsigned __int8)v10;
  if( v9 )
  {
    v11 = -4;
    if( *(_DWORD *)(a1 + 120) != 3 )
      v11 = -2;
    OffsetAddress = XmGetOffsetAddress(a1, *(_DWORD *)(a1 + 128) + (((unsigned __int8)v10 >> 3) & *(_DWORD *)&v11), v8);
    v10 = *(_DWORD *)(a1 + 108);
  }
  v12 = 31;
  if( *(_DWORD *)(a1 + 120) != 3 )
    v12 = 15;
  *(_DWORD *)(a1 + 108) = v10 & v12;
  XmSetDestinationValue(a1, (UINT16 *)OffsetAddress);
  result = 1;
  *(_DWORD *)(a1 + 124) += v14 & 3;
  return result;
}

Referenced by:

No references.