// // cocos2d::extension::CCTableView::ccTouchEnded from 0x180016350 to 0x180016454 (260 bytes) // // 3 xrefs: // > @ 0x180028860 // > @ 0x18002fdf8 // > @ 0x18004a8fc // // 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::CCTableView::ccTouchEnded( cocos2d::extension::CCTableView *this, struct cocos2d::CCTouch *a2, struct cocos2d::CCEvent *a3) { __int64 v6; // rax const struct cocos2d::CCPoint *Location; // rax __int64 v8; // rcx _BYTE v9[24]; // [rsp+20h] [rbp-18h] BYREF char v10; // [rsp+40h] [rbp+8h] BYREF if ( (*(unsigned __int8 (__fastcall **)(char *))(*((_QWORD *)this - 40) + 328LL))((char *)this - 320) ) { if ( *((_QWORD *)this + 32) ) { cocos2d::CCNode::boundingBox((char *)this - 320, v9); v6 = cocos2d::CCNode::convertToWorldSpace(*((_QWORD *)this - 13), &v10, v9); cocos2d::CCPoint::operator=(v9, v6); Location = (const struct cocos2d::CCPoint *)cocos2d::CCTouch::getLocation(a2); if ( cocos2d::CCRect::containsPoint((cocos2d::CCRect *)v9, Location) ) { v8 = *((_QWORD *)this + 41); if ( v8 ) { (*(void (__fastcall **)(__int64, char *, _QWORD))(*(_QWORD *)v8 + 40LL))( v8, (char *)this - 320, *((_QWORD *)this + 32)); (*(void (__fastcall **)(_QWORD, char *, _QWORD))(**((_QWORD **)this + 41) + 24LL))( *((_QWORD *)this + 41), (char *)this - 320, *((_QWORD *)this + 32)); } } *((_QWORD *)this + 32) = 0; } cocos2d::extension::CCScrollView::ccTouchEnded((cocos2d::CCArray **)this, a2, a3); } }