; ; sub_101EF4 from 0x101ef4 to 0x1022d4 (992 bytes) ; ; 1 xrefs: ; > @ 0x11a0f8 ; ; 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, 0x101ef4 MOVI V0.4S, #0x38,LSL#24 ; '8' ; +0x4, 0x101ef8 MOV W9, #0x38000000 ; +0x8, 0x101efc MOV W10, #0xB8000000 ; +0xc, 0x101f00 CBZ W1, loc_10200C ; +0x10, 0x101f04 AND X11, X0, #0xF ; +0x14, 0x101f08 CBZ X11, loc_10200C ; +0x18, 0x101f0c LDP W14, W11, [X3] ; +0x1c, 0x101f10 FMOV S3, W8 ; +0x20, 0x101f14 FMOV S1, W9 ; +0x24, 0x101f18 FMOV S4, W10 ; +0x28, 0x101f1c ADD W11, W11, W11,LSL#1 ; +0x2c, 0x101f20 LSL W11, W11, #1 ; +0x30, 0x101f24 ADD X12, X2, W11,UXTW#1 ; +0x34, 0x101f28 LDRH W13, [X12] ; +0x38, 0x101f2c LSR W14, W14, #1 ; +0x3c, 0x101f30 UCVTF S2, W14 ; +0x40, 0x101f34 ADD W14, W11, #0xA ; +0x44, 0x101f38 FMOV S5, W13 ; +0x48, 0x101f3c ADD W13, W11, #5 ; +0x4c, 0x101f40 LDRSH W13, [X2,W13,UXTW#1] ; +0x50, 0x101f44 LDRSH W14, [X2,W14,UXTW#1] ; +0x54, 0x101f48 LDRH W12, [X12,#2] ; +0x58, 0x101f4c FMUL S2, S2, S3 ; +0x5c, 0x101f50 SCVTF S7, W13 ; +0x60, 0x101f54 ADD W13, W11, #0xB ; +0x64, 0x101f58 LDRSH W13, [X2,W13,UXTW#1] ; +0x68, 0x101f5c SCVTF S16, W14 ; +0x6c, 0x101f60 ADD W14, W11, #6 ; +0x70, 0x101f64 ADD X14, X2, W14,UXTW#1 ; +0x74, 0x101f68 SCVTF S17, W13 ; +0x78, 0x101f6c LDRH W13, [X14] ; +0x7c, 0x101f70 LDRH W14, [X14,#2] ; +0x80, 0x101f74 INS V5.S[1], W12 ; +0x84, 0x101f78 ADD W12, W11, #2 ; +0x88, 0x101f7c FMOV S3, W13 ; +0x8c, 0x101f80 INS V3.S[1], W14 ; +0x90, 0x101f84 UMOV W14, V5.S[1] ; +0x94, 0x101f88 ADD W15, W11, #4 ; +0x98, 0x101f8c INS V5.H[1], W14 ; +0x9c, 0x101f90 ADD X12, X2, W12,UXTW#1 ; +0xa0, 0x101f94 LDRSH W15, [X2,W15,UXTW#1] ; +0xa4, 0x101f98 ADD W14, W11, #8 ; +0xa8, 0x101f9c LD1 {V5.H}[2], [X12] ; +0xac, 0x101fa0 UMOV W12, V3.S[1] ; +0xb0, 0x101fa4 ADD X14, X2, W14,UXTW#1 ; +0xb4, 0x101fa8 INS V3.H[1], W12 ; +0xb8, 0x101fac ADD W13, W11, #3 ; +0xbc, 0x101fb0 LD1 {V3.H}[2], [X14] ; +0xc0, 0x101fb4 ADD X13, X2, W13,UXTW#1 ; +0xc4, 0x101fb8 SCVTF S6, W15 ; +0xc8, 0x101fbc ADD W11, W11, #9 ; +0xcc, 0x101fc0 LD1 {V5.H}[3], [X13] ; +0xd0, 0x101fc4 ADD X11, X2, W11,UXTW#1 ; +0xd4, 0x101fc8 FMUL S18, S6, S1 ; +0xd8, 0x101fcc FMUL S6, S6, S4 ; +0xdc, 0x101fd0 FMUL S4, S7, S4 ; +0xe0, 0x101fd4 FMUL S19, S7, S1 ; +0xe4, 0x101fd8 FMADD S6, S16, S1, S6 ; +0xe8, 0x101fdc FMADD S1, S17, S1, S4 ; +0xec, 0x101fe0 LD1 {V3.H}[3], [X11] ; +0xf0, 0x101fe4 MOV X5, X30 ; +0xf4, 0x101fe8 BL sub_102D58 ; +0xf8, 0x101fec MOV X30, X5 ; +0xfc, 0x101ff0 LDR X11, [X4] ; +0x100, 0x101ff4 LDR X12, [X3] ; +0x104, 0x101ff8 SUB W1, W1, #1 ; +0x108, 0x101ffc ADD X11, X12, X11 ; +0x10c, 0x102000 STR X11, [X3] ; +0x110, 0x102004 CBNZ W1, loc_101F08 ; +0x114, 0x102008 ASR W8, W1, #2 ; +0x118, 0x10200c CBZ W8, loc_1021BC ; +0x11c, 0x102010 LDR X9, [X4] ; +0x120, 0x102014 LD1R {V4.2D}, [X3] ; +0x124, 0x102018 MOVI V2.2D, #0 ; +0x128, 0x10201c MOVI V0.4S, #0x30,LSL#24 ; '0' ; +0x12c, 0x102020 LSL X10, X9, #1 ; +0x130, 0x102024 ADD X11, X9, X9,LSL#1 ; +0x134, 0x102028 FMOV D5, X10 ; +0x138, 0x10202c INS V2.D[1], X9 ; +0x13c, 0x102030 LSL X9, X9, #2 ; +0x140, 0x102034 INS V5.D[1], X11 ; +0x144, 0x102038 MOVI V1.2S, #6 ; +0x148, 0x10203c DUP V3.2D, X9 ; +0x14c, 0x102040 ADD V2.2D, V4.2D, V2.2D ; +0x150, 0x102044 ADD V4.2D, V5.2D, V4.2D ; +0x154, 0x102048 MOVI V5.4S, #0x38,LSL#24 ; '8' ; +0x158, 0x10204c CBZ W8, loc_1021B8 ; +0x15c, 0x102050 EXT V7.16B, V2.16B, V2.16B, #8 ; +0x160, 0x102054 ZIP2 V7.2S, V2.2S, V7.2S ; +0x164, 0x102058 MUL V7.2S, V7.2S, V1.2S ; +0x168, 0x10205c UMOV W9, V7.S[1] ; +0x16c, 0x102060 FMOV W10, S7 ; +0x170, 0x102064 UZP1 V6.4S, V2.4S, V4.4S ; +0x174, 0x102068 ADD X10, X2, W10,UXTW#1 ; +0x178, 0x10206c ADD X9, X2, W9,UXTW#1 ; +0x17c, 0x102070 EXT V16.16B, V4.16B, V4.16B, #8 ; +0x180, 0x102074 USHR V6.4S, V6.4S, #1 ; +0x184, 0x102078 LDP Q7, Q17, [X10] ; +0x188, 0x10207c LDP Q18, Q19, [X9] ; +0x18c, 0x102080 ZIP2 V16.2S, V4.2S, V16.2S ; +0x190, 0x102084 UCVTF V6.4S, V6.4S ; +0x194, 0x102088 MUL V16.2S, V16.2S, V1.2S ; +0x198, 0x10208c FMUL V6.4S, V6.4S, V0.4S ; +0x19c, 0x102090 UMOV W10, V16.S[1] ; +0x1a0, 0x102094 FMOV W9, S16 ; +0x1a4, 0x102098 DUP V16.4S, V6.S[0] ; +0x1a8, 0x10209c DUP V20.4S, V6.S[1] ; +0x1ac, 0x1020a0 UZP1 V16.4S, V16.4S, V20.4S ; +0x1b0, 0x1020a4 SSHLL V20.4S, V7.4H, #0 ; +0x1b4, 0x1020a8 SSHLL2 V7.4S, V7.8H, #0 ; +0x1b8, 0x1020ac SSHLL V17.4S, V17.4H, #0 ; +0x1bc, 0x1020b0 SSHLL V21.4S, V18.4H, #0 ; +0x1c0, 0x1020b4 SSHLL2 V18.4S, V18.8H, #0 ; +0x1c4, 0x1020b8 SCVTF V7.4S, V7.4S ; +0x1c8, 0x1020bc SCVTF V17.4S, V17.4S ; +0x1cc, 0x1020c0 SCVTF V21.4S, V21.4S ; +0x1d0, 0x1020c4 SCVTF V18.4S, V18.4S ; +0x1d4, 0x1020c8 SSHLL V19.4S, V19.4H, #0 ; +0x1d8, 0x1020cc EXT V22.16B, V7.16B, V17.16B, #8 ; +0x1dc, 0x1020d0 INS V7.D[1], V21.D[0] ; +0x1e0, 0x1020d4 EXT V21.16B, V21.16B, V18.16B, #8 ; +0x1e4, 0x1020d8 EXT V18.16B, V18.16B, V17.16B, #8 ; +0x1e8, 0x1020dc SCVTF V20.4S, V20.4S ; +0x1ec, 0x1020e0 SCVTF V19.4S, V19.4S ; +0x1f0, 0x1020e4 EXT V17.16B, V17.16B, V18.16B, #8 ; +0x1f4, 0x1020e8 FSUB V22.4S, V22.4S, V20.4S ; +0x1f8, 0x1020ec FSUB V18.4S, V19.4S, V21.4S ; +0x1fc, 0x1020f0 FSUB V17.4S, V17.4S, V7.4S ; +0x200, 0x1020f4 FMLA V20.4S, V22.4S, V6.S[0] ; +0x204, 0x1020f8 FMLA V21.4S, V18.4S, V6.S[1] ; +0x208, 0x1020fc FMLA V7.4S, V16.4S, V17.4S ; +0x20c, 0x102100 FMUL V18.4S, V20.4S, V5.4S ; +0x210, 0x102104 FMUL V16.4S, V21.4S, V5.4S ; +0x214, 0x102108 FMUL V7.4S, V7.4S, V5.4S ; +0x218, 0x10210c ADD X9, X2, W9,UXTW#1 ; +0x21c, 0x102110 STP Q7, Q16, [X0,#0x10] ; +0x220, 0x102114 STR Q18, [X0] ; +0x224, 0x102118 LDP Q7, Q16, [X9] ; +0x228, 0x10211c ADD X9, X2, W10,UXTW#1 ; +0x22c, 0x102120 DUP V17.4S, V6.S[2] ; +0x230, 0x102124 DUP V18.4S, V6.S[3] ; +0x234, 0x102128 UZP1 V17.4S, V17.4S, V18.4S ; +0x238, 0x10212c LDP Q18, Q19, [X9] ; +0x23c, 0x102130 SSHLL V20.4S, V7.4H, #0 ; +0x240, 0x102134 SSHLL2 V7.4S, V7.8H, #0 ; +0x244, 0x102138 SSHLL V16.4S, V16.4H, #0 ; +0x248, 0x10213c SSHLL V21.4S, V18.4H, #0 ; +0x24c, 0x102140 SSHLL2 V18.4S, V18.8H, #0 ; +0x250, 0x102144 SCVTF V7.4S, V7.4S ; +0x254, 0x102148 SCVTF V16.4S, V16.4S ; +0x258, 0x10214c SCVTF V21.4S, V21.4S ; +0x25c, 0x102150 SCVTF V18.4S, V18.4S ; +0x260, 0x102154 SSHLL V19.4S, V19.4H, #0 ; +0x264, 0x102158 EXT V22.16B, V7.16B, V16.16B, #8 ; +0x268, 0x10215c INS V7.D[1], V21.D[0] ; +0x26c, 0x102160 EXT V21.16B, V21.16B, V18.16B, #8 ; +0x270, 0x102164 EXT V18.16B, V18.16B, V16.16B, #8 ; +0x274, 0x102168 SCVTF V20.4S, V20.4S ; +0x278, 0x10216c SCVTF V19.4S, V19.4S ; +0x27c, 0x102170 EXT V16.16B, V16.16B, V18.16B, #8 ; +0x280, 0x102174 FSUB V18.4S, V22.4S, V20.4S ; +0x284, 0x102178 FSUB V19.4S, V19.4S, V21.4S ; +0x288, 0x10217c FSUB V16.4S, V16.4S, V7.4S ; +0x28c, 0x102180 FMLA V20.4S, V18.4S, V6.S[2] ; +0x290, 0x102184 FMLA V21.4S, V19.4S, V6.S[3] ; +0x294, 0x102188 FMLA V7.4S, V17.4S, V16.4S ; +0x298, 0x10218c FMUL V6.4S, V20.4S, V5.4S ; +0x29c, 0x102190 FMUL V16.4S, V21.4S, V5.4S ; +0x2a0, 0x102194 FMUL V7.4S, V7.4S, V5.4S ; +0x2a4, 0x102198 SUB W8, W8, #1 ; +0x2a8, 0x10219c ADD V2.2D, V2.2D, V3.2D ; +0x2ac, 0x1021a0 ADD V4.2D, V4.2D, V3.2D ; +0x2b0, 0x1021a4 STP Q7, Q16, [X0,#0x40] ; +0x2b4, 0x1021a8 STR Q6, [X0,#0x30] ; +0x2b8, 0x1021ac ADD X0, X0, #0x60 ; '`' ; +0x2bc, 0x1021b0 CBNZ W8, loc_102054 ; +0x2c0, 0x1021b4 STR D2, [X3] ; +0x2c4, 0x1021b8 AND W8, W1, #3 ; +0x2c8, 0x1021bc MOV W9, #0x30000000 ; +0x2cc, 0x1021c0 MOVI V0.4S, #0x38,LSL#24 ; '8' ; +0x2d0, 0x1021c4 MOV W10, #0x38000000 ; +0x2d4, 0x1021c8 MOV W11, #0xB8000000 ; +0x2d8, 0x1021cc CBZ W8, locret_1022D0 ; +0x2dc, 0x1021d0 LDP W15, W12, [X3] ; +0x2e0, 0x1021d4 FMOV S3, W9 ; +0x2e4, 0x1021d8 FMOV S1, W10 ; +0x2e8, 0x1021dc FMOV S4, W11 ; +0x2ec, 0x1021e0 ADD W12, W12, W12,LSL#1 ; +0x2f0, 0x1021e4 LSL W12, W12, #1 ; +0x2f4, 0x1021e8 ADD X13, X2, W12,UXTW#1 ; +0x2f8, 0x1021ec LDRH W14, [X13] ; +0x2fc, 0x1021f0 LSR W15, W15, #1 ; +0x300, 0x1021f4 UCVTF S2, W15 ; +0x304, 0x1021f8 ADD W15, W12, #0xA ; +0x308, 0x1021fc FMOV S5, W14 ; +0x30c, 0x102200 ADD W14, W12, #5 ; +0x310, 0x102204 LDRSH W14, [X2,W14,UXTW#1] ; +0x314, 0x102208 LDRSH W15, [X2,W15,UXTW#1] ; +0x318, 0x10220c LDRH W13, [X13,#2] ; +0x31c, 0x102210 FMUL S2, S2, S3 ; +0x320, 0x102214 SCVTF S7, W14 ; +0x324, 0x102218 ADD W14, W12, #0xB ; +0x328, 0x10221c LDRSH W14, [X2,W14,UXTW#1] ; +0x32c, 0x102220 SCVTF S16, W15 ; +0x330, 0x102224 ADD W15, W12, #6 ; +0x334, 0x102228 ADD X15, X2, W15,UXTW#1 ; +0x338, 0x10222c SCVTF S17, W14 ; +0x33c, 0x102230 LDRH W14, [X15] ; +0x340, 0x102234 LDRH W15, [X15,#2] ; +0x344, 0x102238 INS V5.S[1], W13 ; +0x348, 0x10223c ADD W13, W12, #2 ; +0x34c, 0x102240 FMOV S3, W14 ; +0x350, 0x102244 INS V3.S[1], W15 ; +0x354, 0x102248 UMOV W15, V5.S[1] ; +0x358, 0x10224c ADD W16, W12, #4 ; +0x35c, 0x102250 INS V5.H[1], W15 ; +0x360, 0x102254 ADD X13, X2, W13,UXTW#1 ; +0x364, 0x102258 LDRSH W16, [X2,W16,UXTW#1] ; +0x368, 0x10225c ADD W15, W12, #8 ; +0x36c, 0x102260 LD1 {V5.H}[2], [X13] ; +0x370, 0x102264 UMOV W13, V3.S[1] ; +0x374, 0x102268 ADD X15, X2, W15,UXTW#1 ; +0x378, 0x10226c INS V3.H[1], W13 ; +0x37c, 0x102270 ADD W14, W12, #3 ; +0x380, 0x102274 LD1 {V3.H}[2], [X15] ; +0x384, 0x102278 ADD X14, X2, W14,UXTW#1 ; +0x388, 0x10227c SCVTF S6, W16 ; +0x38c, 0x102280 ADD W12, W12, #9 ; +0x390, 0x102284 LD1 {V5.H}[3], [X14] ; +0x394, 0x102288 ADD X12, X2, W12,UXTW#1 ; +0x398, 0x10228c FMUL S18, S6, S1 ; +0x39c, 0x102290 FMUL S6, S6, S4 ; +0x3a0, 0x102294 FMUL S4, S7, S4 ; +0x3a4, 0x102298 FMUL S19, S7, S1 ; +0x3a8, 0x10229c FMADD S6, S16, S1, S6 ; +0x3ac, 0x1022a0 FMADD S1, S17, S1, S4 ; +0x3b0, 0x1022a4 LD1 {V3.H}[3], [X12] ; +0x3b4, 0x1022a8 MOV X1, X30 ; +0x3b8, 0x1022ac BL sub_102D58 ; +0x3bc, 0x1022b0 MOV X30, X1 ; +0x3c0, 0x1022b4 LDR X12, [X4] ; +0x3c4, 0x1022b8 LDR X13, [X3] ; +0x3c8, 0x1022bc SUB W8, W8, #1 ; +0x3cc, 0x1022c0 ADD X12, X13, X12 ; +0x3d0, 0x1022c4 STR X12, [X3] ; +0x3d4, 0x1022c8 CBNZ W8, loc_1021D4 ; +0x3d8, 0x1022cc RET ; +0x3dc, 0x1022d0