; ; sub_180001B60 from 0x180001b60 to 0x180001c89 (297 bytes) ; ; 4 xrefs: ; > cocos2d::extension::AssetsManager::update @ 0x180001e76 ; > @ 0x18002cee4 ; > @ 0x18002cef4 ; > @ 0x18004909c ; ; This function is hookable on this platform! ; ; Using BromaIDA 8.0.0 @ https:;github.com/Stazzical/BromaIDA ; Using bindings at commit ba9f177b at Thu Jul 16 22:52:06 2026 from https:;github.com/geode-sdk/bindings ; mov [rsp+arg_10], rsi ; +0x0, 0x180001b60 push rdi ; +0x5, 0x180001b65 sub rsp, 20h ; +0x6, 0x180001b66 cmp qword ptr [rcx+40h], 0Fh ; +0xa, 0x180001b6a lea rdx, [rcx+28h] ; +0xf, 0x180001b6f mov rdi, rcx ; +0x13, 0x180001b73 jbe short loc_180001B7C ; +0x16, 0x180001b76 mov rdx, [rcx+28h]; Buf2 ; +0x18, 0x180001b78 add rcx, 88h ; +0x1c, 0x180001b7c cmp qword ptr [rdi+0A0h], 0Fh ; +0x23, 0x180001b83 jbe short loc_180001B94 ; +0x2b, 0x180001b8b mov rcx, [rdi+88h]; Buf1 ; +0x2d, 0x180001b8d mov r8, [rdi+98h]; Size ; +0x34, 0x180001b94 xor esi, esi ; +0x3b, 0x180001b9b cmp r8, [rdi+38h] ; +0x3d, 0x180001b9d jnz short loc_180001BAC ; +0x41, 0x180001ba1 call memcmp ; +0x43, 0x180001ba3 test eax, eax ; +0x48, 0x180001ba8 jz short loc_180001BE4 ; +0x4a, 0x180001baa mov rcx, rdi; this ; +0x4c, 0x180001bac call ?downLoad@AssetsManager@extension@cocos2d@@IEAA_NXZ; cocos2d::extension::AssetsManager::downLoad(void) ; +0x4f, 0x180001baf test al, al ; +0x54, 0x180001bb4 jz loc_180001C5F ; +0x56, 0x180001bb6 mov ecx, 10h; Size ; +0x5c, 0x180001bbc call ??2@YAPEAX_K@Z; operator new(unsigned __int64) ; +0x61, 0x180001bc1 mov rdx, rax ; +0x66, 0x180001bc6 mov [rsp+28h+arg_0], rax ; +0x69, 0x180001bc9 mov dword ptr [rax], 1 ; +0x6e, 0x180001bce mov [rax+8], rdi ; +0x74, 0x180001bd4 mov rcx, [rdi+0B0h] ; +0x78, 0x180001bd8 call sub_180002B70 ; +0x7f, 0x180001bdf mov rcx, rdi; this ; +0x84, 0x180001be4 call ?uncompress@AssetsManager@extension@cocos2d@@IEAA_NXZ; cocos2d::extension::AssetsManager::uncompress(void) ; +0x87, 0x180001be7 mov ecx, 10h; Size ; +0x8c, 0x180001bec test al, al ; +0x91, 0x180001bf1 jnz short loc_180001C40 ; +0x93, 0x180001bf3 mov [rsp+28h+arg_8], rbx ; +0x95, 0x180001bf5 call ??2@YAPEAX_K@Z; operator new(unsigned __int64) ; +0x9a, 0x180001bfa mov ecx, 10h; Size ; +0x9f, 0x180001bff mov [rsp+28h+arg_0], rax ; +0xa4, 0x180001c04 mov rbx, rax ; +0xa9, 0x180001c09 mov [rax+8], rsi ; +0xac, 0x180001c0c mov dword ptr [rax], 3 ; +0xb0, 0x180001c10 call ??2@YAPEAX_K@Z; operator new(unsigned __int64) ; +0xb6, 0x180001c16 mov rdx, rbx ; +0xbb, 0x180001c1b mov qword ptr [rax], 3 ; +0xbe, 0x180001c1e mov [rax+8], rdi ; +0xc5, 0x180001c25 mov [rbx+8], rax ; +0xc9, 0x180001c29 mov rcx, [rdi+0B0h] ; +0xcd, 0x180001c2d call sub_180002B70 ; +0xd4, 0x180001c34 mov rbx, [rsp+28h+arg_8] ; +0xd9, 0x180001c39 jmp short loc_180001C5F ; +0xde, 0x180001c3e call ??2@YAPEAX_K@Z; operator new(unsigned __int64) ; +0xe0, 0x180001c40 mov rdx, rax ; +0xe5, 0x180001c45 mov [rsp+28h+arg_0], rax ; +0xe8, 0x180001c48 mov [rax], esi ; +0xed, 0x180001c4d mov [rax+8], rdi ; +0xef, 0x180001c4f mov rcx, [rdi+0B0h] ; +0xf3, 0x180001c53 call sub_180002B70 ; +0xfa, 0x180001c5a mov rcx, [rdi+0B8h]; Block ; +0xff, 0x180001c5f test rcx, rcx ; +0x106, 0x180001c66 jz short loc_180001C7C ; +0x109, 0x180001c69 mov edx, 10h ; +0x10b, 0x180001c6b call j_j_free ; +0x110, 0x180001c70 mov [rdi+0B8h], rsi ; +0x115, 0x180001c75 mov rsi, [rsp+28h+arg_10] ; +0x11c, 0x180001c7c xor eax, eax ; +0x121, 0x180001c81 add rsp, 20h ; +0x123, 0x180001c83 pop rdi ; +0x127, 0x180001c87 retn ; +0x128, 0x180001c88