// // cocos2d::extension::CCTableView::insertCellAtIndex from 0x180015390 to 0x180015556 (454 bytes) // // 4 xrefs: // > @ 0x18002edec // > @ 0x18002ee2c // > @ 0x18002fdf8 // > @ 0x18004a788 // // 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::insertCellAtIndex( cocos2d::extension::CCTableView *this, unsigned int a2) { int v4; // eax struct cocos2d::extension::CCSortableObject *v5; // rax char *v6; // rcx unsigned int v7; // ebx __int64 v8; // rsi char *v9; // rcx unsigned int v10; // r14d unsigned int v11; // ebp unsigned int *v12; // rsi __int64 v13; // rax _QWORD *v14; // rsi _QWORD *i; // r15 __int64 v16; // rax unsigned int v17; // eax struct cocos2d::CCObject *v18; // rax struct cocos2d::extension::CCTableViewCell *v19; // 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 = cocos2d::extension::CCArrayForObjectSorting::objectWithObjectID( *((cocos2d::extension::CCArrayForObjectSorting **)this + 78), a2); v6 = (char *)v5 - 320; if ( !v5 ) v6 = nullptr; if ( v6 ) { v7 = 0; v8 = *((_QWORD *)this + 78); v9 = v6 + 320; if ( v9 ) { v10 = 0; v11 = (*(__int64 (__fastcall **)(char *))(*(_QWORD *)v9 + 16LL))(v9); if ( v8 ) { v12 = *(unsigned int **)(v8 + 56); v13 = *v12; if ( (_DWORD)v13 ) { v14 = *((_QWORD **)v12 + 2); for ( i = &v14[v13 - 1]; v14 <= i; v10 = v17 ) { if ( !*v14 ) break; v16 = _RTDynamicCast( *v14, 0, &cocos2d::CCObject `RTTI Type Descriptor', &cocos2d::extension::CCSortableObject `RTTI Type Descriptor', 0); v17 = (*(__int64 (__fastcall **)(__int64))(*(_QWORD *)v16 + 16LL))(v16); if ( v11 == v17 || v11 >= v10 && v11 < v17 ) break; ++v7; ++v14; } } } } else { v7 = -1; } for ( ; v7 < cocos2d::CCArray::count(*((cocos2d::CCArray **)this + 78)); ++v7 ) { v18 = cocos2d::CCArray::objectAtIndex(*((cocos2d::CCArray **)this + 78), v7); cocos2d::extension::CCTableView::_setIndexForCell(this, *((_DWORD *)v18 + 82) + 1, v18); } } v19 = (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, v19); cocos2d::extension::CCTableView::_addCellIfNecessary(this, v19); cocos2d::extension::CCTableView::_updateCellPositions(this); cocos2d::extension::CCTableView::_updateContentSize(this); } } } }