; ; FMOD::System::getDriverInfo from 0x1800ad540 to 0x1800ad66e (302 bytes) ; ; 4 xrefs: ; > FMOD_System_GetDriverInfo @ 0x1800c6afb ; > @ 0x180194348 ; > @ 0x1801fc3cc ; > @ 0x1801fc3d8 ; ; 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, 0x1800ad540 push rbp ; +0x2, 0x1800ad542 push rsi ; +0x3, 0x1800ad543 push rdi ; +0x4, 0x1800ad544 push r12 ; +0x5, 0x1800ad545 push r13 ; +0x7, 0x1800ad547 push r14 ; +0x9, 0x1800ad549 push r15 ; +0xb, 0x1800ad54b sub rsp, 188h ; +0xd, 0x1800ad54d mov rax, cs:__security_cookie ; +0x14, 0x1800ad554 xor rax, rsp ; +0x1b, 0x1800ad55b mov [rsp+1C8h+var_58], rax ; +0x1e, 0x1800ad55e mov r14, [rsp+1C8h+arg_20] ; +0x26, 0x1800ad566 mov rsi, r8 ; +0x2e, 0x1800ad56e mov r15, [rsp+1C8h+arg_28] ; +0x31, 0x1800ad571 lea r8, [rsp+1C8h+var_178] ; +0x39, 0x1800ad579 mov r12, [rsp+1C8h+arg_30] ; +0x3e, 0x1800ad57e mov edi, edx ; +0x46, 0x1800ad586 mov r13, [rsp+1C8h+arg_38] ; +0x48, 0x1800ad588 lea rdx, [rsp+1C8h+var_170] ; +0x50, 0x1800ad590 mov ebp, r9d ; +0x55, 0x1800ad595 mov [rsp+1C8h+var_168], rcx ; +0x58, 0x1800ad598 mov [rsp+1C8h+var_178], 0 ; +0x5d, 0x1800ad59d call ?validate@SystemI@FMOD@@SA?AW4FMOD_RESULT@@PEAVSystem@2@PEAPEAV12@PEAVSystemLockScope@2@@Z; FMOD::SystemI::validate(FMOD::System *,FMOD::SystemI * *,FMOD::SystemLockScope *) ; +0x66, 0x1800ad5a6 mov ebx, eax ; +0x6b, 0x1800ad5ab test eax, eax ; +0x6d, 0x1800ad5ad jnz short loc_1800AD5DD ; +0x6f, 0x1800ad5af mov rcx, [rsp+1C8h+var_170] ; +0x71, 0x1800ad5b1 mov r9d, ebp ; +0x76, 0x1800ad5b6 mov [rsp+1C8h+var_190], r13 ; +0x79, 0x1800ad5b9 mov r8, rsi ; +0x7e, 0x1800ad5be mov [rsp+1C8h+var_198], r12 ; +0x81, 0x1800ad5c1 mov edx, edi ; +0x86, 0x1800ad5c6 mov [rsp+1C8h+var_1A0], r15 ; +0x88, 0x1800ad5c8 mov [rsp+1C8h+var_1A8], r14 ; +0x8d, 0x1800ad5cd call sub_1800E4120 ; +0x92, 0x1800ad5d2 mov ebx, eax ; +0x97, 0x1800ad5d7 test eax, eax ; +0x99, 0x1800ad5d9 jz short loc_1800AD639 ; +0x9b, 0x1800ad5db mov rax, cs:off_1801AED20 ; +0x9d, 0x1800ad5dd test byte ptr [rax+10h], 80h ; +0xa4, 0x1800ad5e4 jz short loc_1800AD639 ; +0xa8, 0x1800ad5e8 mov [rsp+1C8h+var_188], r13 ; +0xaa, 0x1800ad5ea lea rcx, [rsp+1C8h+var_158] ; +0xaf, 0x1800ad5ef mov [rsp+1C8h+var_190], r12 ; +0xb4, 0x1800ad5f4 mov r9, rsi ; +0xb9, 0x1800ad5f9 mov [rsp+1C8h+var_198], r15 ; +0xbc, 0x1800ad5fc mov r8d, edi ; +0xc1, 0x1800ad601 mov [rsp+1C8h+var_1A0], r14 ; +0xc4, 0x1800ad604 mov edx, 100h ; +0xc9, 0x1800ad609 mov dword ptr [rsp+1C8h+var_1A8], ebp ; +0xce, 0x1800ad60e call sub_1800AB3C0 ; +0xd2, 0x1800ad612 mov r8, [rsp+1C8h+var_168] ; +0xd7, 0x1800ad617 lea rax, [rsp+1C8h+var_158] ; +0xdc, 0x1800ad61c lea r9, aSystemGetdrive_0; "System::getDriverInfo" ; +0xe1, 0x1800ad621 mov [rsp+1C8h+var_1A8], rax ; +0xe8, 0x1800ad628 mov edx, 1 ; +0xed, 0x1800ad62d mov ecx, ebx ; +0xf2, 0x1800ad632 call sub_1800B20E0 ; +0xf4, 0x1800ad634 mov rcx, [rsp+1C8h+var_178] ; +0xf9, 0x1800ad639 test rcx, rcx ; +0xfe, 0x1800ad63e jz short loc_1800AD648 ; +0x101, 0x1800ad641 call sub_180102320 ; +0x103, 0x1800ad643 mov eax, ebx ; +0x108, 0x1800ad648 mov rcx, [rsp+1C8h+var_58] ; +0x10a, 0x1800ad64a xor rcx, rsp; StackCookie ; +0x112, 0x1800ad652 call __security_check_cookie ; +0x115, 0x1800ad655 add rsp, 188h ; +0x11a, 0x1800ad65a pop r15 ; +0x121, 0x1800ad661 pop r14 ; +0x123, 0x1800ad663 pop r13 ; +0x125, 0x1800ad665 pop r12 ; +0x127, 0x1800ad667 pop rdi ; +0x129, 0x1800ad669 pop rsi ; +0x12a, 0x1800ad66a pop rbp ; +0x12b, 0x1800ad66b pop rbx ; +0x12c, 0x1800ad66c retn ; +0x12d, 0x1800ad66d