//coded by IMPosTOR //impostor@de-compiler.me //www.de-compiler.me function Generate_Serial_by_IMPosTOR(User_Name: string): string; var i : integer; a1,a2,a3,al_ : integer; part1,part2,a4 :string; begin result := 'Error : 01'; if (length(User_Name) < 1) or (length(User_Name) >= 9) then begin result := 'Error : UserName range : [>1] and [<9] .'; exit; end; for i := 1 to length(User_Name) do begin if not(User_Name[i] in ['a'..'z','A'..'Z']) then begin result := 'UserName can only contain '' a ''..'' z '','' A ''..'' Z '' .'; exit; end; end; //a1 := 0; a3 := 0; for i := 1 to length(User_Name) do begin al_ := ord(User_Name[i]); //if al_ < $41 then begin // a1 := al_ xor $5678 ; // part1 := inttostr(a1); // break;//exit; //end; if al_ >= $5A then begin al_ := (al_ - $20); end; a3 := a3 + al_; end; part1 := inttostr(a3 xor $5678); //a1:=0; a2:=0; for i := 1 to length(part1) do begin al_ := ord(part1[i]); a1 := a2 + (a2 * 4); a2 := (al_) + (a1 * 2) - ($30); end; part2 := inttostr(a2 xor $1234); //a1:=0; for i := 1 to length(part2) do begin al_ := ord(part2[i]); a1 := al_ + (-$30); case a1 of 0 : a4 := a4 + 'A'; 1 : a4 := a4 + 'B'; 2 : a4 := a4 + 'C'; 3 : a4 := a4 + 'D'; 4 : a4 := a4 + 'E'; 5 : a4 := a4 + 'F'; 6 : a4 := a4 + 'G'; 7 : a4 := a4 + 'H'; 8 : a4 := a4 + 'I'; 9 : a4 := a4 + 'J'; end; if a1 > 9 then a4 := a4 + 'K'; end; Result := (a4 + part2); end;