ExpInitBootEntropyInformation
UINT64 __fastcall ExpInitBootEntropyInformation(_RTL_RUN_ONCE *RunOnce, VOID *Parameter, VOID **Context){
INT64 v4;
char *v5;
INT64 v6;
char *v7;
__int64 v8;
__int128 v9;
v4 = *(_QWORD *)Parameter;
v5 = (char *)(*((_QWORD *)KeLoaderBlock_0 + 30) + 344i64);
if( *(_QWORD *)Parameter )
{
memset(v4, 0i64);
v6 = v4 + 16;
v7 = &v5[-v4];
v8 = 10i64;
do
{
*(_DWORD *)(v6 - 8) = *(_DWORD *)&v7[v6 - 8];
*(_QWORD *)v6 = *(_QWORD *)&v7[v6];
*(_DWORD *)(v6 + 8) = *(_DWORD *)&v7[v6 + 8];
*(_DWORD *)(v6 + 12) = *(_DWORD *)&v7[v6 + 12];
*(_QWORD *)(v6 + 16) = *(_QWORD *)&v7[v6 + 16];
*(_DWORD *)(v6 + 24) = *(_DWORD *)&v7[v6 + 24];
v9 = *(_OWORD *)&v7[v6 + 28];
v6 += 104i64;
*(_OWORD *)(v6 - 76) = v9;
*(_OWORD *)(v6 - 60) = *(_OWORD *)&v7[v6 - 60];
*(_OWORD *)(v6 - 44) = *(_OWORD *)&v7[v6 - 44];
*(_OWORD *)(v6 - 28) = *(_OWORD *)&v7[v6 - 28];
--v8;
}
while( v8 );
*(_DWORD *)v4 = *(_DWORD *)v5;
*(_OWORD *)(v4 + 1048) = *(_OWORD *)(v5 + 1048);
*(_OWORD *)(v4 + 1064) = *(_OWORD *)(v5 + 1064);
*(_OWORD *)(v4 + 1080) = *(_OWORD *)(v5 + 1080);
}
memset(v5, 0, 0x448ui64);
*(_QWORD *)Parameter = -1i64;
return 1i64;
}Referenced by:
No references.