; ; FMOD_Memory_Initialize from 0x1800c61d0 to 0x1800c6336 (358 bytes) ; ; 3 xrefs: ; > FMOD5_Memory_Initialize @ 0x1800f44c0 ; > @ 0x180194348 ; > @ 0x1801fdff8 ; ; 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 ; push rbx ; +0x0, 0x1800c61d0 sub rsp, 30h ; +0x2, 0x1800c61d2 mov r11, cs:off_1801AED20 ; +0x6, 0x1800c61d6 xor ebx, ebx ; +0xd, 0x1800c61dd mov r10d, ebx ; +0xf, 0x1800c61df lea rax, [r11+160h] ; +0x12, 0x1800c61e2 nop dword ptr [rax+00000000h] ; +0x19, 0x1800c61e9 cmp [rax], rbx ; +0x20, 0x1800c61f0 jnz loc_1800C632B ; +0x23, 0x1800c61f3 inc r10 ; +0x29, 0x1800c61f9 add rax, 8 ; +0x2c, 0x1800c61fc cmp r10, 8 ; +0x30, 0x1800c6200 jl short loc_1800C61F0 ; +0x34, 0x1800c6204 mov eax, edx ; +0x36, 0x1800c6206 and eax, 800000FFh ; +0x38, 0x1800c6208 jge short loc_1800C6218 ; +0x3d, 0x1800c620d dec eax ; +0x3f, 0x1800c620f or eax, 0FFFFFF00h ; +0x41, 0x1800c6211 inc eax ; +0x46, 0x1800c6216 test eax, eax ; +0x48, 0x1800c6218 jnz loc_1800C6320 ; +0x4a, 0x1800c621a mov eax, [rsp+38h+arg_28] ; +0x50, 0x1800c6220 mov [r11+24h], eax ; +0x54, 0x1800c6224 test edx, edx ; +0x58, 0x1800c6228 jz short loc_1800C62A7 ; +0x5a, 0x1800c622a test rcx, rcx ; +0x5c, 0x1800c622c jz loc_1800C6320 ; +0x5f, 0x1800c622f test r8, r8 ; +0x65, 0x1800c6235 jnz loc_1800C6320 ; +0x68, 0x1800c6238 test r9, r9 ; +0x6e, 0x1800c623e jnz loc_1800C6320 ; +0x71, 0x1800c6241 cmp [rsp+38h+arg_20], rbx ; +0x77, 0x1800c6247 jnz loc_1800C6320 ; +0x7c, 0x1800c624c cmp edx, 100h ; +0x82, 0x1800c6252 jl loc_1800C6320 ; +0x88, 0x1800c6258 lea r9d, [r8+4] ; +0x8e, 0x1800c625e mov [rsp+38h+var_18], ebx ; +0x92, 0x1800c6262 mov r8d, edx ; +0x96, 0x1800c6266 mov rdx, rcx ; +0x99, 0x1800c6269 mov rcx, cs:off_1801AED20 ; +0x9c, 0x1800c626c mov rcx, [rcx+1A0h] ; +0xa3, 0x1800c6273 call sub_1800B6C70 ; +0xaa, 0x1800c627a test eax, eax ; +0xaf, 0x1800c627f jnz loc_1800C6330 ; +0xb1, 0x1800c6281 mov rcx, cs:off_1801AED20 ; +0xb7, 0x1800c6287 mov rdx, [rcx+1A0h] ; +0xbe, 0x1800c628e mov [rdx+50h], rbx ; +0xc5, 0x1800c6295 mov [rdx+58h], rbx ; +0xc9, 0x1800c6299 mov [rdx+60h], rbx ; +0xcd, 0x1800c629d add rsp, 30h ; +0xd1, 0x1800c62a1 pop rbx ; +0xd5, 0x1800c62a5 retn ; +0xd6, 0x1800c62a6 test rcx, rcx ; +0xd7, 0x1800c62a7 jnz short loc_1800C6320 ; +0xda, 0x1800c62aa test r8, r8 ; +0xdc, 0x1800c62ac jz short loc_1800C62DD ; +0xdf, 0x1800c62af mov rdx, [rsp+38h+arg_20] ; +0xe1, 0x1800c62b1 test rdx, rdx ; +0xe6, 0x1800c62b6 jz short loc_1800C6320 ; +0xe9, 0x1800c62b9 mov rax, cs:off_1801AED20 ; +0xeb, 0x1800c62bb mov rcx, [rax+1A0h] ; +0xf2, 0x1800c62c2 xor eax, eax ; +0xf9, 0x1800c62c9 mov [rcx+50h], r8 ; +0xfb, 0x1800c62cb mov [rcx+58h], r9 ; +0xff, 0x1800c62cf mov [rcx+60h], rdx ; +0x103, 0x1800c62d3 add rsp, 30h ; +0x107, 0x1800c62d7 pop rbx ; +0x10b, 0x1800c62db retn ; +0x10c, 0x1800c62dc test r9, r9 ; +0x10d, 0x1800c62dd jnz short loc_1800C6320 ; +0x110, 0x1800c62e0 cmp [rsp+38h+arg_20], rbx ; +0x112, 0x1800c62e2 jnz short loc_1800C6320 ; +0x117, 0x1800c62e7 mov rax, cs:off_1801AED20 ; +0x119, 0x1800c62e9 mov rcx, [rax+1A0h] ; +0x120, 0x1800c62f0 lea rax, sub_1800B6410 ; +0x127, 0x1800c62f7 mov [rcx+50h], rax ; +0x12e, 0x1800c62fe lea rax, sub_1800B6420 ; +0x132, 0x1800c6302 mov [rcx+58h], rax ; +0x139, 0x1800c6309 lea rax, j_j_free ; +0x13d, 0x1800c630d mov [rcx+60h], rax ; +0x144, 0x1800c6314 xor eax, eax ; +0x148, 0x1800c6318 add rsp, 30h ; +0x14a, 0x1800c631a pop rbx ; +0x14e, 0x1800c631e retn ; +0x14f, 0x1800c631f mov eax, 1Fh ; +0x150, 0x1800c6320 add rsp, 30h ; +0x155, 0x1800c6325 pop rbx ; +0x159, 0x1800c6329 retn ; +0x15a, 0x1800c632a mov eax, 1Bh ; +0x15b, 0x1800c632b add rsp, 30h ; +0x160, 0x1800c6330 pop rbx ; +0x164, 0x1800c6334 retn ; +0x165, 0x1800c6335