Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ulonglong UndefinedFunction_004022c0(longlong param_1,uint param_2,int param_3)
- {
- longlong *plVar1;
- longlong lVar2;
- ushort *puVar3;
- byte bVar4;
- undefined2 uVar5;
- longlong *plVar6;
- bool bVar7;
- int iVar8;
- ulonglong uVar9;
- ulonglong uVar10;
- ulonglong uVar11;
- short sVar12;
- uint uVar13;
- longlong lVar14;
- undefined4 *puVar15;
- undefined4 *puVar16;
- short sVar17;
- int iVar18;
- int iVar19;
- longlong lVar20;
- longlong lVar21;
- uint *puVar22;
- longlong lVar23;
- uint uVar24;
- ulonglong uVar25;
- short *psVar26;
- int *piVar27;
- char *pcVar28;
- undefined2 *puVar29;
- undefined2 *puVar30;
- undefined2 *puVar31;
- short *psVar32;
- char *pcVar33;
- short *psVar34;
- undefined *puVar35;
- byte *pbVar36;
- char cVar37;
- int iVar38;
- byte *pbVar39;
- ushort uVar40;
- uint uVar41;
- char cVar42;
- uint uVar43;
- char *pcVar44;
- undefined4 uVar45;
- undefined *puVar46;
- uint uVar47;
- byte *pbVar48;
- byte bVar49;
- uint uVar50;
- uint uVar51;
- undefined4 uVar52;
- short sVar59;
- short sVar60;
- short sVar61;
- short sVar62;
- short sVar63;
- undefined auVar53 [16];
- short sVar57;
- short sVar64;
- undefined auVar54 [16];
- undefined auVar58 [14];
- undefined auVar55 [16];
- undefined auVar56 [16];
- undefined auVar65 [16];
- undefined auVar66 [16];
- undefined auVar67 [16];
- undefined auVar68 [16];
- undefined auVar69 [16];
- undefined auVar70 [14];
- undefined auVar71 [16];
- undefined auVar72 [16];
- undefined auVar73 [16];
- uint uStack256;
- uint uStack248;
- if (param_3 < 1) {
- uStack256 = 0;
- }
- else {
- uVar11 = (ulonglong)*(uint *)(param_1 + 0xa8);
- plVar1 = (longlong *)(param_1 + 8);
- iVar8 = 0;
- auVar68 = (undefined [16])0x1000100010001;
- lVar2 = param_1 + 0x9560;
- auVar72 = (undefined [16])0x1000100010001;
- auVar71 = (undefined [16])0x1000100010001;
- auVar73 = (undefined [16])0x1000100010001;
- uStack256 = param_2;
- do {
- iVar19 = uStack256 - 1;
- pbVar48 = (byte *)(lVar2 + (ulonglong)
- *(byte *)(*(longlong *)(param_1 + 0x58) +
- (ulonglong)(uint)(iVar19 - *(int *)(param_1 + 0x74))) *4)
- ;
- uVar25 = (ulonglong)*pbVar48;
- pbVar39 = (byte *)(lVar2 + ((ulonglong)(uStack256 & 3) + 0x100 + uVar11 * 4) * 4);
- uVar13 = *(uint *)(param_1 + 0x40);
- puVar3 = (ushort *)
- (lVar2 + ((ulonglong)(byte)(&DAT_00432160)[*pbVar39] + 0x270 +
- (ulonglong)(byte)(&DAT_00432160)[uVar25] * 8) * 2);
- uVar43 = *(uint *)(param_1 + 0x3c);
- *(uint *)(param_1 + 0x3c) = uVar13;
- *(uint *)(param_1 + 0x40) = uVar43;
- if (uVar13 < 0x10000) {
- FUN_00417f00(plVar1);
- uVar13 = *(uint *)(param_1 + 0x3c);
- uVar43 = *(uint *)(param_1 + 0x40);
- uVar25 = (ulonglong)*pbVar48;
- }
- uVar40 = *puVar3;
- uVar41 = (int)(uint)uVar40 >> 4;
- if ((uVar13 & 0xfff) < uVar41) {
- iVar8 = (uVar13 >> 0xc) * uVar41 + (uVar13 & 0xfff);
- *(int *)(param_1 + 0x3c) = iVar8;
- *puVar3 = uVar40 + (-uVar40 >> 7);
- *pbVar48 = (&DAT_00431f61)[uVar25 * 2];
- *pbVar39 = (&DAT_00431f61)[(ulonglong)*pbVar39 * 2];
- bVar49 = (&DAT_0042b160)
- [*(byte *)(*(longlong *)(param_1 + 0x58) +
- (ulonglong)(uint)(iVar19 - *(int *)(param_1 + 0x74)))];
- lVar14 = (ulonglong)bVar49 * 0x51;
- if ((&DAT_0042b140)[*(uint *)(param_1 + 0xa8)] == 0) {
- *(uint *)(param_1 + 0x3c) = uVar43;
- *(int *)(param_1 + 0x40) = iVar8;
- if (uVar43 < 0x10000) {
- FUN_00417f00(plVar1);
- }
- uVar13 = *(uint *)(param_1 + 0x3c);
- puVar15 = (undefined4 *)(param_1 + 0x11c0 + (ulonglong)bVar49 * 0xa20);
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)puVar15;
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(puVar15 + 4);
- iVar8 = (uVar13 & 0x3fff) + 1;
- sVar12 = (short)iVar8;
- auVar53 = packsswb(CONCAT214(SUB162(auVar53 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar53 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar53 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar53 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar53
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar53 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar53 >> 0x10,0) -
- sVar12,SUB162(auVar53,0) -
- sVar12))))))),
- CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar54 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar54
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar54 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar54 >> 0x10,0) -
- sVar12,SUB162(auVar54,0) -
- sVar12))))))));
- uVar41 = pmovmskb(iVar8,auVar53);
- uVar43 = 0x1f;
- if (uVar41 != 0) {
- while (uVar41 >> uVar43 == 0) {
- uVar43 = uVar43 - 1;
- }
- }
- uVar50 = -(uVar43 ^ 0x1f) + 0x1f;
- uVar11 = (ulonglong)uVar50;
- uVar41 = (uint)*(ushort *)((longlong)puVar15 + uVar11 * 2);
- *(int *)(param_1 + 0x3c) =
- (uVar13 >> 0xe) *
- (*(ushort *)((longlong)puVar15 + (ulonglong)(-(uVar43 ^ 0x1f) + 0x20 & 0xf) * 2) -
- uVar41 & 0x3fff) + (uVar13 - uVar41 & 0x3fff);
- FUN_00421ad0(puVar15,uVar50);
- uVar13 = *(uint *)(param_1 + 0x40);
- uVar52 = *(undefined4 *)(param_1 + 0x3c);
- *(uint *)(param_1 + 0x3c) = uVar13;
- *(undefined4 *)(param_1 + 0x40) = uVar52;
- if (uVar13 < 0x10000) {
- FUN_00417f00(plVar1);
- uVar13 = *(uint *)(param_1 + 0x3c);
- }
- sVar12 = ((ushort)uVar13 & 0x3fff) + 1;
- lVar23 = (longlong)(int)(uint)bVar49 * 0x51;
- lVar21 = lVar23 + uVar11;
- lVar20 = lVar21 * 0x20;
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(param_1 + 0x11f0 + lVar20);
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(param_1 + (lVar21 + 0x8f) * 0x20);
- auVar53 = packsswb(CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar54 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar54
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar54 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar54 >> 0x10,0) -
- sVar12,SUB162(auVar54,0) -
- sVar12))))))),
- CONCAT214(SUB162(auVar53 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar53 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar53 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar53 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar53
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar53 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar53 >> 0x10,0) -
- sVar12,SUB162(auVar53,0) -
- sVar12))))))));
- uVar41 = pmovmskb((int)lVar20,auVar53);
- uVar43 = 0x1f;
- if (uVar41 != 0) {
- while (uVar41 >> uVar43 == 0) {
- uVar43 = uVar43 - 1;
- }
- }
- uVar24 = -(uVar43 ^ 0x1f) + 0x1f;
- bVar49 = (char)uVar50 * '\x10' | (byte)uVar24;
- lVar21 = (lVar23 + uVar11) * 0x10;
- uVar41 = (uint)*(ushort *)(param_1 + ((ulonglong)uVar24 + 0x8f0 + lVar21) * 2);
- *(int *)(param_1 + 0x3c) =
- (uVar13 - uVar41 & 0x3fff) +
- (*(ushort *)
- (param_1 + (lVar21 + 0x8f0 + (ulonglong)(-(uVar43 ^ 0x1f) + 0x20 & 0xf)) * 2) -
- uVar41 & 0x3fff) * (uVar13 >> 0xe);
- FUN_00421ad0((undefined4 *)((lVar14 + 0x8f + uVar11) * 0x20 + param_1),uVar24);
- }
- else {
- uVar11 = (ulonglong)((uint)(byte)(&DAT_0042b140)[*(uint *)(param_1 + 0xa8)] - 1);
- iVar19 = (uStack256 - *(int *)(param_1 + 0x98)) - *(int *)(param_1 + 0x74);
- bVar4 = *(byte *)(*(longlong *)(param_1 + 0x58) +
- (ulonglong)(iVar19 + (iVar19 >> 0x1f & *(uint *)(param_1 + 0x68))));
- *(uint *)(param_1 + 0x3c) = uVar43;
- *(int *)(param_1 + 0x40) = iVar8;
- uVar25 = (ulonglong)(bVar4 >> 4);
- if (uVar43 < 0x10000) {
- FUN_00417f00(plVar1);
- uVar43 = *(uint *)(param_1 + 0x3c);
- }
- lVar20 = (longlong)(int)(uint)bVar49;
- sVar12 = ((ushort)uVar43 & 0x3fff) + 1;
- lVar21 = uVar11 * 0x10 + lVar20 * 0x51 + uVar25;
- lVar23 = lVar21 * 0x20;
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(param_1 + 0x13f0 + lVar23);
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(param_1 + (lVar21 + 0x9f) * 0x20);
- lVar21 = (lVar20 * 0x51 + uVar25 + uVar11 * 0x10) * 0x10;
- auVar53 = packsswb(CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar54 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar54
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar54 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar54 >> 0x10,0) -
- sVar12,SUB162(auVar54,0) -
- sVar12))))))),
- CONCAT214(SUB162(auVar53 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar53 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar53 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar53 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar53
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar53 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar53 >> 0x10,0) -
- sVar12,SUB162(auVar53,0) -
- sVar12))))))));
- uVar41 = pmovmskb((int)lVar23,auVar53);
- uVar13 = 0x1f;
- if (uVar41 != 0) {
- while (uVar41 >> uVar13 == 0) {
- uVar13 = uVar13 - 1;
- }
- }
- uVar50 = -(uVar13 ^ 0x1f) + 0x1f;
- uVar41 = (uint)*(ushort *)(param_1 + ((ulonglong)uVar50 + 0x9f0 + lVar21) * 2);
- *(int *)(param_1 + 0x3c) =
- (*(ushort *)
- (param_1 + (lVar21 + 0x9f0 + (ulonglong)(-(uVar13 ^ 0x1f) + 0x20 & 0xf)) * 2) -
- uVar41 & 0x3fff) * (uVar43 >> 0xe) + (uVar43 - uVar41 & 0x3fff);
- FUN_00421ad0((undefined4 *)((uVar11 * 0x10 + 0x9f + lVar14 + uVar25) * 0x20 + param_1),
- uVar50);
- if (((uint)bVar4 ^ uVar50 * 0x10) < 0x10) {
- uVar25 = (ulonglong)(byte)((uint)bVar4 & 0xf);
- uVar13 = *(uint *)(param_1 + 0x40);
- *(undefined4 *)(param_1 + 0x40) = *(undefined4 *)(param_1 + 0x3c);
- *(uint *)(param_1 + 0x3c) = uVar13;
- if (uVar13 < 0x10000) {
- FUN_00417f00(plVar1);
- uVar13 = *(uint *)(param_1 + 0x3c);
- }
- sVar12 = ((ushort)uVar13 & 0x3fff) + 1;
- lVar21 = uVar11 * 0x10 + lVar20 * 0x51 + uVar25;
- lVar23 = lVar21 * 0x20;
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(param_1 + 0x17f0 + lVar23);
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(param_1 + (lVar21 + 0xbf) * 0x20);
- auVar53 = packsswb(CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar54 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar54
- >> 0x30
- ,0) - sVar12,
- CONCAT24(SUB162(auVar54 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar54 >> 0x10,0) -
- sVar12,SUB162(auVar54,0) -
- sVar12))))))),
- CONCAT214(SUB162(auVar53 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar53 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar53 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar53 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar53
- >> 0x30
- ,0) - sVar12,
- CONCAT24(SUB162(auVar53 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar53 >> 0x10,0) -
- sVar12,SUB162(auVar53,0) -
- sVar12))))))));
- uVar41 = pmovmskb((int)lVar23,auVar53);
- uVar43 = 0x1f;
- if (uVar41 != 0) {
- while (uVar41 >> uVar43 == 0) {
- uVar43 = uVar43 - 1;
- }
- }
- uVar24 = -(uVar43 ^ 0x1f) + 0x1f;
- bVar49 = (byte)uVar24;
- lVar21 = (lVar20 * 0x51 + uVar25 + uVar11 * 0x10) * 0x10;
- uVar41 = (uint)*(ushort *)(param_1 + ((ulonglong)uVar24 + 0xbf0 + lVar21) * 2);
- *(int *)(param_1 + 0x3c) =
- (uVar13 - uVar41 & 0x3fff) +
- (*(ushort *)
- (param_1 + (lVar21 + 0xbf0 + (ulonglong)(-(uVar43 ^ 0x1f) + 0x20 & 0xf)) * 2) -
- uVar41 & 0x3fff) * (uVar13 >> 0xe);
- FUN_00421ad0((undefined4 *)
- (param_1 +
- ((ulonglong)((uint)bVar4 & 0xf) + uVar11 * 0x10 + 0xbf + lVar14) * 0x20),
- uVar24);
- }
- else {
- uVar13 = *(uint *)(param_1 + 0x40);
- uVar11 = (ulonglong)(uVar50 & 0xfffffff);
- uVar52 = *(undefined4 *)(param_1 + 0x3c);
- *(uint *)(param_1 + 0x3c) = uVar13;
- *(undefined4 *)(param_1 + 0x40) = uVar52;
- if (uVar13 < 0x10000) {
- FUN_00417f00(plVar1);
- uVar13 = *(uint *)(param_1 + 0x3c);
- }
- sVar12 = ((ushort)uVar13 & 0x3fff) + 1;
- lVar21 = lVar20 * 0x51 + uVar11;
- lVar23 = lVar21 * 0x20;
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(param_1 + 0x11f0 + lVar23);
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(param_1 + (lVar21 + 0x8f) * 0x20);
- auVar53 = packsswb(CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar54 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar54
- >> 0x30
- ,0) - sVar12,
- CONCAT24(SUB162(auVar54 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar54 >> 0x10,0) -
- sVar12,SUB162(auVar54,0) -
- sVar12))))))),
- CONCAT214(SUB162(auVar53 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar53 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar53 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar53 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar53
- >> 0x30
- ,0) - sVar12,
- CONCAT24(SUB162(auVar53 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar53 >> 0x10,0) -
- sVar12,SUB162(auVar53,0) -
- sVar12))))))));
- uVar41 = pmovmskb((int)lVar23,auVar53);
- uVar43 = 0x1f;
- if (uVar41 != 0) {
- while (uVar41 >> uVar43 == 0) {
- uVar43 = uVar43 - 1;
- }
- }
- uVar24 = -(uVar43 ^ 0x1f) + 0x1f;
- bVar49 = (byte)uVar24;
- lVar21 = (lVar20 * 0x51 + uVar11) * 0x10;
- uVar41 = (uint)*(ushort *)(param_1 + ((ulonglong)uVar24 + 0x8f0 + lVar21) * 2);
- *(int *)(param_1 + 0x3c) =
- (uVar13 - uVar41 & 0x3fff) +
- (*(ushort *)
- (param_1 + (lVar21 + 0x8f0 + (ulonglong)(-(uVar43 ^ 0x1f) + 0x20 & 0xf)) * 2) -
- uVar41 & 0x3fff) * (uVar13 >> 0xe);
- FUN_00421ad0((undefined4 *)((lVar14 + 0x8f + uVar11) * 0x20 + param_1),uVar24);
- }
- bVar49 = (byte)(uVar50 * 0x10) | bVar49;
- }
- uVar25 = 4;
- *(byte *)(*(longlong *)(param_1 + 0x58) + (ulonglong)(uStack256 - *(int *)(param_1 +0x74)))
- = bVar49;
- iVar8 = 1;
- uVar13 = uStack256 + 1;
- goto LAB_00403130;
- }
- iVar18 = uVar13 - ((uVar13 >> 0xc) + 1) * uVar41;
- *(int *)(param_1 + 0x3c) = iVar18;
- *puVar3 = uVar40 - (short)((int)(uint)uVar40 >> 7);
- *pbVar48 = (&DAT_00431f60)[uVar25 * 2];
- *pbVar39 = (&DAT_00431f60)[(ulonglong)*pbVar39 * 2];
- bVar49 = (&DAT_00432160)[pbVar39[1]];
- bVar4 = (&DAT_00432160)[pbVar48[1]];
- *(uint *)(param_1 + 0x3c) = uVar43;
- *(int *)(param_1 + 0x40) = iVar18;
- puVar3 = (ushort *)(lVar2 + ((ulonglong)bVar49 + 0x270 + (ulonglong)bVar4 * 8) * 2);
- if (uVar43 < 0x10000) {
- FUN_00417f00(plVar1);
- uVar43 = *(uint *)(param_1 + 0x3c);
- }
- uVar40 = *puVar3;
- uVar41 = uVar43 & 0xfff;
- uVar13 = (int)(uint)uVar40 >> 4;
- if (uVar13 <= uVar41) {
- iVar18 = uVar43 - uVar13 * ((uVar43 >> 0xc) + 1);
- lVar14 = 2;
- *(int *)(param_1 + 0x3c) = iVar18;
- *puVar3 = uVar40 - (short)((int)(uint)uVar40 >> 7);
- uVar25 = 0;
- }
- else {
- iVar18 = uVar13 * (uVar43 >> 0xc) + uVar41;
- *(int *)(param_1 + 0x3c) = iVar18;
- lVar14 = 3;
- *puVar3 = uVar40 + (-uVar40 >> 7);
- uVar25 = 2;
- }
- uVar11 = (ulonglong)(uVar13 > uVar41);
- pbVar48[1] = (&DAT_00431f60)[uVar11 + (ulonglong)pbVar48[1] * 2];
- pbVar48 = pbVar48 + lVar14;
- pbVar39[1] = (&DAT_00431f60)[uVar11 + (ulonglong)pbVar39[1] * 2];
- pbVar39 = pbVar39 + lVar14;
- puVar3 = (ushort *)
- (lVar2 + ((ulonglong)(byte)(&DAT_00432160)[*pbVar39] + 0x270 +
- (ulonglong)(byte)(&DAT_00432160)[*pbVar48] * 8) * 2);
- uVar13 = *(uint *)(param_1 + 0x40);
- *(int *)(param_1 + 0x40) = iVar18;
- *(uint *)(param_1 + 0x3c) = uVar13;
- if (uVar13 < 0x10000) {
- FUN_00417f00(plVar1);
- uVar13 = *(uint *)(param_1 + 0x3c);
- }
- uVar40 = *puVar3;
- uVar41 = uVar13 & 0xfff;
- uVar10 = (ulonglong)uVar41;
- uVar43 = (int)(uint)uVar40 >> 4;
- uVar11 = (ulonglong)uVar43;
- if (uVar43 <= uVar41) {
- iVar18 = uVar13 - ((uVar13 >> 0xc) + 1) * uVar43;
- *(int *)(param_1 + 0x3c) = iVar18;
- *puVar3 = uVar40 - (short)((int)(uint)uVar40 >> 7);
- }
- else {
- uVar25 = (ulonglong)((uint)uVar25 | 1);
- iVar18 = (uVar13 >> 0xc) * uVar43 + uVar41;
- *(int *)(param_1 + 0x3c) = iVar18;
- *puVar3 = uVar40 + (-uVar40 >> 7);
- }
- uVar9 = (ulonglong)(uVar43 > uVar41);
- iVar38 = (int)uVar25;
- *pbVar48 = (&DAT_00431f60)[uVar9 + (ulonglong)*pbVar48 * 2];
- uVar13 = (uint)(&DAT_00431f60 + (ulonglong)*pbVar39 * 2);
- *pbVar39 = (&DAT_00431f60 + (ulonglong)*pbVar39 * 2)[uVar9];
- uVar43 = *(uint *)(param_1 + 0x40);
- if (iVar38 == 2) {
- bVar49 = *(byte *)(*(longlong *)(param_1 + 0x58) +
- (ulonglong)(uint)(iVar19 - *(int *)(param_1 + 0x74)));
- *(uint *)(param_1 + 0x3c) = uVar43;
- *(int *)(param_1 + 0x40) = iVar18;
- if (uVar43 < 0x10000) {
- FUN_00417f00(plVar1);
- }
- uVar13 = *(uint *)(param_1 + 0x3c);
- lVar14 = (longlong)(int)(uint)bVar49;
- lVar23 = (ulonglong)bVar49 * 0x40 + param_1;
- lVar21 = lVar14 * 0x20;
- lVar14 = lVar14 * 0x40 + param_1;
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(lVar14 + 0xb5d0);
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(lVar14 + 0xb5e0);
- iVar8 = (uVar13 & 0x3fff) + 1;
- sVar12 = (short)iVar8;
- sVar17 = SUB162(auVar53,0);
- sVar57 = SUB162(auVar53 >> 0x10,0);
- sVar59 = SUB162(auVar53 >> 0x20,0);
- sVar60 = SUB162(auVar53 >> 0x30,0);
- sVar61 = SUB162(auVar53 >> 0x40,0);
- sVar62 = SUB162(auVar53 >> 0x50,0);
- sVar63 = SUB162(auVar53 >> 0x60,0);
- sVar64 = SUB162(auVar53 >> 0x70,0);
- auVar54 = packsswb(CONCAT214(sVar64 - sVar12,
- CONCAT212(sVar63 - sVar12,
- CONCAT210(sVar62 - sVar12,
- CONCAT28(sVar61 - sVar12,
- CONCAT26(sVar60 - sVar12,
- CONCAT24(sVar59 -sVar12,
- CONCAT22(sVar57
- - sVar12,sVar17 - sVar12))))))),
- CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar54 >> 0x40,0) -sVar12
- ,CONCAT26(SUB162(auVar54 >>0x30,0
- ) - sVar12,
- CONCAT24(SUB162(auVar54
- >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar54 >> 0x10,0) - sVar12,
- SUB162(auVar54,0) - sVar12))))))));
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(lVar23 + 0xb600);
- uVar41 = pmovmskb(uVar41,auVar54);
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(lVar14 + 0xb5f0);
- auVar53 = packsswb(CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar54 >> 0x40,0) -sVar12
- ,CONCAT26(SUB162(auVar54 >>0x30,0
- ) - sVar12,
- CONCAT24(SUB162(auVar54
- >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar54 >> 0x10,0) - sVar12,
- SUB162(auVar54,0) - sVar12))))))),
- CONCAT214(SUB162(auVar53 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar53 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar53 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar53 >> 0x40,0) -sVar12
- ,CONCAT26(SUB162(auVar53 >>0x30,0
- ) - sVar12,
- CONCAT24(SUB162(auVar53
- >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar53 >> 0x10,0) - sVar12,
- SUB162(auVar53,0) - sVar12))))))));
- iVar8 = pmovmskb(iVar8,auVar53);
- uVar41 = iVar8 << 0x10 | uVar41;
- uVar43 = 0x1f;
- if (uVar41 != 0) {
- while (uVar41 >> uVar43 == 0) {
- uVar43 = uVar43 - 1;
- }
- }
- uVar11 = (ulonglong)(-(uVar43 ^ 0x1f) + 0x1f);
- uVar41 = (uint)*(ushort *)(param_1 + (lVar21 + 0x5ae8 + uVar11) * 2);
- puVar35 = (undefined *)(uVar11 * 0x40 + DAT_00434778);
- iVar8 = (*(ushort *)(param_1 + (lVar21 + 0x5ae8 + (ulonglong)(-(uVar43 ^ 0x1f) + 0x20)) *2)
- - uVar41) * (uVar13 >> 0xe) + (uVar13 - uVar41 & 0x3fff);
- *(int *)(param_1 + 0x3c) = iVar8;
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)puVar35;
- auVar53 = psraw(CONCAT214(SUB162(auVar53 >> 0x70,0) - sVar64,
- CONCAT212(SUB162(auVar53 >> 0x60,0) - sVar63,
- CONCAT210(SUB162(auVar53 >> 0x50,0) - sVar62,
- CONCAT28(SUB162(auVar53 >> 0x40,0) - sVar61,
- CONCAT26(SUB162(auVar53 >> 0x30,0) -
- sVar60,CONCAT24(SUB162(
- auVar53 >> 0x20,0) - sVar59,
- CONCAT22(SUB162(auVar53 >> 0x10,0) - sVar57,
- SUB162(auVar53,0) - sVar17))))))),7);
- uVar52 = CONCAT22(SUB162(auVar53 >> 0x10,0) + sVar57,SUB162(auVar53,0) + sVar17);
- _uVar52 = CONCAT26(SUB162(auVar53 >> 0x30,0) + sVar60,
- CONCAT24(SUB162(auVar53 >> 0x20,0) + sVar59,uVar52));
- _uVar52 = CONCAT210(SUB162(auVar53 >> 0x50,0) + sVar62,
- CONCAT28(SUB162(auVar53 >> 0x40,0) + sVar61,_uVar52));
- *(undefined4 *)(lVar14 + 0xb5d0) = uVar52;
- *(undefined4 *)(lVar14 + 0xb5d4) = (int)((ulonglong)_uVar52 >> 0x20);
- *(undefined4 *)(lVar14 + 0xb5d8) = SUB124(_uVar52 >> 0x40,0);
- *(undefined4 *)(lVar14 + 0xb5dc) =
- SUB164(CONCAT214(SUB162(auVar53 >> 0x70,0) + sVar64,
- CONCAT212(SUB162(auVar53 >> 0x60,0) + sVar63,_uVar52)) >> 0x60,0);
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(puVar35 + 0x10);
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(lVar14 + 0xb5e0);
- sVar12 = SUB162(auVar54 >> 0x10,0);
- sVar17 = SUB162(auVar54 >> 0x20,0);
- sVar57 = SUB162(auVar54 >> 0x30,0);
- sVar59 = SUB162(auVar54 >> 0x40,0);
- sVar60 = SUB162(auVar54 >> 0x50,0);
- sVar61 = SUB162(auVar54 >> 0x60,0);
- sVar62 = SUB162(auVar54 >> 0x70,0);
- auVar53 = psraw(CONCAT214(SUB162(auVar53 >> 0x70,0) - sVar62,
- CONCAT212(SUB162(auVar53 >> 0x60,0) - sVar61,
- CONCAT210(SUB162(auVar53 >> 0x50,0) - sVar60,
- CONCAT28(SUB162(auVar53 >> 0x40,0) - sVar59,
- CONCAT26(SUB162(auVar53 >> 0x30,0) -
- sVar57,CONCAT24(SUB162(
- auVar53 >> 0x20,0) - sVar17,
- CONCAT22(SUB162(auVar53 >> 0x10,0) - sVar12,
- SUB162(auVar53,0) -SUB162(auVar54,0)))))
- ))),7);
- uVar52 = CONCAT22(sVar12 + SUB162(auVar53 >> 0x10,0),SUB162(auVar54,0) +SUB162(auVar53,0));
- _uVar52 = CONCAT26(sVar57 + SUB162(auVar53 >> 0x30,0),
- CONCAT24(sVar17 + SUB162(auVar53 >> 0x20,0),uVar52));
- _uVar52 = CONCAT210(sVar60 + SUB162(auVar53 >> 0x50,0),
- CONCAT28(sVar59 + SUB162(auVar53 >> 0x40,0),_uVar52));
- *(undefined4 *)(lVar14 + 0xb5e0) = uVar52;
- *(undefined4 *)(lVar14 + 0xb5e4) = (int)((ulonglong)_uVar52 >> 0x20);
- *(undefined4 *)(lVar14 + 0xb5e8) = SUB124(_uVar52 >> 0x40,0);
- *(undefined4 *)(lVar14 + 0xb5ec) =
- SUB164(CONCAT214(sVar62 + SUB162(auVar53 >> 0x70,0),
- CONCAT212(sVar61 + SUB162(auVar53 >> 0x60,0),_uVar52)) >> 0x60,0);
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(puVar35 + 0x20);
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(lVar14 + 0xb5f0);
- sVar12 = SUB162(auVar54 >> 0x10,0);
- sVar17 = SUB162(auVar54 >> 0x20,0);
- sVar57 = SUB162(auVar54 >> 0x30,0);
- sVar59 = SUB162(auVar54 >> 0x40,0);
- sVar60 = SUB162(auVar54 >> 0x50,0);
- sVar61 = SUB162(auVar54 >> 0x60,0);
- sVar62 = SUB162(auVar54 >> 0x70,0);
- auVar53 = psraw(CONCAT214(SUB162(auVar53 >> 0x70,0) - sVar62,
- CONCAT212(SUB162(auVar53 >> 0x60,0) - sVar61,
- CONCAT210(SUB162(auVar53 >> 0x50,0) - sVar60,
- CONCAT28(SUB162(auVar53 >> 0x40,0) - sVar59,
- CONCAT26(SUB162(auVar53 >> 0x30,0) -
- sVar57,CONCAT24(SUB162(
- auVar53 >> 0x20,0) - sVar17,
- CONCAT22(SUB162(auVar53 >> 0x10,0) - sVar12,
- SUB162(auVar53,0) -SUB162(auVar54,0)))))
- ))),7);
- uVar52 = CONCAT22(sVar12 + SUB162(auVar53 >> 0x10,0),SUB162(auVar54,0) +SUB162(auVar53,0));
- _uVar52 = CONCAT26(sVar57 + SUB162(auVar53 >> 0x30,0),
- CONCAT24(sVar17 + SUB162(auVar53 >> 0x20,0),uVar52));
- _uVar52 = CONCAT210(sVar60 + SUB162(auVar53 >> 0x50,0),
- CONCAT28(sVar59 + SUB162(auVar53 >> 0x40,0),_uVar52));
- *(undefined4 *)(lVar14 + 0xb5f0) = uVar52;
- *(undefined4 *)(lVar14 + 0xb5f4) = (int)((ulonglong)_uVar52 >> 0x20);
- *(undefined4 *)(lVar14 + 0xb5f8) = SUB124(_uVar52 >> 0x40,0);
- *(undefined4 *)(lVar14 + 0xb5fc) =
- SUB164(CONCAT214(sVar62 + SUB162(auVar53 >> 0x70,0),
- CONCAT212(sVar61 + SUB162(auVar53 >> 0x60,0),_uVar52)) >> 0x60,0);
- lVar14 = DAT_00431880;
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(lVar23 + 0xb600);
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(puVar35 + 0x30);
- sVar12 = SUB162(auVar53 >> 0x10,0);
- sVar17 = SUB162(auVar53 >> 0x20,0);
- sVar57 = SUB162(auVar53 >> 0x30,0);
- sVar59 = SUB162(auVar53 >> 0x40,0);
- sVar60 = SUB162(auVar53 >> 0x50,0);
- sVar61 = SUB162(auVar53 >> 0x60,0);
- sVar62 = SUB162(auVar53 >> 0x70,0);
- auVar54 = psraw(CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar62,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar61,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar60,
- CONCAT28(SUB162(auVar54 >> 0x40,0) - sVar59,
- CONCAT26(SUB162(auVar54 >> 0x30,0) -
- sVar57,CONCAT24(SUB162(
- auVar54 >> 0x20,0) - sVar17,
- CONCAT22(SUB162(auVar54 >> 0x10,0) - sVar12,
- SUB162(auVar54,0) -SUB162(auVar53,0)))))
- ))),7);
- uVar52 = CONCAT22(sVar12 + SUB162(auVar54 >> 0x10,0),SUB162(auVar53,0) +SUB162(auVar54,0));
- _uVar52 = CONCAT26(sVar57 + SUB162(auVar54 >> 0x30,0),
- CONCAT24(sVar17 + SUB162(auVar54 >> 0x20,0),uVar52));
- _uVar52 = CONCAT210(sVar60 + SUB162(auVar54 >> 0x50,0),
- CONCAT28(sVar59 + SUB162(auVar54 >> 0x40,0),_uVar52));
- *(undefined4 *)(lVar23 + 0xb600) = uVar52;
- *(undefined4 *)(lVar23 + 0xb604) = (int)((ulonglong)_uVar52 >> 0x20);
- *(undefined4 *)(lVar23 + 0xb608) = SUB124(_uVar52 >> 0x40,0);
- *(undefined4 *)(lVar23 + 0xb60c) =
- SUB164(CONCAT214(sVar62 + SUB162(auVar54 >> 0x70,0),
- CONCAT212(sVar61 + SUB162(auVar54 >> 0x60,0),_uVar52)) >> 0x60,0);
- iVar18 = 0;
- if (*(byte *)(lVar14 + uVar11) != 0) {
- uVar10 = FUN_00417f40(plVar1,(uint)*(byte *)(lVar14 + uVar11));
- iVar18 = (int)uVar10;
- iVar8 = *(int *)(param_1 + 0x3c);
- }
- iVar18 = (iVar18 + (&DAT_004318b8)[uVar11]) - DAT_004319c0;
- uVar11 = (ulonglong)
- *(byte *)(*(longlong *)(param_1 + 0x58) +
- (ulonglong)(uint)(iVar19 - *(int *)(param_1 + 0x74)));
- lVar14 = param_1 + uVar11 * 4;
- uVar13 = (*(uint *)(lVar14 + 200) - 1) - iVar18;
- uVar43 = *(uint *)(lVar14 + 200) ^ uVar13;
- if (uVar43 < 0x200) {
- uVar43 = *(uint *)(lVar14 + 0x4c8);
- }
- else {
- if (uVar43 < 0x40000) {
- uVar43 = *(uint *)(lVar14 + 0x8c8);
- }
- else {
- uVar43 = *(uint *)(uVar11 * 0x800 + *(longlong *)(param_1 + 0xc0) +
- (ulonglong)(uVar13 >> 0x12 & 0x1ff) * 4);
- }
- uVar43 = *(uint *)(*(longlong *)(param_1 + 0xb8) + (ulonglong)uVar43 * 0x800 +
- (ulonglong)(uVar13 >> 9 & 0x1ff) * 4);
- }
- piVar27 = (int *)((ulonglong)uVar43 * 0xc00 + (ulonglong)(uVar13 & 0x1ff) * 6 +
- *(longlong *)(param_1 + 0xb0));
- iVar38 = *piVar27;
- *(undefined4 *)(param_1 + 0xa4) = *(undefined4 *)(param_1 + 0xa0);
- *(undefined4 *)(param_1 + 0xa0) = *(undefined4 *)(param_1 + 0x9c);
- *(undefined4 *)(param_1 + 0x9c) = *(undefined4 *)(param_1 + 0x98);
- *(int *)(param_1 + 0x98) = uStack256 - iVar38;
- bVar49 = *(byte *)((longlong)piVar27 + 5);
- bVar4 = *(byte *)(piVar27 + 1);
- if (bVar49 == 0) {
- uVar43 = iVar18 + 1;
- uVar13 = 0x1f;
- if (bVar4 != 0) {
- while (bVar4 >> uVar13 == 0) {
- uVar13 = uVar13 - 1;
- }
- }
- uVar41 = 0x1f;
- if (uVar43 != 0) {
- while (uVar43 >> uVar41 == 0) {
- uVar41 = uVar41 - 1;
- }
- }
- uVar13 = 0x1f - (uVar41 ^ 0x1f) & 0xfffffff8 | 0x1f - (uVar13 ^ 0x1f);
- uVar43 = (uint)bVar4;
- }
- else {
- if (bVar49 < bVar4) {
- uVar13 = 0x1f;
- if ((uint)bVar4 - (uint)bVar49 != 0) {
- while ((uint)bVar4 - (uint)bVar49 >> uVar13 == 0) {
- uVar13 = uVar13 - 1;
- }
- }
- uVar13 = 0x1f - (uVar13 ^ 0x1f) | 0x20;
- uVar43 = (uint)bVar4;
- }
- else {
- uVar43 = (uint)bVar49;
- uVar41 = (uVar43 - (uint)bVar4) + 1;
- uVar13 = 0x1f;
- if (uVar41 != 0) {
- while (uVar41 >> uVar13 == 0) {
- uVar13 = uVar13 - 1;
- }
- }
- uVar13 = 0x1f - (uVar13 ^ 0x1f) | 0x28;
- }
- }
- lVar14 = (longlong)(int)uVar13;
- uVar13 = *(uint *)(param_1 + 0x40);
- *(int *)(param_1 + 0x40) = iVar8;
- *(uint *)(param_1 + 0x3c) = uVar13;
- if (uVar13 < 0x10000) {
- FUN_00417f00(plVar1);
- uVar13 = *(uint *)(param_1 + 0x3c);
- }
- iVar8 = (uVar13 & 0x3fff) + 1;
- lVar21 = lVar14 * 0x30 + param_1;
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(lVar21 + 0xacd0);
- sVar12 = (short)iVar8;
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(lVar21 + 0xace0);
- auVar53 = packsswb(CONCAT214(SUB162(auVar53 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar53 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar53 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar53 >> 0x40,0) -sVar12
- ,CONCAT26(SUB162(auVar53 >>0x30,0
- ) - sVar12,
- CONCAT24(SUB162(auVar53
- >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar53 >> 0x10,0) - sVar12,
- SUB162(auVar53,0) - sVar12))))))),
- CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar54 >> 0x40,0) -sVar12
- ,CONCAT26(SUB162(auVar54 >>0x30,0
- ) - sVar12,
- CONCAT24(SUB162(auVar54
- >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar54 >> 0x10,0) - sVar12,
- SUB162(auVar54,0) - sVar12))))))));
- uVar50 = pmovmskb(iVar8,auVar53);
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(lVar21 + 0xacf0);
- auVar53 = packsswb(CONCAT214(SUB162(auVar53 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar53 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar53 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar53 >> 0x40,0) -sVar12
- ,CONCAT26(SUB162(auVar53 >>0x30,0
- ) - sVar12,
- CONCAT24(SUB162(auVar53
- >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar53 >> 0x10,0) - sVar12,
- SUB162(auVar53,0) - sVar12))))))),
- (undefined [16])0x0);
- iVar8 = pmovmskb((int)lVar21,auVar53);
- uVar50 = iVar8 << 0x10 | uVar50;
- uVar41 = 0x1f;
- if (uVar50 != 0) {
- while (uVar50 >> uVar41 == 0) {
- uVar41 = uVar41 - 1;
- }
- }
- uVar50 = -(uVar41 ^ 0x1f) + 0x1f;
- uVar11 = (ulonglong)uVar50;
- uVar24 = (uint)*(ushort *)(param_1 + (lVar14 * 0x18 + 0x5668 + uVar11) * 2);
- *(int *)(param_1 + 0x3c) =
- (*(ushort *)
- (param_1 + (lVar14 * 0x18 + 0x5668 + (ulonglong)(-(uVar41 ^ 0x1f) + 0x20)) * 2) -
- uVar24) * (uVar13 >> 0xe) + (uVar13 - uVar24 & 0x3fff);
- FUN_0041ec10((undefined4 *)(param_1 + 0xacd0 + lVar14 * 0x30),uVar50);
- iVar8 = 0;
- if (*(byte *)(DAT_00431b40 + uVar11) != 0) {
- uVar10 = FUN_00417f40(plVar1,(uint)*(byte *)(DAT_00431b40 + uVar11));
- iVar8 = (int)uVar10;
- }
- iVar8 = (uVar43 - DAT_00431c80) + *(int *)(&DAT_00431b78 + uVar11 * 4) + iVar8;
- *(char *)((longlong)piVar27 + 5) = (char)iVar8 + '\x01';
- iVar18 = *(int *)(param_1 + 0x74);
- lVar14 = *(longlong *)(param_1 + 0x58);
- iVar38 = iVar38 - iVar18;
- uVar13 = iVar38 + (iVar38 >> 0x1f & *(uint *)(param_1 + 0x68));
- lVar23 = (ulonglong)uVar13 + lVar14;
- lVar21 = (ulonglong)(uStack256 - iVar18) + lVar14;
- if ((uStack256 - iVar18) - uVar13 < 8) {
- lVar14 = 0;
- do {
- *(undefined *)(lVar21 + lVar14) = *(undefined *)(lVar23 + lVar14);
- lVar14 = lVar14 + 1;
- } while ((ulonglong)(iVar8 - 1) + 1 != lVar14);
- lVar14 = *(longlong *)(param_1 + 0x58);
- iVar18 = *(int *)(param_1 + 0x74);
- }
- else {
- lVar20 = 0;
- do {
- *(undefined8 *)(lVar21 + lVar20) = *(undefined8 *)(lVar23 + lVar20);
- lVar20 = lVar20 + 8;
- } while (0 < iVar8 - (int)lVar20);
- }
- bVar49 = *(byte *)(lVar14 + (ulonglong)(uint)(iVar19 - iVar18));
- lVar14 = param_1 + (ulonglong)bVar49 * 4;
- uVar43 = *(uint *)(lVar14 + 200) + 1;
- puVar22 = (uint *)((ulonglong)*(uint *)(lVar14 + 0x4c8) * 0xc00 +
- (ulonglong)(*(uint *)(lVar14 + 200) & 0x1ff) * 6 +
- *(longlong *)(param_1 + 0xb0));
- *puVar22 = uStack256;
- *(char *)(puVar22 + 1) = (char)iVar8;
- *(undefined *)((longlong)puVar22 + 5) = 0;
- *(uint *)(lVar14 + 200) = uVar43;
- uVar13 = uStack256 + iVar8;
- if ((uVar43 & 0x1ff) == 0) {
- FUN_00415090(param_1 + 0xb0,(uint)bVar49,(ulonglong)uVar43);
- }
- goto LAB_00403130;
- }
- uVar41 = (uint)plVar1;
- if (iVar38 == 3) {
- *(uint *)(param_1 + 0x3c) = uVar43;
- *(int *)(param_1 + 0x40) = iVar18;
- if (uVar43 < 0x10000) {
- uVar13 = uVar41;
- FUN_00417f00(plVar1);
- uVar43 = *(uint *)(param_1 + 0x3c);
- }
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(param_1 + 0x9ae0);
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(param_1 + 0x9af0);
- iVar8 = (uVar43 & 0x3fff) + 1;
- sVar12 = (short)iVar8;
- auVar53 = packsswb(CONCAT214(SUB162(auVar53 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar53 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar53 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar53 >> 0x40,0) -sVar12
- ,CONCAT26(SUB162(auVar53 >>0x30,0
- ) - sVar12,
- CONCAT24(SUB162(auVar53
- >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar53 >> 0x10,0) - sVar12,
- SUB162(auVar53,0) - sVar12))))))),
- CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar54 >> 0x40,0) -sVar12
- ,CONCAT26(SUB162(auVar54 >>0x30,0
- ) - sVar12,
- CONCAT24(SUB162(auVar54
- >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar54 >> 0x10,0) - sVar12,
- SUB162(auVar54,0) - sVar12))))))));
- uVar50 = pmovmskb(iVar8,auVar53);
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(param_1 + 0x9b00);
- auVar53 = packsswb(CONCAT214(SUB162(auVar53 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar53 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar53 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar53 >> 0x40,0) -sVar12
- ,CONCAT26(SUB162(auVar53 >>0x30,0
- ) - sVar12,
- CONCAT24(SUB162(auVar53
- >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar53 >> 0x10,0) - sVar12,
- SUB162(auVar53,0) - sVar12))))))),
- (undefined [16])0x0);
- iVar8 = pmovmskb(uVar13,auVar53);
- uVar50 = iVar8 << 0x10 | uVar50;
- uVar13 = 0x1f;
- if (uVar50 != 0) {
- while (uVar50 >> uVar13 == 0) {
- uVar13 = uVar13 - 1;
- }
- }
- uVar50 = -(uVar13 ^ 0x1f) + 0x1f;
- uVar11 = (ulonglong)uVar50;
- uVar24 = (uint)*(ushort *)(param_1 + 0x9ae0 + uVar11 * 2);
- *(int *)(param_1 + 0x3c) =
- (uVar43 - uVar24 & 0x3fff) +
- (*(ushort *)(param_1 + 0x9ae0 + (ulonglong)(-(uVar13 ^ 0x1f) + 0x20) * 2) - uVar24) *
- (uVar43 >> 0xe);
- FUN_0041ec10((undefined4 *)(param_1 + 0x9ae0),uVar50);
- iVar8 = (&DAT_00431a18)[uVar11];
- uVar43 = (uint)*(byte *)(DAT_004319e0 + uVar11) - 8;
- uVar13 = *(uint *)(param_1 + 0x40);
- lVar14 = uVar11 * 0x20;
- *(undefined4 *)(param_1 + 0x40) = *(undefined4 *)(param_1 + 0x3c);
- *(uint *)(param_1 + 0x3c) = uVar13;
- if (uVar13 < 0x10000) {
- FUN_00417f00(plVar1);
- uVar13 = *(uint *)(param_1 + 0x3c);
- }
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(param_1 + lVar14 + 0x9de0);
- sVar12 = ((ushort)uVar13 & 0x3fff) + 1;
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(param_1 + 0x9dd0 + uVar11 * 0x20);
- auVar53 = packsswb(CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar54 >> 0x40,0) -sVar12
- ,CONCAT26(SUB162(auVar54 >>0x30,0
- ) - sVar12,
- CONCAT24(SUB162(auVar54
- >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar54 >> 0x10,0) - sVar12,
- SUB162(auVar54,0) - sVar12))))))),
- CONCAT214(SUB162(auVar53 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar53 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar53 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar53 >> 0x40,0) -sVar12
- ,CONCAT26(SUB162(auVar53 >>0x30,0
- ) - sVar12,
- CONCAT24(SUB162(auVar53
- >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar53 >> 0x10,0) - sVar12,
- SUB162(auVar53,0) - sVar12))))))));
- uVar24 = pmovmskb((int)(uVar11 * 0x20),auVar53);
- uVar50 = 0x1f;
- if (uVar24 != 0) {
- while (uVar24 >> uVar50 == 0) {
- uVar50 = uVar50 - 1;
- }
- }
- uVar47 = -(uVar50 ^ 0x1f) + 0x1f;
- uVar24 = (uint)*(ushort *)
- (param_1 + 0x9ae0 + ((ulonglong)uVar47 + 0x178 + uVar11 * 0x10) * 2);
- *(int *)(param_1 + 0x3c) =
- (*(ushort *)
- (param_1 + 0x9ae0 +
- (uVar11 * 0x10 + 0x178 + (ulonglong)(-(uVar50 ^ 0x1f) + 0x20 & 0xf)) * 2) - uVar24&
- 0x3fff) * (uVar13 >> 0xe) + (uVar13 - uVar24 & 0x3fff);
- FUN_00421ad0((undefined4 *)(param_1 + 0x9dd0 + lVar14),uVar47);
- uVar13 = *(uint *)(param_1 + 0x40);
- uVar52 = *(undefined4 *)(param_1 + 0x3c);
- *(uint *)(param_1 + 0x3c) = uVar13;
- *(undefined4 *)(param_1 + 0x40) = uVar52;
- if (uVar13 < 0x10000) {
- FUN_00417f00(plVar1);
- uVar13 = *(uint *)(param_1 + 0x3c);
- }
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(param_1 + lVar14 + 0x9b20);
- sVar12 = ((ushort)uVar13 & 0x3fff) + 1;
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(param_1 + 0x9b10 + uVar11 * 0x20);
- auVar53 = packsswb(CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar54 >> 0x40,0) -sVar12
- ,CONCAT26(SUB162(auVar54 >>0x30,0
- ) - sVar12,
- CONCAT24(SUB162(auVar54
- >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar54 >> 0x10,0) - sVar12,
- SUB162(auVar54,0) - sVar12))))))),
- CONCAT214(SUB162(auVar53 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar53 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar53 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar53 >> 0x40,0) -sVar12
- ,CONCAT26(SUB162(auVar53 >>0x30,0
- ) - sVar12,
- CONCAT24(SUB162(auVar53
- >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar53 >> 0x10,0) - sVar12,
- SUB162(auVar53,0) - sVar12))))))));
- uVar24 = pmovmskb((int)(uVar11 * 0x20),auVar53);
- uVar50 = 0x1f;
- if (uVar24 != 0) {
- while (uVar24 >> uVar50 == 0) {
- uVar50 = uVar50 - 1;
- }
- }
- uVar51 = -(uVar50 ^ 0x1f) + 0x1f;
- uVar24 = (uint)*(ushort *)
- (param_1 + 0x9ae0 + ((ulonglong)uVar51 + 0x18 + uVar11 * 0x10) * 2);
- *(int *)(param_1 + 0x3c) =
- (uVar13 - uVar24 & 0x3fff) +
- (*(ushort *)
- (param_1 + 0x9ae0 +
- (uVar11 * 0x10 + 0x18 + (ulonglong)(-(uVar50 ^ 0x1f) + 0x20 & 0xf)) * 2) - uVar24 &
- 0x3fff) * (uVar13 >> 0xe);
- FUN_00421ad0((undefined4 *)(param_1 + 0x9b10 + lVar14),uVar51);
- uVar51 = uVar51 << ((byte)uVar43 & 0x1f);
- if (uVar43 != 0) {
- uVar13 = uVar41;
- uVar11 = FUN_00417f40(plVar1,uVar43);
- uVar43 = uVar13;
- uVar51 = uVar51 | (uint)uVar11;
- }
- uVar50 = *(uint *)(param_1 + 0xa8);
- uVar13 = iVar8 + 1 + (uVar47 | uVar51 << 4);
- *(undefined4 *)(param_1 + 0xa4) = *(undefined4 *)(param_1 + 0xa0);
- *(undefined4 *)(param_1 + 0xa0) = *(undefined4 *)(param_1 + 0x9c);
- uVar52 = *(undefined4 *)(param_1 + 0x98);
- *(uint *)(param_1 + 0x98) = uVar13;
- *(undefined4 *)(param_1 + 0x9c) = uVar52;
- uVar24 = 0x1f;
- if (uVar13 != 0) {
- while (uVar13 >> uVar24 == 0) {
- uVar24 = uVar24 - 1;
- }
- }
- lVar14 = (longlong)((int)(0x1f - (uVar24 ^ 0x1f)) >> 3);
- uVar24 = *(uint *)(param_1 + 0x40);
- *(undefined4 *)(param_1 + 0x40) = *(undefined4 *)(param_1 + 0x3c);
- *(uint *)(param_1 + 0x3c) = uVar24;
- if (uVar24 < 0x10000) {
- uVar43 = uVar41;
- FUN_00417f00(plVar1);
- uVar24 = *(uint *)(param_1 + 0x3c);
- }
- lVar21 = lVar14 + (ulonglong)uVar50 * 4;
- sVar12 = ((ushort)uVar24 & 0x3fff) + 1;
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(param_1 + 0xa090 + lVar21 * 0x20);
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(param_1 + (lVar21 + 0x505) * 0x20);
- auVar53 = packsswb(CONCAT214(SUB162(auVar53 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar53 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar53 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar53 >> 0x40,0) -sVar12
- ,CONCAT26(SUB162(auVar53 >>0x30,0
- ) - sVar12,
- CONCAT24(SUB162(auVar53
- >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar53 >> 0x10,0) - sVar12,
- SUB162(auVar53,0) - sVar12))))))),
- CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar54 >> 0x40,0) -sVar12
- ,CONCAT26(SUB162(auVar54 >>0x30,0
- ) - sVar12,
- CONCAT24(SUB162(auVar54
- >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar54 >> 0x10,0) - sVar12,
- SUB162(auVar54,0) - sVar12))))))));
- uVar41 = pmovmskb(uVar43,auVar53);
- uVar43 = 0x1f;
- if (uVar41 != 0) {
- while (uVar41 >> uVar43 == 0) {
- uVar43 = uVar43 - 1;
- }
- }
- uVar41 = -(uVar43 ^ 0x1f) + 0x1f;
- uVar11 = (ulonglong)uVar41;
- uVar47 = (uint)*(ushort *)(param_1 + (lVar21 * 0x10 + 0x5048 + uVar11) * 2);
- *(int *)(param_1 + 0x3c) =
- (uVar24 - uVar47 & 0x3fff) +
- (*(ushort *)
- (param_1 + (lVar21 * 0x10 + 0x5048 + (ulonglong)(-(uVar43 ^ 0x1f) + 0x20 & 0xf)) *2)
- - uVar47 & 0x3fff) * (uVar24 >> 0xe);
- FUN_00421ad0((undefined4 *)(param_1 + 0xa090 + (lVar14 + (ulonglong)uVar50 * 4) * 0x20),
- uVar41);
- iVar8 = 0;
- if (*(byte *)(DAT_00431ca0 + uVar11) != 0) {
- uVar10 = FUN_00417f40(plVar1,(uint)*(byte *)(DAT_00431ca0 + uVar11));
- iVar8 = (int)uVar10;
- }
- iVar8 = (2 - DAT_00431de0) + (&DAT_00431cd8)[uVar11] + iVar8;
- uVar43 = uStack256 - *(int *)(param_1 + 0x74);
- iVar18 = (uStack256 - uVar13) - *(int *)(param_1 + 0x74);
- uVar13 = iVar18 + (iVar18 >> 0x1f & *(uint *)(param_1 + 0x68));
- lVar14 = (ulonglong)uVar13 + *(longlong *)(param_1 + 0x58);
- lVar21 = *(longlong *)(param_1 + 0x58) + (ulonglong)uVar43;
- if (uVar43 - uVar13 < 8) {
- lVar23 = 0;
- do {
- *(undefined *)(lVar21 + lVar23) = *(undefined *)(lVar14 + lVar23);
- lVar23 = lVar23 + 1;
- } while ((ulonglong)(iVar8 - 1) + 1 != lVar23);
- }
- else {
- lVar23 = 0;
- do {
- *(undefined8 *)(lVar21 + lVar23) = *(undefined8 *)(lVar14 + lVar23);
- lVar23 = lVar23 + 8;
- } while (0 < iVar8 - (int)lVar23);
- }
- uVar13 = iVar8 + uStack256;
- if (*(char *)(param_1 + 0x11b0) != '\0') {
- iVar18 = *(int *)(param_1 + 0x74);
- lVar21 = *(longlong *)(param_1 + 0x58);
- lVar23 = *(longlong *)(param_1 + 0xb0);
- bVar49 = *(byte *)(lVar21 + (ulonglong)(uint)(iVar19 - iVar18));
- lVar14 = param_1 + (ulonglong)bVar49 * 4;
- uVar43 = *(uint *)(lVar14 + 200) + 1;
- puVar22 = (uint *)((ulonglong)*(uint *)(lVar14 + 0x4c8) * 0xc00 +
- (ulonglong)(*(uint *)(lVar14 + 200) & 0x1ff) * 6 + lVar23);
- *puVar22 = uStack256;
- *(char *)(puVar22 + 1) = (char)iVar8;
- *(undefined *)((longlong)puVar22 + 5) = 0;
- *(uint *)(lVar14 + 200) = uVar43;
- if ((uVar43 & 0x1ff) == 0) {
- FUN_00415090(param_1 + 0xb0,(uint)bVar49,(ulonglong)uVar43);
- lVar23 = *(longlong *)(param_1 + 0xb0);
- lVar21 = *(longlong *)(param_1 + 0x58);
- iVar18 = *(int *)(param_1 + 0x74);
- }
- bVar49 = *(byte *)(lVar21 + (ulonglong)(uStack256 - iVar18));
- lVar14 = param_1 + (ulonglong)bVar49 * 4;
- uVar43 = *(uint *)(lVar14 + 200) + 1;
- piVar27 = (int *)(lVar23 + (ulonglong)*(uint *)(lVar14 + 0x4c8) * 0xc00 +
- (ulonglong)(*(uint *)(lVar14 + 200) & 0x1ff) * 6);
- *piVar27 = uStack256 + 1;
- *(char *)(piVar27 + 1) = (char)iVar8 + -1;
- *(undefined *)((longlong)piVar27 + 5) = 0;
- *(uint *)(lVar14 + 200) = uVar43;
- if ((uVar43 & 0x1ff) == 0) {
- FUN_00415090(param_1 + 0xb0,(uint)bVar49,(ulonglong)uVar43);
- }
- }
- goto LAB_00403130;
- }
- if (iVar38 == 1) {
- uVar11 = (ulonglong)*(uint *)(param_1 + 0xa8);
- *(uint *)(param_1 + 0x3c) = uVar43;
- *(int *)(param_1 + 0x40) = iVar18;
- if (uVar43 < 0x10000) {
- FUN_00417f00(plVar1);
- }
- uVar13 = *(uint *)(param_1 + 0x3c);
- sVar12 = ((ushort)uVar13 & 0x3fff) + 1;
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(param_1 + 0xa790 + uVar11 * 0x20);
- lVar14 = (uVar11 + 0x53d) * 0x20;
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(param_1 + lVar14);
- auVar53 = packsswb(CONCAT214(SUB162(auVar53 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar53 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar53 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar53 >> 0x40,0) -sVar12
- ,CONCAT26(SUB162(auVar53 >>0x30,0
- ) - sVar12,
- CONCAT24(SUB162(auVar53
- >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar53 >> 0x10,0) - sVar12,
- SUB162(auVar53,0) - sVar12))))))),
- CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar54 >> 0x40,0) -sVar12
- ,CONCAT26(SUB162(auVar54 >>0x30,0
- ) - sVar12,
- CONCAT24(SUB162(auVar54
- >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar54 >> 0x10,0) - sVar12,
- SUB162(auVar54,0) - sVar12))))))));
- uVar50 = pmovmskb((int)lVar14,auVar53);
- uVar43 = 0x1f;
- if (uVar50 != 0) {
- while (uVar50 >> uVar43 == 0) {
- uVar43 = uVar43 - 1;
- }
- }
- uVar50 = -(uVar43 ^ 0x1f) + 0x1f;
- uVar10 = (ulonglong)uVar50;
- uVar24 = (uint)*(ushort *)(param_1 + (uVar10 + 0x53c8 + uVar11 * 0x10) * 2);
- *(int *)(param_1 + 0x3c) =
- (uVar13 >> 0xe) *
- (*(ushort *)
- (param_1 + (uVar11 * 0x10 + 0x53c8 + (ulonglong)(-(uVar43 ^ 0x1f) + 0x20 & 0xf)) *2)
- - uVar24 & 0x3fff) + (uVar13 - uVar24 & 0x3fff);
- FUN_00421ad0((undefined4 *)(param_1 + 0xa790 + uVar11 * 0x20),uVar50);
- sVar12 = *(short *)(&DAT_0042b100 + uVar10 * 2);
- iVar8 = *(int *)(param_1 + 0x98 + (ulonglong)(byte)(&DAT_0042b120)[uVar10] * 4);
- puVar15 = (undefined4 *)(param_1 + 0x98 + (ulonglong)((&DAT_0042b130)[uVar10] ^ 1) * 4);
- uVar13 = (uint)puVar15;
- uVar52 = *puVar15;
- if (1 < ((&DAT_0042b130)[uVar10] ^ 1)) {
- *(undefined4 *)(param_1 + 0xa4) = uVar52;
- *(undefined4 *)(param_1 + 0xa0) = *(undefined4 *)(param_1 + 0x9c);
- uVar52 = *(undefined4 *)(param_1 + 0x98);
- }
- uVar43 = *(uint *)(param_1 + 0xa8);
- *(undefined4 *)(param_1 + 0x9c) = uVar52;
- *(int *)(param_1 + 0x98) = sVar12 + iVar8;
- uVar24 = *(uint *)(param_1 + 0x40);
- *(undefined4 *)(param_1 + 0x40) = *(undefined4 *)(param_1 + 0x3c);
- *(uint *)(param_1 + 0x3c) = uVar24;
- if (uVar24 < 0x10000) {
- uVar13 = uVar41;
- FUN_00417f00(plVar1);
- uVar24 = *(uint *)(param_1 + 0x3c);
- }
- lVar14 = (ulonglong)(uVar50 != 0) + (ulonglong)uVar43 * 2;
- sVar12 = ((ushort)uVar24 & 0x3fff) + 1;
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(param_1 + 0xa950 + lVar14 * 0x20);
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(param_1 + (lVar14 + 0x54b) * 0x20);
- auVar53 = packsswb(CONCAT214(SUB162(auVar53 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar53 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar53 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar53 >> 0x40,0) -sVar12
- ,CONCAT26(SUB162(auVar53 >>0x30,0
- ) - sVar12,
- CONCAT24(SUB162(auVar53
- >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar53 >> 0x10,0) - sVar12,
- SUB162(auVar53,0) - sVar12))))))),
- CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar54 >> 0x40,0) -sVar12
- ,CONCAT26(SUB162(auVar54 >>0x30,0
- ) - sVar12,
- CONCAT24(SUB162(auVar54
- >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar54 >> 0x10,0) - sVar12,
- SUB162(auVar54,0) - sVar12))))))));
- uVar41 = pmovmskb(uVar13,auVar53);
- uVar13 = 0x1f;
- if (uVar41 != 0) {
- while (uVar41 >> uVar13 == 0) {
- uVar13 = uVar13 - 1;
- }
- }
- uVar41 = -(uVar13 ^ 0x1f) + 0x1f;
- uVar11 = (ulonglong)uVar41;
- uVar47 = (uint)*(ushort *)(param_1 + (lVar14 * 0x10 + 0x54a8 + uVar11) * 2);
- *(int *)(param_1 + 0x3c) =
- (uVar24 - uVar47 & 0x3fff) +
- (*(ushort *)
- (param_1 + (lVar14 * 0x10 + 0x54a8 + (ulonglong)(-(uVar13 ^ 0x1f) + 0x20 & 0xf)) *2)
- - uVar47 & 0x3fff) * (uVar24 >> 0xe);
- FUN_00421ad0((undefined4 *)
- (param_1 + 0xa950 + ((ulonglong)(uVar50 != 0) + (ulonglong)uVar43 * 2) *0x20),
- uVar41);
- iVar8 = 0;
- if (*(byte *)(DAT_00431e00 + uVar11) != 0) {
- uVar10 = FUN_00417f40(plVar1,(uint)*(byte *)(DAT_00431e00 + uVar11));
- iVar8 = (int)uVar10;
- }
- iVar8 = (1 - DAT_00431f40) + (&DAT_00431e38)[uVar11] + iVar8;
- uVar43 = uStack256 - *(int *)(param_1 + 0x74);
- iVar19 = (uStack256 - *(int *)(param_1 + 0x98)) - *(int *)(param_1 + 0x74);
- uVar13 = (iVar19 >> 0x1f & *(uint *)(param_1 + 0x68)) + iVar19;
- lVar21 = (ulonglong)uVar13 + *(longlong *)(param_1 + 0x58);
- lVar14 = *(longlong *)(param_1 + 0x58) + (ulonglong)uVar43;
- if (uVar43 - uVar13 < 8) {
- lVar23 = 0;
- do {
- *(undefined *)(lVar14 + lVar23) = *(undefined *)(lVar21 + lVar23);
- lVar23 = lVar23 + 1;
- } while ((ulonglong)(iVar8 - 1) + 1 != lVar23);
- uVar13 = uStack256 + iVar8;
- }
- else {
- lVar23 = 0;
- do {
- *(undefined8 *)(lVar14 + lVar23) = *(undefined8 *)(lVar21 + lVar23);
- lVar23 = lVar23 + 8;
- } while (0 < iVar8 - (int)lVar23);
- uVar13 = uStack256 + iVar8;
- }
- goto LAB_00403130;
- }
- *(uint *)(param_1 + 0x3c) = uVar43;
- *(int *)(param_1 + 0x40) = iVar18;
- if (uVar43 < 0x10000) {
- FUN_00417f00(plVar1);
- }
- uVar13 = *(uint *)(param_1 + 0x3c);
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(param_1 + 0x9ac0);
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(param_1 + 0x9ad0);
- iVar19 = (uVar13 & 0x3fff) + 1;
- sVar12 = (short)iVar19;
- auVar53 = packsswb(CONCAT214(SUB162(auVar53 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar53 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar53 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar53 >> 0x40,0) - sVar12,
- CONCAT26(SUB162(auVar53 >> 0x30,0)-
- sVar12,CONCAT24(SUB162(
- auVar53 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar53 >> 0x10,0) - sVar12,
- SUB162(auVar53,0) - sVar12))))))),
- CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar54 >> 0x40,0) - sVar12,
- CONCAT26(SUB162(auVar54 >> 0x30,0)-
- sVar12,CONCAT24(SUB162(
- auVar54 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar54 >> 0x10,0) - sVar12,
- SUB162(auVar54,0) - sVar12))))))));
- uVar41 = pmovmskb(iVar19,auVar53);
- uVar43 = 0x1f;
- if (uVar41 != 0) {
- while (uVar41 >> uVar43 == 0) {
- uVar43 = uVar43 - 1;
- }
- }
- iVar19 = -(uVar43 ^ 0x1f);
- uVar43 = iVar19 + 0x1f;
- uVar40 = *(ushort *)(param_1 + 0x9ac0 + (ulonglong)uVar43 * 2);
- puVar15 = (undefined4 *)(ulonglong)uVar40;
- *(int *)(param_1 + 0x3c) =
- (uVar13 >> 0xe) *
- ((uint)*(ushort *)(param_1 + 0x9ac0 + (ulonglong)(iVar19 + 0x20U & 0xf) * 2) -
- (uint)uVar40 & 0x3fff) + (uVar13 - (uint)uVar40 & 0x3fff);
- FUN_00421ad0((undefined4 *)(param_1 + 0x9ac0),uVar43);
- lVar14 = DAT_00434720;
- if (0xf < uVar43) {
- uVar25 = 0;
- uVar13 = uStack256 + iVar8;
- goto LAB_00403130;
- }
- puVar22 = &switchdataD_0042b000;
- switch(iVar19) {
- case -0x1f:
- pbVar48 = (byte *)(param_1 + 62999);
- puVar35 = (undefined *)
- ((ulonglong)(uStack256 - *(int *)(param_1 + 0x74)) + *(longlong *)(param_1 +0x58)
- );
- uVar11 = (ulonglong)(byte)puVar35[-1];
- bVar49 = puVar35[-2];
- do {
- bVar4 = *pbVar48;
- uVar13 = *(uint *)(param_1 + 0x40);
- uVar43 = (int)((int)uVar11 - (uint)bVar49 & 0xff) >> 7;
- plVar6 = *(longlong **)(param_1 + 63000);
- uVar52 = *(undefined4 *)(param_1 + 0x3c);
- *(uint *)(param_1 + 0x3c) = uVar13;
- *(undefined4 *)(param_1 + 0x40) = uVar52;
- if (uVar13 < 0x10000) {
- FUN_00417f00(plVar1);
- uVar13 = *(uint *)(param_1 + 0x3c);
- }
- sVar12 = ((ushort)uVar13 & 0x3fff) + 1;
- lVar14 = (ulonglong)uVar43 + (longlong)(int)(uint)bVar4 * 2;
- lVar21 = lVar14 * 0x10;
- lVar14 = lVar14 * 0x20 + param_1;
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(lVar14 + 0xf5d0);
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(lVar14 + 0xf5e0);
- auVar53 = packsswb(CONCAT214(SUB162(auVar53 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar53 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar53 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar53 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar53
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar53 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar53 >> 0x10,0) -
- sVar12,SUB162(auVar53,0) -
- sVar12))))))),
- CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar54 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar54
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar54 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar54 >> 0x10,0) -
- sVar12,SUB162(auVar54,0) -
- sVar12))))))));
- uVar50 = pmovmskb((int)lVar14,auVar53);
- uVar41 = 0x1f;
- if (uVar50 != 0) {
- while (uVar50 >> uVar41 == 0) {
- uVar41 = uVar41 - 1;
- }
- }
- uVar24 = -(uVar41 ^ 0x1f) + 0x1f;
- uVar11 = (ulonglong)uVar24;
- uVar50 = (uint)*(ushort *)(param_1 + 0xf5d0 + (lVar21 + uVar11) * 2);
- *(int *)(param_1 + 0x3c) =
- (uVar13 - uVar50 & 0x3fff) +
- (*(ushort *)
- (param_1 + 0xf5d0 + (lVar21 + (ulonglong)(-(uVar41 ^ 0x1f) + 0x20 & 0xf)) * 2) -
- uVar50 & 0x3fff) * (uVar13 >> 0xe);
- FUN_00421ad0((undefined4 *)
- (((longlong)(int)uVar43 + (ulonglong)bVar4 * 2) * 0x20 + param_1 + 0xf5d0),
- uVar24);
- iVar8 = 0;
- if (*(byte *)(*plVar6 + uVar11) != 0) {
- uVar25 = FUN_00417f40(plVar1,(uint)*(byte *)(*plVar6 + uVar11));
- iVar8 = (int)uVar25;
- }
- bVar49 = puVar35[-1];
- pbVar48 = pbVar48 + -1;
- uVar13 = (uint)bVar49 +
- ((iVar8 + *(int *)((longlong)plVar6 + uVar11 * 4 + 0x38)) -
- *(int *)(plVar6 + 0x28));
- uVar11 = (ulonglong)uVar13;
- *puVar35 = (char)uVar13;
- puVar35 = puVar35 + 1;
- } while ((byte *)(param_1 + 0xf60f) != pbVar48);
- break;
- case -0x1e:
- pbVar48 = (byte *)(param_1 + 0xf6a7);
- pcVar33 = (char *)((ulonglong)(uStack256 - *(int *)(param_1 + 0x74)) +
- *(longlong *)(param_1 + 0x58));
- do {
- bVar49 = *pbVar48;
- uVar13 = *(uint *)(param_1 + 0x40);
- plVar6 = *(longlong **)(param_1 + 0xf6a8);
- uVar43 = (int)(uint)(byte)(pcVar33[-2] - pcVar33[-4]) >> 7;
- uVar52 = *(undefined4 *)(param_1 + 0x3c);
- *(uint *)(param_1 + 0x3c) = uVar13;
- *(undefined4 *)(param_1 + 0x40) = uVar52;
- if (uVar13 < 0x10000) {
- FUN_00417f00(plVar1);
- uVar13 = *(uint *)(param_1 + 0x3c);
- }
- sVar12 = ((ushort)uVar13 & 0x3fff) + 1;
- lVar14 = (ulonglong)uVar43 + (longlong)(int)(uint)bVar49 * 2;
- lVar21 = lVar14 * 0x10;
- lVar14 = lVar14 * 0x20 + param_1;
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(lVar14 + 0xf620);
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(lVar14 + 0xf630);
- auVar53 = packsswb(CONCAT214(SUB162(auVar53 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar53 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar53 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar53 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar53
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar53 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar53 >> 0x10,0) -
- sVar12,SUB162(auVar53,0) -
- sVar12))))))),
- CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar54 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar54
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar54 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar54 >> 0x10,0) -
- sVar12,SUB162(auVar54,0) -
- sVar12))))))));
- uVar50 = pmovmskb((int)lVar14,auVar53);
- uVar41 = 0x1f;
- if (uVar50 != 0) {
- while (uVar50 >> uVar41 == 0) {
- uVar41 = uVar41 - 1;
- }
- }
- uVar24 = -(uVar41 ^ 0x1f) + 0x1f;
- uVar11 = (ulonglong)uVar24;
- uVar50 = (uint)*(ushort *)(param_1 + 0xf620 + (lVar21 + uVar11) * 2);
- *(int *)(param_1 + 0x3c) =
- (uVar13 - uVar50 & 0x3fff) +
- (*(ushort *)
- (param_1 + 0xf620 + (lVar21 + (ulonglong)(-(uVar41 ^ 0x1f) + 0x20 & 0xf)) * 2) -
- uVar50 & 0x3fff) * (uVar13 >> 0xe);
- FUN_00421ad0((undefined4 *)
- (((longlong)(int)uVar43 + (ulonglong)bVar49 * 2) * 0x20 + param_1 +0xf620),
- uVar24);
- cVar42 = '\0';
- if (*(byte *)(*plVar6 + uVar11) != 0) {
- uVar25 = FUN_00417f40(plVar1,(uint)*(byte *)(*plVar6 + uVar11));
- cVar42 = (char)uVar25;
- }
- pbVar48 = pbVar48 + -1;
- *pcVar33 = ((cVar42 + (char)*(undefined4 *)((longlong)plVar6 + uVar11 * 4 + 0x38)) -
- (char)*(undefined4 *)(plVar6 + 0x28)) + pcVar33[-2];
- pcVar33 = pcVar33 + 1;
- } while ((byte *)(param_1 + 0xf69f) != pbVar48);
- break;
- case -0x1d:
- pbVar48 = (byte *)(param_1 + 0xf778);
- pcVar33 = (char *)((ulonglong)(uStack256 - *(int *)(param_1 + 0x74)) +
- *(longlong *)(param_1 + 0x58));
- do {
- bVar49 = *pbVar48;
- uVar13 = *(uint *)(param_1 + 0x40);
- plVar6 = *(longlong **)(param_1 + 0xf780);
- uVar43 = (int)(uint)(byte)(pcVar33[-3] - pcVar33[-6]) >> 7;
- uVar52 = *(undefined4 *)(param_1 + 0x3c);
- *(uint *)(param_1 + 0x3c) = uVar13;
- *(undefined4 *)(param_1 + 0x40) = uVar52;
- if (uVar13 < 0x10000) {
- FUN_00417f00(plVar1);
- uVar13 = *(uint *)(param_1 + 0x3c);
- }
- sVar12 = ((ushort)uVar13 & 0x3fff) + 1;
- lVar14 = (ulonglong)uVar43 + (longlong)(int)(uint)bVar49 * 2;
- lVar21 = lVar14 * 0x10;
- lVar14 = lVar14 * 0x20 + param_1;
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(lVar14 + 0xf6b0);
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(lVar14 + 0xf6c0);
- auVar53 = packsswb(CONCAT214(SUB162(auVar53 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar53 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar53 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar53 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar53
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar53 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar53 >> 0x10,0) -
- sVar12,SUB162(auVar53,0) -
- sVar12))))))),
- CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar54 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar54
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar54 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar54 >> 0x10,0) -
- sVar12,SUB162(auVar54,0) -
- sVar12))))))));
- uVar50 = pmovmskb((int)lVar14,auVar53);
- uVar41 = 0x1f;
- if (uVar50 != 0) {
- while (uVar50 >> uVar41 == 0) {
- uVar41 = uVar41 - 1;
- }
- }
- uVar24 = -(uVar41 ^ 0x1f) + 0x1f;
- uVar11 = (ulonglong)uVar24;
- uVar50 = (uint)*(ushort *)(param_1 + 0xf6b0 + (lVar21 + uVar11) * 2);
- *(int *)(param_1 + 0x3c) =
- (uVar13 - uVar50 & 0x3fff) +
- (*(ushort *)
- (param_1 + 0xf6b0 + (lVar21 + (ulonglong)(-(uVar41 ^ 0x1f) + 0x20 & 0xf)) * 2) -
- uVar50 & 0x3fff) * (uVar13 >> 0xe);
- FUN_00421ad0((undefined4 *)
- (((longlong)(int)uVar43 + (ulonglong)bVar49 * 2) * 0x20 + param_1 +0xf6b0),
- uVar24);
- cVar42 = '\0';
- if (*(byte *)(*plVar6 + uVar11) != 0) {
- uVar25 = FUN_00417f40(plVar1,(uint)*(byte *)(*plVar6 + uVar11));
- cVar42 = (char)uVar25;
- }
- pbVar48 = pbVar48 + -1;
- *pcVar33 = ((cVar42 + (char)*(undefined4 *)((longlong)plVar6 + uVar11 * 4 + 0x38)) -
- (char)*(undefined4 *)(plVar6 + 0x28)) + pcVar33[-3];
- pcVar33 = pcVar33 + 1;
- } while ((byte *)(param_1 + 0xf76f) != pbVar48);
- goto LAB_00404361;
- case -0x1c:
- pbVar48 = (byte *)(param_1 + 0xf897);
- pcVar33 = (char *)((ulonglong)(uStack256 - *(int *)(param_1 + 0x74)) +
- *(longlong *)(param_1 + 0x58));
- do {
- bVar49 = *pbVar48;
- uVar13 = *(uint *)(param_1 + 0x40);
- plVar6 = *(longlong **)(param_1 + 0xf898);
- uVar43 = (int)(uint)(byte)(pcVar33[-4] - pcVar33[-8]) >> 7;
- uVar52 = *(undefined4 *)(param_1 + 0x3c);
- *(uint *)(param_1 + 0x3c) = uVar13;
- *(undefined4 *)(param_1 + 0x40) = uVar52;
- if (uVar13 < 0x10000) {
- FUN_00417f00(plVar1);
- uVar13 = *(uint *)(param_1 + 0x3c);
- }
- sVar12 = ((ushort)uVar13 & 0x3fff) + 1;
- lVar14 = (ulonglong)uVar43 + (longlong)(int)(uint)bVar49 * 2;
- lVar21 = lVar14 * 0x10;
- lVar14 = lVar14 * 0x20 + param_1;
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(lVar14 + 0xf790);
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(lVar14 + 0xf7a0);
- auVar53 = packsswb(CONCAT214(SUB162(auVar53 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar53 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar53 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar53 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar53
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar53 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar53 >> 0x10,0) -
- sVar12,SUB162(auVar53,0) -
- sVar12))))))),
- CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar54 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar54
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar54 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar54 >> 0x10,0) -
- sVar12,SUB162(auVar54,0) -
- sVar12))))))));
- uVar50 = pmovmskb((int)lVar14,auVar53);
- uVar41 = 0x1f;
- if (uVar50 != 0) {
- while (uVar50 >> uVar41 == 0) {
- uVar41 = uVar41 - 1;
- }
- }
- uVar24 = -(uVar41 ^ 0x1f) + 0x1f;
- uVar11 = (ulonglong)uVar24;
- uVar50 = (uint)*(ushort *)(param_1 + 0xf790 + (lVar21 + uVar11) * 2);
- *(int *)(param_1 + 0x3c) =
- (uVar13 - uVar50 & 0x3fff) +
- (*(ushort *)
- (param_1 + 0xf790 + (lVar21 + (ulonglong)(-(uVar41 ^ 0x1f) + 0x20 & 0xf)) * 2) -
- uVar50 & 0x3fff) * (uVar13 >> 0xe);
- FUN_00421ad0((undefined4 *)
- (((longlong)(int)uVar43 + (ulonglong)bVar49 * 2) * 0x20 + param_1 +0xf790),
- uVar24);
- cVar42 = '\0';
- if (*(byte *)(*plVar6 + uVar11) != 0) {
- uVar25 = FUN_00417f40(plVar1,(uint)*(byte *)(*plVar6 + uVar11));
- cVar42 = (char)uVar25;
- }
- pbVar48 = pbVar48 + -1;
- *pcVar33 = ((cVar42 + (char)*(undefined4 *)((longlong)plVar6 + uVar11 * 4 + 0x38)) -
- (char)*(undefined4 *)(plVar6 + 0x28)) + pcVar33[-4];
- pcVar33 = pcVar33 + 1;
- } while ((byte *)(param_1 + 0xf88f) != pbVar48);
- break;
- case -0x1b:
- pbVar48 = (byte *)(param_1 + 0xf923);
- puVar29 = (undefined2 *)
- ((ulonglong)(uStack256 - *(int *)(param_1 + 0x74)) + *(longlong *)(param_1 +0x58)
- );
- uVar11 = (ulonglong)(ushort)puVar29[-1];
- do {
- uVar52 = (undefined4)uVar10;
- bVar49 = *pbVar48;
- plVar6 = *(longlong **)(param_1 + 0xf928);
- uVar43 = (int)(uint)(ushort)((short)uVar11 - puVar29[-2]) >> 0xf;
- uVar13 = *(uint *)(param_1 + 0x40);
- *(undefined4 *)(param_1 + 0x40) = *(undefined4 *)(param_1 + 0x3c);
- *(uint *)(param_1 + 0x3c) = uVar13;
- if (uVar13 < 0x10000) {
- FUN_00417f00(plVar1);
- uVar13 = *(uint *)(param_1 + 0x3c);
- }
- lVar14 = (ulonglong)uVar43 + (longlong)(int)(uint)bVar49 * 2;
- sVar12 = ((ushort)uVar13 & 0x3fff) + 1;
- lVar21 = lVar14 * 0x20;
- lVar14 = lVar14 * 0x40 + param_1;
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(lVar14 + 0xf8a0);
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(lVar14 + 0xf8b0);
- auVar53 = packsswb(CONCAT214(SUB162(auVar53 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar53 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar53 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar53 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar53
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar53 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar53 >> 0x10,0) -
- sVar12,SUB162(auVar53,0) -
- sVar12))))))),
- CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar54 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar54
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar54 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar54 >> 0x10,0) -
- sVar12,SUB162(auVar54,0) -
- sVar12))))))));
- uVar50 = pmovmskb(uVar52,auVar53);
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(lVar14 + 0xf8c0);
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(lVar14 + 0xf8d0);
- auVar53 = packsswb(CONCAT214(SUB162(auVar53 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar53 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar53 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar53 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar53
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar53 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar53 >> 0x10,0) -
- sVar12,SUB162(auVar53,0) -
- sVar12))))))),
- CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar54 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar54
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar54 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar54 >> 0x10,0) -
- sVar12,SUB162(auVar54,0) -
- sVar12))))))));
- iVar8 = pmovmskb((uint)bVar49,auVar53);
- uVar50 = iVar8 << 0x10 | uVar50;
- uVar41 = 0x1f;
- if (uVar50 != 0) {
- while (uVar50 >> uVar41 == 0) {
- uVar41 = uVar41 - 1;
- }
- }
- uVar50 = -(uVar41 ^ 0x1f) + 0x1f;
- uVar11 = (ulonglong)uVar50;
- uVar40 = *(ushort *)(param_1 + 0xf8a0 + (lVar21 + uVar11) * 2);
- uVar10 = (ulonglong)uVar40;
- *(int *)(param_1 + 0x3c) =
- (uVar13 - (uint)uVar40 & 0x3fff) +
- ((uint)*(ushort *)
- (param_1 + 0xf8a0 +
- (lVar21 + (ulonglong)(-(uVar41 ^ 0x1f) + 0x20 & 0x1f)) * 2) - (uint)uVar40&
- 0x3fff) * (uVar13 >> 0xe);
- FUN_0041e070((undefined4 *)
- (((longlong)(int)uVar43 + (ulonglong)bVar49 * 2) * 0x40 + param_1 +0xf8a0),
- uVar50);
- iVar8 = 0;
- if (*(byte *)(*plVar6 + uVar11) != 0) {
- uVar25 = FUN_00417f40(plVar1,(uint)*(byte *)(*plVar6 + uVar11));
- iVar8 = (int)uVar25;
- }
- pbVar48 = pbVar48 + -1;
- uVar13 = (uint)(ushort)puVar29[-1] +
- ((iVar8 + *(int *)((longlong)plVar6 + uVar11 * 4 + 0x38)) -
- *(int *)(plVar6 + 0x28));
- uVar11 = (ulonglong)uVar13;
- *puVar29 = (short)uVar13;
- puVar29 = puVar29 + 1;
- } while ((byte *)(param_1 + 0xf91f) != pbVar48);
- break;
- case -0x1a:
- pbVar48 = (byte *)(param_1 + 0xfa33);
- psVar26 = (short *)((ulonglong)(uStack256 - *(int *)(param_1 + 0x74)) +
- *(longlong *)(param_1 + 0x58));
- do {
- uVar45 = (undefined4)uVar10;
- bVar49 = *pbVar48;
- uVar13 = *(uint *)(param_1 + 0x40);
- plVar6 = *(longlong **)(param_1 + 0xfa38);
- uVar43 = (int)((uint)(ushort)psVar26[-2] - (uint)(ushort)(psVar26[-4] * 2 -psVar26[-6]) &
- 0xffff) >> 0xf;
- uVar52 = *(undefined4 *)(param_1 + 0x3c);
- *(uint *)(param_1 + 0x3c) = uVar13;
- *(undefined4 *)(param_1 + 0x40) = uVar52;
- if (uVar13 < 0x10000) {
- FUN_00417f00(plVar1);
- uVar13 = *(uint *)(param_1 + 0x3c);
- }
- lVar14 = (ulonglong)uVar43 + (longlong)(int)(uint)bVar49 * 2;
- iVar8 = (uVar13 & 0x3fff) + 1;
- lVar21 = lVar14 * 0x20;
- lVar14 = lVar14 * 0x40 + param_1;
- sVar12 = (short)iVar8;
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(lVar14 + 0xf930);
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(lVar14 + 0xf940);
- auVar53 = packsswb(CONCAT214(SUB162(auVar53 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar53 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar53 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar53 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar53
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar53 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar53 >> 0x10,0) -
- sVar12,SUB162(auVar53,0) -
- sVar12))))))),
- CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar54 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar54
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar54 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar54 >> 0x10,0) -
- sVar12,SUB162(auVar54,0) -
- sVar12))))))));
- uVar50 = pmovmskb(uVar45,auVar53);
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(lVar14 + 0xf950);
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(lVar14 + 0xf960);
- auVar53 = packsswb(CONCAT214(SUB162(auVar53 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar53 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar53 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar53 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar53
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar53 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar53 >> 0x10,0) -
- sVar12,SUB162(auVar53,0) -
- sVar12))))))),
- CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar54 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar54
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar54 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar54 >> 0x10,0) -
- sVar12,SUB162(auVar54,0) -
- sVar12))))))));
- iVar8 = pmovmskb(iVar8,auVar53);
- uVar50 = iVar8 << 0x10 | uVar50;
- uVar41 = 0x1f;
- if (uVar50 != 0) {
- while (uVar50 >> uVar41 == 0) {
- uVar41 = uVar41 - 1;
- }
- }
- uVar50 = -(uVar41 ^ 0x1f) + 0x1f;
- uVar11 = (ulonglong)uVar50;
- uVar40 = *(ushort *)(param_1 + 0xf930 + (lVar21 + uVar11) * 2);
- uVar10 = (ulonglong)uVar40;
- *(int *)(param_1 + 0x3c) =
- (uVar13 - (uint)uVar40 & 0x3fff) +
- ((uint)*(ushort *)
- (param_1 + 0xf930 +
- (lVar21 + (ulonglong)(-(uVar41 ^ 0x1f) + 0x20 & 0x1f)) * 2) - (uint)uVar40&
- 0x3fff) * (uVar13 >> 0xe);
- FUN_0041e070((undefined4 *)
- (param_1 + 0xf930 + ((longlong)(int)uVar43 + (ulonglong)bVar49 * 2) *0x40),
- uVar50);
- sVar12 = 0;
- if (*(byte *)(*plVar6 + uVar11) != 0) {
- uVar25 = FUN_00417f40(plVar1,(uint)*(byte *)(*plVar6 + uVar11));
- sVar12 = (short)uVar25;
- }
- pbVar48 = pbVar48 + -1;
- *psVar26 = (psVar26[-2] * 2 - psVar26[-4]) +
- ((sVar12 + (short)*(undefined4 *)((longlong)plVar6 + uVar11 * 4 + 0x38)) -
- (short)*(undefined4 *)(plVar6 + 0x28));
- psVar26 = psVar26 + 1;
- } while ((byte *)(param_1 + 0xfa2f) != pbVar48);
- break;
- case -0x19:
- lVar14 = 0;
- piVar27 = (int *)((ulonglong)(uStack256 - *(int *)(param_1 + 0x74)) +
- *(longlong *)(param_1 + 0x58));
- iVar8 = piVar27[-1];
- while( true ) {
- uVar45 = (undefined4)uVar11;
- iVar19 = piVar27[-2];
- uVar13 = *(uint *)(param_1 + 0x40);
- bVar49 = *(byte *)(param_1 + 0xfac1 + lVar14);
- uVar11 = (ulonglong)bVar49;
- plVar6 = *(longlong **)(param_1 + 0xfac8);
- uVar52 = *(undefined4 *)(param_1 + 0x3c);
- *(uint *)(param_1 + 0x3c) = uVar13;
- *(undefined4 *)(param_1 + 0x40) = uVar52;
- if (uVar13 < 0x10000) {
- FUN_00417f00(plVar1);
- uVar13 = *(uint *)(param_1 + 0x3c);
- uStack248 = (uint)bVar49;
- uVar11 = SEXT48((int)uStack248);
- }
- lVar21 = (ulonglong)((uint)(iVar8 - iVar19) >> 0x1f) + uVar11 * 2;
- sVar12 = ((ushort)uVar13 & 0x3fff) + 1;
- lVar23 = lVar21 * 0x40 + param_1;
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(lVar23 + 0xfa40);
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(lVar23 + 0xfa50);
- sVar17 = SUB162(auVar53,0);
- sVar57 = SUB162(auVar53 >> 0x10,0);
- sVar59 = SUB162(auVar53 >> 0x20,0);
- sVar60 = SUB162(auVar53 >> 0x30,0);
- sVar61 = SUB162(auVar53 >> 0x40,0);
- sVar62 = SUB162(auVar53 >> 0x50,0);
- sVar63 = SUB162(auVar53 >> 0x60,0);
- sVar64 = SUB162(auVar53 >> 0x70,0);
- auVar54 = packsswb(CONCAT214(sVar64 - sVar12,
- CONCAT212(sVar63 - sVar12,
- CONCAT210(sVar62 - sVar12,
- CONCAT28(sVar61 - sVar12,
- CONCAT26(sVar60 - sVar12,
- CONCAT24(sVar59 -
- sVar12,CONCAT22(sVar57 - sVar12,sVar17 -sVar12)))
- )))),
- CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar54 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar54
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar54 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar54 >> 0x10,0) -
- sVar12,SUB162(auVar54,0) -
- sVar12))))))));
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(lVar23 + 0xfa60);
- uVar41 = pmovmskb(uVar45,auVar54);
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(lVar23 + 0xfa70);
- auVar53 = packsswb(CONCAT214(SUB162(auVar53 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar53 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar53 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar53 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar53
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar53 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar53 >> 0x10,0) -
- sVar12,SUB162(auVar53,0) -
- sVar12))))))),
- CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar54 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar54
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar54 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar54 >> 0x10,0) -
- sVar12,SUB162(auVar54,0) -
- sVar12))))))));
- iVar8 = pmovmskb((int)uVar11,auVar53);
- uVar41 = iVar8 << 0x10 | uVar41;
- uVar43 = 0x1f;
- if (uVar41 != 0) {
- while (uVar41 >> uVar43 == 0) {
- uVar43 = uVar43 - 1;
- }
- }
- uVar25 = (ulonglong)(-(uVar43 ^ 0x1f) + 0x1f);
- lVar21 = lVar21 * 0x20;
- uVar11 = (ulonglong)(uVar13 >> 0xe);
- uVar41 = (uint)*(ushort *)(param_1 + 0xfa40 + (lVar21 + uVar25) * 2);
- puVar35 = (undefined *)(uVar25 * 0x40 + DAT_00434798);
- *(int *)(param_1 + 0x3c) =
- (uVar13 - uVar41 & 0x3fff) +
- (*(ushort *)(param_1 + 0xfa40 + (lVar21 + (ulonglong)(-(uVar43 ^ 0x1f) + 0x20)) *2)
- - uVar41) * (uVar13 >> 0xe);
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)puVar35;
- auVar53 = psraw(CONCAT214(SUB162(auVar53 >> 0x70,0) - sVar64,
- CONCAT212(SUB162(auVar53 >> 0x60,0) - sVar63,
- CONCAT210(SUB162(auVar53 >> 0x50,0) - sVar62,
- CONCAT28(SUB162(auVar53 >> 0x40,0) -sVar61,
- CONCAT26(SUB162(auVar53 >> 0x30,0)
- - sVar60,CONCAT24(SUB162(
- auVar53 >> 0x20,0) - sVar59,
- CONCAT22(SUB162(auVar53 >> 0x10,0) - sVar57,
- SUB162(auVar53,0) - sVar17))))))),7);
- uVar52 = CONCAT22(SUB162(auVar53 >> 0x10,0) + sVar57,SUB162(auVar53,0) + sVar17);
- _uVar52 = CONCAT26(SUB162(auVar53 >> 0x30,0) + sVar60,
- CONCAT24(SUB162(auVar53 >> 0x20,0) + sVar59,uVar52));
- _uVar52 = CONCAT210(SUB162(auVar53 >> 0x50,0) + sVar62,
- CONCAT28(SUB162(auVar53 >> 0x40,0) + sVar61,_uVar52));
- *(undefined4 *)(lVar23 + 0xfa40) = uVar52;
- *(undefined4 *)(lVar23 + 0xfa44) = (int)((ulonglong)_uVar52 >> 0x20);
- *(undefined4 *)(lVar23 + 0xfa48) = SUB124(_uVar52 >> 0x40,0);
- *(undefined4 *)(lVar23 + 0xfa4c) =
- SUB164(CONCAT214(SUB162(auVar53 >> 0x70,0) + sVar64,
- CONCAT212(SUB162(auVar53 >> 0x60,0) + sVar63,_uVar52)) >> 0x60,0);
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(lVar23 + 0xfa50);
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(puVar35 + 0x10);
- sVar12 = SUB162(auVar53 >> 0x10,0);
- sVar17 = SUB162(auVar53 >> 0x20,0);
- sVar57 = SUB162(auVar53 >> 0x30,0);
- sVar59 = SUB162(auVar53 >> 0x40,0);
- sVar60 = SUB162(auVar53 >> 0x50,0);
- sVar61 = SUB162(auVar53 >> 0x60,0);
- sVar62 = SUB162(auVar53 >> 0x70,0);
- auVar54 = psraw(CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar62,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar61,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar60,
- CONCAT28(SUB162(auVar54 >> 0x40,0) -sVar59,
- CONCAT26(SUB162(auVar54 >> 0x30,0)
- - sVar57,CONCAT24(SUB162(
- auVar54 >> 0x20,0) - sVar17,
- CONCAT22(SUB162(auVar54 >> 0x10,0) - sVar12,
- SUB162(auVar54,0) -SUB162(auVar53,0)))))
- ))),7);
- uVar52 = CONCAT22(sVar12 + SUB162(auVar54 >> 0x10,0),SUB162(auVar53,0) +SUB162(auVar54,0)
- );
- _uVar52 = CONCAT26(sVar57 + SUB162(auVar54 >> 0x30,0),
- CONCAT24(sVar17 + SUB162(auVar54 >> 0x20,0),uVar52));
- _uVar52 = CONCAT210(sVar60 + SUB162(auVar54 >> 0x50,0),
- CONCAT28(sVar59 + SUB162(auVar54 >> 0x40,0),_uVar52));
- *(undefined4 *)(lVar23 + 0xfa50) = uVar52;
- *(undefined4 *)(lVar23 + 0xfa54) = (int)((ulonglong)_uVar52 >> 0x20);
- *(undefined4 *)(lVar23 + 0xfa58) = SUB124(_uVar52 >> 0x40,0);
- *(undefined4 *)(lVar23 + 0xfa5c) =
- SUB164(CONCAT214(sVar62 + SUB162(auVar54 >> 0x70,0),
- CONCAT212(sVar61 + SUB162(auVar54 >> 0x60,0),_uVar52)) >> 0x60,0);
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(lVar23 + 0xfa60);
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(puVar35 + 0x20);
- sVar12 = SUB162(auVar53 >> 0x10,0);
- sVar17 = SUB162(auVar53 >> 0x20,0);
- sVar57 = SUB162(auVar53 >> 0x30,0);
- sVar59 = SUB162(auVar53 >> 0x40,0);
- sVar60 = SUB162(auVar53 >> 0x50,0);
- sVar61 = SUB162(auVar53 >> 0x60,0);
- sVar62 = SUB162(auVar53 >> 0x70,0);
- auVar54 = psraw(CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar62,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar61,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar60,
- CONCAT28(SUB162(auVar54 >> 0x40,0) -sVar59,
- CONCAT26(SUB162(auVar54 >> 0x30,0)
- - sVar57,CONCAT24(SUB162(
- auVar54 >> 0x20,0) - sVar17,
- CONCAT22(SUB162(auVar54 >> 0x10,0) - sVar12,
- SUB162(auVar54,0) -SUB162(auVar53,0)))))
- ))),7);
- uVar52 = CONCAT22(sVar12 + SUB162(auVar54 >> 0x10,0),SUB162(auVar53,0) +SUB162(auVar54,0)
- );
- _uVar52 = CONCAT26(sVar57 + SUB162(auVar54 >> 0x30,0),
- CONCAT24(sVar17 + SUB162(auVar54 >> 0x20,0),uVar52));
- _uVar52 = CONCAT210(sVar60 + SUB162(auVar54 >> 0x50,0),
- CONCAT28(sVar59 + SUB162(auVar54 >> 0x40,0),_uVar52));
- *(undefined4 *)(lVar23 + 0xfa60) = uVar52;
- *(undefined4 *)(lVar23 + 0xfa64) = (int)((ulonglong)_uVar52 >> 0x20);
- *(undefined4 *)(lVar23 + 0xfa68) = SUB124(_uVar52 >> 0x40,0);
- *(undefined4 *)(lVar23 + 0xfa6c) =
- SUB164(CONCAT214(sVar62 + SUB162(auVar54 >> 0x70,0),
- CONCAT212(sVar61 + SUB162(auVar54 >> 0x60,0),_uVar52)) >> 0x60,0);
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(lVar23 + 0xfa70);
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(puVar35 + 0x30);
- sVar12 = SUB162(auVar53 >> 0x10,0);
- sVar17 = SUB162(auVar53 >> 0x20,0);
- sVar57 = SUB162(auVar53 >> 0x30,0);
- sVar59 = SUB162(auVar53 >> 0x40,0);
- sVar60 = SUB162(auVar53 >> 0x50,0);
- sVar61 = SUB162(auVar53 >> 0x60,0);
- sVar62 = SUB162(auVar53 >> 0x70,0);
- auVar54 = psraw(CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar62,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar61,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar60,
- CONCAT28(SUB162(auVar54 >> 0x40,0) -sVar59,
- CONCAT26(SUB162(auVar54 >> 0x30,0)
- - sVar57,CONCAT24(SUB162(
- auVar54 >> 0x20,0) - sVar17,
- CONCAT22(SUB162(auVar54 >> 0x10,0) - sVar12,
- SUB162(auVar54,0) -SUB162(auVar53,0)))))
- ))),7);
- uVar52 = CONCAT22(sVar12 + SUB162(auVar54 >> 0x10,0),SUB162(auVar53,0) +SUB162(auVar54,0)
- );
- _uVar52 = CONCAT26(sVar57 + SUB162(auVar54 >> 0x30,0),
- CONCAT24(sVar17 + SUB162(auVar54 >> 0x20,0),uVar52));
- _uVar52 = CONCAT210(sVar60 + SUB162(auVar54 >> 0x50,0),
- CONCAT28(sVar59 + SUB162(auVar54 >> 0x40,0),_uVar52));
- *(undefined4 *)(lVar23 + 0xfa70) = uVar52;
- *(undefined4 *)(lVar23 + 0xfa74) = (int)((ulonglong)_uVar52 >> 0x20);
- *(undefined4 *)(lVar23 + 0xfa78) = SUB124(_uVar52 >> 0x40,0);
- *(undefined4 *)(lVar23 + 0xfa7c) =
- SUB164(CONCAT214(sVar62 + SUB162(auVar54 >> 0x70,0),
- CONCAT212(sVar61 + SUB162(auVar54 >> 0x60,0),_uVar52)) >> 0x60,0);
- iVar8 = 0;
- if (*(byte *)(*plVar6 + uVar25) != 0) {
- uVar10 = FUN_00417f40(plVar1,(uint)*(byte *)(*plVar6 + uVar25));
- iVar8 = (int)uVar10;
- }
- iVar8 = iVar8 + (piVar27[-1] - *(int *)(plVar6 + 0x28)) +
- *(int *)((longlong)plVar6 + uVar25 * 4 + 0x38);
- *piVar27 = iVar8;
- if (lVar14 == -1) break;
- lVar14 = -1;
- piVar27 = piVar27 + 1;
- }
- break;
- case -0x18:
- auVar53 = (undefined [16])0x0;
- pcVar44 = (char *)((ulonglong)(uStack256 - *(int *)(param_1 + 0x74)) +
- *(longlong *)(param_1 + 0x58));
- pcVar33 = pcVar44;
- do {
- uVar45 = SUB84(puVar22,0);
- uVar13 = *(uint *)(param_1 + 0x40);
- uVar52 = *(undefined4 *)(param_1 + 0x3c);
- *(uint *)(param_1 + 0x3c) = uVar13;
- *(undefined4 *)(param_1 + 0x40) = uVar52;
- if (uVar13 < 0x10000) {
- FUN_00417f00(plVar1);
- uVar13 = *(uint *)(param_1 + 0x3c);
- }
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(param_1 + 0xfae0);
- /* WARNING: Load size is inaccurate */
- auVar55 = *(undefined *)(param_1 + 0xfaf0);
- iVar8 = (uVar13 & 0x3fff) + 1;
- sVar12 = (short)iVar8;
- auVar54 = packsswb(CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar54 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar54
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar54 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar54 >> 0x10,0) -
- sVar12,SUB162(auVar54,0) -
- sVar12))))))),
- CONCAT214(SUB162(auVar55 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar55 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar55 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar55 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar55
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar55 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar55 >> 0x10,0) -
- sVar12,SUB162(auVar55,0) -
- sVar12))))))));
- uVar41 = pmovmskb(uVar45,auVar54);
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(param_1 + 0xfb00);
- auVar54 = packsswb(CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar54 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar54
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar54 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar54 >> 0x10,0) -
- sVar12,SUB162(auVar54,0) -
- sVar12))))))),auVar53);
- iVar8 = pmovmskb(iVar8,auVar54);
- uVar41 = iVar8 << 0x10 | uVar41;
- uVar43 = 0x1f;
- if (uVar41 != 0) {
- while (uVar41 >> uVar43 == 0) {
- uVar43 = uVar43 - 1;
- }
- }
- uVar41 = -(uVar43 ^ 0x1f) + 0x1f;
- uVar11 = (ulonglong)uVar41;
- uVar50 = (uint)*(ushort *)(param_1 + 0xfae0 + uVar11 * 2);
- *(int *)(param_1 + 0x3c) =
- (uVar13 - uVar50 & 0x3fff) +
- (uVar13 >> 0xe) *
- (*(ushort *)(param_1 + 0xfae0 + (ulonglong)(-(uVar43 ^ 0x1f) + 0x20) * 2) -uVar50);
- FUN_0041e010((undefined4 *)(param_1 + 0xfae0),uVar41);
- bVar49 = *(byte *)(DAT_004311a0 + uVar11);
- uVar13 = (uint)bVar49;
- iVar8 = 0;
- if (bVar49 != 0) {
- uVar13 = (uint)bVar49;
- uVar25 = FUN_00417f40(plVar1,(uint)bVar49);
- iVar8 = (int)uVar25;
- }
- uVar43 = *(uint *)(param_1 + 0x40);
- uVar52 = *(undefined4 *)(param_1 + 0x3c);
- iVar8 = (iVar8 + *(int *)(&DAT_004311d8 + uVar11 * 4)) - DAT_004312e0;
- *(uint *)(param_1 + 0x3c) = uVar43;
- *(undefined4 *)(param_1 + 0x40) = uVar52;
- if (uVar43 < 0x10000) {
- FUN_00417f00(plVar1);
- uVar43 = *(uint *)(param_1 + 0x3c);
- }
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(param_1 + 0xfb10);
- /* WARNING: Load size is inaccurate */
- auVar55 = *(undefined *)(param_1 + 0xfb20);
- iVar19 = (uVar43 & 0x3fff) + 1;
- sVar12 = (short)iVar19;
- auVar54 = packsswb(CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar54 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar54
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar54 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar54 >> 0x10,0) -
- sVar12,SUB162(auVar54,0) -
- sVar12))))))),
- CONCAT214(SUB162(auVar55 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar55 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar55 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar55 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar55
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar55 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar55 >> 0x10,0) -
- sVar12,SUB162(auVar55,0) -
- sVar12))))))));
- uVar41 = pmovmskb(uVar13,auVar54);
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(param_1 + 0xfb30);
- auVar54 = packsswb(CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar54 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar54
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar54 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar54 >> 0x10,0) -
- sVar12,SUB162(auVar54,0) -
- sVar12))))))),auVar53);
- iVar19 = pmovmskb(iVar19,auVar54);
- uVar41 = iVar19 << 0x10 | uVar41;
- uVar13 = 0x1f;
- if (uVar41 != 0) {
- while (uVar41 >> uVar13 == 0) {
- uVar13 = uVar13 - 1;
- }
- }
- uVar41 = -(uVar13 ^ 0x1f) + 0x1f;
- uVar11 = (ulonglong)uVar41;
- uVar50 = (uint)*(ushort *)(param_1 + 0xfb10 + uVar11 * 2);
- *(int *)(param_1 + 0x3c) =
- (uVar43 - uVar50 & 0x3fff) +
- (uVar43 >> 0xe) *
- (*(ushort *)(param_1 + 0xfb10 + (ulonglong)(-(uVar13 ^ 0x1f) + 0x20) * 2) -uVar50);
- FUN_0041e010((undefined4 *)(param_1 + 0xfb10),uVar41);
- bVar49 = *(byte *)(DAT_00431040 + uVar11);
- uVar13 = (uint)bVar49;
- iVar19 = 0;
- if (bVar49 != 0) {
- uVar13 = (uint)bVar49;
- uVar25 = FUN_00417f40(plVar1,(uint)bVar49);
- iVar19 = (int)uVar25;
- }
- uVar43 = *(uint *)(param_1 + 0x40);
- uVar52 = *(undefined4 *)(param_1 + 0x3c);
- iVar19 = (iVar19 + *(int *)(&DAT_00431078 + uVar11 * 4)) - DAT_00431180;
- *(uint *)(param_1 + 0x3c) = uVar43;
- *(undefined4 *)(param_1 + 0x40) = uVar52;
- if (uVar43 < 0x10000) {
- FUN_00417f00(plVar1);
- uVar43 = *(uint *)(param_1 + 0x3c);
- }
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(param_1 + 0xfb40);
- /* WARNING: Load size is inaccurate */
- auVar55 = *(undefined *)(param_1 + 0xfb50);
- iVar18 = (uVar43 & 0x3fff) + 1;
- sVar12 = (short)iVar18;
- auVar54 = packsswb(CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar54 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar54
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar54 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar54 >> 0x10,0) -
- sVar12,SUB162(auVar54,0) -
- sVar12))))))),
- CONCAT214(SUB162(auVar55 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar55 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar55 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar55 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar55
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar55 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar55 >> 0x10,0) -
- sVar12,SUB162(auVar55,0) -
- sVar12))))))));
- uVar41 = pmovmskb(uVar13,auVar54);
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(param_1 + 0xfb60);
- auVar54 = packsswb(CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar54 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar54
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar54 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar54 >> 0x10,0) -
- sVar12,SUB162(auVar54,0) -
- sVar12))))))),auVar53);
- iVar18 = pmovmskb(iVar18,auVar54);
- uVar41 = iVar18 << 0x10 | uVar41;
- uVar13 = 0x1f;
- if (uVar41 != 0) {
- while (uVar41 >> uVar13 == 0) {
- uVar13 = uVar13 - 1;
- }
- }
- uVar41 = -(uVar13 ^ 0x1f) + 0x1f;
- uVar11 = (ulonglong)uVar41;
- uVar50 = (uint)*(ushort *)(param_1 + 0xfb40 + uVar11 * 2);
- *(int *)(param_1 + 0x3c) =
- (uVar43 - uVar50 & 0x3fff) +
- (uVar43 >> 0xe) *
- (*(ushort *)(param_1 + 0xfb40 + (ulonglong)(-(uVar13 ^ 0x1f) + 0x20) * 2) -uVar50);
- FUN_0041e010((undefined4 *)(param_1 + 0xfb40),uVar41);
- iVar18 = 0;
- if (*(byte *)(DAT_00431040 + uVar11) != 0) {
- uVar25 = FUN_00417f40(plVar1,(uint)*(byte *)(DAT_00431040 + uVar11));
- iVar18 = (int)uVar25;
- }
- pcVar28 = pcVar33 + 3;
- iVar18 = (iVar18 + *(int *)(&DAT_00431078 + uVar11 * 4)) - DAT_00431180;
- iVar8 = iVar8 - (iVar18 >> 1);
- uVar13 = iVar8 - (iVar19 >> 1);
- cVar42 = (char)uVar13;
- bVar49 = cVar42 + pcVar33[-1];
- puVar22 = (uint *)(ulonglong)(uVar13 & 0xffffff00 | (uint)bVar49);
- pcVar33[1] = (char)iVar18 + (char)iVar8 + pcVar33[-2];
- *pcVar33 = (char)iVar19 + cVar42 + pcVar33[-3];
- pcVar33[2] = bVar49;
- pcVar33 = pcVar28;
- } while (pcVar28 != pcVar44 + 9);
- LAB_00404361:
- uVar25 = 0;
- iVar8 = 9;
- uVar13 = uStack256 + 9;
- goto LAB_00403130;
- case -0x17:
- auVar53 = (undefined [16])0x0;
- pcVar44 = (char *)((ulonglong)(uStack256 - *(int *)(param_1 + 0x74)) +
- *(longlong *)(param_1 + 0x58));
- pcVar33 = pcVar44;
- do {
- uVar45 = SUB84(puVar22,0);
- uVar13 = *(uint *)(param_1 + 0x40);
- uVar52 = *(undefined4 *)(param_1 + 0x3c);
- *(uint *)(param_1 + 0x3c) = uVar13;
- *(undefined4 *)(param_1 + 0x40) = uVar52;
- if (uVar13 < 0x10000) {
- FUN_00417f00(plVar1);
- uVar13 = *(uint *)(param_1 + 0x3c);
- }
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(param_1 + 0xfb90);
- /* WARNING: Load size is inaccurate */
- auVar55 = *(undefined *)(param_1 + 0xfba0);
- iVar8 = (uVar13 & 0x3fff) + 1;
- sVar12 = (short)iVar8;
- auVar54 = packsswb(CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar54 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar54
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar54 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar54 >> 0x10,0) -
- sVar12,SUB162(auVar54,0) -
- sVar12))))))),
- CONCAT214(SUB162(auVar55 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar55 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar55 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar55 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar55
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar55 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar55 >> 0x10,0) -
- sVar12,SUB162(auVar55,0) -
- sVar12))))))));
- uVar41 = pmovmskb(uVar45,auVar54);
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(param_1 + 0xfbb0);
- auVar54 = packsswb(CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar54 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar54
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar54 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar54 >> 0x10,0) -
- sVar12,SUB162(auVar54,0) -
- sVar12))))))),auVar53);
- iVar8 = pmovmskb(iVar8,auVar54);
- uVar41 = iVar8 << 0x10 | uVar41;
- uVar43 = 0x1f;
- if (uVar41 != 0) {
- while (uVar41 >> uVar43 == 0) {
- uVar43 = uVar43 - 1;
- }
- }
- uVar41 = -(uVar43 ^ 0x1f) + 0x1f;
- uVar11 = (ulonglong)uVar41;
- uVar50 = (uint)*(ushort *)(param_1 + 0xfb90 + uVar11 * 2);
- *(int *)(param_1 + 0x3c) =
- (uVar13 - uVar50 & 0x3fff) +
- (uVar13 >> 0xe) *
- (*(ushort *)(param_1 + 0xfb90 + (ulonglong)(-(uVar43 ^ 0x1f) + 0x20) * 2) -uVar50);
- FUN_0041e010((undefined4 *)(param_1 + 0xfb90),uVar41);
- bVar49 = *(byte *)(DAT_004311a0 + uVar11);
- uVar13 = (uint)bVar49;
- cVar42 = '\0';
- if (bVar49 != 0) {
- uVar13 = (uint)bVar49;
- uVar25 = FUN_00417f40(plVar1,(uint)bVar49);
- cVar42 = (char)uVar25;
- }
- uVar52 = *(undefined4 *)(&DAT_004311d8 + uVar11 * 4);
- uVar43 = *(uint *)(param_1 + 0x40);
- uVar45 = *(undefined4 *)(param_1 + 0x3c);
- cVar37 = (char)DAT_004312e0;
- *(uint *)(param_1 + 0x3c) = uVar43;
- *(undefined4 *)(param_1 + 0x40) = uVar45;
- if (uVar43 < 0x10000) {
- FUN_00417f00(plVar1);
- uVar43 = *(uint *)(param_1 + 0x3c);
- }
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(param_1 + 0xfbc0);
- /* WARNING: Load size is inaccurate */
- auVar55 = *(undefined *)(param_1 + 0xfbd0);
- iVar8 = (uVar43 & 0x3fff) + 1;
- sVar12 = (short)iVar8;
- auVar54 = packsswb(CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar54 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar54
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar54 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar54 >> 0x10,0) -
- sVar12,SUB162(auVar54,0) -
- sVar12))))))),
- CONCAT214(SUB162(auVar55 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar55 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar55 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar55 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar55
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar55 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar55 >> 0x10,0) -
- sVar12,SUB162(auVar55,0) -
- sVar12))))))));
- uVar41 = pmovmskb(uVar13,auVar54);
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(param_1 + 0xfbe0);
- auVar54 = packsswb(CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar54 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar54
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar54 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar54 >> 0x10,0) -
- sVar12,SUB162(auVar54,0) -
- sVar12))))))),auVar53);
- iVar8 = pmovmskb(iVar8,auVar54);
- uVar41 = iVar8 << 0x10 | uVar41;
- uVar13 = 0x1f;
- if (uVar41 != 0) {
- while (uVar41 >> uVar13 == 0) {
- uVar13 = uVar13 - 1;
- }
- }
- uVar41 = -(uVar13 ^ 0x1f) + 0x1f;
- uVar11 = (ulonglong)uVar41;
- uVar50 = (uint)*(ushort *)(param_1 + 0xfbc0 + uVar11 * 2);
- *(int *)(param_1 + 0x3c) =
- (uVar43 - uVar50 & 0x3fff) +
- (uVar43 >> 0xe) *
- (*(ushort *)(param_1 + 0xfbc0 + (ulonglong)(-(uVar13 ^ 0x1f) + 0x20) * 2) -uVar50);
- FUN_0041e010((undefined4 *)(param_1 + 0xfbc0),uVar41);
- bVar49 = *(byte *)(DAT_00431040 + uVar11);
- uVar13 = (uint)bVar49;
- iVar8 = 0;
- if (bVar49 != 0) {
- uVar13 = (uint)bVar49;
- uVar25 = FUN_00417f40(plVar1,(uint)bVar49);
- iVar8 = (int)uVar25;
- }
- uVar43 = *(uint *)(param_1 + 0x40);
- uVar45 = *(undefined4 *)(param_1 + 0x3c);
- iVar8 = (iVar8 + *(int *)(&DAT_00431078 + uVar11 * 4)) - DAT_00431180;
- *(uint *)(param_1 + 0x3c) = uVar43;
- *(undefined4 *)(param_1 + 0x40) = uVar45;
- if (uVar43 < 0x10000) {
- FUN_00417f00(plVar1);
- uVar43 = *(uint *)(param_1 + 0x3c);
- }
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(param_1 + 0xfbf0);
- /* WARNING: Load size is inaccurate */
- auVar55 = *(undefined *)(param_1 + 0xfc00);
- iVar19 = (uVar43 & 0x3fff) + 1;
- sVar12 = (short)iVar19;
- auVar54 = packsswb(CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar54 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar54
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar54 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar54 >> 0x10,0) -
- sVar12,SUB162(auVar54,0) -
- sVar12))))))),
- CONCAT214(SUB162(auVar55 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar55 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar55 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar55 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar55
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar55 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar55 >> 0x10,0) -
- sVar12,SUB162(auVar55,0) -
- sVar12))))))));
- uVar41 = pmovmskb(uVar13,auVar54);
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(param_1 + 0xfc10);
- auVar54 = packsswb(CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar54 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar54
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar54 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar54 >> 0x10,0) -
- sVar12,SUB162(auVar54,0) -
- sVar12))))))),auVar53);
- iVar19 = pmovmskb(iVar19,auVar54);
- uVar41 = iVar19 << 0x10 | uVar41;
- uVar13 = 0x1f;
- if (uVar41 != 0) {
- while (uVar41 >> uVar13 == 0) {
- uVar13 = uVar13 - 1;
- }
- }
- uVar41 = -(uVar13 ^ 0x1f) + 0x1f;
- uVar11 = (ulonglong)uVar41;
- uVar50 = (uint)*(ushort *)(param_1 + 0xfbf0 + uVar11 * 2);
- *(int *)(param_1 + 0x3c) =
- (uVar43 - uVar50 & 0x3fff) +
- (uVar43 >> 0xe) *
- (*(ushort *)(param_1 + 0xfbf0 + (ulonglong)(-(uVar13 ^ 0x1f) + 0x20) * 2) -uVar50);
- FUN_0041e010((undefined4 *)(param_1 + 0xfbf0),uVar41);
- iVar19 = 0;
- if (*(byte *)(DAT_00431040 + uVar11) != 0) {
- uVar25 = FUN_00417f40(plVar1,(uint)*(byte *)(DAT_00431040 + uVar11));
- iVar19 = (int)uVar25;
- }
- iVar19 = (iVar19 + *(int *)(&DAT_00431078 + uVar11 * 4)) - DAT_00431180;
- cVar42 = ((cVar42 + (char)uVar52) - cVar37) - (char)(iVar19 >> 1);
- cVar37 = cVar42 - (char)(iVar8 >> 1);
- pcVar33[1] = (char)iVar19 + cVar42 + pcVar33[-3];
- *pcVar33 = (char)iVar8 + cVar37 + pcVar33[-4];
- pcVar33[2] = cVar37 + pcVar33[-2];
- uVar13 = *(uint *)(param_1 + 0x40);
- uVar52 = *(undefined4 *)(param_1 + 0x3c);
- *(uint *)(param_1 + 0x3c) = uVar13;
- *(undefined4 *)(param_1 + 0x40) = uVar52;
- if (uVar13 < 0x10000) {
- FUN_00417f00(plVar1);
- uVar13 = *(uint *)(param_1 + 0x3c);
- }
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(param_1 + 0xfc20);
- /* WARNING: Load size is inaccurate */
- auVar55 = *(undefined *)(param_1 + 0xfc30);
- iVar8 = (uVar13 & 0x3fff) + 1;
- sVar12 = (short)iVar8;
- auVar54 = packsswb(CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar54 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar54
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar54 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar54 >> 0x10,0) -
- sVar12,SUB162(auVar54,0) -
- sVar12))))))),
- CONCAT214(SUB162(auVar55 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar55 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar55 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar55 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar55
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar55 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar55 >> 0x10,0) -
- sVar12,SUB162(auVar55,0) -
- sVar12))))))));
- uVar41 = pmovmskb(iVar8,auVar54);
- uVar43 = 0x1f;
- if (uVar41 != 0) {
- while (uVar41 >> uVar43 == 0) {
- uVar43 = uVar43 - 1;
- }
- }
- uVar41 = -(uVar43 ^ 0x1f) + 0x1f;
- uVar11 = (ulonglong)uVar41;
- uVar50 = (uint)*(ushort *)(param_1 + 0xfc20 + uVar11 * 2);
- *(int *)(param_1 + 0x3c) =
- (uVar13 - uVar50 & 0x3fff) +
- (*(ushort *)(param_1 + 0xfc20 + (ulonglong)(-(uVar43 ^ 0x1f) + 0x20 & 0xf) * 2) -
- uVar50 & 0x3fff) * (uVar13 >> 0xe);
- FUN_00421ad0((undefined4 *)(param_1 + 0xfc20),uVar41);
- bVar49 = *(byte *)(DAT_00431720 + uVar11);
- puVar22 = (uint *)(ulonglong)bVar49;
- cVar42 = '\0';
- if (bVar49 != 0) {
- uVar25 = FUN_00417f40(plVar1,(uint)bVar49);
- cVar42 = (char)uVar25;
- }
- pcVar28 = pcVar33 + 4;
- pcVar33[3] = ((cVar42 + (char)(&DAT_00431758)[uVar11]) - (char)DAT_00431860) +pcVar33[-1]
- ;
- pcVar33 = pcVar28;
- } while (pcVar28 != pcVar44 + 8);
- break;
- case -0x16:
- uVar13 = *(uint *)(param_1 + 0x40);
- uVar52 = *(undefined4 *)(param_1 + 0x3c);
- *(uint *)(param_1 + 0x3c) = uVar13;
- *(undefined4 *)(param_1 + 0x40) = uVar52;
- if (uVar13 < 0x10000) {
- FUN_00417f00(plVar1);
- uVar13 = *(uint *)(param_1 + 0x3c);
- }
- uVar40 = *(ushort *)(param_1 + 0x10fb0);
- uVar43 = (int)(uint)uVar40 >> 4;
- if ((uVar13 & 0xfff) < uVar43) {
- *(int *)(param_1 + 0x3c) = (uVar13 >> 0xc) * uVar43 + (uVar13 & 0xfff);
- *(short *)(param_1 + 0x10fb0) = uVar40 + (-uVar40 >> 5);
- uVar11 = FUN_00417f40(plVar1,0x10);
- iVar19 = *(int *)(param_1 + 0x3c);
- iVar8 = (int)uVar11;
- *(int *)(param_1 + 0x10fb4) = iVar8;
- }
- else {
- *(short *)(param_1 + 0x10fb0) = uVar40 - (short)((int)(uint)uVar40 >> 5);
- iVar8 = *(int *)(param_1 + 0x10fb4);
- iVar19 = uVar13 - ((uVar13 >> 0xc) + 1) * uVar43;
- *(int *)(param_1 + 0x3c) = iVar19;
- }
- lVar14 = param_1 + 0xfc50;
- auVar53 = (undefined [16])0x0;
- lVar21 = *(longlong *)(param_1 + 0xfc40);
- auVar54 = (undefined [16])0x1000100010001;
- auVar55 = (undefined [16])0x1000100010001;
- lVar23 = *(longlong *)(lVar21 + 0x10);
- uVar13 = uStack256 - *(int *)(lVar21 + 0x2c);
- iVar18 = (uVar13 - iVar8) + -3;
- iVar8 = (uStack256 + iVar8 * -2) - *(int *)(lVar21 + 0x2c);
- pbVar36 = (byte *)(lVar23 + 3 +
- (ulonglong)((iVar18 >> 0x1f & *(uint *)(lVar21 + 0x20)) + iVar18));
- pbVar39 = (byte *)(lVar23 + (ulonglong)(iVar8 + (*(uint *)(lVar21 + 0x20) & iVar8 >>0x1f)))
- ;
- pbVar48 = pbVar36 + 0xc;
- puVar35 = (undefined *)((ulonglong)uVar13 + lVar23);
- while( true ) {
- *(short *)(param_1 + 0xfc50) = (ushort)*pbVar36 - (ushort)*pbVar39;
- *(short *)(param_1 + 0xfc52) = (ushort)pbVar36[1] - (ushort)pbVar39[1];
- *(short *)(param_1 + 0xfc54) = (ushort)pbVar36[2] - (ushort)pbVar39[2];
- *(short *)(param_1 + 0xfc56) = (ushort)*pbVar36 - (ushort)pbVar36[-3];
- *(short *)(param_1 + 0xfc58) = (ushort)pbVar36[1] - (ushort)pbVar36[-2];
- *(short *)(param_1 + 0xfc5a) = (ushort)pbVar36[2] - (ushort)pbVar36[-1];
- *(short *)(param_1 + 0xfc5c) = (ushort)*pbVar36 - (ushort)pbVar36[3];
- *(short *)(param_1 + 0xfc5e) = (ushort)pbVar36[1] - (ushort)pbVar36[4];
- *(short *)(param_1 + 0xfc60) = (ushort)pbVar36[2] - (ushort)pbVar36[5];
- *(short *)(param_1 + 0xfc62) = (ushort)pbVar36[-3] - (ushort)(byte)puVar35[-3];
- *(short *)(param_1 + 0xfc64) = (ushort)pbVar36[-2] - (ushort)(byte)puVar35[-2];
- /* WARNING: Load size is inaccurate */
- /* WARNING: Load size is inaccurate */
- auVar69 = pmaddwd(*(undefined *)(param_1 + 0xfc50),*(undefined *)(param_1 + 0xfc70));
- uVar11 = (ulonglong)*(uint *)(param_1 + 0xffd0);
- *(short *)(param_1 + 0xfc66) = (ushort)pbVar36[-1] - (ushort)(byte)puVar35[-1];
- *(short *)(param_1 + 0xfc68) = (ushort)(byte)puVar35[-6] - (ushort)(byte)puVar35[-3];
- *(short *)(param_1 + 0xfc6a) = (ushort)(byte)puVar35[-5] - (ushort)(byte)puVar35[-2];
- *(short *)(param_1 + 0xfc6c) = (ushort)(byte)puVar35[-4] - (ushort)(byte)puVar35[-1];
- *(undefined2 *)(param_1 + 0xfc6e) = 0;
- /* WARNING: Load size is inaccurate */
- /* WARNING: Load size is inaccurate */
- auVar65 = pmaddwd(*(undefined *)(param_1 + 0xfc60),*(undefined *)(param_1 + 0xfc80));
- iVar8 = SUB164(auVar65,0) + SUB164(auVar69,0) +
- SUB164(auVar65 >> 0x20,0) + SUB164(auVar69 >> 0x20,0) +
- SUB164(auVar65 >> 0x40,0) + SUB164(auVar69 >> 0x40,0) + 0x200 +
- SUB164(auVar65 >> 0x60,0) + SUB164(auVar69 >> 0x60,0) >> 10;
- bVar7 = 8 < iVar8 + 4U;
- uVar13 = *(uint *)(param_1 + 0x40);
- *(int *)(param_1 + 0x40) = iVar19;
- *(uint *)(param_1 + 0x3c) = uVar13;
- if (uVar13 < 0x10000) {
- FUN_00417f00(plVar1);
- uVar13 = *(uint *)(param_1 + 0x3c);
- }
- uVar25 = (ulonglong)bVar7;
- sVar12 = ((ushort)uVar13 & 0x3fff) + 1;
- lVar21 = uVar11 * 0x30 + uVar25 * 0x18;
- lVar23 = uVar25 * 0x30 + uVar11 * 0x60 + param_1;
- /* WARNING: Load size is inaccurate */
- auVar65 = *(undefined *)(lVar23 + 0xfcd0);
- /* WARNING: Load size is inaccurate */
- auVar69 = *(undefined *)(lVar23 + 0xfce0);
- auVar65 = packsswb(CONCAT214(SUB162(auVar65 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar65 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar65 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar65 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar65
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar65 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar65 >> 0x10,0) -
- sVar12,SUB162(auVar65,0) -
- sVar12))))))),
- CONCAT214(SUB162(auVar69 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar69 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar69 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar69 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar69
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar69 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar69 >> 0x10,0) -
- sVar12,SUB162(auVar69,0) -
- sVar12))))))));
- uVar41 = pmovmskb((int)(uVar11 * 0x60),auVar65);
- /* WARNING: Load size is inaccurate */
- auVar65 = *(undefined *)(lVar23 + 0xfcf0);
- auVar65 = packsswb(CONCAT214(SUB162(auVar65 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar65 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar65 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar65 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar65
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar65 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar65 >> 0x10,0) -
- sVar12,SUB162(auVar65,0) -
- sVar12))))))),auVar53);
- iVar19 = pmovmskb((int)lVar23,auVar65);
- uVar41 = iVar19 << 0x10 | uVar41;
- uVar43 = 0x1f;
- if (uVar41 != 0) {
- while (uVar41 >> uVar43 == 0) {
- uVar43 = uVar43 - 1;
- }
- }
- uVar41 = -(uVar43 ^ 0x1f) + 0x1f;
- uVar25 = (ulonglong)uVar41;
- uVar50 = (uint)*(ushort *)(param_1 + 0xfc50 + (lVar21 + 0x40 + uVar25) * 2);
- *(int *)(param_1 + 0x3c) =
- (uVar13 >> 0xe) *
- (*(ushort *)
- (param_1 + 0xfc50 + (lVar21 + 0x40 + (ulonglong)(-(uVar43 ^ 0x1f) + 0x20)) * 2) -
- uVar50) + (uVar13 - uVar50 & 0x3fff);
- FUN_0041e3c0((undefined4 *)(uVar11 * 0x60 + 0x80 + (ulonglong)bVar7 * 0x30 + lVar14),
- uVar41);
- iVar19 = 0;
- if (*(byte *)(DAT_004315c0 + uVar25) != 0) {
- uVar11 = FUN_00417f40(plVar1,(uint)*(byte *)(DAT_004315c0 + uVar25));
- iVar19 = (int)uVar11;
- }
- uVar13 = *(uint *)(param_1 + 0xffd0);
- uVar43 = (iVar19 + (&DAT_004315f8)[uVar25]) - DAT_00431700;
- if (uVar13 != 0) {
- uVar11 = FUN_00417f40(plVar1,uVar13);
- uVar13 = *(uint *)(param_1 + 0xffd0);
- uVar43 = uVar43 << ((byte)uVar13 & 0x1f) | (uint)uVar11;
- }
- if ((uint)(2 << ((byte)uVar13 & 0x1f)) < uVar43) {
- *(int *)(param_1 + 0xffd0) = uVar13 + 1;
- }
- else {
- if (uVar43 < (uint)(1 << ((byte)uVar13 & 0x1f))) {
- *(int *)(param_1 + 0xffd0) = uVar13 - (uVar13 + 0x1f >> 5);
- }
- }
- uVar13 = ~(uVar43 >> 1);
- if ((uVar43 & 1) == 0) {
- uVar13 = uVar43 >> 1;
- }
- if ((short)uVar13 != 0) {
- /* WARNING: Load size is inaccurate */
- auVar65 = *(undefined *)(param_1 + 0xfc50);
- sVar12 = SUB162(auVar53 >> 0x10,0);
- sVar17 = SUB162(auVar53 >> 0x20,0);
- sVar57 = SUB162(auVar53 >> 0x30,0);
- sVar59 = SUB162(auVar53 >> 0x40,0);
- sVar60 = SUB162(auVar53 >> 0x50,0);
- sVar61 = SUB162(auVar53 >> 0x60,0);
- sVar62 = SUB162(auVar53 >> 0x70,0);
- uVar43 = uVar13 & 0xffff | uVar13 << 0x10;
- auVar67 = CONCAT412(uVar43,CONCAT48(uVar43,CONCAT44(uVar43,uVar43)));
- auVar69 = psraw(CONCAT214(sVar62 - SUB162(auVar65 >> 0x70,0),
- CONCAT212(sVar61 - SUB162(auVar65 >> 0x60,0),
- CONCAT210(sVar60 - SUB162(auVar65 >> 0x50,0),
- CONCAT28(sVar59 - SUB162(auVar65 >>0x40,0
- ),
- CONCAT26(sVar57 -SUB162(auVar65
- >> 0x30,0),
- CONCAT24(sVar17 - SUB162(auVar65 >> 0x20,0),
- CONCAT22(sVar12 - SUB162(auVar65 >>0x10,
- 0),
- SUB162(auVar53,0) -
- SUB162(auVar65,0)))))))) |
- auVar65,0xf);
- auVar65 = psraw(auVar65 ^ auVar67,0xf);
- auVar69 = (auVar65 | auVar54) & auVar69;
- uVar52 = CONCAT22(SUB162(auVar69 >> 0x10,0) + *(short *)(param_1 + 0xfc72),
- SUB162(auVar69,0) + *(short *)(param_1 + 0xfc70));
- _uVar52 = CONCAT26(SUB162(auVar69 >> 0x30,0) + *(short *)(param_1 + 0xfc76),
- CONCAT24(SUB162(auVar69 >> 0x20,0) + *(short *)(param_1 + 0xfc74),
- uVar52));
- _uVar52 = CONCAT210(*(undefined2 *)(param_1 + 0xfc7a),
- CONCAT28(*(undefined2 *)(param_1 + 0xfc78),_uVar52));
- *(undefined4 *)(param_1 + 0xfc70) = uVar52;
- *(undefined4 *)(param_1 + 0xfc74) = (int)((ulonglong)_uVar52 >> 0x20);
- *(undefined4 *)(param_1 + 0xfc78) = SUB124(_uVar52 >> 0x40,0);
- *(undefined4 *)(param_1 + 0xfc7c) =
- SUB164(CONCAT214(*(undefined2 *)(param_1 + 0xfc7e),
- CONCAT212(*(undefined2 *)(param_1 + 0xfc7c),_uVar52)) >>0x60,0);
- /* WARNING: Load size is inaccurate */
- auVar65 = *(undefined *)(param_1 + 0xfc60);
- auVar69 = psraw(CONCAT214(sVar62 - SUB162(auVar65 >> 0x70,0),
- CONCAT212(sVar61 - SUB162(auVar65 >> 0x60,0),
- CONCAT210(sVar60 - SUB162(auVar65 >> 0x50,0),
- CONCAT28(sVar59 - SUB162(auVar65 >>0x40,0
- ),
- CONCAT26(sVar57 -SUB162(auVar65
- >> 0x30,0),
- CONCAT24(sVar17 - SUB162(auVar65 >> 0x20,0),
- CONCAT22(sVar12 - SUB162(auVar65 >>0x10,
- 0),
- SUB162(auVar53,0) -
- SUB162(auVar65,0)))))))) |
- auVar65,0xf);
- auVar65 = psraw(auVar65 ^ auVar67,0xf);
- auVar69 = (auVar65 | auVar54) & auVar69;
- uVar52 = CONCAT22(SUB162(auVar69 >> 0x10,0) + *(short *)(param_1 + 0xfc82),
- SUB162(auVar69,0) + *(short *)(param_1 + 0xfc80));
- _uVar52 = CONCAT26(SUB162(auVar69 >> 0x30,0) + *(short *)(param_1 + 0xfc86),
- CONCAT24(SUB162(auVar69 >> 0x20,0) + *(short *)(param_1 + 0xfc84),
- uVar52));
- _uVar52 = CONCAT210(*(undefined2 *)(param_1 + 0xfc8a),
- CONCAT28(*(undefined2 *)(param_1 + 0xfc88),_uVar52));
- *(undefined4 *)(param_1 + 0xfc80) = uVar52;
- *(undefined4 *)(param_1 + 0xfc84) = (int)((ulonglong)_uVar52 >> 0x20);
- *(undefined4 *)(param_1 + 0xfc88) = SUB124(_uVar52 >> 0x40,0);
- *(undefined4 *)(param_1 + 0xfc8c) =
- SUB164(CONCAT214(*(undefined2 *)(param_1 + 0xfc8e),
- CONCAT212(*(undefined2 *)(param_1 + 0xfc8c),_uVar52)) >>0x60,0);
- }
- iVar8 = uVar13 + iVar8 + (uint)(byte)puVar35[-2];
- puVar35[1] = (char)iVar8;
- /* WARNING: Load size is inaccurate */
- /* WARNING: Load size is inaccurate */
- auVar69 = pmaddwd(*(undefined *)(param_1 + 0xfc50),*(undefined *)(param_1 + 0xfc90));
- uVar11 = (ulonglong)*(uint *)(param_1 + 0x102e0);
- *(short *)(param_1 + 0xfc6e) = ((ushort)iVar8 & 0xff) - (ushort)(byte)puVar35[-2];
- /* WARNING: Load size is inaccurate */
- /* WARNING: Load size is inaccurate */
- auVar65 = pmaddwd(*(undefined *)(param_1 + 0xfc60),*(undefined *)(param_1 + 0xfca0));
- iVar8 = SUB164(auVar65,0) + SUB164(auVar69,0) +
- SUB164(auVar65 >> 0x20,0) + SUB164(auVar69 >> 0x20,0) +
- SUB164(auVar65 >> 0x40,0) + SUB164(auVar69 >> 0x40,0) + 0x200 +
- SUB164(auVar65 >> 0x60,0) + SUB164(auVar69 >> 0x60,0) >> 10;
- bVar7 = 8 < iVar8 + 4U;
- uVar13 = *(uint *)(param_1 + 0x40);
- uVar52 = *(undefined4 *)(param_1 + 0x3c);
- *(uint *)(param_1 + 0x3c) = uVar13;
- *(undefined4 *)(param_1 + 0x40) = uVar52;
- if (uVar13 < 0x10000) {
- FUN_00417f00(plVar1);
- uVar13 = *(uint *)(param_1 + 0x3c);
- }
- uVar25 = (ulonglong)bVar7;
- sVar12 = ((ushort)uVar13 & 0x3fff) + 1;
- lVar21 = uVar11 * 0x30 + uVar25 * 0x18;
- lVar23 = uVar25 * 0x30 + uVar11 * 0x60 + param_1;
- /* WARNING: Load size is inaccurate */
- auVar65 = *(undefined *)(lVar23 + 0xffe0);
- /* WARNING: Load size is inaccurate */
- auVar69 = *(undefined *)(lVar23 + 0xfff0);
- auVar65 = packsswb(CONCAT214(SUB162(auVar65 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar65 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar65 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar65 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar65
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar65 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar65 >> 0x10,0) -
- sVar12,SUB162(auVar65,0) -
- sVar12))))))),
- CONCAT214(SUB162(auVar69 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar69 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar69 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar69 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar69
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar69 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar69 >> 0x10,0) -
- sVar12,SUB162(auVar69,0) -
- sVar12))))))));
- uVar41 = pmovmskb((int)(uVar11 * 0x60),auVar65);
- /* WARNING: Load size is inaccurate */
- auVar65 = *(undefined *)(lVar23 + 0x10000);
- auVar65 = packsswb(CONCAT214(SUB162(auVar65 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar65 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar65 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar65 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar65
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar65 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar65 >> 0x10,0) -
- sVar12,SUB162(auVar65,0) -
- sVar12))))))),auVar53);
- iVar19 = pmovmskb((int)lVar23,auVar65);
- uVar41 = iVar19 << 0x10 | uVar41;
- uVar43 = 0x1f;
- if (uVar41 != 0) {
- while (uVar41 >> uVar43 == 0) {
- uVar43 = uVar43 - 1;
- }
- }
- uVar41 = -(uVar43 ^ 0x1f) + 0x1f;
- uVar25 = (ulonglong)uVar41;
- uVar50 = (uint)*(ushort *)(param_1 + 0xfc50 + (lVar21 + 0x1c8 + uVar25) * 2);
- *(int *)(param_1 + 0x3c) =
- (uVar13 >> 0xe) *
- (*(ushort *)
- (param_1 + 0xfc50 + (lVar21 + 0x1c8 + (ulonglong)(-(uVar43 ^ 0x1f) + 0x20)) * 2)-
- uVar50) + (uVar13 - uVar50 & 0x3fff);
- FUN_0041e3c0((undefined4 *)(uVar11 * 0x60 + 0x390 + (ulonglong)bVar7 * 0x30 + lVar14),
- uVar41);
- iVar19 = 0;
- if (*(byte *)(DAT_004315c0 + uVar25) != 0) {
- uVar11 = FUN_00417f40(plVar1,(uint)*(byte *)(DAT_004315c0 + uVar25));
- iVar19 = (int)uVar11;
- }
- uVar13 = *(uint *)(param_1 + 0x102e0);
- uVar43 = (iVar19 + (&DAT_004315f8)[uVar25]) - DAT_00431700;
- if (uVar13 != 0) {
- uVar11 = FUN_00417f40(plVar1,uVar13);
- uVar13 = *(uint *)(param_1 + 0x102e0);
- uVar43 = uVar43 << ((byte)uVar13 & 0x1f) | (uint)uVar11;
- }
- if ((uint)(2 << ((byte)uVar13 & 0x1f)) < uVar43) {
- *(int *)(param_1 + 0x102e0) = uVar13 + 1;
- }
- else {
- if (uVar43 < (uint)(1 << ((byte)uVar13 & 0x1f))) {
- *(int *)(param_1 + 0x102e0) = uVar13 - (uVar13 + 0x1f >> 5);
- }
- }
- uVar13 = ~(uVar43 >> 1);
- if ((uVar43 & 1) == 0) {
- uVar13 = uVar43 >> 1;
- }
- if ((short)uVar13 != 0) {
- /* WARNING: Load size is inaccurate */
- auVar65 = *(undefined *)(param_1 + 0xfc50);
- sVar12 = SUB162(auVar53 >> 0x10,0);
- sVar17 = SUB162(auVar53 >> 0x20,0);
- sVar57 = SUB162(auVar53 >> 0x30,0);
- sVar59 = SUB162(auVar53 >> 0x40,0);
- sVar60 = SUB162(auVar53 >> 0x50,0);
- sVar61 = SUB162(auVar53 >> 0x60,0);
- sVar62 = SUB162(auVar53 >> 0x70,0);
- uVar43 = uVar13 & 0xffff | uVar13 << 0x10;
- auVar67 = CONCAT412(uVar43,CONCAT48(uVar43,CONCAT44(uVar43,uVar43)));
- auVar69 = psraw(CONCAT214(sVar62 - SUB162(auVar65 >> 0x70,0),
- CONCAT212(sVar61 - SUB162(auVar65 >> 0x60,0),
- CONCAT210(sVar60 - SUB162(auVar65 >> 0x50,0),
- CONCAT28(sVar59 - SUB162(auVar65 >>0x40,0
- ),
- CONCAT26(sVar57 -SUB162(auVar65
- >> 0x30,0),
- CONCAT24(sVar17 - SUB162(auVar65 >> 0x20,0),
- CONCAT22(sVar12 - SUB162(auVar65 >>0x10,
- 0),
- SUB162(auVar53,0) -
- SUB162(auVar65,0)))))))) |
- auVar65,0xf);
- auVar65 = psraw(auVar65 ^ auVar67,0xf);
- auVar69 = (auVar65 | auVar55) & auVar69;
- uVar52 = CONCAT22(SUB162(auVar69 >> 0x10,0) + *(short *)(param_1 + 0xfc92),
- SUB162(auVar69,0) + *(short *)(param_1 + 0xfc90));
- _uVar52 = CONCAT26(SUB162(auVar69 >> 0x30,0) + *(short *)(param_1 + 0xfc96),
- CONCAT24(SUB162(auVar69 >> 0x20,0) + *(short *)(param_1 + 0xfc94),
- uVar52));
- _uVar52 = CONCAT210(*(undefined2 *)(param_1 + 0xfc9a),
- CONCAT28(*(undefined2 *)(param_1 + 0xfc98),_uVar52));
- *(undefined4 *)(param_1 + 0xfc90) = uVar52;
- *(undefined4 *)(param_1 + 0xfc94) = (int)((ulonglong)_uVar52 >> 0x20);
- *(undefined4 *)(param_1 + 0xfc98) = SUB124(_uVar52 >> 0x40,0);
- *(undefined4 *)(param_1 + 0xfc9c) =
- SUB164(CONCAT214(*(undefined2 *)(param_1 + 0xfc9e),
- CONCAT212(*(undefined2 *)(param_1 + 0xfc9c),_uVar52)) >>0x60,0);
- /* WARNING: Load size is inaccurate */
- auVar65 = *(undefined *)(param_1 + 0xfc60);
- auVar69 = psraw(CONCAT214(sVar62 - SUB162(auVar65 >> 0x70,0),
- CONCAT212(sVar61 - SUB162(auVar65 >> 0x60,0),
- CONCAT210(sVar60 - SUB162(auVar65 >> 0x50,0),
- CONCAT28(sVar59 - SUB162(auVar65 >>0x40,0
- ),
- CONCAT26(sVar57 -SUB162(auVar65
- >> 0x30,0),
- CONCAT24(sVar17 - SUB162(auVar65 >> 0x20,0),
- CONCAT22(sVar12 - SUB162(auVar65 >>0x10,
- 0),
- SUB162(auVar53,0) -
- SUB162(auVar65,0)))))))) |
- auVar65,0xf);
- auVar65 = psraw(auVar65 ^ auVar67,0xf);
- auVar69 = (auVar65 | auVar55) & auVar69;
- uVar52 = CONCAT22(SUB162(auVar69 >> 0x10,0) + *(short *)(param_1 + 0xfca2),
- SUB162(auVar69,0) + *(short *)(param_1 + 0xfca0));
- _uVar52 = CONCAT26(SUB162(auVar69 >> 0x30,0) + *(short *)(param_1 + 0xfca6),
- CONCAT24(SUB162(auVar69 >> 0x20,0) + *(short *)(param_1 + 0xfca4),
- uVar52));
- _uVar52 = CONCAT210(*(undefined2 *)(param_1 + 0xfcaa),
- CONCAT28(*(undefined2 *)(param_1 + 0xfca8),_uVar52));
- *(undefined4 *)(param_1 + 0xfca0) = uVar52;
- *(undefined4 *)(param_1 + 0xfca4) = (int)((ulonglong)_uVar52 >> 0x20);
- *(undefined4 *)(param_1 + 0xfca8) = SUB124(_uVar52 >> 0x40,0);
- *(undefined4 *)(param_1 + 0xfcac) =
- SUB164(CONCAT214(*(undefined2 *)(param_1 + 0xfcae),
- CONCAT212(*(undefined2 *)(param_1 + 0xfcac),_uVar52)) >>0x60,0);
- }
- iVar8 = uVar13 + iVar8 + (uint)(byte)puVar35[-3];
- *puVar35 = (char)iVar8;
- uVar11 = (ulonglong)*(uint *)(param_1 + 0x105f0);
- /* WARNING: Load size is inaccurate */
- /* WARNING: Load size is inaccurate */
- auVar65 = pmaddwd(*(undefined *)(param_1 + 0xfc60),*(undefined *)(param_1 + 0xfcc0));
- *(short *)(param_1 + 0xfc50) = ((ushort)iVar8 & 0xff) - (ushort)(byte)puVar35[-3];
- /* WARNING: Load size is inaccurate */
- /* WARNING: Load size is inaccurate */
- auVar69 = pmaddwd(*(undefined *)(param_1 + 0xfc50),*(undefined *)(param_1 + 0xfcb0));
- iVar8 = SUB164(auVar65,0) + SUB164(auVar69,0) +
- SUB164(auVar65 >> 0x20,0) + SUB164(auVar69 >> 0x20,0) +
- SUB164(auVar65 >> 0x40,0) + SUB164(auVar69 >> 0x40,0) + 0x200 +
- SUB164(auVar65 >> 0x60,0) + SUB164(auVar69 >> 0x60,0) >> 10;
- bVar7 = 8 < iVar8 + 4U;
- uVar13 = *(uint *)(param_1 + 0x40);
- uVar52 = *(undefined4 *)(param_1 + 0x3c);
- *(uint *)(param_1 + 0x3c) = uVar13;
- *(undefined4 *)(param_1 + 0x40) = uVar52;
- if (uVar13 < 0x10000) {
- FUN_00417f00(plVar1);
- uVar13 = *(uint *)(param_1 + 0x3c);
- }
- uVar25 = (ulonglong)bVar7;
- sVar12 = ((ushort)uVar13 & 0x3fff) + 1;
- lVar21 = uVar11 * 0x30 + uVar25 * 0x18;
- lVar23 = uVar25 * 0x30 + uVar11 * 0x60 + param_1;
- /* WARNING: Load size is inaccurate */
- auVar65 = *(undefined *)(lVar23 + 0x102f0);
- /* WARNING: Load size is inaccurate */
- auVar69 = *(undefined *)(lVar23 + 0x10300);
- auVar65 = packsswb(CONCAT214(SUB162(auVar65 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar65 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar65 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar65 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar65
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar65 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar65 >> 0x10,0) -
- sVar12,SUB162(auVar65,0) -
- sVar12))))))),
- CONCAT214(SUB162(auVar69 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar69 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar69 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar69 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar69
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar69 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar69 >> 0x10,0) -
- sVar12,SUB162(auVar69,0) -
- sVar12))))))));
- uVar41 = pmovmskb((int)(uVar11 * 0x60),auVar65);
- /* WARNING: Load size is inaccurate */
- auVar65 = *(undefined *)(lVar23 + 0x10310);
- auVar65 = packsswb(CONCAT214(SUB162(auVar65 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar65 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar65 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar65 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar65
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar65 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar65 >> 0x10,0) -
- sVar12,SUB162(auVar65,0) -
- sVar12))))))),auVar53);
- iVar19 = pmovmskb((int)lVar23,auVar65);
- uVar41 = iVar19 << 0x10 | uVar41;
- uVar43 = 0x1f;
- if (uVar41 != 0) {
- while (uVar41 >> uVar43 == 0) {
- uVar43 = uVar43 - 1;
- }
- }
- uVar41 = -(uVar43 ^ 0x1f) + 0x1f;
- uVar25 = (ulonglong)uVar41;
- uVar50 = (uint)*(ushort *)(param_1 + 0xfc50 + (lVar21 + 0x350 + uVar25) * 2);
- *(int *)(param_1 + 0x3c) =
- (uVar13 >> 0xe) *
- (*(ushort *)
- (param_1 + 0xfc50 + (lVar21 + 0x350 + (ulonglong)(-(uVar43 ^ 0x1f) + 0x20)) * 2)-
- uVar50) + (uVar13 - uVar50 & 0x3fff);
- FUN_0041e3c0((undefined4 *)(uVar11 * 0x60 + 0x6a0 + (ulonglong)bVar7 * 0x30 + lVar14),
- uVar41);
- iVar19 = 0;
- if (*(byte *)(DAT_004315c0 + uVar25) != 0) {
- uVar11 = FUN_00417f40(plVar1,(uint)*(byte *)(DAT_004315c0 + uVar25));
- iVar19 = (int)uVar11;
- }
- uVar13 = *(uint *)(param_1 + 0x105f0);
- uVar43 = (iVar19 + (&DAT_004315f8)[uVar25]) - DAT_00431700;
- if (uVar13 != 0) {
- uVar11 = FUN_00417f40(plVar1,uVar13);
- uVar13 = *(uint *)(param_1 + 0x105f0);
- uVar43 = uVar43 << ((byte)uVar13 & 0x1f) | (uint)uVar11;
- }
- if ((uint)(2 << ((byte)uVar13 & 0x1f)) < uVar43) {
- *(int *)(param_1 + 0x105f0) = uVar13 + 1;
- }
- else {
- if (uVar43 < (uint)(1 << ((byte)uVar13 & 0x1f))) {
- *(int *)(param_1 + 0x105f0) = uVar13 - (uVar13 + 0x1f >> 5);
- }
- }
- uVar13 = ~(uVar43 >> 1);
- if ((uVar43 & 1) == 0) {
- uVar13 = uVar43 >> 1;
- }
- if ((short)uVar13 != 0) {
- /* WARNING: Load size is inaccurate */
- auVar65 = *(undefined *)(param_1 + 0xfc50);
- sVar12 = SUB162(auVar53 >> 0x10,0);
- sVar17 = SUB162(auVar53 >> 0x20,0);
- sVar57 = SUB162(auVar53 >> 0x30,0);
- sVar59 = SUB162(auVar53 >> 0x40,0);
- sVar60 = SUB162(auVar53 >> 0x50,0);
- sVar61 = SUB162(auVar53 >> 0x60,0);
- sVar62 = SUB162(auVar53 >> 0x70,0);
- uVar43 = uVar13 & 0xffff | uVar13 << 0x10;
- auVar67 = CONCAT412(uVar43,CONCAT48(uVar43,CONCAT44(uVar43,uVar43)));
- auVar69 = psraw(CONCAT214(sVar62 - SUB162(auVar65 >> 0x70,0),
- CONCAT212(sVar61 - SUB162(auVar65 >> 0x60,0),
- CONCAT210(sVar60 - SUB162(auVar65 >> 0x50,0),
- CONCAT28(sVar59 - SUB162(auVar65 >>0x40,0
- ),
- CONCAT26(sVar57 -SUB162(auVar65
- >> 0x30,0),
- CONCAT24(sVar17 - SUB162(auVar65 >> 0x20,0),
- CONCAT22(sVar12 - SUB162(auVar65 >>0x10,
- 0),
- SUB162(auVar53,0) -
- SUB162(auVar65,0)))))))) |
- auVar65,0xf);
- auVar65 = psraw(auVar65 ^ auVar67,0xf);
- auVar69 = (auVar65 | (undefined [16])0x1000100010001) & auVar69;
- uVar52 = CONCAT22(SUB162(auVar69 >> 0x10,0) + *(short *)(param_1 + 0xfcb2),
- SUB162(auVar69,0) + *(short *)(param_1 + 0xfcb0));
- _uVar52 = CONCAT26(SUB162(auVar69 >> 0x30,0) + *(short *)(param_1 + 0xfcb6),
- CONCAT24(SUB162(auVar69 >> 0x20,0) + *(short *)(param_1 + 0xfcb4),
- uVar52));
- _uVar52 = CONCAT210(*(undefined2 *)(param_1 + 0xfcba),
- CONCAT28(*(undefined2 *)(param_1 + 0xfcb8),_uVar52));
- *(undefined4 *)(param_1 + 0xfcb0) = uVar52;
- *(undefined4 *)(param_1 + 0xfcb4) = (int)((ulonglong)_uVar52 >> 0x20);
- *(undefined4 *)(param_1 + 0xfcb8) = SUB124(_uVar52 >> 0x40,0);
- *(undefined4 *)(param_1 + 0xfcbc) =
- SUB164(CONCAT214(*(undefined2 *)(param_1 + 0xfcbe),
- CONCAT212(*(undefined2 *)(param_1 + 0xfcbc),_uVar52)) >>0x60,0);
- /* WARNING: Load size is inaccurate */
- auVar65 = *(undefined *)(param_1 + 0xfc60);
- auVar69 = psraw(CONCAT214(sVar62 - SUB162(auVar65 >> 0x70,0),
- CONCAT212(sVar61 - SUB162(auVar65 >> 0x60,0),
- CONCAT210(sVar60 - SUB162(auVar65 >> 0x50,0),
- CONCAT28(sVar59 - SUB162(auVar65 >>0x40,0
- ),
- CONCAT26(sVar57 -SUB162(auVar65
- >> 0x30,0),
- CONCAT24(sVar17 - SUB162(auVar65 >> 0x20,0),
- CONCAT22(sVar12 - SUB162(auVar65 >>0x10,
- 0),
- SUB162(auVar53,0) -
- SUB162(auVar65,0)))))))) |
- auVar65,0xf);
- auVar65 = psraw(auVar65 ^ auVar67,0xf);
- auVar69 = (auVar65 | (undefined [16])0x1000100010001) & auVar69;
- uVar52 = CONCAT22(SUB162(auVar69 >> 0x10,0) + *(short *)(param_1 + 0xfcc2),
- SUB162(auVar69,0) + *(short *)(param_1 + 0xfcc0));
- _uVar52 = CONCAT26(SUB162(auVar69 >> 0x30,0) + *(short *)(param_1 + 0xfcc6),
- CONCAT24(SUB162(auVar69 >> 0x20,0) + *(short *)(param_1 + 0xfcc4),
- uVar52));
- _uVar52 = CONCAT210(*(undefined2 *)(param_1 + 0xfcca),
- CONCAT28(*(undefined2 *)(param_1 + 0xfcc8),_uVar52));
- *(undefined4 *)(param_1 + 0xfcc0) = uVar52;
- *(undefined4 *)(param_1 + 0xfcc4) = (int)((ulonglong)_uVar52 >> 0x20);
- *(undefined4 *)(param_1 + 0xfcc8) = SUB124(_uVar52 >> 0x40,0);
- *(undefined4 *)(param_1 + 0xfccc) =
- SUB164(CONCAT214(*(undefined2 *)(param_1 + 0xfcce),
- CONCAT212(*(undefined2 *)(param_1 + 0xfccc),_uVar52)) >>0x60,0);
- }
- pbVar36 = pbVar36 + 3;
- pbVar39 = pbVar39 + 3;
- puVar35[2] = (char)uVar13 + (char)iVar8 + puVar35[-1];
- if (pbVar36 == pbVar48) break;
- iVar19 = *(int *)(param_1 + 0x3c);
- puVar35 = puVar35 + 3;
- }
- uVar25 = 0;
- iVar8 = 0xc;
- uVar13 = uStack256 + 0xc;
- goto LAB_00403130;
- case -0x15:
- pcVar33 = (char *)((ulonglong)(uStack256 - *(int *)(param_1 + 0x74)) +
- *(longlong *)(param_1 + 0x58));
- if (*(uint *)(param_1 + 0x117e0) != uStack256) {
- pcVar44 = pcVar33 + -0x10;
- do {
- puVar16 = *(undefined4 **)(param_1 + 0x11410);
- /* WARNING: Load size is inaccurate */
- auVar70 = SUB1614(*(undefined *)(param_1 + 0x113e0) >> 0x10,0);
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(param_1 + 0x113d0);
- auVar58 = SUB1614(auVar53 >> 0x10,0);
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(puVar16 + 4);
- /* WARNING: Load size is inaccurate */
- auVar55 = *(undefined *)puVar16;
- auVar65 = pmaddwd(*(undefined *)(param_1 + 0x113e0),auVar54);
- cVar42 = *pcVar44 + -0x80;
- auVar69 = pmaddwd(auVar53,auVar55);
- uVar13 = SUB164(auVar65 >> 0x60,0) + SUB164(auVar69 >> 0x60,0);
- cVar37 = cVar42 - (char)((int)(SUB164(auVar65,0) + SUB164(auVar69,0) +
- SUB164(auVar65 >> 0x20,0) + SUB164(auVar69 >> 0x20,0) +
- SUB164(auVar65 >> 0x40,0) + SUB164(auVar69 >> 0x40,0) +
- 0x800 + uVar13) >> 0xc);
- uVar40 = SEXT12(cVar37);
- puVar15 = (undefined4 *)(ulonglong)(uVar13 & 0xffff0000 | (uint)uVar40);
- if (uVar40 != 0) {
- uVar52 = CONCAT22(uVar40,uVar40);
- auVar69 = CONCAT412(uVar52,CONCAT48(uVar52,CONCAT44(uVar52,uVar52)));
- auVar65 = psraw(CONCAT214(-SUB162(auVar53 >> 0x70,0),
- CONCAT212(-SUB162(auVar53 >> 0x60,0),
- CONCAT210(-SUB162(auVar53 >> 0x50,0),
- CONCAT28(-SUB162(auVar53 >> 0x40,0),
- CONCAT26(-SUB162(auVar53 >>
- 0x30,0),
- CONCAT24(-SUB162(
- auVar53 >> 0x20,0),
- CONCAT22(-SUB162(auVar53 >> 0x10,0),
- -SUB162(auVar53,0)))))))) |auVar53,0xf);
- auVar53 = psraw(auVar53 ^ auVar69,0xf);
- auVar65 = (auVar53 | (undefined [16])0x1000100010001) & auVar65;
- uVar52 = CONCAT22(SUB162(auVar55 >> 0x10,0) + SUB162(auVar65 >> 0x10,0),
- SUB162(auVar55,0) + SUB162(auVar65,0));
- _uVar52 = CONCAT26(SUB162(auVar55 >> 0x30,0) + SUB162(auVar65 >> 0x30,0),
- CONCAT24(SUB162(auVar55 >> 0x20,0) + SUB162(auVar65 >> 0x20,0),
- uVar52));
- _uVar52 = CONCAT210(SUB162(auVar55 >> 0x50,0),
- CONCAT28(SUB162(auVar55 >> 0x40,0),_uVar52));
- *puVar16 = uVar52;
- puVar16[1] = (int)((ulonglong)_uVar52 >> 0x20);
- puVar16[2] = SUB124(_uVar52 >> 0x40,0);
- puVar16[3] = SUB164(CONCAT214(SUB162(auVar55 >> 0x70,0),
- CONCAT212(SUB162(auVar55 >> 0x60,0),_uVar52)) >>0x60,0)
- ;
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(param_1 + 0x113e0);
- auVar55 = psraw(CONCAT214(-SUB162(auVar53 >> 0x70,0),
- CONCAT212(-SUB162(auVar53 >> 0x60,0),
- CONCAT210(-SUB162(auVar53 >> 0x50,0),
- CONCAT28(-SUB162(auVar53 >> 0x40,0),
- CONCAT26(-SUB162(auVar53 >>
- 0x30,0),
- CONCAT24(-SUB162(
- auVar53 >> 0x20,0),
- CONCAT22(-SUB162(auVar53 >> 0x10,0),
- -SUB162(auVar53,0)))))))) |auVar53,0xf);
- auVar53 = psraw(auVar53 ^ auVar69,0xf);
- auVar55 = (auVar53 | (undefined [16])0x1000100010001) & auVar55;
- uVar52 = CONCAT22(SUB162(auVar54 >> 0x10,0) + SUB162(auVar55 >> 0x10,0),
- SUB162(auVar54,0) + SUB162(auVar55,0));
- _uVar52 = CONCAT26(SUB162(auVar54 >> 0x30,0) + SUB162(auVar55 >> 0x30,0),
- CONCAT24(SUB162(auVar54 >> 0x20,0) + SUB162(auVar55 >> 0x20,0),
- uVar52));
- _uVar52 = CONCAT210(SUB162(auVar54 >> 0x50,0),
- CONCAT28(SUB162(auVar54 >> 0x40,0),_uVar52));
- puVar16[4] = uVar52;
- puVar16[5] = (int)((ulonglong)_uVar52 >> 0x20);
- puVar16[6] = SUB124(_uVar52 >> 0x40,0);
- puVar16[7] = SUB164(CONCAT214(SUB162(auVar54 >> 0x70,0),
- CONCAT212(SUB162(auVar54 >> 0x60,0),_uVar52)) >>0x60,0)
- ;
- /* WARNING: Load size is inaccurate */
- auVar58 = SUB1614(*(undefined *)(param_1 + 0x113d0) >> 0x10,0);
- /* WARNING: Load size is inaccurate */
- auVar70 = SUB1614(*(undefined *)(param_1 + 0x113e0) >> 0x10,0);
- }
- uVar5 = *(undefined2 *)(param_1 + 0x113e0);
- *(undefined4 *)(param_1 + 0x113d0) = SUB144(auVar58,0);
- *(undefined4 *)(param_1 + 0x113d4) = SUB144(auVar58 >> 0x20,0);
- *(undefined4 *)(param_1 + 0x113d8) = SUB144(auVar58 >> 0x40,0);
- *(uint *)(param_1 + 0x113dc) = SUB144(auVar58 >> 0x60,0);
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(param_1 + 0x11420);
- auVar58 = SUB1614(auVar53 >> 0x10,0);
- *(undefined4 *)(param_1 + 0x113e0) = SUB144(auVar70,0);
- *(undefined4 *)(param_1 + 0x113e4) = SUB144(auVar70 >> 0x20,0);
- *(undefined4 *)(param_1 + 0x113e8) = SUB144(auVar70 >> 0x40,0);
- *(uint *)(param_1 + 0x113ec) = SUB144(auVar70 >> 0x60,0);
- /* WARNING: Load size is inaccurate */
- auVar70 = SUB1614(*(undefined *)(param_1 + 0x11430) >> 0x10,0);
- *(short *)(param_1 + 0x113ec) = *(short *)(param_1 + 0x113ec) - (short)cVar42;
- *(short *)(param_1 + 0x113ee) = (short)cVar42;
- *(undefined2 *)(param_1 + 0x113de) = uVar5;
- puVar16 = *(undefined4 **)(param_1 + 0x11460);
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(puVar16 + 4);
- /* WARNING: Load size is inaccurate */
- auVar55 = *(undefined *)puVar16;
- auVar65 = pmaddwd(*(undefined *)(param_1 + 0x11430),auVar54);
- auVar69 = pmaddwd(auVar53,auVar55);
- sVar12 = (short)(char)(cVar37 - (char)(SUB164(auVar65,0) + SUB164(auVar69,0) +
- SUB164(auVar65 >> 0x20,0) +
- SUB164(auVar69 >> 0x20,0) +
- SUB164(auVar65 >> 0x40,0) +
- SUB164(auVar69 >> 0x40,0) + 0x200 +
- SUB164(auVar65 >> 0x60,0) +
- SUB164(auVar69 >> 0x60,0) >> 10));
- if (sVar12 != 0) {
- uVar52 = CONCAT22(sVar12,sVar12);
- auVar69 = CONCAT412(uVar52,CONCAT48(uVar52,CONCAT44(uVar52,uVar52)));
- auVar65 = psraw(CONCAT214(-SUB162(auVar53 >> 0x70,0),
- CONCAT212(-SUB162(auVar53 >> 0x60,0),
- CONCAT210(-SUB162(auVar53 >> 0x50,0),
- CONCAT28(-SUB162(auVar53 >> 0x40,0),
- CONCAT26(-SUB162(auVar53 >>
- 0x30,0),
- CONCAT24(-SUB162(
- auVar53 >> 0x20,0),
- CONCAT22(-SUB162(auVar53 >> 0x10,0),
- -SUB162(auVar53,0)))))))) |auVar53,0xf);
- auVar53 = psraw(auVar53 ^ auVar69,0xf);
- auVar65 = (auVar53 | (undefined [16])0x1000100010001) & auVar65;
- uVar52 = CONCAT22(SUB162(auVar55 >> 0x10,0) + SUB162(auVar65 >> 0x10,0),
- SUB162(auVar55,0) + SUB162(auVar65,0));
- _uVar52 = CONCAT26(SUB162(auVar55 >> 0x30,0) + SUB162(auVar65 >> 0x30,0),
- CONCAT24(SUB162(auVar55 >> 0x20,0) + SUB162(auVar65 >> 0x20,0),
- uVar52));
- _uVar52 = CONCAT210(SUB162(auVar55 >> 0x50,0),
- CONCAT28(SUB162(auVar55 >> 0x40,0),_uVar52));
- *puVar16 = uVar52;
- puVar16[1] = (int)((ulonglong)_uVar52 >> 0x20);
- puVar16[2] = SUB124(_uVar52 >> 0x40,0);
- puVar16[3] = SUB164(CONCAT214(SUB162(auVar55 >> 0x70,0),
- CONCAT212(SUB162(auVar55 >> 0x60,0),_uVar52)) >>0x60,0)
- ;
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(param_1 + 0x11430);
- auVar55 = psraw(CONCAT214(-SUB162(auVar53 >> 0x70,0),
- CONCAT212(-SUB162(auVar53 >> 0x60,0),
- CONCAT210(-SUB162(auVar53 >> 0x50,0),
- CONCAT28(-SUB162(auVar53 >> 0x40,0),
- CONCAT26(-SUB162(auVar53 >>
- 0x30,0),
- CONCAT24(-SUB162(
- auVar53 >> 0x20,0),
- CONCAT22(-SUB162(auVar53 >> 0x10,0),
- -SUB162(auVar53,0)))))))) |auVar53,0xf);
- auVar53 = psraw(auVar53 ^ auVar69,0xf);
- auVar55 = (auVar53 | (undefined [16])0x1000100010001) & auVar55;
- uVar52 = CONCAT22(SUB162(auVar55 >> 0x10,0) + SUB162(auVar54 >> 0x10,0),
- SUB162(auVar55,0) + SUB162(auVar54,0));
- _uVar52 = CONCAT26(SUB162(auVar55 >> 0x30,0) + SUB162(auVar54 >> 0x30,0),
- CONCAT24(SUB162(auVar55 >> 0x20,0) + SUB162(auVar54 >> 0x20,0),
- uVar52));
- _uVar52 = CONCAT210(SUB162(auVar54 >> 0x50,0),
- CONCAT28(SUB162(auVar54 >> 0x40,0),_uVar52));
- puVar16[4] = uVar52;
- puVar16[5] = (int)((ulonglong)_uVar52 >> 0x20);
- puVar16[6] = SUB124(_uVar52 >> 0x40,0);
- puVar16[7] = SUB164(CONCAT214(SUB162(auVar54 >> 0x70,0),
- CONCAT212(SUB162(auVar54 >> 0x60,0),_uVar52)) >>0x60,0)
- ;
- /* WARNING: Load size is inaccurate */
- auVar58 = SUB1614(*(undefined *)(param_1 + 0x11420) >> 0x10,0);
- /* WARNING: Load size is inaccurate */
- auVar70 = SUB1614(*(undefined *)(param_1 + 0x11430) >> 0x10,0);
- }
- uVar5 = *(undefined2 *)(param_1 + 0x11430);
- pcVar44 = pcVar44 + 1;
- *(undefined4 *)(param_1 + 0x11430) = SUB144(auVar70,0);
- *(undefined4 *)(param_1 + 0x11434) = SUB144(auVar70 >> 0x20,0);
- *(undefined4 *)(param_1 + 0x11438) = SUB144(auVar70 >> 0x40,0);
- *(uint *)(param_1 + 0x1143c) = SUB144(auVar70 >> 0x60,0);
- *(short *)(param_1 + 0x1143c) = *(short *)(param_1 + 0x1143c) - uVar40;
- *(undefined4 *)(param_1 + 0x11420) = SUB144(auVar58,0);
- *(undefined4 *)(param_1 + 0x11424) = SUB144(auVar58 >> 0x20,0);
- *(undefined4 *)(param_1 + 0x11428) = SUB144(auVar58 >> 0x40,0);
- *(uint *)(param_1 + 0x1142c) = SUB144(auVar58 >> 0x60,0);
- *(ushort *)(param_1 + 0x1143e) = uVar40;
- *(undefined2 *)(param_1 + 0x1142e) = uVar5;
- } while (pcVar33 != pcVar44);
- }
- auVar53 = (undefined [16])0x0;
- auVar54 = (undefined [16])0x1000100010001;
- auVar55 = (undefined [16])0x1000100010001;
- *(int *)(param_1 + 0x117e0) = uStack256 + 0x20;
- pcVar44 = pcVar33;
- do {
- uVar45 = SUB84(puVar15,0);
- lVar14 = (longlong)*(int *)(param_1 + 0x117d0);
- uVar11 = (ulonglong)*(uint *)(param_1 + 0x117c0 + lVar14 * 0x310);
- uVar13 = *(uint *)(param_1 + 0x40);
- uVar52 = *(undefined4 *)(param_1 + 0x3c);
- *(uint *)(param_1 + 0x3c) = uVar13;
- *(undefined4 *)(param_1 + 0x40) = uVar52;
- if (uVar13 < 0x10000) {
- FUN_00417f00(plVar1);
- uVar13 = *(uint *)(param_1 + 0x3c);
- }
- sVar12 = ((ushort)uVar13 & 0x3fff) + 1;
- lVar21 = uVar11 * 0x30 + lVar14 * 0x310 + param_1;
- /* WARNING: Load size is inaccurate */
- auVar65 = *(undefined *)(lVar21 + 0x114c0);
- /* WARNING: Load size is inaccurate */
- auVar69 = *(undefined *)(lVar21 + 0x114d0);
- auVar65 = packsswb(CONCAT214(SUB162(auVar65 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar65 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar65 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar65 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar65
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar65 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar65 >> 0x10,0) -
- sVar12,SUB162(auVar65,0) -
- sVar12))))))),
- CONCAT214(SUB162(auVar69 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar69 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar69 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar69 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar69
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar69 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar69 >> 0x10,0) -
- sVar12,SUB162(auVar69,0) -
- sVar12))))))));
- uVar41 = pmovmskb(uVar45,auVar65);
- /* WARNING: Load size is inaccurate */
- auVar65 = *(undefined *)(lVar21 + 0x114e0);
- auVar65 = packsswb(CONCAT214(SUB162(auVar65 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar65 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar65 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar65 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar65
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar65 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar65 >> 0x10,0) -
- sVar12,SUB162(auVar65,0) -
- sVar12))))))),auVar53);
- iVar8 = pmovmskb((int)(lVar14 * 0x310),auVar65);
- uVar41 = iVar8 << 0x10 | uVar41;
- uVar43 = 0x1f;
- if (uVar41 != 0) {
- while (uVar41 >> uVar43 == 0) {
- uVar43 = uVar43 - 1;
- }
- }
- uVar41 = -(uVar43 ^ 0x1f) + 0x1f;
- uVar25 = (ulonglong)uVar41;
- lVar21 = lVar14 * 0x188 + uVar11 * 0x18;
- uVar50 = (uint)*(ushort *)(param_1 + 0x113d0 + (lVar21 + 0x78 + uVar25) * 2);
- *(int *)(param_1 + 0x3c) =
- (uVar13 - uVar50 & 0x3fff) +
- (uVar13 >> 0xe) *
- (*(ushort *)
- (param_1 + 0x113d0 + (lVar21 + 0x78 + (ulonglong)(-(uVar43 ^ 0x1f) + 0x20)) * 2)-
- uVar50);
- FUN_0041e3c0((undefined4 *)(lVar14 * 0x310 + uVar11 * 0x30 + param_1 + 0x114c0),uVar41);
- iVar8 = 0;
- if (*(byte *)(DAT_004315c0 + uVar25) != 0) {
- uVar11 = FUN_00417f40(plVar1,(uint)*(byte *)(DAT_004315c0 + uVar25));
- iVar8 = (int)uVar11;
- }
- uVar43 = (iVar8 + (&DAT_004315f8)[uVar25]) - DAT_00431700;
- lVar21 = lVar14 * 0x310 + param_1;
- uVar13 = *(uint *)(lVar21 + 0x117c0);
- if (uVar13 != 0) {
- uVar11 = FUN_00417f40(plVar1,uVar13);
- uVar43 = uVar43 << ((byte)*(undefined4 *)(lVar21 + 0x117c0) & 0x1f) | (uint)uVar11;
- }
- lVar14 = lVar14 * 0x310 + param_1;
- iVar8 = *(int *)(lVar14 + 0x117c0);
- uVar13 = (*(uint *)(lVar14 + 0x117c4) - (*(uint *)(lVar14 + 0x117c4) >> 3)) + uVar43;
- *(uint *)(lVar14 + 0x117c4) = uVar13;
- uVar13 = uVar13 >> ((byte)iVar8 & 0x1f);
- if (uVar13 < 0x11) {
- if (uVar13 < 8) {
- *(int *)(lVar14 + 0x117c0) = iVar8 - (iVar8 + 0x1fU >> 5);
- }
- }
- else {
- *(int *)(lVar14 + 0x117c0) = iVar8 + 1;
- }
- puVar15 = *(undefined4 **)(param_1 + 0x11460);
- /* WARNING: Load size is inaccurate */
- auVar70 = SUB1614(*(undefined *)(param_1 + 0x11430) >> 0x10,0);
- bVar49 = (byte)(uVar43 >> 1);
- /* WARNING: Load size is inaccurate */
- auVar65 = *(undefined *)(param_1 + 0x11420);
- auVar58 = SUB1614(auVar65 >> 0x10,0);
- bVar4 = ~bVar49;
- if ((uVar43 & 1) == 0) {
- bVar4 = bVar49;
- }
- /* WARNING: Load size is inaccurate */
- auVar69 = *(undefined *)(puVar15 + 4);
- /* WARNING: Load size is inaccurate */
- auVar67 = *(undefined *)puVar15;
- auVar56 = pmaddwd(*(undefined *)(param_1 + 0x11430),auVar69);
- auVar66 = pmaddwd(auVar65,auVar67);
- cVar42 = (char)(SUB164(auVar56,0) + SUB164(auVar66,0) +
- SUB164(auVar56 >> 0x20,0) + SUB164(auVar66 >> 0x20,0) +
- SUB164(auVar56 >> 0x40,0) + SUB164(auVar66 >> 0x40,0) + 0x200 +
- SUB164(auVar56 >> 0x60,0) + SUB164(auVar66 >> 0x60,0) >> 10) + bVar4;
- sVar12 = (short)(char)bVar4;
- sVar17 = SUB162(auVar53,0);
- sVar64 = SUB162(auVar53 >> 0x70,0);
- sVar57 = SUB162(auVar53 >> 0x10,0);
- sVar59 = SUB162(auVar53 >> 0x20,0);
- sVar60 = SUB162(auVar53 >> 0x30,0);
- sVar61 = SUB162(auVar53 >> 0x40,0);
- sVar62 = SUB162(auVar53 >> 0x50,0);
- sVar63 = SUB162(auVar53 >> 0x60,0);
- if (sVar12 != 0) {
- uVar52 = CONCAT22(sVar12,sVar12);
- auVar56 = CONCAT412(uVar52,CONCAT48(uVar52,CONCAT44(uVar52,uVar52)));
- auVar66 = psraw(CONCAT214(sVar64 - SUB162(auVar65 >> 0x70,0),
- CONCAT212(sVar63 - SUB162(auVar65 >> 0x60,0),
- CONCAT210(sVar62 - SUB162(auVar65 >> 0x50,0),
- CONCAT28(sVar61 - SUB162(auVar65 >>0x40,0
- ),
- CONCAT26(sVar60 -SUB162(auVar65
- >> 0x30,0),
- CONCAT24(sVar59 - SUB162(auVar65 >> 0x20,0),
- CONCAT22(sVar57 - SUB162(auVar65 >>0x10,
- 0),
- sVar17 -SUB162(auVar65,0)))))))
- ) | auVar65,0xf);
- auVar65 = psraw(auVar65 ^ auVar56,0xf);
- auVar66 = (auVar65 | auVar54) & auVar66;
- uVar52 = CONCAT22(SUB162(auVar67 >> 0x10,0) + SUB162(auVar66 >> 0x10,0),
- SUB162(auVar67,0) + SUB162(auVar66,0));
- _uVar52 = CONCAT26(SUB162(auVar67 >> 0x30,0) + SUB162(auVar66 >> 0x30,0),
- CONCAT24(SUB162(auVar67 >> 0x20,0) + SUB162(auVar66 >>0x20,0),uVar52
- ));
- _uVar52 = CONCAT210(SUB162(auVar67 >> 0x50,0),
- CONCAT28(SUB162(auVar67 >> 0x40,0),_uVar52));
- *puVar15 = uVar52;
- puVar15[1] = (int)((ulonglong)_uVar52 >> 0x20);
- puVar15[2] = SUB124(_uVar52 >> 0x40,0);
- puVar15[3] = SUB164(CONCAT214(SUB162(auVar67 >> 0x70,0),
- CONCAT212(SUB162(auVar67 >> 0x60,0),_uVar52)) >> 0x60,0);
- /* WARNING: Load size is inaccurate */
- auVar65 = *(undefined *)(param_1 + 0x11430);
- auVar67 = psraw(CONCAT214(sVar64 - SUB162(auVar65 >> 0x70,0),
- CONCAT212(sVar63 - SUB162(auVar65 >> 0x60,0),
- CONCAT210(sVar62 - SUB162(auVar65 >> 0x50,0),
- CONCAT28(sVar61 - SUB162(auVar65 >>0x40,0
- ),
- CONCAT26(sVar60 -SUB162(auVar65
- >> 0x30,0),
- CONCAT24(sVar59 - SUB162(auVar65 >> 0x20,0),
- CONCAT22(sVar57 - SUB162(auVar65 >>0x10,
- 0),
- sVar17 -SUB162(auVar65,0)))))))
- ) | auVar65,0xf);
- auVar65 = psraw(auVar65 ^ auVar56,0xf);
- auVar67 = (auVar65 | auVar54) & auVar67;
- uVar52 = CONCAT22(SUB162(auVar69 >> 0x10,0) + SUB162(auVar67 >> 0x10,0),
- SUB162(auVar69,0) + SUB162(auVar67,0));
- _uVar52 = CONCAT26(SUB162(auVar69 >> 0x30,0) + SUB162(auVar67 >> 0x30,0),
- CONCAT24(SUB162(auVar69 >> 0x20,0) + SUB162(auVar67 >>0x20,0),uVar52
- ));
- _uVar52 = CONCAT210(SUB162(auVar69 >> 0x50,0),
- CONCAT28(SUB162(auVar69 >> 0x40,0),_uVar52));
- puVar15[4] = uVar52;
- puVar15[5] = (int)((ulonglong)_uVar52 >> 0x20);
- puVar15[6] = SUB124(_uVar52 >> 0x40,0);
- puVar15[7] = SUB164(CONCAT214(SUB162(auVar69 >> 0x70,0),
- CONCAT212(SUB162(auVar69 >> 0x60,0),_uVar52)) >> 0x60,0);
- /* WARNING: Load size is inaccurate */
- auVar58 = SUB1614(*(undefined *)(param_1 + 0x11420) >> 0x10,0);
- /* WARNING: Load size is inaccurate */
- auVar70 = SUB1614(*(undefined *)(param_1 + 0x11430) >> 0x10,0);
- }
- uVar5 = *(undefined2 *)(param_1 + 0x11430);
- sVar12 = (short)cVar42;
- puVar15 = *(undefined4 **)(param_1 + 0x11410);
- *(undefined4 *)(param_1 + 0x11430) = SUB144(auVar70,0);
- *(undefined4 *)(param_1 + 0x11434) = SUB144(auVar70 >> 0x20,0);
- *(undefined4 *)(param_1 + 0x11438) = SUB144(auVar70 >> 0x40,0);
- *(uint *)(param_1 + 0x1143c) = SUB144(auVar70 >> 0x60,0);
- /* WARNING: Load size is inaccurate */
- auVar70 = SUB1614(*(undefined *)(param_1 + 0x113e0) >> 0x10,0);
- *(undefined4 *)(param_1 + 0x11420) = SUB144(auVar58,0);
- *(undefined4 *)(param_1 + 0x11424) = SUB144(auVar58 >> 0x20,0);
- *(undefined4 *)(param_1 + 0x11428) = SUB144(auVar58 >> 0x40,0);
- *(uint *)(param_1 + 0x1142c) = SUB144(auVar58 >> 0x60,0);
- /* WARNING: Load size is inaccurate */
- auVar65 = *(undefined *)(param_1 + 0x113d0);
- auVar58 = SUB1614(auVar65 >> 0x10,0);
- *(short *)(param_1 + 0x1143e) = sVar12;
- *(undefined2 *)(param_1 + 0x1142e) = uVar5;
- *(short *)(param_1 + 0x1143c) = *(short *)(param_1 + 0x1143c) - sVar12;
- /* WARNING: Load size is inaccurate */
- auVar69 = *(undefined *)(puVar15 + 4);
- /* WARNING: Load size is inaccurate */
- auVar67 = *(undefined *)puVar15;
- auVar56 = pmaddwd(*(undefined *)(param_1 + 0x113e0),auVar69);
- auVar66 = pmaddwd(auVar65,auVar67);
- cVar42 = (char)(SUB164(auVar56,0) + SUB164(auVar66,0) +
- SUB164(auVar56 >> 0x20,0) + SUB164(auVar66 >> 0x20,0) +
- SUB164(auVar56 >> 0x40,0) + SUB164(auVar66 >> 0x40,0) + 0x800 +
- SUB164(auVar56 >> 0x60,0) + SUB164(auVar66 >> 0x60,0) >> 0xc) + cVar42;
- if (sVar12 != 0) {
- uVar52 = CONCAT22(sVar12,sVar12);
- auVar66 = CONCAT412(uVar52,CONCAT48(uVar52,CONCAT44(uVar52,uVar52)));
- auVar56 = psraw(CONCAT214(sVar64 - SUB162(auVar65 >> 0x70,0),
- CONCAT212(sVar63 - SUB162(auVar65 >> 0x60,0),
- CONCAT210(sVar62 - SUB162(auVar65 >> 0x50,0),
- CONCAT28(sVar61 - SUB162(auVar65 >>0x40,0
- ),
- CONCAT26(sVar60 -SUB162(auVar65
- >> 0x30,0),
- CONCAT24(sVar59 - SUB162(auVar65 >> 0x20,0),
- CONCAT22(sVar57 - SUB162(auVar65 >>0x10,
- 0),
- sVar17 -SUB162(auVar65,0)))))))
- ) | auVar65,0xf);
- auVar65 = psraw(auVar65 ^ auVar66,0xf);
- auVar56 = (auVar65 | auVar55) & auVar56;
- uVar52 = CONCAT22(SUB162(auVar67 >> 0x10,0) + SUB162(auVar56 >> 0x10,0),
- SUB162(auVar67,0) + SUB162(auVar56,0));
- _uVar52 = CONCAT26(SUB162(auVar67 >> 0x30,0) + SUB162(auVar56 >> 0x30,0),
- CONCAT24(SUB162(auVar67 >> 0x20,0) + SUB162(auVar56 >>0x20,0),uVar52
- ));
- _uVar52 = CONCAT210(SUB162(auVar67 >> 0x50,0),
- CONCAT28(SUB162(auVar67 >> 0x40,0),_uVar52));
- *puVar15 = uVar52;
- puVar15[1] = (int)((ulonglong)_uVar52 >> 0x20);
- puVar15[2] = SUB124(_uVar52 >> 0x40,0);
- puVar15[3] = SUB164(CONCAT214(SUB162(auVar67 >> 0x70,0),
- CONCAT212(SUB162(auVar67 >> 0x60,0),_uVar52)) >> 0x60,0);
- /* WARNING: Load size is inaccurate */
- auVar65 = *(undefined *)(param_1 + 0x113e0);
- auVar67 = psraw(CONCAT214(sVar64 - SUB162(auVar65 >> 0x70,0),
- CONCAT212(sVar63 - SUB162(auVar65 >> 0x60,0),
- CONCAT210(sVar62 - SUB162(auVar65 >> 0x50,0),
- CONCAT28(sVar61 - SUB162(auVar65 >>0x40,0
- ),
- CONCAT26(sVar60 -SUB162(auVar65
- >> 0x30,0),
- CONCAT24(sVar59 - SUB162(auVar65 >> 0x20,0),
- CONCAT22(sVar57 - SUB162(auVar65 >>0x10,
- 0),
- sVar17 -SUB162(auVar65,0)))))))
- ) | auVar65,0xf);
- auVar65 = psraw(auVar65 ^ auVar66,0xf);
- auVar67 = (auVar65 | auVar55) & auVar67;
- uVar52 = CONCAT22(SUB162(auVar67 >> 0x10,0) + SUB162(auVar69 >> 0x10,0),
- SUB162(auVar67,0) + SUB162(auVar69,0));
- _uVar52 = CONCAT26(SUB162(auVar67 >> 0x30,0) + SUB162(auVar69 >> 0x30,0),
- CONCAT24(SUB162(auVar67 >> 0x20,0) + SUB162(auVar69 >>0x20,0),uVar52
- ));
- _uVar52 = CONCAT210(SUB162(auVar69 >> 0x50,0),
- CONCAT28(SUB162(auVar69 >> 0x40,0),_uVar52));
- puVar15[4] = uVar52;
- puVar15[5] = (int)((ulonglong)_uVar52 >> 0x20);
- puVar15[6] = SUB124(_uVar52 >> 0x40,0);
- puVar15[7] = SUB164(CONCAT214(SUB162(auVar69 >> 0x70,0),
- CONCAT212(SUB162(auVar69 >> 0x60,0),_uVar52)) >> 0x60,0);
- /* WARNING: Load size is inaccurate */
- auVar58 = SUB1614(*(undefined *)(param_1 + 0x113d0) >> 0x10,0);
- /* WARNING: Load size is inaccurate */
- auVar70 = SUB1614(*(undefined *)(param_1 + 0x113e0) >> 0x10,0);
- }
- uVar5 = *(undefined2 *)(param_1 + 0x113e0);
- pcVar28 = pcVar44 + 1;
- *(undefined4 *)(param_1 + 0x113d0) = SUB144(auVar58,0);
- *(undefined4 *)(param_1 + 0x113d4) = SUB144(auVar58 >> 0x20,0);
- *(undefined4 *)(param_1 + 0x113d8) = SUB144(auVar58 >> 0x40,0);
- *(uint *)(param_1 + 0x113dc) = SUB144(auVar58 >> 0x60,0);
- *(undefined4 *)(param_1 + 0x113e0) = SUB144(auVar70,0);
- *(undefined4 *)(param_1 + 0x113e4) = SUB144(auVar70 >> 0x20,0);
- *(undefined4 *)(param_1 + 0x113e8) = SUB144(auVar70 >> 0x40,0);
- *(uint *)(param_1 + 0x113ec) = SUB144(auVar70 >> 0x60,0);
- *(undefined2 *)(param_1 + 0x113de) = uVar5;
- *(short *)(param_1 + 0x113ec) = *(short *)(param_1 + 0x113ec) - (short)cVar42;
- *(short *)(param_1 + 0x113ee) = (short)cVar42;
- *pcVar44 = cVar42 + -0x80;
- pcVar44 = pcVar28;
- } while (pcVar33 + 0x20 != pcVar28);
- goto LAB_00407f20;
- case -0x14:
- lVar14 = param_1 + 0x11fa0;
- pcVar33 = (char *)((ulonglong)(uStack256 - *(int *)(param_1 + 0x74)) +
- *(longlong *)(param_1 + 0x58));
- if (*(uint *)(param_1 + 0x12750) == uStack256) {
- uVar13 = *(uint *)(param_1 + 0x12740);
- }
- else {
- pcVar44 = pcVar33 + -0x10;
- do {
- puVar15 = *(undefined4 **)(param_1 + 0x12000);
- /* WARNING: Load size is inaccurate */
- auVar70 = SUB1614(*(undefined *)(param_1 + 0x11fb0) >> 0x10,0);
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(param_1 + 0x11fa0);
- auVar58 = SUB1614(auVar53 >> 0x10,0);
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(puVar15 + 4);
- /* WARNING: Load size is inaccurate */
- auVar55 = *(undefined *)puVar15;
- auVar65 = pmaddwd(*(undefined *)(param_1 + 0x11fb0),auVar54);
- auVar69 = pmaddwd(auVar53,auVar55);
- cVar42 = *pcVar44 + -0x80;
- cVar37 = cVar42 - (char)(SUB164(auVar65,0) + SUB164(auVar69,0) +
- SUB164(auVar65 >> 0x20,0) + SUB164(auVar69 >> 0x20,0) +
- SUB164(auVar65 >> 0x40,0) + SUB164(auVar69 >> 0x40,0) + 0x800+
- SUB164(auVar65 >> 0x60,0) + SUB164(auVar69 >> 0x60,0) >> 0xc);
- sVar12 = (short)cVar37;
- if (sVar12 != 0) {
- uVar52 = CONCAT22(sVar12,sVar12);
- auVar69 = CONCAT412(uVar52,CONCAT48(uVar52,CONCAT44(uVar52,uVar52)));
- auVar65 = psraw(CONCAT214(-SUB162(auVar53 >> 0x70,0),
- CONCAT212(-SUB162(auVar53 >> 0x60,0),
- CONCAT210(-SUB162(auVar53 >> 0x50,0),
- CONCAT28(-SUB162(auVar53 >> 0x40,0),
- CONCAT26(-SUB162(auVar53 >>
- 0x30,0),
- CONCAT24(-SUB162(
- auVar53 >> 0x20,0),
- CONCAT22(-SUB162(auVar53 >> 0x10,0),
- -SUB162(auVar53,0)))))))) |auVar53,0xf);
- auVar53 = psraw(auVar53 ^ auVar69,0xf);
- auVar65 = (auVar53 | (undefined [16])0x1000100010001) & auVar65;
- uVar52 = CONCAT22(SUB162(auVar55 >> 0x10,0) + SUB162(auVar65 >> 0x10,0),
- SUB162(auVar55,0) + SUB162(auVar65,0));
- _uVar52 = CONCAT26(SUB162(auVar55 >> 0x30,0) + SUB162(auVar65 >> 0x30,0),
- CONCAT24(SUB162(auVar55 >> 0x20,0) + SUB162(auVar65 >> 0x20,0),
- uVar52));
- _uVar52 = CONCAT210(SUB162(auVar55 >> 0x50,0),
- CONCAT28(SUB162(auVar55 >> 0x40,0),_uVar52));
- *puVar15 = uVar52;
- puVar15[1] = (int)((ulonglong)_uVar52 >> 0x20);
- puVar15[2] = SUB124(_uVar52 >> 0x40,0);
- puVar15[3] = SUB164(CONCAT214(SUB162(auVar55 >> 0x70,0),
- CONCAT212(SUB162(auVar55 >> 0x60,0),_uVar52)) >>0x60,0)
- ;
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(param_1 + 0x11fb0);
- auVar55 = psraw(CONCAT214(-SUB162(auVar53 >> 0x70,0),
- CONCAT212(-SUB162(auVar53 >> 0x60,0),
- CONCAT210(-SUB162(auVar53 >> 0x50,0),
- CONCAT28(-SUB162(auVar53 >> 0x40,0),
- CONCAT26(-SUB162(auVar53 >>
- 0x30,0),
- CONCAT24(-SUB162(
- auVar53 >> 0x20,0),
- CONCAT22(-SUB162(auVar53 >> 0x10,0),
- -SUB162(auVar53,0)))))))) |auVar53,0xf);
- auVar53 = psraw(auVar53 ^ auVar69,0xf);
- auVar55 = (auVar53 | (undefined [16])0x1000100010001) & auVar55;
- uVar52 = CONCAT22(SUB162(auVar55 >> 0x10,0) + SUB162(auVar54 >> 0x10,0),
- SUB162(auVar55,0) + SUB162(auVar54,0));
- _uVar52 = CONCAT26(SUB162(auVar55 >> 0x30,0) + SUB162(auVar54 >> 0x30,0),
- CONCAT24(SUB162(auVar55 >> 0x20,0) + SUB162(auVar54 >> 0x20,0),
- uVar52));
- _uVar52 = CONCAT210(SUB162(auVar54 >> 0x50,0),
- CONCAT28(SUB162(auVar54 >> 0x40,0),_uVar52));
- puVar15[4] = uVar52;
- puVar15[5] = (int)((ulonglong)_uVar52 >> 0x20);
- puVar15[6] = SUB124(_uVar52 >> 0x40,0);
- puVar15[7] = SUB164(CONCAT214(SUB162(auVar54 >> 0x70,0),
- CONCAT212(SUB162(auVar54 >> 0x60,0),_uVar52)) >>0x60,0)
- ;
- puVar15 = *(undefined4 **)(param_1 + 0x12000);
- /* WARNING: Load size is inaccurate */
- auVar58 = SUB1614(*(undefined *)(param_1 + 0x11fa0) >> 0x10,0);
- /* WARNING: Load size is inaccurate */
- auVar70 = SUB1614(*(undefined *)(param_1 + 0x11fb0) >> 0x10,0);
- }
- uVar5 = *(undefined2 *)(param_1 + 0x11fb0);
- *(undefined4 *)(param_1 + 0x11fb0) = SUB144(auVar70,0);
- *(undefined4 *)(param_1 + 0x11fb4) = SUB144(auVar70 >> 0x20,0);
- *(undefined4 *)(param_1 + 0x11fb8) = SUB144(auVar70 >> 0x40,0);
- *(uint *)(param_1 + 0x11fbc) = SUB144(auVar70 >> 0x60,0);
- /* WARNING: Load size is inaccurate */
- auVar70 = SUB1614(*(undefined *)(param_1 + 0x12020) >> 0x10,0);
- *(short *)(param_1 + 0x11fba) = *(short *)(param_1 + 0x11fba) - (short)cVar42;
- *(short *)(param_1 + 0x11fbe) = (short)cVar42;
- puVar16 = *(undefined4 **)(param_1 + 0x12070);
- *(undefined4 *)(param_1 + 0x11fa0) = SUB144(auVar58,0);
- *(undefined4 *)(param_1 + 0x11fa4) = SUB144(auVar58 >> 0x20,0);
- *(undefined4 *)(param_1 + 0x11fa8) = SUB144(auVar58 >> 0x40,0);
- *(uint *)(param_1 + 0x11fac) = SUB144(auVar58 >> 0x60,0);
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(param_1 + 0x12010);
- auVar58 = SUB1614(auVar53 >> 0x10,0);
- *(undefined2 *)(param_1 + 0x11fae) = uVar5;
- *(longlong *)(param_1 + 0x12000) =
- ((ulonglong)(puVar15 == (undefined4 *)(param_1 + 0x11fc0)) + 1) * 0x20 + lVar14;
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(puVar16 + 4);
- /* WARNING: Load size is inaccurate */
- auVar55 = *(undefined *)puVar16;
- auVar65 = pmaddwd(*(undefined *)(param_1 + 0x12020),auVar54);
- auVar69 = pmaddwd(auVar53,auVar55);
- sVar17 = (short)(char)(cVar37 - (char)(SUB164(auVar65,0) + SUB164(auVar69,0) +
- SUB164(auVar65 >> 0x20,0) +
- SUB164(auVar69 >> 0x20,0) +
- SUB164(auVar65 >> 0x40,0) +
- SUB164(auVar69 >> 0x40,0) + 0x200 +
- SUB164(auVar65 >> 0x60,0) +
- SUB164(auVar69 >> 0x60,0) >> 10));
- if (sVar17 != 0) {
- uVar52 = CONCAT22(sVar17,sVar17);
- auVar69 = CONCAT412(uVar52,CONCAT48(uVar52,CONCAT44(uVar52,uVar52)));
- auVar65 = psraw(CONCAT214(-SUB162(auVar53 >> 0x70,0),
- CONCAT212(-SUB162(auVar53 >> 0x60,0),
- CONCAT210(-SUB162(auVar53 >> 0x50,0),
- CONCAT28(-SUB162(auVar53 >> 0x40,0),
- CONCAT26(-SUB162(auVar53 >>
- 0x30,0),
- CONCAT24(-SUB162(
- auVar53 >> 0x20,0),
- CONCAT22(-SUB162(auVar53 >> 0x10,0),
- -SUB162(auVar53,0)))))))) |auVar53,0xf);
- auVar53 = psraw(auVar53 ^ auVar69,0xf);
- auVar65 = (auVar53 | (undefined [16])0x1000100010001) & auVar65;
- uVar52 = CONCAT22(SUB162(auVar55 >> 0x10,0) + SUB162(auVar65 >> 0x10,0),
- SUB162(auVar55,0) + SUB162(auVar65,0));
- _uVar52 = CONCAT26(SUB162(auVar55 >> 0x30,0) + SUB162(auVar65 >> 0x30,0),
- CONCAT24(SUB162(auVar55 >> 0x20,0) + SUB162(auVar65 >> 0x20,0),
- uVar52));
- _uVar52 = CONCAT210(SUB162(auVar55 >> 0x50,0),
- CONCAT28(SUB162(auVar55 >> 0x40,0),_uVar52));
- *puVar16 = uVar52;
- puVar16[1] = (int)((ulonglong)_uVar52 >> 0x20);
- puVar16[2] = SUB124(_uVar52 >> 0x40,0);
- puVar16[3] = SUB164(CONCAT214(SUB162(auVar55 >> 0x70,0),
- CONCAT212(SUB162(auVar55 >> 0x60,0),_uVar52)) >>0x60,0)
- ;
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(param_1 + 0x12020);
- auVar55 = psraw(CONCAT214(-SUB162(auVar53 >> 0x70,0),
- CONCAT212(-SUB162(auVar53 >> 0x60,0),
- CONCAT210(-SUB162(auVar53 >> 0x50,0),
- CONCAT28(-SUB162(auVar53 >> 0x40,0),
- CONCAT26(-SUB162(auVar53 >>
- 0x30,0),
- CONCAT24(-SUB162(
- auVar53 >> 0x20,0),
- CONCAT22(-SUB162(auVar53 >> 0x10,0),
- -SUB162(auVar53,0)))))))) |auVar53,0xf);
- auVar53 = psraw(auVar53 ^ auVar69,0xf);
- auVar55 = (auVar53 | (undefined [16])0x1000100010001) & auVar55;
- uVar52 = CONCAT22(SUB162(auVar54 >> 0x10,0) + SUB162(auVar55 >> 0x10,0),
- SUB162(auVar54,0) + SUB162(auVar55,0));
- _uVar52 = CONCAT26(SUB162(auVar54 >> 0x30,0) + SUB162(auVar55 >> 0x30,0),
- CONCAT24(SUB162(auVar54 >> 0x20,0) + SUB162(auVar55 >> 0x20,0),
- uVar52));
- _uVar52 = CONCAT210(SUB162(auVar54 >> 0x50,0),
- CONCAT28(SUB162(auVar54 >> 0x40,0),_uVar52));
- puVar16[4] = uVar52;
- puVar16[5] = (int)((ulonglong)_uVar52 >> 0x20);
- puVar16[6] = SUB124(_uVar52 >> 0x40,0);
- puVar16[7] = SUB164(CONCAT214(SUB162(auVar54 >> 0x70,0),
- CONCAT212(SUB162(auVar54 >> 0x60,0),_uVar52)) >>0x60,0)
- ;
- puVar16 = *(undefined4 **)(param_1 + 0x12070);
- /* WARNING: Load size is inaccurate */
- auVar58 = SUB1614(*(undefined *)(param_1 + 0x12010) >> 0x10,0);
- /* WARNING: Load size is inaccurate */
- auVar70 = SUB1614(*(undefined *)(param_1 + 0x12020) >> 0x10,0);
- }
- uVar5 = *(undefined2 *)(param_1 + 0x12020);
- *(undefined4 *)(param_1 + 0x12010) = SUB144(auVar58,0);
- *(undefined4 *)(param_1 + 0x12014) = SUB144(auVar58 >> 0x20,0);
- *(undefined4 *)(param_1 + 0x12018) = SUB144(auVar58 >> 0x40,0);
- *(uint *)(param_1 + 0x1201c) = SUB144(auVar58 >> 0x60,0);
- *(undefined4 *)(param_1 + 0x12020) = SUB144(auVar70,0);
- *(undefined4 *)(param_1 + 0x12024) = SUB144(auVar70 >> 0x20,0);
- *(undefined4 *)(param_1 + 0x12028) = SUB144(auVar70 >> 0x40,0);
- *(uint *)(param_1 + 0x1202c) = SUB144(auVar70 >> 0x60,0);
- *(short *)(param_1 + 0x1202a) = *(short *)(param_1 + 0x1202a) - sVar12;
- *(short *)(param_1 + 0x1202e) = sVar12;
- *(undefined2 *)(param_1 + 0x1201e) = uVar5;
- pcVar44 = pcVar44 + 1;
- uVar13 = *(uint *)(param_1 + 0x12740) ^ 1;
- *(uint *)(param_1 + 0x12740) = uVar13;
- *(longlong *)(param_1 + 0x12070) =
- ((ulonglong)(puVar16 == (undefined4 *)(param_1 + 0x12030)) + 1) * 0x20 +
- param_1 + 0x12010;
- } while (pcVar33 != pcVar44);
- }
- auVar53 = (undefined [16])0x0;
- auVar54 = (undefined [16])0x1000100010001;
- *(int *)(param_1 + 0x12750) = uStack256 + 0x20;
- auVar55 = (undefined [16])0x1000100010001;
- pcVar44 = pcVar33;
- while( true ) {
- *(uint *)(param_1 + 0x12740) = uVar13 ^ 1;
- lVar21 = (longlong)(int)(uVar13 ^ 1);
- uVar11 = (ulonglong)*(uint *)(param_1 + 0x12420 + lVar21 * 0x310);
- uVar13 = *(uint *)(param_1 + 0x40);
- uVar52 = *(undefined4 *)(param_1 + 0x3c);
- *(uint *)(param_1 + 0x3c) = uVar13;
- *(undefined4 *)(param_1 + 0x40) = uVar52;
- if (uVar13 < 0x10000) {
- FUN_00417f00(plVar1);
- uVar13 = *(uint *)(param_1 + 0x3c);
- }
- sVar12 = ((ushort)uVar13 & 0x3fff) + 1;
- lVar23 = uVar11 * 0x30 + lVar21 * 0x310 + param_1;
- /* WARNING: Load size is inaccurate */
- auVar65 = *(undefined *)(lVar23 + 0x12120);
- /* WARNING: Load size is inaccurate */
- auVar69 = *(undefined *)(lVar23 + 0x12130);
- auVar65 = packsswb(CONCAT214(SUB162(auVar65 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar65 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar65 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar65 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar65
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar65 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar65 >> 0x10,0) -
- sVar12,SUB162(auVar65,0) -
- sVar12))))))),
- CONCAT214(SUB162(auVar69 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar69 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar69 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar69 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar69
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar69 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar69 >> 0x10,0) -
- sVar12,SUB162(auVar69,0) -
- sVar12))))))));
- uVar41 = pmovmskb((int)(lVar21 * 0x310),auVar65);
- /* WARNING: Load size is inaccurate */
- auVar65 = *(undefined *)(lVar23 + 0x12140);
- auVar65 = packsswb(CONCAT214(SUB162(auVar65 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar65 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar65 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar65 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar65
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar65 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar65 >> 0x10,0) -
- sVar12,SUB162(auVar65,0) -
- sVar12))))))),auVar53);
- iVar8 = pmovmskb((int)lVar23,auVar65);
- uVar41 = iVar8 << 0x10 | uVar41;
- uVar43 = 0x1f;
- if (uVar41 != 0) {
- while (uVar41 >> uVar43 == 0) {
- uVar43 = uVar43 - 1;
- }
- }
- uVar41 = -(uVar43 ^ 0x1f) + 0x1f;
- uVar25 = (ulonglong)uVar41;
- lVar23 = lVar21 * 0x188 + uVar11 * 0x18;
- uVar50 = (uint)*(ushort *)(param_1 + 0x11fa0 + (lVar23 + 0xc0 + uVar25) * 2);
- *(int *)(param_1 + 0x3c) =
- (*(ushort *)
- (param_1 + 0x11fa0 + (lVar23 + 0xc0 + (ulonglong)(-(uVar43 ^ 0x1f) + 0x20)) * 2)-
- uVar50) * (uVar13 >> 0xe) + (uVar13 - uVar50 & 0x3fff);
- FUN_0041e3c0((undefined4 *)(lVar21 * 0x310 + 0x180 + uVar11 * 0x30 + lVar14),uVar41);
- iVar8 = 0;
- if (*(byte *)(DAT_004315c0 + uVar25) != 0) {
- uVar11 = FUN_00417f40(plVar1,(uint)*(byte *)(DAT_004315c0 + uVar25));
- iVar8 = (int)uVar11;
- }
- uVar43 = (iVar8 + (&DAT_004315f8)[uVar25]) - DAT_00431700;
- lVar23 = lVar21 * 0x310 + param_1;
- uVar13 = *(uint *)(lVar23 + 0x12420);
- if (uVar13 != 0) {
- uVar11 = FUN_00417f40(plVar1,uVar13);
- uVar43 = uVar43 << ((byte)*(undefined4 *)(lVar23 + 0x12420) & 0x1f) | (uint)uVar11;
- }
- lVar21 = lVar21 * 0x310 + param_1;
- iVar8 = *(int *)(lVar21 + 0x12420);
- uVar13 = (*(uint *)(lVar21 + 0x12424) - (*(uint *)(lVar21 + 0x12424) >> 3)) + uVar43;
- *(uint *)(lVar21 + 0x12424) = uVar13;
- uVar13 = uVar13 >> ((byte)iVar8 & 0x1f);
- if (uVar13 < 0x11) {
- if (uVar13 < 8) {
- *(int *)(lVar21 + 0x12420) = iVar8 - (iVar8 + 0x1fU >> 5);
- }
- }
- else {
- *(int *)(lVar21 + 0x12420) = iVar8 + 1;
- }
- puVar15 = *(undefined4 **)(param_1 + 0x12070);
- /* WARNING: Load size is inaccurate */
- auVar70 = SUB1614(*(undefined *)(param_1 + 0x12020) >> 0x10,0);
- bVar49 = (byte)(uVar43 >> 1);
- /* WARNING: Load size is inaccurate */
- auVar65 = *(undefined *)(param_1 + 0x12010);
- auVar58 = SUB1614(auVar65 >> 0x10,0);
- bVar4 = ~bVar49;
- if ((uVar43 & 1) == 0) {
- bVar4 = bVar49;
- }
- /* WARNING: Load size is inaccurate */
- auVar69 = *(undefined *)(puVar15 + 4);
- /* WARNING: Load size is inaccurate */
- auVar67 = *(undefined *)puVar15;
- auVar56 = pmaddwd(*(undefined *)(param_1 + 0x12020),auVar69);
- auVar66 = pmaddwd(auVar65,auVar67);
- cVar42 = (char)(SUB164(auVar56,0) + SUB164(auVar66,0) +
- SUB164(auVar56 >> 0x20,0) + SUB164(auVar66 >> 0x20,0) +
- SUB164(auVar56 >> 0x40,0) + SUB164(auVar66 >> 0x40,0) + 0x200 +
- SUB164(auVar56 >> 0x60,0) + SUB164(auVar66 >> 0x60,0) >> 10) + bVar4;
- sVar12 = (short)(char)bVar4;
- sVar17 = SUB162(auVar53,0);
- sVar64 = SUB162(auVar53 >> 0x70,0);
- sVar57 = SUB162(auVar53 >> 0x10,0);
- sVar59 = SUB162(auVar53 >> 0x20,0);
- sVar60 = SUB162(auVar53 >> 0x30,0);
- sVar61 = SUB162(auVar53 >> 0x40,0);
- sVar62 = SUB162(auVar53 >> 0x50,0);
- sVar63 = SUB162(auVar53 >> 0x60,0);
- if (sVar12 != 0) {
- uVar52 = CONCAT22(sVar12,sVar12);
- auVar56 = CONCAT412(uVar52,CONCAT48(uVar52,CONCAT44(uVar52,uVar52)));
- auVar66 = psraw(CONCAT214(sVar64 - SUB162(auVar65 >> 0x70,0),
- CONCAT212(sVar63 - SUB162(auVar65 >> 0x60,0),
- CONCAT210(sVar62 - SUB162(auVar65 >> 0x50,0),
- CONCAT28(sVar61 - SUB162(auVar65 >>0x40,0
- ),
- CONCAT26(sVar60 -SUB162(auVar65
- >> 0x30,0),
- CONCAT24(sVar59 - SUB162(auVar65 >> 0x20,0),
- CONCAT22(sVar57 - SUB162(auVar65 >>0x10,
- 0),
- sVar17 -SUB162(auVar65,0)))))))
- ) | auVar65,0xf);
- auVar65 = psraw(auVar65 ^ auVar56,0xf);
- auVar66 = (auVar65 | auVar54) & auVar66;
- uVar52 = CONCAT22(SUB162(auVar67 >> 0x10,0) + SUB162(auVar66 >> 0x10,0),
- SUB162(auVar67,0) + SUB162(auVar66,0));
- _uVar52 = CONCAT26(SUB162(auVar67 >> 0x30,0) + SUB162(auVar66 >> 0x30,0),
- CONCAT24(SUB162(auVar67 >> 0x20,0) + SUB162(auVar66 >>0x20,0),uVar52
- ));
- _uVar52 = CONCAT210(SUB162(auVar67 >> 0x50,0),
- CONCAT28(SUB162(auVar67 >> 0x40,0),_uVar52));
- *puVar15 = uVar52;
- puVar15[1] = (int)((ulonglong)_uVar52 >> 0x20);
- puVar15[2] = SUB124(_uVar52 >> 0x40,0);
- puVar15[3] = SUB164(CONCAT214(SUB162(auVar67 >> 0x70,0),
- CONCAT212(SUB162(auVar67 >> 0x60,0),_uVar52)) >> 0x60,0);
- /* WARNING: Load size is inaccurate */
- auVar65 = *(undefined *)(param_1 + 0x12020);
- auVar67 = psraw(CONCAT214(sVar64 - SUB162(auVar65 >> 0x70,0),
- CONCAT212(sVar63 - SUB162(auVar65 >> 0x60,0),
- CONCAT210(sVar62 - SUB162(auVar65 >> 0x50,0),
- CONCAT28(sVar61 - SUB162(auVar65 >>0x40,0
- ),
- CONCAT26(sVar60 -SUB162(auVar65
- >> 0x30,0),
- CONCAT24(sVar59 - SUB162(auVar65 >> 0x20,0),
- CONCAT22(sVar57 - SUB162(auVar65 >>0x10,
- 0),
- sVar17 -SUB162(auVar65,0)))))))
- ) | auVar65,0xf);
- auVar65 = psraw(auVar65 ^ auVar56,0xf);
- auVar67 = (auVar65 | auVar54) & auVar67;
- uVar52 = CONCAT22(SUB162(auVar69 >> 0x10,0) + SUB162(auVar67 >> 0x10,0),
- SUB162(auVar69,0) + SUB162(auVar67,0));
- _uVar52 = CONCAT26(SUB162(auVar69 >> 0x30,0) + SUB162(auVar67 >> 0x30,0),
- CONCAT24(SUB162(auVar69 >> 0x20,0) + SUB162(auVar67 >>0x20,0),uVar52
- ));
- _uVar52 = CONCAT210(SUB162(auVar69 >> 0x50,0),
- CONCAT28(SUB162(auVar69 >> 0x40,0),_uVar52));
- puVar15[4] = uVar52;
- puVar15[5] = (int)((ulonglong)_uVar52 >> 0x20);
- puVar15[6] = SUB124(_uVar52 >> 0x40,0);
- puVar15[7] = SUB164(CONCAT214(SUB162(auVar69 >> 0x70,0),
- CONCAT212(SUB162(auVar69 >> 0x60,0),_uVar52)) >> 0x60,0);
- puVar15 = *(undefined4 **)(param_1 + 0x12070);
- /* WARNING: Load size is inaccurate */
- auVar58 = SUB1614(*(undefined *)(param_1 + 0x12010) >> 0x10,0);
- /* WARNING: Load size is inaccurate */
- auVar70 = SUB1614(*(undefined *)(param_1 + 0x12020) >> 0x10,0);
- }
- uVar5 = *(undefined2 *)(param_1 + 0x12020);
- sVar12 = (short)cVar42;
- *(undefined4 *)(param_1 + 0x12020) = SUB144(auVar70,0);
- *(undefined4 *)(param_1 + 0x12024) = SUB144(auVar70 >> 0x20,0);
- *(undefined4 *)(param_1 + 0x12028) = SUB144(auVar70 >> 0x40,0);
- *(uint *)(param_1 + 0x1202c) = SUB144(auVar70 >> 0x60,0);
- /* WARNING: Load size is inaccurate */
- auVar70 = SUB1614(*(undefined *)(param_1 + 0x11fb0) >> 0x10,0);
- *(short *)(param_1 + 0x1202a) = *(short *)(param_1 + 0x1202a) - sVar12;
- *(undefined4 *)(param_1 + 0x12010) = SUB144(auVar58,0);
- *(undefined4 *)(param_1 + 0x12014) = SUB144(auVar58 >> 0x20,0);
- *(undefined4 *)(param_1 + 0x12018) = SUB144(auVar58 >> 0x40,0);
- *(uint *)(param_1 + 0x1201c) = SUB144(auVar58 >> 0x60,0);
- *(short *)(param_1 + 0x1202e) = sVar12;
- /* WARNING: Load size is inaccurate */
- auVar65 = *(undefined *)(param_1 + 0x11fa0);
- auVar58 = SUB1614(auVar65 >> 0x10,0);
- *(undefined2 *)(param_1 + 0x1201e) = uVar5;
- *(longlong *)(param_1 + 0x12070) =
- ((ulonglong)(puVar15 == (undefined4 *)(param_1 + 0x12030)) + 1) * 0x20 +
- param_1 + 0x12010;
- puVar15 = *(undefined4 **)(param_1 + 0x12000);
- /* WARNING: Load size is inaccurate */
- auVar69 = *(undefined *)(puVar15 + 4);
- /* WARNING: Load size is inaccurate */
- auVar67 = *(undefined *)puVar15;
- auVar56 = pmaddwd(*(undefined *)(param_1 + 0x11fb0),auVar69);
- auVar66 = pmaddwd(auVar65,auVar67);
- cVar42 = (char)(SUB164(auVar56,0) + SUB164(auVar66,0) +
- SUB164(auVar56 >> 0x20,0) + SUB164(auVar66 >> 0x20,0) +
- SUB164(auVar56 >> 0x40,0) + SUB164(auVar66 >> 0x40,0) + 0x800 +
- SUB164(auVar56 >> 0x60,0) + SUB164(auVar66 >> 0x60,0) >> 0xc) + cVar42;
- if (sVar12 != 0) {
- uVar52 = CONCAT22(sVar12,sVar12);
- auVar66 = CONCAT412(uVar52,CONCAT48(uVar52,CONCAT44(uVar52,uVar52)));
- auVar56 = psraw(CONCAT214(sVar64 - SUB162(auVar65 >> 0x70,0),
- CONCAT212(sVar63 - SUB162(auVar65 >> 0x60,0),
- CONCAT210(sVar62 - SUB162(auVar65 >> 0x50,0),
- CONCAT28(sVar61 - SUB162(auVar65 >>0x40,0
- ),
- CONCAT26(sVar60 -SUB162(auVar65
- >> 0x30,0),
- CONCAT24(sVar59 - SUB162(auVar65 >> 0x20,0),
- CONCAT22(sVar57 - SUB162(auVar65 >>0x10,
- 0),
- sVar17 -SUB162(auVar65,0)))))))
- ) | auVar65,0xf);
- auVar65 = psraw(auVar65 ^ auVar66,0xf);
- auVar56 = (auVar65 | auVar55) & auVar56;
- uVar52 = CONCAT22(SUB162(auVar67 >> 0x10,0) + SUB162(auVar56 >> 0x10,0),
- SUB162(auVar67,0) + SUB162(auVar56,0));
- _uVar52 = CONCAT26(SUB162(auVar67 >> 0x30,0) + SUB162(auVar56 >> 0x30,0),
- CONCAT24(SUB162(auVar67 >> 0x20,0) + SUB162(auVar56 >>0x20,0),uVar52
- ));
- _uVar52 = CONCAT210(SUB162(auVar67 >> 0x50,0),
- CONCAT28(SUB162(auVar67 >> 0x40,0),_uVar52));
- *puVar15 = uVar52;
- puVar15[1] = (int)((ulonglong)_uVar52 >> 0x20);
- puVar15[2] = SUB124(_uVar52 >> 0x40,0);
- puVar15[3] = SUB164(CONCAT214(SUB162(auVar67 >> 0x70,0),
- CONCAT212(SUB162(auVar67 >> 0x60,0),_uVar52)) >> 0x60,0);
- /* WARNING: Load size is inaccurate */
- auVar65 = *(undefined *)(param_1 + 0x11fb0);
- auVar67 = psraw(CONCAT214(sVar64 - SUB162(auVar65 >> 0x70,0),
- CONCAT212(sVar63 - SUB162(auVar65 >> 0x60,0),
- CONCAT210(sVar62 - SUB162(auVar65 >> 0x50,0),
- CONCAT28(sVar61 - SUB162(auVar65 >>0x40,0
- ),
- CONCAT26(sVar60 -SUB162(auVar65
- >> 0x30,0),
- CONCAT24(sVar59 - SUB162(auVar65 >> 0x20,0),
- CONCAT22(sVar57 - SUB162(auVar65 >>0x10,
- 0),
- sVar17 -SUB162(auVar65,0)))))))
- ) | auVar65,0xf);
- auVar65 = psraw(auVar65 ^ auVar66,0xf);
- auVar67 = (auVar65 | auVar55) & auVar67;
- uVar52 = CONCAT22(SUB162(auVar67 >> 0x10,0) + SUB162(auVar69 >> 0x10,0),
- SUB162(auVar67,0) + SUB162(auVar69,0));
- _uVar52 = CONCAT26(SUB162(auVar67 >> 0x30,0) + SUB162(auVar69 >> 0x30,0),
- CONCAT24(SUB162(auVar67 >> 0x20,0) + SUB162(auVar69 >>0x20,0),uVar52
- ));
- _uVar52 = CONCAT210(SUB162(auVar69 >> 0x50,0),
- CONCAT28(SUB162(auVar69 >> 0x40,0),_uVar52));
- puVar15[4] = uVar52;
- puVar15[5] = (int)((ulonglong)_uVar52 >> 0x20);
- puVar15[6] = SUB124(_uVar52 >> 0x40,0);
- puVar15[7] = SUB164(CONCAT214(SUB162(auVar69 >> 0x70,0),
- CONCAT212(SUB162(auVar69 >> 0x60,0),_uVar52)) >> 0x60,0);
- puVar15 = *(undefined4 **)(param_1 + 0x12000);
- /* WARNING: Load size is inaccurate */
- auVar58 = SUB1614(*(undefined *)(param_1 + 0x11fa0) >> 0x10,0);
- /* WARNING: Load size is inaccurate */
- auVar70 = SUB1614(*(undefined *)(param_1 + 0x11fb0) >> 0x10,0);
- }
- uVar5 = *(undefined2 *)(param_1 + 0x11fb0);
- *(undefined4 *)(param_1 + 0x11fa0) = SUB144(auVar58,0);
- *(undefined4 *)(param_1 + 0x11fa4) = SUB144(auVar58 >> 0x20,0);
- *(undefined4 *)(param_1 + 0x11fa8) = SUB144(auVar58 >> 0x40,0);
- *(uint *)(param_1 + 0x11fac) = SUB144(auVar58 >> 0x60,0);
- *(undefined4 *)(param_1 + 0x11fb0) = SUB144(auVar70,0);
- *(undefined4 *)(param_1 + 0x11fb4) = SUB144(auVar70 >> 0x20,0);
- *(undefined4 *)(param_1 + 0x11fb8) = SUB144(auVar70 >> 0x40,0);
- *(uint *)(param_1 + 0x11fbc) = SUB144(auVar70 >> 0x60,0);
- *(undefined2 *)(param_1 + 0x11fae) = uVar5;
- *(short *)(param_1 + 0x11fba) = *(short *)(param_1 + 0x11fba) - (short)cVar42;
- *(short *)(param_1 + 0x11fbe) = (short)cVar42;
- *(longlong *)(param_1 + 0x12000) =
- ((ulonglong)(puVar15 == (undefined4 *)(param_1 + 0x11fc0)) + 1) * 0x20 + lVar14;
- *pcVar44 = cVar42 + -0x80;
- if (pcVar33 + 0x20 == pcVar44 + 1) break;
- uVar13 = *(uint *)(param_1 + 0x12740);
- pcVar44 = pcVar44 + 1;
- }
- goto LAB_00407f20;
- case -0x13:
- psVar26 = (short *)((ulonglong)(uStack256 - *(int *)(param_1 + 0x74)) +
- *(longlong *)(param_1 + 0x58));
- if (*(uint *)(param_1 + 0x13390) != uStack256) {
- psVar32 = psVar26 + -0x10;
- do {
- puVar15 = *(undefined4 **)(param_1 + 0x12fc0);
- /* WARNING: Load size is inaccurate */
- auVar70 = SUB1614(*(undefined *)(param_1 + 0x12f90) >> 0x10,0);
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(param_1 + 0x12f80);
- auVar58 = SUB1614(auVar53 >> 0x10,0);
- sVar12 = *psVar32;
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(puVar15 + 4);
- /* WARNING: Load size is inaccurate */
- auVar55 = *(undefined *)puVar15;
- auVar65 = pmaddwd(*(undefined *)(param_1 + 0x12f90),auVar54);
- auVar69 = pmaddwd(auVar53,auVar55);
- sVar17 = sVar12 - (short)(SUB164(auVar65,0) + SUB164(auVar69,0) +
- SUB164(auVar65 >> 0x20,0) + SUB164(auVar69 >> 0x20,0) +
- SUB164(auVar65 >> 0x40,0) + SUB164(auVar69 >> 0x40,0) + 0x800
- + SUB164(auVar65 >> 0x60,0) + SUB164(auVar69 >> 0x60,0) >>0xc
- );
- if (sVar17 != 0) {
- uVar52 = CONCAT22(sVar17,sVar17);
- auVar69 = CONCAT412(uVar52,CONCAT48(uVar52,CONCAT44(uVar52,uVar52)));
- auVar65 = psraw(CONCAT214(-SUB162(auVar53 >> 0x70,0),
- CONCAT212(-SUB162(auVar53 >> 0x60,0),
- CONCAT210(-SUB162(auVar53 >> 0x50,0),
- CONCAT28(-SUB162(auVar53 >> 0x40,0),
- CONCAT26(-SUB162(auVar53 >>
- 0x30,0),
- CONCAT24(-SUB162(
- auVar53 >> 0x20,0),
- CONCAT22(-SUB162(auVar53 >> 0x10,0),
- -SUB162(auVar53,0)))))))) |auVar53,0xf);
- auVar53 = psraw(auVar53 ^ auVar69,0xf);
- auVar65 = (auVar53 | (undefined [16])0x1000100010001) & auVar65;
- uVar52 = CONCAT22(SUB162(auVar55 >> 0x10,0) + SUB162(auVar65 >> 0x10,0),
- SUB162(auVar55,0) + SUB162(auVar65,0));
- _uVar52 = CONCAT26(SUB162(auVar55 >> 0x30,0) + SUB162(auVar65 >> 0x30,0),
- CONCAT24(SUB162(auVar55 >> 0x20,0) + SUB162(auVar65 >> 0x20,0),
- uVar52));
- _uVar52 = CONCAT210(SUB162(auVar55 >> 0x50,0),
- CONCAT28(SUB162(auVar55 >> 0x40,0),_uVar52));
- *puVar15 = uVar52;
- puVar15[1] = (int)((ulonglong)_uVar52 >> 0x20);
- puVar15[2] = SUB124(_uVar52 >> 0x40,0);
- puVar15[3] = SUB164(CONCAT214(SUB162(auVar55 >> 0x70,0),
- CONCAT212(SUB162(auVar55 >> 0x60,0),_uVar52)) >>0x60,0)
- ;
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(param_1 + 0x12f90);
- auVar55 = psraw(CONCAT214(-SUB162(auVar53 >> 0x70,0),
- CONCAT212(-SUB162(auVar53 >> 0x60,0),
- CONCAT210(-SUB162(auVar53 >> 0x50,0),
- CONCAT28(-SUB162(auVar53 >> 0x40,0),
- CONCAT26(-SUB162(auVar53 >>
- 0x30,0),
- CONCAT24(-SUB162(
- auVar53 >> 0x20,0),
- CONCAT22(-SUB162(auVar53 >> 0x10,0),
- -SUB162(auVar53,0)))))))) |auVar53,0xf);
- auVar53 = psraw(auVar53 ^ auVar69,0xf);
- auVar55 = (auVar53 | (undefined [16])0x1000100010001) & auVar55;
- uVar52 = CONCAT22(SUB162(auVar54 >> 0x10,0) + SUB162(auVar55 >> 0x10,0),
- SUB162(auVar54,0) + SUB162(auVar55,0));
- _uVar52 = CONCAT26(SUB162(auVar54 >> 0x30,0) + SUB162(auVar55 >> 0x30,0),
- CONCAT24(SUB162(auVar54 >> 0x20,0) + SUB162(auVar55 >> 0x20,0),
- uVar52));
- _uVar52 = CONCAT210(SUB162(auVar54 >> 0x50,0),
- CONCAT28(SUB162(auVar54 >> 0x40,0),_uVar52));
- puVar15[4] = uVar52;
- puVar15[5] = (int)((ulonglong)_uVar52 >> 0x20);
- puVar15[6] = SUB124(_uVar52 >> 0x40,0);
- puVar15[7] = SUB164(CONCAT214(SUB162(auVar54 >> 0x70,0),
- CONCAT212(SUB162(auVar54 >> 0x60,0),_uVar52)) >>0x60,0)
- ;
- /* WARNING: Load size is inaccurate */
- auVar58 = SUB1614(*(undefined *)(param_1 + 0x12f80) >> 0x10,0);
- /* WARNING: Load size is inaccurate */
- auVar70 = SUB1614(*(undefined *)(param_1 + 0x12f90) >> 0x10,0);
- }
- uVar5 = *(undefined2 *)(param_1 + 0x12f90);
- puVar15 = *(undefined4 **)(param_1 + 0x13010);
- *(undefined4 *)(param_1 + 0x12f80) = SUB144(auVar58,0);
- *(undefined4 *)(param_1 + 0x12f84) = SUB144(auVar58 >> 0x20,0);
- *(undefined4 *)(param_1 + 0x12f88) = SUB144(auVar58 >> 0x40,0);
- *(uint *)(param_1 + 0x12f8c) = SUB144(auVar58 >> 0x60,0);
- *(undefined4 *)(param_1 + 0x12f90) = SUB144(auVar70,0);
- *(undefined4 *)(param_1 + 0x12f94) = SUB144(auVar70 >> 0x20,0);
- *(undefined4 *)(param_1 + 0x12f98) = SUB144(auVar70 >> 0x40,0);
- *(uint *)(param_1 + 0x12f9c) = SUB144(auVar70 >> 0x60,0);
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(param_1 + 0x12fd0);
- auVar70 = SUB1614(auVar53 >> 0x10,0);
- /* WARNING: Load size is inaccurate */
- auVar58 = SUB1614(*(undefined *)(param_1 + 0x12fe0) >> 0x10,0);
- *(short *)(param_1 + 0x12f9e) = sVar12;
- *(short *)(param_1 + 0x12f9c) = *(short *)(param_1 + 0x12f9c) - sVar12;
- *(undefined2 *)(param_1 + 0x12f8e) = uVar5;
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(puVar15 + 4);
- /* WARNING: Load size is inaccurate */
- auVar55 = *(undefined *)puVar15;
- auVar65 = pmaddwd(*(undefined *)(param_1 + 0x12fe0),auVar54);
- auVar69 = pmaddwd(auVar53,auVar55);
- sVar12 = sVar17 - (short)(SUB164(auVar65,0) + SUB164(auVar69,0) +
- SUB164(auVar65 >> 0x20,0) + SUB164(auVar69 >> 0x20,0) +
- SUB164(auVar65 >> 0x40,0) + SUB164(auVar69 >> 0x40,0) + 0x200
- + SUB164(auVar65 >> 0x60,0) + SUB164(auVar69 >> 0x60,0) >>10)
- ;
- if (sVar12 != 0) {
- uVar52 = CONCAT22(sVar12,sVar12);
- auVar69 = CONCAT412(uVar52,CONCAT48(uVar52,CONCAT44(uVar52,uVar52)));
- auVar65 = psraw(CONCAT214(-SUB162(auVar53 >> 0x70,0),
- CONCAT212(-SUB162(auVar53 >> 0x60,0),
- CONCAT210(-SUB162(auVar53 >> 0x50,0),
- CONCAT28(-SUB162(auVar53 >> 0x40,0),
- CONCAT26(-SUB162(auVar53 >>
- 0x30,0),
- CONCAT24(-SUB162(
- auVar53 >> 0x20,0),
- CONCAT22(-SUB162(auVar53 >> 0x10,0),
- -SUB162(auVar53,0)))))))) |auVar53,0xf);
- auVar53 = psraw(auVar53 ^ auVar69,0xf);
- auVar65 = (auVar53 | (undefined [16])0x1000100010001) & auVar65;
- uVar52 = CONCAT22(SUB162(auVar55 >> 0x10,0) + SUB162(auVar65 >> 0x10,0),
- SUB162(auVar55,0) + SUB162(auVar65,0));
- _uVar52 = CONCAT26(SUB162(auVar55 >> 0x30,0) + SUB162(auVar65 >> 0x30,0),
- CONCAT24(SUB162(auVar55 >> 0x20,0) + SUB162(auVar65 >> 0x20,0),
- uVar52));
- _uVar52 = CONCAT210(SUB162(auVar55 >> 0x50,0),
- CONCAT28(SUB162(auVar55 >> 0x40,0),_uVar52));
- *puVar15 = uVar52;
- puVar15[1] = (int)((ulonglong)_uVar52 >> 0x20);
- puVar15[2] = SUB124(_uVar52 >> 0x40,0);
- puVar15[3] = SUB164(CONCAT214(SUB162(auVar55 >> 0x70,0),
- CONCAT212(SUB162(auVar55 >> 0x60,0),_uVar52)) >>0x60,0)
- ;
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(param_1 + 0x12fe0);
- auVar55 = psraw(CONCAT214(-SUB162(auVar53 >> 0x70,0),
- CONCAT212(-SUB162(auVar53 >> 0x60,0),
- CONCAT210(-SUB162(auVar53 >> 0x50,0),
- CONCAT28(-SUB162(auVar53 >> 0x40,0),
- CONCAT26(-SUB162(auVar53 >>
- 0x30,0),
- CONCAT24(-SUB162(
- auVar53 >> 0x20,0),
- CONCAT22(-SUB162(auVar53 >> 0x10,0),
- -SUB162(auVar53,0)))))))) |auVar53,0xf);
- auVar53 = psraw(auVar53 ^ auVar69,0xf);
- auVar55 = (auVar53 | (undefined [16])0x1000100010001) & auVar55;
- uVar52 = CONCAT22(SUB162(auVar54 >> 0x10,0) + SUB162(auVar55 >> 0x10,0),
- SUB162(auVar54,0) + SUB162(auVar55,0));
- _uVar52 = CONCAT26(SUB162(auVar54 >> 0x30,0) + SUB162(auVar55 >> 0x30,0),
- CONCAT24(SUB162(auVar54 >> 0x20,0) + SUB162(auVar55 >> 0x20,0),
- uVar52));
- _uVar52 = CONCAT210(SUB162(auVar54 >> 0x50,0),
- CONCAT28(SUB162(auVar54 >> 0x40,0),_uVar52));
- puVar15[4] = uVar52;
- puVar15[5] = (int)((ulonglong)_uVar52 >> 0x20);
- puVar15[6] = SUB124(_uVar52 >> 0x40,0);
- puVar15[7] = SUB164(CONCAT214(SUB162(auVar54 >> 0x70,0),
- CONCAT212(SUB162(auVar54 >> 0x60,0),_uVar52)) >>0x60,0)
- ;
- /* WARNING: Load size is inaccurate */
- auVar70 = SUB1614(*(undefined *)(param_1 + 0x12fd0) >> 0x10,0);
- /* WARNING: Load size is inaccurate */
- auVar58 = SUB1614(*(undefined *)(param_1 + 0x12fe0) >> 0x10,0);
- }
- puVar15 = (undefined4 *)(longlong)*(int *)(param_1 + 0x13380);
- uVar5 = *(undefined2 *)(param_1 + 0x12fe0);
- *(undefined4 *)(param_1 + 0x12fe0) = SUB144(auVar58,0);
- *(undefined4 *)(param_1 + 0x12fe4) = SUB144(auVar58 >> 0x20,0);
- *(undefined4 *)(param_1 + 0x12fe8) = SUB144(auVar58 >> 0x40,0);
- *(uint *)(param_1 + 0x12fec) = SUB144(auVar58 >> 0x60,0);
- *(short *)(param_1 + 0x12fec) = *(short *)(param_1 + 0x12fec) - sVar17;
- *(short *)(param_1 + 0x12fee) = sVar17;
- *(undefined4 *)(param_1 + 0x12fd0) = SUB144(auVar70,0);
- *(undefined4 *)(param_1 + 0x12fd4) = SUB144(auVar70 >> 0x20,0);
- *(undefined4 *)(param_1 + 0x12fd8) = SUB144(auVar70 >> 0x40,0);
- *(uint *)(param_1 + 0x12fdc) = SUB144(auVar70 >> 0x60,0);
- *(undefined2 *)(param_1 + 0x12fde) = uVar5;
- puVar16 = *(undefined4 **)(param_1 + 0x13060 + (longlong)puVar15 * 0x50);
- puVar35 = (undefined *)(param_1 + 0x13020 + (longlong)puVar15 * 0x50);
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)puVar35;
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(puVar16 + 4);
- /* WARNING: Load size is inaccurate */
- auVar55 = *(undefined *)puVar16;
- /* WARNING: Load size is inaccurate */
- auVar65 = pmaddwd(auVar54,*(undefined *)(puVar35 + 0x10));
- auVar69 = pmaddwd(auVar53,auVar55);
- sVar17 = sVar12 - (short)(SUB164(auVar65,0) + SUB164(auVar69,0) +
- SUB164(auVar65 >> 0x20,0) + SUB164(auVar69 >> 0x20,0) +
- SUB164(auVar65 >> 0x40,0) + SUB164(auVar69 >> 0x40,0) + 0x200
- + SUB164(auVar65 >> 0x60,0) + SUB164(auVar69 >> 0x60,0) >>10)
- ;
- if (sVar17 != 0) {
- uVar52 = CONCAT22(sVar17,sVar17);
- auVar69 = CONCAT412(uVar52,CONCAT48(uVar52,CONCAT44(uVar52,uVar52)));
- auVar65 = psraw(CONCAT214(-SUB162(auVar53 >> 0x70,0),
- CONCAT212(-SUB162(auVar53 >> 0x60,0),
- CONCAT210(-SUB162(auVar53 >> 0x50,0),
- CONCAT28(-SUB162(auVar53 >> 0x40,0),
- CONCAT26(-SUB162(auVar53 >>
- 0x30,0),
- CONCAT24(-SUB162(
- auVar53 >> 0x20,0),
- CONCAT22(-SUB162(auVar53 >> 0x10,0),
- -SUB162(auVar53,0)))))))) |auVar53,0xf);
- auVar53 = psraw(auVar53 ^ auVar69,0xf);
- auVar65 = (auVar53 | (undefined [16])0x1000100010001) & auVar65;
- uVar52 = CONCAT22(SUB162(auVar65 >> 0x10,0) + SUB162(auVar55 >> 0x10,0),
- SUB162(auVar65,0) + SUB162(auVar55,0));
- _uVar52 = CONCAT26(SUB162(auVar65 >> 0x30,0) + SUB162(auVar55 >> 0x30,0),
- CONCAT24(SUB162(auVar65 >> 0x20,0) + SUB162(auVar55 >> 0x20,0),
- uVar52));
- _uVar52 = CONCAT210(SUB162(auVar55 >> 0x50,0),
- CONCAT28(SUB162(auVar55 >> 0x40,0),_uVar52));
- *puVar16 = uVar52;
- puVar16[1] = (int)((ulonglong)_uVar52 >> 0x20);
- puVar16[2] = SUB124(_uVar52 >> 0x40,0);
- puVar16[3] = SUB164(CONCAT214(SUB162(auVar55 >> 0x70,0),
- CONCAT212(SUB162(auVar55 >> 0x60,0),_uVar52)) >>0x60,0)
- ;
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(puVar35 + 0x10);
- auVar55 = psraw(CONCAT214(-SUB162(auVar53 >> 0x70,0),
- CONCAT212(-SUB162(auVar53 >> 0x60,0),
- CONCAT210(-SUB162(auVar53 >> 0x50,0),
- CONCAT28(-SUB162(auVar53 >> 0x40,0),
- CONCAT26(-SUB162(auVar53 >>
- 0x30,0),
- CONCAT24(-SUB162(
- auVar53 >> 0x20,0),
- CONCAT22(-SUB162(auVar53 >> 0x10,0),
- -SUB162(auVar53,0)))))))) |auVar53,0xf);
- auVar53 = psraw(auVar53 ^ auVar69,0xf);
- auVar55 = (auVar53 | (undefined [16])0x1000100010001) & auVar55;
- uVar52 = CONCAT22(SUB162(auVar54 >> 0x10,0) + SUB162(auVar55 >> 0x10,0),
- SUB162(auVar54,0) + SUB162(auVar55,0));
- _uVar52 = CONCAT26(SUB162(auVar54 >> 0x30,0) + SUB162(auVar55 >> 0x30,0),
- CONCAT24(SUB162(auVar54 >> 0x20,0) + SUB162(auVar55 >> 0x20,0),
- uVar52));
- _uVar52 = CONCAT210(SUB162(auVar54 >> 0x50,0),
- CONCAT28(SUB162(auVar54 >> 0x40,0),_uVar52));
- puVar16[4] = uVar52;
- puVar16[5] = (int)((ulonglong)_uVar52 >> 0x20);
- puVar16[6] = SUB124(_uVar52 >> 0x40,0);
- puVar16[7] = SUB164(CONCAT214(SUB162(auVar54 >> 0x70,0),
- CONCAT212(SUB162(auVar54 >> 0x60,0),_uVar52)) >>0x60,0)
- ;
- }
- uVar5 = *(undefined2 *)(puVar35 + 0x10);
- psVar32 = psVar32 + 1;
- lVar14 = (longlong)puVar15 * 0x50 + param_1;
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(lVar14 + 0x13020);
- *(undefined4 *)(lVar14 + 0x13020) = SUB164(auVar53 >> 0x10,0);
- *(undefined4 *)(lVar14 + 0x13024) = SUB164(auVar53 >> 0x30,0);
- *(undefined4 *)(lVar14 + 0x13028) = SUB164(auVar53 >> 0x50,0);
- *(uint *)(lVar14 + 0x1302c) = SUB164(auVar53 >> 0x70,0);
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(lVar14 + 0x13030);
- *(undefined4 *)(lVar14 + 0x13030) = SUB164(auVar53 >> 0x10,0);
- *(undefined4 *)(lVar14 + 0x13034) = SUB164(auVar53 >> 0x30,0);
- *(undefined4 *)(lVar14 + 0x13038) = SUB164(auVar53 >> 0x50,0);
- *(uint *)(lVar14 + 0x1303c) = SUB164(auVar53 >> 0x70,0);
- *(short *)(puVar35 + 0x1c) = *(short *)(puVar35 + 0x1c) - sVar12;
- *(undefined2 *)(puVar35 + 0xe) = uVar5;
- *(short *)(puVar35 + 0x1e) = sVar12;
- } while (psVar26 != psVar32);
- }
- auVar53 = (undefined [16])0x1000100010001;
- auVar55 = (undefined [16])0x1000100010001;
- auVar54 = (undefined [16])0x1000100010001;
- *(int *)(param_1 + 0x13390) = uStack256 + 0x20;
- psVar32 = psVar26;
- do {
- uVar45 = SUB84(puVar15,0);
- lVar14 = (longlong)*(int *)(param_1 + 0x13380);
- uVar11 = (ulonglong)*(uint *)(param_1 + 0x13370 + lVar14 * 0x310);
- uVar13 = *(uint *)(param_1 + 0x40);
- uVar52 = *(undefined4 *)(param_1 + 0x3c);
- *(uint *)(param_1 + 0x3c) = uVar13;
- *(undefined4 *)(param_1 + 0x40) = uVar52;
- if (uVar13 < 0x10000) {
- FUN_00417f00(plVar1);
- uVar13 = *(uint *)(param_1 + 0x3c);
- }
- sVar12 = ((ushort)uVar13 & 0x3fff) + 1;
- lVar21 = uVar11 * 0x30 + lVar14 * 0x310 + param_1;
- /* WARNING: Load size is inaccurate */
- auVar65 = *(undefined *)(lVar21 + 0x13070);
- /* WARNING: Load size is inaccurate */
- auVar69 = *(undefined *)(lVar21 + 0x13080);
- auVar65 = packsswb(CONCAT214(SUB162(auVar65 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar65 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar65 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar65 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar65
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar65 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar65 >> 0x10,0) -
- sVar12,SUB162(auVar65,0) -
- sVar12))))))),
- CONCAT214(SUB162(auVar69 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar69 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar69 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar69 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar69
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar69 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar69 >> 0x10,0) -
- sVar12,SUB162(auVar69,0) -
- sVar12))))))));
- uVar41 = pmovmskb(uVar45,auVar65);
- /* WARNING: Load size is inaccurate */
- auVar65 = *(undefined *)(lVar21 + 0x13090);
- auVar65 = packsswb(CONCAT214(SUB162(auVar65 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar65 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar65 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar65 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar65
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar65 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar65 >> 0x10,0) -
- sVar12,SUB162(auVar65,0) -
- sVar12))))))),
- (undefined [16])0x0);
- iVar8 = pmovmskb((int)(lVar14 * 0x310),auVar65);
- uVar41 = iVar8 << 0x10 | uVar41;
- uVar43 = 0x1f;
- if (uVar41 != 0) {
- while (uVar41 >> uVar43 == 0) {
- uVar43 = uVar43 - 1;
- }
- }
- uVar41 = -(uVar43 ^ 0x1f) + 0x1f;
- uVar25 = (ulonglong)uVar41;
- lVar21 = lVar14 * 0x188 + uVar11 * 0x18;
- uVar50 = (uint)*(ushort *)(param_1 + 0x12f80 + (lVar21 + 0x78 + uVar25) * 2);
- *(int *)(param_1 + 0x3c) =
- (uVar13 - uVar50 & 0x3fff) +
- (uVar13 >> 0xe) *
- (*(ushort *)
- (param_1 + 0x12f80 + (lVar21 + 0x78 + (ulonglong)(-(uVar43 ^ 0x1f) + 0x20)) * 2)-
- uVar50);
- FUN_0041e3c0((undefined4 *)(lVar14 * 0x310 + uVar11 * 0x30 + param_1 + 0x13070),uVar41);
- iVar8 = 0;
- if (*(byte *)(DAT_004315c0 + uVar25) != 0) {
- uVar11 = FUN_00417f40(plVar1,(uint)*(byte *)(DAT_004315c0 + uVar25));
- iVar8 = (int)uVar11;
- }
- uVar43 = (iVar8 + (&DAT_004315f8)[uVar25]) - DAT_00431700;
- lVar21 = lVar14 * 0x310 + param_1;
- uVar13 = *(uint *)(lVar21 + 0x13370);
- if (uVar13 != 0) {
- uVar11 = FUN_00417f40(plVar1,uVar13);
- uVar43 = uVar43 << ((byte)*(undefined4 *)(lVar21 + 0x13370) & 0x1f) | (uint)uVar11;
- }
- lVar14 = lVar14 * 0x310 + param_1;
- iVar8 = *(int *)(lVar14 + 0x13370);
- uVar13 = (*(uint *)(lVar14 + 0x13374) - (*(uint *)(lVar14 + 0x13374) >> 3)) + uVar43;
- *(uint *)(lVar14 + 0x13374) = uVar13;
- uVar13 = uVar13 >> ((byte)iVar8 & 0x1f);
- if (uVar13 < 0x11) {
- if (uVar13 < 8) {
- *(int *)(lVar14 + 0x13370) = iVar8 - (iVar8 + 0x1fU >> 5);
- }
- }
- else {
- *(int *)(lVar14 + 0x13370) = iVar8 + 1;
- }
- iVar8 = *(int *)(param_1 + 0x13380);
- uVar13 = uVar43 >> 1;
- if ((uVar43 & 1) != 0) {
- uVar13 = ~(uVar43 >> 1);
- }
- lVar14 = (longlong)iVar8 * 0x50;
- puVar15 = *(undefined4 **)(param_1 + 0x13060 + lVar14);
- puVar35 = (undefined *)(param_1 + 0x13020 + lVar14);
- /* WARNING: Load size is inaccurate */
- auVar65 = *(undefined *)puVar35;
- /* WARNING: Load size is inaccurate */
- auVar69 = *(undefined *)(puVar15 + 4);
- /* WARNING: Load size is inaccurate */
- auVar67 = *(undefined *)puVar15;
- /* WARNING: Load size is inaccurate */
- auVar56 = pmaddwd(auVar69,*(undefined *)(puVar35 + 0x10));
- auVar66 = pmaddwd(auVar65,auVar67);
- uVar43 = (SUB164(auVar56,0) + SUB164(auVar66,0) +
- SUB164(auVar56 >> 0x20,0) + SUB164(auVar66 >> 0x20,0) +
- SUB164(auVar56 >> 0x40,0) + SUB164(auVar66 >> 0x40,0) + 0x200 +
- SUB164(auVar56 >> 0x60,0) + SUB164(auVar66 >> 0x60,0) >> 10) + uVar13;
- if ((short)uVar13 != 0) {
- uVar13 = uVar13 & 0xffff | uVar13 << 0x10;
- auVar56 = CONCAT412(uVar13,CONCAT48(uVar13,CONCAT44(uVar13,uVar13)));
- auVar66 = psraw(CONCAT214(-SUB162(auVar65 >> 0x70,0),
- CONCAT212(-SUB162(auVar65 >> 0x60,0),
- CONCAT210(-SUB162(auVar65 >> 0x50,0),
- CONCAT28(-SUB162(auVar65 >> 0x40,0),
- CONCAT26(-SUB162(auVar65 >>0x30,
- 0),
- CONCAT24(-SUB162(auVar65
- >> 0x20
- ,0),CONCAT22(-SUB162(auVar65 >> 0x10,0),
- -SUB162(auVar65,0)))))))) | auVar65,
- 0xf);
- auVar65 = psraw(auVar65 ^ auVar56,0xf);
- auVar66 = (auVar65 | auVar53) & auVar66;
- uVar52 = CONCAT22(SUB162(auVar67 >> 0x10,0) + SUB162(auVar66 >> 0x10,0),
- SUB162(auVar67,0) + SUB162(auVar66,0));
- _uVar52 = CONCAT26(SUB162(auVar67 >> 0x30,0) + SUB162(auVar66 >> 0x30,0),
- CONCAT24(SUB162(auVar67 >> 0x20,0) + SUB162(auVar66 >>0x20,0),uVar52
- ));
- _uVar52 = CONCAT210(SUB162(auVar67 >> 0x50,0),
- CONCAT28(SUB162(auVar67 >> 0x40,0),_uVar52));
- *puVar15 = uVar52;
- puVar15[1] = (int)((ulonglong)_uVar52 >> 0x20);
- puVar15[2] = SUB124(_uVar52 >> 0x40,0);
- puVar15[3] = SUB164(CONCAT214(SUB162(auVar67 >> 0x70,0),
- CONCAT212(SUB162(auVar67 >> 0x60,0),_uVar52)) >> 0x60,0);
- /* WARNING: Load size is inaccurate */
- auVar65 = *(undefined *)(puVar35 + 0x10);
- auVar67 = psraw(CONCAT214(-SUB162(auVar65 >> 0x70,0),
- CONCAT212(-SUB162(auVar65 >> 0x60,0),
- CONCAT210(-SUB162(auVar65 >> 0x50,0),
- CONCAT28(-SUB162(auVar65 >> 0x40,0),
- CONCAT26(-SUB162(auVar65 >>0x30,
- 0),
- CONCAT24(-SUB162(auVar65
- >> 0x20
- ,0),CONCAT22(-SUB162(auVar65 >> 0x10,0),
- -SUB162(auVar65,0)))))))) | auVar65,
- 0xf);
- auVar65 = psraw(auVar65 ^ auVar56,0xf);
- auVar67 = (auVar65 | auVar53) & auVar67;
- uVar52 = CONCAT22(SUB162(auVar67 >> 0x10,0) + SUB162(auVar69 >> 0x10,0),
- SUB162(auVar67,0) + SUB162(auVar69,0));
- _uVar52 = CONCAT26(SUB162(auVar67 >> 0x30,0) + SUB162(auVar69 >> 0x30,0),
- CONCAT24(SUB162(auVar67 >> 0x20,0) + SUB162(auVar69 >>0x20,0),uVar52
- ));
- _uVar52 = CONCAT210(SUB162(auVar69 >> 0x50,0),
- CONCAT28(SUB162(auVar69 >> 0x40,0),_uVar52));
- puVar15[4] = uVar52;
- puVar15[5] = (int)((ulonglong)_uVar52 >> 0x20);
- puVar15[6] = SUB124(_uVar52 >> 0x40,0);
- puVar15[7] = SUB164(CONCAT214(SUB162(auVar69 >> 0x70,0),
- CONCAT212(SUB162(auVar69 >> 0x60,0),_uVar52)) >> 0x60,0);
- }
- uVar5 = *(undefined2 *)(puVar35 + 0x10);
- lVar14 = (longlong)iVar8 * 0x50 + param_1;
- /* WARNING: Load size is inaccurate */
- auVar65 = *(undefined *)(lVar14 + 0x13020);
- *(undefined4 *)(lVar14 + 0x13020) = SUB164(auVar65 >> 0x10,0);
- *(undefined4 *)(lVar14 + 0x13024) = SUB164(auVar65 >> 0x30,0);
- *(undefined4 *)(lVar14 + 0x13028) = SUB164(auVar65 >> 0x50,0);
- *(uint *)(lVar14 + 0x1302c) = SUB164(auVar65 >> 0x70,0);
- /* WARNING: Load size is inaccurate */
- auVar65 = *(undefined *)(lVar14 + 0x13030);
- *(undefined4 *)(lVar14 + 0x13030) = SUB164(auVar65 >> 0x10,0);
- *(undefined4 *)(lVar14 + 0x13034) = SUB164(auVar65 >> 0x30,0);
- *(undefined4 *)(lVar14 + 0x13038) = SUB164(auVar65 >> 0x50,0);
- *(uint *)(lVar14 + 0x1303c) = SUB164(auVar65 >> 0x70,0);
- puVar15 = *(undefined4 **)(param_1 + 0x13010);
- sVar12 = (short)uVar43;
- *(short *)(puVar35 + 0x1c) = *(short *)(puVar35 + 0x1c) - sVar12;
- *(undefined2 *)(puVar35 + 0xe) = uVar5;
- *(short *)(puVar35 + 0x1e) = sVar12;
- /* WARNING: Load size is inaccurate */
- auVar70 = SUB1614(*(undefined *)(param_1 + 0x12fe0) >> 0x10,0);
- /* WARNING: Load size is inaccurate */
- auVar65 = *(undefined *)(param_1 + 0x12fd0);
- auVar58 = SUB1614(auVar65 >> 0x10,0);
- /* WARNING: Load size is inaccurate */
- auVar69 = *(undefined *)(puVar15 + 4);
- /* WARNING: Load size is inaccurate */
- auVar67 = *(undefined *)puVar15;
- auVar56 = pmaddwd(*(undefined *)(param_1 + 0x12fe0),auVar69);
- auVar66 = pmaddwd(auVar65,auVar67);
- uVar13 = (SUB164(auVar56,0) + SUB164(auVar66,0) +
- SUB164(auVar56 >> 0x20,0) + SUB164(auVar66 >> 0x20,0) +
- SUB164(auVar56 >> 0x40,0) + SUB164(auVar66 >> 0x40,0) + 0x200 +
- SUB164(auVar56 >> 0x60,0) + SUB164(auVar66 >> 0x60,0) >> 10) + uVar43;
- if (sVar12 != 0) {
- uVar43 = uVar43 & 0xffff | uVar43 * 0x10000;
- auVar56 = CONCAT412(uVar43,CONCAT48(uVar43,CONCAT44(uVar43,uVar43)));
- auVar66 = psraw(CONCAT214(-SUB162(auVar65 >> 0x70,0),
- CONCAT212(-SUB162(auVar65 >> 0x60,0),
- CONCAT210(-SUB162(auVar65 >> 0x50,0),
- CONCAT28(-SUB162(auVar65 >> 0x40,0),
- CONCAT26(-SUB162(auVar65 >>0x30,
- 0),
- CONCAT24(-SUB162(auVar65
- >> 0x20
- ,0),CONCAT22(-SUB162(auVar65 >> 0x10,0),
- -SUB162(auVar65,0)))))))) | auVar65,
- 0xf);
- auVar65 = psraw(auVar65 ^ auVar56,0xf);
- auVar66 = (auVar65 | auVar55) & auVar66;
- uVar52 = CONCAT22(SUB162(auVar67 >> 0x10,0) + SUB162(auVar66 >> 0x10,0),
- SUB162(auVar67,0) + SUB162(auVar66,0));
- _uVar52 = CONCAT26(SUB162(auVar67 >> 0x30,0) + SUB162(auVar66 >> 0x30,0),
- CONCAT24(SUB162(auVar67 >> 0x20,0) + SUB162(auVar66 >>0x20,0),uVar52
- ));
- _uVar52 = CONCAT210(SUB162(auVar67 >> 0x50,0),
- CONCAT28(SUB162(auVar67 >> 0x40,0),_uVar52));
- *puVar15 = uVar52;
- puVar15[1] = (int)((ulonglong)_uVar52 >> 0x20);
- puVar15[2] = SUB124(_uVar52 >> 0x40,0);
- puVar15[3] = SUB164(CONCAT214(SUB162(auVar67 >> 0x70,0),
- CONCAT212(SUB162(auVar67 >> 0x60,0),_uVar52)) >> 0x60,0);
- /* WARNING: Load size is inaccurate */
- auVar65 = *(undefined *)(param_1 + 0x12fe0);
- auVar67 = psraw(CONCAT214(-SUB162(auVar65 >> 0x70,0),
- CONCAT212(-SUB162(auVar65 >> 0x60,0),
- CONCAT210(-SUB162(auVar65 >> 0x50,0),
- CONCAT28(-SUB162(auVar65 >> 0x40,0),
- CONCAT26(-SUB162(auVar65 >>0x30,
- 0),
- CONCAT24(-SUB162(auVar65
- >> 0x20
- ,0),CONCAT22(-SUB162(auVar65 >> 0x10,0),
- -SUB162(auVar65,0)))))))) | auVar65,
- 0xf);
- auVar65 = psraw(auVar65 ^ auVar56,0xf);
- auVar67 = (auVar65 | auVar55) & auVar67;
- uVar52 = CONCAT22(SUB162(auVar69 >> 0x10,0) + SUB162(auVar67 >> 0x10,0),
- SUB162(auVar69,0) + SUB162(auVar67,0));
- _uVar52 = CONCAT26(SUB162(auVar69 >> 0x30,0) + SUB162(auVar67 >> 0x30,0),
- CONCAT24(SUB162(auVar69 >> 0x20,0) + SUB162(auVar67 >>0x20,0),uVar52
- ));
- _uVar52 = CONCAT210(SUB162(auVar69 >> 0x50,0),
- CONCAT28(SUB162(auVar69 >> 0x40,0),_uVar52));
- puVar15[4] = uVar52;
- puVar15[5] = (int)((ulonglong)_uVar52 >> 0x20);
- puVar15[6] = SUB124(_uVar52 >> 0x40,0);
- puVar15[7] = SUB164(CONCAT214(SUB162(auVar69 >> 0x70,0),
- CONCAT212(SUB162(auVar69 >> 0x60,0),_uVar52)) >> 0x60,0);
- /* WARNING: Load size is inaccurate */
- auVar58 = SUB1614(*(undefined *)(param_1 + 0x12fd0) >> 0x10,0);
- /* WARNING: Load size is inaccurate */
- auVar70 = SUB1614(*(undefined *)(param_1 + 0x12fe0) >> 0x10,0);
- }
- uVar5 = *(undefined2 *)(param_1 + 0x12fe0);
- puVar15 = *(undefined4 **)(param_1 + 0x12fc0);
- *(undefined4 *)(param_1 + 0x12fd0) = SUB144(auVar58,0);
- *(undefined4 *)(param_1 + 0x12fd4) = SUB144(auVar58 >> 0x20,0);
- *(undefined4 *)(param_1 + 0x12fd8) = SUB144(auVar58 >> 0x40,0);
- *(uint *)(param_1 + 0x12fdc) = SUB144(auVar58 >> 0x60,0);
- *(undefined4 *)(param_1 + 0x12fe0) = SUB144(auVar70,0);
- *(undefined4 *)(param_1 + 0x12fe4) = SUB144(auVar70 >> 0x20,0);
- *(undefined4 *)(param_1 + 0x12fe8) = SUB144(auVar70 >> 0x40,0);
- *(uint *)(param_1 + 0x12fec) = SUB144(auVar70 >> 0x60,0);
- /* WARNING: Load size is inaccurate */
- auVar65 = *(undefined *)(param_1 + 0x12f80);
- auVar70 = SUB1614(auVar65 >> 0x10,0);
- /* WARNING: Load size is inaccurate */
- auVar58 = SUB1614(*(undefined *)(param_1 + 0x12f90) >> 0x10,0);
- sVar12 = (short)uVar13;
- *(short *)(param_1 + 0x12fee) = sVar12;
- *(undefined2 *)(param_1 + 0x12fde) = uVar5;
- *(short *)(param_1 + 0x12fec) = *(short *)(param_1 + 0x12fec) - sVar12;
- /* WARNING: Load size is inaccurate */
- auVar69 = *(undefined *)(puVar15 + 4);
- /* WARNING: Load size is inaccurate */
- auVar67 = *(undefined *)puVar15;
- auVar56 = pmaddwd(*(undefined *)(param_1 + 0x12f90),auVar69);
- auVar66 = pmaddwd(auVar65,auVar67);
- sVar17 = (short)(SUB164(auVar56,0) + SUB164(auVar66,0) +
- SUB164(auVar56 >> 0x20,0) + SUB164(auVar66 >> 0x20,0) +
- SUB164(auVar56 >> 0x40,0) + SUB164(auVar66 >> 0x40,0) + 0x800 +
- SUB164(auVar56 >> 0x60,0) + SUB164(auVar66 >> 0x60,0) >> 0xc) + sVar12;
- if (sVar12 != 0) {
- uVar13 = uVar13 & 0xffff | uVar13 * 0x10000;
- auVar56 = CONCAT412(uVar13,CONCAT48(uVar13,CONCAT44(uVar13,uVar13)));
- auVar66 = psraw(CONCAT214(-SUB162(auVar65 >> 0x70,0),
- CONCAT212(-SUB162(auVar65 >> 0x60,0),
- CONCAT210(-SUB162(auVar65 >> 0x50,0),
- CONCAT28(-SUB162(auVar65 >> 0x40,0),
- CONCAT26(-SUB162(auVar65 >>0x30,
- 0),
- CONCAT24(-SUB162(auVar65
- >> 0x20
- ,0),CONCAT22(-SUB162(auVar65 >> 0x10,0),
- -SUB162(auVar65,0)))))))) | auVar65,
- 0xf);
- auVar65 = psraw(auVar65 ^ auVar56,0xf);
- auVar66 = (auVar65 | auVar54) & auVar66;
- uVar52 = CONCAT22(SUB162(auVar67 >> 0x10,0) + SUB162(auVar66 >> 0x10,0),
- SUB162(auVar67,0) + SUB162(auVar66,0));
- _uVar52 = CONCAT26(SUB162(auVar67 >> 0x30,0) + SUB162(auVar66 >> 0x30,0),
- CONCAT24(SUB162(auVar67 >> 0x20,0) + SUB162(auVar66 >>0x20,0),uVar52
- ));
- _uVar52 = CONCAT210(SUB162(auVar67 >> 0x50,0),
- CONCAT28(SUB162(auVar67 >> 0x40,0),_uVar52));
- *puVar15 = uVar52;
- puVar15[1] = (int)((ulonglong)_uVar52 >> 0x20);
- puVar15[2] = SUB124(_uVar52 >> 0x40,0);
- puVar15[3] = SUB164(CONCAT214(SUB162(auVar67 >> 0x70,0),
- CONCAT212(SUB162(auVar67 >> 0x60,0),_uVar52)) >> 0x60,0);
- /* WARNING: Load size is inaccurate */
- auVar65 = *(undefined *)(param_1 + 0x12f90);
- auVar67 = psraw(CONCAT214(-SUB162(auVar65 >> 0x70,0),
- CONCAT212(-SUB162(auVar65 >> 0x60,0),
- CONCAT210(-SUB162(auVar65 >> 0x50,0),
- CONCAT28(-SUB162(auVar65 >> 0x40,0),
- CONCAT26(-SUB162(auVar65 >>0x30,
- 0),
- CONCAT24(-SUB162(auVar65
- >> 0x20
- ,0),CONCAT22(-SUB162(auVar65 >> 0x10,0),
- -SUB162(auVar65,0)))))))) | auVar65,
- 0xf);
- auVar65 = psraw(auVar65 ^ auVar56,0xf);
- auVar67 = (auVar65 | auVar54) & auVar67;
- uVar52 = CONCAT22(SUB162(auVar69 >> 0x10,0) + SUB162(auVar67 >> 0x10,0),
- SUB162(auVar69,0) + SUB162(auVar67,0));
- _uVar52 = CONCAT26(SUB162(auVar69 >> 0x30,0) + SUB162(auVar67 >> 0x30,0),
- CONCAT24(SUB162(auVar69 >> 0x20,0) + SUB162(auVar67 >>0x20,0),uVar52
- ));
- _uVar52 = CONCAT210(SUB162(auVar69 >> 0x50,0),
- CONCAT28(SUB162(auVar69 >> 0x40,0),_uVar52));
- puVar15[4] = uVar52;
- puVar15[5] = (int)((ulonglong)_uVar52 >> 0x20);
- puVar15[6] = SUB124(_uVar52 >> 0x40,0);
- puVar15[7] = SUB164(CONCAT214(SUB162(auVar69 >> 0x70,0),
- CONCAT212(SUB162(auVar69 >> 0x60,0),_uVar52)) >> 0x60,0);
- /* WARNING: Load size is inaccurate */
- auVar70 = SUB1614(*(undefined *)(param_1 + 0x12f80) >> 0x10,0);
- /* WARNING: Load size is inaccurate */
- auVar58 = SUB1614(*(undefined *)(param_1 + 0x12f90) >> 0x10,0);
- }
- uVar5 = *(undefined2 *)(param_1 + 0x12f90);
- psVar34 = psVar32 + 1;
- *(undefined4 *)(param_1 + 0x12f80) = SUB144(auVar70,0);
- *(undefined4 *)(param_1 + 0x12f84) = SUB144(auVar70 >> 0x20,0);
- *(undefined4 *)(param_1 + 0x12f88) = SUB144(auVar70 >> 0x40,0);
- *(uint *)(param_1 + 0x12f8c) = SUB144(auVar70 >> 0x60,0);
- *(undefined4 *)(param_1 + 0x12f90) = SUB144(auVar58,0);
- *(undefined4 *)(param_1 + 0x12f94) = SUB144(auVar58 >> 0x20,0);
- *(undefined4 *)(param_1 + 0x12f98) = SUB144(auVar58 >> 0x40,0);
- *(uint *)(param_1 + 0x12f9c) = SUB144(auVar58 >> 0x60,0);
- *(short *)(param_1 + 0x12f9c) = *(short *)(param_1 + 0x12f9c) - sVar17;
- *(short *)(param_1 + 0x12f9e) = sVar17;
- *(undefined2 *)(param_1 + 0x12f8e) = uVar5;
- *psVar32 = sVar17;
- psVar32 = psVar34;
- } while (psVar26 + 0x10 != psVar34);
- goto LAB_00407f20;
- case -0x12:
- lVar14 = param_1 + 0x14300;
- psVar26 = (short *)((ulonglong)(uStack256 - *(int *)(param_1 + 0x74)) +
- *(longlong *)(param_1 + 0x58));
- if (*(uint *)(param_1 + 0x14ab0) != uStack256) {
- psVar32 = psVar26 + -0x10;
- do {
- puVar15 = *(undefined4 **)(param_1 + 0x14360);
- /* WARNING: Load size is inaccurate */
- auVar70 = SUB1614(*(undefined *)(param_1 + 0x14310) >> 0x10,0);
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(param_1 + 0x14300);
- auVar58 = SUB1614(auVar53 >> 0x10,0);
- sVar12 = *psVar32;
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(puVar15 + 4);
- /* WARNING: Load size is inaccurate */
- auVar55 = *(undefined *)puVar15;
- auVar65 = pmaddwd(*(undefined *)(param_1 + 0x14310),auVar54);
- auVar69 = pmaddwd(auVar53,auVar55);
- sVar17 = sVar12 - (short)(SUB164(auVar65,0) + SUB164(auVar69,0) +
- SUB164(auVar65 >> 0x20,0) + SUB164(auVar69 >> 0x20,0) +
- SUB164(auVar65 >> 0x40,0) + SUB164(auVar69 >> 0x40,0) + 0x800
- + SUB164(auVar65 >> 0x60,0) + SUB164(auVar69 >> 0x60,0) >>0xc
- );
- if (sVar17 != 0) {
- uVar52 = CONCAT22(sVar17,sVar17);
- auVar69 = CONCAT412(uVar52,CONCAT48(uVar52,CONCAT44(uVar52,uVar52)));
- auVar65 = psraw(CONCAT214(-SUB162(auVar53 >> 0x70,0),
- CONCAT212(-SUB162(auVar53 >> 0x60,0),
- CONCAT210(-SUB162(auVar53 >> 0x50,0),
- CONCAT28(-SUB162(auVar53 >> 0x40,0),
- CONCAT26(-SUB162(auVar53 >>
- 0x30,0),
- CONCAT24(-SUB162(
- auVar53 >> 0x20,0),
- CONCAT22(-SUB162(auVar53 >> 0x10,0),
- -SUB162(auVar53,0)))))))) |auVar53,0xf);
- auVar53 = psraw(auVar53 ^ auVar69,0xf);
- auVar65 = (auVar53 | auVar73) & auVar65;
- uVar52 = CONCAT22(SUB162(auVar55 >> 0x10,0) + SUB162(auVar65 >> 0x10,0),
- SUB162(auVar55,0) + SUB162(auVar65,0));
- _uVar52 = CONCAT26(SUB162(auVar55 >> 0x30,0) + SUB162(auVar65 >> 0x30,0),
- CONCAT24(SUB162(auVar55 >> 0x20,0) + SUB162(auVar65 >> 0x20,0),
- uVar52));
- _uVar52 = CONCAT210(SUB162(auVar55 >> 0x50,0),
- CONCAT28(SUB162(auVar55 >> 0x40,0),_uVar52));
- *puVar15 = uVar52;
- puVar15[1] = (int)((ulonglong)_uVar52 >> 0x20);
- puVar15[2] = SUB124(_uVar52 >> 0x40,0);
- puVar15[3] = SUB164(CONCAT214(SUB162(auVar55 >> 0x70,0),
- CONCAT212(SUB162(auVar55 >> 0x60,0),_uVar52)) >>0x60,0)
- ;
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(param_1 + 0x14310);
- auVar55 = psraw(CONCAT214(-SUB162(auVar53 >> 0x70,0),
- CONCAT212(-SUB162(auVar53 >> 0x60,0),
- CONCAT210(-SUB162(auVar53 >> 0x50,0),
- CONCAT28(-SUB162(auVar53 >> 0x40,0),
- CONCAT26(-SUB162(auVar53 >>
- 0x30,0),
- CONCAT24(-SUB162(
- auVar53 >> 0x20,0),
- CONCAT22(-SUB162(auVar53 >> 0x10,0),
- -SUB162(auVar53,0)))))))) |auVar53,0xf);
- auVar53 = psraw(auVar53 ^ auVar69,0xf);
- auVar55 = (auVar53 | auVar73) & auVar55;
- uVar52 = CONCAT22(SUB162(auVar55 >> 0x10,0) + SUB162(auVar54 >> 0x10,0),
- SUB162(auVar55,0) + SUB162(auVar54,0));
- _uVar52 = CONCAT26(SUB162(auVar55 >> 0x30,0) + SUB162(auVar54 >> 0x30,0),
- CONCAT24(SUB162(auVar55 >> 0x20,0) + SUB162(auVar54 >> 0x20,0),
- uVar52));
- _uVar52 = CONCAT210(SUB162(auVar54 >> 0x50,0),
- CONCAT28(SUB162(auVar54 >> 0x40,0),_uVar52));
- puVar15[4] = uVar52;
- puVar15[5] = (int)((ulonglong)_uVar52 >> 0x20);
- puVar15[6] = SUB124(_uVar52 >> 0x40,0);
- puVar15[7] = SUB164(CONCAT214(SUB162(auVar54 >> 0x70,0),
- CONCAT212(SUB162(auVar54 >> 0x60,0),_uVar52)) >>0x60,0)
- ;
- puVar15 = *(undefined4 **)(param_1 + 0x14360);
- /* WARNING: Load size is inaccurate */
- auVar58 = SUB1614(*(undefined *)(param_1 + 0x14300) >> 0x10,0);
- /* WARNING: Load size is inaccurate */
- auVar70 = SUB1614(*(undefined *)(param_1 + 0x14310) >> 0x10,0);
- }
- uVar5 = *(undefined2 *)(param_1 + 0x14310);
- *(undefined4 *)(param_1 + 0x14300) = SUB144(auVar58,0);
- *(undefined4 *)(param_1 + 0x14304) = SUB144(auVar58 >> 0x20,0);
- *(undefined4 *)(param_1 + 0x14308) = SUB144(auVar58 >> 0x40,0);
- *(uint *)(param_1 + 0x1430c) = SUB144(auVar58 >> 0x60,0);
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(param_1 + 0x14370);
- auVar58 = SUB1614(auVar53 >> 0x10,0);
- *(undefined4 *)(param_1 + 0x14310) = SUB144(auVar70,0);
- *(undefined4 *)(param_1 + 0x14314) = SUB144(auVar70 >> 0x20,0);
- *(undefined4 *)(param_1 + 0x14318) = SUB144(auVar70 >> 0x40,0);
- *(uint *)(param_1 + 0x1431c) = SUB144(auVar70 >> 0x60,0);
- /* WARNING: Load size is inaccurate */
- auVar70 = SUB1614(*(undefined *)(param_1 + 0x14380) >> 0x10,0);
- *(short *)(param_1 + 0x1431a) = *(short *)(param_1 + 0x1431a) - sVar12;
- *(short *)(param_1 + 0x1431e) = sVar12;
- *(undefined2 *)(param_1 + 0x1430e) = uVar5;
- puVar16 = *(undefined4 **)(param_1 + 0x143d0);
- *(longlong *)(param_1 + 0x14360) =
- ((ulonglong)(puVar15 == (undefined4 *)(param_1 + 0x14320)) + 1) * 0x20 + lVar14;
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(puVar16 + 4);
- /* WARNING: Load size is inaccurate */
- auVar55 = *(undefined *)puVar16;
- auVar65 = pmaddwd(*(undefined *)(param_1 + 0x14380),auVar54);
- auVar69 = pmaddwd(auVar53,auVar55);
- sVar12 = sVar17 - (short)(SUB164(auVar65,0) + SUB164(auVar69,0) +
- SUB164(auVar65 >> 0x20,0) + SUB164(auVar69 >> 0x20,0) +
- SUB164(auVar65 >> 0x40,0) + SUB164(auVar69 >> 0x40,0) + 0x200
- + SUB164(auVar65 >> 0x60,0) + SUB164(auVar69 >> 0x60,0) >>10)
- ;
- if (sVar12 != 0) {
- uVar52 = CONCAT22(sVar12,sVar12);
- auVar69 = CONCAT412(uVar52,CONCAT48(uVar52,CONCAT44(uVar52,uVar52)));
- auVar65 = psraw(CONCAT214(-SUB162(auVar53 >> 0x70,0),
- CONCAT212(-SUB162(auVar53 >> 0x60,0),
- CONCAT210(-SUB162(auVar53 >> 0x50,0),
- CONCAT28(-SUB162(auVar53 >> 0x40,0),
- CONCAT26(-SUB162(auVar53 >>
- 0x30,0),
- CONCAT24(-SUB162(
- auVar53 >> 0x20,0),
- CONCAT22(-SUB162(auVar53 >> 0x10,0),
- -SUB162(auVar53,0)))))))) |auVar53,0xf);
- auVar53 = psraw(auVar53 ^ auVar69,0xf);
- auVar65 = (auVar53 | (undefined [16])0x1000100010001) & auVar65;
- uVar52 = CONCAT22(SUB162(auVar55 >> 0x10,0) + SUB162(auVar65 >> 0x10,0),
- SUB162(auVar55,0) + SUB162(auVar65,0));
- _uVar52 = CONCAT26(SUB162(auVar55 >> 0x30,0) + SUB162(auVar65 >> 0x30,0),
- CONCAT24(SUB162(auVar55 >> 0x20,0) + SUB162(auVar65 >> 0x20,0),
- uVar52));
- _uVar52 = CONCAT210(SUB162(auVar55 >> 0x50,0),
- CONCAT28(SUB162(auVar55 >> 0x40,0),_uVar52));
- *puVar16 = uVar52;
- puVar16[1] = (int)((ulonglong)_uVar52 >> 0x20);
- puVar16[2] = SUB124(_uVar52 >> 0x40,0);
- puVar16[3] = SUB164(CONCAT214(SUB162(auVar55 >> 0x70,0),
- CONCAT212(SUB162(auVar55 >> 0x60,0),_uVar52)) >>0x60,0)
- ;
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(param_1 + 0x14380);
- auVar55 = psraw(CONCAT214(-SUB162(auVar53 >> 0x70,0),
- CONCAT212(-SUB162(auVar53 >> 0x60,0),
- CONCAT210(-SUB162(auVar53 >> 0x50,0),
- CONCAT28(-SUB162(auVar53 >> 0x40,0),
- CONCAT26(-SUB162(auVar53 >>
- 0x30,0),
- CONCAT24(-SUB162(
- auVar53 >> 0x20,0),
- CONCAT22(-SUB162(auVar53 >> 0x10,0),
- -SUB162(auVar53,0)))))))) |auVar53,0xf);
- auVar53 = psraw(auVar53 ^ auVar69,0xf);
- auVar55 = (auVar53 | (undefined [16])0x1000100010001) & auVar55;
- uVar52 = CONCAT22(SUB162(auVar55 >> 0x10,0) + SUB162(auVar54 >> 0x10,0),
- SUB162(auVar55,0) + SUB162(auVar54,0));
- _uVar52 = CONCAT26(SUB162(auVar55 >> 0x30,0) + SUB162(auVar54 >> 0x30,0),
- CONCAT24(SUB162(auVar55 >> 0x20,0) + SUB162(auVar54 >> 0x20,0),
- uVar52));
- _uVar52 = CONCAT210(SUB162(auVar54 >> 0x50,0),
- CONCAT28(SUB162(auVar54 >> 0x40,0),_uVar52));
- puVar16[4] = uVar52;
- puVar16[5] = (int)((ulonglong)_uVar52 >> 0x20);
- puVar16[6] = SUB124(_uVar52 >> 0x40,0);
- puVar16[7] = SUB164(CONCAT214(SUB162(auVar54 >> 0x70,0),
- CONCAT212(SUB162(auVar54 >> 0x60,0),_uVar52)) >>0x60,0)
- ;
- puVar16 = *(undefined4 **)(param_1 + 0x143d0);
- /* WARNING: Load size is inaccurate */
- auVar58 = SUB1614(*(undefined *)(param_1 + 0x14370) >> 0x10,0);
- /* WARNING: Load size is inaccurate */
- auVar70 = SUB1614(*(undefined *)(param_1 + 0x14380) >> 0x10,0);
- }
- uVar5 = *(undefined2 *)(param_1 + 0x14380);
- *(undefined4 *)(param_1 + 0x14370) = SUB144(auVar58,0);
- *(undefined4 *)(param_1 + 0x14374) = SUB144(auVar58 >> 0x20,0);
- *(undefined4 *)(param_1 + 0x14378) = SUB144(auVar58 >> 0x40,0);
- *(uint *)(param_1 + 0x1437c) = SUB144(auVar58 >> 0x60,0);
- *(undefined4 *)(param_1 + 0x14380) = SUB144(auVar70,0);
- *(undefined4 *)(param_1 + 0x14384) = SUB144(auVar70 >> 0x20,0);
- *(undefined4 *)(param_1 + 0x14388) = SUB144(auVar70 >> 0x40,0);
- *(uint *)(param_1 + 0x1438c) = SUB144(auVar70 >> 0x60,0);
- *(short *)(param_1 + 0x1438a) = *(short *)(param_1 + 0x1438a) - sVar17;
- *(short *)(param_1 + 0x1438e) = sVar17;
- *(undefined2 *)(param_1 + 0x1437e) = uVar5;
- *(longlong *)(param_1 + 0x143d0) =
- ((ulonglong)(puVar16 == (undefined4 *)(param_1 + 0x14390)) + 1) * 0x20 +
- param_1 + 0x14370;
- uVar13 = *(uint *)(param_1 + 0x14aa0) ^ 1;
- *(uint *)(param_1 + 0x14aa0) = uVar13;
- lVar21 = (longlong)(int)uVar13 * 0x50;
- puVar15 = *(undefined4 **)(param_1 + 0x14420 + lVar21);
- puVar35 = (undefined *)(param_1 + 0x143e0 + lVar21);
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)puVar35;
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(puVar15 + 4);
- /* WARNING: Load size is inaccurate */
- auVar55 = *(undefined *)puVar15;
- /* WARNING: Load size is inaccurate */
- auVar65 = pmaddwd(auVar54,*(undefined *)(puVar35 + 0x10));
- auVar69 = pmaddwd(auVar53,auVar55);
- sVar17 = sVar12 - (short)(SUB164(auVar65,0) + SUB164(auVar69,0) +
- SUB164(auVar65 >> 0x20,0) + SUB164(auVar69 >> 0x20,0) +
- SUB164(auVar65 >> 0x40,0) + SUB164(auVar69 >> 0x40,0) + 0x200
- + SUB164(auVar65 >> 0x60,0) + SUB164(auVar69 >> 0x60,0) >>10)
- ;
- if (sVar17 != 0) {
- uVar52 = CONCAT22(sVar17,sVar17);
- auVar69 = CONCAT412(uVar52,CONCAT48(uVar52,CONCAT44(uVar52,uVar52)));
- auVar65 = psraw(CONCAT214(-SUB162(auVar53 >> 0x70,0),
- CONCAT212(-SUB162(auVar53 >> 0x60,0),
- CONCAT210(-SUB162(auVar53 >> 0x50,0),
- CONCAT28(-SUB162(auVar53 >> 0x40,0),
- CONCAT26(-SUB162(auVar53 >>
- 0x30,0),
- CONCAT24(-SUB162(
- auVar53 >> 0x20,0),
- CONCAT22(-SUB162(auVar53 >> 0x10,0),
- -SUB162(auVar53,0)))))))) |auVar53,0xf);
- auVar53 = psraw(auVar53 ^ auVar69,0xf);
- auVar65 = (auVar53 | (undefined [16])0x1000100010001) & auVar65;
- uVar52 = CONCAT22(SUB162(auVar65 >> 0x10,0) + SUB162(auVar55 >> 0x10,0),
- SUB162(auVar65,0) + SUB162(auVar55,0));
- _uVar52 = CONCAT26(SUB162(auVar65 >> 0x30,0) + SUB162(auVar55 >> 0x30,0),
- CONCAT24(SUB162(auVar65 >> 0x20,0) + SUB162(auVar55 >> 0x20,0),
- uVar52));
- _uVar52 = CONCAT210(SUB162(auVar55 >> 0x50,0),
- CONCAT28(SUB162(auVar55 >> 0x40,0),_uVar52));
- *puVar15 = uVar52;
- puVar15[1] = (int)((ulonglong)_uVar52 >> 0x20);
- puVar15[2] = SUB124(_uVar52 >> 0x40,0);
- puVar15[3] = SUB164(CONCAT214(SUB162(auVar55 >> 0x70,0),
- CONCAT212(SUB162(auVar55 >> 0x60,0),_uVar52)) >>0x60,0)
- ;
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(puVar35 + 0x10);
- auVar55 = psraw(CONCAT214(-SUB162(auVar53 >> 0x70,0),
- CONCAT212(-SUB162(auVar53 >> 0x60,0),
- CONCAT210(-SUB162(auVar53 >> 0x50,0),
- CONCAT28(-SUB162(auVar53 >> 0x40,0),
- CONCAT26(-SUB162(auVar53 >>
- 0x30,0),
- CONCAT24(-SUB162(
- auVar53 >> 0x20,0),
- CONCAT22(-SUB162(auVar53 >> 0x10,0),
- -SUB162(auVar53,0)))))))) |auVar53,0xf);
- auVar53 = psraw(auVar53 ^ auVar69,0xf);
- auVar55 = (auVar53 | (undefined [16])0x1000100010001) & auVar55;
- uVar52 = CONCAT22(SUB162(auVar54 >> 0x10,0) + SUB162(auVar55 >> 0x10,0),
- SUB162(auVar54,0) + SUB162(auVar55,0));
- _uVar52 = CONCAT26(SUB162(auVar54 >> 0x30,0) + SUB162(auVar55 >> 0x30,0),
- CONCAT24(SUB162(auVar54 >> 0x20,0) + SUB162(auVar55 >> 0x20,0),
- uVar52));
- _uVar52 = CONCAT210(SUB162(auVar54 >> 0x50,0),
- CONCAT28(SUB162(auVar54 >> 0x40,0),_uVar52));
- puVar15[4] = uVar52;
- puVar15[5] = (int)((ulonglong)_uVar52 >> 0x20);
- puVar15[6] = SUB124(_uVar52 >> 0x40,0);
- puVar15[7] = SUB164(CONCAT214(SUB162(auVar54 >> 0x70,0),
- CONCAT212(SUB162(auVar54 >> 0x60,0),_uVar52)) >>0x60,0)
- ;
- }
- uVar5 = *(undefined2 *)(puVar35 + 0x10);
- psVar32 = psVar32 + 1;
- lVar21 = (longlong)(int)uVar13 * 0x50 + param_1;
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(lVar21 + 0x143e0);
- *(undefined4 *)(lVar21 + 0x143e0) = SUB164(auVar53 >> 0x10,0);
- *(undefined4 *)(lVar21 + 0x143e4) = SUB164(auVar53 >> 0x30,0);
- *(undefined4 *)(lVar21 + 0x143e8) = SUB164(auVar53 >> 0x50,0);
- *(uint *)(lVar21 + 0x143ec) = SUB164(auVar53 >> 0x70,0);
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(lVar21 + 0x143f0);
- *(undefined4 *)(lVar21 + 0x143f0) = SUB164(auVar53 >> 0x10,0);
- *(undefined4 *)(lVar21 + 0x143f4) = SUB164(auVar53 >> 0x30,0);
- *(undefined4 *)(lVar21 + 0x143f8) = SUB164(auVar53 >> 0x50,0);
- *(uint *)(lVar21 + 0x143fc) = SUB164(auVar53 >> 0x70,0);
- *(short *)(puVar35 + 0x1c) = *(short *)(puVar35 + 0x1c) - sVar12;
- *(undefined2 *)(puVar35 + 0xe) = uVar5;
- *(short *)(puVar35 + 0x1e) = sVar12;
- } while (psVar26 != psVar32);
- }
- *(int *)(param_1 + 0x14ab0) = uStack256 + 0x20;
- psVar32 = psVar26;
- do {
- uVar13 = *(uint *)(param_1 + 0x14aa0) ^ 1;
- *(uint *)(param_1 + 0x14aa0) = uVar13;
- lVar21 = (longlong)(int)uVar13;
- uVar11 = (ulonglong)*(uint *)(param_1 + 0x14780 + lVar21 * 0x310);
- uVar13 = *(uint *)(param_1 + 0x40);
- uVar52 = *(undefined4 *)(param_1 + 0x3c);
- *(uint *)(param_1 + 0x3c) = uVar13;
- *(undefined4 *)(param_1 + 0x40) = uVar52;
- if (uVar13 < 0x10000) {
- FUN_00417f00(plVar1);
- uVar13 = *(uint *)(param_1 + 0x3c);
- }
- sVar12 = ((ushort)uVar13 & 0x3fff) + 1;
- lVar23 = uVar11 * 0x30 + lVar21 * 0x310 + param_1;
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(lVar23 + 0x14480);
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(lVar23 + 0x14490);
- auVar53 = packsswb(CONCAT214(SUB162(auVar53 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar53 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar53 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar53 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar53
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar53 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar53 >> 0x10,0) -
- sVar12,SUB162(auVar53,0) -
- sVar12))))))),
- CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar54 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar54
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar54 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar54 >> 0x10,0) -
- sVar12,SUB162(auVar54,0) -
- sVar12))))))));
- uVar41 = pmovmskb((int)(lVar21 * 0x310),auVar53);
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(lVar23 + 0x144a0);
- auVar53 = packsswb(CONCAT214(SUB162(auVar53 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar53 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar53 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar53 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar53
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar53 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar53 >> 0x10,0) -
- sVar12,SUB162(auVar53,0) -
- sVar12))))))),
- (undefined [16])0x0);
- iVar8 = pmovmskb((int)lVar23,auVar53);
- uVar41 = iVar8 << 0x10 | uVar41;
- uVar43 = 0x1f;
- if (uVar41 != 0) {
- while (uVar41 >> uVar43 == 0) {
- uVar43 = uVar43 - 1;
- }
- }
- uVar41 = -(uVar43 ^ 0x1f) + 0x1f;
- uVar25 = (ulonglong)uVar41;
- lVar23 = lVar21 * 0x188 + uVar11 * 0x18;
- uVar50 = (uint)*(ushort *)(param_1 + 0x14300 + (lVar23 + 0xc0 + uVar25) * 2);
- *(int *)(param_1 + 0x3c) =
- (*(ushort *)
- (param_1 + 0x14300 + (lVar23 + 0xc0 + (ulonglong)(-(uVar43 ^ 0x1f) + 0x20)) * 2)-
- uVar50) * (uVar13 >> 0xe) + (uVar13 - uVar50 & 0x3fff);
- FUN_0041e3c0((undefined4 *)(lVar21 * 0x310 + 0x180 + uVar11 * 0x30 + lVar14),uVar41);
- iVar8 = 0;
- if (*(byte *)(DAT_004315c0 + uVar25) != 0) {
- uVar11 = FUN_00417f40(plVar1,(uint)*(byte *)(DAT_004315c0 + uVar25));
- iVar8 = (int)uVar11;
- }
- uVar43 = (iVar8 + (&DAT_004315f8)[uVar25]) - DAT_00431700;
- lVar23 = lVar21 * 0x310 + param_1;
- uVar13 = *(uint *)(lVar23 + 0x14780);
- if (uVar13 != 0) {
- uVar11 = FUN_00417f40(plVar1,uVar13);
- uVar43 = uVar43 << ((byte)*(undefined4 *)(lVar23 + 0x14780) & 0x1f) | (uint)uVar11;
- }
- lVar21 = lVar21 * 0x310 + param_1;
- iVar8 = *(int *)(lVar21 + 0x14780);
- uVar13 = (*(uint *)(lVar21 + 0x14784) - (*(uint *)(lVar21 + 0x14784) >> 3)) + uVar43;
- *(uint *)(lVar21 + 0x14784) = uVar13;
- uVar13 = uVar13 >> ((byte)iVar8 & 0x1f);
- if (uVar13 < 0x11) {
- if (uVar13 < 8) {
- *(int *)(lVar21 + 0x14780) = iVar8 - (iVar8 + 0x1fU >> 5);
- }
- }
- else {
- *(int *)(lVar21 + 0x14780) = iVar8 + 1;
- }
- iVar8 = *(int *)(param_1 + 0x14aa0);
- uVar13 = ~(uVar43 >> 1);
- if ((uVar43 & 1) == 0) {
- uVar13 = uVar43 >> 1;
- }
- lVar21 = (longlong)iVar8 * 0x50;
- puVar15 = *(undefined4 **)(param_1 + 0x14420 + lVar21);
- puVar35 = (undefined *)(param_1 + 0x143e0 + lVar21);
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)puVar35;
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(puVar15 + 4);
- /* WARNING: Load size is inaccurate */
- auVar55 = *(undefined *)puVar15;
- /* WARNING: Load size is inaccurate */
- auVar65 = pmaddwd(auVar54,*(undefined *)(puVar35 + 0x10));
- auVar69 = pmaddwd(auVar53,auVar55);
- uVar43 = (SUB164(auVar65,0) + SUB164(auVar69,0) +
- SUB164(auVar65 >> 0x20,0) + SUB164(auVar69 >> 0x20,0) +
- SUB164(auVar65 >> 0x40,0) + SUB164(auVar69 >> 0x40,0) + 0x200 +
- SUB164(auVar65 >> 0x60,0) + SUB164(auVar69 >> 0x60,0) >> 10) + uVar13;
- if ((short)uVar13 != 0) {
- uVar13 = uVar13 & 0xffff | uVar13 << 0x10;
- auVar69 = CONCAT412(uVar13,CONCAT48(uVar13,CONCAT44(uVar13,uVar13)));
- auVar65 = psraw(CONCAT214(-SUB162(auVar53 >> 0x70,0),
- CONCAT212(-SUB162(auVar53 >> 0x60,0),
- CONCAT210(-SUB162(auVar53 >> 0x50,0),
- CONCAT28(-SUB162(auVar53 >> 0x40,0),
- CONCAT26(-SUB162(auVar53 >>0x30,
- 0),
- CONCAT24(-SUB162(auVar53
- >> 0x20
- ,0),CONCAT22(-SUB162(auVar53 >> 0x10,0),
- -SUB162(auVar53,0)))))))) | auVar53,
- 0xf);
- auVar53 = psraw(auVar53 ^ auVar69,0xf);
- auVar65 = (auVar53 | auVar68) & auVar65;
- uVar52 = CONCAT22(SUB162(auVar65 >> 0x10,0) + SUB162(auVar55 >> 0x10,0),
- SUB162(auVar65,0) + SUB162(auVar55,0));
- _uVar52 = CONCAT26(SUB162(auVar65 >> 0x30,0) + SUB162(auVar55 >> 0x30,0),
- CONCAT24(SUB162(auVar65 >> 0x20,0) + SUB162(auVar55 >>0x20,0),uVar52
- ));
- _uVar52 = CONCAT210(SUB162(auVar55 >> 0x50,0),
- CONCAT28(SUB162(auVar55 >> 0x40,0),_uVar52));
- *puVar15 = uVar52;
- puVar15[1] = (int)((ulonglong)_uVar52 >> 0x20);
- puVar15[2] = SUB124(_uVar52 >> 0x40,0);
- puVar15[3] = SUB164(CONCAT214(SUB162(auVar55 >> 0x70,0),
- CONCAT212(SUB162(auVar55 >> 0x60,0),_uVar52)) >> 0x60,0);
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(puVar35 + 0x10);
- auVar55 = psraw(CONCAT214(-SUB162(auVar53 >> 0x70,0),
- CONCAT212(-SUB162(auVar53 >> 0x60,0),
- CONCAT210(-SUB162(auVar53 >> 0x50,0),
- CONCAT28(-SUB162(auVar53 >> 0x40,0),
- CONCAT26(-SUB162(auVar53 >>0x30,
- 0),
- CONCAT24(-SUB162(auVar53
- >> 0x20
- ,0),CONCAT22(-SUB162(auVar53 >> 0x10,0),
- -SUB162(auVar53,0)))))))) | auVar53,
- 0xf);
- auVar53 = psraw(auVar53 ^ auVar69,0xf);
- auVar55 = (auVar53 | auVar68) & auVar55;
- uVar52 = CONCAT22(SUB162(auVar55 >> 0x10,0) + SUB162(auVar54 >> 0x10,0),
- SUB162(auVar55,0) + SUB162(auVar54,0));
- _uVar52 = CONCAT26(SUB162(auVar55 >> 0x30,0) + SUB162(auVar54 >> 0x30,0),
- CONCAT24(SUB162(auVar55 >> 0x20,0) + SUB162(auVar54 >>0x20,0),uVar52
- ));
- _uVar52 = CONCAT210(SUB162(auVar54 >> 0x50,0),
- CONCAT28(SUB162(auVar54 >> 0x40,0),_uVar52));
- puVar15[4] = uVar52;
- puVar15[5] = (int)((ulonglong)_uVar52 >> 0x20);
- puVar15[6] = SUB124(_uVar52 >> 0x40,0);
- puVar15[7] = SUB164(CONCAT214(SUB162(auVar54 >> 0x70,0),
- CONCAT212(SUB162(auVar54 >> 0x60,0),_uVar52)) >> 0x60,0);
- }
- uVar5 = *(undefined2 *)(puVar35 + 0x10);
- lVar21 = (longlong)iVar8 * 0x50 + param_1;
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(lVar21 + 0x143e0);
- *(undefined4 *)(lVar21 + 0x143e0) = SUB164(auVar53 >> 0x10,0);
- *(undefined4 *)(lVar21 + 0x143e4) = SUB164(auVar53 >> 0x30,0);
- *(undefined4 *)(lVar21 + 0x143e8) = SUB164(auVar53 >> 0x50,0);
- *(uint *)(lVar21 + 0x143ec) = SUB164(auVar53 >> 0x70,0);
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(lVar21 + 0x143f0);
- *(undefined4 *)(lVar21 + 0x143f0) = SUB164(auVar53 >> 0x10,0);
- *(undefined4 *)(lVar21 + 0x143f4) = SUB164(auVar53 >> 0x30,0);
- *(undefined4 *)(lVar21 + 0x143f8) = SUB164(auVar53 >> 0x50,0);
- *(uint *)(lVar21 + 0x143fc) = SUB164(auVar53 >> 0x70,0);
- puVar15 = *(undefined4 **)(param_1 + 0x143d0);
- sVar12 = (short)uVar43;
- *(short *)(puVar35 + 0x1c) = *(short *)(puVar35 + 0x1c) - sVar12;
- *(undefined2 *)(puVar35 + 0xe) = uVar5;
- *(short *)(puVar35 + 0x1e) = sVar12;
- /* WARNING: Load size is inaccurate */
- auVar70 = SUB1614(*(undefined *)(param_1 + 0x14380) >> 0x10,0);
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(param_1 + 0x14370);
- auVar58 = SUB1614(auVar53 >> 0x10,0);
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(puVar15 + 4);
- /* WARNING: Load size is inaccurate */
- auVar55 = *(undefined *)puVar15;
- auVar65 = pmaddwd(*(undefined *)(param_1 + 0x14380),auVar54);
- auVar69 = pmaddwd(auVar53,auVar55);
- uVar13 = (SUB164(auVar65,0) + SUB164(auVar69,0) +
- SUB164(auVar65 >> 0x20,0) + SUB164(auVar69 >> 0x20,0) +
- SUB164(auVar65 >> 0x40,0) + SUB164(auVar69 >> 0x40,0) + 0x200 +
- SUB164(auVar65 >> 0x60,0) + SUB164(auVar69 >> 0x60,0) >> 10) + uVar43;
- if (sVar12 != 0) {
- uVar43 = uVar43 & 0xffff | uVar43 * 0x10000;
- auVar65 = CONCAT412(uVar43,CONCAT48(uVar43,CONCAT44(uVar43,uVar43)));
- auVar69 = psraw(CONCAT214(-SUB162(auVar53 >> 0x70,0),
- CONCAT212(-SUB162(auVar53 >> 0x60,0),
- CONCAT210(-SUB162(auVar53 >> 0x50,0),
- CONCAT28(-SUB162(auVar53 >> 0x40,0),
- CONCAT26(-SUB162(auVar53 >>0x30,
- 0),
- CONCAT24(-SUB162(auVar53
- >> 0x20
- ,0),CONCAT22(-SUB162(auVar53 >> 0x10,0),
- -SUB162(auVar53,0)))))))) | auVar53,
- 0xf);
- auVar53 = psraw(auVar53 ^ auVar65,0xf);
- auVar69 = (auVar53 | auVar72) & auVar69;
- uVar52 = CONCAT22(SUB162(auVar55 >> 0x10,0) + SUB162(auVar69 >> 0x10,0),
- SUB162(auVar55,0) + SUB162(auVar69,0));
- _uVar52 = CONCAT26(SUB162(auVar55 >> 0x30,0) + SUB162(auVar69 >> 0x30,0),
- CONCAT24(SUB162(auVar55 >> 0x20,0) + SUB162(auVar69 >>0x20,0),uVar52
- ));
- _uVar52 = CONCAT210(SUB162(auVar55 >> 0x50,0),
- CONCAT28(SUB162(auVar55 >> 0x40,0),_uVar52));
- *puVar15 = uVar52;
- puVar15[1] = (int)((ulonglong)_uVar52 >> 0x20);
- puVar15[2] = SUB124(_uVar52 >> 0x40,0);
- puVar15[3] = SUB164(CONCAT214(SUB162(auVar55 >> 0x70,0),
- CONCAT212(SUB162(auVar55 >> 0x60,0),_uVar52)) >> 0x60,0);
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(param_1 + 0x14380);
- auVar55 = psraw(CONCAT214(-SUB162(auVar53 >> 0x70,0),
- CONCAT212(-SUB162(auVar53 >> 0x60,0),
- CONCAT210(-SUB162(auVar53 >> 0x50,0),
- CONCAT28(-SUB162(auVar53 >> 0x40,0),
- CONCAT26(-SUB162(auVar53 >>0x30,
- 0),
- CONCAT24(-SUB162(auVar53
- >> 0x20
- ,0),CONCAT22(-SUB162(auVar53 >> 0x10,0),
- -SUB162(auVar53,0)))))))) | auVar53,
- 0xf);
- auVar53 = psraw(auVar53 ^ auVar65,0xf);
- auVar55 = (auVar53 | auVar72) & auVar55;
- uVar52 = CONCAT22(SUB162(auVar55 >> 0x10,0) + SUB162(auVar54 >> 0x10,0),
- SUB162(auVar55,0) + SUB162(auVar54,0));
- _uVar52 = CONCAT26(SUB162(auVar55 >> 0x30,0) + SUB162(auVar54 >> 0x30,0),
- CONCAT24(SUB162(auVar55 >> 0x20,0) + SUB162(auVar54 >>0x20,0),uVar52
- ));
- _uVar52 = CONCAT210(SUB162(auVar54 >> 0x50,0),
- CONCAT28(SUB162(auVar54 >> 0x40,0),_uVar52));
- puVar15[4] = uVar52;
- puVar15[5] = (int)((ulonglong)_uVar52 >> 0x20);
- puVar15[6] = SUB124(_uVar52 >> 0x40,0);
- puVar15[7] = SUB164(CONCAT214(SUB162(auVar54 >> 0x70,0),
- CONCAT212(SUB162(auVar54 >> 0x60,0),_uVar52)) >> 0x60,0);
- puVar15 = *(undefined4 **)(param_1 + 0x143d0);
- /* WARNING: Load size is inaccurate */
- auVar58 = SUB1614(*(undefined *)(param_1 + 0x14370) >> 0x10,0);
- /* WARNING: Load size is inaccurate */
- auVar70 = SUB1614(*(undefined *)(param_1 + 0x14380) >> 0x10,0);
- }
- uVar5 = *(undefined2 *)(param_1 + 0x14380);
- *(undefined4 *)(param_1 + 0x14370) = SUB144(auVar58,0);
- *(undefined4 *)(param_1 + 0x14374) = SUB144(auVar58 >> 0x20,0);
- *(undefined4 *)(param_1 + 0x14378) = SUB144(auVar58 >> 0x40,0);
- *(uint *)(param_1 + 0x1437c) = SUB144(auVar58 >> 0x60,0);
- /* WARNING: Load size is inaccurate */
- auVar58 = SUB1614(*(undefined *)(param_1 + 0x14310) >> 0x10,0);
- *(undefined4 *)(param_1 + 0x14380) = SUB144(auVar70,0);
- *(undefined4 *)(param_1 + 0x14384) = SUB144(auVar70 >> 0x20,0);
- *(undefined4 *)(param_1 + 0x14388) = SUB144(auVar70 >> 0x40,0);
- *(uint *)(param_1 + 0x1438c) = SUB144(auVar70 >> 0x60,0);
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(param_1 + 0x14300);
- auVar70 = SUB1614(auVar53 >> 0x10,0);
- sVar12 = (short)uVar13;
- *(short *)(param_1 + 0x1438a) = *(short *)(param_1 + 0x1438a) - sVar12;
- *(short *)(param_1 + 0x1438e) = sVar12;
- *(undefined2 *)(param_1 + 0x1437e) = uVar5;
- puVar16 = *(undefined4 **)(param_1 + 0x14360);
- *(longlong *)(param_1 + 0x143d0) =
- ((ulonglong)(puVar15 == (undefined4 *)(param_1 + 0x14390)) + 1) * 0x20 +
- param_1 + 0x14370;
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(puVar16 + 4);
- /* WARNING: Load size is inaccurate */
- auVar55 = *(undefined *)puVar16;
- auVar65 = pmaddwd(*(undefined *)(param_1 + 0x14310),auVar54);
- auVar69 = pmaddwd(auVar53,auVar55);
- sVar17 = (short)(SUB164(auVar65,0) + SUB164(auVar69,0) +
- SUB164(auVar65 >> 0x20,0) + SUB164(auVar69 >> 0x20,0) +
- SUB164(auVar65 >> 0x40,0) + SUB164(auVar69 >> 0x40,0) + 0x800 +
- SUB164(auVar65 >> 0x60,0) + SUB164(auVar69 >> 0x60,0) >> 0xc) + sVar12;
- if (sVar12 != 0) {
- uVar13 = uVar13 & 0xffff | uVar13 * 0x10000;
- auVar65 = CONCAT412(uVar13,CONCAT48(uVar13,CONCAT44(uVar13,uVar13)));
- auVar69 = psraw(CONCAT214(-SUB162(auVar53 >> 0x70,0),
- CONCAT212(-SUB162(auVar53 >> 0x60,0),
- CONCAT210(-SUB162(auVar53 >> 0x50,0),
- CONCAT28(-SUB162(auVar53 >> 0x40,0),
- CONCAT26(-SUB162(auVar53 >>0x30,
- 0),
- CONCAT24(-SUB162(auVar53
- >> 0x20
- ,0),CONCAT22(-SUB162(auVar53 >> 0x10,0),
- -SUB162(auVar53,0)))))))) | auVar53,
- 0xf);
- auVar53 = psraw(auVar53 ^ auVar65,0xf);
- auVar69 = (auVar53 | auVar71) & auVar69;
- uVar52 = CONCAT22(SUB162(auVar55 >> 0x10,0) + SUB162(auVar69 >> 0x10,0),
- SUB162(auVar55,0) + SUB162(auVar69,0));
- _uVar52 = CONCAT26(SUB162(auVar55 >> 0x30,0) + SUB162(auVar69 >> 0x30,0),
- CONCAT24(SUB162(auVar55 >> 0x20,0) + SUB162(auVar69 >>0x20,0),uVar52
- ));
- _uVar52 = CONCAT210(SUB162(auVar55 >> 0x50,0),
- CONCAT28(SUB162(auVar55 >> 0x40,0),_uVar52));
- *puVar16 = uVar52;
- puVar16[1] = (int)((ulonglong)_uVar52 >> 0x20);
- puVar16[2] = SUB124(_uVar52 >> 0x40,0);
- puVar16[3] = SUB164(CONCAT214(SUB162(auVar55 >> 0x70,0),
- CONCAT212(SUB162(auVar55 >> 0x60,0),_uVar52)) >> 0x60,0);
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(param_1 + 0x14310);
- auVar55 = psraw(CONCAT214(-SUB162(auVar53 >> 0x70,0),
- CONCAT212(-SUB162(auVar53 >> 0x60,0),
- CONCAT210(-SUB162(auVar53 >> 0x50,0),
- CONCAT28(-SUB162(auVar53 >> 0x40,0),
- CONCAT26(-SUB162(auVar53 >>0x30,
- 0),
- CONCAT24(-SUB162(auVar53
- >> 0x20
- ,0),CONCAT22(-SUB162(auVar53 >> 0x10,0),
- -SUB162(auVar53,0)))))))) | auVar53,
- 0xf);
- auVar53 = psraw(auVar53 ^ auVar65,0xf);
- auVar55 = (auVar53 | auVar71) & auVar55;
- uVar52 = CONCAT22(SUB162(auVar54 >> 0x10,0) + SUB162(auVar55 >> 0x10,0),
- SUB162(auVar54,0) + SUB162(auVar55,0));
- _uVar52 = CONCAT26(SUB162(auVar54 >> 0x30,0) + SUB162(auVar55 >> 0x30,0),
- CONCAT24(SUB162(auVar54 >> 0x20,0) + SUB162(auVar55 >>0x20,0),uVar52
- ));
- _uVar52 = CONCAT210(SUB162(auVar54 >> 0x50,0),
- CONCAT28(SUB162(auVar54 >> 0x40,0),_uVar52));
- puVar16[4] = uVar52;
- puVar16[5] = (int)((ulonglong)_uVar52 >> 0x20);
- puVar16[6] = SUB124(_uVar52 >> 0x40,0);
- puVar16[7] = SUB164(CONCAT214(SUB162(auVar54 >> 0x70,0),
- CONCAT212(SUB162(auVar54 >> 0x60,0),_uVar52)) >> 0x60,0);
- puVar16 = *(undefined4 **)(param_1 + 0x14360);
- /* WARNING: Load size is inaccurate */
- auVar70 = SUB1614(*(undefined *)(param_1 + 0x14300) >> 0x10,0);
- /* WARNING: Load size is inaccurate */
- auVar58 = SUB1614(*(undefined *)(param_1 + 0x14310) >> 0x10,0);
- }
- uVar5 = *(undefined2 *)(param_1 + 0x14310);
- *(undefined4 *)(param_1 + 0x14300) = SUB144(auVar70,0);
- *(undefined4 *)(param_1 + 0x14304) = SUB144(auVar70 >> 0x20,0);
- *(undefined4 *)(param_1 + 0x14308) = SUB144(auVar70 >> 0x40,0);
- *(uint *)(param_1 + 0x1430c) = SUB144(auVar70 >> 0x60,0);
- *(undefined4 *)(param_1 + 0x14310) = SUB144(auVar58,0);
- *(undefined4 *)(param_1 + 0x14314) = SUB144(auVar58 >> 0x20,0);
- *(undefined4 *)(param_1 + 0x14318) = SUB144(auVar58 >> 0x40,0);
- *(uint *)(param_1 + 0x1431c) = SUB144(auVar58 >> 0x60,0);
- *(short *)(param_1 + 0x1431a) = *(short *)(param_1 + 0x1431a) - sVar17;
- *(short *)(param_1 + 0x1431e) = sVar17;
- *(undefined2 *)(param_1 + 0x1430e) = uVar5;
- psVar34 = psVar32 + 1;
- *(longlong *)(param_1 + 0x14360) =
- ((ulonglong)(puVar16 == (undefined4 *)(param_1 + 0x14320)) + 1) * 0x20 + lVar14;
- *psVar32 = sVar17;
- psVar32 = psVar34;
- } while (psVar26 + 0x10 != psVar34);
- goto LAB_00407f20;
- case -0x11:
- pbVar48 = (byte *)((ulonglong)(uStack256 - *(int *)(param_1 + 0x74)) +
- *(longlong *)(param_1 + 0x58));
- if (*(uint *)(param_1 + 0x14f00) != uStack256) {
- uVar13 = uStack256 - *(uint *)(param_1 + 0x14f00);
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(param_1 + 0x14ac0);
- if (0x100 < uVar13) {
- uVar13 = 0x100;
- }
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(param_1 + 0x14ad0);
- pbVar39 = pbVar48 + (longlong)(int)-uVar13;
- do {
- bVar49 = *pbVar39;
- pbVar39 = pbVar39 + 1;
- uVar11 = (ulonglong)(bVar49 >> 4);
- puVar35 = (undefined *)((ulonglong)((uint)bVar49 & 0xf) * 0x40 + lVar14);
- lVar21 = uVar11 * 0x20 + param_1;
- puVar46 = (undefined *)(uVar11 * 0x40 + lVar14);
- /* WARNING: Load size is inaccurate */
- auVar55 = *(undefined *)puVar46;
- sVar12 = SUB162(auVar53 >> 0x10,0);
- sVar17 = SUB162(auVar53 >> 0x20,0);
- sVar57 = SUB162(auVar53 >> 0x30,0);
- sVar59 = SUB162(auVar53 >> 0x40,0);
- sVar60 = SUB162(auVar53 >> 0x50,0);
- sVar61 = SUB162(auVar53 >> 0x60,0);
- sVar62 = SUB162(auVar53 >> 0x70,0);
- auVar55 = psraw(CONCAT214(SUB162(auVar55 >> 0x70,0) - sVar62,
- CONCAT212(SUB162(auVar55 >> 0x60,0) - sVar61,
- CONCAT210(SUB162(auVar55 >> 0x50,0) - sVar60,
- CONCAT28(SUB162(auVar55 >> 0x40,0) -
- sVar59,CONCAT26(SUB162(auVar55>>
- 0x30,0) -
- sVar57,CONCAT24(
- SUB162(auVar55 >> 0x20,0) - sVar17,
- CONCAT22(SUB162(auVar55 >> 0x10,0) - sVar12,
- SUB162(auVar55,0) -SUB162(auVar53,0)))))
- ))),7);
- uVar52 = CONCAT22(SUB162(auVar55 >> 0x10,0) + sVar12,
- SUB162(auVar55,0) + SUB162(auVar53,0));
- _uVar52 = CONCAT26(SUB162(auVar55 >> 0x30,0) + sVar57,
- CONCAT24(SUB162(auVar55 >> 0x20,0) + sVar17,uVar52));
- _uVar52 = CONCAT210(SUB162(auVar55 >> 0x50,0) + sVar60,
- CONCAT28(SUB162(auVar55 >> 0x40,0) + sVar59,_uVar52));
- auVar53 = CONCAT214(SUB162(auVar55 >> 0x70,0) + sVar62,
- CONCAT212(SUB162(auVar55 >> 0x60,0) + sVar61,_uVar52));
- *(undefined4 *)(param_1 + 0x14ac0) = uVar52;
- *(undefined4 *)(param_1 + 0x14ac4) = (int)((ulonglong)_uVar52 >> 0x20);
- *(undefined4 *)(param_1 + 0x14ac8) = SUB124(_uVar52 >> 0x40,0);
- *(undefined4 *)(param_1 + 0x14acc) = SUB164(auVar53 >> 0x60,0);
- /* WARNING: Load size is inaccurate */
- auVar55 = *(undefined *)(puVar46 + 0x10);
- sVar12 = SUB162(auVar54 >> 0x10,0);
- sVar17 = SUB162(auVar54 >> 0x20,0);
- sVar57 = SUB162(auVar54 >> 0x30,0);
- sVar59 = SUB162(auVar54 >> 0x40,0);
- sVar60 = SUB162(auVar54 >> 0x50,0);
- sVar61 = SUB162(auVar54 >> 0x60,0);
- sVar62 = SUB162(auVar54 >> 0x70,0);
- auVar55 = psraw(CONCAT214(SUB162(auVar55 >> 0x70,0) - sVar62,
- CONCAT212(SUB162(auVar55 >> 0x60,0) - sVar61,
- CONCAT210(SUB162(auVar55 >> 0x50,0) - sVar60,
- CONCAT28(SUB162(auVar55 >> 0x40,0) -
- sVar59,CONCAT26(SUB162(auVar55>>
- 0x30,0) -
- sVar57,CONCAT24(
- SUB162(auVar55 >> 0x20,0) - sVar17,
- CONCAT22(SUB162(auVar55 >> 0x10,0) - sVar12,
- SUB162(auVar55,0) -SUB162(auVar54,0)))))
- ))),7);
- uVar52 = CONCAT22(SUB162(auVar55 >> 0x10,0) + sVar12,
- SUB162(auVar55,0) + SUB162(auVar54,0));
- _uVar52 = CONCAT26(SUB162(auVar55 >> 0x30,0) + sVar57,
- CONCAT24(SUB162(auVar55 >> 0x20,0) + sVar17,uVar52));
- _uVar52 = CONCAT210(SUB162(auVar55 >> 0x50,0) + sVar60,
- CONCAT28(SUB162(auVar55 >> 0x40,0) + sVar59,_uVar52));
- auVar54 = CONCAT214(SUB162(auVar55 >> 0x70,0) + sVar62,
- CONCAT212(SUB162(auVar55 >> 0x60,0) + sVar61,_uVar52));
- *(undefined4 *)(param_1 + 0x14ad0) = uVar52;
- *(undefined4 *)(param_1 + 0x14ad4) = (int)((ulonglong)_uVar52 >> 0x20);
- *(undefined4 *)(param_1 + 0x14ad8) = SUB124(_uVar52 >> 0x40,0);
- *(undefined4 *)(param_1 + 0x14adc) = SUB164(auVar54 >> 0x60,0);
- /* WARNING: Load size is inaccurate */
- auVar55 = *(undefined *)puVar35;
- /* WARNING: Load size is inaccurate */
- auVar65 = *(undefined *)(lVar21 + 0x14ae0);
- sVar12 = SUB162(auVar65 >> 0x10,0);
- sVar17 = SUB162(auVar65 >> 0x20,0);
- sVar57 = SUB162(auVar65 >> 0x30,0);
- sVar59 = SUB162(auVar65 >> 0x40,0);
- sVar60 = SUB162(auVar65 >> 0x50,0);
- sVar61 = SUB162(auVar65 >> 0x60,0);
- sVar62 = SUB162(auVar65 >> 0x70,0);
- auVar55 = psraw(CONCAT214(SUB162(auVar55 >> 0x70,0) - sVar62,
- CONCAT212(SUB162(auVar55 >> 0x60,0) - sVar61,
- CONCAT210(SUB162(auVar55 >> 0x50,0) - sVar60,
- CONCAT28(SUB162(auVar55 >> 0x40,0) -
- sVar59,CONCAT26(SUB162(auVar55>>
- 0x30,0) -
- sVar57,CONCAT24(
- SUB162(auVar55 >> 0x20,0) - sVar17,
- CONCAT22(SUB162(auVar55 >> 0x10,0) - sVar12,
- SUB162(auVar55,0) -SUB162(auVar65,0)))))
- ))),7);
- uVar52 = CONCAT22(sVar12 + SUB162(auVar55 >> 0x10,0),
- SUB162(auVar65,0) + SUB162(auVar55,0));
- _uVar52 = CONCAT26(sVar57 + SUB162(auVar55 >> 0x30,0),
- CONCAT24(sVar17 + SUB162(auVar55 >> 0x20,0),uVar52));
- _uVar52 = CONCAT210(sVar60 + SUB162(auVar55 >> 0x50,0),
- CONCAT28(sVar59 + SUB162(auVar55 >> 0x40,0),_uVar52));
- *(undefined4 *)(lVar21 + 0x14ae0) = uVar52;
- *(undefined4 *)(lVar21 + 0x14ae4) = (int)((ulonglong)_uVar52 >> 0x20);
- *(undefined4 *)(lVar21 + 0x14ae8) = SUB124(_uVar52 >> 0x40,0);
- *(undefined4 *)(lVar21 + 0x14aec) =
- SUB164(CONCAT214(sVar62 + SUB162(auVar55 >> 0x70,0),
- CONCAT212(sVar61 + SUB162(auVar55 >> 0x60,0),_uVar52)) >>0x60,0);
- /* WARNING: Load size is inaccurate */
- auVar55 = *(undefined *)(lVar21 + 0x14af0);
- /* WARNING: Load size is inaccurate */
- auVar65 = *(undefined *)(puVar35 + 0x10);
- sVar12 = SUB162(auVar55 >> 0x10,0);
- sVar17 = SUB162(auVar55 >> 0x20,0);
- sVar57 = SUB162(auVar55 >> 0x30,0);
- sVar59 = SUB162(auVar55 >> 0x40,0);
- sVar60 = SUB162(auVar55 >> 0x50,0);
- sVar61 = SUB162(auVar55 >> 0x60,0);
- sVar62 = SUB162(auVar55 >> 0x70,0);
- auVar65 = psraw(CONCAT214(SUB162(auVar65 >> 0x70,0) - sVar62,
- CONCAT212(SUB162(auVar65 >> 0x60,0) - sVar61,
- CONCAT210(SUB162(auVar65 >> 0x50,0) - sVar60,
- CONCAT28(SUB162(auVar65 >> 0x40,0) -
- sVar59,CONCAT26(SUB162(auVar65>>
- 0x30,0) -
- sVar57,CONCAT24(
- SUB162(auVar65 >> 0x20,0) - sVar17,
- CONCAT22(SUB162(auVar65 >> 0x10,0) - sVar12,
- SUB162(auVar65,0) -SUB162(auVar55,0)))))
- ))),7);
- uVar52 = CONCAT22(sVar12 + SUB162(auVar65 >> 0x10,0),
- SUB162(auVar55,0) + SUB162(auVar65,0));
- _uVar52 = CONCAT26(sVar57 + SUB162(auVar65 >> 0x30,0),
- CONCAT24(sVar17 + SUB162(auVar65 >> 0x20,0),uVar52));
- _uVar52 = CONCAT210(sVar60 + SUB162(auVar65 >> 0x50,0),
- CONCAT28(sVar59 + SUB162(auVar65 >> 0x40,0),_uVar52));
- *(undefined4 *)(lVar21 + 0x14af0) = uVar52;
- *(undefined4 *)(lVar21 + 0x14af4) = (int)((ulonglong)_uVar52 >> 0x20);
- *(undefined4 *)(lVar21 + 0x14af8) = SUB124(_uVar52 >> 0x40,0);
- *(undefined4 *)(lVar21 + 0x14afc) =
- SUB164(CONCAT214(sVar62 + SUB162(auVar65 >> 0x70,0),
- CONCAT212(sVar61 + SUB162(auVar65 >> 0x60,0),_uVar52)) >>0x60,0);
- } while (pbVar48 + (ulonglong)(uVar13 - 1) + (longlong)(int)-uVar13 + 1 != pbVar39);
- }
- *(int *)(param_1 + 0x14f00) = uStack256 + 0x20;
- pbVar39 = pbVar48;
- do {
- uVar13 = *(uint *)(param_1 + 0x40);
- uVar52 = *(undefined4 *)(param_1 + 0x3c);
- *(uint *)(param_1 + 0x3c) = uVar13;
- *(undefined4 *)(param_1 + 0x40) = uVar52;
- if (uVar13 < 0x10000) {
- FUN_00417f00(plVar1);
- uVar13 = *(uint *)(param_1 + 0x3c);
- }
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(param_1 + 0x14ac0);
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(param_1 + 0x14ad0);
- iVar8 = (uVar13 & 0x3fff) + 1;
- sVar12 = (short)iVar8;
- auVar53 = packsswb(CONCAT214(SUB162(auVar53 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar53 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar53 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar53 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar53
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar53 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar53 >> 0x10,0) -
- sVar12,SUB162(auVar53,0) -
- sVar12))))))),
- CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar54 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar54
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar54 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar54 >> 0x10,0) -
- sVar12,SUB162(auVar54,0) -
- sVar12))))))));
- uVar41 = pmovmskb(iVar8,auVar53);
- uVar43 = 0x1f;
- if (uVar41 != 0) {
- while (uVar41 >> uVar43 == 0) {
- uVar43 = uVar43 - 1;
- }
- }
- uVar50 = -(uVar43 ^ 0x1f) + 0x1f;
- uVar11 = (ulonglong)uVar50;
- uVar41 = (uint)*(ushort *)(param_1 + 0x14ac0 + uVar11 * 2);
- *(int *)(param_1 + 0x3c) =
- (uVar13 - uVar41 & 0x3fff) +
- (*(ushort *)(param_1 + 0x14ac0 + (ulonglong)(-(uVar43 ^ 0x1f) + 0x20 & 0xf) * 2) -
- uVar41 & 0x3fff) * (uVar13 >> 0xe);
- FUN_00421ad0((undefined4 *)(param_1 + 0x14ac0),uVar50);
- uVar13 = *(uint *)(param_1 + 0x40);
- uVar52 = *(undefined4 *)(param_1 + 0x3c);
- *(uint *)(param_1 + 0x3c) = uVar13;
- *(undefined4 *)(param_1 + 0x40) = uVar52;
- if (uVar13 < 0x10000) {
- FUN_00417f00(plVar1);
- uVar13 = *(uint *)(param_1 + 0x3c);
- }
- pbVar36 = pbVar39 + 1;
- sVar12 = ((ushort)uVar13 & 0x3fff) + 1;
- /* WARNING: Load size is inaccurate */
- auVar53 = *(undefined *)(param_1 + 0x14ac0 + (uVar11 + 1) * 0x20);
- /* WARNING: Load size is inaccurate */
- auVar54 = *(undefined *)(param_1 + 0x14af0 + uVar11 * 0x20);
- auVar53 = packsswb(CONCAT214(SUB162(auVar53 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar53 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar53 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar53 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar53
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar53 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar53 >> 0x10,0) -
- sVar12,SUB162(auVar53,0) -
- sVar12))))))),
- CONCAT214(SUB162(auVar54 >> 0x70,0) - sVar12,
- CONCAT212(SUB162(auVar54 >> 0x60,0) - sVar12,
- CONCAT210(SUB162(auVar54 >> 0x50,0) - sVar12,
- CONCAT28(SUB162(auVar54 >> 0x40,0) -
- sVar12,CONCAT26(SUB162(auVar54
- >> 0x30,0) - sVar12,
- CONCAT24(SUB162(auVar54 >> 0x20,0) - sVar12,
- CONCAT22(SUB162(auVar54 >> 0x10,0) -
- sVar12,SUB162(auVar54,0) -
- sVar12))))))));
- uVar41 = pmovmskb((int)(uVar11 * 0x20),auVar53);
- uVar43 = 0x1f;
- if (uVar41 != 0) {
- while (uVar41 >> uVar43 == 0) {
- uVar43 = uVar43 - 1;
- }
- }
- uVar24 = -(uVar43 ^ 0x1f) + 0x1f;
- uVar41 = (uint)*(ushort *)
- (param_1 + 0x14ac0 + ((ulonglong)uVar24 + 0x10 + uVar11 * 0x10) * 2);
- *(int *)(param_1 + 0x3c) =
- (uVar13 - uVar41 & 0x3fff) +
- (*(ushort *)
- (param_1 + 0x14ac0 +
- (uVar11 * 0x10 + 0x10 + (ulonglong)(-(uVar43 ^ 0x1f) + 0x20 & 0xf)) * 2) -uVar41 &
- 0x3fff) * (uVar13 >> 0xe);
- FUN_00421ad0((undefined4 *)(param_1 + 0x14ac0) + (uVar11 + 1) * 8,uVar24);
- *pbVar39 = (char)uVar50 * '\x10' | (byte)uVar24;
- pbVar39 = pbVar36;
- } while (pbVar48 + 0x20 != pbVar36);
- LAB_00407f20:
- uStack256 = uStack256 + 0x20;
- uVar25 = 0;
- iVar8 = 0x20;
- uVar13 = uStack256;
- goto LAB_00403130;
- case -0x10:
- puVar30 = (undefined2 *)
- ((ulonglong)(uStack256 - *(int *)(param_1 + 0x74)) + *(longlong *)(param_1 +0x58)
- );
- puVar29 = puVar30;
- do {
- puVar31 = puVar29 + 1;
- uVar11 = FUN_00417f40(plVar1,0x10);
- *puVar29 = (short)uVar11;
- puVar29 = puVar31;
- } while (puVar31 != puVar30 + 0x10);
- uVar25 = 0;
- iVar8 = 0x20;
- uVar13 = uStack256 + 0x20;
- goto LAB_00403130;
- }
- uVar25 = 0;
- iVar8 = 8;
- uVar13 = uStack256 + 8;
- LAB_00403130:
- uStack256 = uVar13;
- uVar11 = (ulonglong)(byte)(&DAT_0042b0a0)[(ulonglong)*(uint *)(param_1 + 0xa8) + uVar25 *0xe]
- ;
- *(uint *)(param_1 + 0xa8) =
- (uint)(byte)(&DAT_0042b0a0)[(ulonglong)*(uint *)(param_1 + 0xa8) + uVar25 * 0xe];
- } while (0 < (int)((param_3 + param_2) - uStack256));
- uStack256 = uStack256 - param_2;
- }
- return (ulonglong)uStack256;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement