
/* std::string::swap(std::string&) */

void __thiscall std::string::swap(string *this,string *param_1)

{
  uint uVar1;
  uint uVar2;
  uint uVar3;
  uint uVar4;
  uint uVar5;
  int iVar6;
  int iVar7;
  int iVar8;
  int iVar9;
  int iVar10;
  int iVar11;
  uint uVar12;
  uint uVar13;
  uint uVar14;
  uint uVar15;
  uint uVar16;
  uint uVar17;
  uint uVar18;
  uint uVar19;
  uint uVar20;
  uint uVar21;
  uint uVar22;
  uint uVar23;
  uint uVar24;
  uint uVar25;
  uint uVar26;
  string *psVar27;
  string *psVar28;
  string *psVar29;
  undefined4 uVar30;
  string *psVar31;
  uint uVar32;
  uint in_t0;
  undefined4 uVar33;
  uint in_t1;
  undefined4 uVar34;
  uint in_t2;
  undefined4 uVar35;
  uint in_t3;
  uint in_t4;
  uint in_t5;
  
  if (this != param_1) {
    psVar31 = *(string **)this;
    psVar28 = this + 8;
    psVar29 = *(string **)param_1;
    psVar27 = param_1 + 8;
    if (psVar28 == psVar31) {
      if (psVar27 == psVar29) {
        uVar32 = *(uint *)(this + 4);
        if (uVar32 == 0) {
          if (*(int *)(param_1 + 4) == 0) {
            *(undefined4 *)(this + 4) = 0;
            *(undefined4 *)(param_1 + 4) = 0;
          }
          else {
            uVar34 = *(undefined4 *)(param_1 + 0xc);
            uVar30 = *(undefined4 *)(param_1 + 0x10);
            uVar33 = *(undefined4 *)(param_1 + 0x14);
            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;
            *(undefined4 *)(this + 0xc) = uVar34;
            *(undefined4 *)(this + 0x10) = uVar30;
            *(undefined4 *)(this + 0x14) = uVar33;
            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);
            *(undefined4 *)(param_1 + 4) = 0;
            **(undefined1 **)param_1 = 0;
          }
        }
        else if (*(int *)(param_1 + 4) == 0) {
          uVar34 = *(undefined4 *)(this + 0xc);
          uVar30 = *(undefined4 *)(this + 0x10);
          uVar33 = *(undefined4 *)(this + 0x14);
          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;
          *(undefined4 *)(param_1 + 0xc) = uVar34;
          *(undefined4 *)(param_1 + 0x10) = uVar30;
          *(undefined4 *)(param_1 + 0x14) = uVar33;
          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);
          *(undefined4 *)(this + 4) = 0;
          **(undefined1 **)this = 0;
        }
        else {
          uVar12 = (uint)psVar28 & 3;
          uVar20 = (uint)(this + 0xc) & 3;
          iVar6 = *(int *)(this + 0xc + -uVar20);
          uVar1 = (uint)(param_1 + 8) & 3;
          iVar7 = *(int *)(param_1 + 8 + -uVar1);
          uVar2 = (uint)(param_1 + 0xc) & 3;
          iVar8 = *(int *)(param_1 + 0xc + -uVar2);
          uVar3 = (uint)(param_1 + 0x10) & 3;
          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);
          uVar33 = *(undefined4 *)(param_1 + 0x14);
          uVar4 = (uint)(this + 0x10) & 3;
          iVar10 = *(int *)(this + 0x10 + -uVar4);
          uVar5 = (uint)(this + 0x14) & 3;
          iVar11 = *(int *)(this + 0x14 + -uVar5);
          uVar13 = (uint)(this + 0xb) & 3;
          uVar14 = (uint)(this + 0xf) & 3;
          uVar21 = *(uint *)(this + 0xf + -uVar14);
          uVar15 = (uint)(param_1 + 0xb) & 3;
          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);
          uVar16 = (uint)(param_1 + 0xf) & 3;
          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);
          uVar17 = (uint)(param_1 + 0x13) & 3;
          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);
          uVar18 = (uint)(this + 0x13) & 3;
          uVar25 = *(uint *)(this + 0x13 + -uVar18);
          uVar19 = (uint)(this + 0x17) & 3;
          uVar26 = *(uint *)(this + 0x17 + -uVar19);
          *(uint *)psVar27 =
               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)
               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;
          *(uint *)(param_1 + 0xc) =
               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &
               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;
          *(uint *)(param_1 + 0x10) =
               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &
               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;
          *(uint *)(param_1 + 0x14) =
               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &
               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;
          *(uint *)(this + 8) =
               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &
               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;
          *(uint *)(this + 0xc) =
               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &
               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;
          *(uint *)(this + 0x10) =
               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &
               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;
          *(undefined4 *)(this + 0x14) = uVar33;
          uVar33 = *(undefined4 *)(this + 4);
          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);
          *(undefined4 *)(param_1 + 4) = uVar33;
        }
      }
      else {
        uVar30 = *(undefined4 *)(this + 0xc);
        uVar32 = (uint)(this + 0x10) & 3;
        iVar6 = *(int *)(this + 0x10 + -uVar32);
        uVar33 = *(undefined4 *)(this + 0x14);
        uVar34 = *(undefined4 *)(param_1 + 8);
        uVar12 = (uint)(this + 0x13) & 3;
        uVar20 = *(uint *)(this + 0x13 + -uVar12);
        *(undefined4 *)psVar27 = *(undefined4 *)psVar28;
        *(undefined4 *)(param_1 + 0xc) = uVar30;
        *(uint *)(param_1 + 0x10) =
             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &
             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;
        *(undefined4 *)(param_1 + 0x14) = uVar33;
        *(string **)this = psVar29;
        *(string **)param_1 = psVar27;
        *(undefined4 *)(this + 8) = uVar34;
        uVar33 = *(undefined4 *)(this + 4);
        *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);
        *(undefined4 *)(param_1 + 4) = uVar33;
      }
    }
    else {
      uVar33 = *(undefined4 *)(this + 8);
      if (psVar27 == psVar29) {
        uVar35 = *(undefined4 *)(param_1 + 0xc);
        uVar34 = *(undefined4 *)(param_1 + 0x10);
        uVar30 = *(undefined4 *)(param_1 + 0x14);
        *(undefined4 *)psVar28 = *(undefined4 *)psVar27;
        *(undefined4 *)(this + 0xc) = uVar35;
        *(undefined4 *)(this + 0x10) = uVar34;
        *(undefined4 *)(this + 0x14) = uVar30;
        *(string **)param_1 = psVar31;
        *(string **)this = psVar28;
      }
      else {
        *(string **)this = psVar29;
        *(string **)param_1 = psVar31;
        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);
      }
      *(undefined4 *)(param_1 + 8) = uVar33;
      uVar33 = *(undefined4 *)(this + 4);
      *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);
      *(undefined4 *)(param_1 + 4) = uVar33;
    }
  }
  return;
}



/* std::string::swap(std::string&) */

void __thiscall std::string::swap(string *this,string *param_1)

{
  uint uVar1;
  uint uVar2;
  uint uVar3;
  uint uVar4;
  uint uVar5;
  int iVar6;
  int iVar7;
  int iVar8;
  int iVar9;
  int iVar10;
  int iVar11;
  uint uVar12;
  uint uVar13;
  uint uVar14;
  uint uVar15;
  uint uVar16;
  uint uVar17;
  uint uVar18;
  uint uVar19;
  uint uVar20;
  uint uVar21;
  uint uVar22;
  uint uVar23;
  uint uVar24;
  uint uVar25;
  uint uVar26;
  string *psVar27;
  string *psVar28;
  string *psVar29;
  undefined4 uVar30;
  string *psVar31;
  uint uVar32;
  uint in_t0;
  undefined4 uVar33;
  uint in_t1;
  undefined4 uVar34;
  uint in_t2;
  undefined4 uVar35;
  uint in_t3;
  uint in_t4;
  uint in_t5;
  
  if (this != param_1) {
    psVar31 = *(string **)this;
    psVar28 = this + 8;
    psVar29 = *(string **)param_1;
    psVar27 = param_1 + 8;
    if (psVar28 == psVar31) {
      if (psVar27 == psVar29) {
        uVar32 = *(uint *)(this + 4);
        if (uVar32 == 0) {
          if (*(int *)(param_1 + 4) == 0) {
            *(undefined4 *)(this + 4) = 0;
            *(undefined4 *)(param_1 + 4) = 0;
          }
          else {
            uVar34 = *(undefined4 *)(param_1 + 0xc);
            uVar30 = *(undefined4 *)(param_1 + 0x10);
            uVar33 = *(undefined4 *)(param_1 + 0x14);
            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;
            *(undefined4 *)(this + 0xc) = uVar34;
            *(undefined4 *)(this + 0x10) = uVar30;
            *(undefined4 *)(this + 0x14) = uVar33;
            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);
            *(undefined4 *)(param_1 + 4) = 0;
            **(undefined1 **)param_1 = 0;
          }
        }
        else if (*(int *)(param_1 + 4) == 0) {
          uVar34 = *(undefined4 *)(this + 0xc);
          uVar30 = *(undefined4 *)(this + 0x10);
          uVar33 = *(undefined4 *)(this + 0x14);
          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;
          *(undefined4 *)(param_1 + 0xc) = uVar34;
          *(undefined4 *)(param_1 + 0x10) = uVar30;
          *(undefined4 *)(param_1 + 0x14) = uVar33;
          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);
          *(undefined4 *)(this + 4) = 0;
          **(undefined1 **)this = 0;
        }
        else {
          uVar12 = (uint)psVar28 & 3;
          uVar20 = (uint)(this + 0xc) & 3;
          iVar6 = *(int *)(this + 0xc + -uVar20);
          uVar1 = (uint)(param_1 + 8) & 3;
          iVar7 = *(int *)(param_1 + 8 + -uVar1);
          uVar2 = (uint)(param_1 + 0xc) & 3;
          iVar8 = *(int *)(param_1 + 0xc + -uVar2);
          uVar3 = (uint)(param_1 + 0x10) & 3;
          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);
          uVar33 = *(undefined4 *)(param_1 + 0x14);
          uVar4 = (uint)(this + 0x10) & 3;
          iVar10 = *(int *)(this + 0x10 + -uVar4);
          uVar5 = (uint)(this + 0x14) & 3;
          iVar11 = *(int *)(this + 0x14 + -uVar5);
          uVar13 = (uint)(this + 0xb) & 3;
          uVar14 = (uint)(this + 0xf) & 3;
          uVar21 = *(uint *)(this + 0xf + -uVar14);
          uVar15 = (uint)(param_1 + 0xb) & 3;
          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);
          uVar16 = (uint)(param_1 + 0xf) & 3;
          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);
          uVar17 = (uint)(param_1 + 0x13) & 3;
          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);
          uVar18 = (uint)(this + 0x13) & 3;
          uVar25 = *(uint *)(this + 0x13 + -uVar18);
          uVar19 = (uint)(this + 0x17) & 3;
          uVar26 = *(uint *)(this + 0x17 + -uVar19);
          *(uint *)psVar27 =
               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)
               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;
          *(uint *)(param_1 + 0xc) =
               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &
               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;
          *(uint *)(param_1 + 0x10) =
               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &
               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;
          *(uint *)(param_1 + 0x14) =
               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &
               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;
          *(uint *)(this + 8) =
               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &
               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;
          *(uint *)(this + 0xc) =
               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &
               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;
          *(uint *)(this + 0x10) =
               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &
               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;
          *(undefined4 *)(this + 0x14) = uVar33;
          uVar33 = *(undefined4 *)(this + 4);
          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);
          *(undefined4 *)(param_1 + 4) = uVar33;
        }
      }
      else {
        uVar30 = *(undefined4 *)(this + 0xc);
        uVar32 = (uint)(this + 0x10) & 3;
        iVar6 = *(int *)(this + 0x10 + -uVar32);
        uVar33 = *(undefined4 *)(this + 0x14);
        uVar34 = *(undefined4 *)(param_1 + 8);
        uVar12 = (uint)(this + 0x13) & 3;
        uVar20 = *(uint *)(this + 0x13 + -uVar12);
        *(undefined4 *)psVar27 = *(undefined4 *)psVar28;
        *(undefined4 *)(param_1 + 0xc) = uVar30;
        *(uint *)(param_1 + 0x10) =
             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &
             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;
        *(undefined4 *)(param_1 + 0x14) = uVar33;
        *(string **)this = psVar29;
        *(string **)param_1 = psVar27;
        *(undefined4 *)(this + 8) = uVar34;
        uVar33 = *(undefined4 *)(this + 4);
        *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);
        *(undefined4 *)(param_1 + 4) = uVar33;
      }
    }
    else {
      uVar33 = *(undefined4 *)(this + 8);
      if (psVar27 == psVar29) {
        uVar35 = *(undefined4 *)(param_1 + 0xc);
        uVar34 = *(undefined4 *)(param_1 + 0x10);
        uVar30 = *(undefined4 *)(param_1 + 0x14);
        *(undefined4 *)psVar28 = *(undefined4 *)psVar27;
        *(undefined4 *)(this + 0xc) = uVar35;
        *(undefined4 *)(this + 0x10) = uVar34;
        *(undefined4 *)(this + 0x14) = uVar30;
        *(string **)param_1 = psVar31;
        *(string **)this = psVar28;
      }
      else {
        *(string **)this = psVar29;
        *(string **)param_1 = psVar31;
        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);
      }
      *(undefined4 *)(param_1 + 8) = uVar33;
      uVar33 = *(undefined4 *)(this + 4);
      *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);
      *(undefined4 *)(param_1 + 4) = uVar33;
    }
  }
  return;
}


addiu sp,sp,-0x18
beq a0,a1,0x0033d140
_nop
lw a3,0x0(a0)
addiu v1,a0,0x8
lw a2,0x0(a1)
beq v1,a3,0x0033d148
_addiu v0,a1,0x8
beq v0,a2,0x0033d220
_lw t0,0x8(a0)
sw a2,0x0(a0)
sw a3,0x0(a1)
lw v0,0x8(a1)
sw v0,0x8(a0)
lw a2,0x4(a1)
sw t0,0x8(a1)
lw v0,0x4(a0)
sw a2,0x4(a0)
sw v0,0x4(a1)
jr ra
_addiu sp,sp,0x18
beq v0,a2,0x0033d1b4
_nop
lwl t2,0x0(v1)
lwl t1,0x4(v1)
lwl t0,0x8(v1)
lwl a3,0xc(v1)
lwr t2,0x3(v1)
lwr t1,0x7(v1)
lw t3,0x8(a1)
lwr a3,0xf(v1)
lwr t0,0xb(v1)
swl t2,0x0(v0)
swr t2,0x3(v0)
swl t1,0x4(v0)
swr t1,0x7(v0)
swl t0,0x8(v0)
swr t0,0xb(v0)
swl a3,0xc(v0)
swr a3,0xf(v0)
sw a2,0x0(a0)
sw v0,0x0(a1)
sw t3,0x8(a0)
lw a2,0x4(a1)
lw v0,0x4(a0)
sw a2,0x4(a0)
b 0x0033d140
_sw v0,0x4(a1)
lw a3,0x4(a0)
beq a3,zero,0x0033d26c
_lw a2,0x4(a1)
bne a2,zero,0x0033d284
_nop
lwl t1,0x0(v1)
lwl t0,0x4(v1)
lwl a3,0x8(v1)
lwl a2,0xc(v1)
lwr t1,0x3(v1)
lwr t0,0x7(v1)
lwr a3,0xb(v1)
lwr a2,0xf(v1)
swl t1,0x0(v0)
swr t1,0x3(v0)
swl t0,0x4(v0)
swr t0,0x7(v0)
swl a3,0x8(v0)
swr a3,0xb(v0)
swl a2,0xc(v0)
swr a2,0xf(v0)
lw v0,0x4(a0)
sw v0,0x4(a1)
sw zero,0x4(a0)
lw v0,0x0(a0)
b 0x0033d140
_sb zero,0x0(v0)
lwl t3,0x0(v0)
lwl t2,0x4(v0)
lwl t1,0x8(v0)
lwl a2,0xc(v0)
lwr t3,0x3(v0)
lwr t2,0x7(v0)
lwr t1,0xb(v0)
lwr a2,0xf(v0)
swl t3,0x0(v1)
swr t3,0x3(v1)
swl t2,0x4(v1)
swr t2,0x7(v1)
swl t1,0x8(v1)
swr t1,0xb(v1)
swl a2,0xc(v1)
swr a2,0xf(v1)
sw a3,0x0(a1)
b 0x0033d12c
_sw v1,0x0(a0)
bne a2,zero,0x0033d318
_nop
or v0,zero,zero
sw a2,0x4(a0)
b 0x0033d140
_sw v0,0x4(a1)
lwl t5,0x0(v1)
lwl t4,0x4(v1)
lwl t1,0x8(a1)
lwl t0,0xc(a1)
lwl a3,0x10(a1)
lwl a2,0x14(a1)
lwl t3,0x8(v1)
lwl t2,0xc(v1)
lwr t5,0x3(v1)
lwr t4,0x7(v1)
lwr a2,0x17(a1)
lwr t1,0xb(a1)
lwr t0,0xf(a1)
lwr a3,0x13(a1)
lwr t3,0xb(v1)
lwr t2,0xf(v1)
swl t5,0x0(v0)
swr t5,0x3(v0)
swl t4,0x4(v0)
swr t4,0x7(v0)
swl t3,0x8(v0)
swr t3,0xb(v0)
swl t2,0xc(v0)
swr t2,0xf(v0)
swl t1,0x8(a0)
swr t1,0xb(a0)
swl t0,0xc(a0)
swr t0,0xf(a0)
swl a3,0x10(a0)
swr a3,0x13(a0)
swl a2,0x14(a0)
swr a2,0x17(a0)
lw a2,0x4(a1)
lw v0,0x4(a0)
sw a2,0x4(a0)
b 0x0033d140
_sw v0,0x4(a1)
lwl t1,0x0(v0)
lwl t0,0x4(v0)
lwl a3,0x8(v0)
lwl a2,0xc(v0)
lwr t1,0x3(v0)
lwr t0,0x7(v0)
lwr a3,0xb(v0)
lwr a2,0xf(v0)
swl t1,0x0(v1)
swr t1,0x3(v1)
swl t0,0x4(v1)
swr t0,0x7(v1)
swl a3,0x8(v1)
swr a3,0xb(v1)
swl a2,0xc(v1)
swr a2,0xf(v1)
lw v0,0x4(a1)
sw v0,0x4(a0)
sw zero,0x4(a1)
lw v0,0x0(a1)
b 0x0033d140
_sb zero,0x0(v0)
(translation_unit "/* std::string::swap(std::string&) */\n\nvoid __thiscall std::string::swap(string *this,string *param_1)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  uint uVar15;\n  uint uVar16;\n  uint uVar17;\n  uint uVar18;\n  uint uVar19;\n  uint uVar20;\n  uint uVar21;\n  uint uVar22;\n  uint uVar23;\n  uint uVar24;\n  uint uVar25;\n  uint uVar26;\n  string *psVar27;\n  string *psVar28;\n  string *psVar29;\n  undefined4 uVar30;\n  string *psVar31;\n  uint uVar32;\n  uint in_t0;\n  undefined4 uVar33;\n  uint in_t1;\n  undefined4 uVar34;\n  uint in_t2;\n  undefined4 uVar35;\n  uint in_t3;\n  uint in_t4;\n  uint in_t5;\n  \n  if (this != param_1) {\n    psVar31 = *(string **)this;\n    psVar28 = this + 8;\n    psVar29 = *(string **)param_1;\n    psVar27 = param_1 + 8;\n    if (psVar28 == psVar31) {\n      if (psVar27 == psVar29) {\n        uVar32 = *(uint *)(this + 4);\n        if (uVar32 == 0) {\n          if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }\n        }\n        else if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }\n      }\n      else {\n        uVar30 = *(undefined4 *)(this + 0xc);\n        uVar32 = (uint)(this + 0x10) & 3;\n        iVar6 = *(int *)(this + 0x10 + -uVar32);\n        uVar33 = *(undefined4 *)(this + 0x14);\n        uVar34 = *(undefined4 *)(param_1 + 8);\n        uVar12 = (uint)(this + 0x13) & 3;\n        uVar20 = *(uint *)(this + 0x13 + -uVar12);\n        *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n        *(undefined4 *)(param_1 + 0xc) = uVar30;\n        *(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;\n        *(undefined4 *)(param_1 + 0x14) = uVar33;\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar27;\n        *(undefined4 *)(this + 8) = uVar34;\n        uVar33 = *(undefined4 *)(this + 4);\n        *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n        *(undefined4 *)(param_1 + 4) = uVar33;\n      }\n    }\n    else {\n      uVar33 = *(undefined4 *)(this + 8);\n      if (psVar27 == psVar29) {\n        uVar35 = *(undefined4 *)(param_1 + 0xc);\n        uVar34 = *(undefined4 *)(param_1 + 0x10);\n        uVar30 = *(undefined4 *)(param_1 + 0x14);\n        *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n        *(undefined4 *)(this + 0xc) = uVar35;\n        *(undefined4 *)(this + 0x10) = uVar34;\n        *(undefined4 *)(this + 0x14) = uVar30;\n        *(string **)param_1 = psVar31;\n        *(string **)this = psVar28;\n      }\n      else {\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar31;\n        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);\n      }\n      *(undefined4 *)(param_1 + 8) = uVar33;\n      uVar33 = *(undefined4 *)(this + 4);\n      *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n      *(undefined4 *)(param_1 + 4) = uVar33;\n    }\n  }\n  return;\n}\n\n" comment (function_definition "void __thiscall std::string::swap(string *this,string *param_1)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  uint uVar15;\n  uint uVar16;\n  uint uVar17;\n  uint uVar18;\n  uint uVar19;\n  uint uVar20;\n  uint uVar21;\n  uint uVar22;\n  uint uVar23;\n  uint uVar24;\n  uint uVar25;\n  uint uVar26;\n  string *psVar27;\n  string *psVar28;\n  string *psVar29;\n  undefined4 uVar30;\n  string *psVar31;\n  uint uVar32;\n  uint in_t0;\n  undefined4 uVar33;\n  uint in_t1;\n  undefined4 uVar34;\n  uint in_t2;\n  undefined4 uVar35;\n  uint in_t3;\n  uint in_t4;\n  uint in_t5;\n  \n  if (this != param_1) {\n    psVar31 = *(string **)this;\n    psVar28 = this + 8;\n    psVar29 = *(string **)param_1;\n    psVar27 = param_1 + 8;\n    if (psVar28 == psVar31) {\n      if (psVar27 == psVar29) {\n        uVar32 = *(uint *)(this + 4);\n        if (uVar32 == 0) {\n          if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }\n        }\n        else if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }\n      }\n      else {\n        uVar30 = *(undefined4 *)(this + 0xc);\n        uVar32 = (uint)(this + 0x10) & 3;\n        iVar6 = *(int *)(this + 0x10 + -uVar32);\n        uVar33 = *(undefined4 *)(this + 0x14);\n        uVar34 = *(undefined4 *)(param_1 + 8);\n        uVar12 = (uint)(this + 0x13) & 3;\n        uVar20 = *(uint *)(this + 0x13 + -uVar12);\n        *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n        *(undefined4 *)(param_1 + 0xc) = uVar30;\n        *(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;\n        *(undefined4 *)(param_1 + 0x14) = uVar33;\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar27;\n        *(undefined4 *)(this + 8) = uVar34;\n        uVar33 = *(undefined4 *)(this + 4);\n        *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n        *(undefined4 *)(param_1 + 4) = uVar33;\n      }\n    }\n    else {\n      uVar33 = *(undefined4 *)(this + 8);\n      if (psVar27 == psVar29) {\n        uVar35 = *(undefined4 *)(param_1 + 0xc);\n        uVar34 = *(undefined4 *)(param_1 + 0x10);\n        uVar30 = *(undefined4 *)(param_1 + 0x14);\n        *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n        *(undefined4 *)(this + 0xc) = uVar35;\n        *(undefined4 *)(this + 0x10) = uVar34;\n        *(undefined4 *)(this + 0x14) = uVar30;\n        *(string **)param_1 = psVar31;\n        *(string **)this = psVar28;\n      }\n      else {\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar31;\n        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);\n      }\n      *(undefined4 *)(param_1 + 8) = uVar33;\n      uVar33 = *(undefined4 *)(this + 4);\n      *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n      *(undefined4 *)(param_1 + 4) = uVar33;\n    }\n  }\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "std::string::" identifier : : identifier : :) (function_declarator "swap(string *this,string *param_1)" identifier (parameter_list "(string *this,string *param_1)" ( (parameter_declaration "string *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "string *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  uint uVar15;\n  uint uVar16;\n  uint uVar17;\n  uint uVar18;\n  uint uVar19;\n  uint uVar20;\n  uint uVar21;\n  uint uVar22;\n  uint uVar23;\n  uint uVar24;\n  uint uVar25;\n  uint uVar26;\n  string *psVar27;\n  string *psVar28;\n  string *psVar29;\n  undefined4 uVar30;\n  string *psVar31;\n  uint uVar32;\n  uint in_t0;\n  undefined4 uVar33;\n  uint in_t1;\n  undefined4 uVar34;\n  uint in_t2;\n  undefined4 uVar35;\n  uint in_t3;\n  uint in_t4;\n  uint in_t5;\n  \n  if (this != param_1) {\n    psVar31 = *(string **)this;\n    psVar28 = this + 8;\n    psVar29 = *(string **)param_1;\n    psVar27 = param_1 + 8;\n    if (psVar28 == psVar31) {\n      if (psVar27 == psVar29) {\n        uVar32 = *(uint *)(this + 4);\n        if (uVar32 == 0) {\n          if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }\n        }\n        else if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }\n      }\n      else {\n        uVar30 = *(undefined4 *)(this + 0xc);\n        uVar32 = (uint)(this + 0x10) & 3;\n        iVar6 = *(int *)(this + 0x10 + -uVar32);\n        uVar33 = *(undefined4 *)(this + 0x14);\n        uVar34 = *(undefined4 *)(param_1 + 8);\n        uVar12 = (uint)(this + 0x13) & 3;\n        uVar20 = *(uint *)(this + 0x13 + -uVar12);\n        *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n        *(undefined4 *)(param_1 + 0xc) = uVar30;\n        *(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;\n        *(undefined4 *)(param_1 + 0x14) = uVar33;\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar27;\n        *(undefined4 *)(this + 8) = uVar34;\n        uVar33 = *(undefined4 *)(this + 4);\n        *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n        *(undefined4 *)(param_1 + 4) = uVar33;\n      }\n    }\n    else {\n      uVar33 = *(undefined4 *)(this + 8);\n      if (psVar27 == psVar29) {\n        uVar35 = *(undefined4 *)(param_1 + 0xc);\n        uVar34 = *(undefined4 *)(param_1 + 0x10);\n        uVar30 = *(undefined4 *)(param_1 + 0x14);\n        *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n        *(undefined4 *)(this + 0xc) = uVar35;\n        *(undefined4 *)(this + 0x10) = uVar34;\n        *(undefined4 *)(this + 0x14) = uVar30;\n        *(string **)param_1 = psVar31;\n        *(string **)this = psVar28;\n      }\n      else {\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar31;\n        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);\n      }\n      *(undefined4 *)(param_1 + 8) = uVar33;\n      uVar33 = *(undefined4 *)(this + 4);\n      *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n      *(undefined4 *)(param_1 + 4) = uVar33;\n    }\n  }\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "uint uVar23;" type_identifier identifier ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "uint uVar25;" type_identifier identifier ;) (declaration "uint uVar26;" type_identifier identifier ;) (declaration "string *psVar27;" type_identifier (pointer_declarator "*psVar27" * identifier) ;) (declaration "string *psVar28;" type_identifier (pointer_declarator "*psVar28" * identifier) ;) (declaration "string *psVar29;" type_identifier (pointer_declarator "*psVar29" * identifier) ;) (declaration "undefined4 uVar30;" type_identifier identifier ;) (declaration "string *psVar31;" type_identifier (pointer_declarator "*psVar31" * identifier) ;) (declaration "uint uVar32;" type_identifier identifier ;) (declaration "uint in_t0;" type_identifier identifier ;) (declaration "undefined4 uVar33;" type_identifier identifier ;) (declaration "uint in_t1;" type_identifier identifier ;) (declaration "undefined4 uVar34;" type_identifier identifier ;) (declaration "uint in_t2;" type_identifier identifier ;) (declaration "undefined4 uVar35;" type_identifier identifier ;) (declaration "uint in_t3;" type_identifier identifier ;) (declaration "uint in_t4;" type_identifier identifier ;) (declaration "uint in_t5;" type_identifier identifier ;) (if_statement "if (this != param_1) {\n    psVar31 = *(string **)this;\n    psVar28 = this + 8;\n    psVar29 = *(string **)param_1;\n    psVar27 = param_1 + 8;\n    if (psVar28 == psVar31) {\n      if (psVar27 == psVar29) {\n        uVar32 = *(uint *)(this + 4);\n        if (uVar32 == 0) {\n          if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }\n        }\n        else if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }\n      }\n      else {\n        uVar30 = *(undefined4 *)(this + 0xc);\n        uVar32 = (uint)(this + 0x10) & 3;\n        iVar6 = *(int *)(this + 0x10 + -uVar32);\n        uVar33 = *(undefined4 *)(this + 0x14);\n        uVar34 = *(undefined4 *)(param_1 + 8);\n        uVar12 = (uint)(this + 0x13) & 3;\n        uVar20 = *(uint *)(this + 0x13 + -uVar12);\n        *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n        *(undefined4 *)(param_1 + 0xc) = uVar30;\n        *(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;\n        *(undefined4 *)(param_1 + 0x14) = uVar33;\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar27;\n        *(undefined4 *)(this + 8) = uVar34;\n        uVar33 = *(undefined4 *)(this + 4);\n        *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n        *(undefined4 *)(param_1 + 4) = uVar33;\n      }\n    }\n    else {\n      uVar33 = *(undefined4 *)(this + 8);\n      if (psVar27 == psVar29) {\n        uVar35 = *(undefined4 *)(param_1 + 0xc);\n        uVar34 = *(undefined4 *)(param_1 + 0x10);\n        uVar30 = *(undefined4 *)(param_1 + 0x14);\n        *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n        *(undefined4 *)(this + 0xc) = uVar35;\n        *(undefined4 *)(this + 0x10) = uVar34;\n        *(undefined4 *)(this + 0x14) = uVar30;\n        *(string **)param_1 = psVar31;\n        *(string **)this = psVar28;\n      }\n      else {\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar31;\n        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);\n      }\n      *(undefined4 *)(param_1 + 8) = uVar33;\n      uVar33 = *(undefined4 *)(this + 4);\n      *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n      *(undefined4 *)(param_1 + 4) = uVar33;\n    }\n  }" if (parenthesized_expression "(this != param_1)" ( (binary_expression "this != param_1" identifier != identifier) )) (compound_statement "{\n    psVar31 = *(string **)this;\n    psVar28 = this + 8;\n    psVar29 = *(string **)param_1;\n    psVar27 = param_1 + 8;\n    if (psVar28 == psVar31) {\n      if (psVar27 == psVar29) {\n        uVar32 = *(uint *)(this + 4);\n        if (uVar32 == 0) {\n          if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }\n        }\n        else if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }\n      }\n      else {\n        uVar30 = *(undefined4 *)(this + 0xc);\n        uVar32 = (uint)(this + 0x10) & 3;\n        iVar6 = *(int *)(this + 0x10 + -uVar32);\n        uVar33 = *(undefined4 *)(this + 0x14);\n        uVar34 = *(undefined4 *)(param_1 + 8);\n        uVar12 = (uint)(this + 0x13) & 3;\n        uVar20 = *(uint *)(this + 0x13 + -uVar12);\n        *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n        *(undefined4 *)(param_1 + 0xc) = uVar30;\n        *(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;\n        *(undefined4 *)(param_1 + 0x14) = uVar33;\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar27;\n        *(undefined4 *)(this + 8) = uVar34;\n        uVar33 = *(undefined4 *)(this + 4);\n        *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n        *(undefined4 *)(param_1 + 4) = uVar33;\n      }\n    }\n    else {\n      uVar33 = *(undefined4 *)(this + 8);\n      if (psVar27 == psVar29) {\n        uVar35 = *(undefined4 *)(param_1 + 0xc);\n        uVar34 = *(undefined4 *)(param_1 + 0x10);\n        uVar30 = *(undefined4 *)(param_1 + 0x14);\n        *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n        *(undefined4 *)(this + 0xc) = uVar35;\n        *(undefined4 *)(this + 0x10) = uVar34;\n        *(undefined4 *)(this + 0x14) = uVar30;\n        *(string **)param_1 = psVar31;\n        *(string **)this = psVar28;\n      }\n      else {\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar31;\n        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);\n      }\n      *(undefined4 *)(param_1 + 8) = uVar33;\n      uVar33 = *(undefined4 *)(this + 4);\n      *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n      *(undefined4 *)(param_1 + 4) = uVar33;\n    }\n  }" { (expression_statement "psVar31 = *(string **)this;" (assignment_expression "psVar31 = *(string **)this" identifier = (pointer_expression "*(string **)this" * (cast_expression "(string **)this" ( (type_descriptor "string **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "psVar28 = this + 8;" (assignment_expression "psVar28 = this + 8" identifier = (binary_expression "this + 8" identifier + number_literal)) ;) (expression_statement "psVar29 = *(string **)param_1;" (assignment_expression "psVar29 = *(string **)param_1" identifier = (pointer_expression "*(string **)param_1" * (cast_expression "(string **)param_1" ( (type_descriptor "string **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "psVar27 = param_1 + 8;" (assignment_expression "psVar27 = param_1 + 8" identifier = (binary_expression "param_1 + 8" identifier + number_literal)) ;) (if_statement "if (psVar28 == psVar31) {\n      if (psVar27 == psVar29) {\n        uVar32 = *(uint *)(this + 4);\n        if (uVar32 == 0) {\n          if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }\n        }\n        else if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }\n      }\n      else {\n        uVar30 = *(undefined4 *)(this + 0xc);\n        uVar32 = (uint)(this + 0x10) & 3;\n        iVar6 = *(int *)(this + 0x10 + -uVar32);\n        uVar33 = *(undefined4 *)(this + 0x14);\n        uVar34 = *(undefined4 *)(param_1 + 8);\n        uVar12 = (uint)(this + 0x13) & 3;\n        uVar20 = *(uint *)(this + 0x13 + -uVar12);\n        *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n        *(undefined4 *)(param_1 + 0xc) = uVar30;\n        *(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;\n        *(undefined4 *)(param_1 + 0x14) = uVar33;\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar27;\n        *(undefined4 *)(this + 8) = uVar34;\n        uVar33 = *(undefined4 *)(this + 4);\n        *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n        *(undefined4 *)(param_1 + 4) = uVar33;\n      }\n    }\n    else {\n      uVar33 = *(undefined4 *)(this + 8);\n      if (psVar27 == psVar29) {\n        uVar35 = *(undefined4 *)(param_1 + 0xc);\n        uVar34 = *(undefined4 *)(param_1 + 0x10);\n        uVar30 = *(undefined4 *)(param_1 + 0x14);\n        *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n        *(undefined4 *)(this + 0xc) = uVar35;\n        *(undefined4 *)(this + 0x10) = uVar34;\n        *(undefined4 *)(this + 0x14) = uVar30;\n        *(string **)param_1 = psVar31;\n        *(string **)this = psVar28;\n      }\n      else {\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar31;\n        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);\n      }\n      *(undefined4 *)(param_1 + 8) = uVar33;\n      uVar33 = *(undefined4 *)(this + 4);\n      *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n      *(undefined4 *)(param_1 + 4) = uVar33;\n    }" if (parenthesized_expression "(psVar28 == psVar31)" ( (binary_expression "psVar28 == psVar31" identifier == identifier) )) (compound_statement "{\n      if (psVar27 == psVar29) {\n        uVar32 = *(uint *)(this + 4);\n        if (uVar32 == 0) {\n          if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }\n        }\n        else if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }\n      }\n      else {\n        uVar30 = *(undefined4 *)(this + 0xc);\n        uVar32 = (uint)(this + 0x10) & 3;\n        iVar6 = *(int *)(this + 0x10 + -uVar32);\n        uVar33 = *(undefined4 *)(this + 0x14);\n        uVar34 = *(undefined4 *)(param_1 + 8);\n        uVar12 = (uint)(this + 0x13) & 3;\n        uVar20 = *(uint *)(this + 0x13 + -uVar12);\n        *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n        *(undefined4 *)(param_1 + 0xc) = uVar30;\n        *(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;\n        *(undefined4 *)(param_1 + 0x14) = uVar33;\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar27;\n        *(undefined4 *)(this + 8) = uVar34;\n        uVar33 = *(undefined4 *)(this + 4);\n        *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n        *(undefined4 *)(param_1 + 4) = uVar33;\n      }\n    }" { (if_statement "if (psVar27 == psVar29) {\n        uVar32 = *(uint *)(this + 4);\n        if (uVar32 == 0) {\n          if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }\n        }\n        else if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }\n      }\n      else {\n        uVar30 = *(undefined4 *)(this + 0xc);\n        uVar32 = (uint)(this + 0x10) & 3;\n        iVar6 = *(int *)(this + 0x10 + -uVar32);\n        uVar33 = *(undefined4 *)(this + 0x14);\n        uVar34 = *(undefined4 *)(param_1 + 8);\n        uVar12 = (uint)(this + 0x13) & 3;\n        uVar20 = *(uint *)(this + 0x13 + -uVar12);\n        *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n        *(undefined4 *)(param_1 + 0xc) = uVar30;\n        *(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;\n        *(undefined4 *)(param_1 + 0x14) = uVar33;\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar27;\n        *(undefined4 *)(this + 8) = uVar34;\n        uVar33 = *(undefined4 *)(this + 4);\n        *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n        *(undefined4 *)(param_1 + 4) = uVar33;\n      }" if (parenthesized_expression "(psVar27 == psVar29)" ( (binary_expression "psVar27 == psVar29" identifier == identifier) )) (compound_statement "{\n        uVar32 = *(uint *)(this + 4);\n        if (uVar32 == 0) {\n          if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }\n        }\n        else if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }\n      }" { (expression_statement "uVar32 = *(uint *)(this + 4);" (assignment_expression "uVar32 = *(uint *)(this + 4)" identifier = (pointer_expression "*(uint *)(this + 4)" * (cast_expression "(uint *)(this + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) ))))) ;) (if_statement "if (uVar32 == 0) {\n          if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }\n        }\n        else if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }" if (parenthesized_expression "(uVar32 == 0)" ( (binary_expression "uVar32 == 0" identifier == number_literal) )) (compound_statement "{\n          if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }\n        }" { (if_statement "if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }" if (parenthesized_expression "(*(int *)(param_1 + 4) == 0)" ( (binary_expression "*(int *)(param_1 + 4) == 0" (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }" { (expression_statement "*(undefined4 *)(this + 4) = 0;" (assignment_expression "*(undefined4 *)(this + 4) = 0" (pointer_expression "*(undefined4 *)(this + 4)" * (cast_expression "(undefined4 *)(this + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(param_1 + 4) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 4) = 0" (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }" else (compound_statement "{\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }" { (expression_statement "uVar34 = *(undefined4 *)(param_1 + 0xc);" (assignment_expression "uVar34 = *(undefined4 *)(param_1 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0xc)" * (cast_expression "(undefined4 *)(param_1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar30 = *(undefined4 *)(param_1 + 0x10);" (assignment_expression "uVar30 = *(undefined4 *)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar33 = *(undefined4 *)(param_1 + 0x14);" (assignment_expression "uVar33 = *(undefined4 *)(param_1 + 0x14)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x14)" * (cast_expression "(undefined4 *)(param_1 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)psVar28 = *(undefined4 *)psVar27;" (assignment_expression "*(undefined4 *)psVar28 = *(undefined4 *)psVar27" (pointer_expression "*(undefined4 *)psVar28" * (cast_expression "(undefined4 *)psVar28" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined4 *)psVar27" * (cast_expression "(undefined4 *)psVar27" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 *)(this + 0xc) = uVar34;" (assignment_expression "*(undefined4 *)(this + 0xc) = uVar34" (pointer_expression "*(undefined4 *)(this + 0xc)" * (cast_expression "(undefined4 *)(this + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xc)" ( (binary_expression "this + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(this + 0x10) = uVar30;" (assignment_expression "*(undefined4 *)(this + 0x10) = uVar30" (pointer_expression "*(undefined4 *)(this + 0x10)" * (cast_expression "(undefined4 *)(this + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x10)" ( (binary_expression "this + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(this + 0x14) = uVar33;" (assignment_expression "*(undefined4 *)(this + 0x14) = uVar33" (pointer_expression "*(undefined4 *)(this + 0x14)" * (cast_expression "(undefined4 *)(this + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x14)" ( (binary_expression "this + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);" (assignment_expression "*(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4)" (pointer_expression "*(undefined4 *)(this + 4)" * (cast_expression "(undefined4 *)(this + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(param_1 + 4) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 4) = 0" (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "**(undefined1 **)param_1 = 0;" (assignment_expression "**(undefined1 **)param_1 = 0" (pointer_expression "**(undefined1 **)param_1" * (pointer_expression "*(undefined1 **)param_1" * (cast_expression "(undefined1 **)param_1" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) = number_literal) ;) }))) }) (else_clause "else if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }" else (if_statement "if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }" if (parenthesized_expression "(*(int *)(param_1 + 4) == 0)" ( (binary_expression "*(int *)(param_1 + 4) == 0" (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }" { (expression_statement "uVar34 = *(undefined4 *)(this + 0xc);" (assignment_expression "uVar34 = *(undefined4 *)(this + 0xc)" identifier = (pointer_expression "*(undefined4 *)(this + 0xc)" * (cast_expression "(undefined4 *)(this + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xc)" ( (binary_expression "this + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar30 = *(undefined4 *)(this + 0x10);" (assignment_expression "uVar30 = *(undefined4 *)(this + 0x10)" identifier = (pointer_expression "*(undefined4 *)(this + 0x10)" * (cast_expression "(undefined4 *)(this + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x10)" ( (binary_expression "this + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar33 = *(undefined4 *)(this + 0x14);" (assignment_expression "uVar33 = *(undefined4 *)(this + 0x14)" identifier = (pointer_expression "*(undefined4 *)(this + 0x14)" * (cast_expression "(undefined4 *)(this + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x14)" ( (binary_expression "this + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)psVar27 = *(undefined4 *)psVar28;" (assignment_expression "*(undefined4 *)psVar27 = *(undefined4 *)psVar28" (pointer_expression "*(undefined4 *)psVar27" * (cast_expression "(undefined4 *)psVar27" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined4 *)psVar28" * (cast_expression "(undefined4 *)psVar28" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 *)(param_1 + 0xc) = uVar34;" (assignment_expression "*(undefined4 *)(param_1 + 0xc) = uVar34" (pointer_expression "*(undefined4 *)(param_1 + 0xc)" * (cast_expression "(undefined4 *)(param_1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(param_1 + 0x10) = uVar30;" (assignment_expression "*(undefined4 *)(param_1 + 0x10) = uVar30" (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(param_1 + 0x14) = uVar33;" (assignment_expression "*(undefined4 *)(param_1 + 0x14) = uVar33" (pointer_expression "*(undefined4 *)(param_1 + 0x14)" * (cast_expression "(undefined4 *)(param_1 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);" (assignment_expression "*(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4)" (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(this + 4)" * (cast_expression "(undefined4 *)(this + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(this + 4) = 0;" (assignment_expression "*(undefined4 *)(this + 4) = 0" (pointer_expression "*(undefined4 *)(this + 4)" * (cast_expression "(undefined4 *)(this + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "**(undefined1 **)this = 0;" (assignment_expression "**(undefined1 **)this = 0" (pointer_expression "**(undefined1 **)this" * (pointer_expression "*(undefined1 **)this" * (cast_expression "(undefined1 **)this" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) = number_literal) ;) }) (else_clause "else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }" else (compound_statement "{\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }" { (expression_statement "uVar12 = (uint)psVar28 & 3;" (assignment_expression "uVar12 = (uint)psVar28 & 3" identifier = (binary_expression "(uint)psVar28 & 3" (cast_expression "(uint)psVar28" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "uVar20 = (uint)(this + 0xc) & 3;" (assignment_expression "uVar20 = (uint)(this + 0xc) & 3" identifier = (binary_expression "(uint)(this + 0xc) & 3" (call_expression "(uint)(this + 0xc)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(this + 0xc)" ( (binary_expression "this + 0xc" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "iVar6 = *(int *)(this + 0xc + -uVar20);" (assignment_expression "iVar6 = *(int *)(this + 0xc + -uVar20)" identifier = (pointer_expression "*(int *)(this + 0xc + -uVar20)" * (cast_expression "(int *)(this + 0xc + -uVar20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xc + -uVar20)" ( (binary_expression "this + 0xc + -uVar20" (binary_expression "this + 0xc" identifier + number_literal) + (unary_expression "-uVar20" - identifier)) ))))) ;) (expression_statement "uVar1 = (uint)(param_1 + 8) & 3;" (assignment_expression "uVar1 = (uint)(param_1 + 8) & 3" identifier = (binary_expression "(uint)(param_1 + 8) & 3" (call_expression "(uint)(param_1 + 8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "iVar7 = *(int *)(param_1 + 8 + -uVar1);" (assignment_expression "iVar7 = *(int *)(param_1 + 8 + -uVar1)" identifier = (pointer_expression "*(int *)(param_1 + 8 + -uVar1)" * (cast_expression "(int *)(param_1 + 8 + -uVar1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8 + -uVar1)" ( (binary_expression "param_1 + 8 + -uVar1" (binary_expression "param_1 + 8" identifier + number_literal) + (unary_expression "-uVar1" - identifier)) ))))) ;) (expression_statement "uVar2 = (uint)(param_1 + 0xc) & 3;" (assignment_expression "uVar2 = (uint)(param_1 + 0xc) & 3" identifier = (binary_expression "(uint)(param_1 + 0xc) & 3" (call_expression "(uint)(param_1 + 0xc)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "iVar8 = *(int *)(param_1 + 0xc + -uVar2);" (assignment_expression "iVar8 = *(int *)(param_1 + 0xc + -uVar2)" identifier = (pointer_expression "*(int *)(param_1 + 0xc + -uVar2)" * (cast_expression "(int *)(param_1 + 0xc + -uVar2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc + -uVar2)" ( (binary_expression "param_1 + 0xc + -uVar2" (binary_expression "param_1 + 0xc" identifier + number_literal) + (unary_expression "-uVar2" - identifier)) ))))) ;) (expression_statement "uVar3 = (uint)(param_1 + 0x10) & 3;" (assignment_expression "uVar3 = (uint)(param_1 + 0x10) & 3" identifier = (binary_expression "(uint)(param_1 + 0x10) & 3" (call_expression "(uint)(param_1 + 0x10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "iVar9 = *(int *)(param_1 + 0x10 + -uVar3);" (assignment_expression "iVar9 = *(int *)(param_1 + 0x10 + -uVar3)" identifier = (pointer_expression "*(int *)(param_1 + 0x10 + -uVar3)" * (cast_expression "(int *)(param_1 + 0x10 + -uVar3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10 + -uVar3)" ( (binary_expression "param_1 + 0x10 + -uVar3" (binary_expression "param_1 + 0x10" identifier + number_literal) + (unary_expression "-uVar3" - identifier)) ))))) ;) (expression_statement "uVar33 = *(undefined4 *)(param_1 + 0x14);" (assignment_expression "uVar33 = *(undefined4 *)(param_1 + 0x14)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x14)" * (cast_expression "(undefined4 *)(param_1 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = (uint)(this + 0x10) & 3;" (assignment_expression "uVar4 = (uint)(this + 0x10) & 3" identifier = (binary_expression "(uint)(this + 0x10) & 3" (call_expression "(uint)(this + 0x10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(this + 0x10)" ( (binary_expression "this + 0x10" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "iVar10 = *(int *)(this + 0x10 + -uVar4);" (assignment_expression "iVar10 = *(int *)(this + 0x10 + -uVar4)" identifier = (pointer_expression "*(int *)(this + 0x10 + -uVar4)" * (cast_expression "(int *)(this + 0x10 + -uVar4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x10 + -uVar4)" ( (binary_expression "this + 0x10 + -uVar4" (binary_expression "this + 0x10" identifier + number_literal) + (unary_expression "-uVar4" - identifier)) ))))) ;) (expression_statement "uVar5 = (uint)(this + 0x14) & 3;" (assignment_expression "uVar5 = (uint)(this + 0x14) & 3" identifier = (binary_expression "(uint)(this + 0x14) & 3" (call_expression "(uint)(this + 0x14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(this + 0x14)" ( (binary_expression "this + 0x14" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "iVar11 = *(int *)(this + 0x14 + -uVar5);" (assignment_expression "iVar11 = *(int *)(this + 0x14 + -uVar5)" identifier = (pointer_expression "*(int *)(this + 0x14 + -uVar5)" * (cast_expression "(int *)(this + 0x14 + -uVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x14 + -uVar5)" ( (binary_expression "this + 0x14 + -uVar5" (binary_expression "this + 0x14" identifier + number_literal) + (unary_expression "-uVar5" - identifier)) ))))) ;) (expression_statement "uVar13 = (uint)(this + 0xb) & 3;" (assignment_expression "uVar13 = (uint)(this + 0xb) & 3" identifier = (binary_expression "(uint)(this + 0xb) & 3" (call_expression "(uint)(this + 0xb)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(this + 0xb)" ( (binary_expression "this + 0xb" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "uVar14 = (uint)(this + 0xf) & 3;" (assignment_expression "uVar14 = (uint)(this + 0xf) & 3" identifier = (binary_expression "(uint)(this + 0xf) & 3" (call_expression "(uint)(this + 0xf)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(this + 0xf)" ( (binary_expression "this + 0xf" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "uVar21 = *(uint *)(this + 0xf + -uVar14);" (assignment_expression "uVar21 = *(uint *)(this + 0xf + -uVar14)" identifier = (pointer_expression "*(uint *)(this + 0xf + -uVar14)" * (cast_expression "(uint *)(this + 0xf + -uVar14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xf + -uVar14)" ( (binary_expression "this + 0xf + -uVar14" (binary_expression "this + 0xf" identifier + number_literal) + (unary_expression "-uVar14" - identifier)) ))))) ;) (expression_statement "uVar15 = (uint)(param_1 + 0xb) & 3;" (assignment_expression "uVar15 = (uint)(param_1 + 0xb) & 3" identifier = (binary_expression "(uint)(param_1 + 0xb) & 3" (call_expression "(uint)(param_1 + 0xb)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_1 + 0xb)" ( (binary_expression "param_1 + 0xb" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "uVar22 = *(uint *)(param_1 + 0xb + -uVar15);" (assignment_expression "uVar22 = *(uint *)(param_1 + 0xb + -uVar15)" identifier = (pointer_expression "*(uint *)(param_1 + 0xb + -uVar15)" * (cast_expression "(uint *)(param_1 + 0xb + -uVar15)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xb + -uVar15)" ( (binary_expression "param_1 + 0xb + -uVar15" (binary_expression "param_1 + 0xb" identifier + number_literal) + (unary_expression "-uVar15" - identifier)) ))))) ;) (expression_statement "uVar16 = (uint)(param_1 + 0xf) & 3;" (assignment_expression "uVar16 = (uint)(param_1 + 0xf) & 3" identifier = (binary_expression "(uint)(param_1 + 0xf) & 3" (call_expression "(uint)(param_1 + 0xf)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_1 + 0xf)" ( (binary_expression "param_1 + 0xf" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "uVar23 = *(uint *)(param_1 + 0xf + -uVar16);" (assignment_expression "uVar23 = *(uint *)(param_1 + 0xf + -uVar16)" identifier = (pointer_expression "*(uint *)(param_1 + 0xf + -uVar16)" * (cast_expression "(uint *)(param_1 + 0xf + -uVar16)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf + -uVar16)" ( (binary_expression "param_1 + 0xf + -uVar16" (binary_expression "param_1 + 0xf" identifier + number_literal) + (unary_expression "-uVar16" - identifier)) ))))) ;) (expression_statement "uVar17 = (uint)(param_1 + 0x13) & 3;" (assignment_expression "uVar17 = (uint)(param_1 + 0x13) & 3" identifier = (binary_expression "(uint)(param_1 + 0x13) & 3" (call_expression "(uint)(param_1 + 0x13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_1 + 0x13)" ( (binary_expression "param_1 + 0x13" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);" (assignment_expression "uVar24 = *(uint *)(param_1 + 0x13 + -uVar17)" identifier = (pointer_expression "*(uint *)(param_1 + 0x13 + -uVar17)" * (cast_expression "(uint *)(param_1 + 0x13 + -uVar17)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x13 + -uVar17)" ( (binary_expression "param_1 + 0x13 + -uVar17" (binary_expression "param_1 + 0x13" identifier + number_literal) + (unary_expression "-uVar17" - identifier)) ))))) ;) (expression_statement "uVar18 = (uint)(this + 0x13) & 3;" (assignment_expression "uVar18 = (uint)(this + 0x13) & 3" identifier = (binary_expression "(uint)(this + 0x13) & 3" (call_expression "(uint)(this + 0x13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(this + 0x13)" ( (binary_expression "this + 0x13" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "uVar25 = *(uint *)(this + 0x13 + -uVar18);" (assignment_expression "uVar25 = *(uint *)(this + 0x13 + -uVar18)" identifier = (pointer_expression "*(uint *)(this + 0x13 + -uVar18)" * (cast_expression "(uint *)(this + 0x13 + -uVar18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x13 + -uVar18)" ( (binary_expression "this + 0x13 + -uVar18" (binary_expression "this + 0x13" identifier + number_literal) + (unary_expression "-uVar18" - identifier)) ))))) ;) (expression_statement "uVar19 = (uint)(this + 0x17) & 3;" (assignment_expression "uVar19 = (uint)(this + 0x17) & 3" identifier = (binary_expression "(uint)(this + 0x17) & 3" (call_expression "(uint)(this + 0x17)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(this + 0x17)" ( (binary_expression "this + 0x17" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "uVar26 = *(uint *)(this + 0x17 + -uVar19);" (assignment_expression "uVar26 = *(uint *)(this + 0x17 + -uVar19)" identifier = (pointer_expression "*(uint *)(this + 0x17 + -uVar19)" * (cast_expression "(uint *)(this + 0x17 + -uVar19)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x17 + -uVar19)" ( (binary_expression "this + 0x17 + -uVar19" (binary_expression "this + 0x17" identifier + number_literal) + (unary_expression "-uVar19" - identifier)) ))))) ;) (expression_statement "*(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;" (assignment_expression "*(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8" (pointer_expression "*(uint *)psVar27" * (cast_expression "(uint *)psVar27" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "(*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8" (binary_expression "(*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8" (parenthesized_expression "(*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)" ( (binary_expression "*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8" (binary_expression "*(int *)(psVar28 + -uVar12) << uVar12 * 8" (pointer_expression "*(int *)(psVar28 + -uVar12)" * (cast_expression "(int *)(psVar28 + -uVar12)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar28 + -uVar12)" ( (binary_expression "psVar28 + -uVar12" identifier + (unary_expression "-uVar12" - identifier)) )))) << (binary_expression "uVar12 * 8" identifier * number_literal)) | (binary_expression "in_t5 & 0xffffffffU >> (4 - uVar12) * 8" identifier & (binary_expression "0xffffffffU >> (4 - uVar12) * 8" number_literal >> (binary_expression "(4 - uVar12) * 8" (parenthesized_expression "(4 - uVar12)" ( (binary_expression "4 - uVar12" number_literal - identifier) )) * number_literal)))) )) & (binary_expression "-1 << (uVar13 + 1) * 8" number_literal << (binary_expression "(uVar13 + 1) * 8" (parenthesized_expression "(uVar13 + 1)" ( (binary_expression "uVar13 + 1" identifier + number_literal) )) * number_literal))) | (binary_expression "*(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8" (pointer_expression "*(uint *)(this + 0xb + -uVar13)" * (cast_expression "(uint *)(this + 0xb + -uVar13)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xb + -uVar13)" ( (binary_expression "this + 0xb + -uVar13" (binary_expression "this + 0xb" identifier + number_literal) + (unary_expression "-uVar13" - identifier)) )))) >> (binary_expression "(3 - uVar13) * 8" (parenthesized_expression "(3 - uVar13)" ( (binary_expression "3 - uVar13" number_literal - identifier) )) * number_literal)))) ;) (expression_statement "*(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;" (assignment_expression "*(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8" (pointer_expression "*(uint *)(param_1 + 0xc)" * (cast_expression "(uint *)(param_1 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) = (binary_expression "(iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8" (binary_expression "(iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8" (parenthesized_expression "(iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8)" ( (binary_expression "iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8" (binary_expression "iVar6 << uVar20 * 8" identifier << (binary_expression "uVar20 * 8" identifier * number_literal)) | (binary_expression "in_t4 & 0xffffffffU >> (4 - uVar20) * 8" identifier & (binary_expression "0xffffffffU >> (4 - uVar20) * 8" number_literal >> (binary_expression "(4 - uVar20) * 8" (parenthesized_expression "(4 - uVar20)" ( (binary_expression "4 - uVar20" number_literal - identifier) )) * number_literal)))) )) & (binary_expression "-1 << (uVar14 + 1) * 8" number_literal << (binary_expression "(uVar14 + 1) * 8" (parenthesized_expression "(uVar14 + 1)" ( (binary_expression "uVar14 + 1" identifier + number_literal) )) * number_literal))) | (binary_expression "uVar21 >> (3 - uVar14) * 8" identifier >> (binary_expression "(3 - uVar14) * 8" (parenthesized_expression "(3 - uVar14)" ( (binary_expression "3 - uVar14" number_literal - identifier) )) * number_literal)))) ;) (expression_statement "*(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;" (assignment_expression "*(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8" (pointer_expression "*(uint *)(param_1 + 0x10)" * (cast_expression "(uint *)(param_1 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) = (binary_expression "(iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8" (binary_expression "(iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8" (parenthesized_expression "(iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8)" ( (binary_expression "iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8" (binary_expression "iVar10 << uVar4 * 8" identifier << (binary_expression "uVar4 * 8" identifier * number_literal)) | (binary_expression "in_t3 & 0xffffffffU >> (4 - uVar4) * 8" identifier & (binary_expression "0xffffffffU >> (4 - uVar4) * 8" number_literal >> (binary_expression "(4 - uVar4) * 8" (parenthesized_expression "(4 - uVar4)" ( (binary_expression "4 - uVar4" number_literal - identifier) )) * number_literal)))) )) & (binary_expression "-1 << (uVar18 + 1) * 8" number_literal << (binary_expression "(uVar18 + 1) * 8" (parenthesized_expression "(uVar18 + 1)" ( (binary_expression "uVar18 + 1" identifier + number_literal) )) * number_literal))) | (binary_expression "uVar25 >> (3 - uVar18) * 8" identifier >> (binary_expression "(3 - uVar18) * 8" (parenthesized_expression "(3 - uVar18)" ( (binary_expression "3 - uVar18" number_literal - identifier) )) * number_literal)))) ;) (expression_statement "*(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;" (assignment_expression "*(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8" (pointer_expression "*(uint *)(param_1 + 0x14)" * (cast_expression "(uint *)(param_1 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) = (binary_expression "(iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8" (binary_expression "(iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8" (parenthesized_expression "(iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8)" ( (binary_expression "iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8" (binary_expression "iVar11 << uVar5 * 8" identifier << (binary_expression "uVar5 * 8" identifier * number_literal)) | (binary_expression "in_t2 & 0xffffffffU >> (4 - uVar5) * 8" identifier & (binary_expression "0xffffffffU >> (4 - uVar5) * 8" number_literal >> (binary_expression "(4 - uVar5) * 8" (parenthesized_expression "(4 - uVar5)" ( (binary_expression "4 - uVar5" number_literal - identifier) )) * number_literal)))) )) & (binary_expression "-1 << (uVar19 + 1) * 8" number_literal << (binary_expression "(uVar19 + 1) * 8" (parenthesized_expression "(uVar19 + 1)" ( (binary_expression "uVar19 + 1" identifier + number_literal) )) * number_literal))) | (binary_expression "uVar26 >> (3 - uVar19) * 8" identifier >> (binary_expression "(3 - uVar19) * 8" (parenthesized_expression "(3 - uVar19)" ( (binary_expression "3 - uVar19" number_literal - identifier) )) * number_literal)))) ;) (expression_statement "*(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;" (assignment_expression "*(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8" (pointer_expression "*(uint *)(this + 8)" * (cast_expression "(uint *)(this + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 8)" ( (binary_expression "this + 8" identifier + number_literal) )))) = (binary_expression "(iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8" (binary_expression "(iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8" (parenthesized_expression "(iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8)" ( (binary_expression "iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8" (binary_expression "iVar7 << uVar1 * 8" identifier << (binary_expression "uVar1 * 8" identifier * number_literal)) | (binary_expression "in_t1 & 0xffffffffU >> (4 - uVar1) * 8" identifier & (binary_expression "0xffffffffU >> (4 - uVar1) * 8" number_literal >> (binary_expression "(4 - uVar1) * 8" (parenthesized_expression "(4 - uVar1)" ( (binary_expression "4 - uVar1" number_literal - identifier) )) * number_literal)))) )) & (binary_expression "-1 << (uVar15 + 1) * 8" number_literal << (binary_expression "(uVar15 + 1) * 8" (parenthesized_expression "(uVar15 + 1)" ( (binary_expression "uVar15 + 1" identifier + number_literal) )) * number_literal))) | (binary_expression "uVar22 >> (3 - uVar15) * 8" identifier >> (binary_expression "(3 - uVar15) * 8" (parenthesized_expression "(3 - uVar15)" ( (binary_expression "3 - uVar15" number_literal - identifier) )) * number_literal)))) ;) (expression_statement "*(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;" (assignment_expression "*(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8" (pointer_expression "*(uint *)(this + 0xc)" * (cast_expression "(uint *)(this + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xc)" ( (binary_expression "this + 0xc" identifier + number_literal) )))) = (binary_expression "(iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8" (binary_expression "(iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8" (parenthesized_expression "(iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8)" ( (binary_expression "iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8" (binary_expression "iVar8 << uVar2 * 8" identifier << (binary_expression "uVar2 * 8" identifier * number_literal)) | (binary_expression "in_t0 & 0xffffffffU >> (4 - uVar2) * 8" identifier & (binary_expression "0xffffffffU >> (4 - uVar2) * 8" number_literal >> (binary_expression "(4 - uVar2) * 8" (parenthesized_expression "(4 - uVar2)" ( (binary_expression "4 - uVar2" number_literal - identifier) )) * number_literal)))) )) & (binary_expression "-1 << (uVar16 + 1) * 8" number_literal << (binary_expression "(uVar16 + 1) * 8" (parenthesized_expression "(uVar16 + 1)" ( (binary_expression "uVar16 + 1" identifier + number_literal) )) * number_literal))) | (binary_expression "uVar23 >> (3 - uVar16) * 8" identifier >> (binary_expression "(3 - uVar16) * 8" (parenthesized_expression "(3 - uVar16)" ( (binary_expression "3 - uVar16" number_literal - identifier) )) * number_literal)))) ;) (expression_statement "*(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;" (assignment_expression "*(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8" (pointer_expression "*(uint *)(this + 0x10)" * (cast_expression "(uint *)(this + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x10)" ( (binary_expression "this + 0x10" identifier + number_literal) )))) = (binary_expression "(iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8" (binary_expression "(iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8" (parenthesized_expression "(iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8)" ( (binary_expression "iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8" (binary_expression "iVar9 << uVar3 * 8" identifier << (binary_expression "uVar3 * 8" identifier * number_literal)) | (binary_expression "uVar32 & 0xffffffffU >> (4 - uVar3) * 8" identifier & (binary_expression "0xffffffffU >> (4 - uVar3) * 8" number_literal >> (binary_expression "(4 - uVar3) * 8" (parenthesized_expression "(4 - uVar3)" ( (binary_expression "4 - uVar3" number_literal - identifier) )) * number_literal)))) )) & (binary_expression "-1 << (uVar17 + 1) * 8" number_literal << (binary_expression "(uVar17 + 1) * 8" (parenthesized_expression "(uVar17 + 1)" ( (binary_expression "uVar17 + 1" identifier + number_literal) )) * number_literal))) | (binary_expression "uVar24 >> (3 - uVar17) * 8" identifier >> (binary_expression "(3 - uVar17) * 8" (parenthesized_expression "(3 - uVar17)" ( (binary_expression "3 - uVar17" number_literal - identifier) )) * number_literal)))) ;) (expression_statement "*(undefined4 *)(this + 0x14) = uVar33;" (assignment_expression "*(undefined4 *)(this + 0x14) = uVar33" (pointer_expression "*(undefined4 *)(this + 0x14)" * (cast_expression "(undefined4 *)(this + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x14)" ( (binary_expression "this + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar33 = *(undefined4 *)(this + 4);" (assignment_expression "uVar33 = *(undefined4 *)(this + 4)" identifier = (pointer_expression "*(undefined4 *)(this + 4)" * (cast_expression "(undefined4 *)(this + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);" (assignment_expression "*(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4)" (pointer_expression "*(undefined4 *)(this + 4)" * (cast_expression "(undefined4 *)(this + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(param_1 + 4) = uVar33;" (assignment_expression "*(undefined4 *)(param_1 + 4) = uVar33" (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = identifier) ;) }))))) }) (else_clause "else {\n        uVar30 = *(undefined4 *)(this + 0xc);\n        uVar32 = (uint)(this + 0x10) & 3;\n        iVar6 = *(int *)(this + 0x10 + -uVar32);\n        uVar33 = *(undefined4 *)(this + 0x14);\n        uVar34 = *(undefined4 *)(param_1 + 8);\n        uVar12 = (uint)(this + 0x13) & 3;\n        uVar20 = *(uint *)(this + 0x13 + -uVar12);\n        *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n        *(undefined4 *)(param_1 + 0xc) = uVar30;\n        *(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;\n        *(undefined4 *)(param_1 + 0x14) = uVar33;\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar27;\n        *(undefined4 *)(this + 8) = uVar34;\n        uVar33 = *(undefined4 *)(this + 4);\n        *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n        *(undefined4 *)(param_1 + 4) = uVar33;\n      }" else (compound_statement "{\n        uVar30 = *(undefined4 *)(this + 0xc);\n        uVar32 = (uint)(this + 0x10) & 3;\n        iVar6 = *(int *)(this + 0x10 + -uVar32);\n        uVar33 = *(undefined4 *)(this + 0x14);\n        uVar34 = *(undefined4 *)(param_1 + 8);\n        uVar12 = (uint)(this + 0x13) & 3;\n        uVar20 = *(uint *)(this + 0x13 + -uVar12);\n        *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n        *(undefined4 *)(param_1 + 0xc) = uVar30;\n        *(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;\n        *(undefined4 *)(param_1 + 0x14) = uVar33;\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar27;\n        *(undefined4 *)(this + 8) = uVar34;\n        uVar33 = *(undefined4 *)(this + 4);\n        *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n        *(undefined4 *)(param_1 + 4) = uVar33;\n      }" { (expression_statement "uVar30 = *(undefined4 *)(this + 0xc);" (assignment_expression "uVar30 = *(undefined4 *)(this + 0xc)" identifier = (pointer_expression "*(undefined4 *)(this + 0xc)" * (cast_expression "(undefined4 *)(this + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xc)" ( (binary_expression "this + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar32 = (uint)(this + 0x10) & 3;" (assignment_expression "uVar32 = (uint)(this + 0x10) & 3" identifier = (binary_expression "(uint)(this + 0x10) & 3" (call_expression "(uint)(this + 0x10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(this + 0x10)" ( (binary_expression "this + 0x10" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "iVar6 = *(int *)(this + 0x10 + -uVar32);" (assignment_expression "iVar6 = *(int *)(this + 0x10 + -uVar32)" identifier = (pointer_expression "*(int *)(this + 0x10 + -uVar32)" * (cast_expression "(int *)(this + 0x10 + -uVar32)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x10 + -uVar32)" ( (binary_expression "this + 0x10 + -uVar32" (binary_expression "this + 0x10" identifier + number_literal) + (unary_expression "-uVar32" - identifier)) ))))) ;) (expression_statement "uVar33 = *(undefined4 *)(this + 0x14);" (assignment_expression "uVar33 = *(undefined4 *)(this + 0x14)" identifier = (pointer_expression "*(undefined4 *)(this + 0x14)" * (cast_expression "(undefined4 *)(this + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x14)" ( (binary_expression "this + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar34 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar34 = *(undefined4 *)(param_1 + 8)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 8)" * (cast_expression "(undefined4 *)(param_1 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = (uint)(this + 0x13) & 3;" (assignment_expression "uVar12 = (uint)(this + 0x13) & 3" identifier = (binary_expression "(uint)(this + 0x13) & 3" (call_expression "(uint)(this + 0x13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(this + 0x13)" ( (binary_expression "this + 0x13" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "uVar20 = *(uint *)(this + 0x13 + -uVar12);" (assignment_expression "uVar20 = *(uint *)(this + 0x13 + -uVar12)" identifier = (pointer_expression "*(uint *)(this + 0x13 + -uVar12)" * (cast_expression "(uint *)(this + 0x13 + -uVar12)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x13 + -uVar12)" ( (binary_expression "this + 0x13 + -uVar12" (binary_expression "this + 0x13" identifier + number_literal) + (unary_expression "-uVar12" - identifier)) ))))) ;) (expression_statement "*(undefined4 *)psVar27 = *(undefined4 *)psVar28;" (assignment_expression "*(undefined4 *)psVar27 = *(undefined4 *)psVar28" (pointer_expression "*(undefined4 *)psVar27" * (cast_expression "(undefined4 *)psVar27" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined4 *)psVar28" * (cast_expression "(undefined4 *)psVar28" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 *)(param_1 + 0xc) = uVar30;" (assignment_expression "*(undefined4 *)(param_1 + 0xc) = uVar30" (pointer_expression "*(undefined4 *)(param_1 + 0xc)" * (cast_expression "(undefined4 *)(param_1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;" (assignment_expression "*(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8" (pointer_expression "*(uint *)(param_1 + 0x10)" * (cast_expression "(uint *)(param_1 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) = (binary_expression "(iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8" (binary_expression "(iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8" (parenthesized_expression "(iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8)" ( (binary_expression "iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8" (binary_expression "iVar6 << uVar32 * 8" identifier << (binary_expression "uVar32 * 8" identifier * number_literal)) | (binary_expression "in_t0 & 0xffffffffU >> (4 - uVar32) * 8" identifier & (binary_expression "0xffffffffU >> (4 - uVar32) * 8" number_literal >> (binary_expression "(4 - uVar32) * 8" (parenthesized_expression "(4 - uVar32)" ( (binary_expression "4 - uVar32" number_literal - identifier) )) * number_literal)))) )) & (binary_expression "-1 << (uVar12 + 1) * 8" number_literal << (binary_expression "(uVar12 + 1) * 8" (parenthesized_expression "(uVar12 + 1)" ( (binary_expression "uVar12 + 1" identifier + number_literal) )) * number_literal))) | (binary_expression "uVar20 >> (3 - uVar12) * 8" identifier >> (binary_expression "(3 - uVar12) * 8" (parenthesized_expression "(3 - uVar12)" ( (binary_expression "3 - uVar12" number_literal - identifier) )) * number_literal)))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x14) = uVar33;" (assignment_expression "*(undefined4 *)(param_1 + 0x14) = uVar33" (pointer_expression "*(undefined4 *)(param_1 + 0x14)" * (cast_expression "(undefined4 *)(param_1 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(string **)this = psVar29;" (assignment_expression "*(string **)this = psVar29" (pointer_expression "*(string **)this" * (cast_expression "(string **)this" ( (type_descriptor "string **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "*(string **)param_1 = psVar27;" (assignment_expression "*(string **)param_1 = psVar27" (pointer_expression "*(string **)param_1" * (cast_expression "(string **)param_1" ( (type_descriptor "string **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "*(undefined4 *)(this + 8) = uVar34;" (assignment_expression "*(undefined4 *)(this + 8) = uVar34" (pointer_expression "*(undefined4 *)(this + 8)" * (cast_expression "(undefined4 *)(this + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 8)" ( (binary_expression "this + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar33 = *(undefined4 *)(this + 4);" (assignment_expression "uVar33 = *(undefined4 *)(this + 4)" identifier = (pointer_expression "*(undefined4 *)(this + 4)" * (cast_expression "(undefined4 *)(this + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);" (assignment_expression "*(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4)" (pointer_expression "*(undefined4 *)(this + 4)" * (cast_expression "(undefined4 *)(this + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(param_1 + 4) = uVar33;" (assignment_expression "*(undefined4 *)(param_1 + 4) = uVar33" (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = identifier) ;) }))) }) (else_clause "else {\n      uVar33 = *(undefined4 *)(this + 8);\n      if (psVar27 == psVar29) {\n        uVar35 = *(undefined4 *)(param_1 + 0xc);\n        uVar34 = *(undefined4 *)(param_1 + 0x10);\n        uVar30 = *(undefined4 *)(param_1 + 0x14);\n        *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n        *(undefined4 *)(this + 0xc) = uVar35;\n        *(undefined4 *)(this + 0x10) = uVar34;\n        *(undefined4 *)(this + 0x14) = uVar30;\n        *(string **)param_1 = psVar31;\n        *(string **)this = psVar28;\n      }\n      else {\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar31;\n        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);\n      }\n      *(undefined4 *)(param_1 + 8) = uVar33;\n      uVar33 = *(undefined4 *)(this + 4);\n      *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n      *(undefined4 *)(param_1 + 4) = uVar33;\n    }" else (compound_statement "{\n      uVar33 = *(undefined4 *)(this + 8);\n      if (psVar27 == psVar29) {\n        uVar35 = *(undefined4 *)(param_1 + 0xc);\n        uVar34 = *(undefined4 *)(param_1 + 0x10);\n        uVar30 = *(undefined4 *)(param_1 + 0x14);\n        *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n        *(undefined4 *)(this + 0xc) = uVar35;\n        *(undefined4 *)(this + 0x10) = uVar34;\n        *(undefined4 *)(this + 0x14) = uVar30;\n        *(string **)param_1 = psVar31;\n        *(string **)this = psVar28;\n      }\n      else {\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar31;\n        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);\n      }\n      *(undefined4 *)(param_1 + 8) = uVar33;\n      uVar33 = *(undefined4 *)(this + 4);\n      *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n      *(undefined4 *)(param_1 + 4) = uVar33;\n    }" { (expression_statement "uVar33 = *(undefined4 *)(this + 8);" (assignment_expression "uVar33 = *(undefined4 *)(this + 8)" identifier = (pointer_expression "*(undefined4 *)(this + 8)" * (cast_expression "(undefined4 *)(this + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 8)" ( (binary_expression "this + 8" identifier + number_literal) ))))) ;) (if_statement "if (psVar27 == psVar29) {\n        uVar35 = *(undefined4 *)(param_1 + 0xc);\n        uVar34 = *(undefined4 *)(param_1 + 0x10);\n        uVar30 = *(undefined4 *)(param_1 + 0x14);\n        *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n        *(undefined4 *)(this + 0xc) = uVar35;\n        *(undefined4 *)(this + 0x10) = uVar34;\n        *(undefined4 *)(this + 0x14) = uVar30;\n        *(string **)param_1 = psVar31;\n        *(string **)this = psVar28;\n      }\n      else {\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar31;\n        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);\n      }" if (parenthesized_expression "(psVar27 == psVar29)" ( (binary_expression "psVar27 == psVar29" identifier == identifier) )) (compound_statement "{\n        uVar35 = *(undefined4 *)(param_1 + 0xc);\n        uVar34 = *(undefined4 *)(param_1 + 0x10);\n        uVar30 = *(undefined4 *)(param_1 + 0x14);\n        *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n        *(undefined4 *)(this + 0xc) = uVar35;\n        *(undefined4 *)(this + 0x10) = uVar34;\n        *(undefined4 *)(this + 0x14) = uVar30;\n        *(string **)param_1 = psVar31;\n        *(string **)this = psVar28;\n      }" { (expression_statement "uVar35 = *(undefined4 *)(param_1 + 0xc);" (assignment_expression "uVar35 = *(undefined4 *)(param_1 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0xc)" * (cast_expression "(undefined4 *)(param_1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar34 = *(undefined4 *)(param_1 + 0x10);" (assignment_expression "uVar34 = *(undefined4 *)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar30 = *(undefined4 *)(param_1 + 0x14);" (assignment_expression "uVar30 = *(undefined4 *)(param_1 + 0x14)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x14)" * (cast_expression "(undefined4 *)(param_1 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)psVar28 = *(undefined4 *)psVar27;" (assignment_expression "*(undefined4 *)psVar28 = *(undefined4 *)psVar27" (pointer_expression "*(undefined4 *)psVar28" * (cast_expression "(undefined4 *)psVar28" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined4 *)psVar27" * (cast_expression "(undefined4 *)psVar27" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 *)(this + 0xc) = uVar35;" (assignment_expression "*(undefined4 *)(this + 0xc) = uVar35" (pointer_expression "*(undefined4 *)(this + 0xc)" * (cast_expression "(undefined4 *)(this + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xc)" ( (binary_expression "this + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(this + 0x10) = uVar34;" (assignment_expression "*(undefined4 *)(this + 0x10) = uVar34" (pointer_expression "*(undefined4 *)(this + 0x10)" * (cast_expression "(undefined4 *)(this + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x10)" ( (binary_expression "this + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(this + 0x14) = uVar30;" (assignment_expression "*(undefined4 *)(this + 0x14) = uVar30" (pointer_expression "*(undefined4 *)(this + 0x14)" * (cast_expression "(undefined4 *)(this + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x14)" ( (binary_expression "this + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(string **)param_1 = psVar31;" (assignment_expression "*(string **)param_1 = psVar31" (pointer_expression "*(string **)param_1" * (cast_expression "(string **)param_1" ( (type_descriptor "string **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "*(string **)this = psVar28;" (assignment_expression "*(string **)this = psVar28" (pointer_expression "*(string **)this" * (cast_expression "(string **)this" ( (type_descriptor "string **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) }) (else_clause "else {\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar31;\n        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);\n      }" else (compound_statement "{\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar31;\n        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);\n      }" { (expression_statement "*(string **)this = psVar29;" (assignment_expression "*(string **)this = psVar29" (pointer_expression "*(string **)this" * (cast_expression "(string **)this" ( (type_descriptor "string **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "*(string **)param_1 = psVar31;" (assignment_expression "*(string **)param_1 = psVar31" (pointer_expression "*(string **)param_1" * (cast_expression "(string **)param_1" ( (type_descriptor "string **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "*(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);" (assignment_expression "*(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8)" (pointer_expression "*(undefined4 *)(this + 8)" * (cast_expression "(undefined4 *)(this + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 8)" ( (binary_expression "this + 8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + 8)" * (cast_expression "(undefined4 *)(param_1 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) }))) (expression_statement "*(undefined4 *)(param_1 + 8) = uVar33;" (assignment_expression "*(undefined4 *)(param_1 + 8) = uVar33" (pointer_expression "*(undefined4 *)(param_1 + 8)" * (cast_expression "(undefined4 *)(param_1 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar33 = *(undefined4 *)(this + 4);" (assignment_expression "uVar33 = *(undefined4 *)(this + 4)" identifier = (pointer_expression "*(undefined4 *)(this + 4)" * (cast_expression "(undefined4 *)(this + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);" (assignment_expression "*(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4)" (pointer_expression "*(undefined4 *)(this + 4)" * (cast_expression "(undefined4 *)(this + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(param_1 + 4) = uVar33;" (assignment_expression "*(undefined4 *)(param_1 + 4) = uVar33" (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = identifier) ;) }))) })) (return_statement "return;" return ;) })))
(translation_unit "/* std::string::swap(std::string&) */\n\nvoid __thiscall std::string::swap(string *this,string *param_1)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  uint uVar15;\n  uint uVar16;\n  uint uVar17;\n  uint uVar18;\n  uint uVar19;\n  uint uVar20;\n  uint uVar21;\n  uint uVar22;\n  uint uVar23;\n  uint uVar24;\n  uint uVar25;\n  uint uVar26;\n  string *psVar27;\n  string *psVar28;\n  string *psVar29;\n  undefined4 uVar30;\n  string *psVar31;\n  uint uVar32;\n  uint in_t0;\n  undefined4 uVar33;\n  uint in_t1;\n  undefined4 uVar34;\n  uint in_t2;\n  undefined4 uVar35;\n  uint in_t3;\n  uint in_t4;\n  uint in_t5;\n  \n  if (this != param_1) {\n    psVar31 = *(string **)this;\n    psVar28 = this + 8;\n    psVar29 = *(string **)param_1;\n    psVar27 = param_1 + 8;\n    if (psVar28 == psVar31) {\n      if (psVar27 == psVar29) {\n        uVar32 = *(uint *)(this + 4);\n        if (uVar32 == 0) {\n          if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }\n        }\n        else if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }\n      }\n      else {\n        uVar30 = *(undefined4 *)(this + 0xc);\n        uVar32 = (uint)(this + 0x10) & 3;\n        iVar6 = *(int *)(this + 0x10 + -uVar32);\n        uVar33 = *(undefined4 *)(this + 0x14);\n        uVar34 = *(undefined4 *)(param_1 + 8);\n        uVar12 = (uint)(this + 0x13) & 3;\n        uVar20 = *(uint *)(this + 0x13 + -uVar12);\n        *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n        *(undefined4 *)(param_1 + 0xc) = uVar30;\n        *(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;\n        *(undefined4 *)(param_1 + 0x14) = uVar33;\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar27;\n        *(undefined4 *)(this + 8) = uVar34;\n        uVar33 = *(undefined4 *)(this + 4);\n        *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n        *(undefined4 *)(param_1 + 4) = uVar33;\n      }\n    }\n    else {\n      uVar33 = *(undefined4 *)(this + 8);\n      if (psVar27 == psVar29) {\n        uVar35 = *(undefined4 *)(param_1 + 0xc);\n        uVar34 = *(undefined4 *)(param_1 + 0x10);\n        uVar30 = *(undefined4 *)(param_1 + 0x14);\n        *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n        *(undefined4 *)(this + 0xc) = uVar35;\n        *(undefined4 *)(this + 0x10) = uVar34;\n        *(undefined4 *)(this + 0x14) = uVar30;\n        *(string **)param_1 = psVar31;\n        *(string **)this = psVar28;\n      }\n      else {\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar31;\n        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);\n      }\n      *(undefined4 *)(param_1 + 8) = uVar33;\n      uVar33 = *(undefined4 *)(this + 4);\n      *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n      *(undefined4 *)(param_1 + 4) = uVar33;\n    }\n  }\n  return;\n}\n\n" comment (function_definition "void __thiscall std::string::swap(string *this,string *param_1)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  uint uVar15;\n  uint uVar16;\n  uint uVar17;\n  uint uVar18;\n  uint uVar19;\n  uint uVar20;\n  uint uVar21;\n  uint uVar22;\n  uint uVar23;\n  uint uVar24;\n  uint uVar25;\n  uint uVar26;\n  string *psVar27;\n  string *psVar28;\n  string *psVar29;\n  undefined4 uVar30;\n  string *psVar31;\n  uint uVar32;\n  uint in_t0;\n  undefined4 uVar33;\n  uint in_t1;\n  undefined4 uVar34;\n  uint in_t2;\n  undefined4 uVar35;\n  uint in_t3;\n  uint in_t4;\n  uint in_t5;\n  \n  if (this != param_1) {\n    psVar31 = *(string **)this;\n    psVar28 = this + 8;\n    psVar29 = *(string **)param_1;\n    psVar27 = param_1 + 8;\n    if (psVar28 == psVar31) {\n      if (psVar27 == psVar29) {\n        uVar32 = *(uint *)(this + 4);\n        if (uVar32 == 0) {\n          if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }\n        }\n        else if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }\n      }\n      else {\n        uVar30 = *(undefined4 *)(this + 0xc);\n        uVar32 = (uint)(this + 0x10) & 3;\n        iVar6 = *(int *)(this + 0x10 + -uVar32);\n        uVar33 = *(undefined4 *)(this + 0x14);\n        uVar34 = *(undefined4 *)(param_1 + 8);\n        uVar12 = (uint)(this + 0x13) & 3;\n        uVar20 = *(uint *)(this + 0x13 + -uVar12);\n        *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n        *(undefined4 *)(param_1 + 0xc) = uVar30;\n        *(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;\n        *(undefined4 *)(param_1 + 0x14) = uVar33;\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar27;\n        *(undefined4 *)(this + 8) = uVar34;\n        uVar33 = *(undefined4 *)(this + 4);\n        *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n        *(undefined4 *)(param_1 + 4) = uVar33;\n      }\n    }\n    else {\n      uVar33 = *(undefined4 *)(this + 8);\n      if (psVar27 == psVar29) {\n        uVar35 = *(undefined4 *)(param_1 + 0xc);\n        uVar34 = *(undefined4 *)(param_1 + 0x10);\n        uVar30 = *(undefined4 *)(param_1 + 0x14);\n        *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n        *(undefined4 *)(this + 0xc) = uVar35;\n        *(undefined4 *)(this + 0x10) = uVar34;\n        *(undefined4 *)(this + 0x14) = uVar30;\n        *(string **)param_1 = psVar31;\n        *(string **)this = psVar28;\n      }\n      else {\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar31;\n        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);\n      }\n      *(undefined4 *)(param_1 + 8) = uVar33;\n      uVar33 = *(undefined4 *)(this + 4);\n      *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n      *(undefined4 *)(param_1 + 4) = uVar33;\n    }\n  }\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "std::string::" identifier : : identifier : :) (function_declarator "swap(string *this,string *param_1)" identifier (parameter_list "(string *this,string *param_1)" ( (parameter_declaration "string *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "string *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  uint uVar15;\n  uint uVar16;\n  uint uVar17;\n  uint uVar18;\n  uint uVar19;\n  uint uVar20;\n  uint uVar21;\n  uint uVar22;\n  uint uVar23;\n  uint uVar24;\n  uint uVar25;\n  uint uVar26;\n  string *psVar27;\n  string *psVar28;\n  string *psVar29;\n  undefined4 uVar30;\n  string *psVar31;\n  uint uVar32;\n  uint in_t0;\n  undefined4 uVar33;\n  uint in_t1;\n  undefined4 uVar34;\n  uint in_t2;\n  undefined4 uVar35;\n  uint in_t3;\n  uint in_t4;\n  uint in_t5;\n  \n  if (this != param_1) {\n    psVar31 = *(string **)this;\n    psVar28 = this + 8;\n    psVar29 = *(string **)param_1;\n    psVar27 = param_1 + 8;\n    if (psVar28 == psVar31) {\n      if (psVar27 == psVar29) {\n        uVar32 = *(uint *)(this + 4);\n        if (uVar32 == 0) {\n          if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }\n        }\n        else if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }\n      }\n      else {\n        uVar30 = *(undefined4 *)(this + 0xc);\n        uVar32 = (uint)(this + 0x10) & 3;\n        iVar6 = *(int *)(this + 0x10 + -uVar32);\n        uVar33 = *(undefined4 *)(this + 0x14);\n        uVar34 = *(undefined4 *)(param_1 + 8);\n        uVar12 = (uint)(this + 0x13) & 3;\n        uVar20 = *(uint *)(this + 0x13 + -uVar12);\n        *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n        *(undefined4 *)(param_1 + 0xc) = uVar30;\n        *(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;\n        *(undefined4 *)(param_1 + 0x14) = uVar33;\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar27;\n        *(undefined4 *)(this + 8) = uVar34;\n        uVar33 = *(undefined4 *)(this + 4);\n        *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n        *(undefined4 *)(param_1 + 4) = uVar33;\n      }\n    }\n    else {\n      uVar33 = *(undefined4 *)(this + 8);\n      if (psVar27 == psVar29) {\n        uVar35 = *(undefined4 *)(param_1 + 0xc);\n        uVar34 = *(undefined4 *)(param_1 + 0x10);\n        uVar30 = *(undefined4 *)(param_1 + 0x14);\n        *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n        *(undefined4 *)(this + 0xc) = uVar35;\n        *(undefined4 *)(this + 0x10) = uVar34;\n        *(undefined4 *)(this + 0x14) = uVar30;\n        *(string **)param_1 = psVar31;\n        *(string **)this = psVar28;\n      }\n      else {\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar31;\n        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);\n      }\n      *(undefined4 *)(param_1 + 8) = uVar33;\n      uVar33 = *(undefined4 *)(this + 4);\n      *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n      *(undefined4 *)(param_1 + 4) = uVar33;\n    }\n  }\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "uint uVar23;" type_identifier identifier ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "uint uVar25;" type_identifier identifier ;) (declaration "uint uVar26;" type_identifier identifier ;) (declaration "string *psVar27;" type_identifier (pointer_declarator "*psVar27" * identifier) ;) (declaration "string *psVar28;" type_identifier (pointer_declarator "*psVar28" * identifier) ;) (declaration "string *psVar29;" type_identifier (pointer_declarator "*psVar29" * identifier) ;) (declaration "undefined4 uVar30;" type_identifier identifier ;) (declaration "string *psVar31;" type_identifier (pointer_declarator "*psVar31" * identifier) ;) (declaration "uint uVar32;" type_identifier identifier ;) (declaration "uint in_t0;" type_identifier identifier ;) (declaration "undefined4 uVar33;" type_identifier identifier ;) (declaration "uint in_t1;" type_identifier identifier ;) (declaration "undefined4 uVar34;" type_identifier identifier ;) (declaration "uint in_t2;" type_identifier identifier ;) (declaration "undefined4 uVar35;" type_identifier identifier ;) (declaration "uint in_t3;" type_identifier identifier ;) (declaration "uint in_t4;" type_identifier identifier ;) (declaration "uint in_t5;" type_identifier identifier ;) (if_statement "if (this != param_1) {\n    psVar31 = *(string **)this;\n    psVar28 = this + 8;\n    psVar29 = *(string **)param_1;\n    psVar27 = param_1 + 8;\n    if (psVar28 == psVar31) {\n      if (psVar27 == psVar29) {\n        uVar32 = *(uint *)(this + 4);\n        if (uVar32 == 0) {\n          if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }\n        }\n        else if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }\n      }\n      else {\n        uVar30 = *(undefined4 *)(this + 0xc);\n        uVar32 = (uint)(this + 0x10) & 3;\n        iVar6 = *(int *)(this + 0x10 + -uVar32);\n        uVar33 = *(undefined4 *)(this + 0x14);\n        uVar34 = *(undefined4 *)(param_1 + 8);\n        uVar12 = (uint)(this + 0x13) & 3;\n        uVar20 = *(uint *)(this + 0x13 + -uVar12);\n        *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n        *(undefined4 *)(param_1 + 0xc) = uVar30;\n        *(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;\n        *(undefined4 *)(param_1 + 0x14) = uVar33;\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar27;\n        *(undefined4 *)(this + 8) = uVar34;\n        uVar33 = *(undefined4 *)(this + 4);\n        *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n        *(undefined4 *)(param_1 + 4) = uVar33;\n      }\n    }\n    else {\n      uVar33 = *(undefined4 *)(this + 8);\n      if (psVar27 == psVar29) {\n        uVar35 = *(undefined4 *)(param_1 + 0xc);\n        uVar34 = *(undefined4 *)(param_1 + 0x10);\n        uVar30 = *(undefined4 *)(param_1 + 0x14);\n        *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n        *(undefined4 *)(this + 0xc) = uVar35;\n        *(undefined4 *)(this + 0x10) = uVar34;\n        *(undefined4 *)(this + 0x14) = uVar30;\n        *(string **)param_1 = psVar31;\n        *(string **)this = psVar28;\n      }\n      else {\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar31;\n        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);\n      }\n      *(undefined4 *)(param_1 + 8) = uVar33;\n      uVar33 = *(undefined4 *)(this + 4);\n      *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n      *(undefined4 *)(param_1 + 4) = uVar33;\n    }\n  }" if (parenthesized_expression "(this != param_1)" ( (binary_expression "this != param_1" identifier != identifier) )) (compound_statement "{\n    psVar31 = *(string **)this;\n    psVar28 = this + 8;\n    psVar29 = *(string **)param_1;\n    psVar27 = param_1 + 8;\n    if (psVar28 == psVar31) {\n      if (psVar27 == psVar29) {\n        uVar32 = *(uint *)(this + 4);\n        if (uVar32 == 0) {\n          if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }\n        }\n        else if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }\n      }\n      else {\n        uVar30 = *(undefined4 *)(this + 0xc);\n        uVar32 = (uint)(this + 0x10) & 3;\n        iVar6 = *(int *)(this + 0x10 + -uVar32);\n        uVar33 = *(undefined4 *)(this + 0x14);\n        uVar34 = *(undefined4 *)(param_1 + 8);\n        uVar12 = (uint)(this + 0x13) & 3;\n        uVar20 = *(uint *)(this + 0x13 + -uVar12);\n        *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n        *(undefined4 *)(param_1 + 0xc) = uVar30;\n        *(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;\n        *(undefined4 *)(param_1 + 0x14) = uVar33;\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar27;\n        *(undefined4 *)(this + 8) = uVar34;\n        uVar33 = *(undefined4 *)(this + 4);\n        *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n        *(undefined4 *)(param_1 + 4) = uVar33;\n      }\n    }\n    else {\n      uVar33 = *(undefined4 *)(this + 8);\n      if (psVar27 == psVar29) {\n        uVar35 = *(undefined4 *)(param_1 + 0xc);\n        uVar34 = *(undefined4 *)(param_1 + 0x10);\n        uVar30 = *(undefined4 *)(param_1 + 0x14);\n        *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n        *(undefined4 *)(this + 0xc) = uVar35;\n        *(undefined4 *)(this + 0x10) = uVar34;\n        *(undefined4 *)(this + 0x14) = uVar30;\n        *(string **)param_1 = psVar31;\n        *(string **)this = psVar28;\n      }\n      else {\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar31;\n        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);\n      }\n      *(undefined4 *)(param_1 + 8) = uVar33;\n      uVar33 = *(undefined4 *)(this + 4);\n      *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n      *(undefined4 *)(param_1 + 4) = uVar33;\n    }\n  }" { (expression_statement "psVar31 = *(string **)this;" (assignment_expression "psVar31 = *(string **)this" identifier = (pointer_expression "*(string **)this" * (cast_expression "(string **)this" ( (type_descriptor "string **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "psVar28 = this + 8;" (assignment_expression "psVar28 = this + 8" identifier = (binary_expression "this + 8" identifier + number_literal)) ;) (expression_statement "psVar29 = *(string **)param_1;" (assignment_expression "psVar29 = *(string **)param_1" identifier = (pointer_expression "*(string **)param_1" * (cast_expression "(string **)param_1" ( (type_descriptor "string **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "psVar27 = param_1 + 8;" (assignment_expression "psVar27 = param_1 + 8" identifier = (binary_expression "param_1 + 8" identifier + number_literal)) ;) (if_statement "if (psVar28 == psVar31) {\n      if (psVar27 == psVar29) {\n        uVar32 = *(uint *)(this + 4);\n        if (uVar32 == 0) {\n          if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }\n        }\n        else if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }\n      }\n      else {\n        uVar30 = *(undefined4 *)(this + 0xc);\n        uVar32 = (uint)(this + 0x10) & 3;\n        iVar6 = *(int *)(this + 0x10 + -uVar32);\n        uVar33 = *(undefined4 *)(this + 0x14);\n        uVar34 = *(undefined4 *)(param_1 + 8);\n        uVar12 = (uint)(this + 0x13) & 3;\n        uVar20 = *(uint *)(this + 0x13 + -uVar12);\n        *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n        *(undefined4 *)(param_1 + 0xc) = uVar30;\n        *(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;\n        *(undefined4 *)(param_1 + 0x14) = uVar33;\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar27;\n        *(undefined4 *)(this + 8) = uVar34;\n        uVar33 = *(undefined4 *)(this + 4);\n        *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n        *(undefined4 *)(param_1 + 4) = uVar33;\n      }\n    }\n    else {\n      uVar33 = *(undefined4 *)(this + 8);\n      if (psVar27 == psVar29) {\n        uVar35 = *(undefined4 *)(param_1 + 0xc);\n        uVar34 = *(undefined4 *)(param_1 + 0x10);\n        uVar30 = *(undefined4 *)(param_1 + 0x14);\n        *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n        *(undefined4 *)(this + 0xc) = uVar35;\n        *(undefined4 *)(this + 0x10) = uVar34;\n        *(undefined4 *)(this + 0x14) = uVar30;\n        *(string **)param_1 = psVar31;\n        *(string **)this = psVar28;\n      }\n      else {\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar31;\n        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);\n      }\n      *(undefined4 *)(param_1 + 8) = uVar33;\n      uVar33 = *(undefined4 *)(this + 4);\n      *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n      *(undefined4 *)(param_1 + 4) = uVar33;\n    }" if (parenthesized_expression "(psVar28 == psVar31)" ( (binary_expression "psVar28 == psVar31" identifier == identifier) )) (compound_statement "{\n      if (psVar27 == psVar29) {\n        uVar32 = *(uint *)(this + 4);\n        if (uVar32 == 0) {\n          if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }\n        }\n        else if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }\n      }\n      else {\n        uVar30 = *(undefined4 *)(this + 0xc);\n        uVar32 = (uint)(this + 0x10) & 3;\n        iVar6 = *(int *)(this + 0x10 + -uVar32);\n        uVar33 = *(undefined4 *)(this + 0x14);\n        uVar34 = *(undefined4 *)(param_1 + 8);\n        uVar12 = (uint)(this + 0x13) & 3;\n        uVar20 = *(uint *)(this + 0x13 + -uVar12);\n        *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n        *(undefined4 *)(param_1 + 0xc) = uVar30;\n        *(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;\n        *(undefined4 *)(param_1 + 0x14) = uVar33;\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar27;\n        *(undefined4 *)(this + 8) = uVar34;\n        uVar33 = *(undefined4 *)(this + 4);\n        *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n        *(undefined4 *)(param_1 + 4) = uVar33;\n      }\n    }" { (if_statement "if (psVar27 == psVar29) {\n        uVar32 = *(uint *)(this + 4);\n        if (uVar32 == 0) {\n          if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }\n        }\n        else if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }\n      }\n      else {\n        uVar30 = *(undefined4 *)(this + 0xc);\n        uVar32 = (uint)(this + 0x10) & 3;\n        iVar6 = *(int *)(this + 0x10 + -uVar32);\n        uVar33 = *(undefined4 *)(this + 0x14);\n        uVar34 = *(undefined4 *)(param_1 + 8);\n        uVar12 = (uint)(this + 0x13) & 3;\n        uVar20 = *(uint *)(this + 0x13 + -uVar12);\n        *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n        *(undefined4 *)(param_1 + 0xc) = uVar30;\n        *(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;\n        *(undefined4 *)(param_1 + 0x14) = uVar33;\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar27;\n        *(undefined4 *)(this + 8) = uVar34;\n        uVar33 = *(undefined4 *)(this + 4);\n        *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n        *(undefined4 *)(param_1 + 4) = uVar33;\n      }" if (parenthesized_expression "(psVar27 == psVar29)" ( (binary_expression "psVar27 == psVar29" identifier == identifier) )) (compound_statement "{\n        uVar32 = *(uint *)(this + 4);\n        if (uVar32 == 0) {\n          if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }\n        }\n        else if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }\n      }" { (expression_statement "uVar32 = *(uint *)(this + 4);" (assignment_expression "uVar32 = *(uint *)(this + 4)" identifier = (pointer_expression "*(uint *)(this + 4)" * (cast_expression "(uint *)(this + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) ))))) ;) (if_statement "if (uVar32 == 0) {\n          if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }\n        }\n        else if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }" if (parenthesized_expression "(uVar32 == 0)" ( (binary_expression "uVar32 == 0" identifier == number_literal) )) (compound_statement "{\n          if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }\n        }" { (if_statement "if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }" if (parenthesized_expression "(*(int *)(param_1 + 4) == 0)" ( (binary_expression "*(int *)(param_1 + 4) == 0" (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }" { (expression_statement "*(undefined4 *)(this + 4) = 0;" (assignment_expression "*(undefined4 *)(this + 4) = 0" (pointer_expression "*(undefined4 *)(this + 4)" * (cast_expression "(undefined4 *)(this + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(param_1 + 4) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 4) = 0" (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }" else (compound_statement "{\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }" { (expression_statement "uVar34 = *(undefined4 *)(param_1 + 0xc);" (assignment_expression "uVar34 = *(undefined4 *)(param_1 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0xc)" * (cast_expression "(undefined4 *)(param_1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar30 = *(undefined4 *)(param_1 + 0x10);" (assignment_expression "uVar30 = *(undefined4 *)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar33 = *(undefined4 *)(param_1 + 0x14);" (assignment_expression "uVar33 = *(undefined4 *)(param_1 + 0x14)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x14)" * (cast_expression "(undefined4 *)(param_1 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)psVar28 = *(undefined4 *)psVar27;" (assignment_expression "*(undefined4 *)psVar28 = *(undefined4 *)psVar27" (pointer_expression "*(undefined4 *)psVar28" * (cast_expression "(undefined4 *)psVar28" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined4 *)psVar27" * (cast_expression "(undefined4 *)psVar27" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 *)(this + 0xc) = uVar34;" (assignment_expression "*(undefined4 *)(this + 0xc) = uVar34" (pointer_expression "*(undefined4 *)(this + 0xc)" * (cast_expression "(undefined4 *)(this + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xc)" ( (binary_expression "this + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(this + 0x10) = uVar30;" (assignment_expression "*(undefined4 *)(this + 0x10) = uVar30" (pointer_expression "*(undefined4 *)(this + 0x10)" * (cast_expression "(undefined4 *)(this + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x10)" ( (binary_expression "this + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(this + 0x14) = uVar33;" (assignment_expression "*(undefined4 *)(this + 0x14) = uVar33" (pointer_expression "*(undefined4 *)(this + 0x14)" * (cast_expression "(undefined4 *)(this + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x14)" ( (binary_expression "this + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);" (assignment_expression "*(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4)" (pointer_expression "*(undefined4 *)(this + 4)" * (cast_expression "(undefined4 *)(this + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(param_1 + 4) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 4) = 0" (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "**(undefined1 **)param_1 = 0;" (assignment_expression "**(undefined1 **)param_1 = 0" (pointer_expression "**(undefined1 **)param_1" * (pointer_expression "*(undefined1 **)param_1" * (cast_expression "(undefined1 **)param_1" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) = number_literal) ;) }))) }) (else_clause "else if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }" else (if_statement "if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }" if (parenthesized_expression "(*(int *)(param_1 + 4) == 0)" ( (binary_expression "*(int *)(param_1 + 4) == 0" (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }" { (expression_statement "uVar34 = *(undefined4 *)(this + 0xc);" (assignment_expression "uVar34 = *(undefined4 *)(this + 0xc)" identifier = (pointer_expression "*(undefined4 *)(this + 0xc)" * (cast_expression "(undefined4 *)(this + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xc)" ( (binary_expression "this + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar30 = *(undefined4 *)(this + 0x10);" (assignment_expression "uVar30 = *(undefined4 *)(this + 0x10)" identifier = (pointer_expression "*(undefined4 *)(this + 0x10)" * (cast_expression "(undefined4 *)(this + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x10)" ( (binary_expression "this + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar33 = *(undefined4 *)(this + 0x14);" (assignment_expression "uVar33 = *(undefined4 *)(this + 0x14)" identifier = (pointer_expression "*(undefined4 *)(this + 0x14)" * (cast_expression "(undefined4 *)(this + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x14)" ( (binary_expression "this + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)psVar27 = *(undefined4 *)psVar28;" (assignment_expression "*(undefined4 *)psVar27 = *(undefined4 *)psVar28" (pointer_expression "*(undefined4 *)psVar27" * (cast_expression "(undefined4 *)psVar27" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined4 *)psVar28" * (cast_expression "(undefined4 *)psVar28" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 *)(param_1 + 0xc) = uVar34;" (assignment_expression "*(undefined4 *)(param_1 + 0xc) = uVar34" (pointer_expression "*(undefined4 *)(param_1 + 0xc)" * (cast_expression "(undefined4 *)(param_1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(param_1 + 0x10) = uVar30;" (assignment_expression "*(undefined4 *)(param_1 + 0x10) = uVar30" (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(param_1 + 0x14) = uVar33;" (assignment_expression "*(undefined4 *)(param_1 + 0x14) = uVar33" (pointer_expression "*(undefined4 *)(param_1 + 0x14)" * (cast_expression "(undefined4 *)(param_1 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);" (assignment_expression "*(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4)" (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(this + 4)" * (cast_expression "(undefined4 *)(this + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(this + 4) = 0;" (assignment_expression "*(undefined4 *)(this + 4) = 0" (pointer_expression "*(undefined4 *)(this + 4)" * (cast_expression "(undefined4 *)(this + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "**(undefined1 **)this = 0;" (assignment_expression "**(undefined1 **)this = 0" (pointer_expression "**(undefined1 **)this" * (pointer_expression "*(undefined1 **)this" * (cast_expression "(undefined1 **)this" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) = number_literal) ;) }) (else_clause "else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }" else (compound_statement "{\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }" { (expression_statement "uVar12 = (uint)psVar28 & 3;" (assignment_expression "uVar12 = (uint)psVar28 & 3" identifier = (binary_expression "(uint)psVar28 & 3" (cast_expression "(uint)psVar28" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "uVar20 = (uint)(this + 0xc) & 3;" (assignment_expression "uVar20 = (uint)(this + 0xc) & 3" identifier = (binary_expression "(uint)(this + 0xc) & 3" (call_expression "(uint)(this + 0xc)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(this + 0xc)" ( (binary_expression "this + 0xc" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "iVar6 = *(int *)(this + 0xc + -uVar20);" (assignment_expression "iVar6 = *(int *)(this + 0xc + -uVar20)" identifier = (pointer_expression "*(int *)(this + 0xc + -uVar20)" * (cast_expression "(int *)(this + 0xc + -uVar20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xc + -uVar20)" ( (binary_expression "this + 0xc + -uVar20" (binary_expression "this + 0xc" identifier + number_literal) + (unary_expression "-uVar20" - identifier)) ))))) ;) (expression_statement "uVar1 = (uint)(param_1 + 8) & 3;" (assignment_expression "uVar1 = (uint)(param_1 + 8) & 3" identifier = (binary_expression "(uint)(param_1 + 8) & 3" (call_expression "(uint)(param_1 + 8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "iVar7 = *(int *)(param_1 + 8 + -uVar1);" (assignment_expression "iVar7 = *(int *)(param_1 + 8 + -uVar1)" identifier = (pointer_expression "*(int *)(param_1 + 8 + -uVar1)" * (cast_expression "(int *)(param_1 + 8 + -uVar1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8 + -uVar1)" ( (binary_expression "param_1 + 8 + -uVar1" (binary_expression "param_1 + 8" identifier + number_literal) + (unary_expression "-uVar1" - identifier)) ))))) ;) (expression_statement "uVar2 = (uint)(param_1 + 0xc) & 3;" (assignment_expression "uVar2 = (uint)(param_1 + 0xc) & 3" identifier = (binary_expression "(uint)(param_1 + 0xc) & 3" (call_expression "(uint)(param_1 + 0xc)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "iVar8 = *(int *)(param_1 + 0xc + -uVar2);" (assignment_expression "iVar8 = *(int *)(param_1 + 0xc + -uVar2)" identifier = (pointer_expression "*(int *)(param_1 + 0xc + -uVar2)" * (cast_expression "(int *)(param_1 + 0xc + -uVar2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc + -uVar2)" ( (binary_expression "param_1 + 0xc + -uVar2" (binary_expression "param_1 + 0xc" identifier + number_literal) + (unary_expression "-uVar2" - identifier)) ))))) ;) (expression_statement "uVar3 = (uint)(param_1 + 0x10) & 3;" (assignment_expression "uVar3 = (uint)(param_1 + 0x10) & 3" identifier = (binary_expression "(uint)(param_1 + 0x10) & 3" (call_expression "(uint)(param_1 + 0x10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "iVar9 = *(int *)(param_1 + 0x10 + -uVar3);" (assignment_expression "iVar9 = *(int *)(param_1 + 0x10 + -uVar3)" identifier = (pointer_expression "*(int *)(param_1 + 0x10 + -uVar3)" * (cast_expression "(int *)(param_1 + 0x10 + -uVar3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10 + -uVar3)" ( (binary_expression "param_1 + 0x10 + -uVar3" (binary_expression "param_1 + 0x10" identifier + number_literal) + (unary_expression "-uVar3" - identifier)) ))))) ;) (expression_statement "uVar33 = *(undefined4 *)(param_1 + 0x14);" (assignment_expression "uVar33 = *(undefined4 *)(param_1 + 0x14)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x14)" * (cast_expression "(undefined4 *)(param_1 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = (uint)(this + 0x10) & 3;" (assignment_expression "uVar4 = (uint)(this + 0x10) & 3" identifier = (binary_expression "(uint)(this + 0x10) & 3" (call_expression "(uint)(this + 0x10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(this + 0x10)" ( (binary_expression "this + 0x10" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "iVar10 = *(int *)(this + 0x10 + -uVar4);" (assignment_expression "iVar10 = *(int *)(this + 0x10 + -uVar4)" identifier = (pointer_expression "*(int *)(this + 0x10 + -uVar4)" * (cast_expression "(int *)(this + 0x10 + -uVar4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x10 + -uVar4)" ( (binary_expression "this + 0x10 + -uVar4" (binary_expression "this + 0x10" identifier + number_literal) + (unary_expression "-uVar4" - identifier)) ))))) ;) (expression_statement "uVar5 = (uint)(this + 0x14) & 3;" (assignment_expression "uVar5 = (uint)(this + 0x14) & 3" identifier = (binary_expression "(uint)(this + 0x14) & 3" (call_expression "(uint)(this + 0x14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(this + 0x14)" ( (binary_expression "this + 0x14" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "iVar11 = *(int *)(this + 0x14 + -uVar5);" (assignment_expression "iVar11 = *(int *)(this + 0x14 + -uVar5)" identifier = (pointer_expression "*(int *)(this + 0x14 + -uVar5)" * (cast_expression "(int *)(this + 0x14 + -uVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x14 + -uVar5)" ( (binary_expression "this + 0x14 + -uVar5" (binary_expression "this + 0x14" identifier + number_literal) + (unary_expression "-uVar5" - identifier)) ))))) ;) (expression_statement "uVar13 = (uint)(this + 0xb) & 3;" (assignment_expression "uVar13 = (uint)(this + 0xb) & 3" identifier = (binary_expression "(uint)(this + 0xb) & 3" (call_expression "(uint)(this + 0xb)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(this + 0xb)" ( (binary_expression "this + 0xb" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "uVar14 = (uint)(this + 0xf) & 3;" (assignment_expression "uVar14 = (uint)(this + 0xf) & 3" identifier = (binary_expression "(uint)(this + 0xf) & 3" (call_expression "(uint)(this + 0xf)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(this + 0xf)" ( (binary_expression "this + 0xf" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "uVar21 = *(uint *)(this + 0xf + -uVar14);" (assignment_expression "uVar21 = *(uint *)(this + 0xf + -uVar14)" identifier = (pointer_expression "*(uint *)(this + 0xf + -uVar14)" * (cast_expression "(uint *)(this + 0xf + -uVar14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xf + -uVar14)" ( (binary_expression "this + 0xf + -uVar14" (binary_expression "this + 0xf" identifier + number_literal) + (unary_expression "-uVar14" - identifier)) ))))) ;) (expression_statement "uVar15 = (uint)(param_1 + 0xb) & 3;" (assignment_expression "uVar15 = (uint)(param_1 + 0xb) & 3" identifier = (binary_expression "(uint)(param_1 + 0xb) & 3" (call_expression "(uint)(param_1 + 0xb)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_1 + 0xb)" ( (binary_expression "param_1 + 0xb" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "uVar22 = *(uint *)(param_1 + 0xb + -uVar15);" (assignment_expression "uVar22 = *(uint *)(param_1 + 0xb + -uVar15)" identifier = (pointer_expression "*(uint *)(param_1 + 0xb + -uVar15)" * (cast_expression "(uint *)(param_1 + 0xb + -uVar15)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xb + -uVar15)" ( (binary_expression "param_1 + 0xb + -uVar15" (binary_expression "param_1 + 0xb" identifier + number_literal) + (unary_expression "-uVar15" - identifier)) ))))) ;) (expression_statement "uVar16 = (uint)(param_1 + 0xf) & 3;" (assignment_expression "uVar16 = (uint)(param_1 + 0xf) & 3" identifier = (binary_expression "(uint)(param_1 + 0xf) & 3" (call_expression "(uint)(param_1 + 0xf)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_1 + 0xf)" ( (binary_expression "param_1 + 0xf" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "uVar23 = *(uint *)(param_1 + 0xf + -uVar16);" (assignment_expression "uVar23 = *(uint *)(param_1 + 0xf + -uVar16)" identifier = (pointer_expression "*(uint *)(param_1 + 0xf + -uVar16)" * (cast_expression "(uint *)(param_1 + 0xf + -uVar16)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf + -uVar16)" ( (binary_expression "param_1 + 0xf + -uVar16" (binary_expression "param_1 + 0xf" identifier + number_literal) + (unary_expression "-uVar16" - identifier)) ))))) ;) (expression_statement "uVar17 = (uint)(param_1 + 0x13) & 3;" (assignment_expression "uVar17 = (uint)(param_1 + 0x13) & 3" identifier = (binary_expression "(uint)(param_1 + 0x13) & 3" (call_expression "(uint)(param_1 + 0x13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_1 + 0x13)" ( (binary_expression "param_1 + 0x13" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);" (assignment_expression "uVar24 = *(uint *)(param_1 + 0x13 + -uVar17)" identifier = (pointer_expression "*(uint *)(param_1 + 0x13 + -uVar17)" * (cast_expression "(uint *)(param_1 + 0x13 + -uVar17)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x13 + -uVar17)" ( (binary_expression "param_1 + 0x13 + -uVar17" (binary_expression "param_1 + 0x13" identifier + number_literal) + (unary_expression "-uVar17" - identifier)) ))))) ;) (expression_statement "uVar18 = (uint)(this + 0x13) & 3;" (assignment_expression "uVar18 = (uint)(this + 0x13) & 3" identifier = (binary_expression "(uint)(this + 0x13) & 3" (call_expression "(uint)(this + 0x13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(this + 0x13)" ( (binary_expression "this + 0x13" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "uVar25 = *(uint *)(this + 0x13 + -uVar18);" (assignment_expression "uVar25 = *(uint *)(this + 0x13 + -uVar18)" identifier = (pointer_expression "*(uint *)(this + 0x13 + -uVar18)" * (cast_expression "(uint *)(this + 0x13 + -uVar18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x13 + -uVar18)" ( (binary_expression "this + 0x13 + -uVar18" (binary_expression "this + 0x13" identifier + number_literal) + (unary_expression "-uVar18" - identifier)) ))))) ;) (expression_statement "uVar19 = (uint)(this + 0x17) & 3;" (assignment_expression "uVar19 = (uint)(this + 0x17) & 3" identifier = (binary_expression "(uint)(this + 0x17) & 3" (call_expression "(uint)(this + 0x17)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(this + 0x17)" ( (binary_expression "this + 0x17" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "uVar26 = *(uint *)(this + 0x17 + -uVar19);" (assignment_expression "uVar26 = *(uint *)(this + 0x17 + -uVar19)" identifier = (pointer_expression "*(uint *)(this + 0x17 + -uVar19)" * (cast_expression "(uint *)(this + 0x17 + -uVar19)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x17 + -uVar19)" ( (binary_expression "this + 0x17 + -uVar19" (binary_expression "this + 0x17" identifier + number_literal) + (unary_expression "-uVar19" - identifier)) ))))) ;) (expression_statement "*(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;" (assignment_expression "*(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8" (pointer_expression "*(uint *)psVar27" * (cast_expression "(uint *)psVar27" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "(*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8" (binary_expression "(*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8" (parenthesized_expression "(*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)" ( (binary_expression "*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8" (binary_expression "*(int *)(psVar28 + -uVar12) << uVar12 * 8" (pointer_expression "*(int *)(psVar28 + -uVar12)" * (cast_expression "(int *)(psVar28 + -uVar12)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar28 + -uVar12)" ( (binary_expression "psVar28 + -uVar12" identifier + (unary_expression "-uVar12" - identifier)) )))) << (binary_expression "uVar12 * 8" identifier * number_literal)) | (binary_expression "in_t5 & 0xffffffffU >> (4 - uVar12) * 8" identifier & (binary_expression "0xffffffffU >> (4 - uVar12) * 8" number_literal >> (binary_expression "(4 - uVar12) * 8" (parenthesized_expression "(4 - uVar12)" ( (binary_expression "4 - uVar12" number_literal - identifier) )) * number_literal)))) )) & (binary_expression "-1 << (uVar13 + 1) * 8" number_literal << (binary_expression "(uVar13 + 1) * 8" (parenthesized_expression "(uVar13 + 1)" ( (binary_expression "uVar13 + 1" identifier + number_literal) )) * number_literal))) | (binary_expression "*(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8" (pointer_expression "*(uint *)(this + 0xb + -uVar13)" * (cast_expression "(uint *)(this + 0xb + -uVar13)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xb + -uVar13)" ( (binary_expression "this + 0xb + -uVar13" (binary_expression "this + 0xb" identifier + number_literal) + (unary_expression "-uVar13" - identifier)) )))) >> (binary_expression "(3 - uVar13) * 8" (parenthesized_expression "(3 - uVar13)" ( (binary_expression "3 - uVar13" number_literal - identifier) )) * number_literal)))) ;) (expression_statement "*(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;" (assignment_expression "*(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8" (pointer_expression "*(uint *)(param_1 + 0xc)" * (cast_expression "(uint *)(param_1 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) = (binary_expression "(iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8" (binary_expression "(iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8" (parenthesized_expression "(iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8)" ( (binary_expression "iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8" (binary_expression "iVar6 << uVar20 * 8" identifier << (binary_expression "uVar20 * 8" identifier * number_literal)) | (binary_expression "in_t4 & 0xffffffffU >> (4 - uVar20) * 8" identifier & (binary_expression "0xffffffffU >> (4 - uVar20) * 8" number_literal >> (binary_expression "(4 - uVar20) * 8" (parenthesized_expression "(4 - uVar20)" ( (binary_expression "4 - uVar20" number_literal - identifier) )) * number_literal)))) )) & (binary_expression "-1 << (uVar14 + 1) * 8" number_literal << (binary_expression "(uVar14 + 1) * 8" (parenthesized_expression "(uVar14 + 1)" ( (binary_expression "uVar14 + 1" identifier + number_literal) )) * number_literal))) | (binary_expression "uVar21 >> (3 - uVar14) * 8" identifier >> (binary_expression "(3 - uVar14) * 8" (parenthesized_expression "(3 - uVar14)" ( (binary_expression "3 - uVar14" number_literal - identifier) )) * number_literal)))) ;) (expression_statement "*(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;" (assignment_expression "*(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8" (pointer_expression "*(uint *)(param_1 + 0x10)" * (cast_expression "(uint *)(param_1 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) = (binary_expression "(iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8" (binary_expression "(iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8" (parenthesized_expression "(iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8)" ( (binary_expression "iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8" (binary_expression "iVar10 << uVar4 * 8" identifier << (binary_expression "uVar4 * 8" identifier * number_literal)) | (binary_expression "in_t3 & 0xffffffffU >> (4 - uVar4) * 8" identifier & (binary_expression "0xffffffffU >> (4 - uVar4) * 8" number_literal >> (binary_expression "(4 - uVar4) * 8" (parenthesized_expression "(4 - uVar4)" ( (binary_expression "4 - uVar4" number_literal - identifier) )) * number_literal)))) )) & (binary_expression "-1 << (uVar18 + 1) * 8" number_literal << (binary_expression "(uVar18 + 1) * 8" (parenthesized_expression "(uVar18 + 1)" ( (binary_expression "uVar18 + 1" identifier + number_literal) )) * number_literal))) | (binary_expression "uVar25 >> (3 - uVar18) * 8" identifier >> (binary_expression "(3 - uVar18) * 8" (parenthesized_expression "(3 - uVar18)" ( (binary_expression "3 - uVar18" number_literal - identifier) )) * number_literal)))) ;) (expression_statement "*(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;" (assignment_expression "*(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8" (pointer_expression "*(uint *)(param_1 + 0x14)" * (cast_expression "(uint *)(param_1 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) = (binary_expression "(iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8" (binary_expression "(iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8" (parenthesized_expression "(iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8)" ( (binary_expression "iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8" (binary_expression "iVar11 << uVar5 * 8" identifier << (binary_expression "uVar5 * 8" identifier * number_literal)) | (binary_expression "in_t2 & 0xffffffffU >> (4 - uVar5) * 8" identifier & (binary_expression "0xffffffffU >> (4 - uVar5) * 8" number_literal >> (binary_expression "(4 - uVar5) * 8" (parenthesized_expression "(4 - uVar5)" ( (binary_expression "4 - uVar5" number_literal - identifier) )) * number_literal)))) )) & (binary_expression "-1 << (uVar19 + 1) * 8" number_literal << (binary_expression "(uVar19 + 1) * 8" (parenthesized_expression "(uVar19 + 1)" ( (binary_expression "uVar19 + 1" identifier + number_literal) )) * number_literal))) | (binary_expression "uVar26 >> (3 - uVar19) * 8" identifier >> (binary_expression "(3 - uVar19) * 8" (parenthesized_expression "(3 - uVar19)" ( (binary_expression "3 - uVar19" number_literal - identifier) )) * number_literal)))) ;) (expression_statement "*(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;" (assignment_expression "*(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8" (pointer_expression "*(uint *)(this + 8)" * (cast_expression "(uint *)(this + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 8)" ( (binary_expression "this + 8" identifier + number_literal) )))) = (binary_expression "(iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8" (binary_expression "(iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8" (parenthesized_expression "(iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8)" ( (binary_expression "iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8" (binary_expression "iVar7 << uVar1 * 8" identifier << (binary_expression "uVar1 * 8" identifier * number_literal)) | (binary_expression "in_t1 & 0xffffffffU >> (4 - uVar1) * 8" identifier & (binary_expression "0xffffffffU >> (4 - uVar1) * 8" number_literal >> (binary_expression "(4 - uVar1) * 8" (parenthesized_expression "(4 - uVar1)" ( (binary_expression "4 - uVar1" number_literal - identifier) )) * number_literal)))) )) & (binary_expression "-1 << (uVar15 + 1) * 8" number_literal << (binary_expression "(uVar15 + 1) * 8" (parenthesized_expression "(uVar15 + 1)" ( (binary_expression "uVar15 + 1" identifier + number_literal) )) * number_literal))) | (binary_expression "uVar22 >> (3 - uVar15) * 8" identifier >> (binary_expression "(3 - uVar15) * 8" (parenthesized_expression "(3 - uVar15)" ( (binary_expression "3 - uVar15" number_literal - identifier) )) * number_literal)))) ;) (expression_statement "*(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;" (assignment_expression "*(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8" (pointer_expression "*(uint *)(this + 0xc)" * (cast_expression "(uint *)(this + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xc)" ( (binary_expression "this + 0xc" identifier + number_literal) )))) = (binary_expression "(iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8" (binary_expression "(iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8" (parenthesized_expression "(iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8)" ( (binary_expression "iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8" (binary_expression "iVar8 << uVar2 * 8" identifier << (binary_expression "uVar2 * 8" identifier * number_literal)) | (binary_expression "in_t0 & 0xffffffffU >> (4 - uVar2) * 8" identifier & (binary_expression "0xffffffffU >> (4 - uVar2) * 8" number_literal >> (binary_expression "(4 - uVar2) * 8" (parenthesized_expression "(4 - uVar2)" ( (binary_expression "4 - uVar2" number_literal - identifier) )) * number_literal)))) )) & (binary_expression "-1 << (uVar16 + 1) * 8" number_literal << (binary_expression "(uVar16 + 1) * 8" (parenthesized_expression "(uVar16 + 1)" ( (binary_expression "uVar16 + 1" identifier + number_literal) )) * number_literal))) | (binary_expression "uVar23 >> (3 - uVar16) * 8" identifier >> (binary_expression "(3 - uVar16) * 8" (parenthesized_expression "(3 - uVar16)" ( (binary_expression "3 - uVar16" number_literal - identifier) )) * number_literal)))) ;) (expression_statement "*(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;" (assignment_expression "*(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8" (pointer_expression "*(uint *)(this + 0x10)" * (cast_expression "(uint *)(this + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x10)" ( (binary_expression "this + 0x10" identifier + number_literal) )))) = (binary_expression "(iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8" (binary_expression "(iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8" (parenthesized_expression "(iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8)" ( (binary_expression "iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8" (binary_expression "iVar9 << uVar3 * 8" identifier << (binary_expression "uVar3 * 8" identifier * number_literal)) | (binary_expression "uVar32 & 0xffffffffU >> (4 - uVar3) * 8" identifier & (binary_expression "0xffffffffU >> (4 - uVar3) * 8" number_literal >> (binary_expression "(4 - uVar3) * 8" (parenthesized_expression "(4 - uVar3)" ( (binary_expression "4 - uVar3" number_literal - identifier) )) * number_literal)))) )) & (binary_expression "-1 << (uVar17 + 1) * 8" number_literal << (binary_expression "(uVar17 + 1) * 8" (parenthesized_expression "(uVar17 + 1)" ( (binary_expression "uVar17 + 1" identifier + number_literal) )) * number_literal))) | (binary_expression "uVar24 >> (3 - uVar17) * 8" identifier >> (binary_expression "(3 - uVar17) * 8" (parenthesized_expression "(3 - uVar17)" ( (binary_expression "3 - uVar17" number_literal - identifier) )) * number_literal)))) ;) (expression_statement "*(undefined4 *)(this + 0x14) = uVar33;" (assignment_expression "*(undefined4 *)(this + 0x14) = uVar33" (pointer_expression "*(undefined4 *)(this + 0x14)" * (cast_expression "(undefined4 *)(this + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x14)" ( (binary_expression "this + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar33 = *(undefined4 *)(this + 4);" (assignment_expression "uVar33 = *(undefined4 *)(this + 4)" identifier = (pointer_expression "*(undefined4 *)(this + 4)" * (cast_expression "(undefined4 *)(this + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);" (assignment_expression "*(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4)" (pointer_expression "*(undefined4 *)(this + 4)" * (cast_expression "(undefined4 *)(this + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(param_1 + 4) = uVar33;" (assignment_expression "*(undefined4 *)(param_1 + 4) = uVar33" (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = identifier) ;) }))))) }) (else_clause "else {\n        uVar30 = *(undefined4 *)(this + 0xc);\n        uVar32 = (uint)(this + 0x10) & 3;\n        iVar6 = *(int *)(this + 0x10 + -uVar32);\n        uVar33 = *(undefined4 *)(this + 0x14);\n        uVar34 = *(undefined4 *)(param_1 + 8);\n        uVar12 = (uint)(this + 0x13) & 3;\n        uVar20 = *(uint *)(this + 0x13 + -uVar12);\n        *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n        *(undefined4 *)(param_1 + 0xc) = uVar30;\n        *(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;\n        *(undefined4 *)(param_1 + 0x14) = uVar33;\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar27;\n        *(undefined4 *)(this + 8) = uVar34;\n        uVar33 = *(undefined4 *)(this + 4);\n        *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n        *(undefined4 *)(param_1 + 4) = uVar33;\n      }" else (compound_statement "{\n        uVar30 = *(undefined4 *)(this + 0xc);\n        uVar32 = (uint)(this + 0x10) & 3;\n        iVar6 = *(int *)(this + 0x10 + -uVar32);\n        uVar33 = *(undefined4 *)(this + 0x14);\n        uVar34 = *(undefined4 *)(param_1 + 8);\n        uVar12 = (uint)(this + 0x13) & 3;\n        uVar20 = *(uint *)(this + 0x13 + -uVar12);\n        *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n        *(undefined4 *)(param_1 + 0xc) = uVar30;\n        *(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;\n        *(undefined4 *)(param_1 + 0x14) = uVar33;\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar27;\n        *(undefined4 *)(this + 8) = uVar34;\n        uVar33 = *(undefined4 *)(this + 4);\n        *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n        *(undefined4 *)(param_1 + 4) = uVar33;\n      }" { (expression_statement "uVar30 = *(undefined4 *)(this + 0xc);" (assignment_expression "uVar30 = *(undefined4 *)(this + 0xc)" identifier = (pointer_expression "*(undefined4 *)(this + 0xc)" * (cast_expression "(undefined4 *)(this + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xc)" ( (binary_expression "this + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar32 = (uint)(this + 0x10) & 3;" (assignment_expression "uVar32 = (uint)(this + 0x10) & 3" identifier = (binary_expression "(uint)(this + 0x10) & 3" (call_expression "(uint)(this + 0x10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(this + 0x10)" ( (binary_expression "this + 0x10" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "iVar6 = *(int *)(this + 0x10 + -uVar32);" (assignment_expression "iVar6 = *(int *)(this + 0x10 + -uVar32)" identifier = (pointer_expression "*(int *)(this + 0x10 + -uVar32)" * (cast_expression "(int *)(this + 0x10 + -uVar32)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x10 + -uVar32)" ( (binary_expression "this + 0x10 + -uVar32" (binary_expression "this + 0x10" identifier + number_literal) + (unary_expression "-uVar32" - identifier)) ))))) ;) (expression_statement "uVar33 = *(undefined4 *)(this + 0x14);" (assignment_expression "uVar33 = *(undefined4 *)(this + 0x14)" identifier = (pointer_expression "*(undefined4 *)(this + 0x14)" * (cast_expression "(undefined4 *)(this + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x14)" ( (binary_expression "this + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar34 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar34 = *(undefined4 *)(param_1 + 8)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 8)" * (cast_expression "(undefined4 *)(param_1 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = (uint)(this + 0x13) & 3;" (assignment_expression "uVar12 = (uint)(this + 0x13) & 3" identifier = (binary_expression "(uint)(this + 0x13) & 3" (call_expression "(uint)(this + 0x13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(this + 0x13)" ( (binary_expression "this + 0x13" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "uVar20 = *(uint *)(this + 0x13 + -uVar12);" (assignment_expression "uVar20 = *(uint *)(this + 0x13 + -uVar12)" identifier = (pointer_expression "*(uint *)(this + 0x13 + -uVar12)" * (cast_expression "(uint *)(this + 0x13 + -uVar12)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x13 + -uVar12)" ( (binary_expression "this + 0x13 + -uVar12" (binary_expression "this + 0x13" identifier + number_literal) + (unary_expression "-uVar12" - identifier)) ))))) ;) (expression_statement "*(undefined4 *)psVar27 = *(undefined4 *)psVar28;" (assignment_expression "*(undefined4 *)psVar27 = *(undefined4 *)psVar28" (pointer_expression "*(undefined4 *)psVar27" * (cast_expression "(undefined4 *)psVar27" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined4 *)psVar28" * (cast_expression "(undefined4 *)psVar28" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 *)(param_1 + 0xc) = uVar30;" (assignment_expression "*(undefined4 *)(param_1 + 0xc) = uVar30" (pointer_expression "*(undefined4 *)(param_1 + 0xc)" * (cast_expression "(undefined4 *)(param_1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;" (assignment_expression "*(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8" (pointer_expression "*(uint *)(param_1 + 0x10)" * (cast_expression "(uint *)(param_1 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) = (binary_expression "(iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8" (binary_expression "(iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8" (parenthesized_expression "(iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8)" ( (binary_expression "iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8" (binary_expression "iVar6 << uVar32 * 8" identifier << (binary_expression "uVar32 * 8" identifier * number_literal)) | (binary_expression "in_t0 & 0xffffffffU >> (4 - uVar32) * 8" identifier & (binary_expression "0xffffffffU >> (4 - uVar32) * 8" number_literal >> (binary_expression "(4 - uVar32) * 8" (parenthesized_expression "(4 - uVar32)" ( (binary_expression "4 - uVar32" number_literal - identifier) )) * number_literal)))) )) & (binary_expression "-1 << (uVar12 + 1) * 8" number_literal << (binary_expression "(uVar12 + 1) * 8" (parenthesized_expression "(uVar12 + 1)" ( (binary_expression "uVar12 + 1" identifier + number_literal) )) * number_literal))) | (binary_expression "uVar20 >> (3 - uVar12) * 8" identifier >> (binary_expression "(3 - uVar12) * 8" (parenthesized_expression "(3 - uVar12)" ( (binary_expression "3 - uVar12" number_literal - identifier) )) * number_literal)))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x14) = uVar33;" (assignment_expression "*(undefined4 *)(param_1 + 0x14) = uVar33" (pointer_expression "*(undefined4 *)(param_1 + 0x14)" * (cast_expression "(undefined4 *)(param_1 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(string **)this = psVar29;" (assignment_expression "*(string **)this = psVar29" (pointer_expression "*(string **)this" * (cast_expression "(string **)this" ( (type_descriptor "string **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "*(string **)param_1 = psVar27;" (assignment_expression "*(string **)param_1 = psVar27" (pointer_expression "*(string **)param_1" * (cast_expression "(string **)param_1" ( (type_descriptor "string **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "*(undefined4 *)(this + 8) = uVar34;" (assignment_expression "*(undefined4 *)(this + 8) = uVar34" (pointer_expression "*(undefined4 *)(this + 8)" * (cast_expression "(undefined4 *)(this + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 8)" ( (binary_expression "this + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar33 = *(undefined4 *)(this + 4);" (assignment_expression "uVar33 = *(undefined4 *)(this + 4)" identifier = (pointer_expression "*(undefined4 *)(this + 4)" * (cast_expression "(undefined4 *)(this + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);" (assignment_expression "*(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4)" (pointer_expression "*(undefined4 *)(this + 4)" * (cast_expression "(undefined4 *)(this + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(param_1 + 4) = uVar33;" (assignment_expression "*(undefined4 *)(param_1 + 4) = uVar33" (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = identifier) ;) }))) }) (else_clause "else {\n      uVar33 = *(undefined4 *)(this + 8);\n      if (psVar27 == psVar29) {\n        uVar35 = *(undefined4 *)(param_1 + 0xc);\n        uVar34 = *(undefined4 *)(param_1 + 0x10);\n        uVar30 = *(undefined4 *)(param_1 + 0x14);\n        *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n        *(undefined4 *)(this + 0xc) = uVar35;\n        *(undefined4 *)(this + 0x10) = uVar34;\n        *(undefined4 *)(this + 0x14) = uVar30;\n        *(string **)param_1 = psVar31;\n        *(string **)this = psVar28;\n      }\n      else {\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar31;\n        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);\n      }\n      *(undefined4 *)(param_1 + 8) = uVar33;\n      uVar33 = *(undefined4 *)(this + 4);\n      *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n      *(undefined4 *)(param_1 + 4) = uVar33;\n    }" else (compound_statement "{\n      uVar33 = *(undefined4 *)(this + 8);\n      if (psVar27 == psVar29) {\n        uVar35 = *(undefined4 *)(param_1 + 0xc);\n        uVar34 = *(undefined4 *)(param_1 + 0x10);\n        uVar30 = *(undefined4 *)(param_1 + 0x14);\n        *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n        *(undefined4 *)(this + 0xc) = uVar35;\n        *(undefined4 *)(this + 0x10) = uVar34;\n        *(undefined4 *)(this + 0x14) = uVar30;\n        *(string **)param_1 = psVar31;\n        *(string **)this = psVar28;\n      }\n      else {\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar31;\n        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);\n      }\n      *(undefined4 *)(param_1 + 8) = uVar33;\n      uVar33 = *(undefined4 *)(this + 4);\n      *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n      *(undefined4 *)(param_1 + 4) = uVar33;\n    }" { (expression_statement "uVar33 = *(undefined4 *)(this + 8);" (assignment_expression "uVar33 = *(undefined4 *)(this + 8)" identifier = (pointer_expression "*(undefined4 *)(this + 8)" * (cast_expression "(undefined4 *)(this + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 8)" ( (binary_expression "this + 8" identifier + number_literal) ))))) ;) (if_statement "if (psVar27 == psVar29) {\n        uVar35 = *(undefined4 *)(param_1 + 0xc);\n        uVar34 = *(undefined4 *)(param_1 + 0x10);\n        uVar30 = *(undefined4 *)(param_1 + 0x14);\n        *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n        *(undefined4 *)(this + 0xc) = uVar35;\n        *(undefined4 *)(this + 0x10) = uVar34;\n        *(undefined4 *)(this + 0x14) = uVar30;\n        *(string **)param_1 = psVar31;\n        *(string **)this = psVar28;\n      }\n      else {\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar31;\n        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);\n      }" if (parenthesized_expression "(psVar27 == psVar29)" ( (binary_expression "psVar27 == psVar29" identifier == identifier) )) (compound_statement "{\n        uVar35 = *(undefined4 *)(param_1 + 0xc);\n        uVar34 = *(undefined4 *)(param_1 + 0x10);\n        uVar30 = *(undefined4 *)(param_1 + 0x14);\n        *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n        *(undefined4 *)(this + 0xc) = uVar35;\n        *(undefined4 *)(this + 0x10) = uVar34;\n        *(undefined4 *)(this + 0x14) = uVar30;\n        *(string **)param_1 = psVar31;\n        *(string **)this = psVar28;\n      }" { (expression_statement "uVar35 = *(undefined4 *)(param_1 + 0xc);" (assignment_expression "uVar35 = *(undefined4 *)(param_1 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0xc)" * (cast_expression "(undefined4 *)(param_1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar34 = *(undefined4 *)(param_1 + 0x10);" (assignment_expression "uVar34 = *(undefined4 *)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar30 = *(undefined4 *)(param_1 + 0x14);" (assignment_expression "uVar30 = *(undefined4 *)(param_1 + 0x14)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x14)" * (cast_expression "(undefined4 *)(param_1 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)psVar28 = *(undefined4 *)psVar27;" (assignment_expression "*(undefined4 *)psVar28 = *(undefined4 *)psVar27" (pointer_expression "*(undefined4 *)psVar28" * (cast_expression "(undefined4 *)psVar28" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined4 *)psVar27" * (cast_expression "(undefined4 *)psVar27" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 *)(this + 0xc) = uVar35;" (assignment_expression "*(undefined4 *)(this + 0xc) = uVar35" (pointer_expression "*(undefined4 *)(this + 0xc)" * (cast_expression "(undefined4 *)(this + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xc)" ( (binary_expression "this + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(this + 0x10) = uVar34;" (assignment_expression "*(undefined4 *)(this + 0x10) = uVar34" (pointer_expression "*(undefined4 *)(this + 0x10)" * (cast_expression "(undefined4 *)(this + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x10)" ( (binary_expression "this + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(this + 0x14) = uVar30;" (assignment_expression "*(undefined4 *)(this + 0x14) = uVar30" (pointer_expression "*(undefined4 *)(this + 0x14)" * (cast_expression "(undefined4 *)(this + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x14)" ( (binary_expression "this + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(string **)param_1 = psVar31;" (assignment_expression "*(string **)param_1 = psVar31" (pointer_expression "*(string **)param_1" * (cast_expression "(string **)param_1" ( (type_descriptor "string **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "*(string **)this = psVar28;" (assignment_expression "*(string **)this = psVar28" (pointer_expression "*(string **)this" * (cast_expression "(string **)this" ( (type_descriptor "string **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) }) (else_clause "else {\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar31;\n        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);\n      }" else (compound_statement "{\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar31;\n        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);\n      }" { (expression_statement "*(string **)this = psVar29;" (assignment_expression "*(string **)this = psVar29" (pointer_expression "*(string **)this" * (cast_expression "(string **)this" ( (type_descriptor "string **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "*(string **)param_1 = psVar31;" (assignment_expression "*(string **)param_1 = psVar31" (pointer_expression "*(string **)param_1" * (cast_expression "(string **)param_1" ( (type_descriptor "string **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "*(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);" (assignment_expression "*(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8)" (pointer_expression "*(undefined4 *)(this + 8)" * (cast_expression "(undefined4 *)(this + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 8)" ( (binary_expression "this + 8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + 8)" * (cast_expression "(undefined4 *)(param_1 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) }))) (expression_statement "*(undefined4 *)(param_1 + 8) = uVar33;" (assignment_expression "*(undefined4 *)(param_1 + 8) = uVar33" (pointer_expression "*(undefined4 *)(param_1 + 8)" * (cast_expression "(undefined4 *)(param_1 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar33 = *(undefined4 *)(this + 4);" (assignment_expression "uVar33 = *(undefined4 *)(this + 4)" identifier = (pointer_expression "*(undefined4 *)(this + 4)" * (cast_expression "(undefined4 *)(this + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);" (assignment_expression "*(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4)" (pointer_expression "*(undefined4 *)(this + 4)" * (cast_expression "(undefined4 *)(this + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(param_1 + 4) = uVar33;" (assignment_expression "*(undefined4 *)(param_1 + 4) = uVar33" (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = identifier) ;) }))) })) (return_statement "return;" return ;) })))
(translation_unit "void __thiscall std::string::swap(string *this,string *param_1)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  uint uVar15;\n  uint uVar16;\n  uint uVar17;\n  uint uVar18;\n  uint uVar19;\n  uint uVar20;\n  uint uVar21;\n  uint uVar22;\n  uint uVar23;\n  uint uVar24;\n  uint uVar25;\n  uint uVar26;\n  string *psVar27;\n  string *psVar28;\n  string *psVar29;\n  undefined4 uVar30;\n  string *psVar31;\n  uint uVar32;\n  uint in_t0;\n  undefined4 uVar33;\n  uint in_t1;\n  undefined4 uVar34;\n  uint in_t2;\n  undefined4 uVar35;\n  uint in_t3;\n  uint in_t4;\n  uint in_t5;\n  \n  if (this != param_1) {\n    psVar31 = *(string **)this;\n    psVar28 = this + 8;\n    psVar29 = *(string **)param_1;\n    psVar27 = param_1 + 8;\n    if (psVar28 == psVar31) {\n      if (psVar27 == psVar29) {\n        uVar32 = *(uint *)(this + 4);\n        if (uVar32 == 0) {\n          if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }\n        }\n        else if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }\n      }\n      else {\n        uVar30 = *(undefined4 *)(this + 0xc);\n        uVar32 = (uint)(this + 0x10) & 3;\n        iVar6 = *(int *)(this + 0x10 + -uVar32);\n        uVar33 = *(undefined4 *)(this + 0x14);\n        uVar34 = *(undefined4 *)(param_1 + 8);\n        uVar12 = (uint)(this + 0x13) & 3;\n        uVar20 = *(uint *)(this + 0x13 + -uVar12);\n        *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n        *(undefined4 *)(param_1 + 0xc) = uVar30;\n        *(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;\n        *(undefined4 *)(param_1 + 0x14) = uVar33;\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar27;\n        *(undefined4 *)(this + 8) = uVar34;\n        uVar33 = *(undefined4 *)(this + 4);\n        *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n        *(undefined4 *)(param_1 + 4) = uVar33;\n      }\n    }\n    else {\n      uVar33 = *(undefined4 *)(this + 8);\n      if (psVar27 == psVar29) {\n        uVar35 = *(undefined4 *)(param_1 + 0xc);\n        uVar34 = *(undefined4 *)(param_1 + 0x10);\n        uVar30 = *(undefined4 *)(param_1 + 0x14);\n        *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n        *(undefined4 *)(this + 0xc) = uVar35;\n        *(undefined4 *)(this + 0x10) = uVar34;\n        *(undefined4 *)(this + 0x14) = uVar30;\n        *(string **)param_1 = psVar31;\n        *(string **)this = psVar28;\n      }\n      else {\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar31;\n        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);\n      }\n      *(undefined4 *)(param_1 + 8) = uVar33;\n      uVar33 = *(undefined4 *)(this + 4);\n      *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n      *(undefined4 *)(param_1 + 4) = uVar33;\n    }\n  }\n  return;\n}\n\n" (function_definition "void __thiscall std::string::swap(string *this,string *param_1)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  uint uVar15;\n  uint uVar16;\n  uint uVar17;\n  uint uVar18;\n  uint uVar19;\n  uint uVar20;\n  uint uVar21;\n  uint uVar22;\n  uint uVar23;\n  uint uVar24;\n  uint uVar25;\n  uint uVar26;\n  string *psVar27;\n  string *psVar28;\n  string *psVar29;\n  undefined4 uVar30;\n  string *psVar31;\n  uint uVar32;\n  uint in_t0;\n  undefined4 uVar33;\n  uint in_t1;\n  undefined4 uVar34;\n  uint in_t2;\n  undefined4 uVar35;\n  uint in_t3;\n  uint in_t4;\n  uint in_t5;\n  \n  if (this != param_1) {\n    psVar31 = *(string **)this;\n    psVar28 = this + 8;\n    psVar29 = *(string **)param_1;\n    psVar27 = param_1 + 8;\n    if (psVar28 == psVar31) {\n      if (psVar27 == psVar29) {\n        uVar32 = *(uint *)(this + 4);\n        if (uVar32 == 0) {\n          if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }\n        }\n        else if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }\n      }\n      else {\n        uVar30 = *(undefined4 *)(this + 0xc);\n        uVar32 = (uint)(this + 0x10) & 3;\n        iVar6 = *(int *)(this + 0x10 + -uVar32);\n        uVar33 = *(undefined4 *)(this + 0x14);\n        uVar34 = *(undefined4 *)(param_1 + 8);\n        uVar12 = (uint)(this + 0x13) & 3;\n        uVar20 = *(uint *)(this + 0x13 + -uVar12);\n        *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n        *(undefined4 *)(param_1 + 0xc) = uVar30;\n        *(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;\n        *(undefined4 *)(param_1 + 0x14) = uVar33;\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar27;\n        *(undefined4 *)(this + 8) = uVar34;\n        uVar33 = *(undefined4 *)(this + 4);\n        *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n        *(undefined4 *)(param_1 + 4) = uVar33;\n      }\n    }\n    else {\n      uVar33 = *(undefined4 *)(this + 8);\n      if (psVar27 == psVar29) {\n        uVar35 = *(undefined4 *)(param_1 + 0xc);\n        uVar34 = *(undefined4 *)(param_1 + 0x10);\n        uVar30 = *(undefined4 *)(param_1 + 0x14);\n        *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n        *(undefined4 *)(this + 0xc) = uVar35;\n        *(undefined4 *)(this + 0x10) = uVar34;\n        *(undefined4 *)(this + 0x14) = uVar30;\n        *(string **)param_1 = psVar31;\n        *(string **)this = psVar28;\n      }\n      else {\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar31;\n        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);\n      }\n      *(undefined4 *)(param_1 + 8) = uVar33;\n      uVar33 = *(undefined4 *)(this + 4);\n      *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n      *(undefined4 *)(param_1 + 4) = uVar33;\n    }\n  }\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "std::string::" identifier : : identifier : :) (function_declarator "swap(string *this,string *param_1)" identifier (parameter_list "(string *this,string *param_1)" ( (parameter_declaration "string *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "string *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  uint uVar15;\n  uint uVar16;\n  uint uVar17;\n  uint uVar18;\n  uint uVar19;\n  uint uVar20;\n  uint uVar21;\n  uint uVar22;\n  uint uVar23;\n  uint uVar24;\n  uint uVar25;\n  uint uVar26;\n  string *psVar27;\n  string *psVar28;\n  string *psVar29;\n  undefined4 uVar30;\n  string *psVar31;\n  uint uVar32;\n  uint in_t0;\n  undefined4 uVar33;\n  uint in_t1;\n  undefined4 uVar34;\n  uint in_t2;\n  undefined4 uVar35;\n  uint in_t3;\n  uint in_t4;\n  uint in_t5;\n  \n  if (this != param_1) {\n    psVar31 = *(string **)this;\n    psVar28 = this + 8;\n    psVar29 = *(string **)param_1;\n    psVar27 = param_1 + 8;\n    if (psVar28 == psVar31) {\n      if (psVar27 == psVar29) {\n        uVar32 = *(uint *)(this + 4);\n        if (uVar32 == 0) {\n          if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }\n        }\n        else if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }\n      }\n      else {\n        uVar30 = *(undefined4 *)(this + 0xc);\n        uVar32 = (uint)(this + 0x10) & 3;\n        iVar6 = *(int *)(this + 0x10 + -uVar32);\n        uVar33 = *(undefined4 *)(this + 0x14);\n        uVar34 = *(undefined4 *)(param_1 + 8);\n        uVar12 = (uint)(this + 0x13) & 3;\n        uVar20 = *(uint *)(this + 0x13 + -uVar12);\n        *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n        *(undefined4 *)(param_1 + 0xc) = uVar30;\n        *(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;\n        *(undefined4 *)(param_1 + 0x14) = uVar33;\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar27;\n        *(undefined4 *)(this + 8) = uVar34;\n        uVar33 = *(undefined4 *)(this + 4);\n        *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n        *(undefined4 *)(param_1 + 4) = uVar33;\n      }\n    }\n    else {\n      uVar33 = *(undefined4 *)(this + 8);\n      if (psVar27 == psVar29) {\n        uVar35 = *(undefined4 *)(param_1 + 0xc);\n        uVar34 = *(undefined4 *)(param_1 + 0x10);\n        uVar30 = *(undefined4 *)(param_1 + 0x14);\n        *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n        *(undefined4 *)(this + 0xc) = uVar35;\n        *(undefined4 *)(this + 0x10) = uVar34;\n        *(undefined4 *)(this + 0x14) = uVar30;\n        *(string **)param_1 = psVar31;\n        *(string **)this = psVar28;\n      }\n      else {\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar31;\n        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);\n      }\n      *(undefined4 *)(param_1 + 8) = uVar33;\n      uVar33 = *(undefined4 *)(this + 4);\n      *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n      *(undefined4 *)(param_1 + 4) = uVar33;\n    }\n  }\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "uint uVar23;" type_identifier identifier ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "uint uVar25;" type_identifier identifier ;) (declaration "uint uVar26;" type_identifier identifier ;) (declaration "string *psVar27;" type_identifier (pointer_declarator "*psVar27" * identifier) ;) (declaration "string *psVar28;" type_identifier (pointer_declarator "*psVar28" * identifier) ;) (declaration "string *psVar29;" type_identifier (pointer_declarator "*psVar29" * identifier) ;) (declaration "undefined4 uVar30;" type_identifier identifier ;) (declaration "string *psVar31;" type_identifier (pointer_declarator "*psVar31" * identifier) ;) (declaration "uint uVar32;" type_identifier identifier ;) (declaration "uint in_t0;" type_identifier identifier ;) (declaration "undefined4 uVar33;" type_identifier identifier ;) (declaration "uint in_t1;" type_identifier identifier ;) (declaration "undefined4 uVar34;" type_identifier identifier ;) (declaration "uint in_t2;" type_identifier identifier ;) (declaration "undefined4 uVar35;" type_identifier identifier ;) (declaration "uint in_t3;" type_identifier identifier ;) (declaration "uint in_t4;" type_identifier identifier ;) (declaration "uint in_t5;" type_identifier identifier ;) (if_statement "if (this != param_1) {\n    psVar31 = *(string **)this;\n    psVar28 = this + 8;\n    psVar29 = *(string **)param_1;\n    psVar27 = param_1 + 8;\n    if (psVar28 == psVar31) {\n      if (psVar27 == psVar29) {\n        uVar32 = *(uint *)(this + 4);\n        if (uVar32 == 0) {\n          if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }\n        }\n        else if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }\n      }\n      else {\n        uVar30 = *(undefined4 *)(this + 0xc);\n        uVar32 = (uint)(this + 0x10) & 3;\n        iVar6 = *(int *)(this + 0x10 + -uVar32);\n        uVar33 = *(undefined4 *)(this + 0x14);\n        uVar34 = *(undefined4 *)(param_1 + 8);\n        uVar12 = (uint)(this + 0x13) & 3;\n        uVar20 = *(uint *)(this + 0x13 + -uVar12);\n        *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n        *(undefined4 *)(param_1 + 0xc) = uVar30;\n        *(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;\n        *(undefined4 *)(param_1 + 0x14) = uVar33;\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar27;\n        *(undefined4 *)(this + 8) = uVar34;\n        uVar33 = *(undefined4 *)(this + 4);\n        *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n        *(undefined4 *)(param_1 + 4) = uVar33;\n      }\n    }\n    else {\n      uVar33 = *(undefined4 *)(this + 8);\n      if (psVar27 == psVar29) {\n        uVar35 = *(undefined4 *)(param_1 + 0xc);\n        uVar34 = *(undefined4 *)(param_1 + 0x10);\n        uVar30 = *(undefined4 *)(param_1 + 0x14);\n        *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n        *(undefined4 *)(this + 0xc) = uVar35;\n        *(undefined4 *)(this + 0x10) = uVar34;\n        *(undefined4 *)(this + 0x14) = uVar30;\n        *(string **)param_1 = psVar31;\n        *(string **)this = psVar28;\n      }\n      else {\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar31;\n        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);\n      }\n      *(undefined4 *)(param_1 + 8) = uVar33;\n      uVar33 = *(undefined4 *)(this + 4);\n      *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n      *(undefined4 *)(param_1 + 4) = uVar33;\n    }\n  }" if (parenthesized_expression "(this != param_1)" ( (binary_expression "this != param_1" identifier != identifier) )) (compound_statement "{\n    psVar31 = *(string **)this;\n    psVar28 = this + 8;\n    psVar29 = *(string **)param_1;\n    psVar27 = param_1 + 8;\n    if (psVar28 == psVar31) {\n      if (psVar27 == psVar29) {\n        uVar32 = *(uint *)(this + 4);\n        if (uVar32 == 0) {\n          if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }\n        }\n        else if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }\n      }\n      else {\n        uVar30 = *(undefined4 *)(this + 0xc);\n        uVar32 = (uint)(this + 0x10) & 3;\n        iVar6 = *(int *)(this + 0x10 + -uVar32);\n        uVar33 = *(undefined4 *)(this + 0x14);\n        uVar34 = *(undefined4 *)(param_1 + 8);\n        uVar12 = (uint)(this + 0x13) & 3;\n        uVar20 = *(uint *)(this + 0x13 + -uVar12);\n        *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n        *(undefined4 *)(param_1 + 0xc) = uVar30;\n        *(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;\n        *(undefined4 *)(param_1 + 0x14) = uVar33;\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar27;\n        *(undefined4 *)(this + 8) = uVar34;\n        uVar33 = *(undefined4 *)(this + 4);\n        *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n        *(undefined4 *)(param_1 + 4) = uVar33;\n      }\n    }\n    else {\n      uVar33 = *(undefined4 *)(this + 8);\n      if (psVar27 == psVar29) {\n        uVar35 = *(undefined4 *)(param_1 + 0xc);\n        uVar34 = *(undefined4 *)(param_1 + 0x10);\n        uVar30 = *(undefined4 *)(param_1 + 0x14);\n        *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n        *(undefined4 *)(this + 0xc) = uVar35;\n        *(undefined4 *)(this + 0x10) = uVar34;\n        *(undefined4 *)(this + 0x14) = uVar30;\n        *(string **)param_1 = psVar31;\n        *(string **)this = psVar28;\n      }\n      else {\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar31;\n        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);\n      }\n      *(undefined4 *)(param_1 + 8) = uVar33;\n      uVar33 = *(undefined4 *)(this + 4);\n      *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n      *(undefined4 *)(param_1 + 4) = uVar33;\n    }\n  }" { (expression_statement "psVar31 = *(string **)this;" (assignment_expression "psVar31 = *(string **)this" identifier = (pointer_expression "*(string **)this" * (cast_expression "(string **)this" ( (type_descriptor "string **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "psVar28 = this + 8;" (assignment_expression "psVar28 = this + 8" identifier = (binary_expression "this + 8" identifier + number_literal)) ;) (expression_statement "psVar29 = *(string **)param_1;" (assignment_expression "psVar29 = *(string **)param_1" identifier = (pointer_expression "*(string **)param_1" * (cast_expression "(string **)param_1" ( (type_descriptor "string **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "psVar27 = param_1 + 8;" (assignment_expression "psVar27 = param_1 + 8" identifier = (binary_expression "param_1 + 8" identifier + number_literal)) ;) (if_statement "if (psVar28 == psVar31) {\n      if (psVar27 == psVar29) {\n        uVar32 = *(uint *)(this + 4);\n        if (uVar32 == 0) {\n          if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }\n        }\n        else if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }\n      }\n      else {\n        uVar30 = *(undefined4 *)(this + 0xc);\n        uVar32 = (uint)(this + 0x10) & 3;\n        iVar6 = *(int *)(this + 0x10 + -uVar32);\n        uVar33 = *(undefined4 *)(this + 0x14);\n        uVar34 = *(undefined4 *)(param_1 + 8);\n        uVar12 = (uint)(this + 0x13) & 3;\n        uVar20 = *(uint *)(this + 0x13 + -uVar12);\n        *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n        *(undefined4 *)(param_1 + 0xc) = uVar30;\n        *(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;\n        *(undefined4 *)(param_1 + 0x14) = uVar33;\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar27;\n        *(undefined4 *)(this + 8) = uVar34;\n        uVar33 = *(undefined4 *)(this + 4);\n        *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n        *(undefined4 *)(param_1 + 4) = uVar33;\n      }\n    }\n    else {\n      uVar33 = *(undefined4 *)(this + 8);\n      if (psVar27 == psVar29) {\n        uVar35 = *(undefined4 *)(param_1 + 0xc);\n        uVar34 = *(undefined4 *)(param_1 + 0x10);\n        uVar30 = *(undefined4 *)(param_1 + 0x14);\n        *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n        *(undefined4 *)(this + 0xc) = uVar35;\n        *(undefined4 *)(this + 0x10) = uVar34;\n        *(undefined4 *)(this + 0x14) = uVar30;\n        *(string **)param_1 = psVar31;\n        *(string **)this = psVar28;\n      }\n      else {\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar31;\n        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);\n      }\n      *(undefined4 *)(param_1 + 8) = uVar33;\n      uVar33 = *(undefined4 *)(this + 4);\n      *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n      *(undefined4 *)(param_1 + 4) = uVar33;\n    }" if (parenthesized_expression "(psVar28 == psVar31)" ( (binary_expression "psVar28 == psVar31" identifier == identifier) )) (compound_statement "{\n      if (psVar27 == psVar29) {\n        uVar32 = *(uint *)(this + 4);\n        if (uVar32 == 0) {\n          if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }\n        }\n        else if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }\n      }\n      else {\n        uVar30 = *(undefined4 *)(this + 0xc);\n        uVar32 = (uint)(this + 0x10) & 3;\n        iVar6 = *(int *)(this + 0x10 + -uVar32);\n        uVar33 = *(undefined4 *)(this + 0x14);\n        uVar34 = *(undefined4 *)(param_1 + 8);\n        uVar12 = (uint)(this + 0x13) & 3;\n        uVar20 = *(uint *)(this + 0x13 + -uVar12);\n        *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n        *(undefined4 *)(param_1 + 0xc) = uVar30;\n        *(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;\n        *(undefined4 *)(param_1 + 0x14) = uVar33;\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar27;\n        *(undefined4 *)(this + 8) = uVar34;\n        uVar33 = *(undefined4 *)(this + 4);\n        *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n        *(undefined4 *)(param_1 + 4) = uVar33;\n      }\n    }" { (if_statement "if (psVar27 == psVar29) {\n        uVar32 = *(uint *)(this + 4);\n        if (uVar32 == 0) {\n          if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }\n        }\n        else if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }\n      }\n      else {\n        uVar30 = *(undefined4 *)(this + 0xc);\n        uVar32 = (uint)(this + 0x10) & 3;\n        iVar6 = *(int *)(this + 0x10 + -uVar32);\n        uVar33 = *(undefined4 *)(this + 0x14);\n        uVar34 = *(undefined4 *)(param_1 + 8);\n        uVar12 = (uint)(this + 0x13) & 3;\n        uVar20 = *(uint *)(this + 0x13 + -uVar12);\n        *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n        *(undefined4 *)(param_1 + 0xc) = uVar30;\n        *(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;\n        *(undefined4 *)(param_1 + 0x14) = uVar33;\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar27;\n        *(undefined4 *)(this + 8) = uVar34;\n        uVar33 = *(undefined4 *)(this + 4);\n        *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n        *(undefined4 *)(param_1 + 4) = uVar33;\n      }" if (parenthesized_expression "(psVar27 == psVar29)" ( (binary_expression "psVar27 == psVar29" identifier == identifier) )) (compound_statement "{\n        uVar32 = *(uint *)(this + 4);\n        if (uVar32 == 0) {\n          if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }\n        }\n        else if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }\n      }" { (expression_statement "uVar32 = *(uint *)(this + 4);" (assignment_expression "uVar32 = *(uint *)(this + 4)" identifier = (pointer_expression "*(uint *)(this + 4)" * (cast_expression "(uint *)(this + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) ))))) ;) (if_statement "if (uVar32 == 0) {\n          if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }\n        }\n        else if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }" if (parenthesized_expression "(uVar32 == 0)" ( (binary_expression "uVar32 == 0" identifier == number_literal) )) (compound_statement "{\n          if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }\n        }" { (if_statement "if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }" if (parenthesized_expression "(*(int *)(param_1 + 4) == 0)" ( (binary_expression "*(int *)(param_1 + 4) == 0" (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }" { (expression_statement "*(undefined4 *)(this + 4) = 0;" (assignment_expression "*(undefined4 *)(this + 4) = 0" (pointer_expression "*(undefined4 *)(this + 4)" * (cast_expression "(undefined4 *)(this + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(param_1 + 4) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 4) = 0" (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }" else (compound_statement "{\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }" { (expression_statement "uVar34 = *(undefined4 *)(param_1 + 0xc);" (assignment_expression "uVar34 = *(undefined4 *)(param_1 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0xc)" * (cast_expression "(undefined4 *)(param_1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar30 = *(undefined4 *)(param_1 + 0x10);" (assignment_expression "uVar30 = *(undefined4 *)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar33 = *(undefined4 *)(param_1 + 0x14);" (assignment_expression "uVar33 = *(undefined4 *)(param_1 + 0x14)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x14)" * (cast_expression "(undefined4 *)(param_1 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)psVar28 = *(undefined4 *)psVar27;" (assignment_expression "*(undefined4 *)psVar28 = *(undefined4 *)psVar27" (pointer_expression "*(undefined4 *)psVar28" * (cast_expression "(undefined4 *)psVar28" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined4 *)psVar27" * (cast_expression "(undefined4 *)psVar27" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 *)(this + 0xc) = uVar34;" (assignment_expression "*(undefined4 *)(this + 0xc) = uVar34" (pointer_expression "*(undefined4 *)(this + 0xc)" * (cast_expression "(undefined4 *)(this + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xc)" ( (binary_expression "this + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(this + 0x10) = uVar30;" (assignment_expression "*(undefined4 *)(this + 0x10) = uVar30" (pointer_expression "*(undefined4 *)(this + 0x10)" * (cast_expression "(undefined4 *)(this + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x10)" ( (binary_expression "this + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(this + 0x14) = uVar33;" (assignment_expression "*(undefined4 *)(this + 0x14) = uVar33" (pointer_expression "*(undefined4 *)(this + 0x14)" * (cast_expression "(undefined4 *)(this + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x14)" ( (binary_expression "this + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);" (assignment_expression "*(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4)" (pointer_expression "*(undefined4 *)(this + 4)" * (cast_expression "(undefined4 *)(this + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(param_1 + 4) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 4) = 0" (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "**(undefined1 **)param_1 = 0;" (assignment_expression "**(undefined1 **)param_1 = 0" (pointer_expression "**(undefined1 **)param_1" * (pointer_expression "*(undefined1 **)param_1" * (cast_expression "(undefined1 **)param_1" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) = number_literal) ;) }))) }) (else_clause "else if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }" else (if_statement "if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }" if (parenthesized_expression "(*(int *)(param_1 + 4) == 0)" ( (binary_expression "*(int *)(param_1 + 4) == 0" (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }" { (expression_statement "uVar34 = *(undefined4 *)(this + 0xc);" (assignment_expression "uVar34 = *(undefined4 *)(this + 0xc)" identifier = (pointer_expression "*(undefined4 *)(this + 0xc)" * (cast_expression "(undefined4 *)(this + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xc)" ( (binary_expression "this + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar30 = *(undefined4 *)(this + 0x10);" (assignment_expression "uVar30 = *(undefined4 *)(this + 0x10)" identifier = (pointer_expression "*(undefined4 *)(this + 0x10)" * (cast_expression "(undefined4 *)(this + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x10)" ( (binary_expression "this + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar33 = *(undefined4 *)(this + 0x14);" (assignment_expression "uVar33 = *(undefined4 *)(this + 0x14)" identifier = (pointer_expression "*(undefined4 *)(this + 0x14)" * (cast_expression "(undefined4 *)(this + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x14)" ( (binary_expression "this + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)psVar27 = *(undefined4 *)psVar28;" (assignment_expression "*(undefined4 *)psVar27 = *(undefined4 *)psVar28" (pointer_expression "*(undefined4 *)psVar27" * (cast_expression "(undefined4 *)psVar27" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined4 *)psVar28" * (cast_expression "(undefined4 *)psVar28" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 *)(param_1 + 0xc) = uVar34;" (assignment_expression "*(undefined4 *)(param_1 + 0xc) = uVar34" (pointer_expression "*(undefined4 *)(param_1 + 0xc)" * (cast_expression "(undefined4 *)(param_1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(param_1 + 0x10) = uVar30;" (assignment_expression "*(undefined4 *)(param_1 + 0x10) = uVar30" (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(param_1 + 0x14) = uVar33;" (assignment_expression "*(undefined4 *)(param_1 + 0x14) = uVar33" (pointer_expression "*(undefined4 *)(param_1 + 0x14)" * (cast_expression "(undefined4 *)(param_1 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);" (assignment_expression "*(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4)" (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(this + 4)" * (cast_expression "(undefined4 *)(this + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(this + 4) = 0;" (assignment_expression "*(undefined4 *)(this + 4) = 0" (pointer_expression "*(undefined4 *)(this + 4)" * (cast_expression "(undefined4 *)(this + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "**(undefined1 **)this = 0;" (assignment_expression "**(undefined1 **)this = 0" (pointer_expression "**(undefined1 **)this" * (pointer_expression "*(undefined1 **)this" * (cast_expression "(undefined1 **)this" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) = number_literal) ;) }) (else_clause "else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }" else (compound_statement "{\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }" { (expression_statement "uVar12 = (uint)psVar28 & 3;" (assignment_expression "uVar12 = (uint)psVar28 & 3" identifier = (binary_expression "(uint)psVar28 & 3" (cast_expression "(uint)psVar28" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "uVar20 = (uint)(this + 0xc) & 3;" (assignment_expression "uVar20 = (uint)(this + 0xc) & 3" identifier = (binary_expression "(uint)(this + 0xc) & 3" (call_expression "(uint)(this + 0xc)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(this + 0xc)" ( (binary_expression "this + 0xc" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "iVar6 = *(int *)(this + 0xc + -uVar20);" (assignment_expression "iVar6 = *(int *)(this + 0xc + -uVar20)" identifier = (pointer_expression "*(int *)(this + 0xc + -uVar20)" * (cast_expression "(int *)(this + 0xc + -uVar20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xc + -uVar20)" ( (binary_expression "this + 0xc + -uVar20" (binary_expression "this + 0xc" identifier + number_literal) + (unary_expression "-uVar20" - identifier)) ))))) ;) (expression_statement "uVar1 = (uint)(param_1 + 8) & 3;" (assignment_expression "uVar1 = (uint)(param_1 + 8) & 3" identifier = (binary_expression "(uint)(param_1 + 8) & 3" (call_expression "(uint)(param_1 + 8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "iVar7 = *(int *)(param_1 + 8 + -uVar1);" (assignment_expression "iVar7 = *(int *)(param_1 + 8 + -uVar1)" identifier = (pointer_expression "*(int *)(param_1 + 8 + -uVar1)" * (cast_expression "(int *)(param_1 + 8 + -uVar1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8 + -uVar1)" ( (binary_expression "param_1 + 8 + -uVar1" (binary_expression "param_1 + 8" identifier + number_literal) + (unary_expression "-uVar1" - identifier)) ))))) ;) (expression_statement "uVar2 = (uint)(param_1 + 0xc) & 3;" (assignment_expression "uVar2 = (uint)(param_1 + 0xc) & 3" identifier = (binary_expression "(uint)(param_1 + 0xc) & 3" (call_expression "(uint)(param_1 + 0xc)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "iVar8 = *(int *)(param_1 + 0xc + -uVar2);" (assignment_expression "iVar8 = *(int *)(param_1 + 0xc + -uVar2)" identifier = (pointer_expression "*(int *)(param_1 + 0xc + -uVar2)" * (cast_expression "(int *)(param_1 + 0xc + -uVar2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc + -uVar2)" ( (binary_expression "param_1 + 0xc + -uVar2" (binary_expression "param_1 + 0xc" identifier + number_literal) + (unary_expression "-uVar2" - identifier)) ))))) ;) (expression_statement "uVar3 = (uint)(param_1 + 0x10) & 3;" (assignment_expression "uVar3 = (uint)(param_1 + 0x10) & 3" identifier = (binary_expression "(uint)(param_1 + 0x10) & 3" (call_expression "(uint)(param_1 + 0x10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "iVar9 = *(int *)(param_1 + 0x10 + -uVar3);" (assignment_expression "iVar9 = *(int *)(param_1 + 0x10 + -uVar3)" identifier = (pointer_expression "*(int *)(param_1 + 0x10 + -uVar3)" * (cast_expression "(int *)(param_1 + 0x10 + -uVar3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10 + -uVar3)" ( (binary_expression "param_1 + 0x10 + -uVar3" (binary_expression "param_1 + 0x10" identifier + number_literal) + (unary_expression "-uVar3" - identifier)) ))))) ;) (expression_statement "uVar33 = *(undefined4 *)(param_1 + 0x14);" (assignment_expression "uVar33 = *(undefined4 *)(param_1 + 0x14)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x14)" * (cast_expression "(undefined4 *)(param_1 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = (uint)(this + 0x10) & 3;" (assignment_expression "uVar4 = (uint)(this + 0x10) & 3" identifier = (binary_expression "(uint)(this + 0x10) & 3" (call_expression "(uint)(this + 0x10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(this + 0x10)" ( (binary_expression "this + 0x10" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "iVar10 = *(int *)(this + 0x10 + -uVar4);" (assignment_expression "iVar10 = *(int *)(this + 0x10 + -uVar4)" identifier = (pointer_expression "*(int *)(this + 0x10 + -uVar4)" * (cast_expression "(int *)(this + 0x10 + -uVar4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x10 + -uVar4)" ( (binary_expression "this + 0x10 + -uVar4" (binary_expression "this + 0x10" identifier + number_literal) + (unary_expression "-uVar4" - identifier)) ))))) ;) (expression_statement "uVar5 = (uint)(this + 0x14) & 3;" (assignment_expression "uVar5 = (uint)(this + 0x14) & 3" identifier = (binary_expression "(uint)(this + 0x14) & 3" (call_expression "(uint)(this + 0x14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(this + 0x14)" ( (binary_expression "this + 0x14" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "iVar11 = *(int *)(this + 0x14 + -uVar5);" (assignment_expression "iVar11 = *(int *)(this + 0x14 + -uVar5)" identifier = (pointer_expression "*(int *)(this + 0x14 + -uVar5)" * (cast_expression "(int *)(this + 0x14 + -uVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x14 + -uVar5)" ( (binary_expression "this + 0x14 + -uVar5" (binary_expression "this + 0x14" identifier + number_literal) + (unary_expression "-uVar5" - identifier)) ))))) ;) (expression_statement "uVar13 = (uint)(this + 0xb) & 3;" (assignment_expression "uVar13 = (uint)(this + 0xb) & 3" identifier = (binary_expression "(uint)(this + 0xb) & 3" (call_expression "(uint)(this + 0xb)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(this + 0xb)" ( (binary_expression "this + 0xb" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "uVar14 = (uint)(this + 0xf) & 3;" (assignment_expression "uVar14 = (uint)(this + 0xf) & 3" identifier = (binary_expression "(uint)(this + 0xf) & 3" (call_expression "(uint)(this + 0xf)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(this + 0xf)" ( (binary_expression "this + 0xf" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "uVar21 = *(uint *)(this + 0xf + -uVar14);" (assignment_expression "uVar21 = *(uint *)(this + 0xf + -uVar14)" identifier = (pointer_expression "*(uint *)(this + 0xf + -uVar14)" * (cast_expression "(uint *)(this + 0xf + -uVar14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xf + -uVar14)" ( (binary_expression "this + 0xf + -uVar14" (binary_expression "this + 0xf" identifier + number_literal) + (unary_expression "-uVar14" - identifier)) ))))) ;) (expression_statement "uVar15 = (uint)(param_1 + 0xb) & 3;" (assignment_expression "uVar15 = (uint)(param_1 + 0xb) & 3" identifier = (binary_expression "(uint)(param_1 + 0xb) & 3" (call_expression "(uint)(param_1 + 0xb)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_1 + 0xb)" ( (binary_expression "param_1 + 0xb" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "uVar22 = *(uint *)(param_1 + 0xb + -uVar15);" (assignment_expression "uVar22 = *(uint *)(param_1 + 0xb + -uVar15)" identifier = (pointer_expression "*(uint *)(param_1 + 0xb + -uVar15)" * (cast_expression "(uint *)(param_1 + 0xb + -uVar15)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xb + -uVar15)" ( (binary_expression "param_1 + 0xb + -uVar15" (binary_expression "param_1 + 0xb" identifier + number_literal) + (unary_expression "-uVar15" - identifier)) ))))) ;) (expression_statement "uVar16 = (uint)(param_1 + 0xf) & 3;" (assignment_expression "uVar16 = (uint)(param_1 + 0xf) & 3" identifier = (binary_expression "(uint)(param_1 + 0xf) & 3" (call_expression "(uint)(param_1 + 0xf)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_1 + 0xf)" ( (binary_expression "param_1 + 0xf" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "uVar23 = *(uint *)(param_1 + 0xf + -uVar16);" (assignment_expression "uVar23 = *(uint *)(param_1 + 0xf + -uVar16)" identifier = (pointer_expression "*(uint *)(param_1 + 0xf + -uVar16)" * (cast_expression "(uint *)(param_1 + 0xf + -uVar16)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf + -uVar16)" ( (binary_expression "param_1 + 0xf + -uVar16" (binary_expression "param_1 + 0xf" identifier + number_literal) + (unary_expression "-uVar16" - identifier)) ))))) ;) (expression_statement "uVar17 = (uint)(param_1 + 0x13) & 3;" (assignment_expression "uVar17 = (uint)(param_1 + 0x13) & 3" identifier = (binary_expression "(uint)(param_1 + 0x13) & 3" (call_expression "(uint)(param_1 + 0x13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_1 + 0x13)" ( (binary_expression "param_1 + 0x13" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);" (assignment_expression "uVar24 = *(uint *)(param_1 + 0x13 + -uVar17)" identifier = (pointer_expression "*(uint *)(param_1 + 0x13 + -uVar17)" * (cast_expression "(uint *)(param_1 + 0x13 + -uVar17)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x13 + -uVar17)" ( (binary_expression "param_1 + 0x13 + -uVar17" (binary_expression "param_1 + 0x13" identifier + number_literal) + (unary_expression "-uVar17" - identifier)) ))))) ;) (expression_statement "uVar18 = (uint)(this + 0x13) & 3;" (assignment_expression "uVar18 = (uint)(this + 0x13) & 3" identifier = (binary_expression "(uint)(this + 0x13) & 3" (call_expression "(uint)(this + 0x13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(this + 0x13)" ( (binary_expression "this + 0x13" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "uVar25 = *(uint *)(this + 0x13 + -uVar18);" (assignment_expression "uVar25 = *(uint *)(this + 0x13 + -uVar18)" identifier = (pointer_expression "*(uint *)(this + 0x13 + -uVar18)" * (cast_expression "(uint *)(this + 0x13 + -uVar18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x13 + -uVar18)" ( (binary_expression "this + 0x13 + -uVar18" (binary_expression "this + 0x13" identifier + number_literal) + (unary_expression "-uVar18" - identifier)) ))))) ;) (expression_statement "uVar19 = (uint)(this + 0x17) & 3;" (assignment_expression "uVar19 = (uint)(this + 0x17) & 3" identifier = (binary_expression "(uint)(this + 0x17) & 3" (call_expression "(uint)(this + 0x17)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(this + 0x17)" ( (binary_expression "this + 0x17" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "uVar26 = *(uint *)(this + 0x17 + -uVar19);" (assignment_expression "uVar26 = *(uint *)(this + 0x17 + -uVar19)" identifier = (pointer_expression "*(uint *)(this + 0x17 + -uVar19)" * (cast_expression "(uint *)(this + 0x17 + -uVar19)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x17 + -uVar19)" ( (binary_expression "this + 0x17 + -uVar19" (binary_expression "this + 0x17" identifier + number_literal) + (unary_expression "-uVar19" - identifier)) ))))) ;) (expression_statement "*(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;" (assignment_expression "*(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8" (pointer_expression "*(uint *)psVar27" * (cast_expression "(uint *)psVar27" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "(*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8" (binary_expression "(*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8" (parenthesized_expression "(*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)" ( (binary_expression "*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8" (binary_expression "*(int *)(psVar28 + -uVar12) << uVar12 * 8" (pointer_expression "*(int *)(psVar28 + -uVar12)" * (cast_expression "(int *)(psVar28 + -uVar12)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar28 + -uVar12)" ( (binary_expression "psVar28 + -uVar12" identifier + (unary_expression "-uVar12" - identifier)) )))) << (binary_expression "uVar12 * 8" identifier * number_literal)) | (binary_expression "in_t5 & 0xffffffffU >> (4 - uVar12) * 8" identifier & (binary_expression "0xffffffffU >> (4 - uVar12) * 8" number_literal >> (binary_expression "(4 - uVar12) * 8" (parenthesized_expression "(4 - uVar12)" ( (binary_expression "4 - uVar12" number_literal - identifier) )) * number_literal)))) )) & (binary_expression "-1 << (uVar13 + 1) * 8" number_literal << (binary_expression "(uVar13 + 1) * 8" (parenthesized_expression "(uVar13 + 1)" ( (binary_expression "uVar13 + 1" identifier + number_literal) )) * number_literal))) | (binary_expression "*(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8" (pointer_expression "*(uint *)(this + 0xb + -uVar13)" * (cast_expression "(uint *)(this + 0xb + -uVar13)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xb + -uVar13)" ( (binary_expression "this + 0xb + -uVar13" (binary_expression "this + 0xb" identifier + number_literal) + (unary_expression "-uVar13" - identifier)) )))) >> (binary_expression "(3 - uVar13) * 8" (parenthesized_expression "(3 - uVar13)" ( (binary_expression "3 - uVar13" number_literal - identifier) )) * number_literal)))) ;) (expression_statement "*(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;" (assignment_expression "*(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8" (pointer_expression "*(uint *)(param_1 + 0xc)" * (cast_expression "(uint *)(param_1 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) = (binary_expression "(iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8" (binary_expression "(iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8" (parenthesized_expression "(iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8)" ( (binary_expression "iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8" (binary_expression "iVar6 << uVar20 * 8" identifier << (binary_expression "uVar20 * 8" identifier * number_literal)) | (binary_expression "in_t4 & 0xffffffffU >> (4 - uVar20) * 8" identifier & (binary_expression "0xffffffffU >> (4 - uVar20) * 8" number_literal >> (binary_expression "(4 - uVar20) * 8" (parenthesized_expression "(4 - uVar20)" ( (binary_expression "4 - uVar20" number_literal - identifier) )) * number_literal)))) )) & (binary_expression "-1 << (uVar14 + 1) * 8" number_literal << (binary_expression "(uVar14 + 1) * 8" (parenthesized_expression "(uVar14 + 1)" ( (binary_expression "uVar14 + 1" identifier + number_literal) )) * number_literal))) | (binary_expression "uVar21 >> (3 - uVar14) * 8" identifier >> (binary_expression "(3 - uVar14) * 8" (parenthesized_expression "(3 - uVar14)" ( (binary_expression "3 - uVar14" number_literal - identifier) )) * number_literal)))) ;) (expression_statement "*(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;" (assignment_expression "*(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8" (pointer_expression "*(uint *)(param_1 + 0x10)" * (cast_expression "(uint *)(param_1 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) = (binary_expression "(iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8" (binary_expression "(iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8" (parenthesized_expression "(iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8)" ( (binary_expression "iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8" (binary_expression "iVar10 << uVar4 * 8" identifier << (binary_expression "uVar4 * 8" identifier * number_literal)) | (binary_expression "in_t3 & 0xffffffffU >> (4 - uVar4) * 8" identifier & (binary_expression "0xffffffffU >> (4 - uVar4) * 8" number_literal >> (binary_expression "(4 - uVar4) * 8" (parenthesized_expression "(4 - uVar4)" ( (binary_expression "4 - uVar4" number_literal - identifier) )) * number_literal)))) )) & (binary_expression "-1 << (uVar18 + 1) * 8" number_literal << (binary_expression "(uVar18 + 1) * 8" (parenthesized_expression "(uVar18 + 1)" ( (binary_expression "uVar18 + 1" identifier + number_literal) )) * number_literal))) | (binary_expression "uVar25 >> (3 - uVar18) * 8" identifier >> (binary_expression "(3 - uVar18) * 8" (parenthesized_expression "(3 - uVar18)" ( (binary_expression "3 - uVar18" number_literal - identifier) )) * number_literal)))) ;) (expression_statement "*(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;" (assignment_expression "*(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8" (pointer_expression "*(uint *)(param_1 + 0x14)" * (cast_expression "(uint *)(param_1 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) = (binary_expression "(iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8" (binary_expression "(iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8" (parenthesized_expression "(iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8)" ( (binary_expression "iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8" (binary_expression "iVar11 << uVar5 * 8" identifier << (binary_expression "uVar5 * 8" identifier * number_literal)) | (binary_expression "in_t2 & 0xffffffffU >> (4 - uVar5) * 8" identifier & (binary_expression "0xffffffffU >> (4 - uVar5) * 8" number_literal >> (binary_expression "(4 - uVar5) * 8" (parenthesized_expression "(4 - uVar5)" ( (binary_expression "4 - uVar5" number_literal - identifier) )) * number_literal)))) )) & (binary_expression "-1 << (uVar19 + 1) * 8" number_literal << (binary_expression "(uVar19 + 1) * 8" (parenthesized_expression "(uVar19 + 1)" ( (binary_expression "uVar19 + 1" identifier + number_literal) )) * number_literal))) | (binary_expression "uVar26 >> (3 - uVar19) * 8" identifier >> (binary_expression "(3 - uVar19) * 8" (parenthesized_expression "(3 - uVar19)" ( (binary_expression "3 - uVar19" number_literal - identifier) )) * number_literal)))) ;) (expression_statement "*(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;" (assignment_expression "*(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8" (pointer_expression "*(uint *)(this + 8)" * (cast_expression "(uint *)(this + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 8)" ( (binary_expression "this + 8" identifier + number_literal) )))) = (binary_expression "(iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8" (binary_expression "(iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8" (parenthesized_expression "(iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8)" ( (binary_expression "iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8" (binary_expression "iVar7 << uVar1 * 8" identifier << (binary_expression "uVar1 * 8" identifier * number_literal)) | (binary_expression "in_t1 & 0xffffffffU >> (4 - uVar1) * 8" identifier & (binary_expression "0xffffffffU >> (4 - uVar1) * 8" number_literal >> (binary_expression "(4 - uVar1) * 8" (parenthesized_expression "(4 - uVar1)" ( (binary_expression "4 - uVar1" number_literal - identifier) )) * number_literal)))) )) & (binary_expression "-1 << (uVar15 + 1) * 8" number_literal << (binary_expression "(uVar15 + 1) * 8" (parenthesized_expression "(uVar15 + 1)" ( (binary_expression "uVar15 + 1" identifier + number_literal) )) * number_literal))) | (binary_expression "uVar22 >> (3 - uVar15) * 8" identifier >> (binary_expression "(3 - uVar15) * 8" (parenthesized_expression "(3 - uVar15)" ( (binary_expression "3 - uVar15" number_literal - identifier) )) * number_literal)))) ;) (expression_statement "*(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;" (assignment_expression "*(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8" (pointer_expression "*(uint *)(this + 0xc)" * (cast_expression "(uint *)(this + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xc)" ( (binary_expression "this + 0xc" identifier + number_literal) )))) = (binary_expression "(iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8" (binary_expression "(iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8" (parenthesized_expression "(iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8)" ( (binary_expression "iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8" (binary_expression "iVar8 << uVar2 * 8" identifier << (binary_expression "uVar2 * 8" identifier * number_literal)) | (binary_expression "in_t0 & 0xffffffffU >> (4 - uVar2) * 8" identifier & (binary_expression "0xffffffffU >> (4 - uVar2) * 8" number_literal >> (binary_expression "(4 - uVar2) * 8" (parenthesized_expression "(4 - uVar2)" ( (binary_expression "4 - uVar2" number_literal - identifier) )) * number_literal)))) )) & (binary_expression "-1 << (uVar16 + 1) * 8" number_literal << (binary_expression "(uVar16 + 1) * 8" (parenthesized_expression "(uVar16 + 1)" ( (binary_expression "uVar16 + 1" identifier + number_literal) )) * number_literal))) | (binary_expression "uVar23 >> (3 - uVar16) * 8" identifier >> (binary_expression "(3 - uVar16) * 8" (parenthesized_expression "(3 - uVar16)" ( (binary_expression "3 - uVar16" number_literal - identifier) )) * number_literal)))) ;) (expression_statement "*(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;" (assignment_expression "*(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8" (pointer_expression "*(uint *)(this + 0x10)" * (cast_expression "(uint *)(this + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x10)" ( (binary_expression "this + 0x10" identifier + number_literal) )))) = (binary_expression "(iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8" (binary_expression "(iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8" (parenthesized_expression "(iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8)" ( (binary_expression "iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8" (binary_expression "iVar9 << uVar3 * 8" identifier << (binary_expression "uVar3 * 8" identifier * number_literal)) | (binary_expression "uVar32 & 0xffffffffU >> (4 - uVar3) * 8" identifier & (binary_expression "0xffffffffU >> (4 - uVar3) * 8" number_literal >> (binary_expression "(4 - uVar3) * 8" (parenthesized_expression "(4 - uVar3)" ( (binary_expression "4 - uVar3" number_literal - identifier) )) * number_literal)))) )) & (binary_expression "-1 << (uVar17 + 1) * 8" number_literal << (binary_expression "(uVar17 + 1) * 8" (parenthesized_expression "(uVar17 + 1)" ( (binary_expression "uVar17 + 1" identifier + number_literal) )) * number_literal))) | (binary_expression "uVar24 >> (3 - uVar17) * 8" identifier >> (binary_expression "(3 - uVar17) * 8" (parenthesized_expression "(3 - uVar17)" ( (binary_expression "3 - uVar17" number_literal - identifier) )) * number_literal)))) ;) (expression_statement "*(undefined4 *)(this + 0x14) = uVar33;" (assignment_expression "*(undefined4 *)(this + 0x14) = uVar33" (pointer_expression "*(undefined4 *)(this + 0x14)" * (cast_expression "(undefined4 *)(this + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x14)" ( (binary_expression "this + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar33 = *(undefined4 *)(this + 4);" (assignment_expression "uVar33 = *(undefined4 *)(this + 4)" identifier = (pointer_expression "*(undefined4 *)(this + 4)" * (cast_expression "(undefined4 *)(this + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);" (assignment_expression "*(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4)" (pointer_expression "*(undefined4 *)(this + 4)" * (cast_expression "(undefined4 *)(this + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(param_1 + 4) = uVar33;" (assignment_expression "*(undefined4 *)(param_1 + 4) = uVar33" (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = identifier) ;) }))))) }) (else_clause "else {\n        uVar30 = *(undefined4 *)(this + 0xc);\n        uVar32 = (uint)(this + 0x10) & 3;\n        iVar6 = *(int *)(this + 0x10 + -uVar32);\n        uVar33 = *(undefined4 *)(this + 0x14);\n        uVar34 = *(undefined4 *)(param_1 + 8);\n        uVar12 = (uint)(this + 0x13) & 3;\n        uVar20 = *(uint *)(this + 0x13 + -uVar12);\n        *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n        *(undefined4 *)(param_1 + 0xc) = uVar30;\n        *(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;\n        *(undefined4 *)(param_1 + 0x14) = uVar33;\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar27;\n        *(undefined4 *)(this + 8) = uVar34;\n        uVar33 = *(undefined4 *)(this + 4);\n        *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n        *(undefined4 *)(param_1 + 4) = uVar33;\n      }" else (compound_statement "{\n        uVar30 = *(undefined4 *)(this + 0xc);\n        uVar32 = (uint)(this + 0x10) & 3;\n        iVar6 = *(int *)(this + 0x10 + -uVar32);\n        uVar33 = *(undefined4 *)(this + 0x14);\n        uVar34 = *(undefined4 *)(param_1 + 8);\n        uVar12 = (uint)(this + 0x13) & 3;\n        uVar20 = *(uint *)(this + 0x13 + -uVar12);\n        *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n        *(undefined4 *)(param_1 + 0xc) = uVar30;\n        *(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;\n        *(undefined4 *)(param_1 + 0x14) = uVar33;\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar27;\n        *(undefined4 *)(this + 8) = uVar34;\n        uVar33 = *(undefined4 *)(this + 4);\n        *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n        *(undefined4 *)(param_1 + 4) = uVar33;\n      }" { (expression_statement "uVar30 = *(undefined4 *)(this + 0xc);" (assignment_expression "uVar30 = *(undefined4 *)(this + 0xc)" identifier = (pointer_expression "*(undefined4 *)(this + 0xc)" * (cast_expression "(undefined4 *)(this + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xc)" ( (binary_expression "this + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar32 = (uint)(this + 0x10) & 3;" (assignment_expression "uVar32 = (uint)(this + 0x10) & 3" identifier = (binary_expression "(uint)(this + 0x10) & 3" (call_expression "(uint)(this + 0x10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(this + 0x10)" ( (binary_expression "this + 0x10" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "iVar6 = *(int *)(this + 0x10 + -uVar32);" (assignment_expression "iVar6 = *(int *)(this + 0x10 + -uVar32)" identifier = (pointer_expression "*(int *)(this + 0x10 + -uVar32)" * (cast_expression "(int *)(this + 0x10 + -uVar32)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x10 + -uVar32)" ( (binary_expression "this + 0x10 + -uVar32" (binary_expression "this + 0x10" identifier + number_literal) + (unary_expression "-uVar32" - identifier)) ))))) ;) (expression_statement "uVar33 = *(undefined4 *)(this + 0x14);" (assignment_expression "uVar33 = *(undefined4 *)(this + 0x14)" identifier = (pointer_expression "*(undefined4 *)(this + 0x14)" * (cast_expression "(undefined4 *)(this + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x14)" ( (binary_expression "this + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar34 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar34 = *(undefined4 *)(param_1 + 8)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 8)" * (cast_expression "(undefined4 *)(param_1 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = (uint)(this + 0x13) & 3;" (assignment_expression "uVar12 = (uint)(this + 0x13) & 3" identifier = (binary_expression "(uint)(this + 0x13) & 3" (call_expression "(uint)(this + 0x13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(this + 0x13)" ( (binary_expression "this + 0x13" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "uVar20 = *(uint *)(this + 0x13 + -uVar12);" (assignment_expression "uVar20 = *(uint *)(this + 0x13 + -uVar12)" identifier = (pointer_expression "*(uint *)(this + 0x13 + -uVar12)" * (cast_expression "(uint *)(this + 0x13 + -uVar12)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x13 + -uVar12)" ( (binary_expression "this + 0x13 + -uVar12" (binary_expression "this + 0x13" identifier + number_literal) + (unary_expression "-uVar12" - identifier)) ))))) ;) (expression_statement "*(undefined4 *)psVar27 = *(undefined4 *)psVar28;" (assignment_expression "*(undefined4 *)psVar27 = *(undefined4 *)psVar28" (pointer_expression "*(undefined4 *)psVar27" * (cast_expression "(undefined4 *)psVar27" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined4 *)psVar28" * (cast_expression "(undefined4 *)psVar28" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 *)(param_1 + 0xc) = uVar30;" (assignment_expression "*(undefined4 *)(param_1 + 0xc) = uVar30" (pointer_expression "*(undefined4 *)(param_1 + 0xc)" * (cast_expression "(undefined4 *)(param_1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;" (assignment_expression "*(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8" (pointer_expression "*(uint *)(param_1 + 0x10)" * (cast_expression "(uint *)(param_1 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) = (binary_expression "(iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8" (binary_expression "(iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8" (parenthesized_expression "(iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8)" ( (binary_expression "iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8" (binary_expression "iVar6 << uVar32 * 8" identifier << (binary_expression "uVar32 * 8" identifier * number_literal)) | (binary_expression "in_t0 & 0xffffffffU >> (4 - uVar32) * 8" identifier & (binary_expression "0xffffffffU >> (4 - uVar32) * 8" number_literal >> (binary_expression "(4 - uVar32) * 8" (parenthesized_expression "(4 - uVar32)" ( (binary_expression "4 - uVar32" number_literal - identifier) )) * number_literal)))) )) & (binary_expression "-1 << (uVar12 + 1) * 8" number_literal << (binary_expression "(uVar12 + 1) * 8" (parenthesized_expression "(uVar12 + 1)" ( (binary_expression "uVar12 + 1" identifier + number_literal) )) * number_literal))) | (binary_expression "uVar20 >> (3 - uVar12) * 8" identifier >> (binary_expression "(3 - uVar12) * 8" (parenthesized_expression "(3 - uVar12)" ( (binary_expression "3 - uVar12" number_literal - identifier) )) * number_literal)))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x14) = uVar33;" (assignment_expression "*(undefined4 *)(param_1 + 0x14) = uVar33" (pointer_expression "*(undefined4 *)(param_1 + 0x14)" * (cast_expression "(undefined4 *)(param_1 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(string **)this = psVar29;" (assignment_expression "*(string **)this = psVar29" (pointer_expression "*(string **)this" * (cast_expression "(string **)this" ( (type_descriptor "string **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "*(string **)param_1 = psVar27;" (assignment_expression "*(string **)param_1 = psVar27" (pointer_expression "*(string **)param_1" * (cast_expression "(string **)param_1" ( (type_descriptor "string **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "*(undefined4 *)(this + 8) = uVar34;" (assignment_expression "*(undefined4 *)(this + 8) = uVar34" (pointer_expression "*(undefined4 *)(this + 8)" * (cast_expression "(undefined4 *)(this + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 8)" ( (binary_expression "this + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar33 = *(undefined4 *)(this + 4);" (assignment_expression "uVar33 = *(undefined4 *)(this + 4)" identifier = (pointer_expression "*(undefined4 *)(this + 4)" * (cast_expression "(undefined4 *)(this + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);" (assignment_expression "*(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4)" (pointer_expression "*(undefined4 *)(this + 4)" * (cast_expression "(undefined4 *)(this + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(param_1 + 4) = uVar33;" (assignment_expression "*(undefined4 *)(param_1 + 4) = uVar33" (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = identifier) ;) }))) }) (else_clause "else {\n      uVar33 = *(undefined4 *)(this + 8);\n      if (psVar27 == psVar29) {\n        uVar35 = *(undefined4 *)(param_1 + 0xc);\n        uVar34 = *(undefined4 *)(param_1 + 0x10);\n        uVar30 = *(undefined4 *)(param_1 + 0x14);\n        *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n        *(undefined4 *)(this + 0xc) = uVar35;\n        *(undefined4 *)(this + 0x10) = uVar34;\n        *(undefined4 *)(this + 0x14) = uVar30;\n        *(string **)param_1 = psVar31;\n        *(string **)this = psVar28;\n      }\n      else {\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar31;\n        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);\n      }\n      *(undefined4 *)(param_1 + 8) = uVar33;\n      uVar33 = *(undefined4 *)(this + 4);\n      *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n      *(undefined4 *)(param_1 + 4) = uVar33;\n    }" else (compound_statement "{\n      uVar33 = *(undefined4 *)(this + 8);\n      if (psVar27 == psVar29) {\n        uVar35 = *(undefined4 *)(param_1 + 0xc);\n        uVar34 = *(undefined4 *)(param_1 + 0x10);\n        uVar30 = *(undefined4 *)(param_1 + 0x14);\n        *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n        *(undefined4 *)(this + 0xc) = uVar35;\n        *(undefined4 *)(this + 0x10) = uVar34;\n        *(undefined4 *)(this + 0x14) = uVar30;\n        *(string **)param_1 = psVar31;\n        *(string **)this = psVar28;\n      }\n      else {\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar31;\n        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);\n      }\n      *(undefined4 *)(param_1 + 8) = uVar33;\n      uVar33 = *(undefined4 *)(this + 4);\n      *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n      *(undefined4 *)(param_1 + 4) = uVar33;\n    }" { (expression_statement "uVar33 = *(undefined4 *)(this + 8);" (assignment_expression "uVar33 = *(undefined4 *)(this + 8)" identifier = (pointer_expression "*(undefined4 *)(this + 8)" * (cast_expression "(undefined4 *)(this + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 8)" ( (binary_expression "this + 8" identifier + number_literal) ))))) ;) (if_statement "if (psVar27 == psVar29) {\n        uVar35 = *(undefined4 *)(param_1 + 0xc);\n        uVar34 = *(undefined4 *)(param_1 + 0x10);\n        uVar30 = *(undefined4 *)(param_1 + 0x14);\n        *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n        *(undefined4 *)(this + 0xc) = uVar35;\n        *(undefined4 *)(this + 0x10) = uVar34;\n        *(undefined4 *)(this + 0x14) = uVar30;\n        *(string **)param_1 = psVar31;\n        *(string **)this = psVar28;\n      }\n      else {\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar31;\n        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);\n      }" if (parenthesized_expression "(psVar27 == psVar29)" ( (binary_expression "psVar27 == psVar29" identifier == identifier) )) (compound_statement "{\n        uVar35 = *(undefined4 *)(param_1 + 0xc);\n        uVar34 = *(undefined4 *)(param_1 + 0x10);\n        uVar30 = *(undefined4 *)(param_1 + 0x14);\n        *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n        *(undefined4 *)(this + 0xc) = uVar35;\n        *(undefined4 *)(this + 0x10) = uVar34;\n        *(undefined4 *)(this + 0x14) = uVar30;\n        *(string **)param_1 = psVar31;\n        *(string **)this = psVar28;\n      }" { (expression_statement "uVar35 = *(undefined4 *)(param_1 + 0xc);" (assignment_expression "uVar35 = *(undefined4 *)(param_1 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0xc)" * (cast_expression "(undefined4 *)(param_1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar34 = *(undefined4 *)(param_1 + 0x10);" (assignment_expression "uVar34 = *(undefined4 *)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar30 = *(undefined4 *)(param_1 + 0x14);" (assignment_expression "uVar30 = *(undefined4 *)(param_1 + 0x14)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x14)" * (cast_expression "(undefined4 *)(param_1 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)psVar28 = *(undefined4 *)psVar27;" (assignment_expression "*(undefined4 *)psVar28 = *(undefined4 *)psVar27" (pointer_expression "*(undefined4 *)psVar28" * (cast_expression "(undefined4 *)psVar28" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined4 *)psVar27" * (cast_expression "(undefined4 *)psVar27" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 *)(this + 0xc) = uVar35;" (assignment_expression "*(undefined4 *)(this + 0xc) = uVar35" (pointer_expression "*(undefined4 *)(this + 0xc)" * (cast_expression "(undefined4 *)(this + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xc)" ( (binary_expression "this + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(this + 0x10) = uVar34;" (assignment_expression "*(undefined4 *)(this + 0x10) = uVar34" (pointer_expression "*(undefined4 *)(this + 0x10)" * (cast_expression "(undefined4 *)(this + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x10)" ( (binary_expression "this + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(this + 0x14) = uVar30;" (assignment_expression "*(undefined4 *)(this + 0x14) = uVar30" (pointer_expression "*(undefined4 *)(this + 0x14)" * (cast_expression "(undefined4 *)(this + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x14)" ( (binary_expression "this + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(string **)param_1 = psVar31;" (assignment_expression "*(string **)param_1 = psVar31" (pointer_expression "*(string **)param_1" * (cast_expression "(string **)param_1" ( (type_descriptor "string **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "*(string **)this = psVar28;" (assignment_expression "*(string **)this = psVar28" (pointer_expression "*(string **)this" * (cast_expression "(string **)this" ( (type_descriptor "string **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) }) (else_clause "else {\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar31;\n        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);\n      }" else (compound_statement "{\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar31;\n        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);\n      }" { (expression_statement "*(string **)this = psVar29;" (assignment_expression "*(string **)this = psVar29" (pointer_expression "*(string **)this" * (cast_expression "(string **)this" ( (type_descriptor "string **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "*(string **)param_1 = psVar31;" (assignment_expression "*(string **)param_1 = psVar31" (pointer_expression "*(string **)param_1" * (cast_expression "(string **)param_1" ( (type_descriptor "string **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "*(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);" (assignment_expression "*(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8)" (pointer_expression "*(undefined4 *)(this + 8)" * (cast_expression "(undefined4 *)(this + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 8)" ( (binary_expression "this + 8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + 8)" * (cast_expression "(undefined4 *)(param_1 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) }))) (expression_statement "*(undefined4 *)(param_1 + 8) = uVar33;" (assignment_expression "*(undefined4 *)(param_1 + 8) = uVar33" (pointer_expression "*(undefined4 *)(param_1 + 8)" * (cast_expression "(undefined4 *)(param_1 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar33 = *(undefined4 *)(this + 4);" (assignment_expression "uVar33 = *(undefined4 *)(this + 4)" identifier = (pointer_expression "*(undefined4 *)(this + 4)" * (cast_expression "(undefined4 *)(this + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);" (assignment_expression "*(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4)" (pointer_expression "*(undefined4 *)(this + 4)" * (cast_expression "(undefined4 *)(this + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(param_1 + 4) = uVar33;" (assignment_expression "*(undefined4 *)(param_1 + 4) = uVar33" (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = identifier) ;) }))) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (ms_call_modifier __thiscall) (ERROR IDENT : : IDENT : :) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) = LIT) ;) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) & LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (unary_expression - IDENT)) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) & LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (unary_expression - IDENT)) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) & LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (unary_expression - IDENT)) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) & LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (unary_expression - IDENT)) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) & LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (unary_expression - IDENT)) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) & LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (unary_expression - IDENT)) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) & LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (unary_expression - IDENT)) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) & LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (unary_expression - IDENT)) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) & LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (unary_expression - IDENT)) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) & LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (unary_expression - IDENT)) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) & LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (unary_expression - IDENT)) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) & LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (unary_expression - IDENT)) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (unary_expression - IDENT)) )))) << (binary_expression IDENT * LIT)) | (binary_expression IDENT & (binary_expression LIT >> (binary_expression (parenthesized_expression ( (binary_expression LIT - IDENT) )) * LIT)))) )) & (binary_expression LIT << (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT))) | (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (unary_expression - IDENT)) )))) >> (binary_expression (parenthesized_expression ( (binary_expression LIT - IDENT) )) * LIT)))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT << (binary_expression IDENT * LIT)) | (binary_expression IDENT & (binary_expression LIT >> (binary_expression (parenthesized_expression ( (binary_expression LIT - IDENT) )) * LIT)))) )) & (binary_expression LIT << (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT))) | (binary_expression IDENT >> (binary_expression (parenthesized_expression ( (binary_expression LIT - IDENT) )) * LIT)))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT << (binary_expression IDENT * LIT)) | (binary_expression IDENT & (binary_expression LIT >> (binary_expression (parenthesized_expression ( (binary_expression LIT - IDENT) )) * LIT)))) )) & (binary_expression LIT << (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT))) | (binary_expression IDENT >> (binary_expression (parenthesized_expression ( (binary_expression LIT - IDENT) )) * LIT)))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT << (binary_expression IDENT * LIT)) | (binary_expression IDENT & (binary_expression LIT >> (binary_expression (parenthesized_expression ( (binary_expression LIT - IDENT) )) * LIT)))) )) & (binary_expression LIT << (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT))) | (binary_expression IDENT >> (binary_expression (parenthesized_expression ( (binary_expression LIT - IDENT) )) * LIT)))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT << (binary_expression IDENT * LIT)) | (binary_expression IDENT & (binary_expression LIT >> (binary_expression (parenthesized_expression ( (binary_expression LIT - IDENT) )) * LIT)))) )) & (binary_expression LIT << (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT))) | (binary_expression IDENT >> (binary_expression (parenthesized_expression ( (binary_expression LIT - IDENT) )) * LIT)))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT << (binary_expression IDENT * LIT)) | (binary_expression IDENT & (binary_expression LIT >> (binary_expression (parenthesized_expression ( (binary_expression LIT - IDENT) )) * LIT)))) )) & (binary_expression LIT << (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT))) | (binary_expression IDENT >> (binary_expression (parenthesized_expression ( (binary_expression LIT - IDENT) )) * LIT)))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT << (binary_expression IDENT * LIT)) | (binary_expression IDENT & (binary_expression LIT >> (binary_expression (parenthesized_expression ( (binary_expression LIT - IDENT) )) * LIT)))) )) & (binary_expression LIT << (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT))) | (binary_expression IDENT >> (binary_expression (parenthesized_expression ( (binary_expression LIT - IDENT) )) * LIT)))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }))))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) & LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (unary_expression - IDENT)) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) & LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (unary_expression - IDENT)) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT << (binary_expression IDENT * LIT)) | (binary_expression IDENT & (binary_expression LIT >> (binary_expression (parenthesized_expression ( (binary_expression LIT - IDENT) )) * LIT)))) )) & (binary_expression LIT << (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT))) | (binary_expression IDENT >> (binary_expression (parenthesized_expression ( (binary_expression LIT - IDENT) )) * LIT)))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }))) })) (return_statement return ;) })))
(function_definition "void __thiscall std::string::swap(string *this,string *param_1)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  uint uVar15;\n  uint uVar16;\n  uint uVar17;\n  uint uVar18;\n  uint uVar19;\n  uint uVar20;\n  uint uVar21;\n  uint uVar22;\n  uint uVar23;\n  uint uVar24;\n  uint uVar25;\n  uint uVar26;\n  string *psVar27;\n  string *psVar28;\n  string *psVar29;\n  undefined4 uVar30;\n  string *psVar31;\n  uint uVar32;\n  uint in_t0;\n  undefined4 uVar33;\n  uint in_t1;\n  undefined4 uVar34;\n  uint in_t2;\n  undefined4 uVar35;\n  uint in_t3;\n  uint in_t4;\n  uint in_t5;\n  \n  if (this != param_1) {\n    psVar31 = *(string **)this;\n    psVar28 = this + 8;\n    psVar29 = *(string **)param_1;\n    psVar27 = param_1 + 8;\n    if (psVar28 == psVar31) {\n      if (psVar27 == psVar29) {\n        uVar32 = *(uint *)(this + 4);\n        if (uVar32 == 0) {\n          if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }\n        }\n        else if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }\n      }\n      else {\n        uVar30 = *(undefined4 *)(this + 0xc);\n        uVar32 = (uint)(this + 0x10) & 3;\n        iVar6 = *(int *)(this + 0x10 + -uVar32);\n        uVar33 = *(undefined4 *)(this + 0x14);\n        uVar34 = *(undefined4 *)(param_1 + 8);\n        uVar12 = (uint)(this + 0x13) & 3;\n        uVar20 = *(uint *)(this + 0x13 + -uVar12);\n        *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n        *(undefined4 *)(param_1 + 0xc) = uVar30;\n        *(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;\n        *(undefined4 *)(param_1 + 0x14) = uVar33;\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar27;\n        *(undefined4 *)(this + 8) = uVar34;\n        uVar33 = *(undefined4 *)(this + 4);\n        *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n        *(undefined4 *)(param_1 + 4) = uVar33;\n      }\n    }\n    else {\n      uVar33 = *(undefined4 *)(this + 8);\n      if (psVar27 == psVar29) {\n        uVar35 = *(undefined4 *)(param_1 + 0xc);\n        uVar34 = *(undefined4 *)(param_1 + 0x10);\n        uVar30 = *(undefined4 *)(param_1 + 0x14);\n        *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n        *(undefined4 *)(this + 0xc) = uVar35;\n        *(undefined4 *)(this + 0x10) = uVar34;\n        *(undefined4 *)(this + 0x14) = uVar30;\n        *(string **)param_1 = psVar31;\n        *(string **)this = psVar28;\n      }\n      else {\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar31;\n        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);\n      }\n      *(undefined4 *)(param_1 + 8) = uVar33;\n      uVar33 = *(undefined4 *)(this + 4);\n      *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n      *(undefined4 *)(param_1 + 4) = uVar33;\n    }\n  }\n  return;\n}" (primitive_type "void") (ms_call_modifier "__thiscall" (__thiscall "__thiscall")) (ERROR "std::string::" (identifier "std") (: ":") (: ":") (identifier "string") (: ":") (: ":")) (function_declarator "swap(string *this,string *param_1)" (identifier "swap") (parameter_list "(string *this,string *param_1)" (( "(") (parameter_declaration "string *this" (type_identifier "string") (pointer_declarator "*this" (* "*") (identifier "this"))) (, ",") (parameter_declaration "string *param_1" (type_identifier "string") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")"))) (compound_statement "{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  uint uVar15;\n  uint uVar16;\n  uint uVar17;\n  uint uVar18;\n  uint uVar19;\n  uint uVar20;\n  uint uVar21;\n  uint uVar22;\n  uint uVar23;\n  uint uVar24;\n  uint uVar25;\n  uint uVar26;\n  string *psVar27;\n  string *psVar28;\n  string *psVar29;\n  undefined4 uVar30;\n  string *psVar31;\n  uint uVar32;\n  uint in_t0;\n  undefined4 uVar33;\n  uint in_t1;\n  undefined4 uVar34;\n  uint in_t2;\n  undefined4 uVar35;\n  uint in_t3;\n  uint in_t4;\n  uint in_t5;\n  \n  if (this != param_1) {\n    psVar31 = *(string **)this;\n    psVar28 = this + 8;\n    psVar29 = *(string **)param_1;\n    psVar27 = param_1 + 8;\n    if (psVar28 == psVar31) {\n      if (psVar27 == psVar29) {\n        uVar32 = *(uint *)(this + 4);\n        if (uVar32 == 0) {\n          if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }\n        }\n        else if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }\n      }\n      else {\n        uVar30 = *(undefined4 *)(this + 0xc);\n        uVar32 = (uint)(this + 0x10) & 3;\n        iVar6 = *(int *)(this + 0x10 + -uVar32);\n        uVar33 = *(undefined4 *)(this + 0x14);\n        uVar34 = *(undefined4 *)(param_1 + 8);\n        uVar12 = (uint)(this + 0x13) & 3;\n        uVar20 = *(uint *)(this + 0x13 + -uVar12);\n        *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n        *(undefined4 *)(param_1 + 0xc) = uVar30;\n        *(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;\n        *(undefined4 *)(param_1 + 0x14) = uVar33;\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar27;\n        *(undefined4 *)(this + 8) = uVar34;\n        uVar33 = *(undefined4 *)(this + 4);\n        *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n        *(undefined4 *)(param_1 + 4) = uVar33;\n      }\n    }\n    else {\n      uVar33 = *(undefined4 *)(this + 8);\n      if (psVar27 == psVar29) {\n        uVar35 = *(undefined4 *)(param_1 + 0xc);\n        uVar34 = *(undefined4 *)(param_1 + 0x10);\n        uVar30 = *(undefined4 *)(param_1 + 0x14);\n        *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n        *(undefined4 *)(this + 0xc) = uVar35;\n        *(undefined4 *)(this + 0x10) = uVar34;\n        *(undefined4 *)(this + 0x14) = uVar30;\n        *(string **)param_1 = psVar31;\n        *(string **)this = psVar28;\n      }\n      else {\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar31;\n        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);\n      }\n      *(undefined4 *)(param_1 + 8) = uVar33;\n      uVar33 = *(undefined4 *)(this + 4);\n      *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n      *(undefined4 *)(param_1 + 4) = uVar33;\n    }\n  }\n  return;\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "uint uVar12;" (type_identifier "uint") (identifier "uVar12") (; ";")) (declaration "uint uVar13;" (type_identifier "uint") (identifier "uVar13") (; ";")) (declaration "uint uVar14;" (type_identifier "uint") (identifier "uVar14") (; ";")) (declaration "uint uVar15;" (type_identifier "uint") (identifier "uVar15") (; ";")) (declaration "uint uVar16;" (type_identifier "uint") (identifier "uVar16") (; ";")) (declaration "uint uVar17;" (type_identifier "uint") (identifier "uVar17") (; ";")) (declaration "uint uVar18;" (type_identifier "uint") (identifier "uVar18") (; ";")) (declaration "uint uVar19;" (type_identifier "uint") (identifier "uVar19") (; ";")) (declaration "uint uVar20;" (type_identifier "uint") (identifier "uVar20") (; ";")) (declaration "uint uVar21;" (type_identifier "uint") (identifier "uVar21") (; ";")) (declaration "uint uVar22;" (type_identifier "uint") (identifier "uVar22") (; ";")) (declaration "uint uVar23;" (type_identifier "uint") (identifier "uVar23") (; ";")) (declaration "uint uVar24;" (type_identifier "uint") (identifier "uVar24") (; ";")) (declaration "uint uVar25;" (type_identifier "uint") (identifier "uVar25") (; ";")) (declaration "uint uVar26;" (type_identifier "uint") (identifier "uVar26") (; ";")) (declaration "string *psVar27;" (type_identifier "string") (pointer_declarator "*psVar27" (* "*") (identifier "psVar27")) (; ";")) (declaration "string *psVar28;" (type_identifier "string") (pointer_declarator "*psVar28" (* "*") (identifier "psVar28")) (; ";")) (declaration "string *psVar29;" (type_identifier "string") (pointer_declarator "*psVar29" (* "*") (identifier "psVar29")) (; ";")) (declaration "undefined4 uVar30;" (type_identifier "undefined4") (identifier "uVar30") (; ";")) (declaration "string *psVar31;" (type_identifier "string") (pointer_declarator "*psVar31" (* "*") (identifier "psVar31")) (; ";")) (declaration "uint uVar32;" (type_identifier "uint") (identifier "uVar32") (; ";")) (declaration "uint in_t0;" (type_identifier "uint") (identifier "in_t0") (; ";")) (declaration "undefined4 uVar33;" (type_identifier "undefined4") (identifier "uVar33") (; ";")) (declaration "uint in_t1;" (type_identifier "uint") (identifier "in_t1") (; ";")) (declaration "undefined4 uVar34;" (type_identifier "undefined4") (identifier "uVar34") (; ";")) (declaration "uint in_t2;" (type_identifier "uint") (identifier "in_t2") (; ";")) (declaration "undefined4 uVar35;" (type_identifier "undefined4") (identifier "uVar35") (; ";")) (declaration "uint in_t3;" (type_identifier "uint") (identifier "in_t3") (; ";")) (declaration "uint in_t4;" (type_identifier "uint") (identifier "in_t4") (; ";")) (declaration "uint in_t5;" (type_identifier "uint") (identifier "in_t5") (; ";")) (if_statement "if (this != param_1) {\n    psVar31 = *(string **)this;\n    psVar28 = this + 8;\n    psVar29 = *(string **)param_1;\n    psVar27 = param_1 + 8;\n    if (psVar28 == psVar31) {\n      if (psVar27 == psVar29) {\n        uVar32 = *(uint *)(this + 4);\n        if (uVar32 == 0) {\n          if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }\n        }\n        else if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }\n      }\n      else {\n        uVar30 = *(undefined4 *)(this + 0xc);\n        uVar32 = (uint)(this + 0x10) & 3;\n        iVar6 = *(int *)(this + 0x10 + -uVar32);\n        uVar33 = *(undefined4 *)(this + 0x14);\n        uVar34 = *(undefined4 *)(param_1 + 8);\n        uVar12 = (uint)(this + 0x13) & 3;\n        uVar20 = *(uint *)(this + 0x13 + -uVar12);\n        *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n        *(undefined4 *)(param_1 + 0xc) = uVar30;\n        *(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;\n        *(undefined4 *)(param_1 + 0x14) = uVar33;\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar27;\n        *(undefined4 *)(this + 8) = uVar34;\n        uVar33 = *(undefined4 *)(this + 4);\n        *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n        *(undefined4 *)(param_1 + 4) = uVar33;\n      }\n    }\n    else {\n      uVar33 = *(undefined4 *)(this + 8);\n      if (psVar27 == psVar29) {\n        uVar35 = *(undefined4 *)(param_1 + 0xc);\n        uVar34 = *(undefined4 *)(param_1 + 0x10);\n        uVar30 = *(undefined4 *)(param_1 + 0x14);\n        *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n        *(undefined4 *)(this + 0xc) = uVar35;\n        *(undefined4 *)(this + 0x10) = uVar34;\n        *(undefined4 *)(this + 0x14) = uVar30;\n        *(string **)param_1 = psVar31;\n        *(string **)this = psVar28;\n      }\n      else {\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar31;\n        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);\n      }\n      *(undefined4 *)(param_1 + 8) = uVar33;\n      uVar33 = *(undefined4 *)(this + 4);\n      *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n      *(undefined4 *)(param_1 + 4) = uVar33;\n    }\n  }" (if "if") (parenthesized_expression "(this != param_1)" (( "(") (binary_expression "this != param_1" (identifier "this") (!= "!=") (identifier "param_1")) () ")")) (compound_statement "{\n    psVar31 = *(string **)this;\n    psVar28 = this + 8;\n    psVar29 = *(string **)param_1;\n    psVar27 = param_1 + 8;\n    if (psVar28 == psVar31) {\n      if (psVar27 == psVar29) {\n        uVar32 = *(uint *)(this + 4);\n        if (uVar32 == 0) {\n          if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }\n        }\n        else if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }\n      }\n      else {\n        uVar30 = *(undefined4 *)(this + 0xc);\n        uVar32 = (uint)(this + 0x10) & 3;\n        iVar6 = *(int *)(this + 0x10 + -uVar32);\n        uVar33 = *(undefined4 *)(this + 0x14);\n        uVar34 = *(undefined4 *)(param_1 + 8);\n        uVar12 = (uint)(this + 0x13) & 3;\n        uVar20 = *(uint *)(this + 0x13 + -uVar12);\n        *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n        *(undefined4 *)(param_1 + 0xc) = uVar30;\n        *(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;\n        *(undefined4 *)(param_1 + 0x14) = uVar33;\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar27;\n        *(undefined4 *)(this + 8) = uVar34;\n        uVar33 = *(undefined4 *)(this + 4);\n        *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n        *(undefined4 *)(param_1 + 4) = uVar33;\n      }\n    }\n    else {\n      uVar33 = *(undefined4 *)(this + 8);\n      if (psVar27 == psVar29) {\n        uVar35 = *(undefined4 *)(param_1 + 0xc);\n        uVar34 = *(undefined4 *)(param_1 + 0x10);\n        uVar30 = *(undefined4 *)(param_1 + 0x14);\n        *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n        *(undefined4 *)(this + 0xc) = uVar35;\n        *(undefined4 *)(this + 0x10) = uVar34;\n        *(undefined4 *)(this + 0x14) = uVar30;\n        *(string **)param_1 = psVar31;\n        *(string **)this = psVar28;\n      }\n      else {\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar31;\n        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);\n      }\n      *(undefined4 *)(param_1 + 8) = uVar33;\n      uVar33 = *(undefined4 *)(this + 4);\n      *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n      *(undefined4 *)(param_1 + 4) = uVar33;\n    }\n  }" ({ "{") (expression_statement "psVar31 = *(string **)this;" (assignment_expression "psVar31 = *(string **)this" (identifier "psVar31") (= "=") (pointer_expression "*(string **)this" (* "*") (cast_expression "(string **)this" (( "(") (type_descriptor "string **" (type_identifier "string") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "this")))) (; ";")) (expression_statement "psVar28 = this + 8;" (assignment_expression "psVar28 = this + 8" (identifier "psVar28") (= "=") (binary_expression "this + 8" (identifier "this") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "psVar29 = *(string **)param_1;" (assignment_expression "psVar29 = *(string **)param_1" (identifier "psVar29") (= "=") (pointer_expression "*(string **)param_1" (* "*") (cast_expression "(string **)param_1" (( "(") (type_descriptor "string **" (type_identifier "string") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "param_1")))) (; ";")) (expression_statement "psVar27 = param_1 + 8;" (assignment_expression "psVar27 = param_1 + 8" (identifier "psVar27") (= "=") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8"))) (; ";")) (if_statement "if (psVar28 == psVar31) {\n      if (psVar27 == psVar29) {\n        uVar32 = *(uint *)(this + 4);\n        if (uVar32 == 0) {\n          if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }\n        }\n        else if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }\n      }\n      else {\n        uVar30 = *(undefined4 *)(this + 0xc);\n        uVar32 = (uint)(this + 0x10) & 3;\n        iVar6 = *(int *)(this + 0x10 + -uVar32);\n        uVar33 = *(undefined4 *)(this + 0x14);\n        uVar34 = *(undefined4 *)(param_1 + 8);\n        uVar12 = (uint)(this + 0x13) & 3;\n        uVar20 = *(uint *)(this + 0x13 + -uVar12);\n        *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n        *(undefined4 *)(param_1 + 0xc) = uVar30;\n        *(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;\n        *(undefined4 *)(param_1 + 0x14) = uVar33;\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar27;\n        *(undefined4 *)(this + 8) = uVar34;\n        uVar33 = *(undefined4 *)(this + 4);\n        *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n        *(undefined4 *)(param_1 + 4) = uVar33;\n      }\n    }\n    else {\n      uVar33 = *(undefined4 *)(this + 8);\n      if (psVar27 == psVar29) {\n        uVar35 = *(undefined4 *)(param_1 + 0xc);\n        uVar34 = *(undefined4 *)(param_1 + 0x10);\n        uVar30 = *(undefined4 *)(param_1 + 0x14);\n        *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n        *(undefined4 *)(this + 0xc) = uVar35;\n        *(undefined4 *)(this + 0x10) = uVar34;\n        *(undefined4 *)(this + 0x14) = uVar30;\n        *(string **)param_1 = psVar31;\n        *(string **)this = psVar28;\n      }\n      else {\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar31;\n        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);\n      }\n      *(undefined4 *)(param_1 + 8) = uVar33;\n      uVar33 = *(undefined4 *)(this + 4);\n      *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n      *(undefined4 *)(param_1 + 4) = uVar33;\n    }" (if "if") (parenthesized_expression "(psVar28 == psVar31)" (( "(") (binary_expression "psVar28 == psVar31" (identifier "psVar28") (== "==") (identifier "psVar31")) () ")")) (compound_statement "{\n      if (psVar27 == psVar29) {\n        uVar32 = *(uint *)(this + 4);\n        if (uVar32 == 0) {\n          if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }\n        }\n        else if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }\n      }\n      else {\n        uVar30 = *(undefined4 *)(this + 0xc);\n        uVar32 = (uint)(this + 0x10) & 3;\n        iVar6 = *(int *)(this + 0x10 + -uVar32);\n        uVar33 = *(undefined4 *)(this + 0x14);\n        uVar34 = *(undefined4 *)(param_1 + 8);\n        uVar12 = (uint)(this + 0x13) & 3;\n        uVar20 = *(uint *)(this + 0x13 + -uVar12);\n        *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n        *(undefined4 *)(param_1 + 0xc) = uVar30;\n        *(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;\n        *(undefined4 *)(param_1 + 0x14) = uVar33;\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar27;\n        *(undefined4 *)(this + 8) = uVar34;\n        uVar33 = *(undefined4 *)(this + 4);\n        *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n        *(undefined4 *)(param_1 + 4) = uVar33;\n      }\n    }" ({ "{") (if_statement "if (psVar27 == psVar29) {\n        uVar32 = *(uint *)(this + 4);\n        if (uVar32 == 0) {\n          if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }\n        }\n        else if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }\n      }\n      else {\n        uVar30 = *(undefined4 *)(this + 0xc);\n        uVar32 = (uint)(this + 0x10) & 3;\n        iVar6 = *(int *)(this + 0x10 + -uVar32);\n        uVar33 = *(undefined4 *)(this + 0x14);\n        uVar34 = *(undefined4 *)(param_1 + 8);\n        uVar12 = (uint)(this + 0x13) & 3;\n        uVar20 = *(uint *)(this + 0x13 + -uVar12);\n        *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n        *(undefined4 *)(param_1 + 0xc) = uVar30;\n        *(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;\n        *(undefined4 *)(param_1 + 0x14) = uVar33;\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar27;\n        *(undefined4 *)(this + 8) = uVar34;\n        uVar33 = *(undefined4 *)(this + 4);\n        *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n        *(undefined4 *)(param_1 + 4) = uVar33;\n      }" (if "if") (parenthesized_expression "(psVar27 == psVar29)" (( "(") (binary_expression "psVar27 == psVar29" (identifier "psVar27") (== "==") (identifier "psVar29")) () ")")) (compound_statement "{\n        uVar32 = *(uint *)(this + 4);\n        if (uVar32 == 0) {\n          if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }\n        }\n        else if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }\n      }" ({ "{") (expression_statement "uVar32 = *(uint *)(this + 4);" (assignment_expression "uVar32 = *(uint *)(this + 4)" (identifier "uVar32") (= "=") (pointer_expression "*(uint *)(this + 4)" (* "*") (cast_expression "(uint *)(this + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 4)" (( "(") (binary_expression "this + 4" (identifier "this") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if (uVar32 == 0) {\n          if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }\n        }\n        else if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }" (if "if") (parenthesized_expression "(uVar32 == 0)" (( "(") (binary_expression "uVar32 == 0" (identifier "uVar32") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }\n        }" ({ "{") (if_statement "if (*(int *)(param_1 + 4) == 0) {\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }\n          else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 4) == 0)" (( "(") (binary_expression "*(int *)(param_1 + 4) == 0" (pointer_expression "*(int *)(param_1 + 4)" (* "*") (cast_expression "(int *)(param_1 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            *(undefined4 *)(this + 4) = 0;\n            *(undefined4 *)(param_1 + 4) = 0;\n          }" ({ "{") (expression_statement "*(undefined4 *)(this + 4) = 0;" (assignment_expression "*(undefined4 *)(this + 4) = 0" (pointer_expression "*(undefined4 *)(this + 4)" (* "*") (cast_expression "(undefined4 *)(this + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 4)" (( "(") (binary_expression "this + 4" (identifier "this") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 4) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 4) = 0" (pointer_expression "*(undefined4 *)(param_1 + 4)" (* "*") (cast_expression "(undefined4 *)(param_1 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }" (else "else") (compound_statement "{\n            uVar34 = *(undefined4 *)(param_1 + 0xc);\n            uVar30 = *(undefined4 *)(param_1 + 0x10);\n            uVar33 = *(undefined4 *)(param_1 + 0x14);\n            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n            *(undefined4 *)(this + 0xc) = uVar34;\n            *(undefined4 *)(this + 0x10) = uVar30;\n            *(undefined4 *)(this + 0x14) = uVar33;\n            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n            *(undefined4 *)(param_1 + 4) = 0;\n            **(undefined1 **)param_1 = 0;\n          }" ({ "{") (expression_statement "uVar34 = *(undefined4 *)(param_1 + 0xc);" (assignment_expression "uVar34 = *(undefined4 *)(param_1 + 0xc)" (identifier "uVar34") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0xc)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "uVar30 = *(undefined4 *)(param_1 + 0x10);" (assignment_expression "uVar30 = *(undefined4 *)(param_1 + 0x10)" (identifier "uVar30") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0x10)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "uVar33 = *(undefined4 *)(param_1 + 0x14);" (assignment_expression "uVar33 = *(undefined4 *)(param_1 + 0x14)" (identifier "uVar33") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0x14)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)psVar28 = *(undefined4 *)psVar27;" (assignment_expression "*(undefined4 *)psVar28 = *(undefined4 *)psVar27" (pointer_expression "*(undefined4 *)psVar28" (* "*") (cast_expression "(undefined4 *)psVar28" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "psVar28"))) (= "=") (pointer_expression "*(undefined4 *)psVar27" (* "*") (cast_expression "(undefined4 *)psVar27" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "psVar27")))) (; ";")) (expression_statement "*(undefined4 *)(this + 0xc) = uVar34;" (assignment_expression "*(undefined4 *)(this + 0xc) = uVar34" (pointer_expression "*(undefined4 *)(this + 0xc)" (* "*") (cast_expression "(undefined4 *)(this + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0xc)" (( "(") (binary_expression "this + 0xc" (identifier "this") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "uVar34")) (; ";")) (expression_statement "*(undefined4 *)(this + 0x10) = uVar30;" (assignment_expression "*(undefined4 *)(this + 0x10) = uVar30" (pointer_expression "*(undefined4 *)(this + 0x10)" (* "*") (cast_expression "(undefined4 *)(this + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x10)" (( "(") (binary_expression "this + 0x10" (identifier "this") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "uVar30")) (; ";")) (expression_statement "*(undefined4 *)(this + 0x14) = uVar33;" (assignment_expression "*(undefined4 *)(this + 0x14) = uVar33" (pointer_expression "*(undefined4 *)(this + 0x14)" (* "*") (cast_expression "(undefined4 *)(this + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x14)" (( "(") (binary_expression "this + 0x14" (identifier "this") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "uVar33")) (; ";")) (expression_statement "*(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);" (assignment_expression "*(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4)" (pointer_expression "*(undefined4 *)(this + 4)" (* "*") (cast_expression "(undefined4 *)(this + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 4)" (( "(") (binary_expression "this + 4" (identifier "this") (+ "+") (number_literal "4")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(param_1 + 4)" (* "*") (cast_expression "(undefined4 *)(param_1 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 4) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 4) = 0" (pointer_expression "*(undefined4 *)(param_1 + 4)" (* "*") (cast_expression "(undefined4 *)(param_1 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "**(undefined1 **)param_1 = 0;" (assignment_expression "**(undefined1 **)param_1 = 0" (pointer_expression "**(undefined1 **)param_1" (* "*") (pointer_expression "*(undefined1 **)param_1" (* "*") (cast_expression "(undefined1 **)param_1" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "param_1")))) (= "=") (number_literal "0")) (; ";")) (} "}")))) (} "}")) (else_clause "else if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }" (else "else") (if_statement "if (*(int *)(param_1 + 4) == 0) {\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }\n        else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 4) == 0)" (( "(") (binary_expression "*(int *)(param_1 + 4) == 0" (pointer_expression "*(int *)(param_1 + 4)" (* "*") (cast_expression "(int *)(param_1 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          uVar34 = *(undefined4 *)(this + 0xc);\n          uVar30 = *(undefined4 *)(this + 0x10);\n          uVar33 = *(undefined4 *)(this + 0x14);\n          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n          *(undefined4 *)(param_1 + 0xc) = uVar34;\n          *(undefined4 *)(param_1 + 0x10) = uVar30;\n          *(undefined4 *)(param_1 + 0x14) = uVar33;\n          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = 0;\n          **(undefined1 **)this = 0;\n        }" ({ "{") (expression_statement "uVar34 = *(undefined4 *)(this + 0xc);" (assignment_expression "uVar34 = *(undefined4 *)(this + 0xc)" (identifier "uVar34") (= "=") (pointer_expression "*(undefined4 *)(this + 0xc)" (* "*") (cast_expression "(undefined4 *)(this + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0xc)" (( "(") (binary_expression "this + 0xc" (identifier "this") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "uVar30 = *(undefined4 *)(this + 0x10);" (assignment_expression "uVar30 = *(undefined4 *)(this + 0x10)" (identifier "uVar30") (= "=") (pointer_expression "*(undefined4 *)(this + 0x10)" (* "*") (cast_expression "(undefined4 *)(this + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x10)" (( "(") (binary_expression "this + 0x10" (identifier "this") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "uVar33 = *(undefined4 *)(this + 0x14);" (assignment_expression "uVar33 = *(undefined4 *)(this + 0x14)" (identifier "uVar33") (= "=") (pointer_expression "*(undefined4 *)(this + 0x14)" (* "*") (cast_expression "(undefined4 *)(this + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x14)" (( "(") (binary_expression "this + 0x14" (identifier "this") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)psVar27 = *(undefined4 *)psVar28;" (assignment_expression "*(undefined4 *)psVar27 = *(undefined4 *)psVar28" (pointer_expression "*(undefined4 *)psVar27" (* "*") (cast_expression "(undefined4 *)psVar27" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "psVar27"))) (= "=") (pointer_expression "*(undefined4 *)psVar28" (* "*") (cast_expression "(undefined4 *)psVar28" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "psVar28")))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0xc) = uVar34;" (assignment_expression "*(undefined4 *)(param_1 + 0xc) = uVar34" (pointer_expression "*(undefined4 *)(param_1 + 0xc)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "uVar34")) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0x10) = uVar30;" (assignment_expression "*(undefined4 *)(param_1 + 0x10) = uVar30" (pointer_expression "*(undefined4 *)(param_1 + 0x10)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "uVar30")) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0x14) = uVar33;" (assignment_expression "*(undefined4 *)(param_1 + 0x14) = uVar33" (pointer_expression "*(undefined4 *)(param_1 + 0x14)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "uVar33")) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);" (assignment_expression "*(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4)" (pointer_expression "*(undefined4 *)(param_1 + 4)" (* "*") (cast_expression "(undefined4 *)(param_1 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(this + 4)" (* "*") (cast_expression "(undefined4 *)(this + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 4)" (( "(") (binary_expression "this + 4" (identifier "this") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(this + 4) = 0;" (assignment_expression "*(undefined4 *)(this + 4) = 0" (pointer_expression "*(undefined4 *)(this + 4)" (* "*") (cast_expression "(undefined4 *)(this + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 4)" (( "(") (binary_expression "this + 4" (identifier "this") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "**(undefined1 **)this = 0;" (assignment_expression "**(undefined1 **)this = 0" (pointer_expression "**(undefined1 **)this" (* "*") (pointer_expression "*(undefined1 **)this" (* "*") (cast_expression "(undefined1 **)this" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "this")))) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }" (else "else") (compound_statement "{\n          uVar12 = (uint)psVar28 & 3;\n          uVar20 = (uint)(this + 0xc) & 3;\n          iVar6 = *(int *)(this + 0xc + -uVar20);\n          uVar1 = (uint)(param_1 + 8) & 3;\n          iVar7 = *(int *)(param_1 + 8 + -uVar1);\n          uVar2 = (uint)(param_1 + 0xc) & 3;\n          iVar8 = *(int *)(param_1 + 0xc + -uVar2);\n          uVar3 = (uint)(param_1 + 0x10) & 3;\n          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);\n          uVar33 = *(undefined4 *)(param_1 + 0x14);\n          uVar4 = (uint)(this + 0x10) & 3;\n          iVar10 = *(int *)(this + 0x10 + -uVar4);\n          uVar5 = (uint)(this + 0x14) & 3;\n          iVar11 = *(int *)(this + 0x14 + -uVar5);\n          uVar13 = (uint)(this + 0xb) & 3;\n          uVar14 = (uint)(this + 0xf) & 3;\n          uVar21 = *(uint *)(this + 0xf + -uVar14);\n          uVar15 = (uint)(param_1 + 0xb) & 3;\n          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);\n          uVar16 = (uint)(param_1 + 0xf) & 3;\n          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);\n          uVar17 = (uint)(param_1 + 0x13) & 3;\n          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);\n          uVar18 = (uint)(this + 0x13) & 3;\n          uVar25 = *(uint *)(this + 0x13 + -uVar18);\n          uVar19 = (uint)(this + 0x17) & 3;\n          uVar26 = *(uint *)(this + 0x17 + -uVar19);\n          *(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;\n          *(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;\n          *(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;\n          *(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;\n          *(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;\n          *(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;\n          *(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;\n          *(undefined4 *)(this + 0x14) = uVar33;\n          uVar33 = *(undefined4 *)(this + 4);\n          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n          *(undefined4 *)(param_1 + 4) = uVar33;\n        }" ({ "{") (expression_statement "uVar12 = (uint)psVar28 & 3;" (assignment_expression "uVar12 = (uint)psVar28 & 3" (identifier "uVar12") (= "=") (binary_expression "(uint)psVar28 & 3" (cast_expression "(uint)psVar28" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "psVar28")) (& "&") (number_literal "3"))) (; ";")) (expression_statement "uVar20 = (uint)(this + 0xc) & 3;" (assignment_expression "uVar20 = (uint)(this + 0xc) & 3" (identifier "uVar20") (= "=") (binary_expression "(uint)(this + 0xc) & 3" (call_expression "(uint)(this + 0xc)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(this + 0xc)" (( "(") (binary_expression "this + 0xc" (identifier "this") (+ "+") (number_literal "0xc")) () ")"))) (& "&") (number_literal "3"))) (; ";")) (expression_statement "iVar6 = *(int *)(this + 0xc + -uVar20);" (assignment_expression "iVar6 = *(int *)(this + 0xc + -uVar20)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(this + 0xc + -uVar20)" (* "*") (cast_expression "(int *)(this + 0xc + -uVar20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0xc + -uVar20)" (( "(") (binary_expression "this + 0xc + -uVar20" (binary_expression "this + 0xc" (identifier "this") (+ "+") (number_literal "0xc")) (+ "+") (unary_expression "-uVar20" (- "-") (identifier "uVar20"))) () ")"))))) (; ";")) (expression_statement "uVar1 = (uint)(param_1 + 8) & 3;" (assignment_expression "uVar1 = (uint)(param_1 + 8) & 3" (identifier "uVar1") (= "=") (binary_expression "(uint)(param_1 + 8) & 3" (call_expression "(uint)(param_1 + 8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))) (& "&") (number_literal "3"))) (; ";")) (expression_statement "iVar7 = *(int *)(param_1 + 8 + -uVar1);" (assignment_expression "iVar7 = *(int *)(param_1 + 8 + -uVar1)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(param_1 + 8 + -uVar1)" (* "*") (cast_expression "(int *)(param_1 + 8 + -uVar1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8 + -uVar1)" (( "(") (binary_expression "param_1 + 8 + -uVar1" (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) (+ "+") (unary_expression "-uVar1" (- "-") (identifier "uVar1"))) () ")"))))) (; ";")) (expression_statement "uVar2 = (uint)(param_1 + 0xc) & 3;" (assignment_expression "uVar2 = (uint)(param_1 + 0xc) & 3" (identifier "uVar2") (= "=") (binary_expression "(uint)(param_1 + 0xc) & 3" (call_expression "(uint)(param_1 + 0xc)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")"))) (& "&") (number_literal "3"))) (; ";")) (expression_statement "iVar8 = *(int *)(param_1 + 0xc + -uVar2);" (assignment_expression "iVar8 = *(int *)(param_1 + 0xc + -uVar2)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(param_1 + 0xc + -uVar2)" (* "*") (cast_expression "(int *)(param_1 + 0xc + -uVar2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc + -uVar2)" (( "(") (binary_expression "param_1 + 0xc + -uVar2" (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) (+ "+") (unary_expression "-uVar2" (- "-") (identifier "uVar2"))) () ")"))))) (; ";")) (expression_statement "uVar3 = (uint)(param_1 + 0x10) & 3;" (assignment_expression "uVar3 = (uint)(param_1 + 0x10) & 3" (identifier "uVar3") (= "=") (binary_expression "(uint)(param_1 + 0x10) & 3" (call_expression "(uint)(param_1 + 0x10)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))) (& "&") (number_literal "3"))) (; ";")) (expression_statement "iVar9 = *(int *)(param_1 + 0x10 + -uVar3);" (assignment_expression "iVar9 = *(int *)(param_1 + 0x10 + -uVar3)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(param_1 + 0x10 + -uVar3)" (* "*") (cast_expression "(int *)(param_1 + 0x10 + -uVar3)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10 + -uVar3)" (( "(") (binary_expression "param_1 + 0x10 + -uVar3" (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) (+ "+") (unary_expression "-uVar3" (- "-") (identifier "uVar3"))) () ")"))))) (; ";")) (expression_statement "uVar33 = *(undefined4 *)(param_1 + 0x14);" (assignment_expression "uVar33 = *(undefined4 *)(param_1 + 0x14)" (identifier "uVar33") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0x14)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "uVar4 = (uint)(this + 0x10) & 3;" (assignment_expression "uVar4 = (uint)(this + 0x10) & 3" (identifier "uVar4") (= "=") (binary_expression "(uint)(this + 0x10) & 3" (call_expression "(uint)(this + 0x10)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(this + 0x10)" (( "(") (binary_expression "this + 0x10" (identifier "this") (+ "+") (number_literal "0x10")) () ")"))) (& "&") (number_literal "3"))) (; ";")) (expression_statement "iVar10 = *(int *)(this + 0x10 + -uVar4);" (assignment_expression "iVar10 = *(int *)(this + 0x10 + -uVar4)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(this + 0x10 + -uVar4)" (* "*") (cast_expression "(int *)(this + 0x10 + -uVar4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x10 + -uVar4)" (( "(") (binary_expression "this + 0x10 + -uVar4" (binary_expression "this + 0x10" (identifier "this") (+ "+") (number_literal "0x10")) (+ "+") (unary_expression "-uVar4" (- "-") (identifier "uVar4"))) () ")"))))) (; ";")) (expression_statement "uVar5 = (uint)(this + 0x14) & 3;" (assignment_expression "uVar5 = (uint)(this + 0x14) & 3" (identifier "uVar5") (= "=") (binary_expression "(uint)(this + 0x14) & 3" (call_expression "(uint)(this + 0x14)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(this + 0x14)" (( "(") (binary_expression "this + 0x14" (identifier "this") (+ "+") (number_literal "0x14")) () ")"))) (& "&") (number_literal "3"))) (; ";")) (expression_statement "iVar11 = *(int *)(this + 0x14 + -uVar5);" (assignment_expression "iVar11 = *(int *)(this + 0x14 + -uVar5)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)(this + 0x14 + -uVar5)" (* "*") (cast_expression "(int *)(this + 0x14 + -uVar5)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x14 + -uVar5)" (( "(") (binary_expression "this + 0x14 + -uVar5" (binary_expression "this + 0x14" (identifier "this") (+ "+") (number_literal "0x14")) (+ "+") (unary_expression "-uVar5" (- "-") (identifier "uVar5"))) () ")"))))) (; ";")) (expression_statement "uVar13 = (uint)(this + 0xb) & 3;" (assignment_expression "uVar13 = (uint)(this + 0xb) & 3" (identifier "uVar13") (= "=") (binary_expression "(uint)(this + 0xb) & 3" (call_expression "(uint)(this + 0xb)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(this + 0xb)" (( "(") (binary_expression "this + 0xb" (identifier "this") (+ "+") (number_literal "0xb")) () ")"))) (& "&") (number_literal "3"))) (; ";")) (expression_statement "uVar14 = (uint)(this + 0xf) & 3;" (assignment_expression "uVar14 = (uint)(this + 0xf) & 3" (identifier "uVar14") (= "=") (binary_expression "(uint)(this + 0xf) & 3" (call_expression "(uint)(this + 0xf)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(this + 0xf)" (( "(") (binary_expression "this + 0xf" (identifier "this") (+ "+") (number_literal "0xf")) () ")"))) (& "&") (number_literal "3"))) (; ";")) (expression_statement "uVar21 = *(uint *)(this + 0xf + -uVar14);" (assignment_expression "uVar21 = *(uint *)(this + 0xf + -uVar14)" (identifier "uVar21") (= "=") (pointer_expression "*(uint *)(this + 0xf + -uVar14)" (* "*") (cast_expression "(uint *)(this + 0xf + -uVar14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0xf + -uVar14)" (( "(") (binary_expression "this + 0xf + -uVar14" (binary_expression "this + 0xf" (identifier "this") (+ "+") (number_literal "0xf")) (+ "+") (unary_expression "-uVar14" (- "-") (identifier "uVar14"))) () ")"))))) (; ";")) (expression_statement "uVar15 = (uint)(param_1 + 0xb) & 3;" (assignment_expression "uVar15 = (uint)(param_1 + 0xb) & 3" (identifier "uVar15") (= "=") (binary_expression "(uint)(param_1 + 0xb) & 3" (call_expression "(uint)(param_1 + 0xb)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(param_1 + 0xb)" (( "(") (binary_expression "param_1 + 0xb" (identifier "param_1") (+ "+") (number_literal "0xb")) () ")"))) (& "&") (number_literal "3"))) (; ";")) (expression_statement "uVar22 = *(uint *)(param_1 + 0xb + -uVar15);" (assignment_expression "uVar22 = *(uint *)(param_1 + 0xb + -uVar15)" (identifier "uVar22") (= "=") (pointer_expression "*(uint *)(param_1 + 0xb + -uVar15)" (* "*") (cast_expression "(uint *)(param_1 + 0xb + -uVar15)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xb + -uVar15)" (( "(") (binary_expression "param_1 + 0xb + -uVar15" (binary_expression "param_1 + 0xb" (identifier "param_1") (+ "+") (number_literal "0xb")) (+ "+") (unary_expression "-uVar15" (- "-") (identifier "uVar15"))) () ")"))))) (; ";")) (expression_statement "uVar16 = (uint)(param_1 + 0xf) & 3;" (assignment_expression "uVar16 = (uint)(param_1 + 0xf) & 3" (identifier "uVar16") (= "=") (binary_expression "(uint)(param_1 + 0xf) & 3" (call_expression "(uint)(param_1 + 0xf)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(param_1 + 0xf)" (( "(") (binary_expression "param_1 + 0xf" (identifier "param_1") (+ "+") (number_literal "0xf")) () ")"))) (& "&") (number_literal "3"))) (; ";")) (expression_statement "uVar23 = *(uint *)(param_1 + 0xf + -uVar16);" (assignment_expression "uVar23 = *(uint *)(param_1 + 0xf + -uVar16)" (identifier "uVar23") (= "=") (pointer_expression "*(uint *)(param_1 + 0xf + -uVar16)" (* "*") (cast_expression "(uint *)(param_1 + 0xf + -uVar16)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xf + -uVar16)" (( "(") (binary_expression "param_1 + 0xf + -uVar16" (binary_expression "param_1 + 0xf" (identifier "param_1") (+ "+") (number_literal "0xf")) (+ "+") (unary_expression "-uVar16" (- "-") (identifier "uVar16"))) () ")"))))) (; ";")) (expression_statement "uVar17 = (uint)(param_1 + 0x13) & 3;" (assignment_expression "uVar17 = (uint)(param_1 + 0x13) & 3" (identifier "uVar17") (= "=") (binary_expression "(uint)(param_1 + 0x13) & 3" (call_expression "(uint)(param_1 + 0x13)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(param_1 + 0x13)" (( "(") (binary_expression "param_1 + 0x13" (identifier "param_1") (+ "+") (number_literal "0x13")) () ")"))) (& "&") (number_literal "3"))) (; ";")) (expression_statement "uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);" (assignment_expression "uVar24 = *(uint *)(param_1 + 0x13 + -uVar17)" (identifier "uVar24") (= "=") (pointer_expression "*(uint *)(param_1 + 0x13 + -uVar17)" (* "*") (cast_expression "(uint *)(param_1 + 0x13 + -uVar17)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x13 + -uVar17)" (( "(") (binary_expression "param_1 + 0x13 + -uVar17" (binary_expression "param_1 + 0x13" (identifier "param_1") (+ "+") (number_literal "0x13")) (+ "+") (unary_expression "-uVar17" (- "-") (identifier "uVar17"))) () ")"))))) (; ";")) (expression_statement "uVar18 = (uint)(this + 0x13) & 3;" (assignment_expression "uVar18 = (uint)(this + 0x13) & 3" (identifier "uVar18") (= "=") (binary_expression "(uint)(this + 0x13) & 3" (call_expression "(uint)(this + 0x13)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(this + 0x13)" (( "(") (binary_expression "this + 0x13" (identifier "this") (+ "+") (number_literal "0x13")) () ")"))) (& "&") (number_literal "3"))) (; ";")) (expression_statement "uVar25 = *(uint *)(this + 0x13 + -uVar18);" (assignment_expression "uVar25 = *(uint *)(this + 0x13 + -uVar18)" (identifier "uVar25") (= "=") (pointer_expression "*(uint *)(this + 0x13 + -uVar18)" (* "*") (cast_expression "(uint *)(this + 0x13 + -uVar18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x13 + -uVar18)" (( "(") (binary_expression "this + 0x13 + -uVar18" (binary_expression "this + 0x13" (identifier "this") (+ "+") (number_literal "0x13")) (+ "+") (unary_expression "-uVar18" (- "-") (identifier "uVar18"))) () ")"))))) (; ";")) (expression_statement "uVar19 = (uint)(this + 0x17) & 3;" (assignment_expression "uVar19 = (uint)(this + 0x17) & 3" (identifier "uVar19") (= "=") (binary_expression "(uint)(this + 0x17) & 3" (call_expression "(uint)(this + 0x17)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(this + 0x17)" (( "(") (binary_expression "this + 0x17" (identifier "this") (+ "+") (number_literal "0x17")) () ")"))) (& "&") (number_literal "3"))) (; ";")) (expression_statement "uVar26 = *(uint *)(this + 0x17 + -uVar19);" (assignment_expression "uVar26 = *(uint *)(this + 0x17 + -uVar19)" (identifier "uVar26") (= "=") (pointer_expression "*(uint *)(this + 0x17 + -uVar19)" (* "*") (cast_expression "(uint *)(this + 0x17 + -uVar19)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x17 + -uVar19)" (( "(") (binary_expression "this + 0x17 + -uVar19" (binary_expression "this + 0x17" (identifier "this") (+ "+") (number_literal "0x17")) (+ "+") (unary_expression "-uVar19" (- "-") (identifier "uVar19"))) () ")"))))) (; ";")) (expression_statement "*(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;" (assignment_expression "*(uint *)psVar27 =\n               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8" (pointer_expression "*(uint *)psVar27" (* "*") (cast_expression "(uint *)psVar27" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "psVar27"))) (= "=") (binary_expression "(*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8" (binary_expression "(*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)\n               & -1 << (uVar13 + 1) * 8" (parenthesized_expression "(*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)" (( "(") (binary_expression "*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8" (binary_expression "*(int *)(psVar28 + -uVar12) << uVar12 * 8" (pointer_expression "*(int *)(psVar28 + -uVar12)" (* "*") (cast_expression "(int *)(psVar28 + -uVar12)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(psVar28 + -uVar12)" (( "(") (binary_expression "psVar28 + -uVar12" (identifier "psVar28") (+ "+") (unary_expression "-uVar12" (- "-") (identifier "uVar12"))) () ")")))) (<< "<<") (binary_expression "uVar12 * 8" (identifier "uVar12") (* "*") (number_literal "8"))) (| "|") (binary_expression "in_t5 & 0xffffffffU >> (4 - uVar12) * 8" (identifier "in_t5") (& "&") (binary_expression "0xffffffffU >> (4 - uVar12) * 8" (number_literal "0xffffffffU") (>> ">>") (binary_expression "(4 - uVar12) * 8" (parenthesized_expression "(4 - uVar12)" (( "(") (binary_expression "4 - uVar12" (number_literal "4") (- "-") (identifier "uVar12")) () ")")) (* "*") (number_literal "8"))))) () ")")) (& "&") (binary_expression "-1 << (uVar13 + 1) * 8" (number_literal "-1") (<< "<<") (binary_expression "(uVar13 + 1) * 8" (parenthesized_expression "(uVar13 + 1)" (( "(") (binary_expression "uVar13 + 1" (identifier "uVar13") (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "8")))) (| "|") (binary_expression "*(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8" (pointer_expression "*(uint *)(this + 0xb + -uVar13)" (* "*") (cast_expression "(uint *)(this + 0xb + -uVar13)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0xb + -uVar13)" (( "(") (binary_expression "this + 0xb + -uVar13" (binary_expression "this + 0xb" (identifier "this") (+ "+") (number_literal "0xb")) (+ "+") (unary_expression "-uVar13" (- "-") (identifier "uVar13"))) () ")")))) (>> ">>") (binary_expression "(3 - uVar13) * 8" (parenthesized_expression "(3 - uVar13)" (( "(") (binary_expression "3 - uVar13" (number_literal "3") (- "-") (identifier "uVar13")) () ")")) (* "*") (number_literal "8"))))) (; ";")) (expression_statement "*(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;" (assignment_expression "*(uint *)(param_1 + 0xc) =\n               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8" (pointer_expression "*(uint *)(param_1 + 0xc)" (* "*") (cast_expression "(uint *)(param_1 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (binary_expression "(iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8" (binary_expression "(iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &\n               -1 << (uVar14 + 1) * 8" (parenthesized_expression "(iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8)" (( "(") (binary_expression "iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8" (binary_expression "iVar6 << uVar20 * 8" (identifier "iVar6") (<< "<<") (binary_expression "uVar20 * 8" (identifier "uVar20") (* "*") (number_literal "8"))) (| "|") (binary_expression "in_t4 & 0xffffffffU >> (4 - uVar20) * 8" (identifier "in_t4") (& "&") (binary_expression "0xffffffffU >> (4 - uVar20) * 8" (number_literal "0xffffffffU") (>> ">>") (binary_expression "(4 - uVar20) * 8" (parenthesized_expression "(4 - uVar20)" (( "(") (binary_expression "4 - uVar20" (number_literal "4") (- "-") (identifier "uVar20")) () ")")) (* "*") (number_literal "8"))))) () ")")) (& "&") (binary_expression "-1 << (uVar14 + 1) * 8" (number_literal "-1") (<< "<<") (binary_expression "(uVar14 + 1) * 8" (parenthesized_expression "(uVar14 + 1)" (( "(") (binary_expression "uVar14 + 1" (identifier "uVar14") (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "8")))) (| "|") (binary_expression "uVar21 >> (3 - uVar14) * 8" (identifier "uVar21") (>> ">>") (binary_expression "(3 - uVar14) * 8" (parenthesized_expression "(3 - uVar14)" (( "(") (binary_expression "3 - uVar14" (number_literal "3") (- "-") (identifier "uVar14")) () ")")) (* "*") (number_literal "8"))))) (; ";")) (expression_statement "*(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;" (assignment_expression "*(uint *)(param_1 + 0x10) =\n               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8" (pointer_expression "*(uint *)(param_1 + 0x10)" (* "*") (cast_expression "(uint *)(param_1 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "(iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8" (binary_expression "(iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &\n               -1 << (uVar18 + 1) * 8" (parenthesized_expression "(iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8)" (( "(") (binary_expression "iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8" (binary_expression "iVar10 << uVar4 * 8" (identifier "iVar10") (<< "<<") (binary_expression "uVar4 * 8" (identifier "uVar4") (* "*") (number_literal "8"))) (| "|") (binary_expression "in_t3 & 0xffffffffU >> (4 - uVar4) * 8" (identifier "in_t3") (& "&") (binary_expression "0xffffffffU >> (4 - uVar4) * 8" (number_literal "0xffffffffU") (>> ">>") (binary_expression "(4 - uVar4) * 8" (parenthesized_expression "(4 - uVar4)" (( "(") (binary_expression "4 - uVar4" (number_literal "4") (- "-") (identifier "uVar4")) () ")")) (* "*") (number_literal "8"))))) () ")")) (& "&") (binary_expression "-1 << (uVar18 + 1) * 8" (number_literal "-1") (<< "<<") (binary_expression "(uVar18 + 1) * 8" (parenthesized_expression "(uVar18 + 1)" (( "(") (binary_expression "uVar18 + 1" (identifier "uVar18") (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "8")))) (| "|") (binary_expression "uVar25 >> (3 - uVar18) * 8" (identifier "uVar25") (>> ">>") (binary_expression "(3 - uVar18) * 8" (parenthesized_expression "(3 - uVar18)" (( "(") (binary_expression "3 - uVar18" (number_literal "3") (- "-") (identifier "uVar18")) () ")")) (* "*") (number_literal "8"))))) (; ";")) (expression_statement "*(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;" (assignment_expression "*(uint *)(param_1 + 0x14) =\n               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8" (pointer_expression "*(uint *)(param_1 + 0x14)" (* "*") (cast_expression "(uint *)(param_1 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (binary_expression "(iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8" (binary_expression "(iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &\n               -1 << (uVar19 + 1) * 8" (parenthesized_expression "(iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8)" (( "(") (binary_expression "iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8" (binary_expression "iVar11 << uVar5 * 8" (identifier "iVar11") (<< "<<") (binary_expression "uVar5 * 8" (identifier "uVar5") (* "*") (number_literal "8"))) (| "|") (binary_expression "in_t2 & 0xffffffffU >> (4 - uVar5) * 8" (identifier "in_t2") (& "&") (binary_expression "0xffffffffU >> (4 - uVar5) * 8" (number_literal "0xffffffffU") (>> ">>") (binary_expression "(4 - uVar5) * 8" (parenthesized_expression "(4 - uVar5)" (( "(") (binary_expression "4 - uVar5" (number_literal "4") (- "-") (identifier "uVar5")) () ")")) (* "*") (number_literal "8"))))) () ")")) (& "&") (binary_expression "-1 << (uVar19 + 1) * 8" (number_literal "-1") (<< "<<") (binary_expression "(uVar19 + 1) * 8" (parenthesized_expression "(uVar19 + 1)" (( "(") (binary_expression "uVar19 + 1" (identifier "uVar19") (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "8")))) (| "|") (binary_expression "uVar26 >> (3 - uVar19) * 8" (identifier "uVar26") (>> ">>") (binary_expression "(3 - uVar19) * 8" (parenthesized_expression "(3 - uVar19)" (( "(") (binary_expression "3 - uVar19" (number_literal "3") (- "-") (identifier "uVar19")) () ")")) (* "*") (number_literal "8"))))) (; ";")) (expression_statement "*(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;" (assignment_expression "*(uint *)(this + 8) =\n               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8" (pointer_expression "*(uint *)(this + 8)" (* "*") (cast_expression "(uint *)(this + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 8)" (( "(") (binary_expression "this + 8" (identifier "this") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "(iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8" (binary_expression "(iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &\n               -1 << (uVar15 + 1) * 8" (parenthesized_expression "(iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8)" (( "(") (binary_expression "iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8" (binary_expression "iVar7 << uVar1 * 8" (identifier "iVar7") (<< "<<") (binary_expression "uVar1 * 8" (identifier "uVar1") (* "*") (number_literal "8"))) (| "|") (binary_expression "in_t1 & 0xffffffffU >> (4 - uVar1) * 8" (identifier "in_t1") (& "&") (binary_expression "0xffffffffU >> (4 - uVar1) * 8" (number_literal "0xffffffffU") (>> ">>") (binary_expression "(4 - uVar1) * 8" (parenthesized_expression "(4 - uVar1)" (( "(") (binary_expression "4 - uVar1" (number_literal "4") (- "-") (identifier "uVar1")) () ")")) (* "*") (number_literal "8"))))) () ")")) (& "&") (binary_expression "-1 << (uVar15 + 1) * 8" (number_literal "-1") (<< "<<") (binary_expression "(uVar15 + 1) * 8" (parenthesized_expression "(uVar15 + 1)" (( "(") (binary_expression "uVar15 + 1" (identifier "uVar15") (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "8")))) (| "|") (binary_expression "uVar22 >> (3 - uVar15) * 8" (identifier "uVar22") (>> ">>") (binary_expression "(3 - uVar15) * 8" (parenthesized_expression "(3 - uVar15)" (( "(") (binary_expression "3 - uVar15" (number_literal "3") (- "-") (identifier "uVar15")) () ")")) (* "*") (number_literal "8"))))) (; ";")) (expression_statement "*(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;" (assignment_expression "*(uint *)(this + 0xc) =\n               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8" (pointer_expression "*(uint *)(this + 0xc)" (* "*") (cast_expression "(uint *)(this + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0xc)" (( "(") (binary_expression "this + 0xc" (identifier "this") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (binary_expression "(iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8" (binary_expression "(iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &\n               -1 << (uVar16 + 1) * 8" (parenthesized_expression "(iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8)" (( "(") (binary_expression "iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8" (binary_expression "iVar8 << uVar2 * 8" (identifier "iVar8") (<< "<<") (binary_expression "uVar2 * 8" (identifier "uVar2") (* "*") (number_literal "8"))) (| "|") (binary_expression "in_t0 & 0xffffffffU >> (4 - uVar2) * 8" (identifier "in_t0") (& "&") (binary_expression "0xffffffffU >> (4 - uVar2) * 8" (number_literal "0xffffffffU") (>> ">>") (binary_expression "(4 - uVar2) * 8" (parenthesized_expression "(4 - uVar2)" (( "(") (binary_expression "4 - uVar2" (number_literal "4") (- "-") (identifier "uVar2")) () ")")) (* "*") (number_literal "8"))))) () ")")) (& "&") (binary_expression "-1 << (uVar16 + 1) * 8" (number_literal "-1") (<< "<<") (binary_expression "(uVar16 + 1) * 8" (parenthesized_expression "(uVar16 + 1)" (( "(") (binary_expression "uVar16 + 1" (identifier "uVar16") (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "8")))) (| "|") (binary_expression "uVar23 >> (3 - uVar16) * 8" (identifier "uVar23") (>> ">>") (binary_expression "(3 - uVar16) * 8" (parenthesized_expression "(3 - uVar16)" (( "(") (binary_expression "3 - uVar16" (number_literal "3") (- "-") (identifier "uVar16")) () ")")) (* "*") (number_literal "8"))))) (; ";")) (expression_statement "*(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;" (assignment_expression "*(uint *)(this + 0x10) =\n               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8" (pointer_expression "*(uint *)(this + 0x10)" (* "*") (cast_expression "(uint *)(this + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x10)" (( "(") (binary_expression "this + 0x10" (identifier "this") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "(iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8" (binary_expression "(iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &\n               -1 << (uVar17 + 1) * 8" (parenthesized_expression "(iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8)" (( "(") (binary_expression "iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8" (binary_expression "iVar9 << uVar3 * 8" (identifier "iVar9") (<< "<<") (binary_expression "uVar3 * 8" (identifier "uVar3") (* "*") (number_literal "8"))) (| "|") (binary_expression "uVar32 & 0xffffffffU >> (4 - uVar3) * 8" (identifier "uVar32") (& "&") (binary_expression "0xffffffffU >> (4 - uVar3) * 8" (number_literal "0xffffffffU") (>> ">>") (binary_expression "(4 - uVar3) * 8" (parenthesized_expression "(4 - uVar3)" (( "(") (binary_expression "4 - uVar3" (number_literal "4") (- "-") (identifier "uVar3")) () ")")) (* "*") (number_literal "8"))))) () ")")) (& "&") (binary_expression "-1 << (uVar17 + 1) * 8" (number_literal "-1") (<< "<<") (binary_expression "(uVar17 + 1) * 8" (parenthesized_expression "(uVar17 + 1)" (( "(") (binary_expression "uVar17 + 1" (identifier "uVar17") (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "8")))) (| "|") (binary_expression "uVar24 >> (3 - uVar17) * 8" (identifier "uVar24") (>> ">>") (binary_expression "(3 - uVar17) * 8" (parenthesized_expression "(3 - uVar17)" (( "(") (binary_expression "3 - uVar17" (number_literal "3") (- "-") (identifier "uVar17")) () ")")) (* "*") (number_literal "8"))))) (; ";")) (expression_statement "*(undefined4 *)(this + 0x14) = uVar33;" (assignment_expression "*(undefined4 *)(this + 0x14) = uVar33" (pointer_expression "*(undefined4 *)(this + 0x14)" (* "*") (cast_expression "(undefined4 *)(this + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x14)" (( "(") (binary_expression "this + 0x14" (identifier "this") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "uVar33")) (; ";")) (expression_statement "uVar33 = *(undefined4 *)(this + 4);" (assignment_expression "uVar33 = *(undefined4 *)(this + 4)" (identifier "uVar33") (= "=") (pointer_expression "*(undefined4 *)(this + 4)" (* "*") (cast_expression "(undefined4 *)(this + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 4)" (( "(") (binary_expression "this + 4" (identifier "this") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);" (assignment_expression "*(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4)" (pointer_expression "*(undefined4 *)(this + 4)" (* "*") (cast_expression "(undefined4 *)(this + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 4)" (( "(") (binary_expression "this + 4" (identifier "this") (+ "+") (number_literal "4")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(param_1 + 4)" (* "*") (cast_expression "(undefined4 *)(param_1 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 4) = uVar33;" (assignment_expression "*(undefined4 *)(param_1 + 4) = uVar33" (pointer_expression "*(undefined4 *)(param_1 + 4)" (* "*") (cast_expression "(undefined4 *)(param_1 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "uVar33")) (; ";")) (} "}")))))) (} "}")) (else_clause "else {\n        uVar30 = *(undefined4 *)(this + 0xc);\n        uVar32 = (uint)(this + 0x10) & 3;\n        iVar6 = *(int *)(this + 0x10 + -uVar32);\n        uVar33 = *(undefined4 *)(this + 0x14);\n        uVar34 = *(undefined4 *)(param_1 + 8);\n        uVar12 = (uint)(this + 0x13) & 3;\n        uVar20 = *(uint *)(this + 0x13 + -uVar12);\n        *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n        *(undefined4 *)(param_1 + 0xc) = uVar30;\n        *(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;\n        *(undefined4 *)(param_1 + 0x14) = uVar33;\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar27;\n        *(undefined4 *)(this + 8) = uVar34;\n        uVar33 = *(undefined4 *)(this + 4);\n        *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n        *(undefined4 *)(param_1 + 4) = uVar33;\n      }" (else "else") (compound_statement "{\n        uVar30 = *(undefined4 *)(this + 0xc);\n        uVar32 = (uint)(this + 0x10) & 3;\n        iVar6 = *(int *)(this + 0x10 + -uVar32);\n        uVar33 = *(undefined4 *)(this + 0x14);\n        uVar34 = *(undefined4 *)(param_1 + 8);\n        uVar12 = (uint)(this + 0x13) & 3;\n        uVar20 = *(uint *)(this + 0x13 + -uVar12);\n        *(undefined4 *)psVar27 = *(undefined4 *)psVar28;\n        *(undefined4 *)(param_1 + 0xc) = uVar30;\n        *(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;\n        *(undefined4 *)(param_1 + 0x14) = uVar33;\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar27;\n        *(undefined4 *)(this + 8) = uVar34;\n        uVar33 = *(undefined4 *)(this + 4);\n        *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n        *(undefined4 *)(param_1 + 4) = uVar33;\n      }" ({ "{") (expression_statement "uVar30 = *(undefined4 *)(this + 0xc);" (assignment_expression "uVar30 = *(undefined4 *)(this + 0xc)" (identifier "uVar30") (= "=") (pointer_expression "*(undefined4 *)(this + 0xc)" (* "*") (cast_expression "(undefined4 *)(this + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0xc)" (( "(") (binary_expression "this + 0xc" (identifier "this") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "uVar32 = (uint)(this + 0x10) & 3;" (assignment_expression "uVar32 = (uint)(this + 0x10) & 3" (identifier "uVar32") (= "=") (binary_expression "(uint)(this + 0x10) & 3" (call_expression "(uint)(this + 0x10)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(this + 0x10)" (( "(") (binary_expression "this + 0x10" (identifier "this") (+ "+") (number_literal "0x10")) () ")"))) (& "&") (number_literal "3"))) (; ";")) (expression_statement "iVar6 = *(int *)(this + 0x10 + -uVar32);" (assignment_expression "iVar6 = *(int *)(this + 0x10 + -uVar32)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(this + 0x10 + -uVar32)" (* "*") (cast_expression "(int *)(this + 0x10 + -uVar32)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x10 + -uVar32)" (( "(") (binary_expression "this + 0x10 + -uVar32" (binary_expression "this + 0x10" (identifier "this") (+ "+") (number_literal "0x10")) (+ "+") (unary_expression "-uVar32" (- "-") (identifier "uVar32"))) () ")"))))) (; ";")) (expression_statement "uVar33 = *(undefined4 *)(this + 0x14);" (assignment_expression "uVar33 = *(undefined4 *)(this + 0x14)" (identifier "uVar33") (= "=") (pointer_expression "*(undefined4 *)(this + 0x14)" (* "*") (cast_expression "(undefined4 *)(this + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x14)" (( "(") (binary_expression "this + 0x14" (identifier "this") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "uVar34 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar34 = *(undefined4 *)(param_1 + 8)" (identifier "uVar34") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 8)" (* "*") (cast_expression "(undefined4 *)(param_1 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uVar12 = (uint)(this + 0x13) & 3;" (assignment_expression "uVar12 = (uint)(this + 0x13) & 3" (identifier "uVar12") (= "=") (binary_expression "(uint)(this + 0x13) & 3" (call_expression "(uint)(this + 0x13)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(this + 0x13)" (( "(") (binary_expression "this + 0x13" (identifier "this") (+ "+") (number_literal "0x13")) () ")"))) (& "&") (number_literal "3"))) (; ";")) (expression_statement "uVar20 = *(uint *)(this + 0x13 + -uVar12);" (assignment_expression "uVar20 = *(uint *)(this + 0x13 + -uVar12)" (identifier "uVar20") (= "=") (pointer_expression "*(uint *)(this + 0x13 + -uVar12)" (* "*") (cast_expression "(uint *)(this + 0x13 + -uVar12)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x13 + -uVar12)" (( "(") (binary_expression "this + 0x13 + -uVar12" (binary_expression "this + 0x13" (identifier "this") (+ "+") (number_literal "0x13")) (+ "+") (unary_expression "-uVar12" (- "-") (identifier "uVar12"))) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)psVar27 = *(undefined4 *)psVar28;" (assignment_expression "*(undefined4 *)psVar27 = *(undefined4 *)psVar28" (pointer_expression "*(undefined4 *)psVar27" (* "*") (cast_expression "(undefined4 *)psVar27" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "psVar27"))) (= "=") (pointer_expression "*(undefined4 *)psVar28" (* "*") (cast_expression "(undefined4 *)psVar28" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "psVar28")))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0xc) = uVar30;" (assignment_expression "*(undefined4 *)(param_1 + 0xc) = uVar30" (pointer_expression "*(undefined4 *)(param_1 + 0xc)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "uVar30")) (; ";")) (expression_statement "*(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;" (assignment_expression "*(uint *)(param_1 + 0x10) =\n             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8" (pointer_expression "*(uint *)(param_1 + 0x10)" (* "*") (cast_expression "(uint *)(param_1 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "(iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8" (binary_expression "(iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &\n             -1 << (uVar12 + 1) * 8" (parenthesized_expression "(iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8)" (( "(") (binary_expression "iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8" (binary_expression "iVar6 << uVar32 * 8" (identifier "iVar6") (<< "<<") (binary_expression "uVar32 * 8" (identifier "uVar32") (* "*") (number_literal "8"))) (| "|") (binary_expression "in_t0 & 0xffffffffU >> (4 - uVar32) * 8" (identifier "in_t0") (& "&") (binary_expression "0xffffffffU >> (4 - uVar32) * 8" (number_literal "0xffffffffU") (>> ">>") (binary_expression "(4 - uVar32) * 8" (parenthesized_expression "(4 - uVar32)" (( "(") (binary_expression "4 - uVar32" (number_literal "4") (- "-") (identifier "uVar32")) () ")")) (* "*") (number_literal "8"))))) () ")")) (& "&") (binary_expression "-1 << (uVar12 + 1) * 8" (number_literal "-1") (<< "<<") (binary_expression "(uVar12 + 1) * 8" (parenthesized_expression "(uVar12 + 1)" (( "(") (binary_expression "uVar12 + 1" (identifier "uVar12") (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "8")))) (| "|") (binary_expression "uVar20 >> (3 - uVar12) * 8" (identifier "uVar20") (>> ">>") (binary_expression "(3 - uVar12) * 8" (parenthesized_expression "(3 - uVar12)" (( "(") (binary_expression "3 - uVar12" (number_literal "3") (- "-") (identifier "uVar12")) () ")")) (* "*") (number_literal "8"))))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0x14) = uVar33;" (assignment_expression "*(undefined4 *)(param_1 + 0x14) = uVar33" (pointer_expression "*(undefined4 *)(param_1 + 0x14)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "uVar33")) (; ";")) (expression_statement "*(string **)this = psVar29;" (assignment_expression "*(string **)this = psVar29" (pointer_expression "*(string **)this" (* "*") (cast_expression "(string **)this" (( "(") (type_descriptor "string **" (type_identifier "string") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "this"))) (= "=") (identifier "psVar29")) (; ";")) (expression_statement "*(string **)param_1 = psVar27;" (assignment_expression "*(string **)param_1 = psVar27" (pointer_expression "*(string **)param_1" (* "*") (cast_expression "(string **)param_1" (( "(") (type_descriptor "string **" (type_identifier "string") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "param_1"))) (= "=") (identifier "psVar27")) (; ";")) (expression_statement "*(undefined4 *)(this + 8) = uVar34;" (assignment_expression "*(undefined4 *)(this + 8) = uVar34" (pointer_expression "*(undefined4 *)(this + 8)" (* "*") (cast_expression "(undefined4 *)(this + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 8)" (( "(") (binary_expression "this + 8" (identifier "this") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "uVar34")) (; ";")) (expression_statement "uVar33 = *(undefined4 *)(this + 4);" (assignment_expression "uVar33 = *(undefined4 *)(this + 4)" (identifier "uVar33") (= "=") (pointer_expression "*(undefined4 *)(this + 4)" (* "*") (cast_expression "(undefined4 *)(this + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 4)" (( "(") (binary_expression "this + 4" (identifier "this") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);" (assignment_expression "*(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4)" (pointer_expression "*(undefined4 *)(this + 4)" (* "*") (cast_expression "(undefined4 *)(this + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 4)" (( "(") (binary_expression "this + 4" (identifier "this") (+ "+") (number_literal "4")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(param_1 + 4)" (* "*") (cast_expression "(undefined4 *)(param_1 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 4) = uVar33;" (assignment_expression "*(undefined4 *)(param_1 + 4) = uVar33" (pointer_expression "*(undefined4 *)(param_1 + 4)" (* "*") (cast_expression "(undefined4 *)(param_1 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "uVar33")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n      uVar33 = *(undefined4 *)(this + 8);\n      if (psVar27 == psVar29) {\n        uVar35 = *(undefined4 *)(param_1 + 0xc);\n        uVar34 = *(undefined4 *)(param_1 + 0x10);\n        uVar30 = *(undefined4 *)(param_1 + 0x14);\n        *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n        *(undefined4 *)(this + 0xc) = uVar35;\n        *(undefined4 *)(this + 0x10) = uVar34;\n        *(undefined4 *)(this + 0x14) = uVar30;\n        *(string **)param_1 = psVar31;\n        *(string **)this = psVar28;\n      }\n      else {\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar31;\n        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);\n      }\n      *(undefined4 *)(param_1 + 8) = uVar33;\n      uVar33 = *(undefined4 *)(this + 4);\n      *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n      *(undefined4 *)(param_1 + 4) = uVar33;\n    }" (else "else") (compound_statement "{\n      uVar33 = *(undefined4 *)(this + 8);\n      if (psVar27 == psVar29) {\n        uVar35 = *(undefined4 *)(param_1 + 0xc);\n        uVar34 = *(undefined4 *)(param_1 + 0x10);\n        uVar30 = *(undefined4 *)(param_1 + 0x14);\n        *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n        *(undefined4 *)(this + 0xc) = uVar35;\n        *(undefined4 *)(this + 0x10) = uVar34;\n        *(undefined4 *)(this + 0x14) = uVar30;\n        *(string **)param_1 = psVar31;\n        *(string **)this = psVar28;\n      }\n      else {\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar31;\n        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);\n      }\n      *(undefined4 *)(param_1 + 8) = uVar33;\n      uVar33 = *(undefined4 *)(this + 4);\n      *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);\n      *(undefined4 *)(param_1 + 4) = uVar33;\n    }" ({ "{") (expression_statement "uVar33 = *(undefined4 *)(this + 8);" (assignment_expression "uVar33 = *(undefined4 *)(this + 8)" (identifier "uVar33") (= "=") (pointer_expression "*(undefined4 *)(this + 8)" (* "*") (cast_expression "(undefined4 *)(this + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 8)" (( "(") (binary_expression "this + 8" (identifier "this") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (psVar27 == psVar29) {\n        uVar35 = *(undefined4 *)(param_1 + 0xc);\n        uVar34 = *(undefined4 *)(param_1 + 0x10);\n        uVar30 = *(undefined4 *)(param_1 + 0x14);\n        *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n        *(undefined4 *)(this + 0xc) = uVar35;\n        *(undefined4 *)(this + 0x10) = uVar34;\n        *(undefined4 *)(this + 0x14) = uVar30;\n        *(string **)param_1 = psVar31;\n        *(string **)this = psVar28;\n      }\n      else {\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar31;\n        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);\n      }" (if "if") (parenthesized_expression "(psVar27 == psVar29)" (( "(") (binary_expression "psVar27 == psVar29" (identifier "psVar27") (== "==") (identifier "psVar29")) () ")")) (compound_statement "{\n        uVar35 = *(undefined4 *)(param_1 + 0xc);\n        uVar34 = *(undefined4 *)(param_1 + 0x10);\n        uVar30 = *(undefined4 *)(param_1 + 0x14);\n        *(undefined4 *)psVar28 = *(undefined4 *)psVar27;\n        *(undefined4 *)(this + 0xc) = uVar35;\n        *(undefined4 *)(this + 0x10) = uVar34;\n        *(undefined4 *)(this + 0x14) = uVar30;\n        *(string **)param_1 = psVar31;\n        *(string **)this = psVar28;\n      }" ({ "{") (expression_statement "uVar35 = *(undefined4 *)(param_1 + 0xc);" (assignment_expression "uVar35 = *(undefined4 *)(param_1 + 0xc)" (identifier "uVar35") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0xc)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "uVar34 = *(undefined4 *)(param_1 + 0x10);" (assignment_expression "uVar34 = *(undefined4 *)(param_1 + 0x10)" (identifier "uVar34") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0x10)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "uVar30 = *(undefined4 *)(param_1 + 0x14);" (assignment_expression "uVar30 = *(undefined4 *)(param_1 + 0x14)" (identifier "uVar30") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0x14)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)psVar28 = *(undefined4 *)psVar27;" (assignment_expression "*(undefined4 *)psVar28 = *(undefined4 *)psVar27" (pointer_expression "*(undefined4 *)psVar28" (* "*") (cast_expression "(undefined4 *)psVar28" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "psVar28"))) (= "=") (pointer_expression "*(undefined4 *)psVar27" (* "*") (cast_expression "(undefined4 *)psVar27" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "psVar27")))) (; ";")) (expression_statement "*(undefined4 *)(this + 0xc) = uVar35;" (assignment_expression "*(undefined4 *)(this + 0xc) = uVar35" (pointer_expression "*(undefined4 *)(this + 0xc)" (* "*") (cast_expression "(undefined4 *)(this + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0xc)" (( "(") (binary_expression "this + 0xc" (identifier "this") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "uVar35")) (; ";")) (expression_statement "*(undefined4 *)(this + 0x10) = uVar34;" (assignment_expression "*(undefined4 *)(this + 0x10) = uVar34" (pointer_expression "*(undefined4 *)(this + 0x10)" (* "*") (cast_expression "(undefined4 *)(this + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x10)" (( "(") (binary_expression "this + 0x10" (identifier "this") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "uVar34")) (; ";")) (expression_statement "*(undefined4 *)(this + 0x14) = uVar30;" (assignment_expression "*(undefined4 *)(this + 0x14) = uVar30" (pointer_expression "*(undefined4 *)(this + 0x14)" (* "*") (cast_expression "(undefined4 *)(this + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x14)" (( "(") (binary_expression "this + 0x14" (identifier "this") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "uVar30")) (; ";")) (expression_statement "*(string **)param_1 = psVar31;" (assignment_expression "*(string **)param_1 = psVar31" (pointer_expression "*(string **)param_1" (* "*") (cast_expression "(string **)param_1" (( "(") (type_descriptor "string **" (type_identifier "string") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "param_1"))) (= "=") (identifier "psVar31")) (; ";")) (expression_statement "*(string **)this = psVar28;" (assignment_expression "*(string **)this = psVar28" (pointer_expression "*(string **)this" (* "*") (cast_expression "(string **)this" (( "(") (type_descriptor "string **" (type_identifier "string") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "this"))) (= "=") (identifier "psVar28")) (; ";")) (} "}")) (else_clause "else {\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar31;\n        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);\n      }" (else "else") (compound_statement "{\n        *(string **)this = psVar29;\n        *(string **)param_1 = psVar31;\n        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);\n      }" ({ "{") (expression_statement "*(string **)this = psVar29;" (assignment_expression "*(string **)this = psVar29" (pointer_expression "*(string **)this" (* "*") (cast_expression "(string **)this" (( "(") (type_descriptor "string **" (type_identifier "string") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "this"))) (= "=") (identifier "psVar29")) (; ";")) (expression_statement "*(string **)param_1 = psVar31;" (assignment_expression "*(string **)param_1 = psVar31" (pointer_expression "*(string **)param_1" (* "*") (cast_expression "(string **)param_1" (( "(") (type_descriptor "string **" (type_identifier "string") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "param_1"))) (= "=") (identifier "psVar31")) (; ";")) (expression_statement "*(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);" (assignment_expression "*(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8)" (pointer_expression "*(undefined4 *)(this + 8)" (* "*") (cast_expression "(undefined4 *)(this + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 8)" (( "(") (binary_expression "this + 8" (identifier "this") (+ "+") (number_literal "8")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(param_1 + 8)" (* "*") (cast_expression "(undefined4 *)(param_1 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (} "}")))) (expression_statement "*(undefined4 *)(param_1 + 8) = uVar33;" (assignment_expression "*(undefined4 *)(param_1 + 8) = uVar33" (pointer_expression "*(undefined4 *)(param_1 + 8)" (* "*") (cast_expression "(undefined4 *)(param_1 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "uVar33")) (; ";")) (expression_statement "uVar33 = *(undefined4 *)(this + 4);" (assignment_expression "uVar33 = *(undefined4 *)(this + 4)" (identifier "uVar33") (= "=") (pointer_expression "*(undefined4 *)(this + 4)" (* "*") (cast_expression "(undefined4 *)(this + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 4)" (( "(") (binary_expression "this + 4" (identifier "this") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);" (assignment_expression "*(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4)" (pointer_expression "*(undefined4 *)(this + 4)" (* "*") (cast_expression "(undefined4 *)(this + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 4)" (( "(") (binary_expression "this + 4" (identifier "this") (+ "+") (number_literal "4")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(param_1 + 4)" (* "*") (cast_expression "(undefined4 *)(param_1 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 4) = uVar33;" (assignment_expression "*(undefined4 *)(param_1 + 4) = uVar33" (pointer_expression "*(undefined4 *)(param_1 + 4)" (* "*") (cast_expression "(undefined4 *)(param_1 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "uVar33")) (; ";")) (} "}")))) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) (ms_call_modifier) (ERROR (identifier) (identifier)) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))) right: (number_literal))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (unary_expression argument: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (unary_expression argument: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (unary_expression argument: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (unary_expression argument: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (unary_expression argument: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (unary_expression argument: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (unary_expression argument: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (unary_expression argument: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (unary_expression argument: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (unary_expression argument: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (unary_expression argument: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (unary_expression argument: (identifier)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (unary_expression argument: (identifier)))))) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (identifier) right: (binary_expression left: (number_literal) right: (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (number_literal)))))) right: (binary_expression left: (number_literal) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (unary_expression argument: (identifier)))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (identifier) right: (binary_expression left: (number_literal) right: (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (number_literal)))))) right: (binary_expression left: (number_literal) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (identifier) right: (binary_expression left: (number_literal) right: (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (number_literal)))))) right: (binary_expression left: (number_literal) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (identifier) right: (binary_expression left: (number_literal) right: (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (number_literal)))))) right: (binary_expression left: (number_literal) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (identifier) right: (binary_expression left: (number_literal) right: (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (number_literal)))))) right: (binary_expression left: (number_literal) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (identifier) right: (binary_expression left: (number_literal) right: (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (number_literal)))))) right: (binary_expression left: (number_literal) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (identifier) right: (binary_expression left: (number_literal) right: (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (number_literal)))))) right: (binary_expression left: (number_literal) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (unary_expression argument: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (unary_expression argument: (identifier)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (identifier) right: (binary_expression left: (number_literal) right: (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (number_literal)))))) right: (binary_expression left: (number_literal) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))))))) (return_statement))))

/* std::string::MASKED(std::string&) */

void __thiscall std::string::MASKED(string *this,string *param_1)

{
  uint uVar1;
  uint uVar2;
  uint uVar3;
  uint uVar4;
  uint uVar5;
  int iVar6;
  int iVar7;
  int iVar8;
  int iVar9;
  int iVar10;
  int iVar11;
  uint uVar12;
  uint uVar13;
  uint uVar14;
  uint uVar15;
  uint uVar16;
  uint uVar17;
  uint uVar18;
  uint uVar19;
  uint uVar20;
  uint uVar21;
  uint uVar22;
  uint uVar23;
  uint uVar24;
  uint uVar25;
  uint uVar26;
  string *psVar27;
  string *psVar28;
  string *psVar29;
  undefined4 uVar30;
  string *psVar31;
  uint uVar32;
  uint in_t0;
  undefined4 uVar33;
  uint in_t1;
  undefined4 uVar34;
  uint in_t2;
  undefined4 uVar35;
  uint in_t3;
  uint in_t4;
  uint in_t5;
  
  if (this != param_1) {
    psVar31 = *(string **)this;
    psVar28 = this + 8;
    psVar29 = *(string **)param_1;
    psVar27 = param_1 + 8;
    if (psVar28 == psVar31) {
      if (psVar27 == psVar29) {
        uVar32 = *(uint *)(this + 4);
        if (uVar32 == 0) {
          if (*(int *)(param_1 + 4) == 0) {
            *(undefined4 *)(this + 4) = 0;
            *(undefined4 *)(param_1 + 4) = 0;
          }
          else {
            uVar34 = *(undefined4 *)(param_1 + 0xc);
            uVar30 = *(undefined4 *)(param_1 + 0x10);
            uVar33 = *(undefined4 *)(param_1 + 0x14);
            *(undefined4 *)psVar28 = *(undefined4 *)psVar27;
            *(undefined4 *)(this + 0xc) = uVar34;
            *(undefined4 *)(this + 0x10) = uVar30;
            *(undefined4 *)(this + 0x14) = uVar33;
            *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);
            *(undefined4 *)(param_1 + 4) = 0;
            **(undefined1 **)param_1 = 0;
          }
        }
        else if (*(int *)(param_1 + 4) == 0) {
          uVar34 = *(undefined4 *)(this + 0xc);
          uVar30 = *(undefined4 *)(this + 0x10);
          uVar33 = *(undefined4 *)(this + 0x14);
          *(undefined4 *)psVar27 = *(undefined4 *)psVar28;
          *(undefined4 *)(param_1 + 0xc) = uVar34;
          *(undefined4 *)(param_1 + 0x10) = uVar30;
          *(undefined4 *)(param_1 + 0x14) = uVar33;
          *(undefined4 *)(param_1 + 4) = *(undefined4 *)(this + 4);
          *(undefined4 *)(this + 4) = 0;
          **(undefined1 **)this = 0;
        }
        else {
          uVar12 = (uint)psVar28 & 3;
          uVar20 = (uint)(this + 0xc) & 3;
          iVar6 = *(int *)(this + 0xc + -uVar20);
          uVar1 = (uint)(param_1 + 8) & 3;
          iVar7 = *(int *)(param_1 + 8 + -uVar1);
          uVar2 = (uint)(param_1 + 0xc) & 3;
          iVar8 = *(int *)(param_1 + 0xc + -uVar2);
          uVar3 = (uint)(param_1 + 0x10) & 3;
          iVar9 = *(int *)(param_1 + 0x10 + -uVar3);
          uVar33 = *(undefined4 *)(param_1 + 0x14);
          uVar4 = (uint)(this + 0x10) & 3;
          iVar10 = *(int *)(this + 0x10 + -uVar4);
          uVar5 = (uint)(this + 0x14) & 3;
          iVar11 = *(int *)(this + 0x14 + -uVar5);
          uVar13 = (uint)(this + 0xb) & 3;
          uVar14 = (uint)(this + 0xf) & 3;
          uVar21 = *(uint *)(this + 0xf + -uVar14);
          uVar15 = (uint)(param_1 + 0xb) & 3;
          uVar22 = *(uint *)(param_1 + 0xb + -uVar15);
          uVar16 = (uint)(param_1 + 0xf) & 3;
          uVar23 = *(uint *)(param_1 + 0xf + -uVar16);
          uVar17 = (uint)(param_1 + 0x13) & 3;
          uVar24 = *(uint *)(param_1 + 0x13 + -uVar17);
          uVar18 = (uint)(this + 0x13) & 3;
          uVar25 = *(uint *)(this + 0x13 + -uVar18);
          uVar19 = (uint)(this + 0x17) & 3;
          uVar26 = *(uint *)(this + 0x17 + -uVar19);
          *(uint *)psVar27 =
               (*(int *)(psVar28 + -uVar12) << uVar12 * 8 | in_t5 & 0xffffffffU >> (4 - uVar12) * 8)
               & -1 << (uVar13 + 1) * 8 | *(uint *)(this + 0xb + -uVar13) >> (3 - uVar13) * 8;
          *(uint *)(param_1 + 0xc) =
               (iVar6 << uVar20 * 8 | in_t4 & 0xffffffffU >> (4 - uVar20) * 8) &
               -1 << (uVar14 + 1) * 8 | uVar21 >> (3 - uVar14) * 8;
          *(uint *)(param_1 + 0x10) =
               (iVar10 << uVar4 * 8 | in_t3 & 0xffffffffU >> (4 - uVar4) * 8) &
               -1 << (uVar18 + 1) * 8 | uVar25 >> (3 - uVar18) * 8;
          *(uint *)(param_1 + 0x14) =
               (iVar11 << uVar5 * 8 | in_t2 & 0xffffffffU >> (4 - uVar5) * 8) &
               -1 << (uVar19 + 1) * 8 | uVar26 >> (3 - uVar19) * 8;
          *(uint *)(this + 8) =
               (iVar7 << uVar1 * 8 | in_t1 & 0xffffffffU >> (4 - uVar1) * 8) &
               -1 << (uVar15 + 1) * 8 | uVar22 >> (3 - uVar15) * 8;
          *(uint *)(this + 0xc) =
               (iVar8 << uVar2 * 8 | in_t0 & 0xffffffffU >> (4 - uVar2) * 8) &
               -1 << (uVar16 + 1) * 8 | uVar23 >> (3 - uVar16) * 8;
          *(uint *)(this + 0x10) =
               (iVar9 << uVar3 * 8 | uVar32 & 0xffffffffU >> (4 - uVar3) * 8) &
               -1 << (uVar17 + 1) * 8 | uVar24 >> (3 - uVar17) * 8;
          *(undefined4 *)(this + 0x14) = uVar33;
          uVar33 = *(undefined4 *)(this + 4);
          *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);
          *(undefined4 *)(param_1 + 4) = uVar33;
        }
      }
      else {
        uVar30 = *(undefined4 *)(this + 0xc);
        uVar32 = (uint)(this + 0x10) & 3;
        iVar6 = *(int *)(this + 0x10 + -uVar32);
        uVar33 = *(undefined4 *)(this + 0x14);
        uVar34 = *(undefined4 *)(param_1 + 8);
        uVar12 = (uint)(this + 0x13) & 3;
        uVar20 = *(uint *)(this + 0x13 + -uVar12);
        *(undefined4 *)psVar27 = *(undefined4 *)psVar28;
        *(undefined4 *)(param_1 + 0xc) = uVar30;
        *(uint *)(param_1 + 0x10) =
             (iVar6 << uVar32 * 8 | in_t0 & 0xffffffffU >> (4 - uVar32) * 8) &
             -1 << (uVar12 + 1) * 8 | uVar20 >> (3 - uVar12) * 8;
        *(undefined4 *)(param_1 + 0x14) = uVar33;
        *(string **)this = psVar29;
        *(string **)param_1 = psVar27;
        *(undefined4 *)(this + 8) = uVar34;
        uVar33 = *(undefined4 *)(this + 4);
        *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);
        *(undefined4 *)(param_1 + 4) = uVar33;
      }
    }
    else {
      uVar33 = *(undefined4 *)(this + 8);
      if (psVar27 == psVar29) {
        uVar35 = *(undefined4 *)(param_1 + 0xc);
        uVar34 = *(undefined4 *)(param_1 + 0x10);
        uVar30 = *(undefined4 *)(param_1 + 0x14);
        *(undefined4 *)psVar28 = *(undefined4 *)psVar27;
        *(undefined4 *)(this + 0xc) = uVar35;
        *(undefined4 *)(this + 0x10) = uVar34;
        *(undefined4 *)(this + 0x14) = uVar30;
        *(string **)param_1 = psVar31;
        *(string **)this = psVar28;
      }
      else {
        *(string **)this = psVar29;
        *(string **)param_1 = psVar31;
        *(undefined4 *)(this + 8) = *(undefined4 *)(param_1 + 8);
      }
      *(undefined4 *)(param_1 + 8) = uVar33;
      uVar33 = *(undefined4 *)(this + 4);
      *(undefined4 *)(this + 4) = *(undefined4 *)(param_1 + 4);
      *(undefined4 *)(param_1 + 4) = uVar33;
    }
  }
  return;
}

