{"type": "func", "start": 6442484192, "end": 6442484438, "name": "cocos2d::extension::CCControlColourPicker::colourSliderValueChanged", "pseudocode": "// \n// cocos2d::extension::CCControlColourPicker::colourSliderValueChanged from 0x1800081e0 to 0x1800082d6 (246 bytes)\n// \n// 3 xrefs:\n// > cocos2d::extension::CCControlColourPicker::init @ 0x180007dd3\n// > <???> @ 0x18002fdf8\n// > <???> @ 0x180049858\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::CCControlColourPicker::colourSliderValueChanged(\n        cocos2d::extension::CCControlColourPicker *this,\n        struct cocos2d::CCObject *a2)\n{\n  __int64 v3; // xmm1_8\n  __m128d *v4; // rax\n  double v5; // xmm2_8\n  double v6; // xmm3_8\n  __int64 v7; // rcx\n  void (__fastcall ***v8)(_QWORD, __int16 *); // rcx\n  __int128 v9; // [rsp+20h] [rbp-48h] BYREF\n  __int64 v10; // [rsp+30h] [rbp-38h]\n  _BYTE v11[40]; // [rsp+40h] [rbp-28h] BYREF\n  __int16 v12; // [rsp+70h] [rbp+8h] BYREF\n  char v13; // [rsp+72h] [rbp+Ah]\n\n  *((double *)this + 61) = *((float *)a2 + 118);\n  *((double *)this + 62) = *((float *)a2 + 119);\n  v3 = *((_QWORD *)this + 62);\n  v9 = *((_OWORD *)this + 30);\n  v10 = v3;\n  v4 = (__m128d *)cocos2d::extension::CCControlUtils::RGBfromHSV(v11, &v9);\n  v5 = _mm_unpackhi_pd(*v4, *v4).m128d_f64[0];\n  v6 = v4[1].m128d_f64[0] * 255.0;\n  *((_BYTE *)this + 472) = (int)(v4->m128d_f64[0] * 255.0);\n  *((_BYTE *)this + 473) = (int)(v5 * 255.0);\n  *((_BYTE *)this + 474) = (int)v6;\n  (*(void (__fastcall **)(cocos2d::extension::CCControlColourPicker *, __int64))(*(_QWORD *)this + 1072LL))(this, 256);\n  v7 = *((_QWORD *)this + 66);\n  if ( v7 )\n    (**(void (__fastcall ***)(__int64, char *))(v7 + 320))(v7 + 320, (char *)this + 472);\n  v8 = *((void (__fastcall ****)(_QWORD, __int16 *))this + 67);\n  if ( v8 )\n  {\n    v12 = *((_WORD *)this + 236);\n    v13 = *((_BYTE *)this + 474);\n    (**v8)(v8, &v12);\n  }\n}", "assembly": "; \n; cocos2d::extension::CCControlColourPicker::colourSliderValueChanged from 0x1800081e0 to 0x1800082d6 (246 bytes)\n; \n; 3 xrefs:\n; > cocos2d::extension::CCControlColourPicker::init @ 0x180007dd3\n; > <???> @ 0x18002fdf8\n; > <???> @ 0x180049858\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, 0x1800081e0\npush    rdi                                                            ; +0x5, 0x1800081e5\nsub     rsp, 60h                                                       ; +0x6, 0x1800081e6\nmovss   xmm0, dword ptr [rdx+1D8h]                                     ; +0xa, 0x1800081ea\nmov     rdi, rcx                                                       ; +0x12, 0x1800081f2\ncvtps2pd xmm0, xmm0                                                    ; +0x15, 0x1800081f5\nmovsd   qword ptr [rcx+1E8h], xmm0                                     ; +0x18, 0x1800081f8\nmovss   xmm1, dword ptr [rdx+1DCh]                                     ; +0x20, 0x180008200\nlea     rdx, [rsp+68h+var_48]                                          ; +0x28, 0x180008208\ncvtps2pd xmm1, xmm1                                                    ; +0x2d, 0x18000820d\nmovsd   qword ptr [rcx+1F0h], xmm1                                     ; +0x30, 0x180008210\nmovups  xmm0, xmmword ptr [rcx+1E0h]                                   ; +0x38, 0x180008218\nmovsd   xmm1, qword ptr [rcx+1F0h]                                     ; +0x3f, 0x18000821f\nlea     rcx, [rsp+68h+var_28]                                          ; +0x47, 0x180008227\nmovaps  [rsp+68h+var_48], xmm0                                         ; +0x4c, 0x18000822c\nmovsd   [rsp+68h+var_38], xmm1                                         ; +0x51, 0x180008231\ncall    ?RGBfromHSV@CCControlUtils@extension@cocos2d@@SA?AURGBA@23@UHSV@23@@Z; cocos2d::extension::CCControlUtils::RGBfromHSV(cocos2d::extension::HSV) ; +0x57, 0x180008237\nmovsd   xmm1, cs:qword_180029570                                       ; +0x5c, 0x18000823c\nlea     rbx, [rdi+1D8h]                                                ; +0x64, 0x180008244\nmov     edx, 100h                                                      ; +0x6b, 0x18000824b\nmov     rcx, rdi                                                       ; +0x70, 0x180008250\nmovups  xmm2, xmmword ptr [rax]                                        ; +0x73, 0x180008253\nmovups  xmm3, xmmword ptr [rax+10h]                                    ; +0x76, 0x180008256\nmovaps  xmm0, xmm2                                                     ; +0x7a, 0x18000825a\nunpckhpd xmm2, xmm2                                                    ; +0x7d, 0x18000825d\nmulsd   xmm0, xmm1                                                     ; +0x81, 0x180008261\nmulsd   xmm2, xmm1                                                     ; +0x85, 0x180008265\nmulsd   xmm3, xmm1                                                     ; +0x89, 0x180008269\ncvttsd2si eax, xmm0                                                    ; +0x8d, 0x18000826d\nmov     [rbx], al                                                      ; +0x91, 0x180008271\ncvttsd2si eax, xmm2                                                    ; +0x93, 0x180008273\nmov     [rbx+1], al                                                    ; +0x97, 0x180008277\ncvttsd2si eax, xmm3                                                    ; +0x9a, 0x18000827a\nmov     [rbx+2], al                                                    ; +0x9e, 0x18000827e\nmov     rax, [rdi]                                                     ; +0xa1, 0x180008281\ncall    qword ptr [rax+430h]                                           ; +0xa4, 0x180008284\nmov     rcx, [rdi+210h]                                                ; +0xaa, 0x18000828a\ntest    rcx, rcx                                                       ; +0xb1, 0x180008291\njz      short loc_1800082A5                                            ; +0xb4, 0x180008294\nadd     rcx, 140h                                                      ; +0xb6, 0x180008296\nmov     rdx, rbx                                                       ; +0xbd, 0x18000829d\nmov     rax, [rcx]                                                     ; +0xc0, 0x1800082a0\ncall    qword ptr [rax]                                                ; +0xc3, 0x1800082a3\nmov     rcx, [rdi+218h]                                                ; +0xc5, 0x1800082a5\ntest    rcx, rcx                                                       ; +0xcc, 0x1800082ac\njz      short loc_1800082CB                                            ; +0xcf, 0x1800082af\nmovzx   eax, word ptr [rbx]                                            ; +0xd1, 0x1800082b1\nlea     rdx, [rsp+68h+arg_0]                                           ; +0xd4, 0x1800082b4\nmov     [rsp+68h+arg_0], ax                                            ; +0xd9, 0x1800082b9\nmovzx   eax, byte ptr [rbx+2]                                          ; +0xde, 0x1800082be\nmov     [rsp+68h+arg_2], al                                            ; +0xe2, 0x1800082c2\nmov     rax, [rcx]                                                     ; +0xe6, 0x1800082c6\ncall    qword ptr [rax]                                                ; +0xe9, 0x1800082c9\nmov     rbx, [rsp+68h+arg_8]                                           ; +0xeb, 0x1800082cb\nadd     rsp, 60h                                                       ; +0xf0, 0x1800082d0\npop     rdi                                                            ; +0xf4, 0x1800082d4\nretn                                                                   ; +0xf5, 0x1800082d5", "xrefs": ["cocos2d::extension::CCControlColourPicker::init @ 0x180007dd3", "<???> @ 0x18002fdf8", "<???> @ 0x180049858"], "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"}