XmShiftDouble

NTSTATUS __stdcall XmShiftDouble(INT64 a1, INT64 a2, VOID *a3){
  UINT16 *v4; 
  INT64 v5; 
  VOID *v6; 
  UINT16 *v7; 
  CHAR CodeByte; 
  __int64 v9; 
  INT64 v10; 
  INT64 v12; 

  LODWORD(v12) = 0;
  *(_DWORD *)(a1 + 120) = *(_BYTE *)(a1 + 138) != 0 ? 3 : 1;
  LODWORD(v4) = XmEvaluateAddressSpecifier(a1, &v12, a3);
  v7 = v4;
  if( (*(_DWORD *)(a1 + 112) & 1) != 0 )
    CodeByte = *(_BYTE *)(a1 + 28);
  else
    CodeByte = XmGetCodeByte(a1, v5, v6);
  v9 = (unsigned int)v12 + 6i64;
  *(_BYTE *)(a1 + 144) = CodeByte & 0x1F;
  XmSetSourceValue(a1, (UINT16 *)(a1 + 4 * v9));
  XmSetDestinationValue(v10, v7);
  return 1;
}

Referenced by:

No references.