|
楼主 |
发表于 2024-9-2 10:22:02
|
显示全部楼层
山西省太原市
{
const char *Bytes; // x0
__int64 v17; // x21
__int64 v18; // x22
int Size; // w0
unsigned __int8 *v20; // x20
const char *v21; // x0
__int64 v22; // x21
__int64 v23; // x22
int v24; // w0
unsigned __int8 *v25; // x20
const char *v26; // x0
__int64 v27; // x21
__int64 v28; // x22
int v29; // w0
unsigned __int8 *v30; // x20
char v31[16]; // [xsp+8h] [xbp-58h] BYREF
_DWORD v32[2]; // [xsp+18h] [xbp-48h] BYREF
char *v33; // [xsp+20h] [xbp-40h]
__int64 v34; // [xsp+28h] [xbp-38h]
v34 = *(_QWORD *)(_ReadStatusReg(ARM64_SYSREG(3, 3, 13, 0, 2)) + 40);
cocos2d::Data::Data((cocos2d::Data *)v31);
*(_QWORD *)v32 = &off_14692C8;
v33 = v31;
(*(void (__fastcall **)(__int64, __int64, _DWORD *))(*(_QWORD *)a1 + 56LL))(a1, a2, v32);
if ( (a3 & 1) == 0 )
{
if ( *(_BYTE *)(a1 + 244) )
{
if ( (cocos2d::Data::isNull(v31) & 1) == 0 )
{
Bytes = (const char *)cocos2d::Data::getBytes(v31);
if ( !strncmp(Bytes, *(const char **)(a1 + 264), *(_DWORD *)(a1 + 272))
&& cocos2d::Data::getSize(v31) > *(int *)(a1 + 272) )
{
v32[0] = 0;
v17 = cocos2d::Data::getBytes(v31);
v18 = *(int *)(a1 + 272);
Size = cocos2d::Data::getSize(v31);
v20 = (unsigned __int8 *)xxtea_decrypt(
v17 + v18,
Size - *(_DWORD *)(a1 + 272),
*(const void **)(a1 + 248),
*(_DWORD *)(a1 + 256),
v32);
cocos2d::Data::Data(a5);
cocos2d::Data::fastSet(a5, v20, v32[0]);
goto LABEL_20;
}
}
}
if ( *(_BYTE *)(a1 + 276) )
{
if ( (cocos2d::Data::isNull(v31) & 1) == 0 )
{
v21 = (const char *)cocos2d::Data::getBytes(v31);
if ( !strncmp(v21, *(const char **)(a1 + 296), *(_DWORD *)(a1 + 304))
&& cocos2d::Data::getSize(v31) > *(int *)(a1 + 304) )
{
v32[0] = 0;
v22 = cocos2d::Data::getBytes(v31);
v23 = *(int *)(a1 + 304);
v24 = cocos2d::Data::getSize(v31);
v25 = (unsigned __int8 *)xxtea_decrypt(
v22 + v23,
v24 - *(_DWORD *)(a1 + 304),
*(const void **)(a1 + 280),
*(_DWORD *)(a1 + 288),
v32);
cocos2d::Data::Data(a5);
cocos2d::Data::fastSet(a5, v25, v32[0]);
goto LABEL_20;
}
}
}
if ( *(_BYTE *)(a1 + 208) )
{
if ( (cocos2d::Data::isNull(v31) & 1) == 0 )
{
v26 = (const char *)cocos2d::Data::getBytes(v31);
if ( !strncmp(v26, *(const char **)(a1 + 232), *(_DWORD *)(a1 + 240))
&& cocos2d::Data::getSize(v31) > *(int *)(a1 + 240) )
{
v32[0] = 0;
v27 = cocos2d::Data::getBytes(v31);
v28 = *(int *)(a1 + 240);
v29 = cocos2d::Data::getSize(v31);
v30 = (unsigned __int8 *)xxtea_decrypt(
v27 + v28,
v29 - *(_DWORD *)(a1 + 240),
*(const void **)(a1 + 216),
*(_DWORD *)(a1 + 224),
v32);
cocos2d::Data::Data(a5);
cocos2d::Data::fastSet(a5, v30, v32[0]);
goto LABEL_20;
}
}
}
}
if ( (a4 & 1) != 0 )
cocos2d::Data::clear((cocos2d::Data *)v31);
cocos2d::Data::Data(a5, v31);
LABEL_20:
cocos2d::Data::~Data((cocos2d::Data *)v31);
_ReadStatusReg(ARM64_SYSREG(3, 3, 13, 0, 2));
} |
|