; ; FMOD::Channel::setPosition from 0x1800a0890 to 0x1800a09bf (303 bytes) ; ; 5 xrefs: ; > FMOD_Channel_SetPosition @ 0x1800c59e9 ; > @ 0x180185a8c ; > @ 0x180185ac0 ; > @ 0x180194348 ; > @ 0x1801faec0 ; ; 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, 0x1800a0890 push rsi ; +0x3, 0x1800a0893 sub rsp, 170h ; +0x4, 0x1800a0894 mov rax, cs:__security_cookie ; +0xb, 0x1800a089b xor rax, rsp ; +0x12, 0x1800a08a2 mov [rsp+178h+var_38], rax ; +0x15, 0x1800a08a5 mov [r11-10h], rbx ; +0x1d, 0x1800a08ad mov ebx, edx ; +0x21, 0x1800a08b1 mov [r11-18h], rbp ; +0x23, 0x1800a08b3 lea rdx, [rsp+178h+var_140] ; +0x27, 0x1800a08b7 mov ebp, r8d ; +0x2c, 0x1800a08bc mov [r11-28h], r14 ; +0x2f, 0x1800a08bf lea r8, [rsp+178h+var_148] ; +0x33, 0x1800a08c3 mov [rsp+178h+var_148], 0 ; +0x38, 0x1800a08c8 mov r14, rcx ; +0x41, 0x1800a08d1 call ?validate@ChannelI@FMOD@@SA?AW4FMOD_RESULT@@PEAVChannel@2@PEAPEAV12@PEAVSystemLockScope@2@@Z; FMOD::ChannelI::validate(FMOD::Channel *,FMOD::ChannelI * *,FMOD::SystemLockScope *) ; +0x44, 0x1800a08d4 mov esi, eax ; +0x49, 0x1800a08d9 test eax, eax ; +0x4b, 0x1800a08db jnz short loc_1800A08F8 ; +0x4d, 0x1800a08dd mov rcx, [rsp+178h+var_140] ; +0x4f, 0x1800a08df mov r8d, ebp ; +0x54, 0x1800a08e4 mov edx, ebx ; +0x57, 0x1800a08e7 call sub_1800CFA60 ; +0x59, 0x1800a08e9 mov esi, eax ; +0x5e, 0x1800a08ee test eax, eax ; +0x60, 0x1800a08f0 jz loc_1800A097D ; +0x62, 0x1800a08f2 mov rax, cs:off_1801AED20 ; +0x68, 0x1800a08f8 test byte ptr [rax+10h], 80h ; +0x6f, 0x1800a08ff jz short loc_1800A097D ; +0x73, 0x1800a0903 mov [rsp+178h+var_20], rdi ; +0x75, 0x1800a0905 lea rcx, [rsp+178h+var_138] ; +0x7d, 0x1800a090d mov edi, 100h ; +0x82, 0x1800a0912 mov r8d, ebx ; +0x87, 0x1800a0917 mov edx, edi ; +0x8a, 0x1800a091a call sub_1800F2EF0 ; +0x8c, 0x1800a091c movsxd rbx, eax ; +0x91, 0x1800a0921 lea rcx, [rsp+178h+var_138] ; +0x94, 0x1800a0924 mov edx, edi ; +0x99, 0x1800a0929 lea r8, asc_18014572C; ", " ; +0x9b, 0x1800a092b sub edx, ebx ; +0xa2, 0x1800a0932 add rcx, rbx; void * ; +0xa4, 0x1800a0934 call sub_1800F2F70 ; +0xa7, 0x1800a0937 add ebx, eax ; +0xac, 0x1800a093c lea rcx, [rsp+178h+var_138] ; +0xae, 0x1800a093e movsxd rax, ebx ; +0xb3, 0x1800a0943 sub edi, ebx ; +0xb6, 0x1800a0946 add rcx, rax ; +0xb8, 0x1800a0948 mov edx, edi ; +0xbb, 0x1800a094b mov r8d, ebp ; +0xbd, 0x1800a094d call sub_1800F2EF0 ; +0xc0, 0x1800a0950 lea rax, [rsp+178h+var_138] ; +0xc5, 0x1800a0955 mov r8, r14 ; +0xca, 0x1800a095a lea r9, aChannelSetposi; "Channel::setPosition" ; +0xcd, 0x1800a095d mov [rsp+178h+var_158], rax ; +0xd4, 0x1800a0964 mov edx, 2 ; +0xd9, 0x1800a0969 mov ecx, esi ; +0xde, 0x1800a096e call sub_1800B20E0 ; +0xe0, 0x1800a0970 mov rdi, [rsp+178h+var_20] ; +0xe5, 0x1800a0975 mov rcx, [rsp+178h+var_148] ; +0xed, 0x1800a097d mov r14, [rsp+178h+var_28] ; +0xf2, 0x1800a0982 mov rbp, [rsp+178h+var_18] ; +0xfa, 0x1800a098a mov rbx, [rsp+178h+var_10] ; +0x102, 0x1800a0992 test rcx, rcx ; +0x10a, 0x1800a099a jz short loc_1800A09A4 ; +0x10d, 0x1800a099d call sub_180102320 ; +0x10f, 0x1800a099f mov eax, esi ; +0x114, 0x1800a09a4 mov rcx, [rsp+178h+var_38] ; +0x116, 0x1800a09a6 xor rcx, rsp; StackCookie ; +0x11e, 0x1800a09ae call __security_check_cookie ; +0x121, 0x1800a09b1 add rsp, 170h ; +0x126, 0x1800a09b6 pop rsi ; +0x12d, 0x1800a09bd retn ; +0x12e, 0x1800a09be