// // cocos2d::extension::CCTableView::updateCellAtIndex from 0x1800152a0 to 0x180015382 (226 bytes) // // 5 xrefs: // > cocos2d::extension::CCTableView::scrollViewDidScroll @ 0x180016334 // > @ 0x18002edb8 // > @ 0x18002edc8 // > @ 0x18002fdf8 // > @ 0x18004a764 // // 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::updateCellAtIndex( cocos2d::extension::CCTableView *this, unsigned int a2) { int v4; // eax __int64 *v5; // rax __int64 *v6; // rdx __int64 *v7; // rcx struct cocos2d::extension::CCSortableObject *v8; // rax struct cocos2d::extension::CCTableViewCell *v9; // rbx if ( a2 != -1 ) { v4 = (*(__int64 (__fastcall **)(_QWORD, cocos2d::extension::CCTableView *))(**((_QWORD **)this + 80) + 32LL))( *((_QWORD *)this + 80), this); if ( v4 ) { if ( a2 <= v4 - 1 ) { v5 = **((__int64 ***)this + 74); v6 = v5; v7 = (__int64 *)v5[1]; while ( !*((_BYTE *)v7 + 25) ) { if ( *((_DWORD *)v7 + 7) >= a2 ) { v6 = v7; v7 = (__int64 *)*v7; } else { v7 = (__int64 *)v7[2]; } } if ( !*((_BYTE *)v6 + 25) && a2 >= *((_DWORD *)v6 + 7) && v6 != v5 ) { v8 = cocos2d::extension::CCArrayForObjectSorting::objectWithObjectID( *((cocos2d::extension::CCArrayForObjectSorting **)this + 78), a2); if ( v8 ) { if ( v8 != (struct cocos2d::extension::CCSortableObject *)320 ) cocos2d::extension::CCTableView::_moveCellOutOfSight( this, (struct cocos2d::extension::CCSortableObject *)((char *)v8 - 320)); } } v9 = (struct cocos2d::extension::CCTableViewCell *)(*(__int64 (__fastcall **)(_QWORD, cocos2d::extension::CCTableView *, _QWORD))(**((_QWORD **)this + 80) + 24LL))( *((_QWORD *)this + 80), this, a2); cocos2d::extension::CCTableView::_setIndexForCell(this, a2, v9); cocos2d::extension::CCTableView::_addCellIfNecessary(this, v9); } } } }