{"type": "func", "start": 6442523696, "end": 6442523815, "name": "cocos2d::extension::CCEditBoxImplWin::setPlaceHolder", "pseudocode": "// \n// cocos2d::extension::CCEditBoxImplWin::setPlaceHolder from 0x180011c30 to 0x180011ca7 (119 bytes)\n// \n// 5 xrefs:\n// > <???> @ 0x1800281b8\n// > <???> @ 0x18002e770\n// > <???> @ 0x18002e780\n// > <???> @ 0x18002fdf8\n// > <???> @ 0x18004a2e4\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\nvoid __fastcall cocos2d::extension::CCEditBoxImplWin::setPlaceHolder(void **this, char *a2)\n{\n  _QWORD *v3; // rbx\n  size_t v4; // r8\n  __int64 v5; // rdx\n\n  if ( a2 )\n  {\n    v3 = this + 11;\n    v4 = -1;\n    do\n      ++v4;\n    while ( a2[v4] );\n    sub_180003BC0(this + 11, a2, v4);\n    if ( *(this + 13) && !*(this + 9) )\n    {\n      LOBYTE(v5) = 1;\n      (*(void (__fastcall **)(_QWORD, __int64))(*(_QWORD *)*(this + 4) + 320LL))(*(this + 4), v5);\n    }\n    if ( v3[3] > 0xFu )\n      v3 = (_QWORD *)*v3;\n    (**((void (__fastcall ***)(__int64, _QWORD *))*(this + 4) + 75))((__int64)*(this + 4) + 600, v3);\n  }\n}", "assembly": "; \n; cocos2d::extension::CCEditBoxImplWin::setPlaceHolder from 0x180011c30 to 0x180011ca7 (119 bytes)\n; \n; 5 xrefs:\n; > <???> @ 0x1800281b8\n; > <???> @ 0x18002e770\n; > <???> @ 0x18002e780\n; > <???> @ 0x18002fdf8\n; > <???> @ 0x18004a2e4\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\ntest    rdx, rdx                                                       ; +0x0, 0x180011c30\njz      short locret_180011CA6                                         ; +0x3, 0x180011c33\npush    rdi                                                            ; +0x5, 0x180011c35\nsub     rsp, 20h                                                       ; +0x6, 0x180011c36\nmov     [rsp+28h+arg_0], rbx                                           ; +0xa, 0x180011c3a\nmov     rdi, rcx                                                       ; +0xf, 0x180011c3f\nlea     rbx, [rcx+58h]                                                 ; +0x12, 0x180011c42\nmov     r8, 0FFFFFFFFFFFFFFFFh                                         ; +0x16, 0x180011c46\nnop     dword ptr [rax]                                                ; +0x1d, 0x180011c4d\ninc     r8; Size                                                       ; +0x20, 0x180011c50\ncmp     byte ptr [rdx+r8], 0                                           ; +0x23, 0x180011c53\njnz     short loc_180011C50                                            ; +0x28, 0x180011c58\nmov     rcx, rbx; void *                                               ; +0x2a, 0x180011c5a\ncall    sub_180003BC0                                                  ; +0x2d, 0x180011c5d\ncmp     qword ptr [rdi+68h], 0                                         ; +0x32, 0x180011c62\njbe     short loc_180011C7F                                            ; +0x37, 0x180011c67\ncmp     qword ptr [rdi+48h], 0                                         ; +0x39, 0x180011c69\njnz     short loc_180011C7F                                            ; +0x3e, 0x180011c6e\nmov     rcx, [rdi+20h]                                                 ; +0x40, 0x180011c70\nmov     dl, 1                                                          ; +0x44, 0x180011c74\nmov     rax, [rcx]                                                     ; +0x46, 0x180011c76\ncall    qword ptr [rax+140h]                                           ; +0x49, 0x180011c79\ncmp     qword ptr [rbx+18h], 0Fh                                       ; +0x4f, 0x180011c7f\njbe     short loc_180011C89                                            ; +0x54, 0x180011c84\nmov     rbx, [rbx]                                                     ; +0x56, 0x180011c86\nmov     rcx, [rdi+20h]                                                 ; +0x59, 0x180011c89\nmov     rdx, rbx                                                       ; +0x5d, 0x180011c8d\nadd     rcx, 258h                                                      ; +0x60, 0x180011c90\nmov     rax, [rcx]                                                     ; +0x67, 0x180011c97\ncall    qword ptr [rax]                                                ; +0x6a, 0x180011c9a\nmov     rbx, [rsp+28h+arg_0]                                           ; +0x6c, 0x180011c9c\nadd     rsp, 20h                                                       ; +0x71, 0x180011ca1\npop     rdi                                                            ; +0x75, 0x180011ca5\nretn                                                                   ; +0x76, 0x180011ca6", "xrefs": ["<???> @ 0x1800281b8", "<???> @ 0x18002e770", "<???> @ 0x18002e780", "<???> @ 0x18002fdf8", "<???> @ 0x18004a2e4"], "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"}