KeCopyPage
VOID __stdcall KeCopyPage(PVOID Context){
__int64 v1;
char *v2;
__int64 v3;
__int64 v4;
__int64 v5;
__m128i v6;
__m128i v7;
__m128i v8;
v2 = (char *)Context + 4096;
v3 = v1 + 4096;
v4 = -4096i64;
do
{
_mm_prefetchnta((void *)(v3 + v4));
_mm_prefetchnta((void *)(v3 + v4 + 64));
_mm_prefetchnta((void *)(v3 + v4 + 128));
_mm_prefetchnta((void *)(v3 + v4 + 192));
v4 += 256i64;
}
while( v4 );
v5 = -4096i64;
do
{
v6 = *(__m128i *)(v3 + v5 + 16);
v7 = *(__m128i *)(v3 + v5 + 32);
v8 = *(__m128i *)(v3 + v5 + 48);
_mm_stream_si128((__m128i *)&v2[v5], *(__m128i *)(v3 + v5));
_mm_stream_si128((__m128i *)&v2[v5 + 16], v6);
_mm_stream_si128((__m128i *)&v2[v5 + 32], v7);
_mm_stream_si128((__m128i *)&v2[v5 + 48], v8);
v5 += 64i64;
}
while( v5 );
_mm_sfence();
}Referenced by:
MiCopyDataPageToImagePage
MiCopyKstack
MiCopyPage
MiCreateSystemPageTable
MiFillCombinePage
MiInitializeImageProtos
MiReplacePageOfProtoPool
MiRevertRelocatedImagePfn
MiScrubPage
MiSlowRotateCopy
MiValidateSectionCreate
MxCopyPage