; ; FMOD_System_Create from 0x50278 to 0x5036c (244 bytes) ; ; 4 xrefs: ; > .FMOD_System_Create @ 0x1081bc ; > @ 0x1318 ; > .FMOD_System_Create @ 0x1081b4 ; > @ 0x1109a0 ; ; 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 ; STR X21, [SP,#-0x10+var_20]! ; +0x0, 0x50278 LSR W8, W1, #8 ; +0x4, 0x5027c CMP W8, #0x202 ; +0x8, 0x50280 STP X20, X19, [SP,#0x20+var_10] ; +0xc, 0x50284 STP X29, X30, [SP,#0x20+var_s0] ; +0x10, 0x50288 ADD X29, SP, #0x20 ; +0x14, 0x5028c B.NE loc_502F8 ; +0x18, 0x50290 MOV X20, X0 ; +0x1c, 0x50294 CBZ X0, loc_50300 ; +0x20, 0x50298 ADRP X21, #off_10F7A0@PAGE ; +0x24, 0x5029c LDR X21, [X21,#off_10F7A0@PAGEOFF]; off_114000 ; +0x28, 0x502a0 ADRP X2, #aSrcFmodCpp@PAGE; "../../src/fmod.cpp" ; +0x2c, 0x502a4 MOV W1, #0x2160 ; +0x30, 0x502a8 ADD X2, X2, #aSrcFmodCpp@PAGEOFF; "../../src/fmod.cpp" ; +0x34, 0x502ac LDR X8, [X21]; unk_11F800 ; +0x38, 0x502b0 MOVK W1, #1,LSL#16 ; +0x3c, 0x502b4 MOV W3, #0x91 ; +0x40, 0x502b8 MOV W4, WZR ; +0x44, 0x502bc LDR X0, [X8,#(qword_11F9B0 - 0x11F800)] ; +0x48, 0x502c0 BL sub_E2AC4 ; +0x4c, 0x502c4 CBZ X0, loc_50308 ; +0x50, 0x502c8 MOV X19, X0 ; +0x54, 0x502cc BL sub_6B00C ; +0x58, 0x502d0 STR X19, [X20] ; +0x5c, 0x502d4 LDR X0, [X21]; unk_11F800 ; +0x60, 0x502d8 MOV W20, #0x2E ; '.' ; +0x64, 0x502dc CMP X20, #0x36 ; '6' ; +0x68, 0x502e0 B.EQ loc_50310 ; +0x6c, 0x502e4 LDR X8, [X0,X20,LSL#3] ; +0x70, 0x502e8 CBZ X8, loc_50334 ; +0x74, 0x502ec ADD X20, X20, #1 ; +0x78, 0x502f0 B loc_502E0 ; +0x7c, 0x502f4 MOV W0, #0x14 ; +0x80, 0x502f8 B loc_5035C ; +0x84, 0x502fc MOV W0, #0x1F ; +0x88, 0x50300 B loc_5035C ; +0x8c, 0x50304 STR XZR, [X20] ; +0x90, 0x50308 B loc_5032C ; +0x94, 0x5030c LDR X0, [X0,#(qword_11F9B0 - 0x11F800)] ; +0x98, 0x50310 ADRL X2, aSrcFmodCpp; "../../src/fmod.cpp" ; +0x9c, 0x50314 MOV W3, #0xA3 ; +0xa4, 0x5031c MOV W4, #1 ; +0xa8, 0x50320 MOV X1, X19 ; +0xac, 0x50324 BL sub_E2D74 ; +0xb0, 0x50328 MOV W0, #0x26 ; '&' ; +0xb4, 0x5032c B loc_5035C ; +0xb8, 0x50330 BL sub_5F3C0 ; +0xbc, 0x50334 CBNZ W0, loc_5035C ; +0xc0, 0x50338 LDR X8, [X21]; unk_11F800 ; +0xc4, 0x5033c MOV W10, #0x10B8 ; +0xc8, 0x50340 SUB W9, W20, #0x2E ; '.' ; +0xcc, 0x50344 MOVK W10, #1,LSL#16 ; +0xd0, 0x50348 STR X19, [X8,X20,LSL#3] ; +0xd4, 0x5034c LDR X8, [X21]; unk_11F800 ; +0xd8, 0x50350 LDR X8, [X8,X20,LSL#3] ; +0xdc, 0x50354 STR W9, [X8,X10] ; +0xe0, 0x50358 LDP X29, X30, [SP,#0x20+var_s0] ; +0xe4, 0x5035c LDP X20, X19, [SP,#0x20+var_10] ; +0xe8, 0x50360 LDR X21, [SP+0x20+var_20],#0x30 ; +0xec, 0x50364 RET ; +0xf0, 0x50368