; ; FMOD::Channel::getPosition from 0x1800a0140 to 0x1800a0276 (310 bytes) ; ; 5 xrefs: ; > FMOD_Channel_GetPosition @ 0x1800c56a9 ; > @ 0x180185af0 ; > @ 0x180185b24 ; > @ 0x180194348 ; > @ 0x1801fae0c ; ; 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, 0x1800a0140 push rsi ; +0x3, 0x1800a0143 sub rsp, 170h ; +0x4, 0x1800a0144 mov rax, cs:__security_cookie ; +0xb, 0x1800a014b xor rax, rsp ; +0x12, 0x1800a0152 mov [rsp+178h+var_38], rax ; +0x15, 0x1800a0155 mov [r11-10h], rbx ; +0x1d, 0x1800a015d xor eax, eax ; +0x21, 0x1800a0161 mov [r11-18h], rbp ; +0x23, 0x1800a0163 mov ebp, r8d ; +0x27, 0x1800a0167 mov [r11-28h], r14 ; +0x2a, 0x1800a016a mov r14, rcx ; +0x2e, 0x1800a016e mov rbx, rdx ; +0x31, 0x1800a0171 test rdx, rdx ; +0x34, 0x1800a0174 jz short loc_1800A017B ; +0x37, 0x1800a0177 mov [rdx], eax ; +0x39, 0x1800a0179 lea r8, [rsp+178h+var_148] ; +0x3b, 0x1800a017b mov [rsp+178h+var_148], rax ; +0x40, 0x1800a0180 lea rdx, [rsp+178h+var_140] ; +0x45, 0x1800a0185 call ?validate@ChannelI@FMOD@@SA?AW4FMOD_RESULT@@PEAVChannel@2@PEAPEAV12@PEAVSystemLockScope@2@@Z; FMOD::ChannelI::validate(FMOD::Channel *,FMOD::ChannelI * *,FMOD::SystemLockScope *) ; +0x4a, 0x1800a018a mov esi, eax ; +0x4f, 0x1800a018f test eax, eax ; +0x51, 0x1800a0191 jnz short loc_1800A01AF ; +0x53, 0x1800a0193 mov rcx, [rsp+178h+var_140] ; +0x55, 0x1800a0195 mov r8d, ebp ; +0x5a, 0x1800a019a mov rdx, rbx ; +0x5d, 0x1800a019d call sub_1800CDD40 ; +0x60, 0x1800a01a0 mov esi, eax ; +0x65, 0x1800a01a5 test eax, eax ; +0x67, 0x1800a01a7 jz loc_1800A0234 ; +0x69, 0x1800a01a9 mov rax, cs:off_1801AED20 ; +0x6f, 0x1800a01af test byte ptr [rax+10h], 80h ; +0x76, 0x1800a01b6 jz short loc_1800A0234 ; +0x7a, 0x1800a01ba mov [rsp+178h+var_20], rdi ; +0x7c, 0x1800a01bc lea rcx, [rsp+178h+var_138] ; +0x84, 0x1800a01c4 mov edi, 100h ; +0x89, 0x1800a01c9 mov r8, rbx ; +0x8e, 0x1800a01ce mov edx, edi ; +0x91, 0x1800a01d1 call sub_1800F3060 ; +0x93, 0x1800a01d3 movsxd rbx, eax ; +0x98, 0x1800a01d8 lea rcx, [rsp+178h+var_138] ; +0x9b, 0x1800a01db mov edx, edi ; +0xa0, 0x1800a01e0 lea r8, asc_18014572C; ", " ; +0xa2, 0x1800a01e2 sub edx, ebx ; +0xa9, 0x1800a01e9 add rcx, rbx; void * ; +0xab, 0x1800a01eb call sub_1800F2F70 ; +0xae, 0x1800a01ee add ebx, eax ; +0xb3, 0x1800a01f3 lea rcx, [rsp+178h+var_138] ; +0xb5, 0x1800a01f5 movsxd rax, ebx ; +0xba, 0x1800a01fa sub edi, ebx ; +0xbd, 0x1800a01fd add rcx, rax ; +0xbf, 0x1800a01ff mov edx, edi ; +0xc2, 0x1800a0202 mov r8d, ebp ; +0xc4, 0x1800a0204 call sub_1800F2EF0 ; +0xc7, 0x1800a0207 lea rax, [rsp+178h+var_138] ; +0xcc, 0x1800a020c mov r8, r14 ; +0xd1, 0x1800a0211 lea r9, aChannelGetposi; "Channel::getPosition" ; +0xd4, 0x1800a0214 mov [rsp+178h+var_158], rax ; +0xdb, 0x1800a021b mov edx, 2 ; +0xe0, 0x1800a0220 mov ecx, esi ; +0xe5, 0x1800a0225 call sub_1800B20E0 ; +0xe7, 0x1800a0227 mov rdi, [rsp+178h+var_20] ; +0xec, 0x1800a022c mov rcx, [rsp+178h+var_148] ; +0xf4, 0x1800a0234 mov r14, [rsp+178h+var_28] ; +0xf9, 0x1800a0239 mov rbp, [rsp+178h+var_18] ; +0x101, 0x1800a0241 mov rbx, [rsp+178h+var_10] ; +0x109, 0x1800a0249 test rcx, rcx ; +0x111, 0x1800a0251 jz short loc_1800A025B ; +0x114, 0x1800a0254 call sub_180102320 ; +0x116, 0x1800a0256 mov eax, esi ; +0x11b, 0x1800a025b mov rcx, [rsp+178h+var_38] ; +0x11d, 0x1800a025d xor rcx, rsp; StackCookie ; +0x125, 0x1800a0265 call __security_check_cookie ; +0x128, 0x1800a0268 add rsp, 170h ; +0x12d, 0x1800a026d pop rsi ; +0x134, 0x1800a0274 retn ; +0x135, 0x1800a0275