; ; sub_5A244 from 0x5a244 to 0x5a364 (288 bytes) ; ; 3 xrefs: ; > sub_59AE8 @ 0x59c5c ; > sub_7C19C @ 0x7c4ac ; > sub_7C19C @ 0x7c65c ; ; 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, 0x5a244 STP X20, X19, [SP,#0x20+var_10] ; +0x4, 0x5a248 STP X29, X30, [SP,#0x20+var_s0] ; +0x8, 0x5a24c LDR X8, [X0] ; +0xc, 0x5a250 MOV X19, X1 ; +0x10, 0x5a254 LDR W1, [X1] ; +0x14, 0x5a258 ADD X29, SP, #0x20 ; +0x18, 0x5a25c LDR X8, [X8,#0x90] ; +0x1c, 0x5a260 MOV X20, X0 ; +0x20, 0x5a264 BLR X8 ; +0x24, 0x5a268 LDR S0, [X20,#0x22C] ; +0x28, 0x5a26c MOV X0, X20 ; +0x2c, 0x5a270 BL sub_596C0 ; +0x30, 0x5a274 LDR X8, [X20] ; +0x34, 0x5a278 LDR S0, [X20,#0x34] ; +0x38, 0x5a27c MOV X0, X20 ; +0x3c, 0x5a280 LDR X8, [X8,#0x48] ; +0x40, 0x5a284 BLR X8 ; +0x44, 0x5a288 LDP W1, W3, [X19,#8] ; +0x48, 0x5a28c MOV W2, #2 ; +0x4c, 0x5a290 MOV W4, #2 ; +0x50, 0x5a294 MOV X0, X20 ; +0x54, 0x5a298 BL sub_5A76C ; +0x58, 0x5a29c LDR W1, [X19,#0x18] ; +0x5c, 0x5a2a0 MOV X0, X20 ; +0x60, 0x5a2a4 BL sub_5A8E8 ; +0x64, 0x5a2a8 LDR W1, [X19,#4] ; +0x68, 0x5a2ac MOV W2, #2 ; +0x6c, 0x5a2b0 MOV X0, X20 ; +0x70, 0x5a2b4 BL sub_5A918 ; +0x74, 0x5a2b8 LDR X8, [X20] ; +0x78, 0x5a2bc LDR S0, [X20,#0x30] ; +0x7c, 0x5a2c0 MOV X0, X20 ; +0x80, 0x5a2c4 MOV W1, WZR ; +0x84, 0x5a2c8 LDR X8, [X8,#0x20] ; +0x88, 0x5a2cc BLR X8 ; +0x8c, 0x5a2d0 MOV W21, WZR ; +0x90, 0x5a2d4 CMP W21, #4 ; +0x94, 0x5a2d8 B.EQ loc_5A2FC ; +0x98, 0x5a2dc LDR X8, [X20] ; +0x9c, 0x5a2e0 MOV X0, X20 ; +0xa0, 0x5a2e4 MOV W1, W21 ; +0xa4, 0x5a2e8 LDR X8, [X8,#0x78] ; +0xa8, 0x5a2ec BLR X8 ; +0xac, 0x5a2f0 ADD W21, W21, #1 ; +0xb0, 0x5a2f4 B loc_5A2D8 ; +0xb4, 0x5a2f8 LDR X8, [X20,#0x170] ; +0xb8, 0x5a2fc CBZ X8, loc_5A338 ; +0xbc, 0x5a300 LDR X8, [X20] ; +0xc0, 0x5a304 ADD X1, SP, #0x20+var_14 ; +0xc4, 0x5a308 MOV X0, X20 ; +0xc8, 0x5a30c LDR X8, [X8,#0x1F0] ; +0xcc, 0x5a310 BLR X8 ; +0xd0, 0x5a314 LDR X1, [X20,#0x50] ; +0xd4, 0x5a318 LDRB W4, [SP,#0x20+var_14] ; +0xd8, 0x5a31c MOV W3, #1 ; +0xdc, 0x5a320 MOV X0, X20 ; +0xe0, 0x5a324 MOV W2, WZR ; +0xe4, 0x5a328 MOV X5, XZR ; +0xe8, 0x5a32c BL sub_55C9C ; +0xec, 0x5a330 CBNZ W0, loc_5A35C ; +0xf0, 0x5a334 LDR X0, [X19,#0x10] ; +0xf4, 0x5a338 LDR X8, [X0] ; +0xf8, 0x5a33c LDR X8, [X8,#0xD0] ; +0xfc, 0x5a340 BLR X8 ; +0x100, 0x5a344 LDR X8, [X19,#0x10] ; +0x104, 0x5a348 MOV W0, WZR ; +0x108, 0x5a34c LDR W9, [X8,#0x3C] ; +0x10c, 0x5a350 AND W9, W9, #0xFFFF7FFF ; +0x110, 0x5a354 STR W9, [X8,#0x3C] ; +0x114, 0x5a358 LDP X29, X30, [SP,#0x20+var_s0] ; +0x118, 0x5a35c B loc_5C56C ; +0x11c, 0x5a360