VOID *__stdcall HalpPreserveNvsArea(){
unsigned int v0;
__int64 v1;
__int64 v2;
VOID *result;
v0 = 0;
if( !HalpDisableNvsSaveRestore && *(&CmpDummyThreadEvent + 1360) )
{
v1 = *(&CmpDummyThreadEvent + 1360);
v2 = *(&CmpDummyThreadEvent + 724) + 8i64;
do
{
result = memmove((VOID *)(*(&CmpDummyThreadEvent + 717) + v0), *(const VOID **)(v2 + 8), *(_DWORD *)v2);
v0 += *(_DWORD *)v2;
v2 += 24i64;
--v1;
}
while( v1 );
}
return result;
}