{"type": "func", "start": 6442499712, "end": 6442499939, "name": "cocos2d::extension::CCControlStepper::ccTouchEnded", "pseudocode": "// \n// cocos2d::extension::CCControlStepper::ccTouchEnded from 0x18000be80 to 0x18000bf63 (227 bytes)\n// \n// 3 xrefs:\n// > <???> @ 0x180026038\n// > <???> @ 0x18002fdf8\n// > <???> @ 0x180049d14\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::CCControlStepper::ccTouchEnded(\n        cocos2d::extension::CCControlStepper *this,\n        struct cocos2d::CCTouch *a2,\n        struct cocos2d::CCEvent *a3)\n{\n  char *v5; // rbx\n  int v6; // [rsp+30h] [rbp+8h] BYREF\n\n  (**(void (__fastcall ***)(__int64, void *, struct cocos2d::CCEvent *))(*((_QWORD *)this + 19) + 320LL))(\n    *((_QWORD *)this + 19) + 320LL,\n    &unk_1800234B0,\n    a3);\n  (**(void (__fastcall ***)(__int64, void *))(*((_QWORD *)this + 20) + 320LL))(\n    *((_QWORD *)this + 20) + 320LL,\n    &unk_1800234B0);\n  v5 = (char *)this - 320;\n  if ( *((_BYTE *)this + 193) )\n    cocos2d::CCNode::unschedule((char *)this - 320, sub_18000BF64);\n  if ( (*(unsigned __int8 (__fastcall **)(char *, struct cocos2d::CCTouch *))(*(_QWORD *)v5 + 1104LL))(\n         (char *)this - 320,\n         a2) )\n  {\n    (*(void (__fastcall **)(char *, int *, struct cocos2d::CCTouch *))(*(_QWORD *)v5 + 1096LL))(\n      (char *)this - 320,\n      &v6,\n      a2);\n    (*(void (__fastcall **)(_QWORD))(**((_QWORD **)this + 19) + 304LL))(*((_QWORD *)this + 19));\n    (*(void (__fastcall **)(char *))(*(_QWORD *)v5 + 1136LL))((char *)this - 320);\n  }\n}", "assembly": "; \n; cocos2d::extension::CCControlStepper::ccTouchEnded from 0x18000be80 to 0x18000bf63 (227 bytes)\n; \n; 3 xrefs:\n; > <???> @ 0x180026038\n; > <???> @ 0x18002fdf8\n; > <???> @ 0x180049d14\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, 0x18000be80\nmov     [rsp+arg_10], rsi                                              ; +0x5, 0x18000be85\npush    rdi                                                            ; +0xa, 0x18000be8a\nsub     rsp, 20h                                                       ; +0xb, 0x18000be8b\nmov     rdi, rcx                                                       ; +0xf, 0x18000be8f\nmov     rsi, rdx                                                       ; +0x12, 0x18000be92\nmov     rcx, [rcx+98h]                                                 ; +0x15, 0x18000be95\nlea     rdx, unk_1800234B0                                             ; +0x1c, 0x18000be9c\nadd     rcx, 140h                                                      ; +0x23, 0x18000bea3\nmov     rax, [rcx]                                                     ; +0x2a, 0x18000beaa\ncall    qword ptr [rax]                                                ; +0x2d, 0x18000bead\nmov     rcx, [rdi+0A0h]                                                ; +0x2f, 0x18000beaf\nlea     rdx, unk_1800234B0                                             ; +0x36, 0x18000beb6\nadd     rcx, 140h                                                      ; +0x3d, 0x18000bebd\nmov     rax, [rcx]                                                     ; +0x44, 0x18000bec4\ncall    qword ptr [rax]                                                ; +0x47, 0x18000bec7\ncmp     byte ptr [rdi+0C1h], 0                                         ; +0x49, 0x18000bec9\nlea     rbx, [rdi-140h]                                                ; +0x50, 0x18000bed0\njz      short loc_18000BEE9                                            ; +0x57, 0x18000bed7\nlea     rdx, sub_18000BF64                                             ; +0x59, 0x18000bed9\nmov     rcx, rbx                                                       ; +0x60, 0x18000bee0\ncall    cs:?unschedule@CCNode@cocos2d@@QEAAXP8CCObject@2@EAAXM@Z@Z; cocos2d::CCNode::unschedule(void (cocos2d::CCObject::*)(float)) ; +0x63, 0x18000bee3\nmov     rax, [rbx]                                                     ; +0x69, 0x18000bee9\nmov     rdx, rsi                                                       ; +0x6c, 0x18000beec\nmov     rcx, rbx                                                       ; +0x6f, 0x18000beef\ncall    qword ptr [rax+450h]                                           ; +0x72, 0x18000bef2\ntest    al, al                                                         ; +0x78, 0x18000bef8\njz      short loc_18000BF53                                            ; +0x7a, 0x18000befa\nmov     rax, [rbx]                                                     ; +0x7c, 0x18000befc\nlea     rdx, [rsp+28h+arg_0]                                           ; +0x7f, 0x18000beff\nmov     r8, rsi                                                        ; +0x84, 0x18000bf04\nmov     rcx, rbx                                                       ; +0x87, 0x18000bf07\ncall    qword ptr [rax+448h]                                           ; +0x8a, 0x18000bf0a\nmov     rcx, [rdi+98h]                                                 ; +0x90, 0x18000bf10\nmov     rax, [rcx]                                                     ; +0x97, 0x18000bf17\ncall    qword ptr [rax+130h]                                           ; +0x9a, 0x18000bf1a\nmovsd   xmm2, qword ptr [rdi+0D8h]                                     ; +0xa0, 0x18000bf20\nmovss   xmm0, dword ptr [rax]                                          ; +0xa8, 0x18000bf28\ncomiss  xmm0, [rsp+28h+arg_0]                                          ; +0xac, 0x18000bf2c\njbe     short loc_18000BF3C                                            ; +0xb1, 0x18000bf31\nxorps   xmm1, xmm1                                                     ; +0xb3, 0x18000bf33\nsubsd   xmm1, xmm2                                                     ; +0xb6, 0x18000bf36\njmp     short loc_18000BF3F                                            ; +0xba, 0x18000bf3a\nmovaps  xmm1, xmm2                                                     ; +0xbc, 0x18000bf3c\naddsd   xmm1, qword ptr [rdi+0B8h]                                     ; +0xbf, 0x18000bf3f\nmov     rax, [rbx]                                                     ; +0xc7, 0x18000bf47\nmov     rcx, rbx                                                       ; +0xca, 0x18000bf4a\ncall    qword ptr [rax+470h]                                           ; +0xcd, 0x18000bf4d\nmov     rbx, [rsp+28h+arg_8]                                           ; +0xd3, 0x18000bf53\nmov     rsi, [rsp+28h+arg_10]                                          ; +0xd8, 0x18000bf58\nadd     rsp, 20h                                                       ; +0xdd, 0x18000bf5d\npop     rdi                                                            ; +0xe1, 0x18000bf61\nretn                                                                   ; +0xe2, 0x18000bf62", "xrefs": ["<???> @ 0x180026038", "<???> @ 0x18002fdf8", "<???> @ 0x180049d14"], "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"}