{"type": "func", "start": 6442495008, "end": 6442495215, "name": "cocos2d::extension::CCControlSlider::ccTouchMoved", "pseudocode": "// \n// cocos2d::extension::CCControlSlider::ccTouchMoved from 0x18000ac20 to 0x18000acef (207 bytes)\n// \n// 3 xrefs:\n// > <???> @ 0x180025a60\n// > <???> @ 0x18002fdf8\n// > <???> @ 0x180049bac\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::CCControlSlider::ccTouchMoved(\n        cocos2d::extension::CCControlSlider *this,\n        struct cocos2d::CCTouch *a2,\n        struct cocos2d::CCEvent *a3)\n{\n  char *v3; // rdi\n  __int64 v4; // rax\n  float *v5; // rax\n  const struct cocos2d::CCPoint *v6; // rax\n  __int64 v7; // rbx\n  __int64 v8; // rax\n  _BYTE v9[24]; // [rsp+20h] [rbp-18h] BYREF\n  float v10; // [rsp+40h] [rbp+8h] BYREF\n  char v11; // [rsp+58h] [rbp+20h] BYREF\n\n  v3 = (char *)this - 320;\n  cocos2d::CCTouch::getLocation(a2);\n  v4 = cocos2d::CCNode::convertToNodeSpace(v3, &v11, &v10);\n  cocos2d::CCPoint::operator=(&v10, v4);\n  if ( v10 >= 0.0 )\n  {\n    v5 = (float *)(*(__int64 (__fastcall **)(_QWORD))(**((_QWORD **)v3 + 64) + 304LL))(*((_QWORD *)v3 + 64));\n    if ( v10 > *v5 )\n      v10 = *(float *)(*(__int64 (__fastcall **)(_QWORD))(**((_QWORD **)v3 + 64) + 304LL))(*((_QWORD *)v3 + 64));\n  }\n  else\n  {\n    v10 = 0.0;\n  }\n  v6 = (const struct cocos2d::CCPoint *)cocos2d::CCPoint::CCPoint(\n                                          (cocos2d::CCPoint *)&v11,\n                                          (const struct cocos2d::CCPoint *)&v10);\n  v7 = *(_QWORD *)v3;\n  v8 = cocos2d::CCPoint::CCPoint((cocos2d::CCPoint *)v9, v6);\n  cocos2d::extension::CCControlSlider::valueForLocation(v3, v8);\n  (*(void (__fastcall **)(char *))(v7 + 1112))(v3);\n}", "assembly": "; \n; cocos2d::extension::CCControlSlider::ccTouchMoved from 0x18000ac20 to 0x18000acef (207 bytes)\n; \n; 3 xrefs:\n; > <???> @ 0x180025a60\n; > <???> @ 0x18002fdf8\n; > <???> @ 0x180049bac\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, 0x18000ac20\npush    rdi                                                            ; +0x5, 0x18000ac25\nsub     rsp, 30h                                                       ; +0x6, 0x18000ac26\nmov     rax, rdx                                                       ; +0xa, 0x18000ac2a\nlea     rdi, [rcx-140h]                                                ; +0xd, 0x18000ac2d\nmov     rcx, rax                                                       ; +0x14, 0x18000ac34\nlea     rdx, [rsp+38h+arg_0]                                           ; +0x17, 0x18000ac37\ncall    cs:?getLocation@CCTouch@cocos2d@@QEBA?AVCCPoint@2@XZ; cocos2d::CCTouch::getLocation(void) ; +0x1c, 0x18000ac3c\nlea     r8, [rsp+38h+arg_0]                                            ; +0x22, 0x18000ac42\nmov     rcx, rdi                                                       ; +0x27, 0x18000ac47\nlea     rdx, [rsp+38h+arg_18]                                          ; +0x2a, 0x18000ac4a\ncall    cs:?convertToNodeSpace@CCNode@cocos2d@@QEAA?AVCCPoint@2@AEBV32@@Z; cocos2d::CCNode::convertToNodeSpace(cocos2d::CCPoint const &) ; +0x2f, 0x18000ac4f\nmov     rdx, rax                                                       ; +0x35, 0x18000ac55\nlea     rcx, [rsp+38h+arg_0]                                           ; +0x38, 0x18000ac58\ncall    cs:??4CCPoint@cocos2d@@QEAAAEAV01@AEBV01@@Z; cocos2d::CCPoint::operator=(cocos2d::CCPoint const &) ; +0x3d, 0x18000ac5d\nxorps   xmm0, xmm0                                                     ; +0x43, 0x18000ac63\ncomiss  xmm0, [rsp+38h+arg_0]                                          ; +0x46, 0x18000ac66\njbe     short loc_18000AC77                                            ; +0x4b, 0x18000ac6b\nmov     [rsp+38h+arg_0], 0                                             ; +0x4d, 0x18000ac6d\njmp     short loc_18000ACAC                                            ; +0x55, 0x18000ac75\nmov     rcx, [rdi+200h]                                                ; +0x57, 0x18000ac77\nmov     rax, [rcx]                                                     ; +0x5e, 0x18000ac7e\ncall    qword ptr [rax+130h]                                           ; +0x61, 0x18000ac81\nmovss   xmm0, [rsp+38h+arg_0]                                          ; +0x67, 0x18000ac87\ncomiss  xmm0, dword ptr [rax]                                          ; +0x6d, 0x18000ac8d\njbe     short loc_18000ACAC                                            ; +0x70, 0x18000ac90\nmov     rcx, [rdi+200h]                                                ; +0x72, 0x18000ac92\nmov     rax, [rcx]                                                     ; +0x79, 0x18000ac99\ncall    qword ptr [rax+130h]                                           ; +0x7c, 0x18000ac9c\nmovss   xmm0, dword ptr [rax]                                          ; +0x82, 0x18000aca2\nmovss   [rsp+38h+arg_0], xmm0                                          ; +0x86, 0x18000aca6\nlea     rdx, [rsp+38h+arg_0]                                           ; +0x8c, 0x18000acac\nlea     rcx, [rsp+38h+arg_18]                                          ; +0x91, 0x18000acb1\ncall    cs:??0CCPoint@cocos2d@@QEAA@AEBV01@@Z; cocos2d::CCPoint::CCPoint(cocos2d::CCPoint const &) ; +0x96, 0x18000acb6\nmov     rbx, [rdi]                                                     ; +0x9c, 0x18000acbc\nlea     rcx, [rsp+38h+var_18]                                          ; +0x9f, 0x18000acbf\nmov     rdx, rax                                                       ; +0xa4, 0x18000acc4\ncall    cs:??0CCPoint@cocos2d@@QEAA@AEBV01@@Z; cocos2d::CCPoint::CCPoint(cocos2d::CCPoint const &) ; +0xa7, 0x18000acc7\nmov     rdx, rax                                                       ; +0xad, 0x18000accd\nmov     rcx, rdi                                                       ; +0xb0, 0x18000acd0\ncall    ?valueForLocation@CCControlSlider@extension@cocos2d@@IEAAMVCCPoint@3@@Z; cocos2d::extension::CCControlSlider::valueForLocation(cocos2d::CCPoint) ; +0xb3, 0x18000acd3\nmovaps  xmm1, xmm0                                                     ; +0xb8, 0x18000acd8\nmov     rcx, rdi                                                       ; +0xbb, 0x18000acdb\ncall    qword ptr [rbx+458h]                                           ; +0xbe, 0x18000acde\nmov     rbx, [rsp+38h+arg_8]                                           ; +0xc4, 0x18000ace4\nadd     rsp, 30h                                                       ; +0xc9, 0x18000ace9\npop     rdi                                                            ; +0xcd, 0x18000aced\nretn                                                                   ; +0xce, 0x18000acee", "xrefs": ["<???> @ 0x180025a60", "<???> @ 0x18002fdf8", "<???> @ 0x180049bac"], "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"}