; ; FMOD::System::getRecordDriverInfo from 0x1800ae8b0 to 0x1800ae9ff (335 bytes) ; ; 3 xrefs: ; > FMOD_System_GetRecordDriverInfo @ 0x1800c6c0b ; > @ 0x180194348 ; > @ 0x1801fc60c ; ; 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, 0x1800ae8b0 push rbp ; +0x2, 0x1800ae8b2 push rsi ; +0x3, 0x1800ae8b3 push rdi ; +0x4, 0x1800ae8b4 push r12 ; +0x5, 0x1800ae8b5 push r13 ; +0x7, 0x1800ae8b7 push r14 ; +0x9, 0x1800ae8b9 push r15 ; +0xb, 0x1800ae8bb sub rsp, 188h ; +0xd, 0x1800ae8bd mov rax, cs:__security_cookie ; +0x14, 0x1800ae8c4 xor rax, rsp ; +0x1b, 0x1800ae8cb mov [rsp+1C8h+var_58], rax ; +0x1e, 0x1800ae8ce mov rax, [rsp+1C8h+arg_40] ; +0x26, 0x1800ae8d6 mov rsi, r8 ; +0x2e, 0x1800ae8de mov r14, [rsp+1C8h+arg_20] ; +0x31, 0x1800ae8e1 lea r8, [rsp+1C8h+var_170] ; +0x39, 0x1800ae8e9 mov r15, [rsp+1C8h+arg_28] ; +0x3e, 0x1800ae8ee mov edi, edx ; +0x46, 0x1800ae8f6 mov r12, [rsp+1C8h+arg_30] ; +0x48, 0x1800ae8f8 lea rdx, [rsp+1C8h+var_168] ; +0x50, 0x1800ae900 mov r13, [rsp+1C8h+arg_38] ; +0x55, 0x1800ae905 mov ebp, r9d ; +0x5d, 0x1800ae90d mov [rsp+1C8h+var_178], rax ; +0x60, 0x1800ae910 mov [rsp+1C8h+var_160], rcx ; +0x65, 0x1800ae915 mov [rsp+1C8h+var_170], 0 ; +0x6a, 0x1800ae91a call ?validate@SystemI@FMOD@@SA?AW4FMOD_RESULT@@PEAVSystem@2@PEAPEAV12@PEAVSystemLockScope@2@@Z; FMOD::SystemI::validate(FMOD::System *,FMOD::SystemI * *,FMOD::SystemLockScope *) ; +0x73, 0x1800ae923 mov ebx, eax ; +0x78, 0x1800ae928 test eax, eax ; +0x7a, 0x1800ae92a jnz short loc_1800AE964 ; +0x7c, 0x1800ae92c mov rax, [rsp+1C8h+var_178] ; +0x7e, 0x1800ae92e mov r9d, ebp ; +0x83, 0x1800ae933 mov rcx, [rsp+1C8h+var_168] ; +0x86, 0x1800ae936 mov r8, rsi ; +0x8b, 0x1800ae93b mov [rsp+1C8h+var_188], rax ; +0x8e, 0x1800ae93e mov edx, edi ; +0x93, 0x1800ae943 mov [rsp+1C8h+var_190], r13 ; +0x95, 0x1800ae945 mov [rsp+1C8h+var_198], r12 ; +0x9a, 0x1800ae94a mov [rsp+1C8h+var_1A0], r15 ; +0x9f, 0x1800ae94f mov [rsp+1C8h+var_1A8], r14 ; +0xa4, 0x1800ae954 call sub_1800E4900 ; +0xa9, 0x1800ae959 mov ebx, eax ; +0xae, 0x1800ae95e test eax, eax ; +0xb0, 0x1800ae960 jz short loc_1800AE9CA ; +0xb2, 0x1800ae962 mov rax, cs:off_1801AED20 ; +0xb4, 0x1800ae964 test byte ptr [rax+10h], 80h ; +0xbb, 0x1800ae96b jz short loc_1800AE9CA ; +0xbf, 0x1800ae96f mov rax, [rsp+1C8h+var_178] ; +0xc1, 0x1800ae971 lea rcx, [rsp+1C8h+var_158] ; +0xc6, 0x1800ae976 mov [rsp+1C8h+var_180], rax ; +0xcb, 0x1800ae97b mov r9, rsi ; +0xd0, 0x1800ae980 mov [rsp+1C8h+var_188], r13 ; +0xd3, 0x1800ae983 mov r8d, edi ; +0xd8, 0x1800ae988 mov [rsp+1C8h+var_190], r12 ; +0xdb, 0x1800ae98b mov edx, 100h ; +0xe0, 0x1800ae990 mov [rsp+1C8h+var_198], r15 ; +0xe5, 0x1800ae995 mov [rsp+1C8h+var_1A0], r14 ; +0xea, 0x1800ae99a mov dword ptr [rsp+1C8h+var_1A8], ebp ; +0xef, 0x1800ae99f call sub_1800AB510 ; +0xf3, 0x1800ae9a3 mov r8, [rsp+1C8h+var_160] ; +0xf8, 0x1800ae9a8 lea rax, [rsp+1C8h+var_158] ; +0xfd, 0x1800ae9ad lea r9, aSystemGetrecor; "System::getRecordDriverInfo" ; +0x102, 0x1800ae9b2 mov [rsp+1C8h+var_1A8], rax ; +0x109, 0x1800ae9b9 mov edx, 1 ; +0x10e, 0x1800ae9be mov ecx, ebx ; +0x113, 0x1800ae9c3 call sub_1800B20E0 ; +0x115, 0x1800ae9c5 mov rcx, [rsp+1C8h+var_170] ; +0x11a, 0x1800ae9ca test rcx, rcx ; +0x11f, 0x1800ae9cf jz short loc_1800AE9D9 ; +0x122, 0x1800ae9d2 call sub_180102320 ; +0x124, 0x1800ae9d4 mov eax, ebx ; +0x129, 0x1800ae9d9 mov rcx, [rsp+1C8h+var_58] ; +0x12b, 0x1800ae9db xor rcx, rsp; StackCookie ; +0x133, 0x1800ae9e3 call __security_check_cookie ; +0x136, 0x1800ae9e6 add rsp, 188h ; +0x13b, 0x1800ae9eb pop r15 ; +0x142, 0x1800ae9f2 pop r14 ; +0x144, 0x1800ae9f4 pop r13 ; +0x146, 0x1800ae9f6 pop r12 ; +0x148, 0x1800ae9f8 pop rdi ; +0x14a, 0x1800ae9fa pop rsi ; +0x14b, 0x1800ae9fb pop rbp ; +0x14c, 0x1800ae9fc pop rbx ; +0x14d, 0x1800ae9fd retn ; +0x14e, 0x1800ae9fe