cc::Data __fastcall cc::FileUtils::getDataFromFile(cc::FileUtils *
this
, const
std
::string *filename) {
const char *neteaseKey; // x20
Size
= (uint8_t *)cc::Data::getSize(v3);
if
( (unsigned
int
)
Size
>= 0xC ) {
Bytes = cc::Data::getBytes(v3);
Size
= (uint8_t *)memcmp(Bytes,
"netease"
, 7uLL);
if
( !(_DWORD)
Size
&& Bytes[7] == 1 && Bytes[10] == 239 && Bytes[9] == 1 && Bytes[8] == 1 ) {
v9 = cc::Data::getSize(v3) - 11;
v10 = calloc(1uLL, v9);
memcpy(v10, Bytes + 11, v9);
if
( (_DWORD)v9 ) {
neteaseKey =
this
->neteaseKey;
v12 = 0;
v13 = v9;
v14 = v10;
do {
if
( strlen(neteaseKey) <= v12 ) {
v15 = 0;
}
else
{
v15 = v12;
}
--v13;
v12 = v15 + 1;
*v14++ ^= neteaseKey[v15];
}
while
( v13 );
}
cc::Data::fastSet(v3, (unsigned __int8 *)v10, v9);
}
}
result._size = v7;
result._bytes =
Size
;
return result;
}