; ; sub_5B95C from 0x5b95c to 0x5ba6c (272 bytes) ; ; 1 xrefs: ; > @ 0x10c6e0 ; ; 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 ; STP X28, X23, [SP,#-0x10+var_30]! ; +0x0, 0x5b95c STP X22, X21, [SP,#0x30+var_20] ; +0x4, 0x5b960 STP X20, X19, [SP,#0x30+var_10] ; +0x8, 0x5b964 STP X29, X30, [SP,#0x30+var_s0] ; +0xc, 0x5b968 ADD X29, SP, #0x30 ; +0x10, 0x5b96c SUB SP, SP, #1,LSL#12 ; +0x14, 0x5b970 LDR X8, [X0,#0x1D8] ; +0x18, 0x5b974 CBZ X8, loc_5B9D8 ; +0x1c, 0x5b978 BL sub_5C688 ; +0x20, 0x5b97c CBZ X9, loc_5B9D8 ; +0x24, 0x5b980 LDR X9, [X8,#0x28] ; +0x28, 0x5b984 MOV W22, W2 ; +0x2c, 0x5b988 MOV X20, X1 ; +0x30, 0x5b98c CBZ X9, loc_5B99C ; +0x34, 0x5b990 LDR W21, [X9,#0x68] ; +0x38, 0x5b994 B loc_5B9A8 ; +0x3c, 0x5b998 LDR X8, [X8,#0x30] ; +0x40, 0x5b99c CBZ X8, loc_5B9D8 ; +0x44, 0x5b9a0 LDRH W21, [X8,#0x118] ; +0x48, 0x5b9a4 CMP W22, #1 ; +0x4c, 0x5b9a8 B.LT loc_5B9F4 ; +0x50, 0x5b9ac MOV W8, W22 ; +0x54, 0x5b9b0 MOV X9, X20 ; +0x58, 0x5b9b4 CBZ X8, loc_5B9FC ; +0x5c, 0x5b9b8 LDR W10, [X9],#4 ; +0x60, 0x5b9bc SUB X8, X8, #1 ; +0x64, 0x5b9c0 MVN W10, W10 ; +0x68, 0x5b9c4 AND W10, W10, #0x7F800000 ; +0x6c, 0x5b9c8 CBNZ W10, loc_5B9B8 ; +0x70, 0x5b9cc MOV W0, #0x1D ; +0x74, 0x5b9d0 B loc_5B9DC ; +0x78, 0x5b9d4 MOV W0, #0x1E ; +0x7c, 0x5b9d8 ADD SP, SP, #1,LSL#12 ; +0x80, 0x5b9dc LDP X29, X30, [SP,#0x30+var_s0] ; +0x84, 0x5b9e0 LDP X20, X19, [SP,#0x30+var_10] ; +0x88, 0x5b9e4 LDP X22, X21, [SP,#0x30+var_20] ; +0x8c, 0x5b9e8 LDP X28, X23, [SP+0x30+var_30],#0x40 ; +0x90, 0x5b9ec RET ; +0x94, 0x5b9f0 MOV W0, #0x1F ; +0x98, 0x5b9f4 B loc_5B9DC ; +0x9c, 0x5b9f8 MOV X0, SP; s ; +0xa0, 0x5b9fc MOV W2, #0x1000; n ; +0xa4, 0x5ba00 MOV W1, WZR; c ; +0xa8, 0x5ba04 MOV X23, SP ; +0xac, 0x5ba08 BL .memset ; +0xb0, 0x5ba0c MOV X8, XZR ; +0xb4, 0x5ba10 SXTW X9, W21 ; +0xb8, 0x5ba14 SXTW X10, W22 ; +0xbc, 0x5ba18 FMOV S0, #1.0 ; +0xc0, 0x5ba1c CMP X8, X9 ; +0xc4, 0x5ba20 B.GE loc_5BA44 ; +0xc8, 0x5ba24 CMP X8, X10 ; +0xcc, 0x5ba28 MOV V1.16B, V0.16B ; +0xd0, 0x5ba2c B.GE loc_5BA38 ; +0xd4, 0x5ba30 LDR S1, [X20,X8,LSL#2] ; +0xd8, 0x5ba34 STR S1, [X23],#0x84 ; +0xdc, 0x5ba38 ADD X8, X8, #1 ; +0xe0, 0x5ba3c B loc_5BA20 ; +0xe4, 0x5ba40 LDR X8, [X19] ; +0xe8, 0x5ba44 MOV X1, SP ; +0xec, 0x5ba48 MOV W4, #0x20 ; ' ' ; +0xf0, 0x5ba4c MOV W5, #1 ; +0xf4, 0x5ba50 LDR X8, [X8,#0xC8] ; +0xf8, 0x5ba54 MOV X0, X19 ; +0xfc, 0x5ba58 MOV W2, W21 ; +0x100, 0x5ba5c MOV W3, W21 ; +0x104, 0x5ba60 BLR X8 ; +0x108, 0x5ba64 B loc_5B9DC ; +0x10c, 0x5ba68