勘違いでした, すみません.
17, 18, 19, 20文字目が...は間違いですね.
値が固定だと思い込んでました.
それでもpatch無しでは解けないような気がします.

keyとpatch
ddddddddKsdiIsKzRRRRRRRRRNizUIqRRRRRRRRRiNiiRqRRReuvOLUqsIKzNiEdReuvOLUqsIKzNiEdReuvOLUqsIKzNiEdReuvOLUqsIKzNiEdRRRRRRRRvRRRRRRR

上のkeyを入力して, 以下の変更で登録できる

push 10h
push edx
push edi
call check
dec eax
test eax, eax <- ここを"xor eax, eax"に変更
jz
popa