{"type": "func", "start": 6442488096, "end": 6442488239, "name": "cocos2d::extension::CCControlPotentiometer::setValue", "pseudocode": "// \n// cocos2d::extension::CCControlPotentiometer::setValue from 0x180009120 to 0x1800091af (143 bytes)\n// \n// 6 xrefs:\n// > cocos2d::extension::CCControlPotentiometer::initWithTrackSprite_ProgressTimer_ThumbSprite @ 0x18000908a\n// > cocos2d::extension::CCControlPotentiometer::setMinimumValue @ 0x1800091eb\n// > cocos2d::extension::CCControlPotentiometer::setMaximumValue @ 0x18000922b\n// > cocos2d::extension::CCControlPotentiometer::potentiometerMoved @ 0x1800096e6\n// > <???> @ 0x18002fdf8\n// > <???> @ 0x18004999c\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::CCControlPotentiometer::setValue(\n        cocos2d::extension::CCControlPotentiometer *this,\n        float a2)\n{\n  float v2; // xmm2_4\n  float v4; // xmm6_4\n  float v5; // xmm3_4\n  float v6; // xmm6_4\n\n  v2 = *((float *)this + 125);\n  v4 = *((float *)this + 126);\n  v5 = v4 - v2;\n  v6 = fminf(v4, fmaxf(v2, a2));\n  *((float *)this + 124) = v6;\n  cocos2d::CCProgressTimer::setPercentage(\n    *((cocos2d::CCProgressTimer **)this + 60),\n    (float)((float)(v6 - v2) / v5) * 100.0);\n  (*(void (__fastcall **)(_QWORD))(**((_QWORD **)this + 59) + 336LL))(*((_QWORD *)this + 59));\n  (*(void (__fastcall **)(cocos2d::extension::CCControlPotentiometer *, __int64))(*(_QWORD *)this + 1072LL))(this, 256);\n}", "assembly": "; \n; cocos2d::extension::CCControlPotentiometer::setValue from 0x180009120 to 0x1800091af (143 bytes)\n; \n; 6 xrefs:\n; > cocos2d::extension::CCControlPotentiometer::initWithTrackSprite_ProgressTimer_ThumbSprite @ 0x18000908a\n; > cocos2d::extension::CCControlPotentiometer::setMinimumValue @ 0x1800091eb\n; > cocos2d::extension::CCControlPotentiometer::setMaximumValue @ 0x18000922b\n; > cocos2d::extension::CCControlPotentiometer::potentiometerMoved @ 0x1800096e6\n; > <???> @ 0x18002fdf8\n; > <???> @ 0x18004999c\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, 0x180009120\nsub     rsp, 30h                                                       ; +0x2, 0x180009122\nmovss   xmm2, dword ptr [rcx+1F4h]                                     ; +0x6, 0x180009126\nmov     rbx, rcx                                                       ; +0xe, 0x18000912e\nmovss   xmm3, dword ptr [rcx+1F8h]                                     ; +0x11, 0x180009131\nmovaps  xmm0, xmm2                                                     ; +0x19, 0x180009139\nmovaps  [rsp+38h+var_18], xmm6                                         ; +0x1c, 0x18000913c\nmaxss   xmm0, xmm1                                                     ; +0x21, 0x180009141\nmovaps  xmm6, xmm3                                                     ; +0x25, 0x180009145\nsubss   xmm3, xmm2                                                     ; +0x28, 0x180009148\nminss   xmm6, xmm0                                                     ; +0x2c, 0x18000914c\nmovss   dword ptr [rcx+1F0h], xmm6                                     ; +0x30, 0x180009150\nsubss   xmm6, xmm2                                                     ; +0x38, 0x180009158\nmov     rcx, [rcx+1E0h]                                                ; +0x3c, 0x18000915c\ndivss   xmm6, xmm3                                                     ; +0x43, 0x180009163\nmovaps  xmm1, xmm6                                                     ; +0x47, 0x180009167\nmulss   xmm1, cs:dword_1800295B8                                       ; +0x4a, 0x18000916a\ncall    cs:?setPercentage@CCProgressTimer@cocos2d@@QEAAXM@Z; cocos2d::CCProgressTimer::setPercentage(float) ; +0x52, 0x180009172\nmov     rcx, [rbx+1D8h]                                                ; +0x58, 0x180009178\nmulss   xmm6, cs:dword_1800295C8                                       ; +0x5f, 0x18000917f\nmov     rax, [rcx]                                                     ; +0x67, 0x180009187\nmovaps  xmm1, xmm6                                                     ; +0x6a, 0x18000918a\ncall    qword ptr [rax+150h]                                           ; +0x6d, 0x18000918d\nmov     rax, [rbx]                                                     ; +0x73, 0x180009193\nmov     edx, 100h                                                      ; +0x76, 0x180009196\nmov     rcx, rbx                                                       ; +0x7b, 0x18000919b\nmovaps  xmm6, [rsp+38h+var_18]                                         ; +0x7e, 0x18000919e\nadd     rsp, 30h                                                       ; +0x83, 0x1800091a3\npop     rbx                                                            ; +0x87, 0x1800091a7\njmp     qword ptr [rax+430h]                                           ; +0x88, 0x1800091a8", "xrefs": ["cocos2d::extension::CCControlPotentiometer::initWithTrackSprite_ProgressTimer_ThumbSprite @ 0x18000908a", "cocos2d::extension::CCControlPotentiometer::setMinimumValue @ 0x1800091eb", "cocos2d::extension::CCControlPotentiometer::setMaximumValue @ 0x18000922b", "cocos2d::extension::CCControlPotentiometer::potentiometerMoved @ 0x1800096e6", "<???> @ 0x18002fdf8", "<???> @ 0x18004999c"], "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"}