{"type": "func", "start": 6442548128, "end": 6442549643, "name": "sub_180017BA0", "pseudocode": "// \n// sub_180017BA0 from 0x180017ba0 to 0x18001818b (1515 bytes)\n// \n// 2 xrefs:\n// > sub_180018C40 @ 0x180018c44\n// > <???> @ 0x18004aaa0\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\n// Hidden C++ exception states: #wind=4\nvoid __fastcall sub_180017BA0(struct cocos2d::extension::CCHttpRequest **a1)\n{\n  __int64 v2; // r14\n  BOOL v3; // ebx\n  struct cocos2d::extension::CCHttpRequest *v4; // rdi\n  int v5; // ecx\n  int v6; // ecx\n  int v7; // ecx\n  int v8; // ecx\n  __int64 v9; // rsi\n  __int64 v10; // rsi\n  __int64 v11; // rsi\n  __int64 v12; // rsi\n  __int64 v13; // rdx\n  __int64 v14; // rsi\n  __int64 v15; // rsi\n  __int64 v16; // rsi\n  void *v17; // rcx\n  void *v18; // rcx\n  void *Block[2]; // [rsp+20h] [rbp-30h] BYREF\n  __int64 v20; // [rsp+30h] [rbp-20h]\n  void *v21[2]; // [rsp+38h] [rbp-18h] BYREF\n  __int64 v22; // [rsp+48h] [rbp-8h]\n  int v23; // [rsp+80h] [rbp+30h] BYREF\n  double v24; // [rsp+88h] [rbp+38h] BYREF\n\n  v23 = 0;\n  v24 = COERCE_DOUBLE(operator new(0xA0u));\n  v2 = cocos2d::extension::CCHttpResponse::CCHttpResponse(*(cocos2d::extension::CCHttpResponse **)&v24, *a1);\n  *(_OWORD *)v21 = 0;\n  v22 = 0;\n  *(_OWORD *)Block = 0;\n  v20 = 0;\n  v3 = 1;\n  v4 = *a1;\n  v5 = *((_DWORD *)*a1 + 14);\n  if ( !v5 )\n  {\n    v16 = *((_QWORD *)NtCurrentTeb()->ThreadLocalStoragePointer + (unsigned int)TlsIndex);\n    if ( !*(_BYTE *)(v16 + 16) )\n      _dyn_tls_on_demand_init();\n    v12 = *(_QWORD *)(v16 + 304);\n    if ( !v12 )\n      goto LABEL_37;\n    curl_easy_reset(v12);\n    if ( !sub_1800177D0(v12, (__int64)v4) )\n      goto LABEL_37;\n    curl_easy_setopt(v12, 10002);\n    curl_easy_setopt(v12, 20011);\n    curl_easy_setopt(v12, 10001);\n    curl_easy_setopt(v12, 20079);\n    curl_easy_setopt(v12, 10029);\n    curl_easy_setopt(v12, 43);\n    curl_easy_setopt(v12, 20056);\n    v13 = 10057;\nLABEL_34:\n    curl_easy_setopt(v12, v13);\n    if ( (unsigned int)curl_easy_perform(v12) )\n      goto LABEL_37;\n    curl_easy_getinfo(v12, 2097154, &v23);\n    goto LABEL_36;\n  }\n  v6 = v5 - 1;\n  if ( !v6 )\n  {\n    v15 = *((_QWORD *)NtCurrentTeb()->ThreadLocalStoragePointer + (unsigned int)TlsIndex);\n    if ( !*(_BYTE *)(v15 + 16) )\n      _dyn_tls_on_demand_init();\n    v12 = *(_QWORD *)(v15 + 304);\n    if ( !v12 )\n      goto LABEL_37;\n    curl_easy_reset(v12);\n    if ( !sub_1800177D0(v12, (__int64)v4) )\n      goto LABEL_37;\n    curl_easy_setopt(v12, 10002);\n    curl_easy_setopt(v12, 47);\n    goto LABEL_23;\n  }\n  v7 = v6 - 1;\n  if ( !v7 )\n  {\n    v14 = *((_QWORD *)NtCurrentTeb()->ThreadLocalStoragePointer + (unsigned int)TlsIndex);\n    if ( !*(_BYTE *)(v14 + 16) )\n      _dyn_tls_on_demand_init();\n    v12 = *(_QWORD *)(v14 + 304);\n    if ( !v12 )\n      goto LABEL_37;\n    curl_easy_reset(v12);\n    if ( !sub_1800177D0(v12, (__int64)v4) )\n      goto LABEL_37;\n    curl_easy_setopt(v12, 10002);\n    curl_easy_setopt(v12, 10036);\nLABEL_23:\n    curl_easy_setopt(v12, 10015);\n    curl_easy_setopt(v12, 60);\nLABEL_17:\n    curl_easy_setopt(v12, 20011);\n    curl_easy_setopt(v12, 10001);\n    curl_easy_setopt(v12, 20079);\n    v13 = 10029;\n    goto LABEL_34;\n  }\n  v8 = v7 - 1;\n  if ( !v8 )\n  {\n    v11 = *((_QWORD *)NtCurrentTeb()->ThreadLocalStoragePointer + (unsigned int)TlsIndex);\n    if ( !*(_BYTE *)(v11 + 16) )\n      _dyn_tls_on_demand_init();\n    v12 = *(_QWORD *)(v11 + 304);\n    if ( !v12 )\n      goto LABEL_37;\n    curl_easy_reset(v12);\n    if ( !sub_1800177D0(v12, (__int64)v4) )\n      goto LABEL_37;\n    curl_easy_setopt(v12, 10002);\n    curl_easy_setopt(v12, 10036);\n    goto LABEL_17;\n  }\n  if ( v8 == 1 )\n  {\n    v9 = *((_QWORD *)NtCurrentTeb()->ThreadLocalStoragePointer + (unsigned int)TlsIndex);\n    if ( !*(_BYTE *)(v9 + 16) )\n      _dyn_tls_on_demand_init();\n    v10 = *(_QWORD *)(v9 + 304);\n    if ( v10 )\n    {\n      curl_easy_reset(v10);\n      if ( sub_1800177D0(v10, (__int64)v4) )\n      {\n        curl_easy_setopt(v10, 10002);\n        curl_easy_setopt(v10, 44);\n        curl_easy_setopt(v10, 20079);\n        curl_easy_setopt(v10, 10029);\n        if ( !(unsigned int)curl_easy_perform(v10) )\n        {\n          curl_easy_getinfo(v10, 2097154, &v23);\n          v24 = 0.0;\n          curl_easy_getinfo(v10, 3145743, &v24);\n          *((_QWORD *)v4 + 21) = (int)v24;\nLABEL_36:\n          v3 = (unsigned int)(v23 - 200) > 0x63;\n        }\n      }\n    }\n  }\nLABEL_37:\n  *(_DWORD *)(v2 + 120) = v23;\n  *(_BYTE *)(v2 + 64) = !v3;\n  if ( Block[0] != Block[1] )\n    sub_180018D70(v2 + 96, Block);\n  if ( v21[0] != v21[1] )\n    sub_180018D70(v2 + 72, v21);\n  v24 = COERCE_DOUBLE(&unk_180048630);\n  if ( Mtx_lock((_Mtx_t)&unk_180048630) )\n  {\n    std::_Throw_Cpp_error(5);\n    __debugbreak();\n  }\n  if ( dword_18004867C == 0x7FFFFFFF )\n  {\n    dword_18004867C = 2147483646;\n    std::_Throw_Cpp_error(6);\n  }\n  cocos2d::CCArray::addObject((cocos2d::CCArray *)qword_1800486C8, (struct cocos2d::CCObject *)v2);\n  Mtx_unlock((_Mtx_t)&unk_180048630);\n  cocos2d::CCObject::release((cocos2d::CCObject *)v2);\n  cocos2d::CCObject::release(*a1);\n  v17 = Block[0];\n  if ( Block[0] )\n  {\n    if ( v20 - (unsigned __int64)Block[0] >= 0x1000 )\n    {\n      v17 = *((void **)Block[0] - 1);\n      if ( (unsigned __int64)((char *)Block[0] - (char *)v17 - 8) > 0x1F )\n        invalid_parameter_noinfo_noreturn();\n    }\n    j_j_free(v17);\n    *(_OWORD *)Block = 0;\n    v20 = 0;\n  }\n  v18 = v21[0];\n  if ( v21[0] )\n  {\n    if ( v22 - (unsigned __int64)v21[0] >= 0x1000 )\n    {\n      v18 = *((void **)v21[0] - 1);\n      if ( (unsigned __int64)((char *)v21[0] - (char *)v18 - 8) > 0x1F )\n        invalid_parameter_noinfo_noreturn();\n    }\n    j_j_free(v18);\n  }\n}", "assembly": "; \n; sub_180017BA0 from 0x180017ba0 to 0x18001818b (1515 bytes)\n; \n; 2 xrefs:\n; > sub_180018C40 @ 0x180018c44\n; > <???> @ 0x18004aaa0\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-28h+arg_10], rbx                                          ; +0x0, 0x180017ba0\nmov     [rsp-28h+arg_18], rsi                                          ; +0x5, 0x180017ba5\npush    rbp                                                            ; +0xa, 0x180017baa\npush    rdi                                                            ; +0xb, 0x180017bab\npush    r12                                                            ; +0xc, 0x180017bac\npush    r14                                                            ; +0xe, 0x180017bae\npush    r15                                                            ; +0x10, 0x180017bb0\nmov     rbp, rsp                                                       ; +0x12, 0x180017bb2\nsub     rsp, 50h                                                       ; +0x15, 0x180017bb5\nmov     r15, rcx                                                       ; +0x19, 0x180017bb9\nxor     r12d, r12d                                                     ; +0x1c, 0x180017bbc\nmov     [rbp+arg_0], r12d                                              ; +0x1f, 0x180017bbf\nmov     ecx, 0A0h; Size                                                ; +0x23, 0x180017bc3\ncall    ??2@YAPEAX_K@Z; operator new(unsigned __int64)                 ; +0x28, 0x180017bc8\nmov     [rbp+arg_8], rax                                               ; +0x2d, 0x180017bcd\nmov     rdx, [r15]; struct cocos2d::extension::CCHttpRequest *         ; +0x31, 0x180017bd1\nmov     rcx, rax; this                                                 ; +0x34, 0x180017bd4\ncall    ??0CCHttpResponse@extension@cocos2d@@QEAA@PEAVCCHttpRequest@12@@Z; cocos2d::extension::CCHttpResponse::CCHttpResponse(cocos2d::extension::CCHttpRequest *) ; +0x37, 0x180017bd7\nmov     r14, rax                                                       ; +0x3c, 0x180017bdc\nxorps   xmm0, xmm0                                                     ; +0x3f, 0x180017bdf\nmovdqu  xmmword ptr [rbp+var_18], xmm0                                 ; +0x42, 0x180017be2\nmov     [rbp+var_8], r12                                               ; +0x47, 0x180017be7\nmovdqu  xmmword ptr [rbp+Block], xmm0                                  ; +0x4b, 0x180017beb\nmov     [rbp+var_20], r12                                              ; +0x50, 0x180017bf0\nlea     ebx, [r12+1]                                                   ; +0x54, 0x180017bf4\nmov     rdi, [r15]                                                     ; +0x59, 0x180017bf9\nmov     ecx, [rdi+38h]                                                 ; +0x5c, 0x180017bfc\ntest    ecx, ecx                                                       ; +0x5f, 0x180017bff\njz      loc_180017F1B                                                  ; +0x61, 0x180017c01\nsub     ecx, ebx                                                       ; +0x67, 0x180017c07\njz      loc_180017E98                                                  ; +0x69, 0x180017c09\nsub     ecx, ebx                                                       ; +0x6f, 0x180017c0f\njz      loc_180017DE9                                                  ; +0x71, 0x180017c11\nsub     ecx, ebx                                                       ; +0x77, 0x180017c17\njz      loc_180017D1D                                                  ; +0x79, 0x180017c19\ncmp     ecx, ebx                                                       ; +0x7f, 0x180017c1f\njnz     loc_18001803C                                                  ; +0x81, 0x180017c21\nmov     ecx, cs:TlsIndex                                               ; +0x87, 0x180017c27\nmov     rax, gs:58h                                                    ; +0x8d, 0x180017c2d\nmov     rsi, [rax+rcx*8]                                               ; +0x96, 0x180017c36\nmov     eax, 10h                                                       ; +0x9a, 0x180017c3a\ncmp     [rax+rsi], r12b                                                ; +0x9f, 0x180017c3f\njnz     short loc_180017C4A                                            ; +0xa3, 0x180017c43\ncall    __dyn_tls_on_demand_init                                       ; +0xa5, 0x180017c45\nmov     eax, 130h                                                      ; +0xaa, 0x180017c4a\nmov     rsi, [rax+rsi]                                                 ; +0xaf, 0x180017c4f\ntest    rsi, rsi                                                       ; +0xb3, 0x180017c53\njz      loc_18001803C                                                  ; +0xb6, 0x180017c56\nmov     rcx, rsi                                                       ; +0xbc, 0x180017c5c\ncall    cs:curl_easy_reset                                             ; +0xbf, 0x180017c5f\nmov     rdx, rdi                                                       ; +0xc5, 0x180017c65\nmov     rcx, rsi                                                       ; +0xc8, 0x180017c68\ncall    sub_1800177D0                                                  ; +0xcb, 0x180017c6b\ntest    al, al                                                         ; +0xd0, 0x180017c70\njz      loc_18001803C                                                  ; +0xd2, 0x180017c72\nlea     r8, [rdi+40h]                                                  ; +0xd8, 0x180017c78\ncmp     qword ptr [r8+18h], 0Fh                                        ; +0xdc, 0x180017c7c\njbe     short loc_180017C86                                            ; +0xe1, 0x180017c81\nmov     r8, [r8]                                                       ; +0xe3, 0x180017c83\nmov     edx, 2712h                                                     ; +0xe6, 0x180017c86\nmov     rcx, rsi                                                       ; +0xeb, 0x180017c8b\ncall    cs:curl_easy_setopt                                            ; +0xee, 0x180017c8e\nmov     r8d, ebx                                                       ; +0xf4, 0x180017c94\nmov     edx, 2Ch ; ','                                                 ; +0xf7, 0x180017c97\nmov     rcx, rsi                                                       ; +0xfc, 0x180017c9c\ncall    cs:curl_easy_setopt                                            ; +0xff, 0x180017c9f\nlea     r8, sub_180017930                                              ; +0x105, 0x180017ca5\nmov     edx, 4E6Fh                                                     ; +0x10c, 0x180017cac\nmov     rcx, rsi                                                       ; +0x111, 0x180017cb1\ncall    cs:curl_easy_setopt                                            ; +0x114, 0x180017cb4\nlea     r8, [rbp+Block]                                                ; +0x11a, 0x180017cba\nmov     edx, 272Dh                                                     ; +0x11e, 0x180017cbe\nmov     rcx, rsi                                                       ; +0x123, 0x180017cc3\ncall    cs:curl_easy_setopt                                            ; +0x126, 0x180017cc6\nmov     rcx, rsi                                                       ; +0x12c, 0x180017ccc\ncall    cs:curl_easy_perform                                           ; +0x12f, 0x180017ccf\ntest    eax, eax                                                       ; +0x135, 0x180017cd5\njnz     loc_18001803C                                                  ; +0x137, 0x180017cd7\nlea     r8, [rbp+arg_0]                                                ; +0x13d, 0x180017cdd\nmov     edx, 200002h                                                   ; +0x141, 0x180017ce1\nmov     rcx, rsi                                                       ; +0x146, 0x180017ce6\ncall    cs:curl_easy_getinfo                                           ; +0x149, 0x180017ce9\nxorps   xmm0, xmm0                                                     ; +0x14f, 0x180017cef\nmovsd   [rbp+arg_8], xmm0                                              ; +0x152, 0x180017cf2\nlea     r8, [rbp+arg_8]                                                ; +0x157, 0x180017cf7\nmov     edx, 30000Fh                                                   ; +0x15b, 0x180017cfb\nmov     rcx, rsi                                                       ; +0x160, 0x180017d00\ncall    cs:curl_easy_getinfo                                           ; +0x163, 0x180017d03\ncvttsd2si eax, [rbp+arg_8]                                             ; +0x169, 0x180017d09\nmovsxd  rcx, eax                                                       ; +0x16e, 0x180017d0e\nmov     [rdi+0A8h], rcx                                                ; +0x171, 0x180017d11\njmp     loc_18001802B                                                  ; +0x178, 0x180017d18\nmov     ecx, cs:TlsIndex                                               ; +0x17d, 0x180017d1d\nmov     rax, gs:58h                                                    ; +0x183, 0x180017d23\nmov     rsi, [rax+rcx*8]                                               ; +0x18c, 0x180017d2c\nmov     eax, 10h                                                       ; +0x190, 0x180017d30\ncmp     byte ptr [rax+rsi], 0                                          ; +0x195, 0x180017d35\njnz     short loc_180017D40                                            ; +0x199, 0x180017d39\ncall    __dyn_tls_on_demand_init                                       ; +0x19b, 0x180017d3b\nmov     eax, 130h                                                      ; +0x1a0, 0x180017d40\nmov     rsi, [rax+rsi]                                                 ; +0x1a5, 0x180017d45\ntest    rsi, rsi                                                       ; +0x1a9, 0x180017d49\njz      loc_18001803C                                                  ; +0x1ac, 0x180017d4c\nmov     rcx, rsi                                                       ; +0x1b2, 0x180017d52\ncall    cs:curl_easy_reset                                             ; +0x1b5, 0x180017d55\nmov     rdx, rdi                                                       ; +0x1bb, 0x180017d5b\nmov     rcx, rsi                                                       ; +0x1be, 0x180017d5e\ncall    sub_1800177D0                                                  ; +0x1c1, 0x180017d61\ntest    al, al                                                         ; +0x1c6, 0x180017d66\njz      loc_18001803C                                                  ; +0x1c8, 0x180017d68\nlea     r8, [rdi+40h]                                                  ; +0x1ce, 0x180017d6e\ncmp     qword ptr [r8+18h], 0Fh                                        ; +0x1d2, 0x180017d72\njbe     short loc_180017D7C                                            ; +0x1d7, 0x180017d77\nmov     r8, [r8]                                                       ; +0x1d9, 0x180017d79\nmov     edx, 2712h                                                     ; +0x1dc, 0x180017d7c\nmov     rcx, rsi                                                       ; +0x1e1, 0x180017d81\ncall    cs:curl_easy_setopt                                            ; +0x1e4, 0x180017d84\nlea     r8, aDelete; \"DELETE\"                                          ; +0x1ea, 0x180017d8a\nmov     edx, 2734h                                                     ; +0x1f1, 0x180017d91\nmov     rcx, rsi                                                       ; +0x1f6, 0x180017d96\ncall    cs:curl_easy_setopt                                            ; +0x1f9, 0x180017d99\nlea     r8, sub_180017930                                              ; +0x1ff, 0x180017d9f\nmov     edx, 4E2Bh                                                     ; +0x206, 0x180017da6\nmov     rcx, rsi                                                       ; +0x20b, 0x180017dab\ncall    cs:curl_easy_setopt                                            ; +0x20e, 0x180017dae\nlea     r8, [rbp+var_18]                                               ; +0x214, 0x180017db4\nmov     edx, 2711h                                                     ; +0x218, 0x180017db8\nmov     rcx, rsi                                                       ; +0x21d, 0x180017dbd\ncall    cs:curl_easy_setopt                                            ; +0x220, 0x180017dc0\nlea     r8, sub_180017930                                              ; +0x226, 0x180017dc6\nmov     edx, 4E6Fh                                                     ; +0x22d, 0x180017dcd\nmov     rcx, rsi                                                       ; +0x232, 0x180017dd2\ncall    cs:curl_easy_setopt                                            ; +0x235, 0x180017dd5\nlea     r8, [rbp+Block]                                                ; +0x23b, 0x180017ddb\nmov     edx, 272Dh                                                     ; +0x23f, 0x180017ddf\njmp     loc_180018003                                                  ; +0x244, 0x180017de4\nmov     ecx, cs:TlsIndex                                               ; +0x249, 0x180017de9\nmov     rax, gs:58h                                                    ; +0x24f, 0x180017def\nmov     rsi, [rax+rcx*8]                                               ; +0x258, 0x180017df8\nmov     eax, 10h                                                       ; +0x25c, 0x180017dfc\ncmp     byte ptr [rax+rsi], 0                                          ; +0x261, 0x180017e01\njnz     short loc_180017E0C                                            ; +0x265, 0x180017e05\ncall    __dyn_tls_on_demand_init                                       ; +0x267, 0x180017e07\nmov     eax, 130h                                                      ; +0x26c, 0x180017e0c\nmov     rsi, [rax+rsi]                                                 ; +0x271, 0x180017e11\ntest    rsi, rsi                                                       ; +0x275, 0x180017e15\njz      loc_18001803C                                                  ; +0x278, 0x180017e18\nmov     rcx, rsi                                                       ; +0x27e, 0x180017e1e\ncall    cs:curl_easy_reset                                             ; +0x281, 0x180017e21\nmov     rdx, rdi                                                       ; +0x287, 0x180017e27\nmov     rcx, rsi                                                       ; +0x28a, 0x180017e2a\ncall    sub_1800177D0                                                  ; +0x28d, 0x180017e2d\ntest    al, al                                                         ; +0x292, 0x180017e32\njz      loc_18001803C                                                  ; +0x294, 0x180017e34\nlea     r8, [rdi+40h]                                                  ; +0x29a, 0x180017e3a\ncmp     qword ptr [r8+18h], 0Fh                                        ; +0x29e, 0x180017e3e\njbe     short loc_180017E48                                            ; +0x2a3, 0x180017e43\nmov     r8, [r8]                                                       ; +0x2a5, 0x180017e45\nmov     edx, 2712h                                                     ; +0x2a8, 0x180017e48\nmov     rcx, rsi                                                       ; +0x2ad, 0x180017e4d\ncall    cs:curl_easy_setopt                                            ; +0x2b0, 0x180017e50\nlea     r8, aPut; \"PUT\"                                                ; +0x2b6, 0x180017e56\nmov     edx, 2734h                                                     ; +0x2bd, 0x180017e5d\nmov     rcx, rsi                                                       ; +0x2c2, 0x180017e62\ncall    cs:curl_easy_setopt                                            ; +0x2c5, 0x180017e65\nmov     r8, [rdi+60h]                                                  ; +0x2cb, 0x180017e6b\nmov     edx, 271Fh                                                     ; +0x2cf, 0x180017e6f\nmov     rcx, rsi                                                       ; +0x2d4, 0x180017e74\ncall    cs:curl_easy_setopt                                            ; +0x2d7, 0x180017e77\nmov     r8, [rdi+68h]                                                  ; +0x2dd, 0x180017e7d\nsub     r8, [rdi+60h]                                                  ; +0x2e1, 0x180017e81\nmov     edx, 3Ch ; '<'                                                 ; +0x2e5, 0x180017e85\nmov     rcx, rsi                                                       ; +0x2ea, 0x180017e8a\ncall    cs:curl_easy_setopt                                            ; +0x2ed, 0x180017e8d\njmp     loc_180017D9F                                                  ; +0x2f3, 0x180017e93\nmov     ecx, cs:TlsIndex                                               ; +0x2f8, 0x180017e98\nmov     rax, gs:58h                                                    ; +0x2fe, 0x180017e9e\nmov     rsi, [rax+rcx*8]                                               ; +0x307, 0x180017ea7\nmov     eax, 10h                                                       ; +0x30b, 0x180017eab\ncmp     byte ptr [rax+rsi], 0                                          ; +0x310, 0x180017eb0\njnz     short loc_180017EBB                                            ; +0x314, 0x180017eb4\ncall    __dyn_tls_on_demand_init                                       ; +0x316, 0x180017eb6\nmov     eax, 130h                                                      ; +0x31b, 0x180017ebb\nmov     rsi, [rax+rsi]                                                 ; +0x320, 0x180017ec0\ntest    rsi, rsi                                                       ; +0x324, 0x180017ec4\njz      loc_18001803C                                                  ; +0x327, 0x180017ec7\nmov     rcx, rsi                                                       ; +0x32d, 0x180017ecd\ncall    cs:curl_easy_reset                                             ; +0x330, 0x180017ed0\nmov     rdx, rdi                                                       ; +0x336, 0x180017ed6\nmov     rcx, rsi                                                       ; +0x339, 0x180017ed9\ncall    sub_1800177D0                                                  ; +0x33c, 0x180017edc\ntest    al, al                                                         ; +0x341, 0x180017ee1\njz      loc_18001803C                                                  ; +0x343, 0x180017ee3\nlea     r8, [rdi+40h]                                                  ; +0x349, 0x180017ee9\ncmp     qword ptr [r8+18h], 0Fh                                        ; +0x34d, 0x180017eed\njbe     short loc_180017EF7                                            ; +0x352, 0x180017ef2\nmov     r8, [r8]                                                       ; +0x354, 0x180017ef4\nmov     edx, 2712h                                                     ; +0x357, 0x180017ef7\nmov     rcx, rsi                                                       ; +0x35c, 0x180017efc\ncall    cs:curl_easy_setopt                                            ; +0x35f, 0x180017eff\nmov     r8d, ebx                                                       ; +0x365, 0x180017f05\nmov     edx, 2Fh ; '/'                                                 ; +0x368, 0x180017f08\nmov     rcx, rsi                                                       ; +0x36d, 0x180017f0d\ncall    cs:curl_easy_setopt                                            ; +0x370, 0x180017f10\njmp     loc_180017E6B                                                  ; +0x376, 0x180017f16\nmov     ecx, cs:TlsIndex                                               ; +0x37b, 0x180017f1b\nmov     rax, gs:58h                                                    ; +0x381, 0x180017f21\nmov     rsi, [rax+rcx*8]                                               ; +0x38a, 0x180017f2a\nmov     eax, 10h                                                       ; +0x38e, 0x180017f2e\ncmp     byte ptr [rax+rsi], 0                                          ; +0x393, 0x180017f33\njnz     short loc_180017F3E                                            ; +0x397, 0x180017f37\ncall    __dyn_tls_on_demand_init                                       ; +0x399, 0x180017f39\nmov     eax, 130h                                                      ; +0x39e, 0x180017f3e\nmov     rsi, [rax+rsi]                                                 ; +0x3a3, 0x180017f43\ntest    rsi, rsi                                                       ; +0x3a7, 0x180017f47\njz      loc_18001803C                                                  ; +0x3aa, 0x180017f4a\nmov     rcx, rsi                                                       ; +0x3b0, 0x180017f50\ncall    cs:curl_easy_reset                                             ; +0x3b3, 0x180017f53\nmov     rdx, rdi                                                       ; +0x3b9, 0x180017f59\nmov     rcx, rsi                                                       ; +0x3bc, 0x180017f5c\ncall    sub_1800177D0                                                  ; +0x3bf, 0x180017f5f\ntest    al, al                                                         ; +0x3c4, 0x180017f64\njz      loc_18001803C                                                  ; +0x3c6, 0x180017f66\nlea     r8, [rdi+40h]                                                  ; +0x3cc, 0x180017f6c\ncmp     qword ptr [r8+18h], 0Fh                                        ; +0x3d0, 0x180017f70\njbe     short loc_180017F7A                                            ; +0x3d5, 0x180017f75\nmov     r8, [r8]                                                       ; +0x3d7, 0x180017f77\nmov     edx, 2712h                                                     ; +0x3da, 0x180017f7a\nmov     rcx, rsi                                                       ; +0x3df, 0x180017f7f\ncall    cs:curl_easy_setopt                                            ; +0x3e2, 0x180017f82\nlea     r8, sub_180017930                                              ; +0x3e8, 0x180017f88\nmov     edx, 4E2Bh                                                     ; +0x3ef, 0x180017f8f\nmov     rcx, rsi                                                       ; +0x3f4, 0x180017f94\ncall    cs:curl_easy_setopt                                            ; +0x3f7, 0x180017f97\nlea     r8, [rbp+var_18]                                               ; +0x3fd, 0x180017f9d\nmov     edx, 2711h                                                     ; +0x401, 0x180017fa1\nmov     rcx, rsi                                                       ; +0x406, 0x180017fa6\ncall    cs:curl_easy_setopt                                            ; +0x409, 0x180017fa9\nlea     r8, sub_180017930                                              ; +0x40f, 0x180017faf\nmov     edx, 4E6Fh                                                     ; +0x416, 0x180017fb6\nmov     rcx, rsi                                                       ; +0x41b, 0x180017fbb\ncall    cs:curl_easy_setopt                                            ; +0x41e, 0x180017fbe\nlea     r8, [rbp+Block]                                                ; +0x424, 0x180017fc4\nmov     edx, 272Dh                                                     ; +0x428, 0x180017fc8\nmov     rcx, rsi                                                       ; +0x42d, 0x180017fcd\ncall    cs:curl_easy_setopt                                            ; +0x430, 0x180017fd0\nxor     r8d, r8d                                                       ; +0x436, 0x180017fd6\nlea     edx, [r8+2Bh]                                                  ; +0x439, 0x180017fd9\nmov     rcx, rsi                                                       ; +0x43d, 0x180017fdd\ncall    cs:curl_easy_setopt                                            ; +0x440, 0x180017fe0\nlea     r8, sub_180017960                                              ; +0x446, 0x180017fe6\nmov     edx, 4E58h                                                     ; +0x44d, 0x180017fed\nmov     rcx, rsi                                                       ; +0x452, 0x180017ff2\ncall    cs:curl_easy_setopt                                            ; +0x455, 0x180017ff5\nmov     r8, rdi                                                        ; +0x45b, 0x180017ffb\nmov     edx, 2749h                                                     ; +0x45e, 0x180017ffe\nmov     rcx, rsi                                                       ; +0x463, 0x180018003\ncall    cs:curl_easy_setopt                                            ; +0x466, 0x180018006\nmov     rcx, rsi                                                       ; +0x46c, 0x18001800c\ncall    cs:curl_easy_perform                                           ; +0x46f, 0x18001800f\ntest    eax, eax                                                       ; +0x475, 0x180018015\njnz     short loc_18001803C                                            ; +0x477, 0x180018017\nlea     r8, [rbp+arg_0]                                                ; +0x479, 0x180018019\nmov     edx, 200002h                                                   ; +0x47d, 0x18001801d\nmov     rcx, rsi                                                       ; +0x482, 0x180018022\ncall    cs:curl_easy_getinfo                                           ; +0x485, 0x180018025\nmov     eax, [rbp+arg_0]                                               ; +0x48b, 0x18001802b\nadd     eax, 0FFFFFF38h                                                ; +0x48e, 0x18001802e\nmov     ebx, r12d                                                      ; +0x493, 0x180018033\ncmp     eax, 63h ; 'c'                                                 ; +0x496, 0x180018036\nsetnbe  bl                                                             ; +0x499, 0x180018039\nmov     eax, [rbp+arg_0]                                               ; +0x49c, 0x18001803c\nmov     [r14+78h], eax                                                 ; +0x49f, 0x18001803f\ntest    ebx, ebx                                                       ; +0x4a3, 0x180018043\nsetz    al                                                             ; +0x4a5, 0x180018045\nmov     [r14+40h], al                                                  ; +0x4a8, 0x180018048\nmov     rax, [rbp+Block+8]                                             ; +0x4ac, 0x18001804c\ncmp     [rbp+Block], rax                                               ; +0x4b0, 0x180018050\njz      short loc_180018063                                            ; +0x4b4, 0x180018054\nlea     rcx, [r14+60h]                                                 ; +0x4b6, 0x180018056\nlea     rdx, [rbp+Block]                                               ; +0x4ba, 0x18001805a\ncall    sub_180018D70                                                  ; +0x4be, 0x18001805e\nmov     rax, [rbp+var_18+8]                                            ; +0x4c3, 0x180018063\ncmp     [rbp+var_18], rax                                              ; +0x4c7, 0x180018067\njz      short loc_18001807A                                            ; +0x4cb, 0x18001806b\nlea     rcx, [r14+48h]                                                 ; +0x4cd, 0x18001806d\nlea     rdx, [rbp+var_18]                                              ; +0x4d1, 0x180018071\ncall    sub_180018D70                                                  ; +0x4d5, 0x180018075\nlea     rbx, unk_180048630                                             ; +0x4da, 0x18001807a\nmov     [rbp+arg_8], rbx                                               ; +0x4e1, 0x180018081\nmov     rcx, rbx; _Mtx_t                                               ; +0x4e5, 0x180018085\ncall    cs:_Mtx_lock                                                   ; +0x4e8, 0x180018088\ntest    eax, eax                                                       ; +0x4ee, 0x18001808e\njz      short loc_18001809E                                            ; +0x4f0, 0x180018090\nmov     ecx, 5                                                         ; +0x4f2, 0x180018092\ncall    cs:?_Throw_Cpp_error@std@@YAXH@Z; std::_Throw_Cpp_error(int)   ; +0x4f7, 0x180018097\nint     3; Trap to Debugger                                            ; +0x4fd, 0x18001809d\nmov     eax, cs:dword_18004867C                                        ; +0x4fe, 0x18001809e\ncmp     eax, 7FFFFFFFh                                                 ; +0x504, 0x1800180a4\njnz     short loc_1800180BF                                            ; +0x509, 0x1800180a9\ndec     eax                                                            ; +0x50b, 0x1800180ab\nmov     cs:dword_18004867C, eax                                        ; +0x50d, 0x1800180ad\nmov     ecx, 6                                                         ; +0x513, 0x1800180b3\ncall    cs:?_Throw_Cpp_error@std@@YAXH@Z; std::_Throw_Cpp_error(int)   ; +0x518, 0x1800180b8\nnop                                                                    ; +0x51e, 0x1800180be\nmov     rdx, r14                                                       ; +0x51f, 0x1800180bf\nmov     rcx, cs:qword_1800486C8                                        ; +0x522, 0x1800180c2\ncall    cs:?addObject@CCArray@cocos2d@@QEAAXPEAVCCObject@2@@Z; cocos2d::CCArray::addObject(cocos2d::CCObject *) ; +0x529, 0x1800180c9\nnop                                                                    ; +0x52f, 0x1800180cf\nmov     rcx, rbx; _Mtx_t                                               ; +0x530, 0x1800180d0\ncall    cs:_Mtx_unlock                                                 ; +0x533, 0x1800180d3\nmov     rcx, r14                                                       ; +0x539, 0x1800180d9\ncall    cs:?release@CCObject@cocos2d@@QEAAXXZ; cocos2d::CCObject::release(void) ; +0x53c, 0x1800180dc\nmov     rcx, [r15]                                                     ; +0x542, 0x1800180e2\ncall    cs:?release@CCObject@cocos2d@@QEAAXXZ; cocos2d::CCObject::release(void) ; +0x545, 0x1800180e5\nnop                                                                    ; +0x54b, 0x1800180eb\nmov     rcx, [rbp+Block]; Block                                        ; +0x54c, 0x1800180ec\ntest    rcx, rcx                                                       ; +0x550, 0x1800180f0\njz      short loc_180018135                                            ; +0x553, 0x1800180f3\nmov     rdx, [rbp+var_20]                                              ; +0x555, 0x1800180f5\nsub     rdx, rcx                                                       ; +0x559, 0x1800180f9\nmov     rax, rcx                                                       ; +0x55c, 0x1800180fc\ncmp     rdx, 1000h                                                     ; +0x55f, 0x1800180ff\njb      short loc_180018124                                            ; +0x566, 0x180018106\nadd     rdx, 27h ; '''                                                 ; +0x568, 0x180018108\nmov     rcx, [rcx-8]                                                   ; +0x56c, 0x18001810c\nsub     rax, rcx                                                       ; +0x570, 0x180018110\nadd     rax, 0FFFFFFFFFFFFFFF8h                                        ; +0x573, 0x180018113\ncmp     rax, 1Fh                                                       ; +0x577, 0x180018117\njbe     short loc_180018124                                            ; +0x57b, 0x18001811b\ncall    cs:_invalid_parameter_noinfo_noreturn                          ; +0x57d, 0x18001811d\nalign 4                                                                ; +0x583, 0x180018123\ncall    j_j_free                                                       ; +0x584, 0x180018124\nxorps   xmm0, xmm0                                                     ; +0x589, 0x180018129\nmovdqu  xmmword ptr [rbp+Block], xmm0                                  ; +0x58c, 0x18001812c\nmov     [rbp+var_20], r12                                              ; +0x591, 0x180018131\nmov     rcx, [rbp+var_18]; Block                                       ; +0x595, 0x180018135\ntest    rcx, rcx                                                       ; +0x599, 0x180018139\njz      short loc_180018172                                            ; +0x59c, 0x18001813c\nmov     rdx, [rbp+var_8]                                               ; +0x59e, 0x18001813e\nsub     rdx, rcx                                                       ; +0x5a2, 0x180018142\nmov     rax, rcx                                                       ; +0x5a5, 0x180018145\ncmp     rdx, 1000h                                                     ; +0x5a8, 0x180018148\njb      short loc_18001816D                                            ; +0x5af, 0x18001814f\nadd     rdx, 27h ; '''                                                 ; +0x5b1, 0x180018151\nmov     rcx, [rcx-8]                                                   ; +0x5b5, 0x180018155\nsub     rax, rcx                                                       ; +0x5b9, 0x180018159\nadd     rax, 0FFFFFFFFFFFFFFF8h                                        ; +0x5bc, 0x18001815c\ncmp     rax, 1Fh                                                       ; +0x5c0, 0x180018160\njbe     short loc_18001816D                                            ; +0x5c4, 0x180018164\ncall    cs:_invalid_parameter_noinfo_noreturn                          ; +0x5c6, 0x180018166\ndb 0CCh                                                                ; +0x5cc, 0x18001816c\ncall    j_j_free                                                       ; +0x5cd, 0x18001816d\nlea     r11, [rsp+50h+var_s0]                                          ; +0x5d2, 0x180018172\nmov     rbx, [r11+40h]                                                 ; +0x5d7, 0x180018177\nmov     rsi, [r11+48h]                                                 ; +0x5db, 0x18001817b\nmov     rsp, r11                                                       ; +0x5df, 0x18001817f\npop     r15                                                            ; +0x5e2, 0x180018182\npop     r14                                                            ; +0x5e4, 0x180018184\npop     r12                                                            ; +0x5e6, 0x180018186\npop     rdi                                                            ; +0x5e8, 0x180018188\npop     rbp                                                            ; +0x5e9, 0x180018189\nretn                                                                   ; +0x5ea, 0x18001818a", "xrefs": ["sub_180018C40 @ 0x180018c44", "<???> @ 0x18004aaa0"], "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"}