{"type": "func", "start": 6442507296, "end": 6442507490, "name": "cocos2d::extension::CCScale9Sprite::initWithBatchNode", "pseudocode": "// \n// cocos2d::extension::CCScale9Sprite::initWithBatchNode from 0x18000dc20 to 0x18000dce2 (194 bytes)\n// \n// 5 xrefs:\n// > <???> @ 0x180027920\n// > <???> @ 0x18002e18c\n// > <???> @ 0x18002e19c\n// > <???> @ 0x18002fdf8\n// > <???> @ 0x180049e7c\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\nchar __fastcall cocos2d::extension::CCScale9Sprite::initWithBatchNode(\n        __int64 *a1,\n        __int64 a2,\n        const struct cocos2d::CCRect *a3,\n        unsigned __int8 a4,\n        const struct cocos2d::CCRect *a5)\n{\n  __int64 v9; // rdi\n  __int64 v10; // rbx\n  __int64 v11; // rax\n  __int64 v12; // rbx\n  __int64 v13; // rax\n  __int64 v15; // [rsp+30h] [rbp-38h] BYREF\n  _BYTE v16[40]; // [rsp+40h] [rbp-28h] BYREF\n  char v17; // [rsp+70h] [rbp+8h] BYREF\n\n  if ( a2 )\n  {\n    v9 = *a1;\n    v10 = cocos2d::CCRect::CCRect((cocos2d::CCRect *)&v15, a5);\n    v11 = cocos2d::CCRect::CCRect((cocos2d::CCRect *)v16, a3);\n    (*(void (__fastcall **)(__int64 *, __int64, __int64, _QWORD, __int64))(v9 + 1048))(a1, a2, v11, a4, v10);\n    v12 = *a1;\n    cocos2d::CCPoint::CCPoint((cocos2d::CCPoint *)&v17, 0.5, 0.5);\n    (*(void (__fastcall **)(__int64 *, __int64))(v12 + 272))(a1, v13);\n    *((_BYTE *)a1 + 432) = 1;\n  }\n  else\n  {\n    *((_BYTE *)a1 + 432) = 1;\n  }\n  return 1;\n}", "assembly": "; \n; cocos2d::extension::CCScale9Sprite::initWithBatchNode from 0x18000dc20 to 0x18000dce2 (194 bytes)\n; \n; 5 xrefs:\n; > <???> @ 0x180027920\n; > <???> @ 0x18002e18c\n; > <???> @ 0x18002e19c\n; > <???> @ 0x18002fdf8\n; > <???> @ 0x180049e7c\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     rax, rsp                                                       ; +0x0, 0x18000dc20\nmov     [rax+20h], rbp                                                 ; +0x3, 0x18000dc23\npush    rsi                                                            ; +0x7, 0x18000dc27\npush    r14                                                            ; +0x8, 0x18000dc28\npush    r15                                                            ; +0xa, 0x18000dc2a\nsub     rsp, 50h                                                       ; +0xc, 0x18000dc2c\nmovzx   r14d, r9b                                                      ; +0x10, 0x18000dc30\nmov     r15, r8                                                        ; +0x14, 0x18000dc34\nmov     rbp, rdx                                                       ; +0x17, 0x18000dc37\nmov     rsi, rcx                                                       ; +0x1a, 0x18000dc3a\ntest    rdx, rdx                                                       ; +0x1d, 0x18000dc3d\njz      loc_18000DCC7                                                  ; +0x20, 0x18000dc40\nmov     rdx, [rsp+68h+arg_20]                                          ; +0x26, 0x18000dc46\nmov     [rax+10h], rbx                                                 ; +0x2e, 0x18000dc4e\nmov     [rax+18h], rdi                                                 ; +0x32, 0x18000dc52\nmov     rdi, [rcx]                                                     ; +0x36, 0x18000dc56\nlea     rcx, [rax-38h]                                                 ; +0x39, 0x18000dc59\ncall    cs:??0CCRect@cocos2d@@QEAA@AEBV01@@Z; cocos2d::CCRect::CCRect(cocos2d::CCRect const &) ; +0x3d, 0x18000dc5d\nmov     rdx, r15                                                       ; +0x43, 0x18000dc63\nlea     rcx, [rsp+68h+var_28]                                          ; +0x46, 0x18000dc66\nmov     rbx, rax                                                       ; +0x4b, 0x18000dc6b\ncall    cs:??0CCRect@cocos2d@@QEAA@AEBV01@@Z; cocos2d::CCRect::CCRect(cocos2d::CCRect const &) ; +0x4e, 0x18000dc6e\nmovzx   r9d, r14b                                                      ; +0x54, 0x18000dc74\nmov     [rsp+68h+var_48], rbx                                          ; +0x58, 0x18000dc78\nmov     r8, rax                                                        ; +0x5d, 0x18000dc7d\nmov     rdx, rbp                                                       ; +0x60, 0x18000dc80\nmov     rcx, rsi                                                       ; +0x63, 0x18000dc83\ncall    qword ptr [rdi+418h]                                           ; +0x66, 0x18000dc86\nmovss   xmm1, cs:dword_180029510                                       ; +0x6c, 0x18000dc8c\nlea     rcx, [rsp+68h+arg_0]                                           ; +0x74, 0x18000dc94\nmov     rbx, [rsi]                                                     ; +0x79, 0x18000dc99\nmovaps  xmm2, xmm1                                                     ; +0x7c, 0x18000dc9c\ncall    cs:??0CCPoint@cocos2d@@QEAA@MM@Z; cocos2d::CCPoint::CCPoint(float,float) ; +0x7f, 0x18000dc9f\nmov     rdx, rax                                                       ; +0x85, 0x18000dca5\nmov     rcx, rsi                                                       ; +0x88, 0x18000dca8\ncall    qword ptr [rbx+110h]                                           ; +0x8b, 0x18000dcab\nmov     rdi, [rsp+68h+arg_10]                                          ; +0x91, 0x18000dcb1\nmov     rbx, [rsp+68h+arg_8]                                           ; +0x99, 0x18000dcb9\nmov     byte ptr [rsi+1B0h], 1                                         ; +0x9e, 0x18000dcbe\njmp     short loc_18000DCCE                                            ; +0xa5, 0x18000dcc5\nmov     byte ptr [rcx+1B0h], 1                                         ; +0xa7, 0x18000dcc7\nmov     rbp, [rsp+68h+arg_18]                                          ; +0xae, 0x18000dcce\nmov     al, 1                                                          ; +0xb6, 0x18000dcd6\nadd     rsp, 50h                                                       ; +0xb8, 0x18000dcd8\npop     r15                                                            ; +0xbc, 0x18000dcdc\npop     r14                                                            ; +0xbe, 0x18000dcde\npop     rsi                                                            ; +0xc0, 0x18000dce0\nretn                                                                   ; +0xc1, 0x18000dce1", "xrefs": ["<???> @ 0x180027920", "<???> @ 0x18002e18c", "<???> @ 0x18002e19c", "<???> @ 0x18002fdf8", "<???> @ 0x180049e7c"], "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"}