{"type": "func", "start": 6442531808, "end": 6442532707, "name": "cocos2d::extension::CCScrollView::ccTouchMoved", "pseudocode": "// \n// cocos2d::extension::CCScrollView::ccTouchMoved from 0x180013be0 to 0x180013f63 (899 bytes)\n// \n// 7 xrefs:\n// > cocos2d::extension::CCTableView::ccTouchMoved @ 0x180016649\n// > <???> @ 0x1800282e0\n// > <???> @ 0x18002eae0\n// > <???> @ 0x18002eb14\n// > <???> @ 0x18002eb28\n// > <???> @ 0x18002fdf8\n// > <???> @ 0x18004a584\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::ccTouchMoved(\n        cocos2d::CCArray **this,\n        struct cocos2d::CCTouch *a2,\n        struct cocos2d::CCEvent *a3)\n{\n  cocos2d::extension::CCScrollView *v3; // rsi\n  __int64 ViewRect; // rax\n  struct cocos2d::CCObject *v7; // rax\n  __int64 v8; // rax\n  int v9; // eax\n  float v10; // xmm7_4\n  float v11; // xmm1_4\n  cocos2d::CCEGLViewProtocol *v12; // rax\n  float ScaleY; // xmm0_4\n  cocos2d::CCEGLViewProtocol *v14; // rax\n  float v15; // xmm6_4\n  const struct cocos2d::CCPoint *v16; // rax\n  int v17; // ecx\n  float v18; // xmm2_4\n  float v19; // xmm1_4\n  __int64 v20; // rax\n  float *v21; // rax\n  float v22; // xmm7_4\n  __int64 v23; // rax\n  float v24; // xmm6_4\n  float *v25; // rax\n  struct cocos2d::CCObject *v26; // rax\n  const struct cocos2d::CCPoint *v27; // rbx\n  struct cocos2d::CCObject *v28; // rax\n  cocos2d *v29; // rax\n  const struct cocos2d::CCPoint *v30; // r8\n  float v31; // xmm6_4\n  float v32; // xmm0_4\n  _BYTE v33[16]; // [rsp+20h] [rbp-50h] BYREF\n  _BYTE v34[8]; // [rsp+30h] [rbp-40h] BYREF\n  _BYTE v35[8]; // [rsp+38h] [rbp-38h] BYREF\n  _BYTE v36[16]; // [rsp+40h] [rbp-30h] BYREF\n  float v37; // [rsp+90h] [rbp+20h] BYREF\n  float v38; // [rsp+94h] [rbp+24h]\n  char v39; // [rsp+A8h] [rbp+38h] BYREF\n\n  v3 = (cocos2d::extension::CCScrollView *)(this - 40);\n  if ( (*((unsigned __int8 (__fastcall **)(char *, struct cocos2d::CCTouch *, struct cocos2d::CCEvent *))*(this - 40)\n        + 41))(\n         (char *)this - 320,\n         a2,\n         a3)\n    && cocos2d::CCArray::containsObject(*(this + 23), a2) )\n  {\n    if ( cocos2d::CCArray::count(*(this + 23)) == 1 && *((_BYTE *)this + 116) )\n    {\n      cocos2d::CCPoint::CCPoint((cocos2d::CCPoint *)&v37);\n      cocos2d::CCPoint::CCPoint((cocos2d::CCPoint *)&v39);\n      cocos2d::CCPoint::CCPoint((cocos2d::CCPoint *)v34);\n      cocos2d::CCPoint::CCPoint((cocos2d::CCPoint *)v35);\n      cocos2d::CCRect::CCRect((cocos2d::CCRect *)v36);\n      ViewRect = cocos2d::extension::CCScrollView::getViewRect(v3, v33);\n      cocos2d::CCRect::operator=(v36, ViewRect);\n      v7 = cocos2d::CCArray::objectAtIndex(*(this + 23), 0);\n      v8 = cocos2d::CCNode::convertTouchToNodeSpace(v3, v33, v7);\n      cocos2d::CCPoint::operator=(&v39, v8);\n      cocos2d::CCPoint::operator-(&v39, v33, this + 21);\n      cocos2d::CCPoint::operator=(&v37, v33);\n      v9 = *((_DWORD *)this + 28);\n      if ( v9 == 1 )\n      {\n        v10 = v38;\n      }\n      else if ( v9 )\n      {\n        v11 = (float)(v37 * v37) + (float)(v38 * v38);\n        if ( v11 < 0.0 )\n          v10 = sqrtf(v11);\n        else\n          v10 = fsqrt(v11);\n      }\n      else\n      {\n        v10 = v37;\n      }\n      if ( !*((_BYTE *)this + 136) )\n      {\n        v12 = (cocos2d::CCEGLViewProtocol *)cocos2d::CCEGLView::sharedOpenGLView();\n        ScaleY = cocos2d::CCEGLViewProtocol::getScaleY(v12);\n        v14 = (cocos2d::CCEGLViewProtocol *)cocos2d::CCEGLView::sharedOpenGLView();\n        v15 = (float)((float)(ScaleY + cocos2d::CCEGLViewProtocol::getScaleX(v14)) * 0.5) * v10;\n        if ( fabs(v15 / (float)(int)cocos2d::CCDevice::getDPI()) < 0.043749999 )\n          return;\n        if ( !*((_BYTE *)this + 136) )\n          cocos2d::CCPoint::operator=(&v37, &unk_180048620);\n      }\n      cocos2d::CCPoint::operator=(this + 21, &v39);\n      *((_BYTE *)this + 136) = 1;\n      v16 = (const struct cocos2d::CCPoint *)cocos2d::CCNode::convertToWorldSpace(v3, v33, &v39);\n      if ( cocos2d::CCRect::containsPoint((cocos2d::CCRect *)v36, v16) )\n      {\n        v17 = *((_DWORD *)this + 28);\n        if ( v17 )\n        {\n          if ( v17 != 1 )\n          {\nLABEL_22:\n            cocos2d::CCPoint::operator=(v34, (char *)this + 140);\n            cocos2d::CCPoint::operator=(v35, (char *)this + 148);\n            v21 = (float *)(*(__int64 (__fastcall **)(_QWORD))(*(_QWORD *)*(this + 16) + 200LL))(*(this + 16));\n            v22 = v37 + *v21;\n            v23 = (*(__int64 (__fastcall **)(_QWORD))(*(_QWORD *)*(this + 16) + 200LL))(*(this + 16));\n            v24 = v38 + *(float *)(v23 + 4);\n            cocos2d::CCPoint::operator=(this + 20, &v37);\n            cocos2d::CCPoint::CCPoint((cocos2d::CCPoint *)v33, v22, v24);\n            cocos2d::extension::CCScrollView::setContentOffset((__int64)v3, v25, 0);\n            return;\n          }\n          v18 = v38;\n          v19 = 0.0;\n        }\n        else\n        {\n          v19 = v37;\n          v18 = 0.0;\n        }\n        cocos2d::CCPoint::CCPoint((cocos2d::CCPoint *)v33, v19, v18);\n        cocos2d::CCPoint::operator=(&v37, v20);\n        goto LABEL_22;\n      }\n    }\n    else if ( cocos2d::CCArray::count(*(this + 23)) == 2 && !*((_BYTE *)this + 116) )\n    {\n      v26 = cocos2d::CCArray::objectAtIndex(*(this + 23), 1u);\n      v27 = (const struct cocos2d::CCPoint *)cocos2d::CCNode::convertTouchToNodeSpace(*(this + 16), &v37, v26);\n      v28 = cocos2d::CCArray::objectAtIndex(*(this + 23), 0);\n      v29 = (cocos2d *)cocos2d::CCNode::convertTouchToNodeSpace(*(this + 16), &v39, v28);\n      v31 = cocos2d::ccpDistance(v29, v27, v30);\n      v32 = (*(float (__fastcall **)(_QWORD))(*(_QWORD *)*(this + 16) + 168LL))(*(this + 16));\n      cocos2d::extension::CCScrollView::setZoomScale(v3, (float)(v32 * v31) / *((float *)this + 44));\n    }\n  }\n}", "assembly": "; \n; cocos2d::extension::CCScrollView::ccTouchMoved from 0x180013be0 to 0x180013f63 (899 bytes)\n; \n; 7 xrefs:\n; > cocos2d::extension::CCTableView::ccTouchMoved @ 0x180016649\n; > <???> @ 0x1800282e0\n; > <???> @ 0x18002eae0\n; > <???> @ 0x18002eb14\n; > <???> @ 0x18002eb28\n; > <???> @ 0x18002fdf8\n; > <???> @ 0x18004a584\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-18h+arg_8], rbx                                           ; +0x0, 0x180013be0\npush    rbp                                                            ; +0x5, 0x180013be5\npush    rsi                                                            ; +0x6, 0x180013be6\npush    rdi                                                            ; +0x7, 0x180013be7\nmov     rbp, rsp                                                       ; +0x8, 0x180013be8\nsub     rsp, 70h                                                       ; +0xb, 0x180013beb\nlea     rsi, [rcx-140h]                                                ; +0xf, 0x180013bef\nmov     rdi, rcx                                                       ; +0x16, 0x180013bf6\nmov     rax, [rsi]                                                     ; +0x19, 0x180013bf9\nmov     rcx, rsi                                                       ; +0x1c, 0x180013bfc\nmov     rbx, rdx                                                       ; +0x1f, 0x180013bff\ncall    qword ptr [rax+148h]                                           ; +0x22, 0x180013c02\ntest    al, al                                                         ; +0x28, 0x180013c08\njz      loc_180013EB6                                                  ; +0x2a, 0x180013c0a\nmov     rcx, [rdi+0B8h]                                                ; +0x30, 0x180013c10\nmov     rdx, rbx                                                       ; +0x37, 0x180013c17\ncall    cs:?containsObject@CCArray@cocos2d@@QEBA_NPEAVCCObject@2@@Z; cocos2d::CCArray::containsObject(cocos2d::CCObject *) ; +0x3a, 0x180013c1a\ntest    al, al                                                         ; +0x40, 0x180013c20\njz      loc_180013EB6                                                  ; +0x42, 0x180013c22\nmov     rcx, [rdi+0B8h]                                                ; +0x48, 0x180013c28\nmovaps  [rsp+70h+var_10], xmm6                                         ; +0x4f, 0x180013c2f\ncall    cs:?count@CCArray@cocos2d@@QEBAIXZ; cocos2d::CCArray::count(void) ; +0x54, 0x180013c34\ncmp     eax, 1                                                         ; +0x5a, 0x180013c3a\njnz     loc_180013EC6                                                  ; +0x5d, 0x180013c3d\ncmp     byte ptr [rdi+74h], 0                                          ; +0x63, 0x180013c43\njz      loc_180013EC6                                                  ; +0x67, 0x180013c47\nlea     rcx, [rbp+arg_0]                                               ; +0x6d, 0x180013c4d\nmovaps  [rsp+70h+var_20], xmm7                                         ; +0x71, 0x180013c51\ncall    cs:??0CCPoint@cocos2d@@QEAA@XZ; cocos2d::CCPoint::CCPoint(void) ; +0x76, 0x180013c56\nlea     rcx, [rbp+arg_18]                                              ; +0x7c, 0x180013c5c\ncall    cs:??0CCPoint@cocos2d@@QEAA@XZ; cocos2d::CCPoint::CCPoint(void) ; +0x80, 0x180013c60\nlea     rcx, [rbp+var_40]                                              ; +0x86, 0x180013c66\ncall    cs:??0CCPoint@cocos2d@@QEAA@XZ; cocos2d::CCPoint::CCPoint(void) ; +0x8a, 0x180013c6a\nlea     rcx, [rbp+var_38]                                              ; +0x90, 0x180013c70\ncall    cs:??0CCPoint@cocos2d@@QEAA@XZ; cocos2d::CCPoint::CCPoint(void) ; +0x94, 0x180013c74\nlea     rcx, [rbp+var_30]                                              ; +0x9a, 0x180013c7a\ncall    cs:??0CCRect@cocos2d@@QEAA@XZ; cocos2d::CCRect::CCRect(void)   ; +0x9e, 0x180013c7e\nlea     rdx, [rbp+var_50]                                              ; +0xa4, 0x180013c84\nmov     rcx, rsi                                                       ; +0xa8, 0x180013c88\ncall    ?getViewRect@CCScrollView@extension@cocos2d@@IEAA?AVCCRect@3@XZ; cocos2d::extension::CCScrollView::getViewRect(void) ; +0xab, 0x180013c8b\nmov     rdx, rax                                                       ; +0xb0, 0x180013c90\nlea     rcx, [rbp+var_30]                                              ; +0xb3, 0x180013c93\ncall    cs:??4CCRect@cocos2d@@QEAAAEAV01@AEBV01@@Z; cocos2d::CCRect::operator=(cocos2d::CCRect const &) ; +0xb7, 0x180013c97\nmov     rcx, [rdi+0B8h]                                                ; +0xbd, 0x180013c9d\nxor     edx, edx                                                       ; +0xc4, 0x180013ca4\ncall    cs:?objectAtIndex@CCArray@cocos2d@@QEAAPEAVCCObject@2@I@Z; cocos2d::CCArray::objectAtIndex(uint) ; +0xc6, 0x180013ca6\nlea     rdx, [rbp+var_50]                                              ; +0xcc, 0x180013cac\nmov     rcx, rsi                                                       ; +0xd0, 0x180013cb0\nmov     r8, rax                                                        ; +0xd3, 0x180013cb3\ncall    cs:?convertTouchToNodeSpace@CCNode@cocos2d@@QEAA?AVCCPoint@2@PEAVCCTouch@2@@Z; cocos2d::CCNode::convertTouchToNodeSpace(cocos2d::CCTouch *) ; +0xd6, 0x180013cb6\nmov     rdx, rax                                                       ; +0xdc, 0x180013cbc\nlea     rcx, [rbp+arg_18]                                              ; +0xdf, 0x180013cbf\ncall    cs:??4CCPoint@cocos2d@@QEAAAEAV01@AEBV01@@Z; cocos2d::CCPoint::operator=(cocos2d::CCPoint const &) ; +0xe3, 0x180013cc3\nlea     r8, [rdi+0A8h]                                                 ; +0xe9, 0x180013cc9\nlea     rdx, [rbp+var_50]                                              ; +0xf0, 0x180013cd0\nlea     rcx, [rbp+arg_18]                                              ; +0xf4, 0x180013cd4\ncall    cs:??GCCPoint@cocos2d@@QEBA?AV01@AEBV01@@Z; cocos2d::CCPoint::operator-(cocos2d::CCPoint const &) ; +0xf8, 0x180013cd8\nlea     rdx, [rbp+var_50]                                              ; +0xfe, 0x180013cde\nlea     rcx, [rbp+arg_0]                                               ; +0x102, 0x180013ce2\ncall    cs:??4CCPoint@cocos2d@@QEAAAEAV01@AEBV01@@Z; cocos2d::CCPoint::operator=(cocos2d::CCPoint const &) ; +0x106, 0x180013ce6\nmov     eax, [rdi+70h]                                                 ; +0x10c, 0x180013cec\ncmp     eax, 1                                                         ; +0x10f, 0x180013cef\njnz     short loc_180013CFB                                            ; +0x112, 0x180013cf2\nmovss   xmm7, [rbp+arg_4]                                              ; +0x114, 0x180013cf4\njmp     short loc_180013D38                                            ; +0x119, 0x180013cf9\ntest    eax, eax                                                       ; +0x11b, 0x180013cfb\njnz     short loc_180013D06                                            ; +0x11d, 0x180013cfd\nmovss   xmm7, [rbp+arg_0]                                              ; +0x11f, 0x180013cff\njmp     short loc_180013D38                                            ; +0x124, 0x180013d04\nmovss   xmm0, [rbp+arg_4]                                              ; +0x126, 0x180013d06\nmovss   xmm1, [rbp+arg_0]                                              ; +0x12b, 0x180013d0b\nmulss   xmm0, xmm0                                                     ; +0x130, 0x180013d10\nmulss   xmm1, xmm1                                                     ; +0x134, 0x180013d14\naddss   xmm1, xmm0                                                     ; +0x138, 0x180013d18\nxorps   xmm0, xmm0                                                     ; +0x13c, 0x180013d1c\nucomiss xmm0, xmm1                                                     ; +0x13f, 0x180013d1f\nja      short loc_180013D2D                                            ; +0x142, 0x180013d22\nxorps   xmm7, xmm7                                                     ; +0x144, 0x180013d24\nsqrtss  xmm7, xmm1                                                     ; +0x147, 0x180013d27\njmp     short loc_180013D38                                            ; +0x14b, 0x180013d2b\nmovaps  xmm0, xmm1; X                                                  ; +0x14d, 0x180013d2d\ncall    sqrtf                                                          ; +0x150, 0x180013d30\nmovaps  xmm7, xmm0                                                     ; +0x155, 0x180013d35\ncmp     byte ptr [rdi+88h], 0                                          ; +0x158, 0x180013d38\njnz     short loc_180013DB5                                            ; +0x15f, 0x180013d3f\ncall    cs:?sharedOpenGLView@CCEGLView@cocos2d@@SAPEAV12@XZ; cocos2d::CCEGLView::sharedOpenGLView(void) ; +0x161, 0x180013d41\nmov     rcx, rax                                                       ; +0x167, 0x180013d47\ncall    cs:?getScaleY@CCEGLViewProtocol@cocos2d@@QEBAMXZ; cocos2d::CCEGLViewProtocol::getScaleY(void) ; +0x16a, 0x180013d4a\nmovaps  xmm6, xmm0                                                     ; +0x170, 0x180013d50\ncall    cs:?sharedOpenGLView@CCEGLView@cocos2d@@SAPEAV12@XZ; cocos2d::CCEGLView::sharedOpenGLView(void) ; +0x173, 0x180013d53\nmov     rcx, rax                                                       ; +0x179, 0x180013d59\ncall    cs:?getScaleX@CCEGLViewProtocol@cocos2d@@QEBAMXZ; cocos2d::CCEGLViewProtocol::getScaleX(void) ; +0x17c, 0x180013d5c\naddss   xmm6, xmm0                                                     ; +0x182, 0x180013d62\nmulss   xmm6, cs:dword_180029510                                       ; +0x186, 0x180013d66\nmulss   xmm6, xmm7                                                     ; +0x18e, 0x180013d6e\ncall    cs:?getDPI@CCDevice@cocos2d@@SAHXZ; cocos2d::CCDevice::getDPI(void) ; +0x192, 0x180013d72\nmovss   xmm0, cs:dword_1800294FC                                       ; +0x198, 0x180013d78\nxorps   xmm1, xmm1                                                     ; +0x1a0, 0x180013d80\ncvtsi2ss xmm1, eax                                                     ; +0x1a3, 0x180013d83\ndivss   xmm6, xmm1                                                     ; +0x1a7, 0x180013d87\nandps   xmm6, cs:xmmword_180029600                                     ; +0x1ab, 0x180013d8b\ncomiss  xmm0, xmm6                                                     ; +0x1b2, 0x180013d92\nja      loc_180013EAC                                                  ; +0x1b5, 0x180013d95\ncmp     byte ptr [rdi+88h], 0                                          ; +0x1bb, 0x180013d9b\njnz     short loc_180013DB5                                            ; +0x1c2, 0x180013da2\nlea     rdx, unk_180048620                                             ; +0x1c4, 0x180013da4\nlea     rcx, [rbp+arg_0]                                               ; +0x1cb, 0x180013dab\ncall    cs:??4CCPoint@cocos2d@@QEAAAEAV01@AEBV01@@Z; cocos2d::CCPoint::operator=(cocos2d::CCPoint const &) ; +0x1cf, 0x180013daf\nlea     rdx, [rbp+arg_18]                                              ; +0x1d5, 0x180013db5\nlea     rcx, [rdi+0A8h]                                                ; +0x1d9, 0x180013db9\ncall    cs:??4CCPoint@cocos2d@@QEAAAEAV01@AEBV01@@Z; cocos2d::CCPoint::operator=(cocos2d::CCPoint const &) ; +0x1e0, 0x180013dc0\nlea     r8, [rbp+arg_18]                                               ; +0x1e6, 0x180013dc6\nmov     byte ptr [rdi+88h], 1                                          ; +0x1ea, 0x180013dca\nlea     rdx, [rbp+var_50]                                              ; +0x1f1, 0x180013dd1\nmov     rcx, rsi                                                       ; +0x1f5, 0x180013dd5\ncall    cs:?convertToWorldSpace@CCNode@cocos2d@@QEAA?AVCCPoint@2@AEBV32@@Z; cocos2d::CCNode::convertToWorldSpace(cocos2d::CCPoint const &) ; +0x1f8, 0x180013dd8\nmov     rdx, rax                                                       ; +0x1fe, 0x180013dde\nlea     rcx, [rbp+var_30]                                              ; +0x201, 0x180013de1\ncall    cs:?containsPoint@CCRect@cocos2d@@QEBA_NAEBVCCPoint@2@@Z; cocos2d::CCRect::containsPoint(cocos2d::CCPoint const &) ; +0x205, 0x180013de5\ntest    al, al                                                         ; +0x20b, 0x180013deb\njz      loc_180013EAC                                                  ; +0x20d, 0x180013ded\nmov     ecx, [rdi+70h]                                                 ; +0x213, 0x180013df3\ntest    ecx, ecx                                                       ; +0x216, 0x180013df6\njz      short loc_180013E09                                            ; +0x218, 0x180013df8\ncmp     ecx, 1                                                         ; +0x21a, 0x180013dfa\njnz     short loc_180013E28                                            ; +0x21d, 0x180013dfd\nmovss   xmm2, [rbp+arg_4]                                              ; +0x21f, 0x180013dff\nxorps   xmm1, xmm1                                                     ; +0x224, 0x180013e04\njmp     short loc_180013E11                                            ; +0x227, 0x180013e07\nmovss   xmm1, [rbp+arg_0]                                              ; +0x229, 0x180013e09\nxorps   xmm2, xmm2                                                     ; +0x22e, 0x180013e0e\nlea     rcx, [rbp+var_50]                                              ; +0x231, 0x180013e11\ncall    cs:??0CCPoint@cocos2d@@QEAA@MM@Z; cocos2d::CCPoint::CCPoint(float,float) ; +0x235, 0x180013e15\nmov     rdx, rax                                                       ; +0x23b, 0x180013e1b\nlea     rcx, [rbp+arg_0]                                               ; +0x23e, 0x180013e1e\ncall    cs:??4CCPoint@cocos2d@@QEAAAEAV01@AEBV01@@Z; cocos2d::CCPoint::operator=(cocos2d::CCPoint const &) ; +0x242, 0x180013e22\nlea     rdx, [rdi+8Ch]                                                 ; +0x248, 0x180013e28\nlea     rcx, [rbp+var_40]                                              ; +0x24f, 0x180013e2f\ncall    cs:??4CCPoint@cocos2d@@QEAAAEAV01@AEBV01@@Z; cocos2d::CCPoint::operator=(cocos2d::CCPoint const &) ; +0x253, 0x180013e33\nlea     rdx, [rdi+94h]                                                 ; +0x259, 0x180013e39\nlea     rcx, [rbp+var_38]                                              ; +0x260, 0x180013e40\ncall    cs:??4CCPoint@cocos2d@@QEAAAEAV01@AEBV01@@Z; cocos2d::CCPoint::operator=(cocos2d::CCPoint const &) ; +0x264, 0x180013e44\nmov     rcx, [rdi+80h]                                                 ; +0x26a, 0x180013e4a\nmov     rax, [rcx]                                                     ; +0x271, 0x180013e51\ncall    qword ptr [rax+0C8h]                                           ; +0x274, 0x180013e54\nmov     rcx, [rdi+80h]                                                 ; +0x27a, 0x180013e5a\nmovss   xmm7, [rbp+arg_0]                                              ; +0x281, 0x180013e61\naddss   xmm7, dword ptr [rax]                                          ; +0x286, 0x180013e66\nmov     rax, [rcx]                                                     ; +0x28a, 0x180013e6a\ncall    qword ptr [rax+0C8h]                                           ; +0x28d, 0x180013e6d\nmovss   xmm6, [rbp+arg_4]                                              ; +0x293, 0x180013e73\nlea     rcx, [rdi+0A0h]                                                ; +0x298, 0x180013e78\nlea     rdx, [rbp+arg_0]                                               ; +0x29f, 0x180013e7f\naddss   xmm6, dword ptr [rax+4]                                        ; +0x2a3, 0x180013e83\ncall    cs:??4CCPoint@cocos2d@@QEAAAEAV01@AEBV01@@Z; cocos2d::CCPoint::operator=(cocos2d::CCPoint const &) ; +0x2a8, 0x180013e88\nmovaps  xmm2, xmm6                                                     ; +0x2ae, 0x180013e8e\nlea     rcx, [rbp+var_50]                                              ; +0x2b1, 0x180013e91\nmovaps  xmm1, xmm7                                                     ; +0x2b5, 0x180013e95\ncall    cs:??0CCPoint@cocos2d@@QEAA@MM@Z; cocos2d::CCPoint::CCPoint(float,float) ; +0x2b8, 0x180013e98\nxor     r8d, r8d                                                       ; +0x2be, 0x180013e9e\nmov     rcx, rsi                                                       ; +0x2c1, 0x180013ea1\nmov     rdx, rax                                                       ; +0x2c4, 0x180013ea4\ncall    ?setContentOffset@CCScrollView@extension@cocos2d@@QEAAXVCCPoint@3@_N@Z; cocos2d::extension::CCScrollView::setContentOffset(cocos2d::CCPoint,bool) ; +0x2c7, 0x180013ea7\nmovaps  xmm7, [rsp+70h+var_20]                                         ; +0x2cc, 0x180013eac\nmovaps  xmm6, [rsp+70h+var_10]                                         ; +0x2d1, 0x180013eb1\nmov     rbx, [rsp+70h+arg_8]                                           ; +0x2d6, 0x180013eb6\nadd     rsp, 70h                                                       ; +0x2de, 0x180013ebe\npop     rdi                                                            ; +0x2e2, 0x180013ec2\npop     rsi                                                            ; +0x2e3, 0x180013ec3\npop     rbp                                                            ; +0x2e4, 0x180013ec4\nretn                                                                   ; +0x2e5, 0x180013ec5\nmov     rcx, [rdi+0B8h]                                                ; +0x2e6, 0x180013ec6\ncall    cs:?count@CCArray@cocos2d@@QEBAIXZ; cocos2d::CCArray::count(void) ; +0x2ed, 0x180013ecd\ncmp     eax, 2                                                         ; +0x2f3, 0x180013ed3\njnz     short loc_180013EB1                                            ; +0x2f6, 0x180013ed6\ncmp     byte ptr [rdi+74h], 0                                          ; +0x2f8, 0x180013ed8\njnz     short loc_180013EB1                                            ; +0x2fc, 0x180013edc\nmov     rcx, [rdi+0B8h]                                                ; +0x2fe, 0x180013ede\nlea     edx, [rax-1]                                                   ; +0x305, 0x180013ee5\ncall    cs:?objectAtIndex@CCArray@cocos2d@@QEAAPEAVCCObject@2@I@Z; cocos2d::CCArray::objectAtIndex(uint) ; +0x308, 0x180013ee8\nmov     rcx, [rdi+80h]                                                 ; +0x30e, 0x180013eee\nlea     rdx, [rbp+arg_0]                                               ; +0x315, 0x180013ef5\nmov     r8, rax                                                        ; +0x319, 0x180013ef9\ncall    cs:?convertTouchToNodeSpace@CCNode@cocos2d@@QEAA?AVCCPoint@2@PEAVCCTouch@2@@Z; cocos2d::CCNode::convertTouchToNodeSpace(cocos2d::CCTouch *) ; +0x31c, 0x180013efc\nmov     rcx, [rdi+0B8h]                                                ; +0x322, 0x180013f02\nxor     edx, edx                                                       ; +0x329, 0x180013f09\nmov     rbx, rax                                                       ; +0x32b, 0x180013f0b\ncall    cs:?objectAtIndex@CCArray@cocos2d@@QEAAPEAVCCObject@2@I@Z; cocos2d::CCArray::objectAtIndex(uint) ; +0x32e, 0x180013f0e\nmov     rcx, [rdi+80h]                                                 ; +0x334, 0x180013f14\nlea     rdx, [rbp+arg_18]                                              ; +0x33b, 0x180013f1b\nmov     r8, rax                                                        ; +0x33f, 0x180013f1f\ncall    cs:?convertTouchToNodeSpace@CCNode@cocos2d@@QEAA?AVCCPoint@2@PEAVCCTouch@2@@Z; cocos2d::CCNode::convertTouchToNodeSpace(cocos2d::CCTouch *) ; +0x342, 0x180013f22\nmov     rcx, rax                                                       ; +0x348, 0x180013f28\nmov     rdx, rbx                                                       ; +0x34b, 0x180013f2b\ncall    cs:?ccpDistance@cocos2d@@YAMAEBVCCPoint@1@0@Z; cocos2d::ccpDistance(cocos2d::CCPoint const &,cocos2d::CCPoint const &) ; +0x34e, 0x180013f2e\nmov     rcx, [rdi+80h]                                                 ; +0x354, 0x180013f34\nmovaps  xmm6, xmm0                                                     ; +0x35b, 0x180013f3b\nmov     rax, [rcx]                                                     ; +0x35e, 0x180013f3e\ncall    qword ptr [rax+0A8h]                                           ; +0x361, 0x180013f41\nmulss   xmm0, xmm6                                                     ; +0x367, 0x180013f47\nmov     rcx, rsi; this                                                 ; +0x36b, 0x180013f4b\ndivss   xmm0, dword ptr [rdi+0B0h]                                     ; +0x36e, 0x180013f4e\nmovaps  xmm1, xmm0; float                                              ; +0x376, 0x180013f56\ncall    ?setZoomScale@CCScrollView@extension@cocos2d@@QEAAXM@Z; cocos2d::extension::CCScrollView::setZoomScale(float) ; +0x379, 0x180013f59\njmp     loc_180013EB1                                                  ; +0x37e, 0x180013f5e", "xrefs": ["cocos2d::extension::CCTableView::ccTouchMoved @ 0x180016649", "<???> @ 0x1800282e0", "<???> @ 0x18002eae0", "<???> @ 0x18002eb14", "<???> @ 0x18002eb28", "<???> @ 0x18002fdf8", "<???> @ 0x18004a584"], "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"}