好友
阅读权限10
听众
最后登录1970-1-1
|
int __thiscall sub_408030(CWnd *this)
{
int v2; // ecx
int v3; // esi
int v4; // ecx
int v5; // edi
int v6; // eax
void **v7; // eax
_DWORD *v8; // ecx
char *v9; // edx
volatile signed __int32 *v10; // esi
int v11; // eax
_DWORD *v12; // edx
int v13; // ecx
int v14; // eax
int v15; // eax
_DWORD *v16; // edx
volatile signed __int32 *v17; // edi
int v18; // eax
int v19; // eax
int v20; // eax
__time64_t v21; // rax
int v22; // eax
const char **v23; // eax
_DWORD *v24; // edx
_DWORD *v25; // edx
_DWORD *v26; // eax
_DWORD *v27; // edx
volatile signed __int32 *v28; // edx
void *v29; // eax
CWnd *v30; // eax
HWND v31; // eax
struct CWnd *v32; // eax
const char *v33; // ebx
volatile signed __int32 *v34; // edi
int result; // eax
volatile signed __int32 *v36; // esi
int v37; // [esp-30h] [ebp-A4h]
int v38; // [esp-4h] [ebp-78h]
int v39[9]; // [esp+10h] [ebp-64h] BYREF
struct tagRECT Rect; // [esp+34h] [ebp-40h] BYREF
int v41; // [esp+44h] [ebp-30h]
int v42; // [esp+48h] [ebp-2Ch]
CWnd *v43; // [esp+4Ch] [ebp-28h] BYREF
__time64_t Time; // [esp+50h] [ebp-24h] BYREF
_DWORD *v45; // [esp+58h] [ebp-1Ch]
char ArgList[4]; // [esp+5Ch] [ebp-18h] BYREF
int v47; // [esp+60h] [ebp-14h] BYREF
int v48; // [esp+70h] [ebp-4h]
*(_DWORD *)ArgList = 0;
Rect = 0i64;
v2 = sub_412F35();
if ( !v2 )
sub_402FE0(-2147467259);
v3 = (*(int (__thiscall **)(int))(*(_DWORD *)v2 + 12))(v2) + 16;
v42 = v3;
v48 = 0;
v4 = sub_412F35();
if ( !v4 )
sub_402FE0(-2147467259);
v5 = (*(int (__thiscall **)(int))(*(_DWORD *)v4 + 12))(v4) + 16;
v41 = v5;
LOBYTE(v48) = 1;
GetWindowRect(*((HWND *)this + 8), &Rect);
v6 = GetSystemMetrics(16);
COleDispatchDriver::InvokeHelper(
(COleDispatchDriver *)&unk_5F0488,
60,
1u,
3u,
&v43,
&byte_5E5BB8,
(v6 - (Rect.right - Rect.left)) / 2 + 350,
15);
v7 = (void **)sub_407A70((COleDispatchDriver *)&unk_5F0488, &v47, v43);
LOBYTE(v48) = 2;
v8 = (_DWORD *)(v3 - 16);
v9 = (char *)*v7;
v45 = (_DWORD *)(v3 - 16);
HIDWORD(Time) = v9 - 16;
if ( v9 - 16 != (char *)(v3 - 16) )
{
v10 = v8 + 3;
if ( (int)v8[3] >= 0 && *((_DWORD *)v9 - 4) == *v8 )
{
v11 = sub_403F30(HIDWORD(Time));
HIDWORD(Time) = v11;
if ( _InterlockedDecrement(v10) <= 0 )
{
(*(void (__thiscall **)(_DWORD, _DWORD *))(*(_DWORD *)*v45 + 4))(*v45, v45);
v11 = HIDWORD(Time);
}
v3 = v11 + 16;
v42 = v11 + 16;
}
else
{
sub_4052D0(v9, *((_DWORD *)v9 - 3));
v3 = v42;
}
}
LOBYTE(v48) = 1;
v12 = (_DWORD *)(v47 - 16);
if ( _InterlockedDecrement((volatile signed __int32 *)(v47 - 16 + 12)) <= 0 )
(*(void (__thiscall **)(_DWORD, _DWORD *))(*(_DWORD *)*v12 + 4))(*v12, v12);
LOBYTE(v48) = 3;
HIDWORD(Time) = 0;
v13 = sub_412F35();
if ( !v13 )
sub_402FE0(-2147467259);
v14 = (*(int (__thiscall **)(int))(*(_DWORD *)v13 + 12))(v13);
*(_DWORD *)ArgList = 1;
HIDWORD(Time) = v14 + 16;
COleDispatchDriver::InvokeHelper((COleDispatchDriver *)&unk_5F0488, 68, 1u, 8u, (char *)&Time + 4, &byte_5E5BB4, v43);
v15 = HIDWORD(Time);
v16 = (_DWORD *)(v5 - 16);
v45 = (_DWORD *)(v5 - 16);
v47 = HIDWORD(Time) - 16;
if ( HIDWORD(Time) - 16 != v5 - 16 )
{
v17 = v16 + 3;
if ( (int)v16[3] >= 0 && *(_DWORD *)(HIDWORD(Time) - 16) == *v16 )
{
v18 = sub_403F30(v47);
v47 = v18;
if ( _InterlockedDecrement(v17) <= 0 )
{
(*(void (__thiscall **)(_DWORD, _DWORD *))(*(_DWORD *)*v45 + 4))(*v45, v45);
v18 = v47;
}
v5 = v18 + 16;
v41 = v18 + 16;
}
else
{
sub_4052D0((void *)HIDWORD(Time), *(_DWORD *)(HIDWORD(Time) - 12));
v5 = v41;
}
v15 = HIDWORD(Time);
}
LOBYTE(v48) = 1;
if ( _InterlockedDecrement((volatile signed __int32 *)(v15 - 16 + 12)) <= 0 )
(*(void (__thiscall **)(_DWORD, int))(**(_DWORD **)(v15 - 16) + 4))(*(_DWORD *)(v15 - 16), v15 - 16);
if ( sub_569331(v3, "Button") || sub_569331(v5, "偏好设置") )
{
v43 = (CWnd *)((char *)this + 1384);
CWnd::SetWindowTextA((CWnd *)((char *)this + 1384), aIng);
CWnd::GetWindowTextA((char *)this + 216);
CWnd::GetWindowTextA((char *)this + 220);
SetMachineMode(1);
v19 = SignOn(*((_DWORD *)this + 54), *((_DWORD *)this + 55));
*((_DWORD *)this + 53) = v19;
if ( v19 == 1 )
{
*((_DWORD *)this + 53) = sub_402300((char *)this + 224);
_time64(&Time);
v20 = sub_402650((char *)this + 224, "%d-%d-%d", (char)ArgList);
if ( v20 == -1 )
{
v21 = -1i64;
}
else
{
v39[2] = 23;
v39[5] = *(_DWORD *)ArgList - 1900;
v39[1] = 59;
v39[4] = v47 - 1;
v39[3] = (int)v45;
v39[0] = 59;
LODWORD(v21) = sub_565EAC(v39);
}
if ( v21 <= Time )
{
CWnd::SetWindowTextA((CWnd *)((char *)this + 1384), "验证未通过");
}
else
{
v22 = sub_408F80((char *)this + 224);
LOBYTE(v48) = 4;
v23 = (const char **)sub_4074D0(ArgList, &unk_5C12F8, v22);
LOBYTE(v48) = 5;
CWnd::SetWindowTextA((CWnd *)((char *)this + 1384), *v23);
LOBYTE(v48) = 4;
v24 = (_DWORD *)(*(_DWORD *)ArgList - 16);
if ( _InterlockedDecrement((volatile signed __int32 *)(*(_DWORD *)ArgList - 16 + 12)) <= 0 )
(*(void (__thiscall **)(_DWORD, _DWORD *))(*(_DWORD *)*v24 + 4))(*v24, v24);
LOBYTE(v48) = 1;
v25 = (_DWORD *)(v47 - 16);
if ( _InterlockedDecrement((volatile signed __int32 *)(v47 - 16 + 12)) <= 0 )
(*(void (__thiscall **)(_DWORD, _DWORD *))(*(_DWORD *)*v25 + 4))(*v25, v25);
COleDispatchDriver::InvokeHelper(
(COleDispatchDriver *)&unk_5F0488,
216,
1u,
3u,
ArgList,
&byte_5E5BA0,
"DengLu",
"ZhangHao",
*((_DWORD *)this + 54),
"C:\\1790418057\\巨浪\\配置文件.ini");
v37 = *((_DWORD *)this + 55);
*((_DWORD *)this + 248) = *(_DWORD *)ArgList;
COleDispatchDriver::InvokeHelper(
(COleDispatchDriver *)&unk_5F0488,
216,
1u,
3u,
ArgList,
&byte_5E5BA0,
"DengLu",
"MiMa",
v37,
"C:\\1790418057\\巨浪\\配置文件.ini");
*((_DWORD *)this + 248) = *(_DWORD *)ArgList;
v26 = (_DWORD *)sub_408F80((char *)this + 224);
LOBYTE(v48) = 6;
COleDispatchDriver::InvokeHelper(
(COleDispatchDriver *)&unk_5F0488,
216,
1u,
3u,
&v47,
&byte_5E5BA0,
"DengLu",
"DaoQiShiJian",
*v26,
"C:\\1790418057\\巨浪\\配置文件.ini");
LOBYTE(v48) = 1;
v27 = v45;
*((_DWORD *)this + 248) = v47;
v28 = v27 - 4;
if ( _InterlockedDecrement(v28 + 3) <= 0 )
(*(void (__thiscall **)(volatile signed __int32, volatile signed __int32 *))(**(_DWORD **)v28 + 4))(*v28, v28);
v29 = operator new(0x500u);
*(_DWORD *)ArgList = v29;
LOBYTE(v48) = 7;
if ( v29 )
{
memset(v29, 0, 0x500u);
v30 = (CWnd *)sub_405700(v38);
}
else
{
v30 = 0;
}
LOBYTE(v48) = 1;
dword_5EE338 = v30;
v31 = GetDesktopWindow();
v32 = CWnd::FromHandle(v31);
(*(void (__thiscall **)(CWnd *, int, struct CWnd *))(*(_DWORD *)dword_5EE338 + 356))(dword_5EE338, 137, v32);
CWnd::ShowWindow(dword_5EE338, 5);
CWnd::ShowWindow(this, 0);
CWnd::ModifyStyleEx(this, 0x40000u, 0x80u, 0);
}
}
if ( !*((_DWORD *)this + 53) )
{
v33 = (char *)this + 734;
GetLastErrorInfo(v33, 255);
CWnd::SetWindowTextA(v43, v33);
}
}
else
{
MessageBoxA(0, Text, "登录失败", 0);
}
LOBYTE(v48) = 0;
v34 = (volatile signed __int32 *)(v5 - 16);
result = _InterlockedDecrement(v34 + 3);
if ( result <= 0 )
result = (*(int (__thiscall **)(volatile signed __int32, volatile signed __int32 *))(**(_DWORD **)v34 + 4))(
*v34,
v34);
v48 = -1;
v36 = (volatile signed __int32 *)(v3 - 16);
if ( _InterlockedDecrement(v36 + 3) <= 0 )
result = (*(int (__thiscall **)(volatile signed __int32, volatile signed __int32 *))(**(_DWORD **)v36 + 4))(
*v36,
v36);
return result;
} |
|