{"type": "func", "start": 6442515984, "end": 6442516234, "name": "cocos2d::extension::CCScale9Sprite::updateCapInset", "pseudocode": "// \n// cocos2d::extension::CCScale9Sprite::updateCapInset from 0x18000fe10 to 0x18000ff0a (250 bytes)\n// \n// 6 xrefs:\n// > cocos2d::extension::CCScale9Sprite::setInsetLeft @ 0x180010128\n// > cocos2d::extension::CCScale9Sprite::setInsetTop @ 0x180010138\n// > cocos2d::extension::CCScale9Sprite::setInsetRight @ 0x180010148\n// > cocos2d::extension::CCScale9Sprite::setInsetBottom @ 0x180010158\n// > <???> @ 0x18002fdf8\n// > <???> @ 0x18004a008\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::CCScale9Sprite::updateCapInset(cocos2d::extension::CCScale9Sprite *this)\n{\n  float v2; // xmm4_4\n  void *v3; // rdx\n  float v4; // xmm2_4\n  float v5; // xmm1_4\n  float v6; // xmm3_4\n  float v7; // xmm5_4\n  float v8; // xmm3_4\n  void *v9; // rax\n  __int64 v10; // rbx\n  __int64 v11; // rax\n  float v12; // [rsp+20h] [rbp-38h]\n  _BYTE v13[16]; // [rsp+30h] [rbp-28h] BYREF\n  _BYTE v14[24]; // [rsp+40h] [rbp-18h] BYREF\n\n  cocos2d::CCRect::CCRect((cocos2d::CCRect *)v13);\n  v2 = *((float *)this + 94);\n  if ( v2 == 0.0 && *((float *)this + 95) == 0.0 && *((float *)this + 96) == 0.0 && *((float *)this + 97) == 0.0 )\n  {\n    v3 = &unk_180048610;\n  }\n  else\n  {\n    v4 = *((float *)this + 95);\n    v5 = *((float *)this + 97);\n    v6 = *((float *)this + 101);\n    v7 = *((float *)this + 96);\n    v12 = (float)(*((float *)this + 102) - v4) - v5;\n    if ( *((_BYTE *)this + 412) )\n    {\n      v4 = *((float *)this + 94);\n      v8 = (float)(v6 - v7) - v2;\n    }\n    else\n    {\n      v5 = *((float *)this + 94);\n      v8 = (float)(v6 - v2) - v7;\n    }\n    cocos2d::CCRect::CCRect((cocos2d::CCRect *)v14, v5, v4, v8, v12);\n    v3 = v9;\n  }\n  cocos2d::CCRect::operator=(v13, v3);\n  v10 = *(_QWORD *)this;\n  cocos2d::CCRect::CCRect((cocos2d::CCRect *)v14, (const struct cocos2d::CCRect *)v13);\n  (*(void (__fastcall **)(cocos2d::extension::CCScale9Sprite *, __int64))(v10 + 896))(this, v11);\n}", "assembly": "; \n; cocos2d::extension::CCScale9Sprite::updateCapInset from 0x18000fe10 to 0x18000ff0a (250 bytes)\n; \n; 6 xrefs:\n; > cocos2d::extension::CCScale9Sprite::setInsetLeft @ 0x180010128\n; > cocos2d::extension::CCScale9Sprite::setInsetTop @ 0x180010138\n; > cocos2d::extension::CCScale9Sprite::setInsetRight @ 0x180010148\n; > cocos2d::extension::CCScale9Sprite::setInsetBottom @ 0x180010158\n; > <???> @ 0x18002fdf8\n; > <???> @ 0x18004a008\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, 0x18000fe10\npush    rdi                                                            ; +0x5, 0x18000fe15\nsub     rsp, 50h                                                       ; +0x6, 0x18000fe16\nmov     rdi, rcx                                                       ; +0xa, 0x18000fe1a\nlea     rcx, [rsp+58h+var_28]                                          ; +0xd, 0x18000fe1d\ncall    cs:??0CCRect@cocos2d@@QEAA@XZ; cocos2d::CCRect::CCRect(void)   ; +0x12, 0x18000fe22\nmovss   xmm4, dword ptr [rdi+178h]                                     ; +0x18, 0x18000fe28\nxorps   xmm1, xmm1                                                     ; +0x20, 0x18000fe30\nucomiss xmm4, xmm1                                                     ; +0x23, 0x18000fe33\njp      short loc_18000FE70                                            ; +0x26, 0x18000fe36\njnz     short loc_18000FE70                                            ; +0x28, 0x18000fe38\nmovss   xmm0, dword ptr [rdi+17Ch]                                     ; +0x2a, 0x18000fe3a\nucomiss xmm0, xmm1                                                     ; +0x32, 0x18000fe42\njp      short loc_18000FE70                                            ; +0x35, 0x18000fe45\njnz     short loc_18000FE70                                            ; +0x37, 0x18000fe47\nmovss   xmm0, dword ptr [rdi+180h]                                     ; +0x39, 0x18000fe49\nucomiss xmm0, xmm1                                                     ; +0x41, 0x18000fe51\njp      short loc_18000FE70                                            ; +0x44, 0x18000fe54\njnz     short loc_18000FE70                                            ; +0x46, 0x18000fe56\nmovss   xmm0, dword ptr [rdi+184h]                                     ; +0x48, 0x18000fe58\nucomiss xmm0, xmm1                                                     ; +0x50, 0x18000fe60\njp      short loc_18000FE70                                            ; +0x53, 0x18000fe63\njnz     short loc_18000FE70                                            ; +0x55, 0x18000fe65\nlea     rdx, unk_180048610                                             ; +0x57, 0x18000fe67\njmp     short loc_18000FED5                                            ; +0x5e, 0x18000fe6e\ncmp     byte ptr [rdi+19Ch], 0                                         ; +0x60, 0x18000fe70\nlea     rcx, [rsp+58h+var_18]                                          ; +0x67, 0x18000fe77\nmovss   xmm0, dword ptr [rdi+198h]                                     ; +0x6c, 0x18000fe7c\nmovss   xmm2, dword ptr [rdi+17Ch]                                     ; +0x74, 0x18000fe84\nmovss   xmm1, dword ptr [rdi+184h]                                     ; +0x7c, 0x18000fe8c\nsubss   xmm0, xmm2                                                     ; +0x84, 0x18000fe94\nmovss   xmm3, dword ptr [rdi+194h]                                     ; +0x88, 0x18000fe98\nmovss   xmm5, dword ptr [rdi+180h]                                     ; +0x90, 0x18000fea0\nsubss   xmm0, xmm1                                                     ; +0x98, 0x18000fea8\nmovss   [rsp+58h+var_38], xmm0                                         ; +0x9c, 0x18000feac\njz      short loc_18000FEC1                                            ; +0xa2, 0x18000feb2\nsubss   xmm3, xmm5                                                     ; +0xa4, 0x18000feb4\nmovaps  xmm2, xmm4                                                     ; +0xa8, 0x18000feb8\nsubss   xmm3, xmm4                                                     ; +0xab, 0x18000febb\njmp     short loc_18000FECC                                            ; +0xaf, 0x18000febf\nsubss   xmm3, xmm4                                                     ; +0xb1, 0x18000fec1\nmovaps  xmm1, xmm4                                                     ; +0xb5, 0x18000fec5\nsubss   xmm3, xmm5                                                     ; +0xb8, 0x18000fec8\ncall    cs:??0CCRect@cocos2d@@QEAA@MMMM@Z; cocos2d::CCRect::CCRect(float,float,float,float) ; +0xbc, 0x18000fecc\nmov     rdx, rax                                                       ; +0xc2, 0x18000fed2\nlea     rcx, [rsp+58h+var_28]                                          ; +0xc5, 0x18000fed5\ncall    cs:??4CCRect@cocos2d@@QEAAAEAV01@AEBV01@@Z; cocos2d::CCRect::operator=(cocos2d::CCRect const &) ; +0xca, 0x18000feda\nmov     rbx, [rdi]                                                     ; +0xd0, 0x18000fee0\nlea     rdx, [rsp+58h+var_28]                                          ; +0xd3, 0x18000fee3\nlea     rcx, [rsp+58h+var_18]                                          ; +0xd8, 0x18000fee8\ncall    cs:??0CCRect@cocos2d@@QEAA@AEBV01@@Z; cocos2d::CCRect::CCRect(cocos2d::CCRect const &) ; +0xdd, 0x18000feed\nmov     rdx, rax                                                       ; +0xe3, 0x18000fef3\nmov     rcx, rdi                                                       ; +0xe6, 0x18000fef6\ncall    qword ptr [rbx+380h]                                           ; +0xe9, 0x18000fef9\nmov     rbx, [rsp+58h+arg_0]                                           ; +0xef, 0x18000feff\nadd     rsp, 50h                                                       ; +0xf4, 0x18000ff04\npop     rdi                                                            ; +0xf8, 0x18000ff08\nretn                                                                   ; +0xf9, 0x18000ff09", "xrefs": ["cocos2d::extension::CCScale9Sprite::setInsetLeft @ 0x180010128", "cocos2d::extension::CCScale9Sprite::setInsetTop @ 0x180010138", "cocos2d::extension::CCScale9Sprite::setInsetRight @ 0x180010148", "cocos2d::extension::CCScale9Sprite::setInsetBottom @ 0x180010158", "<???> @ 0x18002fdf8", "<???> @ 0x18004a008"], "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"}