; ; sub_585B0 from 0x585b0 to 0x58654 (164 bytes) ; ; 3 xrefs: ; > sub_581C4 @ 0x5834c ; > sub_584E4 @ 0x58540 ; > sub_585B0 @ 0x58600 ; ; 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, 0x585b0 STP X20, X19, [SP,#0x20+var_10] ; +0x4, 0x585b4 STP X29, X30, [SP,#0x20+var_s0] ; +0x8, 0x585b8 LDR W8, [X0,#0x48] ; +0xc, 0x585bc ADD X20, X0, #0x190 ; +0x10, 0x585c0 MOV X19, X0 ; +0x14, 0x585c4 MOV X21, X20 ; +0x18, 0x585c8 AND W9, W8, #1 ; +0x1c, 0x585cc ORR W9, W9, W1 ; +0x20, 0x585d0 AND W10, W8, #0xFFFFFFEF ; +0x24, 0x585d4 ORR W8, W8, #0x10 ; +0x28, 0x585d8 TST W9, #1 ; +0x2c, 0x585dc CSEL W8, W8, W10, NE ; +0x30, 0x585e0 ADD X29, SP, #0x20 ; +0x34, 0x585e4 STR W8, [X0,#0x48] ; +0x38, 0x585e8 BL sub_5937C ; +0x3c, 0x585ec B.EQ loc_58608 ; +0x40, 0x585f0 LDR W8, [X19,#0x48] ; +0x44, 0x585f4 LDR X0, [X21,#0x10] ; +0x48, 0x585f8 UBFX W1, W8, #4, #1 ; +0x4c, 0x585fc BL sub_585B0 ; +0x50, 0x58600 B loc_585EC ; +0x54, 0x58604 LDR X20, [X19,#0x1A8] ; +0x58, 0x58608 ADD X21, X19, #0x1A8 ; +0x5c, 0x5860c CMP X20, X21 ; +0x60, 0x58610 B.EQ loc_5864C ; +0x64, 0x58614 LDR X19, [X20,#0x10] ; +0x68, 0x58618 ADD X1, SP, #0x20+var_14 ; +0x6c, 0x5861c LDR X8, [X19] ; +0x70, 0x58620 MOV X0, X19 ; +0x74, 0x58624 LDR X8, [X8,#0x18] ; +0x78, 0x58628 BLR X8 ; +0x7c, 0x5862c LDR X8, [X19] ; +0x80, 0x58630 LDRB W1, [SP,#0x20+var_14] ; +0x84, 0x58634 MOV X0, X19 ; +0x88, 0x58638 LDR X8, [X8,#0x10] ; +0x8c, 0x5863c BLR X8 ; +0x90, 0x58640 LDR X20, [X20] ; +0x94, 0x58644 B loc_58610 ; +0x98, 0x58648 LDP X29, X30, [SP,#0x20+var_s0] ; +0x9c, 0x5864c B loc_59338 ; +0xa0, 0x58650