{"type": "func", "start": 6442526192, "end": 6442526303, "name": "cocos2d::extension::CCScrollView::registerWithTouchDispatcher", "pseudocode": "// \n// cocos2d::extension::CCScrollView::registerWithTouchDispatcher from 0x1800125f0 to 0x18001265f (111 bytes)\n// \n// 4 xrefs:\n// > <???> @ 0x180028698\n// > <???> @ 0x180028c10\n// > <???> @ 0x18002fdf8\n// > <???> @ 0x18004a35c\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::registerWithTouchDispatcher(\n        cocos2d::extension::CCScrollView *this,\n        __int64 a2)\n{\n  __int64 v3; // rdi\n  struct cocos2d::CCTouchDelegate *v4; // rsi\n  int TouchPriority; // ebp\n  cocos2d::CCTouchDispatcher *v6; // rax\n\n  v3 = cocos2d::CCDirector::sharedDirector(this, a2);\n  v4 = (cocos2d::extension::CCScrollView *)((char *)this + 320);\n  TouchPriority = cocos2d::CCLayer::getTouchPriority(this);\n  if ( !this )\n    v4 = nullptr;\n  v6 = (cocos2d::CCTouchDispatcher *)(*(__int64 (__fastcall **)(__int64))(*(_QWORD *)v3 + 144LL))(v3);\n  cocos2d::CCTouchDispatcher::addTargetedDelegate(v6, v4, TouchPriority, 0);\n}", "assembly": "; \n; cocos2d::extension::CCScrollView::registerWithTouchDispatcher from 0x1800125f0 to 0x18001265f (111 bytes)\n; \n; 4 xrefs:\n; > <???> @ 0x180028698\n; > <???> @ 0x180028c10\n; > <???> @ 0x18002fdf8\n; > <???> @ 0x18004a35c\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\nmov     [rsp+arg_0], rbx                                               ; +0x0, 0x1800125f0\nmov     [rsp+arg_8], rbp                                               ; +0x5, 0x1800125f5\nmov     [rsp+arg_10], rsi                                              ; +0xa, 0x1800125fa\npush    rdi                                                            ; +0xf, 0x1800125ff\nsub     rsp, 20h                                                       ; +0x10, 0x180012600\nmov     rbx, rcx                                                       ; +0x14, 0x180012604\ncall    cs:?sharedDirector@CCDirector@cocos2d@@SAPEAV12@XZ; cocos2d::CCDirector::sharedDirector(void) ; +0x17, 0x180012607\nmov     rcx, rbx                                                       ; +0x1d, 0x18001260d\nmov     rdi, rax                                                       ; +0x20, 0x180012610\ncall    cs:__imp_?getTouchPriority@CCLayer@cocos2d@@UEAAHXZ; cocos2d::CCLayer::getTouchPriority(void) ; +0x23, 0x180012613\nmov     r8, [rdi]                                                      ; +0x29, 0x180012619\nlea     rsi, [rbx+140h]                                                ; +0x2c, 0x18001261c\nmov     ebp, eax                                                       ; +0x33, 0x180012623\nmov     rcx, rdi                                                       ; +0x35, 0x180012625\nxor     eax, eax                                                       ; +0x38, 0x180012628\ntest    rbx, rbx                                                       ; +0x3a, 0x18001262a\ncmovz   rsi, rax                                                       ; +0x3d, 0x18001262d\ncall    qword ptr [r8+90h]                                             ; +0x41, 0x180012631\nxor     r9d, r9d                                                       ; +0x48, 0x180012638\nmov     r8d, ebp                                                       ; +0x4b, 0x18001263b\nmov     rcx, rax                                                       ; +0x4e, 0x18001263e\nmov     rdx, rsi                                                       ; +0x51, 0x180012641\nmov     rbx, [rsp+28h+arg_0]                                           ; +0x54, 0x180012644\nmov     rbp, [rsp+28h+arg_8]                                           ; +0x59, 0x180012649\nmov     rsi, [rsp+28h+arg_10]                                          ; +0x5e, 0x18001264e\nadd     rsp, 20h                                                       ; +0x63, 0x180012653\npop     rdi                                                            ; +0x67, 0x180012657\njmp     cs:?addTargetedDelegate@CCTouchDispatcher@cocos2d@@QEAAXPEAVCCTouchDelegate@2@H_N@Z; cocos2d::CCTouchDispatcher::addTargetedDelegate(cocos2d::CCTouchDelegate *,int,bool) ; +0x68, 0x180012658", "xrefs": ["<???> @ 0x180028698", "<???> @ 0x180028c10", "<???> @ 0x18002fdf8", "<???> @ 0x18004a35c"], "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"}