int
__thiscall sub_401890(CWnd
*
this)
{
struct CString
*
v1;
/
/
ST08_4@
1
CWnd
*
v2;
/
/
eax@
1
int
v3;
/
/
eax@
1
int
result;
/
/
eax@
2
int
v5[
26
];
/
/
[sp
+
4Ch
] [bp
-
74h
]@
7
int
i;
/
/
[sp
+
B4h] [bp
-
Ch]@
3
char
*
Str
;
/
/
[sp
+
B8h] [bp
-
8h
]@
1
CWnd
*
v8;
/
/
[sp
+
BCh] [bp
-
4h
]@
1
v8
=
this;
v1
=
(CWnd
*
)((char
*
)this
+
100
);
v2
=
CWnd::GetDlgItem(this,
1002
);
CWnd::GetWindowTextA(v2, v1);
v3
=
sub_401A30((char
*
)v8
+
100
);
Str
=
CString::GetBuffer((CWnd
*
)((char
*
)v8
+
100
), v3);
if
( strlen(
Str
) )
{
for
( i
=
0
;
Str
[i];
+
+
i )
{
if
(
Str
[i] >
57
||
Str
[i] <
48
)
/
/
非数字
{
if
(
Str
[i] >
122
||
Str
[i] <
97
)
/
/
非小写字母
{
if
(
Str
[i] >
90
||
Str
[i] <
65
)
/
/
非大写字母
sub_4017B0();
else
v5[i]
=
Str
[i]
-
29
;
/
/
大写字母减
29
}
else
{
v5[i]
=
Str
[i]
-
87
;
/
/
小写字母减
87
}
}
else
{
v5[i]
=
Str
[i]
-
48
;
/
/
数字减
48
}
}
result
=
sub_4017F0((
int
)v5);
}
else
{
result
=
CWnd::MessageBoxA(v8,
"请输入pass!"
,
0
,
0
);
}
return
result;
}