ArrayContains
INT64 __fastcall ArrayContains(
UINT8 *Array,
UINT64 ArraySize,
UINT8 *ContainsArray,
UINT64 ContainsArraySize,
UINT64 ArrayElementSize){
unsigned int v5;
unsigned __int64 v8;
unsigned __int64 v9;
unsigned __int64 v10;
__int64 v11;
v5 = 0;
if( !(_DWORD)ArraySize )
return 0i64;
if( !(_DWORD)ContainsArraySize )
return 0i64;
if( !Array )
return 0i64;
if( !ContainsArray )
return 0i64;
if( (unsigned int)ContainsArraySize > (unsigned int)ArraySize )
return 0i64;
v8 = (unsigned int)ArraySize;
if( (ArraySize & 0xF) != 0 || (ContainsArraySize & 0xF) != 0 )
return 0i64;
v9 = 0i64;
do
{
if( v9 >= v8 )
break;
v10 = 0i64;
do
{
v11 = *(_QWORD *)&Array[v9] - *(_QWORD *)&ContainsArray[v10];
if( !v11 )
v11 = *(_QWORD *)&Array[v9 + 8] - *(_QWORD *)&ContainsArray[v10 + 8];
if( !v11 )
v5 = 1;
v10 += 16i64;
}
while( v10 < (unsigned int)ContainsArraySize );
v9 += 16i64;
}
while( !v5 );
return v5;
}Referenced by:
PropertyEval