VOID __stdcall HviCopyMemory(INT64 a1, INT64 a2, UINT64 a3){
unsigned int v3;
__int64 v6;
size_t v7;
if( (_DWORD)a3 )
{
v3 = a3;
v6 = 0i64;
do
{
v7 = v3 - v6;
if( v3 - (unsigned int)v6 > 0x100000 )
v7 = 0x100000;
HviEnterKernelAperture();
memmove((VOID *)(v6 + a1), (const VOID *)(v6 + a2), v7);
HviLeaveKernelAperture();
v6 = (unsigned int)(v6 + 0x100000);
}
while( (unsigned int)v6 < v3 );
}
}