; ; sub_5DB60 from 0x5db60 to 0x5dca0 (320 bytes) ; ; 2 xrefs: ; > sub_5E794 @ 0x5e8ec ; > sub_6F850 @ 0x6f8c8 ; ; 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 ; SUB SP, SP, #0x40 ; +0x0, 0x5db60 STP X22, X21, [SP,#0x30+var_20] ; +0x4, 0x5db64 STP X20, X19, [SP,#0x30+var_10] ; +0x8, 0x5db68 STP X29, X30, [SP,#0x30+var_s0] ; +0xc, 0x5db6c LDR X8, [X0,#0x18] ; +0x10, 0x5db70 MOV X19, X0 ; +0x14, 0x5db74 ADD X29, SP, #0x30 ; +0x18, 0x5db78 MOV W20, W2 ; +0x1c, 0x5db7c LDR X0, [X8,#0x190] ; +0x20, 0x5db80 MOV W21, W1 ; +0x24, 0x5db84 BL sub_5F218 ; +0x28, 0x5db88 BL sub_5F23C ; +0x2c, 0x5db8c LDR X8, [X19,#0x40] ; +0x30, 0x5db90 CBNZ X8, loc_5DBA0 ; +0x34, 0x5db94 LDR X8, [X19,#0x30] ; +0x38, 0x5db98 CBZ X8, loc_5DBBC ; +0x3c, 0x5db9c MOV W20, #0x1C ; +0x40, 0x5dba0 BL sub_5F234 ; +0x44, 0x5dba4 MOV W0, W20 ; +0x48, 0x5dba8 LDP X29, X30, [SP,#0x30+var_s0] ; +0x4c, 0x5dbac LDP X20, X19, [SP,#0x30+var_10] ; +0x50, 0x5dbb0 LDP X22, X21, [SP,#0x30+var_20] ; +0x54, 0x5dbb4 B loc_5F2CC ; +0x58, 0x5dbb8 STP W20, WZR, [X19,#0x20] ; +0x5c, 0x5dbbc STP W21, WZR, [X19,#0x28] ; +0x60, 0x5dbc0 ADRP X22, #off_10F7A0@PAGE ; +0x64, 0x5dbc4 LDR X22, [X22,#off_10F7A0@PAGEOFF]; off_114000 ; +0x68, 0x5dbc8 ADRP X2, #aSrcFmodGeometr@PAGE; "../../src/fmod_geometryi.cpp" ; +0x6c, 0x5dbcc LSL W1, W20, #2 ; +0x70, 0x5dbd0 ADD X2, X2, #aSrcFmodGeometr@PAGEOFF; "../../src/fmod_geometryi.cpp" ; +0x74, 0x5dbd4 LDR X8, [X22]; unk_11F800 ; +0x78, 0x5dbd8 MOV W3, #0x1C1 ; +0x7c, 0x5dbdc MOV W6, #1 ; +0x80, 0x5dbe0 MOV W4, WZR ; +0x84, 0x5dbe4 LDR X0, [X8,#(qword_11F9B0 - 0x11F800)] ; +0x88, 0x5dbe8 BL sub_5F290 ; +0x8c, 0x5dbec STR X0, [X19,#0x30] ; +0x90, 0x5dbf0 CBZ X0, loc_5DC98 ; +0x94, 0x5dbf4 STR WZR, [X19,#0x38] ; +0x98, 0x5dbf8 LDR X8, [X22]; unk_11F800 ; +0x9c, 0x5dbfc MOV W9, #0xBC ; +0xa0, 0x5dc00 ADRL X2, aSrcFmodGeometr; "../../src/fmod_geometryi.cpp" ; +0xa4, 0x5dc04 LDR X0, [X8,#(qword_11F9B0 - 0x11F800)] ; +0xac, 0x5dc0c MUL W8, W21, W9 ; +0xb0, 0x5dc10 MOV W9, #0xC ; +0xb4, 0x5dc14 MADD W1, W20, W9, W8 ; +0xb8, 0x5dc18 MOV W3, #0x1CA ; +0xbc, 0x5dc1c MOV W6, #1 ; +0xc0, 0x5dc20 MOV W4, WZR ; +0xc4, 0x5dc24 BL sub_5F290 ; +0xc8, 0x5dc28 STR X0, [X19,#0x40] ; +0xcc, 0x5dc2c CBZ X0, loc_5DC98 ; +0xd0, 0x5dc30 LDR X0, [X19,#0x18] ; +0xd4, 0x5dc34 BL sub_5D358 ; +0xd8, 0x5dc38 MOV W20, W0 ; +0xdc, 0x5dc3c CBNZ W0, loc_5DBA4 ; +0xe0, 0x5dc40 LDR X8, [X22]; unk_11F800 ; +0xe4, 0x5dc44 BL sub_5F220 ; +0xe8, 0x5dc48 MOV W1, #0xA8 ; +0xec, 0x5dc4c LDR X0, [X8,#0x1B0] ; +0xf0, 0x5dc50 MOV W3, #0x1D6 ; +0xf4, 0x5dc54 MOV W6, #1 ; +0xf8, 0x5dc58 MOV W4, WZR ; +0xfc, 0x5dc5c BL sub_5F290 ; +0x100, 0x5dc60 STR X0, [X19,#0x108] ; +0x104, 0x5dc64 CBZ X0, loc_5DC98 ; +0x108, 0x5dc68 MOV W2, #0xA8; n ; +0x10c, 0x5dc6c MOV W1, WZR; c ; +0x110, 0x5dc70 BL .memset ; +0x114, 0x5dc74 LDR X8, [X19,#0x108] ; +0x118, 0x5dc78 STR X19, [X8,#0xA0] ; +0x11c, 0x5dc7c LDR X9, [X19,#0x18] ; +0x120, 0x5dc80 ADD X1, X8, #0x50 ; 'P' ; +0x124, 0x5dc84 LDR X0, [X9,#0x1A0] ; +0x128, 0x5dc88 BL sub_61098 ; +0x12c, 0x5dc8c MOV W20, WZR ; +0x130, 0x5dc90 B loc_5DBA4 ; +0x134, 0x5dc94 MOV W20, #0x26 ; '&' ; +0x138, 0x5dc98 B loc_5DBA4 ; +0x13c, 0x5dc9c