{"type": "func", "start": 6442500368, "end": 6442501212, "name": "sub_18000C110", "pseudocode": "// \n// sub_18000C110 from 0x18000c110 to 0x18000c45c (844 bytes)\n// \n// 2 xrefs:\n// > cocos2d::extension::CCControlSwitch::initWithMaskSprite @ 0x18000cce6\n// > <???> @ 0x180049d38\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 sub_18000C110(\n        __int64 *a1,\n        __int64 a2,\n        cocos2d::CCObject *a3,\n        cocos2d::CCObject *a4,\n        cocos2d::CCObject *a5,\n        cocos2d::CCObject *a6,\n        cocos2d::CCObject *a7)\n{\n  __int64 v10; // r14\n  struct cocos2d::CCTexture2D *v11; // rax\n  cocos2d::CCObject *v12; // rbx\n  float v13; // xmm6_4\n  cocos2d::CCObject *v14; // rcx\n  cocos2d::CCObject *v15; // rcx\n  cocos2d::CCObject *v16; // rcx\n  cocos2d::CCObject *v17; // rbx\n  cocos2d::CCObject *v18; // rcx\n  cocos2d::CCObject *v19; // rbx\n  cocos2d::CCObject *v20; // rcx\n  cocos2d::CCObject *v21; // rax\n  cocos2d::CCObject *v22; // rbx\n  cocos2d::CCObject *v23; // rcx\n  cocos2d::CCGLProgram *v24; // rbx\n  cocos2d::CCGLProgram *v25; // rax\n  cocos2d::CCGLProgram *v26; // rax\n  cocos2d::CCGLProgram *v27; // rax\n  cocos2d::CCGLProgram *v28; // rax\n  cocos2d::CCGLProgram *v29; // rax\n  __int64 v30; // rax\n  __int64 v31; // rax\n  __int64 v32; // rbx\n  __int64 v33; // rax\n  cocos2d::CCGLProgram *v35; // [rsp+58h] [rbp+10h] BYREF\n\n  v10 = a2 + 344;\n  v11 = (struct cocos2d::CCTexture2D *)(*(__int64 (__fastcall **)(__int64))(*(_QWORD *)(a2 + 344) + 16LL))(a2 + 344);\n  if ( !cocos2d::CCSprite::initWithTexture((cocos2d::CCSprite *)a1, v11) )\n    return 0;\n  *((_DWORD *)a1 + 153) = 0;\n  v12 = a5;\n  v13 = *(float *)(*(__int64 (__fastcall **)(cocos2d::CCObject *))(*(_QWORD *)a5 + 304LL))(a5);\n  *((float *)a1 + 154) = (float)(v13 * 0.5)\n                       - *(float *)(*(__int64 (__fastcall **)(cocos2d::CCObject *))(*(_QWORD *)a3 + 304LL))(a3);\n  *((_DWORD *)a1 + 152) = *((_DWORD *)a1 + 153);\n  if ( (cocos2d::CCObject *)a1[80] != a3 )\n  {\n    cocos2d::CCObject::retain(a3);\n    v14 = (cocos2d::CCObject *)a1[80];\n    if ( v14 )\n      cocos2d::CCObject::release(v14);\n    a1[80] = (__int64)a3;\n  }\n  if ( (cocos2d::CCObject *)a1[81] != a4 )\n  {\n    if ( a4 )\n      cocos2d::CCObject::retain(a4);\n    v15 = (cocos2d::CCObject *)a1[81];\n    if ( v15 )\n      cocos2d::CCObject::release(v15);\n    a1[81] = (__int64)a4;\n  }\n  if ( (cocos2d::CCObject *)a1[82] != v12 )\n  {\n    cocos2d::CCObject::retain(v12);\n    v16 = (cocos2d::CCObject *)a1[82];\n    if ( v16 )\n      cocos2d::CCObject::release(v16);\n    a1[82] = (__int64)v12;\n  }\n  v17 = a6;\n  if ( (cocos2d::CCObject *)a1[83] != a6 )\n  {\n    if ( a6 )\n      cocos2d::CCObject::retain(a6);\n    v18 = (cocos2d::CCObject *)a1[83];\n    if ( v18 )\n      cocos2d::CCObject::release(v18);\n    a1[83] = (__int64)v17;\n  }\n  v19 = a7;\n  if ( (cocos2d::CCObject *)a1[84] != a7 )\n  {\n    if ( a7 )\n      cocos2d::CCObject::retain(a7);\n    v20 = (cocos2d::CCObject *)a1[84];\n    if ( v20 )\n      cocos2d::CCObject::release(v20);\n    a1[84] = (__int64)v19;\n  }\n  (*(void (__fastcall **)(__int64 *, __int64))(*a1 + 448))(a1, a1[82]);\n  v21 = (cocos2d::CCObject *)(*(__int64 (__fastcall **)(__int64))(*(_QWORD *)v10 + 16LL))(v10);\n  v22 = v21;\n  if ( (cocos2d::CCObject *)a1[78] != v21 )\n  {\n    if ( v21 )\n      cocos2d::CCObject::retain(v21);\n    v23 = (cocos2d::CCObject *)a1[78];\n    if ( v23 )\n      cocos2d::CCObject::release(v23);\n    a1[78] = (__int64)v22;\n  }\n  v24 = (cocos2d::CCGLProgram *)operator new(0x78u);\n  v35 = v24;\n  cocos2d::CCGLProgram::CCGLProgram(v24);\n  *(_QWORD *)v24 = &cocos2d::CCGLProgram::`vftable';\n  cocos2d::CCGLProgram::initWithVertexShaderByteArray(\n    v24,\n    cocos2d::ccPositionTextureColor_vert,\n    cocos2d::ccExSwitchMask_frag);\n  (*(void (__fastcall **)(__int64 *, cocos2d::CCGLProgram *))(*a1 + 640))(a1, v24);\n  cocos2d::CCObject::release(v24);\n  v25 = (cocos2d::CCGLProgram *)(*(__int64 (__fastcall **)(__int64 *))(*a1 + 632))(a1);\n  cocos2d::CCGLProgram::addAttribute(v25, \"a_position\", 0);\n  v26 = (cocos2d::CCGLProgram *)(*(__int64 (__fastcall **)(__int64 *))(*a1 + 632))(a1);\n  cocos2d::CCGLProgram::addAttribute(v26, \"a_color\", 1u);\n  v27 = (cocos2d::CCGLProgram *)(*(__int64 (__fastcall **)(__int64 *))(*a1 + 632))(a1);\n  cocos2d::CCGLProgram::addAttribute(v27, \"a_texCoord\", 2u);\n  v28 = (cocos2d::CCGLProgram *)(*(__int64 (__fastcall **)(__int64 *))(*a1 + 632))(a1);\n  cocos2d::CCGLProgram::link(v28);\n  v29 = (cocos2d::CCGLProgram *)(*(__int64 (__fastcall **)(__int64 *))(*a1 + 632))(a1);\n  cocos2d::CCGLProgram::updateUniforms(v29);\n  v30 = (*(__int64 (__fastcall **)(__int64 *))(*a1 + 632))(a1);\n  *((_DWORD *)a1 + 158) = _glewGetUniformLocation(*(unsigned int *)(v30 + 56), \"u_texture\");\n  v31 = (*(__int64 (__fastcall **)(__int64 *))(*a1 + 632))(a1);\n  *((_DWORD *)a1 + 159) = _glewGetUniformLocation(*(unsigned int *)(v31 + 56), \"u_mask\");\n  v32 = *a1;\n  v33 = (*(__int64 (__fastcall **)(__int64, cocos2d::CCGLProgram **))(*(_QWORD *)a1[78] + 136LL))(a1[78], &v35);\n  (*(void (__fastcall **)(__int64 *, __int64))(v32 + 296))(a1, v33);\n  sub_18000C670(a1);\n  return 1;\n}", "assembly": "; \n; sub_18000C110 from 0x18000c110 to 0x18000c45c (844 bytes)\n; \n; 2 xrefs:\n; > cocos2d::extension::CCControlSwitch::initWithMaskSprite @ 0x18000cce6\n; > <???> @ 0x180049d38\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, 0x18000c110\nmov     [rsp+arg_10], rbp                                              ; +0x5, 0x18000c115\npush    rsi                                                            ; +0xa, 0x18000c11a\npush    rdi                                                            ; +0xb, 0x18000c11b\npush    r14                                                            ; +0xc, 0x18000c11c\nsub     rsp, 30h                                                       ; +0xe, 0x18000c11e\nmovaps  [rsp+48h+var_28], xmm6                                         ; +0x12, 0x18000c122\nmov     rbp, r9                                                        ; +0x17, 0x18000c127\nmov     rsi, r8                                                        ; +0x1a, 0x18000c12a\nmov     rdi, rcx                                                       ; +0x1d, 0x18000c12d\nlea     r14, [rdx+158h]                                                ; +0x20, 0x18000c130\nmov     rax, [r14]                                                     ; +0x27, 0x18000c137\nmov     rcx, r14                                                       ; +0x2a, 0x18000c13a\ncall    qword ptr [rax+10h]                                            ; +0x2d, 0x18000c13d\nmov     rdx, rax                                                       ; +0x30, 0x18000c140\nmov     rcx, rdi                                                       ; +0x33, 0x18000c143\ncall    cs:__imp_?initWithTexture@CCSprite@cocos2d@@UEAA_NPEAVCCTexture2D@2@@Z; cocos2d::CCSprite::initWithTexture(cocos2d::CCTexture2D *) ; +0x36, 0x18000c146\ntest    al, al                                                         ; +0x3c, 0x18000c14c\njz      loc_18000C442                                                  ; +0x3e, 0x18000c14e\nmov     dword ptr [rdi+264h], 0                                        ; +0x44, 0x18000c154\nmov     rbx, [rsp+48h+arg_20]                                          ; +0x4e, 0x18000c15e\nmov     rax, [rbx]                                                     ; +0x53, 0x18000c163\nmov     rcx, rbx                                                       ; +0x56, 0x18000c166\ncall    qword ptr [rax+130h]                                           ; +0x59, 0x18000c169\nmovss   xmm6, dword ptr [rax]                                          ; +0x5f, 0x18000c16f\nmov     rax, [rsi]                                                     ; +0x63, 0x18000c173\nmov     rcx, rsi                                                       ; +0x66, 0x18000c176\ncall    qword ptr [rax+130h]                                           ; +0x69, 0x18000c179\nmulss   xmm6, cs:dword_180029510                                       ; +0x6f, 0x18000c17f\nsubss   xmm6, dword ptr [rax]                                          ; +0x77, 0x18000c187\nmovss   dword ptr [rdi+268h], xmm6                                     ; +0x7b, 0x18000c18b\nmov     eax, [rdi+264h]                                                ; +0x83, 0x18000c193\nmov     [rdi+260h], eax                                                ; +0x89, 0x18000c199\ncmp     [rdi+280h], rsi                                                ; +0x8f, 0x18000c19f\njz      short loc_18000C1CA                                            ; +0x96, 0x18000c1a6\nmov     rcx, rsi                                                       ; +0x98, 0x18000c1a8\ncall    cs:?retain@CCObject@cocos2d@@QEAAXXZ; cocos2d::CCObject::retain(void) ; +0x9b, 0x18000c1ab\nmov     rcx, [rdi+280h]                                                ; +0xa1, 0x18000c1b1\ntest    rcx, rcx                                                       ; +0xa8, 0x18000c1b8\njz      short loc_18000C1C3                                            ; +0xab, 0x18000c1bb\ncall    cs:?release@CCObject@cocos2d@@QEAAXXZ; cocos2d::CCObject::release(void) ; +0xad, 0x18000c1bd\nmov     [rdi+280h], rsi                                                ; +0xb3, 0x18000c1c3\ncmp     [rdi+288h], rbp                                                ; +0xba, 0x18000c1ca\njz      short loc_18000C1FA                                            ; +0xc1, 0x18000c1d1\ntest    rbp, rbp                                                       ; +0xc3, 0x18000c1d3\njz      short loc_18000C1E1                                            ; +0xc6, 0x18000c1d6\nmov     rcx, rbp                                                       ; +0xc8, 0x18000c1d8\ncall    cs:?retain@CCObject@cocos2d@@QEAAXXZ; cocos2d::CCObject::retain(void) ; +0xcb, 0x18000c1db\nmov     rcx, [rdi+288h]                                                ; +0xd1, 0x18000c1e1\ntest    rcx, rcx                                                       ; +0xd8, 0x18000c1e8\njz      short loc_18000C1F3                                            ; +0xdb, 0x18000c1eb\ncall    cs:?release@CCObject@cocos2d@@QEAAXXZ; cocos2d::CCObject::release(void) ; +0xdd, 0x18000c1ed\nmov     [rdi+288h], rbp                                                ; +0xe3, 0x18000c1f3\ncmp     [rdi+290h], rbx                                                ; +0xea, 0x18000c1fa\njz      short loc_18000C225                                            ; +0xf1, 0x18000c201\nmov     rcx, rbx                                                       ; +0xf3, 0x18000c203\ncall    cs:?retain@CCObject@cocos2d@@QEAAXXZ; cocos2d::CCObject::retain(void) ; +0xf6, 0x18000c206\nmov     rcx, [rdi+290h]                                                ; +0xfc, 0x18000c20c\ntest    rcx, rcx                                                       ; +0x103, 0x18000c213\njz      short loc_18000C21E                                            ; +0x106, 0x18000c216\ncall    cs:?release@CCObject@cocos2d@@QEAAXXZ; cocos2d::CCObject::release(void) ; +0x108, 0x18000c218\nmov     [rdi+290h], rbx                                                ; +0x10e, 0x18000c21e\nmov     rbx, [rsp+48h+arg_28]                                          ; +0x115, 0x18000c225\ncmp     [rdi+298h], rbx                                                ; +0x11a, 0x18000c22a\njz      short loc_18000C25A                                            ; +0x121, 0x18000c231\ntest    rbx, rbx                                                       ; +0x123, 0x18000c233\njz      short loc_18000C241                                            ; +0x126, 0x18000c236\nmov     rcx, rbx                                                       ; +0x128, 0x18000c238\ncall    cs:?retain@CCObject@cocos2d@@QEAAXXZ; cocos2d::CCObject::retain(void) ; +0x12b, 0x18000c23b\nmov     rcx, [rdi+298h]                                                ; +0x131, 0x18000c241\ntest    rcx, rcx                                                       ; +0x138, 0x18000c248\njz      short loc_18000C253                                            ; +0x13b, 0x18000c24b\ncall    cs:?release@CCObject@cocos2d@@QEAAXXZ; cocos2d::CCObject::release(void) ; +0x13d, 0x18000c24d\nmov     [rdi+298h], rbx                                                ; +0x143, 0x18000c253\nmov     rbx, [rsp+48h+arg_30]                                          ; +0x14a, 0x18000c25a\ncmp     [rdi+2A0h], rbx                                                ; +0x152, 0x18000c262\njz      short loc_18000C292                                            ; +0x159, 0x18000c269\ntest    rbx, rbx                                                       ; +0x15b, 0x18000c26b\njz      short loc_18000C279                                            ; +0x15e, 0x18000c26e\nmov     rcx, rbx                                                       ; +0x160, 0x18000c270\ncall    cs:?retain@CCObject@cocos2d@@QEAAXXZ; cocos2d::CCObject::retain(void) ; +0x163, 0x18000c273\nmov     rcx, [rdi+2A0h]                                                ; +0x169, 0x18000c279\ntest    rcx, rcx                                                       ; +0x170, 0x18000c280\njz      short loc_18000C28B                                            ; +0x173, 0x18000c283\ncall    cs:?release@CCObject@cocos2d@@QEAAXXZ; cocos2d::CCObject::release(void) ; +0x175, 0x18000c285\nmov     [rdi+2A0h], rbx                                                ; +0x17b, 0x18000c28b\nmov     rax, [rdi]                                                     ; +0x182, 0x18000c292\nmov     rdx, [rdi+290h]                                                ; +0x185, 0x18000c295\nmov     rcx, rdi                                                       ; +0x18c, 0x18000c29c\ncall    qword ptr [rax+1C0h]                                           ; +0x18f, 0x18000c29f\nmov     rax, [r14]                                                     ; +0x195, 0x18000c2a5\nmov     rcx, r14                                                       ; +0x198, 0x18000c2a8\ncall    qword ptr [rax+10h]                                            ; +0x19b, 0x18000c2ab\nmov     rbx, rax                                                       ; +0x19e, 0x18000c2ae\ncmp     [rdi+270h], rax                                                ; +0x1a1, 0x18000c2b1\njz      short loc_18000C2E1                                            ; +0x1a8, 0x18000c2b8\ntest    rax, rax                                                       ; +0x1aa, 0x18000c2ba\njz      short loc_18000C2C8                                            ; +0x1ad, 0x18000c2bd\nmov     rcx, rax                                                       ; +0x1af, 0x18000c2bf\ncall    cs:?retain@CCObject@cocos2d@@QEAAXXZ; cocos2d::CCObject::retain(void) ; +0x1b2, 0x18000c2c2\nmov     rcx, [rdi+270h]                                                ; +0x1b8, 0x18000c2c8\ntest    rcx, rcx                                                       ; +0x1bf, 0x18000c2cf\njz      short loc_18000C2DA                                            ; +0x1c2, 0x18000c2d2\ncall    cs:?release@CCObject@cocos2d@@QEAAXXZ; cocos2d::CCObject::release(void) ; +0x1c4, 0x18000c2d4\nmov     [rdi+270h], rbx                                                ; +0x1ca, 0x18000c2da\nmov     ecx, 78h ; 'x'; Size                                           ; +0x1d1, 0x18000c2e1\ncall    ??2@YAPEAX_K@Z; operator new(unsigned __int64)                 ; +0x1d6, 0x18000c2e6\nmov     rbx, rax                                                       ; +0x1db, 0x18000c2eb\nmov     [rsp+48h+arg_8], rax                                           ; +0x1de, 0x18000c2ee\nmov     rcx, rax                                                       ; +0x1e3, 0x18000c2f3\ncall    cs:??0CCGLProgram@cocos2d@@QEAA@XZ; cocos2d::CCGLProgram::CCGLProgram(void) ; +0x1e6, 0x18000c2f6\nlea     rax, ??_7CCGLProgram@cocos2d@@6B@; const cocos2d::CCGLProgram::`vftable' ; +0x1ec, 0x18000c2fc\nmov     [rbx], rax                                                     ; +0x1f3, 0x18000c303\nmov     r8, cs:?ccExSwitchMask_frag@cocos2d@@3PEBDEB; char const * const cocos2d::ccExSwitchMask_frag ; +0x1f6, 0x18000c306\nmov     r8, [r8]                                                       ; +0x1fd, 0x18000c30d\nmov     rdx, cs:?ccPositionTextureColor_vert@cocos2d@@3PEBDEB; char const * const cocos2d::ccPositionTextureColor_vert ; +0x200, 0x18000c310\nmov     rdx, [rdx]                                                     ; +0x207, 0x18000c317\nmov     rcx, rbx                                                       ; +0x20a, 0x18000c31a\ncall    cs:?initWithVertexShaderByteArray@CCGLProgram@cocos2d@@QEAA_NPEBD0@Z; cocos2d::CCGLProgram::initWithVertexShaderByteArray(char const *,char const *) ; +0x20d, 0x18000c31d\nmov     rax, [rdi]                                                     ; +0x213, 0x18000c323\nmov     rdx, rbx                                                       ; +0x216, 0x18000c326\nmov     rcx, rdi                                                       ; +0x219, 0x18000c329\ncall    qword ptr [rax+280h]                                           ; +0x21c, 0x18000c32c\nmov     rcx, rbx                                                       ; +0x222, 0x18000c332\ncall    cs:?release@CCObject@cocos2d@@QEAAXXZ; cocos2d::CCObject::release(void) ; +0x225, 0x18000c335\nmov     rax, [rdi]                                                     ; +0x22b, 0x18000c33b\nmov     rcx, rdi                                                       ; +0x22e, 0x18000c33e\ncall    qword ptr [rax+278h]                                           ; +0x231, 0x18000c341\nmov     rcx, rax                                                       ; +0x237, 0x18000c347\nxor     r8d, r8d                                                       ; +0x23a, 0x18000c34a\nlea     rdx, aAPosition; \"a_position\"                                  ; +0x23d, 0x18000c34d\ncall    cs:?addAttribute@CCGLProgram@cocos2d@@QEAAXPEBDI@Z; cocos2d::CCGLProgram::addAttribute(char const *,uint) ; +0x244, 0x18000c354\nmov     rax, [rdi]                                                     ; +0x24a, 0x18000c35a\nmov     rcx, rdi                                                       ; +0x24d, 0x18000c35d\ncall    qword ptr [rax+278h]                                           ; +0x250, 0x18000c360\nmov     rcx, rax                                                       ; +0x256, 0x18000c366\nmov     r8d, 1                                                         ; +0x259, 0x18000c369\nlea     rdx, aAColor; \"a_color\"                                        ; +0x25f, 0x18000c36f\ncall    cs:?addAttribute@CCGLProgram@cocos2d@@QEAAXPEBDI@Z; cocos2d::CCGLProgram::addAttribute(char const *,uint) ; +0x266, 0x18000c376\nmov     rax, [rdi]                                                     ; +0x26c, 0x18000c37c\nmov     rcx, rdi                                                       ; +0x26f, 0x18000c37f\ncall    qword ptr [rax+278h]                                           ; +0x272, 0x18000c382\nmov     rcx, rax                                                       ; +0x278, 0x18000c388\nmov     r8d, 2                                                         ; +0x27b, 0x18000c38b\nlea     rdx, aATexcoord; \"a_texCoord\"                                  ; +0x281, 0x18000c391\ncall    cs:?addAttribute@CCGLProgram@cocos2d@@QEAAXPEBDI@Z; cocos2d::CCGLProgram::addAttribute(char const *,uint) ; +0x288, 0x18000c398\nmov     rax, [rdi]                                                     ; +0x28e, 0x18000c39e\nmov     rcx, rdi                                                       ; +0x291, 0x18000c3a1\ncall    qword ptr [rax+278h]                                           ; +0x294, 0x18000c3a4\nmov     rcx, rax                                                       ; +0x29a, 0x18000c3aa\ncall    cs:?link@CCGLProgram@cocos2d@@QEAA_NXZ; cocos2d::CCGLProgram::link(void) ; +0x29d, 0x18000c3ad\nmov     rax, [rdi]                                                     ; +0x2a3, 0x18000c3b3\nmov     rcx, rdi                                                       ; +0x2a6, 0x18000c3b6\ncall    qword ptr [rax+278h]                                           ; +0x2a9, 0x18000c3b9\nmov     rcx, rax                                                       ; +0x2af, 0x18000c3bf\ncall    cs:?updateUniforms@CCGLProgram@cocos2d@@QEAAXXZ; cocos2d::CCGLProgram::updateUniforms(void) ; +0x2b2, 0x18000c3c2\nmov     rax, [rdi]                                                     ; +0x2b8, 0x18000c3c8\nmov     rcx, rdi                                                       ; +0x2bb, 0x18000c3cb\ncall    qword ptr [rax+278h]                                           ; +0x2be, 0x18000c3ce\nlea     rdx, aUTexture; \"u_texture\"                                    ; +0x2c4, 0x18000c3d4\nmov     ecx, [rax+38h]                                                 ; +0x2cb, 0x18000c3db\nmov     rax, cs:__glewGetUniformLocation                               ; +0x2ce, 0x18000c3de\ncall    qword ptr [rax]                                                ; +0x2d5, 0x18000c3e5\nmov     [rdi+278h], eax                                                ; +0x2d7, 0x18000c3e7\nmov     rax, [rdi]                                                     ; +0x2dd, 0x18000c3ed\nmov     rcx, rdi                                                       ; +0x2e0, 0x18000c3f0\ncall    qword ptr [rax+278h]                                           ; +0x2e3, 0x18000c3f3\nlea     rdx, aUMask; \"u_mask\"                                          ; +0x2e9, 0x18000c3f9\nmov     ecx, [rax+38h]                                                 ; +0x2f0, 0x18000c400\nmov     rax, cs:__glewGetUniformLocation                               ; +0x2f3, 0x18000c403\ncall    qword ptr [rax]                                                ; +0x2fa, 0x18000c40a\nmov     [rdi+27Ch], eax                                                ; +0x2fc, 0x18000c40c\nmov     rbx, [rdi]                                                     ; +0x302, 0x18000c412\nmov     rcx, [rdi+270h]                                                ; +0x305, 0x18000c415\nmov     rax, [rcx]                                                     ; +0x30c, 0x18000c41c\nlea     rdx, [rsp+48h+arg_8]                                           ; +0x30f, 0x18000c41f\ncall    qword ptr [rax+88h]                                            ; +0x314, 0x18000c424\nmov     rdx, rax                                                       ; +0x31a, 0x18000c42a\nmov     rcx, rdi                                                       ; +0x31d, 0x18000c42d\ncall    qword ptr [rbx+128h]                                           ; +0x320, 0x18000c430\nmov     rcx, rdi                                                       ; +0x326, 0x18000c436\ncall    sub_18000C670                                                  ; +0x329, 0x18000c439\nmov     al, 1                                                          ; +0x32e, 0x18000c43e\njmp     short loc_18000C444                                            ; +0x330, 0x18000c440\nxor     al, al                                                         ; +0x332, 0x18000c442\nmov     rbx, [rsp+48h+arg_0]                                           ; +0x334, 0x18000c444\nmov     rbp, [rsp+48h+arg_10]                                          ; +0x339, 0x18000c449\nmovaps  xmm6, [rsp+48h+var_28]                                         ; +0x33e, 0x18000c44e\nadd     rsp, 30h                                                       ; +0x343, 0x18000c453\npop     r14                                                            ; +0x347, 0x18000c457\npop     rdi                                                            ; +0x349, 0x18000c459\npop     rsi                                                            ; +0x34a, 0x18000c45a\nretn                                                                   ; +0x34b, 0x18000c45b", "xrefs": ["cocos2d::extension::CCControlSwitch::initWithMaskSprite @ 0x18000cce6", "<???> @ 0x180049d38"], "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"}