// // cocos2d::extension::CCArrayForObjectSorting::objectWithObjectID from 0x180014910 to 0x180014a7c (364 bytes) // // 7 xrefs: // > cocos2d::extension::CCTableView::cellAtIndex @ 0x180015282 // > cocos2d::extension::CCTableView::updateCellAtIndex @ 0x180015326 // > cocos2d::extension::CCTableView::insertCellAtIndex @ 0x1800153dd // > cocos2d::extension::CCTableView::removeCellAtIndex @ 0x1800155ec // > cocos2d::extension::CCTableView::ccTouchBegan @ 0x1800165bf // > @ 0x18002fdf8 // > @ 0x18004a6a4 // // 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 struct cocos2d::extension::CCSortableObject *__fastcall cocos2d::extension::CCArrayForObjectSorting::objectWithObjectID( cocos2d::extension::CCArrayForObjectSorting *this, int a2) { int v2; // r14d __int64 v5; // r15 unsigned int v6; // esi unsigned int v7; // ebp unsigned int v8; // edi unsigned int *v9; // rbx __int64 v10; // rax _QWORD *v11; // rbx _QWORD *i; // r14 __int64 v13; // rax unsigned int v14; // eax struct cocos2d::CCObject *v15; // rax __int64 v16; // rbx _DWORD *v18; // [rsp+80h] [rbp+18h] v2 = a2; if ( !cocos2d::CCArray::count(this) ) return nullptr; v18 = operator new(0x48u); cocos2d::CCObject::CCObject((cocos2d::CCObject *)v18); *(_QWORD *)v18 = &cocos2d::extension::CCSortedObject::`vftable'; *((_QWORD *)v18 + 7) = &cocos2d::extension::CCSortedObject::`vftable'; v5 = 0; v18[16] = 0; cocos2d::extension::CCTableViewCell::setObjectID((cocos2d::extension::CCTableViewCell *)(v18 + 14), v2); v6 = 0; v7 = 0; v8 = (*(__int64 (__fastcall **)(_DWORD *))(*((_QWORD *)v18 + 7) + 16LL))(v18 + 14); if ( this ) { v9 = *((unsigned int **)this + 7); v10 = *v9; if ( (_DWORD)v10 ) { v11 = *((_QWORD **)v9 + 2); for ( i = &v11[v10 - 1]; v11 <= i; ++v11 ) { if ( !*v11 ) break; v13 = _RTDynamicCast( *v11, 0, &cocos2d::CCObject `RTTI Type Descriptor', &cocos2d::extension::CCSortableObject `RTTI Type Descriptor', 0); v14 = (*(__int64 (__fastcall **)(__int64))(*(_QWORD *)v13 + 16LL))(v13); if ( v8 == v14 || v8 >= v7 && v8 < v14 ) break; v7 = v14; ++v6; } v2 = a2; } } cocos2d::CCObject::release((cocos2d::CCObject *)v18); if ( v6 < cocos2d::CCArray::count(this) && v6 != -1 ) { v15 = cocos2d::CCArray::objectAtIndex(this, v6); v16 = _RTDynamicCast( v15, 0, &cocos2d::CCObject `RTTI Type Descriptor', &cocos2d::extension::CCSortableObject `RTTI Type Descriptor', 0); if ( (*(unsigned int (__fastcall **)(__int64))(*(_QWORD *)v16 + 16LL))(v16) != v2 ) return nullptr; return (struct cocos2d::extension::CCSortableObject *)v16; } return (struct cocos2d::extension::CCSortableObject *)v5; }