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