{"type": "func", "start": 6442475856, "end": 6442476069, "name": "cocos2d::extension::CCControlButton::setHighlighted", "pseudocode": "// \n// cocos2d::extension::CCControlButton::setHighlighted from 0x180006150 to 0x180006225 (213 bytes)\n// \n// 6 xrefs:\n// > <???> @ 0x180024108\n// > <???> @ 0x180027f50\n// > <???> @ 0x18002d7c4\n// > <???> @ 0x18002d7d4\n// > <???> @ 0x18002fdf8\n// > <???> @ 0x1800495ac\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::CCControlButton::setHighlighted(\n        cocos2d::extension::CCControlButton *this,\n        unsigned __int8 a2)\n{\n  __int64 v3; // rax\n  struct cocos2d::CCAction *ActionByTag; // rax\n  float v5; // xmm1_4\n  struct cocos2d::CCAction *v6; // rbx\n\n  *((_DWORD *)this + 109) = a2 + 1;\n  v3 = *(_QWORD *)this;\n  *((_BYTE *)this + 443) = a2;\n  (*(void (**)(void))(v3 + 1064))();\n  ActionByTag = cocos2d::CCNode::getActionByTag(this, -859111423);\n  if ( ActionByTag )\n    cocos2d::CCNode::stopAction(this, ActionByTag);\n  (*(void (__fastcall **)(cocos2d::extension::CCControlButton *))(*(_QWORD *)this + 1064LL))(this);\n  if ( *((_BYTE *)this + 512) )\n  {\n    if ( (*(unsigned __int8 (__fastcall **)(cocos2d::extension::CCControlButton *))(*(_QWORD *)this + 1056LL))(this)\n      && (*(unsigned __int8 (__fastcall **)(cocos2d::extension::CCControlButton *))(*(_QWORD *)this + 1024LL))(this)\n      && !(*(unsigned __int8 (__fastcall **)(cocos2d::extension::CCControlButton *))(*(_QWORD *)this + 1040LL))(this) )\n    {\n      v5 = 1.1;\n    }\n    else\n    {\n      v5 = 1.0;\n    }\n    v6 = cocos2d::CCScaleTo::create(0.050000001, v5);\n    (*(void (__fastcall **)(struct cocos2d::CCAction *, __int64))(*(_QWORD *)v6 + 64LL))(v6, 3435855873LL);\n    cocos2d::CCNode::runAction(this, v6);\n  }\n}", "assembly": "; \n; cocos2d::extension::CCControlButton::setHighlighted from 0x180006150 to 0x180006225 (213 bytes)\n; \n; 6 xrefs:\n; > <???> @ 0x180024108\n; > <???> @ 0x180027f50\n; > <???> @ 0x18002d7c4\n; > <???> @ 0x18002d7d4\n; > <???> @ 0x18002fdf8\n; > <???> @ 0x1800495ac\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    rdi                                                            ; +0x0, 0x180006150\nsub     rsp, 20h                                                       ; +0x2, 0x180006152\nmovzx   eax, dl                                                        ; +0x6, 0x180006156\nmov     rdi, rcx                                                       ; +0x9, 0x180006159\ninc     eax                                                            ; +0xc, 0x18000615c\nmov     [rcx+1B4h], eax                                                ; +0xe, 0x18000615e\nmov     rax, [rcx]                                                     ; +0x14, 0x180006164\nmov     [rcx+1BBh], dl                                                 ; +0x17, 0x180006167\ncall    qword ptr [rax+428h]                                           ; +0x1d, 0x18000616d\nmov     edx, 0CCCB0001h                                                ; +0x23, 0x180006173\nmov     rcx, rdi                                                       ; +0x28, 0x180006178\ncall    cs:?getActionByTag@CCNode@cocos2d@@QEAAPEAVCCAction@2@H@Z; cocos2d::CCNode::getActionByTag(int) ; +0x2b, 0x18000617b\ntest    rax, rax                                                       ; +0x31, 0x180006181\njz      short loc_180006192                                            ; +0x34, 0x180006184\nmov     rdx, rax                                                       ; +0x36, 0x180006186\nmov     rcx, rdi                                                       ; +0x39, 0x180006189\ncall    cs:?stopAction@CCNode@cocos2d@@QEAAXPEAVCCAction@2@@Z; cocos2d::CCNode::stopAction(cocos2d::CCAction *) ; +0x3c, 0x18000618c\nmov     rax, [rdi]                                                     ; +0x42, 0x180006192\nmov     rcx, rdi                                                       ; +0x45, 0x180006195\ncall    qword ptr [rax+428h]                                           ; +0x48, 0x180006198\ncmp     byte ptr [rdi+200h], 0                                         ; +0x4e, 0x18000619e\njz      short loc_18000621F                                            ; +0x55, 0x1800061a5\nmov     rax, [rdi]                                                     ; +0x57, 0x1800061a7\nmov     rcx, rdi                                                       ; +0x5a, 0x1800061aa\nmov     [rsp+28h+arg_0], rbx                                           ; +0x5d, 0x1800061ad\ncall    qword ptr [rax+420h]                                           ; +0x62, 0x1800061b2\ntest    al, al                                                         ; +0x68, 0x1800061b8\njz      short loc_1800061E6                                            ; +0x6a, 0x1800061ba\nmov     rax, [rdi]                                                     ; +0x6c, 0x1800061bc\nmov     rcx, rdi                                                       ; +0x6f, 0x1800061bf\ncall    qword ptr [rax+400h]                                           ; +0x72, 0x1800061c2\ntest    al, al                                                         ; +0x78, 0x1800061c8\njz      short loc_1800061E6                                            ; +0x7a, 0x1800061ca\nmov     rax, [rdi]                                                     ; +0x7c, 0x1800061cc\nmov     rcx, rdi                                                       ; +0x7f, 0x1800061cf\ncall    qword ptr [rax+410h]                                           ; +0x82, 0x1800061d2\ntest    al, al                                                         ; +0x88, 0x1800061d8\njnz     short loc_1800061E6                                            ; +0x8a, 0x1800061da\nmovss   xmm1, cs:dword_18002951C                                       ; +0x8c, 0x1800061dc\njmp     short loc_1800061EE                                            ; +0x94, 0x1800061e4\nmovss   xmm1, cs:dword_180029518                                       ; +0x96, 0x1800061e6\nmovss   xmm0, cs:dword_180029500                                       ; +0x9e, 0x1800061ee\ncall    cs:?create@CCScaleTo@cocos2d@@SAPEAV12@MM@Z; cocos2d::CCScaleTo::create(float,float) ; +0xa6, 0x1800061f6\nmov     edx, 0CCCB0001h                                                ; +0xac, 0x1800061fc\nmov     rcx, rax                                                       ; +0xb1, 0x180006201\nmov     rbx, rax                                                       ; +0xb4, 0x180006204\nmov     r8, [rax]                                                      ; +0xb7, 0x180006207\ncall    qword ptr [r8+40h]                                             ; +0xba, 0x18000620a\nmov     rdx, rbx                                                       ; +0xbe, 0x18000620e\nmov     rcx, rdi                                                       ; +0xc1, 0x180006211\ncall    cs:?runAction@CCNode@cocos2d@@QEAAPEAVCCAction@2@PEAV32@@Z; cocos2d::CCNode::runAction(cocos2d::CCAction *) ; +0xc4, 0x180006214\nmov     rbx, [rsp+28h+arg_0]                                           ; +0xca, 0x18000621a\nadd     rsp, 20h                                                       ; +0xcf, 0x18000621f\npop     rdi                                                            ; +0xd3, 0x180006223\nretn                                                                   ; +0xd4, 0x180006224", "xrefs": ["<???> @ 0x180024108", "<???> @ 0x180027f50", "<???> @ 0x18002d7c4", "<???> @ 0x18002d7d4", "<???> @ 0x18002fdf8", "<???> @ 0x1800495ac"], "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"}