{"type": "func", "start": 6442473904, "end": 6442474931, "name": "cocos2d::extension::CCControlButton::initWithLabelAndBackgroundSprite", "pseudocode": "// \n// cocos2d::extension::CCControlButton::initWithLabelAndBackgroundSprite from 0x1800059b0 to 0x180005db3 (1027 bytes)\n// \n// 4 xrefs:\n// > <???> @ 0x180024180\n// > <???> @ 0x180027fc8\n// > <???> @ 0x18002fdf8\n// > <???> @ 0x18004954c\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\nchar __fastcall cocos2d::extension::CCControlButton::initWithLabelAndBackgroundSprite(\n        cocos2d::extension::CCControlButton *this,\n        struct cocos2d::CCNode *a2,\n        struct cocos2d::extension::CCScale9Sprite *a3)\n{\n  __int64 v6; // r14\n  __int64 v7; // r15\n  cocos2d::CCObject *v8; // rax\n  cocos2d::CCObject *v9; // rbx\n  cocos2d::CCObject *v10; // rcx\n  cocos2d::CCObject *v11; // rax\n  cocos2d::CCObject *v12; // rbx\n  cocos2d::CCObject *v13; // rcx\n  cocos2d::CCObject *v14; // rax\n  cocos2d::CCObject *v15; // rbx\n  cocos2d::CCObject *v16; // rcx\n  cocos2d::CCObject *v17; // rax\n  __int64 v18; // rdx\n  cocos2d::CCObject *v19; // rbx\n  cocos2d::CCObject *v20; // rcx\n  __int64 v21; // rbx\n  __int64 v22; // rax\n  __int64 v23; // rbx\n  __int64 v24; // rax\n  cocos2d::CCObject *v25; // rcx\n  cocos2d::CCObject *v26; // rcx\n  __int64 v27; // rdx\n  __int64 v28; // rdx\n  _BYTE *v29; // rax\n  size_t v30; // r8\n  __int64 v31; // rbx\n  void *v32; // rcx\n  __int64 v33; // rax\n  __int64 v34; // rbx\n  __int64 v35; // rax\n  __int16 v37; // [rsp+30h] [rbp-78h] BYREF\n  char v38; // [rsp+32h] [rbp-76h]\n  _BYTE v39[8]; // [rsp+40h] [rbp-68h] BYREF\n  void *Block[2]; // [rsp+48h] [rbp-60h] BYREF\n  __m128i si128; // [rsp+58h] [rbp-50h]\n\n  if ( !cocos2d::extension::CCControl::init(this) )\n    return 0;\n  v6 = _RTDynamicCast(\n         a2,\n         0,\n         &cocos2d::CCNode `RTTI Type Descriptor',\n         &cocos2d::CCLabelProtocol `RTTI Type Descriptor',\n         0);\n  v7 = _RTDynamicCast(\n         a2,\n         0,\n         &cocos2d::CCNode `RTTI Type Descriptor',\n         &cocos2d::CCRGBAProtocol `RTTI Type Descriptor',\n         0);\n  *((_BYTE *)this + 525) = 1;\n  v8 = (cocos2d::CCObject *)cocos2d::CCDictionary::create();\n  v9 = v8;\n  if ( *((cocos2d::CCObject **)this + 66) != v8 )\n  {\n    if ( v8 )\n      cocos2d::CCObject::retain(v8);\n    v10 = *((cocos2d::CCObject **)this + 66);\n    if ( v10 )\n      cocos2d::CCObject::release(v10);\n    *((_QWORD *)this + 66) = v9;\n  }\n  v11 = (cocos2d::CCObject *)cocos2d::CCDictionary::create();\n  v12 = v11;\n  if ( *((cocos2d::CCObject **)this + 67) != v11 )\n  {\n    if ( v11 )\n      cocos2d::CCObject::retain(v11);\n    v13 = *((cocos2d::CCObject **)this + 67);\n    if ( v13 )\n      cocos2d::CCObject::release(v13);\n    *((_QWORD *)this + 67) = v12;\n  }\n  v14 = (cocos2d::CCObject *)cocos2d::CCDictionary::create();\n  v15 = v14;\n  if ( *((cocos2d::CCObject **)this + 68) != v14 )\n  {\n    if ( v14 )\n      cocos2d::CCObject::retain(v14);\n    v16 = *((cocos2d::CCObject **)this + 68);\n    if ( v16 )\n      cocos2d::CCObject::release(v16);\n    *((_QWORD *)this + 68) = v15;\n  }\n  v17 = (cocos2d::CCObject *)cocos2d::CCDictionary::create();\n  v19 = v17;\n  if ( *((cocos2d::CCObject **)this + 69) != v17 )\n  {\n    if ( v17 )\n      cocos2d::CCObject::retain(v17);\n    v20 = *((cocos2d::CCObject **)this + 69);\n    if ( v20 )\n      cocos2d::CCObject::release(v20);\n    *((_QWORD *)this + 69) = v19;\n  }\n  LOBYTE(v18) = 1;\n  (*(void (__fastcall **)(cocos2d::extension::CCControlButton *, __int64))(*(_QWORD *)this + 904LL))(this, v18);\n  *((_BYTE *)this + 524) = 0;\n  *((_BYTE *)this + 512) = 1;\n  *((_QWORD *)this + 59) = 0;\n  *((_BYTE *)this + 483) = 1;\n  (*(void (__fastcall **)(cocos2d::extension::CCControlButton *))(*(_QWORD *)this + 1064LL))(this);\n  v21 = *(_QWORD *)this;\n  v22 = cocos2d::CCSize::CCSize((cocos2d::CCSize *)v39, (const struct cocos2d::CCSize *)&unk_1800485F0);\n  (*(void (__fastcall **)(cocos2d::extension::CCControlButton *, __int64))(v21 + 1120))(this, v22);\n  *((_BYTE *)this + 512) = 1;\n  (*(void (__fastcall **)(cocos2d::extension::CCControlButton *, _QWORD))(*(_QWORD *)this + 416LL))(this, 0);\n  v23 = *(_QWORD *)this;\n  v24 = cocos2d::CCPoint::CCPoint((cocos2d::CCPoint *)v39, 0.5, 0.5);\n  (*(void (__fastcall **)(cocos2d::extension::CCControlButton *, __int64))(v23 + 272))(this, v24);\n  if ( *((struct cocos2d::CCNode **)this + 61) != a2 )\n  {\n    if ( a2 )\n      cocos2d::CCObject::retain(a2);\n    v25 = *((cocos2d::CCObject **)this + 61);\n    if ( v25 )\n      cocos2d::CCObject::release(v25);\n    *((_QWORD *)this + 61) = a2;\n  }\n  if ( *((struct cocos2d::extension::CCScale9Sprite **)this + 62) != a3 )\n  {\n    if ( a3 )\n      cocos2d::CCObject::retain(a3);\n    v26 = *((cocos2d::CCObject **)this + 62);\n    if ( v26 )\n      cocos2d::CCObject::release(v26);\n    *((_QWORD *)this + 62) = a3;\n  }\n  v37 = -1;\n  v38 = -1;\n  (**((void (__fastcall ***)(char *, __int16 *))this + 51))((char *)this + 408, &v37);\n  LOBYTE(v27) = -1;\n  (*(void (__fastcall **)(char *, __int64))(*((_QWORD *)this + 51) + 40LL))((char *)this + 408, v27);\n  LOBYTE(v28) = 1;\n  (*(void (__fastcall **)(char *, __int64))(*((_QWORD *)this + 51) + 48LL))((char *)this + 408, v28);\n  v29 = (_BYTE *)(*(__int64 (__fastcall **)(__int64))(*(_QWORD *)v6 + 8LL))(v6);\n  *(_OWORD *)Block = 0;\n  si128 = 0;\n  v30 = -1;\n  do\n    ++v30;\n  while ( v29[v30] );\n  sub_180003AB0(Block, v29, v30);\n  v31 = cocos2d::CCString::create(Block);\n  if ( si128.m128i_i64[1] > 0xFuLL )\n  {\n    v32 = Block[0];\n    if ( (unsigned __int64)(si128.m128i_i64[1] + 1) >= 0x1000 )\n    {\n      v32 = *((void **)Block[0] - 1);\n      if ( (unsigned __int64)((char *)Block[0] - (char *)v32 - 8) > 0x1F )\n        invalid_parameter_noinfo_noreturn();\n    }\n    j_j_free(v32);\n  }\n  si128 = _mm_load_si128((const __m128i *)&xmmword_1800295E0);\n  LOBYTE(Block[0]) = 0;\n  (*(void (__fastcall **)(cocos2d::extension::CCControlButton *, __int64, __int64))(*(_QWORD *)this + 1200LL))(\n    this,\n    v31,\n    1);\n  v33 = (*(__int64 (__fastcall **)(__int64))(*(_QWORD *)v7 + 8LL))(v7);\n  v37 = *(_WORD *)v33;\n  v38 = *(_BYTE *)(v33 + 2);\n  (*(void (__fastcall **)(cocos2d::extension::CCControlButton *, __int16 *, __int64))(*(_QWORD *)this + 1216LL))(\n    this,\n    &v37,\n    1);\n  (*(void (__fastcall **)(cocos2d::extension::CCControlButton *, struct cocos2d::CCNode *, __int64))(*(_QWORD *)this + 1232LL))(\n    this,\n    a2,\n    1);\n  (*(void (__fastcall **)(cocos2d::extension::CCControlButton *, struct cocos2d::extension::CCScale9Sprite *, __int64))(*(_QWORD *)this + 1296LL))(\n    this,\n    a3,\n    1);\n  v34 = *(_QWORD *)this;\n  v35 = cocos2d::CCPoint::CCPoint((cocos2d::CCPoint *)v39, 0.5, 0.5);\n  (*(void (__fastcall **)(cocos2d::extension::CCControlButton *, __int64))(v34 + 1152))(this, v35);\n  (*(void (__fastcall **)(cocos2d::extension::CCControlButton *))(*(_QWORD *)this + 1064LL))(this);\n  return 1;\n}", "assembly": "; \n; cocos2d::extension::CCControlButton::initWithLabelAndBackgroundSprite from 0x1800059b0 to 0x180005db3 (1027 bytes)\n; \n; 4 xrefs:\n; > <???> @ 0x180024180\n; > <???> @ 0x180027fc8\n; > <???> @ 0x18002fdf8\n; > <???> @ 0x18004954c\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_18], rbx                                              ; +0x0, 0x1800059b0\npush    rbp                                                            ; +0x5, 0x1800059b5\npush    rsi                                                            ; +0x6, 0x1800059b6\npush    rdi                                                            ; +0x7, 0x1800059b7\npush    r14                                                            ; +0x8, 0x1800059b8\npush    r15                                                            ; +0xa, 0x1800059ba\nsub     rsp, 80h                                                       ; +0xc, 0x1800059bc\nmovaps  [rsp+0A8h+var_38], xmm6                                        ; +0x13, 0x1800059c3\nmov     rax, cs:__security_cookie                                      ; +0x18, 0x1800059c8\nxor     rax, rsp                                                       ; +0x1f, 0x1800059cf\nmov     [rsp+0A8h+var_40], rax                                         ; +0x22, 0x1800059d2\nmov     rbp, r8                                                        ; +0x27, 0x1800059d7\nmov     rsi, rdx                                                       ; +0x2a, 0x1800059da\nmov     rdi, rcx                                                       ; +0x2d, 0x1800059dd\ncall    ?init@CCControl@extension@cocos2d@@UEAA_NXZ; cocos2d::extension::CCControl::init(void) ; +0x30, 0x1800059e0\ntest    al, al                                                         ; +0x35, 0x1800059e5\njz      loc_180005D88                                                  ; +0x37, 0x1800059e7\nmov     [rsp+0A8h+var_88], 0                                           ; +0x3d, 0x1800059ed\nlea     r9, ??_R0?AVCCLabelProtocol@cocos2d@@@8; cocos2d::CCLabelProtocol `RTTI Type Descriptor' ; +0x45, 0x1800059f5\nlea     r8, ??_R0?AVCCNode@cocos2d@@@8; cocos2d::CCNode `RTTI Type Descriptor' ; +0x4c, 0x1800059fc\nxor     edx, edx                                                       ; +0x53, 0x180005a03\nmov     rcx, rsi                                                       ; +0x55, 0x180005a05\ncall    __RTDynamicCast                                                ; +0x58, 0x180005a08\nmov     r14, rax                                                       ; +0x5d, 0x180005a0d\nmov     [rsp+0A8h+var_88], 0                                           ; +0x60, 0x180005a10\nlea     r9, ??_R0?AVCCRGBAProtocol@cocos2d@@@8; cocos2d::CCRGBAProtocol `RTTI Type Descriptor' ; +0x68, 0x180005a18\nlea     r8, ??_R0?AVCCNode@cocos2d@@@8; cocos2d::CCNode `RTTI Type Descriptor' ; +0x6f, 0x180005a1f\nxor     edx, edx                                                       ; +0x76, 0x180005a26\nmov     rcx, rsi                                                       ; +0x78, 0x180005a28\ncall    __RTDynamicCast                                                ; +0x7b, 0x180005a2b\nmov     r15, rax                                                       ; +0x80, 0x180005a30\nmov     byte ptr [rdi+20Dh], 1                                         ; +0x83, 0x180005a33\ncall    cs:?create@CCDictionary@cocos2d@@SAPEAV12@XZ; cocos2d::CCDictionary::create(void) ; +0x8a, 0x180005a3a\nmov     rbx, rax                                                       ; +0x90, 0x180005a40\ncmp     [rdi+210h], rax                                                ; +0x93, 0x180005a43\njz      short loc_180005A73                                            ; +0x9a, 0x180005a4a\ntest    rax, rax                                                       ; +0x9c, 0x180005a4c\njz      short loc_180005A5A                                            ; +0x9f, 0x180005a4f\nmov     rcx, rax                                                       ; +0xa1, 0x180005a51\ncall    cs:?retain@CCObject@cocos2d@@QEAAXXZ; cocos2d::CCObject::retain(void) ; +0xa4, 0x180005a54\nmov     rcx, [rdi+210h]                                                ; +0xaa, 0x180005a5a\ntest    rcx, rcx                                                       ; +0xb1, 0x180005a61\njz      short loc_180005A6C                                            ; +0xb4, 0x180005a64\ncall    cs:?release@CCObject@cocos2d@@QEAAXXZ; cocos2d::CCObject::release(void) ; +0xb6, 0x180005a66\nmov     [rdi+210h], rbx                                                ; +0xbc, 0x180005a6c\ncall    cs:?create@CCDictionary@cocos2d@@SAPEAV12@XZ; cocos2d::CCDictionary::create(void) ; +0xc3, 0x180005a73\nmov     rbx, rax                                                       ; +0xc9, 0x180005a79\ncmp     [rdi+218h], rax                                                ; +0xcc, 0x180005a7c\njz      short loc_180005AAC                                            ; +0xd3, 0x180005a83\ntest    rax, rax                                                       ; +0xd5, 0x180005a85\njz      short loc_180005A93                                            ; +0xd8, 0x180005a88\nmov     rcx, rax                                                       ; +0xda, 0x180005a8a\ncall    cs:?retain@CCObject@cocos2d@@QEAAXXZ; cocos2d::CCObject::retain(void) ; +0xdd, 0x180005a8d\nmov     rcx, [rdi+218h]                                                ; +0xe3, 0x180005a93\ntest    rcx, rcx                                                       ; +0xea, 0x180005a9a\njz      short loc_180005AA5                                            ; +0xed, 0x180005a9d\ncall    cs:?release@CCObject@cocos2d@@QEAAXXZ; cocos2d::CCObject::release(void) ; +0xef, 0x180005a9f\nmov     [rdi+218h], rbx                                                ; +0xf5, 0x180005aa5\ncall    cs:?create@CCDictionary@cocos2d@@SAPEAV12@XZ; cocos2d::CCDictionary::create(void) ; +0xfc, 0x180005aac\nmov     rbx, rax                                                       ; +0x102, 0x180005ab2\ncmp     [rdi+220h], rax                                                ; +0x105, 0x180005ab5\njz      short loc_180005AE5                                            ; +0x10c, 0x180005abc\ntest    rax, rax                                                       ; +0x10e, 0x180005abe\njz      short loc_180005ACC                                            ; +0x111, 0x180005ac1\nmov     rcx, rax                                                       ; +0x113, 0x180005ac3\ncall    cs:?retain@CCObject@cocos2d@@QEAAXXZ; cocos2d::CCObject::retain(void) ; +0x116, 0x180005ac6\nmov     rcx, [rdi+220h]                                                ; +0x11c, 0x180005acc\ntest    rcx, rcx                                                       ; +0x123, 0x180005ad3\njz      short loc_180005ADE                                            ; +0x126, 0x180005ad6\ncall    cs:?release@CCObject@cocos2d@@QEAAXXZ; cocos2d::CCObject::release(void) ; +0x128, 0x180005ad8\nmov     [rdi+220h], rbx                                                ; +0x12e, 0x180005ade\ncall    cs:?create@CCDictionary@cocos2d@@SAPEAV12@XZ; cocos2d::CCDictionary::create(void) ; +0x135, 0x180005ae5\nmov     rbx, rax                                                       ; +0x13b, 0x180005aeb\ncmp     [rdi+228h], rax                                                ; +0x13e, 0x180005aee\njz      short loc_180005B1E                                            ; +0x145, 0x180005af5\ntest    rax, rax                                                       ; +0x147, 0x180005af7\njz      short loc_180005B05                                            ; +0x14a, 0x180005afa\nmov     rcx, rax                                                       ; +0x14c, 0x180005afc\ncall    cs:?retain@CCObject@cocos2d@@QEAAXXZ; cocos2d::CCObject::retain(void) ; +0x14f, 0x180005aff\nmov     rcx, [rdi+228h]                                                ; +0x155, 0x180005b05\ntest    rcx, rcx                                                       ; +0x15c, 0x180005b0c\njz      short loc_180005B17                                            ; +0x15f, 0x180005b0f\ncall    cs:?release@CCObject@cocos2d@@QEAAXXZ; cocos2d::CCObject::release(void) ; +0x161, 0x180005b11\nmov     [rdi+228h], rbx                                                ; +0x167, 0x180005b17\nmov     rax, [rdi]                                                     ; +0x16e, 0x180005b1e\nmov     dl, 1                                                          ; +0x171, 0x180005b21\nmov     rcx, rdi                                                       ; +0x173, 0x180005b23\ncall    qword ptr [rax+388h]                                           ; +0x176, 0x180005b26\nmov     byte ptr [rdi+20Ch], 0                                         ; +0x17c, 0x180005b2c\nmov     byte ptr [rdi+200h], 1                                         ; +0x183, 0x180005b33\nmov     qword ptr [rdi+1D8h], 0                                        ; +0x18a, 0x180005b3a\nmov     byte ptr [rdi+1E3h], 1                                         ; +0x195, 0x180005b45\nmov     rax, [rdi]                                                     ; +0x19c, 0x180005b4c\nmov     rcx, rdi                                                       ; +0x19f, 0x180005b4f\ncall    qword ptr [rax+428h]                                           ; +0x1a2, 0x180005b52\nmov     rbx, [rdi]                                                     ; +0x1a8, 0x180005b58\nlea     rdx, unk_1800485F0                                             ; +0x1ab, 0x180005b5b\nlea     rcx, [rsp+0A8h+var_68]                                         ; +0x1b2, 0x180005b62\ncall    cs:??0CCSize@cocos2d@@QEAA@AEBV01@@Z; cocos2d::CCSize::CCSize(cocos2d::CCSize const &) ; +0x1b7, 0x180005b67\nmov     rdx, rax                                                       ; +0x1bd, 0x180005b6d\nmov     rcx, rdi                                                       ; +0x1c0, 0x180005b70\ncall    qword ptr [rbx+460h]                                           ; +0x1c3, 0x180005b73\nmov     byte ptr [rdi+200h], 1                                         ; +0x1c9, 0x180005b79\nmov     rax, [rdi]                                                     ; +0x1d0, 0x180005b80\nxor     edx, edx                                                       ; +0x1d3, 0x180005b83\nmov     rcx, rdi                                                       ; +0x1d5, 0x180005b85\ncall    qword ptr [rax+1A0h]                                           ; +0x1d8, 0x180005b88\nmov     rbx, [rdi]                                                     ; +0x1de, 0x180005b8e\nmovss   xmm6, cs:dword_180029510                                       ; +0x1e1, 0x180005b91\nmovaps  xmm2, xmm6                                                     ; +0x1e9, 0x180005b99\nmovaps  xmm1, xmm6                                                     ; +0x1ec, 0x180005b9c\nlea     rcx, [rsp+0A8h+var_68]                                         ; +0x1ef, 0x180005b9f\ncall    cs:??0CCPoint@cocos2d@@QEAA@MM@Z; cocos2d::CCPoint::CCPoint(float,float) ; +0x1f4, 0x180005ba4\nmov     rdx, rax                                                       ; +0x1fa, 0x180005baa\nmov     rcx, rdi                                                       ; +0x1fd, 0x180005bad\ncall    qword ptr [rbx+110h]                                           ; +0x200, 0x180005bb0\ncmp     [rdi+1E8h], rsi                                                ; +0x206, 0x180005bb6\njz      short loc_180005BE6                                            ; +0x20d, 0x180005bbd\ntest    rsi, rsi                                                       ; +0x20f, 0x180005bbf\njz      short loc_180005BCD                                            ; +0x212, 0x180005bc2\nmov     rcx, rsi                                                       ; +0x214, 0x180005bc4\ncall    cs:?retain@CCObject@cocos2d@@QEAAXXZ; cocos2d::CCObject::retain(void) ; +0x217, 0x180005bc7\nmov     rcx, [rdi+1E8h]                                                ; +0x21d, 0x180005bcd\ntest    rcx, rcx                                                       ; +0x224, 0x180005bd4\njz      short loc_180005BDF                                            ; +0x227, 0x180005bd7\ncall    cs:?release@CCObject@cocos2d@@QEAAXXZ; cocos2d::CCObject::release(void) ; +0x229, 0x180005bd9\nmov     [rdi+1E8h], rsi                                                ; +0x22f, 0x180005bdf\ncmp     [rdi+1F0h], rbp                                                ; +0x236, 0x180005be6\njz      short loc_180005C16                                            ; +0x23d, 0x180005bed\ntest    rbp, rbp                                                       ; +0x23f, 0x180005bef\njz      short loc_180005BFD                                            ; +0x242, 0x180005bf2\nmov     rcx, rbp                                                       ; +0x244, 0x180005bf4\ncall    cs:?retain@CCObject@cocos2d@@QEAAXXZ; cocos2d::CCObject::retain(void) ; +0x247, 0x180005bf7\nmov     rcx, [rdi+1F0h]                                                ; +0x24d, 0x180005bfd\ntest    rcx, rcx                                                       ; +0x254, 0x180005c04\njz      short loc_180005C0F                                            ; +0x257, 0x180005c07\ncall    cs:?release@CCObject@cocos2d@@QEAAXXZ; cocos2d::CCObject::release(void) ; +0x259, 0x180005c09\nmov     [rdi+1F0h], rbp                                                ; +0x25f, 0x180005c0f\nmov     [rsp+0A8h+var_78], 0FFFFh                                      ; +0x266, 0x180005c16\nmov     [rsp+0A8h+var_76], 0FFh                                        ; +0x26d, 0x180005c1d\nlea     rbx, [rdi+198h]                                                ; +0x272, 0x180005c22\nmov     rax, [rbx]                                                     ; +0x279, 0x180005c29\nlea     rdx, [rsp+0A8h+var_78]                                         ; +0x27c, 0x180005c2c\nmov     rcx, rbx                                                       ; +0x281, 0x180005c31\ncall    qword ptr [rax]                                                ; +0x284, 0x180005c34\nmov     rax, [rbx]                                                     ; +0x286, 0x180005c36\nmov     dl, 0FFh                                                       ; +0x289, 0x180005c39\nmov     rcx, rbx                                                       ; +0x28b, 0x180005c3b\ncall    qword ptr [rax+28h]                                            ; +0x28e, 0x180005c3e\nmov     rax, [rbx]                                                     ; +0x291, 0x180005c41\nmov     dl, 1                                                          ; +0x294, 0x180005c44\nmov     rcx, rbx                                                       ; +0x296, 0x180005c46\ncall    qword ptr [rax+30h]                                            ; +0x299, 0x180005c49\nmov     rax, [r14]                                                     ; +0x29c, 0x180005c4c\nmov     rcx, r14                                                       ; +0x29f, 0x180005c4f\ncall    qword ptr [rax+8]                                              ; +0x2a2, 0x180005c52\nxorps   xmm0, xmm0                                                     ; +0x2a5, 0x180005c55\nmovups  xmmword ptr [rsp+0A8h+Block], xmm0                             ; +0x2a8, 0x180005c58\nxorps   xmm1, xmm1                                                     ; +0x2ad, 0x180005c5d\nmovdqu  [rsp+0A8h+var_50], xmm1                                        ; +0x2b0, 0x180005c60\nmov     r8, 0FFFFFFFFFFFFFFFFh                                         ; +0x2b6, 0x180005c66\nnop     dword ptr [rax]                                                ; +0x2bd, 0x180005c6d\ninc     r8                                                             ; +0x2c0, 0x180005c70\ncmp     byte ptr [rax+r8], 0                                           ; +0x2c3, 0x180005c73\njnz     short loc_180005C70                                            ; +0x2c8, 0x180005c78\nmov     rdx, rax                                                       ; +0x2ca, 0x180005c7a\nlea     rcx, [rsp+0A8h+Block]                                          ; +0x2cd, 0x180005c7d\ncall    sub_180003AB0                                                  ; +0x2d2, 0x180005c82\nnop                                                                    ; +0x2d7, 0x180005c87\nlea     rcx, [rsp+0A8h+Block]                                          ; +0x2d8, 0x180005c88\ncall    cs:?create@CCString@cocos2d@@SAPEAV12@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z; cocos2d::CCString::create(std::string const &) ; +0x2dd, 0x180005c8d\nmov     rbx, rax                                                       ; +0x2e3, 0x180005c93\nmov     rdx, qword ptr [rsp+0A8h+var_50+8]                             ; +0x2e6, 0x180005c96\ncmp     rdx, 0Fh                                                       ; +0x2eb, 0x180005c9b\njbe     short loc_180005CD6                                            ; +0x2ef, 0x180005c9f\ninc     rdx                                                            ; +0x2f1, 0x180005ca1\nmov     rcx, [rsp+0A8h+Block]; Block                                   ; +0x2f4, 0x180005ca4\nmov     rax, rcx                                                       ; +0x2f9, 0x180005ca9\ncmp     rdx, 1000h                                                     ; +0x2fc, 0x180005cac\njb      short loc_180005CD1                                            ; +0x303, 0x180005cb3\nadd     rdx, 27h ; '''                                                 ; +0x305, 0x180005cb5\nmov     rcx, [rcx-8]                                                   ; +0x309, 0x180005cb9\nsub     rax, rcx                                                       ; +0x30d, 0x180005cbd\nadd     rax, 0FFFFFFFFFFFFFFF8h                                        ; +0x310, 0x180005cc0\ncmp     rax, 1Fh                                                       ; +0x314, 0x180005cc4\njbe     short loc_180005CD1                                            ; +0x318, 0x180005cc8\ncall    cs:_invalid_parameter_noinfo_noreturn                          ; +0x31a, 0x180005cca\ndb 0CCh                                                                ; +0x320, 0x180005cd0\ncall    j_j_free                                                       ; +0x321, 0x180005cd1\nmovdqa  xmm0, cs:xmmword_1800295E0                                     ; +0x326, 0x180005cd6\nmovdqu  [rsp+0A8h+var_50], xmm0                                        ; +0x32e, 0x180005cde\nmov     byte ptr [rsp+0A8h+Block], 0                                   ; +0x334, 0x180005ce4\nmov     rax, [rdi]                                                     ; +0x339, 0x180005ce9\nmov     r8d, 1                                                         ; +0x33c, 0x180005cec\nmov     rdx, rbx                                                       ; +0x342, 0x180005cf2\nmov     rcx, rdi                                                       ; +0x345, 0x180005cf5\ncall    qword ptr [rax+4B0h]                                           ; +0x348, 0x180005cf8\nmov     rax, [r15]                                                     ; +0x34e, 0x180005cfe\nmov     rcx, r15                                                       ; +0x351, 0x180005d01\ncall    qword ptr [rax+8]                                              ; +0x354, 0x180005d04\nmovzx   ecx, word ptr [rax]                                            ; +0x357, 0x180005d07\nmov     [rsp+0A8h+var_78], cx                                          ; +0x35a, 0x180005d0a\nmovzx   eax, byte ptr [rax+2]                                          ; +0x35f, 0x180005d0f\nmov     [rsp+0A8h+var_76], al                                          ; +0x363, 0x180005d13\nmov     rax, [rdi]                                                     ; +0x367, 0x180005d17\nmov     r8d, 1                                                         ; +0x36a, 0x180005d1a\nlea     rdx, [rsp+0A8h+var_78]                                         ; +0x370, 0x180005d20\nmov     rcx, rdi                                                       ; +0x375, 0x180005d25\ncall    qword ptr [rax+4C0h]                                           ; +0x378, 0x180005d28\nmov     rax, [rdi]                                                     ; +0x37e, 0x180005d2e\nmov     r8d, 1                                                         ; +0x381, 0x180005d31\nmov     rdx, rsi                                                       ; +0x387, 0x180005d37\nmov     rcx, rdi                                                       ; +0x38a, 0x180005d3a\ncall    qword ptr [rax+4D0h]                                           ; +0x38d, 0x180005d3d\nmov     rax, [rdi]                                                     ; +0x393, 0x180005d43\nmov     r8d, 1                                                         ; +0x396, 0x180005d46\nmov     rdx, rbp                                                       ; +0x39c, 0x180005d4c\nmov     rcx, rdi                                                       ; +0x39f, 0x180005d4f\ncall    qword ptr [rax+510h]                                           ; +0x3a2, 0x180005d52\nmov     rbx, [rdi]                                                     ; +0x3a8, 0x180005d58\nmovaps  xmm2, xmm6                                                     ; +0x3ab, 0x180005d5b\nmovaps  xmm1, xmm6                                                     ; +0x3ae, 0x180005d5e\nlea     rcx, [rsp+0A8h+var_68]                                         ; +0x3b1, 0x180005d61\ncall    cs:??0CCPoint@cocos2d@@QEAA@MM@Z; cocos2d::CCPoint::CCPoint(float,float) ; +0x3b6, 0x180005d66\nmov     rdx, rax                                                       ; +0x3bc, 0x180005d6c\nmov     rcx, rdi                                                       ; +0x3bf, 0x180005d6f\ncall    qword ptr [rbx+480h]                                           ; +0x3c2, 0x180005d72\nmov     rax, [rdi]                                                     ; +0x3c8, 0x180005d78\nmov     rcx, rdi                                                       ; +0x3cb, 0x180005d7b\ncall    qword ptr [rax+428h]                                           ; +0x3ce, 0x180005d7e\nmov     al, 1                                                          ; +0x3d4, 0x180005d84\njmp     short loc_180005D8A                                            ; +0x3d6, 0x180005d86\nxor     al, al                                                         ; +0x3d8, 0x180005d88\nmov     rcx, [rsp+0A8h+var_40]                                         ; +0x3da, 0x180005d8a\nxor     rcx, rsp; StackCookie                                          ; +0x3df, 0x180005d8f\ncall    __security_check_cookie                                        ; +0x3e2, 0x180005d92\nmov     rbx, [rsp+0A8h+arg_18]                                         ; +0x3e7, 0x180005d97\nmovaps  xmm6, [rsp+0A8h+var_38]                                        ; +0x3ef, 0x180005d9f\nadd     rsp, 80h                                                       ; +0x3f4, 0x180005da4\npop     r15                                                            ; +0x3fb, 0x180005dab\npop     r14                                                            ; +0x3fd, 0x180005dad\npop     rdi                                                            ; +0x3ff, 0x180005daf\npop     rsi                                                            ; +0x400, 0x180005db0\npop     rbp                                                            ; +0x401, 0x180005db1\nretn                                                                   ; +0x402, 0x180005db2", "xrefs": ["<???> @ 0x180024180", "<???> @ 0x180027fc8", "<???> @ 0x18002fdf8", "<???> @ 0x18004954c"], "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"}