{"type": "func", "start": 6442498352, "end": 6442498661, "name": "cocos2d::extension::CCControlStepper::setValueWithSendingEvent", "pseudocode": "// \n// cocos2d::extension::CCControlStepper::setValueWithSendingEvent from 0x18000b930 to 0x18000ba65 (309 bytes)\n// \n// 5 xrefs:\n// > <???> @ 0x180026508\n// > <???> @ 0x18002df44\n// > <???> @ 0x18002df54\n// > <???> @ 0x18002fdf8\n// > <???> @ 0x180049cc0\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::setValueWithSendingEvent(\n        cocos2d::extension::CCControlStepper *this,\n        double a2,\n        char a3)\n{\n  double v3; // xmm0_8\n  double v6; // xmm6_8\n  double *v7; // rdi\n  bool v8; // zf\n  __int16 *v9; // rdx\n  __int16 *v10; // rdx\n  _BYTE v11[3]; // [rsp+40h] [rbp+8h] BYREF\n  __int16 v12; // [rsp+50h] [rbp+18h] BYREF\n  char v13; // [rsp+52h] [rbp+1Ah]\n\n  v3 = *((double *)this + 65);\n  v6 = a2;\n  if ( v3 <= a2 )\n  {\n    v7 = (double *)((char *)this + 528);\n    if ( a2 > *((double *)this + 66) )\n    {\n      if ( *((_BYTE *)this + 514) )\n        v6 = *((double *)this + 65);\n      else\n        v6 = *((double *)this + 66);\n    }\n  }\n  else\n  {\n    if ( *((_BYTE *)this + 514) )\n      v6 = *((double *)this + 66);\n    else\n      v6 = *((double *)this + 65);\n    v7 = (double *)((char *)this + 528);\n  }\n  v8 = *((_BYTE *)this + 514) == 0;\n  *((double *)this + 63) = v6;\n  if ( v8 )\n  {\n    if ( v6 == v3 )\n    {\n      v12 = -27757;\n      v9 = &v12;\n      v13 = -109;\n    }\n    else\n    {\n      memset(v11, 55, sizeof(v11));\n      v9 = (__int16 *)v11;\n    }\n    (**(void (__fastcall ***)(__int64, __int16 *))(*((_QWORD *)this + 61) + 320LL))(*((_QWORD *)this + 61) + 320LL, v9);\n    if ( v6 == *v7 )\n    {\n      v12 = -27757;\n      v10 = &v12;\n      v13 = -109;\n    }\n    else\n    {\n      memset(v11, 55, sizeof(v11));\n      v10 = (__int16 *)v11;\n    }\n    (**(void (__fastcall ***)(__int64, __int16 *))(*((_QWORD *)this + 62) + 320LL))(*((_QWORD *)this + 62) + 320LL, v10);\n  }\n  if ( a3 )\n    (*(void (__fastcall **)(cocos2d::extension::CCControlStepper *, __int64))(*(_QWORD *)this + 1072LL))(this, 256);\n}", "assembly": "; \n; cocos2d::extension::CCControlStepper::setValueWithSendingEvent from 0x18000b930 to 0x18000ba65 (309 bytes)\n; \n; 5 xrefs:\n; > <???> @ 0x180026508\n; > <???> @ 0x18002df44\n; > <???> @ 0x18002df54\n; > <???> @ 0x18002fdf8\n; > <???> @ 0x180049cc0\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\npush    rbx                                                            ; +0x0, 0x18000b930\nsub     rsp, 30h                                                       ; +0x2, 0x18000b932\nmovsd   xmm0, qword ptr [rcx+208h]                                     ; +0x6, 0x18000b936\nmov     rbx, rcx                                                       ; +0xe, 0x18000b93e\ncomisd  xmm0, xmm1                                                     ; +0x11, 0x18000b941\nmov     [rsp+38h+arg_8], rsi                                           ; +0x15, 0x18000b945\nmovzx   esi, r8b                                                       ; +0x1a, 0x18000b94a\nmov     [rsp+38h+arg_18], rdi                                          ; +0x1e, 0x18000b94e\nmovaps  [rsp+38h+var_18], xmm6                                         ; +0x23, 0x18000b953\nmovaps  xmm6, xmm1                                                     ; +0x28, 0x18000b958\njbe     short loc_18000B983                                            ; +0x2b, 0x18000b95b\ncmp     byte ptr [rcx+202h], 0                                         ; +0x2d, 0x18000b95d\njz      short loc_18000B977                                            ; +0x34, 0x18000b964\nmovsd   xmm6, qword ptr [rcx+210h]                                     ; +0x36, 0x18000b966\nlea     rdi, [rcx+210h]                                                ; +0x3e, 0x18000b96e\njmp     short loc_18000B9A5                                            ; +0x45, 0x18000b975\nmovaps  xmm6, xmm0                                                     ; +0x47, 0x18000b977\nlea     rdi, [rcx+210h]                                                ; +0x4a, 0x18000b97a\njmp     short loc_18000B9A5                                            ; +0x51, 0x18000b981\nlea     rdi, [rcx+210h]                                                ; +0x53, 0x18000b983\nmovsd   xmm1, qword ptr [rdi]                                          ; +0x5a, 0x18000b98a\ncomisd  xmm6, xmm1                                                     ; +0x5e, 0x18000b98e\njbe     short loc_18000B9A5                                            ; +0x62, 0x18000b992\ncmp     byte ptr [rcx+202h], 0                                         ; +0x64, 0x18000b994\njz      short loc_18000B9A2                                            ; +0x6b, 0x18000b99b\nmovaps  xmm6, xmm0                                                     ; +0x6d, 0x18000b99d\njmp     short loc_18000B9A5                                            ; +0x70, 0x18000b9a0\nmovaps  xmm6, xmm1                                                     ; +0x72, 0x18000b9a2\ncmp     byte ptr [rcx+202h], 0                                         ; +0x75, 0x18000b9a5\nmovsd   qword ptr [rcx+1F8h], xmm6                                     ; +0x7c, 0x18000b9ac\njnz     short loc_18000BA34                                            ; +0x84, 0x18000b9b4\nucomisd xmm6, xmm0                                                     ; +0x86, 0x18000b9b6\njp      short loc_18000B9D1                                            ; +0x8a, 0x18000b9ba\njnz     short loc_18000B9D1                                            ; +0x8c, 0x18000b9bc\nmov     [rsp+38h+arg_10], 9393h                                        ; +0x8e, 0x18000b9be\nlea     rdx, [rsp+38h+arg_10]                                          ; +0x95, 0x18000b9c5\nmov     [rsp+38h+arg_12], 93h                                          ; +0x9a, 0x18000b9ca\njmp     short loc_18000B9E2                                            ; +0x9f, 0x18000b9cf\nmov     [rsp+38h+arg_0], 3737h                                         ; +0xa1, 0x18000b9d1\nlea     rdx, [rsp+38h+arg_0]                                           ; +0xa8, 0x18000b9d8\nmov     [rsp+38h+arg_2], 37h ; '7'                                     ; +0xad, 0x18000b9dd\nmov     rcx, [rcx+1E8h]                                                ; +0xb2, 0x18000b9e2\nadd     rcx, 140h                                                      ; +0xb9, 0x18000b9e9\nmov     rax, [rcx]                                                     ; +0xc0, 0x18000b9f0\ncall    qword ptr [rax]                                                ; +0xc3, 0x18000b9f3\nucomisd xmm6, qword ptr [rdi]                                          ; +0xc5, 0x18000b9f5\njp      short loc_18000BA10                                            ; +0xc9, 0x18000b9f9\njnz     short loc_18000BA10                                            ; +0xcb, 0x18000b9fb\nmov     [rsp+38h+arg_10], 9393h                                        ; +0xcd, 0x18000b9fd\nlea     rdx, [rsp+38h+arg_10]                                          ; +0xd4, 0x18000ba04\nmov     [rsp+38h+arg_12], 93h                                          ; +0xd9, 0x18000ba09\njmp     short loc_18000BA21                                            ; +0xde, 0x18000ba0e\nmov     [rsp+38h+arg_0], 3737h                                         ; +0xe0, 0x18000ba10\nlea     rdx, [rsp+38h+arg_0]                                           ; +0xe7, 0x18000ba17\nmov     [rsp+38h+arg_2], 37h ; '7'                                     ; +0xec, 0x18000ba1c\nmov     rcx, [rbx+1F0h]                                                ; +0xf1, 0x18000ba21\nadd     rcx, 140h                                                      ; +0xf8, 0x18000ba28\nmov     rax, [rcx]                                                     ; +0xff, 0x18000ba2f\ncall    qword ptr [rax]                                                ; +0x102, 0x18000ba32\nmovaps  xmm6, [rsp+38h+var_18]                                         ; +0x104, 0x18000ba34\ntest    sil, sil                                                       ; +0x109, 0x18000ba39\nmov     rsi, [rsp+38h+arg_8]                                           ; +0x10c, 0x18000ba3c\nmov     rdi, [rsp+38h+arg_18]                                          ; +0x111, 0x18000ba41\njz      short loc_18000BA5F                                            ; +0x116, 0x18000ba46\nmov     rax, [rbx]                                                     ; +0x118, 0x18000ba48\nmov     edx, 100h                                                      ; +0x11b, 0x18000ba4b\nmov     rcx, rbx                                                       ; +0x120, 0x18000ba50\nadd     rsp, 30h                                                       ; +0x123, 0x18000ba53\npop     rbx                                                            ; +0x127, 0x18000ba57\njmp     qword ptr [rax+430h]                                           ; +0x128, 0x18000ba58\nadd     rsp, 30h                                                       ; +0x12f, 0x18000ba5f\npop     rbx                                                            ; +0x133, 0x18000ba63\nretn                                                                   ; +0x134, 0x18000ba64", "xrefs": ["<???> @ 0x180026508", "<???> @ 0x18002df44", "<???> @ 0x18002df54", "<???> @ 0x18002fdf8", "<???> @ 0x180049cc0"], "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"}