{"type": "func", "start": 6442541904, "end": 6442542164, "name": "cocos2d::extension::CCTableView::ccTouchEnded", "pseudocode": "// \n// cocos2d::extension::CCTableView::ccTouchEnded from 0x180016350 to 0x180016454 (260 bytes)\n// \n// 3 xrefs:\n// > <???> @ 0x180028860\n// > <???> @ 0x18002fdf8\n// > <???> @ 0x18004a8fc\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::CCTableView::ccTouchEnded(\n        cocos2d::extension::CCTableView *this,\n        struct cocos2d::CCTouch *a2,\n        struct cocos2d::CCEvent *a3)\n{\n  __int64 v6; // rax\n  const struct cocos2d::CCPoint *Location; // rax\n  __int64 v8; // rcx\n  _BYTE v9[24]; // [rsp+20h] [rbp-18h] BYREF\n  char v10; // [rsp+40h] [rbp+8h] BYREF\n\n  if ( (*(unsigned __int8 (__fastcall **)(char *))(*((_QWORD *)this - 40) + 328LL))((char *)this - 320) )\n  {\n    if ( *((_QWORD *)this + 32) )\n    {\n      cocos2d::CCNode::boundingBox((char *)this - 320, v9);\n      v6 = cocos2d::CCNode::convertToWorldSpace(*((_QWORD *)this - 13), &v10, v9);\n      cocos2d::CCPoint::operator=(v9, v6);\n      Location = (const struct cocos2d::CCPoint *)cocos2d::CCTouch::getLocation(a2);\n      if ( cocos2d::CCRect::containsPoint((cocos2d::CCRect *)v9, Location) )\n      {\n        v8 = *((_QWORD *)this + 41);\n        if ( v8 )\n        {\n          (*(void (__fastcall **)(__int64, char *, _QWORD))(*(_QWORD *)v8 + 40LL))(\n            v8,\n            (char *)this - 320,\n            *((_QWORD *)this + 32));\n          (*(void (__fastcall **)(_QWORD, char *, _QWORD))(**((_QWORD **)this + 41) + 24LL))(\n            *((_QWORD *)this + 41),\n            (char *)this - 320,\n            *((_QWORD *)this + 32));\n        }\n      }\n      *((_QWORD *)this + 32) = 0;\n    }\n    cocos2d::extension::CCScrollView::ccTouchEnded((cocos2d::CCArray **)this, a2, a3);\n  }\n}", "assembly": "; \n; cocos2d::extension::CCTableView::ccTouchEnded from 0x180016350 to 0x180016454 (260 bytes)\n; \n; 3 xrefs:\n; > <???> @ 0x180028860\n; > <???> @ 0x18002fdf8\n; > <???> @ 0x18004a8fc\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_8], rbx                                               ; +0x0, 0x180016350\nmov     [rsp+arg_10], rbp                                              ; +0x5, 0x180016355\nmov     [rsp+arg_18], rsi                                              ; +0xa, 0x18001635a\npush    rdi                                                            ; +0xf, 0x18001635f\nsub     rsp, 30h                                                       ; +0x10, 0x180016360\nmov     rax, [rcx-140h]                                                ; +0x14, 0x180016364\nmov     rbx, rcx                                                       ; +0x1b, 0x18001636b\nadd     rcx, 0FFFFFFFFFFFFFEC0h                                        ; +0x1e, 0x18001636e\nmov     rbp, r8                                                        ; +0x25, 0x180016375\nmov     rsi, rdx                                                       ; +0x28, 0x180016378\ncall    qword ptr [rax+148h]                                           ; +0x2b, 0x18001637b\ntest    al, al                                                         ; +0x31, 0x180016381\njz      loc_18001643F                                                  ; +0x33, 0x180016383\ncmp     qword ptr [rbx+100h], 0                                        ; +0x39, 0x180016389\njz      loc_180016431                                                  ; +0x41, 0x180016391\nlea     rdx, [rsp+38h+var_18]                                          ; +0x47, 0x180016397\nlea     rcx, [rbx-140h]                                                ; +0x4c, 0x18001639c\ncall    cs:?boundingBox@CCNode@cocos2d@@QEAA?AVCCRect@2@XZ; cocos2d::CCNode::boundingBox(void) ; +0x53, 0x1800163a3\nmov     rcx, [rbx-68h]                                                 ; +0x59, 0x1800163a9\nlea     r8, [rsp+38h+var_18]                                           ; +0x5d, 0x1800163ad\nlea     rdx, [rsp+38h+arg_0]                                           ; +0x62, 0x1800163b2\ncall    cs:?convertToWorldSpace@CCNode@cocos2d@@QEAA?AVCCPoint@2@AEBV32@@Z; cocos2d::CCNode::convertToWorldSpace(cocos2d::CCPoint const &) ; +0x67, 0x1800163b7\nmov     rdx, rax                                                       ; +0x6d, 0x1800163bd\nlea     rcx, [rsp+38h+var_18]                                          ; +0x70, 0x1800163c0\ncall    cs:??4CCPoint@cocos2d@@QEAAAEAV01@AEBV01@@Z; cocos2d::CCPoint::operator=(cocos2d::CCPoint const &) ; +0x75, 0x1800163c5\nlea     rdx, [rsp+38h+arg_0]                                           ; +0x7b, 0x1800163cb\nmov     rcx, rsi                                                       ; +0x80, 0x1800163d0\ncall    cs:?getLocation@CCTouch@cocos2d@@QEBA?AVCCPoint@2@XZ; cocos2d::CCTouch::getLocation(void) ; +0x83, 0x1800163d3\nmov     rdx, rax                                                       ; +0x89, 0x1800163d9\nlea     rcx, [rsp+38h+var_18]                                          ; +0x8c, 0x1800163dc\ncall    cs:?containsPoint@CCRect@cocos2d@@QEBA_NAEBVCCPoint@2@@Z; cocos2d::CCRect::containsPoint(cocos2d::CCPoint const &) ; +0x91, 0x1800163e1\ntest    al, al                                                         ; +0x97, 0x1800163e7\njz      short loc_180016426                                            ; +0x99, 0x1800163e9\nmov     rcx, [rbx+148h]                                                ; +0x9b, 0x1800163eb\ntest    rcx, rcx                                                       ; +0xa2, 0x1800163f2\njz      short loc_180016426                                            ; +0xa5, 0x1800163f5\nmov     rax, [rcx]                                                     ; +0xa7, 0x1800163f7\nlea     rdx, [rbx-140h]                                                ; +0xaa, 0x1800163fa\nmov     r8, [rbx+100h]                                                 ; +0xb1, 0x180016401\ncall    qword ptr [rax+28h]                                            ; +0xb8, 0x180016408\nmov     rcx, [rbx+148h]                                                ; +0xbb, 0x18001640b\nlea     rdx, [rbx-140h]                                                ; +0xc2, 0x180016412\nmov     r8, [rbx+100h]                                                 ; +0xc9, 0x180016419\nmov     rax, [rcx]                                                     ; +0xd0, 0x180016420\ncall    qword ptr [rax+18h]                                            ; +0xd3, 0x180016423\nmov     qword ptr [rbx+100h], 0                                        ; +0xd6, 0x180016426\nmov     r8, rbp; struct cocos2d::CCEvent *                             ; +0xe1, 0x180016431\nmov     rdx, rsi; struct cocos2d::CCTouch *                            ; +0xe4, 0x180016434\nmov     rcx, rbx; this                                                 ; +0xe7, 0x180016437\ncall    ?ccTouchEnded@CCScrollView@extension@cocos2d@@UEAAXPEAVCCTouch@3@PEAVCCEvent@3@@Z; cocos2d::extension::CCScrollView::ccTouchEnded(cocos2d::CCTouch *,cocos2d::CCEvent *) ; +0xea, 0x18001643a\nmov     rbx, [rsp+38h+arg_8]                                           ; +0xef, 0x18001643f\nmov     rbp, [rsp+38h+arg_10]                                          ; +0xf4, 0x180016444\nmov     rsi, [rsp+38h+arg_18]                                          ; +0xf9, 0x180016449\nadd     rsp, 30h                                                       ; +0xfe, 0x18001644e\npop     rdi                                                            ; +0x102, 0x180016452\nretn                                                                   ; +0x103, 0x180016453", "xrefs": ["<???> @ 0x180028860", "<???> @ 0x18002fdf8", "<???> @ 0x18004a8fc"], "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"}