// // cocos2d::extension::AssetsManager::AssetsManager from 0x180001480 to 0x180001667 (487 bytes) // // 3 xrefs: // > cocos2d::extension::AssetsManager::`default constructor closure' @ 0x1800013b8 // > @ 0x18002fdf8 // > @ 0x180049054 // // This function is hookable on this platform! // // Using BromaIDA 8.0.0 @ https://github.com/Stazzical/BromaIDA // Using bindings at commit ba9f177b at Thu Jul 16 22:52:06 2026 from https://github.com/geode-sdk/bindings // // Hidden C++ exception states: #wind=8 cocos2d::extension::AssetsManager *__fastcall cocos2d::extension::AssetsManager::AssetsManager( cocos2d::extension::AssetsManager *this, const char *a2, const char *a3, const char *a4) { __int64 v7; // rbx __int64 v8; // r8 __int64 v9; // r8 __int64 v10; // rcx char *v11; // rax _QWORD *v12; // rax __int64 v13; // rdx __int64 v14; // rcx __int64 v15; // rax cocos2d::CCScheduler *v16; // rax cocos2d::CCObject *v18; // [rsp+20h] [rbp-28h] _QWORD *v19; // [rsp+28h] [rbp-20h] *(_QWORD *)this = &cocos2d::extension::AssetsManager::`vftable'; *(_OWORD *)((char *)this + 8) = 0; *((_QWORD *)this + 3) = 0; *((_QWORD *)this + 4) = 0; v7 = -1; v8 = -1; do ++v8; while ( a4[v8] ); sub_180003AB0((char *)this + 8, a4); *(_OWORD *)((char *)this + 40) = 0; *((_QWORD *)this + 7) = 0; *((_QWORD *)this + 8) = 15; *((_BYTE *)this + 40) = 0; *(_OWORD *)((char *)this + 72) = 0; *((_QWORD *)this + 11) = 0; *((_QWORD *)this + 12) = 0; v9 = -1; do ++v9; while ( a2[v9] ); sub_180003AB0((char *)this + 72, a2); *(_OWORD *)((char *)this + 104) = 0; *((_QWORD *)this + 15) = 0; *((_QWORD *)this + 16) = 0; do ++v7; while ( a3[v7] ); sub_180003AB0((char *)this + 104, a3); *(_OWORD *)((char *)this + 136) = 0; *((_QWORD *)this + 19) = 0; *((_QWORD *)this + 20) = 15; *((_BYTE *)this + 136) = 0; *((_QWORD *)this + 21) = 0; *((_QWORD *)this + 23) = 0; *((_DWORD *)this + 48) = 0; *((_QWORD *)this + 25) = 0; v10 = *((_QWORD *)this + 3); if ( v10 ) { v11 = (char *)this + 8; if ( *((_QWORD *)this + 4) > 0xFu ) v11 = *((char **)this + 1); if ( v11[v10 - 1] != 47 ) sub_1800039A0((char *)this + 8); } v18 = (cocos2d::CCObject *)operator new(0x48u); cocos2d::CCObject::CCObject(v18); *(_QWORD *)v18 = &cocos2d::extension::AssetsManager::Helper::`vftable'; v19 = operator new(0x10u); *v19 = 0; v19[1] = 0; v12 = operator new(0x18u); *v12 = v12; v12[1] = v12; *v19 = v12; *((_QWORD *)v18 + 7) = v19; pthread_mutex_init((char *)v18 + 64, 0); v15 = cocos2d::CCDirector::sharedDirector(v14, v13); v16 = (cocos2d::CCScheduler *)(*(__int64 (__fastcall **)(__int64))(*(_QWORD *)v15 + 112LL))(v15); cocos2d::CCScheduler::scheduleUpdateForTarget(v16, v18, 0, 0); *((_QWORD *)this + 22) = v18; return this; }