; ; sub_595BC from 0x595bc to 0x596c0 (260 bytes) ; ; 2 xrefs: ; > sub_59FEC @ 0x5a0e8 ; > sub_5A364 @ 0x5a41c ; ; 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 D8, [SP,#var_30]! ; +0x0, 0x595bc STP X20, X19, [SP,#0x30+var_20] ; +0x4, 0x595c0 STP X29, X30, [SP,#0x30+var_10] ; +0x8, 0x595c4 BL sub_5C6DC ; +0xc, 0x595c8 CBZ X8, loc_595EC ; +0x10, 0x595cc BL sub_5C688 ; +0x14, 0x595d0 CBZ X9, loc_595EC ; +0x18, 0x595d4 LDR X9, [X8,#0x28] ; +0x1c, 0x595d8 CBZ X9, loc_595F4 ; +0x20, 0x595dc LDR S0, [X9,#0x6C] ; +0x24, 0x595e0 LDP W8, W20, [X9,#0x70] ; +0x28, 0x595e4 B loc_59610 ; +0x2c, 0x595e8 MOV W0, #0x1E ; +0x30, 0x595ec B loc_596B0 ; +0x34, 0x595f0 LDR X8, [X8,#0x30] ; +0x38, 0x595f4 CBZ X8, loc_59688 ; +0x3c, 0x595f8 LDR X8, [X19,#8] ; +0x40, 0x595fc MOV W20, WZR ; +0x44, 0x59600 LDR S0, [X8,#0x6D0] ; +0x48, 0x59604 MOV W8, #0x80 ; +0x4c, 0x59608 SCVTF S0, S0 ; +0x50, 0x5960c MOVI V1.2D, #0 ; +0x54, 0x59610 MOV X0, X19 ; +0x58, 0x59614 STR W8, [X19,#0x1E0] ; +0x5c, 0x59618 STP Q1, Q1, [X19,#0xC0] ; +0x60, 0x5961c BL sub_596C0 ; +0x64, 0x59620 LDR X8, [X19] ; +0x68, 0x59624 FMOV S8, #1.0 ; +0x6c, 0x59628 MOV X0, X19 ; +0x70, 0x5962c MOV V0.16B, V8.16B ; +0x74, 0x59630 LDR X8, [X8,#0x20] ; +0x78, 0x59634 MOV W1, WZR ; +0x7c, 0x59638 BLR X8 ; +0x80, 0x5963c LDR X8, [X19] ; +0x84, 0x59640 MOV X0, X19 ; +0x88, 0x59644 MOV V0.16B, V8.16B ; +0x8c, 0x59648 LDR X8, [X8,#0x48] ; +0x90, 0x5964c BLR X8 ; +0x94, 0x59650 LDR X8, [X19] ; +0x98, 0x59654 ADD X2, SP, #0x30+var_28 ; +0x9c, 0x59658 MOV W1, #0xFFFFFFFF ; +0xa0, 0x5965c MOV X0, X19 ; +0xa4, 0x59660 BL sub_5C50C ; +0xa8, 0x59664 CBNZ W0, loc_596B0 ; +0xac, 0x59668 CMP W20, #3 ; +0xb0, 0x5966c B.EQ loc_59690 ; +0xb4, 0x59670 CMP W20, #4 ; +0xb8, 0x59674 B.NE loc_5969C ; +0xbc, 0x59678 MOV W2, #2 ; +0xc0, 0x5967c MOV W3, #3 ; +0xc4, 0x59680 B loc_596A4 ; +0xc8, 0x59684 MOV W0, #0x1C ; +0xcc, 0x59688 B loc_596B0 ; +0xd0, 0x5968c MOV W2, #1 ; +0xd4, 0x59690 MOV W3, #2 ; +0xd8, 0x59694 B loc_596A4 ; +0xdc, 0x59698 MOV W3, WZR ; +0xe0, 0x5969c MOV W2, WZR ; +0xe4, 0x596a0 LDR X0, [SP,#0x30+var_28] ; +0xe8, 0x596a4 MOV W1, WZR ; +0xec, 0x596a8 BL sub_C7E34 ; +0xf0, 0x596ac LDP X29, X30, [SP,#0x30+var_10] ; +0xf4, 0x596b0 LDP X20, X19, [SP,#0x30+var_20] ; +0xf8, 0x596b4 LDR D8, [SP+0x30+var_30],#0x30 ; +0xfc, 0x596b8 RET ; +0x100, 0x596bc