HalpLaBltFindFree
_QWORD *__fastcall HalpLaBltFindFree(UINT64 a1, INT64 a2, UINT64 a3, UINT64 a4){
__int64 v4;
_QWORD *v5;
__int64 v8;
__int64 v9;
__int64 v10;
_QWORD *v11;
_QWORD *i;
UINT64 v13;
v4 = *(_QWORD *)(a2 + 16);
v5 = 0i64;
if( v4 == -1 )
LODWORD(v8) = 64;
else
_BitScanForward64((unsigned __int64 *)&v8, v4 + 1);
_BitScanForward64((unsigned __int64 *)&v9, a1);
if( (unsigned int)v9 <= (unsigned int)v8 )
{
v10 = *(_QWORD *)(a2 + 64);
do
{
v11 = (_QWORD *)(v10 + 16i64 * (unsigned int)(v9 - 12));
for( i = (_QWORD *)*v11; i != v11; i = (_QWORD *)*i )
{
v13 = i[6];
v5 = i;
if( v13 >= a3 && i[8] + v13 - 1 <= a4 )
return v5;
}
LODWORD(v9) = v9 + 1;
}
while( (unsigned int)v9 <= (unsigned int)v8 );
}
return v5;
}Referenced by:
HalpLaAllocateBlt