好友
阅读权限40
听众
最后登录1970-1-1
|
void __fastcall sub_140120AB0(_DWORD *a1)
{
__int64 v2; // rax
__int64 v3; // rbx
__int64 v4; // r14
__int64 v5; // r8
int v6; // ebx
_OWORD *v7; // rax
__int64 v8; // r8
__int64 v9; // rbx
__int64 v10; // rcx
_QWORD *v11; // r15
unsigned int v12; // ebx
unsigned int v13; // er14
const wchar_t *v14; // rdx
const wchar_t *v15; // rdx
__int64 v16; // rbx
char v17[8]; // [rsp+2A0h] [rbp-348h] BYREF
__int128 v18[4]; // [rsp+2A8h] [rbp-340h] BYREF
__int128 *v19; // [rsp+2F0h] [rbp-2F8h]
_OWORD *v20; // [rsp+2F8h] [rbp-2F0h]
char v21[8]; // [rsp+300h] [rbp-2E8h] BYREF
__int64 v22; // [rsp+308h] [rbp-2E0h]
char v23[16]; // [rsp+310h] [rbp-2D8h] BYREF
__int64 v24; // [rsp+320h] [rbp-2C8h]
_QWORD *v25; // [rsp+328h] [rbp-2C0h]
const wchar_t *v26; // [rsp+3E8h] [rbp-200h] BYREF
char v27[8]; // [rsp+3F0h] [rbp-1F8h] BYREF
char v28[8]; // [rsp+3F8h] [rbp-1F0h] BYREF
char v29[8]; // [rsp+400h] [rbp-1E8h] BYREF
__int128 v30; // [rsp+408h] [rbp-1E0h] BYREF
__int64 v31; // [rsp+418h] [rbp-1D0h] BYREF
__m128i v32; // [rsp+428h] [rbp-1C0h]
__int128 v33; // [rsp+438h] [rbp-1B0h] BYREF
__int128 v34; // [rsp+448h] [rbp-1A0h] BYREF
v34 = 0i64;
v2 = (*(__int64 (__fastcall **)(__int64 *, char *))(qword_1403843A8 + 48))(&qword_1403843A8, v21);
TEXTFUNCLIB::CreatePatternMatcher(&v34, 2i64, 0i64, v2);
v3 = v22;
if ( v22 )
{
if ( _InterlockedExchangeAdd((volatile signed __int32 *)sub_140003A60(v22 + 8), 0xFFFFFFFF) == 1 )
{
(*(void (__fastcall **)(__int64))(*(_QWORD *)v3 + 8i64))(v3);
if ( _InterlockedExchangeAdd((volatile signed __int32 *)sub_140003A60(v3 + 12), 0xFFFFFFFF) == 1 )
(*(void (__fastcall **)(__int64))(*(_QWORD *)v3 + 16i64))(v3);
}
}
ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>(v29);
ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>(v27);
ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>(&v26);
ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>(v28);
if ( CWnd::UpdateData((CWnd *)a1, 1) )
{
v4 = 0i64;
v31 = 0i64;
v32 = _mm_load_si128((const __m128i *)&xmmword_140279B60);
CWnd::GetWindowTextW(a1 + 2826, v29);
CWnd::GetWindowTextW(a1 + 3986, v27);
v18[0] = 0i64;
LOBYTE(v5) = a1[5148] != 0;
v6 = (*(__int64 (__fastcall **)(_QWORD, char *, __int64, __int64, char, __int128 *, char *, _QWORD))(*(_QWORD *)v34 + 16i64))(
v34,
v29,
v5,
1i64,
1,
v18,
v28,
0i64);
sub_14005C4A0(v18);
if ( v6 < 0 )
{
ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>::operator=(&v26, v28);
goto LABEL_25;
}
v33 = 0i64;
v7 = operator new(0x50ui64);
v20 = v7;
if ( v7 )
{
*v7 = 0i64;
v7[1] = 0i64;
v7[2] = 0i64;
v7[3] = 0i64;
v7[4] = 0i64;
v4 = sub_14007FA00(v7, v27, 1i64);
}
sub_140082710(&v33, v4);
if ( (*(unsigned int (__fastcall **)(_QWORD, __int128 *))(*(_QWORD *)v34 + 8i64))(v34, &v33) )
{
if ( qword_140384770 )
{
v15 = (const wchar_t *)(*(__int64 (__fastcall **)(__int64, __int64))(*(_QWORD *)qword_140384770 + 88i64))(
qword_140384770,
247i64);
goto LABEL_22;
}
}
else
{
if ( (*(unsigned __int8 (__fastcall **)(_QWORD))(*(_QWORD *)v33 + 48i64))(v33) )
{
LOBYTE(v8) = 1;
v9 = *(_QWORD *)(*(__int64 (__fastcall **)(_QWORD, char *, __int64))(*(_QWORD *)v33 + 56i64))(v33, v23, v8);
v24 = v9;
sub_1400805E0(v23);
v30 = 0i64;
v25 = *(_QWORD **)(v9 + 8);
v19 = &v30;
*(_QWORD *)&v30 = *v25;
v10 = v25[1];
*((_QWORD *)&v30 + 1) = v10;
if ( v10 )
_InterlockedExchangeAdd((volatile signed __int32 *)sub_140003A60(v10 + 8), 1u);
v11 = (_QWORD *)ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>::Mid(v27, v17);
v12 = *(_DWORD *)(v30 + 12);
v13 = *(_DWORD *)(v30 + 8);
if ( qword_140384770 )
v14 = (const wchar_t *)(*(__int64 (__fastcall **)(__int64, __int64))(*(_QWORD *)qword_140384770 + 88i64))(
qword_140384770,
245i64);
else
v14 = L"<no language>";
ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>::Format(&v26, v14 , v13, v12, *v11);
ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>::~CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>(v17);
sub_140084120(&v30);
goto LABEL_23;
}
if ( qword_140384770 )
{
v15 = (const wchar_t *)(*(__int64 (__fastcall **)(__int64, __int64))(*(_QWORD *)qword_140384770 + 88i64))(
qword_140384770,
246i64);
LABEL_22:
ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>::operator=(&v26, v15);
LABEL_23:
sub_140080820(&v33);
LABEL_25:
CWnd::SetWindowTextW((CWnd *)(a1 + 1666), v26);
CWnd::SetFocus((CWnd *)(a1 + 3986));
sub_140004730(&v31);
goto LABEL_26;
}
}
v15 = L"<no language>";
goto LABEL_22;
}
LABEL_26:
ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>::~CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>(v28);
ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>::~CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>(&v26);
ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>::~CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>(v27);
ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>::~CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>(v29);
v16 = *((_QWORD *)&v34 + 1);
if ( *((_QWORD *)&v34 + 1)
&& _InterlockedExchangeAdd((volatile signed __int32 *)sub_140003A60(*((_QWORD *)&v34 + 1) + 8i64), 0xFFFFFFFF) == 1 )
{
(*(void (__fastcall **)(__int64))(*(_QWORD *)v16 + 8i64))(v16);
if ( _InterlockedExchangeAdd((volatile signed __int32 *)sub_140003A60(v16 + 12), 0xFFFFFFFF) == 1 )
(*(void (__fastcall **)(__int64))(*(_QWORD *)v16 + 16i64))(v16);
}
} |
免费评分
-
查看全部评分
|