{"type": "func", "start": 6442498880, "end": 6442499129, "name": "cocos2d::extension::CCControlStepper::updateLayoutUsingTouchLocation", "pseudocode": "// \n// cocos2d::extension::CCControlStepper::updateLayoutUsingTouchLocation from 0x18000bb40 to 0x18000bc39 (249 bytes)\n// \n// 4 xrefs:\n// > cocos2d::extension::CCControlStepper::ccTouchBegan @ 0x18000bcc2\n// > cocos2d::extension::CCControlStepper::ccTouchMoved @ 0x18000bd9a\n// > <???> @ 0x18002fdf8\n// > <???> @ 0x180049cf0\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\n__int64 __fastcall cocos2d::extension::CCControlStepper::updateLayoutUsingTouchLocation(__int64 a1, float *a2)\n{\n  void *v4; // rdx\n  void (__fastcall ***v5)(_QWORD, void *); // rcx\n  void *v6; // rdx\n\n  if ( *(float *)(*(__int64 (__fastcall **)(_QWORD))(**(_QWORD **)(a1 + 472) + 304LL))(*(_QWORD *)(a1 + 472)) > *a2\n    && *(double *)(a1 + 504) > *(double *)(a1 + 520) )\n  {\n    *(_DWORD *)(a1 + 548) = 0;\n    v4 = &unk_1800234B4;\nLABEL_8:\n    (**(void (__fastcall ***)(__int64, void *))(*(_QWORD *)(a1 + 472) + 320LL))(*(_QWORD *)(a1 + 472) + 320LL, v4);\n    v6 = &unk_1800234B0;\n    return (**(__int64 (__fastcall ***)(__int64, void *))(*(_QWORD *)(a1 + 480) + 320LL))(\n             *(_QWORD *)(a1 + 480) + 320LL,\n             v6);\n  }\n  if ( *a2 < *(float *)(*(__int64 (__fastcall **)(_QWORD))(**(_QWORD **)(a1 + 472) + 304LL))(*(_QWORD *)(a1 + 472))\n    || *(double *)(a1 + 528) <= *(double *)(a1 + 504) )\n  {\n    *(_DWORD *)(a1 + 548) = 2;\n    v4 = &unk_1800234B0;\n    goto LABEL_8;\n  }\n  v5 = (void (__fastcall ***)(_QWORD, void *))(*(_QWORD *)(a1 + 472) + 320LL);\n  *(_DWORD *)(a1 + 548) = 1;\n  (**v5)(v5, &unk_1800234B0);\n  v6 = &unk_1800234B4;\n  return (**(__int64 (__fastcall ***)(__int64, void *))(*(_QWORD *)(a1 + 480) + 320LL))(\n           *(_QWORD *)(a1 + 480) + 320LL,\n           v6);\n}", "assembly": "; \n; cocos2d::extension::CCControlStepper::updateLayoutUsingTouchLocation from 0x18000bb40 to 0x18000bc39 (249 bytes)\n; \n; 4 xrefs:\n; > cocos2d::extension::CCControlStepper::ccTouchBegan @ 0x18000bcc2\n; > cocos2d::extension::CCControlStepper::ccTouchMoved @ 0x18000bd9a\n; > <???> @ 0x18002fdf8\n; > <???> @ 0x180049cf0\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_0], rbx                                               ; +0x0, 0x18000bb40\nmov     [rsp+arg_8], rsi                                               ; +0x5, 0x18000bb45\npush    rdi                                                            ; +0xa, 0x18000bb4a\nsub     rsp, 20h                                                       ; +0xb, 0x18000bb4b\nmov     rbx, rcx                                                       ; +0xf, 0x18000bb4f\nmov     rsi, rdx                                                       ; +0x12, 0x18000bb52\nmov     rcx, [rcx+1D8h]                                                ; +0x15, 0x18000bb55\nmov     rax, [rcx]                                                     ; +0x1c, 0x18000bb5c\ncall    qword ptr [rax+130h]                                           ; +0x1f, 0x18000bb5f\nmovss   xmm0, dword ptr [rax]                                          ; +0x25, 0x18000bb65\ncomiss  xmm0, dword ptr [rsi]                                          ; +0x29, 0x18000bb69\njbe     short loc_18000BB93                                            ; +0x2c, 0x18000bb6c\nmovsd   xmm0, qword ptr [rbx+1F8h]                                     ; +0x2e, 0x18000bb6e\ncomisd  xmm0, qword ptr [rbx+208h]                                     ; +0x36, 0x18000bb76\njbe     short loc_18000BB93                                            ; +0x3e, 0x18000bb7e\nmov     dword ptr [rbx+224h], 0                                        ; +0x40, 0x18000bb80\nlea     rdx, unk_1800234B4                                             ; +0x4a, 0x18000bb8a\njmp     short loc_18000BBFC                                            ; +0x51, 0x18000bb91\nmov     rcx, [rbx+1D8h]                                                ; +0x53, 0x18000bb93\nmov     rax, [rcx]                                                     ; +0x5a, 0x18000bb9a\ncall    qword ptr [rax+130h]                                           ; +0x5d, 0x18000bb9d\nmovss   xmm0, dword ptr [rsi]                                          ; +0x63, 0x18000bba3\ncomiss  xmm0, dword ptr [rax]                                          ; +0x67, 0x18000bba7\njb      short loc_18000BBEB                                            ; +0x6a, 0x18000bbaa\nmovsd   xmm0, qword ptr [rbx+210h]                                     ; +0x6c, 0x18000bbac\ncomisd  xmm0, qword ptr [rbx+1F8h]                                     ; +0x74, 0x18000bbb4\njbe     short loc_18000BBEB                                            ; +0x7c, 0x18000bbbc\nmov     rcx, [rbx+1D8h]                                                ; +0x7e, 0x18000bbbe\nlea     rdx, unk_1800234B0                                             ; +0x85, 0x18000bbc5\nadd     rcx, 140h                                                      ; +0x8c, 0x18000bbcc\nmov     dword ptr [rbx+224h], 1                                        ; +0x93, 0x18000bbd3\nmov     rax, [rcx]                                                     ; +0x9d, 0x18000bbdd\ncall    qword ptr [rax]                                                ; +0xa0, 0x18000bbe0\nlea     rdx, unk_1800234B4                                             ; +0xa2, 0x18000bbe2\njmp     short loc_18000BC16                                            ; +0xa9, 0x18000bbe9\nmov     dword ptr [rbx+224h], 2                                        ; +0xab, 0x18000bbeb\nlea     rdx, unk_1800234B0                                             ; +0xb5, 0x18000bbf5\nmov     rcx, [rbx+1D8h]                                                ; +0xbc, 0x18000bbfc\nadd     rcx, 140h                                                      ; +0xc3, 0x18000bc03\nmov     rax, [rcx]                                                     ; +0xca, 0x18000bc0a\ncall    qword ptr [rax]                                                ; +0xcd, 0x18000bc0d\nlea     rdx, unk_1800234B0                                             ; +0xcf, 0x18000bc0f\nmov     rcx, [rbx+1E0h]                                                ; +0xd6, 0x18000bc16\nadd     rcx, 140h                                                      ; +0xdd, 0x18000bc1d\nmov     rax, [rcx]                                                     ; +0xe4, 0x18000bc24\nmov     rbx, [rsp+28h+arg_0]                                           ; +0xe7, 0x18000bc27\nmov     rsi, [rsp+28h+arg_8]                                           ; +0xec, 0x18000bc2c\nadd     rsp, 20h                                                       ; +0xf1, 0x18000bc31\npop     rdi                                                            ; +0xf5, 0x18000bc35\njmp     qword ptr [rax]                                                ; +0xf6, 0x18000bc36", "xrefs": ["cocos2d::extension::CCControlStepper::ccTouchBegan @ 0x18000bcc2", "cocos2d::extension::CCControlStepper::ccTouchMoved @ 0x18000bd9a", "<???> @ 0x18002fdf8", "<???> @ 0x180049cf0"], "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"}