RtlpCopyRetpolineRelocationBlockEntryArray
INT64 __fastcall RtlpCopyRetpolineRelocationBlockEntryArray(UINT8 *dst, UINT64 a2, UINT8 *a3, INT64 a4, INT64 a5){
__int64 v6;
unsigned int v8;
int v9;
UINT8 *v10;
UINT8 *v11;
unsigned __int64 v12;
UINT8 *v13;
UINT64 v14;
INT64 result;
v6 = (unsigned int)a2;
v8 = RtlSizeOfRetpolineRelocationEntry((unsigned int)a2);
v11 = v10;
v12 = (unsigned __int64)&v10[v9];
v13 = dst;
if( (unsigned __int64)v10 < v12 )
{
v14 = v8;
do
{
if( v6 != 3 && v6 != 4 && v6 != 5 || (*(_WORD *)v11 & 0xFFF) != 0 || v11 == a3 )
{
memmove(v13, v11, v14);
v13 += v14;
}
v11 += v14;
}
while( (unsigned __int64)v11 < v12 );
}
result = a5;
*(_DWORD *)a5 = (_DWORD)v13 - (_DWORD)dst;
return result;
}Referenced by:
RtlCreateRetpolineRelocationInformation