XmPushStack

_WORD *__fastcall XmPushStack(INT64 a1, INT64 a2){
  VOID *v2; 
  unsigned int v3; 
  unsigned int v5; 

  v2 = (VOID *)*(unsigned int *)(a1 + 120);
  v3 = a2;
  v5 = *(_DWORD *)(a1 + 40) - (_DWORD)v2 - 1;
  if( v5 > *(unsigned __int16 *)(a1 + 72) - (unsigned int)v2 )
    longjmp((unsigned __int64 *)(a1 + 160), (VOID *)0xF, v2);
  *(_DWORD *)(a1 + 40) = v5;
  *(_QWORD *)(a1 + 88) = x86BiosTranslateAddress(*(_WORD *)(a1 + 60), v5);
  return XmStoreResult(a1, v3);
}

Referenced by:

XmCallOp
XmEnterOp
XmIntOp
XmPushOp
XmPushaOp