; ; FMOD::Sound::getLoopPoints from 0x1800a7780 to 0x1800a797d (509 bytes) ; ; 5 xrefs: ; > FMOD_Sound_GetLoopPoints @ 0x1800c65bb ; > @ 0x18018760c ; > @ 0x180187640 ; > @ 0x180194348 ; > @ 0x1801fb9d0 ; ; 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 r11, rsp ; +0x0, 0x1800a7780 push rsi ; +0x3, 0x1800a7783 sub rsp, 180h ; +0x4, 0x1800a7784 mov rax, cs:__security_cookie ; +0xb, 0x1800a778b xor rax, rsp ; +0x12, 0x1800a7792 mov [rsp+188h+var_48], rax ; +0x15, 0x1800a7795 mov [r11-10h], rbx ; +0x1d, 0x1800a779d mov rbx, rdx ; +0x21, 0x1800a77a1 mov [r11-18h], rbp ; +0x24, 0x1800a77a4 lea rdx, [rsp+188h+var_158] ; +0x28, 0x1800a77a8 mov [r11-28h], r12 ; +0x2d, 0x1800a77ad mov ebp, r8d ; +0x31, 0x1800a77b1 mov [r11-30h], r14 ; +0x34, 0x1800a77b4 lea r8, [rsp+188h+var_150] ; +0x38, 0x1800a77b8 mov [r11-38h], r15 ; +0x3d, 0x1800a77bd mov r14, r9 ; +0x41, 0x1800a77c1 mov r12, rcx ; +0x44, 0x1800a77c4 mov [rsp+188h+var_150], 0 ; +0x47, 0x1800a77c7 call sub_1800E1460 ; +0x50, 0x1800a77d0 mov r15d, [rsp+188h+arg_20] ; +0x55, 0x1800a77d5 mov esi, eax ; +0x5d, 0x1800a77dd test eax, eax ; +0x5f, 0x1800a77df jnz short loc_1800A7831 ; +0x61, 0x1800a77e1 mov rax, [rsp+188h+var_158] ; +0x63, 0x1800a77e3 mov ecx, [rax+110h] ; +0x68, 0x1800a77e8 nop ; +0x6e, 0x1800a77ee test ecx, ecx ; +0x6f, 0x1800a77ef jz short loc_1800A780B ; +0x71, 0x1800a77f1 mov rax, [rsp+188h+var_158] ; +0x73, 0x1800a77f3 mov ecx, [rax+110h] ; +0x78, 0x1800a77f8 nop ; +0x7e, 0x1800a77fe cmp ecx, 7 ; +0x7f, 0x1800a77ff jz short loc_1800A780B ; +0x82, 0x1800a7802 mov esi, 2Eh ; '.' ; +0x84, 0x1800a7804 jmp short loc_1800A7831 ; +0x89, 0x1800a7809 mov rcx, [rsp+188h+var_158] ; +0x8b, 0x1800a780b mov r9, r14 ; +0x90, 0x1800a7810 mov r8d, ebp ; +0x93, 0x1800a7813 mov dword ptr [rsp+188h+var_168], r15d ; +0x96, 0x1800a7816 mov rdx, rbx ; +0x9b, 0x1800a781b mov rax, [rcx] ; +0x9e, 0x1800a781e call qword ptr [rax+140h] ; +0xa1, 0x1800a7821 mov esi, eax ; +0xa7, 0x1800a7827 test eax, eax ; +0xa9, 0x1800a7829 jz loc_1800A7926 ; +0xab, 0x1800a782b mov rax, cs:off_1801AED20 ; +0xb1, 0x1800a7831 test byte ptr [rax+10h], 80h ; +0xb8, 0x1800a7838 jz loc_1800A7926 ; +0xbc, 0x1800a783c mov [rsp+188h+var_20], rdi ; +0xc2, 0x1800a7842 lea rcx, [rsp+188h+var_148] ; +0xca, 0x1800a784a mov edi, 100h ; +0xcf, 0x1800a784f mov r8, rbx ; +0xd4, 0x1800a7854 mov edx, edi ; +0xd7, 0x1800a7857 call sub_1800F3060 ; +0xd9, 0x1800a7859 movsxd rbx, eax ; +0xde, 0x1800a785e lea rcx, [rsp+188h+var_148] ; +0xe1, 0x1800a7861 mov edx, edi ; +0xe6, 0x1800a7866 lea r8, asc_18014572C; ", " ; +0xe8, 0x1800a7868 sub edx, ebx ; +0xef, 0x1800a786f add rcx, rbx; void * ; +0xf1, 0x1800a7871 call sub_1800F2F70 ; +0xf4, 0x1800a7874 add ebx, eax ; +0xf9, 0x1800a7879 mov edx, edi ; +0xfb, 0x1800a787b lea rax, [rsp+188h+var_148] ; +0xfd, 0x1800a787d movsxd rcx, ebx ; +0x102, 0x1800a7882 add rcx, rax ; +0x105, 0x1800a7885 sub edx, ebx ; +0x108, 0x1800a7888 mov r8d, ebp ; +0x10a, 0x1800a788a call sub_1800F2EF0 ; +0x10d, 0x1800a788d add ebx, eax ; +0x112, 0x1800a7892 lea rcx, [rsp+188h+var_148] ; +0x114, 0x1800a7894 movsxd rax, ebx ; +0x119, 0x1800a7899 lea r8, asc_18014572C; ", " ; +0x11c, 0x1800a789c mov edx, edi ; +0x123, 0x1800a78a3 add rcx, rax; void * ; +0x125, 0x1800a78a5 sub edx, ebx ; +0x128, 0x1800a78a8 call sub_1800F2F70 ; +0x12a, 0x1800a78aa add ebx, eax ; +0x12f, 0x1800a78af lea rcx, [rsp+188h+var_148] ; +0x131, 0x1800a78b1 movsxd rax, ebx ; +0x136, 0x1800a78b6 mov edx, edi ; +0x139, 0x1800a78b9 add rcx, rax ; +0x13b, 0x1800a78bb sub edx, ebx ; +0x13e, 0x1800a78be mov r8, r14 ; +0x140, 0x1800a78c0 call sub_1800F3060 ; +0x143, 0x1800a78c3 add ebx, eax ; +0x148, 0x1800a78c8 lea rcx, [rsp+188h+var_148] ; +0x14a, 0x1800a78ca movsxd rax, ebx ; +0x14f, 0x1800a78cf lea r8, asc_18014572C; ", " ; +0x152, 0x1800a78d2 mov edx, edi ; +0x159, 0x1800a78d9 add rcx, rax; void * ; +0x15b, 0x1800a78db sub edx, ebx ; +0x15e, 0x1800a78de call sub_1800F2F70 ; +0x160, 0x1800a78e0 add ebx, eax ; +0x165, 0x1800a78e5 lea rcx, [rsp+188h+var_148] ; +0x167, 0x1800a78e7 movsxd rax, ebx ; +0x16c, 0x1800a78ec sub edi, ebx ; +0x16f, 0x1800a78ef add rcx, rax ; +0x171, 0x1800a78f1 mov edx, edi ; +0x174, 0x1800a78f4 mov r8d, r15d ; +0x176, 0x1800a78f6 call sub_1800F2EF0 ; +0x179, 0x1800a78f9 lea rax, [rsp+188h+var_148] ; +0x17e, 0x1800a78fe mov r8, r12 ; +0x183, 0x1800a7903 lea r9, aSoundGetlooppo; "Sound::getLoopPoints" ; +0x186, 0x1800a7906 mov [rsp+188h+var_168], rax ; +0x18d, 0x1800a790d mov edx, 5 ; +0x192, 0x1800a7912 mov ecx, esi ; +0x197, 0x1800a7917 call sub_1800B20E0 ; +0x199, 0x1800a7919 mov rdi, [rsp+188h+var_20] ; +0x19e, 0x1800a791e mov rcx, [rsp+188h+var_150] ; +0x1a6, 0x1800a7926 mov r15, [rsp+188h+var_38] ; +0x1ab, 0x1800a792b mov r14, [rsp+188h+var_30] ; +0x1b3, 0x1800a7933 mov r12, [rsp+188h+var_28] ; +0x1bb, 0x1800a793b mov rbp, [rsp+188h+var_18] ; +0x1c3, 0x1800a7943 mov rbx, [rsp+188h+var_10] ; +0x1cb, 0x1800a794b test rcx, rcx ; +0x1d3, 0x1800a7953 jz short loc_1800A7962 ; +0x1d6, 0x1800a7956 mov edx, 0Ch ; +0x1d8, 0x1800a7958 call sub_180102300 ; +0x1dd, 0x1800a795d mov eax, esi ; +0x1e2, 0x1800a7962 mov rcx, [rsp+188h+var_48] ; +0x1e4, 0x1800a7964 xor rcx, rsp; StackCookie ; +0x1ec, 0x1800a796c call __security_check_cookie ; +0x1ef, 0x1800a796f add rsp, 180h ; +0x1f4, 0x1800a7974 pop rsi ; +0x1fb, 0x1800a797b retn ; +0x1fc, 0x1800a797c