XmBoundOp
NTSTATUS __stdcall XmBoundOp(INT64 a1){
VOID *v1;
unsigned int v2;
INT64 *OffsetAddress;
NTSTATUS v5;
__int64 v6;
VOID *v7;
INT64 *v8;
unsigned __int64 v9;
int v10;
NTSTATUS *v11;
NTSTATUS result;
bool v13;
v2 = *(_DWORD *)(a1 + 108);
OffsetAddress = XmGetOffsetAddress(a1, v2, v1);
XmSetSourceValue(a1, (UINT16 *)OffsetAddress);
v5 = *(_DWORD *)(a1 + 108);
v8 = XmGetOffsetAddress(v6, v2 + *(_DWORD *)(a1 + 120) + 1, v7);
XmSetSourceValue(a1, (UINT16 *)v8);
v10 = *(_DWORD *)(a1 + 108);
v11 = *(NTSTATUS **)(a1 + 88);
if( *(_DWORD *)(a1 + 120) == 3 )
{
result = *v11;
if( result < v5 )
goto LABEL_7;
v13 = result <= v10 + 4;
}
else
{
v9 = (unsigned int)*(__int16 *)v11;
if( *(__int16 *)v11 < (__int16)v5 )
goto LABEL_7;
result = (__int16)v10;
v13 = (int)v9 <= (__int16)v10 + (__int16)(*(_WORD *)(a1 + 120) + 1);
}
if( !v13 )
LABEL_7:
longjmp((unsigned __int64 *)(a1 + 160), (VOID *)0xD, (VOID *)v9);
return result;
}Referenced by:
No references.