{"type": "func", "start": 6442473744, "end": 6442473895, "name": "cocos2d::extension::CCControlButton::init", "pseudocode": "// \n// cocos2d::extension::CCControlButton::init from 0x180005910 to 0x1800059a7 (151 bytes)\n// \n// 4 xrefs:\n// > <???> @ 0x180023d38\n// > <???> @ 0x180027b80\n// > <???> @ 0x18002fdf8\n// > <???> @ 0x180049540\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// Hidden C++ exception states: #wind=1\nbool __fastcall cocos2d::extension::CCControlButton::init(cocos2d::extension::CCControlButton *this)\n{\n  __int64 v2; // rax\n  cocos2d::CCObject *v3; // rdi\n  __int64 v4; // rbx\n  struct cocos2d::CCLabelTTF *v5; // rax\n  cocos2d::extension::CCScale9Sprite *v7; // [rsp+30h] [rbp+8h]\n\n  v7 = (cocos2d::extension::CCScale9Sprite *)operator new(0x210u);\n  v2 = cocos2d::extension::CCScale9Sprite::CCScale9Sprite(v7);\n  v3 = (cocos2d::CCObject *)v2;\n  if ( !v2 )\n    goto LABEL_5;\n  if ( !(*(unsigned __int8 (__fastcall **)(__int64))(*(_QWORD *)v2 + 72LL))(v2) )\n  {\n    (*(void (__fastcall **)(cocos2d::CCObject *, __int64))(*(_QWORD *)v3 + 8LL))(v3, 1);\nLABEL_5:\n    v3 = nullptr;\n    goto LABEL_6;\n  }\n  cocos2d::CCObject::autorelease(v3);\nLABEL_6:\n  v4 = *(_QWORD *)this;\n  v5 = cocos2d::CCLabelTTF::create(byte_180023460, \"Helvetica\", 12.0);\n  return (*(bool (__fastcall **)(cocos2d::extension::CCControlButton *, struct cocos2d::CCLabelTTF *, cocos2d::CCObject *))(v4 + 1168))(\n           this,\n           v5,\n           v3);\n}", "assembly": "; \n; cocos2d::extension::CCControlButton::init from 0x180005910 to 0x1800059a7 (151 bytes)\n; \n; 4 xrefs:\n; > <???> @ 0x180023d38\n; > <???> @ 0x180027b80\n; > <???> @ 0x18002fdf8\n; > <???> @ 0x180049540\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, 0x180005910\nmov     [rsp+arg_10], rsi                                              ; +0x5, 0x180005915\npush    rdi                                                            ; +0xa, 0x18000591a\nsub     rsp, 20h                                                       ; +0xb, 0x18000591b\nmov     rsi, rcx                                                       ; +0xf, 0x18000591f\nmov     ecx, 210h; Size                                                ; +0x12, 0x180005922\ncall    ??2@YAPEAX_K@Z; operator new(unsigned __int64)                 ; +0x17, 0x180005927\nmov     [rsp+28h+arg_0], rax                                           ; +0x1c, 0x18000592c\nmov     rcx, rax; this                                                 ; +0x21, 0x180005931\ncall    ??0CCScale9Sprite@extension@cocos2d@@QEAA@XZ; cocos2d::extension::CCScale9Sprite::CCScale9Sprite(void) ; +0x24, 0x180005934\nmov     rdi, rax                                                       ; +0x29, 0x180005939\ntest    rax, rax                                                       ; +0x2c, 0x18000593c\njz      short loc_180005964                                            ; +0x2f, 0x18000593f\nmov     rax, [rax]                                                     ; +0x31, 0x180005941\nmov     rcx, rdi                                                       ; +0x34, 0x180005944\ncall    qword ptr [rax+48h]                                            ; +0x37, 0x180005947\nmov     rcx, rdi                                                       ; +0x3a, 0x18000594a\ntest    al, al                                                         ; +0x3d, 0x18000594d\njz      short loc_180005959                                            ; +0x3f, 0x18000594f\ncall    cs:?autorelease@CCObject@cocos2d@@QEAAPEAV12@XZ; cocos2d::CCObject::autorelease(void) ; +0x41, 0x180005951\njmp     short loc_180005966                                            ; +0x47, 0x180005957\nmov     rax, [rdi]                                                     ; +0x49, 0x180005959\nmov     edx, 1                                                         ; +0x4c, 0x18000595c\ncall    qword ptr [rax+8]                                              ; +0x51, 0x180005961\nxor     edi, edi                                                       ; +0x54, 0x180005964\nmov     rbx, [rsi]                                                     ; +0x56, 0x180005966\nmovss   xmm2, cs:dword_180029590                                       ; +0x59, 0x180005969\nlea     rdx, aHelvetica; \"Helvetica\"                                   ; +0x61, 0x180005971\nlea     rcx, byte_180023460                                            ; +0x68, 0x180005978\ncall    cs:?create@CCLabelTTF@cocos2d@@SAPEAV12@PEBD0M@Z; cocos2d::CCLabelTTF::create(char const *,char const *,float) ; +0x6f, 0x18000597f\nmov     rdx, rax                                                       ; +0x75, 0x180005985\nmov     r8, rdi                                                        ; +0x78, 0x180005988\nmov     rcx, rsi                                                       ; +0x7b, 0x18000598b\nmov     rax, [rbx+490h]                                                ; +0x7e, 0x18000598e\nmov     rbx, [rsp+28h+arg_8]                                           ; +0x85, 0x180005995\nmov     rsi, [rsp+28h+arg_10]                                          ; +0x8a, 0x18000599a\nadd     rsp, 20h                                                       ; +0x8f, 0x18000599f\npop     rdi                                                            ; +0x93, 0x1800059a3\njmp     rax                                                            ; +0x94, 0x1800059a4", "xrefs": ["<???> @ 0x180023d38", "<???> @ 0x180027b80", "<???> @ 0x18002fdf8", "<???> @ 0x180049540"], "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"}