{"type": "func", "start": 6442529536, "end": 6442529585, "name": "cocos2d::extension::CCScrollView::performedAnimatedScroll", "pseudocode": "// \n// cocos2d::extension::CCScrollView::performedAnimatedScroll from 0x180013300 to 0x180013331 (49 bytes)\n// \n// 5 xrefs:\n// > cocos2d::extension::CCScrollView::setContentOffset @ 0x1800128f3\n// > cocos2d::extension::CCScrollView::setContentOffsetInDuration @ 0x1800129e8\n// > cocos2d::extension::CCScrollView::stoppedAnimatedScroll @ 0x1800132c6\n// > cocos2d::extension::CCScrollView::performedAnimatedScroll @ 0x180013309\n// > <???> @ 0x18002fdf8\n// \n// This function is hookable on this platform!\n// \n// Using BromaIDA 8.0.0 @ https://github.com/Stazzical/BromaIDA\n// Using bindings at commit ba9f177b at Thu Jul 16 22:52:06 2026 from https://github.com/geode-sdk/bindings\n// \n\nvoid __fastcall cocos2d::extension::CCScrollView::performedAnimatedScroll(\n        cocos2d::extension::CCScrollView *this,\n        float a2)\n{\n  __int64 v2; // r8\n\n  if ( *((_BYTE *)this + 436) )\n  {\n    cocos2d::CCNode::unschedule(this, cocos2d::extension::CCScrollView::performedAnimatedScroll);\n  }\n  else\n  {\n    v2 = *((_QWORD *)this + 53);\n    if ( v2 )\n      (*(void (__fastcall **)(_QWORD, cocos2d::extension::CCScrollView *))(*(_QWORD *)v2 + 8LL))(\n        *((_QWORD *)this + 53),\n        this);\n  }\n}", "assembly": "; \n; cocos2d::extension::CCScrollView::performedAnimatedScroll from 0x180013300 to 0x180013331 (49 bytes)\n; \n; 5 xrefs:\n; > cocos2d::extension::CCScrollView::setContentOffset @ 0x1800128f3\n; > cocos2d::extension::CCScrollView::setContentOffsetInDuration @ 0x1800129e8\n; > cocos2d::extension::CCScrollView::stoppedAnimatedScroll @ 0x1800132c6\n; > cocos2d::extension::CCScrollView::performedAnimatedScroll @ 0x180013309\n; > <???> @ 0x18002fdf8\n; \n; This function is hookable on this platform!\n; \n; Using BromaIDA 8.0.0 @ https:;github.com/Stazzical/BromaIDA\n; Using bindings at commit ba9f177b at Thu Jul 16 22:52:06 2026 from https:;github.com/geode-sdk/bindings\n; \n\ncmp     byte ptr [rcx+1B4h], 0                                         ; +0x0, 0x180013300\njz      short loc_180013317                                            ; +0x7, 0x180013307\nlea     rdx, ?performedAnimatedScroll@CCScrollView@extension@cocos2d@@AEAAXM@Z; cocos2d::extension::CCScrollView::performedAnimatedScroll(float) ; +0x9, 0x180013309\njmp     cs:?unschedule@CCNode@cocos2d@@QEAAXP8CCObject@2@EAAXM@Z@Z; cocos2d::CCNode::unschedule(void (cocos2d::CCObject::*)(float)) ; +0x10, 0x180013310\nmov     r8, [rcx+1A8h]                                                 ; +0x17, 0x180013317\ntest    r8, r8                                                         ; +0x1e, 0x18001331e\njz      short locret_180013330                                         ; +0x21, 0x180013321\nmov     rax, [r8]                                                      ; +0x23, 0x180013323\nmov     rdx, rcx                                                       ; +0x26, 0x180013326\nmov     rcx, r8                                                        ; +0x29, 0x180013329\njmp     qword ptr [rax+8]                                              ; +0x2c, 0x18001332c\nretn                                                                   ; +0x30, 0x180013330", "xrefs": ["cocos2d::extension::CCScrollView::setContentOffset @ 0x1800128f3", "cocos2d::extension::CCScrollView::setContentOffsetInDuration @ 0x1800129e8", "cocos2d::extension::CCScrollView::stoppedAnimatedScroll @ 0x1800132c6", "cocos2d::extension::CCScrollView::performedAnimatedScroll @ 0x180013309", "<???> @ 0x18002fdf8"], "is_objc": false, "is_arm32": false, "is_arm64": false, "bida_info": "8.0.0 @ https://github.com/Stazzical/BromaIDA", "bindings_info": "commit ba9f177b at Thu Jul 16 22:52:06 2026 from https://github.com/geode-sdk/bindings"}