{"type": "func", "start": 6442494752, "end": 6442495005, "name": "cocos2d::extension::CCControlSlider::ccTouchBegan", "pseudocode": "// \n// cocos2d::extension::CCControlSlider::ccTouchBegan from 0x18000ab20 to 0x18000ac1d (253 bytes)\n// \n// 3 xrefs:\n// > <???> @ 0x180025a58\n// > <???> @ 0x18002fdf8\n// > <???> @ 0x180049ba0\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\nchar __fastcall cocos2d::extension::CCControlSlider::ccTouchBegan(\n        cocos2d::extension::CCControlSlider *this,\n        struct cocos2d::CCTouch *a2,\n        struct cocos2d::CCEvent *a3)\n{\n  _QWORD **v3; // rbx\n  __int64 v5; // rax\n  float *v6; // rax\n  __int64 v7; // rax\n  float v9; // [rsp+30h] [rbp+8h] BYREF\n  char v10; // [rsp+48h] [rbp+20h] BYREF\n\n  v3 = (_QWORD **)((char *)this - 320);\n  if ( !(*(unsigned __int8 (__fastcall **)(char *, struct cocos2d::CCTouch *, struct cocos2d::CCEvent *))(*((_QWORD *)this - 40) + 1104LL))(\n          (char *)this - 320,\n          a2,\n          a3)\n    || !((unsigned __int8 (__fastcall *)(_QWORD **))(*v3)[128])(v3)\n    || !((unsigned __int8 (__fastcall *)(_QWORD **))(*v3)[41])(v3) )\n  {\n    return 0;\n  }\n  cocos2d::CCTouch::getLocation(a2);\n  v5 = cocos2d::CCNode::convertToNodeSpace(v3, &v10, &v9);\n  cocos2d::CCPoint::operator=(&v9, v5);\n  if ( v9 >= 0.0 )\n  {\n    v6 = (float *)(*(__int64 (__fastcall **)(_QWORD *))(*v3[64] + 304LL))(v3[64]);\n    if ( v9 > *v6 )\n      v9 = *(float *)(*(__int64 (__fastcall **)(_QWORD *))(*v3[64] + 304LL))(v3[64]);\n  }\n  else\n  {\n    v9 = 0.0;\n  }\n  v7 = cocos2d::CCPoint::CCPoint((cocos2d::CCPoint *)&v10, (const struct cocos2d::CCPoint *)&v9);\n  cocos2d::extension::CCControlSlider::sliderBegan(v3, v7);\n  return 1;\n}", "assembly": "; \n; cocos2d::extension::CCControlSlider::ccTouchBegan from 0x18000ab20 to 0x18000ac1d (253 bytes)\n; \n; 3 xrefs:\n; > <???> @ 0x180025a58\n; > <???> @ 0x18002fdf8\n; > <???> @ 0x180049ba0\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, 0x18000ab20\npush    rdi                                                            ; +0x5, 0x18000ab25\nsub     rsp, 20h                                                       ; +0x6, 0x18000ab26\nlea     rbx, [rcx-140h]                                                ; +0xa, 0x18000ab2a\nmov     rdi, rdx                                                       ; +0x11, 0x18000ab31\nmov     rax, [rbx]                                                     ; +0x14, 0x18000ab34\nmov     rcx, rbx                                                       ; +0x17, 0x18000ab37\ncall    qword ptr [rax+450h]                                           ; +0x1a, 0x18000ab3a\ntest    al, al                                                         ; +0x20, 0x18000ab40\njz      loc_18000AC10                                                  ; +0x22, 0x18000ab42\nmov     rax, [rbx]                                                     ; +0x28, 0x18000ab48\nmov     rcx, rbx                                                       ; +0x2b, 0x18000ab4b\ncall    qword ptr [rax+400h]                                           ; +0x2e, 0x18000ab4e\ntest    al, al                                                         ; +0x34, 0x18000ab54\njz      loc_18000AC10                                                  ; +0x36, 0x18000ab56\nmov     rax, [rbx]                                                     ; +0x3c, 0x18000ab5c\nmov     rcx, rbx                                                       ; +0x3f, 0x18000ab5f\ncall    qword ptr [rax+148h]                                           ; +0x42, 0x18000ab62\ntest    al, al                                                         ; +0x48, 0x18000ab68\njz      loc_18000AC10                                                  ; +0x4a, 0x18000ab6a\nlea     rdx, [rsp+28h+arg_0]                                           ; +0x50, 0x18000ab70\nmov     rcx, rdi                                                       ; +0x55, 0x18000ab75\ncall    cs:?getLocation@CCTouch@cocos2d@@QEBA?AVCCPoint@2@XZ; cocos2d::CCTouch::getLocation(void) ; +0x58, 0x18000ab78\nlea     r8, [rsp+28h+arg_0]                                            ; +0x5e, 0x18000ab7e\nmov     rcx, rbx                                                       ; +0x63, 0x18000ab83\nlea     rdx, [rsp+28h+arg_18]                                          ; +0x66, 0x18000ab86\ncall    cs:?convertToNodeSpace@CCNode@cocos2d@@QEAA?AVCCPoint@2@AEBV32@@Z; cocos2d::CCNode::convertToNodeSpace(cocos2d::CCPoint const &) ; +0x6b, 0x18000ab8b\nmov     rdx, rax                                                       ; +0x71, 0x18000ab91\nlea     rcx, [rsp+28h+arg_0]                                           ; +0x74, 0x18000ab94\ncall    cs:??4CCPoint@cocos2d@@QEAAAEAV01@AEBV01@@Z; cocos2d::CCPoint::operator=(cocos2d::CCPoint const &) ; +0x79, 0x18000ab99\nxorps   xmm0, xmm0                                                     ; +0x7f, 0x18000ab9f\ncomiss  xmm0, [rsp+28h+arg_0]                                          ; +0x82, 0x18000aba2\njbe     short loc_18000ABB3                                            ; +0x87, 0x18000aba7\nmov     [rsp+28h+arg_0], 0                                             ; +0x89, 0x18000aba9\njmp     short loc_18000ABE8                                            ; +0x91, 0x18000abb1\nmov     rcx, [rbx+200h]                                                ; +0x93, 0x18000abb3\nmov     rax, [rcx]                                                     ; +0x9a, 0x18000abba\ncall    qword ptr [rax+130h]                                           ; +0x9d, 0x18000abbd\nmovss   xmm0, [rsp+28h+arg_0]                                          ; +0xa3, 0x18000abc3\ncomiss  xmm0, dword ptr [rax]                                          ; +0xa9, 0x18000abc9\njbe     short loc_18000ABE8                                            ; +0xac, 0x18000abcc\nmov     rcx, [rbx+200h]                                                ; +0xae, 0x18000abce\nmov     rax, [rcx]                                                     ; +0xb5, 0x18000abd5\ncall    qword ptr [rax+130h]                                           ; +0xb8, 0x18000abd8\nmovss   xmm0, dword ptr [rax]                                          ; +0xbe, 0x18000abde\nmovss   [rsp+28h+arg_0], xmm0                                          ; +0xc2, 0x18000abe2\nlea     rdx, [rsp+28h+arg_0]                                           ; +0xc8, 0x18000abe8\nlea     rcx, [rsp+28h+arg_18]                                          ; +0xcd, 0x18000abed\ncall    cs:??0CCPoint@cocos2d@@QEAA@AEBV01@@Z; cocos2d::CCPoint::CCPoint(cocos2d::CCPoint const &) ; +0xd2, 0x18000abf2\nmov     rdx, rax                                                       ; +0xd8, 0x18000abf8\nmov     rcx, rbx                                                       ; +0xdb, 0x18000abfb\ncall    ?sliderBegan@CCControlSlider@extension@cocos2d@@IEAAXVCCPoint@3@@Z; cocos2d::extension::CCControlSlider::sliderBegan(cocos2d::CCPoint) ; +0xde, 0x18000abfe\nmov     al, 1                                                          ; +0xe3, 0x18000ac03\nmov     rbx, [rsp+28h+arg_8]                                           ; +0xe5, 0x18000ac05\nadd     rsp, 20h                                                       ; +0xea, 0x18000ac0a\npop     rdi                                                            ; +0xee, 0x18000ac0e\nretn                                                                   ; +0xef, 0x18000ac0f\nmov     rbx, [rsp+28h+arg_8]                                           ; +0xf0, 0x18000ac10\nxor     al, al                                                         ; +0xf5, 0x18000ac15\nadd     rsp, 20h                                                       ; +0xf7, 0x18000ac17\npop     rdi                                                            ; +0xfb, 0x18000ac1b\nretn                                                                   ; +0xfc, 0x18000ac1c", "xrefs": ["<???> @ 0x180025a58", "<???> @ 0x18002fdf8", "<???> @ 0x180049ba0"], "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"}