Адрес                    Команда                            Комментарий
-----------------------------------------------------------------------------------------------
00401191  A1 F4304000    MOV EAX,DWORD PTR DS:[4030F4]      ; EAX = последние четыре байта строки
00401196  BF 66666600    MOV EDI,666666                     ; EDI = 0x666666
0040119B  99             CDQ
0040119C  F7EF           IMUL EDI                           ; EDX:EAX = EAX * EDI
0040119E  35 99573600    XOR EAX,365799                     ; EAX = EAX XOR 0x365799  
004011A3  C1C8 31        ROR EAX,31                         ; EAX = EAX ROR 0x31 
004011A6  A3 26314000    MOV DWORD PTR DS:[403126],EAX      ; DS:[403126] – здесь сохраним хэш
004011AB  33C0           XOR EAX,EAX                        ; EAX = 0
004011AD  33C9           XOR ECX,ECX                        ; ECX = 0
004011AF  B9 04000000    MOV ECX,4                          ; ECX = 4 (счетчик байт)

SerialMe.004011B4:
004011B4  8A81 F0304000  MOV AL,BYTE PTR DS:[ECX+4030F0]    ; AL = берем каждый символ строки
004011BA  3281 22314000  XOR AL,BYTE PTR DS:[ECX+403122]    ; символ (AL) XOR байт хэша
004011C0  34 31          XOR AL,31                          ; AL = AL XOR 0x31
004011C2  C0C8 12        ROR AL,12                          ; AL = AL ROR 0x12
004011C5  8881 22314000  MOV BYTE PTR DS:[ECX+403122],AL    ; байт хэша = AL
004011CB  41             INC ECX                            ; счетчик байт + 1
004011CC  83F9 08        CMP ECX,8                          ; ECX = 8 ?
004011CF  75 E3          JNZ SHORT SerialMe.004011B4