{"type": "func", "start": 6442572048, "end": 6442572168, "name": "sub_18001D910", "pseudocode": "// \n// sub_18001D910 from 0x18001d910 to 0x18001d988 (120 bytes)\n// \n// 6 xrefs:\n// > cocos2d::extension::CCHttpRequest::CCHttpRequest @ 0x18001d482\n// > cocos2d::extension::CCHttpResponse::CCHttpResponse @ 0x18001d79d\n// > cocos2d::extension::CCHttpResponse::CCHttpResponse @ 0x18001d7ab\n// > <???> @ 0x18002f928\n// > <???> @ 0x18002f938\n// > <???> @ 0x18004b028\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 sub_18001D910(void **a1, const void **a2)\n{\n  size_t v4; // rdx\n  const void *v5; // rdx\n  char *v6; // rdi\n  size_t v7; // rbx\n\n  *a1 = nullptr;\n  a1[1] = nullptr;\n  a1[2] = nullptr;\n  v4 = (_BYTE *)a2[1] - (_BYTE *)*a2;\n  if ( v4 )\n  {\n    if ( v4 > 0x7FFFFFFFFFFFFFFFLL )\n      sub_180003530();\n    sub_180018CF0(a1, v4);\n    v5 = *a2;\n    v6 = (char *)*a1;\n    v7 = (_BYTE *)a2[1] - (_BYTE *)*a2;\n    memmove(*a1, v5, v7);\n    a1[1] = &v6[v7];\n  }\n  return a1;\n}", "assembly": "; \n; sub_18001D910 from 0x18001d910 to 0x18001d988 (120 bytes)\n; \n; 6 xrefs:\n; > cocos2d::extension::CCHttpRequest::CCHttpRequest @ 0x18001d482\n; > cocos2d::extension::CCHttpResponse::CCHttpResponse @ 0x18001d79d\n; > cocos2d::extension::CCHttpResponse::CCHttpResponse @ 0x18001d7ab\n; > <???> @ 0x18002f928\n; > <???> @ 0x18002f938\n; > <???> @ 0x18004b028\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_8], rbx                                               ; +0x0, 0x18001d910\npush    rsi                                                            ; +0x5, 0x18001d915\nsub     rsp, 20h                                                       ; +0x6, 0x18001d916\nxor     eax, eax                                                       ; +0xa, 0x18001d91a\nmov     rbx, rdx                                                       ; +0xc, 0x18001d91c\nmov     [rcx], rax                                                     ; +0xf, 0x18001d91f\nmov     rsi, rcx                                                       ; +0x12, 0x18001d922\nmov     [rcx+8], rax                                                   ; +0x15, 0x18001d925\nmov     [rcx+10h], rax                                                 ; +0x19, 0x18001d929\nmov     rdx, [rdx+8]                                                   ; +0x1d, 0x18001d92d\nsub     rdx, [rbx]                                                     ; +0x21, 0x18001d931\njz      short loc_18001D974                                            ; +0x24, 0x18001d934\nmov     rax, 7FFFFFFFFFFFFFFFh                                         ; +0x26, 0x18001d936\ncmp     rdx, rax                                                       ; +0x30, 0x18001d940\nja      short loc_18001D982                                            ; +0x33, 0x18001d943\nmov     [rsp+28h+arg_0], rdi                                           ; +0x35, 0x18001d945\ncall    sub_180018CF0                                                  ; +0x3a, 0x18001d94a\nmov     rdx, [rbx]; Src                                                ; +0x3f, 0x18001d94f\nmov     rbx, [rbx+8]                                                   ; +0x42, 0x18001d952\nmov     rdi, [rsi]                                                     ; +0x46, 0x18001d956\nsub     rbx, rdx                                                       ; +0x49, 0x18001d959\nmov     r8, rbx; Size                                                  ; +0x4c, 0x18001d95c\nmov     rcx, rdi; void *                                               ; +0x4f, 0x18001d95f\ncall    memmove                                                        ; +0x52, 0x18001d962\nlea     rax, [rbx+rdi]                                                 ; +0x57, 0x18001d967\nmov     rdi, [rsp+28h+arg_0]                                           ; +0x5b, 0x18001d96b\nmov     [rsi+8], rax                                                   ; +0x60, 0x18001d970\nmov     rbx, [rsp+28h+arg_8]                                           ; +0x64, 0x18001d974\nmov     rax, rsi                                                       ; +0x69, 0x18001d979\nadd     rsp, 20h                                                       ; +0x6c, 0x18001d97c\npop     rsi                                                            ; +0x70, 0x18001d980\nretn                                                                   ; +0x71, 0x18001d981\ncall    sub_180003530                                                  ; +0x72, 0x18001d982\ndb 0CCh                                                                ; +0x77, 0x18001d987", "xrefs": ["cocos2d::extension::CCHttpRequest::CCHttpRequest @ 0x18001d482", "cocos2d::extension::CCHttpResponse::CCHttpResponse @ 0x18001d79d", "cocos2d::extension::CCHttpResponse::CCHttpResponse @ 0x18001d7ab", "<???> @ 0x18002f928", "<???> @ 0x18002f938", "<???> @ 0x18004b028"], "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"}