; ; FMOD::Channel::getLoopPoints from 0x18009ff60 to 0x1800a0137 (471 bytes) ; ; 5 xrefs: ; > FMOD_Channel_GetLoopPoints @ 0x1800c55cb ; > @ 0x180185c38 ; > @ 0x180185c6c ; > @ 0x180194348 ; > @ 0x1801fadd0 ; ; 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, 0x18009ff60 push rsi ; +0x3, 0x18009ff63 sub rsp, 180h ; +0x4, 0x18009ff64 mov rax, cs:__security_cookie ; +0xb, 0x18009ff6b xor rax, rsp ; +0x12, 0x18009ff72 mov [rsp+188h+var_48], rax ; +0x15, 0x18009ff75 mov [r11-10h], rbx ; +0x1d, 0x18009ff7d xor eax, eax ; +0x21, 0x18009ff81 mov [r11-18h], rbp ; +0x23, 0x18009ff83 mov rbx, rdx ; +0x27, 0x18009ff87 mov [r11-28h], r12 ; +0x2a, 0x18009ff8a mov r12d, r8d ; +0x2e, 0x18009ff8e mov [r11-30h], r14 ; +0x31, 0x18009ff91 mov r14, r9 ; +0x35, 0x18009ff95 mov [r11-38h], r15 ; +0x38, 0x18009ff98 mov r15, rcx ; +0x3c, 0x18009ff9c test rdx, rdx ; +0x3f, 0x18009ff9f jz short loc_18009FFA6 ; +0x42, 0x18009ffa2 mov [rdx], eax ; +0x44, 0x18009ffa4 test r14, r14 ; +0x46, 0x18009ffa6 jz short loc_18009FFAE ; +0x49, 0x18009ffa9 mov [r9], eax ; +0x4b, 0x18009ffab lea r8, [rsp+188h+var_158] ; +0x4e, 0x18009ffae mov [rsp+188h+var_158], rax ; +0x53, 0x18009ffb3 lea rdx, [rsp+188h+var_150] ; +0x58, 0x18009ffb8 call ?validate@ChannelI@FMOD@@SA?AW4FMOD_RESULT@@PEAVChannel@2@PEAPEAV12@PEAVSystemLockScope@2@@Z; FMOD::ChannelI::validate(FMOD::Channel *,FMOD::ChannelI * *,FMOD::SystemLockScope *) ; +0x5d, 0x18009ffbd mov ebp, [rsp+188h+arg_20] ; +0x62, 0x18009ffc2 mov esi, eax ; +0x69, 0x18009ffc9 test eax, eax ; +0x6b, 0x18009ffcb jnz short loc_18009FFF0 ; +0x6d, 0x18009ffcd mov rcx, [rsp+188h+var_150] ; +0x6f, 0x18009ffcf mov r9, r14 ; +0x74, 0x18009ffd4 mov r8d, r12d ; +0x77, 0x18009ffd7 mov dword ptr [rsp+188h+var_168], ebp ; +0x7a, 0x18009ffda mov rdx, rbx ; +0x7e, 0x18009ffde call sub_1800CD9B0 ; +0x81, 0x18009ffe1 mov esi, eax ; +0x86, 0x18009ffe6 test eax, eax ; +0x88, 0x18009ffe8 jz loc_1800A00E5 ; +0x8a, 0x18009ffea mov rax, cs:off_1801AED20 ; +0x90, 0x18009fff0 test byte ptr [rax+10h], 80h ; +0x97, 0x18009fff7 jz loc_1800A00E5 ; +0x9b, 0x18009fffb mov [rsp+188h+var_20], rdi ; +0xa1, 0x1800a0001 lea rcx, [rsp+188h+var_148] ; +0xa9, 0x1800a0009 mov edi, 100h ; +0xae, 0x1800a000e mov r8, rbx ; +0xb3, 0x1800a0013 mov edx, edi ; +0xb6, 0x1800a0016 call sub_1800F3060 ; +0xb8, 0x1800a0018 movsxd rbx, eax ; +0xbd, 0x1800a001d lea rcx, [rsp+188h+var_148] ; +0xc0, 0x1800a0020 mov edx, edi ; +0xc5, 0x1800a0025 lea r8, asc_18014572C; ", " ; +0xc7, 0x1800a0027 sub edx, ebx ; +0xce, 0x1800a002e add rcx, rbx; void * ; +0xd0, 0x1800a0030 call sub_1800F2F70 ; +0xd3, 0x1800a0033 add ebx, eax ; +0xd8, 0x1800a0038 mov edx, edi ; +0xda, 0x1800a003a lea rax, [rsp+188h+var_148] ; +0xdc, 0x1800a003c movsxd rcx, ebx ; +0xe1, 0x1800a0041 add rcx, rax ; +0xe4, 0x1800a0044 sub edx, ebx ; +0xe7, 0x1800a0047 mov r8d, r12d ; +0xe9, 0x1800a0049 call sub_1800F2EF0 ; +0xec, 0x1800a004c add ebx, eax ; +0xf1, 0x1800a0051 lea rcx, [rsp+188h+var_148] ; +0xf3, 0x1800a0053 movsxd rax, ebx ; +0xf8, 0x1800a0058 lea r8, asc_18014572C; ", " ; +0xfb, 0x1800a005b mov edx, edi ; +0x102, 0x1800a0062 add rcx, rax; void * ; +0x104, 0x1800a0064 sub edx, ebx ; +0x107, 0x1800a0067 call sub_1800F2F70 ; +0x109, 0x1800a0069 add ebx, eax ; +0x10e, 0x1800a006e lea rcx, [rsp+188h+var_148] ; +0x110, 0x1800a0070 movsxd rax, ebx ; +0x115, 0x1800a0075 mov edx, edi ; +0x118, 0x1800a0078 add rcx, rax ; +0x11a, 0x1800a007a sub edx, ebx ; +0x11d, 0x1800a007d mov r8, r14 ; +0x11f, 0x1800a007f call sub_1800F3060 ; +0x122, 0x1800a0082 add ebx, eax ; +0x127, 0x1800a0087 lea rcx, [rsp+188h+var_148] ; +0x129, 0x1800a0089 movsxd rax, ebx ; +0x12e, 0x1800a008e lea r8, asc_18014572C; ", " ; +0x131, 0x1800a0091 mov edx, edi ; +0x138, 0x1800a0098 add rcx, rax; void * ; +0x13a, 0x1800a009a sub edx, ebx ; +0x13d, 0x1800a009d call sub_1800F2F70 ; +0x13f, 0x1800a009f add ebx, eax ; +0x144, 0x1800a00a4 lea rcx, [rsp+188h+var_148] ; +0x146, 0x1800a00a6 movsxd rax, ebx ; +0x14b, 0x1800a00ab sub edi, ebx ; +0x14e, 0x1800a00ae add rcx, rax ; +0x150, 0x1800a00b0 mov edx, edi ; +0x153, 0x1800a00b3 mov r8d, ebp ; +0x155, 0x1800a00b5 call sub_1800F2EF0 ; +0x158, 0x1800a00b8 lea rax, [rsp+188h+var_148] ; +0x15d, 0x1800a00bd mov r8, r15 ; +0x162, 0x1800a00c2 lea r9, aChannelGetloop_0; "Channel::getLoopPoints" ; +0x165, 0x1800a00c5 mov [rsp+188h+var_168], rax ; +0x16c, 0x1800a00cc mov edx, 2 ; +0x171, 0x1800a00d1 mov ecx, esi ; +0x176, 0x1800a00d6 call sub_1800B20E0 ; +0x178, 0x1800a00d8 mov rdi, [rsp+188h+var_20] ; +0x17d, 0x1800a00dd mov rcx, [rsp+188h+var_158] ; +0x185, 0x1800a00e5 mov r15, [rsp+188h+var_38] ; +0x18a, 0x1800a00ea mov r14, [rsp+188h+var_30] ; +0x192, 0x1800a00f2 mov r12, [rsp+188h+var_28] ; +0x19a, 0x1800a00fa mov rbp, [rsp+188h+var_18] ; +0x1a2, 0x1800a0102 mov rbx, [rsp+188h+var_10] ; +0x1aa, 0x1800a010a test rcx, rcx ; +0x1b2, 0x1800a0112 jz short loc_1800A011C ; +0x1b5, 0x1800a0115 call sub_180102320 ; +0x1b7, 0x1800a0117 mov eax, esi ; +0x1bc, 0x1800a011c mov rcx, [rsp+188h+var_48] ; +0x1be, 0x1800a011e xor rcx, rsp; StackCookie ; +0x1c6, 0x1800a0126 call __security_check_cookie ; +0x1c9, 0x1800a0129 add rsp, 180h ; +0x1ce, 0x1800a012e pop rsi ; +0x1d5, 0x1800a0135 retn ; +0x1d6, 0x1800a0136