CODE:0051B6EB mov cl, 1
CODE:0051B6ED mov edx, offset aSoftwareRest_3 ;
"SOFTWARE\\RESTOOLS\\ResScope"
CODE:0051B6F2 mov eax, [ebp+var_8]
CODE:0051B6F5 call @Registry@TRegistry@OpenKey$qqrx17System@AnsiStringo ; Registry::TRegistry::OpenKey(System::AnsiString,bool)
CODE:0051B6FA
test
al, al
CODE:0051B6FC jz loc_51B888
CODE:0051B702 lea eax, [ebp+var_C]
CODE:0051B705 call @System@@LStrClr$qqrr17System@AnsiString ; System::__linkproc__ LStrClr(System::AnsiString &)
CODE:0051B70A lea eax, [ebp+var_10]
CODE:0051B70D call @System@@LStrClr$qqrr17System@AnsiString ; System::__linkproc__ LStrClr(System::AnsiString &)
CODE:0051B712 mov edx, offset aReguser_2 ;
"reguser"
CODE:0051B717 mov eax, [ebp+var_8]
CODE:0051B71A call @Registry@TRegistry@ValueExists$qqrx17System@AnsiString ; Registry::TRegistry::ValueExists(System::AnsiString)
CODE:0051B71F
test
al, al
CODE:0051B721 jz short loc_51B733
CODE:0051B723 lea ecx, [ebp+var_C]
CODE:0051B726 mov edx, offset aReguser_2 ;
"reguser"
CODE:0051B72B mov eax, [ebp+var_8]
CODE:0051B72E call @TRegistry@ReadString$qqrx10AnsiString ; TRegistry::ReadString(AnsiString)
CODE:0051B733
CODE:0051B733 loc_51B733: ; CODE XREF: sub_51B6A0+81j
CODE:0051B733 mov edx, offset aRegcode_1 ;
"regcode"
CODE:0051B738 mov eax, [ebp+var_8]
CODE:0051B73B call @Registry@TRegistry@ValueExists$qqrx17System@AnsiString ; Registry::TRegistry::ValueExists(System::AnsiString)
CODE:0051B740
test
al, al
CODE:0051B742 jz short loc_51B754
CODE:0051B744 lea ecx, [ebp+var_10]
CODE:0051B747 mov edx, offset aRegcode_1 ;
"regcode"
CODE:0051B74C mov eax, [ebp+var_8]
CODE:0051B74F call @TRegistry@ReadString$qqrx10AnsiString ; TRegistry::ReadString(AnsiString)
CODE:0051B754
CODE:0051B754 loc_51B754: ; CODE XREF: sub_51B6A0+A2j
CODE:0051B754 mov eax, [ebp+var_10]
CODE:0051B757 call @System@@LStrLen ; System::__linkproc__ LStrLen
CODE:0051B75C
cmp
eax, 30h
CODE:0051B75F jnz loc_51B888
CODE:0051B765 mov eax, [ebp+var_C]
CODE:0051B768 call @System@@LStrLen ; System::__linkproc__ LStrLen
CODE:0051B76D
test
eax, eax
CODE:0051B76F jle loc_51B888
CODE:0051B775 lea eax, [ebp+var_14] ; 保存返回值
CODE:0051B775 ; 指向18字节长PCHAR
CODE:0051B778 push eax
CODE:0051B779 mov cl, 1
CODE:0051B77B mov dl, 1
CODE:0051B77D mov eax, [ebp+var_C] ;
"reguser"
CODE:0051B780 call sub_51A06C ; 处理用户名
CODE:0051B785 mov eax, [ebp+var_14] ; 处理用户名得到的18字节长的串,先入栈,待会好比较
CODE:0051B788 push eax
CODE:0051B789 lea ecx, [ebp+var_18] ; 保存返回值。。
CODE:0051B78C mov dl, 1
CODE:0051B78E mov eax, [ebp+var_10] ;
"regcode"
CODE:0051B791 call sub_519298 ; 注册码变换函数
CODE:0051B796 mov edx, [ebp+var_18]
CODE:0051B799 pop eax
CODE:0051B79A call @System@@LStrCmp$qqrv ; System::__linkproc__ LStrCmp(void)
CODE:0051B79F jnz short loc_51B7A5 ;