WmipSMBiosHideMachine
VOID __stdcall WmipSMBiosHideMachine(VOID *SMBiosBuffer, UINT64 SMBiosBufferSize){
int v2;
unsigned int v4;
unsigned __int8 *v5;
unsigned __int8 v6;
unsigned int v7;
unsigned __int8 *v8;
unsigned __int8 v9;
unsigned int v10;
unsigned __int8 *v11;
unsigned __int8 v12;
unsigned int v13;
unsigned __int8 *v14;
unsigned __int8 v15;
UINT64 SMBiosTableLength;
VOID *v17;
VOID *v18;
UINT64 StructureLength;
VOID *Structure;
VOID *v21;
if( SMBiosBuffer )
{
v17 = 0i64;
v2 = SMBiosBufferSize;
Structure = 0i64;
v18 = 0i64;
v21 = 0i64;
LODWORD(StructureLength) = 0;
if( (_DWORD)SMBiosBufferSize )
{
v4 = 0;
while( 1 )
{
LODWORD(SMBiosTableLength) = v2;
if( WmipSMBiosFindStructure(0, v4, &Structure, &StructureLength, (UINT8 *)SMBiosBuffer, SMBiosTableLength) < 0 )
break;
if( v4 )
return;
v5 = (unsigned __int8 *)Structure;
v4 = 1;
v6 = *((_BYTE *)Structure + 1);
if( v6 > 4u )
WmipSMBiosFindStringAndZero((__int64)Structure, *((unsigned __int8 *)Structure + 4), StructureLength);
if( v6 > 5u )
WmipSMBiosFindStringAndZero((__int64)v5, v5[5], StructureLength);
}
v7 = 0;
while( 1 )
{
LODWORD(SMBiosTableLength) = v2;
if( WmipSMBiosFindStructure(1u, v7, &v21, &StructureLength, (UINT8 *)SMBiosBuffer, SMBiosTableLength) < 0 )
break;
if( v7 )
return;
v8 = (unsigned __int8 *)v21;
v7 = 1;
v9 = *((_BYTE *)v21 + 1);
if( v9 > 4u )
WmipSMBiosFindStringAndZero((__int64)v21, *((unsigned __int8 *)v21 + 4), StructureLength);
if( v9 > 5u )
WmipSMBiosFindStringAndZero((__int64)v8, v8[5], StructureLength);
if( v9 > 0x1Au )
WmipSMBiosFindStringAndZero((__int64)v8, v8[26], StructureLength);
if( v9 > 0x19u )
WmipSMBiosFindStringAndZero((__int64)v8, v8[25], StructureLength);
}
v10 = 0;
while( 1 )
{
LODWORD(SMBiosTableLength) = v2;
if( WmipSMBiosFindStructure(2u, v10, &v17, &StructureLength, (UINT8 *)SMBiosBuffer, SMBiosTableLength) < 0 )
break;
v11 = (unsigned __int8 *)v17;
++v10;
v12 = *((_BYTE *)v17 + 1);
if( v12 > 4u )
WmipSMBiosFindStringAndZero((__int64)v17, *((unsigned __int8 *)v17 + 4), StructureLength);
if( v12 > 5u )
WmipSMBiosFindStringAndZero((__int64)v11, v11[5], StructureLength);
}
v13 = 0;
while( 1 )
{
LODWORD(SMBiosTableLength) = v2;
if( WmipSMBiosFindStructure(4u, v13, &v18, &StructureLength, (UINT8 *)SMBiosBuffer, SMBiosTableLength) < 0 )
break;
v14 = (unsigned __int8 *)v18;
++v13;
v15 = *((_BYTE *)v18 + 1);
if( v15 > 7u )
WmipSMBiosFindStringAndZero((__int64)v18, *((unsigned __int8 *)v18 + 7), StructureLength);
if( v15 > 0x10u )
WmipSMBiosFindStringAndZero((__int64)v14, v14[16], StructureLength);
}
}
}
}Referenced by:
WmipGetSMBiosTableData