; ; FMOD::System::init from 0x1800af580 to 0x1800af6bb (315 bytes) ; ; 6 xrefs: ; > FMOD_System_Init @ 0x1800c6ce9 ; > @ 0x1801882bc ; > @ 0x1801882cc ; > @ 0x180194348 ; > @ 0x1801fc7a4 ; > @ 0x1801fc7b0 ; ; 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, 0x1800af580 push rbp ; +0x2, 0x1800af582 push rsi ; +0x3, 0x1800af583 push r14 ; +0x4, 0x1800af584 push r15 ; +0x6, 0x1800af586 sub rsp, 160h ; +0x8, 0x1800af588 mov rax, cs:__security_cookie ; +0xf, 0x1800af58f xor rax, rsp ; +0x16, 0x1800af596 mov [rsp+188h+var_48], rax ; +0x19, 0x1800af599 mov ebp, r8d ; +0x21, 0x1800af5a1 mov ebx, edx ; +0x24, 0x1800af5a4 xor r8d, r8d ; +0x26, 0x1800af5a6 lea rdx, [rsp+188h+var_158] ; +0x29, 0x1800af5a9 mov r14, r9 ; +0x2e, 0x1800af5ae mov r15, rcx ; +0x31, 0x1800af5b1 call ?validate@SystemI@FMOD@@SA?AW4FMOD_RESULT@@PEAVSystem@2@PEAPEAV12@PEAVSystemLockScope@2@@Z; FMOD::SystemI::validate(FMOD::System *,FMOD::SystemI * *,FMOD::SystemLockScope *) ; +0x34, 0x1800af5b4 mov esi, eax ; +0x39, 0x1800af5b9 test eax, eax ; +0x3b, 0x1800af5bb jnz short loc_1800AF5DB ; +0x3d, 0x1800af5bd mov rcx, [rsp+188h+var_158] ; +0x3f, 0x1800af5bf mov r9, r14 ; +0x44, 0x1800af5c4 mov r8d, ebp ; +0x47, 0x1800af5c7 mov edx, ebx ; +0x4a, 0x1800af5ca call sub_1800E4E00 ; +0x4c, 0x1800af5cc mov esi, eax ; +0x51, 0x1800af5d1 test eax, eax ; +0x53, 0x1800af5d3 jz loc_1800AF69C ; +0x55, 0x1800af5d5 mov rax, cs:off_1801AED20 ; +0x5b, 0x1800af5db test byte ptr [rax+10h], 80h ; +0x62, 0x1800af5e2 jz loc_1800AF69A ; +0x66, 0x1800af5e6 mov [rsp+188h+var_30], rdi ; +0x6c, 0x1800af5ec lea rcx, [rsp+188h+var_148] ; +0x74, 0x1800af5f4 mov edi, 100h ; +0x79, 0x1800af5f9 mov r8d, ebx ; +0x7e, 0x1800af5fe mov edx, edi ; +0x81, 0x1800af601 call sub_1800F2EC0 ; +0x83, 0x1800af603 movsxd rbx, eax ; +0x88, 0x1800af608 lea rcx, [rsp+188h+var_148] ; +0x8b, 0x1800af60b mov edx, edi ; +0x90, 0x1800af610 lea r8, asc_18014572C; ", " ; +0x92, 0x1800af612 sub edx, ebx ; +0x99, 0x1800af619 add rcx, rbx; void * ; +0x9b, 0x1800af61b call sub_1800F2F70 ; +0x9e, 0x1800af61e add ebx, eax ; +0xa3, 0x1800af623 mov edx, edi ; +0xa5, 0x1800af625 lea rax, [rsp+188h+var_148] ; +0xa7, 0x1800af627 movsxd rcx, ebx ; +0xac, 0x1800af62c add rcx, rax ; +0xaf, 0x1800af62f sub edx, ebx ; +0xb2, 0x1800af632 mov r8d, ebp ; +0xb4, 0x1800af634 call sub_1800F2EF0 ; +0xb7, 0x1800af637 add ebx, eax ; +0xbc, 0x1800af63c lea rcx, [rsp+188h+var_148] ; +0xbe, 0x1800af63e movsxd rax, ebx ; +0xc3, 0x1800af643 lea r8, asc_18014572C; ", " ; +0xc6, 0x1800af646 mov edx, edi ; +0xcd, 0x1800af64d add rcx, rax; void * ; +0xcf, 0x1800af64f sub edx, ebx ; +0xd2, 0x1800af652 call sub_1800F2F70 ; +0xd4, 0x1800af654 add ebx, eax ; +0xd9, 0x1800af659 lea rcx, [rsp+188h+var_148] ; +0xdb, 0x1800af65b movsxd rax, ebx ; +0xe0, 0x1800af660 sub edi, ebx ; +0xe3, 0x1800af663 add rcx, rax ; +0xe5, 0x1800af665 mov edx, edi ; +0xe8, 0x1800af668 mov r8, r14 ; +0xea, 0x1800af66a call sub_1800F3230 ; +0xed, 0x1800af66d lea rax, [rsp+188h+var_148] ; +0xf2, 0x1800af672 mov r8, r15 ; +0xf7, 0x1800af677 lea r9, aSystemInit; "System::init" ; +0xfa, 0x1800af67a mov [rsp+188h+var_168], rax ; +0x101, 0x1800af681 mov edx, 1 ; +0x106, 0x1800af686 mov ecx, esi ; +0x10b, 0x1800af68b call sub_1800B20E0 ; +0x10d, 0x1800af68d mov rdi, [rsp+188h+var_30] ; +0x112, 0x1800af692 mov eax, esi ; +0x11a, 0x1800af69a mov rcx, [rsp+188h+var_48] ; +0x11c, 0x1800af69c xor rcx, rsp; StackCookie ; +0x124, 0x1800af6a4 call __security_check_cookie ; +0x127, 0x1800af6a7 add rsp, 160h ; +0x12c, 0x1800af6ac pop r15 ; +0x133, 0x1800af6b3 pop r14 ; +0x135, 0x1800af6b5 pop rsi ; +0x137, 0x1800af6b7 pop rbp ; +0x138, 0x1800af6b8 pop rbx ; +0x139, 0x1800af6b9 retn ; +0x13a, 0x1800af6ba