WmipSMBiosFindStructure

NTSTATUS __stdcall WmipSMBiosFindStructure(
        UINT8 Type,
        UINT64 Instance,
        VOID **Structure,
        UINT64 *StructureLength,
        UINT8 *SMBiosTable,
        UINT64 SMBiosTableLength){
  UINT8 *v6; 
  UINT8 *v7; 
  int v8; 
  UINT8 *i; 
  UINT8 *v11; 

  v6 = SMBiosTable;
  v7 = &SMBiosTable[(unsigned int)SMBiosTableLength];
  v8 = 0;
  while( 1 )
  {
    if( v6 >= v7 )
      return -1073741772;
    if( *v6 == Type && ++v8 > (unsigned int)Instance )
      break;
    for( i = &v6[v6[1]]; i < v7 && *(_WORD *)i; ++i )
      ;
    v6 = i + 2;
  }
  v11 = &v6[v6[1]];
  *Structure = v6;
  while( v11 < v7 && *(_WORD *)v11 )
    ++v11;
  *(_DWORD *)StructureLength = (_DWORD)v11 - (_DWORD)v6 + 2;
  return 0;
}

Referenced by:

WmipSMBiosHideMachine