{"type": "func", "start": 6442471424, "end": 6442472616, "name": "sub_180005000", "pseudocode": "// \n// sub_180005000 from 0x180005000 to 0x1800054a8 (1192 bytes)\n// \n// 4 xrefs:\n// > cocos2d::extension::CCControl::removeHandleOfControlEvent @ 0x180004d2f\n// > cocos2d::extension::CCScrollView::unregisterScriptHandler @ 0x18001435f\n// > sub_180016820 @ 0x18001696f\n// > <???> @ 0x1800494e0\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 sub_180005000(_QWORD *a1, __int64 *a2)\n{\n  __int64 *v2; // rax\n  __int64 *v3; // r11\n  __int64 *v5; // rdi\n  __int64 ***i; // r10\n  __int64 *v7; // rdx\n  __int64 *v8; // r9\n  __int64 **v9; // r8\n  __int64 **v10; // rdx\n  __int64 *v11; // rcx\n  __int64 v12; // rdx\n  __int64 v13; // rax\n  __int64 *j; // rcx\n  __int64 **v15; // rcx\n  char v16; // dl\n  __int64 **v17; // r11\n  __int64 *v18; // rcx\n  __int64 *v19; // rcx\n  __int64 ***v20; // rax\n  __int64 v21; // rdx\n  __int64 v22; // rax\n  __int64 *v23; // rcx\n  __int64 v24; // rax\n  __int64 *v25; // rax\n  __int64 v26; // rdx\n  _QWORD *v27; // rax\n  __int64 *v28; // rcx\n  __int64 ***v29; // rax\n  __int64 **v30; // rdx\n  __int64 **v31; // rax\n  __int64 v32; // rax\n  __int64 *v33; // rax\n  __int64 v34; // rcx\n  __int64 *result; // rax\n\n  v2 = (__int64 *)a2[2];\n  v3 = a2 + 2;\n  v5 = a2;\n  if ( *((_BYTE *)v2 + 25) )\n  {\n    v2 = (__int64 *)a2[1];\n    for ( i = (__int64 ***)(a2 + 1); !*((_BYTE *)v2 + 25); v2 = (__int64 *)v2[1] )\n    {\n      if ( a2 != (__int64 *)v2[2] )\n        break;\n      a2 = v2;\n    }\n  }\n  else\n  {\n    v7 = (__int64 *)*v2;\n    if ( !*(_BYTE *)(*v2 + 25) )\n    {\n      do\n      {\n        v2 = v7;\n        v7 = (__int64 *)*v7;\n      }\n      while ( !*((_BYTE *)v7 + 25) );\n    }\n    i = (__int64 ***)(v5 + 1);\n  }\n  v8 = (__int64 *)*v3;\n  if ( *(_BYTE *)(*v5 + 25) )\n    goto LABEL_13;\n  if ( *((_BYTE *)v8 + 25) )\n  {\n    v8 = (__int64 *)*v5;\nLABEL_13:\n    v9 = *i;\n    if ( !*((_BYTE *)v8 + 25) )\n      v8[1] = (__int64)v9;\n    if ( *(__int64 **)(*a1 + 8LL) == v5 )\n    {\n      *(_QWORD *)(*a1 + 8LL) = v8;\n    }\n    else if ( *v9 == v5 )\n    {\n      *v9 = v8;\n    }\n    else\n    {\n      v9[2] = v8;\n    }\n    if ( *(__int64 **)*a1 == v5 )\n    {\n      if ( *((_BYTE *)v8 + 25) )\n      {\n        v10 = v9;\n      }\n      else\n      {\n        v11 = (__int64 *)*v8;\n        v10 = (__int64 **)v8;\n        if ( !*(_BYTE *)(*v8 + 25) )\n        {\n          do\n          {\n            v10 = (__int64 **)v11;\n            v11 = (__int64 *)*v11;\n          }\n          while ( !*((_BYTE *)v11 + 25) );\n        }\n      }\n      *(_QWORD *)*a1 = v10;\n    }\n    v12 = *a1;\n    if ( *(__int64 **)(*a1 + 16LL) == v5 )\n    {\n      if ( *((_BYTE *)v8 + 25) )\n      {\n        *(_QWORD *)(v12 + 16) = v9;\n      }\n      else\n      {\n        v13 = v8[2];\n        for ( j = v8; !*(_BYTE *)(v13 + 25); v13 = *(_QWORD *)(v13 + 16) )\n          j = (__int64 *)v13;\n        *(_QWORD *)(v12 + 16) = j;\n      }\n    }\n    goto LABEL_43;\n  }\n  v8 = (__int64 *)v2[2];\n  if ( v2 == v5 )\n    goto LABEL_13;\n  *(_QWORD *)(*v5 + 8) = v2;\n  *v2 = *v5;\n  if ( v2 == (__int64 *)*v3 )\n  {\n    v9 = (__int64 **)v2;\n  }\n  else\n  {\n    v9 = (__int64 **)v2[1];\n    if ( !*((_BYTE *)v8 + 25) )\n      v8[1] = (__int64)v9;\n    *v9 = v8;\n    v2[2] = *v3;\n    *(_QWORD *)(*v3 + 8) = v2;\n  }\n  if ( *(__int64 **)(*a1 + 8LL) == v5 )\n  {\n    *(_QWORD *)(*a1 + 8LL) = v2;\n  }\n  else\n  {\n    v15 = *i;\n    if ( **i == v5 )\n      *v15 = v2;\n    else\n      v15[2] = v2;\n  }\n  v16 = *((_BYTE *)v2 + 24);\n  v2[1] = (__int64)*i;\n  *((_BYTE *)v2 + 24) = *((_BYTE *)v5 + 24);\n  *((_BYTE *)v5 + 24) = v16;\nLABEL_43:\n  if ( *((_BYTE *)v5 + 24) == 1 )\n  {\n    if ( v8 != *(__int64 **)(*a1 + 8LL) )\n    {\n      do\n      {\n        v17 = v9;\n        if ( *((_BYTE *)v8 + 24) != 1 )\n          break;\n        v18 = *v9;\n        if ( v8 == *v9 )\n        {\n          v18 = v9[2];\n          if ( !*((_BYTE *)v18 + 24) )\n          {\n            *((_BYTE *)v18 + 24) = 1;\n            v19 = v9[2];\n            *((_BYTE *)v9 + 24) = 0;\n            v9[2] = (__int64 *)*v19;\n            if ( !*(_BYTE *)(*v19 + 25) )\n              *(_QWORD *)(*v19 + 8) = v9;\n            v19[1] = (__int64)v9[1];\n            if ( v9 == *(__int64 ***)(*a1 + 8LL) )\n            {\n              *(_QWORD *)(*a1 + 8LL) = v19;\n            }\n            else\n            {\n              v20 = (__int64 ***)v9[1];\n              if ( v9 == *v20 )\n                *v20 = (__int64 **)v19;\n              else\n                v20[2] = (__int64 **)v19;\n            }\n            *v19 = (__int64)v9;\n            v9[1] = v19;\n            v18 = v9[2];\n          }\n          if ( *((_BYTE *)v18 + 25) )\n            goto LABEL_77;\n          if ( *(_BYTE *)(*v18 + 24) != 1 || *(_BYTE *)(v18[2] + 24) != 1 )\n          {\n            if ( *(_BYTE *)(v18[2] + 24) == 1 )\n            {\n              *(_BYTE *)(*v18 + 24) = 1;\n              v21 = *v18;\n              *((_BYTE *)v18 + 24) = 0;\n              *v18 = *(_QWORD *)(v21 + 16);\n              v22 = *(_QWORD *)(v21 + 16);\n              if ( !*(_BYTE *)(v22 + 25) )\n                *(_QWORD *)(v22 + 8) = v18;\n              *(_QWORD *)(v21 + 8) = v18[1];\n              if ( v18 == *(__int64 **)(*a1 + 8LL) )\n              {\n                *(_QWORD *)(*a1 + 8LL) = v21;\n              }\n              else\n              {\n                v27 = (_QWORD *)v18[1];\n                if ( v18 == (__int64 *)v27[2] )\n                  v27[2] = v21;\n                else\n                  *v27 = v21;\n              }\n              *(_QWORD *)(v21 + 16) = v18;\n              v18[1] = v21;\n              v18 = v9[2];\n            }\n            *((_BYTE *)v18 + 24) = *((_BYTE *)v9 + 24);\n            *((_BYTE *)v9 + 24) = 1;\n            *(_BYTE *)(v18[2] + 24) = 1;\n            v28 = v9[2];\n            v9[2] = (__int64 *)*v28;\n            if ( !*(_BYTE *)(*v28 + 25) )\n              *(_QWORD *)(*v28 + 8) = v9;\n            v28[1] = (__int64)v9[1];\n            if ( v9 == *(__int64 ***)(*a1 + 8LL) )\n            {\n              *(_QWORD *)(*a1 + 8LL) = v28;\n              *v28 = (__int64)v9;\n            }\n            else\n            {\n              v29 = (__int64 ***)v9[1];\n              if ( v9 == *v29 )\n                *v29 = (__int64 **)v28;\n              else\n                v29[2] = (__int64 **)v28;\n              *v28 = (__int64)v9;\n            }\nLABEL_108:\n            v9[1] = v28;\n            break;\n          }\n        }\n        else\n        {\n          if ( !*((_BYTE *)v18 + 24) )\n          {\n            *((_BYTE *)v18 + 24) = 1;\n            v23 = *v9;\n            *((_BYTE *)v9 + 24) = 0;\n            *v9 = (__int64 *)v23[2];\n            v24 = v23[2];\n            if ( !*(_BYTE *)(v24 + 25) )\n              *(_QWORD *)(v24 + 8) = v9;\n            v23[1] = (__int64)v9[1];\n            if ( v9 == *(__int64 ***)(*a1 + 8LL) )\n            {\n              *(_QWORD *)(*a1 + 8LL) = v23;\n            }\n            else\n            {\n              v25 = v9[1];\n              if ( v9 == (__int64 **)v25[2] )\n                v25[2] = (__int64)v23;\n              else\n                *v25 = (__int64)v23;\n            }\n            v23[2] = (__int64)v9;\n            v9[1] = v23;\n            v18 = *v9;\n          }\n          if ( *((_BYTE *)v18 + 25) )\n            goto LABEL_77;\n          v26 = v18[2];\n          if ( *(_BYTE *)(v26 + 24) != 1 || *(_BYTE *)(*v18 + 24) != 1 )\n          {\n            if ( *(_BYTE *)(*v18 + 24) == 1 )\n            {\n              *(_BYTE *)(v26 + 24) = 1;\n              v30 = (__int64 **)v18[2];\n              *((_BYTE *)v18 + 24) = 0;\n              v18[2] = (__int64)*v30;\n              if ( !*((_BYTE *)*v30 + 25) )\n                (*v30)[1] = (__int64)v18;\n              v30[1] = (__int64 *)v18[1];\n              if ( v18 == *(__int64 **)(*a1 + 8LL) )\n              {\n                *(_QWORD *)(*a1 + 8LL) = v30;\n              }\n              else\n              {\n                v31 = (__int64 **)v18[1];\n                if ( v18 == *v31 )\n                  *v31 = (__int64 *)v30;\n                else\n                  v31[2] = (__int64 *)v30;\n              }\n              *v30 = v18;\n              v18[1] = (__int64)v30;\n              v18 = *v9;\n            }\n            *((_BYTE *)v18 + 24) = *((_BYTE *)v9 + 24);\n            *((_BYTE *)v9 + 24) = 1;\n            *(_BYTE *)(*v18 + 24) = 1;\n            v28 = *v9;\n            *v9 = (__int64 *)(*v9)[2];\n            v32 = v28[2];\n            if ( !*(_BYTE *)(v32 + 25) )\n              *(_QWORD *)(v32 + 8) = v9;\n            v28[1] = (__int64)v9[1];\n            if ( v9 == *(__int64 ***)(*a1 + 8LL) )\n            {\n              *(_QWORD *)(*a1 + 8LL) = v28;\n            }\n            else\n            {\n              v33 = v9[1];\n              if ( v9 == (__int64 **)v33[2] )\n                v33[2] = (__int64)v28;\n              else\n                *v33 = (__int64)v28;\n            }\n            v28[2] = (__int64)v9;\n            goto LABEL_108;\n          }\n        }\n        *((_BYTE *)v18 + 24) = 0;\nLABEL_77:\n        v8 = (__int64 *)v9;\n        v9 = (__int64 **)v9[1];\n      }\n      while ( v17 != *(__int64 ***)(*a1 + 8LL) );\n    }\n    *((_BYTE *)v8 + 24) = 1;\n  }\n  v34 = a1[1];\n  result = v5;\n  if ( v34 )\n    a1[1] = v34 - 1;\n  return result;\n}", "assembly": "; \n; sub_180005000 from 0x180005000 to 0x1800054a8 (1192 bytes)\n; \n; 4 xrefs:\n; > cocos2d::extension::CCControl::removeHandleOfControlEvent @ 0x180004d2f\n; > cocos2d::extension::CCScrollView::unregisterScriptHandler @ 0x18001435f\n; > sub_180016820 @ 0x18001696f\n; > <???> @ 0x1800494e0\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, 0x180005000\nmov     [rsp+arg_8], rdi                                               ; +0x5, 0x180005005\nmov     rax, [rdx+10h]                                                 ; +0xa, 0x18000500a\nlea     r11, [rdx+10h]                                                 ; +0xe, 0x18000500e\nmov     rbx, rcx                                                       ; +0x12, 0x180005012\nmov     rdi, rdx                                                       ; +0x15, 0x180005015\ncmp     byte ptr [rax+19h], 0                                          ; +0x18, 0x180005018\njz      short loc_180005045                                            ; +0x1c, 0x18000501c\nmov     rax, [rdx+8]                                                   ; +0x1e, 0x18000501e\nlea     r10, [rdx+8]                                                   ; +0x22, 0x180005022\ncmp     byte ptr [rax+19h], 0                                          ; +0x26, 0x180005026\njnz     short loc_180005063                                            ; +0x2a, 0x18000502a\nnop     dword ptr [rax+00h]                                            ; +0x2c, 0x18000502c\ncmp     rdx, [rax+10h]                                                 ; +0x30, 0x180005030\njnz     short loc_180005063                                            ; +0x34, 0x180005034\nmov     rdx, rax                                                       ; +0x36, 0x180005036\nmov     rax, [rax+8]                                                   ; +0x39, 0x180005039\ncmp     byte ptr [rax+19h], 0                                          ; +0x3d, 0x18000503d\njz      short loc_180005030                                            ; +0x41, 0x180005041\njmp     short loc_180005063                                            ; +0x43, 0x180005043\nmov     rdx, [rax]                                                     ; +0x45, 0x180005045\ncmp     byte ptr [rdx+19h], 0                                          ; +0x48, 0x180005048\njnz     short loc_18000505F                                            ; +0x4c, 0x18000504c\nxchg    ax, ax                                                         ; +0x4e, 0x18000504e\nmov     rcx, [rdx]                                                     ; +0x50, 0x180005050\nmov     rax, rdx                                                       ; +0x53, 0x180005053\nmov     rdx, rcx                                                       ; +0x56, 0x180005056\ncmp     byte ptr [rcx+19h], 0                                          ; +0x59, 0x180005059\njz      short loc_180005050                                            ; +0x5d, 0x18000505d\nlea     r10, [rdi+8]                                                   ; +0x5f, 0x18000505f\nmov     rcx, [rdi]                                                     ; +0x63, 0x180005063\nmov     r9, [r11]                                                      ; +0x66, 0x180005066\ncmp     byte ptr [rcx+19h], 0                                          ; +0x69, 0x180005069\njnz     short loc_180005088                                            ; +0x6d, 0x18000506d\ncmp     byte ptr [r9+19h], 0                                           ; +0x6f, 0x18000506f\njz      short loc_18000507B                                            ; +0x74, 0x180005074\nmov     r9, rcx                                                        ; +0x76, 0x180005076\njmp     short loc_180005088                                            ; +0x79, 0x180005079\nmov     r9, [rax+10h]                                                  ; +0x7b, 0x18000507b\ncmp     rax, rdi                                                       ; +0x7f, 0x18000507f\njnz     loc_180005133                                                  ; +0x82, 0x180005082\ncmp     byte ptr [r9+19h], 0                                           ; +0x88, 0x180005088\nmov     r8, [r10]                                                      ; +0x8d, 0x18000508d\njnz     short loc_180005096                                            ; +0x90, 0x180005090\nmov     [r9+8], r8                                                     ; +0x92, 0x180005092\nmov     rax, [rbx]                                                     ; +0x96, 0x180005096\ncmp     [rax+8], rdi                                                   ; +0x99, 0x180005099\njnz     short loc_1800050A5                                            ; +0x9d, 0x18000509d\nmov     [rax+8], r9                                                    ; +0x9f, 0x18000509f\njmp     short loc_1800050B3                                            ; +0xa3, 0x1800050a3\ncmp     [r8], rdi                                                      ; +0xa5, 0x1800050a5\njnz     short loc_1800050AF                                            ; +0xa8, 0x1800050a8\nmov     [r8], r9                                                       ; +0xaa, 0x1800050aa\njmp     short loc_1800050B3                                            ; +0xad, 0x1800050ad\nmov     [r8+10h], r9                                                   ; +0xaf, 0x1800050af\nmov     r10, [rbx]                                                     ; +0xb3, 0x1800050b3\ncmp     [r10], rdi                                                     ; +0xb6, 0x1800050b6\njnz     short loc_1800050F2                                            ; +0xb9, 0x1800050b9\ncmp     byte ptr [r9+19h], 0                                           ; +0xbb, 0x1800050bb\njz      short loc_1800050C7                                            ; +0xc0, 0x1800050c0\nmov     rdx, r8                                                        ; +0xc2, 0x1800050c2\njmp     short loc_1800050EF                                            ; +0xc5, 0x1800050c5\nmov     rcx, [r9]                                                      ; +0xc7, 0x1800050c7\nmov     rdx, r9                                                        ; +0xca, 0x1800050ca\ncmp     byte ptr [rcx+19h], 0                                          ; +0xcd, 0x1800050cd\njnz     short loc_1800050EF                                            ; +0xd1, 0x1800050d1\nnop     dword ptr [rax+00h]                                            ; +0xd3, 0x1800050d3\nnop     word ptr [rax+rax+00000000h]                                   ; +0xd7, 0x1800050d7\nmov     rax, [rcx]                                                     ; +0xe0, 0x1800050e0\nmov     rdx, rcx                                                       ; +0xe3, 0x1800050e3\nmov     rcx, rax                                                       ; +0xe6, 0x1800050e6\ncmp     byte ptr [rax+19h], 0                                          ; +0xe9, 0x1800050e9\njz      short loc_1800050E0                                            ; +0xed, 0x1800050ed\nmov     [r10], rdx                                                     ; +0xef, 0x1800050ef\nmov     rdx, [rbx]                                                     ; +0xf2, 0x1800050f2\ncmp     [rdx+10h], rdi                                                 ; +0xf5, 0x1800050f5\njnz     loc_18000519C                                                  ; +0xf9, 0x1800050f9\ncmp     byte ptr [r9+19h], 0                                           ; +0xff, 0x1800050ff\njz      short loc_180005112                                            ; +0x104, 0x180005104\nmov     rcx, r8                                                        ; +0x106, 0x180005106\nmov     [rdx+10h], rcx                                                 ; +0x109, 0x180005109\njmp     loc_18000519C                                                  ; +0x10d, 0x18000510d\nmov     rax, [r9+10h]                                                  ; +0x112, 0x180005112\nmov     rcx, r9                                                        ; +0x116, 0x180005116\ncmp     byte ptr [rax+19h], 0                                          ; +0x119, 0x180005119\njnz     short loc_18000512D                                            ; +0x11d, 0x18000511d\nnop                                                                    ; +0x11f, 0x18000511f\nmov     rcx, rax                                                       ; +0x120, 0x180005120\nmov     rax, [rax+10h]                                                 ; +0x123, 0x180005123\ncmp     byte ptr [rax+19h], 0                                          ; +0x127, 0x180005127\njz      short loc_180005120                                            ; +0x12b, 0x18000512b\nmov     [rdx+10h], rcx                                                 ; +0x12d, 0x18000512d\njmp     short loc_18000519C                                            ; +0x131, 0x180005131\nmov     [rcx+8], rax                                                   ; +0x133, 0x180005133\nmov     rcx, [rdi]                                                     ; +0x137, 0x180005137\nmov     [rax], rcx                                                     ; +0x13a, 0x18000513a\ncmp     rax, [r11]                                                     ; +0x13d, 0x18000513d\njnz     short loc_180005147                                            ; +0x140, 0x180005140\nmov     r8, rax                                                        ; +0x142, 0x180005142\njmp     short loc_180005167                                            ; +0x145, 0x180005145\ncmp     byte ptr [r9+19h], 0                                           ; +0x147, 0x180005147\nmov     r8, [rax+8]                                                    ; +0x14c, 0x18000514c\njnz     short loc_180005156                                            ; +0x150, 0x180005150\nmov     [r9+8], r8                                                     ; +0x152, 0x180005152\nmov     [r8], r9                                                       ; +0x156, 0x180005156\nmov     rcx, [r11]                                                     ; +0x159, 0x180005159\nmov     [rax+10h], rcx                                                 ; +0x15c, 0x18000515c\nmov     rcx, [r11]                                                     ; +0x160, 0x180005160\nmov     [rcx+8], rax                                                   ; +0x163, 0x180005163\nmov     rcx, [rbx]                                                     ; +0x167, 0x180005167\ncmp     [rcx+8], rdi                                                   ; +0x16a, 0x18000516a\njnz     short loc_180005176                                            ; +0x16e, 0x18000516e\nmov     [rcx+8], rax                                                   ; +0x170, 0x180005170\njmp     short loc_180005187                                            ; +0x174, 0x180005174\nmov     rcx, [r10]                                                     ; +0x176, 0x180005176\ncmp     [rcx], rdi                                                     ; +0x179, 0x180005179\njnz     short loc_180005183                                            ; +0x17c, 0x18000517c\nmov     [rcx], rax                                                     ; +0x17e, 0x18000517e\njmp     short loc_180005187                                            ; +0x181, 0x180005181\nmov     [rcx+10h], rax                                                 ; +0x183, 0x180005183\nmov     rcx, [r10]                                                     ; +0x187, 0x180005187\nmovzx   edx, byte ptr [rax+18h]                                        ; +0x18a, 0x18000518a\nmov     [rax+8], rcx                                                   ; +0x18e, 0x18000518e\nmovzx   ecx, byte ptr [rdi+18h]                                        ; +0x192, 0x180005192\nmov     [rax+18h], cl                                                  ; +0x196, 0x180005196\nmov     [rdi+18h], dl                                                  ; +0x199, 0x180005199\ncmp     byte ptr [rdi+18h], 1                                          ; +0x19c, 0x18000519c\njnz     loc_18000548A                                                  ; +0x1a0, 0x1800051a0\nmov     rax, [rbx]                                                     ; +0x1a6, 0x1800051a6\ncmp     r9, [rax+8]                                                    ; +0x1a9, 0x1800051a9\njz      loc_180005485                                                  ; +0x1ad, 0x1800051ad\nnop     dword ptr [rax+00h]                                            ; +0x1b3, 0x1800051b3\nnop     word ptr [rax+rax+00000000h]                                   ; +0x1b7, 0x1800051b7\ncmp     byte ptr [r9+18h], 1                                           ; +0x1c0, 0x1800051c0\nmov     r11, r8                                                        ; +0x1c5, 0x1800051c5\njnz     loc_180005485                                                  ; +0x1c8, 0x1800051c8\nmov     rcx, [r8]                                                      ; +0x1ce, 0x1800051ce\ncmp     r9, rcx                                                        ; +0x1d1, 0x1800051d1\njnz     loc_1800052A8                                                  ; +0x1d4, 0x1800051d4\nmov     rcx, [r8+10h]                                                  ; +0x1da, 0x1800051da\ncmp     byte ptr [rcx+18h], 0                                          ; +0x1de, 0x1800051de\njnz     short loc_180005239                                            ; +0x1e2, 0x1800051e2\nmov     byte ptr [rcx+18h], 1                                          ; +0x1e4, 0x1800051e4\nmov     rcx, [r8+10h]                                                  ; +0x1e8, 0x1800051e8\nmov     byte ptr [r8+18h], 0                                           ; +0x1ec, 0x1800051ec\nmov     rax, [rcx]                                                     ; +0x1f1, 0x1800051f1\nmov     [r8+10h], rax                                                  ; +0x1f4, 0x1800051f4\nmov     rax, [rcx]                                                     ; +0x1f8, 0x1800051f8\ncmp     byte ptr [rax+19h], 0                                          ; +0x1fb, 0x1800051fb\njnz     short loc_180005205                                            ; +0x1ff, 0x1800051ff\nmov     [rax+8], r8                                                    ; +0x201, 0x180005201\nmov     rax, [r8+8]                                                    ; +0x205, 0x180005205\nmov     [rcx+8], rax                                                   ; +0x209, 0x180005209\nmov     rax, [rbx]                                                     ; +0x20d, 0x18000520d\ncmp     r8, [rax+8]                                                    ; +0x210, 0x180005210\njnz     short loc_18000521C                                            ; +0x214, 0x180005214\nmov     [rax+8], rcx                                                   ; +0x216, 0x180005216\njmp     short loc_18000522E                                            ; +0x21a, 0x18000521a\nmov     rax, [r8+8]                                                    ; +0x21c, 0x18000521c\ncmp     r8, [rax]                                                      ; +0x220, 0x180005220\njnz     short loc_18000522A                                            ; +0x223, 0x180005223\nmov     [rax], rcx                                                     ; +0x225, 0x180005225\njmp     short loc_18000522E                                            ; +0x228, 0x180005228\nmov     [rax+10h], rcx                                                 ; +0x22a, 0x18000522a\nmov     [rcx], r8                                                      ; +0x22e, 0x18000522e\nmov     [r8+8], rcx                                                    ; +0x231, 0x180005231\nmov     rcx, [r8+10h]                                                  ; +0x235, 0x180005235\ncmp     byte ptr [rcx+19h], 0                                          ; +0x239, 0x180005239\njnz     loc_180005329                                                  ; +0x23d, 0x18000523d\nmov     r10, [rcx]                                                     ; +0x243, 0x180005243\ncmp     byte ptr [r10+18h], 1                                          ; +0x246, 0x180005246\njnz     short loc_18000525B                                            ; +0x24b, 0x18000524b\nmov     rax, [rcx+10h]                                                 ; +0x24d, 0x18000524d\ncmp     byte ptr [rax+18h], 1                                          ; +0x251, 0x180005251\njz      loc_180005325                                                  ; +0x255, 0x180005255\nmov     rax, [rcx+10h]                                                 ; +0x25b, 0x18000525b\ncmp     byte ptr [rax+18h], 1                                          ; +0x25f, 0x18000525f\njnz     loc_180005361                                                  ; +0x263, 0x180005263\nmov     byte ptr [r10+18h], 1                                          ; +0x269, 0x180005269\nmov     rdx, [rcx]                                                     ; +0x26e, 0x18000526e\nmov     byte ptr [rcx+18h], 0                                          ; +0x271, 0x180005271\nmov     rax, [rdx+10h]                                                 ; +0x275, 0x180005275\nmov     [rcx], rax                                                     ; +0x279, 0x180005279\nmov     rax, [rdx+10h]                                                 ; +0x27c, 0x18000527c\ncmp     byte ptr [rax+19h], 0                                          ; +0x280, 0x180005280\njnz     short loc_18000528A                                            ; +0x284, 0x180005284\nmov     [rax+8], rcx                                                   ; +0x286, 0x180005286\nmov     rax, [rcx+8]                                                   ; +0x28a, 0x18000528a\nmov     [rdx+8], rax                                                   ; +0x28e, 0x18000528e\nmov     rax, [rbx]                                                     ; +0x292, 0x180005292\ncmp     rcx, [rax+8]                                                   ; +0x295, 0x180005295\njnz     loc_180005342                                                  ; +0x299, 0x180005299\nmov     [rax+8], rdx                                                   ; +0x29f, 0x18000529f\njmp     loc_180005355                                                  ; +0x2a3, 0x1800052a3\ncmp     byte ptr [rcx+18h], 0                                          ; +0x2a8, 0x1800052a8\njnz     short loc_180005304                                            ; +0x2ac, 0x1800052ac\nmov     byte ptr [rcx+18h], 1                                          ; +0x2ae, 0x1800052ae\nmov     rcx, [r8]                                                      ; +0x2b2, 0x1800052b2\nmov     byte ptr [r8+18h], 0                                           ; +0x2b5, 0x1800052b5\nmov     rax, [rcx+10h]                                                 ; +0x2ba, 0x1800052ba\nmov     [r8], rax                                                      ; +0x2be, 0x1800052be\nmov     rax, [rcx+10h]                                                 ; +0x2c1, 0x1800052c1\ncmp     byte ptr [rax+19h], 0                                          ; +0x2c5, 0x1800052c5\njnz     short loc_1800052CF                                            ; +0x2c9, 0x1800052c9\nmov     [rax+8], r8                                                    ; +0x2cb, 0x1800052cb\nmov     rax, [r8+8]                                                    ; +0x2cf, 0x1800052cf\nmov     [rcx+8], rax                                                   ; +0x2d3, 0x1800052d3\nmov     rax, [rbx]                                                     ; +0x2d7, 0x1800052d7\ncmp     r8, [rax+8]                                                    ; +0x2da, 0x1800052da\njnz     short loc_1800052E6                                            ; +0x2de, 0x1800052de\nmov     [rax+8], rcx                                                   ; +0x2e0, 0x1800052e0\njmp     short loc_1800052F9                                            ; +0x2e4, 0x1800052e4\nmov     rax, [r8+8]                                                    ; +0x2e6, 0x1800052e6\ncmp     r8, [rax+10h]                                                  ; +0x2ea, 0x1800052ea\njnz     short loc_1800052F6                                            ; +0x2ee, 0x1800052ee\nmov     [rax+10h], rcx                                                 ; +0x2f0, 0x1800052f0\njmp     short loc_1800052F9                                            ; +0x2f4, 0x1800052f4\nmov     [rax], rcx                                                     ; +0x2f6, 0x1800052f6\nmov     [rcx+10h], r8                                                  ; +0x2f9, 0x1800052f9\nmov     [r8+8], rcx                                                    ; +0x2fd, 0x1800052fd\nmov     rcx, [r8]                                                      ; +0x301, 0x180005301\ncmp     byte ptr [rcx+19h], 0                                          ; +0x304, 0x180005304\njnz     short loc_180005329                                            ; +0x308, 0x180005308\nmov     rdx, [rcx+10h]                                                 ; +0x30a, 0x18000530a\ncmp     byte ptr [rdx+18h], 1                                          ; +0x30e, 0x18000530e\njnz     loc_1800053CB                                                  ; +0x312, 0x180005312\nmov     rax, [rcx]                                                     ; +0x318, 0x180005318\ncmp     byte ptr [rax+18h], 1                                          ; +0x31b, 0x18000531b\njnz     loc_1800053CB                                                  ; +0x31f, 0x18000531f\nmov     byte ptr [rcx+18h], 0                                          ; +0x325, 0x180005325\nmov     rax, [rbx]                                                     ; +0x329, 0x180005329\nmov     r9, r11                                                        ; +0x32c, 0x18000532c\nmov     r8, [r8+8]                                                     ; +0x32f, 0x18000532f\ncmp     r11, [rax+8]                                                   ; +0x333, 0x180005333\njnz     loc_1800051C0                                                  ; +0x337, 0x180005337\njmp     loc_180005485                                                  ; +0x33d, 0x18000533d\nmov     rax, [rcx+8]                                                   ; +0x342, 0x180005342\ncmp     rcx, [rax+10h]                                                 ; +0x346, 0x180005346\njnz     short loc_180005352                                            ; +0x34a, 0x18000534a\nmov     [rax+10h], rdx                                                 ; +0x34c, 0x18000534c\njmp     short loc_180005355                                            ; +0x350, 0x180005350\nmov     [rax], rdx                                                     ; +0x352, 0x180005352\nmov     [rdx+10h], rcx                                                 ; +0x355, 0x180005355\nmov     [rcx+8], rdx                                                   ; +0x359, 0x180005359\nmov     rcx, [r8+10h]                                                  ; +0x35d, 0x18000535d\nmovzx   eax, byte ptr [r8+18h]                                         ; +0x361, 0x180005361\nmov     [rcx+18h], al                                                  ; +0x366, 0x180005366\nmov     byte ptr [r8+18h], 1                                           ; +0x369, 0x180005369\nmov     rax, [rcx+10h]                                                 ; +0x36e, 0x18000536e\nmov     byte ptr [rax+18h], 1                                          ; +0x372, 0x180005372\nmov     rcx, [r8+10h]                                                  ; +0x376, 0x180005376\nmov     rax, [rcx]                                                     ; +0x37a, 0x18000537a\nmov     [r8+10h], rax                                                  ; +0x37d, 0x18000537d\nmov     rax, [rcx]                                                     ; +0x381, 0x180005381\ncmp     byte ptr [rax+19h], 0                                          ; +0x384, 0x180005384\njnz     short loc_18000538E                                            ; +0x388, 0x180005388\nmov     [rax+8], r8                                                    ; +0x38a, 0x18000538a\nmov     rax, [r8+8]                                                    ; +0x38e, 0x18000538e\nmov     [rcx+8], rax                                                   ; +0x392, 0x180005392\nmov     rax, [rbx]                                                     ; +0x396, 0x180005396\ncmp     r8, [rax+8]                                                    ; +0x399, 0x180005399\njnz     short loc_1800053AB                                            ; +0x39d, 0x18000539d\nmov     [rax+8], rcx                                                   ; +0x39f, 0x18000539f\nmov     [rcx], r8                                                      ; +0x3a3, 0x1800053a3\njmp     loc_180005481                                                  ; +0x3a6, 0x1800053a6\nmov     rax, [r8+8]                                                    ; +0x3ab, 0x1800053ab\ncmp     r8, [rax]                                                      ; +0x3af, 0x1800053af\njnz     short loc_1800053BF                                            ; +0x3b2, 0x1800053b2\nmov     [rax], rcx                                                     ; +0x3b4, 0x1800053b4\nmov     [rcx], r8                                                      ; +0x3b7, 0x1800053b7\njmp     loc_180005481                                                  ; +0x3ba, 0x1800053ba\nmov     [rax+10h], rcx                                                 ; +0x3bf, 0x1800053bf\nmov     [rcx], r8                                                      ; +0x3c3, 0x1800053c3\njmp     loc_180005481                                                  ; +0x3c6, 0x1800053c6\nmov     rax, [rcx]                                                     ; +0x3cb, 0x1800053cb\ncmp     byte ptr [rax+18h], 1                                          ; +0x3ce, 0x1800053ce\njnz     short loc_180005427                                            ; +0x3d2, 0x1800053d2\nmov     byte ptr [rdx+18h], 1                                          ; +0x3d4, 0x1800053d4\nmov     rdx, [rcx+10h]                                                 ; +0x3d8, 0x1800053d8\nmov     byte ptr [rcx+18h], 0                                          ; +0x3dc, 0x1800053dc\nmov     rax, [rdx]                                                     ; +0x3e0, 0x1800053e0\nmov     [rcx+10h], rax                                                 ; +0x3e3, 0x1800053e3\nmov     rax, [rdx]                                                     ; +0x3e7, 0x1800053e7\ncmp     byte ptr [rax+19h], 0                                          ; +0x3ea, 0x1800053ea\njnz     short loc_1800053F4                                            ; +0x3ee, 0x1800053ee\nmov     [rax+8], rcx                                                   ; +0x3f0, 0x1800053f0\nmov     rax, [rcx+8]                                                   ; +0x3f4, 0x1800053f4\nmov     [rdx+8], rax                                                   ; +0x3f8, 0x1800053f8\nmov     rax, [rbx]                                                     ; +0x3fc, 0x1800053fc\ncmp     rcx, [rax+8]                                                   ; +0x3ff, 0x1800053ff\njnz     short loc_18000540B                                            ; +0x403, 0x180005403\nmov     [rax+8], rdx                                                   ; +0x405, 0x180005405\njmp     short loc_18000541D                                            ; +0x409, 0x180005409\nmov     rax, [rcx+8]                                                   ; +0x40b, 0x18000540b\ncmp     rcx, [rax]                                                     ; +0x40f, 0x18000540f\njnz     short loc_180005419                                            ; +0x412, 0x180005412\nmov     [rax], rdx                                                     ; +0x414, 0x180005414\njmp     short loc_18000541D                                            ; +0x417, 0x180005417\nmov     [rax+10h], rdx                                                 ; +0x419, 0x180005419\nmov     [rdx], rcx                                                     ; +0x41d, 0x18000541d\nmov     [rcx+8], rdx                                                   ; +0x420, 0x180005420\nmov     rcx, [r8]                                                      ; +0x424, 0x180005424\nmovzx   eax, byte ptr [r8+18h]                                         ; +0x427, 0x180005427\nmov     [rcx+18h], al                                                  ; +0x42c, 0x18000542c\nmov     byte ptr [r8+18h], 1                                           ; +0x42f, 0x18000542f\nmov     rax, [rcx]                                                     ; +0x434, 0x180005434\nmov     byte ptr [rax+18h], 1                                          ; +0x437, 0x180005437\nmov     rcx, [r8]                                                      ; +0x43b, 0x18000543b\nmov     rax, [rcx+10h]                                                 ; +0x43e, 0x18000543e\nmov     [r8], rax                                                      ; +0x442, 0x180005442\nmov     rax, [rcx+10h]                                                 ; +0x445, 0x180005445\ncmp     byte ptr [rax+19h], 0                                          ; +0x449, 0x180005449\njnz     short loc_180005453                                            ; +0x44d, 0x18000544d\nmov     [rax+8], r8                                                    ; +0x44f, 0x18000544f\nmov     rax, [r8+8]                                                    ; +0x453, 0x180005453\nmov     [rcx+8], rax                                                   ; +0x457, 0x180005457\nmov     rax, [rbx]                                                     ; +0x45b, 0x18000545b\ncmp     r8, [rax+8]                                                    ; +0x45e, 0x18000545e\njnz     short loc_18000546A                                            ; +0x462, 0x180005462\nmov     [rax+8], rcx                                                   ; +0x464, 0x180005464\njmp     short loc_18000547D                                            ; +0x468, 0x180005468\nmov     rax, [r8+8]                                                    ; +0x46a, 0x18000546a\ncmp     r8, [rax+10h]                                                  ; +0x46e, 0x18000546e\njnz     short loc_18000547A                                            ; +0x472, 0x180005472\nmov     [rax+10h], rcx                                                 ; +0x474, 0x180005474\njmp     short loc_18000547D                                            ; +0x478, 0x180005478\nmov     [rax], rcx                                                     ; +0x47a, 0x18000547a\nmov     [rcx+10h], r8                                                  ; +0x47d, 0x18000547d\nmov     [r8+8], rcx                                                    ; +0x481, 0x180005481\nmov     byte ptr [r9+18h], 1                                           ; +0x485, 0x180005485\nmov     rcx, [rbx+8]                                                   ; +0x48a, 0x18000548a\nmov     rax, rdi                                                       ; +0x48e, 0x18000548e\ntest    rcx, rcx                                                       ; +0x491, 0x180005491\njz      short loc_18000549D                                            ; +0x494, 0x180005494\ndec     rcx                                                            ; +0x496, 0x180005496\nmov     [rbx+8], rcx                                                   ; +0x499, 0x180005499\nmov     rbx, [rsp+arg_0]                                               ; +0x49d, 0x18000549d\nmov     rdi, [rsp+arg_8]                                               ; +0x4a2, 0x1800054a2\nretn                                                                   ; +0x4a7, 0x1800054a7", "xrefs": ["cocos2d::extension::CCControl::removeHandleOfControlEvent @ 0x180004d2f", "cocos2d::extension::CCScrollView::unregisterScriptHandler @ 0x18001435f", "sub_180016820 @ 0x18001696f", "<???> @ 0x1800494e0"], "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"}