if ((isnull(as_regcode)) or (len(as_regcode) = 0)) then
il_return = 0
else
if as_sysno = "99" and ((as_name = "xxxxxx有限公司") or (as_name = profilestring("user.ini","chyb","madein",""))) then
if as_regcode = "00000000" then
il_usercount = 20 等于某代码+公司名称+注册码0000000 得到20次试用
il_return = 5
goto label_0
end if
if as_regcode = "11111111" then
il_usercount = 5 等于某代码+公司名称+1111111 得到5次试用
il_return = 4
goto label_0
end if
end if
ls_hdcode = createhdcode()
ls_code = createregcode(as_name,as_sysno,ai_usertype,ls_hdcode)
if ls_code <> readcode(as_regcode,1) then
il_return = 2
else
ll_limit = uf_xor(of_hextodec(mid(as_regcode,23,1)),of_hextodec(mid(as_regcode,17,1)))
ll_limit = uf_xor(ll_limit,of_hextodec(mid(as_regcode,29,1)))
ll_limit = uf_xor(ll_limit,of_hextodec(mid(as_regcode,11,1)))
ll_limit = uf_xor(ll_limit,of_hextodec(mid(as_regcode,10,1)))
if right(of_dectohex4(ll_limit),2) <> mid(as_regcode,5,1) + right(as_regcode,1) then
il_return = 2
else
il_usercount = long(readcode(as_regcode,3))
ll_limit = uf_xor(of_hextodec(mid(as_regcode,19,1)),of_hextodec(mid(as_regcode,2,1)))
ll_limit = uf_xor(ll_limit,of_hextodec(mid(as_regcode,24,1)))
if right(of_dectohex4(ll_limit),1) <> mid(as_regcode,10,1) then
il_return = 2
else
ll_limit = long(readcode(as_regcode,2))
if ll_limit <= 4000 then
if ll_limit <= abs(al_cishu) then
il_return = 3
goto label_0
end if
if ll_limit <= abs(al_cishu) + 10 then
il_return = abs(al_cishu) - ll_limit
goto label_0
end if
end if
il_return = 1
end if
end if
end if
end if