LRESULT __thiscall sub_??????(CWnd *this)
{
CWnd *v1;
//
esi@1
struct CWnd *v2;
//
eax@1
struct CWnd *v3;
//
eax@1
signed int v4;
//
kr00_4@1
signed int v5;
//
ecx@2
int v6;
//
edx@3
char *v7;
//
esi@3
void *v8;
//
eax@4
char *v9;
//
edi@9
signed int v10;
//
esi@11
unsigned int v11;
//
edx@12
signed int v12;
//
eax@20
struct CWnd *v13;
//
eax@25
void *v15;
//
[sp+14h] [bp-2A0h]@5
void *v16;
//
[sp+20h] [bp-294h]@7
int v17;
//
[sp+24h] [bp-290h]@7
int v18;
//
[sp+28h] [bp-28Ch]@7
int v19;
//
[sp+2Ch] [bp-288h]@11
int v20;
//
[sp+30h] [bp-284h]@11
int v21;
//
[sp+34h] [bp-280h]@11
int v22;
//
[sp+38h] [bp-27Ch]@11
int v23;
//
[sp+3Ch] [bp-278h]@11
int v24;
//
[sp+40h] [bp-274h]@11
int v25;
//
[sp+44h] [bp-270h]@11
int v26;
//
[sp+48h] [bp-26Ch]@11
int v27;
//
[sp+4Ch] [bp-268h]@11
int v28;
//
[sp+50h] [bp-264h]@11
CWnd *v29;
//
[sp+54h] [bp-260h]@1
char v30;
//
[sp+58h] [bp-25Ch]@7
void *v31;
//
[sp+5Ch] [bp-258h]@7
int v32;
//
[sp+6Ch] [bp-248h]@7
unsigned int v33;
//
[sp+70h] [bp-244h]@7
LPARAM v34;
//
[sp+74h] [bp-240h]@1
int v35;
//
[sp+78h] [bp-23Ch]@1
char v36;
//
[sp+7Ch] [bp-238h]@1
int v37;
//
[sp+7Dh] [bp-237h]@1
char v38;
//
[sp+81h] [bp-233h]@1
char v39;
//
[sp+82h] [bp-232h]@1
char v40;
//
[sp+83h] [bp-231h]@1
char v41;
//
[sp+84h] [bp-230h]@1
_BYTE v42[5];
//
[sp+88h] [bp-22Ch]@2
int v43;
//
[sp+8Dh] [bp-227h]@2
int v44;
//
[sp+91h] [bp-223h]@2
int v45;
//
[sp+95h] [bp-21Fh]@2
__int16 v46;
//
[sp+99h] [bp-21Bh]@2
char v47;
//
[sp+9Bh] [bp-219h]@2
char lParam[260];
//
[sp+9Ch] [bp-218h]@1
char Src[260];
//
[sp+1A0h] [bp-114h]@1
int v50;
//
[sp+2B0h] [bp-4h]@7
v1 = this;
v29 = this;
lParam[0] = 0;
memset(&lParam[1], 0, 0x103u);
Src[0] = 0;
memset(&Src[1], 0, 0x103u);
v2 = CWnd::GetDlgItem(v1, 1000);
SendMessageA(*((HWND *)v2 + 8), 0xDu, 0x40u, (LPARAM)lParam);
v3 = CWnd::GetDlgItem(v1, 1001);
SendMessageA(*((HWND *)v3 + 8), 0xDu, 0x40u, (LPARAM)Src);
v34 = -508386601;
v35 = 0;
v36 = 0;
v37 = -592402486;
v38 = -77;
v39 = -55;
v40 = -71;
v41 = -90;
v4 = strlen(lParam);
if
( (unsigned int)(v4 - 6) > 0xE )
goto LABEL_24;
v5 = 0;
v42[0] = 0;
*(_DWORD *)&v42[1] = 0;
v43 = 0;
v44 = 0;
v45 = 0;
v46 = 0;
v47 = 0;
do
{
v6 = v5 % v4;
v7 = &v42[v5++];
*(_DWORD *)v7 += v4 * (_DWORD)&v7[20160126 - (_DWORD)v42] * lParam[v6];
}
while
( v5 < 16 );
v8 = operator new(4u);
if
( v8 )
*(_DWORD *)v8 = &v15;
else
v8 = 0;
v15 = v8;
v16 = 0;
v17 = 0;
v18 = 0;
v50 = 1;
v33 = 15;
v32 = 0;
LOBYTE(v31) = 0;
sub_??????(Src, strlen(Src));
LOBYTE(v50) = 2;
sub_??????(&v30);
LOBYTE(v50) = 1;
if
( v33 >= 0x10 )
operator delete(v31);
v9 = (char *)v16;
v33 = 15;
v32 = 0;
LOBYTE(v31) = 0;
if
( v17 - (_DWORD)v16 != 20 )
{
v50 = -1;
sub_??????(&v15);
LABEL_24:
v12 = 0;
goto LABEL_25;
}
v19 = 0;
v20 = 0;
v21 = 0;
v22 = 0;
v23 = 0;
v24 = 0;
v25 = 0;
v26 = 0;
v27 = 0;
v28 = 0;
v10 = 0;
do
{
v11 = v17 - (_DWORD)v9;
*(int *)((char *)&v19 + v10) = *(_DWORD *)&v42[v10] / 10;
if
( v10 >= v11 )
{
_invalid_parameter_noinfo();
v9 = (char *)v16;
}
*(int *)((char *)&v24 + v10) = *(_DWORD *)&v9[v10];
v10 += 4;
}
while
( v10 < 20 );
if
( v28 + v19 != v26 || v26 + v20 != 2 * v28 || v27 + v21 != v24 || v24 + v22 != 2 * v27 || v23 + v25 != 3 * v21 )
{
v50 = 3;
if
( v9 )
operator delete(v9);
v50 = -1;
v16 = 0;
v17 = 0;
v18 = 0;
operator delete(v15);
goto LABEL_24;
}
v50 = -1;
sub_???????(&v15);
v12 = 1;
LABEL_25:
v35 = *(&v37 + v12);
v13 = CWnd::GetDlgItem(v29, 1005);
return
SendMessageA(*((HWND *)v13 + 8), 0xCu, 0, (LPARAM)&v34);
}