; ; sub_5AC04 from 0x5ac04 to 0x5ad18 (276 bytes) ; ; 3 xrefs: ; > sub_5BE98 @ 0x5beb4 ; > sub_5C618 @ 0x5c620 ; > sub_6C64C @ 0x6ccc4 ; ; 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 X19, [SP,#-0x10+var_10]! ; +0x0, 0x5ac04 STP X29, X30, [SP,#0x10+var_s0] ; +0x4, 0x5ac08 LDR X8, [X0,#0x20] ; +0x8, 0x5ac0c MOV X19, X0 ; +0xc, 0x5ac10 MOV X9, X1 ; +0x10, 0x5ac14 ADD X29, SP, #0x10 ; +0x14, 0x5ac18 CBZ X8, loc_5AC64 ; +0x18, 0x5ac1c LDR X11, [X19,#0x200] ; +0x1c, 0x5ac20 ADD X10, X19, #0x200 ; +0x20, 0x5ac24 CMP X11, X10 ; +0x24, 0x5ac28 B.EQ loc_5AC38 ; +0x28, 0x5ac2c LDR X12, [X19,#0x208] ; +0x2c, 0x5ac30 B loc_5AC44 ; +0x30, 0x5ac34 LDR X12, [X19,#0x208] ; +0x34, 0x5ac38 CMP X12, X10 ; +0x38, 0x5ac3c B.EQ loc_5AD08 ; +0x3c, 0x5ac40 LDR W13, [X8,#0x1DC] ; +0x40, 0x5ac44 SUB W13, W13, #1 ; +0x44, 0x5ac48 STR W13, [X8,#0x1DC] ; +0x48, 0x5ac4c STR X11, [X12] ; +0x4c, 0x5ac50 LDR X11, [X19,#0x200] ; +0x50, 0x5ac54 STR X12, [X11,#8] ; +0x54, 0x5ac58 STR X10, [X19,#0x208] ; +0x58, 0x5ac5c STR X10, [X19,#0x200] ; +0x5c, 0x5ac60 STR X9, [X19,#0x20] ; +0x60, 0x5ac64 STR X19, [X19,#0x210] ; +0x64, 0x5ac68 CBZ X9, loc_5AD08 ; +0x68, 0x5ac6c LDR X10, [X9,#0x1A8] ; +0x6c, 0x5ac70 ADD X11, X19, #0x200 ; +0x70, 0x5ac74 ADD X12, X9, #0x1A8 ; +0x74, 0x5ac78 STR X12, [X19,#0x208] ; +0x78, 0x5ac7c STR X10, [X19,#0x200] ; +0x7c, 0x5ac80 STR X11, [X10,#8] ; +0x80, 0x5ac84 LDR X10, [X19,#0x208] ; +0x84, 0x5ac88 STR X11, [X10] ; +0x88, 0x5ac8c LDR W10, [X9,#0x1DC] ; +0x8c, 0x5ac90 MOV W11, #0x1E ; +0x90, 0x5ac94 ADD W10, W10, #1 ; +0x94, 0x5ac98 STR W10, [X9,#0x1DC] ; +0x98, 0x5ac9c LDR X10, [X19,#0x1D8] ; +0x9c, 0x5aca0 CMP X10, #0 ; +0xa0, 0x5aca4 CSEL W0, W11, WZR, EQ ; +0xa4, 0x5aca8 CBZ X10, loc_5AD0C ; +0xa8, 0x5acac TBZ W2, #0, loc_5AD0C ; +0xac, 0x5acb0 AND W3, W3, #1 ; +0xb0, 0x5acb4 MOV X0, X19 ; +0xb4, 0x5acb8 MOV X1, X8 ; +0xb8, 0x5acbc MOV X2, X9 ; +0xbc, 0x5acc0 BL sub_5BDF0 ; +0xc0, 0x5acc4 CBNZ W0, loc_5AD0C ; +0xc4, 0x5acc8 BL sub_5C5DC ; +0xc8, 0x5accc CBNZ W0, loc_5AD0C ; +0xcc, 0x5acd0 LDR X8, [X19] ; +0xd0, 0x5acd4 LDR W9, [X19,#0x48] ; +0xd4, 0x5acd8 MOV X0, X19 ; +0xd8, 0x5acdc LDR X8, [X8,#0x10] ; +0xdc, 0x5ace0 AND W1, W9, #1 ; +0xe0, 0x5ace4 BLR X8 ; +0xe4, 0x5ace8 CBNZ W0, loc_5AD0C ; +0xe8, 0x5acec BL sub_5C5F4 ; +0xec, 0x5acf0 LDR X8, [X19,#0x1D8] ; +0xf0, 0x5acf4 LDRB W8, [X8,#0x38] ; +0xf4, 0x5acf8 TBNZ W8, #4, loc_5AD04 ; +0xf8, 0x5acfc BL sub_5C514 ; +0xfc, 0x5ad00 BL sub_5C728 ; +0x100, 0x5ad04 MOV W0, WZR ; +0x104, 0x5ad08 LDP X29, X30, [SP,#0x10+var_s0] ; +0x108, 0x5ad0c LDR X19, [SP+0x10+var_10],#0x20 ; +0x10c, 0x5ad10 RET ; +0x110, 0x5ad14