XmPopStack

NTSTATUS __stdcall XmPopStack(INT64 a1, INT64 a2, VOID *a3){
  unsigned int v3; 
  int v5; 
  int v6; 
  UINT16 v7; 
  INT64 *v8; 

  v3 = *(_DWORD *)(a1 + 40);
  v5 = *(_DWORD *)(a1 + 120);
  if( v3 > (unsigned int)*(unsigned __int16 *)(a1 + 72) - v5 )
    longjmp((unsigned __int64 *)(a1 + 160), (VOID *)0x10, a3);
  v6 = v5 + v3 + 1;
  v7 = *(_WORD *)(a1 + 60);
  *(_DWORD *)(a1 + 40) = v6;
  v8 = x86BiosTranslateAddress(v7, v3);
  XmSetSourceValue(a1, (UINT16 *)v8);
  return *(_DWORD *)(a1 + 108);
}

Referenced by:

XmIretOp
XmLeaveOp
XmPopOp
XmPopaOp
XmRetOp