; ; FMOD::System::setCallback from 0x1800b0e00 to 0x1800b0f31 (305 bytes) ; ; 6 xrefs: ; > FMOD_System_SetCallback @ 0x1800c6e89 ; > @ 0x180187d80 ; > @ 0x180187db4 ; > @ 0x180194348 ; > @ 0x1801fcabc ; > @ 0x1801fcac8 ; ; 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, 0x1800b0e00 push rsi ; +0x3, 0x1800b0e03 sub rsp, 170h ; +0x4, 0x1800b0e04 mov rax, cs:__security_cookie ; +0xb, 0x1800b0e0b xor rax, rsp ; +0x12, 0x1800b0e12 mov [rsp+178h+var_38], rax ; +0x15, 0x1800b0e15 mov [r11-10h], rbx ; +0x1d, 0x1800b0e1d mov rbx, rdx ; +0x21, 0x1800b0e21 mov [r11-18h], rbp ; +0x24, 0x1800b0e24 lea rdx, [rsp+178h+var_140] ; +0x28, 0x1800b0e28 mov ebp, r8d ; +0x2d, 0x1800b0e2d mov [r11-28h], r14 ; +0x30, 0x1800b0e30 lea r8, [rsp+178h+var_148] ; +0x34, 0x1800b0e34 mov [rsp+178h+var_148], 0 ; +0x39, 0x1800b0e39 mov r14, rcx ; +0x42, 0x1800b0e42 call ?validate@SystemI@FMOD@@SA?AW4FMOD_RESULT@@PEAVSystem@2@PEAPEAV12@PEAVSystemLockScope@2@@Z; FMOD::SystemI::validate(FMOD::System *,FMOD::SystemI * *,FMOD::SystemLockScope *) ; +0x45, 0x1800b0e45 mov esi, eax ; +0x4a, 0x1800b0e4a test eax, eax ; +0x4c, 0x1800b0e4c jnz short loc_1800B0E6A ; +0x4e, 0x1800b0e4e mov rcx, [rsp+178h+var_140] ; +0x50, 0x1800b0e50 mov r8d, ebp ; +0x55, 0x1800b0e55 mov rdx, rbx ; +0x58, 0x1800b0e58 call sub_1800E72E0 ; +0x5b, 0x1800b0e5b mov esi, eax ; +0x60, 0x1800b0e60 test eax, eax ; +0x62, 0x1800b0e62 jz loc_1800B0EEF ; +0x64, 0x1800b0e64 mov rax, cs:off_1801AED20 ; +0x6a, 0x1800b0e6a test byte ptr [rax+10h], 80h ; +0x71, 0x1800b0e71 jz short loc_1800B0EEF ; +0x75, 0x1800b0e75 mov [rsp+178h+var_20], rdi ; +0x77, 0x1800b0e77 lea rcx, [rsp+178h+var_138] ; +0x7f, 0x1800b0e7f mov edi, 100h ; +0x84, 0x1800b0e84 mov r8, rbx ; +0x89, 0x1800b0e89 mov edx, edi ; +0x8c, 0x1800b0e8c call sub_1800F3230 ; +0x8e, 0x1800b0e8e movsxd rbx, eax ; +0x93, 0x1800b0e93 lea rcx, [rsp+178h+var_138] ; +0x96, 0x1800b0e96 mov edx, edi ; +0x9b, 0x1800b0e9b lea r8, asc_18014572C; ", " ; +0x9d, 0x1800b0e9d sub edx, ebx ; +0xa4, 0x1800b0ea4 add rcx, rbx; void * ; +0xa6, 0x1800b0ea6 call sub_1800F2F70 ; +0xa9, 0x1800b0ea9 add ebx, eax ; +0xae, 0x1800b0eae lea rcx, [rsp+178h+var_138] ; +0xb0, 0x1800b0eb0 movsxd rax, ebx ; +0xb5, 0x1800b0eb5 sub edi, ebx ; +0xb8, 0x1800b0eb8 add rcx, rax ; +0xba, 0x1800b0eba mov edx, edi ; +0xbd, 0x1800b0ebd mov r8d, ebp ; +0xbf, 0x1800b0ebf call sub_1800F2EF0 ; +0xc2, 0x1800b0ec2 lea rax, [rsp+178h+var_138] ; +0xc7, 0x1800b0ec7 mov r8, r14 ; +0xcc, 0x1800b0ecc lea r9, aSystemSetcallb; "System::setCallback" ; +0xcf, 0x1800b0ecf mov [rsp+178h+var_158], rax ; +0xd6, 0x1800b0ed6 mov edx, 1 ; +0xdb, 0x1800b0edb mov ecx, esi ; +0xe0, 0x1800b0ee0 call sub_1800B20E0 ; +0xe2, 0x1800b0ee2 mov rdi, [rsp+178h+var_20] ; +0xe7, 0x1800b0ee7 mov rcx, [rsp+178h+var_148] ; +0xef, 0x1800b0eef mov r14, [rsp+178h+var_28] ; +0xf4, 0x1800b0ef4 mov rbp, [rsp+178h+var_18] ; +0xfc, 0x1800b0efc mov rbx, [rsp+178h+var_10] ; +0x104, 0x1800b0f04 test rcx, rcx ; +0x10c, 0x1800b0f0c jz short loc_1800B0F16 ; +0x10f, 0x1800b0f0f call sub_180102320 ; +0x111, 0x1800b0f11 mov eax, esi ; +0x116, 0x1800b0f16 mov rcx, [rsp+178h+var_38] ; +0x118, 0x1800b0f18 xor rcx, rsp; StackCookie ; +0x120, 0x1800b0f20 call __security_check_cookie ; +0x123, 0x1800b0f23 add rsp, 170h ; +0x128, 0x1800b0f28 pop rsi ; +0x12f, 0x1800b0f2f retn ; +0x130, 0x1800b0f30