CmDeleteCommonClassRegKey
__int64 __fastcall CmDeleteCommonClassRegKey(__int64 a1, const WCHAR *a2, int a3){
unsigned int v6;
__int64(__fastcall *v7)(__int64, const WCHAR *, _QWORD, __int64, int, _DWORD *);
int v8;
unsigned int v9;
unsigned int v10;
int v11;
_DWORD result[4];
int v14;
int v15;
char v16;
int v17;
memset((INT64)result, 0i64);
if( (unsigned __int8)a3 == 32 )
{
v6 = 2;
}
else
{
if( (unsigned __int8)a3 != 64 )
return(unsigned int)-1073741811;
v6 = 4;
}
v7 = *(__int64(__fastcall **)(__int64, const WCHAR *, _QWORD, __int64, int, _DWORD *))(a1 + 504);
v15 = 0;
v17 = 0;
v14 = a3;
v16 = 1;
if( v7 )
{
v8 = v7(a1, a2, v6, 12i64, 1, result);
if( v8 == -1073741822 )
{
v7 = 0i64;
}
else
{
if( v8 == -1073741536 )
return result[0];
if( v8 )
return(unsigned int)-1073741595;
}
}
v9 = CmDeleteCommonClassRegKeyWorker(a1, a2, v14, v15, v16);
v10 = v9;
if( !v7 )
return v10;
result[0] = v9;
v11 = v7(a1, a2, v6, 12i64, 2, result);
if( v11 == -1073741822 )
return v10;
if( v11 == -1073741536 )
return result[0];
if( v11 )
return(unsigned int)-1073741595;
return v10;
}Referenced by:
CmDeleteInstallerClassWorker
CmDeleteInterfaceClassWorker