From abef5c64138fd778220f3aaeedb99f8be1d6daf0 Mon Sep 17 00:00:00 2001 From: Matiq Date: Mon, 17 Aug 2026 00:27:17 +0300 Subject: [PATCH] re: twiddle builder FUN_180039b00 is two-path (sin-table copy for N<=1024, angle-ramp+sin/cos for N>1024); loader slots all == 0x18014ec20 --- focus_decomp.txt | 13625 +++++++++++++++++++++++++++++++++++++++++++++ focus_list.txt | 2 +- roadmap.md | 14 + 3 files changed, 13640 insertions(+), 1 deletion(-) diff --git a/focus_decomp.txt b/focus_decomp.txt index 03a189d..7785edf 100644 --- a/focus_decomp.txt +++ b/focus_decomp.txt @@ -1,3 +1,13552 @@ +############ FUN_ 1801de760 size=6705 ############ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +int FUN_1801de760(longlong param_1,longlong param_2,uint param_3) + +{ + longlong *plVar1; + ulonglong *puVar2; + longlong lVar3; + undefined8 *puVar4; + undefined1 auVar5 [16]; + undefined1 auVar6 [16]; + undefined1 auVar7 [16]; + undefined1 auVar8 [16]; + undefined1 auVar9 [16]; + undefined1 auVar10 [16]; + undefined1 auVar11 [16]; + undefined1 auVar12 [16]; + undefined1 auVar13 [16]; + bool bVar14; + bool bVar15; + bool bVar16; + bool bVar17; + bool bVar18; + bool bVar19; + bool bVar20; + bool bVar21; + undefined8 uVar22; + undefined8 uVar23; + ulonglong uVar24; + ulonglong uVar25; + ulonglong uVar26; + ulonglong uVar27; + ulonglong uVar28; + undefined1 auVar29 [64]; + undefined1 auVar30 [64]; + undefined1 auVar31 [64]; + undefined1 auVar32 [64]; + undefined1 auVar33 [64]; + undefined1 auVar34 [64]; + undefined1 auVar35 [64]; + undefined1 auVar36 [64]; + undefined1 auVar37 [64]; + undefined1 auVar38 [64]; + undefined1 auVar39 [64]; + int iVar40; + ulonglong uVar41; + uint uVar42; + char cVar43; + uint uVar44; + undefined1 **ppuVar45; + longlong lVar46; + ulonglong uVar47; + ulonglong uVar48; + ulonglong uVar49; + longlong lVar50; + longlong lVar51; + ulonglong uVar52; + undefined1 auVar53 [16]; + undefined1 auVar54 [16]; + undefined1 auVar55 [16]; + undefined1 auVar56 [16]; + undefined1 auVar57 [16]; + undefined1 auVar58 [16]; + undefined1 auVar59 [16]; + undefined1 auVar60 [16]; + undefined1 auVar61 [16]; + undefined1 auVar62 [16]; + undefined1 auVar63 [16]; + undefined1 auVar64 [16]; + undefined1 auVar65 [16]; + undefined1 auVar66 [16]; + undefined1 auVar70 [16]; + undefined1 auVar71 [16]; + undefined1 auVar72 [16]; + undefined1 auVar73 [16]; + undefined1 auVar74 [16]; + undefined1 auVar75 [16]; + undefined1 auVar76 [16]; + undefined1 auVar77 [16]; + undefined1 auVar78 [16]; + undefined1 auVar79 [16]; + undefined1 auVar80 [64]; + undefined1 auVar81 [64]; + undefined1 auVar82 [64]; + undefined1 auVar83 [64]; + undefined1 auVar84 [64]; + undefined1 auVar85 [64]; + undefined1 auVar86 [64]; + undefined1 auVar87 [64]; + undefined1 auVar88 [64]; + undefined1 auVar89 [64]; + undefined1 auVar67 [16]; + undefined1 auVar68 [16]; + undefined1 auVar90 [64]; + undefined1 auVar69 [16]; + undefined1 auVar91 [64]; + undefined1 auVar92 [64]; + undefined1 auVar93 [64]; + undefined1 auVar94 [64]; + undefined1 auVar95 [64]; + undefined1 auVar96 [64]; + undefined1 auVar97 [64]; + undefined1 auVar98 [64]; + undefined1 auVar99 [64]; + undefined1 auVar100 [64]; + undefined1 auVar101 [64]; + undefined1 auVar102 [64]; + undefined1 auVar103 [64]; + undefined1 auVar104 [64]; + undefined1 auVar105 [64]; + undefined1 auVar106 [64]; + undefined1 auVar107 [64]; + undefined1 auVar108 [64]; + undefined1 auVar109 [64]; + undefined1 auVar110 [64]; + undefined1 auVar111 [64]; + undefined1 auVar112 [64]; + undefined1 auVar113 [64]; + undefined1 auVar114 [64]; + undefined1 auVar115 [64]; + undefined1 auVar116 [64]; + undefined1 auVar117 [64]; + undefined1 auVar118 [64]; + undefined1 auVar119 [64]; + undefined1 auVar120 [64]; + undefined8 extraout_XMM0_Qa; + undefined1 extraout_var [56]; + undefined1 auVar121 [64]; + undefined1 auVar122 [64]; + undefined1 auVar123 [64]; + undefined1 auVar124 [64]; + undefined1 auVar125 [64]; + undefined1 *local_408; + undefined1 *local_400; + longlong local_3e8; + longlong local_3e0; + undefined *local_3d8; + int local_3c8; + undefined8 *local_3c0; + longlong local_3b8; + longlong local_3b0; + undefined1 local_3a8 [2]; + undefined1 local_3a6 [2]; + uint local_3a4; + char local_3a0; + undefined1 local_380 [64]; + undefined1 local_340 [64]; + undefined1 local_300 [64]; + undefined1 local_2c0 [64]; + undefined1 local_280 [64]; + undefined1 local_240 [64]; + undefined1 local_200 [64]; + undefined1 local_1c0 [64]; + undefined1 local_180 [64]; + uint local_78; + uint local_70; + uint local_68; + int local_60; + + local_68 = 0; + uVar41 = DAT_182615970 ^ (ulonglong)&local_408; + cVar43 = '\0'; + local_60 = 0; + lVar50 = (longlong)(int)(param_3 & 0xfffffff0); + if ((int)param_3 < 1) { + if ((uVar41 ^ (ulonglong)&local_408) == DAT_182615970) { + return -6; + } + } + else { + if ((param_1 != 0) && (param_2 != 0)) { + local_70 = vstmxcsr_avx(); + ppuVar45 = (undefined1 **)(ulonglong)(local_70 & 0xffc0); + local_3a4 = local_70; + if ((local_70 & 0xffc0) != 0x1f80) { + local_3a4 = (local_70 & 0xffff003f) + 0x1f80; + local_68 = 2; + vldmxcsr_avx(local_3a4); + } + lVar51 = 0; + if (0 < lVar50) { + local_60 = 0; + local_78 = param_3; + auVar111 = _DAT_181e4b680; + cVar43 = '\0'; + do { + uVar42 = 0; + auVar125 = *(undefined1 (*) [64])(param_1 + lVar51 * 8); + auVar124 = *(undefined1 (*) [64])(param_1 + 0x40 + lVar51 * 8); + uVar47 = vpcmpeqq_avx512f(auVar125,_DAT_181e4b880); + uVar28 = vpcmpeqq_avx512f(auVar124,_DAT_181e4b880); + auVar80 = vandpd_avx512dq(auVar125,_DAT_181e4b500); + auVar81 = vandpd_avx512dq(auVar124,_DAT_181e4b500); + uVar52 = vcmppd_avx512f(auVar80,_DAT_181e4b540,0x16); + uVar48 = vcmppd_avx512f(auVar81,_DAT_181e4b540,0x16); + auVar56 = DAT_181e4b5c0._0_16_; + auVar53 = vfmadd231pd_avx512vl(auVar56,DAT_181e4b580._0_16_,auVar125._0_16_); + auVar122 = ZEXT1664(auVar53); + auVar54 = vfmadd231pd_avx512vl(auVar56,DAT_181e4b580._0_16_,auVar124._0_16_); + auVar123 = ZEXT1664(auVar54); + auVar55 = vsubpd_avx512vl(auVar53,auVar56); + auVar56 = vsubpd_avx512vl(auVar54,auVar56); + auVar57 = vfnmadd213pd_avx512vl(DAT_181e4b600._0_16_,auVar55,auVar125._0_16_); + auVar58 = vfnmadd213pd_avx512vl(DAT_181e4b600._0_16_,auVar56,auVar124._0_16_); + auVar61 = DAT_181e4b640._0_16_; + auVar59 = vfnmadd213pd_avx512vl(auVar61,auVar55,auVar57); + auVar60 = vfnmadd213pd_avx512vl(auVar61,auVar56,auVar58); + auVar57 = vsubpd_avx512vl(auVar57,auVar59); + auVar58 = vsubpd_avx512vl(auVar58,auVar60); + auVar57 = vfnmadd231pd_avx512vl(auVar57,auVar61,auVar55); + auVar58 = vfnmadd231pd_avx512vl(auVar58,auVar61,auVar56); + auVar65 = auVar111._0_16_; + auVar61 = vfnmadd213pd_avx512vl(auVar65,auVar55,auVar59); + auVar62 = vfnmadd213pd_avx512vl(auVar65,auVar56,auVar60); + auVar63 = vmulpd_avx512vl(auVar61,auVar61); + auVar64 = vmulpd_avx512vl(auVar62,auVar62); + auVar59 = vsubpd_avx512vl(auVar61,auVar59); + auVar82 = vpermt2pd_avx512f(auVar122,_DAT_181e4b840); + auVar83 = vpermt2pd_avx512f(auVar123,_DAT_181e4b840); + auVar55 = vfmadd213pd_avx512vl(auVar55,auVar65,auVar59); + auVar84 = vpsllq_avx512f(auVar82,0x20); + auVar55 = vsubpd_avx512vl(auVar57,auVar55); + auVar85 = vpermt2pd_avx512f(auVar122,_DAT_181e4b7c0); + auVar86 = vpermt2pd_avx512f(auVar123,_DAT_181e4b7c0); + auVar57 = vsubpd_avx512vl(auVar62,auVar60); + auVar56 = vfmadd213pd_avx512vl(auVar56,auVar65,auVar57); + auVar87 = vpermt2pd_avx512f(auVar122,_DAT_181e4b740); + auVar88 = vpermt2pd_avx512f(auVar123,_DAT_181e4b740); + auVar89 = vxorpd_avx512dq(auVar122,_DAT_181e4b8c0); + bVar14 = (bool)((byte)uVar47 & 1); + auVar122._0_8_ = (ulonglong)bVar14 * auVar89._0_8_ | (ulonglong)!bVar14 * auVar53._0_8_; + bVar14 = (bool)((byte)(uVar47 >> 1) & 1); + auVar122._8_8_ = (ulonglong)bVar14 * auVar89._8_8_ | (ulonglong)!bVar14 * auVar53._8_8_; + auVar122._16_8_ = (ulonglong)((byte)(uVar47 >> 2) & 1) * auVar89._16_8_; + auVar122._24_8_ = (ulonglong)((byte)(uVar47 >> 3) & 1) * auVar89._24_8_; + auVar122._32_8_ = (ulonglong)((byte)(uVar47 >> 4) & 1) * auVar89._32_8_; + auVar122._40_8_ = (ulonglong)((byte)(uVar47 >> 5) & 1) * auVar89._40_8_; + auVar122._48_8_ = (ulonglong)((byte)(uVar47 >> 6) & 1) * auVar89._48_8_; + auVar122._56_8_ = (uVar47 >> 7) * auVar89._56_8_; + auVar123 = vxorpd_avx512dq(auVar123,_DAT_181e4b8c0); + bVar14 = (bool)((byte)uVar28 & 1); + auVar89._0_8_ = (ulonglong)bVar14 * auVar123._0_8_ | (ulonglong)!bVar14 * auVar54._0_8_; + bVar14 = (bool)((byte)(uVar28 >> 1) & 1); + auVar89._8_8_ = (ulonglong)bVar14 * auVar123._8_8_ | (ulonglong)!bVar14 * auVar54._8_8_; + auVar89._16_8_ = (ulonglong)((byte)(uVar28 >> 2) & 1) * auVar123._16_8_; + auVar89._24_8_ = (ulonglong)((byte)(uVar28 >> 3) & 1) * auVar123._24_8_; + auVar89._32_8_ = (ulonglong)((byte)(uVar28 >> 4) & 1) * auVar123._32_8_; + auVar89._40_8_ = (ulonglong)((byte)(uVar28 >> 5) & 1) * auVar123._40_8_; + auVar89._48_8_ = (ulonglong)((byte)(uVar28 >> 6) & 1) * auVar123._48_8_; + auVar89._56_8_ = (uVar28 >> 7) * auVar123._56_8_; + auVar122 = vpsrlq_avx512f(auVar122,4); + auVar89 = vpsrlq_avx512f(auVar89,4); + auVar53 = vfmadd231pd_avx512vl(DAT_181e4b940._0_16_,DAT_181e4b900._0_16_,auVar63); + auVar54 = vfmadd231pd_avx512vl(DAT_181e4b940._0_16_,DAT_181e4b900._0_16_,auVar64); + auVar53 = vfmadd213pd_avx512vl(auVar53,auVar63,DAT_181e4ba00._0_16_); + auVar54 = vfmadd213pd_avx512vl(auVar54,auVar64,DAT_181e4ba00._0_16_); + auVar123 = vpsllq_avx512f(auVar83,0x20); + auVar75 = auVar87._0_16_; + auVar68 = auVar85._0_16_; + auVar57 = vfmadd213pd_avx512vl(auVar68,auVar61,auVar75); + auVar74 = auVar88._0_16_; + auVar76 = auVar86._0_16_; + auVar59 = vfmadd213pd_avx512vl(auVar76,auVar62,auVar74); + auVar60 = vsubpd_avx512vl(auVar57,auVar75); + auVar65 = vsubpd_avx512vl(auVar59,auVar74); + auVar60 = vfmsub231pd_avx512vl(auVar60,auVar61,auVar68); + auVar65 = vfmsub231pd_avx512vl(auVar65,auVar62,auVar76); + auVar60 = vfmadd213pd_avx512vl(auVar82._0_16_,auVar61,auVar60); + auVar65 = vfmadd213pd_avx512vl(auVar83._0_16_,auVar62,auVar65); + auVar82 = vpsllq_avx512f(auVar89,0x3f); + auVar66 = vfmadd231pd_avx512vl(DAT_181e4b9c0._0_16_,DAT_181e4b980._0_16_,auVar63); + auVar67 = vfmadd231pd_avx512vl(DAT_181e4b9c0._0_16_,DAT_181e4b980._0_16_,auVar64); + auVar56 = vsubpd_avx512vl(auVar58,auVar56); + auVar58 = vfmadd213pd_avx512vl(auVar66,auVar63,DAT_181e4ba40._0_16_); + auVar66 = vfmadd213pd_avx512vl(auVar67,auVar64,DAT_181e4ba40._0_16_); + auVar53 = vfmadd213pd_avx512vl(auVar53,auVar63,DAT_181e4ba80._0_16_); + auVar54 = vfmadd213pd_avx512vl(auVar54,auVar64,DAT_181e4ba80._0_16_); + auVar58 = vfmadd213pd_avx512vl(auVar58,auVar63,DAT_181e4bac0._0_16_); + auVar66 = vfmadd213pd_avx512vl(auVar66,auVar64,DAT_181e4bac0._0_16_); + auVar67 = vmulpd_avx512vl(auVar68,auVar61); + auVar61 = vfnmadd213pd_avx512vl(auVar75,auVar61,auVar68); + auVar68 = vfnmadd213pd_avx512vl(auVar74,auVar62,auVar76); + auVar62 = vmulpd_avx512vl(auVar76,auVar62); + auVar53 = vmulpd_avx512vl(auVar75,auVar53); + auVar54 = vmulpd_avx512vl(auVar74,auVar54); + auVar55 = vfmadd213pd_avx512vl(auVar61,auVar55,auVar84._0_16_); + auVar56 = vfmadd213pd_avx512vl(auVar68,auVar56,auVar123._0_16_); + auVar58 = vfmadd213pd_avx512vl(auVar58,auVar67,auVar53); + auVar61 = vfmadd213pd_avx512vl(auVar66,auVar62,auVar54); + auVar83 = vpsllq_avx512f(auVar122,0x3f); + auVar55 = vaddpd_avx512vl(auVar60,auVar55); + auVar60 = vaddpd_avx512vl(auVar65,auVar56); + auVar55 = vfmadd213pd_avx512vl(auVar58,auVar63,auVar55); + auVar58 = vfmadd213pd_avx512vl(auVar61,auVar64,auVar60); + auVar55 = vaddpd_avx512vl(auVar57,auVar55); + auVar57 = vaddpd_avx512vl(auVar59,auVar58); + auVar84 = vxorpd_avx512dq(ZEXT1664(auVar55),auVar83); + auVar85 = vxorpd_avx512dq(ZEXT1664(auVar57),auVar82); + auVar82 = auVar85; + auVar83 = auVar84; + if (CONCAT11((byte)uVar48,(byte)uVar52) != 0) { + auVar111 = vandpd_avx512dq(_DAT_181e4fb80,auVar81); + auVar82 = vandpd_avx512dq(_DAT_181e4fb80,auVar80); + auVar55._8_8_ = 0; + auVar55._0_8_ = DAT_181e5c080; + auVar83 = vpbroadcastq_avx512f(auVar55); + local_340 = vxorpd_avx512dq(auVar81,auVar124); + local_380 = vxorpd_avx512dq(auVar80,auVar125); + auVar57._8_8_ = 0; + auVar57._0_8_ = DAT_181e5c080; + auVar88 = vpbroadcastq_avx512f(auVar57); + auVar58._8_8_ = 0; + auVar58._0_8_ = DAT_181e5c098; + auVar122 = vpbroadcastq_avx512f(auVar58); + uVar47 = vcmppd_avx512f(auVar111,_DAT_181e4fb80,4); + uVar28 = vcmppd_avx512f(auVar82,_DAT_181e4fb80,4); + auVar86._8_8_ = DAT_181e5c088; + auVar86._0_8_ = DAT_181e5c088; + auVar86._16_8_ = DAT_181e5c088; + auVar86._24_8_ = DAT_181e5c088; + auVar86._32_8_ = DAT_181e5c088; + auVar86._40_8_ = DAT_181e5c088; + auVar86._48_8_ = DAT_181e5c088; + auVar86._56_8_ = DAT_181e5c088; + auVar86 = vpandq_avx512f(auVar80,auVar86); + auVar86 = vpsrlq_avx512f(auVar86,0x34); + auVar87 = vpsllq_avx512f(auVar86,1); + auVar87 = vpaddq_avx512f(auVar87,auVar86); + auVar55 = auVar86._0_16_; + uVar24 = vpcmpeqb_avx512vl(auVar55,auVar55); + uVar25 = vpcmpeqb_avx512vl(auVar55,auVar55); + auVar86 = vpsllq_avx512f(auVar87,3); + vpmovqd_avx512f(auVar86); + auVar59._8_8_ = 0; + auVar59._0_8_ = DAT_181e5c0a0; + auVar86 = vpbroadcastq_avx512f(auVar59); + auVar87._8_8_ = DAT_181e5c088; + auVar87._0_8_ = DAT_181e5c088; + auVar87._16_8_ = DAT_181e5c088; + auVar87._24_8_ = DAT_181e5c088; + auVar87._32_8_ = DAT_181e5c088; + auVar87._40_8_ = DAT_181e5c088; + auVar87._48_8_ = DAT_181e5c088; + auVar87._56_8_ = DAT_181e5c088; + auVar87 = vpandq_avx512f(auVar81,auVar87); + auVar87 = vpsrlq_avx512f(auVar87,0x34); + auVar123 = vpsllq_avx512f(auVar87,1); + auVar87 = vpaddq_avx512f(auVar123,auVar87); + auVar87 = vpsllq_avx512f(auVar87,3); + vpmovqd_avx512f(auVar87); + auVar111 = vpandnq_avx512f(auVar111,auVar111); + bVar14 = (bool)((byte)uVar47 & 1); + auVar106._0_8_ = (ulonglong)bVar14 * auVar111._0_8_ | (ulonglong)!bVar14 * auVar83._0_8_ + ; + bVar14 = (bool)((byte)(uVar47 >> 1) & 1); + auVar106._8_8_ = (ulonglong)bVar14 * auVar111._8_8_ | (ulonglong)!bVar14 * auVar83._8_8_ + ; + bVar14 = (bool)((byte)(uVar47 >> 2) & 1); + auVar106._16_8_ = + (ulonglong)bVar14 * auVar111._16_8_ | (ulonglong)!bVar14 * auVar83._16_8_; + bVar14 = (bool)((byte)(uVar47 >> 3) & 1); + auVar106._24_8_ = + (ulonglong)bVar14 * auVar111._24_8_ | (ulonglong)!bVar14 * auVar83._24_8_; + bVar14 = (bool)((byte)(uVar47 >> 4) & 1); + auVar106._32_8_ = + (ulonglong)bVar14 * auVar111._32_8_ | (ulonglong)!bVar14 * auVar83._32_8_; + bVar14 = (bool)((byte)(uVar47 >> 5) & 1); + auVar106._40_8_ = + (ulonglong)bVar14 * auVar111._40_8_ | (ulonglong)!bVar14 * auVar83._40_8_; + bVar14 = (bool)((byte)(uVar47 >> 6) & 1); + auVar106._48_8_ = + (ulonglong)bVar14 * auVar111._48_8_ | (ulonglong)!bVar14 * auVar83._48_8_; + auVar106._56_8_ = + (uVar47 >> 7) * auVar111._56_8_ | (ulonglong)!SUB81(uVar47 >> 7,0) * auVar83._56_8_ + ; + uVar22 = vcmppd_avx512f(auVar106,auVar106,3); + auVar111 = vpandnq_avx512f(auVar82,auVar82); + bVar14 = (bool)((byte)uVar28 & 1); + auVar107._0_8_ = (ulonglong)bVar14 * auVar111._0_8_ | (ulonglong)!bVar14 * auVar88._0_8_ + ; + bVar14 = (bool)((byte)(uVar28 >> 1) & 1); + auVar107._8_8_ = (ulonglong)bVar14 * auVar111._8_8_ | (ulonglong)!bVar14 * auVar88._8_8_ + ; + bVar14 = (bool)((byte)(uVar28 >> 2) & 1); + auVar107._16_8_ = + (ulonglong)bVar14 * auVar111._16_8_ | (ulonglong)!bVar14 * auVar88._16_8_; + bVar14 = (bool)((byte)(uVar28 >> 3) & 1); + auVar107._24_8_ = + (ulonglong)bVar14 * auVar111._24_8_ | (ulonglong)!bVar14 * auVar88._24_8_; + bVar14 = (bool)((byte)(uVar28 >> 4) & 1); + auVar107._32_8_ = + (ulonglong)bVar14 * auVar111._32_8_ | (ulonglong)!bVar14 * auVar88._32_8_; + bVar14 = (bool)((byte)(uVar28 >> 5) & 1); + auVar107._40_8_ = + (ulonglong)bVar14 * auVar111._40_8_ | (ulonglong)!bVar14 * auVar88._40_8_; + bVar14 = (bool)((byte)(uVar28 >> 6) & 1); + auVar107._48_8_ = + (ulonglong)bVar14 * auVar111._48_8_ | (ulonglong)!bVar14 * auVar88._48_8_; + auVar107._56_8_ = + (uVar28 >> 7) * auVar111._56_8_ | (ulonglong)!SUB81(uVar28 >> 7,0) * auVar88._56_8_ + ; + uVar47 = vpcmpeqb_avx512vl(auVar55,auVar55); + uVar28 = vpcmpeqb_avx512vl(auVar55,auVar55); + uVar26 = vpcmpeqb_avx512vl(auVar55,auVar55); + uVar23 = vcmppd_avx512f(auVar107,auVar107,3); + uVar42 = (uint)uVar23 | (int)uVar22 << 8; + uVar49 = (ulonglong)uVar42; + auVar111 = vpxord_avx512f(auVar89,auVar89); + auVar82 = vgatherdpd_avx512f(*(undefined4 *)(&DAT_181e4fe80 + uVar49)); + bVar14 = (bool)((byte)uVar24 & 1); + auVar108._0_8_ = (ulonglong)bVar14 * auVar82._0_8_ | (ulonglong)!bVar14 * auVar111._0_8_ + ; + bVar14 = (bool)((byte)(uVar24 >> 1) & 1); + auVar108._8_8_ = (ulonglong)bVar14 * auVar82._8_8_ | (ulonglong)!bVar14 * auVar111._8_8_ + ; + bVar14 = (bool)((byte)(uVar24 >> 2) & 1); + auVar108._16_8_ = + (ulonglong)bVar14 * auVar82._16_8_ | (ulonglong)!bVar14 * auVar111._16_8_; + bVar14 = (bool)((byte)(uVar24 >> 3) & 1); + auVar108._24_8_ = + (ulonglong)bVar14 * auVar82._24_8_ | (ulonglong)!bVar14 * auVar111._24_8_; + bVar14 = (bool)((byte)(uVar24 >> 4) & 1); + auVar108._32_8_ = + (ulonglong)bVar14 * auVar82._32_8_ | (ulonglong)!bVar14 * auVar111._32_8_; + bVar14 = (bool)((byte)(uVar24 >> 5) & 1); + auVar108._40_8_ = + (ulonglong)bVar14 * auVar82._40_8_ | (ulonglong)!bVar14 * auVar111._40_8_; + bVar14 = (bool)((byte)(uVar24 >> 6) & 1); + auVar108._48_8_ = + (ulonglong)bVar14 * auVar82._48_8_ | (ulonglong)!bVar14 * auVar111._48_8_; + bVar14 = (bool)((byte)(uVar24 >> 7) & 1); + auVar108._56_8_ = + (ulonglong)bVar14 * auVar82._56_8_ | (ulonglong)!bVar14 * auVar111._56_8_; + uVar24 = vpcmpeqb_avx512vl(auVar55,auVar55); + auVar111 = vpsrlq_avx512f(auVar108,0x20); + auVar82 = vpxord_avx512f(ZEXT1664(auVar65),ZEXT1664(auVar65)); + auVar83 = vpxord_avx512f(ZEXT1664(auVar53),ZEXT1664(auVar53)); + auVar87 = vpxord_avx512f(ZEXT1664(auVar56),ZEXT1664(auVar56)); + auVar89 = vpxord_avx512f(_DAT_181e4fb80,_DAT_181e4fb80); + auVar96 = vpxord_avx512f(ZEXT1664(auVar54),ZEXT1664(auVar54)); + auVar88._8_8_ = DAT_181e5c090; + auVar88._0_8_ = DAT_181e5c090; + auVar88._16_8_ = DAT_181e5c090; + auVar88._24_8_ = DAT_181e5c090; + auVar88._32_8_ = DAT_181e5c090; + auVar88._40_8_ = DAT_181e5c090; + auVar88._48_8_ = DAT_181e5c090; + auVar88._56_8_ = DAT_181e5c090; + auVar88 = vpandq_avx512f(auVar80,auVar88); + auVar123._8_8_ = DAT_181e5c090; + auVar123._0_8_ = DAT_181e5c090; + auVar123._16_8_ = DAT_181e5c090; + auVar123._24_8_ = DAT_181e5c090; + auVar123._32_8_ = DAT_181e5c090; + auVar123._40_8_ = DAT_181e5c090; + auVar123._48_8_ = DAT_181e5c090; + auVar123._56_8_ = DAT_181e5c090; + auVar123 = vpandq_avx512f(auVar81,auVar123); + auVar88 = vpaddq_avx512f(auVar88,auVar122); + auVar122 = vpaddq_avx512f(auVar123,auVar122); + auVar123 = vgatherdpd_avx512f(*(undefined4 *)(ppuVar45 + 0x303c9fd0)); + bVar14 = (bool)((byte)uVar25 & 1); + auVar112._0_8_ = (ulonglong)bVar14 * auVar123._0_8_ | (ulonglong)!bVar14 * auVar82._0_8_ + ; + bVar14 = (bool)((byte)(uVar25 >> 1) & 1); + auVar112._8_8_ = (ulonglong)bVar14 * auVar123._8_8_ | (ulonglong)!bVar14 * auVar82._8_8_ + ; + bVar14 = (bool)((byte)(uVar25 >> 2) & 1); + auVar112._16_8_ = + (ulonglong)bVar14 * auVar123._16_8_ | (ulonglong)!bVar14 * auVar82._16_8_; + bVar14 = (bool)((byte)(uVar25 >> 3) & 1); + auVar112._24_8_ = + (ulonglong)bVar14 * auVar123._24_8_ | (ulonglong)!bVar14 * auVar82._24_8_; + bVar14 = (bool)((byte)(uVar25 >> 4) & 1); + auVar112._32_8_ = + (ulonglong)bVar14 * auVar123._32_8_ | (ulonglong)!bVar14 * auVar82._32_8_; + bVar14 = (bool)((byte)(uVar25 >> 5) & 1); + auVar112._40_8_ = + (ulonglong)bVar14 * auVar123._40_8_ | (ulonglong)!bVar14 * auVar82._40_8_; + bVar14 = (bool)((byte)(uVar25 >> 6) & 1); + auVar112._48_8_ = + (ulonglong)bVar14 * auVar123._48_8_ | (ulonglong)!bVar14 * auVar82._48_8_; + bVar14 = (bool)((byte)(uVar25 >> 7) & 1); + auVar112._56_8_ = + (ulonglong)bVar14 * auVar123._56_8_ | (ulonglong)!bVar14 * auVar82._56_8_; + auVar82 = vgatherdpd_avx512f(*(undefined4 *)(&DAT_181e4fe88 + uVar49)); + bVar14 = (bool)((byte)uVar47 & 1); + auVar113._0_8_ = (ulonglong)bVar14 * auVar82._0_8_ | (ulonglong)!bVar14 * auVar83._0_8_; + bVar14 = (bool)((byte)(uVar47 >> 1) & 1); + auVar113._8_8_ = (ulonglong)bVar14 * auVar82._8_8_ | (ulonglong)!bVar14 * auVar83._8_8_; + bVar14 = (bool)((byte)(uVar47 >> 2) & 1); + auVar113._16_8_ = + (ulonglong)bVar14 * auVar82._16_8_ | (ulonglong)!bVar14 * auVar83._16_8_; + bVar14 = (bool)((byte)(uVar47 >> 3) & 1); + auVar113._24_8_ = + (ulonglong)bVar14 * auVar82._24_8_ | (ulonglong)!bVar14 * auVar83._24_8_; + bVar14 = (bool)((byte)(uVar47 >> 4) & 1); + auVar113._32_8_ = + (ulonglong)bVar14 * auVar82._32_8_ | (ulonglong)!bVar14 * auVar83._32_8_; + bVar14 = (bool)((byte)(uVar47 >> 5) & 1); + auVar113._40_8_ = + (ulonglong)bVar14 * auVar82._40_8_ | (ulonglong)!bVar14 * auVar83._40_8_; + bVar14 = (bool)((byte)(uVar47 >> 6) & 1); + auVar113._48_8_ = + (ulonglong)bVar14 * auVar82._48_8_ | (ulonglong)!bVar14 * auVar83._48_8_; + bVar14 = (bool)((byte)(uVar47 >> 7) & 1); + auVar113._56_8_ = + (ulonglong)bVar14 * auVar82._56_8_ | (ulonglong)!bVar14 * auVar83._56_8_; + auVar82 = vgatherdpd_avx512f(*(undefined4 *)(&DAT_181e4fe90 + uVar49)); + bVar14 = (bool)((byte)uVar26 & 1); + auVar114._0_8_ = (ulonglong)bVar14 * auVar82._0_8_ | (ulonglong)!bVar14 * auVar87._0_8_; + bVar14 = (bool)((byte)(uVar26 >> 1) & 1); + auVar114._8_8_ = (ulonglong)bVar14 * auVar82._8_8_ | (ulonglong)!bVar14 * auVar87._8_8_; + bVar14 = (bool)((byte)(uVar26 >> 2) & 1); + auVar114._16_8_ = + (ulonglong)bVar14 * auVar82._16_8_ | (ulonglong)!bVar14 * auVar87._16_8_; + bVar14 = (bool)((byte)(uVar26 >> 3) & 1); + auVar114._24_8_ = + (ulonglong)bVar14 * auVar82._24_8_ | (ulonglong)!bVar14 * auVar87._24_8_; + bVar14 = (bool)((byte)(uVar26 >> 4) & 1); + auVar114._32_8_ = + (ulonglong)bVar14 * auVar82._32_8_ | (ulonglong)!bVar14 * auVar87._32_8_; + bVar14 = (bool)((byte)(uVar26 >> 5) & 1); + auVar114._40_8_ = + (ulonglong)bVar14 * auVar82._40_8_ | (ulonglong)!bVar14 * auVar87._40_8_; + bVar14 = (bool)((byte)(uVar26 >> 6) & 1); + auVar114._48_8_ = + (ulonglong)bVar14 * auVar82._48_8_ | (ulonglong)!bVar14 * auVar87._48_8_; + bVar14 = (bool)((byte)(uVar26 >> 7) & 1); + auVar114._56_8_ = + (ulonglong)bVar14 * auVar82._56_8_ | (ulonglong)!bVar14 * auVar87._56_8_; + auVar82 = vgatherdpd_avx512f(*(undefined4 *)(ppuVar45 + 0x303c9fd2)); + bVar14 = (bool)((byte)uVar24 & 1); + auVar115._0_8_ = (ulonglong)bVar14 * auVar82._0_8_ | (ulonglong)!bVar14 * auVar89._0_8_; + bVar14 = (bool)((byte)(uVar24 >> 1) & 1); + auVar115._8_8_ = (ulonglong)bVar14 * auVar82._8_8_ | (ulonglong)!bVar14 * auVar89._8_8_; + bVar14 = (bool)((byte)(uVar24 >> 2) & 1); + auVar115._16_8_ = + (ulonglong)bVar14 * auVar82._16_8_ | (ulonglong)!bVar14 * auVar89._16_8_; + bVar14 = (bool)((byte)(uVar24 >> 3) & 1); + auVar115._24_8_ = + (ulonglong)bVar14 * auVar82._24_8_ | (ulonglong)!bVar14 * auVar89._24_8_; + bVar14 = (bool)((byte)(uVar24 >> 4) & 1); + auVar115._32_8_ = + (ulonglong)bVar14 * auVar82._32_8_ | (ulonglong)!bVar14 * auVar89._32_8_; + bVar14 = (bool)((byte)(uVar24 >> 5) & 1); + auVar115._40_8_ = + (ulonglong)bVar14 * auVar82._40_8_ | (ulonglong)!bVar14 * auVar89._40_8_; + bVar14 = (bool)((byte)(uVar24 >> 6) & 1); + auVar115._48_8_ = + (ulonglong)bVar14 * auVar82._48_8_ | (ulonglong)!bVar14 * auVar89._48_8_; + bVar14 = (bool)((byte)(uVar24 >> 7) & 1); + auVar115._56_8_ = + (ulonglong)bVar14 * auVar82._56_8_ | (ulonglong)!bVar14 * auVar89._56_8_; + auVar82 = vgatherdpd_avx512f(*(undefined4 *)(ppuVar45 + 0x303c9fd1)); + bVar14 = (bool)((byte)uVar28 & 1); + auVar116._0_8_ = (ulonglong)bVar14 * auVar82._0_8_ | (ulonglong)!bVar14 * auVar96._0_8_; + bVar14 = (bool)((byte)(uVar28 >> 1) & 1); + auVar116._8_8_ = (ulonglong)bVar14 * auVar82._8_8_ | (ulonglong)!bVar14 * auVar96._8_8_; + bVar14 = (bool)((byte)(uVar28 >> 2) & 1); + auVar116._16_8_ = + (ulonglong)bVar14 * auVar82._16_8_ | (ulonglong)!bVar14 * auVar96._16_8_; + bVar14 = (bool)((byte)(uVar28 >> 3) & 1); + auVar116._24_8_ = + (ulonglong)bVar14 * auVar82._24_8_ | (ulonglong)!bVar14 * auVar96._24_8_; + bVar14 = (bool)((byte)(uVar28 >> 4) & 1); + auVar116._32_8_ = + (ulonglong)bVar14 * auVar82._32_8_ | (ulonglong)!bVar14 * auVar96._32_8_; + bVar14 = (bool)((byte)(uVar28 >> 5) & 1); + auVar116._40_8_ = + (ulonglong)bVar14 * auVar82._40_8_ | (ulonglong)!bVar14 * auVar96._40_8_; + bVar14 = (bool)((byte)(uVar28 >> 6) & 1); + auVar116._48_8_ = + (ulonglong)bVar14 * auVar82._48_8_ | (ulonglong)!bVar14 * auVar96._48_8_; + bVar14 = (bool)((byte)(uVar28 >> 7) & 1); + auVar116._56_8_ = + (ulonglong)bVar14 * auVar82._56_8_ | (ulonglong)!bVar14 * auVar96._56_8_; + auVar82 = vpsrlq_avx512f(auVar112,0x20); + auVar83 = vpsrlq_avx512f(auVar113,0x20); + auVar87 = vpsrlq_avx512f(auVar114,0x20); + auVar89 = vpsrlq_avx512f(auVar115,0x20); + auVar123 = vpsrlq_avx512f(auVar88,0x20); + auVar96 = vpsrlq_avx512f(auVar122,0x20); + auVar97 = vpsrlq_avx512f(auVar116,0x20); + auVar90 = vpandq_avx512f(auVar108,auVar86); + auVar91 = vpandq_avx512f(auVar112,auVar86); + auVar92 = vpandq_avx512f(auVar113,auVar86); + auVar93 = vpandq_avx512f(auVar114,auVar86); + auVar88 = vpandq_avx512f(auVar88,auVar86); + auVar122 = vpandq_avx512f(auVar122,auVar86); + auVar121 = vpmullq_avx512dq(auVar123,auVar90); + auVar95 = vpmullq_avx512dq(auVar96,auVar91); + auVar102 = vpmullq_avx512dq(auVar123,auVar83); + auVar103 = vpmullq_avx512dq(auVar96,auVar89); + auVar82 = vpmullq_avx512dq(auVar122,auVar82); + auVar90 = vpmullq_avx512dq(auVar88,auVar90); + auVar91 = vpmullq_avx512dq(auVar122,auVar91); + auVar83 = vpmullq_avx512dq(auVar88,auVar83); + auVar104 = vpmullq_avx512dq(auVar88,auVar87); + auVar89 = vpmullq_avx512dq(auVar122,auVar89); + auVar105 = vpmullq_avx512dq(auVar96,auVar97); + auVar111 = vpmullq_avx512dq(auVar88,auVar111); + auVar88 = vpmullq_avx512dq(auVar88,auVar92); + auVar97 = vpmullq_avx512dq(auVar122,auVar97); + auVar106 = vpandq_avx512f(auVar116,auVar86); + auVar107 = vpandq_avx512f(auVar115,auVar86); + auVar92 = vpmullq_avx512dq(auVar123,auVar92); + auVar87 = vpmullq_avx512dq(auVar123,auVar87); + auVar123 = vpmullq_avx512dq(auVar123,auVar93); + auVar93 = vpmullq_avx512dq(auVar96,auVar106); + auVar96 = vpmullq_avx512dq(auVar96,auVar107); + auVar122 = vpmullq_avx512dq(auVar122,auVar106); + auVar104 = vpsrlq_avx512f(auVar104,0x20); + auVar89 = vpsrlq_avx512f(auVar89,0x20); + auVar106 = vpsrlq_avx512f(auVar83,0x20); + auVar107 = vpsrlq_avx512f(auVar90,0x20); + auVar108 = vpsrlq_avx512f(auVar88,0x20); + auVar87 = vpaddq_avx512f(auVar87,auVar104); + auVar89 = vpaddq_avx512f(auVar103,auVar89); + auVar102 = vpaddq_avx512f(auVar102,auVar106); + auVar121 = vpaddq_avx512f(auVar121,auVar107); + auVar92 = vpaddq_avx512f(auVar92,auVar108); + auVar103 = vpsrlq_avx512f(auVar91,0x20); + auVar96 = vpsrlq_avx512f(auVar96,0x20); + auVar104 = vpsrlq_avx512f(auVar97,0x20); + auVar106 = vpsrlq_avx512f(auVar122,0x20); + auVar95 = vpaddq_avx512f(auVar95,auVar103); + auVar103 = vpaddq_avx512f(auVar105,auVar104); + auVar93 = vpaddq_avx512f(auVar93,auVar106); + auVar123 = vpsrlq_avx512f(auVar123,0x20); + auVar122 = vpandq_avx512f(auVar122,auVar86); + auVar122 = vpaddq_avx512f(auVar122,auVar89); + auVar83 = vpandq_avx512f(auVar83,auVar86); + auVar89 = vpandq_avx512f(auVar97,auVar86); + auVar111 = vpandq_avx512f(auVar111,auVar86); + auVar111 = vpaddq_avx512f(auVar111,auVar121); + auVar122 = vpaddq_avx512f(auVar96,auVar122); + auVar89 = vpaddq_avx512f(auVar89,auVar93); + auVar83 = vpaddq_avx512f(auVar83,auVar92); + auVar82 = vpandq_avx512f(auVar82,auVar86); + auVar82 = vpaddq_avx512f(auVar82,auVar95); + auVar96 = vpsrlq_avx512f(auVar122,0x20); + auVar88 = vpandq_avx512f(auVar88,auVar86); + auVar87 = vpaddq_avx512f(auVar88,auVar87); + auVar88 = vpaddq_avx512f(auVar96,auVar89); + auVar87 = vpaddq_avx512f(auVar123,auVar87); + auVar89 = vpsrlq_avx512f(auVar88,0x20); + auVar88 = vpsllq_avx512f(auVar88,0x20); + auVar123 = vpsrlq_avx512f(auVar87,0x20); + auVar83 = vpaddq_avx512f(auVar123,auVar83); + auVar123 = vpsrlq_avx512f(auVar83,0x20); + auVar83 = vpsllq_avx512f(auVar83,0x20); + auVar96 = vpandq_avx512f(auVar91,auVar86); + auVar96 = vpaddq_avx512f(auVar96,auVar103); + auVar97 = vpandq_avx512f(auVar90,auVar86); + auVar97 = vpaddq_avx512f(auVar97,auVar102); + auVar89 = vpaddq_avx512f(auVar89,auVar96); + auVar123 = vpaddq_avx512f(auVar123,auVar97); + auVar96 = vpsrlq_avx512f(auVar89,0x20); + auVar97 = vpsrlq_avx512f(auVar123,0x20); + auVar82 = vpaddq_avx512f(auVar96,auVar82); + auVar53._8_8_ = 0; + auVar53._0_8_ = DAT_181e5c0b8; + auVar90 = vpbroadcastq_avx512f(auVar53); + auVar111 = vpaddq_avx512f(auVar97,auVar111); + auVar54._8_8_ = 0; + auVar54._0_8_ = DAT_181e5c0c0; + auVar106 = vpbroadcastq_avx512f(auVar54); + auVar82 = vpsllq_avx512f(auVar82,0x20); + auVar89 = vpandq_avx512f(auVar89,auVar86); + auVar82 = vpaddq_avx512f(auVar82,auVar89); + auVar89 = vpsrlq_avx512f(auVar82,0xc); + auVar87 = vpandq_avx512f(auVar87,auVar86); + auVar122 = vpandq_avx512f(auVar122,auVar86); + auVar86 = vpandq_avx512f(auVar123,auVar86); + auVar111 = vpsllq_avx512f(auVar111,0x20); + auVar111 = vpaddq_avx512f(auVar111,auVar86); + auVar86 = vpaddq_avx512f(auVar88,auVar122); + auVar83 = vpaddq_avx512f(auVar83,auVar87); + auVar87 = vpsrlq_avx512f(auVar111,0xc); + auVar96._8_8_ = DAT_181e5c0a8; + auVar96._0_8_ = DAT_181e5c0a8; + auVar96._16_8_ = DAT_181e5c0a8; + auVar96._24_8_ = DAT_181e5c0a8; + auVar96._32_8_ = DAT_181e5c0a8; + auVar96._40_8_ = DAT_181e5c0a8; + auVar96._48_8_ = DAT_181e5c0a8; + auVar96._56_8_ = DAT_181e5c0a8; + auVar88 = vpandq_avx512f(auVar81,auVar96); + auVar97._8_8_ = DAT_181e5c0b0; + auVar97._0_8_ = DAT_181e5c0b0; + auVar97._16_8_ = DAT_181e5c0b0; + auVar97._24_8_ = DAT_181e5c0b0; + auVar97._32_8_ = DAT_181e5c0b0; + auVar97._40_8_ = DAT_181e5c0b0; + auVar97._48_8_ = DAT_181e5c0b0; + auVar97._56_8_ = DAT_181e5c0b0; + auVar122 = vpternlogq_avx512f(auVar89,auVar88,auVar97,0xf6); + auVar56 = auVar90._0_16_; + auVar53 = vaddpd_avx512vl(auVar56,auVar122._0_16_); + auVar54 = vsubpd_avx512vl(auVar53,auVar56); + auVar54 = vsubpd_avx512vl(auVar122._0_16_,auVar54); + auVar90._8_8_ = DAT_181e5c0e0; + auVar90._0_8_ = DAT_181e5c0e0; + auVar90._16_8_ = DAT_181e5c0e0; + auVar90._24_8_ = DAT_181e5c0e0; + auVar90._32_8_ = DAT_181e5c0e0; + auVar90._40_8_ = DAT_181e5c0e0; + auVar90._48_8_ = DAT_181e5c0e0; + auVar90._56_8_ = DAT_181e5c0e0; + auVar82 = vpandq_avx512f(auVar82,auVar90); + auVar91._8_8_ = DAT_181e5c0d0; + auVar91._0_8_ = DAT_181e5c0d0; + auVar91._16_8_ = DAT_181e5c0d0; + auVar91._24_8_ = DAT_181e5c0d0; + auVar91._32_8_ = DAT_181e5c0d0; + auVar91._40_8_ = DAT_181e5c0d0; + auVar91._48_8_ = DAT_181e5c0d0; + auVar91._56_8_ = DAT_181e5c0d0; + auVar122 = vpandq_avx512f(auVar86,auVar91); + auVar82 = vpsllq_avx512f(auVar82,0x28); + auVar86 = vpsrlq_avx512f(auVar86,0x18); + auVar122 = vpsllq_avx512f(auVar122,0x1c); + auVar92._8_8_ = DAT_181e5c0d8; + auVar92._0_8_ = DAT_181e5c0d8; + auVar92._16_8_ = DAT_181e5c0d8; + auVar92._24_8_ = DAT_181e5c0d8; + auVar92._32_8_ = DAT_181e5c0d8; + auVar92._40_8_ = DAT_181e5c0d8; + auVar92._48_8_ = DAT_181e5c0d8; + auVar92._56_8_ = DAT_181e5c0d8; + auVar89 = vpxorq_avx512f(auVar88,auVar92); + auVar82 = vpternlogq_avx512f(auVar86,auVar82,auVar89,0xfe); + auVar55 = vsubpd_avx512vl(auVar82._0_16_,auVar89._0_16_); + auVar57 = vaddpd_avx512vl(auVar54,auVar55); + auVar54 = vsubpd_avx512vl(auVar54,auVar57); + auVar54 = vaddpd_avx512vl(auVar55,auVar54); + auVar93._8_8_ = DAT_181e5c0a8; + auVar93._0_8_ = DAT_181e5c0a8; + auVar93._16_8_ = DAT_181e5c0a8; + auVar93._24_8_ = DAT_181e5c0a8; + auVar93._32_8_ = DAT_181e5c0a8; + auVar93._40_8_ = DAT_181e5c0a8; + auVar93._48_8_ = DAT_181e5c0a8; + auVar93._56_8_ = DAT_181e5c0a8; + auVar82 = vpandq_avx512f(auVar80,auVar93); + auVar121._8_8_ = DAT_181e5c0b0; + auVar121._0_8_ = DAT_181e5c0b0; + auVar121._16_8_ = DAT_181e5c0b0; + auVar121._24_8_ = DAT_181e5c0b0; + auVar121._32_8_ = DAT_181e5c0b0; + auVar121._40_8_ = DAT_181e5c0b0; + auVar121._48_8_ = DAT_181e5c0b0; + auVar121._56_8_ = DAT_181e5c0b0; + auVar86 = vpternlogq_avx512f(auVar87,auVar82,auVar121,0xf6); + auVar55 = vaddpd_avx512vl(auVar56,auVar86._0_16_); + auVar56 = vsubpd_avx512vl(auVar55,auVar56); + auVar58 = vsubpd_avx512vl(auVar86._0_16_,auVar56); + auVar95._8_8_ = DAT_181e5c0d0; + auVar95._0_8_ = DAT_181e5c0d0; + auVar95._16_8_ = DAT_181e5c0d0; + auVar95._24_8_ = DAT_181e5c0d0; + auVar95._32_8_ = DAT_181e5c0d0; + auVar95._40_8_ = DAT_181e5c0d0; + auVar95._48_8_ = DAT_181e5c0d0; + auVar95._56_8_ = DAT_181e5c0d0; + auVar86 = vpandq_avx512f(auVar83,auVar95); + auVar86 = vpsllq_avx512f(auVar86,0x1c); + auVar83 = vpsrlq_avx512f(auVar83,0x18); + auVar102._8_8_ = DAT_181e5c0e0; + auVar102._0_8_ = DAT_181e5c0e0; + auVar102._16_8_ = DAT_181e5c0e0; + auVar102._24_8_ = DAT_181e5c0e0; + auVar102._32_8_ = DAT_181e5c0e0; + auVar102._40_8_ = DAT_181e5c0e0; + auVar102._48_8_ = DAT_181e5c0e0; + auVar102._56_8_ = DAT_181e5c0e0; + auVar111 = vpandq_avx512f(auVar111,auVar102); + auVar111 = vpsllq_avx512f(auVar111,0x28); + auVar103._8_8_ = DAT_181e5c0c8; + auVar103._0_8_ = DAT_181e5c0c8; + auVar103._16_8_ = DAT_181e5c0c8; + auVar103._24_8_ = DAT_181e5c0c8; + auVar103._32_8_ = DAT_181e5c0c8; + auVar103._40_8_ = DAT_181e5c0c8; + auVar103._48_8_ = DAT_181e5c0c8; + auVar103._56_8_ = DAT_181e5c0c8; + auVar87 = vpxorq_avx512f(auVar88,auVar103); + auVar104._8_8_ = DAT_181e5c0c8; + auVar104._0_8_ = DAT_181e5c0c8; + auVar104._16_8_ = DAT_181e5c0c8; + auVar104._24_8_ = DAT_181e5c0c8; + auVar104._32_8_ = DAT_181e5c0c8; + auVar104._40_8_ = DAT_181e5c0c8; + auVar104._48_8_ = DAT_181e5c0c8; + auVar104._56_8_ = DAT_181e5c0c8; + auVar88 = vpxorq_avx512f(auVar82,auVar104); + auVar122 = vporq_avx512f(auVar122,auVar87); + auVar86 = vporq_avx512f(auVar86,auVar88); + auVar59 = vsubpd_avx512vl(auVar122._0_16_,auVar87._0_16_); + auVar56._8_8_ = 0; + auVar56._0_8_ = DAT_181e5c0e8; + auVar122 = vpbroadcastq_avx512f(auVar56); + auVar60._8_8_ = 0; + auVar60._0_8_ = DAT_181e5c0f8; + auVar89 = vpbroadcastq_avx512f(auVar60); + auVar54 = vaddpd_avx512vl(auVar54,auVar59); + auVar56 = vsubpd_avx512vl(auVar86._0_16_,auVar88._0_16_); + auVar86 = vandpd_avx512dq(auVar81,auVar89); + auVar66 = auVar122._0_16_; + auVar59 = vmulpd_avx512vl(auVar57,auVar66); + auVar97 = ZEXT1664(auVar59); + auVar105._8_8_ = DAT_181e5c0d8; + auVar105._0_8_ = DAT_181e5c0d8; + auVar105._16_8_ = DAT_181e5c0d8; + auVar105._24_8_ = DAT_181e5c0d8; + auVar105._32_8_ = DAT_181e5c0d8; + auVar105._40_8_ = DAT_181e5c0d8; + auVar105._48_8_ = DAT_181e5c0d8; + auVar105._56_8_ = DAT_181e5c0d8; + auVar82 = vpxorq_avx512f(auVar82,auVar105); + auVar111 = vpternlogq_avx512f(auVar83,auVar111,auVar82,0xfe); + auVar60 = vsubpd_avx512vl(auVar111._0_16_,auVar82._0_16_); + auVar61._8_8_ = 0; + auVar61._0_8_ = DAT_181e5c100; + auVar111 = vpbroadcastq_avx512f(auVar61); + auVar61 = vaddpd_avx512vl(auVar58,auVar60); + uVar47 = vcmppd_avx512f(auVar86,auVar111,0x1a); + uVar28 = vcmppd_avx512f(auVar86,auVar111,0x16); + auVar67 = vmulpd_avx512vl(auVar61,auVar66); + auVar58 = vsubpd_avx512vl(auVar58,auVar61); + auVar58 = vaddpd_avx512vl(auVar60,auVar58); + auVar56 = vaddpd_avx512vl(auVar58,auVar56); + auVar82 = vpandq_avx512f(ZEXT1664(auVar55),auVar106); + auVar83 = vpandq_avx512f(ZEXT1664(auVar53),auVar106); + auVar53 = vfmsub213pd_avx512vl(auVar66,auVar57,auVar59); + auVar83 = vpsllq_avx512f(auVar83,5); + auVar62._8_8_ = 0; + auVar62._0_8_ = DAT_181e5c0f0; + auVar88 = vpbroadcastq_avx512f(auVar62); + auVar53 = vfmadd213pd_avx512vl(auVar57,auVar88._0_16_,auVar53); + auVar63._8_8_ = 0; + auVar63._0_8_ = DAT_181e5c080; + auVar122 = vpbroadcastq_avx512f(auVar63); + auVar53 = vfmadd213pd_avx512vl(auVar54,auVar66,auVar53); + auVar89 = vandpd_avx512dq(auVar80,auVar89); + uVar24 = vcmppd_avx512f(auVar89,auVar111,0x1a); + uVar25 = vcmppd_avx512f(auVar89,auVar111,0x16); + auVar54 = vfmsub213pd_avx512vl(auVar66,auVar61,auVar67); + auVar54 = vfmadd213pd_avx512vl(auVar61,auVar88._0_16_,auVar54); + auVar64._8_8_ = 0; + auVar64._0_8_ = DAT_181e5c080; + auVar111 = vpbroadcastq_avx512f(auVar64); + auVar65._8_8_ = 0; + auVar65._0_8_ = DAT_181e5c080; + auVar88 = vpbroadcastq_avx512f(auVar65); + auVar54 = vfmadd213pd_avx512vl(auVar56,auVar66,auVar54); + auVar66._8_8_ = 0; + auVar66._0_8_ = DAT_181e5c080; + auVar123 = vpbroadcastq_avx512f(auVar66); + auVar96 = vpandnq_avx512f(auVar89,auVar89); + bVar14 = (bool)((byte)uVar24 & 1); + auVar117._0_8_ = (ulonglong)bVar14 * auVar96._0_8_ | (ulonglong)!bVar14 * auVar122._0_8_ + ; + bVar14 = (bool)((byte)(uVar24 >> 1) & 1); + auVar117._8_8_ = (ulonglong)bVar14 * auVar96._8_8_ | (ulonglong)!bVar14 * auVar122._8_8_ + ; + bVar14 = (bool)((byte)(uVar24 >> 2) & 1); + auVar117._16_8_ = + (ulonglong)bVar14 * auVar96._16_8_ | (ulonglong)!bVar14 * auVar122._16_8_; + bVar14 = (bool)((byte)(uVar24 >> 3) & 1); + auVar117._24_8_ = + (ulonglong)bVar14 * auVar96._24_8_ | (ulonglong)!bVar14 * auVar122._24_8_; + bVar14 = (bool)((byte)(uVar24 >> 4) & 1); + auVar117._32_8_ = + (ulonglong)bVar14 * auVar96._32_8_ | (ulonglong)!bVar14 * auVar122._32_8_; + bVar14 = (bool)((byte)(uVar24 >> 5) & 1); + auVar117._40_8_ = + (ulonglong)bVar14 * auVar96._40_8_ | (ulonglong)!bVar14 * auVar122._40_8_; + bVar14 = (bool)((byte)(uVar24 >> 6) & 1); + auVar117._48_8_ = + (ulonglong)bVar14 * auVar96._48_8_ | (ulonglong)!bVar14 * auVar122._48_8_; + auVar117._56_8_ = + (uVar24 >> 7) * auVar96._56_8_ | (ulonglong)!SUB81(uVar24 >> 7,0) * auVar122._56_8_ + ; + auVar122 = vpandnq_avx512f(auVar86,auVar86); + bVar14 = (bool)((byte)uVar47 & 1); + auVar118._0_8_ = + (ulonglong)bVar14 * auVar122._0_8_ | (ulonglong)!bVar14 * auVar123._0_8_; + bVar14 = (bool)((byte)(uVar47 >> 1) & 1); + auVar118._8_8_ = + (ulonglong)bVar14 * auVar122._8_8_ | (ulonglong)!bVar14 * auVar123._8_8_; + bVar14 = (bool)((byte)(uVar47 >> 2) & 1); + auVar118._16_8_ = + (ulonglong)bVar14 * auVar122._16_8_ | (ulonglong)!bVar14 * auVar123._16_8_; + bVar14 = (bool)((byte)(uVar47 >> 3) & 1); + auVar118._24_8_ = + (ulonglong)bVar14 * auVar122._24_8_ | (ulonglong)!bVar14 * auVar123._24_8_; + bVar14 = (bool)((byte)(uVar47 >> 4) & 1); + auVar118._32_8_ = + (ulonglong)bVar14 * auVar122._32_8_ | (ulonglong)!bVar14 * auVar123._32_8_; + bVar14 = (bool)((byte)(uVar47 >> 5) & 1); + auVar118._40_8_ = + (ulonglong)bVar14 * auVar122._40_8_ | (ulonglong)!bVar14 * auVar123._40_8_; + bVar14 = (bool)((byte)(uVar47 >> 6) & 1); + auVar118._48_8_ = + (ulonglong)bVar14 * auVar122._48_8_ | (ulonglong)!bVar14 * auVar123._48_8_; + auVar118._56_8_ = + (uVar47 >> 7) * auVar122._56_8_ | + (ulonglong)!SUB81(uVar47 >> 7,0) * auVar123._56_8_; + auVar122 = vpandnq_avx512f(auVar89,auVar89); + bVar14 = (bool)((byte)uVar25 & 1); + auVar119._0_8_ = + (ulonglong)bVar14 * auVar122._0_8_ | (ulonglong)!bVar14 * auVar111._0_8_; + bVar14 = (bool)((byte)(uVar25 >> 1) & 1); + auVar119._8_8_ = + (ulonglong)bVar14 * auVar122._8_8_ | (ulonglong)!bVar14 * auVar111._8_8_; + bVar14 = (bool)((byte)(uVar25 >> 2) & 1); + auVar119._16_8_ = + (ulonglong)bVar14 * auVar122._16_8_ | (ulonglong)!bVar14 * auVar111._16_8_; + bVar14 = (bool)((byte)(uVar25 >> 3) & 1); + auVar119._24_8_ = + (ulonglong)bVar14 * auVar122._24_8_ | (ulonglong)!bVar14 * auVar111._24_8_; + bVar14 = (bool)((byte)(uVar25 >> 4) & 1); + auVar119._32_8_ = + (ulonglong)bVar14 * auVar122._32_8_ | (ulonglong)!bVar14 * auVar111._32_8_; + bVar14 = (bool)((byte)(uVar25 >> 5) & 1); + auVar119._40_8_ = + (ulonglong)bVar14 * auVar122._40_8_ | (ulonglong)!bVar14 * auVar111._40_8_; + bVar14 = (bool)((byte)(uVar25 >> 6) & 1); + auVar119._48_8_ = + (ulonglong)bVar14 * auVar122._48_8_ | (ulonglong)!bVar14 * auVar111._48_8_; + auVar119._56_8_ = + (uVar25 >> 7) * auVar122._56_8_ | + (ulonglong)!SUB81(uVar25 >> 7,0) * auVar111._56_8_; + auVar111 = vpandnq_avx512f(auVar86,auVar86); + bVar14 = (bool)((byte)uVar28 & 1); + auVar120._0_8_ = (ulonglong)bVar14 * auVar111._0_8_ | (ulonglong)!bVar14 * auVar88._0_8_ + ; + bVar14 = (bool)((byte)(uVar28 >> 1) & 1); + auVar120._8_8_ = (ulonglong)bVar14 * auVar111._8_8_ | (ulonglong)!bVar14 * auVar88._8_8_ + ; + bVar14 = (bool)((byte)(uVar28 >> 2) & 1); + auVar120._16_8_ = + (ulonglong)bVar14 * auVar111._16_8_ | (ulonglong)!bVar14 * auVar88._16_8_; + bVar14 = (bool)((byte)(uVar28 >> 3) & 1); + auVar120._24_8_ = + (ulonglong)bVar14 * auVar111._24_8_ | (ulonglong)!bVar14 * auVar88._24_8_; + bVar14 = (bool)((byte)(uVar28 >> 4) & 1); + auVar120._32_8_ = + (ulonglong)bVar14 * auVar111._32_8_ | (ulonglong)!bVar14 * auVar88._32_8_; + bVar14 = (bool)((byte)(uVar28 >> 5) & 1); + auVar120._40_8_ = + (ulonglong)bVar14 * auVar111._40_8_ | (ulonglong)!bVar14 * auVar88._40_8_; + bVar14 = (bool)((byte)(uVar28 >> 6) & 1); + auVar120._48_8_ = + (ulonglong)bVar14 * auVar111._48_8_ | (ulonglong)!bVar14 * auVar88._48_8_; + auVar120._56_8_ = + (uVar28 >> 7) * auVar111._56_8_ | (ulonglong)!SUB81(uVar28 >> 7,0) * auVar88._56_8_ + ; + auVar111 = vandpd_avx512dq(auVar119,auVar80); + auVar80 = vandpd_avx512dq(auVar120,auVar81); + auVar81 = vandpd_avx512dq(auVar117,ZEXT1664(auVar67)); + auVar86 = vandpd_avx512dq(auVar118,auVar97); + auVar88 = vandpd_avx512dq(auVar117,ZEXT1664(auVar54)); + auVar111 = vorpd_avx512dq(auVar111,auVar81); + auVar81 = vorpd_avx512dq(auVar80,auVar86); + auVar122 = vandpd_avx512dq(auVar118,ZEXT1664(auVar53)); + auVar89 = vpsllq_avx512f(auVar82,5); + vpmovqd_avx512f(auVar89); + auVar55 = DAT_181e4b680._0_16_; + uVar47 = vpcmpeqb_avx512vl(auVar55,auVar55); + uVar28 = vpcmpeqb_avx512vl(auVar55,auVar55); + uVar24 = vpcmpeqb_avx512vl(auVar55,auVar55); + uVar25 = vpcmpeqb_avx512vl(auVar55,auVar55); + uVar26 = vpcmpeqb_avx512vl(auVar55,auVar55); + auVar64 = auVar81._0_16_; + auVar53 = vmulpd_avx512vl(auVar64,auVar64); + auVar63 = auVar111._0_16_; + auVar54 = vmulpd_avx512vl(auVar63,auVar63); + vpmovqd_avx512f(auVar83); + auVar111 = vpxord_avx512f(auVar80,auVar80); + auVar82 = vpxord_avx512f(auVar82,auVar82); + auVar80 = vpxord_avx512f(auVar86,auVar86); + auVar81 = vpxord_avx512f(auVar97,auVar97); + auVar86 = vpxord_avx512f(auVar87,auVar87); + auVar87 = vpxord_avx512f(ZEXT1664(auVar58),ZEXT1664(auVar58)); + auVar83 = vpxord_avx512f(auVar83,auVar83); + auVar89 = vpxord_avx512f(auVar89,auVar89); + auVar123 = vgatherdpd_avx512f(DAT_181e4bb00); + bVar14 = (bool)((byte)uVar47 & 1); + auVar67._0_8_ = (ulonglong)bVar14 * auVar123._0_8_ | (ulonglong)!bVar14 * auVar111._0_8_ + ; + bVar14 = (bool)((byte)(uVar47 >> 1) & 1); + auVar67._8_8_ = (ulonglong)bVar14 * auVar123._8_8_ | (ulonglong)!bVar14 * auVar111._8_8_ + ; + auVar111 = vgatherdpd_avx512f(DAT_181e4bb08); + bVar14 = (bool)((byte)uVar24 & 1); + auVar68._0_8_ = (ulonglong)bVar14 * auVar111._0_8_ | (ulonglong)!bVar14 * auVar82._0_8_; + bVar14 = (bool)((byte)(uVar24 >> 1) & 1); + auVar68._8_8_ = (ulonglong)bVar14 * auVar111._8_8_ | (ulonglong)!bVar14 * auVar82._8_8_; + auVar111 = vgatherdpd_avx512f(DAT_181e4bb10); + bVar14 = (bool)((byte)uVar26 & 1); + auVar74._0_8_ = (ulonglong)bVar14 * auVar111._0_8_ | (ulonglong)!bVar14 * auVar80._0_8_; + bVar14 = (bool)((byte)(uVar26 >> 1) & 1); + auVar74._8_8_ = (ulonglong)bVar14 * auVar111._8_8_ | (ulonglong)!bVar14 * auVar80._8_8_; + auVar111 = vgatherdpd_avx512f(*(undefined4 *)((longlong)&DAT_181e4bb08 + uVar49)); + bVar14 = (bool)((byte)uVar25 & 1); + auVar75._0_8_ = (ulonglong)bVar14 * auVar111._0_8_ | (ulonglong)!bVar14 * auVar81._0_8_; + bVar14 = (bool)((byte)(uVar25 >> 1) & 1); + auVar75._8_8_ = (ulonglong)bVar14 * auVar111._8_8_ | (ulonglong)!bVar14 * auVar81._8_8_; + auVar111 = vgatherdpd_avx512f(*(undefined4 *)((longlong)&DAT_181e4bb00 + uVar49)); + bVar14 = (bool)((byte)uVar28 & 1); + auVar76._0_8_ = (ulonglong)bVar14 * auVar111._0_8_ | (ulonglong)!bVar14 * auVar87._0_8_; + bVar14 = (bool)((byte)(uVar28 >> 1) & 1); + auVar76._8_8_ = (ulonglong)bVar14 * auVar111._8_8_ | (ulonglong)!bVar14 * auVar87._8_8_; + uVar47 = vpcmpeqb_avx512vl(auVar55,auVar55); + uVar28 = vpcmpeqb_avx512vl(auVar55,auVar55); + uVar24 = vpcmpeqb_avx512vl(auVar55,auVar55); + auVar55 = vfmadd213pd_avx512vl(auVar63,auVar68,auVar74); + auVar56 = vfmadd132pd_avx512vl(auVar63,auVar55,auVar67); + auVar111 = vgatherdpd_avx512f(*(undefined4 *)((longlong)&DAT_181e4bb10 + uVar49)); + bVar14 = (bool)((byte)uVar47 & 1); + auVar77._0_8_ = (ulonglong)bVar14 * auVar111._0_8_ | (ulonglong)!bVar14 * auVar86._0_8_; + bVar14 = (bool)((byte)(uVar47 >> 1) & 1); + auVar77._8_8_ = (ulonglong)bVar14 * auVar111._8_8_ | (ulonglong)!bVar14 * auVar86._8_8_; + auVar111 = vgatherdpd_avx512f(DAT_181e4bb18); + bVar14 = (bool)((byte)uVar28 & 1); + auVar78._0_8_ = (ulonglong)bVar14 * auVar111._0_8_ | (ulonglong)!bVar14 * auVar83._0_8_; + bVar14 = (bool)((byte)(uVar28 >> 1) & 1); + auVar78._8_8_ = (ulonglong)bVar14 * auVar111._8_8_ | (ulonglong)!bVar14 * auVar83._8_8_; + auVar111 = vgatherdpd_avx512f(*(undefined4 *)((longlong)&DAT_181e4bb18 + uVar49)); + bVar14 = (bool)((byte)uVar24 & 1); + auVar79._0_8_ = (ulonglong)bVar14 * auVar111._0_8_ | (ulonglong)!bVar14 * auVar89._0_8_; + bVar14 = (bool)((byte)(uVar24 >> 1) & 1); + auVar79._8_8_ = (ulonglong)bVar14 * auVar111._8_8_ | (ulonglong)!bVar14 * auVar89._8_8_; + auVar57 = vfmadd213pd_avx512vl(auVar64,auVar75,auVar77); + auVar58 = vfmadd132pd_avx512vl(auVar64,auVar57,auVar76); + auVar59 = vsubpd_avx512vl(auVar74,auVar55); + auVar55 = vsubpd_avx512vl(auVar55,auVar56); + auVar60 = vsubpd_avx512vl(auVar77,auVar57); + auVar57 = vsubpd_avx512vl(auVar57,auVar58); + auVar59 = vfmadd231pd_avx512vl(auVar59,auVar68,auVar63); + auVar55 = vfmadd231pd_avx512vl(auVar55,auVar63,auVar67); + auVar60 = vfmadd231pd_avx512vl(auVar60,auVar75,auVar64); + auVar57 = vfmadd231pd_avx512vl(auVar57,auVar64,auVar76); + auVar55 = vaddpd_avx512vl(auVar55,auVar59); + auVar57 = vaddpd_avx512vl(auVar57,auVar60); + auVar59 = vaddpd_avx512vl(auVar76,auVar75); + auVar60 = vaddpd_avx512vl(auVar67,auVar68); + auVar61 = vfmadd231pd_avx512vl(DAT_181e4fd40._0_16_,DAT_181e4fd80._0_16_,auVar53); + auVar62 = vfmadd231pd_avx512vl(DAT_181e4fd40._0_16_,DAT_181e4fd80._0_16_,auVar54); + auVar61 = vmulpd_avx512vl(auVar61,auVar53); + auVar62 = vmulpd_avx512vl(auVar62,auVar54); + auVar61 = vmulpd_avx512vl(auVar61,auVar64); + auVar62 = vmulpd_avx512vl(auVar62,auVar63); + auVar63 = vfnmadd213pd_avx512vl(auVar63,auVar74,auVar60); + auVar64 = vfnmadd213pd_avx512vl(auVar64,auVar77,auVar59); + auVar57 = vfmadd213pd_avx512vl(auVar61,auVar59,auVar57); + auVar55 = vfmadd213pd_avx512vl(auVar62,auVar60,auVar55); + auVar59 = vfmadd213pd_avx512vl(auVar88._0_16_,auVar63,auVar78); + auVar60 = vfmadd213pd_avx512vl(auVar122._0_16_,auVar64,auVar79); + auVar61 = vfmadd231pd_avx512vl(DAT_181e4fe00._0_16_,DAT_181e4fe40._0_16_,auVar54); + auVar62 = vfmadd231pd_avx512vl(DAT_181e4fe00._0_16_,DAT_181e4fe40._0_16_,auVar53); + auVar61 = vfmadd213pd_avx512vl(auVar61,auVar54,DAT_181e4fdc0._0_16_); + auVar62 = vfmadd213pd_avx512vl(auVar62,auVar53,DAT_181e4fdc0._0_16_); + auVar54 = vmulpd_avx512vl(auVar61,auVar54); + auVar53 = vmulpd_avx512vl(auVar62,auVar53); + auVar54 = vfmadd213pd_avx512vl(auVar54,auVar74,auVar55); + auVar53 = vfmadd213pd_avx512vl(auVar53,auVar77,auVar57); + auVar54 = vaddpd_avx512vl(auVar54,auVar59); + auVar53 = vaddpd_avx512vl(auVar53,auVar60); + auVar54 = vaddpd_avx512vl(auVar56,auVar54); + auVar53 = vaddpd_avx512vl(auVar58,auVar53); + auVar111 = vxorpd_avx512dq(ZEXT1664(auVar54),local_380); + auVar82 = vxorpd_avx512dq(ZEXT1664(auVar53),local_340); + auVar111 = vblendmpd_avx512f(auVar84,auVar111); + bVar14 = (bool)((byte)uVar52 & 1); + auVar83._0_8_ = (ulonglong)bVar14 * auVar111._0_8_ | (ulonglong)!bVar14 * auVar84._0_8_; + bVar14 = (bool)((byte)(uVar52 >> 1) & 1); + auVar83._8_8_ = (ulonglong)bVar14 * auVar111._8_8_ | (ulonglong)!bVar14 * auVar84._8_8_; + bVar14 = (bool)((byte)(uVar52 >> 2) & 1); + auVar83._16_8_ = + (ulonglong)bVar14 * auVar111._16_8_ | (ulonglong)!bVar14 * auVar84._16_8_; + bVar14 = (bool)((byte)(uVar52 >> 3) & 1); + auVar83._24_8_ = + (ulonglong)bVar14 * auVar111._24_8_ | (ulonglong)!bVar14 * auVar84._24_8_; + bVar14 = (bool)((byte)(uVar52 >> 4) & 1); + auVar83._32_8_ = + (ulonglong)bVar14 * auVar111._32_8_ | (ulonglong)!bVar14 * auVar84._32_8_; + bVar14 = (bool)((byte)(uVar52 >> 5) & 1); + auVar83._40_8_ = + (ulonglong)bVar14 * auVar111._40_8_ | (ulonglong)!bVar14 * auVar84._40_8_; + bVar14 = (bool)((byte)(uVar52 >> 6) & 1); + auVar83._48_8_ = + (ulonglong)bVar14 * auVar111._48_8_ | (ulonglong)!bVar14 * auVar84._48_8_; + auVar83._56_8_ = + (uVar52 >> 7) * auVar111._56_8_ | (ulonglong)!SUB81(uVar52 >> 7,0) * auVar84._56_8_ + ; + auVar111 = vblendmpd_avx512f(auVar85,auVar82); + bVar14 = (bool)((byte)uVar48 & 1); + auVar82._0_8_ = (ulonglong)bVar14 * auVar111._0_8_ | (ulonglong)!bVar14 * auVar85._0_8_; + bVar14 = (bool)((byte)(uVar48 >> 1) & 1); + auVar82._8_8_ = (ulonglong)bVar14 * auVar111._8_8_ | (ulonglong)!bVar14 * auVar85._8_8_; + bVar14 = (bool)((byte)(uVar48 >> 2) & 1); + auVar82._16_8_ = + (ulonglong)bVar14 * auVar111._16_8_ | (ulonglong)!bVar14 * auVar85._16_8_; + bVar14 = (bool)((byte)(uVar48 >> 3) & 1); + auVar82._24_8_ = + (ulonglong)bVar14 * auVar111._24_8_ | (ulonglong)!bVar14 * auVar85._24_8_; + bVar14 = (bool)((byte)(uVar48 >> 4) & 1); + auVar82._32_8_ = + (ulonglong)bVar14 * auVar111._32_8_ | (ulonglong)!bVar14 * auVar85._32_8_; + bVar14 = (bool)((byte)(uVar48 >> 5) & 1); + auVar82._40_8_ = + (ulonglong)bVar14 * auVar111._40_8_ | (ulonglong)!bVar14 * auVar85._40_8_; + bVar14 = (bool)((byte)(uVar48 >> 6) & 1); + auVar82._48_8_ = + (ulonglong)bVar14 * auVar111._48_8_ | (ulonglong)!bVar14 * auVar85._48_8_; + auVar82._56_8_ = + (uVar48 >> 7) * auVar111._56_8_ | (ulonglong)!SUB81(uVar48 >> 7,0) * auVar85._56_8_ + ; + auVar111 = _DAT_181e4b680; + local_300 = auVar124; + local_2c0 = auVar84; + local_280 = auVar85; + } + lVar46 = lVar51; + if (uVar42 != 0) { + local_1c0 = auVar125; + local_180 = auVar124; + local_240 = auVar83; + local_200 = auVar82; + if (cVar43 == '\0') { + cVar43 = '\x01'; + local_408 = local_3a6; + local_400 = local_3a8; + ppuVar45 = &local_408; + uVar44 = FUN_18014c5a0(); + auVar111._8_56_ = extraout_var; + auVar111._0_8_ = extraout_XMM0_Qa; + local_68 = local_68 | uVar44; + } + auVar82 = local_200; + auVar83 = local_240; + if (uVar42 != 0) { + uVar52 = 0; + lVar3 = param_2 + lVar51 * 8; + local_3b8 = lVar50; + local_3b0 = lVar51; + local_3a0 = cVar43; + do { + uVar44 = (uint)uVar52; + if ((uVar42 >> (uVar44 & 0x1f) & 1) != 0) { + local_3c0 = (undefined8 *)(local_240 + uVar52 * 8); + iVar40 = FUN_1801e01a0(); + if (iVar40 != 0) { + *(undefined8 *)(lVar3 + uVar52 * 8) = *local_3c0; + local_3d8 = &DAT_182673130; + local_3e8 = param_2; + local_3e0 = param_2; + local_3c8 = iVar40; + FUN_1803ab5c0(iVar40,(int)lVar51 + uVar44,param_1,param_1); + *local_3c0 = *(undefined8 *)(lVar3 + uVar52 * 8); + local_60 = local_3c8; + ppuVar45 = (undefined1 **)local_3c0; + } + } + uVar52 = (ulonglong)(uVar44 + 1); + lVar50 = local_3b8; + lVar46 = local_3b0; + auVar111 = _DAT_181e4b680; + auVar82 = local_200; + auVar83 = local_240; + cVar43 = local_3a0; + } while ((int)(uVar44 + 1) < 0x10); + } + } + *(undefined1 (*) [64])(param_2 + lVar46 * 8) = auVar83; + *(undefined1 (*) [64])(param_2 + 0x40 + lVar46 * 8) = auVar82; + lVar51 = lVar46 + 0x10; + param_3 = local_78; + } while (lVar51 < lVar50); + } + lVar46 = (longlong)(int)param_3; + lVar50 = lVar51 * 8; + local_3a0 = cVar43; + auVar111 = _DAT_181e4b500; + auVar125 = _DAT_181e4b540; + auVar124 = _DAT_181e4b580; + auVar82 = _DAT_181e4b5c0; + auVar83 = _DAT_181e4b600; + auVar80 = _DAT_181e4b640; + auVar81 = _DAT_181e4b680; + auVar84 = _DAT_181e4b880; + auVar85 = _DAT_181e4b8c0; + auVar86 = _DAT_181e4b900; + auVar87 = _DAT_181e4b940; + auVar88 = _DAT_181e4b980; + auVar122 = _DAT_181e4b9c0; + auVar89 = _DAT_181e4ba00; + auVar123 = _DAT_181e4ba40; + auVar96 = _DAT_181e4ba80; + auVar97 = _DAT_181e4bac0; + for (; lVar51 < lVar46; lVar51 = lVar51 + 8) { + uVar42 = param_3 - (int)lVar51; + auVar5._8_8_ = 0; + auVar5._0_8_ = DAT_181e5c108; + auVar90 = vbroadcastsd_avx512f(auVar5); + if (7 < uVar42) { + uVar42 = 8; + } + uVar48 = 0; + uVar47 = 0xffffffffL >> ((ulonglong)(0x20 - uVar42) & 0x3f); + local_380._0_4_ = (int)uVar47; + uVar52 = uVar47 & 0xffff; + plVar1 = (longlong *)(lVar50 + param_1); + bVar14 = (bool)((byte)uVar52 & 1); + auVar69._0_8_ = (ulonglong)bVar14 * *plVar1 | (ulonglong)!bVar14 * auVar90._0_8_; + bVar14 = (bool)((byte)(uVar52 >> 1) & 1); + auVar69._8_8_ = (ulonglong)bVar14 * plVar1[1] | (ulonglong)!bVar14 * auVar90._8_8_; + bVar14 = (bool)((byte)(uVar52 >> 2) & 1); + local_300._16_8_ = (ulonglong)bVar14 * plVar1[2] | (ulonglong)!bVar14 * auVar90._16_8_; + local_300._0_16_ = auVar69; + bVar14 = (bool)((byte)(uVar52 >> 3) & 1); + local_300._24_8_ = (ulonglong)bVar14 * plVar1[3] | (ulonglong)!bVar14 * auVar90._24_8_; + bVar14 = (bool)((byte)(uVar52 >> 4) & 1); + local_300._32_8_ = (ulonglong)bVar14 * plVar1[4] | (ulonglong)!bVar14 * auVar90._32_8_; + bVar14 = (bool)((byte)(uVar52 >> 5) & 1); + local_300._40_8_ = (ulonglong)bVar14 * plVar1[5] | (ulonglong)!bVar14 * auVar90._40_8_; + bVar14 = (bool)((byte)(uVar52 >> 6) & 1); + local_300._48_8_ = (ulonglong)bVar14 * plVar1[6] | (ulonglong)!bVar14 * auVar90._48_8_; + bVar14 = (bool)((byte)(uVar52 >> 7) & 1); + local_300._56_8_ = (ulonglong)bVar14 * plVar1[7] | (ulonglong)!bVar14 * auVar90._56_8_; + auVar53 = vfmadd231pd_avx512vl(auVar82._0_16_,auVar124._0_16_,auVar69); + auVar121 = ZEXT1664(auVar53); + uVar52 = vpcmpeqq_avx512f(local_300,auVar84); + auVar54 = vsubpd_avx512vl(auVar53,auVar82._0_16_); + auVar90 = vandpd_avx512dq(local_300,auVar111); + auVar91 = vpermt2pd_avx512f(auVar121,_DAT_181e4b7c0); + auVar92 = vpermt2pd_avx512f(auVar121,_DAT_181e4b740); + auVar93 = vpermt2pd_avx512f(auVar121,_DAT_181e4b840); + auVar121 = vxorpd_avx512dq(auVar121,auVar85); + bVar14 = (bool)((byte)uVar52 & 1); + auVar94._0_8_ = (ulonglong)bVar14 * auVar121._0_8_ | (ulonglong)!bVar14 * auVar53._0_8_; + bVar14 = (bool)((byte)(uVar52 >> 1) & 1); + auVar94._8_8_ = (ulonglong)bVar14 * auVar121._8_8_ | (ulonglong)!bVar14 * auVar53._8_8_; + auVar94._16_8_ = (ulonglong)((byte)(uVar52 >> 2) & 1) * auVar121._16_8_; + auVar94._24_8_ = (ulonglong)((byte)(uVar52 >> 3) & 1) * auVar121._24_8_; + auVar94._32_8_ = (ulonglong)((byte)(uVar52 >> 4) & 1) * auVar121._32_8_; + auVar94._40_8_ = (ulonglong)((byte)(uVar52 >> 5) & 1) * auVar121._40_8_; + auVar94._48_8_ = (ulonglong)((byte)(uVar52 >> 6) & 1) * auVar121._48_8_; + auVar94._56_8_ = (uVar52 >> 7) * auVar121._56_8_; + uVar52 = vcmppd_avx512f(auVar90,auVar125,0x16); + auVar121 = vpsrlq_avx512f(auVar94,4); + auVar53 = vfnmadd213pd_avx512vl(auVar83._0_16_,auVar54,auVar69); + auVar55 = vfnmadd213pd_avx512vl(auVar80._0_16_,auVar54,auVar53); + auVar53 = vsubpd_avx512vl(auVar53,auVar55); + auVar53 = vfnmadd231pd_avx512vl(auVar53,auVar80._0_16_,auVar54); + auVar56 = vfnmadd213pd_avx512vl(auVar81._0_16_,auVar54,auVar55); + auVar57 = vmulpd_avx512vl(auVar56,auVar56); + auVar55 = vsubpd_avx512vl(auVar56,auVar55); + auVar54 = vfmadd213pd_avx512vl(auVar54,auVar81._0_16_,auVar55); + auVar53 = vsubpd_avx512vl(auVar53,auVar54); + auVar95 = vpsllq_avx512f(auVar93,0x20); + auVar54 = vfmadd231pd_avx512vl(auVar87._0_16_,auVar86._0_16_,auVar57); + auVar61 = auVar92._0_16_; + auVar62 = auVar91._0_16_; + auVar55 = vfmadd213pd_avx512vl(auVar62,auVar56,auVar61); + auVar54 = vfmadd213pd_avx512vl(auVar54,auVar57,auVar89._0_16_); + auVar58 = vsubpd_avx512vl(auVar55,auVar61); + auVar54 = vfmadd213pd_avx512vl(auVar54,auVar57,auVar96._0_16_); + auVar58 = vfmsub231pd_avx512vl(auVar58,auVar56,auVar62); + auVar58 = vfmadd213pd_avx512vl(auVar93._0_16_,auVar56,auVar58); + auVar91 = vpsllq_avx512f(auVar121,0x3f); + auVar59 = vfmadd231pd_avx512vl(auVar122._0_16_,auVar88._0_16_,auVar57); + auVar59 = vfmadd213pd_avx512vl(auVar59,auVar57,auVar123._0_16_); + auVar60 = vfnmadd213pd_avx512vl(auVar61,auVar56,auVar62); + auVar59 = vfmadd213pd_avx512vl(auVar59,auVar57,auVar97._0_16_); + auVar56 = vmulpd_avx512vl(auVar62,auVar56); + auVar54 = vmulpd_avx512vl(auVar61,auVar54); + auVar53 = vfmadd213pd_avx512vl(auVar60,auVar53,auVar95._0_16_); + auVar54 = vfmadd213pd_avx512vl(auVar59,auVar56,auVar54); + auVar53 = vaddpd_avx512vl(auVar58,auVar53); + auVar54 = vfmadd213pd_avx512vl(auVar54,auVar57,auVar53); + auVar54 = vaddpd_avx512vl(auVar55,auVar54); + auVar91 = vxorpd_avx512dq(ZEXT1664(auVar54),auVar91); + local_340 = auVar91; + if ((short)uVar52 != 0) { + auVar29._8_8_ = DAT_181e5c088; + auVar29._0_8_ = DAT_181e5c088; + auVar29._16_8_ = DAT_181e5c088; + auVar29._24_8_ = DAT_181e5c088; + auVar29._32_8_ = DAT_181e5c088; + auVar29._40_8_ = DAT_181e5c088; + auVar29._48_8_ = DAT_181e5c088; + auVar29._56_8_ = DAT_181e5c088; + auVar89 = vpandq_avx512f(auVar90,auVar29); + auVar123 = vpsrlq_avx512f(auVar89,0x34); + auVar96 = vpsllq_avx512f(auVar123,1); + auVar123 = vpaddq_avx512f(auVar96,auVar123); + auVar96 = vxorpd_avx512dq(auVar90,local_300); + auVar97 = vandpd_avx512dq(_DAT_181e4fb80,auVar90); + auVar6._8_8_ = 0; + auVar6._0_8_ = DAT_181e5c080; + auVar92 = vpbroadcastq_avx512f(auVar6); + uVar28 = vpcmpeqb_avx512vl(auVar69,auVar69); + uVar24 = vpcmpeqb_avx512vl(auVar69,auVar69); + uVar25 = vpcmpeqb_avx512vl(auVar69,auVar69); + uVar48 = vcmppd_avx512f(auVar97,_DAT_181e4fb80,4); + auVar123 = vpsllq_avx512f(auVar123,3); + vpmovqd_avx512f(auVar123); + auVar123 = vpxord_avx512f(ZEXT1664(auVar53),ZEXT1664(auVar53)); + auVar93 = vgatherdpd_avx512f(*(undefined4 *)(&DAT_181e4fe80 + lVar50)); + bVar14 = (bool)((byte)uVar28 & 1); + auVar98._0_8_ = (ulonglong)bVar14 * auVar93._0_8_ | (ulonglong)!bVar14 * auVar123._0_8_; + bVar14 = (bool)((byte)(uVar28 >> 1) & 1); + auVar98._8_8_ = (ulonglong)bVar14 * auVar93._8_8_ | (ulonglong)!bVar14 * auVar123._8_8_; + bVar14 = (bool)((byte)(uVar28 >> 2) & 1); + auVar98._16_8_ = (ulonglong)bVar14 * auVar93._16_8_ | (ulonglong)!bVar14 * auVar123._16_8_ + ; + bVar14 = (bool)((byte)(uVar28 >> 3) & 1); + auVar98._24_8_ = (ulonglong)bVar14 * auVar93._24_8_ | (ulonglong)!bVar14 * auVar123._24_8_ + ; + bVar14 = (bool)((byte)(uVar28 >> 4) & 1); + auVar98._32_8_ = (ulonglong)bVar14 * auVar93._32_8_ | (ulonglong)!bVar14 * auVar123._32_8_ + ; + bVar14 = (bool)((byte)(uVar28 >> 5) & 1); + auVar98._40_8_ = (ulonglong)bVar14 * auVar93._40_8_ | (ulonglong)!bVar14 * auVar123._40_8_ + ; + bVar14 = (bool)((byte)(uVar28 >> 6) & 1); + auVar98._48_8_ = (ulonglong)bVar14 * auVar93._48_8_ | (ulonglong)!bVar14 * auVar123._48_8_ + ; + bVar14 = (bool)((byte)(uVar28 >> 7) & 1); + auVar98._56_8_ = (ulonglong)bVar14 * auVar93._56_8_ | (ulonglong)!bVar14 * auVar123._56_8_ + ; + auVar123 = vpsrlq_avx512f(auVar98,0x20); + auVar89 = vpxord_avx512f(auVar89,auVar89); + auVar93 = vpandnq_avx512f(auVar97,auVar97); + bVar14 = (bool)((byte)uVar48 & 1); + auVar99._0_8_ = (ulonglong)bVar14 * auVar93._0_8_ | (ulonglong)!bVar14 * auVar92._0_8_; + bVar14 = (bool)((byte)(uVar48 >> 1) & 1); + auVar99._8_8_ = (ulonglong)bVar14 * auVar93._8_8_ | (ulonglong)!bVar14 * auVar92._8_8_; + bVar14 = (bool)((byte)(uVar48 >> 2) & 1); + auVar99._16_8_ = (ulonglong)bVar14 * auVar93._16_8_ | (ulonglong)!bVar14 * auVar92._16_8_; + bVar14 = (bool)((byte)(uVar48 >> 3) & 1); + auVar99._24_8_ = (ulonglong)bVar14 * auVar93._24_8_ | (ulonglong)!bVar14 * auVar92._24_8_; + bVar14 = (bool)((byte)(uVar48 >> 4) & 1); + auVar99._32_8_ = (ulonglong)bVar14 * auVar93._32_8_ | (ulonglong)!bVar14 * auVar92._32_8_; + bVar14 = (bool)((byte)(uVar48 >> 5) & 1); + auVar99._40_8_ = (ulonglong)bVar14 * auVar93._40_8_ | (ulonglong)!bVar14 * auVar92._40_8_; + bVar14 = (bool)((byte)(uVar48 >> 6) & 1); + auVar99._48_8_ = (ulonglong)bVar14 * auVar93._48_8_ | (ulonglong)!bVar14 * auVar92._48_8_; + auVar99._56_8_ = + (uVar48 >> 7) * auVar93._56_8_ | (ulonglong)!SUB81(uVar48 >> 7,0) * auVar92._56_8_; + auVar97 = vpxord_avx512f(auVar97,auVar97); + auVar30._8_8_ = DAT_181e5c090; + auVar30._0_8_ = DAT_181e5c090; + auVar30._16_8_ = DAT_181e5c090; + auVar30._24_8_ = DAT_181e5c090; + auVar30._32_8_ = DAT_181e5c090; + auVar30._40_8_ = DAT_181e5c090; + auVar30._48_8_ = DAT_181e5c090; + auVar30._56_8_ = DAT_181e5c090; + auVar92 = vpandq_avx512f(auVar90,auVar30); + auVar31._8_8_ = DAT_181e5c098; + auVar31._0_8_ = DAT_181e5c098; + auVar31._16_8_ = DAT_181e5c098; + auVar31._24_8_ = DAT_181e5c098; + auVar31._32_8_ = DAT_181e5c098; + auVar31._40_8_ = DAT_181e5c098; + auVar31._48_8_ = DAT_181e5c098; + auVar31._56_8_ = DAT_181e5c098; + auVar92 = vpaddq_avx512f(auVar92,auVar31); + uVar48 = vcmppd_avx512f(auVar99,auVar99,3); + uVar26 = vpcmpeqb_avx512vl(auVar69,auVar69); + uVar49 = vpcmpeqb_avx512vl(auVar69,auVar69); + auVar93 = vgatherdpd_avx512f(*(undefined4 *)(&DAT_181e4fe90 + lVar50)); + bVar14 = (bool)((byte)uVar25 & 1); + auVar100._0_8_ = (ulonglong)bVar14 * auVar93._0_8_ | (ulonglong)!bVar14 * auVar89._0_8_; + bVar14 = (bool)((byte)(uVar25 >> 1) & 1); + auVar100._8_8_ = (ulonglong)bVar14 * auVar93._8_8_ | (ulonglong)!bVar14 * auVar89._8_8_; + bVar14 = (bool)((byte)(uVar25 >> 2) & 1); + auVar100._16_8_ = (ulonglong)bVar14 * auVar93._16_8_ | (ulonglong)!bVar14 * auVar89._16_8_ + ; + bVar14 = (bool)((byte)(uVar25 >> 3) & 1); + auVar100._24_8_ = (ulonglong)bVar14 * auVar93._24_8_ | (ulonglong)!bVar14 * auVar89._24_8_ + ; + bVar14 = (bool)((byte)(uVar25 >> 4) & 1); + auVar100._32_8_ = (ulonglong)bVar14 * auVar93._32_8_ | (ulonglong)!bVar14 * auVar89._32_8_ + ; + bVar14 = (bool)((byte)(uVar25 >> 5) & 1); + auVar100._40_8_ = (ulonglong)bVar14 * auVar93._40_8_ | (ulonglong)!bVar14 * auVar89._40_8_ + ; + bVar14 = (bool)((byte)(uVar25 >> 6) & 1); + auVar100._48_8_ = (ulonglong)bVar14 * auVar93._48_8_ | (ulonglong)!bVar14 * auVar89._48_8_ + ; + bVar14 = (bool)((byte)(uVar25 >> 7) & 1); + auVar100._56_8_ = (ulonglong)bVar14 * auVar93._56_8_ | (ulonglong)!bVar14 * auVar89._56_8_ + ; + auVar89 = vgatherdpd_avx512f(*(undefined4 *)(&DAT_181e4fe88 + lVar50)); + bVar14 = (bool)((byte)uVar24 & 1); + auVar101._0_8_ = (ulonglong)bVar14 * auVar89._0_8_ | (ulonglong)!bVar14 * auVar97._0_8_; + bVar14 = (bool)((byte)(uVar24 >> 1) & 1); + auVar101._8_8_ = (ulonglong)bVar14 * auVar89._8_8_ | (ulonglong)!bVar14 * auVar97._8_8_; + bVar14 = (bool)((byte)(uVar24 >> 2) & 1); + auVar101._16_8_ = (ulonglong)bVar14 * auVar89._16_8_ | (ulonglong)!bVar14 * auVar97._16_8_ + ; + bVar14 = (bool)((byte)(uVar24 >> 3) & 1); + auVar101._24_8_ = (ulonglong)bVar14 * auVar89._24_8_ | (ulonglong)!bVar14 * auVar97._24_8_ + ; + bVar14 = (bool)((byte)(uVar24 >> 4) & 1); + auVar101._32_8_ = (ulonglong)bVar14 * auVar89._32_8_ | (ulonglong)!bVar14 * auVar97._32_8_ + ; + bVar14 = (bool)((byte)(uVar24 >> 5) & 1); + auVar101._40_8_ = (ulonglong)bVar14 * auVar89._40_8_ | (ulonglong)!bVar14 * auVar97._40_8_ + ; + bVar14 = (bool)((byte)(uVar24 >> 6) & 1); + auVar101._48_8_ = (ulonglong)bVar14 * auVar89._48_8_ | (ulonglong)!bVar14 * auVar97._48_8_ + ; + bVar14 = (bool)((byte)(uVar24 >> 7) & 1); + auVar101._56_8_ = (ulonglong)bVar14 * auVar89._56_8_ | (ulonglong)!bVar14 * auVar97._56_8_ + ; + uVar25 = vpcmpeqb_avx512vl(auVar69,auVar69); + uVar27 = vpcmpeqb_avx512vl(auVar69,auVar69); + auVar89 = vpsrlq_avx512f(auVar100,0x20); + auVar97 = vpsrlq_avx512f(auVar92,0x20); + auVar93 = vpsrlq_avx512f(auVar101,0x20); + auVar7._8_8_ = 0; + auVar7._0_8_ = DAT_181e5c0a0; + auVar121 = vpbroadcastq_avx512f(auVar7); + uVar48 = uVar48 & 0xffff; + auVar95 = vpandq_avx512f(auVar98,auVar121); + auVar92 = vpandq_avx512f(auVar92,auVar121); + auVar102 = vpmullq_avx512dq(auVar97,auVar95); + auVar123 = vpmullq_avx512dq(auVar92,auVar123); + auVar95 = vpmullq_avx512dq(auVar92,auVar95); + auVar103 = vpmullq_avx512dq(auVar92,auVar89); + auVar104 = vpandq_avx512f(auVar101,auVar121); + auVar105 = vpandq_avx512f(auVar100,auVar121); + auVar106 = vpmullq_avx512dq(auVar97,auVar93); + auVar107 = vpmullq_avx512dq(auVar97,auVar104); + auVar89 = vpmullq_avx512dq(auVar97,auVar89); + auVar97 = vpmullq_avx512dq(auVar97,auVar105); + auVar104 = vpmullq_avx512dq(auVar92,auVar104); + auVar92 = vpmullq_avx512dq(auVar92,auVar93); + auVar93 = vpsrlq_avx512f(auVar103,0x20); + auVar103 = vpsrlq_avx512f(auVar104,0x20); + auVar105 = vpsrlq_avx512f(auVar92,0x20); + auVar108 = vpsrlq_avx512f(auVar95,0x20); + auVar97 = vpsrlq_avx512f(auVar97,0x20); + auVar89 = vpaddq_avx512f(auVar89,auVar93); + auVar93 = vpaddq_avx512f(auVar107,auVar103); + auVar103 = vpaddq_avx512f(auVar106,auVar105); + auVar102 = vpaddq_avx512f(auVar102,auVar108); + auVar104 = vpandq_avx512f(auVar104,auVar121); + auVar89 = vpaddq_avx512f(auVar104,auVar89); + auVar95 = vpandq_avx512f(auVar95,auVar121); + auVar92 = vpandq_avx512f(auVar92,auVar121); + auVar123 = vpandq_avx512f(auVar123,auVar121); + auVar95 = vpaddq_avx512f(auVar95,auVar103); + auVar89 = vpaddq_avx512f(auVar97,auVar89); + auVar123 = vpaddq_avx512f(auVar123,auVar102); + auVar97 = vpaddq_avx512f(auVar92,auVar93); + auVar92 = vpsrlq_avx512f(auVar89,0x20); + auVar97 = vpaddq_avx512f(auVar92,auVar97); + auVar92 = vpsrlq_avx512f(auVar97,0x20); + auVar92 = vpaddq_avx512f(auVar92,auVar95); + auVar93 = vpsrlq_avx512f(auVar92,0x20); + auVar123 = vpaddq_avx512f(auVar93,auVar123); + auVar8._8_8_ = 0; + auVar8._0_8_ = DAT_181e5c0b8; + auVar93 = vpbroadcastq_avx512f(auVar8); + auVar89 = vpandq_avx512f(auVar89,auVar121); + auVar92 = vpandq_avx512f(auVar92,auVar121); + auVar123 = vpsllq_avx512f(auVar123,0x20); + auVar97 = vpsllq_avx512f(auVar97,0x20); + auVar123 = vpaddq_avx512f(auVar123,auVar92); + auVar89 = vpaddq_avx512f(auVar97,auVar89); + auVar97 = vpsrlq_avx512f(auVar123,0xc); + auVar32._8_8_ = DAT_181e5c0d0; + auVar32._0_8_ = DAT_181e5c0d0; + auVar32._16_8_ = DAT_181e5c0d0; + auVar32._24_8_ = DAT_181e5c0d0; + auVar32._32_8_ = DAT_181e5c0d0; + auVar32._40_8_ = DAT_181e5c0d0; + auVar32._48_8_ = DAT_181e5c0d0; + auVar32._56_8_ = DAT_181e5c0d0; + auVar92 = vpandq_avx512f(auVar89,auVar32); + auVar33._8_8_ = DAT_181e5c0a8; + auVar33._0_8_ = DAT_181e5c0a8; + auVar33._16_8_ = DAT_181e5c0a8; + auVar33._24_8_ = DAT_181e5c0a8; + auVar33._32_8_ = DAT_181e5c0a8; + auVar33._40_8_ = DAT_181e5c0a8; + auVar33._48_8_ = DAT_181e5c0a8; + auVar33._56_8_ = DAT_181e5c0a8; + auVar121 = vpandq_avx512f(auVar90,auVar33); + auVar92 = vpsllq_avx512f(auVar92,0x1c); + auVar89 = vpsrlq_avx512f(auVar89,0x18); + auVar34._8_8_ = DAT_181e5c0b0; + auVar34._0_8_ = DAT_181e5c0b0; + auVar34._16_8_ = DAT_181e5c0b0; + auVar34._24_8_ = DAT_181e5c0b0; + auVar34._32_8_ = DAT_181e5c0b0; + auVar34._40_8_ = DAT_181e5c0b0; + auVar34._48_8_ = DAT_181e5c0b0; + auVar34._56_8_ = DAT_181e5c0b0; + auVar97 = vpternlogq_avx512f(auVar97,auVar121,auVar34,0xf6); + auVar53 = vaddpd_avx512vl(auVar93._0_16_,auVar97._0_16_); + auVar54 = vsubpd_avx512vl(auVar53,auVar93._0_16_); + auVar9._8_8_ = 0; + auVar9._0_8_ = DAT_181e5c0f0; + auVar93 = vpbroadcastq_avx512f(auVar9); + auVar54 = vsubpd_avx512vl(auVar97._0_16_,auVar54); + auVar10._8_8_ = 0; + auVar10._0_8_ = DAT_181e5c080; + auVar97 = vpbroadcastq_avx512f(auVar10); + auVar35._8_8_ = DAT_181e5c0c8; + auVar35._0_8_ = DAT_181e5c0c8; + auVar35._16_8_ = DAT_181e5c0c8; + auVar35._24_8_ = DAT_181e5c0c8; + auVar35._32_8_ = DAT_181e5c0c8; + auVar35._40_8_ = DAT_181e5c0c8; + auVar35._48_8_ = DAT_181e5c0c8; + auVar35._56_8_ = DAT_181e5c0c8; + auVar95 = vpxorq_avx512f(auVar121,auVar35); + auVar92 = vporq_avx512f(auVar92,auVar95); + auVar55 = vsubpd_avx512vl(auVar92._0_16_,auVar95._0_16_); + auVar36._8_8_ = DAT_181e5c0d8; + auVar36._0_8_ = DAT_181e5c0d8; + auVar36._16_8_ = DAT_181e5c0d8; + auVar36._24_8_ = DAT_181e5c0d8; + auVar36._32_8_ = DAT_181e5c0d8; + auVar36._40_8_ = DAT_181e5c0d8; + auVar36._48_8_ = DAT_181e5c0d8; + auVar36._56_8_ = DAT_181e5c0d8; + auVar92 = vpxorq_avx512f(auVar121,auVar36); + auVar37._8_8_ = DAT_181e5c0e0; + auVar37._0_8_ = DAT_181e5c0e0; + auVar37._16_8_ = DAT_181e5c0e0; + auVar37._24_8_ = DAT_181e5c0e0; + auVar37._32_8_ = DAT_181e5c0e0; + auVar37._40_8_ = DAT_181e5c0e0; + auVar37._48_8_ = DAT_181e5c0e0; + auVar37._56_8_ = DAT_181e5c0e0; + auVar123 = vpandq_avx512f(auVar123,auVar37); + auVar123 = vpsllq_avx512f(auVar123,0x28); + auVar89 = vpternlogq_avx512f(auVar89,auVar123,auVar92,0xfe); + auVar11._8_8_ = 0; + auVar11._0_8_ = DAT_181e5c100; + auVar123 = vpbroadcastq_avx512f(auVar11); + auVar56 = vsubpd_avx512vl(auVar89._0_16_,auVar92._0_16_); + auVar12._8_8_ = 0; + auVar12._0_8_ = DAT_181e5c0e8; + auVar89 = vpbroadcastq_avx512f(auVar12); + auVar57 = vaddpd_avx512vl(auVar54,auVar56); + auVar54 = vsubpd_avx512vl(auVar54,auVar57); + auVar54 = vaddpd_avx512vl(auVar56,auVar54); + auVar54 = vaddpd_avx512vl(auVar54,auVar55); + auVar38._8_8_ = DAT_181e5c0f8; + auVar38._0_8_ = DAT_181e5c0f8; + auVar38._16_8_ = DAT_181e5c0f8; + auVar38._24_8_ = DAT_181e5c0f8; + auVar38._32_8_ = DAT_181e5c0f8; + auVar38._40_8_ = DAT_181e5c0f8; + auVar38._48_8_ = DAT_181e5c0f8; + auVar38._56_8_ = DAT_181e5c0f8; + auVar92 = vandpd_avx512dq(auVar90,auVar38); + auVar58 = auVar89._0_16_; + auVar55 = vmulpd_avx512vl(auVar57,auVar58); + auVar56 = vfmsub213pd_avx512vl(auVar58,auVar57,auVar55); + auVar56 = vfmadd213pd_avx512vl(auVar57,auVar93._0_16_,auVar56); + uVar28 = vcmppd_avx512f(auVar92,auVar123,0x1a); + uVar24 = vcmppd_avx512f(auVar92,auVar123,0x16); + auVar39._8_8_ = DAT_181e5c0c0; + auVar39._0_8_ = DAT_181e5c0c0; + auVar39._16_8_ = DAT_181e5c0c0; + auVar39._24_8_ = DAT_181e5c0c0; + auVar39._32_8_ = DAT_181e5c0c0; + auVar39._40_8_ = DAT_181e5c0c0; + auVar39._48_8_ = DAT_181e5c0c0; + auVar39._56_8_ = DAT_181e5c0c0; + auVar123 = vpandq_avx512f(ZEXT1664(auVar53),auVar39); + auVar53 = vfmadd213pd_avx512vl(auVar54,auVar58,auVar56); + auVar123 = vpsllq_avx512f(auVar123,5); + auVar13._8_8_ = 0; + auVar13._0_8_ = DAT_181e5c080; + auVar121 = vpbroadcastq_avx512f(auVar13); + auVar95 = vpandnq_avx512f(auVar92,auVar92); + bVar14 = (bool)((byte)uVar28 & 1); + auVar109._0_8_ = (ulonglong)bVar14 * auVar95._0_8_ | (ulonglong)!bVar14 * auVar97._0_8_; + bVar14 = (bool)((byte)(uVar28 >> 1) & 1); + auVar109._8_8_ = (ulonglong)bVar14 * auVar95._8_8_ | (ulonglong)!bVar14 * auVar97._8_8_; + bVar14 = (bool)((byte)(uVar28 >> 2) & 1); + auVar109._16_8_ = (ulonglong)bVar14 * auVar95._16_8_ | (ulonglong)!bVar14 * auVar97._16_8_ + ; + bVar14 = (bool)((byte)(uVar28 >> 3) & 1); + auVar109._24_8_ = (ulonglong)bVar14 * auVar95._24_8_ | (ulonglong)!bVar14 * auVar97._24_8_ + ; + bVar14 = (bool)((byte)(uVar28 >> 4) & 1); + auVar109._32_8_ = (ulonglong)bVar14 * auVar95._32_8_ | (ulonglong)!bVar14 * auVar97._32_8_ + ; + bVar14 = (bool)((byte)(uVar28 >> 5) & 1); + auVar109._40_8_ = (ulonglong)bVar14 * auVar95._40_8_ | (ulonglong)!bVar14 * auVar97._40_8_ + ; + bVar14 = (bool)((byte)(uVar28 >> 6) & 1); + auVar109._48_8_ = (ulonglong)bVar14 * auVar95._48_8_ | (ulonglong)!bVar14 * auVar97._48_8_ + ; + auVar109._56_8_ = + (uVar28 >> 7) * auVar95._56_8_ | (ulonglong)!SUB81(uVar28 >> 7,0) * auVar97._56_8_; + auVar97 = vpandnq_avx512f(auVar92,auVar92); + bVar14 = (bool)((byte)uVar24 & 1); + auVar110._0_8_ = (ulonglong)bVar14 * auVar97._0_8_ | (ulonglong)!bVar14 * auVar121._0_8_; + bVar14 = (bool)((byte)(uVar24 >> 1) & 1); + auVar110._8_8_ = (ulonglong)bVar14 * auVar97._8_8_ | (ulonglong)!bVar14 * auVar121._8_8_; + bVar14 = (bool)((byte)(uVar24 >> 2) & 1); + auVar110._16_8_ = + (ulonglong)bVar14 * auVar97._16_8_ | (ulonglong)!bVar14 * auVar121._16_8_; + bVar14 = (bool)((byte)(uVar24 >> 3) & 1); + auVar110._24_8_ = + (ulonglong)bVar14 * auVar97._24_8_ | (ulonglong)!bVar14 * auVar121._24_8_; + bVar14 = (bool)((byte)(uVar24 >> 4) & 1); + auVar110._32_8_ = + (ulonglong)bVar14 * auVar97._32_8_ | (ulonglong)!bVar14 * auVar121._32_8_; + bVar14 = (bool)((byte)(uVar24 >> 5) & 1); + auVar110._40_8_ = + (ulonglong)bVar14 * auVar97._40_8_ | (ulonglong)!bVar14 * auVar121._40_8_; + bVar14 = (bool)((byte)(uVar24 >> 6) & 1); + auVar110._48_8_ = + (ulonglong)bVar14 * auVar97._48_8_ | (ulonglong)!bVar14 * auVar121._48_8_; + auVar110._56_8_ = + (uVar24 >> 7) * auVar97._56_8_ | (ulonglong)!SUB81(uVar24 >> 7,0) * auVar121._56_8_; + auVar97 = vandpd_avx512dq(auVar109,ZEXT1664(auVar55)); + auVar92 = vandpd_avx512dq(auVar109,ZEXT1664(auVar53)); + vpmovqd_avx512f(auVar123); + auVar90 = vandpd_avx512dq(auVar110,auVar90); + auVar97 = vorpd_avx512dq(auVar90,auVar97); + auVar89 = vpxord_avx512f(auVar89,auVar89); + auVar90 = vgatherdpd_avx512f(*(undefined4 *)((longlong)&DAT_181e4bb08 + uVar48)); + bVar14 = (bool)((byte)uVar49 & 1); + auVar70._0_8_ = (ulonglong)bVar14 * auVar90._0_8_ | (ulonglong)!bVar14 * auVar89._0_8_; + bVar14 = (bool)((byte)(uVar49 >> 1) & 1); + auVar70._8_8_ = (ulonglong)bVar14 * auVar90._8_8_ | (ulonglong)!bVar14 * auVar89._8_8_; + auVar89 = vpxord_avx512f(auVar93,auVar93); + auVar90 = vpxord_avx512f(ZEXT1664(auVar56),ZEXT1664(auVar56)); + auVar123 = vpxord_avx512f(auVar123,auVar123); + auVar93 = vgatherdpd_avx512f(*(undefined4 *)((longlong)&DAT_181e4bb10 + uVar48)); + bVar14 = (bool)((byte)uVar25 & 1); + auVar71._0_8_ = (ulonglong)bVar14 * auVar93._0_8_ | (ulonglong)!bVar14 * auVar89._0_8_; + bVar14 = (bool)((byte)(uVar25 >> 1) & 1); + auVar71._8_8_ = (ulonglong)bVar14 * auVar93._8_8_ | (ulonglong)!bVar14 * auVar89._8_8_; + auVar89 = vgatherdpd_avx512f(*(undefined4 *)((longlong)&DAT_181e4bb00 + uVar48)); + bVar14 = (bool)((byte)uVar26 & 1); + auVar72._0_8_ = (ulonglong)bVar14 * auVar89._0_8_ | (ulonglong)!bVar14 * auVar90._0_8_; + bVar14 = (bool)((byte)(uVar26 >> 1) & 1); + auVar72._8_8_ = (ulonglong)bVar14 * auVar89._8_8_ | (ulonglong)!bVar14 * auVar90._8_8_; + auVar89 = vgatherdpd_avx512f(*(undefined4 *)((longlong)&DAT_181e4bb18 + uVar48)); + bVar14 = (bool)((byte)uVar27 & 1); + auVar73._0_8_ = (ulonglong)bVar14 * auVar89._0_8_ | (ulonglong)!bVar14 * auVar123._0_8_; + bVar14 = (bool)((byte)(uVar27 >> 1) & 1); + auVar73._8_8_ = (ulonglong)bVar14 * auVar89._8_8_ | (ulonglong)!bVar14 * auVar123._8_8_; + auVar59 = auVar97._0_16_; + auVar53 = vfmadd213pd_avx512vl(auVar59,auVar70,auVar71); + auVar54 = vfmadd132pd_avx512vl(auVar59,auVar53,auVar72); + auVar55 = vsubpd_avx512vl(auVar71,auVar53); + auVar53 = vsubpd_avx512vl(auVar53,auVar54); + auVar56 = vmulpd_avx512vl(auVar59,auVar59); + auVar55 = vfmadd231pd_avx512vl(auVar55,auVar70,auVar59); + auVar53 = vfmadd231pd_avx512vl(auVar53,auVar59,auVar72); + auVar57 = vfmadd231pd_avx512vl(DAT_181e4fd40._0_16_,DAT_181e4fd80._0_16_,auVar56); + auVar57 = vmulpd_avx512vl(auVar57,auVar56); + auVar53 = vaddpd_avx512vl(auVar53,auVar55); + auVar55 = vaddpd_avx512vl(auVar72,auVar70); + auVar57 = vmulpd_avx512vl(auVar57,auVar59); + auVar58 = vfmadd231pd_avx512vl(DAT_181e4fe00._0_16_,DAT_181e4fe40._0_16_,auVar56); + auVar59 = vfnmadd213pd_avx512vl(auVar59,auVar71,auVar55); + auVar53 = vfmadd213pd_avx512vl(auVar57,auVar55,auVar53); + auVar55 = vfmadd213pd_avx512vl(auVar58,auVar56,DAT_181e4fdc0._0_16_); + auVar57 = vfmadd213pd_avx512vl(auVar92._0_16_,auVar59,auVar73); + auVar55 = vmulpd_avx512vl(auVar55,auVar56); + auVar53 = vfmadd213pd_avx512vl(auVar55,auVar71,auVar53); + auVar53 = vaddpd_avx512vl(auVar53,auVar57); + auVar53 = vaddpd_avx512vl(auVar54,auVar53); + auVar89 = vxorpd_avx512dq(ZEXT1664(auVar53),auVar96); + auVar89 = vblendmpd_avx512f(auVar91,auVar89); + bVar14 = (bool)((byte)uVar52 & 1); + local_340._0_8_ = (ulonglong)bVar14 * auVar89._0_8_ | (ulonglong)!bVar14 * auVar91._0_8_; + bVar14 = (bool)((byte)(uVar52 >> 1) & 1); + local_340._8_8_ = (ulonglong)bVar14 * auVar89._8_8_ | (ulonglong)!bVar14 * auVar91._8_8_; + bVar14 = (bool)((byte)(uVar52 >> 2) & 1); + local_340._16_8_ = + (ulonglong)bVar14 * auVar89._16_8_ | (ulonglong)!bVar14 * auVar91._16_8_; + bVar14 = (bool)((byte)(uVar52 >> 3) & 1); + local_340._24_8_ = + (ulonglong)bVar14 * auVar89._24_8_ | (ulonglong)!bVar14 * auVar91._24_8_; + bVar14 = (bool)((byte)(uVar52 >> 4) & 1); + local_340._32_8_ = + (ulonglong)bVar14 * auVar89._32_8_ | (ulonglong)!bVar14 * auVar91._32_8_; + bVar14 = (bool)((byte)(uVar52 >> 5) & 1); + local_340._40_8_ = + (ulonglong)bVar14 * auVar89._40_8_ | (ulonglong)!bVar14 * auVar91._40_8_; + bVar14 = (bool)((byte)(uVar52 >> 6) & 1); + local_340._48_8_ = + (ulonglong)bVar14 * auVar89._48_8_ | (ulonglong)!bVar14 * auVar91._48_8_; + local_340._56_8_ = + (uVar52 >> 7) * auVar89._56_8_ | (ulonglong)!SUB81(uVar52 >> 7,0) * auVar91._56_8_; + auVar97 = _DAT_181e4bac0; + auVar89 = _DAT_181e4ba00; + auVar123 = _DAT_181e4ba40; + auVar96 = _DAT_181e4ba80; + } + uVar42 = (uint)uVar48; + if (uVar42 != 0) { + if (local_3a0 == '\0') { + local_3a0 = '\x01'; + local_408 = local_3a6; + local_400 = local_3a8; + uVar44 = FUN_18014c5a0(); + local_68 = local_68 | uVar44; + } + if (uVar42 != 0) { + local_3c0 = (undefined8 *)(param_2 + lVar50); + uVar44 = 0; + local_3c8 = (int)lVar51; + local_3b8 = lVar50; + local_3b0 = lVar51; + local_78 = param_3; + do { + if ((uVar42 >> (uVar44 & 0x1f) & 1) != 0) { + uVar52 = (ulonglong)uVar44; + puVar4 = (undefined8 *)(local_340 + uVar52 * 8); + iVar40 = FUN_1801e01a0(local_300 + uVar52 * 8,puVar4); + if (iVar40 != 0) { + local_3c0[uVar52] = *puVar4; + local_3d8 = &DAT_182673130; + local_3e8 = param_2; + local_3e0 = param_2; + FUN_1803ab5c0(iVar40,local_3c8 + uVar44,param_1,param_1); + *puVar4 = local_3c0[uVar52]; + local_60 = iVar40; + } + } + uVar44 = uVar44 + 1; + lVar50 = local_3b8; + lVar51 = local_3b0; + auVar122 = _DAT_181e4b9c0; + auVar88 = _DAT_181e4b980; + auVar87 = _DAT_181e4b940; + auVar86 = _DAT_181e4b900; + auVar85 = _DAT_181e4b8c0; + auVar81 = _DAT_181e4b680; + auVar80 = _DAT_181e4b640; + auVar83 = _DAT_181e4b600; + auVar84 = _DAT_181e4b880; + auVar82 = _DAT_181e4b5c0; + auVar124 = _DAT_181e4b580; + auVar125 = _DAT_181e4b540; + auVar111 = _DAT_181e4b500; + auVar97 = _DAT_181e4bac0; + auVar89 = _DAT_181e4ba00; + auVar123 = _DAT_181e4ba40; + auVar96 = _DAT_181e4ba80; + param_3 = local_78; + } while ((int)uVar44 < 8); + } + uVar47 = (ulonglong)local_380[0]; + } + uVar47 = uVar47 & 0xffff; + puVar2 = (ulonglong *)(lVar50 + param_2); + bVar14 = (bool)((byte)uVar47 & 1); + bVar15 = (bool)((byte)(uVar47 >> 1) & 1); + bVar16 = (bool)((byte)(uVar47 >> 2) & 1); + bVar17 = (bool)((byte)(uVar47 >> 3) & 1); + bVar18 = (bool)((byte)(uVar47 >> 4) & 1); + bVar19 = (bool)((byte)(uVar47 >> 5) & 1); + bVar20 = (bool)((byte)(uVar47 >> 6) & 1); + bVar21 = (bool)((byte)(uVar47 >> 7) & 1); + *puVar2 = (ulonglong)bVar14 * local_340._0_8_ | (ulonglong)!bVar14 * *puVar2; + puVar2[1] = (ulonglong)bVar15 * local_340._8_8_ | (ulonglong)!bVar15 * puVar2[1]; + puVar2[2] = (ulonglong)bVar16 * local_340._16_8_ | (ulonglong)!bVar16 * puVar2[2]; + puVar2[3] = (ulonglong)bVar17 * local_340._24_8_ | (ulonglong)!bVar17 * puVar2[3]; + puVar2[4] = (ulonglong)bVar18 * local_340._32_8_ | (ulonglong)!bVar18 * puVar2[4]; + puVar2[5] = (ulonglong)bVar19 * local_340._40_8_ | (ulonglong)!bVar19 * puVar2[5]; + puVar2[6] = (ulonglong)bVar20 * local_340._48_8_ | (ulonglong)!bVar20 * puVar2[6]; + puVar2[7] = (ulonglong)bVar21 * local_340._56_8_ | (ulonglong)!bVar21 * puVar2[7]; + lVar50 = lVar50 + 0x40; + } + if ((local_68 & 2) == 0) { + uVar42 = vstmxcsr_avx(); + if ((uVar42 & 0x1f) != 0) { + vldmxcsr_avx(uVar42 & 0xffffffe0); + } + } + else { + vldmxcsr_avx(local_70); + } + if ((uVar41 ^ (ulonglong)&local_408) == DAT_182615970) { + return local_60; + } + } + if ((uVar41 ^ (ulonglong)&local_408) == DAT_182615970) { + return -8; + } + } +} + + + +############ FUN_ 1801e3f20 size=6814 ############ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +undefined4 FUN_1801e3f20(longlong param_1,longlong param_2,uint param_3) + +{ + longlong *plVar1; + ulonglong *puVar2; + longlong lVar3; + double dVar4; + undefined1 auVar5 [16]; + undefined1 auVar6 [16]; + undefined1 auVar7 [16]; + undefined1 auVar8 [16]; + undefined1 auVar9 [16]; + undefined1 auVar10 [16]; + undefined1 auVar11 [16]; + undefined1 auVar12 [16]; + undefined1 auVar13 [16]; + bool bVar14; + bool bVar15; + bool bVar16; + bool bVar17; + bool bVar18; + bool bVar19; + bool bVar20; + bool bVar21; + ulonglong uVar22; + undefined8 uVar23; + undefined8 uVar24; + ulonglong uVar25; + ulonglong uVar26; + ulonglong uVar27; + ulonglong uVar28; + undefined1 auVar29 [64]; + undefined1 auVar30 [64]; + undefined1 auVar31 [64]; + undefined1 auVar32 [64]; + undefined1 auVar33 [64]; + undefined1 auVar34 [64]; + undefined1 auVar35 [64]; + undefined1 auVar36 [64]; + undefined1 auVar37 [64]; + undefined1 auVar38 [64]; + undefined1 auVar39 [64]; + undefined4 uVar40; + ulonglong uVar41; + ulonglong uVar42; + uint uVar43; + ulonglong unaff_RBP; + ulonglong uVar44; + undefined1 **ppuVar45; + uint uVar46; + longlong lVar47; + ulonglong uVar48; + ulonglong uVar49; + undefined1 auVar50 [16]; + undefined1 auVar51 [16]; + undefined1 auVar52 [16]; + undefined1 auVar53 [16]; + undefined1 auVar54 [16]; + undefined1 auVar55 [16]; + undefined1 auVar56 [16]; + undefined1 auVar57 [16]; + undefined1 auVar58 [16]; + undefined1 auVar59 [16]; + undefined1 auVar60 [16]; + undefined1 auVar61 [16]; + undefined1 auVar62 [16]; + undefined1 auVar63 [16]; + undefined1 auVar71 [16]; + undefined1 auVar72 [16]; + undefined1 auVar73 [16]; + undefined1 auVar74 [16]; + undefined1 auVar75 [16]; + undefined1 auVar76 [16]; + undefined1 auVar77 [32]; + undefined1 auVar78 [64]; + undefined1 auVar79 [64]; + undefined1 auVar80 [64]; + undefined1 auVar81 [64]; + undefined1 auVar82 [64]; + undefined1 auVar83 [64]; + undefined1 auVar84 [64]; + undefined1 auVar85 [64]; + undefined1 auVar64 [16]; + undefined1 auVar65 [16]; + undefined1 auVar86 [64]; + undefined1 auVar66 [16]; + undefined1 auVar87 [64]; + undefined1 auVar88 [64]; + undefined1 auVar89 [64]; + undefined1 auVar90 [64]; + undefined1 auVar91 [64]; + undefined1 auVar92 [64]; + undefined1 auVar93 [64]; + undefined1 auVar94 [64]; + undefined1 auVar95 [64]; + undefined1 auVar96 [64]; + undefined1 auVar97 [64]; + undefined1 auVar98 [64]; + undefined1 auVar99 [64]; + undefined1 auVar100 [64]; + undefined1 auVar101 [64]; + undefined1 auVar102 [64]; + undefined1 auVar103 [64]; + undefined1 auVar104 [64]; + undefined1 auVar105 [64]; + undefined1 auVar67 [16]; + undefined1 auVar68 [16]; + undefined1 auVar69 [16]; + undefined1 auVar70 [16]; + undefined1 auVar106 [64]; + undefined1 auVar107 [64]; + undefined1 auVar108 [64]; + undefined1 auVar109 [64]; + undefined1 auVar110 [64]; + undefined1 auVar111 [64]; + undefined1 auVar112 [64]; + undefined1 auVar113 [64]; + undefined8 unaff_XMM6_Qa; + undefined8 unaff_XMM6_Qb; + undefined8 unaff_XMM7_Qa; + undefined8 unaff_XMM7_Qb; + undefined8 unaff_XMM8_Qa; + undefined8 unaff_XMM8_Qb; + undefined8 unaff_XMM9_Qa; + undefined8 unaff_XMM9_Qb; + undefined8 unaff_XMM10_Qa; + undefined8 unaff_XMM10_Qb; + undefined8 unaff_XMM11_Qa; + undefined8 unaff_XMM11_Qb; + undefined1 auVar114 [64]; + undefined8 unaff_XMM12_Qa; + undefined8 unaff_XMM12_Qb; + undefined8 unaff_XMM13_Qa; + undefined8 unaff_XMM13_Qb; + undefined1 auVar115 [64]; + undefined8 unaff_XMM14_Qa; + undefined8 unaff_XMM14_Qb; + undefined8 unaff_XMM15_Qa; + undefined8 unaff_XMM15_Qb; + undefined1 auVar116 [64]; + undefined4 in_stack_181e72300; + undefined4 in_stack_181e72308; + undefined4 in_stack_181e72310; + undefined1 *local_338; + undefined1 *local_330; + longlong local_318; + longlong local_310; + undefined *local_308; + undefined8 local_2f8; + longlong local_2f0; + ulonglong local_2e8; + undefined1 local_2e0 [2]; + undefined1 local_2de [2]; + uint local_2dc; + undefined1 local_2c0 [64]; + undefined1 local_280 [64]; + undefined1 local_240 [64]; + undefined1 local_200 [64]; + undefined1 local_1c0 [64]; + undefined1 local_180 [64]; + undefined8 local_118; + undefined8 uStack_110; + undefined8 local_108; + undefined8 uStack_100; + undefined8 local_f8; + undefined8 uStack_f0; + undefined8 local_e8; + undefined8 uStack_e0; + undefined8 local_d8; + undefined8 uStack_d0; + undefined8 local_c8; + undefined8 uStack_c0; + undefined8 local_b8; + undefined8 uStack_b0; + undefined8 local_a8; + undefined8 uStack_a0; + undefined8 local_98; + undefined8 uStack_90; + undefined8 local_88; + undefined8 uStack_80; + char local_78; + uint local_70; + uint local_68; + undefined4 local_60; + + local_68 = 0; + uVar41 = DAT_182615970 ^ (ulonglong)&local_338; + uVar44 = unaff_RBP & 0xffffffffffffff00; + local_60 = 0; + lVar47 = (longlong)(int)(param_3 & 0xfffffff0); + if ((int)param_3 < 1) { + if ((uVar41 ^ (ulonglong)&local_338) == DAT_182615970) { + return 0xfffffffa; + } + } + else { + if ((param_1 != 0) && (param_2 != 0)) { + local_70 = vstmxcsr_avx(); + ppuVar45 = (undefined1 **)(ulonglong)(local_70 & 0xffc0); + local_2dc = local_70; + if ((local_70 & 0xffc0) != 0x1f80) { + local_2dc = (local_70 & 0xffff003f) + 0x1f80; + local_68 = 2; + vldmxcsr_avx(local_2dc); + } + uVar48 = 0; + if (0 < lVar47) { + local_60 = 0; + auVar108 = _DAT_181e6de40; + auVar106 = _DAT_181e6de00; + auVar107 = _DAT_181e6dd80; + local_118 = unaff_XMM6_Qa; + uStack_110 = unaff_XMM6_Qb; + local_108 = unaff_XMM7_Qa; + uStack_100 = unaff_XMM7_Qb; + local_f8 = unaff_XMM8_Qa; + uStack_f0 = unaff_XMM8_Qb; + local_e8 = unaff_XMM9_Qa; + uStack_e0 = unaff_XMM9_Qb; + local_d8 = unaff_XMM10_Qa; + uStack_d0 = unaff_XMM10_Qb; + local_c8 = unaff_XMM11_Qa; + uStack_c0 = unaff_XMM11_Qb; + local_b8 = unaff_XMM12_Qa; + uStack_b0 = unaff_XMM12_Qb; + local_a8 = unaff_XMM13_Qa; + uStack_a0 = unaff_XMM13_Qb; + local_98 = unaff_XMM14_Qa; + uStack_90 = unaff_XMM14_Qb; + local_88 = unaff_XMM15_Qa; + uStack_80 = unaff_XMM15_Qb; + do { + auVar113 = *(undefined1 (*) [64])(param_1 + uVar48 * 8); + uVar46 = 0; + auVar116 = *(undefined1 (*) [64])(param_1 + 0x40 + uVar48 * 8); + auVar78 = vandpd_avx512dq(auVar113,_DAT_181e6dcc0); + auVar79 = vandpd_avx512dq(auVar116,_DAT_181e6dcc0); + uVar49 = vcmppd_avx512f(auVar78,_DAT_181e6dd00,0x16); + uVar42 = vcmppd_avx512f(auVar79,_DAT_181e6dd00,0x16); + auVar52 = auVar107._0_16_; + auVar50 = vfmadd231pd_avx512vl(auVar52,DAT_181e6dd40._0_16_,auVar113._0_16_); + auVar114 = ZEXT1664(auVar50); + auVar51 = vfmadd231pd_avx512vl(auVar52,DAT_181e6dd40._0_16_,auVar116._0_16_); + auVar115 = ZEXT1664(auVar51); + auVar50 = vsubpd_avx512vl(auVar50,auVar52); + auVar51 = vsubpd_avx512vl(auVar51,auVar52); + auVar52 = vfnmadd213pd_avx512vl(DAT_181e6ddc0._0_16_,auVar50,auVar113._0_16_); + auVar53 = vfnmadd213pd_avx512vl(DAT_181e6ddc0._0_16_,auVar51,auVar116._0_16_); + auVar56 = auVar106._0_16_; + auVar54 = vfnmadd213pd_avx512vl(auVar56,auVar50,auVar52); + auVar55 = vfnmadd213pd_avx512vl(auVar56,auVar51,auVar53); + auVar52 = vsubpd_avx512vl(auVar52,auVar54); + auVar53 = vsubpd_avx512vl(auVar53,auVar55); + auVar53 = vfnmadd231pd_avx512vl(auVar53,auVar56,auVar51); + auVar52 = vfnmadd231pd_avx512vl(auVar52,auVar56,auVar50); + auVar60 = auVar108._0_16_; + auVar56 = vfnmadd213pd_avx512vl(auVar60,auVar50,auVar54); + auVar57 = vfnmadd213pd_avx512vl(auVar60,auVar51,auVar55); + auVar58 = vmulpd_avx512vl(auVar56,auVar56); + auVar59 = vmulpd_avx512vl(auVar57,auVar57); + auVar55 = vsubpd_avx512vl(auVar57,auVar55); + auVar54 = vsubpd_avx512vl(auVar56,auVar54); + auVar51 = vfmadd213pd_avx512vl(auVar51,auVar60,auVar55); + auVar50 = vfmadd213pd_avx512vl(auVar50,auVar60,auVar54); + auVar78 = vpermt2pd_avx512f(auVar114,_DAT_181e6e000); + auVar79 = vpermt2pd_avx512f(auVar115,_DAT_181e6e000); + auVar80 = vpermt2pd_avx512f(auVar115,_DAT_181e6df00); + auVar81 = vpermt2pd_avx512f(auVar114,_DAT_181e6df00); + auVar82 = vpermt2pd_avx512f(auVar115,_DAT_181e6df80); + auVar83 = vpermt2pd_avx512f(auVar114,_DAT_181e6df80); + auVar54 = vfmadd231pd_avx512vl(DAT_181e6e080._0_16_,DAT_181e6e040._0_16_,auVar58); + auVar55 = vfmadd231pd_avx512vl(DAT_181e6e080._0_16_,DAT_181e6e040._0_16_,auVar59); + auVar54 = vfmadd213pd_avx512vl(auVar54,auVar58,DAT_181e6e140._0_16_); + auVar55 = vfmadd213pd_avx512vl(auVar55,auVar59,DAT_181e6e140._0_16_); + auVar114 = vpsrlq_avx512f(auVar114,4); + auVar115 = vpsrlq_avx512f(auVar115,4); + auVar50 = vsubpd_avx512vl(auVar52,auVar50); + auVar51 = vsubpd_avx512vl(auVar53,auVar51); + auVar84 = vpsllq_avx512f(auVar79,0x20); + auVar85 = vpsllq_avx512f(auVar78,0x20); + auVar52 = vfmadd213pd_avx512vl(auVar54,auVar58,DAT_181e6e1c0._0_16_); + auVar53 = vfmadd213pd_avx512vl(auVar55,auVar59,DAT_181e6e1c0._0_16_); + auVar72 = auVar82._0_16_; + auVar74 = auVar80._0_16_; + auVar54 = vfnmadd213pd_avx512vl(auVar74,auVar57,auVar72); + auVar55 = vfmadd231pd_avx512vl(DAT_181e6e100._0_16_,DAT_181e6e0c0._0_16_,auVar58); + auVar60 = vfmadd231pd_avx512vl(DAT_181e6e100._0_16_,DAT_181e6e0c0._0_16_,auVar59); + auVar61 = vsubpd_avx512vl(auVar72,auVar54); + auVar55 = vfmadd213pd_avx512vl(auVar55,auVar58,DAT_181e6e180._0_16_); + auVar60 = vfmadd213pd_avx512vl(auVar60,auVar59,DAT_181e6e180._0_16_); + auVar61 = vfmsub231pd_avx512vl(auVar61,auVar57,auVar74); + auVar61 = vfmadd213pd_avx512vl(auVar84._0_16_,auVar57,auVar61); + auVar55 = vfmadd213pd_avx512vl(auVar55,auVar58,DAT_181e6e200._0_16_); + auVar60 = vfmadd213pd_avx512vl(auVar60,auVar59,DAT_181e6e200._0_16_); + auVar71 = auVar81._0_16_; + auVar62 = vmulpd_avx512vl(auVar71,auVar56); + auVar73 = auVar83._0_16_; + auVar63 = vfnmadd213pd_avx512vl(auVar71,auVar56,auVar73); + auVar64 = vfmadd213pd_avx512vl(auVar73,auVar56,auVar71); + auVar65 = vsubpd_avx512vl(auVar73,auVar63); + auVar65 = vfmsub231pd_avx512vl(auVar65,auVar56,auVar71); + auVar50 = vfnmadd213pd_avx512vl(auVar64,auVar50,auVar78._0_16_); + auVar64 = vmulpd_avx512vl(auVar74,auVar57); + auVar52 = vmulpd_avx512vl(auVar73,auVar52); + auVar56 = vfmadd213pd_avx512vl(auVar85._0_16_,auVar56,auVar65); + auVar52 = vfnmadd213pd_avx512vl(auVar55,auVar62,auVar52); + auVar78 = vpsllq_avx512f(auVar115,0x3f); + auVar50 = vsubpd_avx512vl(auVar50,auVar56); + auVar50 = vfmadd213pd_avx512vl(auVar52,auVar58,auVar50); + auVar52 = vfmadd213pd_avx512vl(auVar72,auVar57,auVar74); + auVar53 = vmulpd_avx512vl(auVar72,auVar53); + auVar51 = vfnmadd213pd_avx512vl(auVar52,auVar51,auVar79._0_16_); + auVar52 = vfnmadd213pd_avx512vl(auVar60,auVar64,auVar53); + auVar79 = vpsllq_avx512f(auVar114,0x3f); + auVar51 = vsubpd_avx512vl(auVar51,auVar61); + auVar51 = vfmadd213pd_avx512vl(auVar52,auVar59,auVar51); + auVar50 = vaddpd_avx512vl(auVar63,auVar50); + auVar51 = vaddpd_avx512vl(auVar54,auVar51); + auVar81 = ZEXT1664(auVar51); + auVar79 = vxorpd_avx512dq(ZEXT1664(auVar50),auVar79); + auVar80 = vxorpd_avx512dq(auVar81,auVar78); + local_240 = auVar79; + auVar78 = auVar80; + if (CONCAT11((byte)uVar42,(byte)uVar49) != 0) { + auVar75 = auVar79._0_16_; + uVar26 = vpcmpeqb_avx512vl(auVar75,auVar75); + uVar27 = vpcmpeqb_avx512vl(auVar75,auVar75); + auVar78 = vandpd_avx512dq(_DAT_181e722c0,auVar116); + auVar83 = vandpd_avx512dq(_DAT_181e722c0,auVar113); + auVar50._8_8_ = 0; + auVar50._0_8_ = DAT_181e7e7c0; + auVar114 = vpbroadcastq_avx512f(auVar50); + auVar51._8_8_ = 0; + auVar51._0_8_ = DAT_181e7e7c0; + auVar115 = vpbroadcastq_avx512f(auVar51); + uVar22 = vcmppd_avx512f(auVar78,_DAT_181e722c0,4); + uVar25 = vcmppd_avx512f(auVar83,_DAT_181e722c0,4); + auVar52._8_8_ = 0; + auVar52._0_8_ = DAT_181e7e7d8; + auVar84 = vpbroadcastq_avx512f(auVar52); + auVar106._8_8_ = DAT_181e7e7c8; + auVar106._0_8_ = DAT_181e7e7c8; + auVar106._16_8_ = DAT_181e7e7c8; + auVar106._24_8_ = DAT_181e7e7c8; + auVar106._32_8_ = DAT_181e7e7c8; + auVar106._40_8_ = DAT_181e7e7c8; + auVar106._48_8_ = DAT_181e7e7c8; + auVar106._56_8_ = DAT_181e7e7c8; + auVar106 = vpandq_avx512f(auVar113,auVar106); + auVar106 = vpsrlq_avx512f(auVar106,0x34); + auVar107 = vpsllq_avx512f(auVar106,1); + auVar106 = vpaddq_avx512f(auVar107,auVar106); + auVar106 = vpsllq_avx512f(auVar106,3); + vpmovqd_avx512f(auVar106); + auVar107._8_8_ = DAT_181e7e7c8; + auVar107._0_8_ = DAT_181e7e7c8; + auVar107._16_8_ = DAT_181e7e7c8; + auVar107._24_8_ = DAT_181e7e7c8; + auVar107._32_8_ = DAT_181e7e7c8; + auVar107._40_8_ = DAT_181e7e7c8; + auVar107._48_8_ = DAT_181e7e7c8; + auVar107._56_8_ = DAT_181e7e7c8; + auVar106 = vpandq_avx512f(auVar116,auVar107); + auVar106 = vpsrlq_avx512f(auVar106,0x34); + auVar107 = vpsllq_avx512f(auVar106,1); + auVar106 = vpaddq_avx512f(auVar107,auVar106); + auVar106 = vpsllq_avx512f(auVar106,3); + vpmovqd_avx512f(auVar106); + auVar106 = vpandnq_avx512f(auVar78,auVar78); + bVar14 = (bool)((byte)uVar22 & 1); + auVar89._0_8_ = (ulonglong)bVar14 * auVar106._0_8_ | (ulonglong)!bVar14 * auVar114._0_8_ + ; + bVar14 = (bool)((byte)(uVar22 >> 1) & 1); + auVar89._8_8_ = (ulonglong)bVar14 * auVar106._8_8_ | (ulonglong)!bVar14 * auVar114._8_8_ + ; + bVar14 = (bool)((byte)(uVar22 >> 2) & 1); + auVar89._16_8_ = + (ulonglong)bVar14 * auVar106._16_8_ | (ulonglong)!bVar14 * auVar114._16_8_; + bVar14 = (bool)((byte)(uVar22 >> 3) & 1); + auVar89._24_8_ = + (ulonglong)bVar14 * auVar106._24_8_ | (ulonglong)!bVar14 * auVar114._24_8_; + bVar14 = (bool)((byte)(uVar22 >> 4) & 1); + auVar89._32_8_ = + (ulonglong)bVar14 * auVar106._32_8_ | (ulonglong)!bVar14 * auVar114._32_8_; + bVar14 = (bool)((byte)(uVar22 >> 5) & 1); + auVar89._40_8_ = + (ulonglong)bVar14 * auVar106._40_8_ | (ulonglong)!bVar14 * auVar114._40_8_; + bVar14 = (bool)((byte)(uVar22 >> 6) & 1); + auVar89._48_8_ = + (ulonglong)bVar14 * auVar106._48_8_ | (ulonglong)!bVar14 * auVar114._48_8_; + auVar89._56_8_ = + (uVar22 >> 7) * auVar106._56_8_ | + (ulonglong)!SUB81(uVar22 >> 7,0) * auVar114._56_8_; + uVar23 = vcmppd_avx512f(auVar89,auVar89,3); + auVar106 = vpandnq_avx512f(auVar83,auVar83); + bVar14 = (bool)((byte)uVar25 & 1); + auVar112._0_8_ = + (ulonglong)bVar14 * auVar106._0_8_ | (ulonglong)!bVar14 * auVar115._0_8_; + bVar14 = (bool)((byte)(uVar25 >> 1) & 1); + auVar112._8_8_ = + (ulonglong)bVar14 * auVar106._8_8_ | (ulonglong)!bVar14 * auVar115._8_8_; + bVar14 = (bool)((byte)(uVar25 >> 2) & 1); + auVar112._16_8_ = + (ulonglong)bVar14 * auVar106._16_8_ | (ulonglong)!bVar14 * auVar115._16_8_; + bVar14 = (bool)((byte)(uVar25 >> 3) & 1); + auVar112._24_8_ = + (ulonglong)bVar14 * auVar106._24_8_ | (ulonglong)!bVar14 * auVar115._24_8_; + bVar14 = (bool)((byte)(uVar25 >> 4) & 1); + auVar112._32_8_ = + (ulonglong)bVar14 * auVar106._32_8_ | (ulonglong)!bVar14 * auVar115._32_8_; + bVar14 = (bool)((byte)(uVar25 >> 5) & 1); + auVar112._40_8_ = + (ulonglong)bVar14 * auVar106._40_8_ | (ulonglong)!bVar14 * auVar115._40_8_; + bVar14 = (bool)((byte)(uVar25 >> 6) & 1); + auVar112._48_8_ = + (ulonglong)bVar14 * auVar106._48_8_ | (ulonglong)!bVar14 * auVar115._48_8_; + auVar112._56_8_ = + (uVar25 >> 7) * auVar106._56_8_ | + (ulonglong)!SUB81(uVar25 >> 7,0) * auVar115._56_8_; + uVar22 = vpcmpeqb_avx512vl(auVar75,auVar75); + uVar25 = vpcmpeqb_avx512vl(auVar75,auVar75); + uVar28 = vpcmpeqb_avx512vl(auVar75,auVar75); + uVar24 = vcmppd_avx512f(auVar112,auVar112,3); + uVar46 = (uint)uVar24 | (int)uVar23 << 8; + auVar106 = vpxord_avx512f(ZEXT1664(auVar54),ZEXT1664(auVar54)); + auVar107 = vgatherdpd_avx512f(DAT_181e725c0); + bVar14 = (bool)((byte)uVar26 & 1); + auVar97._0_8_ = (ulonglong)bVar14 * auVar107._0_8_ | (ulonglong)!bVar14 * auVar106._0_8_ + ; + bVar14 = (bool)((byte)(uVar26 >> 1) & 1); + auVar97._8_8_ = (ulonglong)bVar14 * auVar107._8_8_ | (ulonglong)!bVar14 * auVar106._8_8_ + ; + bVar14 = (bool)((byte)(uVar26 >> 2) & 1); + auVar97._16_8_ = + (ulonglong)bVar14 * auVar107._16_8_ | (ulonglong)!bVar14 * auVar106._16_8_; + bVar14 = (bool)((byte)(uVar26 >> 3) & 1); + auVar97._24_8_ = + (ulonglong)bVar14 * auVar107._24_8_ | (ulonglong)!bVar14 * auVar106._24_8_; + bVar14 = (bool)((byte)(uVar26 >> 4) & 1); + auVar97._32_8_ = + (ulonglong)bVar14 * auVar107._32_8_ | (ulonglong)!bVar14 * auVar106._32_8_; + bVar14 = (bool)((byte)(uVar26 >> 5) & 1); + auVar97._40_8_ = + (ulonglong)bVar14 * auVar107._40_8_ | (ulonglong)!bVar14 * auVar106._40_8_; + bVar14 = (bool)((byte)(uVar26 >> 6) & 1); + auVar97._48_8_ = + (ulonglong)bVar14 * auVar107._48_8_ | (ulonglong)!bVar14 * auVar106._48_8_; + bVar14 = (bool)((byte)(uVar26 >> 7) & 1); + auVar97._56_8_ = + (ulonglong)bVar14 * auVar107._56_8_ | (ulonglong)!bVar14 * auVar106._56_8_; + uVar26 = vpcmpeqb_avx512vl(auVar75,auVar75); + auVar106 = vpsrlq_avx512f(auVar97,0x20); + auVar107 = vpxord_avx512f(auVar108,auVar108); + auVar83 = vpxord_avx512f(auVar89,auVar89); + auVar114 = vpxord_avx512f(auVar81,auVar81); + auVar82 = vpxord_avx512f(auVar82,auVar82); + auVar78 = vpxord_avx512f(auVar78,auVar78); + auVar108._8_8_ = DAT_181e7e7d0; + auVar108._0_8_ = DAT_181e7e7d0; + auVar108._16_8_ = DAT_181e7e7d0; + auVar108._24_8_ = DAT_181e7e7d0; + auVar108._32_8_ = DAT_181e7e7d0; + auVar108._40_8_ = DAT_181e7e7d0; + auVar108._48_8_ = DAT_181e7e7d0; + auVar108._56_8_ = DAT_181e7e7d0; + auVar108 = vpandq_avx512f(auVar113,auVar108); + auVar81._8_8_ = DAT_181e7e7d0; + auVar81._0_8_ = DAT_181e7e7d0; + auVar81._16_8_ = DAT_181e7e7d0; + auVar81._24_8_ = DAT_181e7e7d0; + auVar81._32_8_ = DAT_181e7e7d0; + auVar81._40_8_ = DAT_181e7e7d0; + auVar81._48_8_ = DAT_181e7e7d0; + auVar81._56_8_ = DAT_181e7e7d0; + auVar81 = vpandq_avx512f(auVar116,auVar81); + auVar108 = vpaddq_avx512f(auVar108,auVar84); + auVar81 = vpaddq_avx512f(auVar81,auVar84); + auVar53._8_8_ = 0; + auVar53._0_8_ = DAT_181e7e7e0; + auVar115 = vpbroadcastq_avx512f(auVar53); + auVar84 = vpsrlq_avx512f(auVar108,0x20); + auVar85 = vgatherdpd_avx512f(DAT_181e725d0); + bVar14 = (bool)((byte)uVar28 & 1); + auVar98._0_8_ = (ulonglong)bVar14 * auVar85._0_8_ | (ulonglong)!bVar14 * auVar107._0_8_; + bVar14 = (bool)((byte)(uVar28 >> 1) & 1); + auVar98._8_8_ = (ulonglong)bVar14 * auVar85._8_8_ | (ulonglong)!bVar14 * auVar107._8_8_; + bVar14 = (bool)((byte)(uVar28 >> 2) & 1); + auVar98._16_8_ = + (ulonglong)bVar14 * auVar85._16_8_ | (ulonglong)!bVar14 * auVar107._16_8_; + bVar14 = (bool)((byte)(uVar28 >> 3) & 1); + auVar98._24_8_ = + (ulonglong)bVar14 * auVar85._24_8_ | (ulonglong)!bVar14 * auVar107._24_8_; + bVar14 = (bool)((byte)(uVar28 >> 4) & 1); + auVar98._32_8_ = + (ulonglong)bVar14 * auVar85._32_8_ | (ulonglong)!bVar14 * auVar107._32_8_; + bVar14 = (bool)((byte)(uVar28 >> 5) & 1); + auVar98._40_8_ = + (ulonglong)bVar14 * auVar85._40_8_ | (ulonglong)!bVar14 * auVar107._40_8_; + bVar14 = (bool)((byte)(uVar28 >> 6) & 1); + auVar98._48_8_ = + (ulonglong)bVar14 * auVar85._48_8_ | (ulonglong)!bVar14 * auVar107._48_8_; + bVar14 = (bool)((byte)(uVar28 >> 7) & 1); + auVar98._56_8_ = + (ulonglong)bVar14 * auVar85._56_8_ | (ulonglong)!bVar14 * auVar107._56_8_; + auVar107 = vgatherdpd_avx512f(*(undefined4 *)((longlong)&DAT_181e725d0 + uVar44)); + bVar14 = (bool)((byte)uVar26 & 1); + auVar99._0_8_ = (ulonglong)bVar14 * auVar107._0_8_ | (ulonglong)!bVar14 * auVar83._0_8_; + bVar14 = (bool)((byte)(uVar26 >> 1) & 1); + auVar99._8_8_ = (ulonglong)bVar14 * auVar107._8_8_ | (ulonglong)!bVar14 * auVar83._8_8_; + bVar14 = (bool)((byte)(uVar26 >> 2) & 1); + auVar99._16_8_ = + (ulonglong)bVar14 * auVar107._16_8_ | (ulonglong)!bVar14 * auVar83._16_8_; + bVar14 = (bool)((byte)(uVar26 >> 3) & 1); + auVar99._24_8_ = + (ulonglong)bVar14 * auVar107._24_8_ | (ulonglong)!bVar14 * auVar83._24_8_; + bVar14 = (bool)((byte)(uVar26 >> 4) & 1); + auVar99._32_8_ = + (ulonglong)bVar14 * auVar107._32_8_ | (ulonglong)!bVar14 * auVar83._32_8_; + bVar14 = (bool)((byte)(uVar26 >> 5) & 1); + auVar99._40_8_ = + (ulonglong)bVar14 * auVar107._40_8_ | (ulonglong)!bVar14 * auVar83._40_8_; + bVar14 = (bool)((byte)(uVar26 >> 6) & 1); + auVar99._48_8_ = + (ulonglong)bVar14 * auVar107._48_8_ | (ulonglong)!bVar14 * auVar83._48_8_; + bVar14 = (bool)((byte)(uVar26 >> 7) & 1); + auVar99._56_8_ = + (ulonglong)bVar14 * auVar107._56_8_ | (ulonglong)!bVar14 * auVar83._56_8_; + auVar107 = vgatherdpd_avx512f(DAT_181e725c8); + bVar14 = (bool)((byte)uVar22 & 1); + auVar100._0_8_ = + (ulonglong)bVar14 * auVar107._0_8_ | (ulonglong)!bVar14 * auVar114._0_8_; + bVar14 = (bool)((byte)(uVar22 >> 1) & 1); + auVar100._8_8_ = + (ulonglong)bVar14 * auVar107._8_8_ | (ulonglong)!bVar14 * auVar114._8_8_; + bVar14 = (bool)((byte)(uVar22 >> 2) & 1); + auVar100._16_8_ = + (ulonglong)bVar14 * auVar107._16_8_ | (ulonglong)!bVar14 * auVar114._16_8_; + bVar14 = (bool)((byte)(uVar22 >> 3) & 1); + auVar100._24_8_ = + (ulonglong)bVar14 * auVar107._24_8_ | (ulonglong)!bVar14 * auVar114._24_8_; + bVar14 = (bool)((byte)(uVar22 >> 4) & 1); + auVar100._32_8_ = + (ulonglong)bVar14 * auVar107._32_8_ | (ulonglong)!bVar14 * auVar114._32_8_; + bVar14 = (bool)((byte)(uVar22 >> 5) & 1); + auVar100._40_8_ = + (ulonglong)bVar14 * auVar107._40_8_ | (ulonglong)!bVar14 * auVar114._40_8_; + bVar14 = (bool)((byte)(uVar22 >> 6) & 1); + auVar100._48_8_ = + (ulonglong)bVar14 * auVar107._48_8_ | (ulonglong)!bVar14 * auVar114._48_8_; + bVar14 = (bool)((byte)(uVar22 >> 7) & 1); + auVar100._56_8_ = + (ulonglong)bVar14 * auVar107._56_8_ | (ulonglong)!bVar14 * auVar114._56_8_; + auVar107 = vgatherdpd_avx512f(*(undefined4 *)((longlong)&DAT_181e725c8 + uVar44)); + bVar14 = (bool)((byte)uVar25 & 1); + auVar101._0_8_ = (ulonglong)bVar14 * auVar107._0_8_ | (ulonglong)!bVar14 * auVar82._0_8_ + ; + bVar14 = (bool)((byte)(uVar25 >> 1) & 1); + auVar101._8_8_ = (ulonglong)bVar14 * auVar107._8_8_ | (ulonglong)!bVar14 * auVar82._8_8_ + ; + bVar14 = (bool)((byte)(uVar25 >> 2) & 1); + auVar101._16_8_ = + (ulonglong)bVar14 * auVar107._16_8_ | (ulonglong)!bVar14 * auVar82._16_8_; + bVar14 = (bool)((byte)(uVar25 >> 3) & 1); + auVar101._24_8_ = + (ulonglong)bVar14 * auVar107._24_8_ | (ulonglong)!bVar14 * auVar82._24_8_; + bVar14 = (bool)((byte)(uVar25 >> 4) & 1); + auVar101._32_8_ = + (ulonglong)bVar14 * auVar107._32_8_ | (ulonglong)!bVar14 * auVar82._32_8_; + bVar14 = (bool)((byte)(uVar25 >> 5) & 1); + auVar101._40_8_ = + (ulonglong)bVar14 * auVar107._40_8_ | (ulonglong)!bVar14 * auVar82._40_8_; + bVar14 = (bool)((byte)(uVar25 >> 6) & 1); + auVar101._48_8_ = + (ulonglong)bVar14 * auVar107._48_8_ | (ulonglong)!bVar14 * auVar82._48_8_; + bVar14 = (bool)((byte)(uVar25 >> 7) & 1); + auVar101._56_8_ = + (ulonglong)bVar14 * auVar107._56_8_ | (ulonglong)!bVar14 * auVar82._56_8_; + auVar107 = vgatherdpd_avx512f(*(undefined4 *)((longlong)&DAT_181e725c0 + uVar44)); + bVar14 = (bool)((byte)uVar27 & 1); + auVar102._0_8_ = (ulonglong)bVar14 * auVar107._0_8_ | (ulonglong)!bVar14 * auVar78._0_8_ + ; + bVar14 = (bool)((byte)(uVar27 >> 1) & 1); + auVar102._8_8_ = (ulonglong)bVar14 * auVar107._8_8_ | (ulonglong)!bVar14 * auVar78._8_8_ + ; + bVar14 = (bool)((byte)(uVar27 >> 2) & 1); + auVar102._16_8_ = + (ulonglong)bVar14 * auVar107._16_8_ | (ulonglong)!bVar14 * auVar78._16_8_; + bVar14 = (bool)((byte)(uVar27 >> 3) & 1); + auVar102._24_8_ = + (ulonglong)bVar14 * auVar107._24_8_ | (ulonglong)!bVar14 * auVar78._24_8_; + bVar14 = (bool)((byte)(uVar27 >> 4) & 1); + auVar102._32_8_ = + (ulonglong)bVar14 * auVar107._32_8_ | (ulonglong)!bVar14 * auVar78._32_8_; + bVar14 = (bool)((byte)(uVar27 >> 5) & 1); + auVar102._40_8_ = + (ulonglong)bVar14 * auVar107._40_8_ | (ulonglong)!bVar14 * auVar78._40_8_; + bVar14 = (bool)((byte)(uVar27 >> 6) & 1); + auVar102._48_8_ = + (ulonglong)bVar14 * auVar107._48_8_ | (ulonglong)!bVar14 * auVar78._48_8_; + bVar14 = (bool)((byte)(uVar27 >> 7) & 1); + auVar102._56_8_ = + (ulonglong)bVar14 * auVar107._56_8_ | (ulonglong)!bVar14 * auVar78._56_8_; + auVar107 = vpsrlq_avx512f(auVar98,0x20); + auVar78 = vpsrlq_avx512f(auVar99,0x20); + auVar82 = vpsrlq_avx512f(auVar101,0x20); + auVar83 = vpsrlq_avx512f(auVar102,0x20); + auVar114 = vpsrlq_avx512f(auVar100,0x20); + auVar85 = vpmullq_avx512dq(auVar84,auVar107); + auVar90 = vpandq_avx512f(auVar97,auVar115); + auVar91 = vpsrlq_avx512f(auVar81,0x20); + auVar94 = vpmullq_avx512dq(auVar91,auVar78); + auVar86 = vpandq_avx512f(auVar100,auVar115); + auVar87 = vpandq_avx512f(auVar101,auVar115); + auVar108 = vpandq_avx512f(auVar108,auVar115); + auVar81 = vpandq_avx512f(auVar81,auVar115); + auVar88 = vpmullq_avx512dq(auVar84,auVar86); + auVar89 = vpmullq_avx512dq(auVar91,auVar87); + auVar86 = vpmullq_avx512dq(auVar108,auVar86); + auVar87 = vpmullq_avx512dq(auVar81,auVar87); + auVar107 = vpmullq_avx512dq(auVar108,auVar107); + auVar78 = vpmullq_avx512dq(auVar81,auVar78); + auVar112 = vpmullq_avx512dq(auVar84,auVar114); + auVar97 = vpmullq_avx512dq(auVar91,auVar82); + auVar82 = vpmullq_avx512dq(auVar81,auVar82); + auVar98 = vpandq_avx512f(auVar98,auVar115); + auVar98 = vpmullq_avx512dq(auVar84,auVar98); + auVar107 = vpsrlq_avx512f(auVar107,0x20); + auVar78 = vpsrlq_avx512f(auVar78,0x20); + auVar100 = vpsrlq_avx512f(auVar87,0x20); + auVar101 = vpsrlq_avx512f(auVar86,0x20); + auVar89 = vpaddq_avx512f(auVar89,auVar100); + auVar107 = vpaddq_avx512f(auVar85,auVar107); + auVar78 = vpaddq_avx512f(auVar94,auVar78); + auVar85 = vpaddq_avx512f(auVar88,auVar101); + auVar94 = vpandq_avx512f(auVar102,auVar115); + auVar88 = vpandq_avx512f(auVar99,auVar115); + auVar84 = vpmullq_avx512dq(auVar84,auVar90); + auVar106 = vpmullq_avx512dq(auVar108,auVar106); + auVar83 = vpmullq_avx512dq(auVar81,auVar83); + auVar90 = vpmullq_avx512dq(auVar108,auVar90); + auVar81 = vpmullq_avx512dq(auVar81,auVar94); + auVar94 = vpmullq_avx512dq(auVar91,auVar94); + auVar91 = vpmullq_avx512dq(auVar91,auVar88); + auVar108 = vpmullq_avx512dq(auVar108,auVar114); + auVar114 = vpsrlq_avx512f(auVar81,0x20); + auVar88 = vpsrlq_avx512f(auVar108,0x20); + auVar99 = vpsrlq_avx512f(auVar82,0x20); + auVar100 = vpsrlq_avx512f(auVar90,0x20); + auVar114 = vpaddq_avx512f(auVar94,auVar114); + auVar94 = vpaddq_avx512f(auVar112,auVar88); + auVar84 = vpaddq_avx512f(auVar84,auVar100); + auVar88 = vpaddq_avx512f(auVar97,auVar99); + auVar108 = vpandq_avx512f(auVar108,auVar115); + auVar82 = vpandq_avx512f(auVar82,auVar115); + auVar82 = vpaddq_avx512f(auVar82,auVar89); + auVar108 = vpaddq_avx512f(auVar108,auVar85); + auVar85 = vpsrlq_avx512f(auVar98,0x20); + auVar91 = vpsrlq_avx512f(auVar91,0x20); + auVar86 = vpandq_avx512f(auVar86,auVar115); + auVar107 = vpaddq_avx512f(auVar86,auVar107); + auVar107 = vpaddq_avx512f(auVar85,auVar107); + auVar83 = vpandq_avx512f(auVar83,auVar115); + auVar85 = vpandq_avx512f(auVar87,auVar115); + auVar78 = vpaddq_avx512f(auVar85,auVar78); + auVar83 = vpaddq_avx512f(auVar83,auVar114); + auVar78 = vpaddq_avx512f(auVar91,auVar78); + auVar114 = vpsrlq_avx512f(auVar107,0x20); + auVar106 = vpandq_avx512f(auVar106,auVar115); + auVar106 = vpaddq_avx512f(auVar106,auVar84); + auVar108 = vpaddq_avx512f(auVar114,auVar108); + auVar114 = vpsllq_avx512f(auVar108,0x20); + auVar84 = vpandq_avx512f(auVar90,auVar115); + auVar84 = vpaddq_avx512f(auVar84,auVar94); + auVar85 = vpsrlq_avx512f(auVar78,0x20); + auVar82 = vpaddq_avx512f(auVar85,auVar82); + auVar54._8_8_ = 0; + auVar54._0_8_ = DAT_181e7e800; + auVar89 = vpbroadcastq_avx512f(auVar54); + auVar108 = vpsrlq_avx512f(auVar108,0x20); + auVar85 = vpsrlq_avx512f(auVar82,0x20); + auVar82 = vpsllq_avx512f(auVar82,0x20); + auVar108 = vpaddq_avx512f(auVar108,auVar84); + auVar55._8_8_ = 0; + auVar55._0_8_ = DAT_181e7e7f8; + auVar84 = vpbroadcastq_avx512f(auVar55); + auVar81 = vpandq_avx512f(auVar81,auVar115); + auVar81 = vpaddq_avx512f(auVar81,auVar88); + auVar81 = vpaddq_avx512f(auVar85,auVar81); + auVar85 = vpsrlq_avx512f(auVar108,0x20); + auVar90 = vpsrlq_avx512f(auVar81,0x20); + auVar106 = vpaddq_avx512f(auVar85,auVar106); + auVar83 = vpaddq_avx512f(auVar90,auVar83); + auVar83 = vpsllq_avx512f(auVar83,0x20); + auVar107 = vpandq_avx512f(auVar107,auVar115); + auVar78 = vpandq_avx512f(auVar78,auVar115); + auVar108 = vpandq_avx512f(auVar108,auVar115); + auVar81 = vpandq_avx512f(auVar81,auVar115); + auVar106 = vpsllq_avx512f(auVar106,0x20); + auVar108 = vpaddq_avx512f(auVar106,auVar108); + auVar106 = vpaddq_avx512f(auVar83,auVar81); + auVar107 = vpaddq_avx512f(auVar114,auVar107); + auVar78 = vpaddq_avx512f(auVar82,auVar78); + auVar81 = vpsrlq_avx512f(auVar108,0xc); + auVar85 = vpsrlq_avx512f(auVar106,0xc); + auVar82._8_8_ = DAT_181e7e7e8; + auVar82._0_8_ = DAT_181e7e7e8; + auVar82._16_8_ = DAT_181e7e7e8; + auVar82._24_8_ = DAT_181e7e7e8; + auVar82._32_8_ = DAT_181e7e7e8; + auVar82._40_8_ = DAT_181e7e7e8; + auVar82._48_8_ = DAT_181e7e7e8; + auVar82._56_8_ = DAT_181e7e7e8; + auVar82 = vpandq_avx512f(auVar113,auVar82); + auVar83._8_8_ = DAT_181e7e7f0; + auVar83._0_8_ = DAT_181e7e7f0; + auVar83._16_8_ = DAT_181e7e7f0; + auVar83._24_8_ = DAT_181e7e7f0; + auVar83._32_8_ = DAT_181e7e7f0; + auVar83._40_8_ = DAT_181e7e7f0; + auVar83._48_8_ = DAT_181e7e7f0; + auVar83._56_8_ = DAT_181e7e7f0; + auVar81 = vpternlogq_avx512f(auVar81,auVar82,auVar83,0xf6); + auVar53 = auVar84._0_16_; + auVar50 = vaddpd_avx512vl(auVar53,auVar81._0_16_); + auVar51 = vsubpd_avx512vl(auVar50,auVar53); + auVar51 = vsubpd_avx512vl(auVar81._0_16_,auVar51); + auVar114._8_8_ = DAT_181e7e7e8; + auVar114._0_8_ = DAT_181e7e7e8; + auVar114._16_8_ = DAT_181e7e7e8; + auVar114._24_8_ = DAT_181e7e7e8; + auVar114._32_8_ = DAT_181e7e7e8; + auVar114._40_8_ = DAT_181e7e7e8; + auVar114._48_8_ = DAT_181e7e7e8; + auVar114._56_8_ = DAT_181e7e7e8; + auVar81 = vpandq_avx512f(auVar116,auVar114); + auVar115._8_8_ = DAT_181e7e7f0; + auVar115._0_8_ = DAT_181e7e7f0; + auVar115._16_8_ = DAT_181e7e7f0; + auVar115._24_8_ = DAT_181e7e7f0; + auVar115._32_8_ = DAT_181e7e7f0; + auVar115._40_8_ = DAT_181e7e7f0; + auVar115._48_8_ = DAT_181e7e7f0; + auVar115._56_8_ = DAT_181e7e7f0; + auVar83 = vpternlogq_avx512f(auVar85,auVar81,auVar115,0xf6); + auVar52 = vaddpd_avx512vl(auVar53,auVar83._0_16_); + auVar53 = vsubpd_avx512vl(auVar52,auVar53); + auVar53 = vsubpd_avx512vl(auVar83._0_16_,auVar53); + auVar84._8_8_ = DAT_181e7e820; + auVar84._0_8_ = DAT_181e7e820; + auVar84._16_8_ = DAT_181e7e820; + auVar84._24_8_ = DAT_181e7e820; + auVar84._32_8_ = DAT_181e7e820; + auVar84._40_8_ = DAT_181e7e820; + auVar84._48_8_ = DAT_181e7e820; + auVar84._56_8_ = DAT_181e7e820; + auVar106 = vpandq_avx512f(auVar106,auVar84); + auVar85._8_8_ = DAT_181e7e810; + auVar85._0_8_ = DAT_181e7e810; + auVar85._16_8_ = DAT_181e7e810; + auVar85._24_8_ = DAT_181e7e810; + auVar85._32_8_ = DAT_181e7e810; + auVar85._40_8_ = DAT_181e7e810; + auVar85._48_8_ = DAT_181e7e810; + auVar85._56_8_ = DAT_181e7e810; + auVar83 = vpandq_avx512f(auVar78,auVar85); + auVar106 = vpsllq_avx512f(auVar106,0x28); + auVar78 = vpsrlq_avx512f(auVar78,0x18); + auVar83 = vpsllq_avx512f(auVar83,0x1c); + auVar90._8_8_ = DAT_181e7e818; + auVar90._0_8_ = DAT_181e7e818; + auVar90._16_8_ = DAT_181e7e818; + auVar90._24_8_ = DAT_181e7e818; + auVar90._32_8_ = DAT_181e7e818; + auVar90._40_8_ = DAT_181e7e818; + auVar90._48_8_ = DAT_181e7e818; + auVar90._56_8_ = DAT_181e7e818; + auVar114 = vpxorq_avx512f(auVar81,auVar90); + auVar106 = vpternlogq_avx512f(auVar78,auVar106,auVar114,0xfe); + auVar54 = vsubpd_avx512vl(auVar106._0_16_,auVar114._0_16_); + auVar91._8_8_ = DAT_181e7e820; + auVar91._0_8_ = DAT_181e7e820; + auVar91._16_8_ = DAT_181e7e820; + auVar91._24_8_ = DAT_181e7e820; + auVar91._32_8_ = DAT_181e7e820; + auVar91._40_8_ = DAT_181e7e820; + auVar91._48_8_ = DAT_181e7e820; + auVar91._56_8_ = DAT_181e7e820; + auVar108 = vpandq_avx512f(auVar108,auVar91); + auVar94._8_8_ = DAT_181e7e810; + auVar94._0_8_ = DAT_181e7e810; + auVar94._16_8_ = DAT_181e7e810; + auVar94._24_8_ = DAT_181e7e810; + auVar94._32_8_ = DAT_181e7e810; + auVar94._40_8_ = DAT_181e7e810; + auVar94._48_8_ = DAT_181e7e810; + auVar94._56_8_ = DAT_181e7e810; + auVar106 = vpandq_avx512f(auVar107,auVar94); + auVar108 = vpsllq_avx512f(auVar108,0x28); + auVar107 = vpsrlq_avx512f(auVar107,0x18); + auVar106 = vpsllq_avx512f(auVar106,0x1c); + auVar86._8_8_ = DAT_181e7e808; + auVar86._0_8_ = DAT_181e7e808; + auVar86._16_8_ = DAT_181e7e808; + auVar86._24_8_ = DAT_181e7e808; + auVar86._32_8_ = DAT_181e7e808; + auVar86._40_8_ = DAT_181e7e808; + auVar86._48_8_ = DAT_181e7e808; + auVar86._56_8_ = DAT_181e7e808; + auVar78 = vpxorq_avx512f(auVar81,auVar86); + auVar87._8_8_ = DAT_181e7e818; + auVar87._0_8_ = DAT_181e7e818; + auVar87._16_8_ = DAT_181e7e818; + auVar87._24_8_ = DAT_181e7e818; + auVar87._32_8_ = DAT_181e7e818; + auVar87._40_8_ = DAT_181e7e818; + auVar87._48_8_ = DAT_181e7e818; + auVar87._56_8_ = DAT_181e7e818; + auVar81 = vpxorq_avx512f(auVar82,auVar87); + auVar83 = vporq_avx512f(auVar83,auVar78); + auVar108 = vpternlogq_avx512f(auVar107,auVar108,auVar81,0xfe); + auVar55 = vaddpd_avx512vl(auVar53,auVar54); + auVar56._8_8_ = 0; + auVar56._0_8_ = DAT_181e7e7c0; + auVar107 = vpbroadcastq_avx512f(auVar56); + auVar56 = vsubpd_avx512vl(auVar108._0_16_,auVar81._0_16_); + auVar53 = vsubpd_avx512vl(auVar53,auVar55); + auVar63 = vaddpd_avx512vl(auVar51,auVar56); + auVar57._8_8_ = 0; + auVar57._0_8_ = DAT_181e7e840; + auVar108 = vpbroadcastq_avx512f(auVar57); + auVar51 = vsubpd_avx512vl(auVar51,auVar63); + auVar51 = vaddpd_avx512vl(auVar56,auVar51); + auVar88._8_8_ = DAT_181e7e808; + auVar88._0_8_ = DAT_181e7e808; + auVar88._16_8_ = DAT_181e7e808; + auVar88._24_8_ = DAT_181e7e808; + auVar88._32_8_ = DAT_181e7e808; + auVar88._40_8_ = DAT_181e7e808; + auVar88._48_8_ = DAT_181e7e808; + auVar88._56_8_ = DAT_181e7e808; + auVar81 = vpxorq_avx512f(auVar82,auVar88); + auVar82 = vpandq_avx512f(ZEXT1664(auVar50),auVar89); + auVar114 = vpandq_avx512f(ZEXT1664(auVar52),auVar89); + auVar106 = vporq_avx512f(auVar106,auVar81); + auVar50 = vsubpd_avx512vl(auVar83._0_16_,auVar78._0_16_); + auVar52 = vaddpd_avx512vl(auVar54,auVar53); + auVar58._8_8_ = 0; + auVar58._0_8_ = DAT_181e7e828; + auVar78 = vpbroadcastq_avx512f(auVar58); + auVar54 = vsubpd_avx512vl(auVar106._0_16_,auVar81._0_16_); + auVar50 = vaddpd_avx512vl(auVar52,auVar50); + auVar59._8_8_ = 0; + auVar59._0_8_ = DAT_181e7e838; + auVar106 = vpbroadcastq_avx512f(auVar59); + auVar52 = vaddpd_avx512vl(auVar51,auVar54); + auVar60._8_8_ = 0; + auVar60._0_8_ = DAT_181e7e830; + auVar81 = vpbroadcastq_avx512f(auVar60); + auVar83 = vandpd_avx512dq(auVar116,auVar106); + auVar106 = vandpd_avx512dq(auVar113,auVar106); + auVar61._8_8_ = 0; + auVar61._0_8_ = DAT_181e7e7c0; + auVar115 = vpbroadcastq_avx512f(auVar61); + auVar62._8_8_ = 0; + auVar62._0_8_ = DAT_181e7e7c0; + auVar84 = vpbroadcastq_avx512f(auVar62); + auVar59 = auVar78._0_16_; + auVar54 = vmulpd_avx512vl(auVar63,auVar59); + uVar22 = vcmppd_avx512f(auVar83,auVar108,0x1a); + uVar25 = vcmppd_avx512f(auVar106,auVar108,0x1a); + uVar26 = vcmppd_avx512f(auVar106,auVar108,0x16); + uVar27 = vcmppd_avx512f(auVar83,auVar108,0x16); + auVar56 = vmulpd_avx512vl(auVar55,auVar59); + auVar57 = vfmsub213pd_avx512vl(auVar59,auVar63,auVar54); + auVar58 = vfmsub213pd_avx512vl(auVar59,auVar55,auVar56); + auVar57 = vfmadd213pd_avx512vl(auVar63,auVar81._0_16_,auVar57); + auVar55 = vfmadd213pd_avx512vl(auVar55,auVar81._0_16_,auVar58); + auVar52 = vfmadd213pd_avx512vl(auVar52,auVar59,auVar57); + auVar50 = vfmadd213pd_avx512vl(auVar50,auVar59,auVar55); + auVar63._8_8_ = 0; + auVar63._0_8_ = DAT_181e7e7c0; + auVar108 = vpbroadcastq_avx512f(auVar63); + auVar78 = vpandnq_avx512f(auVar83,auVar83); + bVar14 = (bool)((byte)uVar22 & 1); + auVar103._0_8_ = (ulonglong)bVar14 * auVar78._0_8_ | (ulonglong)!bVar14 * auVar107._0_8_ + ; + bVar14 = (bool)((byte)(uVar22 >> 1) & 1); + auVar103._8_8_ = (ulonglong)bVar14 * auVar78._8_8_ | (ulonglong)!bVar14 * auVar107._8_8_ + ; + bVar14 = (bool)((byte)(uVar22 >> 2) & 1); + auVar103._16_8_ = + (ulonglong)bVar14 * auVar78._16_8_ | (ulonglong)!bVar14 * auVar107._16_8_; + bVar14 = (bool)((byte)(uVar22 >> 3) & 1); + auVar103._24_8_ = + (ulonglong)bVar14 * auVar78._24_8_ | (ulonglong)!bVar14 * auVar107._24_8_; + bVar14 = (bool)((byte)(uVar22 >> 4) & 1); + auVar103._32_8_ = + (ulonglong)bVar14 * auVar78._32_8_ | (ulonglong)!bVar14 * auVar107._32_8_; + bVar14 = (bool)((byte)(uVar22 >> 5) & 1); + auVar103._40_8_ = + (ulonglong)bVar14 * auVar78._40_8_ | (ulonglong)!bVar14 * auVar107._40_8_; + bVar14 = (bool)((byte)(uVar22 >> 6) & 1); + auVar103._48_8_ = + (ulonglong)bVar14 * auVar78._48_8_ | (ulonglong)!bVar14 * auVar107._48_8_; + auVar103._56_8_ = + (uVar22 >> 7) * auVar78._56_8_ | (ulonglong)!SUB81(uVar22 >> 7,0) * auVar107._56_8_ + ; + uVar22 = vpcmpeqb_avx512vl(auVar75,auVar75); + auVar107 = vandpd_avx512dq(auVar103,ZEXT1664(auVar56)); + auVar78 = vpandnq_avx512f(auVar106,auVar106); + bVar14 = (bool)((byte)uVar25 & 1); + auVar109._0_8_ = (ulonglong)bVar14 * auVar78._0_8_ | (ulonglong)!bVar14 * auVar108._0_8_ + ; + bVar14 = (bool)((byte)(uVar25 >> 1) & 1); + auVar109._8_8_ = (ulonglong)bVar14 * auVar78._8_8_ | (ulonglong)!bVar14 * auVar108._8_8_ + ; + bVar14 = (bool)((byte)(uVar25 >> 2) & 1); + auVar109._16_8_ = + (ulonglong)bVar14 * auVar78._16_8_ | (ulonglong)!bVar14 * auVar108._16_8_; + bVar14 = (bool)((byte)(uVar25 >> 3) & 1); + auVar109._24_8_ = + (ulonglong)bVar14 * auVar78._24_8_ | (ulonglong)!bVar14 * auVar108._24_8_; + bVar14 = (bool)((byte)(uVar25 >> 4) & 1); + auVar109._32_8_ = + (ulonglong)bVar14 * auVar78._32_8_ | (ulonglong)!bVar14 * auVar108._32_8_; + bVar14 = (bool)((byte)(uVar25 >> 5) & 1); + auVar109._40_8_ = + (ulonglong)bVar14 * auVar78._40_8_ | (ulonglong)!bVar14 * auVar108._40_8_; + bVar14 = (bool)((byte)(uVar25 >> 6) & 1); + auVar109._48_8_ = + (ulonglong)bVar14 * auVar78._48_8_ | (ulonglong)!bVar14 * auVar108._48_8_; + auVar109._56_8_ = + (uVar25 >> 7) * auVar78._56_8_ | (ulonglong)!SUB81(uVar25 >> 7,0) * auVar108._56_8_ + ; + auVar108 = vandpd_avx512dq(auVar109,ZEXT1664(auVar54)); + auVar78 = vpsllq_avx512f(auVar82,5); + auVar77 = vpmovqd_avx512f(auVar78); + local_2c0 = ZEXT3264(auVar77); + auVar106 = vpandnq_avx512f(auVar106,auVar106); + bVar14 = (bool)((byte)uVar26 & 1); + auVar110._0_8_ = + (ulonglong)bVar14 * auVar106._0_8_ | (ulonglong)!bVar14 * auVar115._0_8_; + bVar14 = (bool)((byte)(uVar26 >> 1) & 1); + auVar110._8_8_ = + (ulonglong)bVar14 * auVar106._8_8_ | (ulonglong)!bVar14 * auVar115._8_8_; + bVar14 = (bool)((byte)(uVar26 >> 2) & 1); + auVar110._16_8_ = + (ulonglong)bVar14 * auVar106._16_8_ | (ulonglong)!bVar14 * auVar115._16_8_; + bVar14 = (bool)((byte)(uVar26 >> 3) & 1); + auVar110._24_8_ = + (ulonglong)bVar14 * auVar106._24_8_ | (ulonglong)!bVar14 * auVar115._24_8_; + bVar14 = (bool)((byte)(uVar26 >> 4) & 1); + auVar110._32_8_ = + (ulonglong)bVar14 * auVar106._32_8_ | (ulonglong)!bVar14 * auVar115._32_8_; + bVar14 = (bool)((byte)(uVar26 >> 5) & 1); + auVar110._40_8_ = + (ulonglong)bVar14 * auVar106._40_8_ | (ulonglong)!bVar14 * auVar115._40_8_; + bVar14 = (bool)((byte)(uVar26 >> 6) & 1); + auVar110._48_8_ = + (ulonglong)bVar14 * auVar106._48_8_ | (ulonglong)!bVar14 * auVar115._48_8_; + auVar110._56_8_ = + (uVar26 >> 7) * auVar106._56_8_ | + (ulonglong)!SUB81(uVar26 >> 7,0) * auVar115._56_8_; + auVar106 = vpandnq_avx512f(auVar83,auVar83); + bVar14 = (bool)((byte)uVar27 & 1); + auVar111._0_8_ = (ulonglong)bVar14 * auVar106._0_8_ | (ulonglong)!bVar14 * auVar84._0_8_ + ; + bVar14 = (bool)((byte)(uVar27 >> 1) & 1); + auVar111._8_8_ = (ulonglong)bVar14 * auVar106._8_8_ | (ulonglong)!bVar14 * auVar84._8_8_ + ; + bVar14 = (bool)((byte)(uVar27 >> 2) & 1); + auVar111._16_8_ = + (ulonglong)bVar14 * auVar106._16_8_ | (ulonglong)!bVar14 * auVar84._16_8_; + bVar14 = (bool)((byte)(uVar27 >> 3) & 1); + auVar111._24_8_ = + (ulonglong)bVar14 * auVar106._24_8_ | (ulonglong)!bVar14 * auVar84._24_8_; + bVar14 = (bool)((byte)(uVar27 >> 4) & 1); + auVar111._32_8_ = + (ulonglong)bVar14 * auVar106._32_8_ | (ulonglong)!bVar14 * auVar84._32_8_; + bVar14 = (bool)((byte)(uVar27 >> 5) & 1); + auVar111._40_8_ = + (ulonglong)bVar14 * auVar106._40_8_ | (ulonglong)!bVar14 * auVar84._40_8_; + bVar14 = (bool)((byte)(uVar27 >> 6) & 1); + auVar111._48_8_ = + (ulonglong)bVar14 * auVar106._48_8_ | (ulonglong)!bVar14 * auVar84._48_8_; + auVar111._56_8_ = + (uVar27 >> 7) * auVar106._56_8_ | (ulonglong)!SUB81(uVar27 >> 7,0) * auVar84._56_8_ + ; + auVar106 = vandpd_avx512dq(auVar110,auVar113); + auVar81 = vandpd_avx512dq(auVar111,auVar116); + auVar82 = vandpd_avx512dq(auVar109,ZEXT1664(auVar52)); + auVar83 = vorpd_avx512dq(auVar106,auVar108); + auVar107 = vorpd_avx512dq(auVar81,auVar107); + auVar115 = vpsllq_avx512f(auVar114,5); + auVar84 = vandpd_avx512dq(auVar103,ZEXT1664(auVar50)); + auVar106 = vpxord_avx512f(auVar106,auVar106); + auVar85 = vgatherdpd_avx512f(*(undefined4 *)((longlong)ppuVar45 + 0x181e6e240)); + bVar14 = (bool)((byte)uVar22 & 1); + auVar64._0_8_ = (ulonglong)bVar14 * auVar85._0_8_ | (ulonglong)!bVar14 * auVar106._0_8_; + bVar14 = (bool)((byte)(uVar22 >> 1) & 1); + auVar64._8_8_ = (ulonglong)bVar14 * auVar85._8_8_ | (ulonglong)!bVar14 * auVar106._8_8_; + uVar22 = vpcmpeqb_avx512vl(auVar75,auVar75); + uVar25 = vpcmpeqb_avx512vl(auVar75,auVar75); + uVar26 = vpcmpeqb_avx512vl(auVar75,auVar75); + uVar27 = vpcmpeqb_avx512vl(auVar75,auVar75); + uVar28 = vpcmpeqb_avx512vl(auVar75,auVar75); + auVar60 = auVar83._0_16_; + auVar50 = vmulpd_avx512vl(auVar60,auVar60); + vpmovqd_avx512f(auVar115); + auVar108 = vpxord_avx512f(auVar108,auVar108); + auVar106 = vpxord_avx512f(ZEXT1664(auVar53),ZEXT1664(auVar53)); + auVar83 = vpxord_avx512f(auVar114,auVar114); + auVar81 = vpxord_avx512f(auVar81,auVar81); + auVar114 = vpxord_avx512f(ZEXT1664(auVar51),ZEXT1664(auVar51)); + auVar115 = vpxord_avx512f(auVar115,auVar115); + auVar78 = vpxord_avx512f(auVar78,auVar78); + auVar85 = vgatherdpd_avx512f(*(undefined4 *)(&DAT_181e6e250 + param_2)); + bVar14 = (bool)((byte)uVar26 & 1); + auVar65._0_8_ = (ulonglong)bVar14 * auVar85._0_8_ | (ulonglong)!bVar14 * auVar108._0_8_; + bVar14 = (bool)((byte)(uVar26 >> 1) & 1); + auVar65._8_8_ = (ulonglong)bVar14 * auVar85._8_8_ | (ulonglong)!bVar14 * auVar108._8_8_; + auVar108 = vgatherdpd_avx512f(*(undefined4 *)(&DAT_181e6e248 + param_2)); + bVar14 = (bool)((byte)uVar28 & 1); + auVar71._0_8_ = (ulonglong)bVar14 * auVar108._0_8_ | (ulonglong)!bVar14 * auVar106._0_8_ + ; + bVar14 = (bool)((byte)(uVar28 >> 1) & 1); + auVar71._8_8_ = (ulonglong)bVar14 * auVar108._8_8_ | (ulonglong)!bVar14 * auVar106._8_8_ + ; + auVar108 = vgatherdpd_avx512f(*(undefined4 *)(&DAT_181e6e240 + param_2)); + bVar14 = (bool)((byte)uVar22 & 1); + auVar72._0_8_ = (ulonglong)bVar14 * auVar108._0_8_ | (ulonglong)!bVar14 * auVar83._0_8_; + bVar14 = (bool)((byte)(uVar22 >> 1) & 1); + auVar72._8_8_ = (ulonglong)bVar14 * auVar108._8_8_ | (ulonglong)!bVar14 * auVar83._8_8_; + auVar108 = vgatherdpd_avx512f(_DAT_301e6e250); + bVar14 = (bool)((byte)uVar25 & 1); + auVar73._0_8_ = (ulonglong)bVar14 * auVar108._0_8_ | (ulonglong)!bVar14 * auVar81._0_8_; + bVar14 = (bool)((byte)(uVar25 >> 1) & 1); + auVar73._8_8_ = (ulonglong)bVar14 * auVar108._8_8_ | (ulonglong)!bVar14 * auVar81._8_8_; + auVar108 = vgatherdpd_avx512f(_DAT_301e6e248); + bVar14 = (bool)((byte)uVar27 & 1); + auVar74._0_8_ = (ulonglong)bVar14 * auVar108._0_8_ | (ulonglong)!bVar14 * auVar114._0_8_ + ; + bVar14 = (bool)((byte)(uVar27 >> 1) & 1); + auVar74._8_8_ = (ulonglong)bVar14 * auVar108._8_8_ | (ulonglong)!bVar14 * auVar114._8_8_ + ; + uVar22 = vpcmpeqb_avx512vl(auVar75,auVar75); + uVar25 = vpcmpeqb_avx512vl(auVar75,auVar75); + auVar61 = auVar107._0_16_; + auVar51 = vfmadd213pd_avx512vl(auVar61,auVar71,auVar65); + auVar52 = vfmadd213pd_avx512vl(auVar60,auVar74,auVar73); + auVar53 = vfmadd132pd_avx512vl(auVar61,auVar51,auVar72); + auVar54 = vfmadd213pd_avx512vl(auVar64,auVar60,auVar52); + auVar108 = vgatherdpd_avx512f(_DAT_301e6e258); + bVar14 = (bool)((byte)uVar22 & 1); + auVar75._0_8_ = (ulonglong)bVar14 * auVar108._0_8_ | (ulonglong)!bVar14 * auVar115._0_8_ + ; + bVar14 = (bool)((byte)(uVar22 >> 1) & 1); + auVar75._8_8_ = (ulonglong)bVar14 * auVar108._8_8_ | (ulonglong)!bVar14 * auVar115._8_8_ + ; + auVar108 = vgatherdpd_avx512f(*(undefined4 *)(&DAT_181e6e258 + param_2)); + bVar14 = (bool)((byte)uVar25 & 1); + auVar76._0_8_ = (ulonglong)bVar14 * auVar108._0_8_ | (ulonglong)!bVar14 * auVar78._0_8_; + bVar14 = (bool)((byte)(uVar25 >> 1) & 1); + auVar76._8_8_ = (ulonglong)bVar14 * auVar108._8_8_ | (ulonglong)!bVar14 * auVar78._8_8_; + auVar55 = vsubpd_avx512vl(auVar65,auVar51); + auVar51 = vsubpd_avx512vl(auVar51,auVar53); + auVar56 = vsubpd_avx512vl(auVar73,auVar52); + auVar52 = vsubpd_avx512vl(auVar52,auVar54); + auVar55 = vfmadd231pd_avx512vl(auVar55,auVar71,auVar61); + auVar51 = vfmadd231pd_avx512vl(auVar51,auVar61,auVar72); + auVar56 = vfmadd231pd_avx512vl(auVar56,auVar74,auVar60); + auVar52 = vfmadd231pd_avx512vl(auVar52,auVar60,auVar64); + auVar51 = vaddpd_avx512vl(auVar51,auVar55); + auVar52 = vaddpd_avx512vl(auVar52,auVar56); + auVar55 = vmulpd_avx512vl(auVar61,auVar61); + auVar56 = vfmadd231pd_avx512vl(DAT_181e72480._0_16_,DAT_181e724c0._0_16_,auVar55); + auVar57 = vfmadd231pd_avx512vl(DAT_181e72480._0_16_,DAT_181e724c0._0_16_,auVar50); + auVar56 = vmulpd_avx512vl(auVar56,auVar55); + auVar57 = vmulpd_avx512vl(auVar57,auVar50); + auVar56 = vmulpd_avx512vl(auVar56,auVar61); + auVar57 = vmulpd_avx512vl(auVar57,auVar60); + auVar58 = vaddpd_avx512vl(auVar64,auVar74); + auVar59 = vaddpd_avx512vl(auVar72,auVar71); + auVar51 = vfmadd213pd_avx512vl(auVar56,auVar59,auVar51); + auVar52 = vfmadd213pd_avx512vl(auVar57,auVar58,auVar52); + auVar56 = vfnmadd213pd_avx512vl(auVar60,auVar73,auVar58); + auVar57 = vfnmadd213pd_avx512vl(auVar61,auVar65,auVar59); + auVar56 = vfmadd213pd_avx512vl(auVar82._0_16_,auVar56,auVar75); + auVar57 = vfmadd213pd_avx512vl(auVar84._0_16_,auVar57,auVar76); + auVar58 = vfmadd231pd_avx512vl(DAT_181e72540._0_16_,DAT_181e72580._0_16_,auVar50); + auVar59 = vfmadd231pd_avx512vl(DAT_181e72540._0_16_,DAT_181e72580._0_16_,auVar55); + auVar58 = vfmadd213pd_avx512vl(auVar58,auVar50,DAT_181e72500._0_16_); + auVar59 = vfmadd213pd_avx512vl(auVar59,auVar55,DAT_181e72500._0_16_); + auVar50 = vmulpd_avx512vl(auVar58,auVar50); + auVar55 = vmulpd_avx512vl(auVar59,auVar55); + auVar50 = vfmadd213pd_avx512vl(auVar50,auVar73,auVar52); + auVar51 = vfmadd213pd_avx512vl(auVar55,auVar65,auVar51); + auVar50 = vaddpd_avx512vl(auVar50,auVar56); + auVar51 = vaddpd_avx512vl(auVar51,auVar57); + auVar50 = vaddpd_avx512vl(auVar54,auVar50); + auVar51 = vaddpd_avx512vl(auVar53,auVar51); + auVar108 = vblendmpd_avx512f(auVar79,ZEXT1664(auVar50)); + bVar14 = (bool)((byte)uVar49 & 1); + local_240._0_8_ = + (ulonglong)bVar14 * auVar108._0_8_ | (ulonglong)!bVar14 * auVar79._0_8_; + bVar14 = (bool)((byte)(uVar49 >> 1) & 1); + local_240._8_8_ = + (ulonglong)bVar14 * auVar108._8_8_ | (ulonglong)!bVar14 * auVar79._8_8_; + bVar14 = (bool)((byte)(uVar49 >> 2) & 1); + local_240._16_8_ = + (ulonglong)bVar14 * auVar108._16_8_ | (ulonglong)!bVar14 * auVar79._16_8_; + bVar14 = (bool)((byte)(uVar49 >> 3) & 1); + local_240._24_8_ = + (ulonglong)bVar14 * auVar108._24_8_ | (ulonglong)!bVar14 * auVar79._24_8_; + bVar14 = (bool)((byte)(uVar49 >> 4) & 1); + local_240._32_8_ = + (ulonglong)bVar14 * auVar108._32_8_ | (ulonglong)!bVar14 * auVar79._32_8_; + bVar14 = (bool)((byte)(uVar49 >> 5) & 1); + local_240._40_8_ = + (ulonglong)bVar14 * auVar108._40_8_ | (ulonglong)!bVar14 * auVar79._40_8_; + bVar14 = (bool)((byte)(uVar49 >> 6) & 1); + local_240._48_8_ = + (ulonglong)bVar14 * auVar108._48_8_ | (ulonglong)!bVar14 * auVar79._48_8_; + local_240._56_8_ = + (uVar49 >> 7) * auVar108._56_8_ | (ulonglong)!SUB81(uVar49 >> 7,0) * auVar79._56_8_ + ; + auVar108 = vblendmpd_avx512f(auVar80,ZEXT1664(auVar51)); + bVar14 = (bool)((byte)uVar42 & 1); + auVar78._0_8_ = (ulonglong)bVar14 * auVar108._0_8_ | (ulonglong)!bVar14 * auVar80._0_8_; + bVar14 = (bool)((byte)(uVar42 >> 1) & 1); + auVar78._8_8_ = (ulonglong)bVar14 * auVar108._8_8_ | (ulonglong)!bVar14 * auVar80._8_8_; + bVar14 = (bool)((byte)(uVar42 >> 2) & 1); + auVar78._16_8_ = + (ulonglong)bVar14 * auVar108._16_8_ | (ulonglong)!bVar14 * auVar80._16_8_; + bVar14 = (bool)((byte)(uVar42 >> 3) & 1); + auVar78._24_8_ = + (ulonglong)bVar14 * auVar108._24_8_ | (ulonglong)!bVar14 * auVar80._24_8_; + bVar14 = (bool)((byte)(uVar42 >> 4) & 1); + auVar78._32_8_ = + (ulonglong)bVar14 * auVar108._32_8_ | (ulonglong)!bVar14 * auVar80._32_8_; + bVar14 = (bool)((byte)(uVar42 >> 5) & 1); + auVar78._40_8_ = + (ulonglong)bVar14 * auVar108._40_8_ | (ulonglong)!bVar14 * auVar80._40_8_; + bVar14 = (bool)((byte)(uVar42 >> 6) & 1); + auVar78._48_8_ = + (ulonglong)bVar14 * auVar108._48_8_ | (ulonglong)!bVar14 * auVar80._48_8_; + auVar78._56_8_ = + (uVar42 >> 7) * auVar108._56_8_ | (ulonglong)!SUB81(uVar42 >> 7,0) * auVar80._56_8_ + ; + auVar108 = _DAT_181e6de40; + auVar106 = _DAT_181e6de00; + auVar107 = _DAT_181e6dd80; + local_280 = auVar80; + } + if (uVar46 != 0) { + local_1c0 = auVar113; + local_180 = auVar116; + local_200 = auVar78; + if ((char)uVar44 == '\0') { + uVar44 = CONCAT71((int7)(uVar44 >> 8),1); + local_338 = local_2de; + local_330 = local_2e0; + ppuVar45 = &local_338; + uVar43 = FUN_18014c5a0(); + local_68 = local_68 | uVar43; + } + auVar78 = local_200; + if (uVar46 != 0) { + uVar49 = 0; + lVar3 = param_2 + uVar48 * 8; + local_78 = (char)uVar44; + uVar40 = local_60; + local_2f0 = lVar47; + local_2e8 = uVar48; + do { + uVar43 = (uint)uVar49; + if ((uVar46 >> (uVar43 & 0x1f) & 1) != 0) { + dVar4 = *(double *)(local_1c0 + uVar49 * 8); + local_2f8._0_7_ = SUB87(dVar4,0); + local_2f8 = CONCAT17(local_1c0[uVar49 * 8 + 7],(undefined7)local_2f8) & + 0x7fffffffffffffff; + ppuVar45 = (undefined1 **) + (ulonglong)(*(ushort *)(local_1c0 + uVar49 * 8 + 6) & 0x7ff0); + if ((*(ushort *)(local_1c0 + uVar49 * 8 + 6) & 0x7ff0) == 0x7ff0) { + if (((int)local_2f8 == 0) && (local_2f8._4_4_ == 0x7ff00000)) { + *(double *)(local_240 + uVar49 * 8) = DAT_181e7e850 * dVar4; + *(double *)(lVar3 + uVar49 * 8) = DAT_181e7e850 * dVar4; + local_308 = &DAT_18267313c; + local_318 = param_2; + local_310 = param_2; + FUN_1803ab5c0(0x13,(int)uVar48 + uVar43,param_1,param_1); + ppuVar45 = *(undefined1 ***)(lVar3 + uVar49 * 8); + uVar40 = 0x13; + *(undefined1 ***)(local_240 + uVar49 * 8) = ppuVar45; + } + else { + *(double *)(local_240 + uVar49 * 8) = dVar4 * dVar4; + } + } + } + uVar43 = uVar43 + 1; + uVar49 = (ulonglong)uVar43; + } while ((int)uVar43 < 0x10); + local_60 = uVar40; + uVar44 = (ulonglong)CONCAT31((int3)(uVar43 >> 8),local_78); + lVar47 = local_2f0; + uVar48 = local_2e8; + auVar108 = _DAT_181e6de40; + auVar106 = _DAT_181e6de00; + auVar107 = _DAT_181e6dd80; + auVar78 = local_200; + } + } + *(undefined1 (*) [64])(param_2 + uVar48 * 8) = local_240; + *(undefined1 (*) [64])(param_2 + 0x40 + uVar48 * 8) = auVar78; + uVar48 = uVar48 + 0x10; + unaff_XMM6_Qa = local_118; + unaff_XMM6_Qb = uStack_110; + unaff_XMM7_Qa = local_108; + unaff_XMM7_Qb = uStack_100; + unaff_XMM8_Qa = local_f8; + unaff_XMM8_Qb = uStack_f0; + unaff_XMM9_Qa = local_e8; + unaff_XMM9_Qb = uStack_e0; + unaff_XMM10_Qa = local_d8; + unaff_XMM10_Qb = uStack_d0; + unaff_XMM11_Qa = local_c8; + unaff_XMM11_Qb = uStack_c0; + unaff_XMM12_Qa = local_b8; + unaff_XMM12_Qb = uStack_b0; + unaff_XMM13_Qa = local_a8; + unaff_XMM13_Qb = uStack_a0; + unaff_XMM14_Qa = local_98; + unaff_XMM14_Qb = uStack_90; + unaff_XMM15_Qa = local_88; + unaff_XMM15_Qb = uStack_80; + } while ((longlong)uVar48 < lVar47); + } + lVar47 = uVar48 * 8; + if ((longlong)uVar48 < (longlong)(int)param_3) { + local_118 = unaff_XMM6_Qa; + uStack_110 = unaff_XMM6_Qb; + local_108 = unaff_XMM7_Qa; + uStack_100 = unaff_XMM7_Qb; + local_f8 = unaff_XMM8_Qa; + uStack_f0 = unaff_XMM8_Qb; + local_e8 = unaff_XMM9_Qa; + uStack_e0 = unaff_XMM9_Qb; + local_d8 = unaff_XMM10_Qa; + uStack_d0 = unaff_XMM10_Qb; + local_c8 = unaff_XMM11_Qa; + uStack_c0 = unaff_XMM11_Qb; + local_b8 = unaff_XMM12_Qa; + uStack_b0 = unaff_XMM12_Qb; + local_a8 = unaff_XMM13_Qa; + uStack_a0 = unaff_XMM13_Qb; + local_98 = unaff_XMM14_Qa; + uStack_90 = unaff_XMM14_Qb; + local_88 = unaff_XMM15_Qa; + uStack_80 = unaff_XMM15_Qb; + local_78 = (char)uVar44; + auVar108 = _DAT_181e6e200; + auVar106 = _DAT_181e6e1c0; + auVar107 = _DAT_181e6e180; + auVar113 = _DAT_181e6e140; + auVar116 = _DAT_181e6e100; + auVar78 = _DAT_181e6e0c0; + auVar79 = _DAT_181e6e080; + auVar80 = _DAT_181e6e040; + auVar81 = _DAT_181e6de40; + auVar82 = _DAT_181e6de00; + auVar83 = _DAT_181e6ddc0; + auVar114 = _DAT_181e6dd80; + auVar115 = _DAT_181e6dd40; + auVar84 = _DAT_181e6dd00; + auVar85 = _DAT_181e6dcc0; + auVar90 = _DAT_181e6e000; + auVar91 = _DAT_181e6df00; + auVar94 = _DAT_181e6df80; + do { + uVar44 = uVar48 & 0xffffffff; + uVar46 = 0; + uVar43 = param_3 - (int)uVar48; + auVar5._8_8_ = 0; + auVar5._0_8_ = DAT_181e7e848; + auVar86 = vbroadcastsd_avx512f(auVar5); + if (7 < uVar43) { + uVar43 = 8; + } + uVar42 = 0xffffffffL >> ((ulonglong)(0x20 - uVar43) & 0x3f); + local_2c0._0_4_ = (int)uVar42; + uVar49 = uVar42 & 0xffff; + plVar1 = (longlong *)(lVar47 + param_1); + bVar14 = (bool)((byte)uVar49 & 1); + auVar66._0_8_ = (ulonglong)bVar14 * *plVar1 | (ulonglong)!bVar14 * auVar86._0_8_; + bVar14 = (bool)((byte)(uVar49 >> 1) & 1); + auVar66._8_8_ = (ulonglong)bVar14 * plVar1[1] | (ulonglong)!bVar14 * auVar86._8_8_; + bVar14 = (bool)((byte)(uVar49 >> 2) & 1); + local_240._16_8_ = (ulonglong)bVar14 * plVar1[2] | (ulonglong)!bVar14 * auVar86._16_8_; + local_240._0_16_ = auVar66; + bVar14 = (bool)((byte)(uVar49 >> 3) & 1); + local_240._24_8_ = (ulonglong)bVar14 * plVar1[3] | (ulonglong)!bVar14 * auVar86._24_8_; + bVar14 = (bool)((byte)(uVar49 >> 4) & 1); + local_240._32_8_ = (ulonglong)bVar14 * plVar1[4] | (ulonglong)!bVar14 * auVar86._32_8_; + bVar14 = (bool)((byte)(uVar49 >> 5) & 1); + local_240._40_8_ = (ulonglong)bVar14 * plVar1[5] | (ulonglong)!bVar14 * auVar86._40_8_; + bVar14 = (bool)((byte)(uVar49 >> 6) & 1); + local_240._48_8_ = (ulonglong)bVar14 * plVar1[6] | (ulonglong)!bVar14 * auVar86._48_8_; + bVar14 = (bool)((byte)(uVar49 >> 7) & 1); + local_240._56_8_ = (ulonglong)bVar14 * plVar1[7] | (ulonglong)!bVar14 * auVar86._56_8_; + auVar50 = vfmadd231pd_avx512vl(auVar114._0_16_,auVar115._0_16_,auVar66); + auVar112 = ZEXT1664(auVar50); + auVar86 = vandpd_avx512dq(local_240,auVar85); + auVar50 = vsubpd_avx512vl(auVar50,auVar114._0_16_); + auVar87 = vpermt2pd_avx512f(auVar112,auVar91); + auVar88 = vpermt2pd_avx512f(auVar112,auVar94); + auVar89 = vpermt2pd_avx512f(auVar112,auVar90); + uVar49 = vcmppd_avx512f(auVar86,auVar84,0x16); + auVar86 = vpsrlq_avx512f(auVar112,4); + auVar51 = vfnmadd213pd_avx512vl(auVar83._0_16_,auVar50,auVar66); + auVar52 = vfnmadd213pd_avx512vl(auVar82._0_16_,auVar50,auVar51); + auVar51 = vsubpd_avx512vl(auVar51,auVar52); + auVar51 = vfnmadd231pd_avx512vl(auVar51,auVar82._0_16_,auVar50); + auVar53 = vfnmadd213pd_avx512vl(auVar81._0_16_,auVar50,auVar52); + auVar54 = vmulpd_avx512vl(auVar53,auVar53); + auVar52 = vsubpd_avx512vl(auVar53,auVar52); + auVar50 = vfmadd213pd_avx512vl(auVar50,auVar81._0_16_,auVar52); + auVar50 = vsubpd_avx512vl(auVar51,auVar50); + auVar112 = vpsllq_avx512f(auVar89,0x20); + auVar51 = vfmadd231pd_avx512vl(auVar79._0_16_,auVar80._0_16_,auVar54); + auVar57 = auVar88._0_16_; + auVar58 = auVar87._0_16_; + auVar52 = vfnmadd213pd_avx512vl(auVar58,auVar53,auVar57); + auVar51 = vfmadd213pd_avx512vl(auVar51,auVar54,auVar113._0_16_); + auVar55 = vsubpd_avx512vl(auVar57,auVar52); + auVar51 = vfmadd213pd_avx512vl(auVar51,auVar54,auVar106._0_16_); + auVar55 = vfmsub231pd_avx512vl(auVar55,auVar53,auVar58); + auVar55 = vfmadd213pd_avx512vl(auVar112._0_16_,auVar53,auVar55); + auVar86 = vpsllq_avx512f(auVar86,0x3f); + auVar56 = vfmadd213pd_avx512vl(auVar57,auVar53,auVar58); + auVar53 = vmulpd_avx512vl(auVar58,auVar53); + auVar50 = vfnmadd213pd_avx512vl(auVar56,auVar50,auVar89._0_16_); + auVar51 = vmulpd_avx512vl(auVar57,auVar51); + auVar50 = vsubpd_avx512vl(auVar50,auVar55); + auVar55 = vfmadd231pd_avx512vl(auVar116._0_16_,auVar78._0_16_,auVar54); + auVar55 = vfmadd213pd_avx512vl(auVar55,auVar54,auVar107._0_16_); + auVar55 = vfmadd213pd_avx512vl(auVar55,auVar54,auVar108._0_16_); + auVar51 = vfnmadd213pd_avx512vl(auVar55,auVar53,auVar51); + auVar50 = vfmadd213pd_avx512vl(auVar51,auVar54,auVar50); + auVar50 = vaddpd_avx512vl(auVar52,auVar50); + auVar86 = vxorpd_avx512dq(ZEXT1664(auVar50),auVar86); + local_280 = auVar86; + if ((short)uVar49 != 0) { + auVar29._8_8_ = DAT_181e7e7c8; + auVar29._0_8_ = DAT_181e7e7c8; + auVar29._16_8_ = DAT_181e7e7c8; + auVar29._24_8_ = DAT_181e7e7c8; + auVar29._32_8_ = DAT_181e7e7c8; + auVar29._40_8_ = DAT_181e7e7c8; + auVar29._48_8_ = DAT_181e7e7c8; + auVar29._56_8_ = DAT_181e7e7c8; + auVar90 = vpandq_avx512f(local_240,auVar29); + auVar90 = vpsrlq_avx512f(auVar90,0x34); + auVar91 = vpsllq_avx512f(auVar90,1); + auVar87 = vandpd_avx512dq(_DAT_181e722c0,local_240); + auVar90 = vpaddq_avx512f(auVar91,auVar90); + auVar6._8_8_ = 0; + auVar6._0_8_ = DAT_181e7e7c0; + auVar91 = vpbroadcastq_avx512f(auVar6); + uVar22 = vcmppd_avx512f(auVar87,_DAT_181e722c0,4); + uVar25 = vpcmpeqb_avx512vl(auVar66,auVar66); + uVar26 = vpcmpeqb_avx512vl(auVar66,auVar66); + uVar27 = vpcmpeqb_avx512vl(auVar66,auVar66); + auVar90 = vpsllq_avx512f(auVar90,3); + vpmovqd_avx512f(auVar90); + auVar90 = vpandnq_avx512f(auVar87,auVar87); + bVar14 = (bool)((byte)uVar22 & 1); + auVar92._0_8_ = (ulonglong)bVar14 * auVar90._0_8_ | (ulonglong)!bVar14 * auVar91._0_8_; + bVar14 = (bool)((byte)(uVar22 >> 1) & 1); + auVar92._8_8_ = (ulonglong)bVar14 * auVar90._8_8_ | (ulonglong)!bVar14 * auVar91._8_8_; + bVar14 = (bool)((byte)(uVar22 >> 2) & 1); + auVar92._16_8_ = + (ulonglong)bVar14 * auVar90._16_8_ | (ulonglong)!bVar14 * auVar91._16_8_; + bVar14 = (bool)((byte)(uVar22 >> 3) & 1); + auVar92._24_8_ = + (ulonglong)bVar14 * auVar90._24_8_ | (ulonglong)!bVar14 * auVar91._24_8_; + bVar14 = (bool)((byte)(uVar22 >> 4) & 1); + auVar92._32_8_ = + (ulonglong)bVar14 * auVar90._32_8_ | (ulonglong)!bVar14 * auVar91._32_8_; + bVar14 = (bool)((byte)(uVar22 >> 5) & 1); + auVar92._40_8_ = + (ulonglong)bVar14 * auVar90._40_8_ | (ulonglong)!bVar14 * auVar91._40_8_; + bVar14 = (bool)((byte)(uVar22 >> 6) & 1); + auVar92._48_8_ = + (ulonglong)bVar14 * auVar90._48_8_ | (ulonglong)!bVar14 * auVar91._48_8_; + auVar92._56_8_ = + (uVar22 >> 7) * auVar90._56_8_ | (ulonglong)!SUB81(uVar22 >> 7,0) * auVar91._56_8_; + auVar90 = vpxord_avx512f(_DAT_181e722c0,_DAT_181e722c0); + auVar91 = vgatherdpd_avx512f(in_stack_181e72300); + bVar14 = (bool)((byte)uVar25 & 1); + auVar93._0_8_ = (ulonglong)bVar14 * auVar91._0_8_ | (ulonglong)!bVar14 * auVar90._0_8_; + bVar14 = (bool)((byte)(uVar25 >> 1) & 1); + auVar93._8_8_ = (ulonglong)bVar14 * auVar91._8_8_ | (ulonglong)!bVar14 * auVar90._8_8_; + bVar14 = (bool)((byte)(uVar25 >> 2) & 1); + auVar93._16_8_ = + (ulonglong)bVar14 * auVar91._16_8_ | (ulonglong)!bVar14 * auVar90._16_8_; + bVar14 = (bool)((byte)(uVar25 >> 3) & 1); + auVar93._24_8_ = + (ulonglong)bVar14 * auVar91._24_8_ | (ulonglong)!bVar14 * auVar90._24_8_; + bVar14 = (bool)((byte)(uVar25 >> 4) & 1); + auVar93._32_8_ = + (ulonglong)bVar14 * auVar91._32_8_ | (ulonglong)!bVar14 * auVar90._32_8_; + bVar14 = (bool)((byte)(uVar25 >> 5) & 1); + auVar93._40_8_ = + (ulonglong)bVar14 * auVar91._40_8_ | (ulonglong)!bVar14 * auVar90._40_8_; + bVar14 = (bool)((byte)(uVar25 >> 6) & 1); + auVar93._48_8_ = + (ulonglong)bVar14 * auVar91._48_8_ | (ulonglong)!bVar14 * auVar90._48_8_; + bVar14 = (bool)((byte)(uVar25 >> 7) & 1); + auVar93._56_8_ = + (ulonglong)bVar14 * auVar91._56_8_ | (ulonglong)!bVar14 * auVar90._56_8_; + uVar23 = vcmppd_avx512f(auVar92,auVar92,3); + uVar46 = (uint)uVar23; + auVar90 = vpsrlq_avx512f(auVar93,0x20); + auVar7._8_8_ = 0; + auVar7._0_8_ = DAT_181e7e7e0; + auVar91 = vpbroadcastq_avx512f(auVar7); + auVar87 = vpxord_avx512f(auVar87,auVar87); + auVar94 = vpxord_avx512f(auVar94,auVar94); + auVar30._8_8_ = DAT_181e7e7d0; + auVar30._0_8_ = DAT_181e7e7d0; + auVar30._16_8_ = DAT_181e7e7d0; + auVar30._24_8_ = DAT_181e7e7d0; + auVar30._32_8_ = DAT_181e7e7d0; + auVar30._40_8_ = DAT_181e7e7d0; + auVar30._48_8_ = DAT_181e7e7d0; + auVar30._56_8_ = DAT_181e7e7d0; + auVar88 = vpandq_avx512f(local_240,auVar30); + auVar31._8_8_ = DAT_181e7e7d8; + auVar31._0_8_ = DAT_181e7e7d8; + auVar31._16_8_ = DAT_181e7e7d8; + auVar31._24_8_ = DAT_181e7e7d8; + auVar31._32_8_ = DAT_181e7e7d8; + auVar31._40_8_ = DAT_181e7e7d8; + auVar31._48_8_ = DAT_181e7e7d8; + auVar31._56_8_ = DAT_181e7e7d8; + auVar88 = vpaddq_avx512f(auVar88,auVar31); + auVar89 = vgatherdpd_avx512f(in_stack_181e72308); + bVar14 = (bool)((byte)uVar26 & 1); + auVar95._0_8_ = (ulonglong)bVar14 * auVar89._0_8_ | (ulonglong)!bVar14 * auVar87._0_8_; + bVar14 = (bool)((byte)(uVar26 >> 1) & 1); + auVar95._8_8_ = (ulonglong)bVar14 * auVar89._8_8_ | (ulonglong)!bVar14 * auVar87._8_8_; + bVar14 = (bool)((byte)(uVar26 >> 2) & 1); + auVar95._16_8_ = + (ulonglong)bVar14 * auVar89._16_8_ | (ulonglong)!bVar14 * auVar87._16_8_; + bVar14 = (bool)((byte)(uVar26 >> 3) & 1); + auVar95._24_8_ = + (ulonglong)bVar14 * auVar89._24_8_ | (ulonglong)!bVar14 * auVar87._24_8_; + bVar14 = (bool)((byte)(uVar26 >> 4) & 1); + auVar95._32_8_ = + (ulonglong)bVar14 * auVar89._32_8_ | (ulonglong)!bVar14 * auVar87._32_8_; + bVar14 = (bool)((byte)(uVar26 >> 5) & 1); + auVar95._40_8_ = + (ulonglong)bVar14 * auVar89._40_8_ | (ulonglong)!bVar14 * auVar87._40_8_; + bVar14 = (bool)((byte)(uVar26 >> 6) & 1); + auVar95._48_8_ = + (ulonglong)bVar14 * auVar89._48_8_ | (ulonglong)!bVar14 * auVar87._48_8_; + bVar14 = (bool)((byte)(uVar26 >> 7) & 1); + auVar95._56_8_ = + (ulonglong)bVar14 * auVar89._56_8_ | (ulonglong)!bVar14 * auVar87._56_8_; + auVar87 = vgatherdpd_avx512f(in_stack_181e72310); + bVar14 = (bool)((byte)uVar27 & 1); + auVar96._0_8_ = (ulonglong)bVar14 * auVar87._0_8_ | (ulonglong)!bVar14 * auVar94._0_8_; + bVar14 = (bool)((byte)(uVar27 >> 1) & 1); + auVar96._8_8_ = (ulonglong)bVar14 * auVar87._8_8_ | (ulonglong)!bVar14 * auVar94._8_8_; + bVar14 = (bool)((byte)(uVar27 >> 2) & 1); + auVar96._16_8_ = + (ulonglong)bVar14 * auVar87._16_8_ | (ulonglong)!bVar14 * auVar94._16_8_; + bVar14 = (bool)((byte)(uVar27 >> 3) & 1); + auVar96._24_8_ = + (ulonglong)bVar14 * auVar87._24_8_ | (ulonglong)!bVar14 * auVar94._24_8_; + bVar14 = (bool)((byte)(uVar27 >> 4) & 1); + auVar96._32_8_ = + (ulonglong)bVar14 * auVar87._32_8_ | (ulonglong)!bVar14 * auVar94._32_8_; + bVar14 = (bool)((byte)(uVar27 >> 5) & 1); + auVar96._40_8_ = + (ulonglong)bVar14 * auVar87._40_8_ | (ulonglong)!bVar14 * auVar94._40_8_; + bVar14 = (bool)((byte)(uVar27 >> 6) & 1); + auVar96._48_8_ = + (ulonglong)bVar14 * auVar87._48_8_ | (ulonglong)!bVar14 * auVar94._48_8_; + bVar14 = (bool)((byte)(uVar27 >> 7) & 1); + auVar96._56_8_ = + (ulonglong)bVar14 * auVar87._56_8_ | (ulonglong)!bVar14 * auVar94._56_8_; + auVar94 = vpsrlq_avx512f(auVar95,0x20); + auVar87 = vpsrlq_avx512f(auVar96,0x20); + auVar89 = vpandq_avx512f(auVar93,auVar91); + auVar112 = vpsrlq_avx512f(auVar88,0x20); + auVar97 = vpmullq_avx512dq(auVar112,auVar89); + auVar98 = vpmullq_avx512dq(auVar112,auVar94); + auVar99 = vpmullq_avx512dq(auVar112,auVar87); + auVar100 = vpandq_avx512f(auVar95,auVar91); + auVar101 = vpandq_avx512f(auVar96,auVar91); + auVar88 = vpandq_avx512f(auVar88,auVar91); + auVar102 = vpmullq_avx512dq(auVar112,auVar100); + auVar112 = vpmullq_avx512dq(auVar112,auVar101); + auVar94 = vpmullq_avx512dq(auVar88,auVar94); + auVar100 = vpmullq_avx512dq(auVar88,auVar100); + auVar87 = vpmullq_avx512dq(auVar88,auVar87); + auVar90 = vpmullq_avx512dq(auVar88,auVar90); + auVar88 = vpmullq_avx512dq(auVar88,auVar89); + auVar89 = vpsrlq_avx512f(auVar94,0x20); + auVar87 = vpsrlq_avx512f(auVar87,0x20); + auVar101 = vpsrlq_avx512f(auVar88,0x20); + auVar103 = vpsrlq_avx512f(auVar100,0x20); + auVar89 = vpaddq_avx512f(auVar98,auVar89); + auVar87 = vpaddq_avx512f(auVar99,auVar87); + auVar98 = vpaddq_avx512f(auVar102,auVar103); + auVar97 = vpaddq_avx512f(auVar97,auVar101); + auVar94 = vpandq_avx512f(auVar94,auVar91); + auVar94 = vpaddq_avx512f(auVar94,auVar98); + auVar112 = vpsrlq_avx512f(auVar112,0x20); + auVar98 = vpandq_avx512f(auVar100,auVar91); + auVar87 = vpaddq_avx512f(auVar98,auVar87); + auVar88 = vpandq_avx512f(auVar88,auVar91); + auVar88 = vpaddq_avx512f(auVar88,auVar89); + auVar87 = vpaddq_avx512f(auVar112,auVar87); + auVar90 = vpandq_avx512f(auVar90,auVar91); + auVar89 = vpsrlq_avx512f(auVar87,0x20); + auVar90 = vpaddq_avx512f(auVar90,auVar97); + auVar94 = vpaddq_avx512f(auVar89,auVar94); + auVar89 = vpsrlq_avx512f(auVar94,0x20); + auVar88 = vpaddq_avx512f(auVar89,auVar88); + auVar94 = vpsllq_avx512f(auVar94,0x20); + auVar89 = vpsrlq_avx512f(auVar88,0x20); + auVar90 = vpaddq_avx512f(auVar89,auVar90); + auVar87 = vpandq_avx512f(auVar87,auVar91); + auVar91 = vpandq_avx512f(auVar88,auVar91); + auVar90 = vpsllq_avx512f(auVar90,0x20); + auVar90 = vpaddq_avx512f(auVar90,auVar91); + auVar91 = vpaddq_avx512f(auVar94,auVar87); + auVar8._8_8_ = 0; + auVar8._0_8_ = DAT_181e7e7f8; + auVar94 = vpbroadcastq_avx512f(auVar8); + auVar9._8_8_ = 0; + auVar9._0_8_ = DAT_181e7e828; + auVar87 = vpbroadcastq_avx512f(auVar9); + auVar88 = vpsrlq_avx512f(auVar90,0xc); + auVar10._8_8_ = 0; + auVar10._0_8_ = DAT_181e7e830; + auVar89 = vpbroadcastq_avx512f(auVar10); + auVar32._8_8_ = DAT_181e7e7e8; + auVar32._0_8_ = DAT_181e7e7e8; + auVar32._16_8_ = DAT_181e7e7e8; + auVar32._24_8_ = DAT_181e7e7e8; + auVar32._32_8_ = DAT_181e7e7e8; + auVar32._40_8_ = DAT_181e7e7e8; + auVar32._48_8_ = DAT_181e7e7e8; + auVar32._56_8_ = DAT_181e7e7e8; + auVar112 = vpandq_avx512f(local_240,auVar32); + auVar33._8_8_ = DAT_181e7e7f0; + auVar33._0_8_ = DAT_181e7e7f0; + auVar33._16_8_ = DAT_181e7e7f0; + auVar33._24_8_ = DAT_181e7e7f0; + auVar33._32_8_ = DAT_181e7e7f0; + auVar33._40_8_ = DAT_181e7e7f0; + auVar33._48_8_ = DAT_181e7e7f0; + auVar33._56_8_ = DAT_181e7e7f0; + auVar88 = vpternlogq_avx512f(auVar88,auVar112,auVar33,0xf6); + auVar50 = vaddpd_avx512vl(auVar94._0_16_,auVar88._0_16_); + auVar51 = vsubpd_avx512vl(auVar50,auVar94._0_16_); + auVar51 = vsubpd_avx512vl(auVar88._0_16_,auVar51); + auVar34._8_8_ = DAT_181e7e820; + auVar34._0_8_ = DAT_181e7e820; + auVar34._16_8_ = DAT_181e7e820; + auVar34._24_8_ = DAT_181e7e820; + auVar34._32_8_ = DAT_181e7e820; + auVar34._40_8_ = DAT_181e7e820; + auVar34._48_8_ = DAT_181e7e820; + auVar34._56_8_ = DAT_181e7e820; + auVar90 = vpandq_avx512f(auVar90,auVar34); + auVar35._8_8_ = DAT_181e7e808; + auVar35._0_8_ = DAT_181e7e808; + auVar35._16_8_ = DAT_181e7e808; + auVar35._24_8_ = DAT_181e7e808; + auVar35._32_8_ = DAT_181e7e808; + auVar35._40_8_ = DAT_181e7e808; + auVar35._48_8_ = DAT_181e7e808; + auVar35._56_8_ = DAT_181e7e808; + auVar94 = vpxorq_avx512f(auVar112,auVar35); + auVar36._8_8_ = DAT_181e7e810; + auVar36._0_8_ = DAT_181e7e810; + auVar36._16_8_ = DAT_181e7e810; + auVar36._24_8_ = DAT_181e7e810; + auVar36._32_8_ = DAT_181e7e810; + auVar36._40_8_ = DAT_181e7e810; + auVar36._48_8_ = DAT_181e7e810; + auVar36._56_8_ = DAT_181e7e810; + auVar88 = vpandq_avx512f(auVar91,auVar36); + auVar37._8_8_ = DAT_181e7e818; + auVar37._0_8_ = DAT_181e7e818; + auVar37._16_8_ = DAT_181e7e818; + auVar37._24_8_ = DAT_181e7e818; + auVar37._32_8_ = DAT_181e7e818; + auVar37._40_8_ = DAT_181e7e818; + auVar37._48_8_ = DAT_181e7e818; + auVar37._56_8_ = DAT_181e7e818; + auVar112 = vpxorq_avx512f(auVar112,auVar37); + auVar90 = vpsllq_avx512f(auVar90,0x28); + auVar91 = vpsrlq_avx512f(auVar91,0x18); + auVar88 = vpsllq_avx512f(auVar88,0x1c); + auVar90 = vpternlogq_avx512f(auVar91,auVar90,auVar112,0xfe); + auVar52 = vsubpd_avx512vl(auVar90._0_16_,auVar112._0_16_); + auVar11._8_8_ = 0; + auVar11._0_8_ = DAT_181e7e840; + auVar90 = vpbroadcastq_avx512f(auVar11); + auVar91 = vporq_avx512f(auVar88,auVar94); + auVar53 = vsubpd_avx512vl(auVar91._0_16_,auVar94._0_16_); + auVar54 = vaddpd_avx512vl(auVar51,auVar52); + auVar51 = vsubpd_avx512vl(auVar51,auVar54); + auVar51 = vaddpd_avx512vl(auVar52,auVar51); + auVar51 = vaddpd_avx512vl(auVar51,auVar53); + auVar38._8_8_ = DAT_181e7e838; + auVar38._0_8_ = DAT_181e7e838; + auVar38._16_8_ = DAT_181e7e838; + auVar38._24_8_ = DAT_181e7e838; + auVar38._32_8_ = DAT_181e7e838; + auVar38._40_8_ = DAT_181e7e838; + auVar38._48_8_ = DAT_181e7e838; + auVar38._56_8_ = DAT_181e7e838; + auVar91 = vandpd_avx512dq(local_240,auVar38); + auVar12._8_8_ = 0; + auVar12._0_8_ = DAT_181e7e7c0; + auVar94 = vpbroadcastq_avx512f(auVar12); + uVar22 = vcmppd_avx512f(auVar91,auVar90,0x16); + uVar25 = vcmppd_avx512f(auVar91,auVar90,0x1a); + auVar39._8_8_ = DAT_181e7e800; + auVar39._0_8_ = DAT_181e7e800; + auVar39._16_8_ = DAT_181e7e800; + auVar39._24_8_ = DAT_181e7e800; + auVar39._32_8_ = DAT_181e7e800; + auVar39._40_8_ = DAT_181e7e800; + auVar39._48_8_ = DAT_181e7e800; + auVar39._56_8_ = DAT_181e7e800; + auVar90 = vpandq_avx512f(ZEXT1664(auVar50),auVar39); + auVar53 = auVar87._0_16_; + auVar50 = vmulpd_avx512vl(auVar54,auVar53); + auVar90 = vpsllq_avx512f(auVar90,5); + vpmovqd_avx512f(auVar90); + auVar52 = vfmsub213pd_avx512vl(auVar53,auVar54,auVar50); + auVar52 = vfmadd213pd_avx512vl(auVar54,auVar89._0_16_,auVar52); + auVar13._8_8_ = 0; + auVar13._0_8_ = DAT_181e7e7c0; + auVar87 = vpbroadcastq_avx512f(auVar13); + auVar51 = vfmadd213pd_avx512vl(auVar51,auVar53,auVar52); + auVar88 = vpandnq_avx512f(auVar91,auVar91); + bVar14 = (bool)((byte)uVar22 & 1); + auVar104._0_8_ = (ulonglong)bVar14 * auVar88._0_8_ | (ulonglong)!bVar14 * auVar94._0_8_; + bVar14 = (bool)((byte)(uVar22 >> 1) & 1); + auVar104._8_8_ = (ulonglong)bVar14 * auVar88._8_8_ | (ulonglong)!bVar14 * auVar94._8_8_; + bVar14 = (bool)((byte)(uVar22 >> 2) & 1); + auVar104._16_8_ = + (ulonglong)bVar14 * auVar88._16_8_ | (ulonglong)!bVar14 * auVar94._16_8_; + bVar14 = (bool)((byte)(uVar22 >> 3) & 1); + auVar104._24_8_ = + (ulonglong)bVar14 * auVar88._24_8_ | (ulonglong)!bVar14 * auVar94._24_8_; + bVar14 = (bool)((byte)(uVar22 >> 4) & 1); + auVar104._32_8_ = + (ulonglong)bVar14 * auVar88._32_8_ | (ulonglong)!bVar14 * auVar94._32_8_; + bVar14 = (bool)((byte)(uVar22 >> 5) & 1); + auVar104._40_8_ = + (ulonglong)bVar14 * auVar88._40_8_ | (ulonglong)!bVar14 * auVar94._40_8_; + bVar14 = (bool)((byte)(uVar22 >> 6) & 1); + auVar104._48_8_ = + (ulonglong)bVar14 * auVar88._48_8_ | (ulonglong)!bVar14 * auVar94._48_8_; + auVar104._56_8_ = + (uVar22 >> 7) * auVar88._56_8_ | (ulonglong)!SUB81(uVar22 >> 7,0) * auVar94._56_8_; + auVar94 = vandpd_avx512dq(auVar104,local_240); + uVar22 = vpcmpeqb_avx512vl(auVar66,auVar66); + uVar26 = vpcmpeqb_avx512vl(auVar66,auVar66); + uVar27 = vpcmpeqb_avx512vl(auVar66,auVar66); + uVar28 = vpcmpeqb_avx512vl(auVar66,auVar66); + auVar88 = vpandnq_avx512f(auVar91,auVar91); + bVar14 = (bool)((byte)uVar25 & 1); + auVar105._0_8_ = (ulonglong)bVar14 * auVar88._0_8_ | (ulonglong)!bVar14 * auVar87._0_8_; + bVar14 = (bool)((byte)(uVar25 >> 1) & 1); + auVar105._8_8_ = (ulonglong)bVar14 * auVar88._8_8_ | (ulonglong)!bVar14 * auVar87._8_8_; + bVar14 = (bool)((byte)(uVar25 >> 2) & 1); + auVar105._16_8_ = + (ulonglong)bVar14 * auVar88._16_8_ | (ulonglong)!bVar14 * auVar87._16_8_; + bVar14 = (bool)((byte)(uVar25 >> 3) & 1); + auVar105._24_8_ = + (ulonglong)bVar14 * auVar88._24_8_ | (ulonglong)!bVar14 * auVar87._24_8_; + bVar14 = (bool)((byte)(uVar25 >> 4) & 1); + auVar105._32_8_ = + (ulonglong)bVar14 * auVar88._32_8_ | (ulonglong)!bVar14 * auVar87._32_8_; + bVar14 = (bool)((byte)(uVar25 >> 5) & 1); + auVar105._40_8_ = + (ulonglong)bVar14 * auVar88._40_8_ | (ulonglong)!bVar14 * auVar87._40_8_; + bVar14 = (bool)((byte)(uVar25 >> 6) & 1); + auVar105._48_8_ = + (ulonglong)bVar14 * auVar88._48_8_ | (ulonglong)!bVar14 * auVar87._48_8_; + auVar105._56_8_ = + (uVar25 >> 7) * auVar88._56_8_ | (ulonglong)!SUB81(uVar25 >> 7,0) * auVar87._56_8_; + auVar87 = vandpd_avx512dq(auVar105,ZEXT1664(auVar50)); + auVar88 = vandpd_avx512dq(auVar105,ZEXT1664(auVar51)); + auVar94 = vorpd_avx512dq(auVar94,auVar87); + auVar55 = auVar94._0_16_; + auVar50 = vmulpd_avx512vl(auVar55,auVar55); + auVar51 = vfmadd231pd_avx512vl(DAT_181e72480._0_16_,DAT_181e724c0._0_16_,auVar50); + auVar91 = vpxord_avx512f(auVar91,auVar91); + auVar94 = vgatherdpd_avx512f(*(undefined4 *)(&DAT_181e6e250 + uVar44)); + bVar14 = (bool)((byte)uVar26 & 1); + auVar67._0_8_ = (ulonglong)bVar14 * auVar94._0_8_ | (ulonglong)!bVar14 * auVar91._0_8_; + bVar14 = (bool)((byte)(uVar26 >> 1) & 1); + auVar67._8_8_ = (ulonglong)bVar14 * auVar94._8_8_ | (ulonglong)!bVar14 * auVar91._8_8_; + auVar91 = vpxord_avx512f(auVar87,auVar87); + auVar94 = vpxord_avx512f(auVar105,auVar105); + auVar90 = vpxord_avx512f(auVar90,auVar90); + auVar87 = vgatherdpd_avx512f(*(undefined4 *)(&DAT_181e6e248 + uVar44)); + bVar14 = (bool)((byte)uVar27 & 1); + auVar68._0_8_ = (ulonglong)bVar14 * auVar87._0_8_ | (ulonglong)!bVar14 * auVar91._0_8_; + bVar14 = (bool)((byte)(uVar27 >> 1) & 1); + auVar68._8_8_ = (ulonglong)bVar14 * auVar87._8_8_ | (ulonglong)!bVar14 * auVar91._8_8_; + auVar91 = vgatherdpd_avx512f(*(undefined4 *)(&DAT_181e6e240 + uVar44)); + bVar14 = (bool)((byte)uVar22 & 1); + auVar69._0_8_ = (ulonglong)bVar14 * auVar91._0_8_ | (ulonglong)!bVar14 * auVar94._0_8_; + bVar14 = (bool)((byte)(uVar22 >> 1) & 1); + auVar69._8_8_ = (ulonglong)bVar14 * auVar91._8_8_ | (ulonglong)!bVar14 * auVar94._8_8_; + auVar91 = vgatherdpd_avx512f(*(undefined4 *)(&DAT_181e6e258 + uVar44)); + bVar14 = (bool)((byte)uVar28 & 1); + auVar70._0_8_ = (ulonglong)bVar14 * auVar91._0_8_ | (ulonglong)!bVar14 * auVar90._0_8_; + bVar14 = (bool)((byte)(uVar28 >> 1) & 1); + auVar70._8_8_ = (ulonglong)bVar14 * auVar91._8_8_ | (ulonglong)!bVar14 * auVar90._8_8_; + auVar52 = vfmadd213pd_avx512vl(auVar55,auVar68,auVar67); + auVar53 = vfmadd132pd_avx512vl(auVar55,auVar52,auVar69); + auVar54 = vsubpd_avx512vl(auVar67,auVar52); + auVar52 = vsubpd_avx512vl(auVar52,auVar53); + auVar54 = vfmadd231pd_avx512vl(auVar54,auVar68,auVar55); + auVar52 = vfmadd231pd_avx512vl(auVar52,auVar55,auVar69); + auVar52 = vaddpd_avx512vl(auVar52,auVar54); + auVar54 = vaddpd_avx512vl(auVar69,auVar68); + auVar51 = vmulpd_avx512vl(auVar51,auVar50); + auVar51 = vmulpd_avx512vl(auVar51,auVar55); + auVar55 = vfnmadd213pd_avx512vl(auVar55,auVar67,auVar54); + auVar51 = vfmadd213pd_avx512vl(auVar51,auVar54,auVar52); + auVar52 = vfmadd213pd_avx512vl(auVar88._0_16_,auVar55,auVar70); + auVar54 = vfmadd231pd_avx512vl(DAT_181e72540._0_16_,DAT_181e72580._0_16_,auVar50); + auVar54 = vfmadd213pd_avx512vl(auVar54,auVar50,DAT_181e72500._0_16_); + auVar50 = vmulpd_avx512vl(auVar54,auVar50); + auVar50 = vfmadd213pd_avx512vl(auVar50,auVar67,auVar51); + auVar50 = vaddpd_avx512vl(auVar50,auVar52); + auVar50 = vaddpd_avx512vl(auVar53,auVar50); + auVar90 = vblendmpd_avx512f(auVar86,ZEXT1664(auVar50)); + bVar14 = (bool)((byte)uVar49 & 1); + local_280._0_8_ = (ulonglong)bVar14 * auVar90._0_8_ | (ulonglong)!bVar14 * auVar86._0_8_ + ; + bVar14 = (bool)((byte)(uVar49 >> 1) & 1); + local_280._8_8_ = (ulonglong)bVar14 * auVar90._8_8_ | (ulonglong)!bVar14 * auVar86._8_8_ + ; + bVar14 = (bool)((byte)(uVar49 >> 2) & 1); + local_280._16_8_ = + (ulonglong)bVar14 * auVar90._16_8_ | (ulonglong)!bVar14 * auVar86._16_8_; + bVar14 = (bool)((byte)(uVar49 >> 3) & 1); + local_280._24_8_ = + (ulonglong)bVar14 * auVar90._24_8_ | (ulonglong)!bVar14 * auVar86._24_8_; + bVar14 = (bool)((byte)(uVar49 >> 4) & 1); + local_280._32_8_ = + (ulonglong)bVar14 * auVar90._32_8_ | (ulonglong)!bVar14 * auVar86._32_8_; + bVar14 = (bool)((byte)(uVar49 >> 5) & 1); + local_280._40_8_ = + (ulonglong)bVar14 * auVar90._40_8_ | (ulonglong)!bVar14 * auVar86._40_8_; + bVar14 = (bool)((byte)(uVar49 >> 6) & 1); + local_280._48_8_ = + (ulonglong)bVar14 * auVar90._48_8_ | (ulonglong)!bVar14 * auVar86._48_8_; + local_280._56_8_ = + (uVar49 >> 7) * auVar90._56_8_ | (ulonglong)!SUB81(uVar49 >> 7,0) * auVar86._56_8_; + auVar90 = _DAT_181e6e000; + auVar91 = _DAT_181e6df00; + auVar94 = _DAT_181e6df80; + } + if (uVar46 != 0) { + if (local_78 == '\0') { + local_338 = local_2de; + local_78 = '\x01'; + local_330 = local_2e0; + uVar43 = FUN_18014c5a0(); + local_68 = local_68 | uVar43; + } + if (uVar46 != 0) { + uVar44 = 0; + uVar40 = local_60; + local_2f0 = lVar47; + local_2e8 = uVar48; + do { + uVar43 = (uint)uVar44; + if ((uVar46 >> (uVar43 & 0x1f) & 1) != 0) { + dVar4 = *(double *)(local_240 + uVar44 * 8); + local_2f8._0_7_ = SUB87(dVar4,0); + local_2f8 = CONCAT17(local_240[uVar44 * 8 + 7],(undefined7)local_2f8) & + 0x7fffffffffffffff; + if ((*(ushort *)(local_240 + uVar44 * 8 + 6) & 0x7ff0) == 0x7ff0) { + if (((int)local_2f8 == 0) && (local_2f8._4_4_ == 0x7ff00000)) { + local_308 = &DAT_18267313c; + *(double *)(local_280 + uVar44 * 8) = dVar4 * DAT_181e7e850; + *(double *)(param_2 + lVar47 + uVar44 * 8) = dVar4 * DAT_181e7e850; + local_318 = param_2; + local_310 = param_2; + FUN_1803ab5c0(0x13,(int)uVar48 + uVar43,param_1,param_1); + uVar40 = 0x13; + *(undefined8 *)(local_280 + uVar44 * 8) = + *(undefined8 *)(param_2 + lVar47 + uVar44 * 8); + } + else { + *(double *)(local_280 + uVar44 * 8) = dVar4 * dVar4; + } + } + } + uVar44 = (ulonglong)(uVar43 + 1); + } while ((int)(uVar43 + 1) < 8); + local_60 = uVar40; + lVar47 = local_2f0; + uVar48 = local_2e8; + auVar108 = _DAT_181e6e200; + auVar106 = _DAT_181e6e1c0; + auVar107 = _DAT_181e6e180; + auVar113 = _DAT_181e6e140; + auVar116 = _DAT_181e6e100; + auVar78 = _DAT_181e6e0c0; + auVar79 = _DAT_181e6e080; + auVar80 = _DAT_181e6e040; + auVar81 = _DAT_181e6de40; + auVar82 = _DAT_181e6de00; + auVar83 = _DAT_181e6ddc0; + auVar114 = _DAT_181e6dd80; + auVar115 = _DAT_181e6dd40; + auVar84 = _DAT_181e6dd00; + auVar85 = _DAT_181e6dcc0; + auVar90 = _DAT_181e6e000; + auVar91 = _DAT_181e6df00; + auVar94 = _DAT_181e6df80; + } + uVar42 = (ulonglong)local_2c0[0]; + } + uVar42 = uVar42 & 0xffff; + uVar48 = uVar48 + 8; + puVar2 = (ulonglong *)(lVar47 + param_2); + bVar14 = (bool)((byte)uVar42 & 1); + bVar15 = (bool)((byte)(uVar42 >> 1) & 1); + bVar16 = (bool)((byte)(uVar42 >> 2) & 1); + bVar17 = (bool)((byte)(uVar42 >> 3) & 1); + bVar18 = (bool)((byte)(uVar42 >> 4) & 1); + bVar19 = (bool)((byte)(uVar42 >> 5) & 1); + bVar20 = (bool)((byte)(uVar42 >> 6) & 1); + bVar21 = (bool)((byte)(uVar42 >> 7) & 1); + *puVar2 = (ulonglong)bVar14 * local_280._0_8_ | (ulonglong)!bVar14 * *puVar2; + puVar2[1] = (ulonglong)bVar15 * local_280._8_8_ | (ulonglong)!bVar15 * puVar2[1]; + puVar2[2] = (ulonglong)bVar16 * local_280._16_8_ | (ulonglong)!bVar16 * puVar2[2]; + puVar2[3] = (ulonglong)bVar17 * local_280._24_8_ | (ulonglong)!bVar17 * puVar2[3]; + puVar2[4] = (ulonglong)bVar18 * local_280._32_8_ | (ulonglong)!bVar18 * puVar2[4]; + puVar2[5] = (ulonglong)bVar19 * local_280._40_8_ | (ulonglong)!bVar19 * puVar2[5]; + puVar2[6] = (ulonglong)bVar20 * local_280._48_8_ | (ulonglong)!bVar20 * puVar2[6]; + puVar2[7] = (ulonglong)bVar21 * local_280._56_8_ | (ulonglong)!bVar21 * puVar2[7]; + lVar47 = lVar47 + 0x40; + } while ((longlong)uVar48 < (longlong)(int)param_3); + } + if ((local_68 & 2) == 0) { + uVar46 = vstmxcsr_avx(); + if ((uVar46 & 0x1f) != 0) { + vldmxcsr_avx(uVar46 & 0xffffffe0); + } + } + else { + vldmxcsr_avx(local_70); + } + if ((uVar41 ^ (ulonglong)&local_338) == DAT_182615970) { + return local_60; + } + } + if ((uVar41 ^ (ulonglong)&local_338) == DAT_182615970) { + return 0xfffffff8; + } + } +} + + + +############ FUN_ 18014ec20 size=8255 ############ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +uint FUN_18014ec20(longlong param_1,longlong param_2,longlong param_3,uint param_4) + +{ + uint *puVar1; + byte bVar2; + ushort uVar3; + undefined1 auVar4 [12]; + undefined1 auVar5 [12]; + undefined1 auVar6 [12]; + undefined1 auVar7 [12]; + undefined1 auVar8 [12]; + undefined1 auVar9 [12]; + ushort uVar10; + undefined1 auVar11 [12]; + undefined1 auVar12 [12]; + undefined1 auVar13 [12]; + undefined1 auVar14 [12]; + undefined1 auVar15 [12]; + undefined1 auVar16 [12]; + undefined1 auVar17 [12]; + undefined1 auVar18 [12]; + undefined1 auVar19 [12]; + undefined1 auVar20 [12]; + uint uVar21; + ulonglong uVar22; + uint uVar23; + uint uVar24; + IMAGE_DOS_HEADER *pIVar25; + ulonglong uVar26; + uint uVar27; + uint uVar28; + ulonglong unaff_RSI; + int iVar29; + uint uVar30; + uint uVar31; + uint uVar32; + uint uVar33; + ushort in_FPUControlWord; + longlong lVar34; + longlong lVar35; + ulonglong uVar36; + longlong lVar37; + longlong lVar38; + ulonglong uVar39; + double dVar40; + double dVar50; + undefined1 auVar41 [16]; + undefined1 auVar42 [16]; + undefined1 auVar43 [16]; + undefined4 uVar51; + undefined1 auVar44 [16]; + undefined1 auVar45 [16]; + undefined1 auVar46 [16]; + undefined1 auVar47 [16]; + undefined1 auVar48 [16]; + undefined1 auVar49 [16]; + double dVar52; + double dVar62; + undefined1 auVar53 [16]; + undefined1 auVar54 [16]; + undefined1 auVar55 [16]; + undefined1 auVar56 [16]; + undefined1 auVar57 [16]; + undefined1 auVar58 [16]; + undefined1 auVar59 [16]; + undefined1 auVar60 [16]; + undefined1 auVar61 [16]; + double dVar63; + double dVar76; + undefined1 auVar65 [16]; + double dVar77; + undefined1 auVar66 [16]; + undefined1 auVar67 [16]; + ulonglong uVar64; + ulonglong uVar78; + undefined1 auVar68 [16]; + undefined1 auVar69 [16]; + undefined1 auVar70 [16]; + undefined1 auVar71 [16]; + undefined1 auVar72 [16]; + undefined1 auVar73 [16]; + undefined1 auVar74 [16]; + undefined1 auVar75 [16]; + ulonglong uVar79; + undefined1 auVar80 [16]; + undefined1 auVar81 [16]; + undefined1 auVar82 [16]; + undefined1 auVar83 [16]; + undefined1 auVar84 [16]; + undefined1 auVar85 [16]; + undefined1 auVar86 [16]; + undefined1 auVar87 [16]; + ulonglong uVar88; + undefined1 auVar89 [16]; + undefined1 auVar90 [16]; + undefined1 auVar91 [16]; + undefined1 auVar92 [16]; + undefined1 auVar93 [16]; + undefined1 auVar94 [16]; + ulonglong uVar99; + undefined1 auVar95 [16]; + undefined1 auVar96 [16]; + undefined1 auVar97 [16]; + undefined1 auVar98 [16]; + undefined8 uVar100; + undefined1 auVar101 [16]; + undefined1 auVar102 [16]; + undefined1 auVar103 [16]; + undefined1 auVar104 [16]; + undefined1 auVar105 [16]; + undefined1 auVar106 [16]; + undefined1 auVar107 [16]; + ulonglong uVar115; + undefined1 auVar108 [16]; + undefined1 auVar109 [16]; + undefined1 auVar110 [16]; + undefined1 auVar111 [16]; + undefined1 auVar112 [16]; + undefined1 auVar113 [16]; + uint uVar116; + ulonglong uVar117; + double dVar118; + uint uVar131; + undefined1 auVar120 [16]; + undefined1 auVar121 [16]; + undefined1 auVar122 [16]; + undefined1 auVar123 [16]; + undefined1 auVar124 [16]; + undefined1 auVar125 [16]; + undefined1 auVar126 [16]; + undefined1 auVar127 [16]; + undefined1 auVar128 [16]; + undefined1 auVar129 [16]; + double dVar132; + undefined1 auVar130 [16]; + undefined4 uVar133; + double dVar134; + double dVar135; + ulonglong uVar136; + double dVar137; + double dVar138; + double dVar139; + double dVar145; + ulonglong uVar146; + undefined1 auVar140 [16]; + undefined1 auVar141 [16]; + undefined1 auVar142 [16]; + ulonglong uVar147; + double dVar148; + undefined1 auVar143 [16]; + double dVar149; + undefined1 auVar144 [16]; + double dVar150; + ulonglong uVar151; + ulonglong uVar159; + undefined1 auVar152 [16]; + undefined1 auVar153 [16]; + undefined1 auVar154 [16]; + undefined1 auVar155 [16]; + undefined1 auVar156 [16]; + undefined1 auVar157 [16]; + undefined1 auVar158 [16]; + uint uVar160; + uint uVar175; + undefined1 auVar161 [16]; + undefined1 auVar163 [16]; + double dVar176; + undefined1 auVar164 [16]; + undefined1 auVar165 [16]; + undefined1 auVar166 [16]; + ulonglong uVar177; + undefined1 auVar167 [16]; + ulonglong uVar178; + undefined1 auVar168 [16]; + undefined1 auVar169 [16]; + undefined1 auVar170 [16]; + undefined1 auVar171 [16]; + undefined1 auVar172 [16]; + undefined1 auVar173 [16]; + undefined1 auVar174 [16]; + ulonglong uVar179; + undefined1 auVar180 [16]; + undefined1 auVar181 [16]; + undefined1 auVar182 [16]; + undefined1 auVar183 [16]; + ulonglong uVar187; + undefined1 auVar184 [16]; + undefined1 auVar185 [16]; + undefined1 auVar186 [16]; + undefined4 uVar188; + uint uVar189; + double dVar190; + ulonglong uVar191; + uint uVar202; + undefined1 auVar193 [16]; + double dVar203; + undefined1 auVar194 [16]; + undefined1 auVar195 [16]; + undefined1 auVar196 [16]; + undefined1 auVar197 [16]; + undefined1 auVar198 [16]; + undefined1 auVar199 [16]; + ulonglong uVar204; + undefined1 auVar200 [16]; + undefined1 auVar201 [16]; + double dVar205; + undefined1 auVar206 [16]; + double dVar211; + undefined1 auVar207 [16]; + ulonglong uVar212; + ulonglong uVar213; + undefined1 auVar208 [16]; + double dVar214; + undefined1 auVar209 [16]; + undefined1 auVar210 [16]; + uint uVar215; + double dVar216; + ulonglong uVar217; + ulonglong uVar218; + uint uVar227; + undefined1 auVar220 [16]; + undefined1 auVar221 [16]; + ulonglong uVar228; + ulonglong uVar229; + undefined1 auVar222 [16]; + undefined1 auVar223 [16]; + undefined1 auVar224 [16]; + undefined1 auVar225 [16]; + undefined1 auVar226 [16]; + double dVar230; + double dVar231; + undefined1 auVar232 [16]; + uint uVar240; + double dVar241; + uint uVar244; + undefined1 auVar233 [16]; + undefined1 auVar234 [16]; + undefined1 auVar235 [16]; + undefined1 auVar236 [16]; + undefined1 auVar237 [16]; + double dVar242; + undefined1 auVar238 [16]; + double dVar243; + undefined4 uVar245; + undefined1 auVar239 [16]; + undefined1 auVar246 [16]; + undefined1 auVar247 [16]; + undefined1 auVar248 [16]; + undefined1 auStack_638 [32]; + longlong local_618; + longlong local_610; + undefined *local_608; + undefined4 local_5f8; + IMAGE_DOS_HEADER *local_5f0; + IMAGE_DOS_HEADER *local_5e8; + IMAGE_DOS_HEADER *local_5e0; + longlong local_5d8; + ulonglong local_5d0; + uint local_5c8; + undefined8 local_5c0; + undefined8 local_5b8; + ulonglong uStack_5b0; + ulonglong local_5a8; + ulonglong uStack_5a0; + double local_580 [8]; + undefined1 local_540 [4] [16]; + IMAGE_DOS_HEADER local_500; + undefined1 local_480 [64]; + undefined1 local_440 [64]; + undefined1 local_400 [16]; + undefined1 local_3f0 [16]; + double local_3c0 [9]; + undefined1 local_378 [16]; + undefined1 local_368 [16]; + undefined8 local_358; + undefined8 uStack_350; + double local_348; + double dStack_340; + undefined1 local_338 [16]; + uint local_328; + uint uStack_324; + uint uStack_320; + uint uStack_31c; + undefined1 local_318 [16]; + undefined1 local_308 [16]; + ulonglong local_2f8; + ulonglong uStack_2f0; + longlong local_2e8; + longlong lStack_2e0; + longlong local_2d8; + longlong lStack_2d0; + longlong local_2c8; + longlong lStack_2c0; + longlong local_2b8; + longlong lStack_2b0; + longlong local_2a8; + longlong lStack_2a0; + longlong local_298; + longlong lStack_290; + longlong local_288; + longlong lStack_280; + ulonglong local_278; + ulonglong uStack_270; + ulonglong local_268; + ulonglong uStack_260; + ulonglong local_258; + ulonglong uStack_250; + ulonglong local_248; + ulonglong uStack_240; + ulonglong local_238; + ulonglong uStack_230; + double local_228; + double dStack_220; + double local_218; + double dStack_210; + double local_208; + double dStack_200; + double local_1f8; + double dStack_1f0; + double local_1e8; + double dStack_1e0; + double local_1d8; + double dStack_1d0; + uint local_1c8; + uint uStack_1c4; + uint uStack_1c0; + uint uStack_1bc; + uint local_1b8; + uint uStack_1b4; + uint uStack_1b0; + uint uStack_1ac; + byte local_108; + uint local_100; + uint local_f8; + uint local_e8; + uint local_78; + uint uStack_74; + uint uStack_70; + uint uStack_6c; + uint local_68; + uint uStack_64; + uint uStack_60; + uint uStack_5c; + uint local_58; + uint uStack_54; + uint uStack_50; + uint uStack_4c; + uint uVar114; + undefined1 auVar119 [16]; + undefined1 auVar162 [16]; + undefined1 auVar192 [16]; + undefined1 auVar219 [16]; + + local_100 = MXCSR; + uVar22 = DAT_182615970 ^ (ulonglong)auStack_638; + uVar26 = (ulonglong)(int)(param_4 & 0xfffffffc); + local_e8 = 0; + if ((int)param_4 < 1) { + if ((uVar22 ^ (ulonglong)auStack_638) == DAT_182615970) { + return 0xfffffffa; + } + } + else if (((param_1 == 0) || (param_2 == 0)) || (param_3 == 0)) { + if ((uVar22 ^ (ulonglong)auStack_638) == DAT_182615970) { + return 0xfffffff8; + } + } + else { + bVar2 = (byte)(in_FPUControlWord >> 8); + if ((in_FPUControlWord & 0x3f) == 0x3f) { + pIVar25 = (IMAGE_DOS_HEADER *)((ulonglong)bVar2 << 8); + } + else { + local_5f8 = CONCAT22(local_5f8._2_2_,in_FPUControlWord) | 0x3f; + pIVar25 = (IMAGE_DOS_HEADER *)CONCAT71((uint7)bVar2,1); + } + if ((MXCSR & 0xffc0) != 0x1f80) { + pIVar25 = (IMAGE_DOS_HEADER *)CONCAT71((int7)((ulonglong)pIVar25 >> 8),(char)pIVar25 + '\x02') + ; + MXCSR = (MXCSR & 0xffff003f) + 0x1f80; + } + local_5d0 = 0; + local_f8 = MXCSR; + local_5c8 = param_4; + if (0 < (longlong)uVar26) { + do { + auVar95 = *(undefined1 (*) [16])(param_1 + local_5d0 * 8); + auVar197 = *(undefined1 (*) [16])(param_1 + 0x10 + local_5d0 * 8); + uVar23 = (uint)DAT_181c80640; + uVar21 = DAT_181c80640._4_4_; + uVar32 = DAT_181c80640._12_4_; + uVar24 = 0; + uVar28 = DAT_181c80640._8_4_; + uVar116 = ~uVar23 & auVar95._0_4_; + uVar131 = ~uVar21 & auVar95._4_4_; + auVar119._0_8_ = (double)CONCAT44(uVar131,uVar116); + auVar119._8_4_ = ~uVar28 & auVar95._8_4_; + auVar119._12_4_ = ~uVar32 & auVar95._12_4_; + dVar216 = auVar119._8_8_; + uVar215 = ~uVar23 & auVar197._0_4_; + uVar227 = ~uVar21 & auVar197._4_4_; + auVar219._0_8_ = (double)CONCAT44(uVar227,uVar215); + auVar219._8_4_ = ~uVar28 & auVar197._8_4_; + auVar219._12_4_ = ~uVar32 & auVar197._12_4_; + uVar189 = uVar23 & auVar95._0_4_; + uVar202 = uVar21 & auVar95._4_4_; + auVar192._0_8_ = (double)CONCAT44(uVar202,uVar189); + auVar192._8_4_ = uVar28 & auVar95._8_4_; + auVar192._12_4_ = uVar32 & auVar95._12_4_; + auVar104._0_4_ = uVar23 & auVar197._0_4_; + uVar114 = uVar21 & auVar197._4_4_; + auVar101._0_8_ = (double)CONCAT44(uVar114,auVar104._0_4_); + auVar101._8_4_ = uVar28 & auVar197._8_4_; + auVar101._12_4_ = uVar32 & auVar197._12_4_; + dVar176 = auVar219._8_8_; + lVar34 = -(ulonglong)(auVar192._0_8_ == auVar95._0_8_); + lVar37 = -(ulonglong)(auVar192._8_8_ == auVar95._8_8_); + dVar134 = _DAT_181c80740 * auVar119._0_8_ + _DAT_181c80780; + dVar145 = _UNK_181c80748 * dVar216 + _UNK_181c80788; + dVar40 = _DAT_181c80740 * auVar219._0_8_ + _DAT_181c80780; + dVar50 = _UNK_181c80748 * dVar176 + _UNK_181c80788; + lVar35 = -(ulonglong)(auVar101._0_8_ == auVar197._0_8_); + lVar38 = -(ulonglong)(auVar101._8_8_ == auVar197._8_8_); + auVar89._8_4_ = SUB84(dVar145,0); + auVar89._0_8_ = dVar134; + auVar89._12_4_ = (int)((ulonglong)dVar145 >> 0x20); + dVar135 = dVar134 - _DAT_181c80780; + dVar145 = dVar145 - _UNK_181c80788; + auVar90._0_8_ = (longlong)dVar134 << 0x3f; + auVar90._8_8_ = auVar89._8_8_ << 0x3f; + auVar102._8_4_ = SUB84(dVar50,0); + auVar102._0_8_ = dVar40; + auVar102._12_4_ = (int)((ulonglong)dVar50 >> 0x20); + auVar103._0_8_ = (longlong)dVar40 << 0x3f; + auVar103._8_8_ = auVar102._8_8_ << 0x3f; + dVar40 = dVar40 - _DAT_181c80780; + dVar50 = dVar50 - _UNK_181c80788; + auVar193._8_4_ = auVar119._8_4_; + auVar193._0_8_ = auVar119._0_8_; + auVar193._12_4_ = auVar119._12_4_; + dVar190 = (auVar119._0_8_ - _DAT_181c80800 * dVar135) - _DAT_181c80840 * dVar135; + dVar203 = (auVar193._8_8_ - _UNK_181c80808 * dVar145) - _UNK_181c80848 * dVar145; + auVar206._8_4_ = auVar219._8_4_; + auVar206._0_8_ = auVar219._0_8_; + auVar206._12_4_ = auVar219._12_4_; + dVar205 = (auVar219._0_8_ - _DAT_181c80800 * dVar40) - _DAT_181c80840 * dVar40; + dVar211 = (auVar206._8_8_ - _UNK_181c80808 * dVar50) - _UNK_181c80848 * dVar50; + auVar80._0_4_ = uVar23 & SUB84(dVar190,0); + auVar80._4_4_ = uVar21 & (uint)((ulonglong)dVar190 >> 0x20); + auVar80._8_4_ = uVar28 & SUB84(dVar203,0); + auVar80._12_4_ = uVar32 & (uint)((ulonglong)dVar203 >> 0x20); + auVar180._0_4_ = uVar23 & SUB84(dVar205,0); + auVar180._4_4_ = uVar21 & (uint)((ulonglong)dVar205 >> 0x20); + auVar180._8_4_ = uVar28 & SUB84(dVar211,0); + auVar180._12_4_ = uVar32 & (uint)((ulonglong)dVar211 >> 0x20); + dVar52 = SUB168(_DAT_181c807c0 | auVar80,0) + dVar135; + dVar62 = SUB168(_DAT_181c807c0 | auVar80,8) + dVar145; + dVar63 = SUB168(_DAT_181c807c0 | auVar180,0) + dVar40; + dVar76 = SUB168(_DAT_181c807c0 | auVar180,8) + dVar50; + dVar134 = (double)CONCAT44(_UNK_181c80884,_DAT_181c80880); + dVar77 = (double)CONCAT44(_UNK_181c8088c,_UNK_181c80888); + dVar135 = (dVar190 - dVar134 * dVar135) - dVar135 * _DAT_181c808c0; + dVar145 = (dVar203 - dVar77 * dVar145) - dVar145 * _UNK_181c808c8; + dVar190 = (dVar205 - dVar134 * dVar40) - dVar40 * _DAT_181c808c0; + dVar203 = (dVar211 - dVar77 * dVar50) - dVar50 * _UNK_181c808c8; + dVar52 = (((auVar119._0_8_ - _DAT_181c80800 * dVar52) - _DAT_181c80840 * dVar52) - + dVar134 * dVar52) - dVar52 * _DAT_181c808c0; + dVar62 = (((dVar216 - _UNK_181c80808 * dVar62) - _UNK_181c80848 * dVar62) - dVar77 * dVar62) + - dVar62 * _UNK_181c808c8; + auVar237._8_4_ = SUB84(dVar145,0); + auVar237._0_8_ = dVar135; + auVar237._12_4_ = (int)((ulonglong)dVar145 >> 0x20); + dVar40 = dVar135 * dVar135; + dVar50 = auVar237._8_8_ * dVar145; + dVar205 = (((auVar219._0_8_ - _DAT_181c80800 * dVar63) - _DAT_181c80840 * dVar63) - + dVar134 * dVar63) - dVar63 * _DAT_181c808c0; + dVar211 = (((dVar176 - _UNK_181c80808 * dVar76) - _UNK_181c80848 * dVar76) - dVar77 * dVar76 + ) - dVar76 * _UNK_181c808c8; + auVar65._8_4_ = SUB84(dVar203,0); + auVar65._0_8_ = dVar190; + auVar65._12_4_ = (int)((ulonglong)dVar203 >> 0x20); + auVar161._8_4_ = SUB84(dVar62,0); + auVar161._0_8_ = dVar52; + auVar161._12_4_ = (int)((ulonglong)dVar62 >> 0x20); + dVar134 = dVar190 * dVar190; + dVar77 = auVar65._8_8_ * dVar203; + dVar63 = dVar52 * dVar52; + dVar76 = auVar161._8_8_ * dVar62; + auVar232._8_4_ = SUB84(dVar211,0); + auVar232._0_8_ = dVar205; + auVar232._12_4_ = (int)((ulonglong)dVar211 >> 0x20); + dVar230 = dVar205 * dVar205; + dVar241 = auVar232._8_8_ * dVar211; + auVar181 = auVar180 ^ _DAT_181c80640 ^ auVar103; + auVar194._0_8_ = + dVar135 + dVar40 * ((((((_DAT_181c80c80 * dVar40 + _DAT_181c80c40) * dVar40 + + _DAT_181c80c00) * dVar40 + _DAT_181c80bc0) * dVar40 + + _DAT_181c80b80) * dVar40 + _DAT_181c80b00) * dVar40 + + _DAT_181c80ac0) * dVar135; + auVar194._8_8_ = + dVar145 + dVar50 * ((((((_UNK_181c80c88 * dVar50 + _UNK_181c80c48) * dVar50 + + _UNK_181c80c08) * dVar50 + _UNK_181c80bc8) * dVar50 + + _UNK_181c80b88) * dVar50 + _UNK_181c80b08) * dVar50 + + _UNK_181c80ac8) * dVar145; + auVar207._0_8_ = + dVar190 + dVar134 * ((((((_DAT_181c80c80 * dVar134 + _DAT_181c80c40) * dVar134 + + _DAT_181c80c00) * dVar134 + _DAT_181c80bc0) * dVar134 + + _DAT_181c80b80) * dVar134 + _DAT_181c80b00) * dVar134 + + _DAT_181c80ac0) * dVar190; + auVar207._8_8_ = + dVar203 + dVar77 * ((((((_UNK_181c80c88 * dVar77 + _UNK_181c80c48) * dVar77 + + _UNK_181c80c08) * dVar77 + _UNK_181c80bc8) * dVar77 + + _UNK_181c80b88) * dVar77 + _UNK_181c80b08) * dVar77 + + _UNK_181c80ac8) * dVar203; + auVar120._0_8_ = + dVar52 + dVar63 * ((((((_DAT_181c80c80 * dVar63 + _DAT_181c80c40) * dVar63 + + _DAT_181c80c00) * dVar63 + _DAT_181c80bc0) * dVar63 + + _DAT_181c80b80) * dVar63 + _DAT_181c80b00) * dVar63 + + _DAT_181c80ac0) * dVar52; + auVar120._8_8_ = + dVar62 + dVar76 * ((((((_UNK_181c80c88 * dVar76 + _UNK_181c80c48) * dVar76 + + _UNK_181c80c08) * dVar76 + _UNK_181c80bc8) * dVar76 + + _UNK_181c80b88) * dVar76 + _UNK_181c80b08) * dVar76 + + _UNK_181c80ac8) * dVar62; + dVar205 = dVar205 + dVar230 * ((((((_DAT_181c80c80 * dVar230 + _DAT_181c80c40) * dVar230 + + _DAT_181c80c00) * dVar230 + _DAT_181c80bc0) * dVar230 + + _DAT_181c80b80) * dVar230 + _DAT_181c80b00) * dVar230 + + _DAT_181c80ac0) * dVar205; + dVar211 = dVar211 + dVar241 * ((((((_UNK_181c80c88 * dVar241 + _UNK_181c80c48) * dVar241 + + _UNK_181c80c08) * dVar241 + _UNK_181c80bc8) * dVar241 + + _UNK_181c80b88) * dVar241 + _UNK_181c80b08) * dVar241 + + _UNK_181c80ac8) * dVar211; + auVar91._4_4_ = (uint)((ulonglong)auVar90._0_8_ >> 0x20) ^ uVar202; + auVar91._0_4_ = uVar189; + auVar91._8_4_ = auVar192._8_4_; + auVar91._12_4_ = (uint)((ulonglong)auVar90._8_8_ >> 0x20) ^ auVar192._12_4_; + uVar36 = -(ulonglong)(_DAT_181c806c0 < auVar119._0_8_); + uVar39 = -(ulonglong)(_UNK_181c806c8 < dVar216); + dVar134 = (double)-(ulonglong)(_DAT_181c806c0 < auVar219._0_8_); + dVar77 = (double)-(ulonglong)(_UNK_181c806c8 < dVar176); + auVar194 = auVar194 ^ auVar91; + auVar104._4_4_ = (uint)((ulonglong)auVar103._0_8_ >> 0x20) ^ uVar114; + auVar104._8_4_ = auVar101._8_4_; + auVar104._12_4_ = (uint)((ulonglong)auVar103._8_8_ >> 0x20) ^ auVar101._12_4_; + local_78 = (uint)lVar34; + uStack_74 = (uint)((ulonglong)lVar34 >> 0x20); + uStack_70 = (uint)lVar37; + uStack_6c = (uint)((ulonglong)lVar37 >> 0x20); + auVar207 = auVar207 ^ auVar104; + auVar120 = auVar120 ^ auVar80 ^ _DAT_181c80640 ^ auVar90; + local_68 = (uint)lVar35; + uStack_64 = (uint)((ulonglong)lVar35 >> 0x20); + uStack_60 = (uint)lVar38; + uStack_5c = (uint)((ulonglong)lVar38 >> 0x20); + uVar23 = ~local_78 & auVar120._0_4_ | local_78 & _DAT_181c80cc0; + uVar21 = ~uStack_74 & auVar120._4_4_ | uStack_74 & _UNK_181c80cc4; + uVar32 = ~uStack_70 & auVar120._8_4_ | uStack_70 & _UNK_181c80cc8; + uVar28 = ~uStack_6c & auVar120._12_4_ | uStack_6c & _UNK_181c80ccc; + local_58 = auVar181._0_4_; + uStack_54 = auVar181._4_4_; + uStack_50 = auVar181._8_4_; + uStack_4c = auVar181._12_4_; + auVar92._0_4_ = ~local_68 & (SUB84(dVar205,0) ^ local_58); + auVar92._4_4_ = ~uStack_64 & ((uint)((ulonglong)dVar205 >> 0x20) ^ uStack_54); + auVar92._8_4_ = ~uStack_60 & (SUB84(dVar211,0) ^ uStack_50); + auVar92._12_4_ = ~uStack_5c & ((uint)((ulonglong)dVar211 >> 0x20) ^ uStack_4c); + uVar160 = (uint)(uVar36 >> 0x20); + uVar175 = (uint)(uVar39 >> 0x20); + uVar240 = (uint)((ulonglong)dVar134 >> 0x20); + uVar244 = (uint)((ulonglong)dVar77 >> 0x20); + auVar220._4_4_ = uVar175; + auVar220._0_4_ = uVar160; + auVar220._8_4_ = uVar240; + auVar220._12_4_ = uVar244; + auVar121._0_4_ = local_68 & _DAT_181c80cc0; + auVar121._4_4_ = uStack_64 & _UNK_181c80cc4; + auVar121._8_4_ = uStack_60 & _UNK_181c80cc8; + auVar121._12_4_ = uStack_5c & _UNK_181c80ccc; + uVar27 = movmskps((int)unaff_RSI,auVar220); + unaff_RSI = (ulonglong)uVar27; + auVar92 = auVar92 | auVar121; + auVar181 = auVar92; + auVar126 = auVar194; + auVar170 = auVar207; + if (uVar27 != 0) { + auVar44._0_8_ = + (double)CONCAT44(DAT_181c84d80._4_4_ & uVar227,(uint)DAT_181c84d80 & uVar215); + auVar44._8_4_ = DAT_181c84d80._8_4_ & auVar219._8_4_; + auVar44._12_4_ = DAT_181c84d80._12_4_ & auVar219._12_4_; + auVar155._0_8_ = + (double)CONCAT44(DAT_181c84d80._4_4_ & uVar131,(uint)DAT_181c84d80 & uVar116); + auVar155._8_4_ = DAT_181c84d80._8_4_ & auVar119._8_4_; + auVar155._12_4_ = DAT_181c84d80._12_4_ & auVar119._12_4_; + uVar3 = SUB162(_DAT_181c912c0 & auVar119,0xe) >> 4; + uVar10 = SUB162(_DAT_181c912c0 & auVar219,0xe) >> 4; + uVar31 = (SUB164(_DAT_181c912c0 & auVar119,4) >> 0x14) * 0x18; + uVar79 = SUB168(_DAT_181c912d0 & auVar119,0) + _DAT_181c912e0; + uVar229 = SUB168(_DAT_181c912d0 & auVar119,8) + _UNK_181c912e8; + uVar27 = (SUB164(_DAT_181c912c0 & auVar219,4) >> 0x14) * 0x18; + uVar30 = ((uint)uVar3 + (uint)uVar3 * 2) * 8; + auVar156._4_4_ = (int)(-(ulonglong)(auVar155._8_8_ == DAT_181c84d80._8_8_) >> 0x20); + auVar156._0_4_ = (int)(-(ulonglong)(auVar155._0_8_ == (double)DAT_181c84d80) >> 0x20); + auVar156._8_4_ = (int)(-(ulonglong)(auVar44._0_8_ == (double)DAT_181c84d80) >> 0x20); + auVar156._12_4_ = (int)(-(ulonglong)(auVar44._8_8_ == DAT_181c84d80._8_8_) >> 0x20); + uVar33 = ((uint)uVar10 + (uint)uVar10 * 2) * 8; + _local_328 = CONCAT44(uVar21,uVar23); + _uStack_320 = CONCAT44(uVar28,uVar32); + uVar136 = *(ulonglong *)(&DAT_181c850c0 + uVar30); + uStack_270 = uVar229 >> 0x20; + uVar151 = SUB168(_DAT_181c912d0 & auVar219,0) + _DAT_181c912e0; + uVar212 = SUB168(_DAT_181c912d0 & auVar219,8) + _UNK_181c912e8; + uVar24 = movmskps(0,auVar156); + auVar11._4_8_ = auVar156._8_8_; + auVar11._0_4_ = (int)(*(ulonglong *)(&DAT_181c850c0 + uVar31) >> 0x20); + auVar157._0_8_ = auVar11._0_8_ << 0x20; + auVar157._8_4_ = (int)uVar136; + auVar157._12_4_ = (int)(uVar136 >> 0x20); + uStack_2f0 = *(ulonglong *)(&DAT_181c850d0 + uVar33); + auVar12._4_8_ = auVar220._8_8_; + auVar12._0_4_ = (int)(*(ulonglong *)(&DAT_181c850d0 + uVar27) >> 0x20); + uVar218 = auVar12._0_8_; + auVar224._0_8_ = uVar218 << 0x20; + auVar224._8_4_ = (int)uStack_2f0; + auVar224._12_4_ = (int)(uStack_2f0 >> 0x20); + uVar146 = *(ulonglong *)(&DAT_181c850c0 + uVar33); + uVar213 = *(ulonglong *)(&DAT_181c850c8 + uVar33); + uVar64 = *(ulonglong *)(&DAT_181c850c8 + uVar30); + uVar78 = *(ulonglong *)(&DAT_181c850d0 + uVar30); + local_2f8 = *(ulonglong *)(&DAT_181c850d0 + uVar27) & _DAT_181c912f0; + uStack_2f0 = uStack_2f0 & _UNK_181c912f8; + auVar13._4_8_ = auVar207._8_8_; + auVar13._0_4_ = (int)(*(ulonglong *)(&DAT_181c850d0 + uVar31) >> 0x20); + uVar88 = auVar13._0_8_; + auVar209._0_8_ = uVar88 << 0x20; + auVar209._8_4_ = (int)uVar78; + auVar209._12_4_ = (int)(uVar78 >> 0x20); + auVar14._4_8_ = dVar216; + auVar14._0_4_ = (int)(*(ulonglong *)(&DAT_181c850c8 + uVar31) >> 0x20); + uVar99 = auVar14._0_8_; + auVar183._0_8_ = uVar99 << 0x20; + auVar183._8_4_ = (int)uVar64; + auVar183._12_4_ = (int)(uVar64 >> 0x20); + uVar30 = (uint)(*(ulonglong *)(&DAT_181c850c8 + uVar27) >> 0x20); + auVar20._4_4_ = (int)uVar213; + auVar20._0_4_ = uVar30; + auVar20._8_4_ = (int)(uVar213 >> 0x20); + uVar117 = *(ulonglong *)(&DAT_181c850c0 + uVar31) & _DAT_181c912f0; + uVar115 = *(ulonglong *)(&DAT_181c850c8 + uVar31) & _DAT_181c912f0; + uVar147 = *(ulonglong *)(&DAT_181c850c8 + uVar27) & _DAT_181c912f0; + auVar15._4_8_ = _UNK_181c912e8; + auVar15._0_4_ = (int)(*(ulonglong *)(&DAT_181c850c0 + uVar27) >> 0x20); + auVar166._0_8_ = auVar15._0_8_ << 0x20; + auVar166._8_4_ = (int)uVar146; + auVar166._12_4_ = (int)(uVar146 >> 0x20); + uVar177 = *(ulonglong *)(&DAT_181c850c0 + uVar27) & _DAT_181c912f0; + uVar228 = uVar79 & _DAT_181c912f0; + uVar229 = uVar229 & _UNK_181c912f8; + uVar159 = uVar151 & _DAT_181c912f0; + uVar217 = uVar212 & _UNK_181c912f8; + uVar212 = uVar212 >> 0x20; + local_2e8 = (uVar79 >> 0x20) * (uVar117 & 0xffffffff); + lStack_2e0 = uStack_270 * (uVar136 & _UNK_181c912f8 & 0xffffffff); + local_2d8 = (uVar151 >> 0x20) * (uVar177 & 0xffffffff); + lStack_2d0 = uVar212 * (uVar146 & _UNK_181c912f8 & 0xffffffff); + local_2c8 = (uVar79 >> 0x20) * (uVar99 & 0xffffffff); + lStack_2c0 = uStack_270 * (auVar183._8_8_ >> 0x20); + local_2b8 = (uVar151 >> 0x20) * (ulonglong)uVar30; + lStack_2b0 = uVar212 * (auVar20._4_8_ >> 0x20); + local_2a8 = (uVar79 >> 0x20) * (uVar115 & 0xffffffff); + lStack_2a0 = uStack_270 * (uVar64 & _UNK_181c912f8 & 0xffffffff); + local_298 = (uVar151 >> 0x20) * (uVar147 & 0xffffffff); + lStack_290 = uVar212 * (uVar213 & _UNK_181c912f8 & 0xffffffff); + local_288 = (uVar79 >> 0x20) * (uVar88 & 0xffffffff); + lStack_280 = uStack_270 * (auVar209._8_8_ >> 0x20); + local_278 = (uVar79 >> 0x20) * + (*(ulonglong *)(&DAT_181c850d0 + uVar31) & _DAT_181c912f0 & 0xffffffff); + uStack_270 = uStack_270 * (uVar78 & _UNK_181c912f8 & 0xffffffff); + uVar179 = (uVar99 & 0xffffffff) * (uVar228 & 0xffffffff); + uVar187 = (auVar183._8_8_ >> 0x20) * (uVar229 & 0xffffffff); + local_258 = (auVar15._0_8_ & 0xffffffff) * (uVar159 & 0xffffffff); + uStack_250 = (auVar166._8_8_ >> 0x20) * (uVar217 & 0xffffffff); + uVar99 = (uVar115 & 0xffffffff) * (uVar228 & 0xffffffff); + uVar64 = (uVar64 & _UNK_181c912f8 & 0xffffffff) * (uVar229 & 0xffffffff); + uVar79 = (uVar147 & 0xffffffff) * (uVar159 & 0xffffffff); + uVar115 = (uVar213 & _UNK_181c912f8 & 0xffffffff) * (uVar217 & 0xffffffff); + uVar213 = (uVar117 & 0xffffffff) * (uVar228 & 0xffffffff); + uVar136 = (uVar136 & _UNK_181c912f8 & 0xffffffff) * (uVar229 & 0xffffffff); + uVar117 = (uVar177 & 0xffffffff) * (uVar159 & 0xffffffff); + uVar146 = (uVar146 & _UNK_181c912f8 & 0xffffffff) * (uVar217 & 0xffffffff); + uVar191 = (ulonglong)uVar30 * (uVar159 & 0xffffffff); + uVar204 = (auVar20._4_8_ >> 0x20) * (uVar217 & 0xffffffff); + uVar177 = uVar187 >> 0x20; + local_268 = (uVar151 >> 0x20) * (local_2f8 & 0xffffffff); + uStack_260 = uVar212 * (uStack_2f0 & 0xffffffff); + auVar16._4_8_ = uVar78 & _UNK_181c912f8; + auVar16._0_4_ = (int)(uVar79 >> 0x20); + auVar56._0_8_ = auVar16._0_8_ << 0x20; + auVar56._8_4_ = (int)uVar115; + auVar56._12_4_ = (int)(uVar115 >> 0x20); + auVar17._4_8_ = uVar217; + auVar17._0_4_ = (int)(uVar99 >> 0x20); + auVar70._0_8_ = auVar17._0_8_ << 0x20; + auVar70._8_4_ = (int)uVar64; + auVar70._12_4_ = (int)(uVar64 >> 0x20); + auVar18._4_8_ = uVar177; + auVar18._0_4_ = (int)(uVar213 >> 0x20); + auVar167._0_8_ = auVar18._0_8_ << 0x20; + auVar167._8_4_ = (int)uVar136; + auVar167._12_4_ = (int)(uVar136 >> 0x20); + uVar178 = auVar167._8_8_ >> 0x20; + auVar19._4_8_ = uVar178; + auVar19._0_4_ = (int)(uVar117 >> 0x20); + auVar168._0_8_ = auVar19._0_8_ << 0x20; + auVar168._8_4_ = (int)uVar146; + auVar168._12_4_ = (int)(uVar146 >> 0x20); + uVar99 = (local_278 >> 0x20) + + (uVar99 & _DAT_181c912f0) + + local_288 + ((uVar88 & 0xffffffff) * (uVar228 & 0xffffffff) >> 0x20); + uVar147 = (uStack_270 >> 0x20) + + (uVar64 & _UNK_181c912f8) + + lStack_280 + ((auVar209._8_8_ >> 0x20) * (uVar229 & 0xffffffff) >> 0x20); + uVar79 = (local_268 >> 0x20) + + (uVar79 & _DAT_181c912f0) + + (uVar151 >> 0x20) * (uVar218 & 0xffffffff) + + ((uVar218 & 0xffffffff) * (uVar159 & 0xffffffff) >> 0x20); + uVar212 = (uStack_260 >> 0x20) + + (uVar115 & _UNK_181c912f8) + + uVar212 * (auVar224._8_8_ >> 0x20) + + ((auVar224._8_8_ >> 0x20) * (uVar217 & 0xffffffff) >> 0x20); + uVar64 = (uVar99 >> 0x20) + + (uVar179 & _DAT_181c912f0) + local_2a8 + (auVar17._0_8_ & 0xffffffff); + uVar78 = (uVar147 >> 0x20) + + (uVar187 & _UNK_181c912f8) + lStack_2a0 + (auVar70._8_8_ >> 0x20); + uVar151 = (uVar79 >> 0x20) + + (uVar191 & _DAT_181c912f0) + local_298 + (auVar16._0_8_ & 0xffffffff); + uVar159 = (uVar212 >> 0x20) + + (uVar204 & _UNK_181c912f8) + lStack_290 + (auVar56._8_8_ >> 0x20); + uVar213 = (uVar64 >> 0x20) + (uVar213 & _DAT_181c912f0) + local_2c8 + (uVar179 >> 0x20); + uVar136 = (uVar78 >> 0x20) + (uVar136 & _UNK_181c912f8) + lStack_2c0 + uVar177; + uVar217 = (uVar151 >> 0x20) + (uVar117 & _DAT_181c912f0) + local_2b8 + (uVar191 >> 0x20); + uVar146 = (uVar159 >> 0x20) + (uVar146 & _UNK_181c912f8) + lStack_2b0 + (uVar204 >> 0x20); + uVar218 = ((uVar213 >> 0x20) + + (_DAT_181c912f0 & (auVar11._0_8_ & 0xffffffff) * (uVar228 & 0xffffffff)) + + local_2e8 + (auVar18._0_8_ & 0xffffffff) << 0x20) + (uVar213 & _DAT_181c912f0); + uVar88 = ((uVar136 >> 0x20) + + (_UNK_181c912f8 & (auVar157._8_8_ >> 0x20) * (uVar229 & 0xffffffff)) + + lStack_2e0 + uVar178 << 0x20) + (uVar136 & _UNK_181c912f8); + auVar71._0_4_ = _DAT_181c91300 & uVar116; + auVar71._4_4_ = _UNK_181c91304 & uVar131; + auVar71._8_4_ = _UNK_181c91308 & auVar119._8_4_; + auVar71._12_4_ = _UNK_181c9130c & auVar119._12_4_; + uVar117 = (uVar151 << 0x20) + (uVar79 & _DAT_181c912f0); + uVar151 = (uVar159 << 0x20) + (uVar212 & _UNK_181c912f8); + auVar210._0_8_ = uVar218 >> 0xc; + auVar210._8_8_ = uVar88 >> 0xc; + auVar210 = auVar210 | _DAT_181c91310 ^ auVar71; + uVar136 = ((uVar217 >> 0x20) + + (_DAT_181c912f0 & local_258) + local_2d8 + (auVar19._0_8_ & 0xffffffff) << 0x20 + ) + (uVar217 & _DAT_181c912f0); + uVar146 = ((uVar146 >> 0x20) + + (_UNK_181c912f8 & uStack_250) + lStack_2d0 + (auVar168._8_8_ >> 0x20) << 0x20) + + (uVar146 & _UNK_181c912f8); + uVar213 = (uVar64 << 0x20) + (uVar99 & _DAT_181c912f0); + uVar64 = (uVar78 << 0x20) + (uVar147 & _UNK_181c912f8); + dVar203 = auVar210._0_8_; + dVar40 = _DAT_181c91320 + dVar203; + dVar205 = auVar210._8_8_; + dVar50 = _UNK_181c91328 + dVar205; + auVar169._8_4_ = SUB84(dVar50,0); + auVar169._0_8_ = dVar40; + auVar169._12_4_ = (int)((ulonglong)dVar50 >> 0x20); + auVar85._0_4_ = _DAT_181c91300 & uVar215; + auVar85._4_4_ = _UNK_181c91304 & uVar227; + auVar85._8_4_ = _UNK_181c91308 & auVar219._8_4_; + auVar85._12_4_ = _UNK_181c9130c & auVar219._12_4_; + auVar247._0_8_ = uVar136 >> 0xc; + auVar247._8_8_ = uVar146 >> 0xc; + auVar247 = auVar247 | _DAT_181c91310 ^ auVar85; + dVar211 = auVar247._0_8_; + dVar52 = _DAT_181c91320 + dVar211; + dVar176 = auVar247._8_8_; + dVar62 = _UNK_181c91328 + dVar176; + auVar57._8_4_ = SUB84(dVar62,0); + auVar57._0_8_ = dVar52; + auVar57._12_4_ = (int)((ulonglong)dVar62 >> 0x20); + dVar203 = dVar203 - (dVar40 - _DAT_181c91320); + dVar205 = dVar205 - (auVar169._8_8_ - _UNK_181c91328); + dVar211 = dVar211 - (dVar52 - _DAT_181c91320); + dVar176 = dVar176 - (auVar57._8_8_ - _UNK_181c91328); + local_5b8 = (ulonglong)dVar40 & _DAT_181c91330; + uStack_5b0 = (ulonglong)dVar50 & _UNK_181c91338; + local_5a8 = (ulonglong)dVar52 & _DAT_181c91330; + uStack_5a0 = (ulonglong)dVar62 & _UNK_181c91338; + auVar108._0_8_ = uVar213 >> 0x18; + auVar108._8_8_ = uVar64 >> 0x18; + auVar184._0_8_ = uVar117 >> 0x18; + auVar184._8_8_ = uVar151 >> 0x18; + auVar125._0_8_ = (uVar218 & _DAT_181c91370) << 0x28; + auVar125._8_8_ = (uVar88 & _UNK_181c91378) << 0x28; + auVar45._0_8_ = (uVar136 & _DAT_181c91370) << 0x28; + auVar45._8_8_ = (uVar146 & _UNK_181c91378) << 0x28; + auVar237 = _DAT_181c91340 ^ auVar71; + auVar170 = _DAT_181c91340 ^ auVar85; + auVar72._0_8_ = + (double)CONCAT44(auVar71._4_4_ ^ _UNK_181c91364,auVar71._0_4_ ^ _DAT_181c91360); + auVar72._8_4_ = auVar71._8_4_ ^ _UNK_181c91368; + auVar72._12_4_ = auVar71._12_4_ ^ _UNK_181c9136c; + auVar97._0_8_ = (_DAT_181c91350 & uVar117) << 0x1c; + auVar97._8_8_ = (_UNK_181c91358 & uVar151) << 0x1c; + auVar86._0_8_ = + (double)CONCAT44(auVar85._4_4_ ^ _UNK_181c91364,auVar85._0_4_ ^ _DAT_181c91360); + auVar86._8_4_ = auVar85._8_4_ ^ _UNK_181c91368; + auVar86._12_4_ = auVar85._12_4_ ^ _UNK_181c9136c; + auVar126 = auVar125 | auVar108 | auVar72; + auVar181 = auVar45 | auVar184 | auVar86; + auVar200._0_8_ = (_DAT_181c91350 & uVar213) << 0x1c; + auVar200._8_8_ = (_UNK_181c91358 & uVar64) << 0x1c; + dVar76 = auVar126._0_8_ - auVar72._0_8_; + dVar216 = auVar126._8_8_ - auVar72._8_8_; + dVar40 = auVar181._0_8_ - auVar86._0_8_; + dVar50 = auVar181._8_8_ - auVar86._8_8_; + auVar171._8_4_ = SUB84(dVar205,0); + auVar171._0_8_ = dVar203; + auVar171._12_4_ = (int)((ulonglong)dVar205 >> 0x20); + auVar58._8_4_ = SUB84(dVar176,0); + auVar58._0_8_ = dVar211; + auVar58._12_4_ = (int)((ulonglong)dVar176 >> 0x20); + dVar145 = dVar203 + dVar76; + dVar190 = auVar171._8_8_ + dVar216; + dVar62 = dVar211 + dVar40; + dVar63 = auVar58._8_8_ + dVar50; + auVar127._0_8_ = + (double)CONCAT44(_UNK_181c913b4 & (uint)((ulonglong)dVar145 >> 0x20), + _DAT_181c913b0 & SUB84(dVar145,0)); + auVar127._8_4_ = _UNK_181c913b8 & SUB84(dVar190,0); + auVar127._12_4_ = _UNK_181c913bc & (uint)((ulonglong)dVar190 >> 0x20); + auVar46._0_8_ = + (double)CONCAT44(_UNK_181c913b4 & (uint)((ulonglong)dVar62 >> 0x20), + _DAT_181c913b0 & SUB84(dVar62,0)); + auVar46._8_4_ = _UNK_181c913b8 & SUB84(dVar63,0); + auVar46._12_4_ = _UNK_181c913bc & (uint)((ulonglong)dVar63 >> 0x20); + dVar135 = auVar127._8_8_; + dVar52 = auVar46._8_8_; + dVar76 = _DAT_181c91390 * (dVar145 - auVar127._0_8_) + auVar127._0_8_ * _DAT_181c913a0 + + ((SUB168(auVar200 | auVar237,0) - auVar237._0_8_) + dVar76 + (dVar203 - dVar145)) + * _DAT_181c91380 + (dVar145 - auVar127._0_8_) * _DAT_181c913a0; + dVar216 = _UNK_181c91398 * (dVar190 - dVar135) + dVar135 * _UNK_181c913a8 + + ((SUB168(auVar200 | auVar237,8) - auVar237._8_8_) + + dVar216 + (dVar205 - dVar190)) * _UNK_181c91388 + + (dVar190 - dVar135) * _UNK_181c913a8; + dVar40 = _DAT_181c91390 * (dVar62 - auVar46._0_8_) + auVar46._0_8_ * _DAT_181c913a0 + + ((SUB168(auVar97 | auVar170,0) - auVar170._0_8_) + dVar40 + (dVar211 - dVar62)) * + _DAT_181c91380 + (dVar62 - auVar46._0_8_) * _DAT_181c913a0; + dVar50 = _UNK_181c91398 * (dVar63 - dVar52) + dVar52 * _UNK_181c913a8 + + ((SUB168(auVar97 | auVar170,8) - auVar170._8_8_) + dVar50 + (dVar176 - dVar63)) * + _UNK_181c91388 + (dVar63 - dVar52) * _UNK_181c913a8; + auVar128._8_4_ = SUB84(dVar216,0); + auVar128._0_8_ = dVar76; + auVar128._12_4_ = (int)((ulonglong)dVar216 >> 0x20); + auVar172._8_4_ = SUB84(dVar50,0); + auVar172._0_8_ = dVar40; + auVar172._12_4_ = (int)((ulonglong)dVar50 >> 0x20); + dVar62 = dVar76 + _DAT_181c91390 * auVar127._0_8_; + dVar63 = auVar128._8_8_ + _UNK_181c91398 * dVar135; + dVar145 = dVar40 + _DAT_181c91390 * auVar46._0_8_; + dVar190 = auVar172._8_8_ + _UNK_181c91398 * dVar52; + auVar59._0_8_ = (double)CONCAT44(_UNK_181c913c4 & uVar131,_DAT_181c913c0 & uVar116); + auVar59._8_4_ = _UNK_181c913c8 & auVar119._8_4_; + auVar59._12_4_ = _UNK_181c913cc & auVar119._12_4_; + auVar47._0_8_ = (double)CONCAT44(_UNK_181c913c4 & uVar227,_DAT_181c913c0 & uVar215); + auVar47._8_4_ = _UNK_181c913c8 & auVar219._8_4_; + auVar47._12_4_ = _UNK_181c913cc & auVar219._12_4_; + uVar213 = -(ulonglong)(_UNK_181c913d8 < auVar59._8_8_); + uVar146 = -(ulonglong)(_UNK_181c913d8 < auVar47._8_8_); + lVar34 = -(ulonglong)(auVar59._8_8_ <= _UNK_181c913d8); + lVar35 = -(ulonglong)(auVar47._8_8_ <= _UNK_181c913d8); + auVar48._0_4_ = (uint)-(ulonglong)(auVar47._0_8_ <= _DAT_181c913d0) & uVar215; + auVar48._4_4_ = (uint)(-(ulonglong)(auVar47._0_8_ <= _DAT_181c913d0) >> 0x20) & uVar227; + auVar48._8_4_ = (uint)lVar35 & auVar219._8_4_; + auVar48._12_4_ = (uint)((ulonglong)lVar35 >> 0x20) & auVar219._12_4_; + auVar129._0_8_ = (ulonglong)dVar62 & -(ulonglong)(_DAT_181c913d0 < auVar59._0_8_); + uVar136 = (ulonglong)dVar63 & uVar213; + auVar129._8_4_ = (undefined4)uVar136; + auVar129._12_4_ = (undefined4)(uVar136 >> 0x20); + auVar60._0_4_ = (uint)-(ulonglong)(auVar59._0_8_ <= _DAT_181c913d0) & uVar116; + auVar60._4_4_ = (uint)(-(ulonglong)(auVar59._0_8_ <= _DAT_181c913d0) >> 0x20) & uVar131; + auVar60._8_4_ = (uint)lVar34 & auVar119._8_4_; + auVar60._12_4_ = (uint)((ulonglong)lVar34 >> 0x20) & auVar119._12_4_; + auVar173._0_8_ = -(ulonglong)(_DAT_181c913d0 < auVar47._0_8_) & (ulonglong)dVar145; + uVar136 = uVar146 & (ulonglong)dVar190; + auVar173._8_4_ = (undefined4)uVar136; + auVar173._12_4_ = (undefined4)(uVar136 >> 0x20); + dVar137 = SUB168(auVar60 | auVar129,0); + dVar118 = SUB168(auVar48 | auVar173,0); + local_378._0_8_ = + (double)((ulonglong)(dVar76 + (_DAT_181c91390 * auVar127._0_8_ - dVar62)) & + -(ulonglong)(_DAT_181c913d0 < auVar59._0_8_)); + uVar213 = (ulonglong)(dVar216 + (_UNK_181c91398 * dVar135 - dVar63)) & uVar213; + local_378._8_4_ = (undefined4)uVar213; + local_378._12_4_ = (undefined4)(uVar213 >> 0x20); + dVar148 = SUB168(auVar60 | auVar129,8); + local_208 = dVar137 * dVar137; + dStack_200 = dVar148 * dVar148; + dVar132 = SUB168(auVar48 | auVar173,8); + local_1f8 = dVar118 * dVar118; + dStack_1f0 = dVar132 * dVar132; + local_368._0_8_ = + (double)((ulonglong)(dVar40 + (_DAT_181c91390 * auVar46._0_8_ - dVar145)) & + -(ulonglong)(_DAT_181c913d0 < auVar47._0_8_)); + uVar146 = (ulonglong)(dVar50 + (_UNK_181c91398 * dVar52 - dVar190)) & uVar146; + local_368._8_4_ = (undefined4)uVar146; + local_368._12_4_ = (undefined4)(uVar146 >> 0x20); + local_248 = _DAT_181c84e80 + local_5b8 & _DAT_181c84e40; + uStack_240 = _UNK_181c84e88 + uStack_5b0 & _UNK_181c84e48; + local_238 = _DAT_181c84e80 + local_5a8 & _DAT_181c84e40; + uStack_230 = _UNK_181c84e88 + uStack_5a0 & _UNK_181c84e48; + local_228 = (_DAT_181c84fc0 * local_208 + _DAT_181c84f80) * local_208 * dVar137; + dStack_220 = (_UNK_181c84fc8 * dStack_200 + _UNK_181c84f88) * dStack_200 * dVar148; + local_218 = (_DAT_181c84f80 + _DAT_181c84fc0 * local_1f8) * local_1f8 * dVar118; + dStack_210 = (_UNK_181c84f88 + _UNK_181c84fc8 * dStack_1f0) * dStack_1f0 * dVar132; + local_1f8 = local_1f8 * + (_DAT_181c85000 + (_DAT_181c85040 + _DAT_181c85080 * local_1f8) * local_1f8); + dStack_1f0 = dStack_1f0 * + (_UNK_181c85008 + (_UNK_181c85048 + _UNK_181c85088 * dStack_1f0) * dStack_1f0 + ); + local_208 = local_208 * + ((_DAT_181c85080 * local_208 + _DAT_181c85040) * local_208 + _DAT_181c85000); + dStack_200 = dStack_200 * + ((_UNK_181c85088 * dStack_200 + _UNK_181c85048) * dStack_200 + _UNK_181c85008 + ); + uVar116 = (int)local_5b8 << 5; + lVar34 = (uStack_5b0 & 0xffff) * 0x20; + uVar27 = (int)local_5a8 << 5; + dVar40 = *(double *)(&DAT_181c80d10 + uVar116); + lVar35 = (uStack_5a0 & 0xffff) * 0x20; + dVar50 = *(double *)(&DAT_181c80d10 + lVar34); + dVar52 = *(double *)(&DAT_181c80d10 + uVar27); + local_1e8 = *(double *)(&DAT_181c80d00 + uVar116); + dVar62 = *(double *)(&DAT_181c80d10 + lVar35); + dStack_1e0 = *(double *)(&DAT_181c80d00 + lVar34); + local_1d8 = *(double *)(&DAT_181c80d00 + uVar27); + dStack_1d0 = *(double *)(&DAT_181c80d00 + lVar35); + dVar211 = local_1e8 + *(double *)(&DAT_181c80d08 + uVar116); + dVar230 = dStack_1e0 + *(double *)(&DAT_181c80d08 + lVar34); + auVar248._8_4_ = SUB84(dVar230,0); + auVar248._0_8_ = dVar211; + auVar248._12_4_ = (int)((ulonglong)dVar230 >> 0x20); + dVar214 = local_1d8 + *(double *)(&DAT_181c80d08 + uVar27); + dVar242 = dStack_1d0 + *(double *)(&DAT_181c80d08 + lVar35); + auVar185._8_4_ = SUB84(dVar242,0); + auVar185._0_8_ = dVar214; + auVar185._12_4_ = (int)((ulonglong)dVar242 >> 0x20); + dVar63 = *(double *)(&DAT_181c80d08 + uVar116) * dVar137; + dVar76 = *(double *)(&DAT_181c80d08 + lVar34) * dVar148; + auVar186._8_4_ = SUB84(dVar62,0); + auVar186._0_8_ = dVar52; + uVar51 = (undefined4)((ulonglong)dVar62 >> 0x20); + auVar186._12_4_ = uVar51; + dVar216 = *(double *)(&DAT_181c80d08 + uVar27) * dVar118; + dVar135 = *(double *)(&DAT_181c80d08 + lVar35) * dVar132; + dVar145 = dVar52 + dVar216; + dVar190 = auVar186._8_8_ + dVar135; + auVar238._8_4_ = SUB84(dVar50,0); + auVar238._0_8_ = dVar40; + uVar133 = (undefined4)((ulonglong)dVar50 >> 0x20); + auVar238._12_4_ = uVar133; + dVar231 = dVar40 + dVar63; + dVar243 = auVar238._8_8_ + dVar76; + auVar201._8_4_ = SUB84(dVar243,0); + auVar201._0_8_ = dVar231; + uVar245 = (undefined4)((ulonglong)dVar243 >> 0x20); + auVar201._12_4_ = uVar245; + dVar203 = dVar231 + local_1e8 * dVar137; + dVar205 = auVar201._8_8_ + dStack_1e0 * dVar148; + auVar225._8_4_ = SUB84(dVar190,0); + auVar225._0_8_ = dVar145; + uVar188 = (undefined4)((ulonglong)dVar190 >> 0x20); + auVar225._12_4_ = uVar188; + dVar176 = dVar145 + local_1d8 * dVar118; + dVar241 = auVar225._8_8_ + dStack_1d0 * dVar132; + auVar109._8_4_ = SUB84(dVar243,0); + auVar109._0_8_ = dVar231; + auVar109._12_4_ = uVar245; + auVar98._8_4_ = SUB84(dVar190,0); + auVar98._0_8_ = dVar145; + auVar98._12_4_ = uVar188; + auVar110._8_4_ = SUB84(dVar50,0); + auVar110._0_8_ = dVar40; + auVar110._12_4_ = uVar133; + auVar239._8_4_ = SUB84(dVar62,0); + auVar239._0_8_ = dVar52; + auVar239._12_4_ = uVar51; + dVar203 = dVar203 + dVar63 + (dVar40 - dVar231) + + *(double *)(&DAT_181c80d18 + uVar116) + + (dVar211 - dVar137 * dVar40) * local_378._0_8_ + dVar211 * local_228 + + local_1e8 * dVar137 + (dVar231 - dVar203) + dVar40 * local_208; + dVar205 = dVar205 + dVar76 + (auVar110._8_8_ - dVar243) + + *(double *)(&DAT_181c80d18 + lVar34) + + (auVar248._8_8_ - dVar148 * dVar50) * local_378._8_8_ + + dVar230 * dStack_220 + + dStack_1e0 * dVar148 + (auVar109._8_8_ - dVar205) + + dVar50 * dStack_200; + local_1c8 = SUB84(dVar203,0) ^ uVar189; + uStack_1c4 = (uint)((ulonglong)dVar203 >> 0x20) ^ uVar202; + uStack_1c0 = SUB84(dVar205,0) ^ auVar192._8_4_; + uStack_1bc = (uint)((ulonglong)dVar205 >> 0x20) ^ auVar192._12_4_; + dVar176 = dVar176 + dVar216 + (dVar52 - dVar145) + + *(double *)(&DAT_181c80d18 + uVar27) + + (dVar214 - dVar118 * dVar52) * local_368._0_8_ + dVar214 * local_218 + + local_1d8 * dVar118 + (dVar145 - dVar176) + dVar52 * local_1f8; + dVar241 = dVar241 + dVar135 + (auVar239._8_8_ - dVar190) + + *(double *)(&DAT_181c80d18 + lVar35) + + (auVar185._8_8_ - dVar132 * dVar62) * local_368._8_8_ + + dVar242 * dStack_210 + + dStack_1d0 * dVar132 + (auVar98._8_8_ - dVar241) + dVar62 * dStack_1f0 + ; + uVar27 = (int)local_248 << 5; + lVar34 = (uStack_240 & 0xffff) * 0x20; + unaff_RSI = (ulonglong)(uint)((int)local_238 << 5); + dVar40 = *(double *)(&DAT_181c80d10 + uVar27); + local_1b8 = SUB84(dVar176,0) ^ auVar104._0_4_; + uStack_1b4 = (uint)((ulonglong)dVar176 >> 0x20) ^ uVar114; + uStack_1b0 = SUB84(dVar241,0) ^ auVar101._8_4_; + uStack_1ac = (uint)((ulonglong)dVar241 >> 0x20) ^ auVar101._12_4_; + dVar50 = *(double *)(&DAT_181c80d00 + uVar27); + lVar35 = (uStack_230 & 0xffff) * 0x20; + dVar52 = *(double *)(&DAT_181c80d10 + lVar34); + dVar62 = *(double *)(&DAT_181c80d10 + unaff_RSI); + dVar63 = *(double *)(&DAT_181c80d00 + lVar34); + dVar76 = *(double *)(&DAT_181c80d00 + unaff_RSI); + dVar216 = *(double *)(&DAT_181c80d10 + lVar35); + dVar135 = *(double *)(&DAT_181c80d00 + lVar35); + auVar111._8_4_ = SUB84(dVar63,0); + auVar111._0_8_ = dVar50; + auVar111._12_4_ = (int)((ulonglong)dVar63 >> 0x20); + auVar143._8_4_ = SUB84(dVar135,0); + auVar143._0_8_ = dVar76; + auVar143._12_4_ = (int)((ulonglong)dVar135 >> 0x20); + dVar230 = dVar50 + *(double *)(&DAT_181c80d08 + uVar27); + dVar214 = auVar111._8_8_ + *(double *)(&DAT_181c80d08 + lVar34); + dVar138 = dVar76 + *(double *)(&DAT_181c80d08 + unaff_RSI); + dVar149 = auVar143._8_8_ + *(double *)(&DAT_181c80d08 + lVar35); + auVar73._8_4_ = SUB84(dVar214,0); + auVar73._0_8_ = dVar230; + auVar73._12_4_ = (int)((ulonglong)dVar214 >> 0x20); + auVar174._8_4_ = SUB84(dVar149,0); + auVar174._0_8_ = dVar138; + auVar174._12_4_ = (int)((ulonglong)dVar149 >> 0x20); + dVar145 = dVar118 * *(double *)(&DAT_181c80d08 + unaff_RSI); + dVar190 = dVar132 * *(double *)(&DAT_181c80d08 + lVar35); + dVar203 = dVar137 * *(double *)(&DAT_181c80d08 + uVar27); + dVar205 = dVar148 * *(double *)(&DAT_181c80d08 + lVar34); + auVar130._8_4_ = SUB84(dVar216,0); + auVar130._0_8_ = dVar62; + uVar188 = (undefined4)((ulonglong)dVar216 >> 0x20); + auVar130._12_4_ = uVar188; + dVar242 = dVar62 + dVar145; + dVar243 = auVar130._8_8_ + dVar190; + auVar74._8_4_ = SUB84(dVar243,0); + auVar74._0_8_ = dVar242; + uVar133 = (undefined4)((ulonglong)dVar243 >> 0x20); + auVar74._12_4_ = uVar133; + dVar211 = dVar242 + dVar76 * dVar118; + dVar176 = auVar74._8_8_ + dVar135 * dVar132; + auVar112._8_4_ = SUB84(dVar52,0); + auVar112._0_8_ = dVar40; + uVar245 = (undefined4)((ulonglong)dVar52 >> 0x20); + auVar112._12_4_ = uVar245; + dVar241 = dVar40 + dVar203; + dVar231 = auVar112._8_8_ + dVar205; + auVar144._8_4_ = SUB84(dVar231,0); + auVar144._0_8_ = dVar241; + uVar51 = (undefined4)((ulonglong)dVar231 >> 0x20); + auVar144._12_4_ = uVar51; + dVar139 = dVar241 + dVar50 * dVar137; + dVar150 = auVar144._8_8_ + dVar63 * dVar148; + auVar158._8_4_ = SUB84(dVar243,0); + auVar158._0_8_ = dVar242; + auVar158._12_4_ = uVar133; + auVar87._8_4_ = SUB84(dVar231,0); + auVar87._0_8_ = dVar241; + auVar87._12_4_ = uVar51; + auVar226._8_4_ = SUB84(dVar52,0); + auVar226._0_8_ = dVar40; + auVar226._12_4_ = uVar245; + auVar113._8_4_ = SUB84(dVar216,0); + auVar113._0_8_ = dVar62; + auVar113._12_4_ = uVar188; + local_358._0_4_ = (uint)uVar36; + uStack_350._0_4_ = (uint)uVar39; + local_308._0_4_ = auVar194._0_4_; + local_308._4_4_ = auVar194._4_4_; + local_308._8_4_ = auVar194._8_4_; + local_308._12_4_ = auVar194._12_4_; + auVar126._0_4_ = ~(uint)local_358 & local_308._0_4_; + auVar126._4_4_ = ~uVar160 & local_308._4_4_; + auVar126._8_4_ = ~(uint)uStack_350 & local_308._8_4_; + auVar126._12_4_ = ~uVar175 & local_308._12_4_; + auVar49._0_4_ = local_1c8 & (uint)local_358; + auVar49._4_4_ = uStack_1c4 & uVar160; + auVar49._8_4_ = uStack_1c0 & (uint)uStack_350; + auVar49._12_4_ = uStack_1bc & uVar175; + auVar126 = auVar126 | auVar49; + local_348._0_4_ = SUB84(dVar134,0); + dStack_340._0_4_ = SUB84(dVar77,0); + local_318._0_4_ = auVar207._0_4_; + local_318._4_4_ = auVar207._4_4_; + local_318._8_4_ = auVar207._8_4_; + local_318._12_4_ = auVar207._12_4_; + auVar170._0_4_ = ~local_348._0_4_ & local_318._0_4_; + auVar170._4_4_ = ~uVar240 & local_318._4_4_; + auVar170._8_4_ = ~dStack_340._0_4_ & local_318._8_4_; + auVar170._12_4_ = ~uVar244 & local_318._12_4_; + auVar61._0_4_ = local_1b8 & local_348._0_4_; + auVar61._4_4_ = uStack_1b4 & uVar240; + auVar61._8_4_ = uStack_1b0 & dStack_340._0_4_; + auVar61._12_4_ = uStack_1ac & uVar244; + auVar170 = auVar170 | auVar61; + local_338._0_4_ = auVar92._0_4_; + local_338._4_4_ = auVar92._4_4_; + local_338._8_4_ = auVar92._8_4_; + local_338._12_4_ = auVar92._12_4_; + auVar181._0_4_ = ~local_348._0_4_ & local_338._0_4_; + auVar181._4_4_ = ~uVar240 & local_338._4_4_; + auVar181._8_4_ = ~dStack_340._0_4_ & local_338._8_4_; + auVar181._12_4_ = ~uVar244 & local_338._12_4_; + uVar136 = uVar36 & (ulonglong) + (dVar139 + + dVar203 + (dVar40 - dVar241) + + *(double *)(&DAT_181c80d18 + uVar27) + + local_378._0_8_ * (dVar230 - dVar137 * dVar40) + local_228 * dVar230 + + dVar50 * dVar137 + (dVar241 - dVar139) + dVar40 * local_208); + uVar146 = uVar39 & (ulonglong) + (dVar150 + + dVar205 + (auVar226._8_8_ - dVar231) + + *(double *)(&DAT_181c80d18 + lVar34) + + local_378._8_8_ * (auVar73._8_8_ - dVar148 * dVar52) + + dStack_220 * dVar214 + dVar63 * dVar148 + (auVar87._8_8_ - dVar150) + + dVar52 * dStack_200); + auVar75._0_8_ = + (ulonglong)dVar134 & + (ulonglong) + (dVar211 + + dVar145 + (dVar62 - dVar242) + + *(double *)(&DAT_181c80d18 + unaff_RSI) + + local_368._0_8_ * (dVar138 - dVar118 * dVar62) + local_218 * dVar138 + + dVar76 * dVar118 + (dVar242 - dVar211) + dVar62 * local_1f8); + uVar213 = (ulonglong)dVar77 & + (ulonglong) + (dVar176 + + dVar190 + (auVar113._8_8_ - dVar243) + + *(double *)(&DAT_181c80d18 + lVar35) + + local_368._8_8_ * (auVar174._8_8_ - dVar132 * dVar216) + dStack_210 * dVar149 + + dVar135 * dVar132 + (auVar158._8_8_ - dVar176) + dVar216 * dStack_1f0); + auVar75._8_4_ = (undefined4)uVar213; + auVar75._12_4_ = (undefined4)(uVar213 >> 0x20); + uVar23 = ~(uint)local_358 & uVar23 | (uint)uVar136; + uVar21 = ~uVar160 & uVar21 | (uint)(uVar136 >> 0x20); + uVar32 = ~(uint)uStack_350 & uVar32 | (uint)uVar146; + uVar28 = ~uVar175 & uVar28 | (uint)(uVar146 >> 0x20); + auVar181 = auVar181 | auVar75; + local_358 = uVar36; + uStack_350 = uVar39; + local_348 = dVar134; + dStack_340 = dVar77; + local_338 = auVar92; + local_318 = auVar207; + local_308 = auVar194; + } + if (uVar24 != 0) { + uVar36 = 0; + lVar34 = param_2 + local_5d0 * 8; + unaff_RSI = param_3 + local_5d0 * 8; + local_108 = (byte)pIVar25; + uVar39 = local_5d0 & 0xffffffff; + local_5c0 = uVar26; + local_440._0_4_ = uVar23; + local_440._4_4_ = uVar21; + local_440._8_4_ = uVar32; + local_440._12_4_ = uVar28; + local_440._16_16_ = auVar181; + local_400 = auVar126; + local_3f0 = auVar170; + local_3c0[0] = auVar95._0_8_; + local_3c0[1] = auVar95._8_8_; + local_3c0[2] = auVar197._0_8_; + local_3c0[3] = auVar197._8_8_; + do { + uVar23 = (uint)uVar36; + if ((uVar24 >> (uVar23 & 0x1f) & 1) != 0) { + local_5e0 = (IMAGE_DOS_HEADER *)CONCAT44(local_5e0._4_4_,(int)uVar39); + local_5d8 = CONCAT44(local_5d8._4_4_,uVar24); + pIVar25 = (IMAGE_DOS_HEADER *)(local_400 + uVar36 * 8); + local_5f0 = (IMAGE_DOS_HEADER *)(local_440 + uVar36 * 8); + local_5e8 = pIVar25; + uVar21 = FUN_180150c80(local_3c0 + uVar36); + uVar39 = (ulonglong)local_5e0 & 0xffffffff; + uVar24 = (uint)local_5d8; + if (uVar21 != 0) { + *(undefined8 *)(lVar34 + uVar36 * 8) = *(undefined8 *)local_5e8; + *(undefined8 *)(unaff_RSI + uVar36 * 8) = *(undefined8 *)local_5f0; + local_608 = &DAT_182673068; + local_618 = param_2; + local_610 = param_3; + local_5f8 = uVar21; + FUN_1803ab5c0(uVar21,(int)local_5e0 + uVar23,param_1,param_1); + uVar100 = *(undefined8 *)(lVar34 + uVar36 * 8); + local_e8 = local_5f8; + local_5e8->e_magic[0] = (char)uVar100; + local_5e8->e_magic[1] = (char)((ulonglong)uVar100 >> 8); + local_5e8->e_cblp = (short)((ulonglong)uVar100 >> 0x10); + local_5e8->e_cp = (short)((ulonglong)uVar100 >> 0x20); + local_5e8->e_crlc = (short)((ulonglong)uVar100 >> 0x30); + uVar100 = *(undefined8 *)(unaff_RSI + uVar36 * 8); + uVar39 = (ulonglong)local_5e0 & 0xffffffff; + local_5f0->e_magic[0] = (char)uVar100; + local_5f0->e_magic[1] = (char)((ulonglong)uVar100 >> 8); + local_5f0->e_cblp = (short)((ulonglong)uVar100 >> 0x10); + local_5f0->e_cp = (short)((ulonglong)uVar100 >> 0x20); + local_5f0->e_crlc = (short)((ulonglong)uVar100 >> 0x30); + pIVar25 = local_5f0; + uVar24 = (uint)local_5d8; + } + } + uVar36 = (ulonglong)(uVar23 + 1); + } while ((int)(uVar23 + 1) < 4); + pIVar25 = (IMAGE_DOS_HEADER *)CONCAT71((int7)((ulonglong)pIVar25 >> 8),local_108); + uVar26 = local_5c0; + auVar181 = local_440._16_16_; + auVar126 = local_400; + auVar170 = local_3f0; + uVar23 = local_440._0_4_; + uVar21 = local_440._4_4_; + uVar32 = local_440._8_4_; + uVar28 = local_440._12_4_; + } + *(undefined1 (*) [16])(param_2 + local_5d0 * 8) = auVar126; + *(undefined1 (*) [16])(param_2 + 0x10 + local_5d0 * 8) = auVar170; + puVar1 = (uint *)(param_3 + local_5d0 * 8); + *puVar1 = uVar23; + puVar1[1] = uVar21; + puVar1[2] = uVar32; + puVar1[3] = uVar28; + *(undefined1 (*) [16])(param_3 + 0x10 + local_5d0 * 8) = auVar181; + local_5d0 = local_5d0 + 4; + param_4 = local_5c8; + } while ((longlong)local_5d0 < (longlong)uVar26); + } + uStack_5b0 = (ulonglong)(int)param_4; + local_5a8 = local_5d0 * 8; + if ((longlong)local_5d0 < (longlong)uStack_5b0) { + local_108 = (byte)pIVar25; + auVar95 = _DAT_181c80640; + dVar134 = _DAT_181c80840; + dVar77 = _UNK_181c80848; + dVar40 = _DAT_181c80800; + dVar50 = _UNK_181c80808; + local_5c8 = param_4; + do { + iVar29 = (int)local_5d0; + uVar23 = local_5c8 - iVar29; + if (1 < uVar23) { + uVar23 = 2; + } + uVar26 = 0xffffffffL >> (0x20U - (char)uVar23 & 0x3f); + uVar21 = (uint)uVar26; + uVar23 = uVar21 & 1; + local_580[0] = _DAT_181c913e0; + if ((uVar26 & 1) != 0) { + local_580[0] = *(double *)(local_5a8 + param_1); + } + uVar32 = uVar21 & 2; + local_580[1] = _DAT_181c913e0; + if ((uVar26 & 2) != 0) { + local_580[1] = *(double *)(local_5a8 + 8 + param_1); + } + uVar114 = auVar95._0_4_; + uVar116 = auVar95._4_4_; + uVar131 = auVar95._12_4_; + uVar160 = ~uVar114 & SUB84(local_580[0],0); + uVar24 = (uint)((ulonglong)local_580[0] >> 0x20); + uVar175 = ~uVar116 & uVar24; + auVar162._0_8_ = (double)CONCAT44(uVar175,uVar160); + uVar189 = auVar95._8_4_; + uVar28 = SUB84(local_580[1],0); + auVar162._8_4_ = ~uVar189 & uVar28; + uVar27 = (uint)((ulonglong)local_580[1] >> 0x20); + auVar162._12_4_ = ~uVar131 & uVar27; + dVar63 = _DAT_181c80740 * auVar162._0_8_ + _DAT_181c80780; + dVar145 = _UNK_181c80748 * auVar162._8_8_ + _UNK_181c80788; + auVar197._8_4_ = SUB84(dVar145,0); + auVar197._0_8_ = dVar63; + auVar197._12_4_ = (int)((ulonglong)dVar145 >> 0x20); + dVar76 = dVar63 - _DAT_181c80780; + dVar145 = dVar145 - _UNK_181c80788; + auVar105._8_4_ = auVar162._8_4_; + auVar105._0_8_ = auVar162._0_8_; + auVar105._12_4_ = auVar162._12_4_; + dVar52 = (auVar162._0_8_ - dVar40 * dVar76) - dVar134 * dVar76; + dVar62 = (auVar105._8_8_ - dVar50 * dVar145) - dVar77 * dVar145; + auVar93._8_4_ = auVar162._8_4_; + auVar93._0_8_ = auVar162._0_8_; + auVar93._12_4_ = auVar162._12_4_; + auVar81._0_4_ = uVar114 & SUB84(dVar52,0); + auVar81._4_4_ = uVar116 & (uint)((ulonglong)dVar52 >> 0x20); + auVar81._8_4_ = uVar189 & SUB84(dVar62,0); + auVar81._12_4_ = uVar131 & (uint)((ulonglong)dVar62 >> 0x20); + dVar216 = SUB168(_DAT_181c807c0 | auVar81,0) + dVar76; + dVar135 = SUB168(_DAT_181c807c0 | auVar81,8) + dVar145; + auVar182._0_8_ = (double)CONCAT44(uVar116 & uVar24,uVar114 & SUB84(local_580[0],0)); + auVar182._8_4_ = uVar189 & uVar28; + auVar182._12_4_ = uVar131 & uVar27; + auVar66._8_4_ = uVar28; + auVar66._0_8_ = local_580[0]; + auVar66._12_4_ = uVar27; + lVar34 = -(ulonglong)(auVar66._8_8_ == auVar182._8_8_); + auVar41._0_8_ = (longlong)dVar63 << 0x3f; + auVar41._8_8_ = auVar197._8_8_ << 0x3f; + uVar28 = 0; + dVar63 = (dVar52 - (double)CONCAT44(_UNK_181c80884,_DAT_181c80880) * dVar76) - + dVar76 * _DAT_181c808c0; + dVar76 = (dVar62 - (double)CONCAT44(_UNK_181c8088c,_UNK_181c80888) * dVar145) - + dVar145 * _UNK_181c808c8; + dVar52 = (((auVar162._0_8_ - dVar40 * dVar216) - dVar134 * dVar216) - + (double)CONCAT44(_UNK_181c80884,_DAT_181c80880) * dVar216) - + dVar216 * _DAT_181c808c0; + dVar62 = (((auVar93._8_8_ - dVar50 * dVar135) - dVar77 * dVar135) - + (double)CONCAT44(_UNK_181c8088c,_UNK_181c80888) * dVar135) - + dVar135 * _UNK_181c808c8; + auVar221._8_4_ = SUB84(dVar76,0); + auVar221._0_8_ = dVar63; + auVar221._12_4_ = (int)((ulonglong)dVar76 >> 0x20); + auVar246._8_4_ = SUB84(dVar62,0); + auVar246._0_8_ = dVar52; + auVar246._12_4_ = (int)((ulonglong)dVar62 >> 0x20); + dVar135 = dVar63 * dVar63; + dVar145 = auVar221._8_8_ * dVar76; + dVar190 = dVar52 * dVar52; + dVar203 = auVar246._8_8_ * dVar62; + dVar216 = (((((_UNK_181c80c88 * dVar203 + _UNK_181c80c48) * dVar203 + _UNK_181c80c08) * + dVar203 + _UNK_181c80bc8) * dVar203 + _UNK_181c80b88) * dVar203 + + _UNK_181c80b08) * dVar203 + _UNK_181c80ac8; + auVar106._0_8_ = + dVar63 + dVar135 * ((((((_DAT_181c80c80 * dVar135 + _DAT_181c80c40) * dVar135 + + _DAT_181c80c00) * dVar135 + _DAT_181c80bc0) * dVar135 + + _DAT_181c80b80) * dVar135 + _DAT_181c80b00) * dVar135 + + _DAT_181c80ac0) * dVar63; + auVar106._8_8_ = + dVar76 + dVar145 * ((((((_UNK_181c80c88 * dVar145 + _UNK_181c80c48) * dVar145 + + _UNK_181c80c08) * dVar145 + _UNK_181c80bc8) * dVar145 + + _UNK_181c80b88) * dVar145 + _UNK_181c80b08) * dVar145 + + _UNK_181c80ac8) * dVar76; + auVar94._0_8_ = + dVar52 + dVar190 * ((((((_DAT_181c80c80 * dVar190 + _DAT_181c80c40) * dVar190 + + _DAT_181c80c00) * dVar190 + _DAT_181c80bc0) * dVar190 + + _DAT_181c80b80) * dVar190 + _DAT_181c80b00) * dVar190 + + _DAT_181c80ac0) * dVar52; + auVar94._8_8_ = dVar62 + dVar203 * dVar216 * dVar62; + uVar24 = (uint)-(ulonglong)(local_580[0] == auVar182._0_8_); + uVar27 = (uint)(-(ulonglong)(local_580[0] == auVar182._0_8_) >> 0x20); + uVar114 = (uint)lVar34; + uVar116 = (uint)((ulonglong)lVar34 >> 0x20); + auVar106 = auVar106 ^ auVar41 ^ auVar182; + auVar94 = auVar94 ^ auVar81 ^ auVar95 ^ auVar41; + local_500._0_4_ = ~uVar24 & auVar94._0_4_ | uVar24 & _DAT_181c80cc0; + local_500._4_4_ = ~uVar27 & auVar94._4_4_ | uVar27 & _UNK_181c80cc4; + local_500._8_4_ = ~uVar114 & auVar94._8_4_ | uVar114 & _UNK_181c80cc8; + local_500._12_4_ = ~uVar116 & auVar94._12_4_ | uVar116 & _UNK_181c80ccc; + auVar42._8_4_ = auVar162._8_4_; + auVar42._0_8_ = auVar162._0_8_; + auVar42._12_4_ = auVar162._12_4_; + uVar26 = -(ulonglong)(_DAT_181c806c0 < auVar162._0_8_); + uVar36 = -(ulonglong)(_UNK_181c806c8 < auVar42._8_8_); + auVar43._8_8_ = uVar36; + auVar43._0_8_ = uVar26; + uVar24 = movmskpd((int)pIVar25,auVar43); + pIVar25 = (IMAGE_DOS_HEADER *)(ulonglong)uVar24; + local_540[0] = auVar106; + if (uVar24 != 0) { + local_358 = CONCAT44(local_500._4_4_,local_500._0_4_); + uStack_350 = CONCAT44(local_500._12_4_,local_500._8_4_); + uVar3 = SUB162(_DAT_181c912c0 & auVar162,0xe) >> 4; + auVar233._0_8_ = + (double)CONCAT44(DAT_181c84d80._4_4_ & uVar175,(uint)DAT_181c84d80 & uVar160); + auVar233._8_4_ = DAT_181c84d80._8_4_ & auVar162._8_4_; + auVar233._12_4_ = DAT_181c84d80._12_4_ & auVar162._12_4_; + pIVar25 = &IMAGE_DOS_HEADER_180000000; + uVar24 = (SUB164(_DAT_181c912c0 & auVar162,4) >> 0x14) * 0x18; + lVar34 = -(ulonglong)(auVar233._8_8_ == DAT_181c84d80._8_8_); + auVar234._8_8_ = lVar34; + auVar234._0_8_ = -(ulonglong)(auVar233._0_8_ == (double)DAT_181c84d80); + uVar217 = SUB168(_DAT_181c912d0 & auVar162,0) + _DAT_181c912e0; + uVar228 = SUB168(_DAT_181c912d0 & auVar162,8) + _UNK_181c912e8; + uVar28 = movmskpd(0,auVar234); + uVar212 = uVar228 >> 0x20; + uVar27 = ((uint)uVar3 + (uint)uVar3 * 2) * 8; + auVar4._4_8_ = dVar216; + auVar4._0_4_ = _UNK_181c80884; + auVar195._0_8_ = auVar4._0_8_ << 0x20; + auVar195._8_4_ = _UNK_181c80888; + auVar195._12_4_ = _UNK_181c8088c; + uVar39 = *(ulonglong *)(&DAT_181c850c0 + uVar27); + uVar136 = *(ulonglong *)(&DAT_181c850c8 + uVar27); + auVar5._4_8_ = _UNK_181c806c8; + auVar5._0_4_ = (int)(*(ulonglong *)(&DAT_181c850c8 + uVar24) >> 0x20); + uVar146 = auVar5._0_8_; + auVar67._0_8_ = uVar146 << 0x20; + auVar67._8_4_ = (int)uVar136; + auVar67._12_4_ = (int)(uVar136 >> 0x20); + auVar6._4_8_ = auVar195._8_8_; + auVar6._0_4_ = (int)(*(ulonglong *)(&DAT_181c850d0 + uVar24) >> 0x20); + uVar114 = (uint)(*(ulonglong *)(&DAT_181c850d0 + uVar27) >> 0x20); + auVar7._4_8_ = lVar34; + auVar7._0_4_ = (int)(*(ulonglong *)(&DAT_181c850c0 + uVar24) >> 0x20); + auVar235._0_8_ = auVar7._0_8_ << 0x20; + auVar235._8_4_ = (int)uVar39; + auVar235._12_4_ = (int)(uVar39 >> 0x20); + uVar117 = *(ulonglong *)(&DAT_181c850c0 + uVar24) & _DAT_181c912f0; + uVar218 = *(ulonglong *)(&DAT_181c850c8 + uVar24) & _DAT_181c912f0; + uVar79 = uVar217 & _DAT_181c912f0; + uVar228 = uVar228 & _UNK_181c912f8; + uVar151 = (uVar117 & 0xffffffff) * (uVar79 & 0xffffffff); + uVar159 = (uVar39 & _UNK_181c912f8 & 0xffffffff) * (uVar228 & 0xffffffff); + uVar64 = (uVar146 & 0xffffffff) * (uVar79 & 0xffffffff); + uVar78 = (auVar67._8_8_ >> 0x20) * (uVar228 & 0xffffffff); + uVar88 = (uVar218 & 0xffffffff) * (uVar79 & 0xffffffff); + uVar99 = (uVar136 & _UNK_181c912f8 & 0xffffffff) * (uVar228 & 0xffffffff); + uVar213 = *(ulonglong *)(&DAT_181c850d0 + uVar27) & _UNK_181c912f8; + uVar229 = (uVar228 & 0xffffffff) * (ulonglong)uVar114 >> 0x20; + auVar8._4_8_ = uVar213; + auVar8._0_4_ = (int)(uVar88 >> 0x20); + auVar95._0_8_ = auVar8._0_8_ << 0x20; + auVar95._8_4_ = (int)uVar99; + auVar95._12_4_ = (int)(uVar99 >> 0x20); + auVar9._4_8_ = uVar229; + auVar9._0_4_ = (int)(uVar151 >> 0x20); + auVar222._0_8_ = auVar9._0_8_ << 0x20; + auVar222._8_4_ = (int)uVar159; + auVar222._12_4_ = (int)(uVar159 >> 0x20); + uVar88 = ((uVar217 >> 0x20) * + (*(ulonglong *)(&DAT_181c850d0 + uVar24) & _DAT_181c912f0 & 0xffffffff) >> 0x20) + + (uVar88 & _DAT_181c912f0) + + (uVar217 >> 0x20) * (auVar6._0_8_ & 0xffffffff) + + ((uVar79 & 0xffffffff) * (auVar6._0_8_ & 0xffffffff) >> 0x20); + uVar213 = (uVar212 * (uVar213 & 0xffffffff) >> 0x20) + + (uVar99 & _UNK_181c912f8) + uVar212 * uVar114 + uVar229; + uVar218 = (uVar88 >> 0x20) + + (uVar64 & _DAT_181c912f0) + + (uVar217 >> 0x20) * (uVar218 & 0xffffffff) + (auVar8._0_8_ & 0xffffffff); + uVar99 = (uVar213 >> 0x20) + + (uVar78 & _UNK_181c912f8) + + uVar212 * (uVar136 & _UNK_181c912f8 & 0xffffffff) + (auVar95._8_8_ >> 0x20); + uVar136 = (uVar218 >> 0x20) + + (uVar151 & _DAT_181c912f0) + + (uVar217 >> 0x20) * (uVar146 & 0xffffffff) + (uVar64 >> 0x20); + uVar146 = (uVar99 >> 0x20) + + (uVar159 & _UNK_181c912f8) + + uVar212 * (auVar67._8_8_ >> 0x20) + (uVar78 >> 0x20); + uVar136 = ((uVar136 >> 0x20) + + (_DAT_181c912f0 & (auVar7._0_8_ & 0xffffffff) * (uVar79 & 0xffffffff)) + + (uVar217 >> 0x20) * (uVar117 & 0xffffffff) + (auVar9._0_8_ & 0xffffffff) << + 0x20) + (uVar136 & _DAT_181c912f0); + uVar39 = ((uVar146 >> 0x20) + + (_UNK_181c912f8 & (auVar235._8_8_ >> 0x20) * (uVar228 & 0xffffffff)) + + uVar212 * (uVar39 & _UNK_181c912f8 & 0xffffffff) + (auVar222._8_8_ >> 0x20) << + 0x20) + (uVar146 & _UNK_181c912f8); + auVar53._0_4_ = _DAT_181c91300 & uVar160; + auVar53._4_4_ = _UNK_181c91304 & uVar175; + auVar53._8_4_ = _UNK_181c91308 & auVar162._8_4_; + auVar53._12_4_ = _UNK_181c9130c & auVar162._12_4_; + auVar140._0_8_ = uVar136 >> 0xc; + auVar140._8_8_ = uVar39 >> 0xc; + auVar140 = auVar140 | _DAT_181c91310 ^ auVar53; + uVar146 = (uVar218 << 0x20) + (uVar88 & _DAT_181c912f0); + uVar213 = (uVar99 << 0x20) + (uVar213 & _UNK_181c912f8); + dVar50 = auVar140._0_8_; + dVar76 = _DAT_181c91320 + dVar50; + dVar52 = auVar140._8_8_; + dVar241 = _UNK_181c91328 + dVar52; + auVar68._8_4_ = SUB84(dVar241,0); + auVar68._0_8_ = dVar76; + auVar68._12_4_ = (int)((ulonglong)dVar241 >> 0x20); + auVar223._0_8_ = uVar146 >> 0x18; + auVar223._8_8_ = uVar213 >> 0x18; + auVar196._0_8_ = (uVar136 & _DAT_181c91370) << 0x28; + auVar196._8_8_ = (uVar39 & _UNK_181c91378) << 0x28; + auVar95 = _DAT_181c91340 ^ auVar53; + auVar54._0_8_ = + (double)CONCAT44(auVar53._4_4_ ^ _UNK_181c91364,auVar53._0_4_ ^ _DAT_181c91360); + auVar54._8_4_ = auVar53._8_4_ ^ _UNK_181c91368; + auVar54._12_4_ = auVar53._12_4_ ^ _UNK_181c9136c; + dVar50 = dVar50 - (dVar76 - _DAT_181c91320); + dVar52 = dVar52 - (auVar68._8_8_ - _UNK_181c91328); + auVar197 = auVar196 | auVar223 | auVar54; + auVar122._8_4_ = SUB84(dVar52,0); + auVar122._0_8_ = dVar50; + auVar122._12_4_ = (int)((ulonglong)dVar52 >> 0x20); + auVar152._0_8_ = (_DAT_181c91350 & uVar146) << 0x1c; + auVar152._8_8_ = (_UNK_181c91358 & uVar213) << 0x1c; + dVar62 = auVar197._0_8_ - auVar54._0_8_; + dVar63 = auVar197._8_8_ - auVar54._8_8_; + dVar134 = dVar50 + dVar62; + dVar40 = auVar122._8_8_ + dVar63; + auVar82._0_8_ = + (double)CONCAT44(_UNK_181c913b4 & (uint)((ulonglong)dVar134 >> 0x20), + _DAT_181c913b0 & SUB84(dVar134,0)); + auVar82._8_4_ = _UNK_181c913b8 & SUB84(dVar40,0); + auVar82._12_4_ = _UNK_181c913bc & (uint)((ulonglong)dVar40 >> 0x20); + dVar77 = auVar82._8_8_; + dVar50 = _DAT_181c91390 * (dVar134 - auVar82._0_8_) + auVar82._0_8_ * _DAT_181c913a0 + + ((SUB168(auVar152 | auVar95,0) - auVar95._0_8_) + dVar62 + (dVar50 - dVar134)) * + _DAT_181c91380 + (dVar134 - auVar82._0_8_) * _DAT_181c913a0; + dVar52 = _UNK_181c91398 * (dVar40 - dVar77) + dVar77 * _UNK_181c913a8 + + ((SUB168(auVar152 | auVar95,8) - auVar95._8_8_) + dVar63 + (dVar52 - dVar40)) * + _UNK_181c91388 + (dVar40 - dVar77) * _UNK_181c913a8; + auVar83._8_4_ = SUB84(dVar52,0); + auVar83._0_8_ = dVar50; + auVar83._12_4_ = (int)((ulonglong)dVar52 >> 0x20); + dVar134 = dVar50 + _DAT_181c91390 * auVar82._0_8_; + dVar40 = auVar83._8_8_ + _UNK_181c91398 * dVar77; + auVar141._0_8_ = (double)CONCAT44(_UNK_181c913c4 & uVar175,_DAT_181c913c0 & uVar160); + auVar141._8_4_ = _UNK_181c913c8 & auVar162._8_4_; + auVar141._12_4_ = _UNK_181c913cc & auVar162._12_4_; + uVar136 = -(ulonglong)(_UNK_181c913d8 < auVar141._8_8_); + lVar34 = -(ulonglong)(auVar141._8_8_ <= _UNK_181c913d8); + auVar84._0_8_ = (ulonglong)dVar134 & -(ulonglong)(_DAT_181c913d0 < auVar141._0_8_); + uVar39 = uVar136 & (ulonglong)dVar40; + auVar84._8_4_ = (undefined4)uVar39; + auVar84._12_4_ = (undefined4)(uVar39 >> 0x20); + auVar142._0_4_ = (uint)-(ulonglong)(auVar141._0_8_ <= _DAT_181c913d0) & uVar160; + auVar142._4_4_ = (uint)(-(ulonglong)(auVar141._0_8_ <= _DAT_181c913d0) >> 0x20) & uVar175; + auVar142._8_4_ = (uint)lVar34 & auVar162._8_4_; + auVar142._12_4_ = (uint)((ulonglong)lVar34 >> 0x20) & auVar162._12_4_; + dVar52 = dVar52 + (_UNK_181c91398 * dVar77 - dVar40); + dVar63 = SUB168(auVar142 | auVar84,0); + dVar216 = SUB168(auVar142 | auVar84,8); + dVar77 = dVar63 * dVar63; + dVar40 = dVar216 * dVar216; + uVar24 = SUB84(dVar76,0) & (uint)_DAT_181c91330; + auVar123._0_8_ = + (double)((ulonglong)(dVar50 + (_DAT_181c91390 * auVar82._0_8_ - dVar134)) & + -(ulonglong)(_DAT_181c913d0 < auVar141._0_8_)); + auVar123._8_4_ = (uint)uVar136 & SUB84(dVar52,0); + auVar123._12_4_ = (uint)(uVar136 >> 0x20) & (uint)((ulonglong)dVar52 >> 0x20); + uVar27 = uVar24 << 5; + lVar34 = ((ulonglong)dVar241 & _UNK_181c91338 & 0xffff) * 0x20; + dVar134 = *(double *)(&DAT_181c80d10 + uVar27); + dVar76 = dVar77 * (_DAT_181c85000 + (_DAT_181c85040 + _DAT_181c85080 * dVar77) * dVar77); + dVar135 = dVar40 * (_UNK_181c85008 + (_UNK_181c85048 + _UNK_181c85088 * dVar40) * dVar40); + dVar52 = (_DAT_181c84f80 + _DAT_181c84fc0 * dVar77) * dVar77 * dVar63; + dVar62 = (_UNK_181c84f88 + _UNK_181c84fc8 * dVar40) * dVar40 * dVar216; + dVar77 = *(double *)(&DAT_181c80d00 + uVar27); + dVar40 = *(double *)(&DAT_181c80d10 + lVar34); + dVar50 = *(double *)(&DAT_181c80d00 + lVar34); + auVar208._8_4_ = SUB84(dVar50,0); + auVar208._0_8_ = dVar77; + auVar208._12_4_ = (int)((ulonglong)dVar50 >> 0x20); + dVar230 = dVar77 + *(double *)(&DAT_181c80d08 + uVar27); + dVar214 = auVar208._8_8_ + *(double *)(&DAT_181c80d08 + lVar34); + dVar145 = *(double *)(&DAT_181c80d08 + uVar27) * dVar63; + dVar190 = *(double *)(&DAT_181c80d08 + lVar34) * dVar216; + auVar198._8_4_ = SUB84(dVar214,0); + auVar198._0_8_ = dVar230; + auVar198._12_4_ = (int)((ulonglong)dVar214 >> 0x20); + auVar153._8_4_ = SUB84(dVar40,0); + auVar153._0_8_ = dVar134; + uVar51 = (undefined4)((ulonglong)dVar40 >> 0x20); + auVar153._12_4_ = uVar51; + dVar203 = dVar134 + dVar145; + dVar205 = auVar153._8_8_ + dVar190; + auVar163._8_4_ = SUB84(dVar205,0); + auVar163._0_8_ = dVar203; + uVar133 = (undefined4)((ulonglong)dVar205 >> 0x20); + auVar163._12_4_ = uVar133; + dVar211 = dVar203 + dVar77 * dVar63; + dVar176 = auVar163._8_8_ + dVar50 * dVar216; + auVar199._8_4_ = SUB84(dVar205,0); + auVar199._0_8_ = dVar203; + auVar199._12_4_ = uVar133; + auVar55._8_4_ = SUB84(dVar40,0); + auVar55._0_8_ = dVar134; + auVar55._12_4_ = uVar51; + auVar164._0_8_ = + dVar211 + dVar145 + (dVar134 - dVar203) + + *(double *)(&DAT_181c80d18 + uVar27) + + (dVar230 - dVar63 * dVar134) * auVar123._0_8_ + dVar230 * dVar52 + + dVar77 * dVar63 + (dVar203 - dVar211) + dVar134 * dVar76; + auVar164._8_8_ = + dVar176 + dVar190 + (auVar55._8_8_ - dVar205) + + *(double *)(&DAT_181c80d18 + lVar34) + + (auVar198._8_8_ - dVar216 * dVar40) * auVar123._8_8_ + dVar214 * dVar62 + + dVar50 * dVar216 + (auVar199._8_8_ - dVar176) + dVar40 * dVar135; + uVar114 = ((int)_DAT_181c84e80 + uVar24 & (uint)_DAT_181c84e40) << 5; + auVar164 = auVar164 ^ auVar182; + lVar34 = (_UNK_181c84e88 + ((ulonglong)dVar241 & _UNK_181c91338) & _UNK_181c84e48 & 0xffff + ) * 0x20; + dVar134 = *(double *)(&DAT_181c80d10 + uVar114); + dVar77 = *(double *)(&DAT_181c80d00 + uVar114); + dVar40 = *(double *)(&DAT_181c80d10 + lVar34); + dVar50 = *(double *)(&DAT_181c80d00 + lVar34); + auVar96._8_4_ = SUB84(dVar50,0); + auVar96._0_8_ = dVar77; + auVar96._12_4_ = (int)((ulonglong)dVar50 >> 0x20); + dVar145 = dVar77 + *(double *)(&DAT_181c80d08 + uVar114); + dVar190 = auVar96._8_8_ + *(double *)(&DAT_181c80d08 + lVar34); + auVar107._8_4_ = SUB84(dVar190,0); + auVar107._0_8_ = dVar145; + auVar107._12_4_ = (int)((ulonglong)dVar190 >> 0x20); + dVar211 = dVar63 * *(double *)(&DAT_181c80d08 + uVar114); + dVar176 = dVar216 * *(double *)(&DAT_181c80d08 + lVar34); + auVar124._8_4_ = SUB84(dVar40,0); + auVar124._0_8_ = dVar134; + uVar133 = (undefined4)((ulonglong)dVar40 >> 0x20); + auVar124._12_4_ = uVar133; + dVar203 = dVar134 + dVar211; + dVar205 = auVar124._8_8_ + dVar176; + auVar236._8_4_ = SUB84(dVar205,0); + auVar236._0_8_ = dVar203; + uVar51 = (undefined4)((ulonglong)dVar205 >> 0x20); + auVar236._12_4_ = uVar51; + dVar230 = dVar203 + dVar77 * dVar63; + dVar241 = auVar236._8_8_ + dVar50 * dVar216; + auVar69._8_4_ = SUB84(dVar205,0); + auVar69._0_8_ = dVar203; + auVar69._12_4_ = uVar51; + auVar154._8_4_ = SUB84(dVar40,0); + auVar154._0_8_ = dVar134; + auVar154._12_4_ = uVar133; + uVar24 = (uint)uVar26; + uVar27 = (uint)(uVar36 >> 0x20); + uVar116 = (uint)(uVar26 >> 0x20); + uVar131 = (uint)uVar36; + auVar165._0_4_ = auVar164._0_4_ & uVar24; + auVar165._4_4_ = auVar164._4_4_ & uVar116; + auVar165._8_4_ = auVar164._8_4_ & uVar131; + auVar165._12_4_ = auVar164._12_4_ & uVar27; + uVar26 = (ulonglong) + (dVar230 + + dVar211 + (dVar134 - dVar203) + + *(double *)(&DAT_181c80d18 + uVar114) + + auVar123._0_8_ * (dVar145 - dVar63 * dVar134) + dVar52 * dVar145 + + dVar77 * dVar63 + (dVar203 - dVar230) + dVar134 * dVar76) & uVar26; + uVar36 = uVar36 & (ulonglong) + (dVar241 + + dVar176 + (auVar154._8_8_ - dVar205) + + *(double *)(&DAT_181c80d18 + lVar34) + + auVar123._8_8_ * (auVar107._8_8_ - dVar216 * dVar40) + dVar62 * dVar190 + + dVar50 * dVar216 + (auVar69._8_8_ - dVar241) + dVar40 * dVar135); + local_368._0_4_ = auVar106._0_4_; + local_368._4_4_ = auVar106._4_4_; + local_368._8_4_ = auVar106._8_4_; + local_368._12_4_ = auVar106._12_4_; + local_540[0]._0_4_ = ~uVar24 & local_368._0_4_; + local_540[0]._4_4_ = ~uVar116 & local_368._4_4_; + local_540[0]._8_4_ = ~uVar131 & local_368._8_4_; + local_540[0]._12_4_ = ~uVar27 & local_368._12_4_; + local_540[0] = local_540[0] | auVar165; + local_500._0_4_ = ~uVar24 & local_500._0_4_ | (uint)uVar26; + local_500._4_4_ = ~uVar116 & local_500._4_4_ | (uint)(uVar26 >> 0x20); + local_500._8_4_ = ~uVar131 & local_500._8_4_ | (uint)uVar36; + local_500._12_4_ = ~uVar27 & local_500._12_4_ | (uint)(uVar36 >> 0x20); + auVar95 = _DAT_181c80640; + dVar134 = _DAT_181c80840; + dVar77 = _UNK_181c80848; + dVar40 = _DAT_181c80800; + dVar50 = _UNK_181c80808; + local_378 = auVar43; + local_368 = auVar106; + local_348 = local_580[0]; + dStack_340 = local_580[1]; + } + uVar100 = local_540[0]._0_8_; + local_500.e_program._0_4_ = local_500._0_4_; + local_500.e_program._4_4_ = local_500._4_4_; + local_500.e_program._8_4_ = local_500._8_4_; + local_500.e_program._12_4_ = local_500._12_4_; + local_480._0_16_ = local_540[0]; + if (uVar28 != 0) { + local_5c0 = CONCAT44(local_5c0._4_4_,uVar21) & 0xffffffff00000002; + local_5d8 = param_2 + local_5a8; + pIVar25 = (IMAGE_DOS_HEADER *)(param_3 + local_5a8); + uVar26 = 0; + local_5b8 = CONCAT44(local_5b8._4_4_,uVar21) & 0xffffffff00000001; + local_5e0 = pIVar25; + do { + uVar23 = (uint)uVar26; + if ((uVar28 >> (uVar23 & 0x1f) & 1) != 0) { + pIVar25 = (IMAGE_DOS_HEADER *)(local_540[0] + uVar26 * 8); + local_5e8 = (IMAGE_DOS_HEADER *)(local_500.e_magic + uVar26 * 8); + local_5f0 = pIVar25; + uVar21 = FUN_180150c80(local_580 + uVar26); + if (uVar21 != 0) { + *(undefined8 *)(local_5d8 + uVar26 * 8) = *(undefined8 *)local_5f0; + *(undefined8 *)(local_5e0->e_magic + uVar26 * 8) = *(undefined8 *)local_5e8; + local_608 = &DAT_182673068; + local_618 = param_2; + local_610 = param_3; + local_5f8 = uVar21; + FUN_1803ab5c0(uVar21,iVar29 + uVar23,param_1,param_1); + uVar100 = *(undefined8 *)(local_5d8 + uVar26 * 8); + local_5f0->e_magic[0] = (char)uVar100; + local_5f0->e_magic[1] = (char)((ulonglong)uVar100 >> 8); + local_5f0->e_cblp = (short)((ulonglong)uVar100 >> 0x10); + local_5f0->e_cp = (short)((ulonglong)uVar100 >> 0x20); + local_5f0->e_crlc = (short)((ulonglong)uVar100 >> 0x30); + local_e8 = local_5f8; + *(undefined8 *)local_5e8 = *(undefined8 *)(local_5e0->e_magic + uVar26 * 8); + pIVar25 = local_5e8; + } + } + uVar26 = (ulonglong)(uVar23 + 1); + } while ((int)(uVar23 + 1) < 2); + local_500.e_program._12_2_ = local_500.e_maxalloc; + local_500.e_program._14_2_ = local_500.e_ss; + local_500.e_program._8_2_ = local_500.e_cparhdr; + local_500.e_program._10_2_ = local_500.e_minalloc; + local_500.e_program._4_2_ = local_500.e_cp; + local_500.e_program._6_2_ = local_500.e_crlc; + local_500.e_program[0] = local_500.e_magic[0]; + local_500.e_program[1] = local_500.e_magic[1]; + local_500.e_program._2_2_ = local_500.e_cblp; + local_480._0_16_ = local_540[0]; + uVar100 = local_540[0]._0_8_; + uVar23 = (uint)local_5b8; + uVar32 = (uint)local_5c0; + } + if (uVar23 == 0) { + if (uVar32 != 0) { +LAB_18014f472: + *(undefined8 *)(local_5a8 + 8 + param_2) = local_480._8_8_; + pIVar25 = (IMAGE_DOS_HEADER *)local_480._8_8_; + if (uVar23 != 0) goto LAB_18014f48d; + if (uVar32 == 0) goto LAB_18014f4a9; + goto LAB_18014f49d; + } + } + else { + *(undefined8 *)(local_5a8 + param_2) = uVar100; + if (uVar32 != 0) goto LAB_18014f472; +LAB_18014f48d: + *(ulonglong *)(local_5a8 + param_3) = + CONCAT44(local_500.e_program._4_4_,local_500.e_program._0_4_); + if (uVar32 != 0) { +LAB_18014f49d: + *(IMAGE_DOS_HEADER **)(local_5a8 + 8 + param_3) = + (IMAGE_DOS_HEADER *)CONCAT44(local_500.e_program._12_4_,local_500.e_program._8_4_); + pIVar25 = (IMAGE_DOS_HEADER *) + CONCAT44(local_500.e_program._12_4_,local_500.e_program._8_4_); + } + } +LAB_18014f4a9: + local_5d0 = local_5d0 + 2; + local_5a8 = local_5a8 + 0x10; + } while ((longlong)local_5d0 < (longlong)uStack_5b0); + pIVar25 = (IMAGE_DOS_HEADER *)(ulonglong)local_108; + } + if ((((ulonglong)pIVar25 & 2) == 0) && (local_100 = MXCSR, (MXCSR & 0x1f) != 0)) { + local_100 = MXCSR & 0xffffffe0; + } + MXCSR = local_100; + if ((uVar22 ^ (ulonglong)auStack_638) == DAT_182615970) { + return local_e8; + } + } +} + + + +############ FUN_ 1801560a0 size=22268 ############ + +/* WARNING: Function: _alloca_probe replaced with injection: alloca_probe */ +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +uint FUN_1801560a0(longlong param_1,longlong param_2,longlong param_3,uint param_4) + +{ + longlong lVar1; + undefined8 uVar2; + undefined1 auVar3 [32]; + undefined1 auVar4 [32]; + undefined1 auVar5 [32]; + undefined1 auVar6 [32]; + undefined1 auVar7 [32]; + undefined1 auVar8 [32]; + undefined1 auVar9 [32]; + undefined1 auVar10 [32]; + undefined1 auVar11 [32]; + undefined1 auVar12 [32]; + undefined1 auVar13 [32]; + undefined1 auVar14 [32]; + undefined1 auVar15 [32]; + undefined1 auVar16 [32]; + undefined1 auVar17 [32]; + undefined1 auVar18 [32]; + undefined1 auVar19 [32]; + undefined1 auVar20 [32]; + uint uVar21; + ulonglong uVar22; + uint uVar23; + uint uVar24; + int iVar25; + uint uVar26; + uint uVar27; + uint uVar28; + uint uVar29; + uint uVar30; + longlong lVar31; + uint uVar32; + uint uVar33; + ulonglong uVar34; + int iVar35; + uint uVar36; + uint uVar37; + longlong lVar38; + ushort in_FPUControlWord; + undefined1 auVar39 [16]; + undefined1 auVar40 [16]; + undefined1 auVar41 [32]; + undefined1 auVar42 [32]; + undefined1 auVar43 [32]; + undefined1 auVar44 [32]; + undefined1 auVar45 [32]; + undefined1 auVar46 [32]; + undefined1 auVar47 [32]; + undefined1 auVar48 [32]; + undefined1 auVar49 [16]; + undefined1 auVar50 [32]; + undefined1 auVar51 [32]; + undefined1 auVar52 [32]; + undefined1 auVar53 [32]; + undefined1 auVar54 [32]; + undefined1 auVar55 [32]; + undefined1 auVar60 [16]; + double dVar80; + double dVar81; + double dVar100; + double dVar101; + undefined1 auVar82 [16]; + double dVar56; + undefined1 auVar62 [16]; + double dVar77; + undefined1 auVar63 [32]; + undefined1 auVar57 [16]; + undefined1 auVar64 [32]; + undefined1 auVar65 [32]; + undefined1 auVar66 [32]; + double dVar76; + undefined1 auVar58 [16]; + double dVar78; + undefined1 auVar67 [32]; + undefined1 auVar59 [16]; + undefined1 auVar68 [32]; + undefined1 auVar69 [32]; + undefined1 auVar61 [16]; + undefined1 auVar70 [32]; + undefined1 auVar71 [32]; + undefined1 auVar72 [32]; + undefined1 auVar73 [32]; + undefined1 auVar74 [32]; + undefined1 auVar75 [32]; + double dVar79; + undefined1 auVar83 [16]; + double dVar102; + undefined1 auVar84 [32]; + undefined1 auVar85 [32]; + undefined1 auVar86 [32]; + double dVar99; + double dVar106; + undefined1 auVar87 [32]; + undefined1 auVar88 [32]; + undefined1 auVar89 [32]; + undefined1 auVar90 [32]; + undefined1 auVar91 [32]; + double dVar103; + double dVar107; + undefined1 auVar92 [32]; + undefined1 auVar93 [32]; + double dVar104; + double dVar105; + double dVar108; + double dVar109; + undefined1 auVar94 [32]; + undefined1 auVar95 [32]; + undefined1 auVar96 [32]; + undefined1 auVar97 [32]; + undefined1 auVar98 [32]; + undefined1 auVar111 [16]; + undefined1 auVar112 [16]; + undefined1 auVar113 [16]; + undefined1 auVar114 [16]; + double dVar110; + undefined1 auVar115 [16]; + undefined1 auVar116 [16]; + double dVar126; + undefined1 auVar117 [32]; + double dVar125; + double dVar127; + undefined1 auVar118 [32]; + undefined1 auVar119 [32]; + undefined1 auVar120 [32]; + undefined1 auVar121 [32]; + undefined1 auVar122 [32]; + undefined1 auVar123 [32]; + undefined1 auVar124 [32]; + double dVar143; + undefined1 auVar129 [16]; + undefined1 auVar131 [16]; + double dVar128; + undefined1 auVar132 [16]; + undefined1 auVar133 [16]; + double dVar144; + undefined1 auVar134 [32]; + undefined1 auVar135 [32]; + undefined1 auVar136 [32]; + undefined1 auVar137 [32]; + undefined1 auVar138 [32]; + undefined1 auVar130 [16]; + double dVar145; + undefined1 auVar139 [32]; + undefined1 auVar140 [32]; + undefined1 auVar141 [32]; + undefined1 auVar142 [32]; + undefined1 auVar147 [16]; + double dVar146; + undefined1 auVar148 [16]; + undefined1 auVar149 [16]; + undefined1 auVar150 [16]; + undefined1 auVar151 [16]; + undefined1 auVar152 [16]; + undefined1 auVar153 [16]; + undefined1 auVar154 [16]; + undefined1 auVar155 [16]; + double dVar166; + undefined1 auVar156 [32]; + double dVar165; + double dVar167; + undefined1 auVar157 [32]; + undefined1 auVar158 [32]; + undefined1 auVar159 [32]; + undefined1 auVar160 [32]; + undefined1 auVar161 [32]; + undefined1 auVar162 [32]; + undefined1 auVar163 [32]; + undefined1 auVar164 [32]; + undefined1 auVar169 [16]; + undefined1 auVar170 [16]; + undefined1 auVar171 [16]; + undefined1 auVar172 [16]; + double dVar168; + undefined1 auVar173 [16]; + undefined1 auVar174 [16]; + double dVar186; + undefined1 auVar175 [32]; + undefined1 auVar176 [32]; + undefined1 auVar177 [32]; + undefined1 auVar178 [32]; + double dVar185; + double dVar188; + undefined1 auVar179 [32]; + undefined1 auVar180 [32]; + undefined1 auVar181 [32]; + double dVar187; + double dVar189; + undefined1 auVar182 [32]; + undefined1 auVar183 [32]; + undefined1 auVar184 [32]; + undefined1 auVar190 [16]; + undefined1 auVar191 [16]; + undefined1 auVar192 [16]; + undefined1 auVar193 [16]; + undefined1 auVar194 [16]; + undefined1 auVar195 [16]; + undefined1 auVar196 [16]; + undefined1 auVar197 [32]; + undefined1 auVar198 [32]; + undefined1 auVar199 [32]; + undefined1 auVar200 [32]; + undefined1 auVar201 [32]; + undefined1 auVar202 [32]; + undefined1 auVar203 [32]; + double dVar204; + undefined1 auVar206 [16]; + undefined1 auVar207 [16]; + undefined1 auVar208 [16]; + undefined1 auVar209 [16]; + undefined1 auVar210 [16]; + undefined1 auVar211 [16]; + double dVar205; + double dVar224; + double dVar225; + undefined1 auVar212 [32]; + undefined1 auVar213 [32]; + undefined1 auVar214 [32]; + undefined1 auVar215 [32]; + double dVar223; + double dVar226; + undefined1 auVar216 [32]; + undefined1 auVar217 [32]; + undefined1 auVar218 [32]; + undefined1 auVar220 [32]; + undefined1 auVar221 [32]; + undefined1 auVar222 [32]; + undefined1 auVar227 [16]; + undefined1 auVar228 [16]; + undefined1 auVar229 [16]; + undefined1 auVar230 [16]; + undefined1 auVar231 [16]; + undefined1 auVar232 [16]; + undefined1 auVar233 [16]; + undefined1 auVar234 [16]; + undefined1 auVar235 [32]; + undefined1 auVar236 [32]; + undefined1 auVar237 [32]; + undefined1 auVar238 [32]; + undefined1 auVar239 [32]; + undefined1 auVar240 [32]; + undefined1 auVar241 [32]; + undefined1 auVar242 [32]; + undefined1 auVar243 [32]; + undefined1 auVar244 [32]; + undefined1 auVar245 [32]; + undefined1 auVar246 [32]; + undefined1 auVar247 [16]; + undefined1 auVar248 [16]; + undefined1 auVar249 [16]; + undefined1 auVar250 [16]; + undefined1 auVar251 [16]; + undefined1 auVar252 [16]; + undefined1 auVar253 [16]; + undefined1 auVar254 [16]; + undefined1 auVar255 [16]; + undefined1 auVar256 [16]; + undefined1 auVar257 [16]; + undefined1 auVar258 [16]; + undefined1 auVar259 [16]; + undefined1 auVar260 [32]; + undefined1 auVar261 [32]; + undefined1 auVar262 [32]; + double dVar265; + undefined1 auVar263 [32]; + undefined1 auVar264 [32]; + undefined1 auVar266 [16]; + undefined1 auVar267 [16]; + undefined1 auVar268 [16]; + undefined1 auVar269 [16]; + undefined1 auVar270 [32]; + undefined1 auVar271 [32]; + undefined1 auVar272 [32]; + undefined1 auVar273 [32]; + undefined1 auVar274 [32]; + undefined1 auVar275 [32]; + undefined1 auVar276 [32]; + undefined1 auVar277 [32]; + undefined1 auVar278 [32]; + undefined1 auVar279 [32]; + undefined1 auVar280 [32]; + double dVar281; + undefined1 auVar283 [16]; + undefined1 auVar284 [16]; + undefined1 auVar285 [16]; + undefined1 auVar286 [16]; + undefined1 auVar287 [16]; + double dVar311; + undefined1 auVar288 [16]; + undefined1 auVar289 [16]; + undefined1 auVar290 [16]; + undefined1 auVar291 [16]; + undefined1 auVar292 [16]; + undefined1 auVar293 [16]; + undefined1 auVar294 [16]; + undefined1 auVar295 [16]; + undefined1 auVar296 [16]; + undefined1 auVar297 [16]; + undefined1 auVar298 [16]; + undefined1 auVar299 [16]; + undefined1 auVar300 [16]; + double dVar312; + undefined1 auVar301 [32]; + undefined1 auVar302 [32]; + undefined1 auVar303 [32]; + double dVar313; + undefined1 auVar305 [32]; + undefined1 auVar306 [32]; + undefined1 auVar307 [32]; + undefined1 auVar308 [32]; + undefined1 auVar309 [32]; + undefined1 auVar310 [32]; + double dVar314; + undefined1 auVar315 [16]; + undefined1 auVar316 [16]; + undefined1 auVar317 [16]; + undefined1 auVar318 [16]; + undefined1 auVar319 [16]; + undefined1 auVar320 [16]; + undefined1 auVar321 [16]; + undefined1 auVar322 [16]; + undefined1 auVar323 [16]; + undefined1 auVar324 [16]; + undefined1 auVar325 [16]; + undefined1 auVar326 [16]; + undefined1 auVar327 [16]; + undefined1 auVar328 [16]; + undefined1 auVar329 [16]; + undefined1 auVar330 [16]; + undefined1 auVar331 [16]; + undefined1 auVar332 [16]; + undefined1 auVar333 [16]; + double dVar338; + double dVar339; + double dVar340; + undefined1 auVar334 [32]; + undefined1 auVar335 [32]; + undefined1 auVar337 [32]; + undefined1 auVar341 [16]; + undefined1 auVar342 [16]; + undefined1 auVar343 [16]; + undefined1 auVar344 [16]; + undefined1 auVar345 [16]; + undefined1 auVar346 [16]; + undefined1 auVar347 [16]; + undefined1 auVar348 [16]; + undefined1 auVar349 [16]; + undefined1 auVar350 [16]; + undefined1 auVar351 [16]; + undefined1 auVar352 [16]; + undefined1 auVar353 [32]; + undefined1 auVar354 [32]; + undefined1 auVar355 [32]; + undefined1 auVar356 [32]; + undefined1 auVar357 [32]; + undefined1 auVar358 [32]; + undefined1 in_ZMM15 [64]; + undefined1 auStack_2798 [32]; + longlong local_2778; + longlong local_2770; + undefined *local_2768; + undefined4 local_2758; + undefined8 *local_2750; + undefined8 *local_2748; + longlong local_2740; + undefined1 local_2700 [16]; + double dStack_26f0; + double dStack_26e8; + undefined1 local_26e0 [16]; + double dStack_26d0; + double dStack_26c8; + undefined1 local_26c0 [32]; + undefined1 local_26a0 [32]; + undefined1 local_2680 [32]; + undefined1 local_2660 [32]; + undefined1 local_2640 [32]; + undefined1 local_2620 [32]; + undefined1 local_2600 [32]; + undefined1 local_25e0 [32]; + undefined8 local_25c0 [4]; + undefined8 local_25a0; + undefined8 uStack_2598; + undefined8 uStack_2590; + undefined8 uStack_2588; + undefined8 local_2580; + undefined8 uStack_2578; + undefined8 uStack_2570; + undefined8 uStack_2568; + undefined8 local_2560; + undefined8 uStack_2558; + undefined8 uStack_2550; + undefined8 uStack_2548; + undefined1 local_2540 [16]; + double dStack_2530; + double dStack_2528; + double local_2520; + double dStack_2518; + double dStack_2510; + double dStack_2508; + undefined1 local_2500 [16]; + double dStack_24f0; + double dStack_24e8; + undefined1 local_24e0 [16]; + double dStack_24d0; + double dStack_24c8; + undefined1 local_24c0 [16]; + double dStack_24b0; + double dStack_24a8; + undefined1 local_24a0 [16]; + double dStack_2490; + double dStack_2488; + undefined1 local_2480 [16]; + double dStack_2470; + double dStack_2468; + undefined1 local_2460 [16]; + double dStack_2450; + double dStack_2448; + undefined1 local_2440 [16]; + double dStack_2430; + double dStack_2428; + undefined1 local_2420 [16]; + double dStack_2410; + double dStack_2408; + undefined1 local_2400 [32]; + ulonglong local_23e0; + ulonglong uStack_23d8; + ulonglong uStack_23d0; + ulonglong uStack_23c8; + ulonglong local_23c0; + ulonglong uStack_23b8; + ulonglong uStack_23b0; + ulonglong uStack_23a8; + ulonglong local_23a0; + ulonglong uStack_2398; + ulonglong uStack_2390; + ulonglong uStack_2388; + undefined1 local_2380 [32]; + undefined1 local_2360 [32]; + undefined1 local_2340 [32]; + undefined1 local_2320 [32]; + undefined1 local_2300 [16]; + double dStack_22f0; + double dStack_22e8; + undefined1 local_22e0 [16]; + double dStack_22d0; + double dStack_22c8; + undefined1 local_22c0 [16]; + double dStack_22b0; + double dStack_22a8; + undefined1 local_22a0 [32]; + undefined1 local_2280 [32]; + undefined1 local_2260 [32]; + undefined1 local_2240 [32]; + undefined1 local_2220 [32]; + undefined1 local_2200 [16]; + double dStack_21f0; + double dStack_21e8; + undefined1 local_21e0 [32]; + undefined1 local_21c0 [16]; + double dStack_21b0; + double dStack_21a8; + undefined1 local_21a0 [32]; + undefined1 local_2180 [32]; + undefined1 local_2160 [32]; + undefined1 local_2140 [32]; + undefined1 local_2120 [32]; + undefined1 local_2100 [32]; + double local_20e0; + double dStack_20d8; + double dStack_20d0; + double dStack_20c8; + double local_20c0; + double dStack_20b8; + double dStack_20b0; + double dStack_20a8; + double local_20a0; + double dStack_2098; + double dStack_2090; + double dStack_2088; + double local_2080; + double dStack_2078; + double dStack_2070; + double dStack_2068; + undefined1 local_2060 [16]; + double dStack_2050; + double dStack_2048; + undefined1 local_2040 [16]; + double dStack_2030; + double dStack_2028; + undefined1 local_2020 [32]; + undefined1 local_2000 [32]; + undefined1 local_1fe0 [32]; + undefined1 local_1fc0 [32]; + undefined1 local_1fa0 [32]; + undefined1 local_1f80 [32]; + undefined1 local_1f60 [32]; + undefined1 local_1f40 [32]; + undefined1 local_1f20 [32]; + double local_1f00; + double dStack_1ef8; + double dStack_1ef0; + double dStack_1ee8; + double local_1ee0; + double dStack_1ed8; + double dStack_1ed0; + double dStack_1ec8; + double local_1ec0; + double dStack_1eb8; + double dStack_1eb0; + double dStack_1ea8; + double local_1ea0; + double dStack_1e98; + double dStack_1e90; + double dStack_1e88; + double local_1e80; + double dStack_1e78; + double dStack_1e70; + double dStack_1e68; + double local_1e60; + double dStack_1e58; + double dStack_1e50; + double dStack_1e48; + undefined1 local_1e40 [32]; + double local_1e20; + double dStack_1e18; + double dStack_1e10; + double dStack_1e08; + double local_1e00; + double dStack_1df8; + double dStack_1df0; + double dStack_1de8; + double local_1de0; + double dStack_1dd8; + double dStack_1dd0; + double dStack_1dc8; + double local_1dc0; + double dStack_1db8; + double dStack_1db0; + double dStack_1da8; + undefined1 local_1da0 [32]; + undefined1 local_1d80 [32]; + undefined1 local_1d60 [32]; + undefined1 local_1d40 [32]; + undefined1 local_1d20 [32]; + undefined1 local_1d00 [32]; + undefined1 local_1ce0 [32]; + undefined1 local_1cc0 [32]; + undefined1 local_1ca0 [32]; + double local_1c80; + double dStack_1c78; + double dStack_1c70; + double dStack_1c68; + double local_1c60; + double dStack_1c58; + double dStack_1c50; + double dStack_1c48; + double local_1c40; + double dStack_1c38; + double dStack_1c30; + double dStack_1c28; + double local_1c20; + double dStack_1c18; + double dStack_1c10; + double dStack_1c08; + undefined1 local_1c00 [32]; + undefined1 local_1be0 [32]; + undefined1 local_1bc0 [32]; + undefined1 local_1ba0 [32]; + undefined1 local_1b80 [32]; + undefined1 local_1b60 [32]; + double local_1b40; + double dStack_1b38; + double dStack_1b30; + double dStack_1b28; + double local_1b20; + double dStack_1b18; + double dStack_1b10; + double dStack_1b08; + double local_1b00; + double dStack_1af8; + double dStack_1af0; + double dStack_1ae8; + double local_1ae0; + double dStack_1ad8; + double dStack_1ad0; + double dStack_1ac8; + undefined1 local_1ac0 [32]; + undefined1 local_1aa0 [32]; + undefined1 local_1a80 [32]; + undefined1 local_1a60 [32]; + undefined1 local_1a40 [32]; + undefined1 local_1a20 [32]; + undefined1 local_1a00 [32]; + undefined1 local_19e0 [32]; + undefined1 local_19c0 [32]; + undefined1 local_19a0 [32]; + undefined1 local_1980 [32]; + undefined1 local_1960 [32]; + undefined1 local_1940 [32]; + undefined1 local_1920 [32]; + undefined1 local_1900 [32]; + undefined1 local_18e0 [32]; + ulonglong local_18c0; + ulonglong uStack_18b8; + ulonglong uStack_18b0; + ulonglong uStack_18a8; + ulonglong local_18a0; + ulonglong uStack_1898; + ulonglong uStack_1890; + ulonglong uStack_1888; + ulonglong local_1880; + ulonglong uStack_1878; + ulonglong uStack_1870; + ulonglong uStack_1868; + ulonglong local_1860; + ulonglong uStack_1858; + ulonglong uStack_1850; + ulonglong uStack_1848; + undefined1 local_1840 [32]; + undefined1 local_1820 [32]; + undefined1 local_1800 [32]; + undefined1 local_17e0 [32]; + undefined1 local_17c0 [32]; + undefined1 local_17a0 [32]; + undefined1 local_1780 [32]; + undefined1 local_1760 [32]; + undefined1 local_1740 [32]; + undefined1 local_1720 [32]; + undefined1 local_1700 [32]; + undefined1 local_16e0 [32]; + undefined1 local_16c0 [32]; + undefined1 local_16a0 [32]; + undefined1 local_1680 [32]; + undefined1 local_1660 [32]; + undefined1 local_1640 [32]; + undefined1 local_1620 [32]; + undefined1 local_1600 [32]; + undefined1 local_15e0 [32]; + double local_15c0; + double dStack_15b8; + double dStack_15b0; + double dStack_15a8; + undefined1 local_15a0 [32]; + undefined1 local_1580 [32]; + undefined1 local_1560 [32]; + undefined1 local_1540 [32]; + undefined1 local_1520 [32]; + undefined1 local_1500 [32]; + undefined1 local_14e0 [32]; + undefined1 local_14c0 [32]; + undefined1 local_14a0 [32]; + undefined1 local_1480 [32]; + double local_1460; + double dStack_1458; + double dStack_1450; + double dStack_1448; + double local_1440; + double dStack_1438; + double dStack_1430; + double dStack_1428; + double local_1420; + double dStack_1418; + double dStack_1410; + double dStack_1408; + double local_1400; + double dStack_13f8; + double dStack_13f0; + double dStack_13e8; + double local_13e0; + double dStack_13d8; + double dStack_13d0; + double dStack_13c8; + double local_13c0; + double dStack_13b8; + double dStack_13b0; + double dStack_13a8; + undefined1 local_1398 [16]; + undefined1 local_1388 [16]; + undefined1 local_1378 [16]; + undefined1 local_1368 [16]; + undefined1 local_1358 [16]; + undefined1 local_1348 [16]; + undefined1 local_1338 [16]; + undefined1 local_1328 [16]; + undefined1 local_1318 [16]; + undefined1 local_1308 [16]; + undefined1 local_12f8 [16]; + undefined1 local_12e8 [16]; + undefined1 local_12d8 [16]; + undefined1 local_12c8 [16]; + undefined1 local_12b8 [16]; + undefined1 local_12a8 [16]; + undefined1 local_1298 [16]; + undefined1 local_1288 [16]; + undefined1 local_1278 [16]; + undefined1 local_1268 [16]; + undefined1 local_1258 [16]; + undefined1 local_1248 [16]; + undefined1 local_1238 [16]; + undefined1 local_1228 [16]; + undefined1 local_1218 [16]; + undefined1 local_1208 [16]; + undefined1 local_11f8 [16]; + undefined1 local_11e8 [16]; + undefined1 local_11d8 [16]; + undefined1 local_11c8 [16]; + undefined1 local_11b8 [16]; + undefined1 local_11a8 [16]; + undefined1 local_1198 [16]; + undefined1 local_1188 [16]; + undefined1 local_1178 [16]; + undefined1 local_1168 [16]; + undefined1 local_1158 [16]; + undefined1 local_1148 [16]; + undefined1 local_1138 [16]; + undefined1 local_1128 [16]; + undefined1 local_1118 [16]; + undefined1 local_1108 [16]; + undefined1 local_10f8 [16]; + undefined1 local_10e8 [16]; + undefined1 local_10d8 [16]; + undefined1 local_10c8 [16]; + undefined1 local_10b8 [16]; + undefined1 local_10a8 [16]; + undefined1 local_1098 [16]; + undefined1 local_1088 [16]; + undefined1 local_1078 [16]; + undefined1 local_1068 [16]; + undefined1 local_1058 [16]; + undefined1 local_1048 [16]; + undefined1 local_1038 [16]; + undefined1 local_1028 [16]; + undefined1 local_1018 [16]; + undefined1 local_1008 [16]; + undefined1 local_ff8 [16]; + undefined1 local_fe8 [16]; + undefined1 local_fd8 [16]; + undefined1 local_fc8 [16]; + undefined1 local_fb8 [16]; + undefined1 local_fa8 [16]; + undefined1 local_f98 [16]; + undefined1 local_f88 [16]; + undefined1 local_f78 [16]; + undefined1 local_f68 [16]; + undefined1 local_f58 [16]; + undefined1 local_f48 [16]; + undefined1 local_f38 [16]; + undefined1 local_f28 [16]; + undefined1 local_f18 [16]; + undefined1 local_f08 [16]; + undefined1 local_ef8 [16]; + undefined1 local_ee8 [16]; + undefined1 local_ed8 [16]; + undefined1 local_ec8 [16]; + undefined1 local_eb8 [16]; + undefined1 local_ea8 [16]; + undefined1 local_e98 [16]; + undefined1 local_e88 [16]; + undefined1 local_e78 [16]; + undefined1 local_e68 [16]; + undefined1 local_e58 [16]; + undefined1 local_e48 [16]; + undefined1 local_e38 [16]; + undefined1 local_e28 [16]; + undefined1 local_e18 [16]; + undefined1 local_e08 [16]; + undefined1 local_df8 [16]; + undefined1 local_de8 [16]; + undefined1 local_dd8 [16]; + undefined1 local_dc8 [16]; + undefined1 local_db8 [16]; + undefined1 local_da8 [16]; + undefined1 local_d98 [16]; + undefined1 local_d88 [16]; + undefined1 local_d78 [16]; + undefined1 local_d68 [16]; + undefined1 local_d58 [16]; + undefined1 local_d48 [16]; + undefined1 local_d38 [16]; + undefined1 local_d28 [16]; + undefined1 local_d18 [16]; + undefined1 local_d08 [16]; + undefined1 local_cf8 [16]; + undefined1 local_ce8 [16]; + undefined1 local_cd8 [16]; + undefined1 local_cc8 [16]; + undefined1 local_cb8 [16]; + undefined1 local_ca8 [16]; + undefined1 local_c98 [16]; + undefined1 local_c88 [16]; + undefined1 local_c78 [16]; + undefined1 local_c68 [16]; + undefined1 local_c58 [16]; + undefined1 local_c48 [16]; + undefined1 local_c38 [16]; + undefined1 local_c28 [16]; + undefined1 local_c18 [16]; + undefined1 local_c08 [16]; + undefined1 local_bf8 [16]; + undefined1 local_be8 [16]; + undefined1 local_bd8 [16]; + undefined1 local_bc8 [16]; + undefined1 local_bb8 [16]; + undefined1 local_ba8 [16]; + undefined1 local_b98 [16]; + undefined1 local_b88 [16]; + undefined1 local_b78 [16]; + undefined1 local_b68 [16]; + undefined1 local_b58 [16]; + undefined1 local_b48 [16]; + undefined1 local_b38 [16]; + undefined1 local_b28 [16]; + undefined1 local_b18 [16]; + undefined1 local_b08 [16]; + undefined1 local_af8 [16]; + undefined1 local_ae8 [16]; + undefined1 local_ad8 [16]; + undefined1 local_ac8 [16]; + undefined1 local_ab8 [16]; + undefined1 local_aa8 [16]; + undefined1 local_a98 [16]; + undefined1 local_a88 [16]; + undefined1 local_a78 [16]; + undefined1 local_a68 [16]; + undefined1 local_a58 [16]; + undefined1 local_a48 [16]; + undefined1 local_a38 [16]; + undefined1 local_a28 [16]; + undefined1 local_a18 [16]; + undefined1 local_a08 [16]; + undefined1 local_9f8 [16]; + undefined1 local_9e8 [16]; + undefined1 local_9d8 [16]; + undefined1 local_9c8 [16]; + undefined1 local_9b8 [16]; + undefined1 local_9a8 [16]; + undefined1 local_998 [16]; + undefined1 local_988 [16]; + undefined1 local_978 [16]; + undefined1 local_968 [16]; + undefined1 local_958 [16]; + undefined1 local_948 [16]; + undefined1 local_938 [16]; + undefined1 local_928 [16]; + undefined1 local_918 [16]; + undefined1 local_908 [16]; + undefined1 local_8f8 [16]; + undefined1 local_8e8 [16]; + undefined1 local_8d8 [16]; + undefined1 local_8c8 [16]; + undefined1 local_8b8 [16]; + undefined1 local_8a8 [16]; + undefined1 local_898 [16]; + undefined1 local_888 [16]; + undefined1 local_878 [16]; + undefined1 local_868 [16]; + undefined1 local_858 [16]; + undefined1 local_848 [16]; + undefined1 local_838 [16]; + undefined1 local_828 [16]; + undefined1 local_818 [16]; + undefined1 local_808 [16]; + undefined1 local_7f8 [16]; + undefined1 local_7e8 [16]; + undefined1 local_7d8 [16]; + undefined1 local_7c8 [16]; + undefined1 local_7b8 [16]; + undefined1 local_7a8 [16]; + undefined1 local_798 [16]; + undefined1 local_788 [16]; + undefined1 local_778 [16]; + undefined1 local_768 [16]; + undefined1 local_758 [16]; + undefined1 local_748 [16]; + undefined1 local_738 [16]; + undefined1 local_728 [16]; + undefined1 local_718 [16]; + undefined1 local_708 [16]; + undefined1 local_6f8 [16]; + undefined1 local_6e8 [16]; + undefined1 local_6d8 [16]; + undefined1 local_6c8 [16]; + undefined1 local_6b8 [16]; + undefined1 local_6a8 [16]; + undefined1 local_698 [16]; + undefined1 local_688 [16]; + undefined1 local_678 [16]; + undefined1 local_668 [16]; + undefined1 local_658 [16]; + undefined1 local_648 [16]; + undefined1 local_638 [16]; + undefined1 local_628 [16]; + undefined1 local_618 [16]; + undefined1 local_608 [16]; + undefined1 local_5f8 [16]; + undefined1 local_5e8 [16]; + undefined1 local_5d8 [16]; + undefined1 local_5c8 [16]; + undefined1 local_5b8 [16]; + undefined1 local_5a8 [16]; + undefined1 local_598 [16]; + undefined1 local_588 [16]; + undefined1 local_578 [16]; + undefined1 local_568 [16]; + undefined1 local_558 [16]; + undefined1 local_548 [16]; + undefined1 local_538 [16]; + undefined1 local_528 [16]; + undefined1 local_518 [16]; + undefined1 local_508 [16]; + undefined1 local_4f8 [16]; + undefined1 local_4e8 [16]; + undefined1 local_4d8 [16]; + undefined1 local_4c8 [16]; + undefined1 local_4b8 [16]; + undefined1 local_4a8 [16]; + undefined1 local_498 [16]; + undefined1 local_488 [16]; + undefined1 local_478 [16]; + undefined1 local_468 [16]; + undefined1 local_458 [16]; + undefined1 local_448 [16]; + undefined1 local_438 [16]; + undefined1 local_428 [16]; + undefined1 local_418 [16]; + undefined1 local_408 [16]; + undefined1 local_3f8 [16]; + undefined1 local_3e8 [16]; + undefined1 local_3d8 [16]; + undefined1 local_3c8 [16]; + undefined1 local_3b8 [16]; + undefined1 local_3a8 [16]; + undefined1 local_398 [16]; + undefined1 local_388 [16]; + undefined1 local_378 [16]; + undefined1 local_368 [16]; + undefined1 local_358 [16]; + undefined1 local_348 [16]; + undefined1 local_338 [16]; + undefined1 local_328 [16]; + undefined1 local_318 [16]; + undefined1 local_308 [16]; + undefined1 local_2f8 [16]; + undefined1 local_2e8 [16]; + undefined1 local_2d8 [16]; + undefined1 local_2c8 [16]; + undefined1 local_2b8 [16]; + undefined1 local_2a8 [16]; + undefined1 local_298 [16]; + undefined1 local_288 [16]; + undefined1 local_278 [16]; + undefined1 local_268 [16]; + undefined1 local_258 [16]; + undefined1 local_248 [16]; + undefined1 local_238 [16]; + undefined1 local_228 [16]; + undefined1 local_218 [16]; + undefined1 local_208 [16]; + longlong local_1f8; + ulonglong local_1f0; + ulonglong local_1e8; + ulonglong local_1e0; + ulonglong local_1d8; + ulonglong local_1d0; + ulonglong local_1c8; + ulonglong local_1c0; + ulonglong local_1b8; + ulonglong local_1b0; + ulonglong local_1a8; + ulonglong local_1a0; + ulonglong local_198; + longlong local_190; + longlong local_188; + longlong local_180; + longlong local_178; + uint local_170; + ulonglong local_168; + ulonglong local_160; + ulonglong local_158; + ulonglong local_150; + ulonglong local_148; + ulonglong local_140; + ulonglong local_138; + ulonglong local_130; + ulonglong local_128; + ulonglong local_120; + ulonglong local_118; + byte local_110; + undefined1 local_78 [16]; + uint local_68; + uint local_60; + uint local_58; + uint local_48; + undefined1 auVar219 [32]; + double dVar282; + undefined1 auVar304 [32]; + undefined1 auVar336 [32]; + + local_78 = in_ZMM15._0_16_; + uVar22 = DAT_182615970 ^ (ulonglong)auStack_2798; + local_48 = 0; + if ((int)param_4 < 1) { + if ((uVar22 ^ (ulonglong)auStack_2798) == DAT_182615970) { + return 0xfffffffa; + } + } + else { + if (((param_1 != 0) && (param_2 != 0)) && (param_3 != 0)) { + local_110 = (in_FPUControlWord & 0x3f) != 0x3f; + if ((bool)local_110) { + local_2758 = CONCAT22(local_2758._2_2_,in_FPUControlWord) | 0x3f; + } + local_68 = vstmxcsr_avx(); + local_58 = local_68; + if ((local_68 & 0xffc0) != 0x1f80) { + local_110 = local_110 + 2; + local_58 = (local_68 & 0xffff003f) + 0x1f80; + vldmxcsr_avx(local_58); + } + lVar31 = 0; + local_60 = param_4; + if (0 < (int)(param_4 & 0xfffffff0)) { + lVar38 = (longlong)(int)(param_4 & 0xfffffff0); + do { + auVar58 = *(undefined1 (*) [16])(param_1 + lVar31 * 8); + auVar341 = *(undefined1 (*) [16])(param_1 + 0x10 + lVar31 * 8); + auVar175._16_16_ = auVar341; + auVar175._0_16_ = auVar58; + auVar88._8_8_ = _UNK_181ca3b48; + auVar88._0_8_ = _DAT_181ca3b40; + auVar88._16_8_ = _UNK_181ca3b50; + auVar88._24_8_ = _UNK_181ca3b58; + auVar111 = *(undefined1 (*) [16])(param_1 + 0x20 + lVar31 * 8); + local_19e0 = vandpd_avx(auVar88,auVar175); + local_18e0 = vcmppd_avx(auVar175,local_19e0,0); + auVar129 = *(undefined1 (*) [16])(param_1 + 0x30 + lVar31 * 8); + auVar212._16_16_ = auVar129; + auVar212._0_16_ = auVar111; + auVar286 = *(undefined1 (*) [16])(param_1 + 0x40 + lVar31 * 8); + local_19c0 = vandpd_avx(auVar88,auVar212); + local_1900 = vcmppd_avx(auVar212,local_19c0,0); + local_17a0 = vandnpd_avx(auVar88,auVar212); + auVar130 = *(undefined1 (*) [16])(param_1 + 0x50 + lVar31 * 8); + auVar260._16_16_ = auVar130; + auVar260._0_16_ = auVar286; + auVar59 = *(undefined1 (*) [16])(param_1 + 0x60 + lVar31 * 8); + local_1a00 = vandpd_avx(auVar88,auVar260); + local_17c0 = vandnpd_avx(auVar88,auVar260); + local_1920 = vcmppd_avx(auVar260,local_1a00,0); + auVar112 = *(undefined1 (*) [16])(param_1 + 0x70 + lVar31 * 8); + auVar235._16_16_ = auVar112; + auVar235._0_16_ = auVar59; + local_1840 = vandnpd_avx(auVar88,auVar175); + dVar281 = (double)DAT_181ca3c80; + auVar39._0_8_ = dVar281 + local_1840._0_8_ * _DAT_181ca3c40; + dVar311 = DAT_181ca3c80._8_8_; + auVar39._8_8_ = dVar311 + local_1840._8_8_ * _UNK_181ca3c48; + dVar312 = DAT_181ca3c80._16_8_; + auVar176._16_8_ = dVar312 + local_1840._16_8_ * _UNK_181ca3c50; + auVar176._0_16_ = auVar39; + dVar313 = DAT_181ca3c80._24_8_; + auVar176._24_8_ = dVar313 + local_1840._24_8_ * _UNK_181ca3c58; + auVar40._0_8_ = dVar281 + local_17c0._0_8_ * _DAT_181ca3c40; + auVar40._8_8_ = dVar311 + local_17c0._8_8_ * _UNK_181ca3c48; + auVar213._16_8_ = dVar312 + local_17c0._16_8_ * _UNK_181ca3c50; + auVar213._0_16_ = auVar40; + auVar213._24_8_ = dVar313 + local_17c0._24_8_ * _UNK_181ca3c58; + local_1a20 = vandpd_avx(auVar88,auVar235); + local_1940 = vcmppd_avx(auVar235,local_1a20,0); + auVar315._0_8_ = dVar281 + local_17a0._0_8_ * _DAT_181ca3c40; + auVar315._8_8_ = dVar311 + local_17a0._8_8_ * _UNK_181ca3c48; + auVar353._16_8_ = dVar312 + local_17a0._16_8_ * _UNK_181ca3c50; + auVar353._0_16_ = auVar315; + auVar353._24_8_ = dVar313 + local_17a0._24_8_ * _UNK_181ca3c58; + local_17e0 = vandnpd_avx(auVar88,auVar235); + auVar57._0_8_ = dVar281 + local_17e0._0_8_ * _DAT_181ca3c40; + auVar57._8_8_ = dVar311 + local_17e0._8_8_ * _UNK_181ca3c48; + auVar134._16_8_ = dVar312 + local_17e0._16_8_ * _UNK_181ca3c50; + auVar134._0_16_ = auVar57; + auVar134._24_8_ = dVar313 + local_17e0._24_8_ * _UNK_181ca3c58; + auVar283 = vpsllq_avx(auVar39,0x3f); + auVar247 = vpsllq_avx(auVar176._16_16_,0x3f); + auVar39 = vpsllq_avx(auVar315,0x3f); + auVar63._16_16_ = auVar247; + auVar63._0_16_ = auVar283; + auVar284 = vpsllq_avx(auVar353._16_16_,0x3f); + auVar248 = vpsllq_avx(auVar40,0x3f); + auVar236._16_16_ = auVar284; + auVar236._0_16_ = auVar39; + auVar40 = vpsllq_avx(auVar213._16_16_,0x3f); + auVar285 = vpsllq_avx(auVar57,0x3f); + auVar57 = vpsllq_avx(auVar134._16_16_,0x3f); + auVar270._16_16_ = auVar40; + auVar270._0_16_ = auVar248; + auVar66 = vsubpd_avx(auVar176,_DAT_181ca3c80); + auVar85 = vsubpd_avx(auVar353,_DAT_181ca3c80); + local_16c0 = vsubpd_avx(auVar134,_DAT_181ca3c80); + auVar41._16_16_ = auVar57; + auVar41._0_16_ = auVar285; + dVar281 = local_16c0._0_8_; + auVar64._0_8_ = _DAT_181ca3d00 * dVar281; + dVar187 = local_16c0._8_8_; + auVar64._8_8_ = _UNK_181ca3d08 * dVar187; + dVar80 = local_16c0._16_8_; + auVar64._16_8_ = _UNK_181ca3d10 * dVar80; + dVar104 = local_16c0._24_8_; + auVar64._24_8_ = _UNK_181ca3d18 * dVar104; + local_16e0 = vsubpd_avx(auVar213,_DAT_181ca3c80); + dVar311 = auVar66._0_8_; + auVar84._0_8_ = _DAT_181ca3d00 * dVar311; + dVar205 = auVar66._8_8_; + auVar84._8_8_ = _UNK_181ca3d08 * dVar205; + dVar81 = auVar66._16_8_; + auVar84._16_8_ = _UNK_181ca3d10 * dVar81; + dVar105 = auVar66._24_8_; + auVar84._24_8_ = _UNK_181ca3d18 * dVar105; + dVar312 = auVar85._0_8_; + auVar214._0_8_ = _DAT_181ca3d00 * dVar312; + dVar189 = auVar85._8_8_; + auVar214._8_8_ = _UNK_181ca3d08 * dVar189; + dVar100 = auVar85._16_8_; + auVar214._16_8_ = _UNK_181ca3d10 * dVar100; + dVar108 = auVar85._24_8_; + auVar214._24_8_ = _UNK_181ca3d18 * dVar108; + auVar66 = vsubpd_avx(local_1840,auVar84); + auVar85 = vsubpd_avx(local_17a0,auVar214); + dVar313 = local_16e0._0_8_; + auVar215._0_8_ = _DAT_181ca3d00 * dVar313; + dVar224 = local_16e0._8_8_; + auVar215._8_8_ = _UNK_181ca3d08 * dVar224; + dVar101 = local_16e0._16_8_; + auVar215._16_8_ = _UNK_181ca3d10 * dVar101; + dVar109 = local_16e0._24_8_; + auVar215._24_8_ = _UNK_181ca3d18 * dVar109; + auVar84 = vsubpd_avx(local_17c0,auVar215); + auVar51 = vsubpd_avx(local_17e0,auVar64); + auVar65._0_8_ = _DAT_181ca3d40 * dVar311; + auVar65._8_8_ = _UNK_181ca3d48 * dVar205; + auVar65._16_8_ = _UNK_181ca3d50 * dVar81; + auVar65._24_8_ = _UNK_181ca3d58 * dVar105; + auVar64 = vsubpd_avx(auVar66,auVar65); + auVar66._0_8_ = _DAT_181ca3d40 * dVar312; + auVar66._8_8_ = _UNK_181ca3d48 * dVar189; + auVar66._16_8_ = _UNK_181ca3d50 * dVar100; + auVar66._24_8_ = _UNK_181ca3d58 * dVar108; + local_16a0 = vsubpd_avx(auVar85,auVar66); + auVar85._0_8_ = _DAT_181ca3d40 * dVar313; + auVar85._8_8_ = _UNK_181ca3d48 * dVar224; + auVar85._16_8_ = _UNK_181ca3d50 * dVar101; + auVar85._24_8_ = _UNK_181ca3d58 * dVar109; + local_1680 = vsubpd_avx(auVar84,auVar85); + auVar237._0_8_ = _DAT_181ca3d40 * dVar281; + auVar237._8_8_ = _UNK_181ca3d48 * dVar187; + auVar237._16_8_ = _UNK_181ca3d50 * dVar80; + auVar237._24_8_ = _UNK_181ca3d58 * dVar104; + local_1660 = vsubpd_avx(auVar51,auVar237); + local_1640 = vandpd_avx(auVar88,auVar64); + local_1620 = vandpd_avx(auVar88,local_16a0); + local_1600 = vandpd_avx(auVar88,local_1680); + local_15e0 = vandpd_avx(auVar88,local_1660); + auVar66 = vorpd_avx(_DAT_181ca3cc0,local_1640); + dVar204 = auVar66._0_8_ + dVar311; + dVar223 = auVar66._8_8_ + dVar205; + dVar225 = auVar66._16_8_ + dVar81; + dVar226 = auVar66._24_8_ + dVar105; + auVar66 = vorpd_avx(_DAT_181ca3cc0,local_1620); + auVar85 = vorpd_avx(_DAT_181ca3cc0,local_1600); + auVar84 = vorpd_avx(_DAT_181ca3cc0,local_15e0); + dVar314 = auVar85._0_8_ + dVar313; + dVar338 = auVar85._8_8_ + dVar224; + dVar339 = auVar85._16_8_ + dVar101; + dVar340 = auVar85._24_8_ + dVar109; + local_15c0 = auVar84._0_8_ + dVar281; + dStack_15b8 = auVar84._8_8_ + dVar187; + dStack_15b0 = auVar84._16_8_ + dVar80; + dStack_15a8 = auVar84._24_8_ + dVar104; + dVar56 = auVar66._0_8_ + dVar312; + dVar76 = auVar66._8_8_ + dVar189; + dVar77 = auVar66._16_8_ + dVar100; + dVar78 = auVar66._24_8_ + dVar108; + auVar238._0_8_ = _DAT_181ca3d00 * dVar204; + auVar238._8_8_ = _UNK_181ca3d08 * dVar223; + auVar238._16_8_ = _UNK_181ca3d10 * dVar225; + auVar238._24_8_ = _UNK_181ca3d18 * dVar226; + auVar66 = vsubpd_avx(local_1840,auVar238); + auVar239._0_8_ = _DAT_181ca3d00 * dVar56; + auVar239._8_8_ = _UNK_181ca3d08 * dVar76; + auVar239._16_8_ = _UNK_181ca3d10 * dVar77; + auVar239._24_8_ = _UNK_181ca3d18 * dVar78; + auVar85 = vsubpd_avx(local_17a0,auVar239); + auVar240._0_8_ = _DAT_181ca3d00 * dVar314; + auVar240._8_8_ = _UNK_181ca3d08 * dVar338; + auVar240._16_8_ = _UNK_181ca3d10 * dVar339; + auVar240._24_8_ = _UNK_181ca3d18 * dVar340; + auVar84 = vsubpd_avx(local_17c0,auVar240); + auVar156._0_8_ = _DAT_181ca3d00 * local_15c0; + auVar156._8_8_ = _UNK_181ca3d08 * dStack_15b8; + auVar156._16_8_ = _UNK_181ca3d10 * dStack_15b0; + auVar156._24_8_ = _UNK_181ca3d18 * dStack_15a8; + auVar51 = vsubpd_avx(local_17e0,auVar156); + auVar197._0_8_ = _DAT_181ca3d40 * dVar204; + auVar197._8_8_ = _UNK_181ca3d48 * dVar223; + auVar197._16_8_ = _UNK_181ca3d50 * dVar225; + auVar197._24_8_ = _UNK_181ca3d58 * dVar226; + auVar66 = vsubpd_avx(auVar66,auVar197); + auVar117._0_8_ = _DAT_181ca3d40 * dVar56; + auVar117._8_8_ = _UNK_181ca3d48 * dVar76; + auVar117._16_8_ = _UNK_181ca3d50 * dVar77; + auVar117._24_8_ = _UNK_181ca3d58 * dVar78; + auVar85 = vsubpd_avx(auVar85,auVar117); + auVar50._0_8_ = _DAT_181ca3d40 * dVar314; + auVar50._8_8_ = _UNK_181ca3d48 * dVar338; + auVar50._16_8_ = _UNK_181ca3d50 * dVar339; + auVar50._24_8_ = _UNK_181ca3d58 * dVar340; + auVar135._0_8_ = _DAT_181ca3d40 * local_15c0; + auVar135._8_8_ = _UNK_181ca3d48 * dStack_15b8; + auVar135._16_8_ = _UNK_181ca3d50 * dStack_15b0; + auVar135._24_8_ = _UNK_181ca3d58 * dStack_15a8; + auVar84 = vsubpd_avx(auVar84,auVar50); + auVar51 = vsubpd_avx(auVar51,auVar135); + auVar136._0_8_ = _DAT_181ca3d80 * dVar311; + auVar136._8_8_ = _UNK_181ca3d88 * dVar205; + auVar136._16_8_ = _UNK_181ca3d90 * dVar81; + auVar136._24_8_ = _UNK_181ca3d98 * dVar105; + auVar86._0_8_ = _DAT_181ca3d80 * local_15c0; + auVar86._8_8_ = _UNK_181ca3d88 * dStack_15b8; + auVar86._16_8_ = _UNK_181ca3d90 * dStack_15b0; + auVar86._24_8_ = _UNK_181ca3d98 * dStack_15a8; + auVar64 = vsubpd_avx(auVar64,auVar136); + auVar137._0_8_ = _DAT_181ca3d80 * dVar312; + auVar137._8_8_ = _UNK_181ca3d88 * dVar189; + auVar137._16_8_ = _UNK_181ca3d90 * dVar100; + auVar137._24_8_ = _UNK_181ca3d98 * dVar108; + auVar88 = vsubpd_avx(local_16a0,auVar137); + auVar301._0_8_ = _DAT_181ca3d80 * dVar313; + auVar301._8_8_ = _UNK_181ca3d88 * dVar224; + auVar301._16_8_ = _UNK_181ca3d90 * dVar101; + auVar301._24_8_ = _UNK_181ca3d98 * dVar109; + auVar50 = vsubpd_avx(local_1680,auVar301); + auVar302._0_8_ = _DAT_181ca3d80 * dVar281; + auVar302._8_8_ = _UNK_181ca3d88 * dVar187; + auVar302._16_8_ = _UNK_181ca3d90 * dVar80; + auVar302._24_8_ = _UNK_181ca3d98 * dVar104; + auVar65 = vsubpd_avx(local_1660,auVar302); + auVar303._0_8_ = _DAT_181ca3d80 * dVar204; + auVar303._8_8_ = _UNK_181ca3d88 * dVar223; + auVar303._16_8_ = _UNK_181ca3d90 * dVar225; + auVar303._24_8_ = _UNK_181ca3d98 * dVar226; + auVar66 = vsubpd_avx(auVar66,auVar303); + auVar354._0_8_ = _DAT_181ca3d80 * dVar56; + auVar354._8_8_ = _UNK_181ca3d88 * dVar76; + auVar354._16_8_ = _UNK_181ca3d90 * dVar77; + auVar354._24_8_ = _UNK_181ca3d98 * dVar78; + auVar85 = vsubpd_avx(auVar85,auVar354); + auVar355._0_8_ = _DAT_181ca3d80 * dVar314; + auVar355._8_8_ = _UNK_181ca3d88 * dVar338; + auVar355._16_8_ = _UNK_181ca3d90 * dVar339; + auVar355._24_8_ = _UNK_181ca3d98 * dVar340; + local_1580 = vsubpd_avx(auVar51,auVar86); + local_15a0 = vsubpd_avx(auVar84,auVar355); + local_1820._0_8_ = auVar248._0_8_; + local_1820._8_8_ = auVar248._8_8_; + local_1820._16_8_ = auVar40._0_8_; + local_1820._24_8_ = auVar40._8_8_; + local_18c0 = _DAT_181ca3b40 ^ local_1600._0_8_ ^ local_1820._0_8_; + uStack_18b8 = _UNK_181ca3b48 ^ local_1600._8_8_ ^ local_1820._8_8_; + uStack_18b0 = _UNK_181ca3b50 ^ local_1600._16_8_ ^ local_1820._16_8_; + uStack_18a8 = _UNK_181ca3b58 ^ local_1600._24_8_ ^ local_1820._24_8_; + auVar261._0_8_ = _DAT_181ca3dc0 * dVar311; + auVar261._8_8_ = _UNK_181ca3dc8 * dVar205; + auVar261._16_8_ = _UNK_181ca3dd0 * dVar81; + auVar261._24_8_ = _UNK_181ca3dd8 * dVar105; + auVar177._0_8_ = _DAT_181ca3dc0 * dVar312; + auVar177._8_8_ = _UNK_181ca3dc8 * dVar189; + auVar177._16_8_ = _UNK_181ca3dd0 * dVar100; + auVar177._24_8_ = _UNK_181ca3dd8 * dVar108; + auVar216._0_8_ = _DAT_181ca3dc0 * dVar204; + auVar216._8_8_ = _UNK_181ca3dc8 * dVar223; + auVar216._16_8_ = _UNK_181ca3dd0 * dVar225; + auVar216._24_8_ = _UNK_181ca3dd8 * dVar226; + local_1700._0_8_ = auVar39._0_8_; + local_1700._8_8_ = auVar39._8_8_; + local_1700._16_8_ = auVar284._0_8_; + local_1700._24_8_ = auVar284._8_8_; + local_18a0 = _DAT_181ca3b40 ^ local_1620._0_8_ ^ local_1700._0_8_; + uStack_1898 = _UNK_181ca3b48 ^ local_1620._8_8_ ^ local_1700._8_8_; + uStack_1890 = _UNK_181ca3b50 ^ local_1620._16_8_ ^ local_1700._16_8_; + uStack_1888 = _UNK_181ca3b58 ^ local_1620._24_8_ ^ local_1700._24_8_; + local_1800._0_8_ = auVar285._0_8_; + local_1800._8_8_ = auVar285._8_8_; + local_1800._16_8_ = auVar57._0_8_; + local_1800._24_8_ = auVar57._8_8_; + local_1860 = _DAT_181ca3b40 ^ local_15e0._0_8_ ^ local_1800._0_8_; + uStack_1858 = _UNK_181ca3b48 ^ local_15e0._8_8_ ^ local_1800._8_8_; + uStack_1850 = _UNK_181ca3b50 ^ local_15e0._16_8_ ^ local_1800._16_8_; + uStack_1848 = _UNK_181ca3b58 ^ local_15e0._24_8_ ^ local_1800._24_8_; + local_1560 = vsubpd_avx(auVar64,auVar261); + local_1540 = vsubpd_avx(auVar88,auVar177); + auVar241._0_8_ = _DAT_181ca3dc0 * dVar313; + auVar241._8_8_ = _UNK_181ca3dc8 * dVar224; + auVar241._16_8_ = _UNK_181ca3dd0 * dVar101; + auVar241._24_8_ = _UNK_181ca3dd8 * dVar109; + auVar138._0_8_ = _DAT_181ca3dc0 * dVar56; + auVar138._8_8_ = _UNK_181ca3dc8 * dVar76; + auVar138._16_8_ = _UNK_181ca3dd0 * dVar77; + auVar138._24_8_ = _UNK_181ca3dd8 * dVar78; + auVar178._0_8_ = _DAT_181ca3dc0 * dVar281; + auVar178._8_8_ = _UNK_181ca3dc8 * dVar187; + auVar178._16_8_ = _UNK_181ca3dd0 * dVar80; + auVar178._24_8_ = _UNK_181ca3dd8 * dVar104; + local_1500 = vsubpd_avx(auVar65,auVar178); + dVar281 = local_1560._0_8_; + dVar168 = dVar281 * dVar281; + dVar80 = local_1560._8_8_; + dVar185 = dVar80 * dVar80; + dVar56 = local_1560._16_8_; + dVar186 = dVar56 * dVar56; + dVar265 = local_1560._24_8_; + dVar188 = dVar265 * dVar265; + dVar311 = local_1540._0_8_; + dVar146 = dVar311 * dVar311; + dVar81 = local_1540._8_8_; + dVar165 = dVar81 * dVar81; + dVar76 = local_1540._16_8_; + dVar166 = dVar76 * dVar76; + dVar282 = local_1540._24_8_; + dVar167 = dVar282 * dVar282; + local_1720._0_8_ = auVar283._0_8_; + local_1720._8_8_ = auVar283._8_8_; + local_1720._16_8_ = auVar247._0_8_; + local_1720._24_8_ = auVar247._8_8_; + local_1880 = _DAT_181ca3b40 ^ local_1640._0_8_ ^ local_1720._0_8_; + uStack_1878 = _UNK_181ca3b48 ^ local_1640._8_8_ ^ local_1720._8_8_; + uStack_1870 = _UNK_181ca3b50 ^ local_1640._16_8_ ^ local_1720._16_8_; + uStack_1868 = _UNK_181ca3b58 ^ local_1640._24_8_ ^ local_1720._24_8_; + local_1520 = vsubpd_avx(auVar50,auVar241); + local_14c0 = vsubpd_avx(auVar85,auVar138); + local_14e0 = vsubpd_avx(auVar66,auVar216); + auVar198._0_8_ = _DAT_181ca3dc0 * dVar314; + auVar198._8_8_ = _UNK_181ca3dc8 * dVar338; + auVar198._16_8_ = _UNK_181ca3dd0 * dVar339; + auVar198._24_8_ = _UNK_181ca3dd8 * dVar340; + auVar217._0_8_ = _DAT_181ca3dc0 * local_15c0; + auVar217._8_8_ = _UNK_181ca3dc8 * dStack_15b8; + auVar217._16_8_ = _UNK_181ca3dd0 * dStack_15b0; + auVar217._24_8_ = _UNK_181ca3dd8 * dStack_15a8; + dVar312 = local_1500._0_8_; + dVar79 = dVar312 * dVar312; + dVar100 = local_1500._8_8_; + dVar99 = dVar100 * dVar100; + dVar77 = local_1500._16_8_; + dVar102 = dVar77 * dVar77; + dVar314 = local_1500._24_8_; + dVar106 = dVar314 * dVar314; + dVar313 = local_14e0._0_8_; + local_1460 = dVar313 * dVar313; + dVar101 = local_14e0._8_8_; + dStack_1458 = dVar101 * dVar101; + dVar78 = local_14e0._16_8_; + dVar103 = local_14e0._24_8_; + dStack_1450 = dVar78 * dVar78; + dStack_1448 = dVar103 * dVar103; + dVar187 = local_1520._0_8_; + dVar110 = dVar187 * dVar187; + dVar104 = local_1520._8_8_; + dVar125 = dVar104 * dVar104; + dVar204 = local_1520._16_8_; + dVar126 = dVar204 * dVar204; + dVar338 = local_1520._24_8_; + dVar127 = dVar338 * dVar338; + local_14a0 = vsubpd_avx(local_15a0,auVar198); + local_1480 = vsubpd_avx(local_1580,auVar217); + dVar205 = local_1480._0_8_; + dVar128 = dVar205 * dVar205; + dVar105 = local_1480._8_8_; + dVar143 = dVar105 * dVar105; + dVar223 = local_1480._16_8_; + dVar107 = local_1480._24_8_; + dVar144 = dVar223 * dVar223; + dVar145 = dVar107 * dVar107; + dVar189 = local_14c0._0_8_; + local_1440 = dVar189 * dVar189; + dVar108 = local_14c0._8_8_; + dStack_1438 = dVar108 * dVar108; + dVar225 = local_14c0._16_8_; + dStack_1430 = dVar225 * dVar225; + dVar339 = local_14c0._24_8_; + dStack_1428 = dVar339 * dVar339; + dVar224 = local_14a0._0_8_; + local_1420 = dVar224 * dVar224; + dVar109 = local_14a0._8_8_; + dStack_1418 = dVar109 * dVar109; + dVar226 = local_14a0._16_8_; + dStack_1410 = dVar226 * dVar226; + dVar340 = local_14a0._24_8_; + dStack_1408 = dVar340 * dVar340; + local_1400 = _DAT_181ca4100 + local_1440 * (_DAT_181ca4140 + _DAT_181ca4180 * local_1440); + dStack_13f8 = _UNK_181ca4108 + + dStack_1438 * (_UNK_181ca4148 + _UNK_181ca4188 * dStack_1438); + dStack_13f0 = _UNK_181ca4110 + + dStack_1430 * (_UNK_181ca4150 + _UNK_181ca4190 * dStack_1430); + dStack_13e8 = _UNK_181ca4118 + + dStack_1428 * (_UNK_181ca4158 + _UNK_181ca4198 * dStack_1428); + local_13e0 = _DAT_181ca4080 + + local_1460 * + (_DAT_181ca40c0 + + local_1460 * + (_DAT_181ca4100 + local_1460 * (_DAT_181ca4140 + _DAT_181ca4180 * local_1460) + )); + dStack_13d8 = _UNK_181ca4088 + + dStack_1458 * + (_UNK_181ca40c8 + + dStack_1458 * + (_UNK_181ca4108 + + dStack_1458 * (_UNK_181ca4148 + _UNK_181ca4188 * dStack_1458))); + dStack_13d0 = _UNK_181ca4090 + + dStack_1450 * + (_UNK_181ca40d0 + + dStack_1450 * + (_UNK_181ca4110 + + dStack_1450 * (_UNK_181ca4150 + _UNK_181ca4190 * dStack_1450))); + dStack_13c8 = _UNK_181ca4098 + + dStack_1448 * + (_UNK_181ca40d8 + + dStack_1448 * + (_UNK_181ca4118 + + dStack_1448 * (_UNK_181ca4158 + _UNK_181ca4198 * dStack_1448))); + local_13c0 = _DAT_181ca3fc0 + + dVar79 * (_DAT_181ca4000 + + dVar79 * (_DAT_181ca4080 + + dVar79 * (_DAT_181ca40c0 + + dVar79 * (_DAT_181ca4100 + + dVar79 * (_DAT_181ca4140 + + _DAT_181ca4180 * dVar79))))); + dStack_13b8 = _UNK_181ca3fc8 + + dVar99 * (_UNK_181ca4008 + + dVar99 * (_UNK_181ca4088 + + dVar99 * (_UNK_181ca40c8 + + dVar99 * (_UNK_181ca4108 + + dVar99 * (_UNK_181ca4148 + + _UNK_181ca4188 * dVar99))))); + dStack_13b0 = _UNK_181ca3fd0 + + dVar102 * (_UNK_181ca4010 + + dVar102 * (_UNK_181ca4090 + + dVar102 * (_UNK_181ca40d0 + + dVar102 * (_UNK_181ca4110 + + dVar102 * (_UNK_181ca4150 + + _UNK_181ca4190 * dVar102)) + ))); + dStack_13a8 = _UNK_181ca3fd8 + + dVar106 * (_UNK_181ca4018 + + dVar106 * (_UNK_181ca4098 + + dVar106 * (_UNK_181ca40d8 + + dVar106 * (_UNK_181ca4118 + + dVar106 * (_UNK_181ca4158 + + _UNK_181ca4198 * dVar106)) + ))); + auVar285._0_8_ = + (ulonglong) + (dVar281 + + dVar281 * dVar168 * (_DAT_181ca3fc0 + + dVar168 * (_DAT_181ca4000 + + dVar168 * (_DAT_181ca4080 + + dVar168 * (_DAT_181ca40c0 + + dVar168 * (_DAT_181ca4100 + + dVar168 * (_DAT_181ca4140 + + + _DAT_181ca4180 * dVar168))))))) ^ + local_1720._0_8_ ^ local_19e0._0_8_; + auVar285._8_8_ = + (ulonglong) + (dVar80 + dVar80 * dVar185 * (_UNK_181ca3fc8 + + dVar185 * (_UNK_181ca4008 + + dVar185 * (_UNK_181ca4088 + + dVar185 * (_UNK_181ca40c8 + + dVar185 * (_UNK_181ca4108 + + dVar185 * ( + _UNK_181ca4148 + _UNK_181ca4188 * dVar185))))))) ^ + local_1720._8_8_ ^ local_19e0._8_8_; + auVar271._16_8_ = + (ulonglong) + (dVar56 + dVar56 * dVar186 * (_UNK_181ca3fd0 + + dVar186 * (_UNK_181ca4010 + + dVar186 * (_UNK_181ca4090 + + dVar186 * (_UNK_181ca40d0 + + dVar186 * (_UNK_181ca4110 + + dVar186 * ( + _UNK_181ca4150 + _UNK_181ca4190 * dVar186))))))) ^ + local_1720._16_8_ ^ local_19e0._16_8_; + auVar271._0_16_ = auVar285; + auVar271._24_8_ = + (ulonglong) + (dVar265 + + dVar265 * dVar188 * (_UNK_181ca3fd8 + + dVar188 * (_UNK_181ca4018 + + dVar188 * (_UNK_181ca4098 + + dVar188 * (_UNK_181ca40d8 + + dVar188 * (_UNK_181ca4118 + + dVar188 * (_UNK_181ca4158 + + + _UNK_181ca4198 * dVar188))))))) ^ + local_1720._24_8_ ^ local_19e0._24_8_; + auVar248._0_8_ = + (ulonglong)(dVar312 + dVar312 * dVar79 * local_13c0) ^ + local_1800._0_8_ ^ local_1a20._0_8_; + auVar248._8_8_ = + (ulonglong)(dVar100 + dVar100 * dVar99 * dStack_13b8) ^ + local_1800._8_8_ ^ local_1a20._8_8_; + auVar218._16_8_ = + (ulonglong)(dVar77 + dVar77 * dVar102 * dStack_13b0) ^ + local_1800._16_8_ ^ local_1a20._16_8_; + auVar218._0_16_ = auVar248; + auVar218._24_8_ = + (ulonglong)(dVar314 + dVar314 * dVar106 * dStack_13a8) ^ + local_1800._24_8_ ^ local_1a20._24_8_; + auVar334._0_8_ = + (ulonglong) + (dVar224 + + dVar224 * local_1420 * + (_DAT_181ca3fc0 + + local_1420 * + (_DAT_181ca4000 + + local_1420 * + (_DAT_181ca4080 + + local_1420 * + (_DAT_181ca40c0 + + local_1420 * + (_DAT_181ca4100 + + local_1420 * (_DAT_181ca4140 + _DAT_181ca4180 * local_1420))))))) ^ + local_18c0; + auVar334._8_8_ = + (ulonglong) + (dVar109 + + dVar109 * dStack_1418 * + (_UNK_181ca3fc8 + + dStack_1418 * + (_UNK_181ca4008 + + dStack_1418 * + (_UNK_181ca4088 + + dStack_1418 * + (_UNK_181ca40c8 + + dStack_1418 * + (_UNK_181ca4108 + + dStack_1418 * (_UNK_181ca4148 + _UNK_181ca4188 * dStack_1418))))))) ^ + uStack_18b8; + auVar334._16_8_ = + (ulonglong) + (dVar226 + + dVar226 * dStack_1410 * + (_UNK_181ca3fd0 + + dStack_1410 * + (_UNK_181ca4010 + + dStack_1410 * + (_UNK_181ca4090 + + dStack_1410 * + (_UNK_181ca40d0 + + dStack_1410 * + (_UNK_181ca4110 + + dStack_1410 * (_UNK_181ca4150 + _UNK_181ca4190 * dStack_1410))))))) ^ + uStack_18b0; + auVar334._24_8_ = + (ulonglong) + (dVar340 + + dVar340 * dStack_1408 * + (_UNK_181ca3fd8 + + dStack_1408 * + (_UNK_181ca4018 + + dStack_1408 * + (_UNK_181ca4098 + + dStack_1408 * + (_UNK_181ca40d8 + + dStack_1408 * + (_UNK_181ca4118 + + dStack_1408 * (_UNK_181ca4158 + _UNK_181ca4198 * dStack_1408))))))) ^ + uStack_18a8; + auVar51._0_8_ = + (ulonglong) + (dVar205 + + dVar205 * dVar128 * (_DAT_181ca3fc0 + + dVar128 * (_DAT_181ca4000 + + dVar128 * (_DAT_181ca4080 + + dVar128 * (_DAT_181ca40c0 + + dVar128 * (_DAT_181ca4100 + + dVar128 * (_DAT_181ca4140 + + + _DAT_181ca4180 * dVar128))))))) ^ local_1860; + auVar51._8_8_ = + (ulonglong) + (dVar105 + + dVar105 * dVar143 * (_UNK_181ca3fc8 + + dVar143 * (_UNK_181ca4008 + + dVar143 * (_UNK_181ca4088 + + dVar143 * (_UNK_181ca40c8 + + dVar143 * (_UNK_181ca4108 + + dVar143 * (_UNK_181ca4148 + + + _UNK_181ca4188 * dVar143))))))) ^ uStack_1858; + auVar51._16_8_ = + (ulonglong) + (dVar223 + + dVar223 * dVar144 * (_UNK_181ca3fd0 + + dVar144 * (_UNK_181ca4010 + + dVar144 * (_UNK_181ca4090 + + dVar144 * (_UNK_181ca40d0 + + dVar144 * (_UNK_181ca4110 + + dVar144 * (_UNK_181ca4150 + + + _UNK_181ca4190 * dVar144))))))) ^ uStack_1850; + auVar51._24_8_ = + (ulonglong) + (dVar107 + + dVar107 * dVar145 * (_UNK_181ca3fd8 + + dVar145 * (_UNK_181ca4018 + + dVar145 * (_UNK_181ca4098 + + dVar145 * (_UNK_181ca40d8 + + dVar145 * (_UNK_181ca4118 + + dVar145 * (_UNK_181ca4158 + + + _UNK_181ca4198 * dVar145))))))) ^ uStack_1848; + local_1740 = vcmppd_avx(_DAT_181ca3bc0,local_17c0,0x19); + auVar283._0_8_ = + (ulonglong) + (dVar187 + + dVar187 * dVar110 * (_DAT_181ca3fc0 + + dVar110 * (_DAT_181ca4000 + + dVar110 * (_DAT_181ca4080 + + dVar110 * (_DAT_181ca40c0 + + dVar110 * (_DAT_181ca4100 + + dVar110 * (_DAT_181ca4140 + + + _DAT_181ca4180 * dVar110))))))) ^ + local_1820._0_8_ ^ local_1a00._0_8_; + auVar283._8_8_ = + (ulonglong) + (dVar104 + + dVar104 * dVar125 * (_UNK_181ca3fc8 + + dVar125 * (_UNK_181ca4008 + + dVar125 * (_UNK_181ca4088 + + dVar125 * (_UNK_181ca40c8 + + dVar125 * (_UNK_181ca4108 + + dVar125 * (_UNK_181ca4148 + + + _UNK_181ca4188 * dVar125))))))) ^ + local_1820._8_8_ ^ local_1a00._8_8_; + auVar242._16_8_ = + (ulonglong) + (dVar204 + + dVar204 * dVar126 * (_UNK_181ca3fd0 + + dVar126 * (_UNK_181ca4010 + + dVar126 * (_UNK_181ca4090 + + dVar126 * (_UNK_181ca40d0 + + dVar126 * (_UNK_181ca4110 + + dVar126 * (_UNK_181ca4150 + + + _UNK_181ca4190 * dVar126))))))) ^ + local_1820._16_8_ ^ local_1a00._16_8_; + auVar242._0_16_ = auVar283; + auVar242._24_8_ = + (ulonglong) + (dVar338 + + dVar338 * dVar127 * (_UNK_181ca3fd8 + + dVar127 * (_UNK_181ca4018 + + dVar127 * (_UNK_181ca4098 + + dVar127 * (_UNK_181ca40d8 + + dVar127 * (_UNK_181ca4118 + + dVar127 * (_UNK_181ca4158 + + + _UNK_181ca4198 * dVar127))))))) ^ + local_1820._24_8_ ^ local_1a00._24_8_; + auVar284._0_8_ = + (ulonglong) + (dVar311 + + dVar311 * dVar146 * (_DAT_181ca3fc0 + + dVar146 * (_DAT_181ca4000 + + dVar146 * (_DAT_181ca4080 + + dVar146 * (_DAT_181ca40c0 + + dVar146 * (_DAT_181ca4100 + + dVar146 * (_DAT_181ca4140 + + + _DAT_181ca4180 * dVar146))))))) ^ + local_1700._0_8_ ^ local_19c0._0_8_; + auVar284._8_8_ = + (ulonglong) + (dVar81 + dVar81 * dVar165 * (_UNK_181ca3fc8 + + dVar165 * (_UNK_181ca4008 + + dVar165 * (_UNK_181ca4088 + + dVar165 * (_UNK_181ca40c8 + + dVar165 * (_UNK_181ca4108 + + dVar165 * ( + _UNK_181ca4148 + _UNK_181ca4188 * dVar165))))))) ^ + local_1700._8_8_ ^ local_19c0._8_8_; + auVar262._16_8_ = + (ulonglong) + (dVar76 + dVar76 * dVar166 * (_UNK_181ca3fd0 + + dVar166 * (_UNK_181ca4010 + + dVar166 * (_UNK_181ca4090 + + dVar166 * (_UNK_181ca40d0 + + dVar166 * (_UNK_181ca4110 + + dVar166 * ( + _UNK_181ca4150 + _UNK_181ca4190 * dVar166))))))) ^ + local_1700._16_8_ ^ local_19c0._16_8_; + auVar262._0_16_ = auVar284; + auVar262._24_8_ = + (ulonglong) + (dVar282 + + dVar282 * dVar167 * (_UNK_181ca3fd8 + + dVar167 * (_UNK_181ca4018 + + dVar167 * (_UNK_181ca4098 + + dVar167 * (_UNK_181ca40d8 + + dVar167 * (_UNK_181ca4118 + + dVar167 * (_UNK_181ca4158 + + + _UNK_181ca4198 * dVar167))))))) ^ + local_1700._24_8_ ^ local_19c0._24_8_; + auVar179._0_8_ = + (ulonglong) + (dVar313 + + dVar313 * local_1460 * + (_DAT_181ca3fc0 + local_1460 * (_DAT_181ca4000 + local_1460 * local_13e0))) + ^ local_1880; + auVar179._8_8_ = + (ulonglong) + (dVar101 + + dVar101 * dStack_1458 * + (_UNK_181ca3fc8 + + dStack_1458 * (_UNK_181ca4008 + dStack_1458 * dStack_13d8))) ^ uStack_1878; + auVar179._16_8_ = + (ulonglong) + (dVar78 + dVar78 * dStack_1450 * + (_UNK_181ca3fd0 + + dStack_1450 * (_UNK_181ca4010 + dStack_1450 * dStack_13d0))) ^ + uStack_1870; + auVar179._24_8_ = + (ulonglong) + (dVar103 + + dVar103 * dStack_1448 * + (_UNK_181ca3fd8 + + dStack_1448 * (_UNK_181ca4018 + dStack_1448 * dStack_13c8))) ^ uStack_1868; + auVar87._0_8_ = + (ulonglong) + (dVar189 + + dVar189 * local_1440 * + (_DAT_181ca3fc0 + + local_1440 * + (_DAT_181ca4000 + + local_1440 * + (_DAT_181ca4080 + local_1440 * (_DAT_181ca40c0 + local_1440 * local_1400))) + )) ^ local_18a0; + auVar87._8_8_ = + (ulonglong) + (dVar108 + + dVar108 * dStack_1438 * + (_UNK_181ca3fc8 + + dStack_1438 * + (_UNK_181ca4008 + + dStack_1438 * + (_UNK_181ca4088 + + dStack_1438 * (_UNK_181ca40c8 + dStack_1438 * dStack_13f8))))) ^ + uStack_1898; + auVar87._16_8_ = + (ulonglong) + (dVar225 + + dVar225 * dStack_1430 * + (_UNK_181ca3fd0 + + dStack_1430 * + (_UNK_181ca4010 + + dStack_1430 * + (_UNK_181ca4090 + + dStack_1430 * (_UNK_181ca40d0 + dStack_1430 * dStack_13f0))))) ^ + uStack_1890; + auVar87._24_8_ = + (ulonglong) + (dVar339 + + dVar339 * dStack_1428 * + (_UNK_181ca3fd8 + + dStack_1428 * + (_UNK_181ca4018 + + dStack_1428 * + (_UNK_181ca4098 + + dStack_1428 * (_UNK_181ca40d8 + dStack_1428 * dStack_13e8))))) ^ + uStack_1888; + auVar66 = vblendvpd_avx(auVar179,_DAT_181ca41c0,local_18e0); + auVar85 = vblendvpd_avx(auVar87,_DAT_181ca41c0,local_1900); + local_1760 = vcmppd_avx(_DAT_181ca3bc0,local_17a0,0x19); + auVar84 = vblendvpd_avx(auVar334,_DAT_181ca41c0,local_1920); + auVar51 = vblendvpd_avx(auVar51,_DAT_181ca41c0,local_1940); + local_1780 = vcmppd_avx(_DAT_181ca3bc0,local_1840,0x19); + auVar86 = vcmppd_avx(_DAT_181ca3bc0,local_17e0,0x19); + auVar39 = vshufps_avx(local_1780._0_16_,local_1780._16_16_,0xdd); + auVar40 = vshufps_avx(local_1760._0_16_,local_1760._16_16_,0xdd); + auVar57 = vshufps_avx(local_1740._0_16_,local_1740._16_16_,0xdd); + auVar247 = vshufps_avx(auVar86._0_16_,auVar86._16_16_,0xdd); + auVar39 = vpackssdw_avx(auVar39,auVar40); + auVar40 = vpackssdw_avx(auVar57,auVar247); + auVar39 = vpacksswb_avx(auVar39,auVar40); + auVar64 = auVar84; + auVar88 = auVar51; + auVar50 = auVar85; + auVar65 = auVar66; + uVar23 = 0; + if ((((((((((((((((SUB161(auVar39 >> 7,0) & 1) != 0 || (SUB161(auVar39 >> 0xf,0) & 1) != 0 + ) || (SUB161(auVar39 >> 0x17,0) & 1) != 0) || + (SUB161(auVar39 >> 0x1f,0) & 1) != 0) || + (SUB161(auVar39 >> 0x27,0) & 1) != 0) || + (SUB161(auVar39 >> 0x2f,0) & 1) != 0) || (SUB161(auVar39 >> 0x37,0) & 1) != 0 + ) || (SUB161(auVar39 >> 0x3f,0) & 1) != 0) || + (SUB161(auVar39 >> 0x47,0) & 1) != 0) || (SUB161(auVar39 >> 0x4f,0) & 1) != 0) + || (SUB161(auVar39 >> 0x57,0) & 1) != 0) || (SUB161(auVar39 >> 0x5f,0) & 1) != 0) + || (SUB161(auVar39 >> 0x67,0) & 1) != 0) || (SUB161(auVar39 >> 0x6f,0) & 1) != 0) || + (SUB161(auVar39 >> 0x77,0) & 1) != 0) || auVar39[0xf] < '\0') { + auVar64 = vandpd_avx(_DAT_181ca8280,local_1840); + auVar88 = vandpd_avx(_DAT_181ca8280,local_17a0); + auVar50 = vandpd_avx(_DAT_181ca8280,local_17c0); + auVar65 = vandpd_avx(_DAT_181ca8280,local_17e0); + auVar64 = vcmppd_avx(auVar64,_DAT_181ca8280,0); + auVar88 = vcmppd_avx(auVar88,_DAT_181ca8280,0); + auVar50 = vcmppd_avx(auVar50,_DAT_181ca8280,0); + auVar65 = vcmppd_avx(auVar65,_DAT_181ca8280,0); + auVar39 = vshufps_avx(auVar64._0_16_,auVar64._16_16_,0xdd); + auVar40 = vshufps_avx(auVar88._0_16_,auVar88._16_16_,0xdd); + auVar57 = vshufps_avx(auVar50._0_16_,auVar50._16_16_,0xdd); + auVar247 = vshufps_avx(auVar65._0_16_,auVar65._16_16_,0xdd); + auVar39 = vpackssdw_avx(auVar39,auVar40); + auVar40 = vpackssdw_avx(auVar57,auVar247); + auVar39 = vpacksswb_avx(auVar39,auVar40); + local_170 = (uint)(ushort)((ushort)(SUB161(auVar39 >> 7,0) & 1) | + (ushort)(SUB161(auVar39 >> 0xf,0) & 1) << 1 | + (ushort)(SUB161(auVar39 >> 0x17,0) & 1) << 2 | + (ushort)(SUB161(auVar39 >> 0x1f,0) & 1) << 3 | + (ushort)(SUB161(auVar39 >> 0x27,0) & 1) << 4 | + (ushort)(SUB161(auVar39 >> 0x2f,0) & 1) << 5 | + (ushort)(SUB161(auVar39 >> 0x37,0) & 1) << 6 | + (ushort)(SUB161(auVar39 >> 0x3f,0) & 1) << 7 | + (ushort)(SUB161(auVar39 >> 0x47,0) & 1) << 8 | + (ushort)(SUB161(auVar39 >> 0x4f,0) & 1) << 9 | + (ushort)(SUB161(auVar39 >> 0x57,0) & 1) << 10 | + (ushort)(SUB161(auVar39 >> 0x5f,0) & 1) << 0xb | + (ushort)(SUB161(auVar39 >> 0x67,0) & 1) << 0xc | + (ushort)(SUB161(auVar39 >> 0x6f,0) & 1) << 0xd | + (ushort)(SUB161(auVar39 >> 0x77,0) & 1) << 0xe | + (ushort)(byte)(auVar39[0xf] >> 7) << 0xf); + local_1388 = local_17c0._0_16_; + local_1398 = local_17c0._16_16_; + auVar39 = vpand_avx(_DAT_181cb48c0,local_1388); + auVar40 = vpsrlq_avx(auVar39,0x34); + auVar39 = vpand_avx(_DAT_181cb48c0,local_1398); + auVar39 = vpsrlq_avx(auVar39,0x34); + local_168 = (ulonglong)(uint)(auVar39._8_4_ * 0x18); + uVar24 = auVar40._0_4_ * 0x18; + uVar23 = auVar39._0_4_ * 0x18; + uVar36 = auVar40._8_4_ * 0x18; + local_1368 = local_17a0._0_16_; + local_1378 = local_17a0._16_16_; + auVar39 = vpand_avx(_DAT_181cb48c0,local_1368); + auVar57 = vpsrlq_avx(auVar39,0x34); + auVar39 = vpand_avx(_DAT_181cb48c0,local_1378); + auVar40 = vpsrlq_avx(auVar39,0x34); + uVar26 = auVar57._0_4_ * 0x18; + uVar37 = auVar57._8_4_ * 0x18; + uVar27 = auVar40._0_4_ * 0x18; + local_1328 = local_17e0._0_16_; + local_1338 = local_17e0._16_16_; + auVar39 = vpand_avx(_DAT_181cb48c0,local_1328); + auVar57 = vpsrlq_avx(auVar39,0x34); + auVar39 = vpand_avx(_DAT_181cb48c0,local_1338); + auVar315 = vpsrlq_avx(auVar39,0x34); + auVar207._8_8_ = 0; + auVar207._0_8_ = *(ulonglong *)(&DAT_181ca85c0 + uVar26); + auVar39 = vmovhpd_avx(auVar207,*(undefined8 *)(&DAT_181ca85c0 + uVar37)); + uVar32 = auVar40._8_4_ * 0x18; + local_160 = (ulonglong)(uint)(auVar57._0_4_ * 0x18); + auVar247._8_8_ = 0; + auVar247._0_8_ = *(ulonglong *)(&DAT_181ca85c0 + uVar27); + auVar40 = vmovhpd_avx(auVar247,*(undefined8 *)(&DAT_181ca85c0 + uVar32)); + local_158 = (ulonglong)(uint)(auVar57._8_4_ * 0x18); + local_1348 = local_1840._0_16_; + auVar57 = vpand_avx(_DAT_181cb48c0,local_1348); + local_1358 = local_1840._16_16_; + auVar267 = vpsrlq_avx(auVar57,0x34); + auVar247 = vpand_avx(_DAT_181cb48c0,local_1358); + auVar208._8_8_ = 0; + auVar208._0_8_ = *(ulonglong *)(&DAT_181ca85c0 + local_160); + auVar57 = vmovhpd_avx(auVar208,*(undefined8 *)(&DAT_181ca85c0 + local_158)); + auVar247 = vpsrlq_avx(auVar247,0x34); + local_150 = (ulonglong)(uint)(auVar315._0_4_ * 0x18); + uVar29 = auVar247._0_4_ * 0x18; + uVar21 = auVar267._0_4_ * 0x18; + uVar28 = auVar247._8_4_ * 0x18; + uVar30 = auVar267._8_4_ * 0x18; + auVar343._8_8_ = 0; + auVar343._0_8_ = *(ulonglong *)(&DAT_181ca85c0 + uVar29); + auVar247 = vmovhpd_avx(auVar343,*(undefined8 *)(&DAT_181ca85c0 + uVar28)); + uVar33 = auVar315._8_4_ * 0x18; + auVar319._8_8_ = 0; + auVar319._0_8_ = *(ulonglong *)(&DAT_181ca85c0 + uVar21); + auVar315 = vmovhpd_avx(auVar319,*(undefined8 *)(&DAT_181ca85c0 + uVar30)); + auVar344._8_8_ = 0; + auVar344._0_8_ = *(ulonglong *)(&DAT_181ca85c0 + uVar24); + auVar267 = vmovhpd_avx(auVar344,*(undefined8 *)(&DAT_181ca85c0 + uVar36)); + auVar172._8_8_ = 0; + auVar172._0_8_ = *(ulonglong *)(&DAT_181ca85c0 + local_150); + auVar60 = vmovhpd_avx(auVar172,*(undefined8 *)(&DAT_181ca85c0 + uVar33)); + auVar268._8_8_ = 0; + auVar268._0_8_ = *(ulonglong *)(&DAT_181ca85c0 + uVar23); + auVar82 = vmovhpd_avx(auVar268,*(undefined8 *)(&DAT_181ca85c0 + local_168)); + auVar250._8_8_ = 0; + auVar250._0_8_ = *(ulonglong *)(&DAT_181ca85c8 + uVar21); + auVar113 = vmovhpd_avx(auVar250,*(undefined8 *)(&DAT_181ca85c8 + uVar30)); + auVar251._8_8_ = 0; + auVar251._0_8_ = *(ulonglong *)(&DAT_181ca85c8 + uVar27); + auVar131 = vmovhpd_avx(auVar251,*(undefined8 *)(&DAT_181ca85c8 + uVar32)); + auVar228._8_8_ = 0; + auVar228._0_8_ = *(ulonglong *)(&DAT_181ca85c8 + uVar26); + auVar147 = vmovhpd_avx(auVar228,*(undefined8 *)(&DAT_181ca85c8 + uVar37)); + auVar320._8_8_ = 0; + auVar320._0_8_ = *(ulonglong *)(&DAT_181ca85c8 + uVar29); + auVar172 = vmovhpd_avx(auVar320,*(undefined8 *)(&DAT_181ca85c8 + uVar28)); + auVar321._8_8_ = 0; + auVar321._0_8_ = *(ulonglong *)(&DAT_181ca85c8 + uVar24); + auVar114 = vmovhpd_avx(auVar321,*(undefined8 *)(&DAT_181ca85c8 + uVar36)); + auVar345._8_8_ = 0; + auVar345._0_8_ = *(ulonglong *)(&DAT_181ca85c8 + uVar23); + local_b08 = vmovhpd_avx(auVar345,*(undefined8 *)(&DAT_181ca85c8 + local_168)); + auVar346._8_8_ = 0; + auVar346._0_8_ = *(ulonglong *)(&DAT_181ca85c8 + local_160); + local_af8 = vmovhpd_avx(auVar346,*(undefined8 *)(&DAT_181ca85c8 + local_158)); + auVar322._8_8_ = 0; + auVar322._0_8_ = *(ulonglong *)(&DAT_181ca85c8 + local_150); + local_ae8 = vmovhpd_avx(auVar322,*(undefined8 *)(&DAT_181ca85c8 + uVar33)); + auVar323._8_8_ = 0; + auVar323._0_8_ = *(ulonglong *)(&DAT_181ca85d0 + uVar21); + local_ad8 = vmovhpd_avx(auVar323,*(undefined8 *)(&DAT_181ca85d0 + uVar30)); + auVar347._8_8_ = 0; + auVar347._0_8_ = *(ulonglong *)(&DAT_181ca85d0 + uVar29); + local_ac8 = vmovhpd_avx(auVar347,*(undefined8 *)(&DAT_181ca85d0 + uVar28)); + auVar324._8_8_ = 0; + auVar324._0_8_ = *(ulonglong *)(&DAT_181ca85d0 + uVar26); + local_ab8 = vmovhpd_avx(auVar324,*(undefined8 *)(&DAT_181ca85d0 + uVar37)); + auVar325._8_8_ = 0; + auVar325._0_8_ = *(ulonglong *)(&DAT_181ca85d0 + uVar27); + local_aa8 = vmovhpd_avx(auVar325,*(undefined8 *)(&DAT_181ca85d0 + uVar32)); + auVar326._8_8_ = 0; + auVar326._0_8_ = *(ulonglong *)(&DAT_181ca85d0 + uVar24); + local_a98 = vmovhpd_avx(auVar326,*(undefined8 *)(&DAT_181ca85d0 + uVar36)); + auVar348._8_8_ = 0; + auVar348._0_8_ = *(ulonglong *)(&DAT_181ca85d0 + uVar23); + local_a88 = vmovhpd_avx(auVar348,*(undefined8 *)(&DAT_181ca85d0 + local_168)); + auVar327._8_8_ = 0; + auVar327._0_8_ = *(ulonglong *)(&DAT_181ca85d0 + local_160); + local_a78 = vmovhpd_avx(auVar327,*(undefined8 *)(&DAT_181ca85d0 + local_158)); + auVar328._8_8_ = 0; + auVar328._0_8_ = *(ulonglong *)(&DAT_181ca85d0 + local_150); + local_a68 = vmovhpd_avx(auVar328,*(undefined8 *)(&DAT_181ca85d0 + uVar33)); + auVar115 = vpand_avx(_DAT_181cb48d0,local_1348); + local_ce8 = vpaddq_avx(auVar115,_DAT_181cb48e0); + auVar115 = vpand_avx(_DAT_181cb48d0,local_1358); + local_a58 = vpaddq_avx(auVar115,_DAT_181cb48e0); + auVar115 = vpand_avx(_DAT_181cb48d0,local_1368); + local_b18 = vpaddq_avx(auVar115,_DAT_181cb48e0); + auVar115 = vpand_avx(_DAT_181cb48d0,local_1378); + local_b68 = vpaddq_avx(auVar115,_DAT_181cb48e0); + auVar115 = vpand_avx(_DAT_181cb48d0,local_1388); + local_b58 = vpaddq_avx(auVar115,_DAT_181cb48e0); + auVar115 = vpand_avx(_DAT_181cb48d0,local_1398); + local_b48 = vpaddq_avx(auVar115,_DAT_181cb48e0); + auVar115 = vpand_avx(_DAT_181cb48d0,local_1328); + auVar61 = vpand_avx(_DAT_181cb48d0,local_1338); + local_b38 = vpaddq_avx(auVar115,_DAT_181cb48e0); + local_b28 = vpaddq_avx(auVar61,_DAT_181cb48e0); + local_ed8 = vpsrlq_avx(auVar247,0x20); + local_d58 = vpand_avx(auVar247,_DAT_181cb48f0); + local_ee8 = vpsrlq_avx(auVar315,0x20); + local_db8 = vpand_avx(auVar315,_DAT_181cb48f0); + local_ec8 = vpsrlq_avx(auVar39,0x20); + local_e88 = vpsrlq_avx(auVar40,0x20); + local_c98 = vpand_avx(auVar40,_DAT_181cb48f0); + local_ef8 = vpsrlq_avx(auVar267,0x20); + local_cb8 = vpand_avx(auVar39,_DAT_181cb48f0); + local_e58 = vpsrlq_avx(auVar82,0x20); + local_cc8 = vpand_avx(auVar82,_DAT_181cb48f0); + local_e68 = vpsrlq_avx(auVar57,0x20); + local_c48 = vpand_avx(auVar267,_DAT_181cb48f0); + local_c88 = vpsrlq_avx(auVar114,0x20); + local_ea8 = vpsrlq_avx(auVar60,0x20); + local_dd8 = vpand_avx(auVar114,_DAT_181cb48f0); + local_c68 = vpand_avx(auVar60,_DAT_181cb48f0); + local_c58 = vpsrlq_avx(auVar113,0x20); + local_d18 = vpand_avx(auVar57,_DAT_181cb48f0); + local_d08 = vpsrlq_avx(auVar172,0x20); + local_d78 = vpand_avx(auVar113,_DAT_181cb48f0); + local_e38 = vpand_avx(auVar172,_DAT_181cb48f0); + local_cd8 = vpsrlq_avx(local_af8,0x20); + local_de8 = vpand_avx(local_af8,_DAT_181cb48f0); + local_d28 = vpsrlq_avx(auVar147,0x20); + local_e08 = vpand_avx(auVar147,_DAT_181cb48f0); + local_c38 = vpsrlq_avx(auVar131,0x20); + local_e28 = vpand_avx(auVar131,_DAT_181cb48f0); + local_df8 = vpsrlq_avx(local_ae8,0x20); + local_da8 = vpand_avx(local_ae8,_DAT_181cb48f0); + local_f48 = vpsrlq_avx(local_ac8,0x20); + local_e78 = vpsrlq_avx(local_ad8,0x20); + local_1048 = vpand_avx(local_ad8,_DAT_181cb48f0); + local_d88 = vpand_avx(local_b08,_DAT_181cb48f0); + local_d48 = vpsrlq_avx(local_b08,0x20); + local_f78 = vpsrlq_avx(local_aa8,0x20); + local_f68 = vpsrlq_avx(local_ab8,0x20); + local_fb8 = vpsrlq_avx(local_a78,0x20); + local_1058 = vpsrlq_avx(local_a68,0x20); + local_1038 = vpand_avx(local_ac8,_DAT_181cb48f0); + local_1028 = vpand_avx(local_ab8,_DAT_181cb48f0); + local_1018 = vpand_avx(local_aa8,_DAT_181cb48f0); + local_1008 = vpand_avx(local_a98,_DAT_181cb48f0); + local_fe8 = vpand_avx(local_a88,_DAT_181cb48f0); + local_bd8 = vpand_avx(local_a78,_DAT_181cb48f0); + local_f88 = vpsrlq_avx(local_a98,0x20); + local_f98 = vpsrlq_avx(local_a88,0x20); + local_a48 = vpand_avx(local_a68,_DAT_181cb48f0); + auVar267 = vpsrlq_avx(local_a58,0x20); + auVar113 = vpsrlq_avx(local_b58,0x20); + local_a28 = vpand_avx(local_b58,_DAT_181cb48f0); + auVar39 = vpand_avx(local_a58,_DAT_181cb48f0); + local_a38 = vpsrlq_avx(local_b38,0x20); + local_a08 = vpand_avx(local_b38,_DAT_181cb48f0); + auVar315 = vpsrlq_avx(local_ce8,0x20); + auVar40 = vpand_avx(local_ce8,_DAT_181cb48f0); + auVar131 = vpsrlq_avx(local_b48,0x20); + local_a18 = vpand_avx(local_b48,_DAT_181cb48f0); + auVar60 = vpsrlq_avx(local_b18,0x20); + auVar82 = vpsrlq_avx(local_b68,0x20); + auVar57 = vpand_avx(local_b18,_DAT_181cb48f0); + auVar247 = vpand_avx(local_b68,_DAT_181cb48f0); + local_9f8 = vpand_avx(local_b28,_DAT_181cb48f0); + local_1148 = vpmuludq_avx(auVar39,local_ed8); + local_1158 = vpmuludq_avx(auVar40,local_ee8); + auVar147 = vpsrlq_avx(local_b28,0x20); + local_1138 = vpmuludq_avx(auVar57,local_ec8); + local_9e8 = vpmuludq_avx(auVar315,local_db8); + local_9d8 = vpmuludq_avx(auVar267,local_d58); + local_9c8 = vpmuludq_avx(auVar60,local_cb8); + local_9b8 = vpmuludq_avx(auVar82,local_c98); + local_9a8 = vpmuludq_avx(auVar113,local_c48); + local_998 = vpmuludq_avx(auVar131,local_cc8); + local_988 = vpmuludq_avx(local_a38,local_d18); + local_978 = vpmuludq_avx(auVar147,local_c68); + local_968 = vpmuludq_avx(auVar315,local_c58); + local_958 = vpmuludq_avx(auVar267,local_d08); + local_948 = vpmuludq_avx(auVar60,local_d28); + local_938 = vpmuludq_avx(auVar82,local_c38); + local_928 = vpmuludq_avx(auVar113,local_c88); + local_918 = vpmuludq_avx(auVar131,local_d48); + local_908 = vpmuludq_avx(local_a38,local_cd8); + local_8f8 = vpmuludq_avx(auVar147,local_df8); + local_8e8 = vpmuludq_avx(auVar315,local_d78); + local_8d8 = vpmuludq_avx(auVar267,local_e38); + local_8c8 = vpmuludq_avx(auVar60,local_e08); + local_8b8 = vpmuludq_avx(auVar82,local_e28); + local_8a8 = vpmuludq_avx(auVar113,local_dd8); + local_898 = vpmuludq_avx(auVar131,local_d88); + local_888 = vpmuludq_avx(local_a38,local_de8); + local_878 = vpmuludq_avx(auVar147,local_da8); + local_868 = vpmuludq_avx(auVar315,local_e78); + local_858 = vpmuludq_avx(auVar267,local_f48); + local_848 = vpmuludq_avx(auVar60,local_f68); + local_838 = vpmuludq_avx(auVar82,local_f78); + local_828 = vpmuludq_avx(auVar113,local_f88); + local_818 = vpmuludq_avx(auVar131,local_f98); + local_808 = vpmuludq_avx(local_a38,local_fb8); + local_7f8 = vpmuludq_avx(auVar147,local_1058); + local_12c8 = vpmuludq_avx(auVar315,local_1048); + local_12a8 = vpmuludq_avx(auVar267,local_1038); + local_12b8 = vpmuludq_avx(auVar60,local_1028); + local_12d8 = vpmuludq_avx(auVar82,local_1018); + local_12e8 = vpmuludq_avx(auVar113,local_1008); + local_12f8 = vpmuludq_avx(auVar131,local_fe8); + local_1308 = vpmuludq_avx(local_a38,local_bd8); + local_1168 = vpmuludq_avx(auVar247,local_e88); + local_1318 = vpmuludq_avx(auVar147,local_a48); + local_1128 = vpmuludq_avx(local_a28,local_ef8); + local_1178 = vpmuludq_avx(local_a18,local_e58); + local_1188 = vpmuludq_avx(local_a08,local_e68); + local_1198 = vpmuludq_avx(local_9f8,local_ea8); + local_7e8 = vpmuludq_avx(auVar40,local_db8); + local_7d8 = vpmuludq_avx(auVar39,local_d58); + local_7c8 = vpmuludq_avx(auVar57,local_cb8); + local_7b8 = vpmuludq_avx(auVar247,local_c98); + local_7a8 = vpmuludq_avx(local_a28,local_c48); + local_798 = vpmuludq_avx(local_a18,local_cc8); + local_788 = vpmuludq_avx(local_a08,local_d18); + local_778 = vpmuludq_avx(local_9f8,local_c68); + local_768 = vpmuludq_avx(auVar40,local_c58); + local_758 = vpmuludq_avx(auVar39,local_d08); + local_748 = vpmuludq_avx(auVar57,local_d28); + local_738 = vpmuludq_avx(auVar247,local_c38); + local_728 = vpmuludq_avx(local_a28,local_c88); + local_718 = vpmuludq_avx(local_a18,local_d48); + local_708 = vpmuludq_avx(local_a08,local_cd8); + local_6f8 = vpmuludq_avx(local_9f8,local_df8); + local_6e8 = vpmuludq_avx(auVar40,local_d78); + local_6d8 = vpmuludq_avx(auVar39,local_e38); + local_6c8 = vpmuludq_avx(auVar57,local_e08); + local_6b8 = vpmuludq_avx(auVar247,local_e28); + local_6a8 = vpmuludq_avx(local_a28,local_dd8); + local_698 = vpmuludq_avx(local_a18,local_d88); + local_688 = vpmuludq_avx(local_a08,local_de8); + local_678 = vpmuludq_avx(local_9f8,local_da8); + local_668 = vpmuludq_avx(auVar40,local_e78); + local_658 = vpmuludq_avx(auVar39,local_f48); + local_648 = vpmuludq_avx(auVar57,local_f68); + local_638 = vpmuludq_avx(auVar247,local_f78); + local_628 = vpmuludq_avx(local_a28,local_f88); + local_618 = vpmuludq_avx(local_a18,local_f98); + local_608 = vpmuludq_avx(local_a08,local_fb8); + auVar60 = vpmuludq_avx(local_9f8,local_1058); + auVar39 = vpsrlq_avx(local_658,0x20); + auVar40 = vpsrlq_avx(local_668,0x20); + auVar39 = vpaddq_avx(auVar39,local_858); + auVar40 = vpaddq_avx(auVar40,local_868); + auVar57 = vpsrlq_avx(local_618,0x20); + auVar247 = vpsrlq_avx(local_648,0x20); + auVar57 = vpaddq_avx(auVar57,local_818); + auVar247 = vpaddq_avx(auVar247,local_848); + auVar315 = vpsrlq_avx(local_638,0x20); + auVar315 = vpaddq_avx(auVar315,local_838); + auVar267 = vpsrlq_avx(local_6e8,0x20); + auVar82 = vpsrlq_avx(local_628,0x20); + local_5e8 = vpaddq_avx(auVar267,local_8e8); + auVar267 = vpaddq_avx(auVar82,local_828); + auVar60 = vpsrlq_avx(auVar60,0x20); + local_5f8 = vpaddq_avx(auVar60,local_7f8); + auVar82 = vpsrlq_avx(local_6d8,0x20); + auVar60 = vpsrlq_avx(local_6b8,0x20); + local_5b8 = vpaddq_avx(auVar60,local_8b8); + auVar60 = vpsrlq_avx(local_608,0x20); + local_5d8 = vpaddq_avx(auVar82,local_8d8); + auVar60 = vpaddq_avx(auVar60,local_808); + auVar82 = vpsrlq_avx(local_6c8,0x20); + auVar113 = vpsrlq_avx(local_6a8,0x20); + local_5c8 = vpaddq_avx(auVar82,local_8c8); + local_5a8 = vpaddq_avx(auVar113,local_8a8); + auVar82 = vpsrlq_avx(local_698,0x20); + local_598 = vpaddq_avx(auVar82,local_898); + auVar82 = vpsrlq_avx(local_688,0x20); + local_588 = vpaddq_avx(auVar82,local_888); + auVar82 = vpsrlq_avx(local_678,0x20); + local_578 = vpaddq_avx(auVar82,local_878); + auVar82 = vpsrlq_avx(local_768,0x20); + local_568 = vpaddq_avx(auVar82,local_968); + auVar82 = vpsrlq_avx(local_758,0x20); + local_558 = vpaddq_avx(auVar82,local_958); + auVar82 = vpsrlq_avx(local_748,0x20); + local_548 = vpaddq_avx(auVar82,local_948); + auVar82 = vpsrlq_avx(local_738,0x20); + local_538 = vpaddq_avx(auVar82,local_938); + auVar82 = vpsrlq_avx(local_728,0x20); + local_528 = vpaddq_avx(auVar82,local_928); + auVar82 = vpsrlq_avx(local_718,0x20); + local_518 = vpaddq_avx(auVar82,local_918); + auVar82 = vpsrlq_avx(local_708,0x20); + local_508 = vpaddq_avx(auVar82,local_908); + auVar82 = vpsrlq_avx(local_6f8,0x20); + local_4f8 = vpaddq_avx(auVar82,local_8f8); + auVar82 = vpsrlq_avx(local_7e8,0x20); + local_4e8 = vpaddq_avx(auVar82,local_9e8); + auVar82 = vpsrlq_avx(local_7d8,0x20); + local_4d8 = vpaddq_avx(auVar82,local_9d8); + auVar82 = vpsrlq_avx(local_7c8,0x20); + local_f38 = vpaddq_avx(auVar82,local_9c8); + auVar82 = vpsrlq_avx(local_7b8,0x20); + local_fd8 = vpaddq_avx(auVar82,local_9b8); + auVar82 = vpsrlq_avx(local_7a8,0x20); + local_1078 = vpaddq_avx(auVar82,local_9a8); + auVar82 = vpsrlq_avx(local_798,0x20); + local_1088 = vpaddq_avx(auVar82,local_998); + auVar82 = vpsrlq_avx(local_788,0x20); + local_10b8 = vpaddq_avx(auVar82,local_988); + auVar82 = vpsrlq_avx(local_778,0x20); + local_1118 = vpaddq_avx(auVar82,local_978); + auVar82 = vpand_avx(local_6a8,_DAT_181cb48f0); + auVar113 = vpand_avx(local_698,_DAT_181cb48f0); + auVar131 = vpand_avx(local_6d8,_DAT_181cb48f0); + local_ff8 = vpaddq_avx(auVar82,auVar267); + auVar267 = vpand_avx(local_6c8,_DAT_181cb48f0); + auVar82 = vpand_avx(local_6b8,_DAT_181cb48f0); + auVar147 = vpand_avx(local_6e8,_DAT_181cb48f0); + local_f28 = vpaddq_avx(auVar113,auVar57); + auVar57 = vpand_avx(local_688,_DAT_181cb48f0); + local_10a8 = vpaddq_avx(auVar131,auVar39); + local_1098 = vpaddq_avx(auVar267,auVar247); + local_f58 = vpaddq_avx(auVar82,auVar315); + local_fc8 = vpaddq_avx(auVar57,auVar60); + auVar39 = vpand_avx(_DAT_181cb48f0,local_758); + auVar57 = vpand_avx(_DAT_181cb48f0,local_748); + auVar247 = vpand_avx(_DAT_181cb48f0,local_738); + local_10c8 = vpaddq_avx(auVar147,auVar40); + local_eb8 = vpaddq_avx(auVar39,local_5d8); + local_d98 = vpaddq_avx(auVar57,local_5c8); + auVar39 = vpaddq_avx(auVar247,local_5b8); + auVar40 = vpand_avx(_DAT_181cb48f0,local_768); + auVar57 = vpand_avx(_DAT_181cb48f0,local_728); + auVar247 = vpand_avx(_DAT_181cb48f0,local_6f8); + auVar315 = vpand_avx(_DAT_181cb48f0,local_7d8); + auVar267 = vpand_avx(_DAT_181cb48f0,local_7c8); + auVar60 = vpand_avx(_DAT_181cb48f0,local_7b8); + auVar82 = vpand_avx(_DAT_181cb48f0,local_678); + local_fa8 = vpaddq_avx(auVar40,local_5e8); + auVar40 = vpaddq_avx(auVar57,local_5a8); + auVar57 = vpaddq_avx(auVar247,local_578); + local_dc8 = vpaddq_avx(auVar60,local_538); + auVar247 = vpand_avx(_DAT_181cb48f0,local_718); + local_d38 = vpaddq_avx(auVar315,local_558); + local_d68 = vpaddq_avx(auVar267,local_548); + auVar315 = vpand_avx(_DAT_181cb48f0,local_798); + local_f18 = vpaddq_avx(auVar82,local_5f8); + auVar247 = vpaddq_avx(auVar247,local_598); + local_e48 = vpaddq_avx(auVar315,local_518); + auVar315 = vpand_avx(_DAT_181cb48f0,local_708); + auVar267 = vpand_avx(_DAT_181cb48f0,local_7e8); + auVar60 = vpand_avx(_DAT_181cb48f0,local_7a8); + auVar82 = vpand_avx(_DAT_181cb48f0,local_788); + auVar113 = vpand_avx(_DAT_181cb48f0,local_778); + auVar131 = vpand_avx(_DAT_181cb48f0,local_1158); + auVar147 = vpand_avx(_DAT_181cb48f0,local_1148); + auVar315 = vpaddq_avx(auVar315,local_588); + local_e18 = vpaddq_avx(auVar60,local_528); + local_e98 = vpaddq_avx(auVar82,local_508); + local_f08 = vpaddq_avx(auVar113,local_4f8); + local_1068 = vpaddq_avx(auVar131,local_4e8); + auVar267 = vpaddq_avx(auVar267,local_568); + local_c08 = vpaddq_avx(auVar147,local_4d8); + auVar60 = vpand_avx(local_1128,_DAT_181cb48f0); + local_4b8 = vpaddq_avx(auVar60,local_1078); + auVar60 = vpand_avx(local_1168,_DAT_181cb48f0); + local_4c8 = vpaddq_avx(auVar60,local_fd8); + auVar60 = vpand_avx(local_1178,_DAT_181cb48f0); + local_4a8 = vpaddq_avx(auVar60,local_1088); + auVar60 = vpand_avx(local_1188,_DAT_181cb48f0); + local_498 = vpaddq_avx(auVar60,local_10b8); + auVar60 = vpand_avx(local_1138,_DAT_181cb48f0); + auVar82 = vpand_avx(local_1198,_DAT_181cb48f0); + local_488 = vpaddq_avx(auVar82,local_1118); + auVar60 = vpaddq_avx(auVar60,local_f38); + auVar82 = vpsrlq_avx(local_12c8,0x20); + auVar113 = vpsrlq_avx(local_12a8,0x20); + local_478 = vpaddq_avx(auVar82,local_10c8); + local_468 = vpaddq_avx(auVar113,local_10a8); + auVar131 = vpsrlq_avx(local_12d8,0x20); + auVar82 = vpsrlq_avx(local_12b8,0x20); + auVar113 = vpsrlq_avx(local_12e8,0x20); + local_458 = vpaddq_avx(auVar82,local_1098); + local_448 = vpaddq_avx(auVar131,local_f58); + auVar82 = vpaddq_avx(auVar113,local_ff8); + auVar131 = vpsrlq_avx(local_12f8,0x20); + auVar113 = vpsrlq_avx(local_1308,0x20); + auVar113 = vpaddq_avx(auVar113,local_fc8); + auVar131 = vpaddq_avx(auVar131,local_f28); + auVar147 = vpsrlq_avx(local_448,0x20); + local_408 = vpaddq_avx(auVar147,auVar39); + auVar147 = vpsrlq_avx(auVar82,0x20); + auVar39 = vpsrlq_avx(local_1318,0x20); + local_3f8 = vpaddq_avx(auVar147,auVar40); + auVar39 = vpaddq_avx(auVar39,local_f18); + auVar40 = vpsrlq_avx(auVar131,0x20); + auVar147 = vpsrlq_avx(local_478,0x20); + local_3e8 = vpaddq_avx(auVar40,auVar247); + local_438 = vpaddq_avx(auVar147,local_fa8); + auVar40 = vpsrlq_avx(auVar113,0x20); + auVar247 = vpsrlq_avx(local_468,0x20); + local_3d8 = vpaddq_avx(auVar40,auVar315); + local_428 = vpaddq_avx(auVar247,local_eb8); + auVar247 = vpsrlq_avx(auVar39,0x20); + auVar40 = vpsrlq_avx(local_458,0x20); + local_3c8 = vpaddq_avx(auVar247,auVar57); + local_418 = vpaddq_avx(auVar40,local_d98); + auVar40 = vpsrlq_avx(local_438,0x20); + auVar40 = vpaddq_avx(auVar40,auVar267); + auVar57 = vpsrlq_avx(local_428,0x20); + auVar315 = vpsrlq_avx(local_3f8,0x20); + auVar267 = vpsrlq_avx(local_3e8,0x20); + auVar147 = vpsrlq_avx(local_3c8,0x20); + auVar247 = vpsrlq_avx(local_418,0x20); + auVar57 = vpaddq_avx(auVar57,local_d38); + auVar247 = vpaddq_avx(auVar247,local_d68); + auVar315 = vpaddq_avx(auVar315,local_e18); + auVar267 = vpaddq_avx(auVar267,local_e48); + auVar147 = vpaddq_avx(auVar147,local_f08); + auVar114 = vpsrlq_avx(auVar40,0x20); + auVar172 = vpsrlq_avx(local_3d8,0x20); + auVar172 = vpaddq_avx(auVar172,local_e98); + auVar114 = vpaddq_avx(auVar114,local_1068); + auVar115 = vpsrlq_avx(auVar57,0x20); + auVar61 = vpsrlq_avx(local_408,0x20); + auVar115 = vpaddq_avx(auVar115,local_c08); + auVar61 = vpaddq_avx(auVar61,local_dc8); + auVar329 = vpsrlq_avx(auVar247,0x20); + local_3b8 = vpaddq_avx(auVar329,auVar60); + auVar60 = vpsrlq_avx(auVar61,0x20); + local_3a8 = vpaddq_avx(auVar60,local_4c8); + auVar60 = vpsrlq_avx(auVar315,0x20); + local_398 = vpaddq_avx(auVar60,local_4b8); + auVar60 = vpsrlq_avx(auVar267,0x20); + local_388 = vpaddq_avx(auVar60,local_4a8); + auVar60 = vpsrlq_avx(auVar172,0x20); + local_378 = vpaddq_avx(auVar60,local_498); + auVar60 = vpsrlq_avx(auVar147,0x20); + local_368 = vpaddq_avx(auVar60,local_488); + local_358 = vpand_avx(_DAT_181cb48f0,local_478); + auVar40 = vpand_avx(auVar40,_DAT_181cb48f0); + auVar57 = vpand_avx(auVar57,_DAT_181cb48f0); + auVar60 = vpand_avx(auVar82,_DAT_181cb48f0); + local_348 = vpand_avx(_DAT_181cb48f0,local_468); + auVar82 = vpand_avx(auVar131,_DAT_181cb48f0); + auVar329 = vpsllq_avx(auVar114,0x20); + auVar114 = vpsllq_avx(auVar115,0x20); + auVar113 = vpand_avx(auVar113,_DAT_181cb48f0); + auVar39 = vpand_avx(auVar39,_DAT_181cb48f0); + local_338 = vpand_avx(_DAT_181cb48f0,local_458); + auVar247 = vpand_avx(auVar247,_DAT_181cb48f0); + auVar131 = vpand_avx(auVar61,_DAT_181cb48f0); + auVar315 = vpand_avx(auVar315,_DAT_181cb48f0); + local_328 = vpaddq_avx(auVar329,auVar40); + local_318 = vpaddq_avx(auVar114,auVar57); + auVar40 = vpand_avx(auVar267,_DAT_181cb48f0); + auVar57 = vpand_avx(auVar172,_DAT_181cb48f0); + auVar267 = vpand_avx(auVar147,_DAT_181cb48f0); + auVar147 = vpand_avx(_DAT_181cb48f0,local_448); + auVar172 = vpsllq_avx(local_3b8,0x20); + local_308 = vpaddq_avx(auVar172,auVar247); + auVar247 = vpsllq_avx(local_3a8,0x20); + local_2f8 = vpaddq_avx(auVar247,auVar131); + auVar247 = vpsllq_avx(local_398,0x20); + auVar131 = vpsllq_avx(local_388,0x20); + local_10d8 = vpaddq_avx(auVar247,auVar315); + local_10e8 = vpaddq_avx(auVar131,auVar40); + auVar247 = vpsllq_avx(local_378,0x20); + auVar40 = vpsllq_avx(local_368,0x20); + local_10f8 = vpaddq_avx(auVar247,auVar57); + local_1108 = vpaddq_avx(auVar40,auVar267); + auVar40 = vpsllq_avx(local_438,0x20); + local_2e8 = vpaddq_avx(auVar40,local_358); + auVar40 = vpsllq_avx(local_428,0x20); + local_2d8 = vpaddq_avx(auVar40,local_348); + auVar40 = vpsllq_avx(local_418,0x20); + local_2c8 = vpaddq_avx(auVar40,local_338); + auVar40 = vpsllq_avx(local_408,0x20); + local_2b8 = vpaddq_avx(auVar40,auVar147); + auVar40 = vpsllq_avx(local_3f8,0x20); + local_2a8 = vpaddq_avx(auVar40,auVar60); + auVar40 = vpsllq_avx(local_3e8,0x20); + local_298 = vpaddq_avx(auVar40,auVar82); + auVar40 = vpsllq_avx(local_3d8,0x20); + local_288 = vpaddq_avx(auVar40,auVar113); + auVar40 = vpsllq_avx(local_3c8,0x20); + local_278 = vpaddq_avx(auVar40,auVar39); + local_268 = vpand_avx(_DAT_181cb4900,local_1348); + local_b88 = vpand_avx(_DAT_181cb4900,local_1358); + local_258 = vpand_avx(_DAT_181cb4900,local_1368); + local_248 = vpand_avx(_DAT_181cb4900,local_1378); + local_238 = vpand_avx(_DAT_181cb4900,local_1388); + local_228 = vpand_avx(_DAT_181cb4900,local_1398); + local_218 = vpand_avx(_DAT_181cb4900,local_1328); + local_208 = vpand_avx(_DAT_181cb4900,local_1338); + auVar39 = vpsrlq_avx(local_328,0xc); + auVar39 = vpor_avx(auVar39,local_268 ^ _DAT_181cb4910); + auVar40 = vpsrlq_avx(local_318,0xc); + auVar40 = vpor_avx(auVar40,local_b88 ^ _DAT_181cb4910); + auVar57 = vpsrlq_avx(local_308,0xc); + auVar247 = vpsrlq_avx(local_2f8,0xc); + auVar315 = vpsrlq_avx(local_10d8,0xc); + auVar267 = vpsrlq_avx(local_10e8,0xc); + auVar60 = vpsrlq_avx(local_10f8,0xc); + auVar182._16_16_ = auVar40; + auVar182._0_16_ = auVar39; + auVar57 = vpor_avx(auVar57,local_258 ^ _DAT_181cb4910); + auVar247 = vpor_avx(auVar247,local_248 ^ _DAT_181cb4910); + auVar306._16_16_ = auVar247; + auVar306._0_16_ = auVar57; + auVar315 = vpor_avx(auVar315,local_238 ^ _DAT_181cb4910); + auVar267 = vpor_avx(auVar267,local_228 ^ _DAT_181cb4910); + auVar5._8_8_ = _UNK_181cb47c8; + auVar5._0_8_ = _DAT_181cb47c0; + auVar5._16_8_ = _UNK_181cb47d0; + auVar5._24_8_ = _UNK_181cb47d8; + auVar60 = vpor_avx(auVar60,local_218 ^ _DAT_181cb4910); + auVar275._16_16_ = auVar267; + auVar275._0_16_ = auVar315; + auVar82 = vpsrlq_avx(local_1108,0xc); + auVar82 = vpor_avx(auVar82,_DAT_181cb4910 ^ local_208); + auVar209._0_8_ = auVar57._0_8_ + _DAT_181cb47c0; + auVar209._8_8_ = auVar57._8_8_ + _UNK_181cb47c8; + auVar219._16_8_ = auVar247._0_8_ + _UNK_181cb47d0; + auVar219._0_16_ = auVar209; + auVar219._24_8_ = auVar247._8_8_ + _UNK_181cb47d8; + auVar64 = vsubpd_avx(auVar219,auVar5); + local_2360 = vsubpd_avx(auVar306,auVar64); + auVar160._16_16_ = auVar82; + auVar160._0_16_ = auVar60; + auVar113._0_8_ = auVar39._0_8_ + _DAT_181cb47c0; + auVar113._8_8_ = auVar39._8_8_ + _UNK_181cb47c8; + auVar53._16_8_ = auVar40._0_8_ + _UNK_181cb47d0; + auVar53._0_16_ = auVar113; + auVar53._24_8_ = auVar40._8_8_ + _UNK_181cb47d8; + auVar115._0_8_ = auVar315._0_8_ + _DAT_181cb47c0; + auVar115._8_8_ = auVar315._8_8_ + _UNK_181cb47c8; + auVar120._16_8_ = auVar267._0_8_ + _UNK_181cb47d0; + auVar120._0_16_ = auVar115; + auVar120._24_8_ = auVar267._8_8_ + _UNK_181cb47d8; + auVar330._0_8_ = auVar60._0_8_ + _DAT_181cb47c0; + auVar330._8_8_ = auVar60._8_8_ + _UNK_181cb47c8; + auVar336._16_8_ = auVar82._0_8_ + _UNK_181cb47d0; + auVar336._0_16_ = auVar330; + auVar336._24_8_ = auVar82._8_8_ + _UNK_181cb47d8; + auVar64 = vsubpd_avx(auVar53,auVar5); + auVar88 = vsubpd_avx(auVar120,auVar5); + auVar50 = vsubpd_avx(auVar336,auVar5); + local_2380 = vsubpd_avx(auVar182,auVar64); + local_2340 = vsubpd_avx(auVar275,auVar88); + local_2320 = vsubpd_avx(auVar160,auVar50); + local_11c8 = vpand_avx(auVar209,_DAT_181cb4920); + local_1208 = vpand_avx(auVar330,_DAT_181cb4920); + local_11a8 = vpand_avx(auVar113,_DAT_181cb4920); + local_11d8 = vpand_avx(auVar219._16_16_,_DAT_181cb4920); + local_11b8 = vpand_avx(auVar53._16_16_,_DAT_181cb4920); + local_11e8 = vpand_avx(auVar115,_DAT_181cb4920); + local_1218 = vpand_avx(auVar336._16_16_,_DAT_181cb4920); + local_11f8 = vpand_avx(auVar120._16_16_,_DAT_181cb4920); + auVar39 = vpand_avx(_DAT_181cb4940,local_2e8); + auVar40 = vpsllq_avx(auVar39,0x1c); + auVar39 = vpand_avx(_DAT_181cb4940,local_2d8); + auVar57 = vpor_avx(auVar40,local_268 ^ _DAT_181cb4930); + auVar40 = vpand_avx(_DAT_181cb4940,local_2c8); + auVar39 = vpsllq_avx(auVar39,0x1c); + auVar247 = vpor_avx(auVar39,local_b88 ^ _DAT_181cb4930); + auVar40 = vpsllq_avx(auVar40,0x1c); + auVar39 = vpand_avx(_DAT_181cb4940,local_2b8); + auVar40 = vpor_avx(auVar40,local_258 ^ _DAT_181cb4930); + auVar276._16_16_ = auVar247; + auVar276._0_16_ = auVar57; + auVar57 = vpsllq_avx(auVar39,0x1c); + auVar39 = vpand_avx(_DAT_181cb4940,local_2a8); + auVar57 = vpor_avx(auVar57,local_248 ^ _DAT_181cb4930); + auVar39 = vpsllq_avx(auVar39,0x1c); + auVar247 = vpor_avx(auVar39,local_238 ^ _DAT_181cb4930); + auVar358._16_16_ = auVar57; + auVar358._0_16_ = auVar40; + auVar39 = vpand_avx(_DAT_181cb4940,local_298); + auVar39 = vpsllq_avx(auVar39,0x1c); + auVar39 = vpor_avx(auVar39,_DAT_181cb4930 ^ local_228); + auVar183._16_16_ = auVar39; + auVar183._0_16_ = auVar247; + auVar39 = vpand_avx(_DAT_181cb4940,local_288); + auVar39 = vpsllq_avx(auVar39,0x1c); + auVar40 = vpor_avx(auVar39,_DAT_181cb4930 ^ local_218); + auVar39 = vpand_avx(_DAT_181cb4940,local_278); + local_cf8 = vpsrlq_avx(local_278,0x18); + auVar39 = vpsllq_avx(auVar39,0x1c); + auVar39 = vpor_avx(auVar39,_DAT_181cb4930 ^ local_208); + auVar220._16_16_ = auVar39; + auVar220._0_16_ = auVar40; + auVar121._16_16_ = local_b88 ^ _DAT_181cb4930; + auVar121._0_16_ = local_268 ^ _DAT_181cb4930; + auVar54._16_16_ = local_248 ^ _DAT_181cb4930; + auVar54._0_16_ = local_258 ^ _DAT_181cb4930; + _local_2300 = vsubpd_avx(auVar276,auVar121); + _local_22c0 = vsubpd_avx(auVar358,auVar54); + local_bc8 = local_268 ^ _DAT_181cb4950; + local_b78 = _DAT_181cb4950 ^ local_258; + auVar70._16_16_ = _DAT_181cb4930 ^ local_228; + auVar70._0_16_ = local_238 ^ _DAT_181cb4930; + auVar45._16_16_ = _DAT_181cb4930 ^ local_208; + auVar45._0_16_ = _DAT_181cb4930 ^ local_218; + _local_2200 = vsubpd_avx(auVar183,auVar70); + _local_21c0 = vsubpd_avx(auVar220,auVar45); + local_b88 = local_b88 ^ _DAT_181cb4950; + local_be8 = _DAT_181cb4950 ^ local_248; + auVar39 = vpand_avx(_DAT_181cb4960,local_328); + auVar40 = vpsllq_avx(auVar39,0x28); + local_bb8 = _DAT_181cb4950 ^ local_228; + local_c18 = _DAT_181cb4950 ^ local_238; + local_bf8 = _DAT_181cb4950 ^ local_218; + local_c28 = _DAT_181cb4950 ^ local_208; + auVar39 = vpsrlq_avx(local_2e8,0x18); + auVar247 = vpsrlq_avx(local_2d8,0x18); + local_c78 = vpsrlq_avx(local_298,0x18); + auVar39 = vpor_avx(auVar40,auVar39); + local_ba8 = vpor_avx(auVar39,local_bc8); + auVar39 = vpand_avx(_DAT_181cb4960,local_318); + local_ca8 = vpsrlq_avx(local_288,0x18); + auVar40 = vpsllq_avx(auVar39,0x28); + auVar39 = vpand_avx(_DAT_181cb4960,local_308); + auVar57 = vpsrlq_avx(local_2c8,0x18); + auVar40 = vpor_avx(auVar40,auVar247); + auVar39 = vpsllq_avx(auVar39,0x28); + local_b98 = vpor_avx(auVar40,local_b88); + auVar247 = vpsrlq_avx(local_2b8,0x18); + auVar267 = vpsrlq_avx(local_2a8,0x18); + auVar40 = vpor_avx(auVar39,auVar57); + auVar39 = vpand_avx(_DAT_181cb4960,local_2f8); + auVar57 = vpor_avx(auVar40,local_b78); + auVar39 = vpsllq_avx(auVar39,0x28); + auVar247 = vpor_avx(auVar39,auVar247); + auVar39 = vpand_avx(_DAT_181cb4960,local_10f8); + auVar40 = vpand_avx(_DAT_181cb4960,local_10d8); + auVar315 = vpsllq_avx(auVar40,0x28); + auVar40 = vpand_avx(_DAT_181cb4960,local_10e8); + auVar315 = vpor_avx(auVar315,auVar267); + auVar267 = vpsllq_avx(auVar40,0x28); + auVar40 = vpor_avx(auVar247,local_be8); + auVar247 = vpor_avx(auVar315,local_c18); + auVar60 = vpsllq_avx(auVar39,0x28); + auVar39 = vpand_avx(_DAT_181cb4960,local_1108); + auVar315 = vpor_avx(auVar267,local_c78); + auVar315 = vpor_avx(auVar315,local_bb8); + auVar267 = vpor_avx(auVar60,local_ca8); + auVar60 = vpsllq_avx(auVar39,0x28); + auVar39 = vpor_avx(auVar267,local_bf8); + auVar267 = vpor_avx(auVar60,local_cf8); + auVar267 = vpor_avx(auVar267,local_c28); + auVar277._16_16_ = local_b98; + auVar277._0_16_ = local_ba8; + auVar307._16_16_ = auVar40; + auVar307._0_16_ = auVar57; + auVar221._16_16_ = local_be8; + auVar221._0_16_ = local_b78; + auVar122._16_16_ = auVar315; + auVar122._0_16_ = auVar247; + auVar161._16_16_ = auVar267; + auVar161._0_16_ = auVar39; + auVar201._16_16_ = local_bb8; + auVar201._0_16_ = local_c18; + auVar71._16_16_ = local_c28; + auVar71._0_16_ = local_bf8; + auVar87 = vsubpd_avx(auVar307,auVar221); + auVar117 = vsubpd_avx(auVar122,auVar201); + auVar134 = vsubpd_avx(auVar161,auVar71); + auVar245._0_8_ = local_2360._0_8_ + auVar87._0_8_; + auVar245._8_8_ = local_2360._8_8_ + auVar87._8_8_; + auVar245._16_8_ = local_2360._16_8_ + auVar87._16_8_; + auVar245._24_8_ = local_2360._24_8_ + auVar87._24_8_; + auVar94._16_16_ = local_b88; + auVar94._0_16_ = local_bc8; + auVar135 = vsubpd_avx(auVar277,auVar94); + auVar278._0_8_ = local_2320._0_8_ + auVar134._0_8_; + auVar278._8_8_ = local_2320._8_8_ + auVar134._8_8_; + auVar278._16_8_ = local_2320._16_8_ + auVar134._16_8_; + auVar278._24_8_ = local_2320._24_8_ + auVar134._24_8_; + auVar136 = vsubpd_avx(local_2360,auVar245); + auVar46._0_8_ = local_2380._0_8_ + auVar135._0_8_; + auVar46._8_8_ = local_2380._8_8_ + auVar135._8_8_; + auVar46._16_8_ = local_2380._16_8_ + auVar135._16_8_; + auVar46._24_8_ = local_2380._24_8_ + auVar135._24_8_; + auVar95._0_8_ = local_2340._0_8_ + auVar117._0_8_; + auVar95._8_8_ = local_2340._8_8_ + auVar117._8_8_; + auVar95._16_8_ = local_2340._16_8_ + auVar117._16_8_; + auVar95._24_8_ = local_2340._24_8_ + auVar117._24_8_; + auVar137 = vsubpd_avx(local_2380,auVar46); + auVar138 = vsubpd_avx(local_2320,auVar278); + auVar156 = vsubpd_avx(local_2340,auVar95); + auVar64 = vandpd_avx(auVar46,_DAT_181cb4840); + auVar88 = vandpd_avx(auVar95,_DAT_181cb4840); + auVar50 = vandpd_avx(auVar245,_DAT_181cb4840); + auVar65 = vandpd_avx(auVar278,_DAT_181cb4840); + auVar176 = vsubpd_avx(auVar95,auVar88); + auVar177 = vsubpd_avx(auVar46,auVar64); + auVar178 = vsubpd_avx(auVar245,auVar50); + auVar179 = vsubpd_avx(auVar278,auVar65); + local_1f00 = _DAT_181cb4800 * auVar64._0_8_; + dStack_1ef8 = _UNK_181cb4808 * auVar64._8_8_; + dStack_1ef0 = _UNK_181cb4810 * auVar64._16_8_; + dStack_1ee8 = _UNK_181cb4818 * auVar64._24_8_; + local_1ee0 = _DAT_181cb4800 * auVar50._0_8_; + dStack_1ed8 = _UNK_181cb4808 * auVar50._8_8_; + dStack_1ed0 = _UNK_181cb4810 * auVar50._16_8_; + dStack_1ec8 = _UNK_181cb4818 * auVar50._24_8_; + local_1ec0 = _DAT_181cb4800 * auVar88._0_8_; + dStack_1eb8 = _UNK_181cb4808 * auVar88._8_8_; + dStack_1eb0 = _UNK_181cb4810 * auVar88._16_8_; + dStack_1ea8 = _UNK_181cb4818 * auVar88._24_8_; + local_1ea0 = _DAT_181cb4800 * auVar65._0_8_; + dStack_1e98 = _UNK_181cb4808 * auVar65._8_8_; + dStack_1e90 = _UNK_181cb4810 * auVar65._16_8_; + dStack_1e88 = _UNK_181cb4818 * auVar65._24_8_; + local_1e80 = _DAT_181cb4800 * auVar177._0_8_; + dStack_1e78 = _UNK_181cb4808 * auVar177._8_8_; + dStack_1e70 = _UNK_181cb4810 * auVar177._16_8_; + dStack_1e68 = _UNK_181cb4818 * auVar177._24_8_; + local_1e60 = _DAT_181cb4800 * auVar178._0_8_; + dStack_1e58 = _UNK_181cb4808 * auVar178._8_8_; + dStack_1e50 = _UNK_181cb4810 * auVar178._16_8_; + dStack_1e48 = _UNK_181cb4818 * auVar178._24_8_; + local_1e00 = _DAT_181cb4820 * auVar50._0_8_ + local_1e60 + + _DAT_181cb47e0 * + (auVar87._0_8_ + auVar136._0_8_ + (double)local_22c0._0_8_) + + _DAT_181cb4820 * auVar178._0_8_; + dStack_1df8 = _UNK_181cb4828 * auVar50._8_8_ + dStack_1e58 + + _UNK_181cb47e8 * + (auVar87._8_8_ + auVar136._8_8_ + (double)local_22c0._8_8_) + + _UNK_181cb4828 * auVar178._8_8_; + dStack_1df0 = _UNK_181cb4830 * auVar50._16_8_ + dStack_1e50 + + _UNK_181cb47f0 * (auVar87._16_8_ + auVar136._16_8_ + dStack_22b0) + + _UNK_181cb4830 * auVar178._16_8_; + dStack_1de8 = _UNK_181cb4838 * auVar50._24_8_ + dStack_1e48 + + _UNK_181cb47f8 * (auVar87._24_8_ + auVar136._24_8_ + dStack_22a8) + + _UNK_181cb4838 * auVar178._24_8_; + auVar13._8_8_ = dStack_1ef8; + auVar13._0_8_ = local_1f00; + auVar13._16_8_ = dStack_1ef0; + auVar13._24_8_ = dStack_1ee8; + auVar15._8_8_ = dStack_1eb8; + auVar15._0_8_ = local_1ec0; + auVar15._16_8_ = dStack_1eb0; + auVar15._24_8_ = dStack_1ea8; + local_1dc0 = _DAT_181cb4800 * auVar179._0_8_ + _DAT_181cb4820 * auVar65._0_8_ + + _DAT_181cb47e0 * + (auVar134._0_8_ + auVar138._0_8_ + (double)local_21c0._0_8_) + + _DAT_181cb4820 * auVar179._0_8_; + dStack_1db8 = _UNK_181cb4808 * auVar179._8_8_ + _UNK_181cb4828 * auVar65._8_8_ + + _UNK_181cb47e8 * + (auVar134._8_8_ + auVar138._8_8_ + (double)local_21c0._8_8_) + + _UNK_181cb4828 * auVar179._8_8_; + dStack_1db0 = _UNK_181cb4810 * auVar179._16_8_ + _UNK_181cb4830 * auVar65._16_8_ + + _UNK_181cb47f0 * (auVar134._16_8_ + auVar138._16_8_ + dStack_21b0) + + _UNK_181cb4830 * auVar179._16_8_; + dStack_1da8 = _UNK_181cb4818 * auVar179._24_8_ + _UNK_181cb4838 * auVar65._24_8_ + + _UNK_181cb47f8 * (auVar134._24_8_ + auVar138._24_8_ + dStack_21a8) + + _UNK_181cb4838 * auVar179._24_8_; + local_1e20 = _DAT_181cb4820 * auVar64._0_8_ + local_1e80 + + _DAT_181cb47e0 * + (auVar135._0_8_ + auVar137._0_8_ + (double)local_2300._0_8_) + + _DAT_181cb4820 * auVar177._0_8_; + dStack_1e18 = _UNK_181cb4828 * auVar64._8_8_ + dStack_1e78 + + _UNK_181cb47e8 * + (auVar135._8_8_ + auVar137._8_8_ + (double)local_2300._8_8_) + + _UNK_181cb4828 * auVar177._8_8_; + dStack_1e10 = _UNK_181cb4830 * auVar64._16_8_ + dStack_1e70 + + _UNK_181cb47f0 * (auVar135._16_8_ + auVar137._16_8_ + dStack_22f0) + + _UNK_181cb4830 * auVar177._16_8_; + dStack_1e08 = _UNK_181cb4838 * auVar64._24_8_ + dStack_1e68 + + _UNK_181cb47f8 * (auVar135._24_8_ + auVar137._24_8_ + dStack_22e8) + + _UNK_181cb4838 * auVar177._24_8_; + local_1de0 = _DAT_181cb4800 * auVar176._0_8_ + _DAT_181cb4820 * auVar88._0_8_ + + _DAT_181cb47e0 * + (auVar117._0_8_ + auVar156._0_8_ + (double)local_2200._0_8_) + + _DAT_181cb4820 * auVar176._0_8_; + dStack_1dd8 = _UNK_181cb4808 * auVar176._8_8_ + _UNK_181cb4828 * auVar88._8_8_ + + _UNK_181cb47e8 * + (auVar117._8_8_ + auVar156._8_8_ + (double)local_2200._8_8_) + + _UNK_181cb4828 * auVar176._8_8_; + dStack_1dd0 = _UNK_181cb4810 * auVar176._16_8_ + _UNK_181cb4830 * auVar88._16_8_ + + _UNK_181cb47f0 * (auVar117._16_8_ + auVar156._16_8_ + dStack_21f0) + + _UNK_181cb4830 * auVar176._16_8_; + dStack_1dc8 = _UNK_181cb4818 * auVar176._24_8_ + _UNK_181cb4838 * auVar88._24_8_ + + _UNK_181cb47f8 * (auVar117._24_8_ + auVar156._24_8_ + dStack_21e8) + + _UNK_181cb4838 * auVar176._24_8_; + auVar14._8_8_ = dStack_1ed8; + auVar14._0_8_ = local_1ee0; + auVar14._16_8_ = dStack_1ed0; + auVar14._24_8_ = dStack_1ec8; + auVar16._8_8_ = dStack_1e98; + auVar16._0_8_ = local_1ea0; + auVar16._16_8_ = dStack_1e90; + auVar16._24_8_ = dStack_1e88; + auVar222._0_8_ = local_1f00 + local_1e20; + auVar222._8_8_ = dStack_1ef8 + dStack_1e18; + auVar222._16_8_ = dStack_1ef0 + dStack_1e10; + auVar222._24_8_ = dStack_1ee8 + dStack_1e08; + auVar162._0_8_ = local_1ee0 + local_1e00; + auVar162._8_8_ = dStack_1ed8 + dStack_1df8; + auVar162._16_8_ = dStack_1ed0 + dStack_1df0; + auVar162._24_8_ = dStack_1ec8 + dStack_1de8; + local_1e40._0_8_ = local_1ea0 + local_1dc0; + local_1e40._8_8_ = dStack_1e98 + dStack_1db8; + local_1e40._16_8_ = dStack_1e90 + dStack_1db0; + local_1e40._24_8_ = dStack_1e88 + dStack_1da8; + auVar64 = vsubpd_avx(auVar13,auVar222); + auVar88 = vsubpd_avx(auVar14,auVar162); + auVar50 = vsubpd_avx(auVar16,local_1e40); + auVar123._0_8_ = local_1ec0 + local_1de0; + auVar123._8_8_ = dStack_1eb8 + dStack_1dd8; + auVar123._16_8_ = dStack_1eb0 + dStack_1dd0; + auVar123._24_8_ = dStack_1ea8 + dStack_1dc8; + local_1e00 = local_1e00 + auVar88._0_8_; + dStack_1df8 = dStack_1df8 + auVar88._8_8_; + dStack_1df0 = dStack_1df0 + auVar88._16_8_; + dStack_1de8 = dStack_1de8 + auVar88._24_8_; + local_1dc0 = local_1dc0 + auVar50._0_8_; + dStack_1db8 = dStack_1db8 + auVar50._8_8_; + dStack_1db0 = dStack_1db0 + auVar50._16_8_; + dStack_1da8 = dStack_1da8 + auVar50._24_8_; + auVar88 = vsubpd_avx(auVar15,auVar123); + local_1e20 = local_1e20 + auVar64._0_8_; + dStack_1e18 = dStack_1e18 + auVar64._8_8_; + dStack_1e10 = dStack_1e10 + auVar64._16_8_; + dStack_1e08 = dStack_1e08 + auVar64._24_8_; + local_1de0 = local_1de0 + auVar88._0_8_; + dStack_1dd8 = dStack_1dd8 + auVar88._8_8_; + dStack_1dd0 = dStack_1dd0 + auVar88._16_8_; + dStack_1dc8 = dStack_1dc8 + auVar88._24_8_; + auVar64 = vandpd_avx(local_1840,_DAT_181cb4860); + auVar88 = vandpd_avx(local_17a0,_DAT_181cb4860); + auVar50 = vandpd_avx(local_17c0,_DAT_181cb4860); + auVar65 = vandpd_avx(local_17e0,_DAT_181cb4860); + auVar87 = vcmppd_avx(auVar64,_DAT_181cb4880,0x1e); + auVar135 = vcmppd_avx(auVar88,_DAT_181cb4880,0x1e); + auVar117 = vcmppd_avx(auVar50,_DAT_181cb4880,0x1e); + auVar136 = vcmppd_avx(auVar65,_DAT_181cb4880,0x1e); + auVar134 = vcmppd_avx(auVar88,_DAT_181cb4880,0x12); + auVar137 = vcmppd_avx(auVar50,_DAT_181cb4880,0x12); + auVar138 = vcmppd_avx(auVar65,_DAT_181cb4880,0x12); + auVar156 = vcmppd_avx(auVar64,_DAT_181cb4880,0x12); + auVar64 = vandpd_avx(auVar87,auVar222); + auVar88 = vandpd_avx(auVar135,auVar162); + auVar17._8_8_ = dStack_1e18; + auVar17._0_8_ = local_1e20; + auVar17._16_8_ = dStack_1e10; + auVar17._24_8_ = dStack_1e08; + _local_24a0 = vandpd_avx(auVar87,auVar17); + auVar50 = vandpd_avx(auVar134,local_17a0); + auVar65 = vandpd_avx(auVar117,auVar123); + auVar19._8_8_ = dStack_1dd8; + auVar19._0_8_ = local_1de0; + auVar19._16_8_ = dStack_1dd0; + auVar19._24_8_ = dStack_1dc8; + _local_24e0 = vandpd_avx(auVar117,auVar19); + auVar87 = vandpd_avx(auVar137,local_17c0); + auVar117 = vandpd_avx(auVar138,local_17e0); + auVar134 = vandpd_avx(auVar136,local_1e40); + local_2160 = vorpd_avx(auVar50,auVar88); + local_2140 = vorpd_avx(auVar87,auVar65); + local_2120 = vorpd_avx(auVar117,auVar134); + auVar20._8_8_ = dStack_1db8; + auVar20._0_8_ = local_1dc0; + auVar20._16_8_ = dStack_1db0; + auVar20._24_8_ = dStack_1da8; + _local_2500 = vandpd_avx(auVar136,auVar20); + auVar88 = vandpd_avx(auVar156,local_1840); + auVar39 = vpaddq_avx(local_11c8,_DAT_181ca8380); + auVar40 = vpaddq_avx(local_11a8,_DAT_181ca8380); + auVar57 = vpaddq_avx(_DAT_181ca8380,local_11e8); + local_1248 = vpand_avx(auVar39,_DAT_181ca8340); + local_1228 = vpand_avx(auVar40,_DAT_181ca8340); + auVar39 = vpaddq_avx(_DAT_181ca8380,local_11d8); + auVar40 = vpaddq_avx(_DAT_181ca8380,local_1208); + local_1258 = vpand_avx(auVar39,_DAT_181ca8340); + local_1288 = vpand_avx(auVar40,_DAT_181ca8340); + local_21a0 = vorpd_avx(auVar88,auVar64); + auVar18._8_8_ = dStack_1df8; + auVar18._0_8_ = local_1e00; + auVar18._16_8_ = dStack_1df0; + auVar18._24_8_ = dStack_1de8; + _local_24c0 = vandpd_avx(auVar135,auVar18); + local_1b40 = local_21a0._0_8_; + local_2520 = local_1b40 * local_1b40; + dStack_1b38 = local_21a0._8_8_; + dStack_2518 = dStack_1b38 * dStack_1b38; + dStack_1b30 = local_21a0._16_8_; + dStack_2510 = dStack_1b30 * dStack_1b30; + dStack_1b28 = local_21a0._24_8_; + dStack_2508 = dStack_1b28 * dStack_1b28; + auVar39 = vpaddq_avx(local_11b8,_DAT_181ca8380); + local_1238 = vpand_avx(auVar39,_DAT_181ca8340); + local_1268 = vpand_avx(auVar57,_DAT_181ca8340); + local_1b20 = local_2160._0_8_; + local_2540._0_8_ = local_1b20 * local_1b20; + dStack_1b18 = local_2160._8_8_; + local_2540._8_8_ = dStack_1b18 * dStack_1b18; + dStack_1b10 = local_2160._16_8_; + dStack_2530 = dStack_1b10 * dStack_1b10; + dStack_1b08 = local_2160._24_8_; + dStack_2528 = dStack_1b08 * dStack_1b08; + auVar39 = vpaddq_avx(_DAT_181ca8380,local_11f8); + local_1278 = vpand_avx(auVar39,_DAT_181ca8340); + auVar39 = vpaddq_avx(_DAT_181ca8380,local_1218); + local_1298 = vpand_avx(auVar39,_DAT_181ca8340); + local_1b00 = local_2140._0_8_; + local_26e0._0_8_ = local_1b00 * local_1b00; + dStack_1af8 = local_2140._8_8_; + local_26e0._8_8_ = dStack_1af8 * dStack_1af8; + dStack_1af0 = local_2140._16_8_; + dStack_26d0 = dStack_1af0 * dStack_1af0; + dStack_1ae8 = local_2140._24_8_; + dStack_26c8 = dStack_1ae8 * dStack_1ae8; + local_1ae0 = local_2120._0_8_; + local_2700._0_8_ = local_1ae0 * local_1ae0; + dStack_1ad8 = local_2120._8_8_; + local_2700._8_8_ = dStack_1ad8 * dStack_1ad8; + dStack_1ad0 = local_2120._16_8_; + dStack_26f0 = dStack_1ad0 * dStack_1ad0; + dStack_1ac8 = local_2120._24_8_; + dStack_26e8 = dStack_1ac8 * dStack_1ac8; + local_2420._0_8_ = + local_1b40 * local_2520 * (_DAT_181ca8480 + _DAT_181ca84c0 * local_2520); + local_2420._8_8_ = + dStack_1b38 * dStack_2518 * (_UNK_181ca8488 + _UNK_181ca84c8 * dStack_2518); + dStack_2410 = dStack_1b30 * + dStack_2510 * (_UNK_181ca8490 + _UNK_181ca84d0 * dStack_2510); + dStack_2408 = dStack_1b28 * + dStack_2508 * (_UNK_181ca8498 + _UNK_181ca84d8 * dStack_2508); + local_2440._0_8_ = + local_1b20 * + (double)local_2540._0_8_ * + (_DAT_181ca8480 + _DAT_181ca84c0 * (double)local_2540._0_8_); + local_2440._8_8_ = + dStack_1b18 * + (double)local_2540._8_8_ * + (_UNK_181ca8488 + _UNK_181ca84c8 * (double)local_2540._8_8_); + dStack_2430 = dStack_1b10 * + dStack_2530 * (_UNK_181ca8490 + _UNK_181ca84d0 * dStack_2530); + dStack_2428 = dStack_1b08 * + dStack_2528 * (_UNK_181ca8498 + _UNK_181ca84d8 * dStack_2528); + local_2460._0_8_ = + local_1b00 * + (double)local_26e0._0_8_ * + (_DAT_181ca8480 + _DAT_181ca84c0 * (double)local_26e0._0_8_); + local_2460._8_8_ = + dStack_1af8 * + (double)local_26e0._8_8_ * + (_UNK_181ca8488 + _UNK_181ca84c8 * (double)local_26e0._8_8_); + dStack_2450 = dStack_1af0 * + dStack_26d0 * (_UNK_181ca8490 + _UNK_181ca84d0 * dStack_26d0); + dStack_2448 = dStack_1ae8 * + dStack_26c8 * (_UNK_181ca8498 + _UNK_181ca84d8 * dStack_26c8); + local_2480._0_8_ = + local_1ae0 * + (double)local_2700._0_8_ * + (_DAT_181ca8480 + _DAT_181ca84c0 * (double)local_2700._0_8_); + local_2480._8_8_ = + dStack_1ad8 * + (double)local_2700._8_8_ * + (_UNK_181ca8488 + _UNK_181ca84c8 * (double)local_2700._8_8_); + dStack_2470 = dStack_1ad0 * + dStack_26f0 * (_UNK_181ca8490 + _UNK_181ca84d0 * dStack_26f0); + dStack_2468 = dStack_1ac8 * + dStack_26e8 * (_UNK_181ca8498 + _UNK_181ca84d8 * dStack_26e8); + local_2700._0_8_ = + (double)local_2700._0_8_ * + (_DAT_181ca8500 + + (double)local_2700._0_8_ * + (_DAT_181ca8540 + _DAT_181ca8580 * (double)local_2700._0_8_)); + local_2700._8_8_ = + (double)local_2700._8_8_ * + (_UNK_181ca8508 + + (double)local_2700._8_8_ * + (_UNK_181ca8548 + _UNK_181ca8588 * (double)local_2700._8_8_)); + dStack_26f0 = dStack_26f0 * + (_UNK_181ca8510 + + dStack_26f0 * (_UNK_181ca8550 + _UNK_181ca8590 * dStack_26f0)); + dStack_26e8 = dStack_26e8 * + (_UNK_181ca8518 + + dStack_26e8 * (_UNK_181ca8558 + _UNK_181ca8598 * dStack_26e8)); + local_26e0._0_8_ = + (double)local_26e0._0_8_ * + (_DAT_181ca8500 + + (double)local_26e0._0_8_ * + (_DAT_181ca8540 + _DAT_181ca8580 * (double)local_26e0._0_8_)); + local_26e0._8_8_ = + (double)local_26e0._8_8_ * + (_UNK_181ca8508 + + (double)local_26e0._8_8_ * + (_UNK_181ca8548 + _UNK_181ca8588 * (double)local_26e0._8_8_)); + dStack_26d0 = dStack_26d0 * + (_UNK_181ca8510 + + dStack_26d0 * (_UNK_181ca8550 + _UNK_181ca8590 * dStack_26d0)); + dStack_26c8 = dStack_26c8 * + (_UNK_181ca8518 + + dStack_26c8 * (_UNK_181ca8558 + _UNK_181ca8598 * dStack_26c8)); + local_2520 = local_2520 * + (_DAT_181ca8500 + + local_2520 * (_DAT_181ca8540 + _DAT_181ca8580 * local_2520)); + dStack_2518 = dStack_2518 * + (_UNK_181ca8508 + + dStack_2518 * (_UNK_181ca8548 + _UNK_181ca8588 * dStack_2518)); + dStack_2510 = dStack_2510 * + (_UNK_181ca8510 + + dStack_2510 * (_UNK_181ca8550 + _UNK_181ca8590 * dStack_2510)); + dStack_2508 = dStack_2508 * + (_UNK_181ca8518 + + dStack_2508 * (_UNK_181ca8558 + _UNK_181ca8598 * dStack_2508)); + local_2540._0_8_ = + (double)local_2540._0_8_ * + (_DAT_181ca8500 + + (double)local_2540._0_8_ * + (_DAT_181ca8540 + _DAT_181ca8580 * (double)local_2540._0_8_)); + local_2540._8_8_ = + (double)local_2540._8_8_ * + (_UNK_181ca8508 + + (double)local_2540._8_8_ * + (_UNK_181ca8548 + _UNK_181ca8588 * (double)local_2540._8_8_)); + dStack_2530 = dStack_2530 * + (_UNK_181ca8510 + + dStack_2530 * (_UNK_181ca8550 + _UNK_181ca8590 * dStack_2530)); + dStack_2528 = dStack_2528 * + (_UNK_181ca8518 + + dStack_2528 * (_UNK_181ca8558 + _UNK_181ca8598 * dStack_2528)); + local_1f0 = (ulonglong)(uint)(local_11a8._0_4_ << 5); + uVar23 = local_11a8._8_4_ << 5; + local_1d0 = (ulonglong)(uint)(local_11b8._0_4_ << 5); + auVar267._8_8_ = 0; + auVar267._0_8_ = *(ulonglong *)(&DAT_181ca4200 + local_1f0); + auVar39 = vmovhpd_avx(auVar267,*(undefined8 *)(&DAT_181ca4200 + uVar23)); + local_1b8 = (ulonglong)(uint)(local_11b8._8_4_ << 5); + auVar60._8_8_ = 0; + auVar60._0_8_ = *(ulonglong *)(&DAT_181ca4200 + local_1d0); + auVar40 = vmovhpd_avx(auVar60,*(undefined8 *)(&DAT_181ca4200 + local_1b8)); + uVar27 = local_11c8._0_4_ << 5; + uVar37 = local_11c8._8_4_ << 5; + auVar47._16_16_ = auVar40; + auVar47._0_16_ = auVar39; + auVar82._8_8_ = 0; + auVar82._0_8_ = *(ulonglong *)(&DAT_181ca4200 + uVar27); + auVar57 = vmovhpd_avx(auVar82,*(undefined8 *)(&DAT_181ca4200 + uVar37)); + uVar28 = local_11d8._0_4_ << 5; + uVar26 = local_11d8._8_4_ << 5; + local_140 = (ulonglong)(uint)(local_1218._0_4_ << 5); + local_138 = (ulonglong)(uint)(local_1218._8_4_ << 5); + auVar114._8_8_ = 0; + auVar114._0_8_ = *(ulonglong *)(&DAT_181ca4200 + uVar28); + auVar247 = vmovhpd_avx(auVar114,*(undefined8 *)(&DAT_181ca4200 + uVar26)); + uVar30 = local_11e8._0_4_ << 5; + uVar29 = local_11f8._0_4_ << 5; + uVar24 = local_11e8._8_4_ << 5; + uVar36 = local_11f8._8_4_ << 5; + auVar191._8_8_ = 0; + auVar191._0_8_ = *(ulonglong *)(&DAT_181ca4200 + uVar30); + auVar315 = vmovhpd_avx(auVar191,*(undefined8 *)(&DAT_181ca4200 + uVar24)); + auVar269._8_8_ = 0; + auVar269._0_8_ = *(ulonglong *)(&DAT_181ca4200 + uVar29); + auVar267 = vmovhpd_avx(auVar269,*(undefined8 *)(&DAT_181ca4200 + uVar36)); + auVar349._8_8_ = 0; + auVar349._0_8_ = *(ulonglong *)(&DAT_181ca4208 + uVar27); + auVar60 = vmovhpd_avx(auVar349,*(undefined8 *)(&DAT_181ca4208 + uVar37)); + uVar21 = local_1208._0_4_ << 5; + local_148 = (ulonglong)(uint)(local_1208._8_4_ << 5); + auVar331._8_8_ = 0; + auVar331._0_8_ = *(ulonglong *)(&DAT_181ca4200 + uVar21); + auVar82 = vmovhpd_avx(auVar331,*(undefined8 *)(&DAT_181ca4200 + local_148)); + auVar332._8_8_ = 0; + auVar332._0_8_ = *(ulonglong *)(&DAT_181ca4208 + uVar30); + auVar113 = vmovhpd_avx(auVar332,*(undefined8 *)(&DAT_181ca4208 + uVar24)); + local_1da0._16_16_ = auVar247; + local_1da0._0_16_ = auVar57; + auVar148._8_8_ = 0; + auVar148._0_8_ = *(ulonglong *)(&DAT_181ca4200 + local_140); + auVar131 = vmovhpd_avx(auVar148,*(undefined8 *)(&DAT_181ca4200 + local_138)); + auVar147._8_8_ = 0; + auVar147._0_8_ = *(ulonglong *)(&DAT_181ca4208 + local_1f0); + auVar147 = vmovhpd_avx(auVar147,*(undefined8 *)(&DAT_181ca4208 + uVar23)); + local_1d80._16_16_ = auVar267; + local_1d80._0_16_ = auVar315; + auVar229._8_8_ = 0; + auVar229._0_8_ = *(ulonglong *)(&DAT_181ca4208 + uVar28); + auVar172 = vmovhpd_avx(auVar229,*(undefined8 *)(&DAT_181ca4208 + uVar26)); + auVar192._8_8_ = 0; + auVar192._0_8_ = *(ulonglong *)(&DAT_181ca4208 + local_1d0); + auVar114 = vmovhpd_avx(auVar192,*(undefined8 *)(&DAT_181ca4208 + local_1b8)); + auVar350._8_8_ = 0; + auVar350._0_8_ = *(ulonglong *)(&DAT_181ca4208 + local_140); + auVar115 = vmovhpd_avx(auVar350,*(undefined8 *)(&DAT_181ca4208 + local_138)); + auVar337._0_8_ = auVar57._0_8_ + auVar60._0_8_; + auVar337._8_8_ = auVar57._8_8_ + auVar60._8_8_; + auVar337._16_8_ = auVar247._0_8_ + auVar172._0_8_; + auVar337._24_8_ = auVar247._8_8_ + auVar172._8_8_; + auVar210._8_8_ = 0; + auVar210._0_8_ = *(ulonglong *)(&DAT_181ca4210 + local_1f0); + auVar61 = vmovhpd_avx(auVar210,*(undefined8 *)(&DAT_181ca4210 + uVar23)); + local_1d60._16_16_ = auVar131; + local_1d60._0_16_ = auVar82; + auVar149._8_8_ = 0; + auVar149._0_8_ = *(ulonglong *)(&DAT_181ca4208 + uVar29); + auVar329 = vmovhpd_avx(auVar149,*(undefined8 *)(&DAT_181ca4208 + uVar36)); + auVar193._8_8_ = 0; + auVar193._0_8_ = *(ulonglong *)(&DAT_181ca4208 + uVar21); + auVar49 = vmovhpd_avx(auVar193,*(undefined8 *)(&DAT_181ca4208 + local_148)); + local_1d40._16_16_ = auVar329; + local_1d40._0_16_ = auVar113; + auVar291._8_8_ = 0; + auVar291._0_8_ = *(ulonglong *)(&DAT_181ca4210 + local_1d0); + auVar83 = vmovhpd_avx(auVar291,*(undefined8 *)(&DAT_181ca4210 + local_1b8)); + auVar96._0_8_ = auVar315._0_8_ + auVar113._0_8_; + auVar96._8_8_ = auVar315._8_8_ + auVar113._8_8_; + auVar96._16_8_ = auVar267._0_8_ + auVar329._0_8_; + auVar96._24_8_ = auVar267._8_8_ + auVar329._8_8_; + auVar132._8_8_ = 0; + auVar132._0_8_ = *(ulonglong *)(&DAT_181ca4210 + uVar30); + auVar116 = vmovhpd_avx(auVar132,*(undefined8 *)(&DAT_181ca4210 + uVar24)); + local_1d20._16_16_ = auVar115; + local_1d20._0_16_ = auVar49; + auVar252._8_8_ = 0; + auVar252._0_8_ = *(ulonglong *)(&DAT_181ca4210 + uVar27); + auVar132 = vmovhpd_avx(auVar252,*(undefined8 *)(&DAT_181ca4210 + uVar37)); + auVar72._0_8_ = auVar82._0_8_ + auVar49._0_8_; + auVar72._8_8_ = auVar82._8_8_ + auVar49._8_8_; + auVar72._16_8_ = auVar131._0_8_ + auVar115._0_8_; + auVar72._24_8_ = auVar131._8_8_ + auVar115._8_8_; + local_22e0._0_8_ = auVar39._0_8_; + local_22e0._8_8_ = auVar39._8_8_; + dStack_22d0 = auVar40._0_8_; + dStack_22c8 = auVar40._8_8_; + auVar279._0_8_ = auVar147._0_8_ + (double)local_22e0._0_8_; + auVar279._8_8_ = auVar147._8_8_ + (double)local_22e0._8_8_; + auVar279._16_8_ = auVar114._0_8_ + dStack_22d0; + auVar279._24_8_ = auVar114._8_8_ + dStack_22c8; + auVar230._8_8_ = 0; + auVar230._0_8_ = *(ulonglong *)(&DAT_181ca4210 + uVar28); + auVar39 = vmovhpd_avx(auVar230,*(undefined8 *)(&DAT_181ca4210 + uVar26)); + local_1ce0._16_16_ = auVar39; + local_1ce0._0_16_ = auVar132; + auVar253._8_8_ = 0; + auVar253._0_8_ = *(ulonglong *)(&DAT_181ca4210 + uVar21); + auVar40 = vmovhpd_avx(auVar253,*(undefined8 *)(&DAT_181ca4210 + local_148)); + dVar282 = auVar132._0_8_; + auVar308._0_8_ = dVar282 * local_1b20; + dVar314 = auVar132._8_8_; + auVar308._8_8_ = dVar314 * dStack_1b18; + dVar338 = auVar39._0_8_; + dVar187 = auVar39._8_8_; + auVar308._16_8_ = dVar338 * dStack_1b10; + auVar308._24_8_ = dVar187 * dStack_1b08; + auVar64 = vsubpd_avx(auVar337,auVar308); + auVar231._8_8_ = 0; + auVar231._0_8_ = *(ulonglong *)(&DAT_181ca4210 + local_140); + auVar39 = vmovhpd_avx(auVar231,*(undefined8 *)(&DAT_181ca4210 + local_138)); + local_1d00._16_16_ = auVar83; + local_1d00._0_16_ = auVar61; + auVar150._8_8_ = 0; + auVar150._0_8_ = *(ulonglong *)(&DAT_181ca4210 + uVar29); + auVar132 = vmovhpd_avx(auVar150,*(undefined8 *)(&DAT_181ca4210 + uVar36)); + local_1cc0._16_16_ = auVar132; + local_1cc0._0_16_ = auVar116; + dVar189 = auVar116._0_8_; + auVar163._0_8_ = dVar189 * local_1b00; + dVar224 = auVar116._8_8_; + auVar163._8_8_ = dVar224 * dStack_1af8; + dVar80 = auVar132._0_8_; + dVar205 = auVar132._8_8_; + auVar163._16_8_ = dVar80 * dStack_1af0; + auVar163._24_8_ = dVar205 * dStack_1ae8; + dVar281 = auVar61._0_8_; + auVar202._0_8_ = local_1b40 * dVar281; + dVar311 = auVar61._8_8_; + auVar202._8_8_ = dStack_1b38 * dVar311; + dVar312 = auVar83._0_8_; + auVar202._16_8_ = dStack_1b30 * dVar312; + dVar313 = auVar83._8_8_; + auVar202._24_8_ = dStack_1b28 * dVar313; + local_1c80 = local_1b40 * auVar147._0_8_; + dStack_1c78 = dStack_1b38 * auVar147._8_8_; + dStack_1c70 = dStack_1b30 * auVar114._0_8_; + dStack_1c68 = dStack_1b28 * auVar114._8_8_; + auVar88 = vsubpd_avx(auVar96,auVar163); + local_1ca0._16_16_ = auVar39; + local_1ca0._0_16_ = auVar40; + dVar81 = auVar40._0_8_; + auVar309._0_8_ = dVar81 * local_1ae0; + dVar100 = auVar40._8_8_; + auVar309._8_8_ = dVar100 * dStack_1ad8; + dVar101 = auVar39._0_8_; + auVar309._16_8_ = dVar101 * dStack_1ad0; + dVar104 = auVar39._8_8_; + auVar309._24_8_ = dVar104 * dStack_1ac8; + auVar254._8_8_ = 0; + auVar254._0_8_ = *(ulonglong *)(&DAT_181ca4218 + local_1f0); + auVar39 = vmovhpd_avx(auVar254,*(undefined8 *)(&DAT_181ca4218 + uVar23)); + auVar232._8_8_ = 0; + auVar232._0_8_ = *(ulonglong *)(&DAT_181ca4218 + local_1d0); + auVar40 = vmovhpd_avx(auVar232,*(undefined8 *)(&DAT_181ca4218 + local_1b8)); + auVar50 = vsubpd_avx(auVar279,auVar202); + auVar65 = vsubpd_avx(auVar72,auVar309); + auVar292._8_8_ = 0; + auVar292._0_8_ = *(ulonglong *)(&DAT_181ca4218 + uVar27); + auVar147 = vmovhpd_avx(auVar292,*(undefined8 *)(&DAT_181ca4218 + uVar37)); + auVar233._8_8_ = 0; + auVar233._0_8_ = *(ulonglong *)(&DAT_181ca4218 + uVar28); + auVar114 = vmovhpd_avx(auVar233,*(undefined8 *)(&DAT_181ca4218 + uVar26)); + auVar293._8_8_ = 0; + auVar293._0_8_ = *(ulonglong *)(&DAT_181ca4218 + uVar30); + auVar61 = vmovhpd_avx(auVar293,*(undefined8 *)(&DAT_181ca4218 + uVar24)); + auVar294._8_8_ = 0; + auVar294._0_8_ = *(ulonglong *)(&DAT_181ca4218 + uVar29); + auVar83 = vmovhpd_avx(auVar294,*(undefined8 *)(&DAT_181ca4218 + uVar36)); + auVar295._8_8_ = 0; + auVar295._0_8_ = *(ulonglong *)(&DAT_181ca4218 + uVar21); + auVar116 = vmovhpd_avx(auVar295,*(undefined8 *)(&DAT_181ca4218 + local_148)); + auVar351._8_8_ = 0; + auVar351._0_8_ = *(ulonglong *)(&DAT_181ca4218 + local_140); + auVar132 = vmovhpd_avx(auVar351,*(undefined8 *)(&DAT_181ca4218 + local_138)); + local_1c20 = local_1ae0 * auVar49._0_8_; + dStack_1c18 = dStack_1ad8 * auVar49._8_8_; + dStack_1c10 = dStack_1ad0 * auVar115._0_8_; + dStack_1c08 = dStack_1ac8 * auVar115._8_8_; + dVar105 = local_1ae0 * auVar82._0_8_; + dVar108 = dStack_1ad8 * auVar82._8_8_; + dVar109 = dStack_1ad0 * auVar131._0_8_; + dVar56 = dStack_1ac8 * auVar131._8_8_; + local_1c60 = local_1b20 * auVar60._0_8_; + dStack_1c58 = dStack_1b18 * auVar60._8_8_; + dStack_1c50 = dStack_1b10 * auVar172._0_8_; + dStack_1c48 = dStack_1b08 * auVar172._8_8_; + auVar48._0_8_ = local_1c80 + dVar281; + auVar48._8_8_ = dStack_1c78 + dVar311; + auVar48._16_8_ = dStack_1c70 + dVar312; + auVar48._24_8_ = dStack_1c68 + dVar313; + auVar55._0_8_ = local_1c60 + dVar282; + auVar55._8_8_ = dStack_1c58 + dVar314; + auVar55._16_8_ = dStack_1c50 + dVar338; + auVar55._24_8_ = dStack_1c48 + dVar187; + local_1c00._0_8_ = auVar48._0_8_ + local_1b40 * (double)local_22e0._0_8_; + local_1c00._8_8_ = auVar48._8_8_ + dStack_1b38 * (double)local_22e0._8_8_; + local_1c00._16_8_ = auVar48._16_8_ + dStack_1b30 * dStack_22d0; + local_1c00._24_8_ = auVar48._24_8_ + dStack_1b28 * dStack_22c8; + local_1c40 = local_1b00 * auVar113._0_8_; + dStack_1c38 = dStack_1af8 * auVar113._8_8_; + dStack_1c30 = dStack_1af0 * auVar329._0_8_; + dStack_1c28 = dStack_1ae8 * auVar329._8_8_; + dVar76 = local_1b00 * auVar315._0_8_; + dVar77 = dStack_1af8 * auVar315._8_8_; + dVar78 = dStack_1af0 * auVar267._0_8_; + dVar204 = dStack_1ae8 * auVar267._8_8_; + auVar97._0_8_ = local_1c20 + dVar81; + auVar97._8_8_ = dStack_1c18 + dVar100; + auVar97._16_8_ = dStack_1c10 + dVar101; + auVar97._24_8_ = dStack_1c08 + dVar104; + auVar87 = vsubpd_avx(auVar48,local_1c00); + auVar73._0_8_ = local_1c40 + dVar189; + auVar73._8_8_ = dStack_1c38 + dVar224; + auVar73._16_8_ = dStack_1c30 + dVar80; + auVar73._24_8_ = dStack_1c28 + dVar205; + dVar223 = local_1b20 * auVar57._0_8_; + dVar225 = dStack_1b18 * auVar57._8_8_; + dVar226 = dStack_1b10 * auVar247._0_8_; + dVar265 = dStack_1b08 * auVar247._8_8_; + local_1ba0._0_8_ = auVar97._0_8_ + dVar105; + local_1ba0._8_8_ = auVar97._8_8_ + dVar108; + local_1ba0._16_8_ = auVar97._16_8_ + dVar109; + local_1ba0._24_8_ = auVar97._24_8_ + dVar56; + local_1be0._0_8_ = auVar55._0_8_ + dVar223; + local_1be0._8_8_ = auVar55._8_8_ + dVar225; + local_1be0._16_8_ = auVar55._16_8_ + dVar226; + local_1be0._24_8_ = auVar55._24_8_ + dVar265; + local_1bc0._0_8_ = auVar73._0_8_ + dVar76; + local_1bc0._8_8_ = auVar73._8_8_ + dVar77; + local_1bc0._16_8_ = auVar73._16_8_ + dVar78; + local_1bc0._24_8_ = auVar73._24_8_ + dVar204; + auVar117 = vsubpd_avx(auVar97,local_1ba0); + auVar134 = vsubpd_avx(auVar55,local_1be0); + auVar135 = vsubpd_avx(auVar73,local_1bc0); + auVar136 = vsubpd_avx(local_1ca0,auVar97); + auVar137 = vsubpd_avx(local_1d00,auVar48); + auVar138 = vsubpd_avx(local_1ce0,auVar55); + auVar156 = vsubpd_avx(local_1cc0,auVar73); + local_1d8 = (ulonglong)(uint)(local_1238._0_4_ << 5); + local_1e0 = (ulonglong)(uint)(local_1238._8_4_ << 5); + auVar352._8_8_ = 0; + auVar352._0_8_ = *(ulonglong *)(&DAT_181ca4200 + local_1d8); + auVar57 = vmovhpd_avx(auVar352,*(undefined8 *)(&DAT_181ca4200 + local_1e0)); + local_23e0 = (ulonglong) + (auVar138._0_8_ + local_1c60 + + auVar147._0_8_ + auVar64._0_8_ * (double)local_24c0._0_8_ + + auVar337._0_8_ * (double)local_2440._0_8_ + dVar223 + auVar134._0_8_ + + dVar282 * (double)local_2540._0_8_ + local_1be0._0_8_) ^ local_19c0._0_8_; + uStack_23d8 = (ulonglong) + (auVar138._8_8_ + dStack_1c58 + + auVar147._8_8_ + auVar64._8_8_ * (double)local_24c0._8_8_ + + auVar337._8_8_ * (double)local_2440._8_8_ + dVar225 + auVar134._8_8_ + + dVar314 * (double)local_2540._8_8_ + local_1be0._8_8_) ^ local_19c0._8_8_ + ; + uStack_23d0 = (ulonglong) + (auVar138._16_8_ + dStack_1c50 + + auVar114._0_8_ + auVar64._16_8_ * dStack_24b0 + + auVar337._16_8_ * dStack_2430 + dVar226 + auVar134._16_8_ + + dVar338 * dStack_2530 + local_1be0._16_8_) ^ local_19c0._16_8_; + uStack_23c8 = (ulonglong) + (auVar138._24_8_ + dStack_1c48 + + auVar114._8_8_ + auVar64._24_8_ * dStack_24a8 + + auVar337._24_8_ * dStack_2428 + dVar265 + auVar134._24_8_ + + dVar187 * dStack_2528 + local_1be0._24_8_) ^ local_19c0._24_8_; + local_23c0 = (ulonglong) + (auVar156._0_8_ + local_1c40 + + auVar61._0_8_ + auVar88._0_8_ * (double)local_24e0._0_8_ + + auVar96._0_8_ * (double)local_2460._0_8_ + dVar76 + auVar135._0_8_ + + dVar189 * (double)local_26e0._0_8_ + local_1bc0._0_8_) ^ local_1a00._0_8_; + uStack_23b8 = (ulonglong) + (auVar156._8_8_ + dStack_1c38 + + auVar61._8_8_ + auVar88._8_8_ * (double)local_24e0._8_8_ + + auVar96._8_8_ * (double)local_2460._8_8_ + dVar77 + auVar135._8_8_ + + dVar224 * (double)local_26e0._8_8_ + local_1bc0._8_8_) ^ local_1a00._8_8_ + ; + uStack_23b0 = (ulonglong) + (auVar156._16_8_ + dStack_1c30 + + auVar83._0_8_ + auVar88._16_8_ * dStack_24d0 + + auVar96._16_8_ * dStack_2450 + dVar78 + auVar135._16_8_ + + dVar80 * dStack_26d0 + local_1bc0._16_8_) ^ local_1a00._16_8_; + uStack_23a8 = (ulonglong) + (auVar156._24_8_ + dStack_1c28 + + auVar83._8_8_ + auVar88._24_8_ * dStack_24c8 + + auVar96._24_8_ * dStack_2448 + dVar204 + auVar135._24_8_ + + dVar205 * dStack_26c8 + local_1bc0._24_8_) ^ local_1a00._24_8_; + local_1c0 = (ulonglong)(uint)(local_1228._0_4_ << 5); + local_1b0 = (ulonglong)(uint)(local_1228._8_4_ << 5); + auVar255._8_8_ = 0; + auVar255._0_8_ = *(ulonglong *)(&DAT_181ca4200 + local_1c0); + auVar247 = vmovhpd_avx(auVar255,*(undefined8 *)(&DAT_181ca4200 + local_1b0)); + uVar23 = local_1248._0_4_ << 5; + local_128 = (ulonglong)(uint)(local_1288._0_4_ << 5); + local_1e8 = (ulonglong)(uint)(local_1258._0_4_ << 5); + local_198 = (ulonglong)(uint)(local_1248._8_4_ << 5); + local_2400._8_8_ = + (ulonglong) + (auVar137._8_8_ + dStack_1c78 + + auVar39._8_8_ + auVar50._8_8_ * (double)local_24a0._8_8_ + + auVar279._8_8_ * (double)local_2420._8_8_ + + dStack_1b38 * (double)local_22e0._8_8_ + auVar87._8_8_ + dVar311 * dStack_2518 + + local_1c00._8_8_) ^ local_19e0._8_8_; + local_2400._0_8_ = + (ulonglong) + (auVar137._0_8_ + local_1c80 + + auVar39._0_8_ + auVar50._0_8_ * (double)local_24a0._0_8_ + + auVar279._0_8_ * (double)local_2420._0_8_ + + local_1b40 * (double)local_22e0._0_8_ + auVar87._0_8_ + dVar281 * local_2520 + + local_1c00._0_8_) ^ local_19e0._0_8_; + local_2400._16_8_ = + (ulonglong) + (auVar137._16_8_ + dStack_1c70 + + auVar40._0_8_ + auVar50._16_8_ * dStack_2490 + auVar279._16_8_ * dStack_2410 + + dStack_1b30 * dStack_22d0 + auVar87._16_8_ + dVar312 * dStack_2510 + + local_1c00._16_8_) ^ local_19e0._16_8_; + local_2400._24_8_ = + (ulonglong) + (auVar137._24_8_ + dStack_1c68 + + auVar40._8_8_ + auVar50._24_8_ * dStack_2488 + auVar279._24_8_ * dStack_2408 + + dStack_1b28 * dStack_22c8 + auVar87._24_8_ + dVar313 * dStack_2508 + + local_1c00._24_8_) ^ local_19e0._24_8_; + auVar211._8_8_ = 0; + auVar211._0_8_ = *(ulonglong *)(&DAT_181ca4200 + uVar23); + auVar39 = vmovhpd_avx(auVar211,*(undefined8 *)(&DAT_181ca4200 + local_198)); + local_1c8 = (ulonglong)(uint)(local_1258._8_4_ << 5); + uVar36 = local_1268._0_4_ << 5; + local_1a0 = (ulonglong)(uint)(local_1278._0_4_ << 5); + auVar61._8_8_ = 0; + auVar61._0_8_ = *(ulonglong *)(&DAT_181ca4200 + local_1e8); + auVar40 = vmovhpd_avx(auVar61,*(undefined8 *)(&DAT_181ca4200 + local_1c8)); + local_23a0 = (ulonglong) + (auVar136._0_8_ + local_1c20 + + auVar116._0_8_ + auVar65._0_8_ * (double)local_2500._0_8_ + + auVar72._0_8_ * (double)local_2480._0_8_ + dVar105 + auVar117._0_8_ + + dVar81 * (double)local_2700._0_8_ + local_1ba0._0_8_) ^ local_1a20._0_8_; + uStack_2398 = (ulonglong) + (auVar136._8_8_ + dStack_1c18 + + auVar116._8_8_ + auVar65._8_8_ * (double)local_2500._8_8_ + + auVar72._8_8_ * (double)local_2480._8_8_ + dVar108 + auVar117._8_8_ + + dVar100 * (double)local_2700._8_8_ + local_1ba0._8_8_) ^ local_1a20._8_8_ + ; + uStack_2390 = (ulonglong) + (auVar136._16_8_ + dStack_1c10 + + auVar132._0_8_ + auVar65._16_8_ * dStack_24f0 + + auVar72._16_8_ * dStack_2470 + dVar109 + auVar117._16_8_ + + dVar101 * dStack_26f0 + local_1ba0._16_8_) ^ local_1a20._16_8_; + uStack_2388 = (ulonglong) + (auVar136._24_8_ + dStack_1c08 + + auVar132._8_8_ + auVar65._24_8_ * dStack_24e8 + + auVar72._24_8_ * dStack_2468 + dVar56 + auVar117._24_8_ + + dVar104 * dStack_26e8 + local_1ba0._24_8_) ^ local_1a20._24_8_; + local_1a8 = (ulonglong)(uint)(local_1268._8_4_ << 5); + local_130 = (ulonglong)(uint)(local_1278._8_4_ << 5); + auVar173._8_8_ = 0; + auVar173._0_8_ = *(ulonglong *)(&DAT_181ca4200 + uVar36); + auVar315 = vmovhpd_avx(auVar173,*(undefined8 *)(&DAT_181ca4200 + local_1a8)); + auVar256._8_8_ = 0; + auVar256._0_8_ = *(ulonglong *)(&DAT_181ca4200 + local_1a0); + auVar267 = vmovhpd_avx(auVar256,*(undefined8 *)(&DAT_181ca4200 + local_130)); + auVar151._8_8_ = 0; + auVar151._0_8_ = *(ulonglong *)(&DAT_181ca4208 + local_1c0); + auVar60 = vmovhpd_avx(auVar151,*(undefined8 *)(&DAT_181ca4208 + local_1b0)); + local_2240._16_16_ = auVar57; + local_2240._0_16_ = auVar247; + local_120 = (ulonglong)(uint)(local_1288._8_4_ << 5); + auVar257._8_8_ = 0; + auVar257._0_8_ = *(ulonglong *)(&DAT_181ca4208 + uVar23); + auVar82 = vmovhpd_avx(auVar257,*(undefined8 *)(&DAT_181ca4208 + local_198)); + local_21e0._16_16_ = auVar40; + local_21e0._0_16_ = auVar39; + auVar131._8_8_ = 0; + auVar131._0_8_ = *(ulonglong *)(&DAT_181ca4200 + local_128); + auVar113 = vmovhpd_avx(auVar131,*(undefined8 *)(&DAT_181ca4200 + local_120)); + local_118 = (ulonglong)(uint)(local_1298._0_4_ << 5); + uVar21 = local_1298._8_4_ << 5; + auVar329._8_8_ = 0; + auVar329._0_8_ = *(ulonglong *)(&DAT_181ca4200 + local_118); + auVar131 = vmovhpd_avx(auVar329,*(undefined8 *)(&DAT_181ca4200 + uVar21)); + local_2180._16_16_ = auVar267; + local_2180._0_16_ = auVar315; + auVar194._8_8_ = 0; + auVar194._0_8_ = *(ulonglong *)(&DAT_181ca4208 + local_1d8); + auVar147 = vmovhpd_avx(auVar194,*(undefined8 *)(&DAT_181ca4208 + local_1e0)); + auVar333._8_8_ = 0; + auVar333._0_8_ = *(ulonglong *)(&DAT_181ca4208 + local_1e8); + auVar172 = vmovhpd_avx(auVar333,*(undefined8 *)(&DAT_181ca4208 + local_1c8)); + local_22a0._16_16_ = auVar147; + local_22a0._0_16_ = auVar60; + auVar152._8_8_ = 0; + auVar152._0_8_ = *(ulonglong *)(&DAT_181ca4208 + local_1a0); + auVar114 = vmovhpd_avx(auVar152,*(undefined8 *)(&DAT_181ca4208 + local_130)); + local_2080 = auVar247._0_8_ + auVar60._0_8_; + dStack_2078 = auVar247._8_8_ + auVar60._8_8_; + dStack_2070 = auVar57._0_8_ + auVar147._0_8_; + dStack_2068 = auVar57._8_8_ + auVar147._8_8_; + auVar195._8_8_ = 0; + auVar195._0_8_ = *(ulonglong *)(&DAT_181ca4208 + local_128); + auVar115 = vmovhpd_avx(auVar195,*(undefined8 *)(&DAT_181ca4208 + local_120)); + local_2100._16_16_ = auVar131; + local_2100._0_16_ = auVar113; + auVar116._8_8_ = 0; + auVar116._0_8_ = *(ulonglong *)(&DAT_181ca4208 + uVar36); + auVar61 = vmovhpd_avx(auVar116,*(undefined8 *)(&DAT_181ca4208 + local_1a8)); + local_2280._16_16_ = auVar172; + local_2280._0_16_ = auVar82; + auVar258._8_8_ = 0; + auVar258._0_8_ = *(ulonglong *)(&DAT_181ca4208 + local_118); + auVar329 = vmovhpd_avx(auVar258,*(undefined8 *)(&DAT_181ca4208 + uVar21)); + local_20a0 = auVar39._0_8_ + auVar82._0_8_; + dStack_2098 = auVar39._8_8_ + auVar82._8_8_; + dStack_2090 = auVar40._0_8_ + auVar172._0_8_; + dStack_2088 = auVar40._8_8_ + auVar172._8_8_; + auVar83._8_8_ = 0; + auVar83._0_8_ = *(ulonglong *)(&DAT_181ca4210 + local_1c0); + auVar49 = vmovhpd_avx(auVar83,*(undefined8 *)(&DAT_181ca4210 + local_1b0)); + auVar196._8_8_ = 0; + auVar196._0_8_ = *(ulonglong *)(&DAT_181ca4210 + uVar23); + auVar83 = vmovhpd_avx(auVar196,*(undefined8 *)(&DAT_181ca4210 + local_198)); + local_2260._16_16_ = auVar329; + local_2260._0_16_ = auVar115; + local_20e0 = auVar113._0_8_ + auVar115._0_8_; + dStack_20d8 = auVar113._8_8_ + auVar115._8_8_; + dStack_20d0 = auVar131._0_8_ + auVar329._0_8_; + dStack_20c8 = auVar131._8_8_ + auVar329._8_8_; + auVar234._8_8_ = 0; + auVar234._0_8_ = *(ulonglong *)(&DAT_181ca4210 + local_1e8); + auVar116 = vmovhpd_avx(auVar234,*(undefined8 *)(&DAT_181ca4210 + local_1c8)); + auVar296._8_8_ = 0; + auVar296._0_8_ = *(ulonglong *)(&DAT_181ca4210 + uVar36); + auVar132 = vmovhpd_avx(auVar296,*(undefined8 *)(&DAT_181ca4210 + local_1a8)); + local_2220._16_16_ = auVar114; + local_2220._0_16_ = auVar61; + local_20c0 = auVar315._0_8_ + auVar61._0_8_; + dStack_20b8 = auVar315._8_8_ + auVar61._8_8_; + dStack_20b0 = auVar267._0_8_ + auVar114._0_8_; + dStack_20a8 = auVar267._8_8_ + auVar114._8_8_; + auVar133._8_8_ = 0; + auVar133._0_8_ = *(ulonglong *)(&DAT_181ca4210 + local_1d8); + auVar133 = vmovhpd_avx(auVar133,*(undefined8 *)(&DAT_181ca4210 + local_1e0)); + auVar184._16_16_ = auVar133; + auVar184._0_16_ = auVar49; + auVar280._16_16_ = auVar116; + auVar280._0_16_ = auVar83; + auVar62._8_8_ = 0; + auVar62._0_8_ = *(ulonglong *)(&DAT_181ca4210 + local_1a0); + auVar62 = vmovhpd_avx(auVar62,*(undefined8 *)(&DAT_181ca4210 + local_130)); + local_1f80._16_8_ = auVar218._16_8_; + local_1f80._0_16_ = auVar248; + local_1f80._24_8_ = auVar218._24_8_; + local_1f40._16_8_ = auVar262._16_8_; + local_1f40._0_16_ = auVar284; + local_1f40._24_8_ = auVar262._24_8_; + local_2040._0_8_ = auVar83._0_8_; + local_2040._8_8_ = auVar83._8_8_; + dStack_2030 = auVar116._0_8_; + dStack_2028 = auVar116._8_8_; + auVar263._0_8_ = local_1b20 * (double)local_2040._0_8_; + auVar263._8_8_ = dStack_1b18 * (double)local_2040._8_8_; + auVar263._16_8_ = dStack_1b10 * dStack_2030; + auVar263._24_8_ = dStack_1b08 * dStack_2028; + local_1f20._16_8_ = auVar271._16_8_; + local_1f20._0_16_ = auVar285; + local_1f20._24_8_ = auVar271._24_8_; + auVar174._8_8_ = 0; + auVar174._0_8_ = *(ulonglong *)(&DAT_181ca4210 + local_118); + auVar248 = vmovhpd_avx(auVar174,*(undefined8 *)(&DAT_181ca4210 + uVar21)); + local_1f60._16_8_ = auVar242._16_8_; + local_1f60._0_16_ = auVar283; + local_1f60._24_8_ = auVar242._24_8_; + local_2060._0_8_ = auVar49._0_8_; + local_2060._8_8_ = auVar49._8_8_; + dStack_2050 = auVar133._0_8_; + dStack_2048 = auVar133._8_8_; + auVar246._0_8_ = local_1b40 * (double)local_2060._0_8_; + auVar246._8_8_ = dStack_1b38 * (double)local_2060._8_8_; + auVar246._16_8_ = dStack_1b30 * dStack_2050; + auVar246._24_8_ = dStack_1b28 * dStack_2048; + auVar12._8_8_ = dStack_2078; + auVar12._0_8_ = local_2080; + auVar12._16_8_ = dStack_2070; + auVar12._24_8_ = dStack_2068; + auVar10._8_8_ = dStack_20b8; + auVar10._0_8_ = local_20c0; + auVar10._16_8_ = dStack_20b0; + auVar10._24_8_ = dStack_20a8; + auVar9._8_8_ = dStack_20d8; + auVar9._0_8_ = local_20e0; + auVar9._16_8_ = dStack_20d0; + auVar9._24_8_ = dStack_20c8; + auVar64 = vsubpd_avx(auVar12,auVar246); + local_1b80._16_16_ = auVar62; + local_1b80._0_16_ = auVar132; + auVar49._8_8_ = 0; + auVar49._0_8_ = *(ulonglong *)(&DAT_181ca4210 + local_128); + auVar283 = vmovhpd_avx(auVar49,*(undefined8 *)(&DAT_181ca4210 + local_120)); + auVar11._8_8_ = dStack_2098; + auVar11._0_8_ = local_20a0; + auVar11._16_8_ = dStack_2090; + auVar11._24_8_ = dStack_2088; + dVar281 = auVar132._0_8_; + auVar310._0_8_ = local_1b00 * dVar281; + dVar311 = auVar132._8_8_; + auVar310._8_8_ = dStack_1af8 * dVar311; + dVar312 = auVar62._0_8_; + auVar310._16_8_ = dStack_1af0 * dVar312; + dVar313 = auVar62._8_8_; + auVar310._24_8_ = dStack_1ae8 * dVar313; + auVar88 = vsubpd_avx(auVar10,auVar310); + local_1b60._16_16_ = auVar248; + local_1b60._0_16_ = auVar283; + auVar50 = vsubpd_avx(auVar11,auVar263); + auVar153._8_8_ = 0; + auVar153._0_8_ = *(ulonglong *)(&DAT_181ca4218 + local_1c0); + auVar284 = vmovhpd_avx(auVar153,*(undefined8 *)(&DAT_181ca4218 + local_1b0)); + dVar187 = auVar283._0_8_; + auVar264._0_8_ = dVar187 * local_1ae0; + dVar189 = auVar283._8_8_; + auVar264._8_8_ = dVar189 * dStack_1ad8; + dVar80 = auVar248._0_8_; + auVar264._16_8_ = dVar80 * dStack_1ad0; + dVar100 = auVar248._8_8_; + auVar264._24_8_ = dVar100 * dStack_1ac8; + auVar65 = vsubpd_avx(auVar9,auVar264); + auVar259._8_8_ = 0; + auVar259._0_8_ = *(ulonglong *)(&DAT_181ca4218 + uVar23); + auVar248 = vmovhpd_avx(auVar259,*(undefined8 *)(&DAT_181ca4218 + local_198)); + auVar297._8_8_ = 0; + auVar297._0_8_ = *(ulonglong *)(&DAT_181ca4218 + local_1d8); + auVar283 = vmovhpd_avx(auVar297,*(undefined8 *)(&DAT_181ca4218 + local_1e0)); + auVar298._8_8_ = 0; + auVar298._0_8_ = *(ulonglong *)(&DAT_181ca4218 + local_1e8); + auVar285 = vmovhpd_avx(auVar298,*(undefined8 *)(&DAT_181ca4218 + local_1c8)); + auVar299._8_8_ = 0; + auVar299._0_8_ = *(ulonglong *)(&DAT_181ca4218 + uVar36); + auVar49 = vmovhpd_avx(auVar299,*(undefined8 *)(&DAT_181ca4218 + local_1a8)); + auVar154._8_8_ = 0; + auVar154._0_8_ = *(ulonglong *)(&DAT_181ca4218 + local_1a0); + auVar83 = vmovhpd_avx(auVar154,*(undefined8 *)(&DAT_181ca4218 + local_130)); + auVar155._8_8_ = 0; + auVar155._0_8_ = *(ulonglong *)(&DAT_181ca4218 + local_128); + auVar116 = vmovhpd_avx(auVar155,*(undefined8 *)(&DAT_181ca4218 + local_120)); + auVar300._8_8_ = 0; + auVar300._0_8_ = *(ulonglong *)(&DAT_181ca4218 + local_118); + auVar132 = vmovhpd_avx(auVar300,*(undefined8 *)(&DAT_181ca4218 + uVar21)); + dVar56 = local_1b00 * auVar315._0_8_; + dVar76 = dStack_1af8 * auVar315._8_8_; + dVar77 = dStack_1af0 * auVar267._0_8_; + dVar78 = dStack_1ae8 * auVar267._8_8_; + local_1b00 = local_1b00 * auVar61._0_8_; + dStack_1af8 = dStack_1af8 * auVar61._8_8_; + dStack_1af0 = dStack_1af0 * auVar114._0_8_; + dStack_1ae8 = dStack_1ae8 * auVar114._8_8_; + dVar205 = local_1b40 * auVar247._0_8_; + dVar224 = dStack_1b38 * auVar247._8_8_; + dVar81 = dStack_1b30 * auVar57._0_8_; + dVar101 = dStack_1b28 * auVar57._8_8_; + local_1b40 = local_1b40 * auVar60._0_8_; + dStack_1b38 = dStack_1b38 * auVar60._8_8_; + dStack_1b30 = dStack_1b30 * auVar147._0_8_; + dStack_1b28 = dStack_1b28 * auVar147._8_8_; + dVar104 = local_1b20 * auVar39._0_8_; + dVar105 = dStack_1b18 * auVar39._8_8_; + dVar108 = dStack_1b10 * auVar40._0_8_; + dVar109 = dStack_1b08 * auVar40._8_8_; + dVar204 = local_1ae0 * auVar113._0_8_; + dVar223 = dStack_1ad8 * auVar113._8_8_; + dVar225 = dStack_1ad0 * auVar131._0_8_; + dVar226 = dStack_1ac8 * auVar131._8_8_; + local_1b20 = local_1b20 * auVar82._0_8_; + dStack_1b18 = dStack_1b18 * auVar82._8_8_; + dStack_1b10 = dStack_1b10 * auVar172._0_8_; + dStack_1b08 = dStack_1b08 * auVar172._8_8_; + local_1ae0 = local_1ae0 * auVar115._0_8_; + dStack_1ad8 = dStack_1ad8 * auVar115._8_8_; + dStack_1ad0 = dStack_1ad0 * auVar329._0_8_; + dStack_1ac8 = dStack_1ac8 * auVar329._8_8_; + auVar74._0_8_ = local_1b40 + (double)local_2060._0_8_; + auVar74._8_8_ = dStack_1b38 + (double)local_2060._8_8_; + auVar74._16_8_ = dStack_1b30 + dStack_2050; + auVar74._24_8_ = dStack_1b28 + dStack_2048; + auVar141._0_8_ = local_1b00 + dVar281; + auVar141._8_8_ = dStack_1af8 + dVar311; + auVar141._16_8_ = dStack_1af0 + dVar312; + auVar141._24_8_ = dStack_1ae8 + dVar313; + auVar124._0_8_ = local_1ae0 + dVar187; + auVar124._8_8_ = dStack_1ad8 + dVar189; + auVar124._16_8_ = dStack_1ad0 + dVar80; + auVar124._24_8_ = dStack_1ac8 + dVar100; + auVar203._0_8_ = local_1b20 + (double)local_2040._0_8_; + auVar203._8_8_ = dStack_1b18 + (double)local_2040._8_8_; + auVar203._16_8_ = dStack_1b10 + dStack_2030; + auVar203._24_8_ = dStack_1b08 + dStack_2028; + local_1ac0._0_8_ = dVar205 + auVar74._0_8_; + local_1ac0._8_8_ = dVar224 + auVar74._8_8_; + local_1ac0._16_8_ = dVar81 + auVar74._16_8_; + local_1ac0._24_8_ = dVar101 + auVar74._24_8_; + local_1a60._0_8_ = dVar204 + auVar124._0_8_; + local_1a60._8_8_ = dVar223 + auVar124._8_8_; + local_1a60._16_8_ = dVar225 + auVar124._16_8_; + local_1a60._24_8_ = dVar226 + auVar124._24_8_; + local_1aa0._0_8_ = dVar104 + auVar203._0_8_; + local_1aa0._8_8_ = dVar105 + auVar203._8_8_; + local_1aa0._16_8_ = dVar108 + auVar203._16_8_; + local_1aa0._24_8_ = dVar109 + auVar203._24_8_; + local_1a80._0_8_ = dVar56 + auVar141._0_8_; + local_1a80._8_8_ = dVar76 + auVar141._8_8_; + local_1a80._16_8_ = dVar77 + auVar141._16_8_; + local_1a80._24_8_ = dVar78 + auVar141._24_8_; + auVar271 = vsubpd_avx(auVar124,local_1a60); + auVar262 = vsubpd_avx(auVar74,local_1ac0); + auVar242 = vsubpd_avx(auVar203,local_1aa0); + auVar218 = vsubpd_avx(auVar141,local_1a80); + auVar87 = vsubpd_avx(auVar184,auVar74); + auVar117 = vsubpd_avx(auVar280,auVar203); + auVar134 = vsubpd_avx(local_1b80,auVar141); + auVar135 = vsubpd_avx(local_1b60,auVar124); + auVar164._0_8_ = + auVar87._0_8_ + local_1b40 + + auVar284._0_8_ + auVar64._0_8_ * (double)local_24a0._0_8_ + + local_2080 * (double)local_2420._0_8_ + dVar205 + auVar262._0_8_ + + (double)local_2060._0_8_ * local_2520 + local_1ac0._0_8_; + auVar164._8_8_ = + auVar87._8_8_ + dStack_1b38 + + auVar284._8_8_ + auVar64._8_8_ * (double)local_24a0._8_8_ + + dStack_2078 * (double)local_2420._8_8_ + dVar224 + auVar262._8_8_ + + (double)local_2060._8_8_ * dStack_2518 + local_1ac0._8_8_; + auVar164._16_8_ = + auVar87._16_8_ + dStack_1b30 + + auVar283._0_8_ + auVar64._16_8_ * dStack_2490 + dStack_2070 * dStack_2410 + + dVar81 + auVar262._16_8_ + dStack_2050 * dStack_2510 + local_1ac0._16_8_; + auVar164._24_8_ = + auVar87._24_8_ + dStack_1b28 + + auVar283._8_8_ + auVar64._24_8_ * dStack_2488 + dStack_2068 * dStack_2408 + + dVar101 + auVar262._24_8_ + dStack_2048 * dStack_2508 + local_1ac0._24_8_; + auVar98._0_8_ = + auVar117._0_8_ + local_1b20 + + auVar248._0_8_ + auVar50._0_8_ * (double)local_24c0._0_8_ + + local_20a0 * (double)local_2440._0_8_ + dVar104 + auVar242._0_8_ + + (double)local_2040._0_8_ * (double)local_2540._0_8_ + local_1aa0._0_8_; + auVar98._8_8_ = + auVar117._8_8_ + dStack_1b18 + + auVar248._8_8_ + auVar50._8_8_ * (double)local_24c0._8_8_ + + dStack_2098 * (double)local_2440._8_8_ + dVar105 + auVar242._8_8_ + + (double)local_2040._8_8_ * (double)local_2540._8_8_ + local_1aa0._8_8_; + auVar98._16_8_ = + auVar117._16_8_ + dStack_1b10 + + auVar285._0_8_ + auVar50._16_8_ * dStack_24b0 + dStack_2090 * dStack_2430 + + dVar108 + auVar242._16_8_ + dStack_2030 * dStack_2530 + local_1aa0._16_8_; + auVar98._24_8_ = + auVar117._24_8_ + dStack_1b08 + + auVar285._8_8_ + auVar50._24_8_ * dStack_24a8 + dStack_2088 * dStack_2428 + + dVar109 + auVar242._24_8_ + dStack_2028 * dStack_2528 + local_1aa0._24_8_; + auVar75._0_8_ = + auVar134._0_8_ + local_1b00 + + auVar49._0_8_ + auVar88._0_8_ * (double)local_24e0._0_8_ + + local_20c0 * (double)local_2460._0_8_ + dVar56 + auVar218._0_8_ + + dVar281 * (double)local_26e0._0_8_ + local_1a80._0_8_; + auVar75._8_8_ = + auVar134._8_8_ + dStack_1af8 + + auVar49._8_8_ + auVar88._8_8_ * (double)local_24e0._8_8_ + + dStack_20b8 * (double)local_2460._8_8_ + dVar76 + auVar218._8_8_ + + dVar311 * (double)local_26e0._8_8_ + local_1a80._8_8_; + auVar75._16_8_ = + auVar134._16_8_ + dStack_1af0 + + auVar83._0_8_ + auVar88._16_8_ * dStack_24d0 + dStack_20b0 * dStack_2450 + + dVar77 + auVar218._16_8_ + dVar312 * dStack_26d0 + local_1a80._16_8_; + auVar75._24_8_ = + auVar134._24_8_ + dStack_1ae8 + + auVar83._8_8_ + auVar88._24_8_ * dStack_24c8 + dStack_20a8 * dStack_2448 + + dVar78 + auVar218._24_8_ + dVar313 * dStack_26c8 + local_1a80._24_8_; + auVar142._0_8_ = + auVar135._0_8_ + local_1ae0 + + auVar116._0_8_ + auVar65._0_8_ * (double)local_2500._0_8_ + + local_20e0 * (double)local_2480._0_8_ + dVar204 + auVar271._0_8_ + + dVar187 * (double)local_2700._0_8_ + local_1a60._0_8_; + auVar142._8_8_ = + auVar135._8_8_ + dStack_1ad8 + + auVar116._8_8_ + auVar65._8_8_ * (double)local_2500._8_8_ + + dStack_20d8 * (double)local_2480._8_8_ + dVar223 + auVar271._8_8_ + + dVar189 * (double)local_2700._8_8_ + local_1a60._8_8_; + auVar142._16_8_ = + auVar135._16_8_ + dStack_1ad0 + + auVar132._0_8_ + auVar65._16_8_ * dStack_24f0 + dStack_20d0 * dStack_2470 + + dVar225 + auVar271._16_8_ + dVar80 * dStack_26f0 + local_1a60._16_8_; + auVar142._24_8_ = + auVar135._24_8_ + dStack_1ac8 + + auVar132._8_8_ + auVar65._24_8_ * dStack_24e8 + dStack_20c8 * dStack_2468 + + dVar226 + auVar271._24_8_ + dVar100 * dStack_26e8 + local_1a60._24_8_; + auVar65 = vblendvpd_avx(auVar66,auVar164,local_1780); + auVar271 = vblendvpd_avx(local_1f20,local_2400,local_1780); + auVar6._8_8_ = uStack_23d8; + auVar6._0_8_ = local_23e0; + auVar6._16_8_ = uStack_23d0; + auVar6._24_8_ = uStack_23c8; + auVar262 = vblendvpd_avx(local_1f40,auVar6,local_1760); + auVar7._8_8_ = uStack_23b8; + auVar7._0_8_ = local_23c0; + auVar7._16_8_ = uStack_23b0; + auVar7._24_8_ = uStack_23a8; + auVar242 = vblendvpd_avx(local_1f60,auVar7,local_1740); + auVar8._8_8_ = uStack_2398; + auVar8._0_8_ = local_23a0; + auVar8._16_8_ = uStack_2390; + auVar8._24_8_ = uStack_2388; + auVar218 = vblendvpd_avx(local_1f80,auVar8,auVar86); + auVar50 = vblendvpd_avx(auVar85,auVar98,local_1760); + auVar64 = vblendvpd_avx(auVar84,auVar75,local_1740); + auVar88 = vblendvpd_avx(auVar51,auVar142,auVar86); + _local_22e0 = auVar47; + _local_2060 = auVar184; + _local_2040 = auVar280; + local_2020 = auVar86; + local_2000 = auVar51; + local_1fe0 = auVar84; + local_1fc0 = auVar85; + local_1fa0 = auVar66; + local_190 = lVar38; + local_188 = param_3; + local_180 = param_2; + local_178 = param_1; + uVar23 = local_170; + } + local_1f8 = lVar31; + local_1a40 = auVar235; + local_19a0 = auVar260; + local_1980 = auVar212; + local_1960 = auVar175; + local_1820 = auVar270; + local_1800 = auVar41; + local_1720 = auVar63; + local_1700 = auVar236; + if (uVar23 != 0) { + local_1960._0_8_ = auVar58._0_8_; + local_1960._8_8_ = auVar58._8_8_; + local_1960._16_8_ = auVar341._0_8_; + local_1960._24_8_ = auVar341._8_8_; + local_1980._0_8_ = auVar111._0_8_; + local_1980._8_8_ = auVar111._8_8_; + local_1980._16_8_ = auVar129._0_8_; + local_1980._24_8_ = auVar129._8_8_; + local_19a0._0_8_ = auVar286._0_8_; + local_19a0._8_8_ = auVar286._8_8_; + local_19a0._16_8_ = auVar130._0_8_; + local_19a0._24_8_ = auVar130._8_8_; + local_1a40._0_8_ = auVar59._0_8_; + local_1a40._8_8_ = auVar59._8_8_; + local_1a40._16_8_ = auVar112._0_8_; + local_1a40._24_8_ = auVar112._8_8_; + local_25c0[0] = local_1960._0_8_; + local_25c0[1] = local_1960._8_8_; + local_25c0[2] = local_1960._16_8_; + local_25c0[3] = local_1960._24_8_; + local_25a0 = local_1980._0_8_; + uStack_2598 = local_1980._8_8_; + uStack_2590 = local_1980._16_8_; + uStack_2588 = local_1980._24_8_; + local_2580 = local_19a0._0_8_; + uStack_2578 = local_19a0._8_8_; + uStack_2570 = local_19a0._16_8_; + uStack_2568 = local_19a0._24_8_; + local_2560 = local_1a40._0_8_; + uStack_2558 = local_1a40._8_8_; + uStack_2550 = local_1a40._16_8_; + uStack_2548 = local_1a40._24_8_; + uVar34 = 0; + local_2740 = param_2 + lVar31 * 8; + lVar1 = param_3 + lVar31 * 8; + local_26c0 = auVar65; + local_26a0 = auVar50; + local_2680 = auVar64; + local_2660 = auVar88; + local_2640 = auVar271; + local_2620 = auVar262; + local_2600 = auVar242; + local_25e0 = auVar218; + local_190 = lVar38; + do { + uVar36 = (uint)uVar34; + if ((uVar23 >> (uVar36 & 0x1f) & 1) != 0) { + local_2748 = (undefined8 *)(local_2640 + uVar34 * 8); + local_2750 = (undefined8 *)(local_26c0 + uVar34 * 8); + local_188 = param_3; + uVar21 = FUN_18015b7a0(local_25c0 + uVar34); + param_3 = local_188; + if (uVar21 != 0) { + *(undefined8 *)(local_2740 + uVar34 * 8) = *local_2748; + *(undefined8 *)(lVar1 + uVar34 * 8) = *local_2750; + local_2770 = local_188; + local_2768 = &DAT_182673078; + local_2778 = param_2; + local_2758 = uVar21; + FUN_1803ab5c0(uVar21,(int)lVar31 + uVar36,param_1,param_1); + local_48 = local_2758; + uVar2 = *(undefined8 *)(lVar1 + uVar34 * 8); + *local_2748 = *(undefined8 *)(local_2740 + uVar34 * 8); + *local_2750 = uVar2; + param_3 = local_188; + } + } + uVar34 = (ulonglong)(uVar36 + 1); + lVar38 = local_190; + auVar271 = local_2640; + auVar218 = local_25e0; + auVar50 = local_26a0; + auVar262 = local_2620; + auVar242 = local_2600; + auVar65 = local_26c0; + auVar64 = local_2680; + auVar88 = local_2660; + } while ((int)(uVar36 + 1) < 0x10); + } + *(undefined1 (*) [16])(param_2 + local_1f8 * 8) = auVar271._0_16_; + *(undefined1 (*) [16])(param_2 + 0x20 + local_1f8 * 8) = auVar262._0_16_; + *(undefined1 (*) [16])(param_2 + 0x40 + local_1f8 * 8) = auVar242._0_16_; + *(undefined1 (*) [16])(param_2 + 0x60 + local_1f8 * 8) = auVar218._0_16_; + *(undefined1 (*) [16])(param_2 + 0x10 + local_1f8 * 8) = auVar271._16_16_; + *(undefined1 (*) [16])(param_2 + 0x30 + local_1f8 * 8) = auVar262._16_16_; + *(undefined1 (*) [16])(param_2 + 0x50 + local_1f8 * 8) = auVar242._16_16_; + *(undefined1 (*) [16])(param_2 + 0x70 + local_1f8 * 8) = auVar218._16_16_; + *(undefined1 (*) [16])(param_3 + local_1f8 * 8) = auVar65._0_16_; + *(undefined1 (*) [16])(param_3 + 0x20 + local_1f8 * 8) = auVar50._0_16_; + *(undefined1 (*) [16])(param_3 + 0x40 + local_1f8 * 8) = auVar64._0_16_; + *(undefined1 (*) [16])(param_3 + 0x60 + local_1f8 * 8) = auVar88._0_16_; + *(undefined1 (*) [16])(param_3 + 0x10 + local_1f8 * 8) = auVar65._16_16_; + *(undefined1 (*) [16])(param_3 + 0x30 + local_1f8 * 8) = auVar50._16_16_; + *(undefined1 (*) [16])(param_3 + 0x50 + local_1f8 * 8) = auVar64._16_16_; + *(undefined1 (*) [16])(param_3 + 0x70 + local_1f8 * 8) = auVar88._16_16_; + lVar31 = local_1f8 + 0x10; + } while (lVar31 < lVar38); + } + local_1388._0_8_ = SEXT48((int)local_60); + local_1388._8_8_ = lVar31 * 8; + local_1f8 = lVar31; + dVar281 = _DAT_181ca3d40; + dVar311 = _UNK_181ca3d48; + dVar312 = _UNK_181ca3d50; + dVar313 = _UNK_181ca3d58; + dVar187 = _DAT_181ca3fc0; + dVar205 = _UNK_181ca3fc8; + dVar189 = _UNK_181ca3fd0; + dVar224 = _UNK_181ca3fd8; + dVar80 = _DAT_181ca40c0; + dVar81 = _UNK_181ca40c8; + dVar100 = _UNK_181ca40d0; + dVar101 = _UNK_181ca40d8; + dVar104 = _DAT_181ca4080; + dVar105 = _UNK_181ca4088; + dVar108 = _UNK_181ca4090; + dVar109 = _UNK_181ca4098; + dVar56 = _DAT_181ca4000; + dVar76 = _UNK_181ca4008; + dVar77 = _UNK_181ca4010; + dVar78 = _UNK_181ca4018; + dVar204 = _DAT_181ca4100; + dVar223 = _UNK_181ca4108; + dVar225 = _UNK_181ca4110; + dVar226 = _UNK_181ca4118; + if (lVar31 < (longlong)local_1388._0_8_) { + do { + iVar25 = (int)local_1f8; + uVar23 = local_60 - iVar25; + auVar3._8_8_ = _UNK_181ca3b48; + auVar3._0_8_ = _DAT_181ca3b40; + auVar3._16_8_ = _UNK_181ca3b50; + auVar3._24_8_ = _UNK_181ca3b58; + if (3 < uVar23) { + uVar23 = 4; + } + uVar23 = (uint)(0xffffffffL >> (0x20U - (char)uVar23 & 0x3f)) & 0xf; + uVar36 = 0; + auVar66 = vmaskmovpd_avx(*(undefined1 (*) [32]) + (&DAT_181ca3900 + (ulonglong)(uint)POPCOUNT(uVar23) * 0x20), + *(undefined1 (*) [32])(local_1388._8_8_ + param_1)); + _local_24c0 = vblendvpd_avx(_DAT_181cb48a0,auVar66, + *(undefined1 (*) [32]) + (&DAT_181ca3900 + (ulonglong)(uint)POPCOUNT(uVar23) * 0x20)); + local_2400 = vandnpd_avx(auVar3,_local_24c0); + auVar58._0_8_ = (double)DAT_181ca3c80 + local_2400._0_8_ * _DAT_181ca3c40; + auVar58._8_8_ = DAT_181ca3c80._8_8_ + local_2400._8_8_ * _UNK_181ca3c48; + auVar89._16_8_ = DAT_181ca3c80._16_8_ + local_2400._16_8_ * _UNK_181ca3c50; + auVar89._0_16_ = auVar58; + auVar89._24_8_ = DAT_181ca3c80._24_8_ + local_2400._24_8_ * _UNK_181ca3c58; + auVar66 = vandpd_avx(auVar3,_local_24c0); + auVar84 = vcmppd_avx(_local_24c0,auVar66,0); + auVar341 = vpsllq_avx(auVar58,0x3f); + auVar85 = vsubpd_avx(auVar89,_DAT_181ca3c80); + dVar265 = auVar85._0_8_; + auVar90._0_8_ = _DAT_181ca3d00 * dVar265; + dVar282 = auVar85._8_8_; + auVar90._8_8_ = _UNK_181ca3d08 * dVar282; + dVar314 = auVar85._16_8_; + auVar90._16_8_ = _UNK_181ca3d10 * dVar314; + dVar338 = auVar85._24_8_; + auVar90._24_8_ = _UNK_181ca3d18 * dVar338; + auVar58 = vpsllq_avx(auVar89._16_16_,0x3f); + auVar85 = vsubpd_avx(local_2400,auVar90); + auVar91._0_8_ = dVar281 * dVar265; + auVar91._8_8_ = dVar311 * dVar282; + auVar91._16_8_ = dVar312 * dVar314; + auVar91._24_8_ = dVar313 * dVar338; + auVar64 = vsubpd_avx(auVar85,auVar91); + auVar85 = vandpd_avx(auVar3,auVar64); + auVar51 = vorpd_avx(auVar85,_DAT_181ca3cc0); + dVar339 = auVar51._0_8_ + dVar265; + dVar340 = auVar51._8_8_ + dVar282; + dVar103 = auVar51._16_8_ + dVar314; + dVar107 = auVar51._24_8_ + dVar338; + auVar42._0_8_ = _DAT_181ca3d00 * dVar339; + auVar42._8_8_ = _UNK_181ca3d08 * dVar340; + auVar42._16_8_ = _UNK_181ca3d10 * dVar103; + auVar42._24_8_ = _UNK_181ca3d18 * dVar107; + auVar118._0_8_ = dVar281 * dVar339; + auVar118._8_8_ = dVar311 * dVar340; + auVar118._16_8_ = dVar312 * dVar103; + auVar118._24_8_ = dVar313 * dVar107; + auVar51 = vsubpd_avx(local_2400,auVar42); + auVar51 = vsubpd_avx(auVar51,auVar118); + auVar119._0_8_ = _DAT_181ca3d80 * dVar265; + auVar119._8_8_ = _UNK_181ca3d88 * dVar282; + auVar119._16_8_ = _UNK_181ca3d90 * dVar314; + auVar119._24_8_ = _UNK_181ca3d98 * dVar338; + auVar43._0_8_ = _DAT_181ca3d80 * dVar339; + auVar43._8_8_ = _UNK_181ca3d88 * dVar340; + auVar43._16_8_ = _UNK_181ca3d90 * dVar103; + auVar43._24_8_ = _UNK_181ca3d98 * dVar107; + auVar64 = vsubpd_avx(auVar64,auVar119); + auVar51 = vsubpd_avx(auVar51,auVar43); + auVar52._0_8_ = _DAT_181ca3dc0 * dVar265; + auVar52._8_8_ = _UNK_181ca3dc8 * dVar282; + auVar52._16_8_ = _UNK_181ca3dd0 * dVar314; + auVar52._24_8_ = _UNK_181ca3dd8 * dVar338; + auVar92._0_8_ = _DAT_181ca3dc0 * dVar339; + auVar92._8_8_ = _UNK_181ca3dc8 * dVar340; + auVar92._16_8_ = _UNK_181ca3dd0 * dVar103; + auVar92._24_8_ = _UNK_181ca3dd8 * dVar107; + auVar64 = vsubpd_avx(auVar64,auVar52); + auVar51 = vsubpd_avx(auVar51,auVar92); + dVar281 = auVar64._0_8_; + dVar79 = dVar281 * dVar281; + dVar312 = auVar64._8_8_; + dVar99 = dVar312 * dVar312; + dVar265 = auVar64._16_8_; + dVar102 = dVar265 * dVar265; + dVar314 = auVar64._24_8_; + dVar106 = dVar314 * dVar314; + dVar311 = auVar51._0_8_; + dVar339 = dVar311 * dVar311; + dVar313 = auVar51._8_8_; + dVar340 = dVar313 * dVar313; + dVar282 = auVar51._16_8_; + dVar103 = dVar282 * dVar282; + dVar338 = auVar51._24_8_; + dVar107 = dVar338 * dVar338; + auVar67._0_8_ = + (ulonglong) + (dVar281 + + dVar281 * dVar79 * (dVar187 + + dVar79 * (dVar56 + dVar79 * (dVar104 + + dVar79 * (dVar80 + dVar79 * (dVar204 + + dVar79 * ( + _DAT_181ca4140 + _DAT_181ca4180 * dVar79))))))) ^ + auVar341._0_8_ ^ auVar66._0_8_; + auVar67._8_8_ = + (ulonglong) + (dVar312 + + dVar312 * dVar99 * (dVar205 + + dVar99 * (dVar76 + dVar99 * (dVar105 + + dVar99 * (dVar81 + dVar99 * (dVar223 + + dVar99 * ( + _UNK_181ca4148 + _UNK_181ca4188 * dVar99))))))) ^ + auVar341._8_8_ ^ auVar66._8_8_; + auVar67._16_8_ = + (ulonglong) + (dVar265 + + dVar265 * dVar102 * (dVar189 + + dVar102 * (dVar77 + dVar102 * (dVar108 + + dVar102 * (dVar100 + + dVar102 * (dVar225 + + dVar102 * ( + _UNK_181ca4150 + _UNK_181ca4190 * dVar102))))))) ^ + auVar58._0_8_ ^ auVar66._16_8_; + auVar67._24_8_ = + (ulonglong) + (dVar314 + + dVar314 * dVar106 * (dVar224 + + dVar106 * (dVar78 + dVar106 * (dVar109 + + dVar106 * (dVar101 + + dVar106 * (dVar226 + + dVar106 * ( + _UNK_181ca4158 + _UNK_181ca4198 * dVar106))))))) ^ + auVar58._8_8_ ^ auVar66._24_8_; + auVar44._0_8_ = + (ulonglong) + (dVar311 + + dVar311 * dVar339 * (dVar187 + + dVar339 * (dVar56 + dVar339 * (dVar104 + + dVar339 * (dVar80 + dVar339 * ( + dVar204 + dVar339 * (_DAT_181ca4140 + + _DAT_181ca4180 * dVar339)))))) + ) ^ auVar341._0_8_ ^ auVar85._0_8_ ^ _DAT_181ca3b40; + auVar44._8_8_ = + (ulonglong) + (dVar313 + + dVar313 * dVar340 * (dVar205 + + dVar340 * (dVar76 + dVar340 * (dVar105 + + dVar340 * (dVar81 + dVar340 * ( + dVar223 + dVar340 * (_UNK_181ca4148 + + _UNK_181ca4188 * dVar340)))))) + ) ^ auVar341._8_8_ ^ auVar85._8_8_ ^ _UNK_181ca3b48; + auVar44._16_8_ = + (ulonglong) + (dVar282 + + dVar282 * dVar103 * (dVar189 + + dVar103 * (dVar77 + dVar103 * (dVar108 + + dVar103 * (dVar100 + + dVar103 * (dVar225 + + dVar103 * ( + _UNK_181ca4150 + _UNK_181ca4190 * dVar103))))))) ^ + auVar58._0_8_ ^ auVar85._16_8_ ^ _UNK_181ca3b50; + auVar44._24_8_ = + (ulonglong) + (dVar338 + + dVar338 * dVar107 * (dVar224 + + dVar107 * (dVar78 + dVar107 * (dVar109 + + dVar107 * (dVar101 + + dVar107 * (dVar226 + + dVar107 * ( + _UNK_181ca4158 + _UNK_181ca4198 * dVar107))))))) ^ + auVar58._8_8_ ^ auVar85._24_8_ ^ _UNK_181ca3b58; + auVar85 = vblendvpd_avx(auVar44,_DAT_181ca41c0,auVar84); + auVar84 = vcmppd_avx(local_2400,_DAT_181ca3bc0,0x16); + auVar58 = vshufps_avx(auVar84._0_16_,auVar84._16_16_,0xdd); + iVar35 = vmovmskps_avx(auVar58); + _local_2540 = auVar85; + _local_2500 = auVar67; + if (iVar35 != 0) { + auVar51 = vandpd_avx(_DAT_181ca8280,local_2400); + auVar51 = vcmppd_avx(auVar51,_DAT_181ca8280,0); + auVar58 = vshufps_avx(auVar51._0_16_,auVar51._16_16_,0xdd); + uVar36 = vmovmskps_avx(auVar58); + local_1338 = local_2400._0_16_; + local_1328 = local_2400._16_16_; + auVar58 = vpand_avx(local_1338,_DAT_181cb48c0); + auVar341 = vpsrlq_avx(auVar58,0x34); + auVar58 = vpand_avx(local_1328,_DAT_181cb48c0); + auVar58 = vpsrlq_avx(auVar58,0x34); + uVar37 = auVar341._0_4_ * 0x18; + uVar21 = auVar58._0_4_ * 0x18; + uVar24 = auVar341._8_4_ * 0x18; + uVar27 = auVar58._8_4_ * 0x18; + auVar59 = vpand_avx(local_1338,_DAT_181cb48d0); + auVar111._8_8_ = 0; + auVar111._0_8_ = *(ulonglong *)(&DAT_181ca85c0 + uVar37); + auVar58 = vmovhpd_avx(auVar111,*(undefined8 *)(&DAT_181ca85c0 + uVar24)); + auVar190._8_8_ = 0; + auVar190._0_8_ = *(ulonglong *)(&DAT_181ca85c8 + uVar37); + auVar341 = vmovhpd_avx(auVar190,*(undefined8 *)(&DAT_181ca85c8 + uVar24)); + auVar249._8_8_ = 0; + auVar249._0_8_ = *(ulonglong *)(&DAT_181ca85d0 + uVar37); + auVar111 = vmovhpd_avx(auVar249,*(undefined8 *)(&DAT_181ca85d0 + uVar24)); + auVar129._8_8_ = 0; + auVar129._0_8_ = *(ulonglong *)(&DAT_181ca85c0 + uVar21); + auVar129 = vmovhpd_avx(auVar129,*(undefined8 *)(&DAT_181ca85c0 + uVar27)); + auVar266._8_8_ = 0; + auVar266._0_8_ = *(ulonglong *)(&DAT_181ca85c8 + uVar21); + auVar286 = vmovhpd_avx(auVar266,*(undefined8 *)(&DAT_181ca85c8 + uVar27)); + auVar227._8_8_ = 0; + auVar227._0_8_ = *(ulonglong *)(&DAT_181ca85d0 + uVar21); + auVar130 = vmovhpd_avx(auVar227,*(undefined8 *)(&DAT_181ca85d0 + uVar27)); + auVar59 = vpaddq_avx(auVar59,_DAT_181cb48e0); + auVar112 = vpand_avx(local_1328,_DAT_181cb48d0); + auVar112 = vpaddq_avx(auVar112,_DAT_181cb48e0); + auVar39 = vpand_avx(auVar129,_DAT_181cb48f0); + auVar40 = vpsrlq_avx(auVar129,0x20); + auVar248 = vpsrlq_avx(auVar58,0x20); + auVar129 = vpand_avx(auVar286,_DAT_181cb48f0); + auVar57 = vpsrlq_avx(auVar341,0x20); + auVar341 = vpand_avx(auVar341,_DAT_181cb48f0); + auVar285 = vpsrlq_avx(auVar111,0x20); + auVar111 = vpand_avx(auVar111,_DAT_181cb48f0); + auVar58 = vpand_avx(auVar58,_DAT_181cb48f0); + auVar247 = vpsrlq_avx(auVar286,0x20); + auVar283 = vpsrlq_avx(auVar130,0x20); + local_1318 = vpand_avx(auVar130,_DAT_181cb48f0); + auVar284 = vpsrlq_avx(auVar59,0x20); + auVar286 = vpand_avx(auVar59,_DAT_181cb48f0); + auVar130 = vpand_avx(auVar112,_DAT_181cb48f0); + auVar315 = vpsrlq_avx(auVar112,0x20); + auVar248 = vpmuludq_avx(auVar286,auVar248); + local_1278 = vpmuludq_avx(auVar130,auVar40); + local_1308 = vpmuludq_avx(auVar284,auVar58); + local_12f8 = vpmuludq_avx(auVar315,auVar39); + local_12e8 = vpmuludq_avx(auVar284,auVar57); + auVar59 = vpmuludq_avx(auVar286,auVar57); + local_12d8 = vpmuludq_avx(auVar315,auVar247); + local_12c8 = vpmuludq_avx(auVar284,auVar341); + local_12b8 = vpmuludq_avx(auVar315,auVar129); + auVar112 = vpmuludq_avx(auVar130,auVar129); + local_12a8 = vpmuludq_avx(auVar284,auVar285); + local_1298 = vpmuludq_avx(auVar284,auVar111); + auVar111 = vpmuludq_avx(auVar315,auVar283); + local_1288 = vpmuludq_avx(auVar315,local_1318); + auVar129 = vpmuludq_avx(auVar130,auVar283); + auVar283 = vpmuludq_avx(auVar286,auVar58); + auVar39 = vpmuludq_avx(auVar130,auVar39); + auVar284 = vpmuludq_avx(auVar286,auVar341); + auVar58 = vpmuludq_avx(auVar286,auVar285); + auVar247 = vpmuludq_avx(auVar130,auVar247); + auVar341 = vpsrlq_avx(auVar129,0x20); + auVar129 = vpsrlq_avx(auVar58,0x20); + auVar286 = vpsrlq_avx(auVar112,0x20); + auVar58 = vpaddq_avx(auVar111,auVar341); + auVar341 = vpaddq_avx(auVar286,local_12b8); + auVar40 = vpsrlq_avx(auVar284,0x20); + auVar286 = vpsrlq_avx(auVar59,0x20); + auVar111 = vpaddq_avx(auVar129,local_12a8); + auVar130 = vpsrlq_avx(auVar247,0x20); + auVar129 = vpaddq_avx(auVar40,local_12c8); + auVar286 = vpaddq_avx(auVar286,local_12e8); + auVar130 = vpaddq_avx(auVar130,local_12d8); + auVar285 = vpsrlq_avx(auVar39,0x20); + auVar315 = vpsrlq_avx(auVar283,0x20); + auVar39 = vpand_avx(auVar39,_DAT_181cb48f0); + auVar40 = vpand_avx(auVar59,_DAT_181cb48f0); + auVar57 = vpand_avx(auVar112,_DAT_181cb48f0); + auVar59 = vpaddq_avx(auVar315,local_1308); + auVar112 = vpaddq_avx(auVar285,local_12f8); + auVar247 = vpand_avx(auVar247,_DAT_181cb48f0); + auVar58 = vpaddq_avx(auVar57,auVar58); + auVar129 = vpaddq_avx(auVar40,auVar129); + auVar130 = vpaddq_avx(auVar39,auVar130); + auVar341 = vpaddq_avx(auVar247,auVar341); + auVar39 = vpand_avx(auVar283,_DAT_181cb48f0); + auVar40 = vpand_avx(auVar248,_DAT_181cb48f0); + auVar57 = vpand_avx(auVar284,_DAT_181cb48f0); + auVar286 = vpaddq_avx(auVar39,auVar286); + auVar59 = vpaddq_avx(auVar40,auVar59); + auVar40 = vpsrlq_avx(local_1298,0x20); + auVar111 = vpaddq_avx(auVar57,auVar111); + auVar39 = vpand_avx(local_1278,_DAT_181cb48f0); + auVar112 = vpaddq_avx(auVar39,auVar112); + auVar111 = vpaddq_avx(auVar40,auVar111); + auVar39 = vpsrlq_avx(local_1288,0x20); + auVar58 = vpaddq_avx(auVar39,auVar58); + auVar40 = vpsrlq_avx(auVar111,0x20); + auVar39 = vpand_avx(auVar58,_DAT_181cb48f0); + auVar129 = vpaddq_avx(auVar40,auVar129); + auVar58 = vpsrlq_avx(auVar58,0x20); + auVar58 = vpaddq_avx(auVar58,auVar341); + auVar341 = vpsrlq_avx(auVar129,0x20); + auVar341 = vpaddq_avx(auVar341,auVar286); + auVar286 = vpsrlq_avx(auVar58,0x20); + auVar40 = vpand_avx(auVar341,_DAT_181cb48f0); + auVar286 = vpaddq_avx(auVar286,auVar130); + auVar341 = vpsrlq_avx(auVar341,0x20); + auVar130 = vpand_avx(auVar286,_DAT_181cb48f0); + auVar341 = vpaddq_avx(auVar341,auVar59); + auVar286 = vpsrlq_avx(auVar286,0x20); + auVar286 = vpaddq_avx(auVar286,auVar112); + auVar111 = vpand_avx(auVar111,_DAT_181cb48f0); + auVar129 = vpsllq_avx(auVar129,0x20); + auVar59 = vpsllq_avx(auVar341,0x20); + auVar57 = vpsllq_avx(auVar58,0x20); + auVar341 = vpsllq_avx(auVar286,0x20); + auVar58 = vpaddq_avx(auVar129,auVar111); + auVar341 = vpaddq_avx(auVar341,auVar130); + auVar112 = vpsrlq_avx(auVar341,0xc); + auVar111 = vpaddq_avx(auVar59,auVar40); + auVar129 = vpaddq_avx(auVar57,auVar39); + auVar286 = vpand_avx(local_1338,_DAT_181cb4900); + auVar130 = vpand_avx(local_1328,_DAT_181cb4900); + auVar59 = vpsrlq_avx(auVar111,0xc); + auVar59 = vpor_avx(auVar59,auVar286 ^ _DAT_181cb4910); + auVar112 = vpor_avx(auVar112,auVar130 ^ _DAT_181cb4910); + auVar111 = vpand_avx(auVar111,_DAT_181cb4960); + auVar341 = vpand_avx(auVar341,_DAT_181cb4960); + auVar180._16_16_ = auVar112; + auVar180._0_16_ = auVar59; + auVar287._0_8_ = auVar59._0_8_ + _DAT_181cb47c0; + auVar287._8_8_ = auVar59._8_8_ + _UNK_181cb47c8; + auVar304._16_8_ = auVar112._0_8_ + _UNK_181cb47d0; + auVar304._0_16_ = auVar287; + auVar304._24_8_ = auVar112._8_8_ + _UNK_181cb47d8; + auVar4._8_8_ = _UNK_181cb47c8; + auVar4._0_8_ = _DAT_181cb47c0; + auVar4._16_8_ = _UNK_181cb47d0; + auVar4._24_8_ = _UNK_181cb47d8; + auVar51 = vsubpd_avx(auVar304,auVar4); + auVar51 = vsubpd_avx(auVar180,auVar51); + auVar59 = vpand_avx(auVar58,_DAT_181cb4940); + auVar59 = vpsllq_avx(auVar59,0x1c); + local_1358 = vpand_avx(auVar287,_DAT_181cb4920); + local_1378 = vpand_avx(auVar304._16_16_,_DAT_181cb4920); + auVar112 = vpor_avx(auVar59,auVar286 ^ _DAT_181cb4930); + auVar59 = vpand_avx(auVar129,_DAT_181cb4940); + auVar59 = vpsllq_avx(auVar59,0x1c); + auVar59 = vpor_avx(auVar59,auVar130 ^ _DAT_181cb4930); + auVar335._16_16_ = auVar59; + auVar335._0_16_ = auVar112; + auVar181._16_16_ = auVar130 ^ _DAT_181cb4930; + auVar181._0_16_ = auVar286 ^ _DAT_181cb4930; + auVar64 = vsubpd_avx(auVar335,auVar181); + auVar129 = vpsrlq_avx(auVar129,0x18); + auVar59 = vpsrlq_avx(auVar58,0x18); + auVar58 = vpsllq_avx(auVar111,0x28); + auVar341 = vpsllq_avx(auVar341,0x28); + auVar58 = vpor_avx(auVar58,auVar59); + auVar341 = vpor_avx(auVar341,auVar129); + auVar58 = vpor_avx(auVar58,auVar286 ^ _DAT_181cb4950); + auVar341 = vpor_avx(auVar341,auVar130 ^ _DAT_181cb4950); + auVar243._16_16_ = auVar341; + auVar243._0_16_ = auVar58; + auVar68._16_16_ = auVar130 ^ _DAT_181cb4950; + auVar68._0_16_ = auVar286 ^ _DAT_181cb4950; + auVar88 = vsubpd_avx(auVar243,auVar68); + auVar93._0_8_ = auVar51._0_8_ + auVar88._0_8_; + auVar93._8_8_ = auVar51._8_8_ + auVar88._8_8_; + auVar93._16_8_ = auVar51._16_8_ + auVar88._16_8_; + auVar93._24_8_ = auVar51._24_8_ + auVar88._24_8_; + auVar50 = vsubpd_avx(auVar51,auVar93); + auVar51 = vandpd_avx(auVar93,_DAT_181cb4840); + auVar65 = vsubpd_avx(auVar93,auVar51); + auVar272._0_8_ = auVar51._0_8_ * _DAT_181cb4800; + auVar272._8_8_ = auVar51._8_8_ * _UNK_181cb4808; + auVar272._16_8_ = auVar51._16_8_ * _UNK_181cb4810; + auVar272._24_8_ = auVar51._24_8_ * _UNK_181cb4818; + dVar281 = auVar65._0_8_ * _DAT_181cb4800 + auVar51._0_8_ * _DAT_181cb4820 + + (auVar64._0_8_ + auVar88._0_8_ + auVar50._0_8_) * _DAT_181cb47e0 + + auVar65._0_8_ * _DAT_181cb4820; + dVar311 = auVar65._8_8_ * _UNK_181cb4808 + auVar51._8_8_ * _UNK_181cb4828 + + (auVar64._8_8_ + auVar88._8_8_ + auVar50._8_8_) * _UNK_181cb47e8 + + auVar65._8_8_ * _UNK_181cb4828; + dVar312 = auVar65._16_8_ * _UNK_181cb4810 + auVar51._16_8_ * _UNK_181cb4830 + + (auVar64._16_8_ + auVar88._16_8_ + auVar50._16_8_) * _UNK_181cb47f0 + + auVar65._16_8_ * _UNK_181cb4830; + dVar313 = auVar65._24_8_ * _UNK_181cb4818 + auVar51._24_8_ * _UNK_181cb4838 + + (auVar64._24_8_ + auVar88._24_8_ + auVar50._24_8_) * _UNK_181cb47f8 + + auVar65._24_8_ * _UNK_181cb4838; + auVar58 = vpaddq_avx(local_1358,_DAT_181ca8380); + auVar341 = vpaddq_avx(local_1378,_DAT_181ca8380); + auVar69._0_8_ = auVar272._0_8_ + dVar281; + auVar69._8_8_ = auVar272._8_8_ + dVar311; + auVar69._16_8_ = auVar272._16_8_ + dVar312; + auVar69._24_8_ = auVar272._24_8_ + dVar313; + local_1348 = vpand_avx(auVar58,_DAT_181ca8340); + auVar51 = vsubpd_avx(auVar272,auVar69); + local_1368 = vpand_avx(auVar341,_DAT_181ca8340); + auVar199._0_8_ = dVar281 + auVar51._0_8_; + auVar199._8_8_ = dVar311 + auVar51._8_8_; + auVar199._16_8_ = dVar312 + auVar51._16_8_; + auVar199._24_8_ = dVar313 + auVar51._24_8_; + auVar51 = vandpd_avx(local_2400,_DAT_181cb4860); + auVar88 = vcmppd_avx(auVar51,_DAT_181cb4880,0x1e); + auVar51 = vcmppd_avx(auVar51,_DAT_181cb4880,0x12); + auVar51 = vandpd_avx(auVar51,local_2400); + auVar64 = vandpd_avx(auVar88,auVar69); + _local_24e0 = vorpd_avx(auVar51,auVar64); + dVar281 = local_24e0._0_8_; + dVar80 = dVar281 * dVar281; + dVar312 = local_24e0._8_8_; + dVar100 = dVar312 * dVar312; + dVar187 = local_24e0._16_8_; + dVar104 = dVar187 * dVar187; + dVar189 = local_24e0._24_8_; + dVar108 = dVar189 * dVar189; + _local_26e0 = vandpd_avx(auVar88,auVar199); + local_2520 = dVar281 * dVar80 * (_DAT_181ca8480 + _DAT_181ca84c0 * dVar80); + dStack_2518 = dVar312 * dVar100 * (_UNK_181ca8488 + _UNK_181ca84c8 * dVar100); + dStack_2510 = dVar187 * dVar104 * (_UNK_181ca8490 + _UNK_181ca84d0 * dVar104); + dStack_2508 = dVar189 * dVar108 * (_UNK_181ca8498 + _UNK_181ca84d8 * dVar108); + dVar80 = dVar80 * (_DAT_181ca8500 + dVar80 * (_DAT_181ca8540 + _DAT_181ca8580 * dVar80)) + ; + dVar100 = dVar100 * (_UNK_181ca8508 + + dVar100 * (_UNK_181ca8548 + _UNK_181ca8588 * dVar100)); + dVar104 = dVar104 * (_UNK_181ca8510 + + dVar104 * (_UNK_181ca8550 + _UNK_181ca8590 * dVar104)); + dVar108 = dVar108 * (_UNK_181ca8518 + + dVar108 * (_UNK_181ca8558 + _UNK_181ca8598 * dVar108)); + local_1268._0_4_ = uVar36; + uVar21 = local_1358._0_4_ << 5; + uVar37 = local_1378._0_4_ << 5; + uVar24 = local_1358._8_4_ << 5; + uVar27 = local_1378._8_4_ << 5; + auVar169._8_8_ = 0; + auVar169._0_8_ = *(ulonglong *)(&DAT_181ca4200 + uVar21); + auVar58 = vmovhpd_avx(auVar169,*(undefined8 *)(&DAT_181ca4200 + uVar24)); + auVar288._8_8_ = 0; + auVar288._0_8_ = *(ulonglong *)(&DAT_181ca4200 + uVar37); + auVar341 = vmovhpd_avx(auVar288,*(undefined8 *)(&DAT_181ca4200 + uVar27)); + auVar286._8_8_ = 0; + auVar286._0_8_ = *(ulonglong *)(&DAT_181ca4208 + uVar21); + auVar111 = vmovhpd_avx(auVar286,*(undefined8 *)(&DAT_181ca4208 + uVar24)); + auVar170._8_8_ = 0; + auVar170._0_8_ = *(ulonglong *)(&DAT_181ca4208 + uVar37); + auVar129 = vmovhpd_avx(auVar170,*(undefined8 *)(&DAT_181ca4208 + uVar27)); + auVar206._8_8_ = 0; + auVar206._0_8_ = *(ulonglong *)(&DAT_181ca4210 + uVar37); + auVar286 = vmovhpd_avx(auVar206,*(undefined8 *)(&DAT_181ca4210 + uVar27)); + auVar316._8_8_ = 0; + auVar316._0_8_ = *(ulonglong *)(&DAT_181ca4210 + uVar21); + auVar130 = vmovhpd_avx(auVar316,*(undefined8 *)(&DAT_181ca4210 + uVar24)); + auVar139._16_16_ = auVar286; + auVar139._0_16_ = auVar130; + auVar317._8_8_ = 0; + auVar317._0_8_ = *(ulonglong *)(&DAT_181ca4218 + uVar37); + auVar59 = vmovhpd_avx(auVar317,*(undefined8 *)(&DAT_181ca4218 + uVar27)); + dVar311 = auVar130._0_8_; + auVar200._0_8_ = dVar281 * dVar311; + dVar313 = auVar130._8_8_; + auVar200._8_8_ = dVar312 * dVar313; + dVar205 = auVar286._0_8_; + auVar200._16_8_ = dVar187 * dVar205; + dVar224 = auVar286._8_8_; + auVar200._24_8_ = dVar189 * dVar224; + auVar171._8_8_ = 0; + auVar171._0_8_ = *(ulonglong *)(&DAT_181ca4218 + uVar21); + auVar286 = vmovhpd_avx(auVar171,*(undefined8 *)(&DAT_181ca4218 + uVar24)); + auVar157._0_8_ = auVar58._0_8_ + auVar111._0_8_; + auVar157._8_8_ = auVar58._8_8_ + auVar111._8_8_; + auVar157._16_8_ = auVar341._0_8_ + auVar129._0_8_; + auVar157._24_8_ = auVar341._8_8_ + auVar129._8_8_; + dVar81 = dVar281 * auVar58._0_8_; + dVar101 = dVar312 * auVar58._8_8_; + dVar105 = dVar187 * auVar341._0_8_; + dVar109 = dVar189 * auVar341._8_8_; + auVar51 = vsubpd_avx(auVar157,auVar200); + dVar56 = dVar281 * auVar111._0_8_; + dVar76 = dVar312 * auVar111._8_8_; + dVar77 = dVar187 * auVar129._0_8_; + dVar78 = dVar189 * auVar129._8_8_; + auVar356._0_8_ = dVar311 + dVar56; + auVar356._8_8_ = dVar313 + dVar76; + auVar356._16_8_ = dVar205 + dVar77; + auVar356._24_8_ = dVar224 + dVar78; + auVar305._0_8_ = auVar356._0_8_ + dVar81; + auVar305._8_8_ = auVar356._8_8_ + dVar101; + auVar305._16_8_ = auVar356._16_8_ + dVar105; + auVar305._24_8_ = auVar356._24_8_ + dVar109; + auVar64 = vsubpd_avx(auVar356,auVar305); + auVar88 = vsubpd_avx(auVar139,auVar356); + uVar37 = local_1348._0_4_ << 5; + uVar21 = local_1368._0_4_ << 5; + uVar24 = local_1348._8_4_ << 5; + uVar27 = local_1368._8_4_ << 5; + auVar244._0_8_ = + (ulonglong) + (auVar305._0_8_ + + dVar56 + auVar88._0_8_ + + auVar286._0_8_ + (double)local_26e0._0_8_ * auVar51._0_8_ + + local_2520 * auVar157._0_8_ + dVar81 + auVar64._0_8_ + dVar311 * dVar80) ^ + auVar66._0_8_; + auVar244._8_8_ = + (ulonglong) + (auVar305._8_8_ + + dVar76 + auVar88._8_8_ + + auVar286._8_8_ + (double)local_26e0._8_8_ * auVar51._8_8_ + + dStack_2518 * auVar157._8_8_ + dVar101 + auVar64._8_8_ + dVar313 * dVar100) ^ + auVar66._8_8_; + auVar244._16_8_ = + (ulonglong) + (auVar305._16_8_ + + dVar77 + auVar88._16_8_ + + auVar59._0_8_ + dStack_26d0 * auVar51._16_8_ + dStack_2510 * auVar157._16_8_ + + dVar105 + auVar64._16_8_ + dVar205 * dVar104) ^ auVar66._16_8_; + auVar244._24_8_ = + (ulonglong) + (auVar305._24_8_ + + dVar78 + auVar88._24_8_ + + auVar59._8_8_ + dStack_26c8 * auVar51._24_8_ + dStack_2508 * auVar157._24_8_ + + dVar109 + auVar64._24_8_ + dVar224 * dVar108) ^ auVar66._24_8_; + auVar130._8_8_ = 0; + auVar130._0_8_ = *(ulonglong *)(&DAT_181ca4200 + uVar37); + auVar58 = vmovhpd_avx(auVar130,*(undefined8 *)(&DAT_181ca4200 + uVar24)); + auVar341._8_8_ = 0; + auVar341._0_8_ = *(ulonglong *)(&DAT_181ca4200 + uVar21); + auVar341 = vmovhpd_avx(auVar341,*(undefined8 *)(&DAT_181ca4200 + uVar27)); + auVar318._8_8_ = 0; + auVar318._0_8_ = *(ulonglong *)(&DAT_181ca4208 + uVar37); + auVar111 = vmovhpd_avx(auVar318,*(undefined8 *)(&DAT_181ca4208 + uVar24)); + _local_2500 = vblendvpd_avx(auVar67,auVar244,auVar84); + auVar59._8_8_ = 0; + auVar59._0_8_ = *(ulonglong *)(&DAT_181ca4208 + uVar21); + auVar129 = vmovhpd_avx(auVar59,*(undefined8 *)(&DAT_181ca4208 + uVar27)); + auVar342._8_8_ = 0; + auVar342._0_8_ = *(ulonglong *)(&DAT_181ca4210 + uVar37); + auVar286 = vmovhpd_avx(auVar342,*(undefined8 *)(&DAT_181ca4210 + uVar24)); + auVar112._8_8_ = 0; + auVar112._0_8_ = *(ulonglong *)(&DAT_181ca4210 + uVar21); + auVar130 = vmovhpd_avx(auVar112,*(undefined8 *)(&DAT_181ca4210 + uVar27)); + auVar273._0_8_ = auVar58._0_8_ + auVar111._0_8_; + auVar273._8_8_ = auVar58._8_8_ + auVar111._8_8_; + auVar273._16_8_ = auVar341._0_8_ + auVar129._0_8_; + auVar273._24_8_ = auVar341._8_8_ + auVar129._8_8_; + dVar81 = dVar281 * auVar58._0_8_; + dVar101 = dVar312 * auVar58._8_8_; + dVar105 = dVar187 * auVar341._0_8_; + dVar109 = dVar189 * auVar341._8_8_; + auVar158._16_16_ = auVar130; + auVar158._0_16_ = auVar286; + dVar311 = auVar286._0_8_; + auVar357._0_8_ = dVar281 * dVar311; + dVar313 = auVar286._8_8_; + auVar357._8_8_ = dVar312 * dVar313; + dVar205 = auVar130._0_8_; + auVar357._16_8_ = dVar187 * dVar205; + dVar224 = auVar130._8_8_; + auVar357._24_8_ = dVar189 * dVar224; + auVar289._8_8_ = 0; + auVar289._0_8_ = *(ulonglong *)(&DAT_181ca4218 + uVar37); + auVar58 = vmovhpd_avx(auVar289,*(undefined8 *)(&DAT_181ca4218 + uVar24)); + auVar290._8_8_ = 0; + auVar290._0_8_ = *(ulonglong *)(&DAT_181ca4218 + uVar21); + auVar341 = vmovhpd_avx(auVar290,*(undefined8 *)(&DAT_181ca4218 + uVar27)); + auVar51 = vsubpd_avx(auVar273,auVar357); + dVar281 = dVar281 * auVar111._0_8_; + dVar312 = dVar312 * auVar111._8_8_; + dVar187 = dVar187 * auVar129._0_8_; + dVar189 = dVar189 * auVar129._8_8_; + auVar140._0_8_ = dVar311 + dVar281; + auVar140._8_8_ = dVar313 + dVar312; + auVar140._16_8_ = dVar205 + dVar187; + auVar140._24_8_ = dVar224 + dVar189; + auVar274._0_8_ = dVar81 + auVar140._0_8_; + auVar274._8_8_ = dVar101 + auVar140._8_8_; + auVar274._16_8_ = dVar105 + auVar140._16_8_; + auVar274._24_8_ = dVar109 + auVar140._24_8_; + auVar64 = vsubpd_avx(auVar158,auVar140); + auVar88 = vsubpd_avx(auVar140,auVar274); + auVar159._0_8_ = + auVar274._0_8_ + + dVar281 + auVar64._0_8_ + + auVar58._0_8_ + (double)local_26e0._0_8_ * auVar51._0_8_ + + local_2520 * auVar273._0_8_ + dVar81 + auVar88._0_8_ + dVar311 * dVar80; + auVar159._8_8_ = + auVar274._8_8_ + + dVar312 + auVar64._8_8_ + + auVar58._8_8_ + (double)local_26e0._8_8_ * auVar51._8_8_ + + dStack_2518 * auVar273._8_8_ + dVar101 + auVar88._8_8_ + dVar313 * dVar100; + auVar159._16_8_ = + auVar274._16_8_ + + dVar187 + auVar64._16_8_ + + auVar341._0_8_ + dStack_26d0 * auVar51._16_8_ + dStack_2510 * auVar273._16_8_ + + dVar105 + auVar88._16_8_ + dVar205 * dVar104; + auVar159._24_8_ = + auVar274._24_8_ + + dVar189 + auVar64._24_8_ + + auVar341._8_8_ + dStack_26c8 * auVar51._24_8_ + dStack_2508 * auVar273._24_8_ + + dVar109 + auVar88._24_8_ + dVar224 * dVar108; + _local_2540 = vblendvpd_avx(auVar85,auVar159,auVar84); + dVar187 = _DAT_181ca3fc0; + dVar205 = _UNK_181ca3fc8; + dVar189 = _UNK_181ca3fd0; + dVar224 = _UNK_181ca3fd8; + dVar80 = _DAT_181ca40c0; + dVar81 = _UNK_181ca40c8; + dVar100 = _UNK_181ca40d0; + dVar101 = _UNK_181ca40d8; + dVar104 = _DAT_181ca4080; + dVar105 = _UNK_181ca4088; + dVar108 = _UNK_181ca4090; + dVar109 = _UNK_181ca4098; + dVar56 = _DAT_181ca4000; + dVar76 = _UNK_181ca4008; + dVar77 = _UNK_181ca4010; + dVar78 = _UNK_181ca4018; + dVar204 = _DAT_181ca4100; + dVar223 = _UNK_181ca4108; + dVar225 = _UNK_181ca4110; + dVar226 = _UNK_181ca4118; + _local_24a0 = auVar66; + _local_2480 = auVar85; + _local_2460 = auVar84; + _local_2440 = auVar67; + } + if (uVar36 != 0) { + local_1398._8_4_ = uVar23; + local_1398._0_8_ = param_2 + local_1388._8_8_; + local_2740 = param_3 + local_1388._8_8_; + uVar34 = 0; + _local_2700 = _local_2540; + _local_2420 = _local_24c0; + do { + uVar23 = (uint)uVar34; + if ((uVar36 >> (uVar23 & 0x1f) & 1) != 0) { + local_2750 = (undefined8 *)(local_2500 + uVar34 * 8); + local_2748 = (undefined8 *)(local_2540 + uVar34 * 8); + uVar21 = FUN_18015b7a0(local_24c0 + uVar34 * 8); + if (uVar21 != 0) { + *(undefined8 *)(local_1398._0_8_ + uVar34 * 8) = *local_2750; + *(undefined8 *)(local_2740 + uVar34 * 8) = *local_2748; + local_2768 = &DAT_182673078; + local_2778 = param_2; + local_2770 = param_3; + local_2758 = uVar21; + FUN_1803ab5c0(uVar21,iVar25 + uVar23,param_1,param_1); + local_48 = local_2758; + *local_2750 = *(undefined8 *)(local_1398._0_8_ + uVar34 * 8); + *local_2748 = *(undefined8 *)(local_2740 + uVar34 * 8); + } + } + uVar34 = (ulonglong)(uVar23 + 1); + } while ((int)(uVar23 + 1) < 4); + uVar23 = local_1398._8_4_; + dVar187 = _DAT_181ca3fc0; + dVar205 = _UNK_181ca3fc8; + dVar189 = _UNK_181ca3fd0; + dVar224 = _UNK_181ca3fd8; + dVar80 = _DAT_181ca40c0; + dVar81 = _UNK_181ca40c8; + dVar100 = _UNK_181ca40d0; + dVar101 = _UNK_181ca40d8; + dVar104 = _DAT_181ca4080; + dVar105 = _UNK_181ca4088; + dVar108 = _UNK_181ca4090; + dVar109 = _UNK_181ca4098; + dVar56 = _DAT_181ca4000; + dVar76 = _UNK_181ca4008; + dVar77 = _UNK_181ca4010; + dVar78 = _UNK_181ca4018; + dVar204 = _DAT_181ca4100; + dVar223 = _UNK_181ca4108; + dVar225 = _UNK_181ca4110; + dVar226 = _UNK_181ca4118; + } + dVar313 = _UNK_181ca3d58; + dVar312 = _UNK_181ca3d50; + dVar311 = _UNK_181ca3d48; + dVar281 = _DAT_181ca3d40; + local_1f8 = local_1f8 + 4; + auVar66 = vmaskmovpd_avx(*(undefined1 (*) [32]) + (&DAT_181ca39c0 + (ulonglong)(uint)POPCOUNT(uVar23) * 0x20), + _local_2500); + *(undefined1 (*) [32])(local_1388._8_8_ + param_2) = auVar66; + auVar66 = vmaskmovpd_avx(*(undefined1 (*) [32]) + (&DAT_181ca3a80 + (ulonglong)(uint)POPCOUNT(uVar23) * 0x20), + _local_2540); + *(undefined1 (*) [32])(local_1388._8_8_ + param_3) = auVar66; + local_1388._8_8_ = local_1388._8_8_ + 0x20; + } while (local_1f8 < (longlong)local_1388._0_8_); + } + if ((local_110 & 2) == 0) { + uVar23 = vstmxcsr_avx(); + if ((uVar23 & 0x1f) != 0) { + vldmxcsr_avx(uVar23 & 0xffffffe0); + } + } + else { + vldmxcsr_avx(local_68); + } + if ((uVar22 ^ (ulonglong)auStack_2798) != DAT_182615970) { + } + return local_48; + } + if ((uVar22 ^ (ulonglong)auStack_2798) == DAT_182615970) { + return 0xfffffff8; + } + } +} + + + +############ FUN_ 18000bfc0 size=507 ############ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +undefined8 FUN_18000bfc0(longlong param_1,longlong param_2,longlong param_3,int param_4) + +{ + undefined1 *puVar1; + undefined1 *puVar2; + ulonglong uVar3; + undefined1 auStack_498 [32]; + undefined1 local_470 [512]; + undefined1 auStack_270 [576]; + ulonglong local_30; + + local_30 = DAT_182615970 ^ (ulonglong)auStack_498; + if (((param_3 == 0) || (param_1 == 0)) || (param_2 == 0)) { + if ((local_30 ^ (ulonglong)auStack_498) == DAT_182615970) { + return 0xfffffff8; + } + } + else if (param_4 < 1) { + if ((local_30 ^ (ulonglong)auStack_498) == DAT_182615970) { + return 0xfffffffa; + } + } + else { + uVar3 = -((ulonglong)local_470 & 0x3f) & 0x3f; + puVar1 = local_470 + uVar3; + puVar2 = auStack_270 + uVar3; + for (; 0x40 < param_4; param_4 = param_4 + -0x40) { + thunk_FUN_18014ec20(param_2,puVar1,puVar2,0x40); + FUN_180008440(param_1,puVar1,0x40); + FUN_180008440(param_1,puVar2,0x40); + FUN_1800437c0(puVar2,puVar1,param_3,0x40); + param_1 = param_1 + 0x200; + param_2 = param_2 + 0x200; + param_3 = param_3 + 0x400; + } + thunk_FUN_18014ec20(param_2,puVar1,puVar2,param_4); + FUN_180008440(param_1,puVar1,param_4); + FUN_180008440(param_1,puVar2,param_4); + FUN_1800437c0(puVar2,puVar1,param_3,param_4); + if ((local_30 ^ (ulonglong)auStack_498) == DAT_182615970) { + return 0; + } + } +} + + + +############ FUN_ 18000c5e0 size=507 ############ + +/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ + +undefined8 FUN_18000c5e0(longlong param_1,longlong param_2,longlong param_3,int param_4) + +{ + undefined1 *puVar1; + undefined1 *puVar2; + ulonglong uVar3; + undefined1 auStack_498 [32]; + undefined1 local_470 [512]; + undefined1 auStack_270 [576]; + ulonglong local_30; + + local_30 = DAT_182615970 ^ (ulonglong)auStack_498; + if (((param_3 == 0) || (param_1 == 0)) || (param_2 == 0)) { + if ((local_30 ^ (ulonglong)auStack_498) == DAT_182615970) { + return 0xfffffff8; + } + } + else if (param_4 < 1) { + if ((local_30 ^ (ulonglong)auStack_498) == DAT_182615970) { + return 0xfffffffa; + } + } + else { + uVar3 = -((ulonglong)local_470 & 0x3f) & 0x3f; + puVar1 = local_470 + uVar3; + puVar2 = auStack_270 + uVar3; + for (; 0x40 < param_4; param_4 = param_4 + -0x40) { + thunk_FUN_1801560a0(param_2,puVar1,puVar2,0x40); + FUN_180008500(param_1,puVar1,0x40); + FUN_180008500(param_1,puVar2,0x40); + FUN_180044700(puVar2,puVar1,param_3,0x40); + param_1 = param_1 + 0x200; + param_2 = param_2 + 0x200; + param_3 = param_3 + 0x400; + } + thunk_FUN_1801560a0(param_2,puVar1,puVar2,param_4); + FUN_180008500(param_1,puVar1,param_4); + FUN_180008500(param_1,puVar2,param_4); + FUN_180044700(puVar2,puVar1,param_3,param_4); + if ((local_30 ^ (ulonglong)auStack_498) == DAT_182615970) { + return 0; + } + } +} + + + +############ FUN_ 180008440 size=51 ############ + +undefined8 FUN_180008440(longlong param_1,longlong param_2,int param_3) + +{ + if ((param_1 != 0) && (param_2 != 0)) { + if (param_3 < 1) { + return 0xfffffffa; + } + FUN_18003fa20(); + return 0; + } + return 0xfffffff8; +} + + + +############ FUN_ 180008500 size=484 ############ + +undefined8 FUN_180008500(longlong param_1,ulonglong param_2,uint param_3) + +{ + double *pdVar1; + longlong lVar2; + longlong lVar3; + double *pdVar4; + double *pdVar5; + double dVar6; + double dVar7; + double dVar8; + double dVar9; + double dVar10; + double dVar11; + double dVar12; + double dVar13; + double dVar14; + double dVar15; + double dVar16; + double dVar17; + double dVar18; + double dVar19; + double dVar20; + double dVar21; + double dVar22; + double dVar23; + int iVar24; + ulonglong uVar25; + ulonglong uVar26; + uint uVar27; + ulonglong uVar28; + ulonglong uVar29; + + if ((param_1 == 0) || (param_2 == 0)) { + return 0xfffffff8; + } + if ((int)param_3 < 1) { + return 0xfffffffa; + } + if (0xf < (int)param_3) { + uVar27 = (uint)param_2 & 0x1f; + if ((param_2 & 0x1f) != 0) { + if ((param_2 & 7) != 0) goto LAB_1800086c6; + uVar27 = 0x20 - uVar27 >> 3; + } + uVar28 = (ulonglong)uVar27; + if ((int)(uVar27 + 0x10) <= (int)param_3) { + uVar25 = 0; + iVar24 = param_3 - (param_3 - uVar27 & 0xf); + if (uVar27 != 0) { + do { + *(double *)(param_2 + uVar25 * 8) = + *(double *)(param_1 + uVar25 * 8) * *(double *)(param_2 + uVar25 * 8); + uVar25 = uVar25 + 1; + } while (uVar25 < uVar28); + } + uVar26 = (ulonglong)iVar24; + do { + pdVar1 = (double *)(param_1 + uVar28 * 8); + dVar13 = pdVar1[1]; + pdVar4 = (double *)(param_1 + 0x20 + uVar28 * 8); + dVar18 = *pdVar4; + dVar19 = pdVar4[1]; + pdVar4 = (double *)(param_1 + 0x10 + uVar28 * 8); + dVar14 = *pdVar4; + dVar15 = pdVar4[1]; + pdVar4 = (double *)(param_1 + 0x30 + uVar28 * 8); + dVar20 = *pdVar4; + dVar21 = pdVar4[1]; + pdVar4 = (double *)(param_2 + uVar28 * 8); + dVar6 = pdVar4[1]; + dVar7 = pdVar4[2]; + dVar8 = pdVar4[3]; + pdVar5 = (double *)(param_2 + 0x20 + uVar28 * 8); + dVar9 = *pdVar5; + dVar10 = pdVar5[1]; + dVar11 = pdVar5[2]; + dVar12 = pdVar5[3]; + pdVar5 = (double *)(param_1 + 0x40 + uVar28 * 8); + dVar16 = *pdVar5; + dVar17 = pdVar5[1]; + pdVar5 = (double *)(param_1 + 0x60 + uVar28 * 8); + dVar22 = *pdVar5; + dVar23 = pdVar5[1]; + pdVar5 = (double *)(param_2 + uVar28 * 8); + *pdVar5 = *pdVar1 * *pdVar4; + pdVar5[1] = dVar13 * dVar6; + pdVar5[2] = dVar14 * dVar7; + pdVar5[3] = dVar15 * dVar8; + pdVar1 = (double *)(param_2 + 0x20 + uVar28 * 8); + *pdVar1 = dVar18 * dVar9; + pdVar1[1] = dVar19 * dVar10; + pdVar1[2] = dVar20 * dVar11; + pdVar1[3] = dVar21 * dVar12; + pdVar1 = (double *)(param_1 + 0x50 + uVar28 * 8); + dVar13 = *pdVar1; + dVar14 = pdVar1[1]; + pdVar1 = (double *)(param_1 + 0x70 + uVar28 * 8); + dVar15 = *pdVar1; + dVar18 = pdVar1[1]; + pdVar1 = (double *)(param_2 + 0x40 + uVar28 * 8); + dVar6 = pdVar1[1]; + dVar7 = pdVar1[2]; + dVar8 = pdVar1[3]; + pdVar4 = (double *)(param_2 + 0x60 + uVar28 * 8); + dVar9 = *pdVar4; + dVar10 = pdVar4[1]; + dVar11 = pdVar4[2]; + dVar12 = pdVar4[3]; + pdVar4 = (double *)(param_2 + 0x40 + uVar28 * 8); + *pdVar4 = dVar16 * *pdVar1; + pdVar4[1] = dVar17 * dVar6; + pdVar4[2] = dVar13 * dVar7; + pdVar4[3] = dVar14 * dVar8; + pdVar1 = (double *)(param_2 + 0x60 + uVar28 * 8); + *pdVar1 = dVar22 * dVar9; + pdVar1[1] = dVar23 * dVar10; + pdVar1[2] = dVar15 * dVar11; + pdVar1[3] = dVar18 * dVar12; + uVar28 = uVar28 + 0x10; + } while (uVar28 < uVar26); + if (param_3 < iVar24 + 1U) { + return 0; + } + uVar28 = (longlong)(int)param_3 - uVar26; + if ((longlong)uVar28 < 4) { + uVar25 = 0; + } + else { + uVar29 = 0; + lVar2 = param_2 + uVar26 * 8; + uVar25 = (ulonglong)(int)((uint)uVar28 & 0xfffffffc); + lVar3 = param_1 + uVar26 * 8; + do { + pdVar1 = (double *)(lVar3 + uVar29 * 8); + dVar9 = pdVar1[1]; + pdVar4 = (double *)(lVar3 + 0x10 + uVar29 * 8); + dVar10 = *pdVar4; + dVar11 = pdVar4[1]; + pdVar4 = (double *)(lVar2 + uVar29 * 8); + dVar6 = pdVar4[1]; + dVar7 = pdVar4[2]; + dVar8 = pdVar4[3]; + pdVar5 = (double *)(lVar2 + uVar29 * 8); + *pdVar5 = *pdVar1 * *pdVar4; + pdVar5[1] = dVar9 * dVar6; + pdVar5[2] = dVar10 * dVar7; + pdVar5[3] = dVar11 * dVar8; + uVar29 = uVar29 + 4; + } while (uVar29 < uVar25); + } + goto LAB_180008683; + } + } +LAB_1800086c6: + iVar24 = 0; + if (param_3 == 0) { + return 0; + } + uVar28 = (ulonglong)(int)param_3; + uVar25 = 0; +LAB_180008683: + if (uVar25 < uVar28) { + lVar2 = param_2 + (longlong)iVar24 * 8; + do { + *(double *)(lVar2 + uVar25 * 8) = + *(double *)(param_1 + (longlong)iVar24 * 8 + uVar25 * 8) * + *(double *)(lVar2 + uVar25 * 8); + uVar25 = uVar25 + 1; + } while (uVar25 < uVar28); + } + return 0; +} + + + +############ FUN_ 1800437c0 size=511 ############ + +undefined8 FUN_1800437c0(ulonglong param_1,ulonglong param_2,ulonglong param_3,ulonglong param_4) + +{ + undefined8 *puVar1; + undefined8 uVar2; + uint uVar3; + undefined8 uVar4; + ulonglong uVar5; + longlong lVar6; + ulonglong uVar7; + longlong lVar8; + uint uVar9; + ulonglong uVar10; + uint uVar11; + ulonglong uVar12; + int iVar13; + ulonglong uVar14; + ulonglong uVar15; + + if (param_3 == 0) { + return 0xfffffff8; + } + uVar9 = (uint)param_4; + if ((int)uVar9 < 1) { + return 0xfffffffa; + } + if (param_2 == 0) { + if (param_1 == 0) { + return 0xfffffff8; + } + if ((int)uVar9 < 7) { +code_r0x000180043cfe: + iVar13 = 1; + uVar3 = 0; + if ((param_4 >> 1 & 0x7fffffff) != 0) { + do { + uVar11 = uVar3; + uVar3 = uVar11 + 1; + lVar8 = (longlong)(int)(uVar11 * 2); + lVar6 = lVar8 * 0x10; + *(undefined8 *)(param_3 + lVar6) = *(undefined8 *)(param_1 + lVar8 * 8); + *(undefined8 *)(param_3 + 8 + lVar6) = 0; + *(undefined8 *)(param_3 + 0x10 + lVar6) = *(undefined8 *)(param_1 + 8 + lVar8 * 8); + *(undefined8 *)(param_3 + 0x18 + lVar6) = 0; + } while (uVar3 < ((uint)(param_4 >> 1) & 0x7fffffff)); + iVar13 = uVar11 + 2 + uVar3; + } + if (uVar9 <= iVar13 - 1U) { + return 0; + } + lVar6 = (longlong)iVar13 * 0x10; + *(undefined8 *)(lVar6 + -0x10 + param_3) = + *(undefined8 *)((param_1 - 8) + (longlong)iVar13 * 8); + *(undefined8 *)(lVar6 + -8 + param_3) = 0; + return 0; + } + uVar7 = param_3 + 8; + if (uVar7 < param_1) { + lVar6 = (longlong)(int)uVar9 * 8; + if ((longlong)(param_1 - uVar7) < lVar6 + 8) { + uVar4 = FUN_180043cfe(); + return uVar4; + } + } + else if ((uVar7 <= param_1) || + (lVar6 = (longlong)(int)uVar9 * 8, (longlong)(uVar7 - param_1) < lVar6)) + goto code_r0x000180043cfe; + uVar7 = (ulonglong)(int)uVar9; + if (param_3 < param_1) { + if ((longlong)(param_1 - param_3) < lVar6 + 8) { + uVar4 = FUN_180043cfe(); + return uVar4; + } + } + else if ((param_3 <= param_1) || ((longlong)(param_3 - param_1) < lVar6)) + goto code_r0x000180043cfe; + if (7 < (longlong)uVar7) { + uVar12 = param_1 & 0xf; + if ((int)uVar12 != 0) { + if ((param_1 & 7) != 0) goto LAB_180043d8d; + uVar12 = 1; + } + if ((longlong)(uVar12 + 8) <= (longlong)uVar7) { + uVar5 = 0; + uVar10 = (ulonglong)(int)(uVar9 - (uVar9 - (int)uVar12 & 7)); + uVar15 = uVar5; + if ((int)uVar12 != 0) { + do { + uVar14 = uVar15 + 1; + *(undefined8 *)(uVar5 + param_3) = *(undefined8 *)(param_1 + uVar15 * 8); + *(undefined8 *)(uVar5 + 8 + param_3) = 0; + uVar5 = uVar5 + 0x10; + uVar15 = uVar14; + } while (uVar14 < uVar12); + } + lVar6 = uVar12 << 4; + do { + puVar1 = (undefined8 *)(param_1 + uVar12 * 8); + uVar4 = puVar1[1]; + *(undefined8 *)(lVar6 + param_3) = *puVar1; + *(undefined8 *)(lVar6 + 8 + param_3) = 0; + *(undefined8 *)(lVar6 + 0x10 + param_3) = uVar4; + *(undefined8 *)(lVar6 + 0x18 + param_3) = 0; + puVar1 = (undefined8 *)(param_1 + 0x10 + uVar12 * 8); + uVar4 = puVar1[1]; + *(undefined8 *)(lVar6 + 0x20 + param_3) = *puVar1; + *(undefined8 *)(lVar6 + 0x28 + param_3) = 0; + *(undefined8 *)(lVar6 + 0x30 + param_3) = uVar4; + *(undefined8 *)(lVar6 + 0x38 + param_3) = 0; + puVar1 = (undefined8 *)(param_1 + 0x20 + uVar12 * 8); + uVar4 = puVar1[1]; + *(undefined8 *)(lVar6 + 0x40 + param_3) = *puVar1; + *(undefined8 *)(lVar6 + 0x48 + param_3) = 0; + *(undefined8 *)(lVar6 + 0x50 + param_3) = uVar4; + *(undefined8 *)(lVar6 + 0x58 + param_3) = 0; + puVar1 = (undefined8 *)(param_1 + 0x30 + uVar12 * 8); + uVar4 = puVar1[1]; + uVar12 = uVar12 + 8; + *(undefined8 *)(lVar6 + 0x60 + param_3) = *puVar1; + *(undefined8 *)(lVar6 + 0x68 + param_3) = 0; + *(undefined8 *)(lVar6 + 0x70 + param_3) = uVar4; + *(undefined8 *)(lVar6 + 0x78 + param_3) = 0; + lVar6 = lVar6 + 0x80; + } while (uVar12 < uVar10); + goto LAB_180043cb2; + } + } +LAB_180043d8d: + uVar10 = 0; +LAB_180043cb2: + lVar6 = uVar10 << 4; + for (; uVar10 < uVar7; uVar10 = uVar10 + 1) { + *(undefined8 *)(lVar6 + param_3) = *(undefined8 *)(param_1 + uVar10 * 8); + *(undefined8 *)(lVar6 + 8 + param_3) = 0; + lVar6 = lVar6 + 0x10; + } + return 0; + } + if (param_1 != 0) { + FUN_181aa8910(); + return 0; + } + if ((int)uVar9 < 7) { +code_r0x000180043a1e: + iVar13 = 1; + uVar3 = 0; + if ((param_4 >> 1 & 0x7fffffff) != 0) { + do { + uVar11 = uVar3; + uVar3 = uVar11 + 1; + lVar8 = (longlong)(int)(uVar11 * 2); + lVar6 = lVar8 * 0x10; + *(undefined8 *)(param_3 + lVar6) = 0; + *(undefined8 *)(param_3 + 8 + lVar6) = *(undefined8 *)(param_2 + lVar8 * 8); + *(undefined8 *)(param_3 + 0x10 + lVar6) = 0; + *(undefined8 *)(param_3 + 0x18 + lVar6) = *(undefined8 *)(param_2 + 8 + lVar8 * 8); + } while (uVar3 < ((uint)(param_4 >> 1) & 0x7fffffff)); + iVar13 = uVar11 + 2 + uVar3; + } + if (uVar9 <= iVar13 - 1U) { + return 0; + } + lVar6 = (longlong)iVar13 * 0x10; + *(undefined8 *)(lVar6 + -0x10 + param_3) = 0; + *(undefined8 *)(lVar6 + -8 + param_3) = *(undefined8 *)((param_2 - 8) + (longlong)iVar13 * 8); + return 0; + } + uVar7 = param_3 + 8; + if (uVar7 < param_2) { + lVar6 = (longlong)(int)uVar9 * 8; + if ((longlong)(param_2 - uVar7) < lVar6 + 8) { + uVar4 = FUN_180043a1e(); + return uVar4; + } + } + else if ((uVar7 <= param_2) || + (lVar6 = (longlong)(int)uVar9 * 8, (longlong)(uVar7 - param_2) < lVar6)) + goto code_r0x000180043a1e; + uVar7 = (ulonglong)(int)uVar9; + if (param_3 < param_2) { + if ((longlong)(param_2 - param_3) < lVar6 + 8) { + uVar4 = FUN_180043a1e(); + return uVar4; + } + } + else if ((param_3 <= param_2) || ((longlong)(param_3 - param_2) < lVar6)) + goto code_r0x000180043a1e; + if (7 < (longlong)uVar7) { + uVar3 = (uint)param_2 & 0xf; + if ((param_2 & 0xf) != 0) { + if ((param_2 & 7) != 0) goto LAB_180043aae; + uVar3 = 1; + } + uVar12 = (ulonglong)uVar3; + if ((longlong)(uVar12 + 8) <= (longlong)uVar7) { + uVar5 = 0; + uVar10 = (ulonglong)(int)(uVar9 - (uVar9 - uVar3 & 7)); + uVar15 = uVar5; + if (uVar3 != 0) { + do { + *(undefined8 *)(uVar5 + param_3) = 0; + uVar14 = uVar15 + 1; + *(undefined8 *)(uVar5 + 8 + param_3) = *(undefined8 *)(param_2 + uVar15 * 8); + uVar5 = uVar5 + 0x10; + uVar15 = uVar14; + } while (uVar14 < uVar12); + } + lVar6 = uVar12 << 4; + do { + puVar1 = (undefined8 *)(param_2 + uVar12 * 8); + uVar4 = *puVar1; + uVar2 = puVar1[1]; + *(undefined8 *)(lVar6 + param_3) = 0; + *(undefined8 *)(lVar6 + 8 + param_3) = uVar4; + *(undefined8 *)(lVar6 + 0x10 + param_3) = 0; + *(undefined8 *)(lVar6 + 0x18 + param_3) = uVar2; + puVar1 = (undefined8 *)(param_2 + 0x10 + uVar12 * 8); + uVar4 = *puVar1; + uVar2 = puVar1[1]; + *(undefined8 *)(lVar6 + 0x20 + param_3) = 0; + *(undefined8 *)(lVar6 + 0x28 + param_3) = uVar4; + *(undefined8 *)(lVar6 + 0x30 + param_3) = 0; + *(undefined8 *)(lVar6 + 0x38 + param_3) = uVar2; + puVar1 = (undefined8 *)(param_2 + 0x20 + uVar12 * 8); + uVar4 = *puVar1; + uVar2 = puVar1[1]; + *(undefined8 *)(lVar6 + 0x40 + param_3) = 0; + *(undefined8 *)(lVar6 + 0x48 + param_3) = uVar4; + *(undefined8 *)(lVar6 + 0x50 + param_3) = 0; + *(undefined8 *)(lVar6 + 0x58 + param_3) = uVar2; + puVar1 = (undefined8 *)(param_2 + 0x30 + uVar12 * 8); + uVar4 = *puVar1; + uVar2 = puVar1[1]; + uVar12 = uVar12 + 8; + *(undefined8 *)(lVar6 + 0x60 + param_3) = 0; + *(undefined8 *)(lVar6 + 0x68 + param_3) = uVar4; + *(undefined8 *)(lVar6 + 0x70 + param_3) = 0; + *(undefined8 *)(lVar6 + 0x78 + param_3) = uVar2; + lVar6 = lVar6 + 0x80; + } while (uVar12 < uVar10); + goto LAB_1800439d5; + } + } +LAB_180043aae: + uVar10 = 0; +LAB_1800439d5: + lVar6 = uVar10 << 4; + for (; uVar10 < uVar7; uVar10 = uVar10 + 1) { + *(undefined8 *)(lVar6 + param_3) = 0; + *(undefined8 *)(lVar6 + 8 + param_3) = *(undefined8 *)(param_2 + uVar10 * 8); + lVar6 = lVar6 + 0x10; + } + return 0; +} + + + +############ FUN_ 180044700 size=539 ############ + +undefined8 FUN_180044700(ulonglong param_1,ulonglong param_2,ulonglong param_3,ulonglong param_4) + +{ + longlong lVar1; + undefined1 auVar2 [32]; + undefined1 auVar3 [32]; + undefined1 auVar4 [32]; + undefined1 auVar5 [32]; + undefined1 auVar6 [32]; + bool bVar7; + undefined8 uVar8; + int iVar9; + ulonglong uVar10; + uint uVar11; + longlong lVar12; + uint uVar13; + ulonglong uVar14; + uint uVar15; + ulonglong uVar16; + longlong lVar17; + undefined1 auVar18 [32]; + + if (param_3 == 0) { + return 0xfffffff8; + } + uVar13 = (uint)param_4; + if ((int)uVar13 < 1) { + return 0xfffffffa; + } + if (param_2 == 0) { + if (param_1 == 0) { + return 0xfffffff8; + } + if ((int)uVar13 < 7) { +code_r0x000180044e3e: + iVar9 = 1; + uVar15 = 0; + if ((param_4 >> 1 & 0x7fffffff) != 0) { + do { + uVar11 = uVar15; + uVar15 = uVar11 + 1; + lVar17 = (longlong)(int)(uVar11 * 2); + lVar12 = lVar17 * 0x10; + *(undefined8 *)(param_3 + lVar12) = *(undefined8 *)(param_1 + lVar17 * 8); + *(undefined8 *)(param_3 + 8 + lVar12) = 0; + *(undefined8 *)(param_3 + 0x10 + lVar12) = *(undefined8 *)(param_1 + 8 + lVar17 * 8); + *(undefined8 *)(param_3 + 0x18 + lVar12) = 0; + } while (uVar15 < ((uint)(param_4 >> 1) & 0x7fffffff)); + iVar9 = uVar11 + 2 + uVar15; + } + if (uVar13 <= iVar9 - 1U) { + return 0; + } + lVar12 = (longlong)iVar9 * 0x10; + *(undefined8 *)(lVar12 + -0x10 + param_3) = + *(undefined8 *)((param_1 - 8) + (longlong)iVar9 * 8); + *(undefined8 *)(lVar12 + -8 + param_3) = 0; + return 0; + } + uVar16 = param_3 + 8; + if (uVar16 < param_1) { + lVar12 = (longlong)(int)uVar13 * 8; + if ((longlong)(param_1 - uVar16) < lVar12 + 8) { + uVar8 = FUN_180044e3e(); + return uVar8; + } + } + else if ((uVar16 <= param_1) || + (lVar12 = (longlong)(int)uVar13 * 8, (longlong)(uVar16 - param_1) < lVar12)) + goto code_r0x000180044e3e; + if (param_3 < param_1) { + if ((longlong)(param_1 - param_3) < lVar12 + 8) { + uVar8 = FUN_180044e3e(); + return uVar8; + } + } + else if ((param_3 <= param_1) || ((longlong)(param_3 - param_1) < lVar12)) + goto code_r0x000180044e3e; + bVar7 = false; + if (0xf < (int)uVar13) { + uVar15 = (uint)param_1 & 0x1f; + if ((param_1 & 0x1f) != 0) { + if ((param_1 & 7) != 0) goto LAB_180044ec5; + uVar15 = 0x20 - uVar15 >> 3; + } + uVar16 = (ulonglong)uVar15; + if ((int)(uVar15 + 0x10) <= (int)uVar13) { + uVar10 = 0; + lVar12 = 0; + iVar9 = uVar13 - (uVar13 - uVar15 & 0xf); + if (uVar15 != 0) { + do { + lVar17 = uVar10 * 8; + uVar10 = uVar10 + 1; + *(undefined8 *)(lVar12 + param_3) = *(undefined8 *)(param_1 + lVar17); + *(undefined8 *)(lVar12 + 8 + param_3) = 0; + lVar12 = lVar12 + 0x10; + } while (uVar10 < uVar16); + } + auVar18 = ZEXT1632(ZEXT816(0)); + lVar12 = uVar16 << 4; + do { + auVar2 = *(undefined1 (*) [32])(param_1 + uVar16 * 8); + auVar3 = *(undefined1 (*) [32])(param_1 + 0x20 + uVar16 * 8); + auVar4 = vunpcklpd_avx(auVar2,auVar18); + auVar2 = vunpckhpd_avx(auVar2,auVar18); + auVar5 = vperm2f128_avx(auVar4,auVar2,0x20); + auVar6 = vperm2f128_avx(auVar4,auVar2,0x31); + auVar4 = vunpcklpd_avx(auVar3,auVar18); + auVar2 = vunpckhpd_avx(auVar3,auVar18); + auVar3 = vperm2f128_avx(auVar4,auVar2,0x20); + *(undefined1 (*) [16])(lVar12 + param_3) = auVar5._0_16_; + *(undefined1 (*) [16])(lVar12 + 0x10 + param_3) = auVar5._16_16_; + auVar2 = vperm2f128_avx(auVar4,auVar2,0x31); + *(undefined1 (*) [16])(lVar12 + 0x30 + param_3) = auVar6._16_16_; + *(undefined1 (*) [16])(lVar12 + 0x50 + param_3) = auVar3._16_16_; + *(undefined1 (*) [16])(lVar12 + 0x70 + param_3) = auVar2._16_16_; + *(undefined1 (*) [16])(lVar12 + 0x20 + param_3) = auVar6._0_16_; + *(undefined1 (*) [16])(lVar12 + 0x40 + param_3) = auVar3._0_16_; + *(undefined1 (*) [16])(lVar12 + 0x60 + param_3) = auVar2._0_16_; + auVar2 = *(undefined1 (*) [32])(param_1 + 0x40 + uVar16 * 8); + auVar3 = *(undefined1 (*) [32])(param_1 + 0x60 + uVar16 * 8); + auVar4 = vunpcklpd_avx(auVar2,auVar18); + uVar16 = uVar16 + 0x10; + auVar2 = vunpckhpd_avx(auVar2,auVar18); + auVar5 = vperm2f128_avx(auVar4,auVar2,0x20); + auVar6 = vperm2f128_avx(auVar4,auVar2,0x31); + auVar4 = vunpcklpd_avx(auVar3,auVar18); + auVar2 = vunpckhpd_avx(auVar3,auVar18); + auVar3 = vperm2f128_avx(auVar4,auVar2,0x20); + auVar2 = vperm2f128_avx(auVar4,auVar2,0x31); + *(undefined1 (*) [16])(lVar12 + 0x80 + param_3) = auVar5._0_16_; + *(undefined1 (*) [16])(lVar12 + 0xa0 + param_3) = auVar6._0_16_; + *(undefined1 (*) [16])(lVar12 + 0xc0 + param_3) = auVar3._0_16_; + *(undefined1 (*) [16])(lVar12 + 0xe0 + param_3) = auVar2._0_16_; + *(undefined1 (*) [16])(lVar12 + 0x90 + param_3) = auVar5._16_16_; + *(undefined1 (*) [16])(lVar12 + 0xb0 + param_3) = auVar6._16_16_; + *(undefined1 (*) [16])(lVar12 + 0xd0 + param_3) = auVar3._16_16_; + *(undefined1 (*) [16])(lVar12 + 0xf0 + param_3) = auVar2._16_16_; + lVar12 = lVar12 + 0x100; + } while (uVar16 < (ulonglong)(longlong)iVar9); + goto LAB_180044d4f; + } + } +LAB_180044ec5: + bVar7 = true; + iVar9 = 0; +LAB_180044d4f: + if (iVar9 + 1U <= uVar13) { + uVar16 = (longlong)(int)uVar13 - (longlong)iVar9; + if ((bVar7) || ((longlong)uVar16 < 4)) { + uVar8 = FUN_180044de9(param_1,uVar16,param_3,0); + return uVar8; + } + uVar10 = 0; + uVar14 = (ulonglong)(int)((uint)uVar16 & 0xfffffffc); + lVar12 = (longlong)iVar9 * 0x10 + param_3; + lVar17 = 0; + do { + auVar18 = *(undefined1 (*) [32])(param_1 + (longlong)iVar9 * 8 + uVar10 * 8); + uVar10 = uVar10 + 4; + auVar2 = vunpcklpd_avx(auVar18,ZEXT1632(ZEXT816(0))); + auVar18 = vunpckhpd_avx(auVar18,ZEXT1632(ZEXT816(0))); + auVar3 = vperm2f128_avx(auVar2,auVar18,0x20); + auVar18 = vperm2f128_avx(auVar2,auVar18,0x31); + *(undefined1 (*) [16])(lVar17 + lVar12) = auVar3._0_16_; + *(undefined1 (*) [16])(lVar17 + 0x20 + lVar12) = auVar18._0_16_; + *(undefined1 (*) [16])(lVar17 + 0x10 + lVar12) = auVar3._16_16_; + *(undefined1 (*) [16])(lVar17 + 0x30 + lVar12) = auVar18._16_16_; + lVar17 = lVar17 + 0x40; + } while (uVar10 < uVar14); + lVar12 = uVar14 << 4; + if (uVar14 < uVar16) { + lVar17 = param_3 + (longlong)iVar9 * 0x10; + do { + lVar1 = uVar14 * 8; + uVar14 = uVar14 + 1; + *(undefined8 *)(lVar12 + lVar17) = *(undefined8 *)(param_1 + (longlong)iVar9 * 8 + lVar1); + *(undefined8 *)(lVar12 + 8 + lVar17) = 0; + lVar12 = lVar12 + 0x10; + } while (uVar14 < uVar16); + } + } + return 0; + } + if (param_1 != 0) { + FUN_181a62280(); + return 0; + } + if ((int)uVar13 < 7) { +code_r0x000180044a5e: + iVar9 = 1; + uVar15 = 0; + if ((param_4 >> 1 & 0x7fffffff) != 0) { + do { + uVar11 = uVar15; + uVar15 = uVar11 + 1; + lVar17 = (longlong)(int)(uVar11 * 2); + lVar12 = lVar17 * 0x10; + *(undefined8 *)(param_3 + lVar12) = 0; + *(undefined8 *)(param_3 + 8 + lVar12) = *(undefined8 *)(param_2 + lVar17 * 8); + *(undefined8 *)(param_3 + 0x10 + lVar12) = 0; + *(undefined8 *)(param_3 + 0x18 + lVar12) = *(undefined8 *)(param_2 + 8 + lVar17 * 8); + } while (uVar15 < ((uint)(param_4 >> 1) & 0x7fffffff)); + iVar9 = uVar11 + 2 + uVar15; + } + if (uVar13 <= iVar9 - 1U) { + return 0; + } + lVar12 = (longlong)iVar9 * 0x10; + *(undefined8 *)(lVar12 + -0x10 + param_3) = 0; + *(undefined8 *)(lVar12 + -8 + param_3) = *(undefined8 *)((param_2 - 8) + (longlong)iVar9 * 8); + return 0; + } + uVar16 = param_3 + 8; + if (uVar16 < param_2) { + lVar12 = (longlong)(int)uVar13 * 8; + if ((longlong)(param_2 - uVar16) < lVar12 + 8) { + uVar8 = FUN_180044a5e(); + return uVar8; + } + } + else if ((uVar16 <= param_2) || + (lVar12 = (longlong)(int)uVar13 * 8, (longlong)(uVar16 - param_2) < lVar12)) + goto code_r0x000180044a5e; + if (param_3 < param_2) { + if ((longlong)(param_2 - param_3) < lVar12 + 8) { + uVar8 = FUN_180044a5e(); + return uVar8; + } + } + else if ((param_3 <= param_2) || ((longlong)(param_3 - param_2) < lVar12)) + goto code_r0x000180044a5e; + bVar7 = false; + if (0xf < (int)uVar13) { + uVar15 = (uint)param_2 & 0x1f; + if ((param_2 & 0x1f) != 0) { + if ((param_2 & 7) != 0) goto LAB_180044ae6; + uVar15 = 0x20 - uVar15 >> 3; + } + uVar16 = (ulonglong)uVar15; + if ((int)(uVar15 + 0x10) <= (int)uVar13) { + uVar10 = 0; + lVar12 = 0; + iVar9 = uVar13 - (uVar13 - uVar15 & 0xf); + if (uVar15 != 0) { + do { + *(undefined8 *)(lVar12 + param_3) = 0; + lVar17 = uVar10 * 8; + uVar10 = uVar10 + 1; + *(undefined8 *)(lVar12 + 8 + param_3) = *(undefined8 *)(param_2 + lVar17); + lVar12 = lVar12 + 0x10; + } while (uVar10 < uVar16); + } + auVar18 = ZEXT1632(ZEXT816(0)); + lVar12 = uVar16 << 4; + do { + auVar2 = *(undefined1 (*) [32])(param_2 + uVar16 * 8); + auVar3 = *(undefined1 (*) [32])(param_2 + 0x20 + uVar16 * 8); + auVar4 = vunpcklpd_avx(auVar18,auVar2); + auVar2 = vunpckhpd_avx(auVar18,auVar2); + auVar5 = vperm2f128_avx(auVar4,auVar2,0x20); + auVar6 = vperm2f128_avx(auVar4,auVar2,0x31); + auVar4 = vunpcklpd_avx(auVar18,auVar3); + auVar2 = vunpckhpd_avx(auVar18,auVar3); + auVar3 = vperm2f128_avx(auVar4,auVar2,0x20); + *(undefined1 (*) [16])(lVar12 + param_3) = auVar5._0_16_; + *(undefined1 (*) [16])(lVar12 + 0x10 + param_3) = auVar5._16_16_; + auVar2 = vperm2f128_avx(auVar4,auVar2,0x31); + *(undefined1 (*) [16])(lVar12 + 0x30 + param_3) = auVar6._16_16_; + *(undefined1 (*) [16])(lVar12 + 0x50 + param_3) = auVar3._16_16_; + *(undefined1 (*) [16])(lVar12 + 0x70 + param_3) = auVar2._16_16_; + *(undefined1 (*) [16])(lVar12 + 0x20 + param_3) = auVar6._0_16_; + *(undefined1 (*) [16])(lVar12 + 0x40 + param_3) = auVar3._0_16_; + *(undefined1 (*) [16])(lVar12 + 0x60 + param_3) = auVar2._0_16_; + auVar2 = *(undefined1 (*) [32])(param_2 + 0x40 + uVar16 * 8); + auVar3 = *(undefined1 (*) [32])(param_2 + 0x60 + uVar16 * 8); + auVar4 = vunpcklpd_avx(auVar18,auVar2); + uVar16 = uVar16 + 0x10; + auVar2 = vunpckhpd_avx(auVar18,auVar2); + auVar5 = vperm2f128_avx(auVar4,auVar2,0x20); + auVar6 = vperm2f128_avx(auVar4,auVar2,0x31); + auVar4 = vunpcklpd_avx(auVar18,auVar3); + auVar2 = vunpckhpd_avx(auVar18,auVar3); + auVar3 = vperm2f128_avx(auVar4,auVar2,0x20); + auVar2 = vperm2f128_avx(auVar4,auVar2,0x31); + *(undefined1 (*) [16])(lVar12 + 0x80 + param_3) = auVar5._0_16_; + *(undefined1 (*) [16])(lVar12 + 0xa0 + param_3) = auVar6._0_16_; + *(undefined1 (*) [16])(lVar12 + 0xc0 + param_3) = auVar3._0_16_; + *(undefined1 (*) [16])(lVar12 + 0xe0 + param_3) = auVar2._0_16_; + *(undefined1 (*) [16])(lVar12 + 0x90 + param_3) = auVar5._16_16_; + *(undefined1 (*) [16])(lVar12 + 0xb0 + param_3) = auVar6._16_16_; + *(undefined1 (*) [16])(lVar12 + 0xd0 + param_3) = auVar3._16_16_; + *(undefined1 (*) [16])(lVar12 + 0xf0 + param_3) = auVar2._16_16_; + lVar12 = lVar12 + 0x100; + } while (uVar16 < (ulonglong)(longlong)iVar9); + goto LAB_18004496f; + } + } +LAB_180044ae6: + bVar7 = true; + iVar9 = 0; +LAB_18004496f: + if (iVar9 + 1U <= uVar13) { + uVar16 = (longlong)(int)uVar13 - (longlong)iVar9; + if ((bVar7) || ((longlong)uVar16 < 4)) { + uVar8 = FUN_180044a09((longlong)iVar9,param_2,param_3,0); + return uVar8; + } + uVar10 = 0; + uVar14 = (ulonglong)(int)((uint)uVar16 & 0xfffffffc); + lVar12 = (longlong)iVar9 * 0x10 + param_3; + lVar17 = 0; + do { + auVar18 = *(undefined1 (*) [32])(param_2 + (longlong)iVar9 * 8 + uVar10 * 8); + uVar10 = uVar10 + 4; + auVar2 = vunpcklpd_avx(ZEXT1632(ZEXT816(0)),auVar18); + auVar18 = vunpckhpd_avx(ZEXT1632(ZEXT816(0)),auVar18); + auVar3 = vperm2f128_avx(auVar2,auVar18,0x20); + auVar18 = vperm2f128_avx(auVar2,auVar18,0x31); + *(undefined1 (*) [16])(lVar17 + lVar12) = auVar3._0_16_; + *(undefined1 (*) [16])(lVar17 + 0x20 + lVar12) = auVar18._0_16_; + *(undefined1 (*) [16])(lVar17 + 0x10 + lVar12) = auVar3._16_16_; + *(undefined1 (*) [16])(lVar17 + 0x30 + lVar12) = auVar18._16_16_; + lVar17 = lVar17 + 0x40; + } while (uVar10 < uVar14); + lVar12 = uVar14 << 4; + if (uVar14 < uVar16) { + lVar17 = param_3 + (longlong)iVar9 * 0x10; + do { + *(undefined8 *)(lVar12 + lVar17) = 0; + lVar1 = uVar14 * 8; + uVar14 = uVar14 + 1; + *(undefined8 *)(lVar12 + 8 + lVar17) = + *(undefined8 *)(param_2 + (longlong)iVar9 * 8 + lVar1); + lVar12 = lVar12 + 0x10; + } while (uVar14 < uVar16); + } + } + return 0; +} + + + +############ FUN_ 1800025e0 size=449 ############ + +undefined8 FUN_1800025e0(longlong param_1,longlong param_2,ulonglong param_3,uint param_4) + +{ + double *pdVar1; + double *pdVar2; + double *pdVar3; + double *pdVar4; + double dVar5; + double dVar6; + double dVar7; + double dVar8; + double dVar9; + double dVar10; + double dVar11; + double dVar12; + double dVar13; + double dVar14; + double dVar15; + double dVar16; + double dVar17; + double dVar18; + double dVar19; + double dVar20; + double dVar21; + double dVar22; + double dVar23; + double dVar24; + double dVar25; + double dVar26; + double dVar27; + double dVar28; + double dVar29; + double dVar30; + double dVar31; + double dVar32; + double dVar33; + double dVar34; + ulonglong uVar35; + uint uVar36; + ulonglong uVar37; + ulonglong uVar38; + int iVar39; + longlong lVar40; + + if (((param_1 == 0) || (param_2 == 0)) || (param_3 == 0)) { + return 0xfffffff8; + } + if ((int)param_4 < 1) { + return 0xfffffffa; + } + if (0xf < (int)param_4) { + uVar36 = (uint)param_3 & 0x1f; + if ((param_3 & 0x1f) != 0) { + if ((param_3 & 7) != 0) goto LAB_180002785; + uVar36 = 0x20 - uVar36 >> 3; + } + uVar37 = (ulonglong)uVar36; + if ((int)(uVar36 + 0x10) <= (int)param_4) { + uVar35 = 0; + iVar39 = param_4 - (param_4 - uVar36 & 0xf); + if (uVar36 != 0) { + do { + *(double *)(param_3 + uVar35 * 8) = + *(double *)(param_1 + uVar35 * 8) + *(double *)(param_2 + uVar35 * 8); + uVar35 = uVar35 + 1; + } while (uVar35 < uVar37); + } + do { + pdVar1 = (double *)(param_1 + uVar37 * 8); + dVar5 = pdVar1[1]; + dVar6 = pdVar1[2]; + dVar7 = pdVar1[3]; + pdVar2 = (double *)(param_3 + uVar37 * 8); + pdVar3 = (double *)(param_1 + 0x20 + uVar37 * 8); + dVar8 = *pdVar3; + dVar9 = pdVar3[1]; + dVar10 = pdVar3[2]; + dVar11 = pdVar3[3]; + pdVar3 = (double *)(param_1 + 0x40 + uVar37 * 8); + dVar12 = *pdVar3; + dVar13 = pdVar3[1]; + dVar14 = pdVar3[2]; + dVar15 = pdVar3[3]; + pdVar3 = (double *)(param_1 + 0x60 + uVar37 * 8); + dVar16 = *pdVar3; + dVar17 = pdVar3[1]; + dVar18 = pdVar3[2]; + dVar19 = pdVar3[3]; + pdVar3 = (double *)(param_2 + uVar37 * 8); + dVar20 = pdVar3[1]; + dVar21 = pdVar3[2]; + dVar22 = pdVar3[3]; + pdVar4 = (double *)(param_2 + 0x20 + uVar37 * 8); + dVar23 = *pdVar4; + dVar24 = pdVar4[1]; + dVar25 = pdVar4[2]; + dVar26 = pdVar4[3]; + pdVar4 = (double *)(param_2 + 0x40 + uVar37 * 8); + dVar27 = *pdVar4; + dVar28 = pdVar4[1]; + dVar29 = pdVar4[2]; + dVar30 = pdVar4[3]; + pdVar4 = (double *)(param_2 + 0x60 + uVar37 * 8); + dVar31 = *pdVar4; + dVar32 = pdVar4[1]; + dVar33 = pdVar4[2]; + dVar34 = pdVar4[3]; + *pdVar2 = *pdVar1 + *pdVar3; + pdVar2[1] = dVar5 + dVar20; + pdVar2[2] = dVar6 + dVar21; + pdVar2[3] = dVar7 + dVar22; + pdVar2[4] = dVar8 + dVar23; + pdVar2[5] = dVar9 + dVar24; + pdVar2[6] = dVar10 + dVar25; + pdVar2[7] = dVar11 + dVar26; + pdVar2[8] = dVar12 + dVar27; + pdVar2[9] = dVar13 + dVar28; + pdVar2[10] = dVar14 + dVar29; + pdVar2[0xb] = dVar15 + dVar30; + pdVar2[0xc] = dVar16 + dVar31; + pdVar2[0xd] = dVar17 + dVar32; + pdVar2[0xe] = dVar18 + dVar33; + pdVar2[0xf] = dVar19 + dVar34; + uVar37 = uVar37 + 0x10; + } while (uVar37 < (ulonglong)(longlong)iVar39); + goto LAB_1800026d2; + } + } +LAB_180002785: + iVar39 = 0; +LAB_1800026d2: + if (iVar39 + 1U <= param_4) { + uVar37 = (longlong)(int)param_4 - (longlong)iVar39; + if ((longlong)uVar37 < 4) { + uVar35 = 0; + } + else { + lVar40 = (longlong)iVar39; + uVar38 = 0; + uVar35 = (ulonglong)(int)((uint)uVar37 & 0xfffffffc); + do { + pdVar1 = (double *)(param_1 + lVar40 * 8 + uVar38 * 8); + dVar5 = pdVar1[1]; + dVar6 = pdVar1[2]; + dVar7 = pdVar1[3]; + pdVar2 = (double *)(param_2 + lVar40 * 8 + uVar38 * 8); + dVar8 = pdVar2[1]; + dVar9 = pdVar2[2]; + dVar10 = pdVar2[3]; + pdVar3 = (double *)(param_3 + lVar40 * 8 + uVar38 * 8); + *pdVar3 = *pdVar1 + *pdVar2; + pdVar3[1] = dVar5 + dVar8; + pdVar3[2] = dVar6 + dVar9; + pdVar3[3] = dVar7 + dVar10; + uVar38 = uVar38 + 4; + } while (uVar38 < uVar35); + } + if (uVar35 < uVar37) { + lVar40 = (longlong)iVar39; + do { + *(double *)(param_3 + lVar40 * 8 + uVar35 * 8) = + *(double *)(param_1 + lVar40 * 8 + uVar35 * 8) + + *(double *)(param_2 + lVar40 * 8 + uVar35 * 8); + uVar35 = uVar35 + 1; + } while (uVar35 < uVar37); + } + } + return 0; +} + + + +############ FUN_ 180529610 size=1154 ############ + +void .?AV?$SpectralProcessor@M$07$01@@::vtbl___AV__SpectralProcessor_M_07_01__ + (longlong *param_1,longlong *param_2,ulonglong param_3) + +{ + int iVar1; + int iVar2; + longlong lVar3; + ulonglong uVar4; + uint uVar5; + int iVar6; + ulonglong uVar7; + ulonglong uVar8; + ulonglong uVar9; + longlong *plVar10; + longlong *plVar11; + code *pcVar12; + + uVar4 = 0; + uVar9 = uVar4; + if (0 < (int)param_1[6]) { + param_2 = param_1 + 0x3b; + do { + param_2[-3] = 0; + uVar8 = uVar4; + uVar7 = uVar4; + if (0 < (int)*param_2) { + do { + *(undefined4 *)(uVar7 + param_2[-1]) = 0; + uVar5 = (int)uVar8 + 1; + uVar8 = (ulonglong)uVar5; + uVar7 = uVar7 + 4; + } while ((int)uVar5 < (int)*param_2); + } + param_2[1] = param_2[-1]; + param_2[0xd] = 0; + uVar8 = uVar4; + uVar7 = uVar4; + if (0 < (int)param_2[0x10]) { + do { + *(undefined4 *)(uVar8 + param_2[0xf]) = 0; + uVar5 = (int)uVar7 + 1; + uVar8 = uVar8 + 4; + uVar7 = (ulonglong)uVar5; + } while ((int)uVar5 < (int)param_2[0x10]); + } + param_2[0x11] = param_2[0xf]; + param_2[0x1d] = 0; + uVar8 = uVar4; + param_3 = uVar4; + if (0 < (int)param_2[0x20]) { + do { + *(undefined4 *)(uVar8 + param_2[0x1f]) = 0; + uVar5 = (int)param_3 + 1; + param_3 = (ulonglong)uVar5; + uVar8 = uVar8 + 4; + } while ((int)uVar5 < (int)param_2[0x20]); + } + param_2[0x21] = param_2[0x1f]; + uVar5 = (int)uVar9 + 1; + uVar9 = (ulonglong)uVar5; + param_2 = param_2 + 8; + } while ((int)uVar5 < (int)param_1[6]); + } + FUN_18052e130(param_1,param_2,param_3,uVar9,0xfffffffffffffffe); + iVar1 = (int)param_1[0x34]; + uVar9 = (longlong)iVar1 % (longlong)*(int *)((longlong)param_1 + 0x1ac) & 0xffffffff; + *(int *)(param_1 + 0x79) = iVar1 / *(int *)((longlong)param_1 + 0x1ac); + *(int *)(param_1 + 0x35) = (int)param_1[0x36] * iVar1; + if (0 < (int)param_1[6]) { + plVar10 = param_1 + 0x3b; + uVar8 = uVar4; + do { + iVar2 = FUN_1813bbf80(0x10000,uVar9); + if ((int)plVar10[-2] != iVar2) { + FUN_18052e190(plVar10 + -1,iVar2,0); + } + *(int *)(plVar10 + -2) = iVar2; + plVar10[-3] = 0; + uVar9 = uVar4; + uVar7 = uVar4; + if (0 < (int)*plVar10) { + do { + *(undefined4 *)(uVar9 + plVar10[-1]) = 0; + uVar5 = (int)uVar7 + 1; + uVar9 = uVar9 + 4; + uVar7 = (ulonglong)uVar5; + } while ((int)uVar5 < (int)*plVar10); + } + plVar10[1] = plVar10[-1]; + uVar5 = (int)param_1[0x34] + (int)plVar10[-3] & (int)plVar10[-2] - 1U; + if ((int)uVar5 < 0) { + uVar5 = uVar5 + (int)plVar10[-2]; + } + *(uint *)(plVar10 + -3) = uVar5; + iVar2 = FUN_1813bbf80(0x10000); + if ((int)plVar10[0xe] != iVar2) { + FUN_18052e190(plVar10 + 0xf,iVar2,0); + } + *(int *)(plVar10 + 0xe) = iVar2; + plVar10[0xd] = 0; + uVar9 = uVar4; + uVar7 = uVar4; + if (0 < (int)plVar10[0x10]) { + do { + *(undefined4 *)(uVar9 + plVar10[0xf]) = 0; + uVar5 = (int)uVar7 + 1; + uVar9 = uVar9 + 4; + uVar7 = (ulonglong)uVar5; + } while ((int)uVar5 < (int)plVar10[0x10]); + } + plVar10[0x11] = plVar10[0xf]; + uVar5 = (int)param_1[0x34] + (int)plVar10[0xd] & (int)plVar10[0xe] - 1U; + if ((int)uVar5 < 0) { + uVar5 = uVar5 + (int)plVar10[0xe]; + } + *(uint *)(plVar10 + 0xd) = uVar5; + iVar2 = FUN_1813bbf80(0x10000); + if ((int)plVar10[0x1e] != iVar2) { + FUN_18052e190(plVar10 + 0x1f,iVar2,0); + } + *(int *)(plVar10 + 0x1e) = iVar2; + plVar10[0x1d] = 0; + uVar7 = uVar4; + uVar9 = uVar4; + if (0 < (int)plVar10[0x20]) { + do { + *(undefined4 *)(uVar7 + plVar10[0x1f]) = 0; + uVar5 = (int)uVar9 + 1; + uVar9 = (ulonglong)uVar5; + uVar7 = uVar7 + 4; + } while ((int)uVar5 < (int)plVar10[0x20]); + } + plVar10[0x21] = plVar10[0x1f]; + uVar5 = (int)uVar8 + 1; + uVar8 = (ulonglong)uVar5; + plVar10 = plVar10 + 8; + } while ((int)uVar5 < (int)param_1[6]); + } + if (0 < (int)param_1[6]) { + iVar2 = iVar1 * 0x10; + plVar10 = param_1 + 0x6c; + uVar9 = uVar4; + do { + if ((int)plVar10[1] == iVar2) { +LAB_18052990b: + uVar8 = uVar4; + uVar7 = uVar4; + if (0 < (int)plVar10[1]) { + do { + *(undefined4 *)(uVar8 + *plVar10) = 0; + uVar5 = (int)uVar7 + 1; + uVar8 = uVar8 + 4; + uVar7 = (ulonglong)uVar5; + } while ((int)uVar5 < (int)plVar10[1]); + } + } + else { + if ((0 < (int)plVar10[1]) && (*plVar10 != 0)) { + FUN_1800010c0(); + } + *plVar10 = 0; + iVar6 = iVar2; + if (iVar2 < 0) { + iVar6 = 0; + } + *(int *)(plVar10 + 1) = iVar6; + if (iVar6 != 0) { + lVar3 = FUN_180001080(iVar6 * 4); + *plVar10 = lVar3; + goto LAB_18052990b; + } + } + uVar5 = (int)uVar9 + 1; + uVar9 = (ulonglong)uVar5; + plVar10 = plVar10 + 2; + } while ((int)uVar5 < (int)param_1[6]); + } + if (0 < (int)param_1[6]) { + plVar11 = param_1 + 0x70; + plVar10 = param_1 + 0x6c; + uVar9 = uVar4; + do { + *plVar11 = *plVar10; + uVar5 = (int)uVar9 + 1; + uVar9 = (ulonglong)uVar5; + plVar10 = plVar10 + 2; + plVar11 = plVar11 + 1; + } while ((int)uVar5 < (int)param_1[6]); + } + FUN_18052e190(param_1 + 0x72,iVar1 * 0x10,0); + FUN_18052dc30(param_1 + 0xc,(int)param_1[0x35],iVar1 * 8); + FUN_18052e190(param_1 + 0x74,(int)param_1[0x34],0); + uVar9 = uVar4; + uVar8 = uVar4; + if (0 < (int)param_1[0x75]) { + do { + *(undefined4 *)(uVar9 + param_1[0x74]) = 0; + uVar5 = (int)uVar8 + 1; + uVar9 = uVar9 + 4; + uVar8 = (ulonglong)uVar5; + } while ((int)uVar5 < (int)param_1[0x75]); + } + if (0 < (int)param_1[6]) { + plVar10 = param_1 + 0x78; + do { + *(undefined4 *)plVar10 = 0; + uVar5 = (int)uVar4 + 1; + uVar4 = (ulonglong)uVar5; + plVar10 = (longlong *)((longlong)plVar10 + 4); + } while ((int)uVar5 < (int)param_1[6]); + } + FUN_18052df60(param_1); + if (*(char *)((longlong)param_1 + 0x1b6) == '\0') { + if (*(char *)((longlong)param_1 + 0x1b7) == '\0') { + if ((char)param_1[0x37] == '\0') goto LAB_180529a6a; + *(undefined1 *)(param_1 + 0x37) = 0; + pcVar12 = *(code **)(*param_1 + 0x48); + } + else { + *(undefined1 *)((longlong)param_1 + 0x1b7) = 0; + pcVar12 = *(code **)(*param_1 + 0x58); + } + } + else { + *(undefined1 *)((longlong)param_1 + 0x1b6) = 0; + pcVar12 = *(code **)(*param_1 + 0x50); + } + if (pcVar12 != _guard_check_icall) { + (*pcVar12)(param_1); + } +LAB_180529a6a: + *(undefined1 *)((longlong)param_1 + 0x3cc) = 0; + return; +} + + + +############ FUN_ 18052e9b0 size=3167 ############ + +void FUN_18052e9b0(longlong param_1,char param_2) + +{ + uint *puVar1; + float *pfVar2; + uint uVar3; + int iVar4; + uint uVar5; + undefined8 uVar6; + ulonglong uVar7; + ulonglong uVar8; + int iVar9; + uint uVar10; + int *piVar11; + int iVar12; + float *pfVar13; + longlong lVar14; + ulonglong uVar15; + int iVar16; + int iVar17; + int iVar18; + int iVar19; + char *pcVar20; + float fVar21; + float fVar22; + undefined8 extraout_XMM0_Qb; + float fVar23; + double dVar24; + float fVar25; + float fVar26; + float fVar27; + float fVar28; + float fVar29; + + do { + LOCK(); + puVar1 = (uint *)(param_1 + 0x2404dc); + uVar3 = *puVar1; + *puVar1 = *puVar1 | 1; + UNLOCK(); + } while ((uVar3 & 1) != 0); + uVar3 = *(int *)(param_1 + 0x2404e0) + 0x6dc0cf6U & 0x8000007f; + if ((int)uVar3 < 0) { + uVar3 = (uVar3 - 1 | 0xffffff80) + 1; + } + *(uint *)(param_1 + 0x2404e0) = uVar3; + fVar22 = DAT_1824c3c58; + fVar29 = *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(int)uVar3 * 4); + fVar27 = (float)DAT_18262b704; + fVar21 = *(float *)(*(longlong *)(param_1 + 0x5408b0) + + (longlong)(*(int *)(param_1 + 0x2404e0) + 1) * 4); + fVar25 = (float)DAT_18262b5c8; + uVar3 = *(int *)(param_1 + 0x2404e0) + 0x1763eaU & 0x8000007f; + if ((int)uVar3 < 0) { + uVar3 = (uVar3 - 1 | 0xffffff80) + 1; + } + *(uint *)(param_1 + 0x2404e0) = uVar3; + iVar17 = (int)(fVar25 * fVar21 * fVar27 * fVar29 + fVar22) * DAT_18262b700 - + (int)((float)DAT_18262b5c8 * + *(float *)(*(longlong *)(param_1 + 0x5408b0) + + (longlong)(*(int *)(param_1 + 0x2404e0) + 1) * 4) * + (float)DAT_18262b704 * + *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(int)uVar3 * 4) + fVar22) + * DAT_18262b700; + uVar3 = *(int *)(param_1 + 0x2404e0) + 0x6dc2ce2U & 0x8000007f; + if ((int)uVar3 < 0) { + uVar3 = (uVar3 - 1 | 0xffffff80) + 1; + } + *(uint *)(param_1 + 0x2404e0) = uVar3; + iVar9 = (int)((float)DAT_18262b5c8 * + *(float *)(*(longlong *)(param_1 + 0x5408b0) + + (longlong)(*(int *)(param_1 + 0x2404e0) + 1) * 4) * + (float)DAT_18262b704 * + *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(int)uVar3 * 4) + fVar22) * + DAT_18262b700; + uVar3 = *(int *)(param_1 + 0x2404e0) + 0x4bf29aU & 0x8000007f; + if ((int)uVar3 < 0) { + uVar3 = (uVar3 - 1 | 0xffffff80) + 1; + } + *(uint *)(param_1 + 0x2404e0) = uVar3; + fVar29 = (float)((int)((float)DAT_18262b5c8 * + *(float *)(*(longlong *)(param_1 + 0x5408b0) + + (longlong)(*(int *)(param_1 + 0x2404e0) + 1) * 4) * + (float)DAT_18262b704 * + *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(int)uVar3 * 4) + + fVar22) * DAT_18262b700); + uVar3 = *(int *)(param_1 + 0x2404e0) + 0xcb6294U & 0x8000007f; + if ((int)uVar3 < 0) { + uVar3 = (uVar3 - 1 | 0xffffff80) + 1; + } + *(uint *)(param_1 + 0x2404e0) = uVar3; + fVar27 = DAT_1824c3ea4; + fVar21 = *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(int)uVar3 * 4); + fVar28 = (float)DAT_18262b704; + fVar25 = *(float *)(*(longlong *)(param_1 + 0x5408b0) + + (longlong)(*(int *)(param_1 + 0x2404e0) + 1) * 4); + fVar26 = (float)DAT_18262b5c8; + uVar3 = *(int *)(param_1 + 0x2404e0) + 0x10b5e0U & 0x8000007f; + if ((int)uVar3 < 0) { + uVar3 = (uVar3 - 1 | 0xffffff80) + 1; + } + uVar15 = 0; + iVar16 = 0; + *(uint *)(param_1 + 0x2404e0) = uVar3; + iVar18 = (int)(fVar26 * fVar25 * fVar28 * fVar21 + fVar22) * DAT_18262b700 + + (int)((float)DAT_18262b5c8 * + *(float *)(*(longlong *)(param_1 + 0x5408b0) + + (longlong)(*(int *)(param_1 + 0x2404e0) + 1) * 4) * + (float)DAT_18262b704 * + *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(int)uVar3 * 4) + fVar22) + * DAT_18262b700; + if (param_2 == '\0') { + .?AV?$Soothe2ModuleBase@M$01@@::vtbl___AV__Soothe2ModuleBase_M_01__(param_1); + iVar4 = *(int *)(param_1 + 0x1a0) * iVar9 * 8; + *(int *)(param_1 + 0x540868) = iVar4; + iVar4 = iVar4 / 2 + iVar9; + *(int *)(param_1 + 0x54086c) = iVar4; + FUN_18052e190(param_1 + 0x540668,iVar4 * 2); + FUN_18052e190(param_1 + 0x540698,*(undefined4 *)(param_1 + 0x54086c)); + uVar7 = uVar15; + uVar8 = uVar15; + if (0 < *(int *)(param_1 + 0x5406a0)) { + do { + uVar3 = (int)uVar8 + 1; + *(float *)(uVar7 + *(longlong *)(param_1 + 0x540698)) = fVar29; + uVar7 = uVar7 + 4; + uVar8 = (ulonglong)uVar3; + } while ((int)uVar3 < *(int *)(param_1 + 0x5406a0)); + } + FUN_18052e190(param_1 + 0x5406a8,*(undefined4 *)(param_1 + 0x54086c)); + FUN_18052e190(param_1 + 0x5406b8,*(undefined4 *)(param_1 + 0x54086c)); + FUN_18052e190(param_1 + 0x5406c8,*(undefined4 *)(param_1 + 0x54086c)); + FUN_18052e190(param_1 + 0x5406d8,*(undefined4 *)(param_1 + 0x54086c)); + FUN_18052e190(param_1 + 0x5406e8,*(undefined4 *)(param_1 + 0x54086c)); + if (iVar17 < *(int *)(param_1 + 0x30)) { + iVar19 = iVar18 * iVar18 * 0x4000; + piVar11 = (int *)(((longlong)iVar17 + 0x54073) * 0x10 + param_1); + iVar4 = iVar17; + do { + iVar12 = *(int *)(param_1 + 0x54086c); + if (piVar11[-0x2c] == iVar12) { +LAB_18052ee7e: + uVar7 = uVar15; + uVar8 = uVar15; + if (0 < piVar11[-0x2c]) { + do { + uVar3 = (int)uVar8 + 1; + *(undefined4 *)(uVar7 + *(longlong *)(piVar11 + -0x2e)) = 0; + uVar7 = uVar7 + 4; + uVar8 = (ulonglong)uVar3; + } while ((int)uVar3 < piVar11[-0x2c]); + } + } + else { + if ((0 < piVar11[-0x2c]) && (*(longlong *)(piVar11 + -0x2e) != 0)) { + FUN_1800010c0(); + } + piVar11[-0x2e] = 0; + piVar11[-0x2d] = 0; + if (iVar12 < 0) { + iVar12 = iVar16; + } + piVar11[-0x2c] = iVar12; + if (iVar12 != 0) { + uVar6 = FUN_180001080(iVar12 * 4); + *(undefined8 *)(piVar11 + -0x2e) = uVar6; + goto LAB_18052ee7e; + } + } + if (*piVar11 == iVar19) { +LAB_18052eee5: + uVar7 = uVar15; + uVar8 = uVar15; + if (0 < *piVar11) { + do { + uVar3 = (int)uVar8 + 1; + *(undefined4 *)(uVar7 + *(longlong *)(piVar11 + -2)) = 0x3f800000; + uVar7 = uVar7 + 4; + uVar8 = (ulonglong)uVar3; + } while ((int)uVar3 < *piVar11); + } + } + else { + if ((0 < *piVar11) && (*(longlong *)(piVar11 + -2) != 0)) { + FUN_1800010c0(); + } + piVar11[-2] = 0; + piVar11[-1] = 0; + iVar12 = iVar19; + if (iVar18 * iVar18 * 0x4000 < 0) { + iVar12 = iVar16; + } + *piVar11 = iVar12; + if (iVar12 != 0) { + uVar6 = FUN_180001080(iVar12 * 4); + *(undefined8 *)(piVar11 + -2) = uVar6; + goto LAB_18052eee5; + } + } + iVar12 = *(int *)(param_1 + 0x54086c); + if (piVar11[0x20] == iVar12) { +LAB_18052ef4b: + uVar7 = uVar15; + uVar8 = uVar15; + if (0 < piVar11[0x20]) { + do { + uVar3 = (int)uVar8 + 1; + *(undefined4 *)(uVar7 + *(longlong *)(piVar11 + 0x1e)) = 0; + uVar7 = uVar7 + 4; + uVar8 = (ulonglong)uVar3; + } while ((int)uVar3 < piVar11[0x20]); + } + } + else { + if ((0 < piVar11[0x20]) && (*(longlong *)(piVar11 + 0x1e) != 0)) { + FUN_1800010c0(); + } + piVar11[0x1e] = 0; + piVar11[0x1f] = 0; + if (iVar12 < 0) { + iVar12 = iVar16; + } + piVar11[0x20] = iVar12; + if (iVar12 != 0) { + uVar6 = FUN_180001080(iVar12 * 4); + *(undefined8 *)(piVar11 + 0x1e) = uVar6; + goto LAB_18052ef4b; + } + } + iVar12 = *(int *)(param_1 + 0x54086c); + if (piVar11[0x28] == iVar12) { +LAB_18052efc4: + uVar7 = uVar15; + uVar8 = uVar15; + if (0 < piVar11[0x28]) { + do { + uVar3 = (int)uVar8 + 1; + *(undefined4 *)(uVar7 + *(longlong *)(piVar11 + 0x26)) = 0x3f800000; + uVar7 = uVar7 + 4; + uVar8 = (ulonglong)uVar3; + } while ((int)uVar3 < piVar11[0x28]); + } + } + else { + if ((0 < piVar11[0x28]) && (*(longlong *)(piVar11 + 0x26) != 0)) { + FUN_1800010c0(); + } + piVar11[0x26] = 0; + piVar11[0x27] = 0; + if (iVar12 < 0) { + iVar12 = iVar16; + } + piVar11[0x28] = iVar12; + if (iVar12 != 0) { + uVar6 = FUN_180001080(iVar12 * 4); + *(undefined8 *)(piVar11 + 0x26) = uVar6; + goto LAB_18052efc4; + } + } + iVar4 = iVar4 + 1; + piVar11 = piVar11 + 4; + } while (iVar4 < *(int *)(param_1 + 0x30)); + } + FUN_18052e190(param_1 + 0x5406f8,*(int *)(param_1 + 0x540868) << 3); + FUN_18052e190(param_1 + 0x540708,*(int *)(param_1 + 0x540868) * iVar18); + FUN_18052e190(param_1 + 0x540718,*(int *)(param_1 + 0x540868) * iVar18); + FUN_18052e190(param_1 + 0x540798,*(undefined4 *)(param_1 + 0x540868)); + uVar7 = uVar15; + uVar8 = uVar15; + if (0 < *(int *)(param_1 + 0x5407a0)) { + do { + uVar3 = (int)uVar8 + 1; + *(undefined4 *)(uVar7 + *(longlong *)(param_1 + 0x540798)) = 0x3f800000; + uVar7 = uVar7 + 4; + uVar8 = (ulonglong)uVar3; + } while ((int)uVar3 < *(int *)(param_1 + 0x5407a0)); + } + FUN_18052dc30(param_1 + 0x540530,*(undefined4 *)(param_1 + 100), + *(undefined4 *)(param_1 + 0x540868)); + FUN_18052fe00(param_1 + 0x540530,iVar18,iVar18); + } + if (iVar17 < *(int *)(param_1 + 0x30)) { + piVar11 = (int *)(((longlong)iVar17 + 0x5407b) * 0x10 + param_1); + iVar16 = iVar17; + do { + uVar7 = uVar15; + uVar8 = uVar15; + if (0 < piVar11[-0x20]) { + do { + uVar3 = (int)uVar8 + 1; + *(float *)(uVar7 + *(longlong *)(piVar11 + -0x22)) = fVar29; + uVar7 = uVar7 + 4; + uVar8 = (ulonglong)uVar3; + } while ((int)uVar3 < piVar11[-0x20]); + } + if (0 < *piVar11) { + uVar7 = uVar15; + uVar8 = uVar15; + do { + uVar3 = (int)uVar7 + 1; + uVar7 = (ulonglong)uVar3; + *(float *)(uVar8 + *(longlong *)(piVar11 + -2)) = (float)iVar17; + uVar8 = uVar8 + 4; + } while ((int)uVar3 < *piVar11); + } + if (0 < piVar11[8]) { + uVar7 = uVar15; + uVar8 = uVar15; + do { + uVar3 = (int)uVar7 + 1; + uVar7 = (ulonglong)uVar3; + *(float *)(uVar8 + *(longlong *)(piVar11 + 6)) = (float)iVar17; + uVar8 = uVar8 + 4; + } while ((int)uVar3 < piVar11[8]); + } + iVar16 = iVar16 + 1; + piVar11 = piVar11 + 4; + } while (iVar16 < *(int *)(param_1 + 0x30)); + } + fVar29 = DAT_1824c43e8; + pfVar2 = *(float **)(param_1 + 0x540698); + uVar3 = *(int *)(param_1 + 100) / 2 + 1; + dVar24 = DAT_1824c4140 / ((double)(int)uVar3 - DAT_1824c4140); + fVar21 = powf(DAT_1824c43e8,DAT_1824c3dd0); + fVar22 = powf(fVar29,fVar27); + fVar25 = logf(fVar29); + fVar29 = DAT_1824c3e28; + fVar25 = DAT_1824c3e28 / fVar25; + uVar7 = uVar15; + if ((0 < (int)uVar3) && (uVar7 = 0, 3 < uVar3)) { + uVar5 = uVar3 & 0x80000003; + if ((int)uVar5 < 0) { + uVar5 = (uVar5 - 1 | 0xfffffffc) + 1; + } + uVar7 = uVar15; + pfVar13 = pfVar2; + do { + uVar6 = thunk_FUN_181a12cf0(); + uVar10 = (int)uVar7 + 4; + uVar7 = (ulonglong)uVar10; + *pfVar13 = (float)uVar6 * fVar25; + pfVar13[1] = (float)((ulonglong)uVar6 >> 0x20) * fVar25; + pfVar13[2] = (float)extraout_XMM0_Qb * fVar25; + pfVar13[3] = (float)((ulonglong)extraout_XMM0_Qb >> 0x20) * fVar25; + pfVar13 = pfVar13 + 4; + } while ((int)uVar10 < (int)(uVar3 - uVar5)); + } + for (lVar14 = (longlong)(int)uVar7; lVar14 < (int)uVar3; lVar14 = lVar14 + 1) { + fVar27 = logf((float)(int)uVar7 * (float)dVar24 * (fVar22 - fVar21) + fVar21); + uVar7 = (ulonglong)((int)uVar7 + 1); + pfVar2[lVar14] = fVar27 * fVar25; + } + lVar14 = param_1 + 0x3d8; + uVar3 = *(int *)(param_1 + 0x2404d0) - iVar9; + *(undefined1 *)(param_1 + 0x5408ae) = 1; + uVar7 = uVar15; + if (uVar3 < *(uint *)(param_1 + 0x444)) { + uVar7 = *(ulonglong *)(*(longlong *)(param_1 + 0x438) + (longlong)(int)uVar3 * 8); + } + *(undefined4 *)(uVar7 + 0x800) = 8; + if ((int)uVar3 < 0) { + *(undefined4 *)(param_1 + 0x240467) = 0x1010101; + *(undefined4 *)(param_1 + 0x24046b) = 0x1010101; + } + else { + *(undefined1 *)((longlong)(int)uVar3 + 0x24008f + lVar14) = 1; + } + FUN_18052fc30(lVar14); + uVar7 = uVar15; + if (uVar3 < *(uint *)(param_1 + 0x444)) { + uVar7 = *(ulonglong *)(*(longlong *)(param_1 + 0x438) + (longlong)(int)uVar3 * 8); + } + *(undefined4 *)(uVar7 + 0x804) = 0x457a0000; + if ((int)uVar3 < 0) { + *(undefined4 *)(param_1 + 0x240467) = 0x1010101; + *(undefined4 *)(param_1 + 0x24046b) = 0x1010101; + } + else { + *(undefined1 *)((longlong)(int)uVar3 + 0x24008f + lVar14) = 1; + } + FUN_18052fc30(lVar14); + uVar7 = uVar15; + if (uVar3 < *(uint *)(param_1 + 0x444)) { + uVar7 = *(ulonglong *)(*(longlong *)(param_1 + 0x438) + (longlong)(int)uVar3 * 8); + } + *(undefined4 *)(uVar7 + 0x808) = 0x40c00000; + if ((int)uVar3 < 0) { + *(undefined4 *)(param_1 + 0x240467) = 0x1010101; + *(undefined4 *)(param_1 + 0x24046b) = 0x1010101; + } + else { + *(undefined1 *)((longlong)(int)uVar3 + 0x24008f + lVar14) = 1; + } + FUN_18052fc30(lVar14); + fVar21 = DAT_1824c3ea4; + if (*(char *)(param_1 + 0x5408b8) == '\0') { + fVar29 = DAT_1824c3ea4; + } + uVar7 = uVar15; + if (uVar3 < *(uint *)(param_1 + 0x444)) { + uVar7 = *(ulonglong *)(*(longlong *)(param_1 + 0x438) + (longlong)(int)uVar3 * 8); + } + *(float *)(uVar7 + 0x80c) = fVar29; + if ((int)uVar3 < 0) { + *(undefined4 *)(param_1 + 0x240467) = 0x1010101; + *(undefined4 *)(param_1 + 0x24046b) = 0x1010101; + } + else { + *(undefined1 *)((longlong)(int)uVar3 + 0x24008f + lVar14) = 1; + } + FUN_18052fc30(lVar14); + if ((*(char *)(param_1 + 0x240464) != '\0') && + (*(undefined1 *)(param_1 + 0x240464) = 0, 0 < *(int *)(param_1 + 0x24045c))) { + pcVar20 = (char *)(param_1 + 0x240467); + uVar7 = uVar15; + do { + if (*pcVar20 != '\0') { + FUN_1805316e0(lVar14,uVar7); + *pcVar20 = '\0'; + } + uVar3 = (int)uVar7 + 1; + uVar7 = (ulonglong)uVar3; + pcVar20 = pcVar20 + 1; + } while ((int)uVar3 < *(int *)(param_1 + 0x24045c)); + } + iVar9 = *(int *)(param_1 + 100) / 2; + iVar17 = iVar9 + 1; + FUN_18052e190(param_1 + 0x540748,iVar17); + fVar27 = DAT_1824c464c; + fVar25 = DAT_1824c44ec; + fVar22 = DAT_1824c43dc; + fVar29 = DAT_1824c43a8; + fVar26 = *(float *)(param_1 + 0x24) * DAT_1824c3d8c; + uVar7 = uVar15; + if (0 < (longlong)iVar17) { + do { + fVar23 = (float)(int)uVar7 * (fVar21 / (float)iVar9); + fVar28 = fVar21; + if (fVar23 <= fVar21) { + fVar28 = fVar23; + } + fVar28 = expf((fVar28 * fVar26 - fVar25) * fVar27); + *(float *)(*(longlong *)(param_1 + 0x540748) + uVar15 * 4) = + fVar22 - (fVar21 / (fVar28 + fVar21)) * fVar29; + uVar15 = uVar15 + 1; + uVar7 = (ulonglong)((int)uVar7 + 1); + } while ((longlong)uVar15 < (longlong)iVar17); + } + FUN_180530ff0(param_1); + iVar17 = *(int *)(param_1 + 100) / 2 + 1; + *(int *)(param_1 + 0x2404e8) = iVar17; + *(int *)(param_1 + 0x340500) = iVar17; + *(int *)(param_1 + 0x440518) = iVar17; + fVar29 = ((float)*(int *)(param_1 + 0x19c) / (float)*(int *)(param_1 + 0x1a0)) * (float)iVar17; + *(float *)(param_1 + 0x2404f0) = fVar29; + *(float *)(param_1 + 0x340508) = fVar29; + *(float *)(param_1 + 0x440520) = fVar29; + FUN_180530b60(param_1); + FUN_180530d30(param_1); + FUN_180530850(param_1); + *(undefined4 *)(param_1 + 0x54089c) = 0; + *(undefined1 *)(param_1 + 0x5408a0) = 0; + LOCK(); + *(undefined4 *)(param_1 + 0x2404dc) = 0; + UNLOCK(); + return; +} + + + +############ FUN_ 180529fe0 size=2051 ############ + +void .?AV?$Soothe2Module@M$01@@::vtbl___AV__Soothe2Module_M_01__ + (longlong param_1,undefined8 param_2,int param_3,int param_4) + +{ + uint *puVar1; + undefined8 uVar2; + undefined8 uVar3; + float fVar4; + uint uVar5; + longlong lVar6; + int iVar7; + int iVar8; + longlong lVar9; + undefined8 *puVar10; + float fVar11; + double dVar12; + float fVar13; + float fVar14; + float fVar15; + float fVar16; + float fVar17; + + LOCK(); + puVar1 = (uint *)(param_1 + 0x2404dc); + uVar5 = *puVar1; + *puVar1 = *puVar1 | 1; + UNLOCK(); + if ((uVar5 & 1) == 0) { + uVar5 = *(int *)(param_1 + 0x2404e0) + 0x3cdcaU & 0x8000007f; + if ((int)uVar5 < 0) { + uVar5 = (uVar5 - 1 | 0xffffff80) + 1; + } + *(uint *)(param_1 + 0x2404e0) = uVar5; + fVar4 = DAT_1824c3c58; + fVar17 = *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(int)uVar5 * 4); + fVar15 = (float)DAT_18262b704; + fVar11 = *(float *)(*(longlong *)(param_1 + 0x5408b0) + + (longlong)(*(int *)(param_1 + 0x2404e0) + 1) * 4); + fVar13 = (float)DAT_18262b5c8; + uVar5 = *(int *)(param_1 + 0x2404e0) + 0x140236U & 0x8000007f; + if ((int)uVar5 < 0) { + uVar5 = (uVar5 - 1 | 0xffffff80) + 1; + } + *(uint *)(param_1 + 0x2404e0) = uVar5; + iVar8 = (int)(fVar13 * fVar11 * fVar15 * fVar17 + fVar4) * DAT_18262b700 - + (int)((float)DAT_18262b5c8 * + *(float *)(*(longlong *)(param_1 + 0x5408b0) + + (longlong)(*(int *)(param_1 + 0x2404e0) + 1) * 4) * + (float)DAT_18262b704 * + *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(int)uVar5 * 4) + fVar4) + * DAT_18262b700; + uVar5 = *(int *)(param_1 + 0x2404e0) + 0x10d56U & 0x8000007f; + if ((int)uVar5 < 0) { + uVar5 = (uVar5 - 1 | 0xffffff80) + 1; + } + *(uint *)(param_1 + 0x2404e0) = uVar5; + iVar7 = (int)((float)DAT_18262b5c8 * + *(float *)(*(longlong *)(param_1 + 0x5408b0) + + (longlong)(*(int *)(param_1 + 0x2404e0) + 1) * 4) * + (float)DAT_18262b704 * + *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(int)uVar5 * 4) + fVar4) + * DAT_18262b700; + uVar5 = *(int *)(param_1 + 0x2404e0) + 0xdf6b6U & 0x8000007f; + if ((int)uVar5 < 0) { + uVar5 = (uVar5 - 1 | 0xffffff80) + 1; + } + *(uint *)(param_1 + 0x2404e0) = uVar5; + fVar17 = (float)((int)((float)DAT_18262b5c8 * + *(float *)(*(longlong *)(param_1 + 0x5408b0) + + (longlong)(*(int *)(param_1 + 0x2404e0) + 1) * 4) * + (float)DAT_18262b704 * + *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(int)uVar5 * 4) + + fVar4) * DAT_18262b700); + uVar5 = *(int *)(param_1 + 0x2404e0) + 0xa8c5eU & 0x8000007f; + if ((int)uVar5 < 0) { + uVar5 = (uVar5 - 1 | 0xffffff80) + 1; + } + *(uint *)(param_1 + 0x2404e0) = uVar5; + fVar15 = DAT_1824c41e0; + fVar11 = *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(int)uVar5 * 4); + fVar16 = (float)DAT_18262b704; + fVar13 = *(float *)(*(longlong *)(param_1 + 0x5408b0) + + (longlong)(*(int *)(param_1 + 0x2404e0) + 1) * 4); + fVar14 = (float)DAT_18262b5c8; + uVar5 = *(int *)(param_1 + 0x2404e0) + 0x72916U & 0x8000007f; + if ((int)uVar5 < 0) { + uVar5 = (uVar5 - 1 | 0xffffff80) + 1; + } + *(uint *)(param_1 + 0x2404e0) = uVar5; + lVar6 = (longlong)param_4; + iVar7 = iVar7 + param_3 / ((int)(fVar14 * fVar13 * fVar16 * fVar11 + fVar4) * DAT_18262b700 + + (int)((float)DAT_18262b5c8 * + *(float *)(*(longlong *)(param_1 + 0x5408b0) + + (longlong)(*(int *)(param_1 + 0x2404e0) + 1) * 4) * + (float)DAT_18262b704 * + *(float *)(*(longlong *)(param_1 + 0x5408b0) + + (longlong)(int)uVar5 * 4) + fVar4) * DAT_18262b700); + if (1 < param_4) { + puVar10 = (undefined8 *)(param_1 + 0x540678 + (longlong)iVar8 * 0x10); + FUN_18052dbc0(*(undefined8 *)(param_1 + 0x5406f8),*puVar10,iVar7); + if (1 < lVar6) { + uVar2 = *(undefined8 *)(param_1 + 0x540688); + uVar3 = *(undefined8 *)(param_1 + 0x5406f8); + iVar8 = __std_type_info_compare(0x182650db8,0x182650db8); + if (iVar8 != 0) { + /* WARNING: Subroutine does not return */ + thunk_FUN_181ba94b0(uVar3,uVar2,uVar3,iVar7); + } + /* WARNING: Subroutine does not return */ + thunk_FUN_181ba94b0(); + } + FUN_18052d920(*(undefined8 *)(param_1 + 0x5406f8),fVar17 / (float)param_4,iVar7); + fVar11 = powf(*(float *)(param_1 + 0x2c),fVar15); + if (iVar8 < lVar6) { + uVar2 = *puVar10; + iVar8 = __std_type_info_compare(0x182650db8,0x182650db8); + if (iVar8 != 0) { + /* WARNING: Subroutine does not return */ + thunk_FUN_181ba94b0((double)(fVar17 - fVar11),uVar2,iVar7); + } + /* WARNING: Subroutine does not return */ + thunk_FUN_181ba94b0(); + } + } + lVar9 = (longlong)iVar8; + if (lVar9 < lVar6) { + fVar17 = (fVar17 / (float)*(int *)(param_1 + 0x1a0)) * *(float *)(param_1 + 0x540870); + if (*(char *)(param_1 + 0x5408b8) != '\0') { + dVar12 = exp(0.0); + fVar17 = (float)(int)dVar12 * fVar17; + } + fVar11 = *(float *)(param_1 + 0x54088c); + uVar2 = *(undefined8 *)(param_1 + 0x540678 + lVar9 * 0x10); + iVar8 = __std_type_info_compare(0x182650db8,0x182650db8); + if (iVar8 != 0) { + /* WARNING: Subroutine does not return */ + thunk_FUN_181ba94b0((double)(fVar17 * fVar11),uVar2,iVar7); + } + /* WARNING: Subroutine does not return */ + thunk_FUN_181ba94b0(); + } + if (*(char *)(param_1 + 0x2404bc) != '\0') { + LOCK(); + *(undefined1 *)(param_1 + 0x2404bd) = 1; + UNLOCK(); + LOCK(); + puVar1 = (uint *)(param_1 + 0x2404b8); + uVar5 = *puVar1; + *puVar1 = *puVar1 | 1; + UNLOCK(); + if ((uVar5 & 1) == 0) { + if (0 < *(int *)(param_1 + 0x30)) { + if (*(char *)(param_1 + 0x5408af) == '\0') { + uVar2 = *(undefined8 *)(param_1 + 0x540728); + uVar3 = *(undefined8 *)(param_1 + 0x540678); + iVar8 = __std_type_info_compare(0x182650db8,0x182650db8); + if (iVar8 != 0) { + /* WARNING: Subroutine does not return */ + thunk_FUN_181ba94b0(uVar3,uVar2,uVar2,iVar7); + } + /* WARNING: Subroutine does not return */ + thunk_FUN_181ba94b0(); + } + iVar8 = __std_type_info_compare(0x182650db8,0x182650db8); + if (iVar8 != 0) { + /* WARNING: Subroutine does not return */ + thunk_FUN_181ba94b0(); + } + /* WARNING: Subroutine does not return */ + thunk_FUN_181ba94b0(); + } + if (*(char *)(param_1 + 0x5408af) != '\0') { + LOCK(); + *(undefined1 *)(param_1 + 0x5408af) = 0; + UNLOCK(); + } + LOCK(); + *(undefined4 *)(param_1 + 0x2404b8) = 0; + UNLOCK(); + } + } + fVar17 = expf(DAT_1824c4704); + fVar17 = *(float *)(param_1 + 0x540874) - fVar17; + if ((*(char *)(param_1 + 0x540891) == '\0') && (lVar9 < lVar6)) { + uVar2 = *(undefined8 *)(param_1 + 0x540678 + lVar9 * 0x10); + if (*(char *)(param_1 + 0x540890) == '\0') { + fVar17 = fVar17 * *(float *)(param_1 + 0x540888); + iVar8 = __std_type_info_compare(0x182650db8,0x182650db8); + if (iVar8 == 0) { + /* WARNING: Subroutine does not return */ + thunk_FUN_181ba94b0(); + } + } + else { + iVar8 = __std_type_info_compare(); + if (iVar8 == 0) { + /* WARNING: Subroutine does not return */ + thunk_FUN_181ba94b0(); + } + } + /* WARNING: Subroutine does not return */ + thunk_FUN_181ba94b0((double)fVar17,uVar2,iVar7); + } + LOCK(); + *(undefined4 *)(param_1 + 0x2404dc) = 0; + UNLOCK(); + } + return; +} + + + +############ FUN_ 180536f90 size=249 ############ + +/* WARNING: Removing unreachable block (ram,0x000180537079) */ +/* WARNING: Removing unreachable block (ram,0x0001805370c8) */ +/* WARNING: Removing unreachable block (ram,0x00018053707f) */ + +void FUN_180536f90(undefined8 param_1,undefined8 param_2,undefined8 *param_3,undefined8 param_4, + undefined4 param_5) + +{ + undefined8 *puVar1; + undefined8 *puVar2; + undefined1 auStack_f8 [32]; + undefined8 local_d8; + undefined8 local_c8; + undefined8 uStack_c0; + undefined8 local_b8; + undefined4 local_b0; + undefined4 uStack_ac; + undefined4 uStack_a8; + undefined4 uStack_a4; + undefined8 local_a0; + undefined4 local_98; + undefined4 uStack_94; + undefined4 uStack_90; + undefined4 uStack_8c; + ulonglong local_88; + + local_88 = DAT_182615970 ^ (ulonglong)auStack_f8; + puVar1 = (undefined8 *)*param_3; + puVar2 = (undefined8 *)param_3[1]; + local_b0 = *(undefined4 *)(puVar1 + 1); + uStack_ac = *(undefined4 *)((longlong)puVar1 + 0xc); + uStack_a8 = *(undefined4 *)(puVar1 + 2); + uStack_a4 = *(undefined4 *)((longlong)puVar1 + 0x14); + local_98 = *(undefined4 *)(puVar2 + 1); + uStack_94 = *(undefined4 *)((longlong)puVar2 + 0xc); + uStack_90 = *(undefined4 *)(puVar2 + 2); + uStack_8c = *(undefined4 *)((longlong)puVar2 + 0x14); + local_c8 = *puVar1; + local_a0 = *puVar2; + uStack_c0 = 0; + local_d8 = param_4; + local_b8 = local_c8; + /* WARNING: Subroutine does not return */ + thunk_FUN_181ba94b0(&local_c8,param_2,param_5); +} + + + +############ FUN_ 180535880 size=283 ############ + +/* WARNING: Removing unreachable block (ram,0x000180535987) */ +/* WARNING: Removing unreachable block (ram,0x0001805359d3) */ +/* WARNING: Removing unreachable block (ram,0x00018053598d) */ + +void FUN_180535880(undefined8 param_1,undefined8 param_2,undefined8 *param_3,undefined8 param_4, + undefined4 param_5) + +{ + double *pdVar1; + double *pdVar2; + undefined1 auStack_c8 [32]; + undefined8 local_a8; + float local_a0; + float local_9c; + float local_98; + float local_90; + float local_8c; + float local_88; + ulonglong local_80; + + local_80 = DAT_182615970 ^ (ulonglong)auStack_c8; + pdVar1 = (double *)*param_3; + pdVar2 = (double *)param_3[1]; + local_8c = (float)pdVar2[1]; + local_9c = (float)pdVar1[1]; + local_88 = (float)pdVar2[2]; + local_a0 = (float)*pdVar1; + local_90 = (float)*pdVar2; + local_98 = (float)pdVar1[2]; + local_a8 = param_4; + /* WARNING: Subroutine does not return */ + thunk_FUN_181ba94b0(local_a0,param_2,param_5); +} + + + +############ FUN_ 18052da00 size=85 ############ + +void FUN_18052da00(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined4 param_4) + +{ + int iVar1; + + iVar1 = __std_type_info_compare(0x182650db8,0x182650db8); + if (iVar1 == 0) { + /* WARNING: Subroutine does not return */ + thunk_FUN_181ba94b0(param_2,param_3); + } + /* WARNING: Subroutine does not return */ + thunk_FUN_181ba94b0(param_2,(double)(float)param_3,param_1,param_4); +} + + + +############ FUN_ 18052db50 size=104 ############ + +void FUN_18052db50(undefined8 param_1,undefined8 param_2,undefined4 param_3) + +{ + int iVar1; + + iVar1 = __std_type_info_compare(0x182650db8,0x182650db8); + if (iVar1 == 0) { + /* WARNING: Subroutine does not return */ + thunk_FUN_181ba94b0(param_2); + } + /* WARNING: Subroutine does not return */ + thunk_FUN_181ba94b0((double)(float)param_2,param_1,param_3); +} + + + +############ FUN_ 18052d990 size=97 ############ + +void FUN_18052d990(undefined8 param_1,undefined8 param_2,undefined4 param_3) + +{ + int iVar1; + + iVar1 = __std_type_info_compare(0x182650db8,0x182650db8); + if (iVar1 == 0) { + /* WARNING: Subroutine does not return */ + thunk_FUN_181ba94b0(); + } + /* WARNING: Subroutine does not return */ + thunk_FUN_181ba94b0(param_2,param_1,param_3); +} + + + +############ FUN_ 18052dbc0 size=97 ############ + +void FUN_18052dbc0(undefined8 param_1,undefined8 param_2,undefined4 param_3) + +{ + int iVar1; + + iVar1 = __std_type_info_compare(0x182650db8,0x182650db8); + if (iVar1 == 0) { + /* WARNING: Subroutine does not return */ + thunk_FUN_181ba94b0(); + } + /* WARNING: Subroutine does not return */ + thunk_FUN_181ba94b0(param_2,param_1,param_3); +} + + + +############ FUN_ 18003a2a0 size=86 ############ + +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +longlong FUN_18003a2a0(uint param_1,longlong param_2,int param_3,longlong param_4) + +{ + uint uVar1; + int iVar2; + int iVar3; + int iVar4; + int iVar5; + int iVar6; + int iVar7; + int iVar8; + int iVar9; + int iVar10; + int iVar11; + int iVar12; + uint uVar13; + longlong lVar14; + longlong lVar15; + int iVar16; + int iVar17; + int iVar18; + int iVar19; + int iVar20; + int iVar21; + int iVar22; + int iVar23; + int iVar24; + int iVar25; + int iVar26; + int iVar27; + ulonglong uVar28; + ulonglong uVar29; + uint uStack_170; + int iStack_c0; + int iStack_b8; + int iStack_b0; + int iStack_a8; + int iStack_a0; + int iStack_58; + int iStack_40; + + iVar25 = 1 << (param_1 & 0x1f); + if (iVar25 < 9) { + return param_4; + } + if ((param_1 == 4) || (10 < (int)param_1)) { + uVar13 = 2; + } + else { + uVar13 = 3; + } + iVar11 = -uVar13; + if ((int)uVar13 < (int)param_1) { + lVar15 = param_4; + do { + lVar14 = lVar15; + if ((param_1 + iVar11 == 2) || (param_1 + iVar11 == 4)) goto LAB_18003a370; + if ((int)param_1 < 0xb) goto LAB_18003ac78; + if ((param_1 & 1) == 0) { +LAB_18003a370: + iVar11 = iVar11 + -2; + uVar13 = uVar13 + 2; + iVar23 = 1 << (uVar13 & 0x1f); + uVar1 = 0; + iVar26 = 1 << (param_3 + iVar11 & 0x1fU); + iVar3 = (int)(((uint)(iVar23 >> 1) >> 0x1e) + iVar23) >> 2; + if (0 < iVar3) { + iVar24 = iVar23 / 2; + iVar17 = iVar26 * iVar24; + iVar2 = iVar26 * iVar3; + iVar20 = ((int)(((uint)(iVar23 * 3 >> 1) >> 0x1e) + iVar23 * 3) >> 2) * iVar26; + iVar23 = iVar26 * 0xc; + iVar6 = iVar26 * 2 - iVar2; + iVar9 = iVar26 * 6 - iVar17; + iVar8 = iVar26 * 9 - iVar17; + iVar4 = iVar26 * 3 - iVar17; + iVar7 = iVar26 * 6 - iVar2; + iVar18 = iVar26 * 9 - iVar2; + iVar5 = iVar26 * 3 - iVar2; + do { + iVar16 = iVar26 * 4 * uVar1; + lVar14 = (longlong)(int)uVar1 * 0xc0; + iVar12 = iVar26 * 8 * uVar1; + *(undefined8 *)(lVar15 + lVar14) = + *(undefined8 *)(param_2 + (longlong)(iVar2 - iVar16) * 8); + *(ulonglong *)(lVar15 + 0x20 + lVar14) = + *(ulonglong *)(param_2 + (longlong)iVar16 * 8) ^ _DAT_181c5e400; + if (iVar3 < (int)(uVar1 * 8)) { + *(ulonglong *)(lVar15 + 0x40 + lVar14) = + *(ulonglong *)(param_2 + (longlong)-(iVar2 - iVar12) * 8) ^ _DAT_181c5e400; + *(ulonglong *)(lVar15 + 0x60 + lVar14) = + *(ulonglong *)(param_2 + (longlong)(iVar17 - iVar12) * 8) ^ _DAT_181c5e400; + } + else { + *(undefined8 *)(lVar15 + 0x40 + lVar14) = + *(undefined8 *)(param_2 + (longlong)(iVar2 - iVar12) * 8); + *(ulonglong *)(lVar15 + 0x60 + lVar14) = + *(ulonglong *)(param_2 + (longlong)iVar12 * 8) ^ _DAT_181c5e400; + } + if (iVar3 < (int)(uVar1 * 0xc)) { + iVar10 = iVar23 * uVar1; + if (iVar24 < (int)(uVar1 * 0xc)) { + *(ulonglong *)(lVar15 + 0x80 + lVar14) = + *(ulonglong *)(param_2 + (longlong)(iVar20 - iVar10) * 8) ^ _DAT_181c5e400; + uVar28 = *(ulonglong *)(param_2 + (longlong)(iVar10 - iVar17) * 8); + } + else { + *(ulonglong *)(lVar15 + 0x80 + lVar14) = + *(ulonglong *)(param_2 + (longlong)(iVar10 - iVar2) * 8) ^ _DAT_181c5e400; + uVar28 = *(ulonglong *)(param_2 + (longlong)(iVar17 - iVar10) * 8) ^ _DAT_181c5e400; + } + } + else { + *(undefined8 *)(lVar15 + 0x80 + lVar14) = + *(undefined8 *)(param_2 + (longlong)(int)(iVar2 - iVar23 * uVar1) * 8); + uVar28 = *(ulonglong *)(param_2 + (longlong)(int)(iVar23 * uVar1) * 8) ^ + _DAT_181c5e400; + } + iVar10 = iVar23 * uVar1; + *(ulonglong *)(lVar15 + 0xa0 + lVar14) = uVar28; + *(undefined8 *)(lVar15 + 8 + lVar14) = + *(undefined8 *)(param_2 + (longlong)((iVar2 - iVar26) - iVar16) * 8); + iVar27 = iVar12 + iVar6; + *(ulonglong *)(lVar15 + 0x28 + lVar14) = + *(ulonglong *)(param_2 + (longlong)(iVar16 + iVar26) * 8) ^ _DAT_181c5e400; + if (iVar3 < (int)(uVar1 * 8 + 2)) { + *(ulonglong *)(lVar15 + 0x48 + lVar14) = + *(ulonglong *)(param_2 + (longlong)iVar27 * 8) ^ _DAT_181c5e400; + *(ulonglong *)(lVar15 + 0x68 + lVar14) = + *(ulonglong *)(param_2 + (longlong)((iVar17 + iVar26 * -2) - iVar12) * 8) ^ + _DAT_181c5e400; + } + else { + *(undefined8 *)(lVar15 + 0x48 + lVar14) = + *(undefined8 *)(param_2 + (longlong)-iVar27 * 8); + *(ulonglong *)(lVar15 + 0x68 + lVar14) = + *(ulonglong *)(param_2 + (longlong)(iVar12 + iVar26 * 2) * 8) ^ _DAT_181c5e400; + } + iVar27 = uVar1 * 0xc + 3; + if (iVar3 < iVar27) { + if (iVar24 < iVar27) { + *(ulonglong *)(lVar15 + 0x88 + lVar14) = + *(ulonglong *)(param_2 + (longlong)((iVar20 + iVar26 * -3) - iVar10) * 8) ^ + _DAT_181c5e400; + uVar28 = *(ulonglong *)(param_2 + (longlong)(iVar4 + iVar10) * 8); + } + else { + *(ulonglong *)(lVar15 + 0x88 + lVar14) = + *(ulonglong *)(param_2 + (longlong)(iVar10 + iVar5) * 8) ^ _DAT_181c5e400; + uVar28 = *(ulonglong *)(param_2 + (longlong)-(iVar4 + iVar10) * 8) ^ _DAT_181c5e400; + } + } + else { + *(undefined8 *)(lVar15 + 0x88 + lVar14) = + *(undefined8 *)(param_2 + (longlong)-(iVar10 + iVar5) * 8); + uVar28 = *(ulonglong *)(param_2 + (longlong)(iVar10 + iVar26 * 3) * 8) ^ + _DAT_181c5e400; + } + *(ulonglong *)(lVar15 + 0xa8 + lVar14) = uVar28; + *(undefined8 *)(lVar15 + 0x10 + lVar14) = + *(undefined8 *)(param_2 + (longlong)-(iVar16 + iVar6) * 8); + iVar27 = (iVar26 * 4 - iVar2) + iVar12; + *(ulonglong *)(lVar15 + 0x30 + lVar14) = + *(ulonglong *)(param_2 + (longlong)(iVar16 + iVar26 * 2) * 8) ^ _DAT_181c5e400; + if (iVar3 < (int)(uVar1 * 8 + 4)) { + *(ulonglong *)(lVar15 + 0x50 + lVar14) = + *(ulonglong *)(param_2 + (longlong)iVar27 * 8) ^ _DAT_181c5e400; + *(ulonglong *)(lVar15 + 0x70 + lVar14) = + *(ulonglong *)(param_2 + (longlong)((iVar17 + iVar26 * -4) - iVar12) * 8) ^ + _DAT_181c5e400; + } + else { + *(undefined8 *)(lVar15 + 0x50 + lVar14) = + *(undefined8 *)(param_2 + (longlong)-iVar27 * 8); + *(ulonglong *)(lVar15 + 0x70 + lVar14) = + *(ulonglong *)(param_2 + (longlong)(iVar12 + iVar26 * 4) * 8) ^ _DAT_181c5e400; + } + iVar27 = uVar1 * 0xc + 6; + if (iVar3 < iVar27) { + if (iVar24 < iVar27) { + *(ulonglong *)(lVar15 + 0x90 + lVar14) = + *(ulonglong *)(param_2 + (longlong)((iVar26 * -6 + iVar20) - iVar10) * 8) ^ + _DAT_181c5e400; + uVar28 = *(ulonglong *)(param_2 + (longlong)(iVar10 + iVar9) * 8); + } + else { + *(ulonglong *)(lVar15 + 0x90 + lVar14) = + *(ulonglong *)(param_2 + (longlong)(iVar10 + iVar7) * 8) ^ _DAT_181c5e400; + uVar28 = *(ulonglong *)(param_2 + (longlong)-(iVar10 + iVar9) * 8) ^ _DAT_181c5e400; + } + } + else { + *(undefined8 *)(lVar15 + 0x90 + lVar14) = + *(undefined8 *)(param_2 + (longlong)-(iVar10 + iVar7) * 8); + uVar28 = *(ulonglong *)(param_2 + (longlong)(iVar10 + iVar26 * 6) * 8) ^ + _DAT_181c5e400; + } + *(ulonglong *)(lVar15 + 0xb0 + lVar14) = uVar28; + *(undefined8 *)(lVar15 + 0x18 + lVar14) = + *(undefined8 *)(param_2 + (longlong)-(iVar16 + iVar5) * 8); + *(ulonglong *)(lVar15 + 0x38 + lVar14) = + *(ulonglong *)(param_2 + (longlong)(iVar16 + iVar26 * 3) * 8) ^ _DAT_181c5e400; + if (iVar3 < (int)(uVar1 * 8 + 6)) { + *(ulonglong *)(lVar15 + 0x58 + lVar14) = + *(ulonglong *)(param_2 + (longlong)(iVar12 + iVar7) * 8) ^ _DAT_181c5e400; + *(ulonglong *)(lVar15 + 0x78 + lVar14) = + *(ulonglong *)(param_2 + (longlong)-(iVar12 + iVar9) * 8) ^ _DAT_181c5e400; + } + else { + *(undefined8 *)(lVar15 + 0x58 + lVar14) = + *(undefined8 *)(param_2 + (longlong)-(iVar12 + iVar7) * 8); + *(ulonglong *)(lVar15 + 0x78 + lVar14) = + *(ulonglong *)(param_2 + (longlong)(iVar12 + iVar26 * 6) * 8) ^ _DAT_181c5e400; + } + iVar12 = uVar1 * 0xc + 9; + if (iVar3 < iVar12) { + if (iVar24 < iVar12) { + *(ulonglong *)(lVar15 + 0x98 + lVar14) = + *(ulonglong *)(param_2 + (longlong)((iVar20 + iVar26 * -9) - iVar10) * 8) ^ + _DAT_181c5e400; + uVar28 = *(ulonglong *)(param_2 + (longlong)(iVar10 + iVar8) * 8); + } + else { + *(ulonglong *)(lVar15 + 0x98 + lVar14) = + *(ulonglong *)(param_2 + (longlong)(iVar10 + iVar18) * 8) ^ _DAT_181c5e400; + uVar28 = *(ulonglong *)(param_2 + (longlong)-(iVar10 + iVar8) * 8) ^ _DAT_181c5e400; + } + } + else { + *(undefined8 *)(lVar15 + 0x98 + lVar14) = + *(undefined8 *)(param_2 + (longlong)-(iVar10 + iVar18) * 8); + uVar28 = *(ulonglong *)(param_2 + (longlong)(iVar10 + iVar26 * 9) * 8) ^ + _DAT_181c5e400; + } + uVar1 = uVar1 + 1; + *(ulonglong *)(lVar15 + 0xb8 + lVar14) = uVar28; + } while (uVar1 < (uint)((int)(iVar3 + 3 + ((uint)(iVar3 + 3 >> 1) >> 0x1e)) >> 2)); + lVar14 = lVar15 + (longlong)(int)uVar1 * 0xc0; + } + } + else { + if (param_1 == 0xb) { + if ((int)uVar13 < 5) goto LAB_18003ac78; + goto LAB_18003a370; + } + if ((0xe < (int)param_1) && (uVar13 == 8)) goto LAB_18003a370; +LAB_18003ac78: + iVar11 = iVar11 + -3; + uVar13 = uVar13 + 3; + iVar6 = 1 << (uVar13 & 0x1f); + iVar26 = 1 << (param_3 + iVar11 & 0x1fU); + iVar2 = 0; + iVar4 = 0; + iVar5 = 0; + iVar3 = (int)(((uint)(iVar6 >> 2) >> 0x1d) + iVar6) >> 3; + iVar23 = 0; + if (0 < iVar3) { + iVar16 = (int)(((uint)(iVar6 * 3 >> 1) >> 0x1e) + iVar6 * 3) >> 2; + iVar20 = iVar26 * iVar16; + iVar10 = iVar6 / 2; + iVar24 = iVar26 * iVar10; + iVar27 = (int)(iVar6 + ((uint)(iVar6 >> 1) >> 0x1e)) >> 2; + iVar12 = iVar26 * iVar27; + iStack_a0 = 0; + iStack_a8 = 0; + iStack_b0 = 0; + iStack_b8 = 0; + iStack_58 = 0; + iStack_40 = 0; + iStack_c0 = 0; + uStack_170 = 0; + iVar19 = 0; + iVar7 = 0; + iVar8 = 0; + iVar9 = 0; + iVar17 = 0; + iVar18 = 0; + do { + lVar14 = lVar15 + (longlong)(int)uStack_170 * 0x1c0; + uVar1 = 0; + do { + uVar28 = (ulonglong)uVar1; + *(undefined8 *)(lVar14 + uVar28 * 8) = + *(undefined8 *)(param_2 + (longlong)(int)((iVar12 - iVar7) - iVar26 * uVar1) * 8) + ; + iVar21 = iVar26 * 2 * uVar1; + *(ulonglong *)(lVar14 + 0x20 + uVar28 * 8) = + *(ulonglong *)(param_2 + (longlong)(int)(iVar26 * uVar1 + iVar7) * 8) ^ + _DAT_181c5e400; + *(undefined8 *)(lVar14 + 0x40 + uVar28 * 8) = + *(undefined8 *)(param_2 + (longlong)((iVar12 - iStack_58) - iVar21) * 8); + iVar22 = iVar26 * 3 * uVar1; + *(ulonglong *)(lVar14 + 0x60 + uVar28 * 8) = + *(ulonglong *)(param_2 + (longlong)(iVar21 + iStack_58) * 8) ^ _DAT_181c5e400; + iVar21 = (iVar12 + iVar19) - iVar22; + if (iVar27 < (int)(uVar1 * 3 + iVar2)) { + *(ulonglong *)(lVar14 + 0x80 + uVar28 * 8) = + *(ulonglong *)(param_2 + (longlong)-iVar21 * 8) ^ _DAT_181c5e400; + *(ulonglong *)(lVar14 + 0xa0 + uVar28 * 8) = + *(ulonglong *)(param_2 + (longlong)((iVar24 + iVar19) - iVar22) * 8) ^ + _DAT_181c5e400; + } + else { + *(undefined8 *)(lVar14 + 0x80 + uVar28 * 8) = + *(undefined8 *)(param_2 + (longlong)iVar21 * 8); + *(ulonglong *)(lVar14 + 0xa0 + uVar28 * 8) = + *(ulonglong *)(param_2 + (longlong)(iVar22 + iStack_c0) * 8) ^ _DAT_181c5e400; + } + iVar21 = iVar26 * 4 * uVar1; + iVar22 = (iVar12 + iVar18) - iVar21; + if (iVar27 < (int)(iVar4 + uVar1 * 4)) { + *(ulonglong *)(lVar14 + 0xc0 + uVar28 * 8) = + *(ulonglong *)(param_2 + (longlong)-iVar22 * 8) ^ _DAT_181c5e400; + *(ulonglong *)(lVar14 + 0xe0 + uVar28 * 8) = + *(ulonglong *)(param_2 + (longlong)((iVar24 + iVar18) - iVar21) * 8) ^ + _DAT_181c5e400; + } + else { + *(undefined8 *)(lVar14 + 0xc0 + uVar28 * 8) = + *(undefined8 *)(param_2 + (longlong)iVar22 * 8); + *(ulonglong *)(lVar14 + 0xe0 + uVar28 * 8) = + *(ulonglong *)(param_2 + (longlong)(iVar21 + iStack_a0) * 8) ^ _DAT_181c5e400; + } + iVar21 = uVar1 * 5 + iVar5; + if (iVar27 < iVar21) { + iVar22 = iVar26 * 5 * uVar1; + if (iVar10 < iVar21) { + *(ulonglong *)(lVar14 + 0x100 + uVar28 * 8) = + *(ulonglong *)(param_2 + (longlong)((iVar20 + iVar17) - iVar22) * 8) ^ + _DAT_181c5e400; + uVar29 = *(ulonglong *)(param_2 + (longlong)(iVar22 - (iVar24 + iVar17)) * 8); + } + else { + *(ulonglong *)(lVar14 + 0x100 + uVar28 * 8) = + *(ulonglong *)(param_2 + (longlong)(iVar22 - (iVar12 + iVar17)) * 8) ^ + _DAT_181c5e400; + uVar29 = *(ulonglong *)(param_2 + (longlong)((iVar24 + iVar17) - iVar22) * 8) ^ + _DAT_181c5e400; + } + } + else { + iVar21 = iVar26 * 5 * uVar1; + *(undefined8 *)(lVar14 + 0x100 + uVar28 * 8) = + *(undefined8 *)(param_2 + (longlong)((iVar12 + iVar17) - iVar21) * 8); + uVar29 = *(ulonglong *)(param_2 + (longlong)(iVar21 + iStack_a8) * 8) ^ + _DAT_181c5e400; + } + *(ulonglong *)(lVar14 + 0x120 + uVar28 * 8) = uVar29; + iVar21 = iVar23 + uVar1 * 6; + if (iVar27 < iVar21) { + iVar22 = iVar26 * 6 * uVar1; + if (iVar10 < iVar21) { + *(ulonglong *)(lVar14 + 0x140 + uVar28 * 8) = + *(ulonglong *)(param_2 + (longlong)((iVar20 + iVar9) - iVar22) * 8) ^ + _DAT_181c5e400; + uVar29 = *(ulonglong *)(param_2 + (longlong)(iVar22 - (iVar24 + iVar9)) * 8); + } + else { + *(ulonglong *)(lVar14 + 0x140 + uVar28 * 8) = + *(ulonglong *)(param_2 + (longlong)(iVar22 - (iVar12 + iVar9)) * 8) ^ + _DAT_181c5e400; + uVar29 = *(ulonglong *)(param_2 + (longlong)((iVar24 + iVar9) - iVar22) * 8) ^ + _DAT_181c5e400; + } + } + else { + iVar21 = iVar26 * 6 * uVar1; + *(undefined8 *)(lVar14 + 0x140 + uVar28 * 8) = + *(undefined8 *)(param_2 + (longlong)((iVar12 + iVar9) - iVar21) * 8); + uVar29 = *(ulonglong *)(param_2 + (longlong)(iVar21 + iStack_b0) * 8) ^ + _DAT_181c5e400; + } + *(ulonglong *)(lVar14 + 0x160 + uVar28 * 8) = uVar29; + iVar21 = uVar1 * 7 + iStack_40; + if (iVar27 < iVar21) { + iVar22 = iVar26 * 7 * uVar1; + if (iVar10 < iVar21) { + if (iVar16 < iVar21) { + uVar29 = *(ulonglong *)(param_2 + (longlong)(iVar22 - (iVar20 + iVar8)) * 8); + } + else { + uVar29 = *(ulonglong *)(param_2 + (longlong)((iVar20 + iVar8) - iVar22) * 8) ^ + _DAT_181c5e400; + } + *(ulonglong *)(lVar14 + 0x180 + uVar28 * 8) = uVar29; + if (iVar16 < iVar21) { + uVar29 = *(ulonglong *) + (param_2 + (longlong)((iVar6 * iVar26 + iVar8) - iVar22) * 8); + } + else { + uVar29 = *(ulonglong *)(param_2 + (longlong)(iVar22 - (iVar24 + iVar8)) * 8); + } + } + else { + *(ulonglong *)(lVar14 + 0x180 + uVar28 * 8) = + *(ulonglong *)(param_2 + (longlong)(iVar22 - (iVar12 + iVar8)) * 8) ^ + _DAT_181c5e400; + uVar29 = *(ulonglong *)(param_2 + (longlong)((iVar24 + iVar8) - iVar22) * 8) ^ + _DAT_181c5e400; + } + } + else { + iVar21 = iVar26 * 7 * uVar1; + *(undefined8 *)(lVar14 + 0x180 + uVar28 * 8) = + *(undefined8 *)(param_2 + (longlong)((iVar12 + iVar8) - iVar21) * 8); + uVar29 = *(ulonglong *)(param_2 + (longlong)(iVar21 + iStack_b8) * 8) ^ + _DAT_181c5e400; + } + uVar1 = uVar1 + 1; + *(ulonglong *)(lVar14 + 0x1a0 + uVar28 * 8) = uVar29; + } while (uVar1 < 4); + iVar2 = iVar2 + 0xc; + iVar4 = iVar4 + 0x10; + iVar5 = iVar5 + 0x14; + iVar23 = iVar23 + 0x18; + iStack_a0 = iStack_a0 + iVar26 * 0x10; + lVar14 = lVar15 + 0x1c0 + (longlong)(int)uStack_170 * 0x1c0; + iVar7 = iVar7 + iVar26 * 4; + iStack_a8 = iStack_a8 + iVar26 * 0x14; + iStack_b0 = iStack_b0 + iVar26 * 0x18; + iStack_b8 = iStack_b8 + iVar26 * 0x1c; + iStack_58 = iStack_58 + iVar26 * 8; + iStack_c0 = iStack_c0 + iVar26 * 0xc; + uStack_170 = uStack_170 + 1; + iVar18 = iVar18 + iVar26 * -0x10; + iVar17 = iVar17 + iVar26 * -0x14; + iVar9 = iVar9 + iVar26 * -0x18; + iStack_40 = iStack_40 + 0x1c; + iVar8 = iVar8 + iVar26 * -0x1c; + iVar19 = iVar19 + iVar26 * -0xc; + } while (uStack_170 < (uint)((int)(iVar3 + 3 + ((uint)(iVar3 + 3 >> 1) >> 0x1e)) >> 2)); + } + } + lVar15 = lVar14; + } while ((int)uVar13 < (int)param_1); + } + uVar28 = param_4 + (longlong)iVar25 * 0x10; + return uVar28 + (-(uVar28 & 0x3f) & 0x3f); +} + + + +############ FUN_ 18003b6c0 size=559 ############ + +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +longlong FUN_18003b6c0(longlong param_1,uint param_2,longlong param_3,int param_4,undefined8 param_5 + ,undefined8 param_6) + +{ + longlong lVar1; + undefined8 uVar2; + longlong lVar3; + ulonglong uVar4; + uint uVar5; + longlong lVar6; + uint uVar7; + uint uVar8; + int iVar9; + int iVar10; + longlong lVar11; + longlong lVar12; + int iVar13; + longlong lVar14; + longlong lVar15; + + if ((int)param_2 < 0x12) { + uVar2 = FUN_180034280(param_2,param_5); + } + else { + uVar2 = FUN_180105de0(param_2,5,param_5); + } + if (*(int *)(&DAT_181c5e3fc + (longlong)(int)param_2 * 4) == 0) { + *(undefined8 *)(param_1 + 0x38) = uVar2; + lVar3 = FUN_18003a2a0(0x11,param_3,param_4); + iVar10 = 1; + iVar9 = 1 << (param_2 & 0x1f); + uVar5 = (int)(((uint)(iVar9 >> 1) >> 0x1e) + iVar9) >> 2; + *(longlong *)(param_1 + 0x40) = lVar3; + if (0 < (int)uVar5) { + if (uVar5 >> 1 != 0) { + iVar10 = 1 << (param_4 - param_2 & 0x1f); + iVar9 = uVar5 * iVar10 + iVar10; + lVar15 = (longlong)iVar10; + lVar14 = 0; + lVar12 = (longlong)(iVar9 + iVar10 * -2); + lVar11 = (longlong)(iVar9 - iVar10); + uVar8 = 0; + do { + uVar7 = uVar8; + lVar1 = lVar11 * 8; + uVar8 = uVar7 + 1; + lVar6 = (longlong)(int)(uVar7 * 2) * 0x10; + lVar11 = lVar11 + iVar10 * -2; + *(undefined8 *)(lVar3 + lVar6) = *(undefined8 *)(param_3 + lVar1); + lVar1 = lVar14 * 8; + lVar14 = lVar14 + iVar10 * 2; + *(ulonglong *)(lVar3 + 8 + lVar6) = *(ulonglong *)(param_3 + lVar1) ^ _DAT_181c5e4e0; + lVar1 = lVar12 * 8; + lVar12 = lVar12 + iVar10 * -2; + *(undefined8 *)(lVar3 + 0x10 + lVar6) = *(undefined8 *)(param_3 + lVar1); + lVar1 = lVar15 * 8; + lVar15 = lVar15 + iVar10 * 2; + *(ulonglong *)(lVar3 + 0x18 + lVar6) = *(ulonglong *)(param_3 + lVar1) ^ _DAT_181c5e4e0; + } while (uVar8 < uVar5 >> 1); + iVar10 = uVar7 + 2 + uVar8; + } + if (iVar10 - 1U < uVar5) { + iVar9 = 1 << (param_4 - param_2 & 0x1f); + iVar13 = (iVar10 - 1U) * iVar9; + *(undefined8 *)((longlong)iVar10 * 0x10 + -0x10 + lVar3) = + *(undefined8 *)(param_3 + (longlong)(int)(iVar9 * uVar5 - iVar13) * 8); + *(ulonglong *)((longlong)iVar10 * 0x10 + -8 + lVar3) = + *(ulonglong *)(param_3 + (longlong)iVar13 * 8) ^ _DAT_181c5e4e0; + } + } + uVar4 = lVar3 + (longlong)(int)uVar5 * 0x10; + *(undefined4 *)(param_1 + 0x1c) = 0x200000; + lVar3 = uVar4 + (-(uVar4 & 0x3f) & 0x3f); + } + else { + lVar3 = FUN_18003b900(param_1,param_2,param_3,param_4,0,uVar2,param_6); + } + if (0x11 < (int)param_2) { + iVar10 = 0x8000; + if (0x7fff < *(int *)(param_1 + 0x1c)) { + iVar10 = *(int *)(param_1 + 0x1c); + } + *(int *)(param_1 + 0x1c) = iVar10; + } + return lVar3; +} + + + +############ FUN_ 180008140 size=757 ############ + +undefined8 +FUN_180008140(undefined8 *param_1,uint param_2,int param_3,undefined4 param_4,ulonglong param_5, + ulonglong param_6) + +{ + undefined4 *puVar1; + int iVar2; + undefined8 uVar3; + longlong lVar4; + uint uVar5; + ulonglong uVar6; + undefined8 *puVar7; + uint uVar8; + double dVar9; + + if (param_1 == (undefined8 *)0x0) { + return 0xfffffff8; + } + if ((0x1e < param_2) || (0x1c < (int)param_2)) { + return 0xffffffef; + } + if (param_5 == 0) { + return 0xfffffff8; + } + uVar6 = -(param_5 & 0x3f) & 0x3f; + puVar1 = (undefined4 *)(param_5 + uVar6); + FUN_180039aa0(puVar1,0x90); + puVar1[6] = param_4; + puVar1[1] = param_2; + puVar1[8] = 0; + iVar2 = 1 << (param_2 & 0x1f); + if (param_3 == 8) { + *puVar1 = 9; + puVar1[2] = 0; + puVar1[3] = 0; + } + else if (param_3 == 4) { + *puVar1 = 9; + puVar1[2] = 1; + puVar1[3] = 1; + dVar9 = (double)thunk_FUN_181b99440((double)iVar2); + *(double *)(puVar1 + 4) = DAT_181c5cd10 / dVar9; + } + else if (param_3 == 1) { + dVar9 = DAT_181c5cd10 / (double)iVar2; + *puVar1 = 9; + puVar1[2] = 1; + puVar1[3] = 0; + *(double *)(puVar1 + 4) = dVar9; + } + else { + if (param_3 != 2) { + *puVar1 = 0; + return 0xffffffee; + } + dVar9 = DAT_181c5cd10 / (double)iVar2; + *puVar1 = 9; + puVar1[2] = 0; + puVar1[3] = 1; + *(double *)(puVar1 + 4) = dVar9; + } + if ((int)param_2 < 5) { + puVar1[7] = 0; + *param_1 = puVar1; + return 0; + } + if ((int)param_2 < 0xb) { + uVar8 = 10; + uVar6 = param_5 + 0x90 + uVar6; + puVar7 = &DAT_182616800; + uVar5 = 10; + if ((int)param_2 < 8) { + puVar1[7] = 0; + lVar4 = (-(uVar6 & 0x3f) & 0x3f) + uVar6; + goto LAB_1800083a3; + } + } + else { + if (param_6 == 0) { + return 0xfffffff8; + } + puVar7 = (undefined8 *)((-(param_6 & 0x3f) & 0x3f) + param_6); + param_6 = FUN_180039b00(param_2,puVar7); + uVar6 = param_5 + 0x90 + uVar6; + uVar5 = param_2; + } + uVar8 = uVar5; + *(ulonglong *)(puVar1 + 0xc) = uVar6; + uVar5 = param_2 - 1; + if ((int)uVar5 < 0x12) { + uVar3 = FUN_180034280(uVar5); + *(undefined8 *)(puVar1 + 0xe) = uVar3; + lVar4 = FUN_18003a2a0(uVar5,puVar7,uVar8,uVar3); + puVar1[7] = (1 << (uVar5 & 0x1f)) * 0x10 + 0x3fU & 0xffffffc0; + } + else { + lVar4 = FUN_18003b6c0(puVar1,uVar5,puVar7,uVar8,uVar6,param_6); + } +LAB_1800083a3: + *(longlong *)(puVar1 + 0x14) = lVar4; + uVar3 = FUN_18003f1a0(param_2,puVar7,uVar8); + *(undefined8 *)(puVar1 + 0x16) = uVar3; + FUN_18003f600(param_2,puVar7,uVar8,uVar3); + *param_1 = puVar1; + return 0; +} + + + +############ FUN_ 18002e360 size=84 ############ + +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +longlong FUN_18002e360(uint param_1,longlong param_2,char param_3,longlong param_4) + +{ + int iVar1; + longlong lVar2; + int iVar3; + int iVar4; + int iVar5; + int iVar6; + int iVar7; + longlong lVar8; + int iVar9; + int iVar10; + int iVar11; + int iVar12; + int iVar13; + int iVar14; + int iVar15; + int iVar16; + uint uVar17; + int iVar18; + int iVar19; + int iVar20; + int iVar21; + int iVar22; + int iVar23; + int iVar24; + int iVar25; + int iVar26; + int iVar27; + ulonglong uVar28; + ulonglong uVar29; + uint uStack_168; + int iStack_b8; + int iStack_b0; + int iStack_a8; + int iStack_a0; + int iStack_98; + int iStack_38; + int iStack_30; + + iVar6 = 1 << ((byte)param_1 & 0x1f); + if (iVar6 < 9) { + return param_4; + } + if ((param_1 == 4) || (10 < (int)param_1)) { + iVar13 = 2; + } + else { + iVar13 = 3; + } + iVar11 = -iVar13; + if (iVar13 < (int)param_1) { + lVar2 = param_4; + do { + lVar8 = lVar2; + if ((param_1 + iVar11 == 2) || (param_1 + iVar11 == 4)) goto LAB_18002e430; + if ((int)param_1 < 0xb) goto LAB_18002ed1b; + if ((param_1 & 1) == 0) { +LAB_18002e430: + iVar11 = iVar11 + -2; + iVar13 = iVar13 + 2; + uVar17 = 0; + iVar7 = 1 << (param_3 + (char)iVar11 & 0x1fU); + iVar3 = 1 << ((byte)iVar13 & 0x1f); + iVar14 = (int)(((uint)(iVar3 >> 1) >> 0x1e) + iVar3) >> 2; + if (0 < iVar14) { + iVar4 = iVar3 / 2; + iVar18 = iVar7 * iVar4; + iVar10 = iVar7 * iVar14; + iVar3 = ((int)(((uint)(iVar3 * 3 >> 1) >> 0x1e) + iVar3 * 3) >> 2) * iVar7; + iVar15 = iVar7 * 0xc; + iVar9 = iVar7 * 2 - iVar10; + iVar24 = iVar7 * 3 - iVar18; + iVar22 = iVar7 * 6 - iVar18; + iVar23 = iVar7 * 6 - iVar10; + iVar16 = iVar7 * 3 - iVar10; + iVar25 = iVar7 * 9 - iVar18; + iVar19 = iVar7 * 9 - iVar10; + do { + iVar12 = iVar7 * 4 * uVar17; + lVar8 = (longlong)(int)uVar17 * 0xc0; + iVar5 = iVar7 * 8 * uVar17; + *(undefined8 *)(lVar2 + lVar8) = + *(undefined8 *)(param_2 + (longlong)(iVar10 - iVar12) * 8); + *(ulonglong *)(lVar2 + 0x20 + lVar8) = + *(ulonglong *)(param_2 + (longlong)iVar12 * 8) ^ _DAT_181c5e110; + if (iVar14 < (int)(uVar17 * 8)) { + *(ulonglong *)(lVar2 + 0x40 + lVar8) = + *(ulonglong *)(param_2 + (longlong)-(iVar10 - iVar5) * 8) ^ _DAT_181c5e110; + *(ulonglong *)(lVar2 + 0x60 + lVar8) = + *(ulonglong *)(param_2 + (longlong)(iVar18 - iVar5) * 8) ^ _DAT_181c5e110; + } + else { + *(undefined8 *)(lVar2 + 0x40 + lVar8) = + *(undefined8 *)(param_2 + (longlong)(iVar10 - iVar5) * 8); + *(ulonglong *)(lVar2 + 0x60 + lVar8) = + *(ulonglong *)(param_2 + (longlong)iVar5 * 8) ^ _DAT_181c5e110; + } + if (iVar14 < (int)(uVar17 * 0xc)) { + iVar1 = iVar15 * uVar17; + if (iVar4 < (int)(uVar17 * 0xc)) { + *(ulonglong *)(lVar2 + 0x80 + lVar8) = + *(ulonglong *)(param_2 + (longlong)(iVar3 - iVar1) * 8) ^ _DAT_181c5e110; + uVar28 = *(ulonglong *)(param_2 + (longlong)(iVar1 - iVar18) * 8); + } + else { + *(ulonglong *)(lVar2 + 0x80 + lVar8) = + *(ulonglong *)(param_2 + (longlong)(iVar1 - iVar10) * 8) ^ _DAT_181c5e110; + uVar28 = *(ulonglong *)(param_2 + (longlong)(iVar18 - iVar1) * 8) ^ _DAT_181c5e110; + } + } + else { + *(undefined8 *)(lVar2 + 0x80 + lVar8) = + *(undefined8 *)(param_2 + (longlong)(int)(iVar10 - iVar15 * uVar17) * 8); + uVar28 = *(ulonglong *)(param_2 + (longlong)(int)(iVar15 * uVar17) * 8) ^ + _DAT_181c5e110; + } + iVar1 = iVar15 * uVar17; + *(ulonglong *)(lVar2 + 0xa0 + lVar8) = uVar28; + *(undefined8 *)(lVar2 + 8 + lVar8) = + *(undefined8 *)(param_2 + (longlong)((iVar10 - iVar7) - iVar12) * 8); + iVar26 = iVar5 + iVar9; + *(ulonglong *)(lVar2 + 0x28 + lVar8) = + *(ulonglong *)(param_2 + (longlong)(iVar12 + iVar7) * 8) ^ _DAT_181c5e110; + if (iVar14 < (int)(uVar17 * 8 + 2)) { + *(ulonglong *)(lVar2 + 0x48 + lVar8) = + *(ulonglong *)(param_2 + (longlong)iVar26 * 8) ^ _DAT_181c5e110; + *(ulonglong *)(lVar2 + 0x68 + lVar8) = + *(ulonglong *)(param_2 + (longlong)((iVar18 + iVar7 * -2) - iVar5) * 8) ^ + _DAT_181c5e110; + } + else { + *(undefined8 *)(lVar2 + 0x48 + lVar8) = + *(undefined8 *)(param_2 + (longlong)-iVar26 * 8); + *(ulonglong *)(lVar2 + 0x68 + lVar8) = + *(ulonglong *)(param_2 + (longlong)(iVar5 + iVar7 * 2) * 8) ^ _DAT_181c5e110; + } + iVar26 = uVar17 * 0xc + 3; + if (iVar14 < iVar26) { + if (iVar4 < iVar26) { + *(ulonglong *)(lVar2 + 0x88 + lVar8) = + *(ulonglong *)(param_2 + (longlong)((iVar3 + iVar7 * -3) - iVar1) * 8) ^ + _DAT_181c5e110; + uVar28 = *(ulonglong *)(param_2 + (longlong)(iVar24 + iVar1) * 8); + } + else { + *(ulonglong *)(lVar2 + 0x88 + lVar8) = + *(ulonglong *)(param_2 + (longlong)(iVar1 + iVar16) * 8) ^ _DAT_181c5e110; + uVar28 = *(ulonglong *)(param_2 + (longlong)-(iVar24 + iVar1) * 8) ^ _DAT_181c5e110; + } + } + else { + *(undefined8 *)(lVar2 + 0x88 + lVar8) = + *(undefined8 *)(param_2 + (longlong)-(iVar1 + iVar16) * 8); + uVar28 = *(ulonglong *)(param_2 + (longlong)(iVar1 + iVar7 * 3) * 8) ^ _DAT_181c5e110; + } + *(ulonglong *)(lVar2 + 0xa8 + lVar8) = uVar28; + *(undefined8 *)(lVar2 + 0x10 + lVar8) = + *(undefined8 *)(param_2 + (longlong)-(iVar12 + iVar9) * 8); + iVar26 = (iVar7 * 4 - iVar10) + iVar5; + *(ulonglong *)(lVar2 + 0x30 + lVar8) = + *(ulonglong *)(param_2 + (longlong)(iVar12 + iVar7 * 2) * 8) ^ _DAT_181c5e110; + if (iVar14 < (int)(uVar17 * 8 + 4)) { + *(ulonglong *)(lVar2 + 0x50 + lVar8) = + *(ulonglong *)(param_2 + (longlong)iVar26 * 8) ^ _DAT_181c5e110; + *(ulonglong *)(lVar2 + 0x70 + lVar8) = + *(ulonglong *)(param_2 + (longlong)((iVar18 + iVar7 * -4) - iVar5) * 8) ^ + _DAT_181c5e110; + } + else { + *(undefined8 *)(lVar2 + 0x50 + lVar8) = + *(undefined8 *)(param_2 + (longlong)-iVar26 * 8); + *(ulonglong *)(lVar2 + 0x70 + lVar8) = + *(ulonglong *)(param_2 + (longlong)(iVar5 + iVar7 * 4) * 8) ^ _DAT_181c5e110; + } + iVar26 = uVar17 * 0xc + 6; + if (iVar14 < iVar26) { + if (iVar4 < iVar26) { + *(ulonglong *)(lVar2 + 0x90 + lVar8) = + *(ulonglong *)(param_2 + (longlong)((iVar7 * -6 + iVar3) - iVar1) * 8) ^ + _DAT_181c5e110; + uVar28 = *(ulonglong *)(param_2 + (longlong)(iVar1 + iVar22) * 8); + } + else { + *(ulonglong *)(lVar2 + 0x90 + lVar8) = + *(ulonglong *)(param_2 + (longlong)(iVar1 + iVar23) * 8) ^ _DAT_181c5e110; + uVar28 = *(ulonglong *)(param_2 + (longlong)-(iVar1 + iVar22) * 8) ^ _DAT_181c5e110; + } + } + else { + *(undefined8 *)(lVar2 + 0x90 + lVar8) = + *(undefined8 *)(param_2 + (longlong)-(iVar1 + iVar23) * 8); + uVar28 = *(ulonglong *)(param_2 + (longlong)(iVar1 + iVar7 * 6) * 8) ^ _DAT_181c5e110; + } + *(ulonglong *)(lVar2 + 0xb0 + lVar8) = uVar28; + *(undefined8 *)(lVar2 + 0x18 + lVar8) = + *(undefined8 *)(param_2 + (longlong)-(iVar12 + iVar16) * 8); + *(ulonglong *)(lVar2 + 0x38 + lVar8) = + *(ulonglong *)(param_2 + (longlong)(iVar12 + iVar7 * 3) * 8) ^ _DAT_181c5e110; + if (iVar14 < (int)(uVar17 * 8 + 6)) { + *(ulonglong *)(lVar2 + 0x58 + lVar8) = + *(ulonglong *)(param_2 + (longlong)(iVar5 + iVar23) * 8) ^ _DAT_181c5e110; + *(ulonglong *)(lVar2 + 0x78 + lVar8) = + *(ulonglong *)(param_2 + (longlong)-(iVar5 + iVar22) * 8) ^ _DAT_181c5e110; + } + else { + *(undefined8 *)(lVar2 + 0x58 + lVar8) = + *(undefined8 *)(param_2 + (longlong)-(iVar5 + iVar23) * 8); + *(ulonglong *)(lVar2 + 0x78 + lVar8) = + *(ulonglong *)(param_2 + (longlong)(iVar5 + iVar7 * 6) * 8) ^ _DAT_181c5e110; + } + iVar5 = uVar17 * 0xc + 9; + if (iVar14 < iVar5) { + if (iVar4 < iVar5) { + *(ulonglong *)(lVar2 + 0x98 + lVar8) = + *(ulonglong *)(param_2 + (longlong)((iVar3 + iVar7 * -9) - iVar1) * 8) ^ + _DAT_181c5e110; + uVar28 = *(ulonglong *)(param_2 + (longlong)(iVar1 + iVar25) * 8); + } + else { + *(ulonglong *)(lVar2 + 0x98 + lVar8) = + *(ulonglong *)(param_2 + (longlong)(iVar1 + iVar19) * 8) ^ _DAT_181c5e110; + uVar28 = *(ulonglong *)(param_2 + (longlong)-(iVar1 + iVar25) * 8) ^ _DAT_181c5e110; + } + } + else { + *(undefined8 *)(lVar2 + 0x98 + lVar8) = + *(undefined8 *)(param_2 + (longlong)-(iVar1 + iVar19) * 8); + uVar28 = *(ulonglong *)(param_2 + (longlong)(iVar1 + iVar7 * 9) * 8) ^ _DAT_181c5e110; + } + uVar17 = uVar17 + 1; + *(ulonglong *)(lVar2 + 0xb8 + lVar8) = uVar28; + } while (uVar17 < (uint)((int)(iVar14 + 3 + ((uint)(iVar14 + 3 >> 1) >> 0x1e)) >> 2)); + lVar8 = lVar2 + (longlong)(int)uVar17 * 0xc0; + } + } + else { + if (param_1 == 0xb) { + if (iVar13 < 5) goto LAB_18002ed1b; + goto LAB_18002e430; + } + if ((0xe < (int)param_1) && (iVar13 == 8)) goto LAB_18002e430; +LAB_18002ed1b: + iVar11 = iVar11 + -3; + iVar13 = iVar13 + 3; + iVar14 = 0; + iVar4 = 0; + iVar9 = 1 << (param_3 + (char)iVar11 & 0x1fU); + iVar7 = 0; + iVar10 = 1 << ((byte)iVar13 & 0x1f); + iVar3 = (int)(((uint)(iVar10 >> 2) >> 0x1d) + iVar10) >> 3; + if (0 < iVar3) { + iVar12 = (int)(((uint)(iVar10 * 3 >> 1) >> 0x1e) + iVar10 * 3) >> 2; + iVar24 = iVar9 * iVar12; + iVar25 = iVar10 / 2; + iVar27 = iVar9 * iVar25; + iVar26 = (int)(iVar10 + ((uint)(iVar10 >> 1) >> 0x1e)) >> 2; + iVar5 = iVar9 * iVar26; + iStack_98 = 0; + iStack_a0 = 0; + iStack_a8 = 0; + iStack_b0 = 0; + iStack_38 = 0; + iStack_30 = 0; + iStack_b8 = 0; + uStack_168 = 0; + iVar1 = 0; + iVar16 = 0; + iVar15 = 0; + iVar18 = 0; + iVar19 = 0; + iVar22 = 0; + iVar23 = 0; + do { + lVar8 = lVar2 + (longlong)(int)uStack_168 * 0x1c0; + uVar17 = 0; + do { + uVar28 = (ulonglong)uVar17; + *(undefined8 *)(lVar8 + uVar28 * 8) = + *(undefined8 *)(param_2 + (longlong)(int)((iVar5 - iVar15) - iVar9 * uVar17) * 8) + ; + iVar20 = iVar9 * 2 * uVar17; + *(ulonglong *)(lVar8 + 0x20 + uVar28 * 8) = + *(ulonglong *)(param_2 + (longlong)(int)(iVar9 * uVar17 + iVar15) * 8) ^ + _DAT_181c5e110; + *(undefined8 *)(lVar8 + 0x40 + uVar28 * 8) = + *(undefined8 *)(param_2 + (longlong)((iVar5 - iVar16) - iVar20) * 8); + iVar21 = iVar9 * 3 * uVar17; + *(ulonglong *)(lVar8 + 0x60 + uVar28 * 8) = + *(ulonglong *)(param_2 + (longlong)(iVar20 + iVar16) * 8) ^ _DAT_181c5e110; + iVar20 = (iVar5 + iVar1) - iVar21; + if (iVar26 < (int)(uVar17 * 3 + iVar14)) { + *(ulonglong *)(lVar8 + 0x80 + uVar28 * 8) = + *(ulonglong *)(param_2 + (longlong)-iVar20 * 8) ^ _DAT_181c5e110; + *(ulonglong *)(lVar8 + 0xa0 + uVar28 * 8) = + *(ulonglong *)(param_2 + (longlong)((iVar27 + iVar1) - iVar21) * 8) ^ + _DAT_181c5e110; + } + else { + *(undefined8 *)(lVar8 + 0x80 + uVar28 * 8) = + *(undefined8 *)(param_2 + (longlong)iVar20 * 8); + *(ulonglong *)(lVar8 + 0xa0 + uVar28 * 8) = + *(ulonglong *)(param_2 + (longlong)(iVar21 + iStack_b8) * 8) ^ _DAT_181c5e110; + } + iVar20 = iVar9 * 4 * uVar17; + iVar21 = (iVar5 + iVar23) - iVar20; + if (iVar26 < (int)(iVar4 + uVar17 * 4)) { + *(ulonglong *)(lVar8 + 0xc0 + uVar28 * 8) = + *(ulonglong *)(param_2 + (longlong)-iVar21 * 8) ^ _DAT_181c5e110; + *(ulonglong *)(lVar8 + 0xe0 + uVar28 * 8) = + *(ulonglong *)(param_2 + (longlong)((iVar27 + iVar23) - iVar20) * 8) ^ + _DAT_181c5e110; + } + else { + *(undefined8 *)(lVar8 + 0xc0 + uVar28 * 8) = + *(undefined8 *)(param_2 + (longlong)iVar21 * 8); + *(ulonglong *)(lVar8 + 0xe0 + uVar28 * 8) = + *(ulonglong *)(param_2 + (longlong)(iVar20 + iStack_98) * 8) ^ _DAT_181c5e110; + } + iVar20 = uVar17 * 5 + iStack_30; + if (iVar26 < iVar20) { + iVar21 = iVar9 * 5 * uVar17; + if (iVar25 < iVar20) { + *(ulonglong *)(lVar8 + 0x100 + uVar28 * 8) = + *(ulonglong *)(param_2 + (longlong)((iVar24 + iVar22) - iVar21) * 8) ^ + _DAT_181c5e110; + uVar29 = *(ulonglong *)(param_2 + (longlong)(iVar21 - (iVar27 + iVar22)) * 8); + } + else { + *(ulonglong *)(lVar8 + 0x100 + uVar28 * 8) = + *(ulonglong *)(param_2 + (longlong)(iVar21 - (iVar5 + iVar22)) * 8) ^ + _DAT_181c5e110; + uVar29 = *(ulonglong *)(param_2 + (longlong)((iVar27 + iVar22) - iVar21) * 8) ^ + _DAT_181c5e110; + } + } + else { + iVar20 = iVar9 * 5 * uVar17; + *(undefined8 *)(lVar8 + 0x100 + uVar28 * 8) = + *(undefined8 *)(param_2 + (longlong)((iVar5 + iVar22) - iVar20) * 8); + uVar29 = *(ulonglong *)(param_2 + (longlong)(iVar20 + iStack_a0) * 8) ^ + _DAT_181c5e110; + } + *(ulonglong *)(lVar8 + 0x120 + uVar28 * 8) = uVar29; + iVar20 = iVar7 + uVar17 * 6; + if (iVar26 < iVar20) { + iVar21 = iVar9 * 6 * uVar17; + if (iVar25 < iVar20) { + *(ulonglong *)(lVar8 + 0x140 + uVar28 * 8) = + *(ulonglong *)(param_2 + (longlong)((iVar24 + iVar19) - iVar21) * 8) ^ + _DAT_181c5e110; + uVar29 = *(ulonglong *)(param_2 + (longlong)(iVar21 - (iVar27 + iVar19)) * 8); + } + else { + *(ulonglong *)(lVar8 + 0x140 + uVar28 * 8) = + *(ulonglong *)(param_2 + (longlong)(iVar21 - (iVar5 + iVar19)) * 8) ^ + _DAT_181c5e110; + uVar29 = *(ulonglong *)(param_2 + (longlong)((iVar27 + iVar19) - iVar21) * 8) ^ + _DAT_181c5e110; + } + } + else { + iVar20 = iVar9 * 6 * uVar17; + *(undefined8 *)(lVar8 + 0x140 + uVar28 * 8) = + *(undefined8 *)(param_2 + (longlong)((iVar5 + iVar19) - iVar20) * 8); + uVar29 = *(ulonglong *)(param_2 + (longlong)(iVar20 + iStack_a8) * 8) ^ + _DAT_181c5e110; + } + *(ulonglong *)(lVar8 + 0x160 + uVar28 * 8) = uVar29; + iVar20 = uVar17 * 7 + iStack_38; + if (iVar26 < iVar20) { + iVar21 = iVar9 * 7 * uVar17; + if (iVar25 < iVar20) { + if (iVar12 < iVar20) { + uVar29 = *(ulonglong *)(param_2 + (longlong)(iVar21 - (iVar24 + iVar18)) * 8); + } + else { + uVar29 = *(ulonglong *)(param_2 + (longlong)((iVar24 + iVar18) - iVar21) * 8) ^ + _DAT_181c5e110; + } + *(ulonglong *)(lVar8 + 0x180 + uVar28 * 8) = uVar29; + if (iVar12 < iVar20) { + uVar29 = *(ulonglong *) + (param_2 + (longlong)((iVar10 * iVar9 + iVar18) - iVar21) * 8); + } + else { + uVar29 = *(ulonglong *)(param_2 + (longlong)(iVar21 - (iVar27 + iVar18)) * 8); + } + } + else { + *(ulonglong *)(lVar8 + 0x180 + uVar28 * 8) = + *(ulonglong *)(param_2 + (longlong)(iVar21 - (iVar5 + iVar18)) * 8) ^ + _DAT_181c5e110; + uVar29 = *(ulonglong *)(param_2 + (longlong)((iVar27 + iVar18) - iVar21) * 8) ^ + _DAT_181c5e110; + } + } + else { + iVar20 = iVar9 * 7 * uVar17; + *(undefined8 *)(lVar8 + 0x180 + uVar28 * 8) = + *(undefined8 *)(param_2 + (longlong)((iVar5 + iVar18) - iVar20) * 8); + uVar29 = *(ulonglong *)(param_2 + (longlong)(iVar20 + iStack_b0) * 8) ^ + _DAT_181c5e110; + } + uVar17 = uVar17 + 1; + *(ulonglong *)(lVar8 + 0x1a0 + uVar28 * 8) = uVar29; + } while (uVar17 < 4); + iVar14 = iVar14 + 0xc; + iVar4 = iVar4 + 0x10; + iVar7 = iVar7 + 0x18; + iVar15 = iVar15 + iVar9 * 4; + iStack_98 = iStack_98 + iVar9 * 0x10; + lVar8 = lVar2 + 0x1c0 + (longlong)(int)uStack_168 * 0x1c0; + iVar16 = iVar16 + iVar9 * 8; + iStack_a0 = iStack_a0 + iVar9 * 0x14; + iStack_a8 = iStack_a8 + iVar9 * 0x18; + iStack_b0 = iStack_b0 + iVar9 * 0x1c; + iStack_b8 = iStack_b8 + iVar9 * 0xc; + uStack_168 = uStack_168 + 1; + iVar23 = iVar23 + iVar9 * -0x10; + iStack_30 = iStack_30 + 0x14; + iVar22 = iVar22 + iVar9 * -0x14; + iVar19 = iVar19 + iVar9 * -0x18; + iStack_38 = iStack_38 + 0x1c; + iVar18 = iVar18 + iVar9 * -0x1c; + iVar1 = iVar1 + iVar9 * -0xc; + } while (uStack_168 < (uint)((int)(iVar3 + 3 + ((uint)(iVar3 + 3 >> 1) >> 0x1e)) >> 2)); + } + } + lVar2 = lVar8; + } while (iVar13 < (int)param_1); + } + uVar28 = param_4 + (longlong)iVar6 * 0x10; + return uVar28 + (-(uVar28 & 0x3f) & 0x3f); +} + + + +############ FUN_ 180023860 size=93 ############ + +/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ + +longlong FUN_180023860(uint param_1,longlong param_2,char param_3,longlong param_4) + +{ + int iVar1; + int iVar2; + int iVar3; + int iVar4; + longlong lVar5; + uint uVar6; + int iVar7; + longlong lVar8; + int iVar9; + int iVar10; + int iVar11; + int iVar12; + longlong lVar13; + longlong lVar14; + int iVar15; + int iVar16; + int iVar17; + int iVar18; + int iVar19; + int iVar20; + int iVar21; + int iVar22; + int iVar23; + ulonglong uVar24; + longlong lVar25; + uint uVar26; + int iVar27; + longlong lVar28; + int iVar29; + int iVar30; + int iVar31; + int iVar32; + uint uVar33; + int iVar34; + int iVar35; + undefined8 uVar36; + + iVar18 = 1 << ((byte)param_1 & 0x1f); + if (8 < iVar18) { + if ((((param_1 & 0xfffffffe) == 4) || (param_1 - 7 < 2)) || (param_1 == 10)) { + iVar10 = 2; + } + else { + iVar10 = 3; + } + iVar7 = -iVar10; + lVar8 = param_4; + while (iVar10 < (int)param_1) { + iVar30 = param_1 + iVar7; + if (((iVar30 == 2) || (iVar30 == 4)) || ((iVar30 == 5 || (iVar30 == 7)))) { + iVar7 = iVar7 + -2; + iVar10 = iVar10 + 2; + iVar30 = 1 << (param_3 + (char)iVar7 & 0x1fU); + uVar26 = 0; + iVar31 = 0; + iVar32 = 1 << ((byte)iVar10 & 0x1f); + iVar15 = 0; + lVar28 = 0; + iVar34 = (int)(((uint)(iVar32 >> 1) >> 0x1e) + iVar32) >> 2; + if (0 < iVar34) { + iVar3 = iVar30 * iVar34; + lVar25 = (longlong)iVar3; + iVar9 = iVar32 / 2; + lVar13 = (longlong)(iVar3 - iVar30); + iVar21 = iVar30 * 2; + iVar12 = iVar30 * iVar9; + iVar19 = ((int)(((uint)(iVar32 * 3 >> 1) >> 0x1e) + iVar32 * 3) >> 2) * iVar30; + lVar5 = (longlong)iVar30; + iVar35 = iVar30 * 3 - iVar12; + iVar16 = iVar30 * 3 - iVar3; + iVar11 = 0; + iVar17 = 0; + iVar4 = 0; + iVar32 = 0; + lVar14 = 0; + do { + *(undefined8 *)(lVar28 + lVar8) = *(undefined8 *)(param_2 + lVar25 * 8); + uVar36 = *(undefined8 *)(param_2 + lVar14 * 8); + *(ulonglong *)(lVar28 + 0x10 + lVar8) = + CONCAT44((uint)((ulonglong)uVar36 >> 0x20) ^ _UNK_181c5de94, + (uint)uVar36 ^ _DAT_181c5de90); + if (iVar34 < iVar31) { + uVar36 = *(undefined8 *)(param_2 + (longlong)-(iVar3 + iVar17) * 8); + *(ulonglong *)(lVar28 + 0x20 + lVar8) = + CONCAT44((uint)((ulonglong)uVar36 >> 0x20) ^ _UNK_181c5de94, + (uint)uVar36 ^ _DAT_181c5de90); + uVar36 = *(undefined8 *)(param_2 + (longlong)(iVar12 + iVar17) * 8); + *(ulonglong *)(lVar28 + 0x30 + lVar8) = + CONCAT44((uint)((ulonglong)uVar36 >> 0x20) ^ _UNK_181c5de94, + (uint)uVar36 ^ _DAT_181c5de90); + } + else { + *(undefined8 *)(lVar28 + 0x20 + lVar8) = + *(undefined8 *)(param_2 + (longlong)(iVar3 + iVar17) * 8); + uVar36 = *(undefined8 *)(param_2 + (longlong)iVar11 * 8); + *(ulonglong *)(lVar28 + 0x30 + lVar8) = + CONCAT44((uint)((ulonglong)uVar36 >> 0x20) ^ _UNK_181c5de94, + (uint)uVar36 ^ _DAT_181c5de90); + } + if (iVar34 < iVar15) { + if (iVar9 < iVar15) { + uVar36 = *(undefined8 *)(param_2 + (longlong)(iVar19 + iVar32) * 8); + *(ulonglong *)(lVar28 + 0x40 + lVar8) = + CONCAT44((uint)((ulonglong)uVar36 >> 0x20) ^ _UNK_181c5de94, + (uint)uVar36 ^ _DAT_181c5de90); + uVar36 = *(undefined8 *)(param_2 + (longlong)-(iVar12 + iVar32) * 8); + } + else { + uVar36 = *(undefined8 *)(param_2 + (longlong)-(iVar3 + iVar32) * 8); + *(ulonglong *)(lVar28 + 0x40 + lVar8) = + CONCAT44((uint)((ulonglong)uVar36 >> 0x20) ^ _UNK_181c5de94, + (uint)uVar36 ^ _DAT_181c5de90); + uVar36 = *(undefined8 *)(param_2 + (longlong)(iVar12 + iVar32) * 8); + uVar36 = CONCAT44((uint)((ulonglong)uVar36 >> 0x20) ^ _UNK_181c5de94, + (uint)uVar36 ^ _DAT_181c5de90); + } + } + else { + *(undefined8 *)(lVar28 + 0x40 + lVar8) = + *(undefined8 *)(param_2 + (longlong)(iVar3 + iVar32) * 8); + uVar36 = *(undefined8 *)(param_2 + (longlong)iVar4 * 8); + uVar36 = CONCAT44((uint)((ulonglong)uVar36 >> 0x20) ^ _UNK_181c5de94, + (uint)uVar36 ^ _DAT_181c5de90); + } + *(undefined8 *)(lVar28 + 0x50 + lVar8) = uVar36; + *(undefined8 *)(lVar28 + 8 + lVar8) = *(undefined8 *)(param_2 + lVar13 * 8); + uVar36 = *(undefined8 *)(param_2 + lVar5 * 8); + *(ulonglong *)(lVar28 + 0x18 + lVar8) = + CONCAT44((uint)((ulonglong)uVar36 >> 0x20) ^ _UNK_181c5de94, + (uint)uVar36 ^ _DAT_181c5de90); + iVar20 = (iVar21 - iVar3) + iVar11; + if (iVar34 < iVar31 + 2) { + uVar36 = *(undefined8 *)(param_2 + (longlong)iVar20 * 8); + *(ulonglong *)(lVar28 + 0x28 + lVar8) = + CONCAT44((uint)((ulonglong)uVar36 >> 0x20) ^ _UNK_181c5de94, + (uint)uVar36 ^ _DAT_181c5de90); + uVar36 = *(undefined8 *)(param_2 + (longlong)((iVar12 + iVar30 * -2) - iVar11) * 8); + *(ulonglong *)(lVar28 + 0x38 + lVar8) = + CONCAT44((uint)((ulonglong)uVar36 >> 0x20) ^ _UNK_181c5de94, + (uint)uVar36 ^ _DAT_181c5de90); + } + else { + *(undefined8 *)(lVar28 + 0x28 + lVar8) = + *(undefined8 *)(param_2 + (longlong)-iVar20 * 8); + uVar36 = *(undefined8 *)(param_2 + (longlong)(iVar11 + iVar30 * 2) * 8); + *(ulonglong *)(lVar28 + 0x38 + lVar8) = + CONCAT44((uint)((ulonglong)uVar36 >> 0x20) ^ _UNK_181c5de94, + (uint)uVar36 ^ _DAT_181c5de90); + } + if (iVar34 < iVar15 + 3) { + if (iVar9 < iVar15 + 3) { + uVar36 = *(undefined8 *)(param_2 + (longlong)((iVar19 + iVar30 * -3) - iVar4) * 8); + *(ulonglong *)(lVar28 + 0x48 + lVar8) = + CONCAT44((uint)((ulonglong)uVar36 >> 0x20) ^ _UNK_181c5de94, + (uint)uVar36 ^ _DAT_181c5de90); + uVar36 = *(undefined8 *)(param_2 + (longlong)(iVar35 + iVar4) * 8); + } + else { + uVar36 = *(undefined8 *)(param_2 + (longlong)(iVar4 + iVar16) * 8); + *(ulonglong *)(lVar28 + 0x48 + lVar8) = + CONCAT44((uint)((ulonglong)uVar36 >> 0x20) ^ _UNK_181c5de94, + (uint)uVar36 ^ _DAT_181c5de90); + uVar36 = *(undefined8 *)(param_2 + (longlong)-(iVar35 + iVar4) * 8); + uVar36 = CONCAT44((uint)((ulonglong)uVar36 >> 0x20) ^ _UNK_181c5de94, + (uint)uVar36 ^ _DAT_181c5de90); + } + } + else { + *(undefined8 *)(lVar28 + 0x48 + lVar8) = + *(undefined8 *)(param_2 + (longlong)-(iVar4 + iVar16) * 8); + uVar36 = *(undefined8 *)(param_2 + (longlong)(iVar4 + iVar30 * 3) * 8); + uVar36 = CONCAT44((uint)((ulonglong)uVar36 >> 0x20) ^ _UNK_181c5de94, + (uint)uVar36 ^ _DAT_181c5de90); + } + uVar26 = uVar26 + 1; + iVar31 = iVar31 + 4; + *(undefined8 *)(lVar28 + 0x58 + lVar8) = uVar36; + iVar15 = iVar15 + 6; + lVar25 = lVar25 + iVar30 * -2; + lVar28 = lVar28 + 0x60; + lVar5 = lVar5 + iVar21; + lVar13 = lVar13 + iVar30 * -2; + lVar14 = lVar14 + iVar21; + iVar17 = iVar17 + iVar30 * -4; + iVar11 = iVar11 + iVar30 * 4; + iVar32 = iVar32 + iVar30 * -6; + iVar4 = iVar4 + iVar30 * 6; + } while (uVar26 < (uint)((iVar34 - (iVar34 + 1 >> 0x1f)) + 1 >> 1)); + lVar8 = lVar8 + (longlong)(int)uVar26 * 0x60; + } + } + else { + iVar7 = iVar7 + -3; + iVar10 = iVar10 + 3; + iVar32 = 1 << (param_3 + (char)iVar7 & 0x1fU); + uVar26 = 0; + iVar34 = 1 << ((byte)iVar10 & 0x1f); + iVar30 = (int)(((uint)(iVar34 >> 2) >> 0x1d) + iVar34) >> 3; + if (0 < iVar30) { + iVar15 = iVar34 / 2; + iVar35 = (int)(iVar34 + ((uint)(iVar34 >> 1) >> 0x1e)) >> 2; + iVar21 = (int)(((uint)(iVar34 * 3 >> 1) >> 0x1e) + iVar34 * 3) >> 2; + iVar31 = 0; + uVar33 = uVar26; + do { + uVar6 = 0; + iVar9 = uVar26 * 2; + iVar27 = (iVar32 * iVar21 - iVar32) + uVar33; + iVar22 = iVar32 * iVar15 + uVar33; + iVar29 = iVar32 * iVar21 + uVar33; + iVar16 = (iVar32 * iVar15 - iVar32) + uVar33; + iVar12 = iVar32 + iVar31; + iVar19 = (iVar32 - iVar32 * iVar35) + iVar31; + iVar17 = 0; + iVar20 = 0; + iVar3 = iVar32 * iVar35 + uVar33; + iVar23 = 0; + iVar4 = 0; + iVar11 = iVar9; + do { + iVar2 = iVar9 + iVar17; + if (iVar35 < iVar2) { + if (iVar15 < iVar2) { + if (iVar21 < iVar2) { + uVar36 = *(undefined8 *)(param_2 + (longlong)(iVar20 - iVar29) * 8); + } + else { + uVar36 = *(undefined8 *)(param_2 + (longlong)(iVar29 - iVar20) * 8); + uVar36 = CONCAT44((uint)((ulonglong)uVar36 >> 0x20) ^ _UNK_181c5de94, + (uint)uVar36 ^ _DAT_181c5de90); + } + } + else { + uVar36 = *(undefined8 *)(param_2 + (longlong)(iVar20 - iVar3) * 8); + uVar36 = CONCAT44((uint)((ulonglong)uVar36 >> 0x20) ^ _UNK_181c5de94, + (uint)uVar36 ^ _DAT_181c5de90); + } + } + else { + uVar36 = *(undefined8 *)(param_2 + (longlong)(iVar3 - iVar20) * 8); + } + uVar24 = (ulonglong)(uVar6 * 4); + *(undefined8 *)(lVar8 + uVar24 * 8) = uVar36; + iVar1 = iVar11 + 1; + if (iVar35 < iVar1) { + if (iVar15 < iVar1) { + if (iVar21 < iVar1) { + uVar36 = *(undefined8 *)(param_2 + (longlong)-(iVar27 + iVar4) * 8); + } + else { + uVar36 = *(undefined8 *)(param_2 + (longlong)(iVar27 + iVar4) * 8); + uVar36 = CONCAT44((uint)((ulonglong)uVar36 >> 0x20) ^ _UNK_181c5de94, + (uint)uVar36 ^ _DAT_181c5de90); + } + } + else { + uVar36 = *(undefined8 *)(param_2 + (longlong)(iVar19 + iVar23) * 8); + uVar36 = CONCAT44((uint)((ulonglong)uVar36 >> 0x20) ^ _UNK_181c5de94, + (uint)uVar36 ^ _DAT_181c5de90); + } + } + else { + uVar36 = *(undefined8 *)(param_2 + (longlong)-(iVar19 + iVar23) * 8); + } + *(undefined8 *)(lVar8 + 8 + uVar24 * 8) = uVar36; + if (iVar35 < iVar2) { + if (iVar15 < iVar2) { + if (iVar21 < iVar2) { + uVar36 = *(undefined8 *) + (param_2 + (longlong)(int)((iVar34 * iVar32 + uVar33) - iVar20) * 8); + } + else { + uVar36 = *(undefined8 *)(param_2 + (longlong)(iVar20 - iVar22) * 8); + } + } + else { + uVar36 = *(undefined8 *)(param_2 + (longlong)(iVar22 - iVar20) * 8); + uVar36 = CONCAT44((uint)((ulonglong)uVar36 >> 0x20) ^ _UNK_181c5de94, + (uint)uVar36 ^ _DAT_181c5de90); + } + } + else { + uVar36 = *(undefined8 *)(param_2 + (longlong)(iVar31 + iVar20) * 8); + uVar36 = CONCAT44((uint)((ulonglong)uVar36 >> 0x20) ^ _UNK_181c5de94, + (uint)uVar36 ^ _DAT_181c5de90); + } + *(undefined8 *)(lVar8 + 0x10 + uVar24 * 8) = uVar36; + if (iVar35 < iVar1) { + if (iVar15 < iVar1) { + if (iVar21 < iVar1) { + uVar36 = *(undefined8 *) + (param_2 + + (longlong)(int)(((iVar34 * iVar32 - iVar32) + uVar33) - iVar23) * 8); + } + else { + uVar36 = *(undefined8 *)(param_2 + (longlong)(iVar23 - iVar16) * 8); + } + } + else { + uVar36 = *(undefined8 *)(param_2 + (longlong)(iVar16 - iVar23) * 8); + uVar36 = CONCAT44((uint)((ulonglong)uVar36 >> 0x20) ^ _UNK_181c5de94, + (uint)uVar36 ^ _DAT_181c5de90); + } + } + else { + uVar36 = *(undefined8 *)(param_2 + (longlong)(iVar12 + iVar23) * 8); + uVar36 = CONCAT44((uint)((ulonglong)uVar36 >> 0x20) ^ _UNK_181c5de94, + (uint)uVar36 ^ _DAT_181c5de90); + } + uVar6 = uVar6 + 1; + iVar17 = iVar17 + iVar9; + iVar20 = iVar20 + iVar31; + iVar23 = iVar23 + iVar12; + iVar11 = iVar11 + iVar9 + 1; + iVar4 = iVar4 - iVar12; + *(undefined8 *)(lVar8 + 0x18 + uVar24 * 8) = uVar36; + } while (uVar6 < 7); + lVar8 = lVar8 + 0xe0; + uVar26 = uVar26 + 1; + uVar33 = uVar33 + iVar32 * -2; + iVar31 = iVar31 + iVar32 * 2; + } while (uVar26 < (uint)((iVar30 - (iVar30 + 1 >> 0x1f)) + 1 >> 1)); + } + } + } + uVar24 = param_4 + (longlong)iVar18 * 0x10; + return uVar24 + (-(uVar24 & 0x3f) & 0x3f); + } + return param_4; +} + + + ############ FUN_ 180039b00 size=1939 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ @@ -367,3 +13916,79 @@ LAB_18003a23f: +############ FUN_ 1803ab5c0 size=1 ############ + +void FUN_1803ab5c0(void) + +{ + return; +} + + + +############ FUN_ 1811310d0 size=33 ############ + +/* WARNING: This is an inlined function */ +/* Library Function - Single Match + __security_check_cookie + + Libraries: Visual Studio 2015, Visual Studio 2017, Visual Studio 2019 */ + +void __cdecl __security_check_cookie(uintptr_t _StackCookie) + +{ + if ((_StackCookie == DAT_182615970) && ((short)(_StackCookie >> 0x30) == 0)) { + return; + } + /* WARNING: Subroutine does not return */ + __report_gsfailure(_StackCookie); +} + + + +############ FUN_ 181136890 size=119 ############ + +undefined8 FUN_181136860(longlong *param_1,uint param_2) + +{ + char cVar1; + longlong *plVar2; + undefined8 *puVar3; + undefined8 *puVar4; + undefined8 *puVar5; + undefined8 *puVar6; + + plVar2 = (longlong *)*param_1; + if (plVar2 != (longlong *)0x0) { + puVar3 = (undefined8 *)param_1[1]; + cVar1 = *(char *)((longlong)puVar3[1] + 0x19); + puVar5 = puVar3; + puVar4 = (undefined8 *)puVar3[1]; + while (cVar1 == '\0') { + if (*(uint *)(puVar4 + 4) < param_2) { + puVar6 = (undefined8 *)puVar4[2]; + puVar4 = puVar5; + } + else { + puVar6 = (undefined8 *)*puVar4; + } + puVar5 = puVar4; + puVar4 = puVar6; + cVar1 = *(char *)((longlong)puVar6 + 0x19); + } + if ((puVar5 == puVar3) || (param_2 < *(uint *)(puVar5 + 4))) { + puVar5 = puVar3; + } + if (puVar5 != puVar3) { + if ((ulonglong)(plVar2[1] - *plVar2 >> 3) <= (ulonglong)puVar5[5]) { + /* WARNING: Subroutine does not return */ + FUN_18047cca0(); + } + return *(undefined8 *)(*plVar2 + puVar5[5] * 8); + } + } + return 0; +} + + + diff --git a/focus_list.txt b/focus_list.txt index 2f9624b..bd6a5cc 100644 --- a/focus_list.txt +++ b/focus_list.txt @@ -1 +1 @@ -180039b00 +1801de760,1801e3f20,18014ec20,1801560a0,18000bfc0,18000c5e0,180008440,180008500,1800437c0,180044700,1800025e0,180529610,18052e9b0,180529fe0,180536f90,180535880,18052da00,18052db50,18052d990,18052dbc0,18003a2a0,18003b6c0,180008140,18002e360,180023860,180039b00,1803ab5c0,1811310d0,181136890 \ No newline at end of file diff --git a/roadmap.md b/roadmap.md index a221b72..d83adf6 100644 --- a/roadmap.md +++ b/roadmap.md @@ -178,3 +178,17 @@ - Dispatch-slot readers (drivers): slot cplx-mul @182615f08 read at 180001c47; stage @182616208 read at 180001e87 => runtime dispatch executors live in 0x180001xxx (thunk chain). - DSP runtime model := plan + per-stage kernel calls (all ops = dispatched vector kernels), all through `thunk_FUN_181ba94b0` from PACE-protected callers. - => Reimplementation path: transcribe stage-loop math (kernel shapes known), replicate plan generation, drive per-stage calls in same order; validate losses to within 0.001 dB on Reaper renders. + +### Twiddle-builder FUN_180039b00 (29-fun dump, 2026-08-17) — TWO-PATH (key finding) +- arg1 = log2(N), arg2 = dest buf. Returns `buf + (N/4+1)*8`, align-down to 0x40. +- Path N <= 1024 (log2 < 0xb): copies sin VALUES directly from static DAT_182616800 (1024 doubles + = sin(k·2π/1024)), stride = 2^(10-log2N); writes buf[k] = sin(k·2π/N); terminator 1.0 at index N/2. + NO sin calls — values are precomputed in static table. +- Path N > 1024: writes ANGLE RAMP buf[k]=k·(2π/N) (two SIMD segments: forward 0..N/8, reversed + N/8..0 via vpsubd), then converts with **thunk_FUN_1801de760** (sin) and **thunk_FUN_1801e3f20** (cos). +- => loader FUN_18014ec20 (cplx-stage twiddle, 8255B) READS 16B-per-iter (2 doubles) and does + Dekker-split math (>>0xc, <<0x28, XOR masks DAT_181c91xxx, Pi-reduction with 1/π, magic 2^52*1.5) + => it RECOMPUTES sin/cos from the angle table; it is NOT a plain copy. 3 twiddle-loader slots + 182617828/850/878 ALL currently point to 0x18014ec20 (same fn). +- CONSEQUENCE: for 44100 => N=N0; if N0<=1024 the twiddle = static sin table (reproducible directly); + if N0>1024 must replicate Cody-Waite sin/cos of FUN_18014ec20 bit-exactly. N0 (+0x19c) still unfound statically.