// // cocos2d::extension::WebSocket::close from 0x18001a4d0 to 0x18001a546 (118 bytes) // // 3 xrefs: // > cocos2d::extension::WebSocket::~WebSocket @ 0x180019951 // > @ 0x18002fdf8 // > @ 0x18004ace0 // // 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 // void __fastcall cocos2d::extension::WebSocket::close(struct cocos2d::CCObject **this, __int64 a2) { __int64 v3; // rax cocos2d::CCScheduler *v4; // rax __int64 v5; // rax __int128 v6; // [rsp+20h] [rbp-18h] BYREF __int64 v7; // [rsp+40h] [rbp+8h] BYREF v3 = cocos2d::CCDirector::sharedDirector(this, a2); v4 = (cocos2d::CCScheduler *)(*(__int64 (__fastcall **)(__int64))(*(_QWORD *)v3 + 112LL))(v3); cocos2d::CCScheduler::unscheduleAllForTarget(v4, *(this + 11)); if ( (unsigned int)(*((_DWORD *)this + 2) - 2) > 1 ) { v5 = (__int64)*(this + 11); *((_DWORD *)this + 2) = 3; v7 = 0; v6 = *(_OWORD *)(v5 + 88); pthread_join(&v6, &v7); (*(void (__fastcall **)(_QWORD, struct cocos2d::CCObject **))(*(_QWORD *)*(this + 14) + 24LL))(*(this + 14), this); } }