; ; sub_180003320 from 0x180003320 to 0x180003517 (503 bytes) ; ; 4 xrefs: ; > cocos2d::extension::AssetsManager::setSearchPath @ 0x18000243c ; > @ 0x18002d1f4 ; > @ 0x18002d204 ; > @ 0x1800491c8 ; ; 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 rax, rsp ; +0x0, 0x180003320 mov [rax+20h], rbx ; +0x3, 0x180003323 push rbp ; +0x7, 0x180003327 push rsi ; +0x8, 0x180003328 push rdi ; +0x9, 0x180003329 sub rsp, 50h ; +0xa, 0x18000332a mov rsi, [rcx+8] ; +0xe, 0x18000332e mov rbx, r8 ; +0x12, 0x180003332 mov rbp, rdx ; +0x15, 0x180003335 mov rdi, rcx ; +0x18, 0x180003338 cmp rsi, [rcx+10h] ; +0x1b, 0x18000333b jz loc_1800034F5 ; +0x1f, 0x18000333f mov [rax+8], r12 ; +0x25, 0x180003345 mov rdx, r9 ; +0x29, 0x180003349 mov [rax+10h], r14 ; +0x2c, 0x18000334c mov [rax+18h], r15 ; +0x30, 0x180003350 cmp rbx, rsi ; +0x34, 0x180003354 jnz short loc_18000336B ; +0x37, 0x180003357 mov rcx, rsi ; +0x39, 0x180003359 call sub_180003F50 ; +0x3c, 0x18000335c add qword ptr [rdi+8], 20h ; ' ' ; +0x41, 0x180003361 jmp loc_1800034CC ; +0x46, 0x180003366 lea rcx, [rsp+68h+Block] ; +0x4b, 0x18000336b mov [rsp+68h+var_48], rdi ; +0x50, 0x180003370 call sub_180003F50 ; +0x55, 0x180003375 movups xmm0, xmmword ptr [rsi-20h] ; +0x5a, 0x18000337a lea rax, [rsi-20h] ; +0x5e, 0x18000337e xor r12d, r12d ; +0x62, 0x180003382 movups xmmword ptr [rsi], xmm0 ; +0x65, 0x180003385 movups xmm1, xmmword ptr [rax+10h] ; +0x68, 0x180003388 movups xmmword ptr [rsi+10h], xmm1 ; +0x6c, 0x18000338c mov [rax+10h], r12 ; +0x70, 0x180003390 mov qword ptr [rax+18h], 0Fh ; +0x74, 0x180003394 mov [rax], r12b ; +0x7c, 0x18000339c add qword ptr [rdi+8], 20h ; ' ' ; +0x7f, 0x18000339f cmp rbx, rax ; +0x84, 0x1800033a4 jz loc_180003428 ; +0x87, 0x1800033a7 lea rdi, [rsi-8] ; +0x8d, 0x1800033ad mov r15, rdi ; +0x91, 0x1800033b1 sub rdi, 20h ; ' ' ; +0x94, 0x1800033b4 lea rsi, [rdi-18h] ; +0x98, 0x1800033b8 lea r14, [rdi+8] ; +0x9c, 0x1800033bc cmp r14, rsi ; +0xa0, 0x1800033c0 jz short loc_180003423 ; +0xa3, 0x1800033c3 mov rdx, [r15] ; +0xa5, 0x1800033c5 cmp rdx, 0Fh ; +0xa8, 0x1800033c8 jbe short loc_1800033FE ; +0xac, 0x1800033cc mov rcx, [r14] ; +0xae, 0x1800033ce inc rdx ; +0xb1, 0x1800033d1 cmp rdx, 1000h ; +0xb4, 0x1800033d4 jb short loc_1800033F9 ; +0xbb, 0x1800033db mov r8, [rcx-8] ; +0xbd, 0x1800033dd add rdx, 27h ; ''' ; +0xc1, 0x1800033e1 sub rcx, r8 ; +0xc5, 0x1800033e5 lea rax, [rcx-8] ; +0xc8, 0x1800033e8 cmp rax, 1Fh ; +0xcc, 0x1800033ec ja loc_1800034C0 ; +0xd0, 0x1800033f0 mov rcx, r8; Block ; +0xd6, 0x1800033f6 call j_j_free ; +0xd9, 0x1800033f9 mov qword ptr [r15], 0Fh ; +0xde, 0x1800033fe movups xmm0, xmmword ptr [rsi] ; +0xe5, 0x180003405 movups xmmword ptr [r14], xmm0 ; +0xe8, 0x180003408 movups xmm1, xmmword ptr [rsi+10h] ; +0xec, 0x18000340c movups xmmword ptr [r14+10h], xmm1 ; +0xf0, 0x180003410 mov [rdi-8], r12 ; +0xf5, 0x180003415 mov qword ptr [rdi], 0Fh ; +0xf9, 0x180003419 mov [rsi], r12b ; +0x100, 0x180003420 cmp rbx, rsi ; +0x103, 0x180003423 jnz short loc_1800033B1 ; +0x106, 0x180003426 lea rax, [rsp+68h+Block] ; +0x108, 0x180003428 cmp rbx, rax ; +0x10d, 0x18000342d jz short loc_18000348C ; +0x110, 0x180003430 mov rdx, [rbx+18h] ; +0x112, 0x180003432 cmp rdx, 0Fh ; +0x116, 0x180003436 jbe short loc_180003468 ; +0x11a, 0x18000343a mov rcx, [rbx] ; +0x11c, 0x18000343c inc rdx ; +0x11f, 0x18000343f cmp rdx, 1000h ; +0x122, 0x180003442 jb short loc_180003463 ; +0x129, 0x180003449 mov r8, [rcx-8] ; +0x12b, 0x18000344b add rdx, 27h ; ''' ; +0x12f, 0x18000344f sub rcx, r8 ; +0x133, 0x180003453 lea rax, [rcx-8] ; +0x136, 0x180003456 cmp rax, 1Fh ; +0x13a, 0x18000345a ja short loc_1800034C0 ; +0x13e, 0x18000345e mov rcx, r8; Block ; +0x140, 0x180003460 call j_j_free ; +0x143, 0x180003463 movups xmm0, xmmword ptr [rsp+68h+Block] ; +0x148, 0x180003468 mov byte ptr [rsp+68h+Block], r12b ; +0x14d, 0x18000346d movups xmm1, [rsp+68h+var_30] ; +0x152, 0x180003472 movups xmmword ptr [rbx], xmm0 ; +0x157, 0x180003477 movdqa xmm0, cs:xmmword_1800295E0 ; +0x15a, 0x18000347a movdqu [rsp+68h+var_30], xmm0 ; +0x162, 0x180003482 movups xmmword ptr [rbx+10h], xmm1 ; +0x168, 0x180003488 mov rdx, qword ptr [rsp+68h+var_30+8] ; +0x16c, 0x18000348c cmp rdx, 0Fh ; +0x171, 0x180003491 jbe short loc_1800034CC ; +0x175, 0x180003495 mov rcx, [rsp+68h+Block]; Block ; +0x177, 0x180003497 inc rdx ; +0x17c, 0x18000349c mov rax, rcx ; +0x17f, 0x18000349f cmp rdx, 1000h ; +0x182, 0x1800034a2 jb short loc_1800034C7 ; +0x189, 0x1800034a9 mov rcx, [rcx-8] ; +0x18b, 0x1800034ab add rdx, 27h ; ''' ; +0x18f, 0x1800034af sub rax, rcx ; +0x193, 0x1800034b3 add rax, 0FFFFFFFFFFFFFFF8h ; +0x196, 0x1800034b6 cmp rax, 1Fh ; +0x19a, 0x1800034ba jbe short loc_1800034C7 ; +0x19e, 0x1800034be call cs:_invalid_parameter_noinfo_noreturn ; +0x1a0, 0x1800034c0 db 0CCh ; +0x1a6, 0x1800034c6 call j_j_free ; +0x1a7, 0x1800034c7 mov r14, [rsp+68h+arg_8] ; +0x1ac, 0x1800034cc mov rax, rbp ; +0x1b1, 0x1800034d1 mov r12, [rsp+68h+arg_0] ; +0x1b4, 0x1800034d4 mov r15, [rsp+68h+arg_10] ; +0x1b9, 0x1800034d9 mov [rbp+0], rbx ; +0x1c1, 0x1800034e1 mov rbx, [rsp+68h+arg_18] ; +0x1c5, 0x1800034e5 add rsp, 50h ; +0x1cd, 0x1800034ed pop rdi ; +0x1d1, 0x1800034f1 pop rsi ; +0x1d2, 0x1800034f2 pop rbp ; +0x1d3, 0x1800034f3 retn ; +0x1d4, 0x1800034f4 mov r8, r9 ; +0x1d5, 0x1800034f5 mov rdx, rbx ; +0x1d8, 0x1800034f8 call sub_180003160 ; +0x1db, 0x1800034fb mov rbx, [rsp+68h+arg_18] ; +0x1e0, 0x180003500 mov [rbp+0], rax ; +0x1e8, 0x180003508 mov rax, rbp ; +0x1ec, 0x18000350c add rsp, 50h ; +0x1ef, 0x18000350f pop rdi ; +0x1f3, 0x180003513 pop rsi ; +0x1f4, 0x180003514 pop rbp ; +0x1f5, 0x180003515 retn ; +0x1f6, 0x180003516