{"type": "func", "start": 6442486320, "end": 6442486489, "name": "cocos2d::extension::CCControlHuePicker::updateSliderPosition", "pseudocode": "// \n// cocos2d::extension::CCControlHuePicker::updateSliderPosition from 0x180008a30 to 0x180008ad9 (169 bytes)\n// \n// 3 xrefs:\n// > cocos2d::extension::CCControlHuePicker::checkSliderPosition @ 0x180008b78\n// > <???> @ 0x18002fdf8\n// > <???> @ 0x180049900\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::CCControlHuePicker::updateSliderPosition(__int64 *a1, float *a2)\n{\n  __int64 v4; // rdi\n  _BYTE v6[8]; // [rsp+20h] [rbp-18h] BYREF\n  float v7; // [rsp+28h] [rbp-10h]\n  float v8; // [rsp+2Ch] [rbp-Ch]\n\n  cocos2d::CCNode::boundingBox(a1[60], v6);\n  v4 = *a1;\n  atan2f(\n    a2[1] - (float)((float)(v8 * 0.5) + *((float *)a1 + 125)),\n    *a2 - (float)((float)(v7 * 0.5) + *((float *)a1 + 124)));\n  (*(void (__fastcall **)(__int64 *))(v4 + 1112))(a1);\n  return (*(__int64 (__fastcall **)(__int64 *, __int64))(*a1 + 1072))(a1, 256);\n}", "assembly": "; \n; cocos2d::extension::CCControlHuePicker::updateSliderPosition from 0x180008a30 to 0x180008ad9 (169 bytes)\n; \n; 3 xrefs:\n; > cocos2d::extension::CCControlHuePicker::checkSliderPosition @ 0x180008b78\n; > <???> @ 0x18002fdf8\n; > <???> @ 0x180049900\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, 0x180008a30\nmov     [rsp+arg_8], rsi                                               ; +0x5, 0x180008a35\npush    rdi                                                            ; +0xa, 0x180008a3a\nsub     rsp, 30h                                                       ; +0xb, 0x180008a3b\nmov     rbx, rdx                                                       ; +0xf, 0x180008a3f\nmov     rsi, rcx                                                       ; +0x12, 0x180008a42\nmov     rcx, [rcx+1E0h]                                                ; +0x15, 0x180008a45\nlea     rdx, [rsp+38h+var_18]                                          ; +0x1c, 0x180008a4c\ncall    cs:?boundingBox@CCNode@cocos2d@@QEAA?AVCCRect@2@XZ; cocos2d::CCNode::boundingBox(void) ; +0x21, 0x180008a51\nmovss   xmm1, [rsp+38h+var_C]                                          ; +0x27, 0x180008a57\nmulss   xmm1, cs:dword_180029510                                       ; +0x2d, 0x180008a5d\nmov     rdi, [rsi]                                                     ; +0x35, 0x180008a65\nmovss   xmm2, [rsp+38h+var_10]                                         ; +0x38, 0x180008a68\nmulss   xmm2, cs:dword_180029510                                       ; +0x3e, 0x180008a6e\naddss   xmm1, dword ptr [rsi+1F4h]                                     ; +0x46, 0x180008a76\nmovss   xmm0, dword ptr [rbx+4]                                        ; +0x4e, 0x180008a7e\naddss   xmm2, dword ptr [rsi+1F0h]                                     ; +0x53, 0x180008a83\nsubss   xmm0, xmm1; Y                                                  ; +0x5b, 0x180008a8b\nmovss   xmm1, dword ptr [rbx]                                          ; +0x5f, 0x180008a8f\nsubss   xmm1, xmm2; X                                                  ; +0x63, 0x180008a93\ncall    atan2f                                                         ; +0x67, 0x180008a97\nmulss   xmm0, cs:dword_1800295B0                                       ; +0x6c, 0x180008a9c\nmov     rcx, rsi                                                       ; +0x74, 0x180008aa4\naddss   xmm0, cs:dword_1800295BC                                       ; +0x77, 0x180008aa7\nmovaps  xmm1, xmm0                                                     ; +0x7f, 0x180008aaf\ncall    qword ptr [rdi+458h]                                           ; +0x82, 0x180008ab2\nmov     rax, [rsi]                                                     ; +0x88, 0x180008ab8\nmov     edx, 100h                                                      ; +0x8b, 0x180008abb\nmov     rcx, rsi                                                       ; +0x90, 0x180008ac0\ncall    qword ptr [rax+430h]                                           ; +0x93, 0x180008ac3\nmov     rbx, [rsp+38h+arg_0]                                           ; +0x99, 0x180008ac9\nmov     rsi, [rsp+38h+arg_8]                                           ; +0x9e, 0x180008ace\nadd     rsp, 30h                                                       ; +0xa3, 0x180008ad3\npop     rdi                                                            ; +0xa7, 0x180008ad7\nretn                                                                   ; +0xa8, 0x180008ad8", "xrefs": ["cocos2d::extension::CCControlHuePicker::checkSliderPosition @ 0x180008b78", "<???> @ 0x18002fdf8", "<???> @ 0x180049900"], "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"}