[C] 纯文本查看 复制代码
bool __cdecl -[WAPackageInfoCacheLogic unpackPkgWithFilePath:unpackLib:](WAPackageInfoCacheLogic *self, SEL a2, id a3, WXAPkg *a4)
{
WXAPkg *v4; // x24
__int64 v5; // x19
void *v6; // x0
void *v7; // x0
void *v8; // x22
__int64 v9; // x1
__int64 v10; // x21
void *v11; // x0
void *v12; // x0
__int64 v13; // x26
void *v14; // x26
void *v15; // x27
void *v16; // x0
bool v17; // w25
__int64 v18; // x24
void *v19; // x0
void *v20; // x0
char v22; // [xsp+10h] [xbp-60h]
__int64 v23; // [xsp+18h] [xbp-58h]
v4 = a4;
v5 = objc_retain(a3, a2);
v6 = +[WCLogger externalIMP](&OBJC_CLASS___WCLogger, "externalIMP");
objc_msgSend(
v6,
"logWithLevel:module:errorCode:file:line:func:format:",
2LL,
"WeApp",
0LL,
"WAPackageInfoCacheLogic.mm",
103LL,
"-[WAPackageInfoCacheLogic unpackPkgWithFilePath:unpackLib:]",
CFSTR("unpack pkg, path=%@"),
v5);
v23 = 0LL;
v7 = objc_msgSend(&OBJC_CLASS___NSData, "dataWithContentsOfFile:options:error:", v5, 3LL, &v23);
v8 = (void *)objc_retainAutoreleasedReturnValue(v7);
v10 = objc_retain(v23, v9);
if ( v10 )
{
v11 = +[WCLogger externalIMP](&OBJC_CLASS___WCLogger, "externalIMP");
objc_msgSend(
v11,
"logWithLevel:module:errorCode:file:line:func:format:",
3LL,
"WeApp",
0LL,
"WAPackageInfoCacheLogic.mm",
109LL,
"-[WAPackageInfoCacheLogic unpackPkgWithFilePath:unpackLib:]",
CFSTR("unpackPkgWithFilePath(NSDataReadingMappedIfSafe | NSDataReadingUncached) error: %@"),
v10);
}
else if ( objc_msgSend(v8, "length") )
{
goto LABEL_5;
}
v12 = objc_msgSend(&OBJC_CLASS___NSData, "dataWithContentsOfFile:", v5);
v13 = objc_retainAutoreleasedReturnValue(v12);
objc_release(v8);
v8 = (void *)v13;
LABEL_5:
if ( objc_msgSend(v8, "length") )
{
sub_10354B138(&v22);
v14 = (void *)objc_retainAutorelease(v8);
v15 = objc_msgSend(v14, "bytes");
v16 = objc_msgSend(v14, "length");
sub_10354B2A8(&v22, v15, v16);
v17 = 1;
v18 = sub_100735844(v4, &v22, 1LL);
if ( (_DWORD)v18 )
{
v19 = +[WCLogger externalIMP](&OBJC_CLASS___WCLogger, "externalIMP");
objc_msgSend(
v19,
"logWithLevel:module:errorCode:file:line:func:format:",
4LL,
"WeAppError",
0LL,
"WAPackageInfoCacheLogic.mm",
126LL,
"-[WAPackageInfoCacheLogic unpackPkgWithFilePath:unpackLib:]",
CFSTR("unpack error:%d"),
v18);
v17 = 0;
}
sub_10354B1E8(&v22);
}
else
{
v20 = +[WCLogger externalIMP](&OBJC_CLASS___WCLogger, "externalIMP");
objc_msgSend(
v20,
"logWithLevel:module:errorCode:file:line:func:format:",
4LL,
"WeAppError",
0LL,
"WAPackageInfoCacheLogic.mm",
117LL,
"-[WAPackageInfoCacheLogic unpackPkgWithFilePath:unpackLib:]",
CFSTR("pkgData is empty"));
v17 = 0;
}
objc_release(v8);
objc_release(v10);
objc_release(v5);
return v17;
}