MiUpdateCfgSystemWideBitmap
VOID __fastcall MiUpdateCfgSystemWideBitmap(INT64 a1, INT64 a2, UINT64 a3){
INT64 v4;
UINT64 v5;
UINT64 v6;
int v7;
INT64 v8;
v4 = *(_QWORD *)a1;
if( *(_DWORD *)(a1 + 88) != -1 && (*(_DWORD *)(a1 + 56) & 0x10000000) == 0 )
{
v5 = 2 * ((unsigned __int64)a2 >> 4);
v6 = 2 * ((unsigned __int64)_InterlockedCompareExchange64((volatile signed __int64 *)(v4 + 24), -1i64, -1i64) >> 4);
v7 = 0;
do
{
v8 = Section;
if( !v7 && (*(_BYTE *)(v4 + 14) & 0x40) != 0 )
v8 = qword_140C4C8F8[8 * (unsigned __int64)(unsigned int)MiGetImageWowSubsystemIndex(v4)];
if( (int)MiUpdateCfgSystemWideBitmapWorker(v8, (_DWORD *)a3, v5, v6) < 0 )
break;
++v7;
if( !a3 )
break;
}
while( v7 < 1 );
}
}Referenced by:
MiRelocateImage
MiRelocateImageAgain