; ; sub_102864 from 0x102864 to 0x102adc (632 bytes) ; ; 1 xrefs: ; > @ 0x11a120 ; ; 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 ; MOV W8, #0x30000000 ; +0x0, 0x102864 CBZ W1, loc_102900 ; +0x4, 0x102868 AND X9, X0, #0xF ; +0x8, 0x10286c CBZ X9, loc_102900 ; +0xc, 0x102870 LDP W9, W10, [X3] ; +0x10, 0x102874 FMOV S0, W8 ; +0x14, 0x102878 SUB W1, W1, #1 ; +0x18, 0x10287c LSR W9, W9, #1 ; +0x1c, 0x102880 ADD W10, W10, W10,LSL#1 ; +0x20, 0x102884 UCVTF S1, W9 ; +0x24, 0x102888 LSL W9, W10, #1 ; +0x28, 0x10288c LSL X10, X9, #2 ; +0x2c, 0x102890 FMUL S0, S1, S0 ; +0x30, 0x102894 LDR D1, [X2,X10] ; +0x34, 0x102898 ADD W10, W9, #4 ; +0x38, 0x10289c LDR S2, [X2,W10,UXTW#2] ; +0x3c, 0x1028a0 ADD W10, W9, #5 ; +0x40, 0x1028a4 LDR S3, [X2,W10,UXTW#2] ; +0x44, 0x1028a8 ADD W10, W9, #0xA ; +0x48, 0x1028ac LDR S4, [X2,W10,UXTW#2] ; +0x4c, 0x1028b0 ADD W10, W9, #0xB ; +0x50, 0x1028b4 LDR S5, [X2,W10,UXTW#2] ; +0x54, 0x1028b8 ADD W10, W9, #6 ; +0x58, 0x1028bc LSL X10, X10, #2 ; +0x5c, 0x1028c0 LDR D6, [X2,X10] ; +0x60, 0x1028c4 ADD W10, W9, #2 ; +0x64, 0x1028c8 ADD W9, W9, #8 ; +0x68, 0x1028cc LSL X10, X10, #2 ; +0x6c, 0x1028d0 LSL X9, X9, #2 ; +0x70, 0x1028d4 LDR D7, [X2,X9] ; +0x74, 0x1028d8 LDR D16, [X2,X10] ; +0x78, 0x1028dc MOV X5, X30 ; +0x7c, 0x1028e0 BL sub_102D8C ; +0x80, 0x1028e4 MOV X30, X5 ; +0x84, 0x1028e8 LDR X9, [X4] ; +0x88, 0x1028ec LDR X10, [X3] ; +0x8c, 0x1028f0 ADD X9, X10, X9 ; +0x90, 0x1028f4 STR X9, [X3] ; +0x94, 0x1028f8 CBNZ W1, loc_10286C ; +0x98, 0x1028fc ASR W8, W1, #2 ; +0x9c, 0x102900 CBZ W8, loc_102A44 ; +0xa0, 0x102904 LDR X9, [X4] ; +0xa4, 0x102908 LD1R {V3.2D}, [X3] ; +0xa8, 0x10290c MOVI V1.2D, #0 ; +0xac, 0x102910 MOVI V0.4S, #0x30,LSL#24 ; '0' ; +0xb0, 0x102914 LSL X10, X9, #1 ; +0xb4, 0x102918 ADD X11, X9, X9,LSL#1 ; +0xb8, 0x10291c FMOV D4, X10 ; +0xbc, 0x102920 INS V1.D[1], X9 ; +0xc0, 0x102924 LSL X9, X9, #2 ; +0xc4, 0x102928 INS V4.D[1], X11 ; +0xc8, 0x10292c DUP V2.2D, X9 ; +0xcc, 0x102930 ADD V1.2D, V3.2D, V1.2D ; +0xd0, 0x102934 ADD V3.2D, V4.2D, V3.2D ; +0xd4, 0x102938 MOVI V4.2S, #6 ; +0xd8, 0x10293c CBZ W8, loc_102A40 ; +0xdc, 0x102940 EXT V6.16B, V1.16B, V1.16B, #8 ; +0xe0, 0x102944 ZIP2 V6.2S, V1.2S, V6.2S ; +0xe4, 0x102948 MUL V6.2S, V6.2S, V4.2S ; +0xe8, 0x10294c UMOV W9, V6.S[1] ; +0xec, 0x102950 FMOV W10, S6 ; +0xf0, 0x102954 UZP1 V5.4S, V1.4S, V3.4S ; +0xf4, 0x102958 ADD X10, X2, W10,UXTW#2 ; +0xf8, 0x10295c ADD X9, X2, W9,UXTW#2 ; +0xfc, 0x102960 EXT V7.16B, V3.16B, V3.16B, #8 ; +0x100, 0x102964 USHR V5.4S, V5.4S, #1 ; +0x104, 0x102968 LDP Q6, Q16, [X10] ; +0x108, 0x10296c LDR Q17, [X10,#0x20] ; +0x10c, 0x102970 LDP Q18, Q19, [X9] ; +0x110, 0x102974 ZIP2 V7.2S, V3.2S, V7.2S ; +0x114, 0x102978 UCVTF V5.4S, V5.4S ; +0x118, 0x10297c MUL V7.2S, V7.2S, V4.2S ; +0x11c, 0x102980 FMUL V5.4S, V5.4S, V0.4S ; +0x120, 0x102984 LDR Q20, [X9,#0x20] ; +0x124, 0x102988 UMOV W10, V7.S[1] ; +0x128, 0x10298c FMOV W9, S7 ; +0x12c, 0x102990 DUP V7.4S, V5.S[0] ; +0x130, 0x102994 DUP V21.4S, V5.S[1] ; +0x134, 0x102998 UZP1 V7.4S, V7.4S, V21.4S ; +0x138, 0x10299c EXT V21.16B, V16.16B, V17.16B, #8 ; +0x13c, 0x1029a0 INS V16.D[1], V18.D[0] ; +0x140, 0x1029a4 EXT V18.16B, V18.16B, V19.16B, #8 ; +0x144, 0x1029a8 EXT V19.16B, V19.16B, V17.16B, #8 ; +0x148, 0x1029ac EXT V17.16B, V17.16B, V19.16B, #8 ; +0x14c, 0x1029b0 FSUB V21.4S, V21.4S, V6.4S ; +0x150, 0x1029b4 FSUB V19.4S, V20.4S, V18.4S ; +0x154, 0x1029b8 FSUB V17.4S, V17.4S, V16.4S ; +0x158, 0x1029bc FMLA V6.4S, V21.4S, V5.S[0] ; +0x15c, 0x1029c0 FMLA V18.4S, V19.4S, V5.S[1] ; +0x160, 0x1029c4 FMLA V16.4S, V7.4S, V17.4S ; +0x164, 0x1029c8 ADD X9, X2, W9,UXTW#2 ; +0x168, 0x1029cc STP Q16, Q18, [X0,#0x10] ; +0x16c, 0x1029d0 STR Q6, [X0] ; +0x170, 0x1029d4 LDP Q6, Q7, [X9] ; +0x174, 0x1029d8 LDR Q16, [X9,#0x20] ; +0x178, 0x1029dc ADD X9, X2, W10,UXTW#2 ; +0x17c, 0x1029e0 DUP V17.4S, V5.S[2] ; +0x180, 0x1029e4 DUP V18.4S, V5.S[3] ; +0x184, 0x1029e8 UZP1 V17.4S, V17.4S, V18.4S ; +0x188, 0x1029ec LDP Q18, Q19, [X9] ; +0x18c, 0x1029f0 LDR Q20, [X9,#0x20] ; +0x190, 0x1029f4 EXT V21.16B, V7.16B, V16.16B, #8 ; +0x194, 0x1029f8 SUB W8, W8, #1 ; +0x198, 0x1029fc INS V7.D[1], V18.D[0] ; +0x19c, 0x102a00 EXT V18.16B, V18.16B, V19.16B, #8 ; +0x1a0, 0x102a04 EXT V19.16B, V19.16B, V16.16B, #8 ; +0x1a4, 0x102a08 EXT V16.16B, V16.16B, V19.16B, #8 ; +0x1a8, 0x102a0c FSUB V19.4S, V21.4S, V6.4S ; +0x1ac, 0x102a10 FSUB V20.4S, V20.4S, V18.4S ; +0x1b0, 0x102a14 FSUB V16.4S, V16.4S, V7.4S ; +0x1b4, 0x102a18 FMLA V6.4S, V19.4S, V5.S[2] ; +0x1b8, 0x102a1c FMLA V18.4S, V20.4S, V5.S[3] ; +0x1bc, 0x102a20 FMLA V7.4S, V17.4S, V16.4S ; +0x1c0, 0x102a24 ADD V1.2D, V1.2D, V2.2D ; +0x1c4, 0x102a28 ADD V3.2D, V3.2D, V2.2D ; +0x1c8, 0x102a2c STP Q7, Q18, [X0,#0x40] ; +0x1cc, 0x102a30 STR Q6, [X0,#0x30] ; +0x1d0, 0x102a34 ADD X0, X0, #0x60 ; '`' ; +0x1d4, 0x102a38 CBNZ W8, loc_102944 ; +0x1d8, 0x102a3c STR D1, [X3] ; +0x1dc, 0x102a40 AND W8, W1, #3 ; +0x1e0, 0x102a44 MOV W9, #0x30000000 ; +0x1e4, 0x102a48 CBZ W8, locret_102AD8 ; +0x1e8, 0x102a4c LDP W10, W11, [X3] ; +0x1ec, 0x102a50 FMOV S0, W9 ; +0x1f0, 0x102a54 SUB W8, W8, #1 ; +0x1f4, 0x102a58 LSR W10, W10, #1 ; +0x1f8, 0x102a5c ADD W11, W11, W11,LSL#1 ; +0x1fc, 0x102a60 UCVTF S1, W10 ; +0x200, 0x102a64 LSL W10, W11, #1 ; +0x204, 0x102a68 LSL X11, X10, #2 ; +0x208, 0x102a6c FMUL S0, S1, S0 ; +0x20c, 0x102a70 LDR D1, [X2,X11] ; +0x210, 0x102a74 ADD W11, W10, #4 ; +0x214, 0x102a78 LDR S2, [X2,W11,UXTW#2] ; +0x218, 0x102a7c ADD W11, W10, #5 ; +0x21c, 0x102a80 LDR S3, [X2,W11,UXTW#2] ; +0x220, 0x102a84 ADD W11, W10, #0xA ; +0x224, 0x102a88 LDR S4, [X2,W11,UXTW#2] ; +0x228, 0x102a8c ADD W11, W10, #0xB ; +0x22c, 0x102a90 LDR S5, [X2,W11,UXTW#2] ; +0x230, 0x102a94 ADD W11, W10, #6 ; +0x234, 0x102a98 LSL X11, X11, #2 ; +0x238, 0x102a9c LDR D6, [X2,X11] ; +0x23c, 0x102aa0 ADD W11, W10, #2 ; +0x240, 0x102aa4 ADD W10, W10, #8 ; +0x244, 0x102aa8 LSL X11, X11, #2 ; +0x248, 0x102aac LSL X10, X10, #2 ; +0x24c, 0x102ab0 LDR D7, [X2,X10] ; +0x250, 0x102ab4 LDR D16, [X2,X11] ; +0x254, 0x102ab8 MOV X1, X30 ; +0x258, 0x102abc BL sub_102D8C ; +0x25c, 0x102ac0 MOV X30, X1 ; +0x260, 0x102ac4 MOV X1, X30 ; +0x264, 0x102ac8 BL sub_102E10 ; +0x268, 0x102acc MOV X30, X1 ; +0x26c, 0x102ad0 CBNZ W8, loc_102A50 ; +0x270, 0x102ad4 RET ; +0x274, 0x102ad8