; ; FMOD::Sound::getSubSound from 0x1800a85e0 to 0x1800a8711 (305 bytes) ; ; 3 xrefs: ; > FMOD_Sound_GetSubSound @ 0x1800c66b9 ; > @ 0x180194348 ; > @ 0x1801fbb44 ; ; 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 ; push rbx ; +0x0, 0x1800a85e0 push rbp ; +0x2, 0x1800a85e2 push rsi ; +0x3, 0x1800a85e3 push rdi ; +0x4, 0x1800a85e4 push r14 ; +0x5, 0x1800a85e5 sub rsp, 150h ; +0x7, 0x1800a85e7 mov rax, cs:__security_cookie ; +0xe, 0x1800a85ee xor rax, rsp ; +0x15, 0x1800a85f5 mov [rsp+178h+var_38], rax ; +0x18, 0x1800a85f8 mov rbp, r8 ; +0x20, 0x1800a8600 mov edi, edx ; +0x23, 0x1800a8603 xor ebx, ebx ; +0x25, 0x1800a8605 lea r8, [rsp+178h+var_140] ; +0x27, 0x1800a8607 lea rdx, [rsp+178h+var_148] ; +0x2c, 0x1800a860c mov [rsp+178h+var_140], rbx ; +0x31, 0x1800a8611 mov r14, rcx ; +0x36, 0x1800a8616 call sub_1800E1460 ; +0x39, 0x1800a8619 mov esi, eax ; +0x3e, 0x1800a861e test eax, eax ; +0x40, 0x1800a8620 jnz short loc_1800A8668 ; +0x42, 0x1800a8622 mov rcx, [rsp+178h+var_148] ; +0x44, 0x1800a8624 mov rax, [rcx+108h] ; +0x49, 0x1800a8629 test rax, rax ; +0x50, 0x1800a8630 jz short loc_1800A863B ; +0x53, 0x1800a8633 mov ebx, [rax+124h] ; +0x55, 0x1800a8635 mov eax, [rcx+110h] ; +0x5b, 0x1800a863b nop ; +0x61, 0x1800a8641 test eax, eax ; +0x62, 0x1800a8642 jz short loc_1800A8652 ; +0x64, 0x1800a8644 cmp ebx, 0Fh ; +0x66, 0x1800a8646 jz short loc_1800A8652 ; +0x69, 0x1800a8649 mov esi, 2Eh ; '.' ; +0x6b, 0x1800a864b jmp short loc_1800A8668 ; +0x70, 0x1800a8650 mov rcx, [rsp+178h+var_148] ; +0x72, 0x1800a8652 mov r8, rbp ; +0x77, 0x1800a8657 mov edx, edi ; +0x7a, 0x1800a865a mov rax, [rcx] ; +0x7c, 0x1800a865c call qword ptr [rax+78h] ; +0x7f, 0x1800a865f mov esi, eax ; +0x82, 0x1800a8662 test eax, eax ; +0x84, 0x1800a8664 jz short loc_1800A86DD ; +0x86, 0x1800a8666 mov rax, cs:off_1801AED20 ; +0x88, 0x1800a8668 test byte ptr [rax+10h], 80h ; +0x8f, 0x1800a866f jz short loc_1800A86DD ; +0x93, 0x1800a8673 mov r8d, edi ; +0x95, 0x1800a8675 lea rcx, [rsp+178h+var_138] ; +0x98, 0x1800a8678 mov edi, 100h ; +0x9d, 0x1800a867d mov edx, edi ; +0xa2, 0x1800a8682 call sub_1800F2EC0 ; +0xa4, 0x1800a8684 movsxd rbx, eax ; +0xa9, 0x1800a8689 lea rcx, [rsp+178h+var_138] ; +0xac, 0x1800a868c mov edx, edi ; +0xb1, 0x1800a8691 lea r8, asc_18014572C; ", " ; +0xb3, 0x1800a8693 sub edx, ebx ; +0xba, 0x1800a869a add rcx, rbx; void * ; +0xbc, 0x1800a869c call sub_1800F2F70 ; +0xbf, 0x1800a869f add ebx, eax ; +0xc4, 0x1800a86a4 lea rcx, [rsp+178h+var_138] ; +0xc6, 0x1800a86a6 movsxd rax, ebx ; +0xcb, 0x1800a86ab sub edi, ebx ; +0xce, 0x1800a86ae add rcx, rax ; +0xd0, 0x1800a86b0 mov edx, edi ; +0xd3, 0x1800a86b3 mov r8, rbp ; +0xd5, 0x1800a86b5 call sub_1800F3230 ; +0xd8, 0x1800a86b8 lea rax, [rsp+178h+var_138] ; +0xdd, 0x1800a86bd mov r8, r14 ; +0xe2, 0x1800a86c2 lea r9, aSoundGetsubsou; "Sound::getSubSound" ; +0xe5, 0x1800a86c5 mov [rsp+178h+var_158], rax ; +0xec, 0x1800a86cc mov edx, 5 ; +0xf1, 0x1800a86d1 mov ecx, esi ; +0xf6, 0x1800a86d6 call sub_1800B20E0 ; +0xf8, 0x1800a86d8 mov rcx, [rsp+178h+var_140] ; +0xfd, 0x1800a86dd test rcx, rcx ; +0x102, 0x1800a86e2 jz short loc_1800A86F1 ; +0x105, 0x1800a86e5 mov edx, 0Ch ; +0x107, 0x1800a86e7 call sub_180102300 ; +0x10c, 0x1800a86ec mov eax, esi ; +0x111, 0x1800a86f1 mov rcx, [rsp+178h+var_38] ; +0x113, 0x1800a86f3 xor rcx, rsp; StackCookie ; +0x11b, 0x1800a86fb call __security_check_cookie ; +0x11e, 0x1800a86fe add rsp, 150h ; +0x123, 0x1800a8703 pop r14 ; +0x12a, 0x1800a870a pop rdi ; +0x12c, 0x1800a870c pop rsi ; +0x12d, 0x1800a870d pop rbp ; +0x12e, 0x1800a870e pop rbx ; +0x12f, 0x1800a870f retn ; +0x130, 0x1800a8710