{"type": "func", "start": 6442485904, "end": 6442486193, "name": "cocos2d::extension::CCControlHuePicker::setHuePercentage", "pseudocode": "// \n// cocos2d::extension::CCControlHuePicker::setHuePercentage from 0x180008890 to 0x1800089b1 (289 bytes)\n// \n// 3 xrefs:\n// > <???> @ 0x180024dc8\n// > <???> @ 0x18002fdf8\n// > <???> @ 0x1800498e8\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::CCControlHuePicker::setHuePercentage(\n        cocos2d::extension::CCControlHuePicker *this,\n        float a2)\n{\n  float v3; // xmm8_4\n  float v4; // xmm9_4\n  float v5; // xmm7_4\n  float v6; // xmm6_4\n  float v7; // xmm2_4\n  __int64 v8; // rbx\n  __int64 v9; // rax\n  _BYTE v10[8]; // [rsp+20h] [rbp-58h] BYREF\n  float v11; // [rsp+28h] [rbp-50h]\n  float v12; // [rsp+2Ch] [rbp-4Ch]\n  char v13; // [rsp+80h] [rbp+8h] BYREF\n\n  *((float *)this + 119) = a2;\n  *((float *)this + 118) = a2 * 360.0;\n  cocos2d::CCNode::boundingBox(*((_QWORD *)this + 60), v10);\n  v3 = v11 * 0.5;\n  v4 = (float)(v11 * 0.5) - 15.0;\n  v5 = (float)((float)(*((float *)this + 119) * 360.0) - 180.0) * 0.017453292;\n  v6 = (float)(cosf(v5) * v4) + (float)(v3 + *((float *)this + 124));\n  v7 = sinf(v5);\n  v8 = **((_QWORD **)this + 61);\n  cocos2d::CCPoint::CCPoint(\n    (cocos2d::CCPoint *)&v13,\n    v6,\n    (float)(v7 * v4) + (float)((float)(v12 * 0.5) + *((float *)this + 125)));\n  (*(void (__fastcall **)(_QWORD, __int64))(v8 + 184))(*((_QWORD *)this + 61), v9);\n}", "assembly": "; \n; cocos2d::extension::CCControlHuePicker::setHuePercentage from 0x180008890 to 0x1800089b1 (289 bytes)\n; \n; 3 xrefs:\n; > <???> @ 0x180024dc8\n; > <???> @ 0x18002fdf8\n; > <???> @ 0x1800498e8\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, 0x180008890\npush    rdi                                                            ; +0x5, 0x180008895\nsub     rsp, 70h                                                       ; +0x6, 0x180008896\nmovaps  [rsp+78h+var_18], xmm6                                         ; +0xa, 0x18000889a\nlea     rdx, [rsp+78h+var_58]                                          ; +0xf, 0x18000889f\nmovss   dword ptr [rcx+1DCh], xmm1                                     ; +0x14, 0x1800088a4\nmov     rdi, rcx                                                       ; +0x1c, 0x1800088ac\nmulss   xmm1, cs:dword_1800295C8                                       ; +0x1f, 0x1800088af\nmovaps  [rsp+78h+var_28], xmm7                                         ; +0x27, 0x1800088b7\nmovaps  [rsp+78h+var_38], xmm8                                         ; +0x2c, 0x1800088bc\nmovss   dword ptr [rcx+1D8h], xmm1                                     ; +0x32, 0x1800088c2\nmov     rcx, [rcx+1E0h]                                                ; +0x3a, 0x1800088ca\nmovaps  [rsp+78h+var_48], xmm9                                         ; +0x41, 0x1800088d1\ncall    cs:?boundingBox@CCNode@cocos2d@@QEAA?AVCCRect@2@XZ; cocos2d::CCNode::boundingBox(void) ; +0x47, 0x1800088d7\nmovss   xmm7, dword ptr [rdi+1DCh]                                     ; +0x4d, 0x1800088dd\nmulss   xmm7, cs:dword_1800295C8                                       ; +0x55, 0x1800088e5\nmovss   xmm8, [rsp+78h+var_50]                                         ; +0x5d, 0x1800088ed\nmulss   xmm8, cs:dword_180029510                                       ; +0x64, 0x1800088f4\nsubss   xmm7, cs:dword_1800295BC                                       ; +0x6d, 0x1800088fd\nmovaps  xmm9, xmm8                                                     ; +0x75, 0x180008905\nsubss   xmm9, cs:dword_180029598                                       ; +0x79, 0x180008909\nmulss   xmm7, cs:dword_1800294F8                                       ; +0x82, 0x180008912\nmovaps  xmm0, xmm7; X                                                  ; +0x8a, 0x18000891a\ncall    cosf                                                           ; +0x8d, 0x18000891d\naddss   xmm8, dword ptr [rdi+1F0h]                                     ; +0x92, 0x180008922\nmovaps  xmm6, xmm0                                                     ; +0x9b, 0x18000892b\nmovaps  xmm0, xmm7; X                                                  ; +0x9e, 0x18000892e\nmulss   xmm6, xmm9                                                     ; +0xa1, 0x180008931\naddss   xmm6, xmm8                                                     ; +0xa6, 0x180008936\ncall    sinf                                                           ; +0xab, 0x18000893b\nmov     rax, [rdi+1E8h]                                                ; +0xb0, 0x180008940\nlea     rcx, [rsp+78h+arg_0]                                           ; +0xb7, 0x180008947\nmovaps  xmm2, xmm0                                                     ; +0xbf, 0x18000894f\nmovaps  xmm1, xmm6                                                     ; +0xc2, 0x180008952\nmovss   xmm0, [rsp+78h+var_4C]                                         ; +0xc5, 0x180008955\nmulss   xmm0, cs:dword_180029510                                       ; +0xcb, 0x18000895b\nmov     rbx, [rax]                                                     ; +0xd3, 0x180008963\nmulss   xmm2, xmm9                                                     ; +0xd6, 0x180008966\naddss   xmm0, dword ptr [rdi+1F4h]                                     ; +0xdb, 0x18000896b\naddss   xmm2, xmm0                                                     ; +0xe3, 0x180008973\ncall    cs:??0CCPoint@cocos2d@@QEAA@MM@Z; cocos2d::CCPoint::CCPoint(float,float) ; +0xe7, 0x180008977\nmov     rcx, [rdi+1E8h]                                                ; +0xed, 0x18000897d\nmov     rdx, rax                                                       ; +0xf4, 0x180008984\ncall    qword ptr [rbx+0B8h]                                           ; +0xf7, 0x180008987\nmov     rbx, [rsp+78h+arg_8]                                           ; +0xfd, 0x18000898d\nmovaps  xmm6, [rsp+78h+var_18]                                         ; +0x105, 0x180008995\nmovaps  xmm7, [rsp+78h+var_28]                                         ; +0x10a, 0x18000899a\nmovaps  xmm8, [rsp+78h+var_38]                                         ; +0x10f, 0x18000899f\nmovaps  xmm9, [rsp+78h+var_48]                                         ; +0x115, 0x1800089a5\nadd     rsp, 70h                                                       ; +0x11b, 0x1800089ab\npop     rdi                                                            ; +0x11f, 0x1800089af\nretn                                                                   ; +0x120, 0x1800089b0", "xrefs": ["<???> @ 0x180024dc8", "<???> @ 0x18002fdf8", "<???> @ 0x1800498e8"], "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"}