; ; sub_5999C from 0x5999c to 0x59ae8 (332 bytes) ; ; 2 xrefs: ; > sub_597E0 @ 0x59828 ; > sub_5C1A8 @ 0x5c1ac ; ; 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 ; CBZ X1, loc_599D4 ; +0x0, 0x5999c LDR X8, [X0,#0x1D8] ; +0x4, 0x599a0 CBZ X8, loc_599D0 ; +0x8, 0x599a4 LDR X9, [X0,#0x20] ; +0xc, 0x599a8 CBZ X9, loc_599D0 ; +0x10, 0x599ac LDR W10, [X0,#0x48] ; +0x14, 0x599b0 MOV W11, #0x800002 ; +0x18, 0x599b4 TST W10, W11 ; +0x20, 0x599bc B.EQ loc_599D8 ; +0x24, 0x599c0 MOV W0, WZR ; +0x28, 0x599c4 STR WZR, [X1] ; +0x2c, 0x599c8 RET ; +0x30, 0x599cc B loc_5C4EC ; +0x34, 0x599d0 B loc_5C4E4 ; +0x38, 0x599d4 LDRB W10, [X8,#0x38] ; +0x3c, 0x599d8 TBNZ W10, #4, loc_599F0 ; +0x40, 0x599dc LDR S0, [X9,#0x1EC] ; +0x44, 0x599e0 TBZ W2, #0, loc_59A5C ; +0x48, 0x599e4 LDR S1, [X0,#0x218] ; +0x4c, 0x599e8 B loc_59A60 ; +0x50, 0x599ec LDR S0, [X0,#0xF0] ; +0x54, 0x599f0 FMOV S1, #1.0 ; +0x58, 0x599f4 FCMP S0, S1 ; +0x5c, 0x599f8 B.GE loc_59A68 ; +0x60, 0x599fc LDR S5, [X0,#0xC0] ; +0x64, 0x59a00 LDR S3, [X0,#0x78] ; +0x68, 0x59a04 LDR S6, [X0,#0xD0] ; +0x6c, 0x59a08 FMOV S1, #1.0 ; +0x70, 0x59a0c LDR S4, [X0,#0xA4] ; +0x74, 0x59a10 FSUB S2, S1, S0 ; +0x78, 0x59a14 FSUB S5, S1, S5 ; +0x7c, 0x59a18 FMADD S3, S3, S0, S2 ; +0x80, 0x59a1c FSUB S6, S1, S6 ; +0x84, 0x59a20 FMADD S5, S5, S0, S2 ; +0x88, 0x59a24 FMUL S3, S3, S5 ; +0x8c, 0x59a28 FMADD S5, S6, S0, S2 ; +0x90, 0x59a2c FMADD S4, S4, S0, S2 ; +0x94, 0x59a30 FMUL S3, S3, S5 ; +0x98, 0x59a34 FMUL S3, S4, S3 ; +0x9c, 0x59a38 TBZ W2, #0, loc_59A44 ; +0xa0, 0x59a3c LDR S1, [X0,#0x218] ; +0xa4, 0x59a40 LDR S4, [X9,#0x1F0] ; +0xa8, 0x59a44 LDR S5, [X9,#0x1EC] ; +0xac, 0x59a48 FMUL S1, S3, S1 ; +0xb0, 0x59a4c FMADD S0, S4, S0, S2 ; +0xb4, 0x59a50 FMUL S0, S5, S0 ; +0xb8, 0x59a54 B loc_59A60 ; +0xbc, 0x59a58 FMOV S1, #1.0 ; +0xc0, 0x59a5c FMUL S0, S1, S0 ; +0xc4, 0x59a60 B loc_59AA0 ; +0xc8, 0x59a64 LDR S0, [X0,#0x78] ; +0xcc, 0x59a68 LDR S2, [X0,#0xA4] ; +0xd0, 0x59a6c LDR S3, [X0,#0xC0] ; +0xd4, 0x59a70 LDR S4, [X0,#0xD0] ; +0xd8, 0x59a74 FMUL S0, S2, S0 ; +0xdc, 0x59a78 FMSUB S0, S3, S0, S0 ; +0xe0, 0x59a7c FMSUB S0, S4, S0, S0 ; +0xe4, 0x59a80 TBZ W2, #0, loc_59A8C ; +0xe8, 0x59a84 LDR S1, [X0,#0x218] ; +0xec, 0x59a88 LDR S2, [X9,#0x1F0] ; +0xf0, 0x59a8c LDR S3, [X9,#0x1EC] ; +0xf4, 0x59a90 FMUL S0, S0, S1 ; +0xf8, 0x59a94 FMUL S1, S2, S3 ; +0xfc, 0x59a98 FMUL S0, S0, S1 ; +0x100, 0x59a9c STR S0, [X1] ; +0x104, 0x59aa0 LDR S1, [X0,#0x58] ; +0x108, 0x59aa4 FMUL S0, S0, S1 ; +0x10c, 0x59aa8 STR S0, [X1] ; +0x110, 0x59aac LDR S1, [X0,#0x5C] ; +0x114, 0x59ab0 FADD S0, S1, S0 ; +0x118, 0x59ab4 STR S0, [X1] ; +0x11c, 0x59ab8 LDR X8, [X8,#0x28] ; +0x120, 0x59abc CBZ X8, loc_59AD8 ; +0x124, 0x59ac0 LDR S1, [X8,#0x13C] ; +0x128, 0x59ac4 FCMP S1, #0.0 ; +0x12c, 0x59ac8 B.EQ loc_59AD8 ; +0x130, 0x59acc FMUL S0, S1, S0 ; +0x134, 0x59ad0 STR S0, [X1] ; +0x138, 0x59ad4 MOV W0, WZR ; +0x13c, 0x59ad8 FABS S0, S0 ; +0x140, 0x59adc STR S0, [X1] ; +0x144, 0x59ae0 RET ; +0x148, 0x59ae4