function GetMacSerial(SoureStr: string): string;
var
  dest: string;
  Range, i, j: Integer;
  ordChar: Integer;
begin
  Range := Length(SoureStr) - 1;
  dest := '';
  j := 1;
  for i := 1 to 13 do
  begin
    j := J + i * 2;
    j := j mod Range;
    ordChar := Ord(SoureStr[j]) + j;
    dest := dest + format('%1.2x', [ordChar]);
  end;
  Result := Dest;
end;