Адрес                    Команда                            Комментарий
-----------------------------------------------------------------------------------------------
00401159  33C9           XOR ECX,ECX                        ; ECX = 0
0040115B  33C0           XOR EAX,EAX                        ; EAX = 0
0040115D  A1 F0304000    MOV EAX,DWORD PTR DS:[4030F0]      ; EAX = первые четыре байта строки
00401162  BF 90083100    MOV EDI,310890                     ; EDI = 0x310890
00401167  99             CDQ
00401168  F7EF           IMUL EDI                           ; EDX:EAX = EAX * EDI
0040116A  35 47650900    XOR EAX,96547                      ; EAX = EAX XOR 0x96547
0040116F  A3 22314000    MOV DWORD PTR DS:[403122],EAX      ; DS:[403122] – здесь сохраним хэш
00401174  33C9           XOR ECX,ECX                        ; ECX = 0 (счетчик байт)

SerialMe.00401176:
00401176  8A81 F0304000  MOV AL,BYTE PTR DS:[ECX+4030F0]    ; AL = берем каждый символ строки
0040117C  3281 22314000  XOR AL,BYTE PTR DS:[ECX+403122]    ; символ (AL) XOR байт хэша
00401182  C0E0 02        SHL AL,2                           ; AL = AL << 2
00401185  8881 22314000  MOV BYTE PTR DS:[ECX+403122],AL    ; байт хэша = AL
0040118B  41             INC ECX                            ; счетчик байт + 1
0040118C  83F9 04        CMP ECX,4                          ; ECX = 4 ?
0040118F  75 E5          JNZ SHORT SerialMe.00401176