{"type": "func", "start": 6442554336, "end": 6442554500, "name": "cocos2d::extension::WebSocket::operator=", "pseudocode": "// \n// cocos2d::extension::WebSocket::operator= from 0x1800193e0 to 0x180019484 (164 bytes)\n// \n// 2 xrefs:\n// > <???> @ 0x18002fdf8\n// > <???> @ 0x18004abf0\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 cocos2d::extension::WebSocket::operator=(__int64 a1, __int64 a2)\n{\n  __int64 v2; // r8\n  void **v4; // rcx\n  void *v6; // rdx\n  void *v7; // rdx\n\n  v2 = a2 + 16;\n  *(_DWORD *)(a1 + 8) = *(_DWORD *)(a2 + 8);\n  v4 = (void **)(a1 + 16);\n  if ( v4 != (void **)(a2 + 16) )\n  {\n    v6 = (void *)(a2 + 16);\n    if ( *(_QWORD *)(v2 + 24) > 0xFu )\n      v6 = *(void **)v2;\n    sub_180003BC0(v4, v6, *(_QWORD *)(v2 + 16));\n  }\n  *(_DWORD *)(a1 + 48) = *(_DWORD *)(a2 + 48);\n  if ( a1 + 56 != a2 + 56 )\n  {\n    v7 = (void *)(a2 + 56);\n    if ( *(_QWORD *)(a2 + 80) > 0xFu )\n      v7 = *(void **)(a2 + 56);\n    sub_180003BC0((void **)(a1 + 56), v7, *(_QWORD *)(a2 + 72));\n  }\n  *(_QWORD *)(a1 + 88) = *(_QWORD *)(a2 + 88);\n  *(_QWORD *)(a1 + 96) = *(_QWORD *)(a2 + 96);\n  *(_QWORD *)(a1 + 104) = *(_QWORD *)(a2 + 104);\n  *(_QWORD *)(a1 + 112) = *(_QWORD *)(a2 + 112);\n  *(_DWORD *)(a1 + 120) = *(_DWORD *)(a2 + 120);\n  *(_QWORD *)(a1 + 128) = *(_QWORD *)(a2 + 128);\n  return a1;\n}", "assembly": "; \n; cocos2d::extension::WebSocket::operator= from 0x1800193e0 to 0x180019484 (164 bytes)\n; \n; 2 xrefs:\n; > <???> @ 0x18002fdf8\n; > <???> @ 0x18004abf0\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, 0x1800193e0\npush    rdi                                                            ; +0x5, 0x1800193e5\nsub     rsp, 20h                                                       ; +0x6, 0x1800193e6\nmov     eax, [rdx+8]                                                   ; +0xa, 0x1800193ea\nlea     r8, [rdx+10h]                                                  ; +0xd, 0x1800193ed\nmov     [rcx+8], eax                                                   ; +0x11, 0x1800193f1\nmov     rbx, rcx                                                       ; +0x14, 0x1800193f4\nadd     rcx, 10h; void *                                               ; +0x17, 0x1800193f7\nmov     rdi, rdx                                                       ; +0x1b, 0x1800193fb\ncmp     rcx, r8                                                        ; +0x1e, 0x1800193fe\njz      short loc_180019419                                            ; +0x21, 0x180019401\ncmp     qword ptr [r8+18h], 0Fh                                        ; +0x23, 0x180019403\nmov     rdx, r8                                                        ; +0x28, 0x180019408\njbe     short loc_180019410                                            ; +0x2b, 0x18001940b\nmov     rdx, [r8]; Src                                                 ; +0x2d, 0x18001940d\nmov     r8, [r8+10h]; Size                                             ; +0x30, 0x180019410\ncall    sub_180003BC0                                                  ; +0x34, 0x180019414\nmov     eax, [rdi+30h]                                                 ; +0x39, 0x180019419\nlea     r8, [rdi+38h]                                                  ; +0x3c, 0x18001941c\nlea     rcx, [rbx+38h]; void *                                         ; +0x40, 0x180019420\nmov     [rbx+30h], eax                                                 ; +0x44, 0x180019424\ncmp     rcx, r8                                                        ; +0x47, 0x180019427\njz      short loc_180019442                                            ; +0x4a, 0x18001942a\ncmp     qword ptr [r8+18h], 0Fh                                        ; +0x4c, 0x18001942c\nmov     rdx, r8                                                        ; +0x51, 0x180019431\njbe     short loc_180019439                                            ; +0x54, 0x180019434\nmov     rdx, [r8]; Src                                                 ; +0x56, 0x180019436\nmov     r8, [r8+10h]; Size                                             ; +0x59, 0x180019439\ncall    sub_180003BC0                                                  ; +0x5d, 0x18001943d\nmov     rax, [rdi+58h]                                                 ; +0x62, 0x180019442\nmov     [rbx+58h], rax                                                 ; +0x66, 0x180019446\nmov     rax, [rdi+60h]                                                 ; +0x6a, 0x18001944a\nmov     [rbx+60h], rax                                                 ; +0x6e, 0x18001944e\nmov     rax, [rdi+68h]                                                 ; +0x72, 0x180019452\nmov     [rbx+68h], rax                                                 ; +0x76, 0x180019456\nmov     rax, [rdi+70h]                                                 ; +0x7a, 0x18001945a\nmov     [rbx+70h], rax                                                 ; +0x7e, 0x18001945e\nmov     eax, [rdi+78h]                                                 ; +0x82, 0x180019462\nmov     [rbx+78h], eax                                                 ; +0x85, 0x180019465\nmov     rax, [rdi+80h]                                                 ; +0x88, 0x180019468\nmov     [rbx+80h], rax                                                 ; +0x8f, 0x18001946f\nmov     rax, rbx                                                       ; +0x96, 0x180019476\nmov     rbx, [rsp+28h+arg_0]                                           ; +0x99, 0x180019479\nadd     rsp, 20h                                                       ; +0x9e, 0x18001947e\npop     rdi                                                            ; +0xa2, 0x180019482\nretn                                                                   ; +0xa3, 0x180019483", "xrefs": ["<???> @ 0x18002fdf8", "<???> @ 0x18004abf0"], "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"}