Guest User

Untitled

a guest
Nov 4th, 2012
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 1.01 KB | None | 0 0
  1. function gen(hwid:string):String;
  2. var res:integer;
  3. len:byte;
  4. key:string;
  5. begin
  6. res:=0;
  7. key:=hwid;
  8. len:=length(key);
  9. asm
  10. pushad
  11.         mov DL, len
  12.         mov eax, key
  13.         MOV DI,$FFFF
  14.  
  15. @startats_00463C0B:
  16.  
  17.         XOR ESI,ESI
  18.  
  19. @startats_00463C0D:
  20.  
  21.         MOV ECX,ESI
  22.         XOR EBX,EBX
  23.         MOV BL,BYTE PTR DS:[EAX]
  24.         SHR EBX,CL
  25.         AND BL,1
  26.         MOV ECX,EDI
  27.         AND CL,1
  28.         XOR BL,CL
  29.         JE @startats_00463C2F
  30.         MOVZX ECX,DI
  31.         SHR ECX,1
  32.         XOR CX,$8408
  33.         MOV EDI,ECX
  34.         JMP @startats_00463C36
  35.  
  36. @startats_00463C2F:
  37.  
  38.         MOVZX ECX,DI
  39.         SHR ECX,1
  40.         MOV EDI,ECX
  41.  
  42. @startats_00463C36:
  43.  
  44.         INC ESI
  45.         CMP ESI,8
  46.         JNZ @startats_00463C0D
  47.         INC EAX
  48.         DEC DL
  49.         TEST DL,DL
  50.         JG @startats_00463C0B
  51.  
  52. @startats_00463C42:
  53.  
  54.         NOT DI
  55.         MOV EAX,EDI
  56.         MOV res,EAX
  57. popad
  58. end;
  59. Randomize;
  60. Result:=Format('%0.4x',[res])+'-'+Format('%0.4x',[Random(9999)]);
  61. end;
Advertisement
Add Comment
Please, Sign In to add comment