// // sub_180002B70 from 0x180002b70 to 0x180002c0c (156 bytes) // // 10 xrefs: // > cocos2d::extension::AssetsManager::checkUpdate @ 0x180001a2f // > cocos2d::extension::AssetsManager::checkUpdate @ 0x180001af9 // > sub_180001B60 @ 0x180001bdf // > sub_180001B60 @ 0x180001c34 // > sub_180001B60 @ 0x180001c5a // > sub_180002480 @ 0x1800024f2 // > cocos2d::extension::AssetsManager::downLoad @ 0x180002697 // > cocos2d::extension::AssetsManager::downLoad @ 0x180002792 // > cocos2d::extension::AssetsManager::sendErrorMessage @ 0x180002a98 // > @ 0x18004918c // // 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=1 __int64 __fastcall sub_180002B70(__int64 a1, __int64 a2) { __int64 v4; // rsi __int64 *v5; // rbx __int64 v6; // rdi _QWORD *v7; // rax _QWORD *v8; // rdx v4 = a1 + 64; pthread_mutex_lock(a1 + 64); v5 = *(__int64 **)(a1 + 56); v6 = *v5; if ( v5[1] == 0xAAAAAAAAAAAAAAALL ) std::_Xlength_error("list too long"); v7 = operator new(0x18u); v7[2] = a2; ++v5[1]; v8 = *(_QWORD **)(v6 + 8); *v7 = v6; v7[1] = v8; *(_QWORD *)(v6 + 8) = v7; *v8 = v7; return pthread_mutex_unlock(v4); }