AlpcpExposeContextAttribute
INT64 __fastcall AlpcpExposeContextAttribute(INT64 a1, INT64 a2, INT64 a3, _DWORD *a4){
__int64 v4;
int v5;
__int64 v6;
INT64 result;
if( *(_QWORD *)(a2 + 56) == a1 || *(_QWORD *)(a2 + 64) == a1 )
v4 = *(_QWORD *)(a2 + 128);
else
v4 = *(_QWORD *)(a2 + 120);
*(_QWORD *)a3 = v4;
if( *(_QWORD *)(a2 + 56) == a1 || *(_QWORD *)(a2 + 64) == a1 )
v5 = *(_DWORD *)(a2 + 72);
else
v5 = *(_DWORD *)(a2 + 44);
*(_DWORD *)(a3 + 16) = v5;
if( (*(_DWORD *)(a1 + 416) & 6) == 4 )
v6 = *(_QWORD *)(a2 + 104);
else
v6 = *(_QWORD *)(a2 + 112);
*(_QWORD *)(a3 + 8) = v6;
*(_DWORD *)(a3 + 20) = *(_DWORD *)(a2 + 264);
result = *(unsigned int *)(a2 + 272);
*(_DWORD *)(a3 + 24) = result;
if( a4 )
{
if( *(_QWORD *)a3 )
*a4 |= 0x20000000u;
}
return result;
}Referenced by:
AlpcpReturnMessageOnInsufficientBuffer