; ; FMOD::Channel::getCurrentSound from 0x18009fbe0 to 0x18009fcbe (222 bytes) ; ; 3 xrefs: ; > FMOD_Channel_GetCurrentSound @ 0x1800c5509 ; > @ 0x180194348 ; > @ 0x1801fada0 ; ; 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 [rsp+arg_10], rbx ; +0x0, 0x18009fbe0 mov [rsp+arg_18], rsi ; +0x5, 0x18009fbe5 push rdi ; +0xa, 0x18009fbea sub rsp, 150h ; +0xb, 0x18009fbeb mov rax, cs:__security_cookie ; +0x12, 0x18009fbf2 xor rax, rsp ; +0x19, 0x18009fbf9 mov [rsp+158h+var_18], rax ; +0x1c, 0x18009fbfc mov rdi, rdx ; +0x24, 0x18009fc04 mov [rsp+158h+var_128], 0 ; +0x27, 0x18009fc07 lea rdx, [rsp+158h+var_120] ; +0x30, 0x18009fc10 mov rsi, rcx ; +0x35, 0x18009fc15 lea r8, [rsp+158h+var_128] ; +0x38, 0x18009fc18 call ?validate@ChannelI@FMOD@@SA?AW4FMOD_RESULT@@PEAVChannel@2@PEAPEAV12@PEAVSystemLockScope@2@@Z; FMOD::ChannelI::validate(FMOD::Channel *,FMOD::ChannelI * *,FMOD::SystemLockScope *) ; +0x3d, 0x18009fc1d mov ebx, eax ; +0x42, 0x18009fc22 test eax, eax ; +0x44, 0x18009fc24 jz short loc_18009FC36 ; +0x46, 0x18009fc26 test rdi, rdi ; +0x48, 0x18009fc28 jz short loc_18009FC49 ; +0x4b, 0x18009fc2b mov qword ptr [rdi], 0 ; +0x4d, 0x18009fc2d jmp short loc_18009FC49 ; +0x54, 0x18009fc34 mov rcx, [rsp+158h+var_120] ; +0x56, 0x18009fc36 mov rdx, rdi ; +0x5b, 0x18009fc3b call sub_1800CD830 ; +0x5e, 0x18009fc3e mov ebx, eax ; +0x63, 0x18009fc43 test eax, eax ; +0x65, 0x18009fc45 jz short loc_18009FC88 ; +0x67, 0x18009fc47 mov rax, cs:off_1801AED20 ; +0x69, 0x18009fc49 test byte ptr [rax+10h], 80h ; +0x70, 0x18009fc50 jz short loc_18009FC88 ; +0x74, 0x18009fc54 mov r8, rdi ; +0x76, 0x18009fc56 lea rcx, [rsp+158h+var_118] ; +0x79, 0x18009fc59 mov edx, 100h ; +0x7e, 0x18009fc5e call sub_1800F3230 ; +0x83, 0x18009fc63 lea rax, [rsp+158h+var_118] ; +0x88, 0x18009fc68 mov r8, rsi ; +0x8d, 0x18009fc6d lea r9, aChannelGetcurr; "Channel::getCurrentSound" ; +0x90, 0x18009fc70 mov [rsp+158h+var_138], rax ; +0x97, 0x18009fc77 mov edx, 2 ; +0x9c, 0x18009fc7c mov ecx, ebx ; +0xa1, 0x18009fc81 call sub_1800B20E0 ; +0xa3, 0x18009fc83 mov rcx, [rsp+158h+var_128] ; +0xa8, 0x18009fc88 test rcx, rcx ; +0xad, 0x18009fc8d jz short loc_18009FC97 ; +0xb0, 0x18009fc90 call sub_180102320 ; +0xb2, 0x18009fc92 mov eax, ebx ; +0xb7, 0x18009fc97 mov rcx, [rsp+158h+var_18] ; +0xb9, 0x18009fc99 xor rcx, rsp; StackCookie ; +0xc1, 0x18009fca1 call __security_check_cookie ; +0xc4, 0x18009fca4 lea r11, [rsp+158h+var_8] ; +0xc9, 0x18009fca9 mov rbx, [r11+20h] ; +0xd1, 0x18009fcb1 mov rsi, [r11+28h] ; +0xd5, 0x18009fcb5 mov rsp, r11 ; +0xd9, 0x18009fcb9 pop rdi ; +0xdc, 0x18009fcbc retn ; +0xdd, 0x18009fcbd