; ; FMOD::Sound::readData from 0x1800a90d0 to 0x1800a927e (430 bytes) ; ; 5 xrefs: ; > FMOD_Sound_ReadData @ 0x1800c6739 ; > @ 0x1801872f8 ; > @ 0x18018732c ; > @ 0x180194348 ; > @ 0x1801fbc64 ; ; 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, 0x1800a90d0 push rsi ; +0x3, 0x1800a90d3 sub rsp, 180h ; +0x4, 0x1800a90d4 mov rax, cs:__security_cookie ; +0xb, 0x1800a90db xor rax, rsp ; +0x12, 0x1800a90e2 mov [rsp+188h+var_48], rax ; +0x15, 0x1800a90e5 mov [r11-10h], rbx ; +0x1d, 0x1800a90ed mov rbx, rdx ; +0x21, 0x1800a90f1 mov [r11-18h], rbp ; +0x24, 0x1800a90f4 lea rdx, [rsp+188h+var_158] ; +0x28, 0x1800a90f8 mov [r11-28h], r14 ; +0x2d, 0x1800a90fd mov ebp, r8d ; +0x31, 0x1800a9101 mov [r11-30h], r15 ; +0x34, 0x1800a9104 lea r8, [rsp+188h+var_150] ; +0x38, 0x1800a9108 mov r15, rcx ; +0x3d, 0x1800a910d mov [rsp+188h+var_150], 0 ; +0x40, 0x1800a9110 mov r14, r9 ; +0x49, 0x1800a9119 call sub_1800E1460 ; +0x4c, 0x1800a911c mov esi, eax ; +0x51, 0x1800a9121 test eax, eax ; +0x53, 0x1800a9123 jnz short loc_1800A9170 ; +0x55, 0x1800a9125 mov rax, [rsp+188h+var_158] ; +0x57, 0x1800a9127 mov ecx, [rax+110h] ; +0x5c, 0x1800a912c nop ; +0x62, 0x1800a9132 test ecx, ecx ; +0x63, 0x1800a9133 jz short loc_1800A914F ; +0x65, 0x1800a9135 mov rax, [rsp+188h+var_158] ; +0x67, 0x1800a9137 mov ecx, [rax+110h] ; +0x6c, 0x1800a913c nop ; +0x72, 0x1800a9142 cmp ecx, 7 ; +0x73, 0x1800a9143 jz short loc_1800A914F ; +0x76, 0x1800a9146 mov esi, 2Eh ; '.' ; +0x78, 0x1800a9148 jmp short loc_1800A9170 ; +0x7d, 0x1800a914d mov rcx, [rsp+188h+var_158] ; +0x7f, 0x1800a914f mov r9, r14 ; +0x84, 0x1800a9154 mov r8d, ebp ; +0x87, 0x1800a9157 mov rdx, rbx ; +0x8a, 0x1800a915a mov rax, [rcx] ; +0x8d, 0x1800a915d call qword ptr [rax+0C8h] ; +0x90, 0x1800a9160 mov esi, eax ; +0x96, 0x1800a9166 test eax, eax ; +0x98, 0x1800a9168 jz loc_1800A922F ; +0x9a, 0x1800a916a mov rax, cs:off_1801AED20 ; +0xa0, 0x1800a9170 test byte ptr [rax+10h], 80h ; +0xa7, 0x1800a9177 jz loc_1800A922F ; +0xab, 0x1800a917b mov [rsp+188h+var_20], rdi ; +0xb1, 0x1800a9181 lea rcx, [rsp+188h+var_148] ; +0xb9, 0x1800a9189 mov edi, 100h ; +0xbe, 0x1800a918e mov r8, rbx ; +0xc3, 0x1800a9193 mov edx, edi ; +0xc6, 0x1800a9196 call sub_1800F3230 ; +0xc8, 0x1800a9198 movsxd rbx, eax ; +0xcd, 0x1800a919d lea rcx, [rsp+188h+var_148] ; +0xd0, 0x1800a91a0 mov edx, edi ; +0xd5, 0x1800a91a5 lea r8, asc_18014572C; ", " ; +0xd7, 0x1800a91a7 sub edx, ebx ; +0xde, 0x1800a91ae add rcx, rbx; void * ; +0xe0, 0x1800a91b0 call sub_1800F2F70 ; +0xe3, 0x1800a91b3 add ebx, eax ; +0xe8, 0x1800a91b8 mov edx, edi ; +0xea, 0x1800a91ba lea rax, [rsp+188h+var_148] ; +0xec, 0x1800a91bc movsxd rcx, ebx ; +0xf1, 0x1800a91c1 add rcx, rax ; +0xf4, 0x1800a91c4 sub edx, ebx ; +0xf7, 0x1800a91c7 mov r8d, ebp ; +0xf9, 0x1800a91c9 call sub_1800F2EF0 ; +0xfc, 0x1800a91cc add ebx, eax ; +0x101, 0x1800a91d1 lea rcx, [rsp+188h+var_148] ; +0x103, 0x1800a91d3 movsxd rax, ebx ; +0x108, 0x1800a91d8 lea r8, asc_18014572C; ", " ; +0x10b, 0x1800a91db mov edx, edi ; +0x112, 0x1800a91e2 add rcx, rax; void * ; +0x114, 0x1800a91e4 sub edx, ebx ; +0x117, 0x1800a91e7 call sub_1800F2F70 ; +0x119, 0x1800a91e9 add ebx, eax ; +0x11e, 0x1800a91ee lea rcx, [rsp+188h+var_148] ; +0x120, 0x1800a91f0 movsxd rax, ebx ; +0x125, 0x1800a91f5 sub edi, ebx ; +0x128, 0x1800a91f8 add rcx, rax ; +0x12a, 0x1800a91fa mov edx, edi ; +0x12d, 0x1800a91fd mov r8, r14 ; +0x12f, 0x1800a91ff call sub_1800F3060 ; +0x132, 0x1800a9202 lea rax, [rsp+188h+var_148] ; +0x137, 0x1800a9207 mov r8, r15 ; +0x13c, 0x1800a920c lea r9, aSoundReaddata; "Sound::readData" ; +0x13f, 0x1800a920f mov [rsp+188h+var_168], rax ; +0x146, 0x1800a9216 mov edx, 5 ; +0x14b, 0x1800a921b mov ecx, esi ; +0x150, 0x1800a9220 call sub_1800B20E0 ; +0x152, 0x1800a9222 mov rdi, [rsp+188h+var_20] ; +0x157, 0x1800a9227 mov rcx, [rsp+188h+var_150] ; +0x15f, 0x1800a922f mov r15, [rsp+188h+var_30] ; +0x164, 0x1800a9234 mov r14, [rsp+188h+var_28] ; +0x16c, 0x1800a923c mov rbp, [rsp+188h+var_18] ; +0x174, 0x1800a9244 mov rbx, [rsp+188h+var_10] ; +0x17c, 0x1800a924c test rcx, rcx ; +0x184, 0x1800a9254 jz short loc_1800A9263 ; +0x187, 0x1800a9257 mov edx, 0Ch ; +0x189, 0x1800a9259 call sub_180102300 ; +0x18e, 0x1800a925e mov eax, esi ; +0x193, 0x1800a9263 mov rcx, [rsp+188h+var_48] ; +0x195, 0x1800a9265 xor rcx, rsp; StackCookie ; +0x19d, 0x1800a926d call __security_check_cookie ; +0x1a0, 0x1800a9270 add rsp, 180h ; +0x1a5, 0x1800a9275 pop rsi ; +0x1ac, 0x1800a927c retn ; +0x1ad, 0x1800a927d