; ; FMOD::System::setFileSystem from 0x1800b1140 to 0x1800b1271 (305 bytes) ; ; 3 xrefs: ; > FMOD_System_SetFileSystem @ 0x1800c6ebb ; > @ 0x180194348 ; > @ 0x1801fcb4c ; ; 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, 0x1800b1140 push rbp ; +0x2, 0x1800b1142 push rsi ; +0x3, 0x1800b1143 push rdi ; +0x4, 0x1800b1144 push r12 ; +0x5, 0x1800b1145 push r13 ; +0x7, 0x1800b1147 push r14 ; +0x9, 0x1800b1149 push r15 ; +0xb, 0x1800b114b sub rsp, 188h ; +0xd, 0x1800b114d mov rax, cs:__security_cookie ; +0x14, 0x1800b1154 xor rax, rsp ; +0x1b, 0x1800b115b mov [rsp+1C8h+var_58], rax ; +0x1e, 0x1800b115e mov r14, [rsp+1C8h+arg_20] ; +0x26, 0x1800b1166 mov rsi, r8 ; +0x2e, 0x1800b116e mov r15, [rsp+1C8h+arg_28] ; +0x31, 0x1800b1171 lea r8, [rsp+1C8h+var_178] ; +0x39, 0x1800b1179 mov r12, [rsp+1C8h+arg_30] ; +0x3e, 0x1800b117e mov rdi, rdx ; +0x46, 0x1800b1186 lea rdx, [rsp+1C8h+var_170] ; +0x49, 0x1800b1189 mov [rsp+1C8h+var_168], rcx ; +0x4e, 0x1800b118e mov rbp, r9 ; +0x53, 0x1800b1193 mov [rsp+1C8h+var_178], 0 ; +0x56, 0x1800b1196 call ?validate@SystemI@FMOD@@SA?AW4FMOD_RESULT@@PEAVSystem@2@PEAPEAV12@PEAVSystemLockScope@2@@Z; FMOD::SystemI::validate(FMOD::System *,FMOD::SystemI * *,FMOD::SystemLockScope *) ; +0x5f, 0x1800b119f mov r13d, [rsp+1C8h+arg_38] ; +0x64, 0x1800b11a4 mov ebx, eax ; +0x6c, 0x1800b11ac test eax, eax ; +0x6e, 0x1800b11ae jnz short loc_1800B11DF ; +0x70, 0x1800b11b0 mov rcx, [rsp+1C8h+var_170] ; +0x72, 0x1800b11b2 mov r9, rbp ; +0x77, 0x1800b11b7 mov dword ptr [rsp+1C8h+var_190], r13d ; +0x7a, 0x1800b11ba mov r8, rsi ; +0x7f, 0x1800b11bf mov [rsp+1C8h+var_198], r12 ; +0x82, 0x1800b11c2 mov rdx, rdi ; +0x87, 0x1800b11c7 mov [rsp+1C8h+var_1A0], r15 ; +0x8a, 0x1800b11ca mov [rsp+1C8h+var_1A8], r14 ; +0x8f, 0x1800b11cf call sub_1800E73C0 ; +0x94, 0x1800b11d4 mov ebx, eax ; +0x99, 0x1800b11d9 test eax, eax ; +0x9b, 0x1800b11db jz short loc_1800B123C ; +0x9d, 0x1800b11dd mov rax, cs:off_1801AED20 ; +0x9f, 0x1800b11df test byte ptr [rax+10h], 80h ; +0xa6, 0x1800b11e6 jz short loc_1800B123C ; +0xaa, 0x1800b11ea mov [rsp+1C8h+var_188], r13d ; +0xac, 0x1800b11ec lea rcx, [rsp+1C8h+var_158] ; +0xb1, 0x1800b11f1 mov [rsp+1C8h+var_190], r12 ; +0xb6, 0x1800b11f6 mov r9, rsi ; +0xbb, 0x1800b11fb mov [rsp+1C8h+var_198], r15 ; +0xbe, 0x1800b11fe mov r8, rdi ; +0xc3, 0x1800b1203 mov [rsp+1C8h+var_1A0], r14 ; +0xc6, 0x1800b1206 mov edx, 100h ; +0xcb, 0x1800b120b mov [rsp+1C8h+var_1A8], rbp ; +0xd0, 0x1800b1210 call sub_1800AB690 ; +0xd5, 0x1800b1215 mov r8, [rsp+1C8h+var_168] ; +0xda, 0x1800b121a lea rax, [rsp+1C8h+var_158] ; +0xdf, 0x1800b121f lea r9, aSystemSetfiles; "System::setFileSystem" ; +0xe4, 0x1800b1224 mov [rsp+1C8h+var_1A8], rax ; +0xeb, 0x1800b122b mov edx, 1 ; +0xf0, 0x1800b1230 mov ecx, ebx ; +0xf5, 0x1800b1235 call sub_1800B20E0 ; +0xf7, 0x1800b1237 mov rcx, [rsp+1C8h+var_178] ; +0xfc, 0x1800b123c test rcx, rcx ; +0x101, 0x1800b1241 jz short loc_1800B124B ; +0x104, 0x1800b1244 call sub_180102320 ; +0x106, 0x1800b1246 mov eax, ebx ; +0x10b, 0x1800b124b mov rcx, [rsp+1C8h+var_58] ; +0x10d, 0x1800b124d xor rcx, rsp; StackCookie ; +0x115, 0x1800b1255 call __security_check_cookie ; +0x118, 0x1800b1258 add rsp, 188h ; +0x11d, 0x1800b125d pop r15 ; +0x124, 0x1800b1264 pop r14 ; +0x126, 0x1800b1266 pop r13 ; +0x128, 0x1800b1268 pop r12 ; +0x12a, 0x1800b126a pop rdi ; +0x12c, 0x1800b126c pop rsi ; +0x12d, 0x1800b126d pop rbp ; +0x12e, 0x1800b126e pop rbx ; +0x12f, 0x1800b126f retn ; +0x130, 0x1800b1270