RtlTimelineBitmapMerge
INT64 __fastcall RtlTimelineBitmapMerge(UINT64 *a1, UINT64 *a2){
INT64 result;
unsigned int v4;
unsigned int v5;
unsigned int v6;
result = *(unsigned int *)a2;
v4 = *(_DWORD *)a1;
if( (unsigned int)result > v4 )
{
*(_DWORD *)a1 = result;
if( (unsigned int)result - v4 >= 0x20 )
{
v6 = 0;
*((_DWORD *)a1 + 1) = 0;
}
else
{
*((_DWORD *)a1 + 1) <<= result - v4;
v6 = *((_DWORD *)a1 + 1);
}
result = v6 | *((_DWORD *)a2 + 1);
*((_DWORD *)a1 + 1) = result;
}
else
{
v5 = v4 - result;
if( v5 < 0x20 )
{
result = (unsigned int)(*((_DWORD *)a2 + 1) << v5);
*((_DWORD *)a1 + 1) |= result;
}
}
return result;
}Referenced by:
KeFoldProcessStatisticsThread