//coded by IMPosTOR //impostor@de-compiler.me //www.de-compiler.me var Gcl,Gco,Gln : integer; Gstr : string; Gresult : integer; procedure s0046ACA4; asm pushad mov eax, Gln xor ebx, ebx mov esi, eax test esi, esi jle @ael_exe__0046AD2B mov ecx, 1 @ael_exe__0046acf5: cmp byte ptr ss:[Gcl], 0 je @ael_exe__0046AD10 mov eax, ecx imul eax add eax, eax inc eax mov edx, dword ptr ss:[Gstr] movzx edx, byte ptr ds:[edx+ecx-1] imul edx add ebx, eax jmp @ael_exe__0046AD27 @ael_exe__0046ad10: mov eax, dword ptr ss:[Gstr] movzx eax, byte ptr ds:[eax+ecx-1] imul eax movsx eax, ax mov edi, $0186a0 cdq idiv edi add ebx, edx @ael_exe__0046ad27: inc ecx dec esi jnz @ael_exe__0046ACF5 @ael_exe__0046ad2b: mov eax, ebx mov ecx, $02710 cdq idiv ecx mov eax, edx imul eax add eax, dword ptr ss:[Gco] mov ebx, eax mov eax, ebx mov ecx, $0186a0 cdq idiv ecx add edx, $0186a0 mov Gresult, edx popad end; function Generate_Serial_by_IMPosTOR(user_name: string): string; var a,b,c,d : integer; p1,p2 : string; i,m : integer; begin result := ''; // 0 2nd Speech Center 4.00.10.822 | 4.x // 1 CD Catalog Expert 9.30.807.11 | 9.x // 2 Akala EXE Lock 3.20 (Build 31122) | 3.x // 3 Ace Buddy 3.00 | 3.x SelP := SendMessage(GetDlgItem(Global_Hwnd, IDC_Product), CB_GETCURSEL, 0, 0); if (user_name[1] = ' ') or (user_name[length(user_name)] = ' ') then begin result := 'Remove [space] from first and last Username ...'; exit; end; if SelP = 3 then begin Gstr := user_name; m := 0; for i := 1 to length(Gstr) do begin m := m + ord(Gstr[i]); end; a := m shl 3; b := a - m; c := m + $43; d := (c * 2) + c; result := inttostr(b) + '-' + inttostr(d); exit; end; if SelP = 0 then begin Gstr := '2nd Speech Center'; Gln := length(Gstr); Gcl := 1; Gco := $3746E; s0046ACA4; a := Gresult; Gstr := '4'; Gln := length(Gstr); Gcl := 0; Gco := $0BEB01; s0046ACA4; b := Gresult; end; if SelP = 1 then begin Gstr := 'CD Catalog Expert'; Gln := length(Gstr); Gcl := 1; Gco := $3746E; s0046ACA4; a := Gresult; Gstr := '9'; Gln := length(Gstr); Gcl := 0; Gco := $0BEB01; s0046ACA4; b := Gresult; end; if SelP = 2 then begin Gstr := 'Akala EXE Lock'; Gln := length(Gstr); Gcl := 1; Gco := $3746E; s0046ACA4; a := Gresult; Gstr := '3.20'; Gln := length(Gstr); Gcl := 0; Gco := $0BEB01; s0046ACA4; b := Gresult; end; Gstr := user_name; Gln := length(Gstr); Gcl := 1; Gco := a; s0046ACA4; c := Gresult; Gstr := user_name; Gln := length(Gstr); Gcl := 0; Gco := b; s0046ACA4; d := Gresult; p1 := inttostr(d); p2 := inttostr(c); result := copy(p1,2,length(p1)) + '-' + copy(p2,1,length(p2)-1); end;