//coded by IMPosTOR //impostor@de-compiler.me //www.de-compiler.me function Generate_Serial_by_IMPosTOR(User_Name: string): string; var a,b,i,j,len : integer; TurboLau_00540e60,Fs : string; begin result := 'Error : 01'; len := length(user_name); if len < 1 then begin result := 'Username must >= 1 ...'; exit; end; asm pushad mov eax,user_name mov ebx,len mov edx,0 test ebx,ebx jle @TurboLau_0053FA28 mov ecx,eax @TurboLau_0053fa02: xor eax,eax mov al,byte ptr ds:[ecx] shl eax,8 xor edx,eax mov eax,8 @TurboLau_0053fa10: test dh,$080 je @TurboLau_0053FA1F add edx,edx xor edx,$01021 jmp @TurboLau_0053FA21 @TurboLau_0053fa1f: add edx,edx @TurboLau_0053fa21: dec eax jnz @TurboLau_0053FA10 inc ecx dec ebx jnz @TurboLau_0053FA02 @TurboLau_0053fa28: mov eax,edx and eax,$0ffff mov a,eax popad end; TurboLau_00540e60 := 'GF2DSA38HJKL7M4NZXCV5BY9UPT6R1EWQ40I1CP7Z7GOEPQLZ'; j := 0; for i := 1 to 18 do begin j := i ; asm pushad mov edi,j mov eax,len push eax mov eax,edi dec eax pop edx mov ecx,edx cdq idiv ecx mov eax,dword ptr ss:[ebp-4] mov al,byte ptr ds:[eax+edx] mov byte ptr ss:[ebp-$0d],al xor ebx,ebx mov esi,$013 sub esi,edi test esi,esi jle @TurboLau_00540D49 @TurboLau_00540d2d: mov eax,$021 push ebx xor ebx,ebx imul edx,dword ptr ds:[a],$08088405 inc edx mov dword ptr ds:[a],edx mul edx mov eax,edx pop ebx mov ebx,eax inc ebx mov al,byte ptr ss:[ebp-$0d] xor al,$0ff and eax,$0ff add ebx,eax dec esi jnz @TurboLau_00540D2D @TurboLau_00540d49: cmp ebx,$021 jle @TurboLau_00540D56 @TurboLau_00540d4e: sub ebx,$021 cmp ebx,$021 jg @TurboLau_00540D4E @TurboLau_00540d56: mov b,ebx popad end; Fs := Fs + copy(TurboLau_00540e60,b,1); end; insert('-', Fs, 7); insert('-', Fs, 14); result := Fs; end;