; ; sub_5A364 from 0x5a364 to 0x5a494 (304 bytes) ; ; 4 xrefs: ; > sub_59AE8 @ 0x59c50 ; > sub_6E374 @ 0x6e3f8 ; > sub_7C19C @ 0x7c490 ; > sub_7C19C @ 0x7c650 ; ; 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, #0x50 ; +0x0, 0x5a364 STP X22, X21, [SP,#0x40+var_20] ; +0x4, 0x5a368 STP X20, X19, [SP,#0x40+var_10] ; +0x8, 0x5a36c STP X29, X30, [SP,#0x40+var_s0] ; +0xc, 0x5a370 LDR X8, [X0,#0x1D8] ; +0x10, 0x5a374 STR X23, [SP,#0x40+var_30] ; +0x14, 0x5a378 ADD X29, SP, #0x40 ; +0x18, 0x5a37c CBZ X8, loc_5A3B0 ; +0x1c, 0x5a380 MOV W22, W5 ; +0x20, 0x5a384 MOV W21, W4 ; +0x24, 0x5a388 MOV W20, W3 ; +0x28, 0x5a38c MOV X19, X0 ; +0x2c, 0x5a390 MOV X23, X1 ; +0x30, 0x5a394 CBNZ X2, loc_5A3BC ; +0x34, 0x5a398 LDRB W8, [X8,#0x3E] ; +0x38, 0x5a39c TBNZ W8, #0, loc_5A3B8 ; +0x3c, 0x5a3a0 BL sub_5C678 ; +0x40, 0x5a3a4 LDR X2, [X8,X9] ; +0x44, 0x5a3a8 B loc_5A3BC ; +0x48, 0x5a3ac MOV W0, #0x1E ; +0x4c, 0x5a3b0 B loc_5A3E8 ; +0x50, 0x5a3b4 MOV X2, XZR ; +0x54, 0x5a3b8 MOV X0, X19 ; +0x58, 0x5a3bc MOV X1, X2 ; +0x5c, 0x5a3c0 BL sub_5C618 ; +0x60, 0x5a3c4 CBNZ W0, loc_5A3E8 ; +0x64, 0x5a3c8 AND W2, W21, #1 ; +0x68, 0x5a3cc MOV X0, X19 ; +0x6c, 0x5a3d0 MOV X1, X23 ; +0x70, 0x5a3d4 BL sub_5AF44 ; +0x74, 0x5a3d8 CBNZ W0, loc_5A3E8 ; +0x78, 0x5a3dc BL sub_5C54C ; +0x7c, 0x5a3e0 CBZ W0, loc_5A3FC ; +0x80, 0x5a3e4 LDP X29, X30, [SP,#0x40+var_s0] ; +0x84, 0x5a3e8 LDP X20, X19, [SP,#0x40+var_10] ; +0x88, 0x5a3ec LDP X22, X21, [SP,#0x40+var_20] ; +0x8c, 0x5a3f0 LDR X23, [SP,#0x40+var_30] ; +0x90, 0x5a3f4 B loc_5C6BC ; +0x94, 0x5a3f8 TST W22, #1 ; +0x98, 0x5a3fc FMOV S0, #1.0 ; +0x9c, 0x5a400 FMOV S1, WZR ; +0xa0, 0x5a404 FCSEL S0, S1, S0, NE ; +0xa4, 0x5a408 STR S0, [X19,#0x218] ; +0xa8, 0x5a40c STR S0, [X19,#0x21C] ; +0xac, 0x5a410 TBZ W21, #0, loc_5A438 ; +0xb0, 0x5a414 MOV X0, X19 ; +0xb4, 0x5a418 BL sub_595BC ; +0xb8, 0x5a41c CBNZ W0, loc_5A3E8 ; +0xbc, 0x5a420 MOV W2, #2 ; +0xc0, 0x5a424 MOV X0, X19 ; +0xc4, 0x5a428 MOV W1, WZR ; +0xc8, 0x5a42c BL sub_5A918 ; +0xcc, 0x5a430 CBNZ W0, loc_5A3E8 ; +0xd0, 0x5a434 MOV X0, X19 ; +0xd4, 0x5a438 BL sub_5AF2C ; +0xd8, 0x5a43c CBNZ W0, loc_5A3E8 ; +0xdc, 0x5a440 TBZ W21, #0, loc_5A480 ; +0xe0, 0x5a444 STR WZR, [SP,#0x40+var_24] ; +0xe4, 0x5a448 LDR X8, [X19] ; +0xe8, 0x5a44c ADD X1, SP, #0x40+var_24 ; +0xec, 0x5a450 BL sub_5C658 ; +0xf0, 0x5a454 LDRB W8, [SP,#0x40+var_24] ; +0xf4, 0x5a458 TBZ W8, #4, loc_5A480 ; +0xf8, 0x5a45c STR WZR, [SP,#0x40+var_38] ; +0xfc, 0x5a460 STR XZR, [SP,#0x40+var_40] ; +0x100, 0x5a464 LDP X8, X9, [X19] ; +0x104, 0x5a468 MOV W10, #0x10A70 ; +0x108, 0x5a46c MOV X2, SP ; +0x110, 0x5a474 BL sub_5C694 ; +0x114, 0x5a478 CBNZ W0, loc_5A3E8 ; +0x118, 0x5a47c TBNZ W20, #0, loc_5A48C ; +0x11c, 0x5a480 BL sub_5C624 ; +0x120, 0x5a484 CBNZ W0, loc_5A3E8 ; +0x124, 0x5a488 MOV W0, WZR ; +0x128, 0x5a48c B loc_5A3E8 ; +0x12c, 0x5a490