; ; sub_104D04 from 0x104d04 to 0x1055a8 (2212 bytes) ; ; 1 xrefs: ; > sub_FCA14 @ 0xfcb1c ; ; 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 ; SUB SP, SP, #0x80 ; +0x0, 0x104d04 STP X28, X27, [SP,#0x80+var_60] ; +0x4, 0x104d08 STP X26, X25, [SP,#0x80+var_50] ; +0x8, 0x104d0c STP X24, X23, [SP,#0x80+var_40] ; +0xc, 0x104d10 STP X22, X21, [SP,#0x80+var_30] ; +0x10, 0x104d14 STP X20, X19, [SP,#0x80+var_20] ; +0x14, 0x104d18 STP X29, X30, [SP,#0x80+var_10] ; +0x18, 0x104d1c LDP X20, X15, [X0,#8] ; +0x1c, 0x104d20 MOV W10, W7 ; +0x20, 0x104d24 LDR W12, [SP,#0x80+arg_10] ; +0x24, 0x104d28 LDR W7, [SP,#0x80+arg_8] ; +0x28, 0x104d2c LDR W9, [SP,#0x80+arg_0] ; +0x2c, 0x104d30 CMP W6, #2 ; +0x30, 0x104d34 ADD X8, X15, W4,SXTW#2 ; +0x34, 0x104d38 ADD X11, X20, W5,SXTW#2 ; +0x38, 0x104d3c B.EQ loc_104D8C ; +0x3c, 0x104d40 CMP W6, #1 ; +0x40, 0x104d44 B.NE loc_104DD8 ; +0x44, 0x104d48 LDP X29, X30, [SP,#0x80+var_10] ; +0x48, 0x104d4c LDP X20, X19, [SP,#0x80+var_20] ; +0x4c, 0x104d50 LDP X22, X21, [SP,#0x80+var_30] ; +0x50, 0x104d54 LDP X24, X23, [SP,#0x80+var_40] ; +0x54, 0x104d58 LDP X26, X25, [SP,#0x80+var_50] ; +0x58, 0x104d5c LDP X28, X27, [SP,#0x80+var_60] ; +0x5c, 0x104d60 STR W12, [SP,#0x80+arg_0] ; +0x60, 0x104d64 MOV X0, X1 ; +0x64, 0x104d68 MOV X1, X2 ; +0x68, 0x104d6c MOV X2, X3 ; +0x6c, 0x104d70 MOV X3, X8 ; +0x70, 0x104d74 MOV X4, X11 ; +0x74, 0x104d78 MOV W5, W10 ; +0x78, 0x104d7c MOV W6, W9 ; +0x7c, 0x104d80 ADD SP, SP, #0x80 ; +0x80, 0x104d84 B loc_104818 ; +0x84, 0x104d88 LDP X29, X30, [SP,#0x80+var_10] ; +0x88, 0x104d8c LDP X20, X19, [SP,#0x80+var_20] ; +0x8c, 0x104d90 LDP X22, X21, [SP,#0x80+var_30] ; +0x90, 0x104d94 LDP X24, X23, [SP,#0x80+var_40] ; +0x94, 0x104d98 LDP X26, X25, [SP,#0x80+var_50] ; +0x98, 0x104d9c LDP X28, X27, [SP,#0x80+var_60] ; +0x9c, 0x104da0 ADD X4, X8, #0x800 ; +0xa0, 0x104da4 ADD X6, X11, #1,LSL#12 ; +0xa4, 0x104da8 STR W12, [SP,#0x80+arg_10] ; +0xa8, 0x104dac STR W7, [SP,#0x80+arg_8] ; +0xac, 0x104db0 STR W9, [SP,#0x80+arg_0] ; +0xb0, 0x104db4 MOV X0, X1 ; +0xb4, 0x104db8 MOV X1, X2 ; +0xb8, 0x104dbc MOV X2, X3 ; +0xbc, 0x104dc0 MOV X3, X8 ; +0xc0, 0x104dc4 MOV X5, X11 ; +0xc4, 0x104dc8 MOV W7, W10 ; +0xc8, 0x104dcc ADD SP, SP, #0x80 ; +0xcc, 0x104dd0 B loc_104A3C ; +0xd0, 0x104dd4 STR W12, [SP,#0x80+var_74] ; +0xd4, 0x104dd8 SXTW X12, W5 ; +0xd8, 0x104ddc SXTW X16, W4 ; +0xdc, 0x104de0 STR X12, [SP,#0x80+var_80] ; +0xe0, 0x104de4 SXTW X12, W6 ; +0xe4, 0x104de8 SBFIZ X0, X6, #1, #0x20 ; ' ' ; +0xe8, 0x104dec STR X12, [SP,#0x80+var_68] ; +0xec, 0x104df0 LSL W5, W6, #1 ; +0xf0, 0x104df4 LSL W19, W6, #2 ; +0xf4, 0x104df8 ADD X12, X0, W6,SXTW ; +0xf8, 0x104dfc ADD X15, X15, X16,LSL#2 ; +0xfc, 0x104e00 ASR W21, W10, #2 ; +0x100, 0x104e04 ASR W13, W6, #2 ; +0x104, 0x104e08 AND W14, W6, #3 ; +0x108, 0x104e0c ADD X23, X1, W6,SXTW#2 ; +0x10c, 0x104e10 ADD W24, W6, W6,LSL#1 ; +0x110, 0x104e14 SXTW X4, W5 ; +0x114, 0x104e18 SXTW X22, W19 ; +0x118, 0x104e1c SBFIZ X25, X19, #2, #0x20 ; ' ' ; +0x11c, 0x104e20 ADD X26, X1, W5,SXTW#2 ; +0x120, 0x104e24 SUB X19, X15, #0x10 ; +0x124, 0x104e28 ADD X27, X1, X12,LSL#2 ; +0x128, 0x104e2c MOV W15, W6 ; +0x12c, 0x104e30 STR X12, [SP,#0x80+var_70] ; +0x130, 0x104e34 CBZ W21, loc_104F3C ; +0x134, 0x104e38 MOV W16, WZR ; +0x138, 0x104e3c MOV X29, XZR ; +0x13c, 0x104e40 MOV X28, XZR ; +0x140, 0x104e44 SUB X8, X8, #0x10 ; +0x144, 0x104e48 MOV W30, #0x600 ; +0x148, 0x104e4c CMP W13, W29 ; +0x14c, 0x104e50 B.EQ loc_104ED0 ; +0x150, 0x104e54 SBFIZ X0, X30, #2, #0x20 ; ' ' ; +0x154, 0x104e58 LDR Q0, [X8,X0] ; +0x158, 0x104e5c SUB W0, W30, #0x600 ; +0x15c, 0x104e60 LSL X0, X0, #2 ; +0x160, 0x104e64 LDR Q1, [X8,X0] ; +0x164, 0x104e68 SUB W0, W30, #0x400 ; +0x168, 0x104e6c SBFIZ X0, X0, #2, #0x20 ; ' ' ; +0x16c, 0x104e70 LDR Q2, [X8,X0] ; +0x170, 0x104e74 SUB W0, W30, #0x200 ; +0x174, 0x104e78 SBFIZ X0, X0, #2, #0x20 ; ' ' ; +0x178, 0x104e7c LDR Q3, [X8,X0] ; +0x17c, 0x104e80 EXT V4.16B, V2.16B, V1.16B, #8 ; +0x180, 0x104e84 EXT V4.16B, V1.16B, V4.16B, #8 ; +0x184, 0x104e88 INS V1.D[1], V2.D[0] ; +0x188, 0x104e8c EXT V2.16B, V0.16B, V3.16B, #8 ; +0x18c, 0x104e90 EXT V2.16B, V3.16B, V2.16B, #8 ; +0x190, 0x104e94 INS V3.D[1], V0.D[0] ; +0x194, 0x104e98 UZP1 V0.4S, V4.4S, V2.4S ; +0x198, 0x104e9c UZP2 V2.4S, V4.4S, V2.4S ; +0x19c, 0x104ea0 UZP1 V4.4S, V1.4S, V3.4S ; +0x1a0, 0x104ea4 UZP2 V1.4S, V1.4S, V3.4S ; +0x1a4, 0x104ea8 ADD X28, X28, #4 ; +0x1a8, 0x104eac ADD W30, W30, #0x800 ; +0x1ac, 0x104eb0 STR Q2, [X1,X29,LSL#4] ; +0x1b0, 0x104eb4 STR Q0, [X23,X29,LSL#4] ; +0x1b4, 0x104eb8 STR Q1, [X26,X29,LSL#4] ; +0x1b8, 0x104ebc STR Q4, [X27,X29,LSL#4] ; +0x1bc, 0x104ec0 ADD X29, X29, #1 ; +0x1c0, 0x104ec4 ADD W16, W16, #0x800 ; +0x1c4, 0x104ec8 B loc_104E50 ; +0x1c8, 0x104ecc MOV W16, W16 ; +0x1cc, 0x104ed0 AND X28, X28, #0xFFFFFFFC ; +0x1d0, 0x104ed4 LSL X16, X16, #2 ; +0x1d4, 0x104ed8 MOV W29, W14 ; +0x1d8, 0x104edc CBZ W29, loc_104F20 ; +0x1dc, 0x104ee0 LDR Q0, [X19,X16] ; +0x1e0, 0x104ee4 ADD W30, W15, W28 ; +0x1e4, 0x104ee8 ADD W12, W5, W28 ; +0x1e8, 0x104eec ADD X0, X1, X28,LSL#2 ; +0x1ec, 0x104ef0 ADD W17, W24, W28 ; +0x1f0, 0x104ef4 ADD X30, X1, W30,SXTW#2 ; +0x1f4, 0x104ef8 ADD X12, X1, W12,SXTW#2 ; +0x1f8, 0x104efc SUB W29, W29, #1 ; +0x1fc, 0x104f00 ADD X28, X28, #1 ; +0x200, 0x104f04 ST1 {V0.S}[3], [X0] ; +0x204, 0x104f08 ST1 {V0.S}[2], [X30] ; +0x208, 0x104f0c ST1 {V0.S}[1], [X12] ; +0x20c, 0x104f10 STR S0, [X1,W17,SXTW#2] ; +0x210, 0x104f14 ADD X16, X16, #0x800 ; +0x214, 0x104f18 CBNZ W29, loc_104EE4 ; +0x218, 0x104f1c ADD X1, X1, X25 ; +0x21c, 0x104f20 SUB W21, W21, #1 ; +0x220, 0x104f24 SUB X19, X19, #0x10 ; +0x224, 0x104f28 ADD X27, X27, X25 ; +0x228, 0x104f2c ADD X26, X26, X25 ; +0x22c, 0x104f30 ADD X23, X23, X25 ; +0x230, 0x104f34 CBNZ W21, loc_104E3C ; +0x234, 0x104f38 AND W10, W10, #3 ; +0x238, 0x104f3c MOV X0, X4 ; +0x23c, 0x104f40 CBZ W10, loc_104F7C ; +0x240, 0x104f44 MOV X16, XZR ; +0x244, 0x104f48 SUB X8, X8, #4 ; +0x248, 0x104f4c MOV W21, W6 ; +0x24c, 0x104f50 CBZ W21, loc_104F70 ; +0x250, 0x104f54 AND X12, X16, #0xFFFFFE00 ; +0x254, 0x104f58 LDR W12, [X8,X12,LSL#2] ; +0x258, 0x104f5c SUB W21, W21, #1 ; +0x25c, 0x104f60 ADD X16, X16, #0x200 ; +0x260, 0x104f64 STR W12, [X1],#4 ; +0x264, 0x104f68 CBNZ W21, loc_104F58 ; +0x268, 0x104f6c SUB W10, W10, #1 ; +0x26c, 0x104f70 SUB X19, X19, #4 ; +0x270, 0x104f74 CBNZ W10, loc_104F48 ; +0x274, 0x104f78 LDR X10, [SP,#0x80+var_80] ; +0x278, 0x104f7c ASR W21, W9, #2 ; +0x27c, 0x104f80 ADD W24, W6, W6,LSL#1 ; +0x280, 0x104f84 AND X25, X0, #0xFFFFFFFF ; +0x284, 0x104f88 ADD X12, X20, X10,LSL#2 ; +0x288, 0x104f8c LDP X10, X16, [SP,#0x80+var_70] ; +0x28c, 0x104f90 SUB X4, X12, #0x10 ; +0x290, 0x104f94 ADD X20, X1, X10,LSL#2 ; +0x294, 0x104f98 LSL X10, X22, #2 ; +0x298, 0x104f9c ADD X22, X1, X0,LSL#2 ; +0x29c, 0x104fa0 ADD X23, X1, X16,LSL#2 ; +0x2a0, 0x104fa4 CBZ W21, loc_105160 ; +0x2a4, 0x104fa8 LDR Q0, [X2,#-0x10]! ; +0x2a8, 0x104fac LDR Q1, [X3] ; +0x2ac, 0x104fb0 MOV W26, WZR ; +0x2b0, 0x104fb4 MOV W27, WZR ; +0x2b4, 0x104fb8 MOV X29, XZR ; +0x2b8, 0x104fbc MOV X30, XZR ; +0x2bc, 0x104fc0 MOV X16, XZR ; +0x2c0, 0x104fc4 MOV X28, XZR ; +0x2c4, 0x104fc8 SUB X8, X8, #0x10 ; +0x2c8, 0x104fcc CMP W13, W29 ; +0x2cc, 0x104fd0 B.EQ loc_1050CC ; +0x2d0, 0x104fd4 AND X12, X30, #0xFFFFF800 ; +0x2d4, 0x104fd8 LSL X12, X12, #2 ; +0x2d8, 0x104fdc LDR Q2, [X8,X12] ; +0x2dc, 0x104fe0 ADD W12, W30, #0x200 ; +0x2e0, 0x104fe4 LSL X12, X12, #2 ; +0x2e4, 0x104fe8 LDR Q3, [X8,X12] ; +0x2e8, 0x104fec ADD W12, W30, #0x400 ; +0x2ec, 0x104ff0 LSL X12, X12, #2 ; +0x2f0, 0x104ff4 LDR Q4, [X8,X12] ; +0x2f4, 0x104ff8 ADD W12, W30, #0x600 ; +0x2f8, 0x104ffc LSL X12, X12, #2 ; +0x2fc, 0x105000 LDR Q5, [X8,X12] ; +0x300, 0x105004 AND X12, X16, #0xFFFFF000 ; +0x304, 0x105008 LSL X12, X12, #2 ; +0x308, 0x10500c LDR Q6, [X11,X12] ; +0x30c, 0x105010 ADD W12, W16, #0x400 ; +0x310, 0x105014 LSL X12, X12, #2 ; +0x314, 0x105018 LDR Q7, [X11,X12] ; +0x318, 0x10501c ADD W12, W16, #0x800 ; +0x31c, 0x105020 LSL X12, X12, #2 ; +0x320, 0x105024 LDR Q16, [X11,X12] ; +0x324, 0x105028 ADD W12, W16, #0xC00 ; +0x328, 0x10502c LSL X12, X12, #2 ; +0x32c, 0x105030 LDR Q17, [X11,X12] ; +0x330, 0x105034 FMUL V2.4S, V2.4S, V0.4S ; +0x334, 0x105038 FMUL V3.4S, V3.4S, V0.4S ; +0x338, 0x10503c FMUL V4.4S, V4.4S, V0.4S ; +0x33c, 0x105040 FMUL V5.4S, V5.4S, V0.4S ; +0x340, 0x105044 REV64 V2.4S, V2.4S ; +0x344, 0x105048 REV64 V3.4S, V3.4S ; +0x348, 0x10504c REV64 V4.4S, V4.4S ; +0x34c, 0x105050 REV64 V5.4S, V5.4S ; +0x350, 0x105054 EXT V2.16B, V2.16B, V2.16B, #8 ; +0x354, 0x105058 EXT V3.16B, V3.16B, V3.16B, #8 ; +0x358, 0x10505c EXT V4.16B, V4.16B, V4.16B, #8 ; +0x35c, 0x105060 EXT V5.16B, V5.16B, V5.16B, #8 ; +0x360, 0x105064 FMLA V2.4S, V1.4S, V6.4S ; +0x364, 0x105068 FMLA V3.4S, V1.4S, V7.4S ; +0x368, 0x10506c FMLA V4.4S, V1.4S, V16.4S ; +0x36c, 0x105070 FMLA V5.4S, V1.4S, V17.4S ; +0x370, 0x105074 EXT V6.16B, V3.16B, V2.16B, #8 ; +0x374, 0x105078 EXT V7.16B, V5.16B, V4.16B, #8 ; +0x378, 0x10507c EXT V6.16B, V2.16B, V6.16B, #8 ; +0x37c, 0x105080 EXT V7.16B, V4.16B, V7.16B, #8 ; +0x380, 0x105084 INS V2.D[1], V3.D[0] ; +0x384, 0x105088 INS V4.D[1], V5.D[0] ; +0x388, 0x10508c UZP1 V3.4S, V6.4S, V7.4S ; +0x38c, 0x105090 UZP2 V5.4S, V6.4S, V7.4S ; +0x390, 0x105094 UZP1 V6.4S, V2.4S, V4.4S ; +0x394, 0x105098 UZP2 V2.4S, V2.4S, V4.4S ; +0x398, 0x10509c ADD X28, X28, #4 ; +0x39c, 0x1050a0 ADD X16, X16, #1,LSL#12 ; +0x3a0, 0x1050a4 ADD X30, X30, #0x800 ; +0x3a4, 0x1050a8 ADD W27, W27, #1,LSL#12 ; +0x3a8, 0x1050ac STR Q6, [X1,X29,LSL#4] ; +0x3ac, 0x1050b0 STR Q2, [X23,X29,LSL#4] ; +0x3b0, 0x1050b4 STR Q3, [X22,X29,LSL#4] ; +0x3b4, 0x1050b8 STR Q5, [X20,X29,LSL#4] ; +0x3b8, 0x1050bc ADD X29, X29, #1 ; +0x3bc, 0x1050c0 ADD W26, W26, #0x800 ; +0x3c0, 0x1050c4 B loc_104FD0 ; +0x3c4, 0x1050c8 MOV W12, W27 ; +0x3c8, 0x1050cc AND X16, X28, #0xFFFFFFFC ; +0x3cc, 0x1050d0 LSL X27, X12, #2 ; +0x3d0, 0x1050d4 ADD X26, X19, W26,UXTW#2 ; +0x3d4, 0x1050d8 MOV W28, W14 ; +0x3d8, 0x1050dc CBZ W28, loc_105138 ; +0x3dc, 0x1050e0 LDR Q2, [X26] ; +0x3e0, 0x1050e4 LDR Q3, [X11,X27] ; +0x3e4, 0x1050e8 ADD W12, W15, W16 ; +0x3e8, 0x1050ec ADD X12, X1, W12,SXTW#2 ; +0x3ec, 0x1050f0 FMUL V2.4S, V2.4S, V0.4S ; +0x3f0, 0x1050f4 REV64 V2.4S, V2.4S ; +0x3f4, 0x1050f8 EXT V2.16B, V2.16B, V2.16B, #8 ; +0x3f8, 0x1050fc FMLA V2.4S, V1.4S, V3.4S ; +0x3fc, 0x105100 STR S2, [X1,X16,LSL#2] ; +0x400, 0x105104 ST1 {V2.S}[1], [X12] ; +0x404, 0x105108 ADD W12, W25, W16 ; +0x408, 0x10510c ADD X12, X1, W12,SXTW#2 ; +0x40c, 0x105110 ST1 {V2.S}[2], [X12] ; +0x410, 0x105114 ADD W12, W24, W16 ; +0x414, 0x105118 ADD X12, X1, W12,SXTW#2 ; +0x418, 0x10511c SUB W28, W28, #1 ; +0x41c, 0x105120 ADD X27, X27, #1,LSL#12 ; +0x420, 0x105124 ST1 {V2.S}[3], [X12] ; +0x424, 0x105128 ADD X16, X16, #1 ; +0x428, 0x10512c ADD X26, X26, #0x800 ; +0x42c, 0x105130 CBNZ W28, loc_1050E4 ; +0x430, 0x105134 ADD X1, X1, X10 ; +0x434, 0x105138 ADD X11, X11, #0x10 ; +0x438, 0x10513c ADD X3, X3, #0x10 ; +0x43c, 0x105140 SUB W21, W21, #1 ; +0x440, 0x105144 ADD X4, X4, #0x10 ; +0x444, 0x105148 ADD X20, X20, X10 ; +0x448, 0x10514c ADD X22, X22, X10 ; +0x44c, 0x105150 ADD X23, X23, X10 ; +0x450, 0x105154 SUB X19, X19, #0x10 ; +0x454, 0x105158 CBNZ W21, loc_104FAC ; +0x458, 0x10515c AND W9, W9, #3 ; +0x45c, 0x105160 CBZ W9, loc_1051C4 ; +0x460, 0x105164 LDR S0, [X2,#-4]! ; +0x464, 0x105168 LDR S1, [X3] ; +0x468, 0x10516c MOV X16, XZR ; +0x46c, 0x105170 MOV X19, XZR ; +0x470, 0x105174 SUB X8, X8, #4 ; +0x474, 0x105178 MOV W20, W6 ; +0x478, 0x10517c CBZ W20, loc_1051B0 ; +0x47c, 0x105180 AND X12, X16, #0xFFFFFE00 ; +0x480, 0x105184 AND X17, X19, #0xFFFFFC00 ; +0x484, 0x105188 LDR S2, [X8,X12,LSL#2] ; +0x488, 0x10518c LDR S3, [X11,X17,LSL#2] ; +0x48c, 0x105190 SUB W20, W20, #1 ; +0x490, 0x105194 ADD X19, X19, #0x400 ; +0x494, 0x105198 FMUL S2, S2, S0 ; +0x498, 0x10519c FMADD S2, S3, S1, S2 ; +0x49c, 0x1051a0 STR S2, [X1],#4 ; +0x4a0, 0x1051a4 ADD X16, X16, #0x200 ; +0x4a4, 0x1051a8 CBNZ W20, loc_105184 ; +0x4a8, 0x1051ac ADD X11, X11, #4 ; +0x4ac, 0x1051b0 ADD X3, X3, #4 ; +0x4b0, 0x1051b4 SUB W9, W9, #1 ; +0x4b4, 0x1051b8 ADD X4, X4, #4 ; +0x4b8, 0x1051bc CBNZ W9, loc_105168 ; +0x4bc, 0x1051c0 LDR X12, [SP,#0x80+var_70] ; +0x4c0, 0x1051c4 ASR W9, W7, #2 ; +0x4c4, 0x1051c8 ADD X20, X1, X0,LSL#2 ; +0x4c8, 0x1051cc ADD W22, W6, W6,LSL#1 ; +0x4cc, 0x1051d0 ADD X19, X1, X12,LSL#2 ; +0x4d0, 0x1051d4 LDR X12, [SP,#0x80+var_68] ; +0x4d4, 0x1051d8 ADD X21, X1, X12,LSL#2 ; +0x4d8, 0x1051dc CBZ W9, loc_1053B0 ; +0x4dc, 0x1051e0 LDR Q1, [X2,#-0x10]! ; +0x4e0, 0x1051e4 LDR Q0, [X3] ; +0x4e4, 0x1051e8 MOV W23, WZR ; +0x4e8, 0x1051ec MOV W24, WZR ; +0x4ec, 0x1051f0 REV64 V1.4S, V1.4S ; +0x4f0, 0x1051f4 MOV X26, XZR ; +0x4f4, 0x1051f8 MOV X27, XZR ; +0x4f8, 0x1051fc MOV X28, XZR ; +0x4fc, 0x105200 MOV X25, XZR ; +0x500, 0x105204 SUB X11, X11, #0x10 ; +0x504, 0x105208 EXT V1.16B, V1.16B, V1.16B, #8 ; +0x508, 0x10520c CMP W13, W26 ; +0x50c, 0x105210 B.EQ loc_10531C ; +0x510, 0x105214 AND X12, X27, #0xFFFFF800 ; +0x514, 0x105218 LSL X12, X12, #2 ; +0x518, 0x10521c LDR Q2, [X8,X12] ; +0x51c, 0x105220 ADD W12, W27, #0x200 ; +0x520, 0x105224 LSL X12, X12, #2 ; +0x524, 0x105228 LDR Q3, [X8,X12] ; +0x528, 0x10522c ADD W12, W27, #0x400 ; +0x52c, 0x105230 LSL X12, X12, #2 ; +0x530, 0x105234 LDR Q4, [X8,X12] ; +0x534, 0x105238 ADD W12, W27, #0x600 ; +0x538, 0x10523c LSL X12, X12, #2 ; +0x53c, 0x105240 LDR Q5, [X8,X12] ; +0x540, 0x105244 AND X12, X28, #0xFFFFF000 ; +0x544, 0x105248 LSL X12, X12, #2 ; +0x548, 0x10524c LDR Q6, [X11,X12] ; +0x54c, 0x105250 ADD W12, W28, #0x400 ; +0x550, 0x105254 LSL X12, X12, #2 ; +0x554, 0x105258 LDR Q7, [X11,X12] ; +0x558, 0x10525c ADD W12, W28, #0x800 ; +0x55c, 0x105260 LSL X12, X12, #2 ; +0x560, 0x105264 LDR Q16, [X11,X12] ; +0x564, 0x105268 ADD W12, W28, #0xC00 ; +0x568, 0x10526c LSL X12, X12, #2 ; +0x56c, 0x105270 LDR Q17, [X11,X12] ; +0x570, 0x105274 REV64 V6.4S, V6.4S ; +0x574, 0x105278 REV64 V7.4S, V7.4S ; +0x578, 0x10527c REV64 V16.4S, V16.4S ; +0x57c, 0x105280 REV64 V17.4S, V17.4S ; +0x580, 0x105284 EXT V6.16B, V6.16B, V6.16B, #8 ; +0x584, 0x105288 EXT V7.16B, V7.16B, V7.16B, #8 ; +0x588, 0x10528c EXT V16.16B, V16.16B, V16.16B, #8 ; +0x58c, 0x105290 EXT V17.16B, V17.16B, V17.16B, #8 ; +0x590, 0x105294 FMUL V6.4S, V6.4S, V0.4S ; +0x594, 0x105298 FMUL V7.4S, V7.4S, V0.4S ; +0x598, 0x10529c FMUL V16.4S, V16.4S, V0.4S ; +0x59c, 0x1052a0 FMUL V17.4S, V17.4S, V0.4S ; +0x5a0, 0x1052a4 FNEG V6.4S, V6.4S ; +0x5a4, 0x1052a8 FNEG V7.4S, V7.4S ; +0x5a8, 0x1052ac FNEG V16.4S, V16.4S ; +0x5ac, 0x1052b0 FNEG V17.4S, V17.4S ; +0x5b0, 0x1052b4 FMLA V6.4S, V1.4S, V2.4S ; +0x5b4, 0x1052b8 FMLA V7.4S, V1.4S, V3.4S ; +0x5b8, 0x1052bc FMLA V16.4S, V1.4S, V4.4S ; +0x5bc, 0x1052c0 FMLA V17.4S, V1.4S, V5.4S ; +0x5c0, 0x1052c4 EXT V2.16B, V7.16B, V6.16B, #8 ; +0x5c4, 0x1052c8 EXT V3.16B, V17.16B, V16.16B, #8 ; +0x5c8, 0x1052cc EXT V2.16B, V6.16B, V2.16B, #8 ; +0x5cc, 0x1052d0 EXT V3.16B, V16.16B, V3.16B, #8 ; +0x5d0, 0x1052d4 INS V6.D[1], V7.D[0] ; +0x5d4, 0x1052d8 INS V16.D[1], V17.D[0] ; +0x5d8, 0x1052dc UZP1 V4.4S, V2.4S, V3.4S ; +0x5dc, 0x1052e0 UZP2 V2.4S, V2.4S, V3.4S ; +0x5e0, 0x1052e4 UZP1 V3.4S, V6.4S, V16.4S ; +0x5e4, 0x1052e8 UZP2 V5.4S, V6.4S, V16.4S ; +0x5e8, 0x1052ec ADD X25, X25, #4 ; +0x5ec, 0x1052f0 ADD X28, X28, #1,LSL#12 ; +0x5f0, 0x1052f4 ADD X27, X27, #0x800 ; +0x5f4, 0x1052f8 ADD W24, W24, #1,LSL#12 ; +0x5f8, 0x1052fc STR Q3, [X1,X26,LSL#4] ; +0x5fc, 0x105300 STR Q5, [X21,X26,LSL#4] ; +0x600, 0x105304 STR Q4, [X20,X26,LSL#4] ; +0x604, 0x105308 STR Q2, [X19,X26,LSL#4] ; +0x608, 0x10530c ADD X26, X26, #1 ; +0x60c, 0x105310 ADD W23, W23, #0x800 ; +0x610, 0x105314 B loc_105210 ; +0x614, 0x105318 MOV W12, W24 ; +0x618, 0x10531c AND X16, X25, #0xFFFFFFFC ; +0x61c, 0x105320 LSL X24, X12, #2 ; +0x620, 0x105324 ADD X23, X8, W23,UXTW#2 ; +0x624, 0x105328 MOV W25, W14 ; +0x628, 0x10532c CBZ W25, loc_10538C ; +0x62c, 0x105330 LDR Q2, [X4,X24] ; +0x630, 0x105334 LDR Q3, [X23] ; +0x634, 0x105338 ADD W12, W15, W16 ; +0x638, 0x10533c ADD X12, X1, W12,SXTW#2 ; +0x63c, 0x105340 REV64 V2.4S, V2.4S ; +0x640, 0x105344 EXT V2.16B, V2.16B, V2.16B, #8 ; +0x644, 0x105348 FMUL V2.4S, V2.4S, V0.4S ; +0x648, 0x10534c FNEG V2.4S, V2.4S ; +0x64c, 0x105350 FMLA V2.4S, V1.4S, V3.4S ; +0x650, 0x105354 STR S2, [X1,X16,LSL#2] ; +0x654, 0x105358 ST1 {V2.S}[1], [X12] ; +0x658, 0x10535c ADD W12, W5, W16 ; +0x65c, 0x105360 ADD X12, X1, W12,SXTW#2 ; +0x660, 0x105364 ST1 {V2.S}[2], [X12] ; +0x664, 0x105368 ADD W12, W22, W16 ; +0x668, 0x10536c ADD X12, X1, W12,SXTW#2 ; +0x66c, 0x105370 SUB W25, W25, #1 ; +0x670, 0x105374 ADD X24, X24, #1,LSL#12 ; +0x674, 0x105378 ST1 {V2.S}[3], [X12] ; +0x678, 0x10537c ADD X16, X16, #1 ; +0x67c, 0x105380 ADD X23, X23, #0x800 ; +0x680, 0x105384 CBNZ W25, loc_105334 ; +0x684, 0x105388 ADD X1, X1, X10 ; +0x688, 0x10538c ADD X8, X8, #0x10 ; +0x68c, 0x105390 ADD X3, X3, #0x10 ; +0x690, 0x105394 SUB W9, W9, #1 ; +0x694, 0x105398 SUB X4, X4, #0x10 ; +0x698, 0x10539c ADD X19, X19, X10 ; +0x69c, 0x1053a0 ADD X20, X20, X10 ; +0x6a0, 0x1053a4 ADD X21, X21, X10 ; +0x6a4, 0x1053a8 CBNZ W9, loc_1051E4 ; +0x6a8, 0x1053ac LDR W22, [SP,#0x80+var_74] ; +0x6ac, 0x1053b0 AND W9, W7, #3 ; +0x6b0, 0x1053b4 CBZ W9, loc_105418 ; +0x6b4, 0x1053b8 LDR S0, [X2,#-4]! ; +0x6b8, 0x1053bc LDR S1, [X3] ; +0x6bc, 0x1053c0 MOV X16, XZR ; +0x6c0, 0x1053c4 MOV X5, XZR ; +0x6c4, 0x1053c8 SUB X11, X11, #4 ; +0x6c8, 0x1053cc MOV W7, W6 ; +0x6cc, 0x1053d0 CBZ W7, loc_105404 ; +0x6d0, 0x1053d4 AND X17, X5, #0xFFFFFC00 ; +0x6d4, 0x1053d8 AND X12, X16, #0xFFFFFE00 ; +0x6d8, 0x1053dc LDR S2, [X11,X17,LSL#2] ; +0x6dc, 0x1053e0 LDR S3, [X8,X12,LSL#2] ; +0x6e0, 0x1053e4 SUB W7, W7, #1 ; +0x6e4, 0x1053e8 ADD X5, X5, #0x400 ; +0x6e8, 0x1053ec FMUL S2, S2, S1 ; +0x6ec, 0x1053f0 FNMSUB S2, S3, S0, S2 ; +0x6f0, 0x1053f4 STR S2, [X1],#4 ; +0x6f4, 0x1053f8 ADD X16, X16, #0x200 ; +0x6f8, 0x1053fc CBNZ W7, loc_1053D8 ; +0x6fc, 0x105400 ADD X8, X8, #4 ; +0x700, 0x105404 ADD X3, X3, #4 ; +0x704, 0x105408 SUB W9, W9, #1 ; +0x708, 0x10540c SUB X4, X4, #4 ; +0x70c, 0x105410 CBNZ W9, loc_1053BC ; +0x710, 0x105414 LDP X9, X12, [SP,#0x80+var_70] ; +0x714, 0x105418 MOV X17, X0 ; +0x718, 0x10541c ASR W8, W22, #2 ; +0x71c, 0x105420 ADD X0, X1, X0,LSL#2 ; +0x720, 0x105424 ADD X9, X1, X9,LSL#2 ; +0x724, 0x105428 ADD X16, X1, X12,LSL#2 ; +0x728, 0x10542c ADD W2, W6, W6,LSL#1 ; +0x72c, 0x105430 AND X17, X17, #0xFFFFFFFF ; +0x730, 0x105434 CBZ W8, loc_10554C ; +0x734, 0x105438 MOV W3, WZR ; +0x738, 0x10543c MOV X7, XZR ; +0x73c, 0x105440 MOV X5, XZR ; +0x740, 0x105444 SUB X11, X11, #0x10 ; +0x744, 0x105448 MOV W19, #0xC00 ; +0x748, 0x10544c CMP W13, W7 ; +0x74c, 0x105450 B.EQ loc_1054E0 ; +0x750, 0x105454 SBFIZ X12, X19, #2, #0x20 ; ' ' ; +0x754, 0x105458 LDR Q0, [X11,X12] ; +0x758, 0x10545c SUB W12, W19, #0xC00 ; +0x75c, 0x105460 LSL X12, X12, #2 ; +0x760, 0x105464 LDR Q1, [X11,X12] ; +0x764, 0x105468 SUB W12, W19, #0x800 ; +0x768, 0x10546c SBFIZ X12, X12, #2, #0x20 ; ' ' ; +0x76c, 0x105470 LDR Q2, [X11,X12] ; +0x770, 0x105474 SUB W12, W19, #0x400 ; +0x774, 0x105478 SBFIZ X12, X12, #2, #0x20 ; ' ' ; +0x778, 0x10547c LDR Q3, [X11,X12] ; +0x77c, 0x105480 FNEG V1.4S, V1.4S ; +0x780, 0x105484 FNEG V2.4S, V2.4S ; +0x784, 0x105488 FNEG V0.4S, V0.4S ; +0x788, 0x10548c FNEG V3.4S, V3.4S ; +0x78c, 0x105490 EXT V4.16B, V2.16B, V1.16B, #8 ; +0x790, 0x105494 EXT V4.16B, V1.16B, V4.16B, #8 ; +0x794, 0x105498 INS V1.D[1], V2.D[0] ; +0x798, 0x10549c EXT V2.16B, V0.16B, V3.16B, #8 ; +0x79c, 0x1054a0 EXT V2.16B, V3.16B, V2.16B, #8 ; +0x7a0, 0x1054a4 INS V3.D[1], V0.D[0] ; +0x7a4, 0x1054a8 UZP1 V0.4S, V4.4S, V2.4S ; +0x7a8, 0x1054ac UZP2 V2.4S, V4.4S, V2.4S ; +0x7ac, 0x1054b0 UZP1 V4.4S, V1.4S, V3.4S ; +0x7b0, 0x1054b4 UZP2 V1.4S, V1.4S, V3.4S ; +0x7b4, 0x1054b8 ADD X5, X5, #4 ; +0x7b8, 0x1054bc ADD W19, W19, #1,LSL#12 ; +0x7bc, 0x1054c0 STR Q2, [X1,X7,LSL#4] ; +0x7c0, 0x1054c4 STR Q0, [X16,X7,LSL#4] ; +0x7c4, 0x1054c8 STR Q1, [X0,X7,LSL#4] ; +0x7c8, 0x1054cc STR Q4, [X9,X7,LSL#4] ; +0x7cc, 0x1054d0 ADD X7, X7, #1 ; +0x7d0, 0x1054d4 ADD W3, W3, #1,LSL#12 ; +0x7d4, 0x1054d8 B loc_105450 ; +0x7d8, 0x1054dc AND X5, X5, #0xFFFFFFFC ; +0x7dc, 0x1054e0 ADD X3, X4, W3,UXTW#2 ; +0x7e0, 0x1054e4 MOV W7, W14 ; +0x7e4, 0x1054e8 CBZ W7, loc_105530 ; +0x7e8, 0x1054ec LDR Q0, [X3] ; +0x7ec, 0x1054f0 ADD W19, W15, W5 ; +0x7f0, 0x1054f4 ADD W20, W17, W5 ; +0x7f4, 0x1054f8 ADD X12, X1, X5,LSL#2 ; +0x7f8, 0x1054fc ADD W21, W2, W5 ; +0x7fc, 0x105500 ADD X19, X1, W19,SXTW#2 ; +0x800, 0x105504 ADD X20, X1, W20,SXTW#2 ; +0x804, 0x105508 FNEG V0.4S, V0.4S ; +0x808, 0x10550c SUB W7, W7, #1 ; +0x80c, 0x105510 ADD X5, X5, #1 ; +0x810, 0x105514 ST1 {V0.S}[3], [X12] ; +0x814, 0x105518 ST1 {V0.S}[2], [X19] ; +0x818, 0x10551c ST1 {V0.S}[1], [X20] ; +0x81c, 0x105520 STR S0, [X1,W21,SXTW#2] ; +0x820, 0x105524 ADD X3, X3, #1,LSL#12 ; +0x824, 0x105528 CBNZ W7, loc_1054F0 ; +0x828, 0x10552c ADD X1, X1, X10 ; +0x82c, 0x105530 SUB W8, W8, #1 ; +0x830, 0x105534 ADD X9, X9, X10 ; +0x834, 0x105538 ADD X0, X0, X10 ; +0x838, 0x10553c ADD X16, X16, X10 ; +0x83c, 0x105540 SUB X4, X4, #0x10 ; +0x840, 0x105544 CBNZ W8, loc_10543C ; +0x844, 0x105548 AND W8, W22, #3 ; +0x848, 0x10554c CBZ W8, loc_105588 ; +0x84c, 0x105550 MOV X9, XZR ; +0x850, 0x105554 SUB X11, X11, #4 ; +0x854, 0x105558 MOV W10, W6 ; +0x858, 0x10555c CBZ W10, loc_105580 ; +0x85c, 0x105560 AND X12, X9, #0xFFFFFC00 ; +0x860, 0x105564 LDR S0, [X11,X12,LSL#2] ; +0x864, 0x105568 SUB W10, W10, #1 ; +0x868, 0x10556c ADD X9, X9, #0x400 ; +0x86c, 0x105570 FNEG S0, S0 ; +0x870, 0x105574 STR S0, [X1],#4 ; +0x874, 0x105578 CBNZ W10, loc_105564 ; +0x878, 0x10557c SUB W8, W8, #1 ; +0x87c, 0x105580 CBNZ W8, loc_105554 ; +0x880, 0x105584 LDP X29, X30, [SP,#0x80+var_10] ; +0x884, 0x105588 LDP X20, X19, [SP,#0x80+var_20] ; +0x888, 0x10558c LDP X22, X21, [SP,#0x80+var_30] ; +0x88c, 0x105590 LDP X24, X23, [SP,#0x80+var_40] ; +0x890, 0x105594 LDP X26, X25, [SP,#0x80+var_50] ; +0x894, 0x105598 LDP X28, X27, [SP,#0x80+var_60] ; +0x898, 0x10559c ADD SP, SP, #0x80 ; +0x89c, 0x1055a0 RET ; +0x8a0, 0x1055a4