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