{"type": "func", "start": 6442569200, "end": 6442569577, "name": "cocos2d::extension::CCEditBox::operator=", "pseudocode": "// \n// cocos2d::extension::CCEditBox::operator= from 0x18001cdf0 to 0x18001cf69 (377 bytes)\n// \n// 2 xrefs:\n// > <???> @ 0x18002fdf8\n// > <???> @ 0x18004af5c\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::CCEditBox::operator=(__int64 a1, __int64 a2)\n{\n  void *v4; // rdx\n  void *v5; // rdx\n  void *v6; // rdx\n  void *v7; // rdx\n\n  cocos2d::extension::CCControlButton::operator=(a1, a2);\n  *(_QWORD *)(a1 + 576) = *(_QWORD *)(a2 + 576);\n  *(_QWORD *)(a1 + 584) = *(_QWORD *)(a2 + 584);\n  *(_DWORD *)(a1 + 592) = *(_DWORD *)(a2 + 592);\n  *(_DWORD *)(a1 + 596) = *(_DWORD *)(a2 + 596);\n  *(_DWORD *)(a1 + 600) = *(_DWORD *)(a2 + 600);\n  if ( a1 + 608 != a2 + 608 )\n  {\n    v4 = (void *)(a2 + 608);\n    if ( *(_QWORD *)(a2 + 632) > 0xFu )\n      v4 = *(void **)(a2 + 608);\n    sub_180003BC0((void **)(a1 + 608), v4, *(_QWORD *)(a2 + 624));\n  }\n  if ( a1 + 640 != a2 + 640 )\n  {\n    v5 = (void *)(a2 + 640);\n    if ( *(_QWORD *)(a2 + 664) > 0xFu )\n      v5 = *(void **)(a2 + 640);\n    sub_180003BC0((void **)(a1 + 640), v5, *(_QWORD *)(a2 + 656));\n  }\n  if ( a1 + 672 != a2 + 672 )\n  {\n    v6 = (void *)(a2 + 672);\n    if ( *(_QWORD *)(a2 + 696) > 0xFu )\n      v6 = *(void **)(a2 + 672);\n    sub_180003BC0((void **)(a1 + 672), v6, *(_QWORD *)(a2 + 688));\n  }\n  if ( a1 + 704 != a2 + 704 )\n  {\n    v7 = (void *)(a2 + 704);\n    if ( *(_QWORD *)(a2 + 728) > 0xFu )\n      v7 = *(void **)(a2 + 704);\n    sub_180003BC0((void **)(a1 + 704), v7, *(_QWORD *)(a2 + 720));\n  }\n  *(_DWORD *)(a1 + 736) = *(_DWORD *)(a2 + 736);\n  *(_DWORD *)(a1 + 740) = *(_DWORD *)(a2 + 740);\n  *(_WORD *)(a1 + 744) = *(_WORD *)(a2 + 744);\n  *(_BYTE *)(a1 + 746) = *(_BYTE *)(a2 + 746);\n  *(_WORD *)(a1 + 747) = *(_WORD *)(a2 + 747);\n  *(_BYTE *)(a1 + 749) = *(_BYTE *)(a2 + 749);\n  *(_DWORD *)(a1 + 752) = *(_DWORD *)(a2 + 752);\n  *(_DWORD *)(a1 + 756) = *(_DWORD *)(a2 + 756);\n  *(_DWORD *)(a1 + 760) = *(_DWORD *)(a2 + 760);\n  return a1;\n}", "assembly": "; \n; cocos2d::extension::CCEditBox::operator= from 0x18001cdf0 to 0x18001cf69 (377 bytes)\n; \n; 2 xrefs:\n; > <???> @ 0x18002fdf8\n; > <???> @ 0x18004af5c\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, 0x18001cdf0\npush    rdi                                                            ; +0x5, 0x18001cdf5\nsub     rsp, 20h                                                       ; +0x6, 0x18001cdf6\nmov     rdi, rdx                                                       ; +0xa, 0x18001cdfa\nmov     rbx, rcx                                                       ; +0xd, 0x18001cdfd\ncall    ??4CCControlButton@extension@cocos2d@@QEAAAEAV012@AEBV012@@Z; cocos2d::extension::CCControlButton::operator=(cocos2d::extension::CCControlButton const &) ; +0x10, 0x18001ce00\nmov     rax, [rdi+240h]                                                ; +0x15, 0x18001ce05\nlea     r8, [rdi+260h]                                                 ; +0x1c, 0x18001ce0c\nmov     [rbx+240h], rax                                                ; +0x23, 0x18001ce13\nlea     rcx, [rbx+260h]; void *                                        ; +0x2a, 0x18001ce1a\nmov     rax, [rdi+248h]                                                ; +0x31, 0x18001ce21\nmov     [rbx+248h], rax                                                ; +0x38, 0x18001ce28\nmov     eax, [rdi+250h]                                                ; +0x3f, 0x18001ce2f\nmov     [rbx+250h], eax                                                ; +0x45, 0x18001ce35\nmov     eax, [rdi+254h]                                                ; +0x4b, 0x18001ce3b\nmov     [rbx+254h], eax                                                ; +0x51, 0x18001ce41\nmov     eax, [rdi+258h]                                                ; +0x57, 0x18001ce47\nmov     [rbx+258h], eax                                                ; +0x5d, 0x18001ce4d\ncmp     rcx, r8                                                        ; +0x63, 0x18001ce53\njz      short loc_18001CE6E                                            ; +0x66, 0x18001ce56\ncmp     qword ptr [r8+18h], 0Fh                                        ; +0x68, 0x18001ce58\nmov     rdx, r8                                                        ; +0x6d, 0x18001ce5d\njbe     short loc_18001CE65                                            ; +0x70, 0x18001ce60\nmov     rdx, [r8]; Src                                                 ; +0x72, 0x18001ce62\nmov     r8, [r8+10h]; Size                                             ; +0x75, 0x18001ce65\ncall    sub_180003BC0                                                  ; +0x79, 0x18001ce69\nlea     r8, [rdi+280h]                                                 ; +0x7e, 0x18001ce6e\nlea     rcx, [rbx+280h]; void *                                        ; +0x85, 0x18001ce75\ncmp     rcx, r8                                                        ; +0x8c, 0x18001ce7c\njz      short loc_18001CE97                                            ; +0x8f, 0x18001ce7f\ncmp     qword ptr [r8+18h], 0Fh                                        ; +0x91, 0x18001ce81\nmov     rdx, r8                                                        ; +0x96, 0x18001ce86\njbe     short loc_18001CE8E                                            ; +0x99, 0x18001ce89\nmov     rdx, [r8]; Src                                                 ; +0x9b, 0x18001ce8b\nmov     r8, [r8+10h]; Size                                             ; +0x9e, 0x18001ce8e\ncall    sub_180003BC0                                                  ; +0xa2, 0x18001ce92\nlea     r8, [rdi+2A0h]                                                 ; +0xa7, 0x18001ce97\nlea     rcx, [rbx+2A0h]; void *                                        ; +0xae, 0x18001ce9e\ncmp     rcx, r8                                                        ; +0xb5, 0x18001cea5\njz      short loc_18001CEC0                                            ; +0xb8, 0x18001cea8\ncmp     qword ptr [r8+18h], 0Fh                                        ; +0xba, 0x18001ceaa\nmov     rdx, r8                                                        ; +0xbf, 0x18001ceaf\njbe     short loc_18001CEB7                                            ; +0xc2, 0x18001ceb2\nmov     rdx, [r8]; Src                                                 ; +0xc4, 0x18001ceb4\nmov     r8, [r8+10h]; Size                                             ; +0xc7, 0x18001ceb7\ncall    sub_180003BC0                                                  ; +0xcb, 0x18001cebb\nlea     r8, [rdi+2C0h]                                                 ; +0xd0, 0x18001cec0\nlea     rcx, [rbx+2C0h]; void *                                        ; +0xd7, 0x18001cec7\ncmp     rcx, r8                                                        ; +0xde, 0x18001cece\njz      short loc_18001CEE9                                            ; +0xe1, 0x18001ced1\ncmp     qword ptr [r8+18h], 0Fh                                        ; +0xe3, 0x18001ced3\nmov     rdx, r8                                                        ; +0xe8, 0x18001ced8\njbe     short loc_18001CEE0                                            ; +0xeb, 0x18001cedb\nmov     rdx, [r8]; Src                                                 ; +0xed, 0x18001cedd\nmov     r8, [r8+10h]; Size                                             ; +0xf0, 0x18001cee0\ncall    sub_180003BC0                                                  ; +0xf4, 0x18001cee4\nmov     eax, [rdi+2E0h]                                                ; +0xf9, 0x18001cee9\nmov     [rbx+2E0h], eax                                                ; +0xff, 0x18001ceef\nmov     eax, [rdi+2E4h]                                                ; +0x105, 0x18001cef5\nmov     [rbx+2E4h], eax                                                ; +0x10b, 0x18001cefb\nmovzx   eax, word ptr [rdi+2E8h]                                       ; +0x111, 0x18001cf01\nmov     [rbx+2E8h], ax                                                 ; +0x118, 0x18001cf08\nmovzx   eax, byte ptr [rdi+2EAh]                                       ; +0x11f, 0x18001cf0f\nmov     [rbx+2EAh], al                                                 ; +0x126, 0x18001cf16\nmovzx   eax, word ptr [rdi+2EBh]                                       ; +0x12c, 0x18001cf1c\nmov     [rbx+2EBh], ax                                                 ; +0x133, 0x18001cf23\nmovzx   eax, byte ptr [rdi+2EDh]                                       ; +0x13a, 0x18001cf2a\nmov     [rbx+2EDh], al                                                 ; +0x141, 0x18001cf31\nmov     eax, [rdi+2F0h]                                                ; +0x147, 0x18001cf37\nmov     [rbx+2F0h], eax                                                ; +0x14d, 0x18001cf3d\nmov     eax, [rdi+2F4h]                                                ; +0x153, 0x18001cf43\nmov     [rbx+2F4h], eax                                                ; +0x159, 0x18001cf49\nmov     eax, [rdi+2F8h]                                                ; +0x15f, 0x18001cf4f\nmov     [rbx+2F8h], eax                                                ; +0x165, 0x18001cf55\nmov     rax, rbx                                                       ; +0x16b, 0x18001cf5b\nmov     rbx, [rsp+28h+arg_0]                                           ; +0x16e, 0x18001cf5e\nadd     rsp, 20h                                                       ; +0x173, 0x18001cf63\npop     rdi                                                            ; +0x177, 0x18001cf67\nretn                                                                   ; +0x178, 0x18001cf68", "xrefs": ["<???> @ 0x18002fdf8", "<???> @ 0x18004af5c"], "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"}