CmpSetupLoggingState
INT64 __fastcall CmpSetupLoggingState(INT64 a1, UINT64 *a2){
INT64 result;
unsigned int v3;
int v4;
result = *(unsigned int *)a2;
if( (result & 1) != 0 && (result & 4) == 0 )
{
*(_BYTE *)(a1 + 190) = 0;
v3 = *(_DWORD *)a2;
if( (*(_DWORD *)a2 & 2) != 0 )
{
v4 = *(_DWORD *)a2 & 0x38;
*(_DWORD *)(a1 + 164) = 5 - (v4 != 32);
*(_BYTE *)(a1 + 188) = v4 == 32;
*(_BYTE *)(a1 + 189) = v4 != 32;
*(_DWORD *)(a1 + 180) = *((_DWORD *)a2 + 3);
*(_DWORD *)(a1 + 168) = *((_DWORD *)a2 + 2);
result = *((unsigned int *)a2 + 3);
*(_QWORD *)(a1 + 172) = (unsigned int)result;
}
else
{
*(_WORD *)(a1 + 188) = 257;
*(_DWORD *)(a1 + 164) = (v3 >> 3) & 7;
*(_DWORD *)(a1 + 180) = *((_DWORD *)a2 + 3);
*(_DWORD *)(a1 + 168) = *((_DWORD *)a2 + 2);
*(_DWORD *)(a1 + 172) = *((_DWORD *)a2 + 3);
result = *((unsigned int *)a2 + 4);
*(_DWORD *)(a1 + 176) = result;
}
}
return result;
}Referenced by:
CmpInitializePreloadedHive
CmpInitializeSystemHive