[C++] 纯文本查看 复制代码 int __stdcall SetupDate(int a1, rsize_t SizeInBytes)
{
struct AFX_MODULE_STATE *v2; // eax
int v3; // eax
int v4; // eax
char v5; // al
int v6; // esi
const char *v7; // eax
DOUBLE pvtime; // [esp+1Ch] [ebp-70h] BYREF
int v10; // [esp+24h] [ebp-68h]
__time64_t v11; // [esp+28h] [ebp-64h] BYREF
char *Destination; // [esp+30h] [ebp-5Ch]
int v13[2]; // [esp+34h] [ebp-58h] BYREF
struct _SYSTEMTIME v14; // [esp+3Ch] [ebp-50h] BYREF
struct _SYSTEMTIME v15; // [esp+4Ch] [ebp-40h] BYREF
char v16[4]; // [esp+5Ch] [ebp-30h] BYREF
char *Source; // [esp+60h] [ebp-2Ch] BYREF
rsize_t MaxCount; // [esp+70h] [ebp-1Ch]
unsigned int v19; // [esp+74h] [ebp-18h]
struct _SYSTEMTIME SystemTime; // [esp+78h] [ebp-14h] BYREF
Destination = (char *)a1;
v2 = AfxGetModuleState();
AFX_MAINTAIN_STATE2::AFX_MAINTAIN_STATE2((AFX_MAINTAIN_STATE2 *)v13, v2);
v11 = _time64(0);
pvtime = 0.0;
v10 = 0;
if ( !(unsigned __int8)sub_10003E00() || (v3 = sub_10003E70(&SystemTime, &pvtime), v10 = 0, !v3) )
v10 = 1;
v4 = sub_10006264();
if ( !v4 )
sub_100045B0(-2147467259);
LODWORD(v11) = (*(int (__thiscall **)(int))(*(_DWORD *)v4 + 12))(v4) + 16;
if ( !v10 )
VariantTimeToSystemTime(pvtime, &SystemTime);
if ( !v10 )
VariantTimeToSystemTime(pvtime, &v14);
if ( v10 || !VariantTimeToSystemTime(pvtime, &v15) )
v5 = -1;
else
v5 = v15.wYear;
sub_10003DE0((int)&v11, "%d-%02d-%02d", v5);
v6 = v11;
SystemTime.wMonth = 13632;
SystemTime.wDayOfWeek = 6265;
strcpy((char *)&SystemTime.wDay, "<M");
SystemTime.wYear = 24175;
sub_100037F0(v16, (void *)v11);
v7 = Source;
if ( v19 < 0x10 )
v7 = (const char *)&Source;
strncpy_s(Destination, SizeInBytes, v7, MaxCount);
if ( v19 >= 0x10 )
operator delete(Source);
v19 = 15;
MaxCount = 0;
LOBYTE(Source) = 0;
if ( _InterlockedDecrement((volatile signed __int32 *)(v6 - 16 + 12)) <= 0 )
(*(void (__thiscall **)(_DWORD, int))(**(_DWORD **)(v6 - 16) + 4))(*(_DWORD *)(v6 - 16), v6 - 16);
if ( v13[1] )
sub_100058A3(0, v13[0]);
return 1;
} |