.text:00401279 mov al, 5 ; 开始计算key1
.text:0040127b xor edx, edx ; edx清0
.text:0040127d
.text:0040127d loop_key1: ; code xref: sub_401109+19bj
.text:0040127d mov cl, [edx+ebx] ; 取出用户名的每一位
.text:00401280 xor cl, 29h ; key=用户名xor 29h
.text:00401283 add cl, al ; key=key add len(uername)
.text:00401285 cmp cl, 41h ; 如果相加后的key小于41h,则key=52h,key=key add len(username)
.text:00401288 jl short mov_cl_52h
.text:0040128a cmp cl, 5ah ; 如果相加后的key大于5ah,则key=52h,key=key add len(username)
.text:0040128d jg short mov_cl_52h
.text:0040128f
.text:0040128f loc_40128f: ; code xref: sub_401109+1a1j
.text:0040128f mov savekey1[edx], cl ; 计算后的值保存在40313c处
.text:00401295 mov byte_40313d[edx], 0
.text:0040129c inc dl
.text:0040129e dec al
.text:004012a0 cmp al, 0
.text:004012a2 jz short jmp_next ; 开始计算key2
.text:004012a4 jmp short loop_key1
.text:004012a6 ; ----------------------------------------------------------------------------
.text:004012a6
.text:004012a6 mov_cl_52h: ; code xref: sub_401109+17fj