{"type": "func", "start": 6442505152, "end": 6442505264, "name": "cocos2d::extension::CCControlUtils::addSpriteToTargetWithPosAndAnchor", "pseudocode": "// \n// cocos2d::extension::CCControlUtils::addSpriteToTargetWithPosAndAnchor from 0x18000d3c0 to 0x18000d430 (112 bytes)\n// \n// 2 xrefs:\n// > <???> @ 0x18002fdf8\n// > <???> @ 0x180049df8\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\nstruct cocos2d::CCSprite *__fastcall cocos2d::extension::CCControlUtils::addSpriteToTargetWithPosAndAnchor(\n        const char *a1,\n        __int64 a2,\n        __int64 a3,\n        __int64 a4)\n{\n  struct cocos2d::CCSprite *result; // rax\n  struct cocos2d::CCSprite *v8; // rbx\n\n  result = cocos2d::CCSprite::createWithSpriteFrameName(a1);\n  v8 = result;\n  if ( result )\n  {\n    (*(void (__fastcall **)(struct cocos2d::CCSprite *, __int64))(*(_QWORD *)result + 184LL))(result, a3);\n    (*(void (__fastcall **)(struct cocos2d::CCSprite *, __int64))(*(_QWORD *)v8 + 272LL))(v8, a4);\n    (*(void (__fastcall **)(__int64, struct cocos2d::CCSprite *))(*(_QWORD *)a2 + 448LL))(a2, v8);\n    return v8;\n  }\n  return result;\n}", "assembly": "; \n; cocos2d::extension::CCControlUtils::addSpriteToTargetWithPosAndAnchor from 0x18000d3c0 to 0x18000d430 (112 bytes)\n; \n; 2 xrefs:\n; > <???> @ 0x18002fdf8\n; > <???> @ 0x180049df8\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, 0x18000d3c0\nmov     [rsp+arg_8], rbp                                               ; +0x5, 0x18000d3c5\nmov     [rsp+arg_10], rsi                                              ; +0xa, 0x18000d3ca\npush    rdi                                                            ; +0xf, 0x18000d3cf\nsub     rsp, 20h                                                       ; +0x10, 0x18000d3d0\nmov     rsi, r9                                                        ; +0x14, 0x18000d3d4\nmov     rbp, r8                                                        ; +0x17, 0x18000d3d7\nmov     rdi, rdx                                                       ; +0x1a, 0x18000d3da\ncall    cs:?createWithSpriteFrameName@CCSprite@cocos2d@@SAPEAV12@PEBD@Z; cocos2d::CCSprite::createWithSpriteFrameName(char const *) ; +0x1d, 0x18000d3dd\nmov     rbx, rax                                                       ; +0x23, 0x18000d3e3\ntest    rax, rax                                                       ; +0x26, 0x18000d3e6\njz      short loc_18000D41B                                            ; +0x29, 0x18000d3e9\nmov     rax, [rax]                                                     ; +0x2b, 0x18000d3eb\nmov     rdx, rbp                                                       ; +0x2e, 0x18000d3ee\nmov     rcx, rbx                                                       ; +0x31, 0x18000d3f1\ncall    qword ptr [rax+0B8h]                                           ; +0x34, 0x18000d3f4\nmov     rax, [rbx]                                                     ; +0x3a, 0x18000d3fa\nmov     rdx, rsi                                                       ; +0x3d, 0x18000d3fd\nmov     rcx, rbx                                                       ; +0x40, 0x18000d400\ncall    qword ptr [rax+110h]                                           ; +0x43, 0x18000d403\nmov     rax, [rdi]                                                     ; +0x49, 0x18000d409\nmov     rdx, rbx                                                       ; +0x4c, 0x18000d40c\nmov     rcx, rdi                                                       ; +0x4f, 0x18000d40f\ncall    qword ptr [rax+1C0h]                                           ; +0x52, 0x18000d412\nmov     rax, rbx                                                       ; +0x58, 0x18000d418\nmov     rbx, [rsp+28h+arg_0]                                           ; +0x5b, 0x18000d41b\nmov     rbp, [rsp+28h+arg_8]                                           ; +0x60, 0x18000d420\nmov     rsi, [rsp+28h+arg_10]                                          ; +0x65, 0x18000d425\nadd     rsp, 20h                                                       ; +0x6a, 0x18000d42a\npop     rdi                                                            ; +0x6e, 0x18000d42e\nretn                                                                   ; +0x6f, 0x18000d42f", "xrefs": ["<???> @ 0x18002fdf8", "<???> @ 0x180049df8"], "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"}