; ; sub_5D78C from 0x5d78c to 0x5d92c (416 bytes) ; ; 2 xrefs: ; > sub_5EFBC @ 0x5f078 ; > sub_5EFBC @ 0x5f080 ; ; 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 ; LDP S20, S0, [X0,#0xA0] ; +0x0, 0x5d78c LDP S3, S4, [X1] ; +0x4, 0x5d790 LDP S1, S2, [X0,#0xA8] ; +0x8, 0x5d794 LDP S5, S17, [X1,#8] ; +0xc, 0x5d798 LDP S16, S7, [X1,#0x10] ; +0x10, 0x5d79c FMUL S6, S3, S0 ; +0x14, 0x5d7a0 FMADD S6, S4, S1, S6 ; +0x18, 0x5d7a4 FMUL S18, S17, S0 ; +0x1c, 0x5d7a8 FMADD S19, S16, S1, S18 ; +0x20, 0x5d7ac FMADD S18, S5, S2, S6 ; +0x24, 0x5d7b0 FSUB S6, S18, S20 ; +0x28, 0x5d7b4 FMADD S19, S7, S2, S19 ; +0x2c, 0x5d7b8 FCMP S6, #0.0 ; +0x30, 0x5d7bc FSUB S20, S19, S20 ; +0x34, 0x5d7c0 B.LT loc_5D7D0 ; +0x38, 0x5d7c4 FCMP S20, #0.0 ; +0x3c, 0x5d7c8 B.GE loc_5D924 ; +0x40, 0x5d7cc FCMP S6, #0.0 ; +0x44, 0x5d7d0 B.GT loc_5D7E0 ; +0x48, 0x5d7d4 FCMP S20, #0.0 ; +0x4c, 0x5d7d8 B.LE loc_5D924 ; +0x50, 0x5d7dc LDR W9, [X0,#0xB8] ; +0x54, 0x5d7e0 FCMP S6, #0.0 ; +0x58, 0x5d7e4 B.LE loc_5D7F0 ; +0x5c, 0x5d7e8 TBZ W9, #0x10, loc_5D924 ; +0x60, 0x5d7ec FSUB S18, S18, S19 ; +0x64, 0x5d7f0 FSUB S17, S17, S3 ; +0x68, 0x5d7f4 FSUB S16, S16, S4 ; +0x6c, 0x5d7f8 FSUB S7, S7, S5 ; +0x70, 0x5d7fc FDIV S6, S6, S18 ; +0x74, 0x5d800 MOV X8, XZR ; +0x78, 0x5d804 ADD X10, X0, #0xBC ; +0x7c, 0x5d808 AND X9, X9, #0xFFFF ; +0x80, 0x5d80c ADD X11, X0, #0xC4 ; +0x84, 0x5d810 FMADD S3, S6, S17, S3 ; +0x88, 0x5d814 FMADD S4, S6, S16, S4 ; +0x8c, 0x5d818 FMADD S5, S6, S7, S5 ; +0x90, 0x5d81c MOV W12, #0xC ; +0x94, 0x5d820 MOV X13, X8 ; +0x98, 0x5d824 CMP X9, X8 ; +0x9c, 0x5d828 B.EQ loc_5D894 ; +0xa0, 0x5d82c ADD X8, X13, #1 ; +0xa4, 0x5d830 CMP X8, X9 ; +0xa8, 0x5d834 CSINC X14, XZR, X13, CS ; +0xac, 0x5d838 MADD X14, X14, X12, X10 ; +0xb0, 0x5d83c LDP S6, S7, [X11,#-8] ; +0xb4, 0x5d840 LDR S16, [X11],#0xC ; +0xb8, 0x5d844 LDP S17, S18, [X14] ; +0xbc, 0x5d848 LDR S19, [X14,#8] ; +0xc0, 0x5d84c FSUB S20, S3, S6 ; +0xc4, 0x5d850 FSUB S21, S4, S7 ; +0xc8, 0x5d854 FSUB S6, S17, S6 ; +0xcc, 0x5d858 FSUB S17, S19, S16 ; +0xd0, 0x5d85c FSUB S7, S18, S7 ; +0xd4, 0x5d860 FMUL S18, S1, S17 ; +0xd8, 0x5d864 FMUL S19, S2, S6 ; +0xdc, 0x5d868 FNMSUB S18, S2, S7, S18 ; +0xe0, 0x5d86c FMUL S7, S0, S7 ; +0xe4, 0x5d870 FNMSUB S17, S0, S17, S19 ; +0xe8, 0x5d874 FNMSUB S6, S1, S6, S7 ; +0xec, 0x5d878 FMUL S7, S18, S20 ; +0xf0, 0x5d87c FMADD S7, S17, S21, S7 ; +0xf4, 0x5d880 FSUB S16, S5, S16 ; +0xf8, 0x5d884 FMADD S6, S6, S16, S7 ; +0xfc, 0x5d888 FCMP S6, #0.0 ; +0x100, 0x5d88c B.LE loc_5D824 ; +0x104, 0x5d890 CMP W9, W13 ; +0x108, 0x5d894 B.NE loc_5D924 ; +0x10c, 0x5d898 LDR X8, [X1,#0x20] ; +0x110, 0x5d89c LDR S0, [X0,#0xB0] ; +0x114, 0x5d8a0 FMOV S2, #1.0 ; +0x118, 0x5d8a4 LDR X8, [X8,#0x18] ; +0x11c, 0x5d8a8 FSUB S0, S2, S0 ; +0x120, 0x5d8ac LDR X8, [X8] ; +0x124, 0x5d8b0 LDRB W8, [X8,#0x7A] ; +0x128, 0x5d8b4 TBNZ W8, #2, loc_5D8D8 ; +0x12c, 0x5d8b8 LDR S1, [X0,#0xB4] ; +0x130, 0x5d8bc LDR D3, [X1,#0x18] ; +0x134, 0x5d8c0 FSUB S1, S2, S1 ; +0x138, 0x5d8c4 INS V0.S[1], V1.S[0] ; +0x13c, 0x5d8c8 FMUL V1.2S, V3.2S, V0.2S ; +0x140, 0x5d8cc STR D1, [X1,#0x18] ; +0x144, 0x5d8d0 B loc_5D904 ; +0x148, 0x5d8d4 LDR S1, [X1,#0x18] ; +0x14c, 0x5d8d8 LDR S3, [X0,#0xB4] ; +0x150, 0x5d8dc FCMP S0, S1 ; +0x154, 0x5d8e0 FSUB S2, S2, S3 ; +0x158, 0x5d8e4 B.LT loc_5D8FC ; +0x15c, 0x5d8e8 B.NE loc_5D904 ; +0x160, 0x5d8ec LDR S3, [X1,#0x1C] ; +0x164, 0x5d8f0 FCMP S2, S3 ; +0x168, 0x5d8f4 B.GE loc_5D904 ; +0x16c, 0x5d8f8 STP S0, S2, [X1,#0x18] ; +0x170, 0x5d8fc MOV V1.16B, V0.16B ; +0x174, 0x5d900 ADRP X8, #dword_2F02C@PAGE ; +0x178, 0x5d904 LDR S0, [X8,#dword_2F02C@PAGEOFF] ; +0x17c, 0x5d908 FCMP S1, S0 ; +0x180, 0x5d90c B.GE loc_5D924 ; +0x184, 0x5d910 LDR S1, [X1,#0x1C] ; +0x188, 0x5d914 FCMP S1, S0 ; +0x18c, 0x5d918 B.GE loc_5D924 ; +0x190, 0x5d91c B loc_5F2D4 ; +0x194, 0x5d920 MOV W0, #1 ; +0x198, 0x5d924 RET ; +0x19c, 0x5d928