char __cdecl sub_4012F0()
{
//
逆向代码有删减
v19 = (int)
"ABCDEFGHJKMNPQRSTVWXYZ1234567890"
;
v0 = SendMessageA(hWnd, 13u, 33u, (LPARAM)lParam);
v1 = v0;
if
( v0 )
{
v0 = SendMessageA(dword_40DBB4, 0xDu, 0x24u, (LPARAM)&v27);
if
( v0 == 35 )
{
v3 = 0;
v2 = &v44;
do
{
v0 = 0;
while
( v3 != byte_40CF98[v0] )
//
第9,18,27个字符是‘-‘
{
++v0;
if
( (unsigned int)v0 >= 3 )
goto LABEL_9;
}
if
( *(&v27 + byte_40CF98[v0]) != 45 )
return
v0;
LABEL_9:
if
( v0 == 3 )
{
LOBYTE(v0) = sub_407FB0(&v18, *(&v27 + v3));
//
校验序列号中是否含有不在
"ABCDEFGHJKMNPQRSTVWXYZ1234567890"
中的字符
if
( (_BYTE)v0 == -1 )
return
v0;
*v2++ = *(&v27 + v3);
}
++v3;
}
while
( v3 < 35 );
LOBYTE(v0) = sub_407E40(&v18, (int)&v44, 32, (int)&v38, (int)&v17);
//
对密码进行加密===>v38,长度==>v17
if
( (_BYTE)v0 )
{
LOBYTE(v0) = sub_401000(v1, (int)&v20, (int)lParam);
//
对用户名加密 ==> v20
if
( (_BYTE)v0 )
{
v4 = 20;
v6 = &v20;
v5 = &v38;
do
{
if
( *(_DWORD *)v5 != *(_DWORD *)v6 )
goto LABEL_19;
v4 -= 4;
v6 += 4;
v5 += 4;
}
while
( (unsigned int)v4 >= 4 );
if
( v4 )
{
LABEL_19:
v7 = (unsigned __int8)*v5 - (unsigned __int8)*v6;
if
( (unsigned __int8)*v5 != (unsigned __int8)*v6
|| (v8 = v4 - 1, v10 = (int)(v6 + 1), v9 = (int)(v5 + 1), v8)
&& ((v7 = *(_BYTE *)v9 - *(_BYTE *)v10, *(_BYTE *)v9 != *(_BYTE *)v10)
|| (v11 = v8 - 1, v13 = v10 + 1, v12 = v9 + 1, v11)
&& ((v7 = *(_BYTE *)v12 - *(_BYTE *)v13, *(_BYTE *)v12 != *(_BYTE *)v13)
|| (v15 = v13 + 1, v14 = v12 + 1, v11 != 1)
&& (v7 = *(_BYTE *)v14 - *(_BYTE *)v15, *(_BYTE *)v14 != *(_BYTE *)v15))) )
{
v0 = 1;
if
( v7 <= 0 )
v0 = -1;
LABEL_29:
if
( !v0 )
LOBYTE(v0) = MessageBoxA(
dword_40DBB8,
"Congratulations! \n You will be the keygen machine!"
,
"Success!"
,
0);
return
v0;
}
}
v0 = 0;
goto LABEL_29;
}
}
}
}
return
v0;
}