
void __gmpn_mulmid_basecase(long param_1,long param_2,long param_3,ulong *param_4,ulong param_5)

{
  long *plVar1;
  undefined1 auVar2 [16];
  undefined1 auVar3 [16];
  undefined1 auVar4 [16];
  undefined1 auVar5 [16];
  undefined1 auVar6 [16];
  undefined1 auVar7 [16];
  undefined1 auVar8 [16];
  undefined1 auVar9 [16];
  undefined1 auVar10 [16];
  undefined1 auVar11 [16];
  undefined1 auVar12 [16];
  undefined1 auVar13 [16];
  undefined1 auVar14 [16];
  undefined1 auVar15 [16];
  undefined1 auVar16 [16];
  undefined1 auVar17 [16];
  undefined1 auVar18 [16];
  undefined1 auVar19 [16];
  undefined1 auVar20 [16];
  undefined1 auVar21 [16];
  undefined1 auVar22 [16];
  undefined1 auVar23 [16];
  undefined1 auVar24 [16];
  undefined1 auVar25 [16];
  undefined1 auVar26 [16];
  undefined1 auVar27 [16];
  undefined1 auVar28 [16];
  undefined1 auVar29 [16];
  undefined1 auVar30 [16];
  undefined1 auVar31 [16];
  undefined1 auVar32 [16];
  undefined1 auVar33 [16];
  undefined1 auVar34 [16];
  undefined1 auVar35 [16];
  undefined1 auVar36 [16];
  undefined1 auVar37 [16];
  undefined1 auVar38 [16];
  undefined1 auVar39 [16];
  undefined1 auVar40 [16];
  undefined1 auVar41 [16];
  undefined1 auVar42 [16];
  undefined1 auVar43 [16];
  undefined1 auVar44 [16];
  undefined1 auVar45 [16];
  undefined1 auVar46 [16];
  ulong uVar47;
  ulong uVar48;
  ulong uVar49;
  ulong uVar50;
  uint uVar51;
  ulong uVar52;
  ulong uVar53;
  long lVar54;
  ulong *puVar55;
  ulong uVar56;
  ulong uVar57;
  code *UNRECOVERED_JUMPTABLE;
  bool bVar58;
  bool bVar59;
  
  uVar56 = (param_3 + 1) - param_5;
  plVar1 = (long *)(param_1 + uVar56 * 8);
  if (uVar56 < 4) {
    uVar52 = 0;
    uVar48 = 0;
    lVar54 = 0;
    uVar51 = (uint)param_5 & 3;
    if ((param_5 & 3) == 0) {
      UNRECOVERED_JUMPTABLE = (code *)0x134e0c;
      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);
      puVar55 = param_4;
      goto LAB_00134e5f;
    }
    if (uVar51 < 2) {
      puVar55 = param_4 + 1;
      param_5 = param_5 + 3;
      UNRECOVERED_JUMPTABLE = (code *)0x134e28;
      uVar57 = *param_4;
      goto LAB_00134e9a;
    }
    if (uVar51 == 2) {
      puVar55 = param_4 + -2;
      param_5 = param_5 + 2;
      UNRECOVERED_JUMPTABLE = (code *)0x134e43;
      uVar57 = *param_4;
      goto LAB_00134e83;
    }
    puVar55 = param_4 + -1;
    param_5 = param_5 + 1;
    UNRECOVERED_JUMPTABLE = (code *)0x134e6c;
    while( true ) {
      auVar17._8_8_ = 0;
      auVar17._0_8_ = *(ulong *)(param_2 + -0x10 + param_5 * 8);
      auVar35._8_8_ = 0;
      auVar35._0_8_ = puVar55[1];
      uVar47 = SUB168(auVar17 * auVar35,8);
      uVar57 = SUB168(auVar17 * auVar35,0);
      bVar58 = CARRY8(uVar52,uVar57);
      uVar52 = uVar52 + uVar57;
      uVar57 = puVar55[2];
      uVar50 = (ulong)bVar58;
      bVar58 = CARRY8(uVar48,uVar47);
      uVar47 = uVar48 + uVar47;
      uVar48 = uVar47 + uVar50;
      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));
LAB_00134e83:
      auVar18._8_8_ = 0;
      auVar18._0_8_ = uVar57;
      auVar36._8_8_ = 0;
      auVar36._0_8_ = *(ulong *)(param_2 + -0x18 + param_5 * 8);
      uVar47 = SUB168(auVar18 * auVar36,8);
      uVar57 = SUB168(auVar18 * auVar36,0);
      bVar58 = CARRY8(uVar52,uVar57);
      uVar52 = uVar52 + uVar57;
      uVar57 = puVar55[3];
      uVar50 = (ulong)bVar58;
      bVar58 = CARRY8(uVar48,uVar47);
      uVar47 = uVar48 + uVar47;
      uVar48 = uVar47 + uVar50;
      puVar55 = puVar55 + 4;
      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));
LAB_00134e9a:
      auVar19._8_8_ = 0;
      auVar19._0_8_ = uVar57;
      auVar37._8_8_ = 0;
      auVar37._0_8_ = *(ulong *)(param_2 + -0x20 + param_5 * 8);
      uVar50 = SUB168(auVar19 * auVar37,8);
      uVar57 = SUB168(auVar19 * auVar37,0);
      param_5 = param_5 - 4;
      if (param_5 == 0) break;
      bVar58 = CARRY8(uVar52,uVar57);
      uVar52 = uVar52 + uVar57;
      bVar59 = CARRY8(uVar48,uVar50);
      uVar50 = uVar48 + uVar50;
      uVar48 = uVar50 + bVar58;
      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);
      lVar54 = lVar54 + (ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58));
LAB_00134e5f:
      auVar16._8_8_ = 0;
      auVar16._0_8_ = uVar57;
      auVar34._8_8_ = 0;
      auVar34._0_8_ = *puVar55;
      uVar50 = SUB168(auVar16 * auVar34,8);
      uVar57 = SUB168(auVar16 * auVar34,0);
      bVar58 = CARRY8(uVar52,uVar57);
      uVar52 = uVar52 + uVar57;
      uVar57 = (ulong)bVar58;
      bVar58 = CARRY8(uVar48,uVar50);
      uVar50 = uVar48 + uVar50;
      uVar48 = uVar50 + uVar57;
      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar50,uVar57));
    }
    lVar54 = lVar54 + (ulong)(CARRY8(uVar48,uVar50) ||
                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57)));
    plVar1[-uVar56] = uVar52 + uVar57;
    if (uVar56 != 1) {
                    /* WARNING: Could not recover jumptable at 0x00134eca. Too many branches */
                    /* WARNING: Treating indirect jump as call */
      (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + 8,uVar50,lVar54);
      return;
    }
    *plVar1 = uVar48 + uVar50 + (ulong)CARRY8(uVar52,uVar57);
    plVar1[1] = lVar54;
  }
  else {
    param_2 = param_2 + param_3 * 8;
    if ((param_5 & 1) == 0) {
      uVar48 = *param_4;
      uVar52 = param_4[1];
      auVar7._8_8_ = 0;
      auVar7._0_8_ = *(ulong *)(param_2 + -8 + uVar56 * -8);
      auVar25._8_8_ = 0;
      auVar25._0_8_ = uVar52;
      auVar7 = auVar7 * auVar25;
      uVar57 = -uVar56 & 0xfffffffffffffffc;
      uVar51 = (uint)uVar56 & 3;
      if ((uVar56 & 3) == 0) {
        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;
        goto LAB_00134b8e;
      }
      if (uVar51 < 2) {
        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;
        uVar56 = uVar57;
        goto LAB_00134c0d;
      }
      if (uVar51 == 2) {
        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);
        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;
        goto LAB_00134be9;
      }
      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;
      while( true ) {
        auVar11._8_8_ = 0;
        auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);
        auVar29._8_8_ = 0;
        auVar29._0_8_ = uVar48;
        uVar49 = SUB168(auVar11 * auVar29,8);
        uVar47 = SUB168(auVar11 * auVar29,0);
        uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);
        uVar50 = auVar7._8_8_ + uVar49;
        auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);
        auVar43._0_8_ = uVar50 + uVar56;
        auVar43._9_7_ = 0;
        uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);
        plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;
        auVar12._8_8_ = 0;
        auVar12._0_8_ = uVar56;
        auVar30._8_8_ = 0;
        auVar30._0_8_ = uVar52;
        auVar7 = auVar12 * auVar30 + auVar43;
        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);
LAB_00134be9:
        uVar53 = auVar7._0_8_;
        auVar13._8_8_ = 0;
        auVar13._0_8_ = uVar56;
        auVar31._8_8_ = 0;
        auVar31._0_8_ = uVar48;
        uVar49 = SUB168(auVar13 * auVar31,8);
        uVar47 = SUB168(auVar13 * auVar31,0);
        uVar56 = (ulong)CARRY8(uVar53,uVar47);
        uVar50 = auVar7._8_8_ + uVar49;
        auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);
        auVar44._0_8_ = uVar50 + uVar56;
        auVar44._9_7_ = 0;
        auVar14._8_8_ = 0;
        auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);
        auVar32._8_8_ = 0;
        auVar32._0_8_ = uVar52;
        auVar7 = auVar14 * auVar32 + auVar44;
        plVar1[uVar57 + 2] = uVar53 + uVar47;
        uVar56 = uVar57;
LAB_00134c0d:
        auVar15._8_8_ = 0;
        auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);
        auVar33._8_8_ = 0;
        auVar33._0_8_ = uVar48;
        uVar49 = SUB168(auVar15 * auVar33,8);
        uVar47 = SUB168(auVar15 * auVar33,0);
        uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);
        uVar50 = auVar7._8_8_ + uVar49;
        bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);
        lVar54 = uVar50 + uVar57;
        auVar41[8] = bVar58;
        auVar41._0_8_ = lVar54;
        auVar41._9_7_ = 0;
        uVar57 = uVar56 + 4;
        plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;
        if (uVar57 == 0) break;
        auVar8._8_8_ = 0;
        auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);
        auVar26._8_8_ = 0;
        auVar26._0_8_ = uVar52;
        auVar7 = auVar8 * auVar26 + auVar41;
LAB_00134b8e:
        uVar53 = auVar7._0_8_;
        auVar9._8_8_ = 0;
        auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);
        auVar27._8_8_ = 0;
        auVar27._0_8_ = uVar48;
        uVar49 = SUB168(auVar9 * auVar27,8);
        uVar47 = SUB168(auVar9 * auVar27,0);
        uVar56 = (ulong)CARRY8(uVar53,uVar47);
        uVar50 = auVar7._8_8_ + uVar49;
        auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);
        auVar42._0_8_ = uVar50 + uVar56;
        auVar42._9_7_ = 0;
        auVar10._8_8_ = 0;
        auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);
        auVar28._8_8_ = 0;
        auVar28._0_8_ = uVar52;
        auVar7 = auVar10 * auVar28 + auVar42;
        plVar1[uVar57] = uVar53 + uVar47;
      }
      *plVar1 = lVar54;
      plVar1[1] = (ulong)bVar58;
      if (param_5 != 2) {
                    /* WARNING: Could not recover jumptable at 0x00134c50. Too many branches */
                    /* WARNING: Treating indirect jump as call */
        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);
        return;
      }
    }
    else {
      uVar48 = *param_4;
      auVar2._8_8_ = 0;
      auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8);
      auVar20._8_8_ = 0;
      auVar20._0_8_ = uVar48;
      auVar2 = auVar2 * auVar20;
      uVar57 = -uVar56 & 0xfffffffffffffffc;
      uVar51 = (uint)uVar56 & 3;
      uVar52 = (ulong)uVar51;
      if ((uVar56 & 3) == 0) {
        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;
        goto LAB_00134a72;
      }
      if (uVar51 < 2) {
        uVar57 = uVar57 + 4;
        uVar56 = *(ulong *)(param_2 + uVar57 * 8);
        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;
        goto LAB_00134a5f;
      }
      if (uVar51 == 2) {
        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);
        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;
        uVar52 = uVar57;
        goto LAB_00134aa7;
      }
      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;
      while( true ) {
        auVar45._8_8_ = 0;
        auVar45._0_8_ = auVar2._8_8_;
        auVar5._8_8_ = 0;
        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);
        auVar23._8_8_ = 0;
        auVar23._0_8_ = uVar48;
        plVar1[uVar57 + 1] = auVar2._0_8_;
        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);
        auVar2 = auVar5 * auVar23 + auVar45;
        uVar52 = uVar57;
LAB_00134aa7:
        auVar46._8_8_ = 0;
        auVar46._0_8_ = auVar2._8_8_;
        auVar40._8_8_ = 0;
        auVar40._0_8_ = auVar2._8_8_;
        auVar6._8_8_ = 0;
        auVar6._0_8_ = uVar56;
        auVar24._8_8_ = 0;
        auVar24._0_8_ = uVar48;
        uVar57 = uVar52 + 4;
        if (-1 < (long)uVar57) break;
        plVar1[uVar52 + 2] = auVar2._0_8_;
        auVar2 = auVar6 * auVar24 + auVar40;
        uVar56 = *(ulong *)(param_2 + uVar57 * 8);
LAB_00134a5f:
        auVar38._8_8_ = 0;
        auVar38._0_8_ = auVar2._8_8_;
        uVar52 = 0;
        auVar3._8_8_ = 0;
        auVar3._0_8_ = uVar56;
        auVar21._8_8_ = 0;
        auVar21._0_8_ = uVar48;
        plVar1[uVar57 - 1] = auVar2._0_8_;
        auVar2 = auVar3 * auVar21 + auVar38;
LAB_00134a72:
        auVar39._8_8_ = uVar52;
        auVar39._0_8_ = auVar2._8_8_;
        auVar4._8_8_ = 0;
        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);
        auVar22._8_8_ = 0;
        auVar22._0_8_ = uVar48;
        plVar1[uVar57] = auVar2._0_8_;
        auVar2 = auVar4 * auVar22 + auVar39;
      }
      plVar1[-2] = auVar2._0_8_;
      auVar46 = auVar6 * auVar24 + auVar46;
      plVar1[-1] = auVar46._0_8_;
      plVar1[1] = 0;
      *plVar1 = auVar46._8_8_;
      if (param_5 != 1) {
                    /* WARNING: Could not recover jumptable at 0x00134ae0. Too many branches */
                    /* WARNING: Treating indirect jump as call */
        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);
        return;
      }
    }
  }
  return;
}



void __gmpn_mulmid_basecase(long param_1,long param_2,long param_3,ulong *param_4,ulong param_5)

{
  long *plVar1;
  undefined1 auVar2 [16];
  undefined1 auVar3 [16];
  undefined1 auVar4 [16];
  undefined1 auVar5 [16];
  undefined1 auVar6 [16];
  undefined1 auVar7 [16];
  undefined1 auVar8 [16];
  undefined1 auVar9 [16];
  undefined1 auVar10 [16];
  undefined1 auVar11 [16];
  undefined1 auVar12 [16];
  undefined1 auVar13 [16];
  undefined1 auVar14 [16];
  undefined1 auVar15 [16];
  undefined1 auVar16 [16];
  undefined1 auVar17 [16];
  undefined1 auVar18 [16];
  undefined1 auVar19 [16];
  undefined1 auVar20 [16];
  undefined1 auVar21 [16];
  undefined1 auVar22 [16];
  undefined1 auVar23 [16];
  undefined1 auVar24 [16];
  undefined1 auVar25 [16];
  undefined1 auVar26 [16];
  undefined1 auVar27 [16];
  undefined1 auVar28 [16];
  undefined1 auVar29 [16];
  undefined1 auVar30 [16];
  undefined1 auVar31 [16];
  undefined1 auVar32 [16];
  undefined1 auVar33 [16];
  undefined1 auVar34 [16];
  undefined1 auVar35 [16];
  undefined1 auVar36 [16];
  undefined1 auVar37 [16];
  undefined1 auVar38 [16];
  undefined1 auVar39 [16];
  undefined1 auVar40 [16];
  undefined1 auVar41 [16];
  undefined1 auVar42 [16];
  undefined1 auVar43 [16];
  undefined1 auVar44 [16];
  undefined1 auVar45 [16];
  undefined1 auVar46 [16];
  ulong uVar47;
  ulong uVar48;
  ulong uVar49;
  ulong uVar50;
  uint uVar51;
  ulong uVar52;
  ulong uVar53;
  long lVar54;
  ulong *puVar55;
  ulong uVar56;
  ulong uVar57;
  code *UNRECOVERED_JUMPTABLE;
  bool bVar58;
  bool bVar59;
  
  uVar56 = (param_3 + 1) - param_5;
  plVar1 = (long *)(param_1 + uVar56 * 8);
  if (uVar56 < 4) {
    uVar52 = 0;
    uVar48 = 0;
    lVar54 = 0;
    uVar51 = (uint)param_5 & 3;
    if ((param_5 & 3) == 0) {
      UNRECOVERED_JUMPTABLE = (code *)0x134e0c;
      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);
      puVar55 = param_4;
      goto LAB_00134e5f;
    }
    if (uVar51 < 2) {
      puVar55 = param_4 + 1;
      param_5 = param_5 + 3;
      UNRECOVERED_JUMPTABLE = (code *)0x134e28;
      uVar57 = *param_4;
      goto LAB_00134e9a;
    }
    if (uVar51 == 2) {
      puVar55 = param_4 + -2;
      param_5 = param_5 + 2;
      UNRECOVERED_JUMPTABLE = (code *)0x134e43;
      uVar57 = *param_4;
      goto LAB_00134e83;
    }
    puVar55 = param_4 + -1;
    param_5 = param_5 + 1;
    UNRECOVERED_JUMPTABLE = (code *)0x134e6c;
    while( true ) {
      auVar17._8_8_ = 0;
      auVar17._0_8_ = *(ulong *)(param_2 + -0x10 + param_5 * 8);
      auVar35._8_8_ = 0;
      auVar35._0_8_ = puVar55[1];
      uVar47 = SUB168(auVar17 * auVar35,8);
      uVar57 = SUB168(auVar17 * auVar35,0);
      bVar58 = CARRY8(uVar52,uVar57);
      uVar52 = uVar52 + uVar57;
      uVar57 = puVar55[2];
      uVar50 = (ulong)bVar58;
      bVar58 = CARRY8(uVar48,uVar47);
      uVar47 = uVar48 + uVar47;
      uVar48 = uVar47 + uVar50;
      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));
LAB_00134e83:
      auVar18._8_8_ = 0;
      auVar18._0_8_ = uVar57;
      auVar36._8_8_ = 0;
      auVar36._0_8_ = *(ulong *)(param_2 + -0x18 + param_5 * 8);
      uVar47 = SUB168(auVar18 * auVar36,8);
      uVar57 = SUB168(auVar18 * auVar36,0);
      bVar58 = CARRY8(uVar52,uVar57);
      uVar52 = uVar52 + uVar57;
      uVar57 = puVar55[3];
      uVar50 = (ulong)bVar58;
      bVar58 = CARRY8(uVar48,uVar47);
      uVar47 = uVar48 + uVar47;
      uVar48 = uVar47 + uVar50;
      puVar55 = puVar55 + 4;
      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));
LAB_00134e9a:
      auVar19._8_8_ = 0;
      auVar19._0_8_ = uVar57;
      auVar37._8_8_ = 0;
      auVar37._0_8_ = *(ulong *)(param_2 + -0x20 + param_5 * 8);
      uVar50 = SUB168(auVar19 * auVar37,8);
      uVar57 = SUB168(auVar19 * auVar37,0);
      param_5 = param_5 - 4;
      if (param_5 == 0) break;
      bVar58 = CARRY8(uVar52,uVar57);
      uVar52 = uVar52 + uVar57;
      bVar59 = CARRY8(uVar48,uVar50);
      uVar50 = uVar48 + uVar50;
      uVar48 = uVar50 + bVar58;
      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);
      lVar54 = lVar54 + (ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58));
LAB_00134e5f:
      auVar16._8_8_ = 0;
      auVar16._0_8_ = uVar57;
      auVar34._8_8_ = 0;
      auVar34._0_8_ = *puVar55;
      uVar50 = SUB168(auVar16 * auVar34,8);
      uVar57 = SUB168(auVar16 * auVar34,0);
      bVar58 = CARRY8(uVar52,uVar57);
      uVar52 = uVar52 + uVar57;
      uVar57 = (ulong)bVar58;
      bVar58 = CARRY8(uVar48,uVar50);
      uVar50 = uVar48 + uVar50;
      uVar48 = uVar50 + uVar57;
      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar50,uVar57));
    }
    lVar54 = lVar54 + (ulong)(CARRY8(uVar48,uVar50) ||
                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57)));
    plVar1[-uVar56] = uVar52 + uVar57;
    if (uVar56 != 1) {
                    /* WARNING: Could not recover jumptable at 0x00134eca. Too many branches */
                    /* WARNING: Treating indirect jump as call */
      (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + 8,uVar50,lVar54);
      return;
    }
    *plVar1 = uVar48 + uVar50 + (ulong)CARRY8(uVar52,uVar57);
    plVar1[1] = lVar54;
  }
  else {
    param_2 = param_2 + param_3 * 8;
    if ((param_5 & 1) == 0) {
      uVar48 = *param_4;
      uVar52 = param_4[1];
      auVar7._8_8_ = 0;
      auVar7._0_8_ = *(ulong *)(param_2 + -8 + uVar56 * -8);
      auVar25._8_8_ = 0;
      auVar25._0_8_ = uVar52;
      auVar7 = auVar7 * auVar25;
      uVar57 = -uVar56 & 0xfffffffffffffffc;
      uVar51 = (uint)uVar56 & 3;
      if ((uVar56 & 3) == 0) {
        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;
        goto LAB_00134b8e;
      }
      if (uVar51 < 2) {
        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;
        uVar56 = uVar57;
        goto LAB_00134c0d;
      }
      if (uVar51 == 2) {
        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);
        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;
        goto LAB_00134be9;
      }
      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;
      while( true ) {
        auVar11._8_8_ = 0;
        auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);
        auVar29._8_8_ = 0;
        auVar29._0_8_ = uVar48;
        uVar49 = SUB168(auVar11 * auVar29,8);
        uVar47 = SUB168(auVar11 * auVar29,0);
        uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);
        uVar50 = auVar7._8_8_ + uVar49;
        auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);
        auVar43._0_8_ = uVar50 + uVar56;
        auVar43._9_7_ = 0;
        uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);
        plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;
        auVar12._8_8_ = 0;
        auVar12._0_8_ = uVar56;
        auVar30._8_8_ = 0;
        auVar30._0_8_ = uVar52;
        auVar7 = auVar12 * auVar30 + auVar43;
        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);
LAB_00134be9:
        uVar53 = auVar7._0_8_;
        auVar13._8_8_ = 0;
        auVar13._0_8_ = uVar56;
        auVar31._8_8_ = 0;
        auVar31._0_8_ = uVar48;
        uVar49 = SUB168(auVar13 * auVar31,8);
        uVar47 = SUB168(auVar13 * auVar31,0);
        uVar56 = (ulong)CARRY8(uVar53,uVar47);
        uVar50 = auVar7._8_8_ + uVar49;
        auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);
        auVar44._0_8_ = uVar50 + uVar56;
        auVar44._9_7_ = 0;
        auVar14._8_8_ = 0;
        auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);
        auVar32._8_8_ = 0;
        auVar32._0_8_ = uVar52;
        auVar7 = auVar14 * auVar32 + auVar44;
        plVar1[uVar57 + 2] = uVar53 + uVar47;
        uVar56 = uVar57;
LAB_00134c0d:
        auVar15._8_8_ = 0;
        auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);
        auVar33._8_8_ = 0;
        auVar33._0_8_ = uVar48;
        uVar49 = SUB168(auVar15 * auVar33,8);
        uVar47 = SUB168(auVar15 * auVar33,0);
        uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);
        uVar50 = auVar7._8_8_ + uVar49;
        bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);
        lVar54 = uVar50 + uVar57;
        auVar41[8] = bVar58;
        auVar41._0_8_ = lVar54;
        auVar41._9_7_ = 0;
        uVar57 = uVar56 + 4;
        plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;
        if (uVar57 == 0) break;
        auVar8._8_8_ = 0;
        auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);
        auVar26._8_8_ = 0;
        auVar26._0_8_ = uVar52;
        auVar7 = auVar8 * auVar26 + auVar41;
LAB_00134b8e:
        uVar53 = auVar7._0_8_;
        auVar9._8_8_ = 0;
        auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);
        auVar27._8_8_ = 0;
        auVar27._0_8_ = uVar48;
        uVar49 = SUB168(auVar9 * auVar27,8);
        uVar47 = SUB168(auVar9 * auVar27,0);
        uVar56 = (ulong)CARRY8(uVar53,uVar47);
        uVar50 = auVar7._8_8_ + uVar49;
        auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);
        auVar42._0_8_ = uVar50 + uVar56;
        auVar42._9_7_ = 0;
        auVar10._8_8_ = 0;
        auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);
        auVar28._8_8_ = 0;
        auVar28._0_8_ = uVar52;
        auVar7 = auVar10 * auVar28 + auVar42;
        plVar1[uVar57] = uVar53 + uVar47;
      }
      *plVar1 = lVar54;
      plVar1[1] = (ulong)bVar58;
      if (param_5 != 2) {
                    /* WARNING: Could not recover jumptable at 0x00134c50. Too many branches */
                    /* WARNING: Treating indirect jump as call */
        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);
        return;
      }
    }
    else {
      uVar48 = *param_4;
      auVar2._8_8_ = 0;
      auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8);
      auVar20._8_8_ = 0;
      auVar20._0_8_ = uVar48;
      auVar2 = auVar2 * auVar20;
      uVar57 = -uVar56 & 0xfffffffffffffffc;
      uVar51 = (uint)uVar56 & 3;
      uVar52 = (ulong)uVar51;
      if ((uVar56 & 3) == 0) {
        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;
        goto LAB_00134a72;
      }
      if (uVar51 < 2) {
        uVar57 = uVar57 + 4;
        uVar56 = *(ulong *)(param_2 + uVar57 * 8);
        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;
        goto LAB_00134a5f;
      }
      if (uVar51 == 2) {
        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);
        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;
        uVar52 = uVar57;
        goto LAB_00134aa7;
      }
      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;
      while( true ) {
        auVar45._8_8_ = 0;
        auVar45._0_8_ = auVar2._8_8_;
        auVar5._8_8_ = 0;
        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);
        auVar23._8_8_ = 0;
        auVar23._0_8_ = uVar48;
        plVar1[uVar57 + 1] = auVar2._0_8_;
        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);
        auVar2 = auVar5 * auVar23 + auVar45;
        uVar52 = uVar57;
LAB_00134aa7:
        auVar46._8_8_ = 0;
        auVar46._0_8_ = auVar2._8_8_;
        auVar40._8_8_ = 0;
        auVar40._0_8_ = auVar2._8_8_;
        auVar6._8_8_ = 0;
        auVar6._0_8_ = uVar56;
        auVar24._8_8_ = 0;
        auVar24._0_8_ = uVar48;
        uVar57 = uVar52 + 4;
        if (-1 < (long)uVar57) break;
        plVar1[uVar52 + 2] = auVar2._0_8_;
        auVar2 = auVar6 * auVar24 + auVar40;
        uVar56 = *(ulong *)(param_2 + uVar57 * 8);
LAB_00134a5f:
        auVar38._8_8_ = 0;
        auVar38._0_8_ = auVar2._8_8_;
        uVar52 = 0;
        auVar3._8_8_ = 0;
        auVar3._0_8_ = uVar56;
        auVar21._8_8_ = 0;
        auVar21._0_8_ = uVar48;
        plVar1[uVar57 - 1] = auVar2._0_8_;
        auVar2 = auVar3 * auVar21 + auVar38;
LAB_00134a72:
        auVar39._8_8_ = uVar52;
        auVar39._0_8_ = auVar2._8_8_;
        auVar4._8_8_ = 0;
        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);
        auVar22._8_8_ = 0;
        auVar22._0_8_ = uVar48;
        plVar1[uVar57] = auVar2._0_8_;
        auVar2 = auVar4 * auVar22 + auVar39;
      }
      plVar1[-2] = auVar2._0_8_;
      auVar46 = auVar6 * auVar24 + auVar46;
      plVar1[-1] = auVar46._0_8_;
      plVar1[1] = 0;
      *plVar1 = auVar46._8_8_;
      if (param_5 != 1) {
                    /* WARNING: Could not recover jumptable at 0x00134ae0. Too many branches */
                    /* WARNING: Treating indirect jump as call */
        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);
        return;
      }
    }
  }
  return;
}


PUSH RBX
PUSH RBP
PUSH R12
PUSH R13
PUSH R14
PUSH R15
MOV R15,RCX
LEA R13,[RDX + 0x1]
SUB R13,R8
LEA RDI,[RDI + R13*0x8]
CMP R13,0x4
JC 0x00134dd0
LEA RSI,[RSI + RDX*0x8]
TEST R8,0x1
JZ 0x00134af0
MOV EBX,R13D
NEG R13
MOV RAX,qword ptr [RSI + R13*0x8]
MOV R12,qword ptr [R15]
MUL R12
AND R13,-0x4
MOV R11,R13
AND EBX,0x3
JZ 0x00134a00
CMP EBX,0x2
JC 0x00134a10
JZ 0x00134a30
MOV R10,RAX
MOV RBX,RDX
LEA R14,[0x134cc0]
JMP 0x00134a84
MOV RBP,RAX
MOV R10,RDX
LEA R14,[0x134c60]
JMP 0x00134a72
ADD R11,0x4
MOV RCX,RAX
MOV RBP,RDX
MOV R10D,0x0
MOV RAX,qword ptr [RSI + R11*0x8]
LEA R14,[0x134c80]
JMP 0x00134a5f
MOV RBX,RAX
MOV RCX,RDX
MOV RAX,qword ptr [RSI + R11*0x8 + 0x18]
MOV EBP,0x0
MOV R10D,0x0
LEA R14,[0x134ca0]
JMP 0x00134aa7
MOV qword ptr [RDI + R11*0x8 + -0x10],RBX
ADD RCX,RAX
MOV RAX,qword ptr [RSI + R11*0x8]
ADC RBP,RDX
MOV EBX,0x0
MUL R12
MOV qword ptr [RDI + R11*0x8 + -0x8],RCX
ADD RBP,RAX
ADC R10,RDX
MOV RAX,qword ptr [RSI + R11*0x8 + 0x8]
MUL R12
MOV qword ptr [RDI + R11*0x8],RBP
ADD R10,RAX
ADC RBX,RDX
MOV RAX,qword ptr [RSI + R11*0x8 + 0x10]
MUL R12
MOV qword ptr [RDI + R11*0x8 + 0x8],R10
MOV EBP,0x0
MOV R10,RBP
ADD RBX,RAX
MOV RAX,qword ptr [RSI + R11*0x8 + 0x18]
MOV RCX,RBP
ADC RCX,RDX
MUL R12
ADD R11,0x4
JS 0x00134a50
MOV qword ptr [RDI + -0x10],RBX
ADD RCX,RAX
MOV qword ptr [RDI + -0x8],RCX
MOV qword ptr [RDI + 0x8],RBP
ADC RBP,RDX
MOV qword ptr [RDI],RBP
DEC R8
JZ 0x00134ed4
LEA RSI,[RSI + -0x8]
LEA R15,[R15 + 0x8]
MOV R11,R13
MOV R12,qword ptr [R15]
MOV R9,qword ptr [R15 + 0x8]
JMP R14
MOV EBX,R13D
NEG R13
MOV RAX,qword ptr [RSI + R13*0x8 + -0x8]
MOV R12,qword ptr [R15]
MOV R9,qword ptr [R15 + 0x8]
MUL R9
AND R13,-0x4
MOV R11,R13
AND EBX,0x3
JZ 0x00134b30
CMP EBX,0x2
JC 0x00134b40
JZ 0x00134b60
MOV RCX,RAX
MOV RBP,RDX
LEA R14,[0x134cc0]
JMP 0x00134bb4
MOV RBX,RAX
MOV RCX,RDX
LEA R14,[0x134c60]
JMP 0x00134b8e
MOV R10,RAX
MOV RBX,RDX
MOV ECX,0x0
LEA R14,[0x134c80]
JMP 0x00134c0d
MOV RBP,RAX
MOV R10,RDX
MOV EBX,0x0
MOV RAX,qword ptr [RSI + R11*0x8 + 0x10]
LEA R14,[0x134ca0]
JMP 0x00134be9
MOV RAX,qword ptr [RSI + R11*0x8 + -0x8]
MUL R9
ADD RBX,RAX
ADC RCX,RDX
MOV EBP,0x0
MOV RAX,qword ptr [RSI + R11*0x8]
MUL R12
ADD RBX,RAX
MOV RAX,qword ptr [RSI + R11*0x8]
ADC RCX,RDX
ADC EBP,0x0
MUL R9
ADD RCX,RAX
MOV qword ptr [RDI + R11*0x8],RBX
ADC RBP,RDX
MOV RAX,qword ptr [RSI + R11*0x8 + 0x8]
MUL R12
MOV R10D,0x0
ADD RCX,RAX
ADC RBP,RDX
MOV EBX,0x0
ADC R10D,0x0
MOV RAX,qword ptr [RSI + R11*0x8 + 0x8]
MOV qword ptr [RDI + R11*0x8 + 0x8],RCX
MUL R9
ADD RBP,RAX
MOV RAX,qword ptr [RSI + R11*0x8 + 0x10]
ADC R10,RDX
MOV ECX,0x0
MUL R12
ADD RBP,RAX
MOV RAX,qword ptr [RSI + R11*0x8 + 0x10]
ADC R10,RDX
ADC EBX,0x0
MUL R9
ADD R10,RAX
MOV qword ptr [RDI + R11*0x8 + 0x10],RBP
ADC RBX,RDX
MOV RAX,qword ptr [RSI + R11*0x8 + 0x18]
MUL R12
ADD R10,RAX
ADC RBX,RDX
ADC ECX,0x0
ADD R11,0x4
MOV qword ptr [RDI + R11*0x8 + -0x8],R10
JNZ 0x00134b80
MOV qword ptr [RDI],RBX
MOV qword ptr [RDI + 0x8],RCX
SUB R8,0x2
JZ 0x00134ed4
LEA R15,[R15 + 0x10]
LEA RSI,[RSI + -0x10]
MOV R11,R13
MOV R12,qword ptr [R15]
MOV R9,qword ptr [R15 + 0x8]
JMP R14
XOR EBX,EBX
XOR ECX,ECX
XOR EBP,EBP
NEG R13
MOV EAX,R8D
AND EAX,0x3
JZ 0x00134dff
CMP EAX,0x2
JC 0x00134e13
JZ 0x00134e2e
LEA R15,[R15 + -0x8]
MOV R10,R15
ADD R8,0x1
MOV R11,R8
LEA R14,[0x134e6c]
JMP 0x00134e6c
MOV R10,R15
MOV R11,R8
LEA R14,[0x134e0c]
MOV RAX,qword ptr [RSI + R11*0x8 + -0x8]
JMP 0x00134e5f
LEA R15,[R15 + 0x8]
MOV R10,R15
ADD R8,0x3
MOV R11,R8
LEA R14,[0x134e28]
MOV RAX,qword ptr [R10 + -0x8]
JMP 0x00134e9a
LEA R15,[R15 + -0x10]
MOV R10,R15
ADD R8,0x2
MOV R11,R8
LEA R14,[0x134e43]
MOV RAX,qword ptr [R10 + 0x10]
JMP 0x00134e83
ADD RBX,RAX
ADC RCX,RDX
MOV RAX,qword ptr [RSI + R11*0x8 + -0x8]
ADC RBP,0x0
MUL qword ptr [R10]
ADD RBX,RAX
ADC RCX,RDX
ADC RBP,0x0
MOV RAX,qword ptr [RSI + R11*0x8 + -0x10]
MUL qword ptr [R10 + 0x8]
ADD RBX,RAX
MOV RAX,qword ptr [R10 + 0x10]
ADC RCX,RDX
ADC RBP,0x0
MUL qword ptr [RSI + R11*0x8 + -0x18]
ADD RBX,RAX
MOV RAX,qword ptr [R10 + 0x18]
ADC RCX,RDX
LEA R10,[R10 + 0x20]
ADC RBP,0x0
MUL qword ptr [RSI + R11*0x8 + -0x20]
SUB R11,0x4
JNZ 0x00134e50
ADD RBX,RAX
ADC RCX,RDX
ADC RBP,0x0
MOV qword ptr [RDI + R13*0x8],RBX
INC R13
JZ 0x00134ecd
MOV R11,R8
MOV R10,R15
LEA RSI,[RSI + 0x8]
MOV RBX,RCX
MOV RCX,RBP
XOR EBP,EBP
JMP R14
MOV qword ptr [RDI],RCX
MOV qword ptr [RDI + 0x8],RBP
POP R15
POP R14
POP R13
POP R12
POP RBP
POP RBX
RET
(translation_unit "void __gmpn_mulmid_basecase(long param_1,long param_2,long param_3,ulong *param_4,ulong param_5)\n\n{\n  long *plVar1;\n  undefined1 auVar2 [16];\n  undefined1 auVar3 [16];\n  undefined1 auVar4 [16];\n  undefined1 auVar5 [16];\n  undefined1 auVar6 [16];\n  undefined1 auVar7 [16];\n  undefined1 auVar8 [16];\n  undefined1 auVar9 [16];\n  undefined1 auVar10 [16];\n  undefined1 auVar11 [16];\n  undefined1 auVar12 [16];\n  undefined1 auVar13 [16];\n  undefined1 auVar14 [16];\n  undefined1 auVar15 [16];\n  undefined1 auVar16 [16];\n  undefined1 auVar17 [16];\n  undefined1 auVar18 [16];\n  undefined1 auVar19 [16];\n  undefined1 auVar20 [16];\n  undefined1 auVar21 [16];\n  undefined1 auVar22 [16];\n  undefined1 auVar23 [16];\n  undefined1 auVar24 [16];\n  undefined1 auVar25 [16];\n  undefined1 auVar26 [16];\n  undefined1 auVar27 [16];\n  undefined1 auVar28 [16];\n  undefined1 auVar29 [16];\n  undefined1 auVar30 [16];\n  undefined1 auVar31 [16];\n  undefined1 auVar32 [16];\n  undefined1 auVar33 [16];\n  undefined1 auVar34 [16];\n  undefined1 auVar35 [16];\n  undefined1 auVar36 [16];\n  undefined1 auVar37 [16];\n  undefined1 auVar38 [16];\n  undefined1 auVar39 [16];\n  undefined1 auVar40 [16];\n  undefined1 auVar41 [16];\n  undefined1 auVar42 [16];\n  undefined1 auVar43 [16];\n  undefined1 auVar44 [16];\n  undefined1 auVar45 [16];\n  undefined1 auVar46 [16];\n  ulong uVar47;\n  ulong uVar48;\n  ulong uVar49;\n  ulong uVar50;\n  uint uVar51;\n  ulong uVar52;\n  ulong uVar53;\n  long lVar54;\n  ulong *puVar55;\n  ulong uVar56;\n  ulong uVar57;\n  code *UNRECOVERED_JUMPTABLE;\n  bool bVar58;\n  bool bVar59;\n  \n  uVar56 = (param_3 + 1) - param_5;\n  plVar1 = (long *)(param_1 + uVar56 * 8);\n  if (uVar56 < 4) {\n    uVar52 = 0;\n    uVar48 = 0;\n    lVar54 = 0;\n    uVar51 = (uint)param_5 & 3;\n    if ((param_5 & 3) == 0) {\n      UNRECOVERED_JUMPTABLE = (code *)0x134e0c;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      puVar55 = param_4;\n      goto LAB_00134e5f;\n    }\n    if (uVar51 < 2) {\n      puVar55 = param_4 + 1;\n      param_5 = param_5 + 3;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e28;\n      uVar57 = *param_4;\n      goto LAB_00134e9a;\n    }\n    if (uVar51 == 2) {\n      puVar55 = param_4 + -2;\n      param_5 = param_5 + 2;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e43;\n      uVar57 = *param_4;\n      goto LAB_00134e83;\n    }\n    puVar55 = param_4 + -1;\n    param_5 = param_5 + 1;\n    UNRECOVERED_JUMPTABLE = (code *)0x134e6c;\n    while( true ) {\n      auVar17._8_8_ = 0;\n      auVar17._0_8_ = *(ulong *)(param_2 + -0x10 + param_5 * 8);\n      auVar35._8_8_ = 0;\n      auVar35._0_8_ = puVar55[1];\n      uVar47 = SUB168(auVar17 * auVar35,8);\n      uVar57 = SUB168(auVar17 * auVar35,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[2];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e83:\n      auVar18._8_8_ = 0;\n      auVar18._0_8_ = uVar57;\n      auVar36._8_8_ = 0;\n      auVar36._0_8_ = *(ulong *)(param_2 + -0x18 + param_5 * 8);\n      uVar47 = SUB168(auVar18 * auVar36,8);\n      uVar57 = SUB168(auVar18 * auVar36,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[3];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      puVar55 = puVar55 + 4;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e9a:\n      auVar19._8_8_ = 0;\n      auVar19._0_8_ = uVar57;\n      auVar37._8_8_ = 0;\n      auVar37._0_8_ = *(ulong *)(param_2 + -0x20 + param_5 * 8);\n      uVar50 = SUB168(auVar19 * auVar37,8);\n      uVar57 = SUB168(auVar19 * auVar37,0);\n      param_5 = param_5 - 4;\n      if (param_5 == 0) break;\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      bVar59 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + bVar58;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      lVar54 = lVar54 + (ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58));\nLAB_00134e5f:\n      auVar16._8_8_ = 0;\n      auVar16._0_8_ = uVar57;\n      auVar34._8_8_ = 0;\n      auVar34._0_8_ = *puVar55;\n      uVar50 = SUB168(auVar16 * auVar34,8);\n      uVar57 = SUB168(auVar16 * auVar34,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + uVar57;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar50,uVar57));\n    }\n    lVar54 = lVar54 + (ulong)(CARRY8(uVar48,uVar50) ||\n                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57)));\n    plVar1[-uVar56] = uVar52 + uVar57;\n    if (uVar56 != 1) {\n                    /* WARNING: Could not recover jumptable at 0x00134eca. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + 8,uVar50,lVar54);\n      return;\n    }\n    *plVar1 = uVar48 + uVar50 + (ulong)CARRY8(uVar52,uVar57);\n    plVar1[1] = lVar54;\n  }\n  else {\n    param_2 = param_2 + param_3 * 8;\n    if ((param_5 & 1) == 0) {\n      uVar48 = *param_4;\n      uVar52 = param_4[1];\n      auVar7._8_8_ = 0;\n      auVar7._0_8_ = *(ulong *)(param_2 + -8 + uVar56 * -8);\n      auVar25._8_8_ = 0;\n      auVar25._0_8_ = uVar52;\n      auVar7 = auVar7 * auVar25;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134b8e;\n      }\n      if (uVar51 < 2) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        uVar56 = uVar57;\n        goto LAB_00134c0d;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        goto LAB_00134be9;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar11._8_8_ = 0;\n        auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar29._8_8_ = 0;\n        auVar29._0_8_ = uVar48;\n        uVar49 = SUB168(auVar11 * auVar29,8);\n        uVar47 = SUB168(auVar11 * auVar29,0);\n        uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar43._0_8_ = uVar50 + uVar56;\n        auVar43._9_7_ = 0;\n        uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;\n        auVar12._8_8_ = 0;\n        auVar12._0_8_ = uVar56;\n        auVar30._8_8_ = 0;\n        auVar30._0_8_ = uVar52;\n        auVar7 = auVar12 * auVar30 + auVar43;\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\nLAB_00134be9:\n        uVar53 = auVar7._0_8_;\n        auVar13._8_8_ = 0;\n        auVar13._0_8_ = uVar56;\n        auVar31._8_8_ = 0;\n        auVar31._0_8_ = uVar48;\n        uVar49 = SUB168(auVar13 * auVar31,8);\n        uVar47 = SUB168(auVar13 * auVar31,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar44._0_8_ = uVar50 + uVar56;\n        auVar44._9_7_ = 0;\n        auVar14._8_8_ = 0;\n        auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar32._8_8_ = 0;\n        auVar32._0_8_ = uVar52;\n        auVar7 = auVar14 * auVar32 + auVar44;\n        plVar1[uVar57 + 2] = uVar53 + uVar47;\n        uVar56 = uVar57;\nLAB_00134c0d:\n        auVar15._8_8_ = 0;\n        auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);\n        auVar33._8_8_ = 0;\n        auVar33._0_8_ = uVar48;\n        uVar49 = SUB168(auVar15 * auVar33,8);\n        uVar47 = SUB168(auVar15 * auVar33,0);\n        uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);\n        lVar54 = uVar50 + uVar57;\n        auVar41[8] = bVar58;\n        auVar41._0_8_ = lVar54;\n        auVar41._9_7_ = 0;\n        uVar57 = uVar56 + 4;\n        plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;\n        if (uVar57 == 0) break;\n        auVar8._8_8_ = 0;\n        auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);\n        auVar26._8_8_ = 0;\n        auVar26._0_8_ = uVar52;\n        auVar7 = auVar8 * auVar26 + auVar41;\nLAB_00134b8e:\n        uVar53 = auVar7._0_8_;\n        auVar9._8_8_ = 0;\n        auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar27._8_8_ = 0;\n        auVar27._0_8_ = uVar48;\n        uVar49 = SUB168(auVar9 * auVar27,8);\n        uVar47 = SUB168(auVar9 * auVar27,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar42._0_8_ = uVar50 + uVar56;\n        auVar42._9_7_ = 0;\n        auVar10._8_8_ = 0;\n        auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar28._8_8_ = 0;\n        auVar28._0_8_ = uVar52;\n        auVar7 = auVar10 * auVar28 + auVar42;\n        plVar1[uVar57] = uVar53 + uVar47;\n      }\n      *plVar1 = lVar54;\n      plVar1[1] = (ulong)bVar58;\n      if (param_5 != 2) {\n                    /* WARNING: Could not recover jumptable at 0x00134c50. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);\n        return;\n      }\n    }\n    else {\n      uVar48 = *param_4;\n      auVar2._8_8_ = 0;\n      auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8);\n      auVar20._8_8_ = 0;\n      auVar20._0_8_ = uVar48;\n      auVar2 = auVar2 * auVar20;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      uVar52 = (ulong)uVar51;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134a72;\n      }\n      if (uVar51 < 2) {\n        uVar57 = uVar57 + 4;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        goto LAB_00134a5f;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        uVar52 = uVar57;\n        goto LAB_00134aa7;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar45._8_8_ = 0;\n        auVar45._0_8_ = auVar2._8_8_;\n        auVar5._8_8_ = 0;\n        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar23._8_8_ = 0;\n        auVar23._0_8_ = uVar48;\n        plVar1[uVar57 + 1] = auVar2._0_8_;\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        auVar2 = auVar5 * auVar23 + auVar45;\n        uVar52 = uVar57;\nLAB_00134aa7:\n        auVar46._8_8_ = 0;\n        auVar46._0_8_ = auVar2._8_8_;\n        auVar40._8_8_ = 0;\n        auVar40._0_8_ = auVar2._8_8_;\n        auVar6._8_8_ = 0;\n        auVar6._0_8_ = uVar56;\n        auVar24._8_8_ = 0;\n        auVar24._0_8_ = uVar48;\n        uVar57 = uVar52 + 4;\n        if (-1 < (long)uVar57) break;\n        plVar1[uVar52 + 2] = auVar2._0_8_;\n        auVar2 = auVar6 * auVar24 + auVar40;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\nLAB_00134a5f:\n        auVar38._8_8_ = 0;\n        auVar38._0_8_ = auVar2._8_8_;\n        uVar52 = 0;\n        auVar3._8_8_ = 0;\n        auVar3._0_8_ = uVar56;\n        auVar21._8_8_ = 0;\n        auVar21._0_8_ = uVar48;\n        plVar1[uVar57 - 1] = auVar2._0_8_;\n        auVar2 = auVar3 * auVar21 + auVar38;\nLAB_00134a72:\n        auVar39._8_8_ = uVar52;\n        auVar39._0_8_ = auVar2._8_8_;\n        auVar4._8_8_ = 0;\n        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar22._8_8_ = 0;\n        auVar22._0_8_ = uVar48;\n        plVar1[uVar57] = auVar2._0_8_;\n        auVar2 = auVar4 * auVar22 + auVar39;\n      }\n      plVar1[-2] = auVar2._0_8_;\n      auVar46 = auVar6 * auVar24 + auVar46;\n      plVar1[-1] = auVar46._0_8_;\n      plVar1[1] = 0;\n      *plVar1 = auVar46._8_8_;\n      if (param_5 != 1) {\n                    /* WARNING: Could not recover jumptable at 0x00134ae0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);\n        return;\n      }\n    }\n  }\n  return;\n}\n\n" (function_definition "void __gmpn_mulmid_basecase(long param_1,long param_2,long param_3,ulong *param_4,ulong param_5)\n\n{\n  long *plVar1;\n  undefined1 auVar2 [16];\n  undefined1 auVar3 [16];\n  undefined1 auVar4 [16];\n  undefined1 auVar5 [16];\n  undefined1 auVar6 [16];\n  undefined1 auVar7 [16];\n  undefined1 auVar8 [16];\n  undefined1 auVar9 [16];\n  undefined1 auVar10 [16];\n  undefined1 auVar11 [16];\n  undefined1 auVar12 [16];\n  undefined1 auVar13 [16];\n  undefined1 auVar14 [16];\n  undefined1 auVar15 [16];\n  undefined1 auVar16 [16];\n  undefined1 auVar17 [16];\n  undefined1 auVar18 [16];\n  undefined1 auVar19 [16];\n  undefined1 auVar20 [16];\n  undefined1 auVar21 [16];\n  undefined1 auVar22 [16];\n  undefined1 auVar23 [16];\n  undefined1 auVar24 [16];\n  undefined1 auVar25 [16];\n  undefined1 auVar26 [16];\n  undefined1 auVar27 [16];\n  undefined1 auVar28 [16];\n  undefined1 auVar29 [16];\n  undefined1 auVar30 [16];\n  undefined1 auVar31 [16];\n  undefined1 auVar32 [16];\n  undefined1 auVar33 [16];\n  undefined1 auVar34 [16];\n  undefined1 auVar35 [16];\n  undefined1 auVar36 [16];\n  undefined1 auVar37 [16];\n  undefined1 auVar38 [16];\n  undefined1 auVar39 [16];\n  undefined1 auVar40 [16];\n  undefined1 auVar41 [16];\n  undefined1 auVar42 [16];\n  undefined1 auVar43 [16];\n  undefined1 auVar44 [16];\n  undefined1 auVar45 [16];\n  undefined1 auVar46 [16];\n  ulong uVar47;\n  ulong uVar48;\n  ulong uVar49;\n  ulong uVar50;\n  uint uVar51;\n  ulong uVar52;\n  ulong uVar53;\n  long lVar54;\n  ulong *puVar55;\n  ulong uVar56;\n  ulong uVar57;\n  code *UNRECOVERED_JUMPTABLE;\n  bool bVar58;\n  bool bVar59;\n  \n  uVar56 = (param_3 + 1) - param_5;\n  plVar1 = (long *)(param_1 + uVar56 * 8);\n  if (uVar56 < 4) {\n    uVar52 = 0;\n    uVar48 = 0;\n    lVar54 = 0;\n    uVar51 = (uint)param_5 & 3;\n    if ((param_5 & 3) == 0) {\n      UNRECOVERED_JUMPTABLE = (code *)0x134e0c;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      puVar55 = param_4;\n      goto LAB_00134e5f;\n    }\n    if (uVar51 < 2) {\n      puVar55 = param_4 + 1;\n      param_5 = param_5 + 3;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e28;\n      uVar57 = *param_4;\n      goto LAB_00134e9a;\n    }\n    if (uVar51 == 2) {\n      puVar55 = param_4 + -2;\n      param_5 = param_5 + 2;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e43;\n      uVar57 = *param_4;\n      goto LAB_00134e83;\n    }\n    puVar55 = param_4 + -1;\n    param_5 = param_5 + 1;\n    UNRECOVERED_JUMPTABLE = (code *)0x134e6c;\n    while( true ) {\n      auVar17._8_8_ = 0;\n      auVar17._0_8_ = *(ulong *)(param_2 + -0x10 + param_5 * 8);\n      auVar35._8_8_ = 0;\n      auVar35._0_8_ = puVar55[1];\n      uVar47 = SUB168(auVar17 * auVar35,8);\n      uVar57 = SUB168(auVar17 * auVar35,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[2];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e83:\n      auVar18._8_8_ = 0;\n      auVar18._0_8_ = uVar57;\n      auVar36._8_8_ = 0;\n      auVar36._0_8_ = *(ulong *)(param_2 + -0x18 + param_5 * 8);\n      uVar47 = SUB168(auVar18 * auVar36,8);\n      uVar57 = SUB168(auVar18 * auVar36,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[3];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      puVar55 = puVar55 + 4;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e9a:\n      auVar19._8_8_ = 0;\n      auVar19._0_8_ = uVar57;\n      auVar37._8_8_ = 0;\n      auVar37._0_8_ = *(ulong *)(param_2 + -0x20 + param_5 * 8);\n      uVar50 = SUB168(auVar19 * auVar37,8);\n      uVar57 = SUB168(auVar19 * auVar37,0);\n      param_5 = param_5 - 4;\n      if (param_5 == 0) break;\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      bVar59 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + bVar58;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      lVar54 = lVar54 + (ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58));\nLAB_00134e5f:\n      auVar16._8_8_ = 0;\n      auVar16._0_8_ = uVar57;\n      auVar34._8_8_ = 0;\n      auVar34._0_8_ = *puVar55;\n      uVar50 = SUB168(auVar16 * auVar34,8);\n      uVar57 = SUB168(auVar16 * auVar34,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + uVar57;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar50,uVar57));\n    }\n    lVar54 = lVar54 + (ulong)(CARRY8(uVar48,uVar50) ||\n                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57)));\n    plVar1[-uVar56] = uVar52 + uVar57;\n    if (uVar56 != 1) {\n                    /* WARNING: Could not recover jumptable at 0x00134eca. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + 8,uVar50,lVar54);\n      return;\n    }\n    *plVar1 = uVar48 + uVar50 + (ulong)CARRY8(uVar52,uVar57);\n    plVar1[1] = lVar54;\n  }\n  else {\n    param_2 = param_2 + param_3 * 8;\n    if ((param_5 & 1) == 0) {\n      uVar48 = *param_4;\n      uVar52 = param_4[1];\n      auVar7._8_8_ = 0;\n      auVar7._0_8_ = *(ulong *)(param_2 + -8 + uVar56 * -8);\n      auVar25._8_8_ = 0;\n      auVar25._0_8_ = uVar52;\n      auVar7 = auVar7 * auVar25;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134b8e;\n      }\n      if (uVar51 < 2) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        uVar56 = uVar57;\n        goto LAB_00134c0d;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        goto LAB_00134be9;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar11._8_8_ = 0;\n        auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar29._8_8_ = 0;\n        auVar29._0_8_ = uVar48;\n        uVar49 = SUB168(auVar11 * auVar29,8);\n        uVar47 = SUB168(auVar11 * auVar29,0);\n        uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar43._0_8_ = uVar50 + uVar56;\n        auVar43._9_7_ = 0;\n        uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;\n        auVar12._8_8_ = 0;\n        auVar12._0_8_ = uVar56;\n        auVar30._8_8_ = 0;\n        auVar30._0_8_ = uVar52;\n        auVar7 = auVar12 * auVar30 + auVar43;\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\nLAB_00134be9:\n        uVar53 = auVar7._0_8_;\n        auVar13._8_8_ = 0;\n        auVar13._0_8_ = uVar56;\n        auVar31._8_8_ = 0;\n        auVar31._0_8_ = uVar48;\n        uVar49 = SUB168(auVar13 * auVar31,8);\n        uVar47 = SUB168(auVar13 * auVar31,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar44._0_8_ = uVar50 + uVar56;\n        auVar44._9_7_ = 0;\n        auVar14._8_8_ = 0;\n        auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar32._8_8_ = 0;\n        auVar32._0_8_ = uVar52;\n        auVar7 = auVar14 * auVar32 + auVar44;\n        plVar1[uVar57 + 2] = uVar53 + uVar47;\n        uVar56 = uVar57;\nLAB_00134c0d:\n        auVar15._8_8_ = 0;\n        auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);\n        auVar33._8_8_ = 0;\n        auVar33._0_8_ = uVar48;\n        uVar49 = SUB168(auVar15 * auVar33,8);\n        uVar47 = SUB168(auVar15 * auVar33,0);\n        uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);\n        lVar54 = uVar50 + uVar57;\n        auVar41[8] = bVar58;\n        auVar41._0_8_ = lVar54;\n        auVar41._9_7_ = 0;\n        uVar57 = uVar56 + 4;\n        plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;\n        if (uVar57 == 0) break;\n        auVar8._8_8_ = 0;\n        auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);\n        auVar26._8_8_ = 0;\n        auVar26._0_8_ = uVar52;\n        auVar7 = auVar8 * auVar26 + auVar41;\nLAB_00134b8e:\n        uVar53 = auVar7._0_8_;\n        auVar9._8_8_ = 0;\n        auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar27._8_8_ = 0;\n        auVar27._0_8_ = uVar48;\n        uVar49 = SUB168(auVar9 * auVar27,8);\n        uVar47 = SUB168(auVar9 * auVar27,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar42._0_8_ = uVar50 + uVar56;\n        auVar42._9_7_ = 0;\n        auVar10._8_8_ = 0;\n        auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar28._8_8_ = 0;\n        auVar28._0_8_ = uVar52;\n        auVar7 = auVar10 * auVar28 + auVar42;\n        plVar1[uVar57] = uVar53 + uVar47;\n      }\n      *plVar1 = lVar54;\n      plVar1[1] = (ulong)bVar58;\n      if (param_5 != 2) {\n                    /* WARNING: Could not recover jumptable at 0x00134c50. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);\n        return;\n      }\n    }\n    else {\n      uVar48 = *param_4;\n      auVar2._8_8_ = 0;\n      auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8);\n      auVar20._8_8_ = 0;\n      auVar20._0_8_ = uVar48;\n      auVar2 = auVar2 * auVar20;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      uVar52 = (ulong)uVar51;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134a72;\n      }\n      if (uVar51 < 2) {\n        uVar57 = uVar57 + 4;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        goto LAB_00134a5f;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        uVar52 = uVar57;\n        goto LAB_00134aa7;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar45._8_8_ = 0;\n        auVar45._0_8_ = auVar2._8_8_;\n        auVar5._8_8_ = 0;\n        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar23._8_8_ = 0;\n        auVar23._0_8_ = uVar48;\n        plVar1[uVar57 + 1] = auVar2._0_8_;\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        auVar2 = auVar5 * auVar23 + auVar45;\n        uVar52 = uVar57;\nLAB_00134aa7:\n        auVar46._8_8_ = 0;\n        auVar46._0_8_ = auVar2._8_8_;\n        auVar40._8_8_ = 0;\n        auVar40._0_8_ = auVar2._8_8_;\n        auVar6._8_8_ = 0;\n        auVar6._0_8_ = uVar56;\n        auVar24._8_8_ = 0;\n        auVar24._0_8_ = uVar48;\n        uVar57 = uVar52 + 4;\n        if (-1 < (long)uVar57) break;\n        plVar1[uVar52 + 2] = auVar2._0_8_;\n        auVar2 = auVar6 * auVar24 + auVar40;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\nLAB_00134a5f:\n        auVar38._8_8_ = 0;\n        auVar38._0_8_ = auVar2._8_8_;\n        uVar52 = 0;\n        auVar3._8_8_ = 0;\n        auVar3._0_8_ = uVar56;\n        auVar21._8_8_ = 0;\n        auVar21._0_8_ = uVar48;\n        plVar1[uVar57 - 1] = auVar2._0_8_;\n        auVar2 = auVar3 * auVar21 + auVar38;\nLAB_00134a72:\n        auVar39._8_8_ = uVar52;\n        auVar39._0_8_ = auVar2._8_8_;\n        auVar4._8_8_ = 0;\n        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar22._8_8_ = 0;\n        auVar22._0_8_ = uVar48;\n        plVar1[uVar57] = auVar2._0_8_;\n        auVar2 = auVar4 * auVar22 + auVar39;\n      }\n      plVar1[-2] = auVar2._0_8_;\n      auVar46 = auVar6 * auVar24 + auVar46;\n      plVar1[-1] = auVar46._0_8_;\n      plVar1[1] = 0;\n      *plVar1 = auVar46._8_8_;\n      if (param_5 != 1) {\n                    /* WARNING: Could not recover jumptable at 0x00134ae0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);\n        return;\n      }\n    }\n  }\n  return;\n}" primitive_type (function_declarator "__gmpn_mulmid_basecase(long param_1,long param_2,long param_3,ulong *param_4,ulong param_5)" identifier (parameter_list "(long param_1,long param_2,long param_3,ulong *param_4,ulong param_5)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_2" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_3" (sized_type_specifier "long" long) identifier) , (parameter_declaration "ulong *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "ulong param_5" type_identifier identifier) ))) (compound_statement "{\n  long *plVar1;\n  undefined1 auVar2 [16];\n  undefined1 auVar3 [16];\n  undefined1 auVar4 [16];\n  undefined1 auVar5 [16];\n  undefined1 auVar6 [16];\n  undefined1 auVar7 [16];\n  undefined1 auVar8 [16];\n  undefined1 auVar9 [16];\n  undefined1 auVar10 [16];\n  undefined1 auVar11 [16];\n  undefined1 auVar12 [16];\n  undefined1 auVar13 [16];\n  undefined1 auVar14 [16];\n  undefined1 auVar15 [16];\n  undefined1 auVar16 [16];\n  undefined1 auVar17 [16];\n  undefined1 auVar18 [16];\n  undefined1 auVar19 [16];\n  undefined1 auVar20 [16];\n  undefined1 auVar21 [16];\n  undefined1 auVar22 [16];\n  undefined1 auVar23 [16];\n  undefined1 auVar24 [16];\n  undefined1 auVar25 [16];\n  undefined1 auVar26 [16];\n  undefined1 auVar27 [16];\n  undefined1 auVar28 [16];\n  undefined1 auVar29 [16];\n  undefined1 auVar30 [16];\n  undefined1 auVar31 [16];\n  undefined1 auVar32 [16];\n  undefined1 auVar33 [16];\n  undefined1 auVar34 [16];\n  undefined1 auVar35 [16];\n  undefined1 auVar36 [16];\n  undefined1 auVar37 [16];\n  undefined1 auVar38 [16];\n  undefined1 auVar39 [16];\n  undefined1 auVar40 [16];\n  undefined1 auVar41 [16];\n  undefined1 auVar42 [16];\n  undefined1 auVar43 [16];\n  undefined1 auVar44 [16];\n  undefined1 auVar45 [16];\n  undefined1 auVar46 [16];\n  ulong uVar47;\n  ulong uVar48;\n  ulong uVar49;\n  ulong uVar50;\n  uint uVar51;\n  ulong uVar52;\n  ulong uVar53;\n  long lVar54;\n  ulong *puVar55;\n  ulong uVar56;\n  ulong uVar57;\n  code *UNRECOVERED_JUMPTABLE;\n  bool bVar58;\n  bool bVar59;\n  \n  uVar56 = (param_3 + 1) - param_5;\n  plVar1 = (long *)(param_1 + uVar56 * 8);\n  if (uVar56 < 4) {\n    uVar52 = 0;\n    uVar48 = 0;\n    lVar54 = 0;\n    uVar51 = (uint)param_5 & 3;\n    if ((param_5 & 3) == 0) {\n      UNRECOVERED_JUMPTABLE = (code *)0x134e0c;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      puVar55 = param_4;\n      goto LAB_00134e5f;\n    }\n    if (uVar51 < 2) {\n      puVar55 = param_4 + 1;\n      param_5 = param_5 + 3;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e28;\n      uVar57 = *param_4;\n      goto LAB_00134e9a;\n    }\n    if (uVar51 == 2) {\n      puVar55 = param_4 + -2;\n      param_5 = param_5 + 2;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e43;\n      uVar57 = *param_4;\n      goto LAB_00134e83;\n    }\n    puVar55 = param_4 + -1;\n    param_5 = param_5 + 1;\n    UNRECOVERED_JUMPTABLE = (code *)0x134e6c;\n    while( true ) {\n      auVar17._8_8_ = 0;\n      auVar17._0_8_ = *(ulong *)(param_2 + -0x10 + param_5 * 8);\n      auVar35._8_8_ = 0;\n      auVar35._0_8_ = puVar55[1];\n      uVar47 = SUB168(auVar17 * auVar35,8);\n      uVar57 = SUB168(auVar17 * auVar35,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[2];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e83:\n      auVar18._8_8_ = 0;\n      auVar18._0_8_ = uVar57;\n      auVar36._8_8_ = 0;\n      auVar36._0_8_ = *(ulong *)(param_2 + -0x18 + param_5 * 8);\n      uVar47 = SUB168(auVar18 * auVar36,8);\n      uVar57 = SUB168(auVar18 * auVar36,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[3];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      puVar55 = puVar55 + 4;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e9a:\n      auVar19._8_8_ = 0;\n      auVar19._0_8_ = uVar57;\n      auVar37._8_8_ = 0;\n      auVar37._0_8_ = *(ulong *)(param_2 + -0x20 + param_5 * 8);\n      uVar50 = SUB168(auVar19 * auVar37,8);\n      uVar57 = SUB168(auVar19 * auVar37,0);\n      param_5 = param_5 - 4;\n      if (param_5 == 0) break;\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      bVar59 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + bVar58;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      lVar54 = lVar54 + (ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58));\nLAB_00134e5f:\n      auVar16._8_8_ = 0;\n      auVar16._0_8_ = uVar57;\n      auVar34._8_8_ = 0;\n      auVar34._0_8_ = *puVar55;\n      uVar50 = SUB168(auVar16 * auVar34,8);\n      uVar57 = SUB168(auVar16 * auVar34,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + uVar57;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar50,uVar57));\n    }\n    lVar54 = lVar54 + (ulong)(CARRY8(uVar48,uVar50) ||\n                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57)));\n    plVar1[-uVar56] = uVar52 + uVar57;\n    if (uVar56 != 1) {\n                    /* WARNING: Could not recover jumptable at 0x00134eca. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + 8,uVar50,lVar54);\n      return;\n    }\n    *plVar1 = uVar48 + uVar50 + (ulong)CARRY8(uVar52,uVar57);\n    plVar1[1] = lVar54;\n  }\n  else {\n    param_2 = param_2 + param_3 * 8;\n    if ((param_5 & 1) == 0) {\n      uVar48 = *param_4;\n      uVar52 = param_4[1];\n      auVar7._8_8_ = 0;\n      auVar7._0_8_ = *(ulong *)(param_2 + -8 + uVar56 * -8);\n      auVar25._8_8_ = 0;\n      auVar25._0_8_ = uVar52;\n      auVar7 = auVar7 * auVar25;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134b8e;\n      }\n      if (uVar51 < 2) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        uVar56 = uVar57;\n        goto LAB_00134c0d;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        goto LAB_00134be9;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar11._8_8_ = 0;\n        auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar29._8_8_ = 0;\n        auVar29._0_8_ = uVar48;\n        uVar49 = SUB168(auVar11 * auVar29,8);\n        uVar47 = SUB168(auVar11 * auVar29,0);\n        uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar43._0_8_ = uVar50 + uVar56;\n        auVar43._9_7_ = 0;\n        uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;\n        auVar12._8_8_ = 0;\n        auVar12._0_8_ = uVar56;\n        auVar30._8_8_ = 0;\n        auVar30._0_8_ = uVar52;\n        auVar7 = auVar12 * auVar30 + auVar43;\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\nLAB_00134be9:\n        uVar53 = auVar7._0_8_;\n        auVar13._8_8_ = 0;\n        auVar13._0_8_ = uVar56;\n        auVar31._8_8_ = 0;\n        auVar31._0_8_ = uVar48;\n        uVar49 = SUB168(auVar13 * auVar31,8);\n        uVar47 = SUB168(auVar13 * auVar31,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar44._0_8_ = uVar50 + uVar56;\n        auVar44._9_7_ = 0;\n        auVar14._8_8_ = 0;\n        auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar32._8_8_ = 0;\n        auVar32._0_8_ = uVar52;\n        auVar7 = auVar14 * auVar32 + auVar44;\n        plVar1[uVar57 + 2] = uVar53 + uVar47;\n        uVar56 = uVar57;\nLAB_00134c0d:\n        auVar15._8_8_ = 0;\n        auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);\n        auVar33._8_8_ = 0;\n        auVar33._0_8_ = uVar48;\n        uVar49 = SUB168(auVar15 * auVar33,8);\n        uVar47 = SUB168(auVar15 * auVar33,0);\n        uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);\n        lVar54 = uVar50 + uVar57;\n        auVar41[8] = bVar58;\n        auVar41._0_8_ = lVar54;\n        auVar41._9_7_ = 0;\n        uVar57 = uVar56 + 4;\n        plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;\n        if (uVar57 == 0) break;\n        auVar8._8_8_ = 0;\n        auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);\n        auVar26._8_8_ = 0;\n        auVar26._0_8_ = uVar52;\n        auVar7 = auVar8 * auVar26 + auVar41;\nLAB_00134b8e:\n        uVar53 = auVar7._0_8_;\n        auVar9._8_8_ = 0;\n        auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar27._8_8_ = 0;\n        auVar27._0_8_ = uVar48;\n        uVar49 = SUB168(auVar9 * auVar27,8);\n        uVar47 = SUB168(auVar9 * auVar27,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar42._0_8_ = uVar50 + uVar56;\n        auVar42._9_7_ = 0;\n        auVar10._8_8_ = 0;\n        auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar28._8_8_ = 0;\n        auVar28._0_8_ = uVar52;\n        auVar7 = auVar10 * auVar28 + auVar42;\n        plVar1[uVar57] = uVar53 + uVar47;\n      }\n      *plVar1 = lVar54;\n      plVar1[1] = (ulong)bVar58;\n      if (param_5 != 2) {\n                    /* WARNING: Could not recover jumptable at 0x00134c50. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);\n        return;\n      }\n    }\n    else {\n      uVar48 = *param_4;\n      auVar2._8_8_ = 0;\n      auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8);\n      auVar20._8_8_ = 0;\n      auVar20._0_8_ = uVar48;\n      auVar2 = auVar2 * auVar20;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      uVar52 = (ulong)uVar51;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134a72;\n      }\n      if (uVar51 < 2) {\n        uVar57 = uVar57 + 4;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        goto LAB_00134a5f;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        uVar52 = uVar57;\n        goto LAB_00134aa7;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar45._8_8_ = 0;\n        auVar45._0_8_ = auVar2._8_8_;\n        auVar5._8_8_ = 0;\n        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar23._8_8_ = 0;\n        auVar23._0_8_ = uVar48;\n        plVar1[uVar57 + 1] = auVar2._0_8_;\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        auVar2 = auVar5 * auVar23 + auVar45;\n        uVar52 = uVar57;\nLAB_00134aa7:\n        auVar46._8_8_ = 0;\n        auVar46._0_8_ = auVar2._8_8_;\n        auVar40._8_8_ = 0;\n        auVar40._0_8_ = auVar2._8_8_;\n        auVar6._8_8_ = 0;\n        auVar6._0_8_ = uVar56;\n        auVar24._8_8_ = 0;\n        auVar24._0_8_ = uVar48;\n        uVar57 = uVar52 + 4;\n        if (-1 < (long)uVar57) break;\n        plVar1[uVar52 + 2] = auVar2._0_8_;\n        auVar2 = auVar6 * auVar24 + auVar40;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\nLAB_00134a5f:\n        auVar38._8_8_ = 0;\n        auVar38._0_8_ = auVar2._8_8_;\n        uVar52 = 0;\n        auVar3._8_8_ = 0;\n        auVar3._0_8_ = uVar56;\n        auVar21._8_8_ = 0;\n        auVar21._0_8_ = uVar48;\n        plVar1[uVar57 - 1] = auVar2._0_8_;\n        auVar2 = auVar3 * auVar21 + auVar38;\nLAB_00134a72:\n        auVar39._8_8_ = uVar52;\n        auVar39._0_8_ = auVar2._8_8_;\n        auVar4._8_8_ = 0;\n        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar22._8_8_ = 0;\n        auVar22._0_8_ = uVar48;\n        plVar1[uVar57] = auVar2._0_8_;\n        auVar2 = auVar4 * auVar22 + auVar39;\n      }\n      plVar1[-2] = auVar2._0_8_;\n      auVar46 = auVar6 * auVar24 + auVar46;\n      plVar1[-1] = auVar46._0_8_;\n      plVar1[1] = 0;\n      *plVar1 = auVar46._8_8_;\n      if (param_5 != 1) {\n                    /* WARNING: Could not recover jumptable at 0x00134ae0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);\n        return;\n      }\n    }\n  }\n  return;\n}" { (declaration "long *plVar1;" (sized_type_specifier "long" long) (pointer_declarator "*plVar1" * identifier) ;) (declaration "undefined1 auVar2 [16];" type_identifier (array_declarator "auVar2 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar3 [16];" type_identifier (array_declarator "auVar3 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar4 [16];" type_identifier (array_declarator "auVar4 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar5 [16];" type_identifier (array_declarator "auVar5 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar6 [16];" type_identifier (array_declarator "auVar6 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar7 [16];" type_identifier (array_declarator "auVar7 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar8 [16];" type_identifier (array_declarator "auVar8 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar9 [16];" type_identifier (array_declarator "auVar9 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar10 [16];" type_identifier (array_declarator "auVar10 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar11 [16];" type_identifier (array_declarator "auVar11 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar12 [16];" type_identifier (array_declarator "auVar12 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar13 [16];" type_identifier (array_declarator "auVar13 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar14 [16];" type_identifier (array_declarator "auVar14 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar15 [16];" type_identifier (array_declarator "auVar15 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar16 [16];" type_identifier (array_declarator "auVar16 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar17 [16];" type_identifier (array_declarator "auVar17 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar18 [16];" type_identifier (array_declarator "auVar18 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar19 [16];" type_identifier (array_declarator "auVar19 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar20 [16];" type_identifier (array_declarator "auVar20 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar21 [16];" type_identifier (array_declarator "auVar21 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar22 [16];" type_identifier (array_declarator "auVar22 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar23 [16];" type_identifier (array_declarator "auVar23 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar24 [16];" type_identifier (array_declarator "auVar24 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar25 [16];" type_identifier (array_declarator "auVar25 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar26 [16];" type_identifier (array_declarator "auVar26 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar27 [16];" type_identifier (array_declarator "auVar27 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar28 [16];" type_identifier (array_declarator "auVar28 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar29 [16];" type_identifier (array_declarator "auVar29 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar30 [16];" type_identifier (array_declarator "auVar30 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar31 [16];" type_identifier (array_declarator "auVar31 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar32 [16];" type_identifier (array_declarator "auVar32 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar33 [16];" type_identifier (array_declarator "auVar33 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar34 [16];" type_identifier (array_declarator "auVar34 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar35 [16];" type_identifier (array_declarator "auVar35 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar36 [16];" type_identifier (array_declarator "auVar36 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar37 [16];" type_identifier (array_declarator "auVar37 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar38 [16];" type_identifier (array_declarator "auVar38 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar39 [16];" type_identifier (array_declarator "auVar39 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar40 [16];" type_identifier (array_declarator "auVar40 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar41 [16];" type_identifier (array_declarator "auVar41 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar42 [16];" type_identifier (array_declarator "auVar42 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar43 [16];" type_identifier (array_declarator "auVar43 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar44 [16];" type_identifier (array_declarator "auVar44 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar45 [16];" type_identifier (array_declarator "auVar45 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar46 [16];" type_identifier (array_declarator "auVar46 [16]" identifier [ number_literal ]) ;) (declaration "ulong uVar47;" type_identifier identifier ;) (declaration "ulong uVar48;" type_identifier identifier ;) (declaration "ulong uVar49;" type_identifier identifier ;) (declaration "ulong uVar50;" type_identifier identifier ;) (declaration "uint uVar51;" type_identifier identifier ;) (declaration "ulong uVar52;" type_identifier identifier ;) (declaration "ulong uVar53;" type_identifier identifier ;) (declaration "long lVar54;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong *puVar55;" type_identifier (pointer_declarator "*puVar55" * identifier) ;) (declaration "ulong uVar56;" type_identifier identifier ;) (declaration "ulong uVar57;" type_identifier identifier ;) (declaration "code *UNRECOVERED_JUMPTABLE;" type_identifier (pointer_declarator "*UNRECOVERED_JUMPTABLE" * identifier) ;) (declaration "bool bVar58;" primitive_type identifier ;) (declaration "bool bVar59;" primitive_type identifier ;) (expression_statement "uVar56 = (param_3 + 1) - param_5;" (assignment_expression "uVar56 = (param_3 + 1) - param_5" identifier = (binary_expression "(param_3 + 1) - param_5" (parenthesized_expression "(param_3 + 1)" ( (binary_expression "param_3 + 1" identifier + number_literal) )) - identifier)) ;) (expression_statement "plVar1 = (long *)(param_1 + uVar56 * 8);" (assignment_expression "plVar1 = (long *)(param_1 + uVar56 * 8)" identifier = (cast_expression "(long *)(param_1 + uVar56 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + uVar56 * 8)" ( (binary_expression "param_1 + uVar56 * 8" identifier + (binary_expression "uVar56 * 8" identifier * number_literal)) )))) ;) (if_statement "if (uVar56 < 4) {\n    uVar52 = 0;\n    uVar48 = 0;\n    lVar54 = 0;\n    uVar51 = (uint)param_5 & 3;\n    if ((param_5 & 3) == 0) {\n      UNRECOVERED_JUMPTABLE = (code *)0x134e0c;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      puVar55 = param_4;\n      goto LAB_00134e5f;\n    }\n    if (uVar51 < 2) {\n      puVar55 = param_4 + 1;\n      param_5 = param_5 + 3;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e28;\n      uVar57 = *param_4;\n      goto LAB_00134e9a;\n    }\n    if (uVar51 == 2) {\n      puVar55 = param_4 + -2;\n      param_5 = param_5 + 2;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e43;\n      uVar57 = *param_4;\n      goto LAB_00134e83;\n    }\n    puVar55 = param_4 + -1;\n    param_5 = param_5 + 1;\n    UNRECOVERED_JUMPTABLE = (code *)0x134e6c;\n    while( true ) {\n      auVar17._8_8_ = 0;\n      auVar17._0_8_ = *(ulong *)(param_2 + -0x10 + param_5 * 8);\n      auVar35._8_8_ = 0;\n      auVar35._0_8_ = puVar55[1];\n      uVar47 = SUB168(auVar17 * auVar35,8);\n      uVar57 = SUB168(auVar17 * auVar35,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[2];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e83:\n      auVar18._8_8_ = 0;\n      auVar18._0_8_ = uVar57;\n      auVar36._8_8_ = 0;\n      auVar36._0_8_ = *(ulong *)(param_2 + -0x18 + param_5 * 8);\n      uVar47 = SUB168(auVar18 * auVar36,8);\n      uVar57 = SUB168(auVar18 * auVar36,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[3];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      puVar55 = puVar55 + 4;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e9a:\n      auVar19._8_8_ = 0;\n      auVar19._0_8_ = uVar57;\n      auVar37._8_8_ = 0;\n      auVar37._0_8_ = *(ulong *)(param_2 + -0x20 + param_5 * 8);\n      uVar50 = SUB168(auVar19 * auVar37,8);\n      uVar57 = SUB168(auVar19 * auVar37,0);\n      param_5 = param_5 - 4;\n      if (param_5 == 0) break;\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      bVar59 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + bVar58;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      lVar54 = lVar54 + (ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58));\nLAB_00134e5f:\n      auVar16._8_8_ = 0;\n      auVar16._0_8_ = uVar57;\n      auVar34._8_8_ = 0;\n      auVar34._0_8_ = *puVar55;\n      uVar50 = SUB168(auVar16 * auVar34,8);\n      uVar57 = SUB168(auVar16 * auVar34,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + uVar57;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar50,uVar57));\n    }\n    lVar54 = lVar54 + (ulong)(CARRY8(uVar48,uVar50) ||\n                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57)));\n    plVar1[-uVar56] = uVar52 + uVar57;\n    if (uVar56 != 1) {\n                    /* WARNING: Could not recover jumptable at 0x00134eca. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + 8,uVar50,lVar54);\n      return;\n    }\n    *plVar1 = uVar48 + uVar50 + (ulong)CARRY8(uVar52,uVar57);\n    plVar1[1] = lVar54;\n  }\n  else {\n    param_2 = param_2 + param_3 * 8;\n    if ((param_5 & 1) == 0) {\n      uVar48 = *param_4;\n      uVar52 = param_4[1];\n      auVar7._8_8_ = 0;\n      auVar7._0_8_ = *(ulong *)(param_2 + -8 + uVar56 * -8);\n      auVar25._8_8_ = 0;\n      auVar25._0_8_ = uVar52;\n      auVar7 = auVar7 * auVar25;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134b8e;\n      }\n      if (uVar51 < 2) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        uVar56 = uVar57;\n        goto LAB_00134c0d;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        goto LAB_00134be9;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar11._8_8_ = 0;\n        auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar29._8_8_ = 0;\n        auVar29._0_8_ = uVar48;\n        uVar49 = SUB168(auVar11 * auVar29,8);\n        uVar47 = SUB168(auVar11 * auVar29,0);\n        uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar43._0_8_ = uVar50 + uVar56;\n        auVar43._9_7_ = 0;\n        uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;\n        auVar12._8_8_ = 0;\n        auVar12._0_8_ = uVar56;\n        auVar30._8_8_ = 0;\n        auVar30._0_8_ = uVar52;\n        auVar7 = auVar12 * auVar30 + auVar43;\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\nLAB_00134be9:\n        uVar53 = auVar7._0_8_;\n        auVar13._8_8_ = 0;\n        auVar13._0_8_ = uVar56;\n        auVar31._8_8_ = 0;\n        auVar31._0_8_ = uVar48;\n        uVar49 = SUB168(auVar13 * auVar31,8);\n        uVar47 = SUB168(auVar13 * auVar31,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar44._0_8_ = uVar50 + uVar56;\n        auVar44._9_7_ = 0;\n        auVar14._8_8_ = 0;\n        auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar32._8_8_ = 0;\n        auVar32._0_8_ = uVar52;\n        auVar7 = auVar14 * auVar32 + auVar44;\n        plVar1[uVar57 + 2] = uVar53 + uVar47;\n        uVar56 = uVar57;\nLAB_00134c0d:\n        auVar15._8_8_ = 0;\n        auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);\n        auVar33._8_8_ = 0;\n        auVar33._0_8_ = uVar48;\n        uVar49 = SUB168(auVar15 * auVar33,8);\n        uVar47 = SUB168(auVar15 * auVar33,0);\n        uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);\n        lVar54 = uVar50 + uVar57;\n        auVar41[8] = bVar58;\n        auVar41._0_8_ = lVar54;\n        auVar41._9_7_ = 0;\n        uVar57 = uVar56 + 4;\n        plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;\n        if (uVar57 == 0) break;\n        auVar8._8_8_ = 0;\n        auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);\n        auVar26._8_8_ = 0;\n        auVar26._0_8_ = uVar52;\n        auVar7 = auVar8 * auVar26 + auVar41;\nLAB_00134b8e:\n        uVar53 = auVar7._0_8_;\n        auVar9._8_8_ = 0;\n        auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar27._8_8_ = 0;\n        auVar27._0_8_ = uVar48;\n        uVar49 = SUB168(auVar9 * auVar27,8);\n        uVar47 = SUB168(auVar9 * auVar27,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar42._0_8_ = uVar50 + uVar56;\n        auVar42._9_7_ = 0;\n        auVar10._8_8_ = 0;\n        auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar28._8_8_ = 0;\n        auVar28._0_8_ = uVar52;\n        auVar7 = auVar10 * auVar28 + auVar42;\n        plVar1[uVar57] = uVar53 + uVar47;\n      }\n      *plVar1 = lVar54;\n      plVar1[1] = (ulong)bVar58;\n      if (param_5 != 2) {\n                    /* WARNING: Could not recover jumptable at 0x00134c50. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);\n        return;\n      }\n    }\n    else {\n      uVar48 = *param_4;\n      auVar2._8_8_ = 0;\n      auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8);\n      auVar20._8_8_ = 0;\n      auVar20._0_8_ = uVar48;\n      auVar2 = auVar2 * auVar20;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      uVar52 = (ulong)uVar51;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134a72;\n      }\n      if (uVar51 < 2) {\n        uVar57 = uVar57 + 4;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        goto LAB_00134a5f;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        uVar52 = uVar57;\n        goto LAB_00134aa7;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar45._8_8_ = 0;\n        auVar45._0_8_ = auVar2._8_8_;\n        auVar5._8_8_ = 0;\n        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar23._8_8_ = 0;\n        auVar23._0_8_ = uVar48;\n        plVar1[uVar57 + 1] = auVar2._0_8_;\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        auVar2 = auVar5 * auVar23 + auVar45;\n        uVar52 = uVar57;\nLAB_00134aa7:\n        auVar46._8_8_ = 0;\n        auVar46._0_8_ = auVar2._8_8_;\n        auVar40._8_8_ = 0;\n        auVar40._0_8_ = auVar2._8_8_;\n        auVar6._8_8_ = 0;\n        auVar6._0_8_ = uVar56;\n        auVar24._8_8_ = 0;\n        auVar24._0_8_ = uVar48;\n        uVar57 = uVar52 + 4;\n        if (-1 < (long)uVar57) break;\n        plVar1[uVar52 + 2] = auVar2._0_8_;\n        auVar2 = auVar6 * auVar24 + auVar40;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\nLAB_00134a5f:\n        auVar38._8_8_ = 0;\n        auVar38._0_8_ = auVar2._8_8_;\n        uVar52 = 0;\n        auVar3._8_8_ = 0;\n        auVar3._0_8_ = uVar56;\n        auVar21._8_8_ = 0;\n        auVar21._0_8_ = uVar48;\n        plVar1[uVar57 - 1] = auVar2._0_8_;\n        auVar2 = auVar3 * auVar21 + auVar38;\nLAB_00134a72:\n        auVar39._8_8_ = uVar52;\n        auVar39._0_8_ = auVar2._8_8_;\n        auVar4._8_8_ = 0;\n        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar22._8_8_ = 0;\n        auVar22._0_8_ = uVar48;\n        plVar1[uVar57] = auVar2._0_8_;\n        auVar2 = auVar4 * auVar22 + auVar39;\n      }\n      plVar1[-2] = auVar2._0_8_;\n      auVar46 = auVar6 * auVar24 + auVar46;\n      plVar1[-1] = auVar46._0_8_;\n      plVar1[1] = 0;\n      *plVar1 = auVar46._8_8_;\n      if (param_5 != 1) {\n                    /* WARNING: Could not recover jumptable at 0x00134ae0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);\n        return;\n      }\n    }\n  }" if (parenthesized_expression "(uVar56 < 4)" ( (binary_expression "uVar56 < 4" identifier < number_literal) )) (compound_statement "{\n    uVar52 = 0;\n    uVar48 = 0;\n    lVar54 = 0;\n    uVar51 = (uint)param_5 & 3;\n    if ((param_5 & 3) == 0) {\n      UNRECOVERED_JUMPTABLE = (code *)0x134e0c;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      puVar55 = param_4;\n      goto LAB_00134e5f;\n    }\n    if (uVar51 < 2) {\n      puVar55 = param_4 + 1;\n      param_5 = param_5 + 3;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e28;\n      uVar57 = *param_4;\n      goto LAB_00134e9a;\n    }\n    if (uVar51 == 2) {\n      puVar55 = param_4 + -2;\n      param_5 = param_5 + 2;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e43;\n      uVar57 = *param_4;\n      goto LAB_00134e83;\n    }\n    puVar55 = param_4 + -1;\n    param_5 = param_5 + 1;\n    UNRECOVERED_JUMPTABLE = (code *)0x134e6c;\n    while( true ) {\n      auVar17._8_8_ = 0;\n      auVar17._0_8_ = *(ulong *)(param_2 + -0x10 + param_5 * 8);\n      auVar35._8_8_ = 0;\n      auVar35._0_8_ = puVar55[1];\n      uVar47 = SUB168(auVar17 * auVar35,8);\n      uVar57 = SUB168(auVar17 * auVar35,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[2];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e83:\n      auVar18._8_8_ = 0;\n      auVar18._0_8_ = uVar57;\n      auVar36._8_8_ = 0;\n      auVar36._0_8_ = *(ulong *)(param_2 + -0x18 + param_5 * 8);\n      uVar47 = SUB168(auVar18 * auVar36,8);\n      uVar57 = SUB168(auVar18 * auVar36,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[3];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      puVar55 = puVar55 + 4;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e9a:\n      auVar19._8_8_ = 0;\n      auVar19._0_8_ = uVar57;\n      auVar37._8_8_ = 0;\n      auVar37._0_8_ = *(ulong *)(param_2 + -0x20 + param_5 * 8);\n      uVar50 = SUB168(auVar19 * auVar37,8);\n      uVar57 = SUB168(auVar19 * auVar37,0);\n      param_5 = param_5 - 4;\n      if (param_5 == 0) break;\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      bVar59 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + bVar58;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      lVar54 = lVar54 + (ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58));\nLAB_00134e5f:\n      auVar16._8_8_ = 0;\n      auVar16._0_8_ = uVar57;\n      auVar34._8_8_ = 0;\n      auVar34._0_8_ = *puVar55;\n      uVar50 = SUB168(auVar16 * auVar34,8);\n      uVar57 = SUB168(auVar16 * auVar34,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + uVar57;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar50,uVar57));\n    }\n    lVar54 = lVar54 + (ulong)(CARRY8(uVar48,uVar50) ||\n                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57)));\n    plVar1[-uVar56] = uVar52 + uVar57;\n    if (uVar56 != 1) {\n                    /* WARNING: Could not recover jumptable at 0x00134eca. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + 8,uVar50,lVar54);\n      return;\n    }\n    *plVar1 = uVar48 + uVar50 + (ulong)CARRY8(uVar52,uVar57);\n    plVar1[1] = lVar54;\n  }" { (expression_statement "uVar52 = 0;" (assignment_expression "uVar52 = 0" identifier = number_literal) ;) (expression_statement "uVar48 = 0;" (assignment_expression "uVar48 = 0" identifier = number_literal) ;) (expression_statement "lVar54 = 0;" (assignment_expression "lVar54 = 0" identifier = number_literal) ;) (expression_statement "uVar51 = (uint)param_5 & 3;" (assignment_expression "uVar51 = (uint)param_5 & 3" identifier = (binary_expression "(uint)param_5 & 3" (cast_expression "(uint)param_5" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (if_statement "if ((param_5 & 3) == 0) {\n      UNRECOVERED_JUMPTABLE = (code *)0x134e0c;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      puVar55 = param_4;\n      goto LAB_00134e5f;\n    }" if (parenthesized_expression "((param_5 & 3) == 0)" ( (binary_expression "(param_5 & 3) == 0" (parenthesized_expression "(param_5 & 3)" ( (binary_expression "param_5 & 3" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      UNRECOVERED_JUMPTABLE = (code *)0x134e0c;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      puVar55 = param_4;\n      goto LAB_00134e5f;\n    }" { (expression_statement "UNRECOVERED_JUMPTABLE = (code *)0x134e0c;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)0x134e0c" identifier = (cast_expression "(code *)0x134e0c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);" (assignment_expression "uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8)" identifier = (pointer_expression "*(ulong *)(param_2 + -8 + param_5 * 8)" * (cast_expression "(ulong *)(param_2 + -8 + param_5 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + -8 + param_5 * 8)" ( (binary_expression "param_2 + -8 + param_5 * 8" (binary_expression "param_2 + -8" identifier + number_literal) + (binary_expression "param_5 * 8" identifier * number_literal)) ))))) ;) (expression_statement "puVar55 = param_4;" (assignment_expression "puVar55 = param_4" identifier = identifier) ;) (goto_statement "goto LAB_00134e5f;" goto statement_identifier ;) })) (if_statement "if (uVar51 < 2) {\n      puVar55 = param_4 + 1;\n      param_5 = param_5 + 3;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e28;\n      uVar57 = *param_4;\n      goto LAB_00134e9a;\n    }" if (parenthesized_expression "(uVar51 < 2)" ( (binary_expression "uVar51 < 2" identifier < number_literal) )) (compound_statement "{\n      puVar55 = param_4 + 1;\n      param_5 = param_5 + 3;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e28;\n      uVar57 = *param_4;\n      goto LAB_00134e9a;\n    }" { (expression_statement "puVar55 = param_4 + 1;" (assignment_expression "puVar55 = param_4 + 1" identifier = (binary_expression "param_4 + 1" identifier + number_literal)) ;) (expression_statement "param_5 = param_5 + 3;" (assignment_expression "param_5 = param_5 + 3" identifier = (binary_expression "param_5 + 3" identifier + number_literal)) ;) (expression_statement "UNRECOVERED_JUMPTABLE = (code *)0x134e28;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)0x134e28" identifier = (cast_expression "(code *)0x134e28" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar57 = *param_4;" (assignment_expression "uVar57 = *param_4" identifier = (pointer_expression "*param_4" * identifier)) ;) (goto_statement "goto LAB_00134e9a;" goto statement_identifier ;) })) (if_statement "if (uVar51 == 2) {\n      puVar55 = param_4 + -2;\n      param_5 = param_5 + 2;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e43;\n      uVar57 = *param_4;\n      goto LAB_00134e83;\n    }" if (parenthesized_expression "(uVar51 == 2)" ( (binary_expression "uVar51 == 2" identifier == number_literal) )) (compound_statement "{\n      puVar55 = param_4 + -2;\n      param_5 = param_5 + 2;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e43;\n      uVar57 = *param_4;\n      goto LAB_00134e83;\n    }" { (expression_statement "puVar55 = param_4 + -2;" (assignment_expression "puVar55 = param_4 + -2" identifier = (binary_expression "param_4 + -2" identifier + number_literal)) ;) (expression_statement "param_5 = param_5 + 2;" (assignment_expression "param_5 = param_5 + 2" identifier = (binary_expression "param_5 + 2" identifier + number_literal)) ;) (expression_statement "UNRECOVERED_JUMPTABLE = (code *)0x134e43;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)0x134e43" identifier = (cast_expression "(code *)0x134e43" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar57 = *param_4;" (assignment_expression "uVar57 = *param_4" identifier = (pointer_expression "*param_4" * identifier)) ;) (goto_statement "goto LAB_00134e83;" goto statement_identifier ;) })) (expression_statement "puVar55 = param_4 + -1;" (assignment_expression "puVar55 = param_4 + -1" identifier = (binary_expression "param_4 + -1" identifier + number_literal)) ;) (expression_statement "param_5 = param_5 + 1;" (assignment_expression "param_5 = param_5 + 1" identifier = (binary_expression "param_5 + 1" identifier + number_literal)) ;) (expression_statement "UNRECOVERED_JUMPTABLE = (code *)0x134e6c;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)0x134e6c" identifier = (cast_expression "(code *)0x134e6c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (while_statement "while( true ) {\n      auVar17._8_8_ = 0;\n      auVar17._0_8_ = *(ulong *)(param_2 + -0x10 + param_5 * 8);\n      auVar35._8_8_ = 0;\n      auVar35._0_8_ = puVar55[1];\n      uVar47 = SUB168(auVar17 * auVar35,8);\n      uVar57 = SUB168(auVar17 * auVar35,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[2];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e83:\n      auVar18._8_8_ = 0;\n      auVar18._0_8_ = uVar57;\n      auVar36._8_8_ = 0;\n      auVar36._0_8_ = *(ulong *)(param_2 + -0x18 + param_5 * 8);\n      uVar47 = SUB168(auVar18 * auVar36,8);\n      uVar57 = SUB168(auVar18 * auVar36,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[3];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      puVar55 = puVar55 + 4;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e9a:\n      auVar19._8_8_ = 0;\n      auVar19._0_8_ = uVar57;\n      auVar37._8_8_ = 0;\n      auVar37._0_8_ = *(ulong *)(param_2 + -0x20 + param_5 * 8);\n      uVar50 = SUB168(auVar19 * auVar37,8);\n      uVar57 = SUB168(auVar19 * auVar37,0);\n      param_5 = param_5 - 4;\n      if (param_5 == 0) break;\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      bVar59 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + bVar58;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      lVar54 = lVar54 + (ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58));\nLAB_00134e5f:\n      auVar16._8_8_ = 0;\n      auVar16._0_8_ = uVar57;\n      auVar34._8_8_ = 0;\n      auVar34._0_8_ = *puVar55;\n      uVar50 = SUB168(auVar16 * auVar34,8);\n      uVar57 = SUB168(auVar16 * auVar34,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + uVar57;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar50,uVar57));\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      auVar17._8_8_ = 0;\n      auVar17._0_8_ = *(ulong *)(param_2 + -0x10 + param_5 * 8);\n      auVar35._8_8_ = 0;\n      auVar35._0_8_ = puVar55[1];\n      uVar47 = SUB168(auVar17 * auVar35,8);\n      uVar57 = SUB168(auVar17 * auVar35,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[2];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e83:\n      auVar18._8_8_ = 0;\n      auVar18._0_8_ = uVar57;\n      auVar36._8_8_ = 0;\n      auVar36._0_8_ = *(ulong *)(param_2 + -0x18 + param_5 * 8);\n      uVar47 = SUB168(auVar18 * auVar36,8);\n      uVar57 = SUB168(auVar18 * auVar36,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[3];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      puVar55 = puVar55 + 4;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e9a:\n      auVar19._8_8_ = 0;\n      auVar19._0_8_ = uVar57;\n      auVar37._8_8_ = 0;\n      auVar37._0_8_ = *(ulong *)(param_2 + -0x20 + param_5 * 8);\n      uVar50 = SUB168(auVar19 * auVar37,8);\n      uVar57 = SUB168(auVar19 * auVar37,0);\n      param_5 = param_5 - 4;\n      if (param_5 == 0) break;\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      bVar59 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + bVar58;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      lVar54 = lVar54 + (ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58));\nLAB_00134e5f:\n      auVar16._8_8_ = 0;\n      auVar16._0_8_ = uVar57;\n      auVar34._8_8_ = 0;\n      auVar34._0_8_ = *puVar55;\n      uVar50 = SUB168(auVar16 * auVar34,8);\n      uVar57 = SUB168(auVar16 * auVar34,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + uVar57;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar50,uVar57));\n    }" { (expression_statement "auVar17._8_8_ = 0;" (assignment_expression "auVar17._8_8_ = 0" (field_expression "auVar17._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar17._0_8_ = *(ulong *)(param_2 + -0x10 + param_5 * 8);" (assignment_expression "auVar17._0_8_ = *(ulong *)(param_2 + -0x10 + param_5 * 8)" (field_expression "auVar17._0_8_" identifier . field_identifier) = (pointer_expression "*(ulong *)(param_2 + -0x10 + param_5 * 8)" * (cast_expression "(ulong *)(param_2 + -0x10 + param_5 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + -0x10 + param_5 * 8)" ( (binary_expression "param_2 + -0x10 + param_5 * 8" (binary_expression "param_2 + -0x10" identifier + number_literal) + (binary_expression "param_5 * 8" identifier * number_literal)) ))))) ;) (expression_statement "auVar35._8_8_ = 0;" (assignment_expression "auVar35._8_8_ = 0" (field_expression "auVar35._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar35._0_8_ = puVar55[1];" (assignment_expression "auVar35._0_8_ = puVar55[1]" (field_expression "auVar35._0_8_" identifier . field_identifier) = (subscript_expression "puVar55[1]" identifier [ number_literal ])) ;) (expression_statement "uVar47 = SUB168(auVar17 * auVar35,8);" (assignment_expression "uVar47 = SUB168(auVar17 * auVar35,8)" identifier = (call_expression "SUB168(auVar17 * auVar35,8)" identifier (argument_list "(auVar17 * auVar35,8)" ( (binary_expression "auVar17 * auVar35" identifier * identifier) , number_literal )))) ;) (expression_statement "uVar57 = SUB168(auVar17 * auVar35,0);" (assignment_expression "uVar57 = SUB168(auVar17 * auVar35,0)" identifier = (call_expression "SUB168(auVar17 * auVar35,0)" identifier (argument_list "(auVar17 * auVar35,0)" ( (binary_expression "auVar17 * auVar35" identifier * identifier) , number_literal )))) ;) (expression_statement "bVar58 = CARRY8(uVar52,uVar57);" (assignment_expression "bVar58 = CARRY8(uVar52,uVar57)" identifier = (call_expression "CARRY8(uVar52,uVar57)" identifier (argument_list "(uVar52,uVar57)" ( identifier , identifier )))) ;) (expression_statement "uVar52 = uVar52 + uVar57;" (assignment_expression "uVar52 = uVar52 + uVar57" identifier = (binary_expression "uVar52 + uVar57" identifier + identifier)) ;) (expression_statement "uVar57 = puVar55[2];" (assignment_expression "uVar57 = puVar55[2]" identifier = (subscript_expression "puVar55[2]" identifier [ number_literal ])) ;) (expression_statement "uVar50 = (ulong)bVar58;" (assignment_expression "uVar50 = (ulong)bVar58" identifier = (cast_expression "(ulong)bVar58" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "bVar58 = CARRY8(uVar48,uVar47);" (assignment_expression "bVar58 = CARRY8(uVar48,uVar47)" identifier = (call_expression "CARRY8(uVar48,uVar47)" identifier (argument_list "(uVar48,uVar47)" ( identifier , identifier )))) ;) (expression_statement "uVar47 = uVar48 + uVar47;" (assignment_expression "uVar47 = uVar48 + uVar47" identifier = (binary_expression "uVar48 + uVar47" identifier + identifier)) ;) (expression_statement "uVar48 = uVar47 + uVar50;" (assignment_expression "uVar48 = uVar47 + uVar50" identifier = (binary_expression "uVar47 + uVar50" identifier + identifier)) ;) (expression_statement "lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));" (assignment_expression "lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50))" identifier = (binary_expression "lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50))" identifier + (call_expression "(ulong)(bVar58 || CARRY8(uVar47,uVar50))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(bVar58 || CARRY8(uVar47,uVar50))" ( (binary_expression "bVar58 || CARRY8(uVar47,uVar50)" identifier || (call_expression "CARRY8(uVar47,uVar50)" identifier (argument_list "(uVar47,uVar50)" ( identifier , identifier )))) ))))) ;) (labeled_statement "LAB_00134e83:\n      auVar18._8_8_ = 0;" statement_identifier : (expression_statement "auVar18._8_8_ = 0;" (assignment_expression "auVar18._8_8_ = 0" (field_expression "auVar18._8_8_" identifier . field_identifier) = number_literal) ;)) (expression_statement "auVar18._0_8_ = uVar57;" (assignment_expression "auVar18._0_8_ = uVar57" (field_expression "auVar18._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar36._8_8_ = 0;" (assignment_expression "auVar36._8_8_ = 0" (field_expression "auVar36._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar36._0_8_ = *(ulong *)(param_2 + -0x18 + param_5 * 8);" (assignment_expression "auVar36._0_8_ = *(ulong *)(param_2 + -0x18 + param_5 * 8)" (field_expression "auVar36._0_8_" identifier . field_identifier) = (pointer_expression "*(ulong *)(param_2 + -0x18 + param_5 * 8)" * (cast_expression "(ulong *)(param_2 + -0x18 + param_5 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + -0x18 + param_5 * 8)" ( (binary_expression "param_2 + -0x18 + param_5 * 8" (binary_expression "param_2 + -0x18" identifier + number_literal) + (binary_expression "param_5 * 8" identifier * number_literal)) ))))) ;) (expression_statement "uVar47 = SUB168(auVar18 * auVar36,8);" (assignment_expression "uVar47 = SUB168(auVar18 * auVar36,8)" identifier = (call_expression "SUB168(auVar18 * auVar36,8)" identifier (argument_list "(auVar18 * auVar36,8)" ( (binary_expression "auVar18 * auVar36" identifier * identifier) , number_literal )))) ;) (expression_statement "uVar57 = SUB168(auVar18 * auVar36,0);" (assignment_expression "uVar57 = SUB168(auVar18 * auVar36,0)" identifier = (call_expression "SUB168(auVar18 * auVar36,0)" identifier (argument_list "(auVar18 * auVar36,0)" ( (binary_expression "auVar18 * auVar36" identifier * identifier) , number_literal )))) ;) (expression_statement "bVar58 = CARRY8(uVar52,uVar57);" (assignment_expression "bVar58 = CARRY8(uVar52,uVar57)" identifier = (call_expression "CARRY8(uVar52,uVar57)" identifier (argument_list "(uVar52,uVar57)" ( identifier , identifier )))) ;) (expression_statement "uVar52 = uVar52 + uVar57;" (assignment_expression "uVar52 = uVar52 + uVar57" identifier = (binary_expression "uVar52 + uVar57" identifier + identifier)) ;) (expression_statement "uVar57 = puVar55[3];" (assignment_expression "uVar57 = puVar55[3]" identifier = (subscript_expression "puVar55[3]" identifier [ number_literal ])) ;) (expression_statement "uVar50 = (ulong)bVar58;" (assignment_expression "uVar50 = (ulong)bVar58" identifier = (cast_expression "(ulong)bVar58" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "bVar58 = CARRY8(uVar48,uVar47);" (assignment_expression "bVar58 = CARRY8(uVar48,uVar47)" identifier = (call_expression "CARRY8(uVar48,uVar47)" identifier (argument_list "(uVar48,uVar47)" ( identifier , identifier )))) ;) (expression_statement "uVar47 = uVar48 + uVar47;" (assignment_expression "uVar47 = uVar48 + uVar47" identifier = (binary_expression "uVar48 + uVar47" identifier + identifier)) ;) (expression_statement "uVar48 = uVar47 + uVar50;" (assignment_expression "uVar48 = uVar47 + uVar50" identifier = (binary_expression "uVar47 + uVar50" identifier + identifier)) ;) (expression_statement "puVar55 = puVar55 + 4;" (assignment_expression "puVar55 = puVar55 + 4" identifier = (binary_expression "puVar55 + 4" identifier + number_literal)) ;) (expression_statement "lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));" (assignment_expression "lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50))" identifier = (binary_expression "lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50))" identifier + (call_expression "(ulong)(bVar58 || CARRY8(uVar47,uVar50))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(bVar58 || CARRY8(uVar47,uVar50))" ( (binary_expression "bVar58 || CARRY8(uVar47,uVar50)" identifier || (call_expression "CARRY8(uVar47,uVar50)" identifier (argument_list "(uVar47,uVar50)" ( identifier , identifier )))) ))))) ;) (labeled_statement "LAB_00134e9a:\n      auVar19._8_8_ = 0;" statement_identifier : (expression_statement "auVar19._8_8_ = 0;" (assignment_expression "auVar19._8_8_ = 0" (field_expression "auVar19._8_8_" identifier . field_identifier) = number_literal) ;)) (expression_statement "auVar19._0_8_ = uVar57;" (assignment_expression "auVar19._0_8_ = uVar57" (field_expression "auVar19._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar37._8_8_ = 0;" (assignment_expression "auVar37._8_8_ = 0" (field_expression "auVar37._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar37._0_8_ = *(ulong *)(param_2 + -0x20 + param_5 * 8);" (assignment_expression "auVar37._0_8_ = *(ulong *)(param_2 + -0x20 + param_5 * 8)" (field_expression "auVar37._0_8_" identifier . field_identifier) = (pointer_expression "*(ulong *)(param_2 + -0x20 + param_5 * 8)" * (cast_expression "(ulong *)(param_2 + -0x20 + param_5 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + -0x20 + param_5 * 8)" ( (binary_expression "param_2 + -0x20 + param_5 * 8" (binary_expression "param_2 + -0x20" identifier + number_literal) + (binary_expression "param_5 * 8" identifier * number_literal)) ))))) ;) (expression_statement "uVar50 = SUB168(auVar19 * auVar37,8);" (assignment_expression "uVar50 = SUB168(auVar19 * auVar37,8)" identifier = (call_expression "SUB168(auVar19 * auVar37,8)" identifier (argument_list "(auVar19 * auVar37,8)" ( (binary_expression "auVar19 * auVar37" identifier * identifier) , number_literal )))) ;) (expression_statement "uVar57 = SUB168(auVar19 * auVar37,0);" (assignment_expression "uVar57 = SUB168(auVar19 * auVar37,0)" identifier = (call_expression "SUB168(auVar19 * auVar37,0)" identifier (argument_list "(auVar19 * auVar37,0)" ( (binary_expression "auVar19 * auVar37" identifier * identifier) , number_literal )))) ;) (expression_statement "param_5 = param_5 - 4;" (assignment_expression "param_5 = param_5 - 4" identifier = (binary_expression "param_5 - 4" identifier - number_literal)) ;) (if_statement "if (param_5 == 0) break;" if (parenthesized_expression "(param_5 == 0)" ( (binary_expression "param_5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "bVar58 = CARRY8(uVar52,uVar57);" (assignment_expression "bVar58 = CARRY8(uVar52,uVar57)" identifier = (call_expression "CARRY8(uVar52,uVar57)" identifier (argument_list "(uVar52,uVar57)" ( identifier , identifier )))) ;) (expression_statement "uVar52 = uVar52 + uVar57;" (assignment_expression "uVar52 = uVar52 + uVar57" identifier = (binary_expression "uVar52 + uVar57" identifier + identifier)) ;) (expression_statement "bVar59 = CARRY8(uVar48,uVar50);" (assignment_expression "bVar59 = CARRY8(uVar48,uVar50)" identifier = (call_expression "CARRY8(uVar48,uVar50)" identifier (argument_list "(uVar48,uVar50)" ( identifier , identifier )))) ;) (expression_statement "uVar50 = uVar48 + uVar50;" (assignment_expression "uVar50 = uVar48 + uVar50" identifier = (binary_expression "uVar48 + uVar50" identifier + identifier)) ;) (expression_statement "uVar48 = uVar50 + bVar58;" (assignment_expression "uVar48 = uVar50 + bVar58" identifier = (binary_expression "uVar50 + bVar58" identifier + identifier)) ;) (expression_statement "uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);" (assignment_expression "uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8)" identifier = (pointer_expression "*(ulong *)(param_2 + -8 + param_5 * 8)" * (cast_expression "(ulong *)(param_2 + -8 + param_5 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + -8 + param_5 * 8)" ( (binary_expression "param_2 + -8 + param_5 * 8" (binary_expression "param_2 + -8" identifier + number_literal) + (binary_expression "param_5 * 8" identifier * number_literal)) ))))) ;) (expression_statement "lVar54 = lVar54 + (ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58));" (assignment_expression "lVar54 = lVar54 + (ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58))" identifier = (binary_expression "lVar54 + (ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58))" identifier + (call_expression "(ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(bVar59 || CARRY8(uVar50,(ulong)bVar58))" ( (binary_expression "bVar59 || CARRY8(uVar50,(ulong)bVar58)" identifier || (call_expression "CARRY8(uVar50,(ulong)bVar58)" identifier (argument_list "(uVar50,(ulong)bVar58)" ( identifier , (cast_expression "(ulong)bVar58" ( (type_descriptor "ulong" type_identifier) ) identifier) )))) ))))) ;) (labeled_statement "LAB_00134e5f:\n      auVar16._8_8_ = 0;" statement_identifier : (expression_statement "auVar16._8_8_ = 0;" (assignment_expression "auVar16._8_8_ = 0" (field_expression "auVar16._8_8_" identifier . field_identifier) = number_literal) ;)) (expression_statement "auVar16._0_8_ = uVar57;" (assignment_expression "auVar16._0_8_ = uVar57" (field_expression "auVar16._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar34._8_8_ = 0;" (assignment_expression "auVar34._8_8_ = 0" (field_expression "auVar34._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar34._0_8_ = *puVar55;" (assignment_expression "auVar34._0_8_ = *puVar55" (field_expression "auVar34._0_8_" identifier . field_identifier) = (pointer_expression "*puVar55" * identifier)) ;) (expression_statement "uVar50 = SUB168(auVar16 * auVar34,8);" (assignment_expression "uVar50 = SUB168(auVar16 * auVar34,8)" identifier = (call_expression "SUB168(auVar16 * auVar34,8)" identifier (argument_list "(auVar16 * auVar34,8)" ( (binary_expression "auVar16 * auVar34" identifier * identifier) , number_literal )))) ;) (expression_statement "uVar57 = SUB168(auVar16 * auVar34,0);" (assignment_expression "uVar57 = SUB168(auVar16 * auVar34,0)" identifier = (call_expression "SUB168(auVar16 * auVar34,0)" identifier (argument_list "(auVar16 * auVar34,0)" ( (binary_expression "auVar16 * auVar34" identifier * identifier) , number_literal )))) ;) (expression_statement "bVar58 = CARRY8(uVar52,uVar57);" (assignment_expression "bVar58 = CARRY8(uVar52,uVar57)" identifier = (call_expression "CARRY8(uVar52,uVar57)" identifier (argument_list "(uVar52,uVar57)" ( identifier , identifier )))) ;) (expression_statement "uVar52 = uVar52 + uVar57;" (assignment_expression "uVar52 = uVar52 + uVar57" identifier = (binary_expression "uVar52 + uVar57" identifier + identifier)) ;) (expression_statement "uVar57 = (ulong)bVar58;" (assignment_expression "uVar57 = (ulong)bVar58" identifier = (cast_expression "(ulong)bVar58" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "bVar58 = CARRY8(uVar48,uVar50);" (assignment_expression "bVar58 = CARRY8(uVar48,uVar50)" identifier = (call_expression "CARRY8(uVar48,uVar50)" identifier (argument_list "(uVar48,uVar50)" ( identifier , identifier )))) ;) (expression_statement "uVar50 = uVar48 + uVar50;" (assignment_expression "uVar50 = uVar48 + uVar50" identifier = (binary_expression "uVar48 + uVar50" identifier + identifier)) ;) (expression_statement "uVar48 = uVar50 + uVar57;" (assignment_expression "uVar48 = uVar50 + uVar57" identifier = (binary_expression "uVar50 + uVar57" identifier + identifier)) ;) (expression_statement "lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar50,uVar57));" (assignment_expression "lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar50,uVar57))" identifier = (binary_expression "lVar54 + (ulong)(bVar58 || CARRY8(uVar50,uVar57))" identifier + (call_expression "(ulong)(bVar58 || CARRY8(uVar50,uVar57))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(bVar58 || CARRY8(uVar50,uVar57))" ( (binary_expression "bVar58 || CARRY8(uVar50,uVar57)" identifier || (call_expression "CARRY8(uVar50,uVar57)" identifier (argument_list "(uVar50,uVar57)" ( identifier , identifier )))) ))))) ;) })) (expression_statement "lVar54 = lVar54 + (ulong)(CARRY8(uVar48,uVar50) ||\n                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57)));" (assignment_expression "lVar54 = lVar54 + (ulong)(CARRY8(uVar48,uVar50) ||\n                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57)))" identifier = (binary_expression "lVar54 + (ulong)(CARRY8(uVar48,uVar50) ||\n                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57)))" identifier + (call_expression "(ulong)(CARRY8(uVar48,uVar50) ||\n                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57)))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(CARRY8(uVar48,uVar50) ||\n                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57)))" ( (binary_expression "CARRY8(uVar48,uVar50) ||\n                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57))" (call_expression "CARRY8(uVar48,uVar50)" identifier (argument_list "(uVar48,uVar50)" ( identifier , identifier ))) || (call_expression "CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57))" identifier (argument_list "(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57))" ( (binary_expression "uVar48 + uVar50" identifier + identifier) , (cast_expression "(ulong)CARRY8(uVar52,uVar57)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY8(uVar52,uVar57)" identifier (argument_list "(uVar52,uVar57)" ( identifier , identifier )))) )))) ))))) ;) (expression_statement "plVar1[-uVar56] = uVar52 + uVar57;" (assignment_expression "plVar1[-uVar56] = uVar52 + uVar57" (subscript_expression "plVar1[-uVar56]" identifier [ (unary_expression "-uVar56" - identifier) ]) = (binary_expression "uVar52 + uVar57" identifier + identifier)) ;) (if_statement "if (uVar56 != 1) {\n                    /* WARNING: Could not recover jumptable at 0x00134eca. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + 8,uVar50,lVar54);\n      return;\n    }" if (parenthesized_expression "(uVar56 != 1)" ( (binary_expression "uVar56 != 1" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x00134eca. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + 8,uVar50,lVar54);\n      return;\n    }" { comment comment (expression_statement "(*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + 8,uVar50,lVar54);" (call_expression "(*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + 8,uVar50,lVar54)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "(plVar1,param_2 + 8,uVar50,lVar54)" ( identifier , (binary_expression "param_2 + 8" identifier + number_literal) , identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "*plVar1 = uVar48 + uVar50 + (ulong)CARRY8(uVar52,uVar57);" (assignment_expression "*plVar1 = uVar48 + uVar50 + (ulong)CARRY8(uVar52,uVar57)" (pointer_expression "*plVar1" * identifier) = (binary_expression "uVar48 + uVar50 + (ulong)CARRY8(uVar52,uVar57)" (binary_expression "uVar48 + uVar50" identifier + identifier) + (cast_expression "(ulong)CARRY8(uVar52,uVar57)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY8(uVar52,uVar57)" identifier (argument_list "(uVar52,uVar57)" ( identifier , identifier )))))) ;) (expression_statement "plVar1[1] = lVar54;" (assignment_expression "plVar1[1] = lVar54" (subscript_expression "plVar1[1]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n    param_2 = param_2 + param_3 * 8;\n    if ((param_5 & 1) == 0) {\n      uVar48 = *param_4;\n      uVar52 = param_4[1];\n      auVar7._8_8_ = 0;\n      auVar7._0_8_ = *(ulong *)(param_2 + -8 + uVar56 * -8);\n      auVar25._8_8_ = 0;\n      auVar25._0_8_ = uVar52;\n      auVar7 = auVar7 * auVar25;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134b8e;\n      }\n      if (uVar51 < 2) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        uVar56 = uVar57;\n        goto LAB_00134c0d;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        goto LAB_00134be9;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar11._8_8_ = 0;\n        auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar29._8_8_ = 0;\n        auVar29._0_8_ = uVar48;\n        uVar49 = SUB168(auVar11 * auVar29,8);\n        uVar47 = SUB168(auVar11 * auVar29,0);\n        uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar43._0_8_ = uVar50 + uVar56;\n        auVar43._9_7_ = 0;\n        uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;\n        auVar12._8_8_ = 0;\n        auVar12._0_8_ = uVar56;\n        auVar30._8_8_ = 0;\n        auVar30._0_8_ = uVar52;\n        auVar7 = auVar12 * auVar30 + auVar43;\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\nLAB_00134be9:\n        uVar53 = auVar7._0_8_;\n        auVar13._8_8_ = 0;\n        auVar13._0_8_ = uVar56;\n        auVar31._8_8_ = 0;\n        auVar31._0_8_ = uVar48;\n        uVar49 = SUB168(auVar13 * auVar31,8);\n        uVar47 = SUB168(auVar13 * auVar31,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar44._0_8_ = uVar50 + uVar56;\n        auVar44._9_7_ = 0;\n        auVar14._8_8_ = 0;\n        auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar32._8_8_ = 0;\n        auVar32._0_8_ = uVar52;\n        auVar7 = auVar14 * auVar32 + auVar44;\n        plVar1[uVar57 + 2] = uVar53 + uVar47;\n        uVar56 = uVar57;\nLAB_00134c0d:\n        auVar15._8_8_ = 0;\n        auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);\n        auVar33._8_8_ = 0;\n        auVar33._0_8_ = uVar48;\n        uVar49 = SUB168(auVar15 * auVar33,8);\n        uVar47 = SUB168(auVar15 * auVar33,0);\n        uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);\n        lVar54 = uVar50 + uVar57;\n        auVar41[8] = bVar58;\n        auVar41._0_8_ = lVar54;\n        auVar41._9_7_ = 0;\n        uVar57 = uVar56 + 4;\n        plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;\n        if (uVar57 == 0) break;\n        auVar8._8_8_ = 0;\n        auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);\n        auVar26._8_8_ = 0;\n        auVar26._0_8_ = uVar52;\n        auVar7 = auVar8 * auVar26 + auVar41;\nLAB_00134b8e:\n        uVar53 = auVar7._0_8_;\n        auVar9._8_8_ = 0;\n        auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar27._8_8_ = 0;\n        auVar27._0_8_ = uVar48;\n        uVar49 = SUB168(auVar9 * auVar27,8);\n        uVar47 = SUB168(auVar9 * auVar27,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar42._0_8_ = uVar50 + uVar56;\n        auVar42._9_7_ = 0;\n        auVar10._8_8_ = 0;\n        auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar28._8_8_ = 0;\n        auVar28._0_8_ = uVar52;\n        auVar7 = auVar10 * auVar28 + auVar42;\n        plVar1[uVar57] = uVar53 + uVar47;\n      }\n      *plVar1 = lVar54;\n      plVar1[1] = (ulong)bVar58;\n      if (param_5 != 2) {\n                    /* WARNING: Could not recover jumptable at 0x00134c50. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);\n        return;\n      }\n    }\n    else {\n      uVar48 = *param_4;\n      auVar2._8_8_ = 0;\n      auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8);\n      auVar20._8_8_ = 0;\n      auVar20._0_8_ = uVar48;\n      auVar2 = auVar2 * auVar20;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      uVar52 = (ulong)uVar51;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134a72;\n      }\n      if (uVar51 < 2) {\n        uVar57 = uVar57 + 4;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        goto LAB_00134a5f;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        uVar52 = uVar57;\n        goto LAB_00134aa7;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar45._8_8_ = 0;\n        auVar45._0_8_ = auVar2._8_8_;\n        auVar5._8_8_ = 0;\n        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar23._8_8_ = 0;\n        auVar23._0_8_ = uVar48;\n        plVar1[uVar57 + 1] = auVar2._0_8_;\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        auVar2 = auVar5 * auVar23 + auVar45;\n        uVar52 = uVar57;\nLAB_00134aa7:\n        auVar46._8_8_ = 0;\n        auVar46._0_8_ = auVar2._8_8_;\n        auVar40._8_8_ = 0;\n        auVar40._0_8_ = auVar2._8_8_;\n        auVar6._8_8_ = 0;\n        auVar6._0_8_ = uVar56;\n        auVar24._8_8_ = 0;\n        auVar24._0_8_ = uVar48;\n        uVar57 = uVar52 + 4;\n        if (-1 < (long)uVar57) break;\n        plVar1[uVar52 + 2] = auVar2._0_8_;\n        auVar2 = auVar6 * auVar24 + auVar40;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\nLAB_00134a5f:\n        auVar38._8_8_ = 0;\n        auVar38._0_8_ = auVar2._8_8_;\n        uVar52 = 0;\n        auVar3._8_8_ = 0;\n        auVar3._0_8_ = uVar56;\n        auVar21._8_8_ = 0;\n        auVar21._0_8_ = uVar48;\n        plVar1[uVar57 - 1] = auVar2._0_8_;\n        auVar2 = auVar3 * auVar21 + auVar38;\nLAB_00134a72:\n        auVar39._8_8_ = uVar52;\n        auVar39._0_8_ = auVar2._8_8_;\n        auVar4._8_8_ = 0;\n        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar22._8_8_ = 0;\n        auVar22._0_8_ = uVar48;\n        plVar1[uVar57] = auVar2._0_8_;\n        auVar2 = auVar4 * auVar22 + auVar39;\n      }\n      plVar1[-2] = auVar2._0_8_;\n      auVar46 = auVar6 * auVar24 + auVar46;\n      plVar1[-1] = auVar46._0_8_;\n      plVar1[1] = 0;\n      *plVar1 = auVar46._8_8_;\n      if (param_5 != 1) {\n                    /* WARNING: Could not recover jumptable at 0x00134ae0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);\n        return;\n      }\n    }\n  }" else (compound_statement "{\n    param_2 = param_2 + param_3 * 8;\n    if ((param_5 & 1) == 0) {\n      uVar48 = *param_4;\n      uVar52 = param_4[1];\n      auVar7._8_8_ = 0;\n      auVar7._0_8_ = *(ulong *)(param_2 + -8 + uVar56 * -8);\n      auVar25._8_8_ = 0;\n      auVar25._0_8_ = uVar52;\n      auVar7 = auVar7 * auVar25;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134b8e;\n      }\n      if (uVar51 < 2) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        uVar56 = uVar57;\n        goto LAB_00134c0d;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        goto LAB_00134be9;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar11._8_8_ = 0;\n        auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar29._8_8_ = 0;\n        auVar29._0_8_ = uVar48;\n        uVar49 = SUB168(auVar11 * auVar29,8);\n        uVar47 = SUB168(auVar11 * auVar29,0);\n        uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar43._0_8_ = uVar50 + uVar56;\n        auVar43._9_7_ = 0;\n        uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;\n        auVar12._8_8_ = 0;\n        auVar12._0_8_ = uVar56;\n        auVar30._8_8_ = 0;\n        auVar30._0_8_ = uVar52;\n        auVar7 = auVar12 * auVar30 + auVar43;\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\nLAB_00134be9:\n        uVar53 = auVar7._0_8_;\n        auVar13._8_8_ = 0;\n        auVar13._0_8_ = uVar56;\n        auVar31._8_8_ = 0;\n        auVar31._0_8_ = uVar48;\n        uVar49 = SUB168(auVar13 * auVar31,8);\n        uVar47 = SUB168(auVar13 * auVar31,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar44._0_8_ = uVar50 + uVar56;\n        auVar44._9_7_ = 0;\n        auVar14._8_8_ = 0;\n        auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar32._8_8_ = 0;\n        auVar32._0_8_ = uVar52;\n        auVar7 = auVar14 * auVar32 + auVar44;\n        plVar1[uVar57 + 2] = uVar53 + uVar47;\n        uVar56 = uVar57;\nLAB_00134c0d:\n        auVar15._8_8_ = 0;\n        auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);\n        auVar33._8_8_ = 0;\n        auVar33._0_8_ = uVar48;\n        uVar49 = SUB168(auVar15 * auVar33,8);\n        uVar47 = SUB168(auVar15 * auVar33,0);\n        uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);\n        lVar54 = uVar50 + uVar57;\n        auVar41[8] = bVar58;\n        auVar41._0_8_ = lVar54;\n        auVar41._9_7_ = 0;\n        uVar57 = uVar56 + 4;\n        plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;\n        if (uVar57 == 0) break;\n        auVar8._8_8_ = 0;\n        auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);\n        auVar26._8_8_ = 0;\n        auVar26._0_8_ = uVar52;\n        auVar7 = auVar8 * auVar26 + auVar41;\nLAB_00134b8e:\n        uVar53 = auVar7._0_8_;\n        auVar9._8_8_ = 0;\n        auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar27._8_8_ = 0;\n        auVar27._0_8_ = uVar48;\n        uVar49 = SUB168(auVar9 * auVar27,8);\n        uVar47 = SUB168(auVar9 * auVar27,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar42._0_8_ = uVar50 + uVar56;\n        auVar42._9_7_ = 0;\n        auVar10._8_8_ = 0;\n        auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar28._8_8_ = 0;\n        auVar28._0_8_ = uVar52;\n        auVar7 = auVar10 * auVar28 + auVar42;\n        plVar1[uVar57] = uVar53 + uVar47;\n      }\n      *plVar1 = lVar54;\n      plVar1[1] = (ulong)bVar58;\n      if (param_5 != 2) {\n                    /* WARNING: Could not recover jumptable at 0x00134c50. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);\n        return;\n      }\n    }\n    else {\n      uVar48 = *param_4;\n      auVar2._8_8_ = 0;\n      auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8);\n      auVar20._8_8_ = 0;\n      auVar20._0_8_ = uVar48;\n      auVar2 = auVar2 * auVar20;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      uVar52 = (ulong)uVar51;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134a72;\n      }\n      if (uVar51 < 2) {\n        uVar57 = uVar57 + 4;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        goto LAB_00134a5f;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        uVar52 = uVar57;\n        goto LAB_00134aa7;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar45._8_8_ = 0;\n        auVar45._0_8_ = auVar2._8_8_;\n        auVar5._8_8_ = 0;\n        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar23._8_8_ = 0;\n        auVar23._0_8_ = uVar48;\n        plVar1[uVar57 + 1] = auVar2._0_8_;\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        auVar2 = auVar5 * auVar23 + auVar45;\n        uVar52 = uVar57;\nLAB_00134aa7:\n        auVar46._8_8_ = 0;\n        auVar46._0_8_ = auVar2._8_8_;\n        auVar40._8_8_ = 0;\n        auVar40._0_8_ = auVar2._8_8_;\n        auVar6._8_8_ = 0;\n        auVar6._0_8_ = uVar56;\n        auVar24._8_8_ = 0;\n        auVar24._0_8_ = uVar48;\n        uVar57 = uVar52 + 4;\n        if (-1 < (long)uVar57) break;\n        plVar1[uVar52 + 2] = auVar2._0_8_;\n        auVar2 = auVar6 * auVar24 + auVar40;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\nLAB_00134a5f:\n        auVar38._8_8_ = 0;\n        auVar38._0_8_ = auVar2._8_8_;\n        uVar52 = 0;\n        auVar3._8_8_ = 0;\n        auVar3._0_8_ = uVar56;\n        auVar21._8_8_ = 0;\n        auVar21._0_8_ = uVar48;\n        plVar1[uVar57 - 1] = auVar2._0_8_;\n        auVar2 = auVar3 * auVar21 + auVar38;\nLAB_00134a72:\n        auVar39._8_8_ = uVar52;\n        auVar39._0_8_ = auVar2._8_8_;\n        auVar4._8_8_ = 0;\n        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar22._8_8_ = 0;\n        auVar22._0_8_ = uVar48;\n        plVar1[uVar57] = auVar2._0_8_;\n        auVar2 = auVar4 * auVar22 + auVar39;\n      }\n      plVar1[-2] = auVar2._0_8_;\n      auVar46 = auVar6 * auVar24 + auVar46;\n      plVar1[-1] = auVar46._0_8_;\n      plVar1[1] = 0;\n      *plVar1 = auVar46._8_8_;\n      if (param_5 != 1) {\n                    /* WARNING: Could not recover jumptable at 0x00134ae0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);\n        return;\n      }\n    }\n  }" { (expression_statement "param_2 = param_2 + param_3 * 8;" (assignment_expression "param_2 = param_2 + param_3 * 8" identifier = (binary_expression "param_2 + param_3 * 8" identifier + (binary_expression "param_3 * 8" identifier * number_literal))) ;) (if_statement "if ((param_5 & 1) == 0) {\n      uVar48 = *param_4;\n      uVar52 = param_4[1];\n      auVar7._8_8_ = 0;\n      auVar7._0_8_ = *(ulong *)(param_2 + -8 + uVar56 * -8);\n      auVar25._8_8_ = 0;\n      auVar25._0_8_ = uVar52;\n      auVar7 = auVar7 * auVar25;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134b8e;\n      }\n      if (uVar51 < 2) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        uVar56 = uVar57;\n        goto LAB_00134c0d;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        goto LAB_00134be9;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar11._8_8_ = 0;\n        auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar29._8_8_ = 0;\n        auVar29._0_8_ = uVar48;\n        uVar49 = SUB168(auVar11 * auVar29,8);\n        uVar47 = SUB168(auVar11 * auVar29,0);\n        uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar43._0_8_ = uVar50 + uVar56;\n        auVar43._9_7_ = 0;\n        uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;\n        auVar12._8_8_ = 0;\n        auVar12._0_8_ = uVar56;\n        auVar30._8_8_ = 0;\n        auVar30._0_8_ = uVar52;\n        auVar7 = auVar12 * auVar30 + auVar43;\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\nLAB_00134be9:\n        uVar53 = auVar7._0_8_;\n        auVar13._8_8_ = 0;\n        auVar13._0_8_ = uVar56;\n        auVar31._8_8_ = 0;\n        auVar31._0_8_ = uVar48;\n        uVar49 = SUB168(auVar13 * auVar31,8);\n        uVar47 = SUB168(auVar13 * auVar31,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar44._0_8_ = uVar50 + uVar56;\n        auVar44._9_7_ = 0;\n        auVar14._8_8_ = 0;\n        auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar32._8_8_ = 0;\n        auVar32._0_8_ = uVar52;\n        auVar7 = auVar14 * auVar32 + auVar44;\n        plVar1[uVar57 + 2] = uVar53 + uVar47;\n        uVar56 = uVar57;\nLAB_00134c0d:\n        auVar15._8_8_ = 0;\n        auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);\n        auVar33._8_8_ = 0;\n        auVar33._0_8_ = uVar48;\n        uVar49 = SUB168(auVar15 * auVar33,8);\n        uVar47 = SUB168(auVar15 * auVar33,0);\n        uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);\n        lVar54 = uVar50 + uVar57;\n        auVar41[8] = bVar58;\n        auVar41._0_8_ = lVar54;\n        auVar41._9_7_ = 0;\n        uVar57 = uVar56 + 4;\n        plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;\n        if (uVar57 == 0) break;\n        auVar8._8_8_ = 0;\n        auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);\n        auVar26._8_8_ = 0;\n        auVar26._0_8_ = uVar52;\n        auVar7 = auVar8 * auVar26 + auVar41;\nLAB_00134b8e:\n        uVar53 = auVar7._0_8_;\n        auVar9._8_8_ = 0;\n        auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar27._8_8_ = 0;\n        auVar27._0_8_ = uVar48;\n        uVar49 = SUB168(auVar9 * auVar27,8);\n        uVar47 = SUB168(auVar9 * auVar27,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar42._0_8_ = uVar50 + uVar56;\n        auVar42._9_7_ = 0;\n        auVar10._8_8_ = 0;\n        auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar28._8_8_ = 0;\n        auVar28._0_8_ = uVar52;\n        auVar7 = auVar10 * auVar28 + auVar42;\n        plVar1[uVar57] = uVar53 + uVar47;\n      }\n      *plVar1 = lVar54;\n      plVar1[1] = (ulong)bVar58;\n      if (param_5 != 2) {\n                    /* WARNING: Could not recover jumptable at 0x00134c50. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);\n        return;\n      }\n    }\n    else {\n      uVar48 = *param_4;\n      auVar2._8_8_ = 0;\n      auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8);\n      auVar20._8_8_ = 0;\n      auVar20._0_8_ = uVar48;\n      auVar2 = auVar2 * auVar20;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      uVar52 = (ulong)uVar51;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134a72;\n      }\n      if (uVar51 < 2) {\n        uVar57 = uVar57 + 4;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        goto LAB_00134a5f;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        uVar52 = uVar57;\n        goto LAB_00134aa7;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar45._8_8_ = 0;\n        auVar45._0_8_ = auVar2._8_8_;\n        auVar5._8_8_ = 0;\n        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar23._8_8_ = 0;\n        auVar23._0_8_ = uVar48;\n        plVar1[uVar57 + 1] = auVar2._0_8_;\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        auVar2 = auVar5 * auVar23 + auVar45;\n        uVar52 = uVar57;\nLAB_00134aa7:\n        auVar46._8_8_ = 0;\n        auVar46._0_8_ = auVar2._8_8_;\n        auVar40._8_8_ = 0;\n        auVar40._0_8_ = auVar2._8_8_;\n        auVar6._8_8_ = 0;\n        auVar6._0_8_ = uVar56;\n        auVar24._8_8_ = 0;\n        auVar24._0_8_ = uVar48;\n        uVar57 = uVar52 + 4;\n        if (-1 < (long)uVar57) break;\n        plVar1[uVar52 + 2] = auVar2._0_8_;\n        auVar2 = auVar6 * auVar24 + auVar40;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\nLAB_00134a5f:\n        auVar38._8_8_ = 0;\n        auVar38._0_8_ = auVar2._8_8_;\n        uVar52 = 0;\n        auVar3._8_8_ = 0;\n        auVar3._0_8_ = uVar56;\n        auVar21._8_8_ = 0;\n        auVar21._0_8_ = uVar48;\n        plVar1[uVar57 - 1] = auVar2._0_8_;\n        auVar2 = auVar3 * auVar21 + auVar38;\nLAB_00134a72:\n        auVar39._8_8_ = uVar52;\n        auVar39._0_8_ = auVar2._8_8_;\n        auVar4._8_8_ = 0;\n        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar22._8_8_ = 0;\n        auVar22._0_8_ = uVar48;\n        plVar1[uVar57] = auVar2._0_8_;\n        auVar2 = auVar4 * auVar22 + auVar39;\n      }\n      plVar1[-2] = auVar2._0_8_;\n      auVar46 = auVar6 * auVar24 + auVar46;\n      plVar1[-1] = auVar46._0_8_;\n      plVar1[1] = 0;\n      *plVar1 = auVar46._8_8_;\n      if (param_5 != 1) {\n                    /* WARNING: Could not recover jumptable at 0x00134ae0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);\n        return;\n      }\n    }" if (parenthesized_expression "((param_5 & 1) == 0)" ( (binary_expression "(param_5 & 1) == 0" (parenthesized_expression "(param_5 & 1)" ( (binary_expression "param_5 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      uVar48 = *param_4;\n      uVar52 = param_4[1];\n      auVar7._8_8_ = 0;\n      auVar7._0_8_ = *(ulong *)(param_2 + -8 + uVar56 * -8);\n      auVar25._8_8_ = 0;\n      auVar25._0_8_ = uVar52;\n      auVar7 = auVar7 * auVar25;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134b8e;\n      }\n      if (uVar51 < 2) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        uVar56 = uVar57;\n        goto LAB_00134c0d;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        goto LAB_00134be9;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar11._8_8_ = 0;\n        auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar29._8_8_ = 0;\n        auVar29._0_8_ = uVar48;\n        uVar49 = SUB168(auVar11 * auVar29,8);\n        uVar47 = SUB168(auVar11 * auVar29,0);\n        uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar43._0_8_ = uVar50 + uVar56;\n        auVar43._9_7_ = 0;\n        uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;\n        auVar12._8_8_ = 0;\n        auVar12._0_8_ = uVar56;\n        auVar30._8_8_ = 0;\n        auVar30._0_8_ = uVar52;\n        auVar7 = auVar12 * auVar30 + auVar43;\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\nLAB_00134be9:\n        uVar53 = auVar7._0_8_;\n        auVar13._8_8_ = 0;\n        auVar13._0_8_ = uVar56;\n        auVar31._8_8_ = 0;\n        auVar31._0_8_ = uVar48;\n        uVar49 = SUB168(auVar13 * auVar31,8);\n        uVar47 = SUB168(auVar13 * auVar31,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar44._0_8_ = uVar50 + uVar56;\n        auVar44._9_7_ = 0;\n        auVar14._8_8_ = 0;\n        auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar32._8_8_ = 0;\n        auVar32._0_8_ = uVar52;\n        auVar7 = auVar14 * auVar32 + auVar44;\n        plVar1[uVar57 + 2] = uVar53 + uVar47;\n        uVar56 = uVar57;\nLAB_00134c0d:\n        auVar15._8_8_ = 0;\n        auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);\n        auVar33._8_8_ = 0;\n        auVar33._0_8_ = uVar48;\n        uVar49 = SUB168(auVar15 * auVar33,8);\n        uVar47 = SUB168(auVar15 * auVar33,0);\n        uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);\n        lVar54 = uVar50 + uVar57;\n        auVar41[8] = bVar58;\n        auVar41._0_8_ = lVar54;\n        auVar41._9_7_ = 0;\n        uVar57 = uVar56 + 4;\n        plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;\n        if (uVar57 == 0) break;\n        auVar8._8_8_ = 0;\n        auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);\n        auVar26._8_8_ = 0;\n        auVar26._0_8_ = uVar52;\n        auVar7 = auVar8 * auVar26 + auVar41;\nLAB_00134b8e:\n        uVar53 = auVar7._0_8_;\n        auVar9._8_8_ = 0;\n        auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar27._8_8_ = 0;\n        auVar27._0_8_ = uVar48;\n        uVar49 = SUB168(auVar9 * auVar27,8);\n        uVar47 = SUB168(auVar9 * auVar27,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar42._0_8_ = uVar50 + uVar56;\n        auVar42._9_7_ = 0;\n        auVar10._8_8_ = 0;\n        auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar28._8_8_ = 0;\n        auVar28._0_8_ = uVar52;\n        auVar7 = auVar10 * auVar28 + auVar42;\n        plVar1[uVar57] = uVar53 + uVar47;\n      }\n      *plVar1 = lVar54;\n      plVar1[1] = (ulong)bVar58;\n      if (param_5 != 2) {\n                    /* WARNING: Could not recover jumptable at 0x00134c50. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);\n        return;\n      }\n    }" { (expression_statement "uVar48 = *param_4;" (assignment_expression "uVar48 = *param_4" identifier = (pointer_expression "*param_4" * identifier)) ;) (expression_statement "uVar52 = param_4[1];" (assignment_expression "uVar52 = param_4[1]" identifier = (subscript_expression "param_4[1]" identifier [ number_literal ])) ;) (expression_statement "auVar7._8_8_ = 0;" (assignment_expression "auVar7._8_8_ = 0" (field_expression "auVar7._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar7._0_8_ = *(ulong *)(param_2 + -8 + uVar56 * -8);" (assignment_expression "auVar7._0_8_ = *(ulong *)(param_2 + -8 + uVar56 * -8)" (field_expression "auVar7._0_8_" identifier . field_identifier) = (pointer_expression "*(ulong *)(param_2 + -8 + uVar56 * -8)" * (cast_expression "(ulong *)(param_2 + -8 + uVar56 * -8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + -8 + uVar56 * -8)" ( (binary_expression "param_2 + -8 + uVar56 * -8" (binary_expression "param_2 + -8" identifier + number_literal) + (binary_expression "uVar56 * -8" identifier * number_literal)) ))))) ;) (expression_statement "auVar25._8_8_ = 0;" (assignment_expression "auVar25._8_8_ = 0" (field_expression "auVar25._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar25._0_8_ = uVar52;" (assignment_expression "auVar25._0_8_ = uVar52" (field_expression "auVar25._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar7 = auVar7 * auVar25;" (assignment_expression "auVar7 = auVar7 * auVar25" identifier = (binary_expression "auVar7 * auVar25" identifier * identifier)) ;) (expression_statement "uVar57 = -uVar56 & 0xfffffffffffffffc;" (assignment_expression "uVar57 = -uVar56 & 0xfffffffffffffffc" identifier = (binary_expression "-uVar56 & 0xfffffffffffffffc" (unary_expression "-uVar56" - identifier) & number_literal)) ;) (expression_statement "uVar51 = (uint)uVar56 & 3;" (assignment_expression "uVar51 = (uint)uVar56 & 3" identifier = (binary_expression "(uint)uVar56 & 3" (cast_expression "(uint)uVar56" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (if_statement "if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134b8e;\n      }" if (parenthesized_expression "((uVar56 & 3) == 0)" ( (binary_expression "(uVar56 & 3) == 0" (parenthesized_expression "(uVar56 & 3)" ( (binary_expression "uVar56 & 3" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134b8e;\n      }" { (expression_statement "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60" identifier = (cast_expression "(code *)&DAT_00134c60" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00134c60" & identifier))) ;) (goto_statement "goto LAB_00134b8e;" goto statement_identifier ;) })) (if_statement "if (uVar51 < 2) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        uVar56 = uVar57;\n        goto LAB_00134c0d;\n      }" if (parenthesized_expression "(uVar51 < 2)" ( (binary_expression "uVar51 < 2" identifier < number_literal) )) (compound_statement "{\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        uVar56 = uVar57;\n        goto LAB_00134c0d;\n      }" { (expression_statement "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80" identifier = (cast_expression "(code *)&DAT_00134c80" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00134c80" & identifier))) ;) (expression_statement "uVar56 = uVar57;" (assignment_expression "uVar56 = uVar57" identifier = identifier) ;) (goto_statement "goto LAB_00134c0d;" goto statement_identifier ;) })) (if_statement "if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        goto LAB_00134be9;\n      }" if (parenthesized_expression "(uVar51 == 2)" ( (binary_expression "uVar51 == 2" identifier == number_literal) )) (compound_statement "{\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        goto LAB_00134be9;\n      }" { (expression_statement "uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);" (assignment_expression "uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8)" identifier = (pointer_expression "*(ulong *)(param_2 + 0x10 + uVar57 * 8)" * (cast_expression "(ulong *)(param_2 + 0x10 + uVar57 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10 + uVar57 * 8)" ( (binary_expression "param_2 + 0x10 + uVar57 * 8" (binary_expression "param_2 + 0x10" identifier + number_literal) + (binary_expression "uVar57 * 8" identifier * number_literal)) ))))) ;) (expression_statement "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0" identifier = (cast_expression "(code *)&DAT_00134ca0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00134ca0" & identifier))) ;) (goto_statement "goto LAB_00134be9;" goto statement_identifier ;) })) (expression_statement "UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0" identifier = (cast_expression "(code *)&LAB_00134cc0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&LAB_00134cc0" & identifier))) ;) (while_statement "while( true ) {\n        auVar11._8_8_ = 0;\n        auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar29._8_8_ = 0;\n        auVar29._0_8_ = uVar48;\n        uVar49 = SUB168(auVar11 * auVar29,8);\n        uVar47 = SUB168(auVar11 * auVar29,0);\n        uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar43._0_8_ = uVar50 + uVar56;\n        auVar43._9_7_ = 0;\n        uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;\n        auVar12._8_8_ = 0;\n        auVar12._0_8_ = uVar56;\n        auVar30._8_8_ = 0;\n        auVar30._0_8_ = uVar52;\n        auVar7 = auVar12 * auVar30 + auVar43;\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\nLAB_00134be9:\n        uVar53 = auVar7._0_8_;\n        auVar13._8_8_ = 0;\n        auVar13._0_8_ = uVar56;\n        auVar31._8_8_ = 0;\n        auVar31._0_8_ = uVar48;\n        uVar49 = SUB168(auVar13 * auVar31,8);\n        uVar47 = SUB168(auVar13 * auVar31,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar44._0_8_ = uVar50 + uVar56;\n        auVar44._9_7_ = 0;\n        auVar14._8_8_ = 0;\n        auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar32._8_8_ = 0;\n        auVar32._0_8_ = uVar52;\n        auVar7 = auVar14 * auVar32 + auVar44;\n        plVar1[uVar57 + 2] = uVar53 + uVar47;\n        uVar56 = uVar57;\nLAB_00134c0d:\n        auVar15._8_8_ = 0;\n        auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);\n        auVar33._8_8_ = 0;\n        auVar33._0_8_ = uVar48;\n        uVar49 = SUB168(auVar15 * auVar33,8);\n        uVar47 = SUB168(auVar15 * auVar33,0);\n        uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);\n        lVar54 = uVar50 + uVar57;\n        auVar41[8] = bVar58;\n        auVar41._0_8_ = lVar54;\n        auVar41._9_7_ = 0;\n        uVar57 = uVar56 + 4;\n        plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;\n        if (uVar57 == 0) break;\n        auVar8._8_8_ = 0;\n        auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);\n        auVar26._8_8_ = 0;\n        auVar26._0_8_ = uVar52;\n        auVar7 = auVar8 * auVar26 + auVar41;\nLAB_00134b8e:\n        uVar53 = auVar7._0_8_;\n        auVar9._8_8_ = 0;\n        auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar27._8_8_ = 0;\n        auVar27._0_8_ = uVar48;\n        uVar49 = SUB168(auVar9 * auVar27,8);\n        uVar47 = SUB168(auVar9 * auVar27,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar42._0_8_ = uVar50 + uVar56;\n        auVar42._9_7_ = 0;\n        auVar10._8_8_ = 0;\n        auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar28._8_8_ = 0;\n        auVar28._0_8_ = uVar52;\n        auVar7 = auVar10 * auVar28 + auVar42;\n        plVar1[uVar57] = uVar53 + uVar47;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        auVar11._8_8_ = 0;\n        auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar29._8_8_ = 0;\n        auVar29._0_8_ = uVar48;\n        uVar49 = SUB168(auVar11 * auVar29,8);\n        uVar47 = SUB168(auVar11 * auVar29,0);\n        uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar43._0_8_ = uVar50 + uVar56;\n        auVar43._9_7_ = 0;\n        uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;\n        auVar12._8_8_ = 0;\n        auVar12._0_8_ = uVar56;\n        auVar30._8_8_ = 0;\n        auVar30._0_8_ = uVar52;\n        auVar7 = auVar12 * auVar30 + auVar43;\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\nLAB_00134be9:\n        uVar53 = auVar7._0_8_;\n        auVar13._8_8_ = 0;\n        auVar13._0_8_ = uVar56;\n        auVar31._8_8_ = 0;\n        auVar31._0_8_ = uVar48;\n        uVar49 = SUB168(auVar13 * auVar31,8);\n        uVar47 = SUB168(auVar13 * auVar31,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar44._0_8_ = uVar50 + uVar56;\n        auVar44._9_7_ = 0;\n        auVar14._8_8_ = 0;\n        auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar32._8_8_ = 0;\n        auVar32._0_8_ = uVar52;\n        auVar7 = auVar14 * auVar32 + auVar44;\n        plVar1[uVar57 + 2] = uVar53 + uVar47;\n        uVar56 = uVar57;\nLAB_00134c0d:\n        auVar15._8_8_ = 0;\n        auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);\n        auVar33._8_8_ = 0;\n        auVar33._0_8_ = uVar48;\n        uVar49 = SUB168(auVar15 * auVar33,8);\n        uVar47 = SUB168(auVar15 * auVar33,0);\n        uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);\n        lVar54 = uVar50 + uVar57;\n        auVar41[8] = bVar58;\n        auVar41._0_8_ = lVar54;\n        auVar41._9_7_ = 0;\n        uVar57 = uVar56 + 4;\n        plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;\n        if (uVar57 == 0) break;\n        auVar8._8_8_ = 0;\n        auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);\n        auVar26._8_8_ = 0;\n        auVar26._0_8_ = uVar52;\n        auVar7 = auVar8 * auVar26 + auVar41;\nLAB_00134b8e:\n        uVar53 = auVar7._0_8_;\n        auVar9._8_8_ = 0;\n        auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar27._8_8_ = 0;\n        auVar27._0_8_ = uVar48;\n        uVar49 = SUB168(auVar9 * auVar27,8);\n        uVar47 = SUB168(auVar9 * auVar27,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar42._0_8_ = uVar50 + uVar56;\n        auVar42._9_7_ = 0;\n        auVar10._8_8_ = 0;\n        auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar28._8_8_ = 0;\n        auVar28._0_8_ = uVar52;\n        auVar7 = auVar10 * auVar28 + auVar42;\n        plVar1[uVar57] = uVar53 + uVar47;\n      }" { (expression_statement "auVar11._8_8_ = 0;" (assignment_expression "auVar11._8_8_ = 0" (field_expression "auVar11._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);" (assignment_expression "auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8)" (field_expression "auVar11._0_8_" identifier . field_identifier) = (pointer_expression "*(ulong *)(param_2 + 8 + uVar57 * 8)" * (cast_expression "(ulong *)(param_2 + 8 + uVar57 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8 + uVar57 * 8)" ( (binary_expression "param_2 + 8 + uVar57 * 8" (binary_expression "param_2 + 8" identifier + number_literal) + (binary_expression "uVar57 * 8" identifier * number_literal)) ))))) ;) (expression_statement "auVar29._8_8_ = 0;" (assignment_expression "auVar29._8_8_ = 0" (field_expression "auVar29._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar29._0_8_ = uVar48;" (assignment_expression "auVar29._0_8_ = uVar48" (field_expression "auVar29._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "uVar49 = SUB168(auVar11 * auVar29,8);" (assignment_expression "uVar49 = SUB168(auVar11 * auVar29,8)" identifier = (call_expression "SUB168(auVar11 * auVar29,8)" identifier (argument_list "(auVar11 * auVar29,8)" ( (binary_expression "auVar11 * auVar29" identifier * identifier) , number_literal )))) ;) (expression_statement "uVar47 = SUB168(auVar11 * auVar29,0);" (assignment_expression "uVar47 = SUB168(auVar11 * auVar29,0)" identifier = (call_expression "SUB168(auVar11 * auVar29,0)" identifier (argument_list "(auVar11 * auVar29,0)" ( (binary_expression "auVar11 * auVar29" identifier * identifier) , number_literal )))) ;) (expression_statement "uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);" (assignment_expression "uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47)" identifier = (cast_expression "(ulong)CARRY8(auVar7._0_8_,uVar47)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY8(auVar7._0_8_,uVar47)" identifier (argument_list "(auVar7._0_8_,uVar47)" ( (field_expression "auVar7._0_8_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "uVar50 = auVar7._8_8_ + uVar49;" (assignment_expression "uVar50 = auVar7._8_8_ + uVar49" identifier = (binary_expression "auVar7._8_8_ + uVar49" (field_expression "auVar7._8_8_" identifier . field_identifier) + identifier)) ;) (expression_statement "auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);" (assignment_expression "auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56)" (subscript_expression "auVar43[8]" identifier [ number_literal ]) = (binary_expression "CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56)" (call_expression "CARRY8(auVar7._8_8_,uVar49)" identifier (argument_list "(auVar7._8_8_,uVar49)" ( (field_expression "auVar7._8_8_" identifier . field_identifier) , identifier ))) || (call_expression "CARRY8(uVar50,uVar56)" identifier (argument_list "(uVar50,uVar56)" ( identifier , identifier ))))) ;) (expression_statement "auVar43._0_8_ = uVar50 + uVar56;" (assignment_expression "auVar43._0_8_ = uVar50 + uVar56" (field_expression "auVar43._0_8_" identifier . field_identifier) = (binary_expression "uVar50 + uVar56" identifier + identifier)) ;) (expression_statement "auVar43._9_7_ = 0;" (assignment_expression "auVar43._9_7_ = 0" (field_expression "auVar43._9_7_" identifier . field_identifier) = number_literal) ;) (expression_statement "uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);" (assignment_expression "uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8)" identifier = (pointer_expression "*(ulong *)(param_2 + 8 + uVar57 * 8)" * (cast_expression "(ulong *)(param_2 + 8 + uVar57 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8 + uVar57 * 8)" ( (binary_expression "param_2 + 8 + uVar57 * 8" (binary_expression "param_2 + 8" identifier + number_literal) + (binary_expression "uVar57 * 8" identifier * number_literal)) ))))) ;) (expression_statement "plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;" (assignment_expression "plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47" (subscript_expression "plVar1[uVar57 + 1]" identifier [ (binary_expression "uVar57 + 1" identifier + number_literal) ]) = (binary_expression "auVar7._0_8_ + uVar47" (field_expression "auVar7._0_8_" identifier . field_identifier) + identifier)) ;) (expression_statement "auVar12._8_8_ = 0;" (assignment_expression "auVar12._8_8_ = 0" (field_expression "auVar12._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar12._0_8_ = uVar56;" (assignment_expression "auVar12._0_8_ = uVar56" (field_expression "auVar12._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar30._8_8_ = 0;" (assignment_expression "auVar30._8_8_ = 0" (field_expression "auVar30._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar30._0_8_ = uVar52;" (assignment_expression "auVar30._0_8_ = uVar52" (field_expression "auVar30._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar7 = auVar12 * auVar30 + auVar43;" (assignment_expression "auVar7 = auVar12 * auVar30 + auVar43" identifier = (binary_expression "auVar12 * auVar30 + auVar43" (binary_expression "auVar12 * auVar30" identifier * identifier) + identifier)) ;) (expression_statement "uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);" (assignment_expression "uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8)" identifier = (pointer_expression "*(ulong *)(param_2 + 0x10 + uVar57 * 8)" * (cast_expression "(ulong *)(param_2 + 0x10 + uVar57 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10 + uVar57 * 8)" ( (binary_expression "param_2 + 0x10 + uVar57 * 8" (binary_expression "param_2 + 0x10" identifier + number_literal) + (binary_expression "uVar57 * 8" identifier * number_literal)) ))))) ;) (labeled_statement "LAB_00134be9:\n        uVar53 = auVar7._0_8_;" statement_identifier : (expression_statement "uVar53 = auVar7._0_8_;" (assignment_expression "uVar53 = auVar7._0_8_" identifier = (field_expression "auVar7._0_8_" identifier . field_identifier)) ;)) (expression_statement "auVar13._8_8_ = 0;" (assignment_expression "auVar13._8_8_ = 0" (field_expression "auVar13._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar13._0_8_ = uVar56;" (assignment_expression "auVar13._0_8_ = uVar56" (field_expression "auVar13._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar31._8_8_ = 0;" (assignment_expression "auVar31._8_8_ = 0" (field_expression "auVar31._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar31._0_8_ = uVar48;" (assignment_expression "auVar31._0_8_ = uVar48" (field_expression "auVar31._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "uVar49 = SUB168(auVar13 * auVar31,8);" (assignment_expression "uVar49 = SUB168(auVar13 * auVar31,8)" identifier = (call_expression "SUB168(auVar13 * auVar31,8)" identifier (argument_list "(auVar13 * auVar31,8)" ( (binary_expression "auVar13 * auVar31" identifier * identifier) , number_literal )))) ;) (expression_statement "uVar47 = SUB168(auVar13 * auVar31,0);" (assignment_expression "uVar47 = SUB168(auVar13 * auVar31,0)" identifier = (call_expression "SUB168(auVar13 * auVar31,0)" identifier (argument_list "(auVar13 * auVar31,0)" ( (binary_expression "auVar13 * auVar31" identifier * identifier) , number_literal )))) ;) (expression_statement "uVar56 = (ulong)CARRY8(uVar53,uVar47);" (assignment_expression "uVar56 = (ulong)CARRY8(uVar53,uVar47)" identifier = (cast_expression "(ulong)CARRY8(uVar53,uVar47)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY8(uVar53,uVar47)" identifier (argument_list "(uVar53,uVar47)" ( identifier , identifier ))))) ;) (expression_statement "uVar50 = auVar7._8_8_ + uVar49;" (assignment_expression "uVar50 = auVar7._8_8_ + uVar49" identifier = (binary_expression "auVar7._8_8_ + uVar49" (field_expression "auVar7._8_8_" identifier . field_identifier) + identifier)) ;) (expression_statement "auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);" (assignment_expression "auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56)" (subscript_expression "auVar44[8]" identifier [ number_literal ]) = (binary_expression "CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56)" (call_expression "CARRY8(auVar7._8_8_,uVar49)" identifier (argument_list "(auVar7._8_8_,uVar49)" ( (field_expression "auVar7._8_8_" identifier . field_identifier) , identifier ))) || (call_expression "CARRY8(uVar50,uVar56)" identifier (argument_list "(uVar50,uVar56)" ( identifier , identifier ))))) ;) (expression_statement "auVar44._0_8_ = uVar50 + uVar56;" (assignment_expression "auVar44._0_8_ = uVar50 + uVar56" (field_expression "auVar44._0_8_" identifier . field_identifier) = (binary_expression "uVar50 + uVar56" identifier + identifier)) ;) (expression_statement "auVar44._9_7_ = 0;" (assignment_expression "auVar44._9_7_ = 0" (field_expression "auVar44._9_7_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar14._8_8_ = 0;" (assignment_expression "auVar14._8_8_ = 0" (field_expression "auVar14._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);" (assignment_expression "auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8)" (field_expression "auVar14._0_8_" identifier . field_identifier) = (pointer_expression "*(ulong *)(param_2 + 0x10 + uVar57 * 8)" * (cast_expression "(ulong *)(param_2 + 0x10 + uVar57 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10 + uVar57 * 8)" ( (binary_expression "param_2 + 0x10 + uVar57 * 8" (binary_expression "param_2 + 0x10" identifier + number_literal) + (binary_expression "uVar57 * 8" identifier * number_literal)) ))))) ;) (expression_statement "auVar32._8_8_ = 0;" (assignment_expression "auVar32._8_8_ = 0" (field_expression "auVar32._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar32._0_8_ = uVar52;" (assignment_expression "auVar32._0_8_ = uVar52" (field_expression "auVar32._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar7 = auVar14 * auVar32 + auVar44;" (assignment_expression "auVar7 = auVar14 * auVar32 + auVar44" identifier = (binary_expression "auVar14 * auVar32 + auVar44" (binary_expression "auVar14 * auVar32" identifier * identifier) + identifier)) ;) (expression_statement "plVar1[uVar57 + 2] = uVar53 + uVar47;" (assignment_expression "plVar1[uVar57 + 2] = uVar53 + uVar47" (subscript_expression "plVar1[uVar57 + 2]" identifier [ (binary_expression "uVar57 + 2" identifier + number_literal) ]) = (binary_expression "uVar53 + uVar47" identifier + identifier)) ;) (expression_statement "uVar56 = uVar57;" (assignment_expression "uVar56 = uVar57" identifier = identifier) ;) (labeled_statement "LAB_00134c0d:\n        auVar15._8_8_ = 0;" statement_identifier : (expression_statement "auVar15._8_8_ = 0;" (assignment_expression "auVar15._8_8_ = 0" (field_expression "auVar15._8_8_" identifier . field_identifier) = number_literal) ;)) (expression_statement "auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);" (assignment_expression "auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8)" (field_expression "auVar15._0_8_" identifier . field_identifier) = (pointer_expression "*(ulong *)(param_2 + 0x18 + uVar56 * 8)" * (cast_expression "(ulong *)(param_2 + 0x18 + uVar56 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18 + uVar56 * 8)" ( (binary_expression "param_2 + 0x18 + uVar56 * 8" (binary_expression "param_2 + 0x18" identifier + number_literal) + (binary_expression "uVar56 * 8" identifier * number_literal)) ))))) ;) (expression_statement "auVar33._8_8_ = 0;" (assignment_expression "auVar33._8_8_ = 0" (field_expression "auVar33._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar33._0_8_ = uVar48;" (assignment_expression "auVar33._0_8_ = uVar48" (field_expression "auVar33._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "uVar49 = SUB168(auVar15 * auVar33,8);" (assignment_expression "uVar49 = SUB168(auVar15 * auVar33,8)" identifier = (call_expression "SUB168(auVar15 * auVar33,8)" identifier (argument_list "(auVar15 * auVar33,8)" ( (binary_expression "auVar15 * auVar33" identifier * identifier) , number_literal )))) ;) (expression_statement "uVar47 = SUB168(auVar15 * auVar33,0);" (assignment_expression "uVar47 = SUB168(auVar15 * auVar33,0)" identifier = (call_expression "SUB168(auVar15 * auVar33,0)" identifier (argument_list "(auVar15 * auVar33,0)" ( (binary_expression "auVar15 * auVar33" identifier * identifier) , number_literal )))) ;) (expression_statement "uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);" (assignment_expression "uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47)" identifier = (cast_expression "(ulong)CARRY8(auVar7._0_8_,uVar47)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY8(auVar7._0_8_,uVar47)" identifier (argument_list "(auVar7._0_8_,uVar47)" ( (field_expression "auVar7._0_8_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "uVar50 = auVar7._8_8_ + uVar49;" (assignment_expression "uVar50 = auVar7._8_8_ + uVar49" identifier = (binary_expression "auVar7._8_8_ + uVar49" (field_expression "auVar7._8_8_" identifier . field_identifier) + identifier)) ;) (expression_statement "bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);" (assignment_expression "bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57)" identifier = (binary_expression "CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57)" (call_expression "CARRY8(auVar7._8_8_,uVar49)" identifier (argument_list "(auVar7._8_8_,uVar49)" ( (field_expression "auVar7._8_8_" identifier . field_identifier) , identifier ))) || (call_expression "CARRY8(uVar50,uVar57)" identifier (argument_list "(uVar50,uVar57)" ( identifier , identifier ))))) ;) (expression_statement "lVar54 = uVar50 + uVar57;" (assignment_expression "lVar54 = uVar50 + uVar57" identifier = (binary_expression "uVar50 + uVar57" identifier + identifier)) ;) (expression_statement "auVar41[8] = bVar58;" (assignment_expression "auVar41[8] = bVar58" (subscript_expression "auVar41[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "auVar41._0_8_ = lVar54;" (assignment_expression "auVar41._0_8_ = lVar54" (field_expression "auVar41._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar41._9_7_ = 0;" (assignment_expression "auVar41._9_7_ = 0" (field_expression "auVar41._9_7_" identifier . field_identifier) = number_literal) ;) (expression_statement "uVar57 = uVar56 + 4;" (assignment_expression "uVar57 = uVar56 + 4" identifier = (binary_expression "uVar56 + 4" identifier + number_literal)) ;) (expression_statement "plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;" (assignment_expression "plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47" (subscript_expression "plVar1[uVar56 + 3]" identifier [ (binary_expression "uVar56 + 3" identifier + number_literal) ]) = (binary_expression "auVar7._0_8_ + uVar47" (field_expression "auVar7._0_8_" identifier . field_identifier) + identifier)) ;) (if_statement "if (uVar57 == 0) break;" if (parenthesized_expression "(uVar57 == 0)" ( (binary_expression "uVar57 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "auVar8._8_8_ = 0;" (assignment_expression "auVar8._8_8_ = 0" (field_expression "auVar8._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);" (assignment_expression "auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8)" (field_expression "auVar8._0_8_" identifier . field_identifier) = (pointer_expression "*(ulong *)(param_2 + -8 + uVar57 * 8)" * (cast_expression "(ulong *)(param_2 + -8 + uVar57 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + -8 + uVar57 * 8)" ( (binary_expression "param_2 + -8 + uVar57 * 8" (binary_expression "param_2 + -8" identifier + number_literal) + (binary_expression "uVar57 * 8" identifier * number_literal)) ))))) ;) (expression_statement "auVar26._8_8_ = 0;" (assignment_expression "auVar26._8_8_ = 0" (field_expression "auVar26._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar26._0_8_ = uVar52;" (assignment_expression "auVar26._0_8_ = uVar52" (field_expression "auVar26._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar7 = auVar8 * auVar26 + auVar41;" (assignment_expression "auVar7 = auVar8 * auVar26 + auVar41" identifier = (binary_expression "auVar8 * auVar26 + auVar41" (binary_expression "auVar8 * auVar26" identifier * identifier) + identifier)) ;) (labeled_statement "LAB_00134b8e:\n        uVar53 = auVar7._0_8_;" statement_identifier : (expression_statement "uVar53 = auVar7._0_8_;" (assignment_expression "uVar53 = auVar7._0_8_" identifier = (field_expression "auVar7._0_8_" identifier . field_identifier)) ;)) (expression_statement "auVar9._8_8_ = 0;" (assignment_expression "auVar9._8_8_ = 0" (field_expression "auVar9._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);" (assignment_expression "auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8)" (field_expression "auVar9._0_8_" identifier . field_identifier) = (pointer_expression "*(ulong *)(param_2 + uVar57 * 8)" * (cast_expression "(ulong *)(param_2 + uVar57 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + uVar57 * 8)" ( (binary_expression "param_2 + uVar57 * 8" identifier + (binary_expression "uVar57 * 8" identifier * number_literal)) ))))) ;) (expression_statement "auVar27._8_8_ = 0;" (assignment_expression "auVar27._8_8_ = 0" (field_expression "auVar27._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar27._0_8_ = uVar48;" (assignment_expression "auVar27._0_8_ = uVar48" (field_expression "auVar27._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "uVar49 = SUB168(auVar9 * auVar27,8);" (assignment_expression "uVar49 = SUB168(auVar9 * auVar27,8)" identifier = (call_expression "SUB168(auVar9 * auVar27,8)" identifier (argument_list "(auVar9 * auVar27,8)" ( (binary_expression "auVar9 * auVar27" identifier * identifier) , number_literal )))) ;) (expression_statement "uVar47 = SUB168(auVar9 * auVar27,0);" (assignment_expression "uVar47 = SUB168(auVar9 * auVar27,0)" identifier = (call_expression "SUB168(auVar9 * auVar27,0)" identifier (argument_list "(auVar9 * auVar27,0)" ( (binary_expression "auVar9 * auVar27" identifier * identifier) , number_literal )))) ;) (expression_statement "uVar56 = (ulong)CARRY8(uVar53,uVar47);" (assignment_expression "uVar56 = (ulong)CARRY8(uVar53,uVar47)" identifier = (cast_expression "(ulong)CARRY8(uVar53,uVar47)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY8(uVar53,uVar47)" identifier (argument_list "(uVar53,uVar47)" ( identifier , identifier ))))) ;) (expression_statement "uVar50 = auVar7._8_8_ + uVar49;" (assignment_expression "uVar50 = auVar7._8_8_ + uVar49" identifier = (binary_expression "auVar7._8_8_ + uVar49" (field_expression "auVar7._8_8_" identifier . field_identifier) + identifier)) ;) (expression_statement "auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);" (assignment_expression "auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56)" (subscript_expression "auVar42[8]" identifier [ number_literal ]) = (binary_expression "CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56)" (call_expression "CARRY8(auVar7._8_8_,uVar49)" identifier (argument_list "(auVar7._8_8_,uVar49)" ( (field_expression "auVar7._8_8_" identifier . field_identifier) , identifier ))) || (call_expression "CARRY8(uVar50,uVar56)" identifier (argument_list "(uVar50,uVar56)" ( identifier , identifier ))))) ;) (expression_statement "auVar42._0_8_ = uVar50 + uVar56;" (assignment_expression "auVar42._0_8_ = uVar50 + uVar56" (field_expression "auVar42._0_8_" identifier . field_identifier) = (binary_expression "uVar50 + uVar56" identifier + identifier)) ;) (expression_statement "auVar42._9_7_ = 0;" (assignment_expression "auVar42._9_7_ = 0" (field_expression "auVar42._9_7_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar10._8_8_ = 0;" (assignment_expression "auVar10._8_8_ = 0" (field_expression "auVar10._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);" (assignment_expression "auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8)" (field_expression "auVar10._0_8_" identifier . field_identifier) = (pointer_expression "*(ulong *)(param_2 + uVar57 * 8)" * (cast_expression "(ulong *)(param_2 + uVar57 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + uVar57 * 8)" ( (binary_expression "param_2 + uVar57 * 8" identifier + (binary_expression "uVar57 * 8" identifier * number_literal)) ))))) ;) (expression_statement "auVar28._8_8_ = 0;" (assignment_expression "auVar28._8_8_ = 0" (field_expression "auVar28._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar28._0_8_ = uVar52;" (assignment_expression "auVar28._0_8_ = uVar52" (field_expression "auVar28._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar7 = auVar10 * auVar28 + auVar42;" (assignment_expression "auVar7 = auVar10 * auVar28 + auVar42" identifier = (binary_expression "auVar10 * auVar28 + auVar42" (binary_expression "auVar10 * auVar28" identifier * identifier) + identifier)) ;) (expression_statement "plVar1[uVar57] = uVar53 + uVar47;" (assignment_expression "plVar1[uVar57] = uVar53 + uVar47" (subscript_expression "plVar1[uVar57]" identifier [ identifier ]) = (binary_expression "uVar53 + uVar47" identifier + identifier)) ;) })) (expression_statement "*plVar1 = lVar54;" (assignment_expression "*plVar1 = lVar54" (pointer_expression "*plVar1" * identifier) = identifier) ;) (expression_statement "plVar1[1] = (ulong)bVar58;" (assignment_expression "plVar1[1] = (ulong)bVar58" (subscript_expression "plVar1[1]" identifier [ number_literal ]) = (cast_expression "(ulong)bVar58" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if (param_5 != 2) {\n                    /* WARNING: Could not recover jumptable at 0x00134c50. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);\n        return;\n      }" if (parenthesized_expression "(param_5 != 2)" ( (binary_expression "param_5 != 2" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x00134c50. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);\n        return;\n      }" { comment comment (expression_statement "(*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);" (call_expression "(*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "(plVar1,param_2 + -0x10)" ( identifier , (binary_expression "param_2 + -0x10" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) }) (else_clause "else {\n      uVar48 = *param_4;\n      auVar2._8_8_ = 0;\n      auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8);\n      auVar20._8_8_ = 0;\n      auVar20._0_8_ = uVar48;\n      auVar2 = auVar2 * auVar20;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      uVar52 = (ulong)uVar51;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134a72;\n      }\n      if (uVar51 < 2) {\n        uVar57 = uVar57 + 4;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        goto LAB_00134a5f;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        uVar52 = uVar57;\n        goto LAB_00134aa7;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar45._8_8_ = 0;\n        auVar45._0_8_ = auVar2._8_8_;\n        auVar5._8_8_ = 0;\n        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar23._8_8_ = 0;\n        auVar23._0_8_ = uVar48;\n        plVar1[uVar57 + 1] = auVar2._0_8_;\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        auVar2 = auVar5 * auVar23 + auVar45;\n        uVar52 = uVar57;\nLAB_00134aa7:\n        auVar46._8_8_ = 0;\n        auVar46._0_8_ = auVar2._8_8_;\n        auVar40._8_8_ = 0;\n        auVar40._0_8_ = auVar2._8_8_;\n        auVar6._8_8_ = 0;\n        auVar6._0_8_ = uVar56;\n        auVar24._8_8_ = 0;\n        auVar24._0_8_ = uVar48;\n        uVar57 = uVar52 + 4;\n        if (-1 < (long)uVar57) break;\n        plVar1[uVar52 + 2] = auVar2._0_8_;\n        auVar2 = auVar6 * auVar24 + auVar40;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\nLAB_00134a5f:\n        auVar38._8_8_ = 0;\n        auVar38._0_8_ = auVar2._8_8_;\n        uVar52 = 0;\n        auVar3._8_8_ = 0;\n        auVar3._0_8_ = uVar56;\n        auVar21._8_8_ = 0;\n        auVar21._0_8_ = uVar48;\n        plVar1[uVar57 - 1] = auVar2._0_8_;\n        auVar2 = auVar3 * auVar21 + auVar38;\nLAB_00134a72:\n        auVar39._8_8_ = uVar52;\n        auVar39._0_8_ = auVar2._8_8_;\n        auVar4._8_8_ = 0;\n        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar22._8_8_ = 0;\n        auVar22._0_8_ = uVar48;\n        plVar1[uVar57] = auVar2._0_8_;\n        auVar2 = auVar4 * auVar22 + auVar39;\n      }\n      plVar1[-2] = auVar2._0_8_;\n      auVar46 = auVar6 * auVar24 + auVar46;\n      plVar1[-1] = auVar46._0_8_;\n      plVar1[1] = 0;\n      *plVar1 = auVar46._8_8_;\n      if (param_5 != 1) {\n                    /* WARNING: Could not recover jumptable at 0x00134ae0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);\n        return;\n      }\n    }" else (compound_statement "{\n      uVar48 = *param_4;\n      auVar2._8_8_ = 0;\n      auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8);\n      auVar20._8_8_ = 0;\n      auVar20._0_8_ = uVar48;\n      auVar2 = auVar2 * auVar20;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      uVar52 = (ulong)uVar51;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134a72;\n      }\n      if (uVar51 < 2) {\n        uVar57 = uVar57 + 4;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        goto LAB_00134a5f;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        uVar52 = uVar57;\n        goto LAB_00134aa7;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar45._8_8_ = 0;\n        auVar45._0_8_ = auVar2._8_8_;\n        auVar5._8_8_ = 0;\n        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar23._8_8_ = 0;\n        auVar23._0_8_ = uVar48;\n        plVar1[uVar57 + 1] = auVar2._0_8_;\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        auVar2 = auVar5 * auVar23 + auVar45;\n        uVar52 = uVar57;\nLAB_00134aa7:\n        auVar46._8_8_ = 0;\n        auVar46._0_8_ = auVar2._8_8_;\n        auVar40._8_8_ = 0;\n        auVar40._0_8_ = auVar2._8_8_;\n        auVar6._8_8_ = 0;\n        auVar6._0_8_ = uVar56;\n        auVar24._8_8_ = 0;\n        auVar24._0_8_ = uVar48;\n        uVar57 = uVar52 + 4;\n        if (-1 < (long)uVar57) break;\n        plVar1[uVar52 + 2] = auVar2._0_8_;\n        auVar2 = auVar6 * auVar24 + auVar40;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\nLAB_00134a5f:\n        auVar38._8_8_ = 0;\n        auVar38._0_8_ = auVar2._8_8_;\n        uVar52 = 0;\n        auVar3._8_8_ = 0;\n        auVar3._0_8_ = uVar56;\n        auVar21._8_8_ = 0;\n        auVar21._0_8_ = uVar48;\n        plVar1[uVar57 - 1] = auVar2._0_8_;\n        auVar2 = auVar3 * auVar21 + auVar38;\nLAB_00134a72:\n        auVar39._8_8_ = uVar52;\n        auVar39._0_8_ = auVar2._8_8_;\n        auVar4._8_8_ = 0;\n        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar22._8_8_ = 0;\n        auVar22._0_8_ = uVar48;\n        plVar1[uVar57] = auVar2._0_8_;\n        auVar2 = auVar4 * auVar22 + auVar39;\n      }\n      plVar1[-2] = auVar2._0_8_;\n      auVar46 = auVar6 * auVar24 + auVar46;\n      plVar1[-1] = auVar46._0_8_;\n      plVar1[1] = 0;\n      *plVar1 = auVar46._8_8_;\n      if (param_5 != 1) {\n                    /* WARNING: Could not recover jumptable at 0x00134ae0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);\n        return;\n      }\n    }" { (expression_statement "uVar48 = *param_4;" (assignment_expression "uVar48 = *param_4" identifier = (pointer_expression "*param_4" * identifier)) ;) (expression_statement "auVar2._8_8_ = 0;" (assignment_expression "auVar2._8_8_ = 0" (field_expression "auVar2._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8);" (assignment_expression "auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8)" (field_expression "auVar2._0_8_" identifier . field_identifier) = (pointer_expression "*(ulong *)(param_2 + uVar56 * -8)" * (cast_expression "(ulong *)(param_2 + uVar56 * -8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + uVar56 * -8)" ( (binary_expression "param_2 + uVar56 * -8" identifier + (binary_expression "uVar56 * -8" identifier * number_literal)) ))))) ;) (expression_statement "auVar20._8_8_ = 0;" (assignment_expression "auVar20._8_8_ = 0" (field_expression "auVar20._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar20._0_8_ = uVar48;" (assignment_expression "auVar20._0_8_ = uVar48" (field_expression "auVar20._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar2 = auVar2 * auVar20;" (assignment_expression "auVar2 = auVar2 * auVar20" identifier = (binary_expression "auVar2 * auVar20" identifier * identifier)) ;) (expression_statement "uVar57 = -uVar56 & 0xfffffffffffffffc;" (assignment_expression "uVar57 = -uVar56 & 0xfffffffffffffffc" identifier = (binary_expression "-uVar56 & 0xfffffffffffffffc" (unary_expression "-uVar56" - identifier) & number_literal)) ;) (expression_statement "uVar51 = (uint)uVar56 & 3;" (assignment_expression "uVar51 = (uint)uVar56 & 3" identifier = (binary_expression "(uint)uVar56 & 3" (cast_expression "(uint)uVar56" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "uVar52 = (ulong)uVar51;" (assignment_expression "uVar52 = (ulong)uVar51" identifier = (cast_expression "(ulong)uVar51" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134a72;\n      }" if (parenthesized_expression "((uVar56 & 3) == 0)" ( (binary_expression "(uVar56 & 3) == 0" (parenthesized_expression "(uVar56 & 3)" ( (binary_expression "uVar56 & 3" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134a72;\n      }" { (expression_statement "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60" identifier = (cast_expression "(code *)&DAT_00134c60" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00134c60" & identifier))) ;) (goto_statement "goto LAB_00134a72;" goto statement_identifier ;) })) (if_statement "if (uVar51 < 2) {\n        uVar57 = uVar57 + 4;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        goto LAB_00134a5f;\n      }" if (parenthesized_expression "(uVar51 < 2)" ( (binary_expression "uVar51 < 2" identifier < number_literal) )) (compound_statement "{\n        uVar57 = uVar57 + 4;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        goto LAB_00134a5f;\n      }" { (expression_statement "uVar57 = uVar57 + 4;" (assignment_expression "uVar57 = uVar57 + 4" identifier = (binary_expression "uVar57 + 4" identifier + number_literal)) ;) (expression_statement "uVar56 = *(ulong *)(param_2 + uVar57 * 8);" (assignment_expression "uVar56 = *(ulong *)(param_2 + uVar57 * 8)" identifier = (pointer_expression "*(ulong *)(param_2 + uVar57 * 8)" * (cast_expression "(ulong *)(param_2 + uVar57 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + uVar57 * 8)" ( (binary_expression "param_2 + uVar57 * 8" identifier + (binary_expression "uVar57 * 8" identifier * number_literal)) ))))) ;) (expression_statement "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80" identifier = (cast_expression "(code *)&DAT_00134c80" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00134c80" & identifier))) ;) (goto_statement "goto LAB_00134a5f;" goto statement_identifier ;) })) (if_statement "if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        uVar52 = uVar57;\n        goto LAB_00134aa7;\n      }" if (parenthesized_expression "(uVar51 == 2)" ( (binary_expression "uVar51 == 2" identifier == number_literal) )) (compound_statement "{\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        uVar52 = uVar57;\n        goto LAB_00134aa7;\n      }" { (expression_statement "uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);" (assignment_expression "uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8)" identifier = (pointer_expression "*(ulong *)(param_2 + 0x18 + uVar57 * 8)" * (cast_expression "(ulong *)(param_2 + 0x18 + uVar57 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18 + uVar57 * 8)" ( (binary_expression "param_2 + 0x18 + uVar57 * 8" (binary_expression "param_2 + 0x18" identifier + number_literal) + (binary_expression "uVar57 * 8" identifier * number_literal)) ))))) ;) (expression_statement "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0" identifier = (cast_expression "(code *)&DAT_00134ca0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00134ca0" & identifier))) ;) (expression_statement "uVar52 = uVar57;" (assignment_expression "uVar52 = uVar57" identifier = identifier) ;) (goto_statement "goto LAB_00134aa7;" goto statement_identifier ;) })) (expression_statement "UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0" identifier = (cast_expression "(code *)&LAB_00134cc0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&LAB_00134cc0" & identifier))) ;) (while_statement "while( true ) {\n        auVar45._8_8_ = 0;\n        auVar45._0_8_ = auVar2._8_8_;\n        auVar5._8_8_ = 0;\n        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar23._8_8_ = 0;\n        auVar23._0_8_ = uVar48;\n        plVar1[uVar57 + 1] = auVar2._0_8_;\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        auVar2 = auVar5 * auVar23 + auVar45;\n        uVar52 = uVar57;\nLAB_00134aa7:\n        auVar46._8_8_ = 0;\n        auVar46._0_8_ = auVar2._8_8_;\n        auVar40._8_8_ = 0;\n        auVar40._0_8_ = auVar2._8_8_;\n        auVar6._8_8_ = 0;\n        auVar6._0_8_ = uVar56;\n        auVar24._8_8_ = 0;\n        auVar24._0_8_ = uVar48;\n        uVar57 = uVar52 + 4;\n        if (-1 < (long)uVar57) break;\n        plVar1[uVar52 + 2] = auVar2._0_8_;\n        auVar2 = auVar6 * auVar24 + auVar40;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\nLAB_00134a5f:\n        auVar38._8_8_ = 0;\n        auVar38._0_8_ = auVar2._8_8_;\n        uVar52 = 0;\n        auVar3._8_8_ = 0;\n        auVar3._0_8_ = uVar56;\n        auVar21._8_8_ = 0;\n        auVar21._0_8_ = uVar48;\n        plVar1[uVar57 - 1] = auVar2._0_8_;\n        auVar2 = auVar3 * auVar21 + auVar38;\nLAB_00134a72:\n        auVar39._8_8_ = uVar52;\n        auVar39._0_8_ = auVar2._8_8_;\n        auVar4._8_8_ = 0;\n        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar22._8_8_ = 0;\n        auVar22._0_8_ = uVar48;\n        plVar1[uVar57] = auVar2._0_8_;\n        auVar2 = auVar4 * auVar22 + auVar39;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        auVar45._8_8_ = 0;\n        auVar45._0_8_ = auVar2._8_8_;\n        auVar5._8_8_ = 0;\n        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar23._8_8_ = 0;\n        auVar23._0_8_ = uVar48;\n        plVar1[uVar57 + 1] = auVar2._0_8_;\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        auVar2 = auVar5 * auVar23 + auVar45;\n        uVar52 = uVar57;\nLAB_00134aa7:\n        auVar46._8_8_ = 0;\n        auVar46._0_8_ = auVar2._8_8_;\n        auVar40._8_8_ = 0;\n        auVar40._0_8_ = auVar2._8_8_;\n        auVar6._8_8_ = 0;\n        auVar6._0_8_ = uVar56;\n        auVar24._8_8_ = 0;\n        auVar24._0_8_ = uVar48;\n        uVar57 = uVar52 + 4;\n        if (-1 < (long)uVar57) break;\n        plVar1[uVar52 + 2] = auVar2._0_8_;\n        auVar2 = auVar6 * auVar24 + auVar40;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\nLAB_00134a5f:\n        auVar38._8_8_ = 0;\n        auVar38._0_8_ = auVar2._8_8_;\n        uVar52 = 0;\n        auVar3._8_8_ = 0;\n        auVar3._0_8_ = uVar56;\n        auVar21._8_8_ = 0;\n        auVar21._0_8_ = uVar48;\n        plVar1[uVar57 - 1] = auVar2._0_8_;\n        auVar2 = auVar3 * auVar21 + auVar38;\nLAB_00134a72:\n        auVar39._8_8_ = uVar52;\n        auVar39._0_8_ = auVar2._8_8_;\n        auVar4._8_8_ = 0;\n        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar22._8_8_ = 0;\n        auVar22._0_8_ = uVar48;\n        plVar1[uVar57] = auVar2._0_8_;\n        auVar2 = auVar4 * auVar22 + auVar39;\n      }" { (expression_statement "auVar45._8_8_ = 0;" (assignment_expression "auVar45._8_8_ = 0" (field_expression "auVar45._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar45._0_8_ = auVar2._8_8_;" (assignment_expression "auVar45._0_8_ = auVar2._8_8_" (field_expression "auVar45._0_8_" identifier . field_identifier) = (field_expression "auVar2._8_8_" identifier . field_identifier)) ;) (expression_statement "auVar5._8_8_ = 0;" (assignment_expression "auVar5._8_8_ = 0" (field_expression "auVar5._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);" (assignment_expression "auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8)" (field_expression "auVar5._0_8_" identifier . field_identifier) = (pointer_expression "*(ulong *)(param_2 + 0x10 + uVar57 * 8)" * (cast_expression "(ulong *)(param_2 + 0x10 + uVar57 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10 + uVar57 * 8)" ( (binary_expression "param_2 + 0x10 + uVar57 * 8" (binary_expression "param_2 + 0x10" identifier + number_literal) + (binary_expression "uVar57 * 8" identifier * number_literal)) ))))) ;) (expression_statement "auVar23._8_8_ = 0;" (assignment_expression "auVar23._8_8_ = 0" (field_expression "auVar23._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar23._0_8_ = uVar48;" (assignment_expression "auVar23._0_8_ = uVar48" (field_expression "auVar23._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "plVar1[uVar57 + 1] = auVar2._0_8_;" (assignment_expression "plVar1[uVar57 + 1] = auVar2._0_8_" (subscript_expression "plVar1[uVar57 + 1]" identifier [ (binary_expression "uVar57 + 1" identifier + number_literal) ]) = (field_expression "auVar2._0_8_" identifier . field_identifier)) ;) (expression_statement "uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);" (assignment_expression "uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8)" identifier = (pointer_expression "*(ulong *)(param_2 + 0x18 + uVar57 * 8)" * (cast_expression "(ulong *)(param_2 + 0x18 + uVar57 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18 + uVar57 * 8)" ( (binary_expression "param_2 + 0x18 + uVar57 * 8" (binary_expression "param_2 + 0x18" identifier + number_literal) + (binary_expression "uVar57 * 8" identifier * number_literal)) ))))) ;) (expression_statement "auVar2 = auVar5 * auVar23 + auVar45;" (assignment_expression "auVar2 = auVar5 * auVar23 + auVar45" identifier = (binary_expression "auVar5 * auVar23 + auVar45" (binary_expression "auVar5 * auVar23" identifier * identifier) + identifier)) ;) (expression_statement "uVar52 = uVar57;" (assignment_expression "uVar52 = uVar57" identifier = identifier) ;) (labeled_statement "LAB_00134aa7:\n        auVar46._8_8_ = 0;" statement_identifier : (expression_statement "auVar46._8_8_ = 0;" (assignment_expression "auVar46._8_8_ = 0" (field_expression "auVar46._8_8_" identifier . field_identifier) = number_literal) ;)) (expression_statement "auVar46._0_8_ = auVar2._8_8_;" (assignment_expression "auVar46._0_8_ = auVar2._8_8_" (field_expression "auVar46._0_8_" identifier . field_identifier) = (field_expression "auVar2._8_8_" identifier . field_identifier)) ;) (expression_statement "auVar40._8_8_ = 0;" (assignment_expression "auVar40._8_8_ = 0" (field_expression "auVar40._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar40._0_8_ = auVar2._8_8_;" (assignment_expression "auVar40._0_8_ = auVar2._8_8_" (field_expression "auVar40._0_8_" identifier . field_identifier) = (field_expression "auVar2._8_8_" identifier . field_identifier)) ;) (expression_statement "auVar6._8_8_ = 0;" (assignment_expression "auVar6._8_8_ = 0" (field_expression "auVar6._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar6._0_8_ = uVar56;" (assignment_expression "auVar6._0_8_ = uVar56" (field_expression "auVar6._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar24._8_8_ = 0;" (assignment_expression "auVar24._8_8_ = 0" (field_expression "auVar24._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar24._0_8_ = uVar48;" (assignment_expression "auVar24._0_8_ = uVar48" (field_expression "auVar24._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "uVar57 = uVar52 + 4;" (assignment_expression "uVar57 = uVar52 + 4" identifier = (binary_expression "uVar52 + 4" identifier + number_literal)) ;) (if_statement "if (-1 < (long)uVar57) break;" if (parenthesized_expression "(-1 < (long)uVar57)" ( (binary_expression "-1 < (long)uVar57" number_literal < (cast_expression "(long)uVar57" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )) (break_statement "break;" break ;)) (expression_statement "plVar1[uVar52 + 2] = auVar2._0_8_;" (assignment_expression "plVar1[uVar52 + 2] = auVar2._0_8_" (subscript_expression "plVar1[uVar52 + 2]" identifier [ (binary_expression "uVar52 + 2" identifier + number_literal) ]) = (field_expression "auVar2._0_8_" identifier . field_identifier)) ;) (expression_statement "auVar2 = auVar6 * auVar24 + auVar40;" (assignment_expression "auVar2 = auVar6 * auVar24 + auVar40" identifier = (binary_expression "auVar6 * auVar24 + auVar40" (binary_expression "auVar6 * auVar24" identifier * identifier) + identifier)) ;) (expression_statement "uVar56 = *(ulong *)(param_2 + uVar57 * 8);" (assignment_expression "uVar56 = *(ulong *)(param_2 + uVar57 * 8)" identifier = (pointer_expression "*(ulong *)(param_2 + uVar57 * 8)" * (cast_expression "(ulong *)(param_2 + uVar57 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + uVar57 * 8)" ( (binary_expression "param_2 + uVar57 * 8" identifier + (binary_expression "uVar57 * 8" identifier * number_literal)) ))))) ;) (labeled_statement "LAB_00134a5f:\n        auVar38._8_8_ = 0;" statement_identifier : (expression_statement "auVar38._8_8_ = 0;" (assignment_expression "auVar38._8_8_ = 0" (field_expression "auVar38._8_8_" identifier . field_identifier) = number_literal) ;)) (expression_statement "auVar38._0_8_ = auVar2._8_8_;" (assignment_expression "auVar38._0_8_ = auVar2._8_8_" (field_expression "auVar38._0_8_" identifier . field_identifier) = (field_expression "auVar2._8_8_" identifier . field_identifier)) ;) (expression_statement "uVar52 = 0;" (assignment_expression "uVar52 = 0" identifier = number_literal) ;) (expression_statement "auVar3._8_8_ = 0;" (assignment_expression "auVar3._8_8_ = 0" (field_expression "auVar3._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar3._0_8_ = uVar56;" (assignment_expression "auVar3._0_8_ = uVar56" (field_expression "auVar3._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar21._8_8_ = 0;" (assignment_expression "auVar21._8_8_ = 0" (field_expression "auVar21._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar21._0_8_ = uVar48;" (assignment_expression "auVar21._0_8_ = uVar48" (field_expression "auVar21._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "plVar1[uVar57 - 1] = auVar2._0_8_;" (assignment_expression "plVar1[uVar57 - 1] = auVar2._0_8_" (subscript_expression "plVar1[uVar57 - 1]" identifier [ (binary_expression "uVar57 - 1" identifier - number_literal) ]) = (field_expression "auVar2._0_8_" identifier . field_identifier)) ;) (expression_statement "auVar2 = auVar3 * auVar21 + auVar38;" (assignment_expression "auVar2 = auVar3 * auVar21 + auVar38" identifier = (binary_expression "auVar3 * auVar21 + auVar38" (binary_expression "auVar3 * auVar21" identifier * identifier) + identifier)) ;) (labeled_statement "LAB_00134a72:\n        auVar39._8_8_ = uVar52;" statement_identifier : (expression_statement "auVar39._8_8_ = uVar52;" (assignment_expression "auVar39._8_8_ = uVar52" (field_expression "auVar39._8_8_" identifier . field_identifier) = identifier) ;)) (expression_statement "auVar39._0_8_ = auVar2._8_8_;" (assignment_expression "auVar39._0_8_ = auVar2._8_8_" (field_expression "auVar39._0_8_" identifier . field_identifier) = (field_expression "auVar2._8_8_" identifier . field_identifier)) ;) (expression_statement "auVar4._8_8_ = 0;" (assignment_expression "auVar4._8_8_ = 0" (field_expression "auVar4._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);" (assignment_expression "auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8)" (field_expression "auVar4._0_8_" identifier . field_identifier) = (pointer_expression "*(ulong *)(param_2 + 8 + uVar57 * 8)" * (cast_expression "(ulong *)(param_2 + 8 + uVar57 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8 + uVar57 * 8)" ( (binary_expression "param_2 + 8 + uVar57 * 8" (binary_expression "param_2 + 8" identifier + number_literal) + (binary_expression "uVar57 * 8" identifier * number_literal)) ))))) ;) (expression_statement "auVar22._8_8_ = 0;" (assignment_expression "auVar22._8_8_ = 0" (field_expression "auVar22._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar22._0_8_ = uVar48;" (assignment_expression "auVar22._0_8_ = uVar48" (field_expression "auVar22._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "plVar1[uVar57] = auVar2._0_8_;" (assignment_expression "plVar1[uVar57] = auVar2._0_8_" (subscript_expression "plVar1[uVar57]" identifier [ identifier ]) = (field_expression "auVar2._0_8_" identifier . field_identifier)) ;) (expression_statement "auVar2 = auVar4 * auVar22 + auVar39;" (assignment_expression "auVar2 = auVar4 * auVar22 + auVar39" identifier = (binary_expression "auVar4 * auVar22 + auVar39" (binary_expression "auVar4 * auVar22" identifier * identifier) + identifier)) ;) })) (expression_statement "plVar1[-2] = auVar2._0_8_;" (assignment_expression "plVar1[-2] = auVar2._0_8_" (subscript_expression "plVar1[-2]" identifier [ number_literal ]) = (field_expression "auVar2._0_8_" identifier . field_identifier)) ;) (expression_statement "auVar46 = auVar6 * auVar24 + auVar46;" (assignment_expression "auVar46 = auVar6 * auVar24 + auVar46" identifier = (binary_expression "auVar6 * auVar24 + auVar46" (binary_expression "auVar6 * auVar24" identifier * identifier) + identifier)) ;) (expression_statement "plVar1[-1] = auVar46._0_8_;" (assignment_expression "plVar1[-1] = auVar46._0_8_" (subscript_expression "plVar1[-1]" identifier [ number_literal ]) = (field_expression "auVar46._0_8_" identifier . field_identifier)) ;) (expression_statement "plVar1[1] = 0;" (assignment_expression "plVar1[1] = 0" (subscript_expression "plVar1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*plVar1 = auVar46._8_8_;" (assignment_expression "*plVar1 = auVar46._8_8_" (pointer_expression "*plVar1" * identifier) = (field_expression "auVar46._8_8_" identifier . field_identifier)) ;) (if_statement "if (param_5 != 1) {\n                    /* WARNING: Could not recover jumptable at 0x00134ae0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);\n        return;\n      }" if (parenthesized_expression "(param_5 != 1)" ( (binary_expression "param_5 != 1" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x00134ae0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);\n        return;\n      }" { comment comment (expression_statement "(*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);" (call_expression "(*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "(plVar1,param_2 + -8)" ( identifier , (binary_expression "param_2 + -8" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) }))) }))) (return_statement "return;" return ;) })))
(translation_unit "void __gmpn_mulmid_basecase(long param_1,long param_2,long param_3,ulong *param_4,ulong param_5)\n\n{\n  long *plVar1;\n  undefined1 auVar2 [16];\n  undefined1 auVar3 [16];\n  undefined1 auVar4 [16];\n  undefined1 auVar5 [16];\n  undefined1 auVar6 [16];\n  undefined1 auVar7 [16];\n  undefined1 auVar8 [16];\n  undefined1 auVar9 [16];\n  undefined1 auVar10 [16];\n  undefined1 auVar11 [16];\n  undefined1 auVar12 [16];\n  undefined1 auVar13 [16];\n  undefined1 auVar14 [16];\n  undefined1 auVar15 [16];\n  undefined1 auVar16 [16];\n  undefined1 auVar17 [16];\n  undefined1 auVar18 [16];\n  undefined1 auVar19 [16];\n  undefined1 auVar20 [16];\n  undefined1 auVar21 [16];\n  undefined1 auVar22 [16];\n  undefined1 auVar23 [16];\n  undefined1 auVar24 [16];\n  undefined1 auVar25 [16];\n  undefined1 auVar26 [16];\n  undefined1 auVar27 [16];\n  undefined1 auVar28 [16];\n  undefined1 auVar29 [16];\n  undefined1 auVar30 [16];\n  undefined1 auVar31 [16];\n  undefined1 auVar32 [16];\n  undefined1 auVar33 [16];\n  undefined1 auVar34 [16];\n  undefined1 auVar35 [16];\n  undefined1 auVar36 [16];\n  undefined1 auVar37 [16];\n  undefined1 auVar38 [16];\n  undefined1 auVar39 [16];\n  undefined1 auVar40 [16];\n  undefined1 auVar41 [16];\n  undefined1 auVar42 [16];\n  undefined1 auVar43 [16];\n  undefined1 auVar44 [16];\n  undefined1 auVar45 [16];\n  undefined1 auVar46 [16];\n  ulong uVar47;\n  ulong uVar48;\n  ulong uVar49;\n  ulong uVar50;\n  uint uVar51;\n  ulong uVar52;\n  ulong uVar53;\n  long lVar54;\n  ulong *puVar55;\n  ulong uVar56;\n  ulong uVar57;\n  code *UNRECOVERED_JUMPTABLE;\n  bool bVar58;\n  bool bVar59;\n  \n  uVar56 = (param_3 + 1) - param_5;\n  plVar1 = (long *)(param_1 + uVar56 * 8);\n  if (uVar56 < 4) {\n    uVar52 = 0;\n    uVar48 = 0;\n    lVar54 = 0;\n    uVar51 = (uint)param_5 & 3;\n    if ((param_5 & 3) == 0) {\n      UNRECOVERED_JUMPTABLE = (code *)0x134e0c;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      puVar55 = param_4;\n      goto LAB_00134e5f;\n    }\n    if (uVar51 < 2) {\n      puVar55 = param_4 + 1;\n      param_5 = param_5 + 3;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e28;\n      uVar57 = *param_4;\n      goto LAB_00134e9a;\n    }\n    if (uVar51 == 2) {\n      puVar55 = param_4 + -2;\n      param_5 = param_5 + 2;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e43;\n      uVar57 = *param_4;\n      goto LAB_00134e83;\n    }\n    puVar55 = param_4 + -1;\n    param_5 = param_5 + 1;\n    UNRECOVERED_JUMPTABLE = (code *)0x134e6c;\n    while( true ) {\n      auVar17._8_8_ = 0;\n      auVar17._0_8_ = *(ulong *)(param_2 + -0x10 + param_5 * 8);\n      auVar35._8_8_ = 0;\n      auVar35._0_8_ = puVar55[1];\n      uVar47 = SUB168(auVar17 * auVar35,8);\n      uVar57 = SUB168(auVar17 * auVar35,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[2];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e83:\n      auVar18._8_8_ = 0;\n      auVar18._0_8_ = uVar57;\n      auVar36._8_8_ = 0;\n      auVar36._0_8_ = *(ulong *)(param_2 + -0x18 + param_5 * 8);\n      uVar47 = SUB168(auVar18 * auVar36,8);\n      uVar57 = SUB168(auVar18 * auVar36,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[3];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      puVar55 = puVar55 + 4;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e9a:\n      auVar19._8_8_ = 0;\n      auVar19._0_8_ = uVar57;\n      auVar37._8_8_ = 0;\n      auVar37._0_8_ = *(ulong *)(param_2 + -0x20 + param_5 * 8);\n      uVar50 = SUB168(auVar19 * auVar37,8);\n      uVar57 = SUB168(auVar19 * auVar37,0);\n      param_5 = param_5 - 4;\n      if (param_5 == 0) break;\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      bVar59 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + bVar58;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      lVar54 = lVar54 + (ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58));\nLAB_00134e5f:\n      auVar16._8_8_ = 0;\n      auVar16._0_8_ = uVar57;\n      auVar34._8_8_ = 0;\n      auVar34._0_8_ = *puVar55;\n      uVar50 = SUB168(auVar16 * auVar34,8);\n      uVar57 = SUB168(auVar16 * auVar34,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + uVar57;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar50,uVar57));\n    }\n    lVar54 = lVar54 + (ulong)(CARRY8(uVar48,uVar50) ||\n                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57)));\n    plVar1[-uVar56] = uVar52 + uVar57;\n    if (uVar56 != 1) {\n                    /* WARNING: Could not recover jumptable at 0x00134eca. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + 8,uVar50,lVar54);\n      return;\n    }\n    *plVar1 = uVar48 + uVar50 + (ulong)CARRY8(uVar52,uVar57);\n    plVar1[1] = lVar54;\n  }\n  else {\n    param_2 = param_2 + param_3 * 8;\n    if ((param_5 & 1) == 0) {\n      uVar48 = *param_4;\n      uVar52 = param_4[1];\n      auVar7._8_8_ = 0;\n      auVar7._0_8_ = *(ulong *)(param_2 + -8 + uVar56 * -8);\n      auVar25._8_8_ = 0;\n      auVar25._0_8_ = uVar52;\n      auVar7 = auVar7 * auVar25;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134b8e;\n      }\n      if (uVar51 < 2) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        uVar56 = uVar57;\n        goto LAB_00134c0d;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        goto LAB_00134be9;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar11._8_8_ = 0;\n        auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar29._8_8_ = 0;\n        auVar29._0_8_ = uVar48;\n        uVar49 = SUB168(auVar11 * auVar29,8);\n        uVar47 = SUB168(auVar11 * auVar29,0);\n        uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar43._0_8_ = uVar50 + uVar56;\n        auVar43._9_7_ = 0;\n        uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;\n        auVar12._8_8_ = 0;\n        auVar12._0_8_ = uVar56;\n        auVar30._8_8_ = 0;\n        auVar30._0_8_ = uVar52;\n        auVar7 = auVar12 * auVar30 + auVar43;\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\nLAB_00134be9:\n        uVar53 = auVar7._0_8_;\n        auVar13._8_8_ = 0;\n        auVar13._0_8_ = uVar56;\n        auVar31._8_8_ = 0;\n        auVar31._0_8_ = uVar48;\n        uVar49 = SUB168(auVar13 * auVar31,8);\n        uVar47 = SUB168(auVar13 * auVar31,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar44._0_8_ = uVar50 + uVar56;\n        auVar44._9_7_ = 0;\n        auVar14._8_8_ = 0;\n        auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar32._8_8_ = 0;\n        auVar32._0_8_ = uVar52;\n        auVar7 = auVar14 * auVar32 + auVar44;\n        plVar1[uVar57 + 2] = uVar53 + uVar47;\n        uVar56 = uVar57;\nLAB_00134c0d:\n        auVar15._8_8_ = 0;\n        auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);\n        auVar33._8_8_ = 0;\n        auVar33._0_8_ = uVar48;\n        uVar49 = SUB168(auVar15 * auVar33,8);\n        uVar47 = SUB168(auVar15 * auVar33,0);\n        uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);\n        lVar54 = uVar50 + uVar57;\n        auVar41[8] = bVar58;\n        auVar41._0_8_ = lVar54;\n        auVar41._9_7_ = 0;\n        uVar57 = uVar56 + 4;\n        plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;\n        if (uVar57 == 0) break;\n        auVar8._8_8_ = 0;\n        auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);\n        auVar26._8_8_ = 0;\n        auVar26._0_8_ = uVar52;\n        auVar7 = auVar8 * auVar26 + auVar41;\nLAB_00134b8e:\n        uVar53 = auVar7._0_8_;\n        auVar9._8_8_ = 0;\n        auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar27._8_8_ = 0;\n        auVar27._0_8_ = uVar48;\n        uVar49 = SUB168(auVar9 * auVar27,8);\n        uVar47 = SUB168(auVar9 * auVar27,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar42._0_8_ = uVar50 + uVar56;\n        auVar42._9_7_ = 0;\n        auVar10._8_8_ = 0;\n        auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar28._8_8_ = 0;\n        auVar28._0_8_ = uVar52;\n        auVar7 = auVar10 * auVar28 + auVar42;\n        plVar1[uVar57] = uVar53 + uVar47;\n      }\n      *plVar1 = lVar54;\n      plVar1[1] = (ulong)bVar58;\n      if (param_5 != 2) {\n                    /* WARNING: Could not recover jumptable at 0x00134c50. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);\n        return;\n      }\n    }\n    else {\n      uVar48 = *param_4;\n      auVar2._8_8_ = 0;\n      auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8);\n      auVar20._8_8_ = 0;\n      auVar20._0_8_ = uVar48;\n      auVar2 = auVar2 * auVar20;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      uVar52 = (ulong)uVar51;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134a72;\n      }\n      if (uVar51 < 2) {\n        uVar57 = uVar57 + 4;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        goto LAB_00134a5f;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        uVar52 = uVar57;\n        goto LAB_00134aa7;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar45._8_8_ = 0;\n        auVar45._0_8_ = auVar2._8_8_;\n        auVar5._8_8_ = 0;\n        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar23._8_8_ = 0;\n        auVar23._0_8_ = uVar48;\n        plVar1[uVar57 + 1] = auVar2._0_8_;\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        auVar2 = auVar5 * auVar23 + auVar45;\n        uVar52 = uVar57;\nLAB_00134aa7:\n        auVar46._8_8_ = 0;\n        auVar46._0_8_ = auVar2._8_8_;\n        auVar40._8_8_ = 0;\n        auVar40._0_8_ = auVar2._8_8_;\n        auVar6._8_8_ = 0;\n        auVar6._0_8_ = uVar56;\n        auVar24._8_8_ = 0;\n        auVar24._0_8_ = uVar48;\n        uVar57 = uVar52 + 4;\n        if (-1 < (long)uVar57) break;\n        plVar1[uVar52 + 2] = auVar2._0_8_;\n        auVar2 = auVar6 * auVar24 + auVar40;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\nLAB_00134a5f:\n        auVar38._8_8_ = 0;\n        auVar38._0_8_ = auVar2._8_8_;\n        uVar52 = 0;\n        auVar3._8_8_ = 0;\n        auVar3._0_8_ = uVar56;\n        auVar21._8_8_ = 0;\n        auVar21._0_8_ = uVar48;\n        plVar1[uVar57 - 1] = auVar2._0_8_;\n        auVar2 = auVar3 * auVar21 + auVar38;\nLAB_00134a72:\n        auVar39._8_8_ = uVar52;\n        auVar39._0_8_ = auVar2._8_8_;\n        auVar4._8_8_ = 0;\n        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar22._8_8_ = 0;\n        auVar22._0_8_ = uVar48;\n        plVar1[uVar57] = auVar2._0_8_;\n        auVar2 = auVar4 * auVar22 + auVar39;\n      }\n      plVar1[-2] = auVar2._0_8_;\n      auVar46 = auVar6 * auVar24 + auVar46;\n      plVar1[-1] = auVar46._0_8_;\n      plVar1[1] = 0;\n      *plVar1 = auVar46._8_8_;\n      if (param_5 != 1) {\n                    /* WARNING: Could not recover jumptable at 0x00134ae0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);\n        return;\n      }\n    }\n  }\n  return;\n}\n\n" (function_definition "void __gmpn_mulmid_basecase(long param_1,long param_2,long param_3,ulong *param_4,ulong param_5)\n\n{\n  long *plVar1;\n  undefined1 auVar2 [16];\n  undefined1 auVar3 [16];\n  undefined1 auVar4 [16];\n  undefined1 auVar5 [16];\n  undefined1 auVar6 [16];\n  undefined1 auVar7 [16];\n  undefined1 auVar8 [16];\n  undefined1 auVar9 [16];\n  undefined1 auVar10 [16];\n  undefined1 auVar11 [16];\n  undefined1 auVar12 [16];\n  undefined1 auVar13 [16];\n  undefined1 auVar14 [16];\n  undefined1 auVar15 [16];\n  undefined1 auVar16 [16];\n  undefined1 auVar17 [16];\n  undefined1 auVar18 [16];\n  undefined1 auVar19 [16];\n  undefined1 auVar20 [16];\n  undefined1 auVar21 [16];\n  undefined1 auVar22 [16];\n  undefined1 auVar23 [16];\n  undefined1 auVar24 [16];\n  undefined1 auVar25 [16];\n  undefined1 auVar26 [16];\n  undefined1 auVar27 [16];\n  undefined1 auVar28 [16];\n  undefined1 auVar29 [16];\n  undefined1 auVar30 [16];\n  undefined1 auVar31 [16];\n  undefined1 auVar32 [16];\n  undefined1 auVar33 [16];\n  undefined1 auVar34 [16];\n  undefined1 auVar35 [16];\n  undefined1 auVar36 [16];\n  undefined1 auVar37 [16];\n  undefined1 auVar38 [16];\n  undefined1 auVar39 [16];\n  undefined1 auVar40 [16];\n  undefined1 auVar41 [16];\n  undefined1 auVar42 [16];\n  undefined1 auVar43 [16];\n  undefined1 auVar44 [16];\n  undefined1 auVar45 [16];\n  undefined1 auVar46 [16];\n  ulong uVar47;\n  ulong uVar48;\n  ulong uVar49;\n  ulong uVar50;\n  uint uVar51;\n  ulong uVar52;\n  ulong uVar53;\n  long lVar54;\n  ulong *puVar55;\n  ulong uVar56;\n  ulong uVar57;\n  code *UNRECOVERED_JUMPTABLE;\n  bool bVar58;\n  bool bVar59;\n  \n  uVar56 = (param_3 + 1) - param_5;\n  plVar1 = (long *)(param_1 + uVar56 * 8);\n  if (uVar56 < 4) {\n    uVar52 = 0;\n    uVar48 = 0;\n    lVar54 = 0;\n    uVar51 = (uint)param_5 & 3;\n    if ((param_5 & 3) == 0) {\n      UNRECOVERED_JUMPTABLE = (code *)0x134e0c;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      puVar55 = param_4;\n      goto LAB_00134e5f;\n    }\n    if (uVar51 < 2) {\n      puVar55 = param_4 + 1;\n      param_5 = param_5 + 3;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e28;\n      uVar57 = *param_4;\n      goto LAB_00134e9a;\n    }\n    if (uVar51 == 2) {\n      puVar55 = param_4 + -2;\n      param_5 = param_5 + 2;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e43;\n      uVar57 = *param_4;\n      goto LAB_00134e83;\n    }\n    puVar55 = param_4 + -1;\n    param_5 = param_5 + 1;\n    UNRECOVERED_JUMPTABLE = (code *)0x134e6c;\n    while( true ) {\n      auVar17._8_8_ = 0;\n      auVar17._0_8_ = *(ulong *)(param_2 + -0x10 + param_5 * 8);\n      auVar35._8_8_ = 0;\n      auVar35._0_8_ = puVar55[1];\n      uVar47 = SUB168(auVar17 * auVar35,8);\n      uVar57 = SUB168(auVar17 * auVar35,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[2];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e83:\n      auVar18._8_8_ = 0;\n      auVar18._0_8_ = uVar57;\n      auVar36._8_8_ = 0;\n      auVar36._0_8_ = *(ulong *)(param_2 + -0x18 + param_5 * 8);\n      uVar47 = SUB168(auVar18 * auVar36,8);\n      uVar57 = SUB168(auVar18 * auVar36,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[3];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      puVar55 = puVar55 + 4;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e9a:\n      auVar19._8_8_ = 0;\n      auVar19._0_8_ = uVar57;\n      auVar37._8_8_ = 0;\n      auVar37._0_8_ = *(ulong *)(param_2 + -0x20 + param_5 * 8);\n      uVar50 = SUB168(auVar19 * auVar37,8);\n      uVar57 = SUB168(auVar19 * auVar37,0);\n      param_5 = param_5 - 4;\n      if (param_5 == 0) break;\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      bVar59 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + bVar58;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      lVar54 = lVar54 + (ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58));\nLAB_00134e5f:\n      auVar16._8_8_ = 0;\n      auVar16._0_8_ = uVar57;\n      auVar34._8_8_ = 0;\n      auVar34._0_8_ = *puVar55;\n      uVar50 = SUB168(auVar16 * auVar34,8);\n      uVar57 = SUB168(auVar16 * auVar34,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + uVar57;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar50,uVar57));\n    }\n    lVar54 = lVar54 + (ulong)(CARRY8(uVar48,uVar50) ||\n                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57)));\n    plVar1[-uVar56] = uVar52 + uVar57;\n    if (uVar56 != 1) {\n                    /* WARNING: Could not recover jumptable at 0x00134eca. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + 8,uVar50,lVar54);\n      return;\n    }\n    *plVar1 = uVar48 + uVar50 + (ulong)CARRY8(uVar52,uVar57);\n    plVar1[1] = lVar54;\n  }\n  else {\n    param_2 = param_2 + param_3 * 8;\n    if ((param_5 & 1) == 0) {\n      uVar48 = *param_4;\n      uVar52 = param_4[1];\n      auVar7._8_8_ = 0;\n      auVar7._0_8_ = *(ulong *)(param_2 + -8 + uVar56 * -8);\n      auVar25._8_8_ = 0;\n      auVar25._0_8_ = uVar52;\n      auVar7 = auVar7 * auVar25;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134b8e;\n      }\n      if (uVar51 < 2) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        uVar56 = uVar57;\n        goto LAB_00134c0d;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        goto LAB_00134be9;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar11._8_8_ = 0;\n        auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar29._8_8_ = 0;\n        auVar29._0_8_ = uVar48;\n        uVar49 = SUB168(auVar11 * auVar29,8);\n        uVar47 = SUB168(auVar11 * auVar29,0);\n        uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar43._0_8_ = uVar50 + uVar56;\n        auVar43._9_7_ = 0;\n        uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;\n        auVar12._8_8_ = 0;\n        auVar12._0_8_ = uVar56;\n        auVar30._8_8_ = 0;\n        auVar30._0_8_ = uVar52;\n        auVar7 = auVar12 * auVar30 + auVar43;\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\nLAB_00134be9:\n        uVar53 = auVar7._0_8_;\n        auVar13._8_8_ = 0;\n        auVar13._0_8_ = uVar56;\n        auVar31._8_8_ = 0;\n        auVar31._0_8_ = uVar48;\n        uVar49 = SUB168(auVar13 * auVar31,8);\n        uVar47 = SUB168(auVar13 * auVar31,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar44._0_8_ = uVar50 + uVar56;\n        auVar44._9_7_ = 0;\n        auVar14._8_8_ = 0;\n        auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar32._8_8_ = 0;\n        auVar32._0_8_ = uVar52;\n        auVar7 = auVar14 * auVar32 + auVar44;\n        plVar1[uVar57 + 2] = uVar53 + uVar47;\n        uVar56 = uVar57;\nLAB_00134c0d:\n        auVar15._8_8_ = 0;\n        auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);\n        auVar33._8_8_ = 0;\n        auVar33._0_8_ = uVar48;\n        uVar49 = SUB168(auVar15 * auVar33,8);\n        uVar47 = SUB168(auVar15 * auVar33,0);\n        uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);\n        lVar54 = uVar50 + uVar57;\n        auVar41[8] = bVar58;\n        auVar41._0_8_ = lVar54;\n        auVar41._9_7_ = 0;\n        uVar57 = uVar56 + 4;\n        plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;\n        if (uVar57 == 0) break;\n        auVar8._8_8_ = 0;\n        auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);\n        auVar26._8_8_ = 0;\n        auVar26._0_8_ = uVar52;\n        auVar7 = auVar8 * auVar26 + auVar41;\nLAB_00134b8e:\n        uVar53 = auVar7._0_8_;\n        auVar9._8_8_ = 0;\n        auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar27._8_8_ = 0;\n        auVar27._0_8_ = uVar48;\n        uVar49 = SUB168(auVar9 * auVar27,8);\n        uVar47 = SUB168(auVar9 * auVar27,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar42._0_8_ = uVar50 + uVar56;\n        auVar42._9_7_ = 0;\n        auVar10._8_8_ = 0;\n        auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar28._8_8_ = 0;\n        auVar28._0_8_ = uVar52;\n        auVar7 = auVar10 * auVar28 + auVar42;\n        plVar1[uVar57] = uVar53 + uVar47;\n      }\n      *plVar1 = lVar54;\n      plVar1[1] = (ulong)bVar58;\n      if (param_5 != 2) {\n                    /* WARNING: Could not recover jumptable at 0x00134c50. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);\n        return;\n      }\n    }\n    else {\n      uVar48 = *param_4;\n      auVar2._8_8_ = 0;\n      auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8);\n      auVar20._8_8_ = 0;\n      auVar20._0_8_ = uVar48;\n      auVar2 = auVar2 * auVar20;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      uVar52 = (ulong)uVar51;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134a72;\n      }\n      if (uVar51 < 2) {\n        uVar57 = uVar57 + 4;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        goto LAB_00134a5f;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        uVar52 = uVar57;\n        goto LAB_00134aa7;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar45._8_8_ = 0;\n        auVar45._0_8_ = auVar2._8_8_;\n        auVar5._8_8_ = 0;\n        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar23._8_8_ = 0;\n        auVar23._0_8_ = uVar48;\n        plVar1[uVar57 + 1] = auVar2._0_8_;\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        auVar2 = auVar5 * auVar23 + auVar45;\n        uVar52 = uVar57;\nLAB_00134aa7:\n        auVar46._8_8_ = 0;\n        auVar46._0_8_ = auVar2._8_8_;\n        auVar40._8_8_ = 0;\n        auVar40._0_8_ = auVar2._8_8_;\n        auVar6._8_8_ = 0;\n        auVar6._0_8_ = uVar56;\n        auVar24._8_8_ = 0;\n        auVar24._0_8_ = uVar48;\n        uVar57 = uVar52 + 4;\n        if (-1 < (long)uVar57) break;\n        plVar1[uVar52 + 2] = auVar2._0_8_;\n        auVar2 = auVar6 * auVar24 + auVar40;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\nLAB_00134a5f:\n        auVar38._8_8_ = 0;\n        auVar38._0_8_ = auVar2._8_8_;\n        uVar52 = 0;\n        auVar3._8_8_ = 0;\n        auVar3._0_8_ = uVar56;\n        auVar21._8_8_ = 0;\n        auVar21._0_8_ = uVar48;\n        plVar1[uVar57 - 1] = auVar2._0_8_;\n        auVar2 = auVar3 * auVar21 + auVar38;\nLAB_00134a72:\n        auVar39._8_8_ = uVar52;\n        auVar39._0_8_ = auVar2._8_8_;\n        auVar4._8_8_ = 0;\n        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar22._8_8_ = 0;\n        auVar22._0_8_ = uVar48;\n        plVar1[uVar57] = auVar2._0_8_;\n        auVar2 = auVar4 * auVar22 + auVar39;\n      }\n      plVar1[-2] = auVar2._0_8_;\n      auVar46 = auVar6 * auVar24 + auVar46;\n      plVar1[-1] = auVar46._0_8_;\n      plVar1[1] = 0;\n      *plVar1 = auVar46._8_8_;\n      if (param_5 != 1) {\n                    /* WARNING: Could not recover jumptable at 0x00134ae0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);\n        return;\n      }\n    }\n  }\n  return;\n}" primitive_type (function_declarator "__gmpn_mulmid_basecase(long param_1,long param_2,long param_3,ulong *param_4,ulong param_5)" identifier (parameter_list "(long param_1,long param_2,long param_3,ulong *param_4,ulong param_5)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_2" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_3" (sized_type_specifier "long" long) identifier) , (parameter_declaration "ulong *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "ulong param_5" type_identifier identifier) ))) (compound_statement "{\n  long *plVar1;\n  undefined1 auVar2 [16];\n  undefined1 auVar3 [16];\n  undefined1 auVar4 [16];\n  undefined1 auVar5 [16];\n  undefined1 auVar6 [16];\n  undefined1 auVar7 [16];\n  undefined1 auVar8 [16];\n  undefined1 auVar9 [16];\n  undefined1 auVar10 [16];\n  undefined1 auVar11 [16];\n  undefined1 auVar12 [16];\n  undefined1 auVar13 [16];\n  undefined1 auVar14 [16];\n  undefined1 auVar15 [16];\n  undefined1 auVar16 [16];\n  undefined1 auVar17 [16];\n  undefined1 auVar18 [16];\n  undefined1 auVar19 [16];\n  undefined1 auVar20 [16];\n  undefined1 auVar21 [16];\n  undefined1 auVar22 [16];\n  undefined1 auVar23 [16];\n  undefined1 auVar24 [16];\n  undefined1 auVar25 [16];\n  undefined1 auVar26 [16];\n  undefined1 auVar27 [16];\n  undefined1 auVar28 [16];\n  undefined1 auVar29 [16];\n  undefined1 auVar30 [16];\n  undefined1 auVar31 [16];\n  undefined1 auVar32 [16];\n  undefined1 auVar33 [16];\n  undefined1 auVar34 [16];\n  undefined1 auVar35 [16];\n  undefined1 auVar36 [16];\n  undefined1 auVar37 [16];\n  undefined1 auVar38 [16];\n  undefined1 auVar39 [16];\n  undefined1 auVar40 [16];\n  undefined1 auVar41 [16];\n  undefined1 auVar42 [16];\n  undefined1 auVar43 [16];\n  undefined1 auVar44 [16];\n  undefined1 auVar45 [16];\n  undefined1 auVar46 [16];\n  ulong uVar47;\n  ulong uVar48;\n  ulong uVar49;\n  ulong uVar50;\n  uint uVar51;\n  ulong uVar52;\n  ulong uVar53;\n  long lVar54;\n  ulong *puVar55;\n  ulong uVar56;\n  ulong uVar57;\n  code *UNRECOVERED_JUMPTABLE;\n  bool bVar58;\n  bool bVar59;\n  \n  uVar56 = (param_3 + 1) - param_5;\n  plVar1 = (long *)(param_1 + uVar56 * 8);\n  if (uVar56 < 4) {\n    uVar52 = 0;\n    uVar48 = 0;\n    lVar54 = 0;\n    uVar51 = (uint)param_5 & 3;\n    if ((param_5 & 3) == 0) {\n      UNRECOVERED_JUMPTABLE = (code *)0x134e0c;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      puVar55 = param_4;\n      goto LAB_00134e5f;\n    }\n    if (uVar51 < 2) {\n      puVar55 = param_4 + 1;\n      param_5 = param_5 + 3;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e28;\n      uVar57 = *param_4;\n      goto LAB_00134e9a;\n    }\n    if (uVar51 == 2) {\n      puVar55 = param_4 + -2;\n      param_5 = param_5 + 2;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e43;\n      uVar57 = *param_4;\n      goto LAB_00134e83;\n    }\n    puVar55 = param_4 + -1;\n    param_5 = param_5 + 1;\n    UNRECOVERED_JUMPTABLE = (code *)0x134e6c;\n    while( true ) {\n      auVar17._8_8_ = 0;\n      auVar17._0_8_ = *(ulong *)(param_2 + -0x10 + param_5 * 8);\n      auVar35._8_8_ = 0;\n      auVar35._0_8_ = puVar55[1];\n      uVar47 = SUB168(auVar17 * auVar35,8);\n      uVar57 = SUB168(auVar17 * auVar35,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[2];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e83:\n      auVar18._8_8_ = 0;\n      auVar18._0_8_ = uVar57;\n      auVar36._8_8_ = 0;\n      auVar36._0_8_ = *(ulong *)(param_2 + -0x18 + param_5 * 8);\n      uVar47 = SUB168(auVar18 * auVar36,8);\n      uVar57 = SUB168(auVar18 * auVar36,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[3];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      puVar55 = puVar55 + 4;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e9a:\n      auVar19._8_8_ = 0;\n      auVar19._0_8_ = uVar57;\n      auVar37._8_8_ = 0;\n      auVar37._0_8_ = *(ulong *)(param_2 + -0x20 + param_5 * 8);\n      uVar50 = SUB168(auVar19 * auVar37,8);\n      uVar57 = SUB168(auVar19 * auVar37,0);\n      param_5 = param_5 - 4;\n      if (param_5 == 0) break;\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      bVar59 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + bVar58;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      lVar54 = lVar54 + (ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58));\nLAB_00134e5f:\n      auVar16._8_8_ = 0;\n      auVar16._0_8_ = uVar57;\n      auVar34._8_8_ = 0;\n      auVar34._0_8_ = *puVar55;\n      uVar50 = SUB168(auVar16 * auVar34,8);\n      uVar57 = SUB168(auVar16 * auVar34,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + uVar57;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar50,uVar57));\n    }\n    lVar54 = lVar54 + (ulong)(CARRY8(uVar48,uVar50) ||\n                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57)));\n    plVar1[-uVar56] = uVar52 + uVar57;\n    if (uVar56 != 1) {\n                    /* WARNING: Could not recover jumptable at 0x00134eca. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + 8,uVar50,lVar54);\n      return;\n    }\n    *plVar1 = uVar48 + uVar50 + (ulong)CARRY8(uVar52,uVar57);\n    plVar1[1] = lVar54;\n  }\n  else {\n    param_2 = param_2 + param_3 * 8;\n    if ((param_5 & 1) == 0) {\n      uVar48 = *param_4;\n      uVar52 = param_4[1];\n      auVar7._8_8_ = 0;\n      auVar7._0_8_ = *(ulong *)(param_2 + -8 + uVar56 * -8);\n      auVar25._8_8_ = 0;\n      auVar25._0_8_ = uVar52;\n      auVar7 = auVar7 * auVar25;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134b8e;\n      }\n      if (uVar51 < 2) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        uVar56 = uVar57;\n        goto LAB_00134c0d;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        goto LAB_00134be9;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar11._8_8_ = 0;\n        auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar29._8_8_ = 0;\n        auVar29._0_8_ = uVar48;\n        uVar49 = SUB168(auVar11 * auVar29,8);\n        uVar47 = SUB168(auVar11 * auVar29,0);\n        uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar43._0_8_ = uVar50 + uVar56;\n        auVar43._9_7_ = 0;\n        uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;\n        auVar12._8_8_ = 0;\n        auVar12._0_8_ = uVar56;\n        auVar30._8_8_ = 0;\n        auVar30._0_8_ = uVar52;\n        auVar7 = auVar12 * auVar30 + auVar43;\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\nLAB_00134be9:\n        uVar53 = auVar7._0_8_;\n        auVar13._8_8_ = 0;\n        auVar13._0_8_ = uVar56;\n        auVar31._8_8_ = 0;\n        auVar31._0_8_ = uVar48;\n        uVar49 = SUB168(auVar13 * auVar31,8);\n        uVar47 = SUB168(auVar13 * auVar31,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar44._0_8_ = uVar50 + uVar56;\n        auVar44._9_7_ = 0;\n        auVar14._8_8_ = 0;\n        auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar32._8_8_ = 0;\n        auVar32._0_8_ = uVar52;\n        auVar7 = auVar14 * auVar32 + auVar44;\n        plVar1[uVar57 + 2] = uVar53 + uVar47;\n        uVar56 = uVar57;\nLAB_00134c0d:\n        auVar15._8_8_ = 0;\n        auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);\n        auVar33._8_8_ = 0;\n        auVar33._0_8_ = uVar48;\n        uVar49 = SUB168(auVar15 * auVar33,8);\n        uVar47 = SUB168(auVar15 * auVar33,0);\n        uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);\n        lVar54 = uVar50 + uVar57;\n        auVar41[8] = bVar58;\n        auVar41._0_8_ = lVar54;\n        auVar41._9_7_ = 0;\n        uVar57 = uVar56 + 4;\n        plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;\n        if (uVar57 == 0) break;\n        auVar8._8_8_ = 0;\n        auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);\n        auVar26._8_8_ = 0;\n        auVar26._0_8_ = uVar52;\n        auVar7 = auVar8 * auVar26 + auVar41;\nLAB_00134b8e:\n        uVar53 = auVar7._0_8_;\n        auVar9._8_8_ = 0;\n        auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar27._8_8_ = 0;\n        auVar27._0_8_ = uVar48;\n        uVar49 = SUB168(auVar9 * auVar27,8);\n        uVar47 = SUB168(auVar9 * auVar27,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar42._0_8_ = uVar50 + uVar56;\n        auVar42._9_7_ = 0;\n        auVar10._8_8_ = 0;\n        auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar28._8_8_ = 0;\n        auVar28._0_8_ = uVar52;\n        auVar7 = auVar10 * auVar28 + auVar42;\n        plVar1[uVar57] = uVar53 + uVar47;\n      }\n      *plVar1 = lVar54;\n      plVar1[1] = (ulong)bVar58;\n      if (param_5 != 2) {\n                    /* WARNING: Could not recover jumptable at 0x00134c50. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);\n        return;\n      }\n    }\n    else {\n      uVar48 = *param_4;\n      auVar2._8_8_ = 0;\n      auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8);\n      auVar20._8_8_ = 0;\n      auVar20._0_8_ = uVar48;\n      auVar2 = auVar2 * auVar20;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      uVar52 = (ulong)uVar51;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134a72;\n      }\n      if (uVar51 < 2) {\n        uVar57 = uVar57 + 4;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        goto LAB_00134a5f;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        uVar52 = uVar57;\n        goto LAB_00134aa7;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar45._8_8_ = 0;\n        auVar45._0_8_ = auVar2._8_8_;\n        auVar5._8_8_ = 0;\n        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar23._8_8_ = 0;\n        auVar23._0_8_ = uVar48;\n        plVar1[uVar57 + 1] = auVar2._0_8_;\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        auVar2 = auVar5 * auVar23 + auVar45;\n        uVar52 = uVar57;\nLAB_00134aa7:\n        auVar46._8_8_ = 0;\n        auVar46._0_8_ = auVar2._8_8_;\n        auVar40._8_8_ = 0;\n        auVar40._0_8_ = auVar2._8_8_;\n        auVar6._8_8_ = 0;\n        auVar6._0_8_ = uVar56;\n        auVar24._8_8_ = 0;\n        auVar24._0_8_ = uVar48;\n        uVar57 = uVar52 + 4;\n        if (-1 < (long)uVar57) break;\n        plVar1[uVar52 + 2] = auVar2._0_8_;\n        auVar2 = auVar6 * auVar24 + auVar40;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\nLAB_00134a5f:\n        auVar38._8_8_ = 0;\n        auVar38._0_8_ = auVar2._8_8_;\n        uVar52 = 0;\n        auVar3._8_8_ = 0;\n        auVar3._0_8_ = uVar56;\n        auVar21._8_8_ = 0;\n        auVar21._0_8_ = uVar48;\n        plVar1[uVar57 - 1] = auVar2._0_8_;\n        auVar2 = auVar3 * auVar21 + auVar38;\nLAB_00134a72:\n        auVar39._8_8_ = uVar52;\n        auVar39._0_8_ = auVar2._8_8_;\n        auVar4._8_8_ = 0;\n        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar22._8_8_ = 0;\n        auVar22._0_8_ = uVar48;\n        plVar1[uVar57] = auVar2._0_8_;\n        auVar2 = auVar4 * auVar22 + auVar39;\n      }\n      plVar1[-2] = auVar2._0_8_;\n      auVar46 = auVar6 * auVar24 + auVar46;\n      plVar1[-1] = auVar46._0_8_;\n      plVar1[1] = 0;\n      *plVar1 = auVar46._8_8_;\n      if (param_5 != 1) {\n                    /* WARNING: Could not recover jumptable at 0x00134ae0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);\n        return;\n      }\n    }\n  }\n  return;\n}" { (declaration "long *plVar1;" (sized_type_specifier "long" long) (pointer_declarator "*plVar1" * identifier) ;) (declaration "undefined1 auVar2 [16];" type_identifier (array_declarator "auVar2 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar3 [16];" type_identifier (array_declarator "auVar3 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar4 [16];" type_identifier (array_declarator "auVar4 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar5 [16];" type_identifier (array_declarator "auVar5 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar6 [16];" type_identifier (array_declarator "auVar6 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar7 [16];" type_identifier (array_declarator "auVar7 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar8 [16];" type_identifier (array_declarator "auVar8 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar9 [16];" type_identifier (array_declarator "auVar9 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar10 [16];" type_identifier (array_declarator "auVar10 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar11 [16];" type_identifier (array_declarator "auVar11 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar12 [16];" type_identifier (array_declarator "auVar12 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar13 [16];" type_identifier (array_declarator "auVar13 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar14 [16];" type_identifier (array_declarator "auVar14 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar15 [16];" type_identifier (array_declarator "auVar15 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar16 [16];" type_identifier (array_declarator "auVar16 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar17 [16];" type_identifier (array_declarator "auVar17 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar18 [16];" type_identifier (array_declarator "auVar18 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar19 [16];" type_identifier (array_declarator "auVar19 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar20 [16];" type_identifier (array_declarator "auVar20 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar21 [16];" type_identifier (array_declarator "auVar21 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar22 [16];" type_identifier (array_declarator "auVar22 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar23 [16];" type_identifier (array_declarator "auVar23 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar24 [16];" type_identifier (array_declarator "auVar24 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar25 [16];" type_identifier (array_declarator "auVar25 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar26 [16];" type_identifier (array_declarator "auVar26 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar27 [16];" type_identifier (array_declarator "auVar27 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar28 [16];" type_identifier (array_declarator "auVar28 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar29 [16];" type_identifier (array_declarator "auVar29 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar30 [16];" type_identifier (array_declarator "auVar30 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar31 [16];" type_identifier (array_declarator "auVar31 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar32 [16];" type_identifier (array_declarator "auVar32 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar33 [16];" type_identifier (array_declarator "auVar33 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar34 [16];" type_identifier (array_declarator "auVar34 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar35 [16];" type_identifier (array_declarator "auVar35 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar36 [16];" type_identifier (array_declarator "auVar36 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar37 [16];" type_identifier (array_declarator "auVar37 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar38 [16];" type_identifier (array_declarator "auVar38 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar39 [16];" type_identifier (array_declarator "auVar39 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar40 [16];" type_identifier (array_declarator "auVar40 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar41 [16];" type_identifier (array_declarator "auVar41 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar42 [16];" type_identifier (array_declarator "auVar42 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar43 [16];" type_identifier (array_declarator "auVar43 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar44 [16];" type_identifier (array_declarator "auVar44 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar45 [16];" type_identifier (array_declarator "auVar45 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar46 [16];" type_identifier (array_declarator "auVar46 [16]" identifier [ number_literal ]) ;) (declaration "ulong uVar47;" type_identifier identifier ;) (declaration "ulong uVar48;" type_identifier identifier ;) (declaration "ulong uVar49;" type_identifier identifier ;) (declaration "ulong uVar50;" type_identifier identifier ;) (declaration "uint uVar51;" type_identifier identifier ;) (declaration "ulong uVar52;" type_identifier identifier ;) (declaration "ulong uVar53;" type_identifier identifier ;) (declaration "long lVar54;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong *puVar55;" type_identifier (pointer_declarator "*puVar55" * identifier) ;) (declaration "ulong uVar56;" type_identifier identifier ;) (declaration "ulong uVar57;" type_identifier identifier ;) (declaration "code *UNRECOVERED_JUMPTABLE;" type_identifier (pointer_declarator "*UNRECOVERED_JUMPTABLE" * identifier) ;) (declaration "bool bVar58;" primitive_type identifier ;) (declaration "bool bVar59;" primitive_type identifier ;) (expression_statement "uVar56 = (param_3 + 1) - param_5;" (assignment_expression "uVar56 = (param_3 + 1) - param_5" identifier = (binary_expression "(param_3 + 1) - param_5" (parenthesized_expression "(param_3 + 1)" ( (binary_expression "param_3 + 1" identifier + number_literal) )) - identifier)) ;) (expression_statement "plVar1 = (long *)(param_1 + uVar56 * 8);" (assignment_expression "plVar1 = (long *)(param_1 + uVar56 * 8)" identifier = (cast_expression "(long *)(param_1 + uVar56 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + uVar56 * 8)" ( (binary_expression "param_1 + uVar56 * 8" identifier + (binary_expression "uVar56 * 8" identifier * number_literal)) )))) ;) (if_statement "if (uVar56 < 4) {\n    uVar52 = 0;\n    uVar48 = 0;\n    lVar54 = 0;\n    uVar51 = (uint)param_5 & 3;\n    if ((param_5 & 3) == 0) {\n      UNRECOVERED_JUMPTABLE = (code *)0x134e0c;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      puVar55 = param_4;\n      goto LAB_00134e5f;\n    }\n    if (uVar51 < 2) {\n      puVar55 = param_4 + 1;\n      param_5 = param_5 + 3;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e28;\n      uVar57 = *param_4;\n      goto LAB_00134e9a;\n    }\n    if (uVar51 == 2) {\n      puVar55 = param_4 + -2;\n      param_5 = param_5 + 2;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e43;\n      uVar57 = *param_4;\n      goto LAB_00134e83;\n    }\n    puVar55 = param_4 + -1;\n    param_5 = param_5 + 1;\n    UNRECOVERED_JUMPTABLE = (code *)0x134e6c;\n    while( true ) {\n      auVar17._8_8_ = 0;\n      auVar17._0_8_ = *(ulong *)(param_2 + -0x10 + param_5 * 8);\n      auVar35._8_8_ = 0;\n      auVar35._0_8_ = puVar55[1];\n      uVar47 = SUB168(auVar17 * auVar35,8);\n      uVar57 = SUB168(auVar17 * auVar35,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[2];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e83:\n      auVar18._8_8_ = 0;\n      auVar18._0_8_ = uVar57;\n      auVar36._8_8_ = 0;\n      auVar36._0_8_ = *(ulong *)(param_2 + -0x18 + param_5 * 8);\n      uVar47 = SUB168(auVar18 * auVar36,8);\n      uVar57 = SUB168(auVar18 * auVar36,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[3];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      puVar55 = puVar55 + 4;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e9a:\n      auVar19._8_8_ = 0;\n      auVar19._0_8_ = uVar57;\n      auVar37._8_8_ = 0;\n      auVar37._0_8_ = *(ulong *)(param_2 + -0x20 + param_5 * 8);\n      uVar50 = SUB168(auVar19 * auVar37,8);\n      uVar57 = SUB168(auVar19 * auVar37,0);\n      param_5 = param_5 - 4;\n      if (param_5 == 0) break;\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      bVar59 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + bVar58;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      lVar54 = lVar54 + (ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58));\nLAB_00134e5f:\n      auVar16._8_8_ = 0;\n      auVar16._0_8_ = uVar57;\n      auVar34._8_8_ = 0;\n      auVar34._0_8_ = *puVar55;\n      uVar50 = SUB168(auVar16 * auVar34,8);\n      uVar57 = SUB168(auVar16 * auVar34,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + uVar57;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar50,uVar57));\n    }\n    lVar54 = lVar54 + (ulong)(CARRY8(uVar48,uVar50) ||\n                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57)));\n    plVar1[-uVar56] = uVar52 + uVar57;\n    if (uVar56 != 1) {\n                    /* WARNING: Could not recover jumptable at 0x00134eca. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + 8,uVar50,lVar54);\n      return;\n    }\n    *plVar1 = uVar48 + uVar50 + (ulong)CARRY8(uVar52,uVar57);\n    plVar1[1] = lVar54;\n  }\n  else {\n    param_2 = param_2 + param_3 * 8;\n    if ((param_5 & 1) == 0) {\n      uVar48 = *param_4;\n      uVar52 = param_4[1];\n      auVar7._8_8_ = 0;\n      auVar7._0_8_ = *(ulong *)(param_2 + -8 + uVar56 * -8);\n      auVar25._8_8_ = 0;\n      auVar25._0_8_ = uVar52;\n      auVar7 = auVar7 * auVar25;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134b8e;\n      }\n      if (uVar51 < 2) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        uVar56 = uVar57;\n        goto LAB_00134c0d;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        goto LAB_00134be9;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar11._8_8_ = 0;\n        auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar29._8_8_ = 0;\n        auVar29._0_8_ = uVar48;\n        uVar49 = SUB168(auVar11 * auVar29,8);\n        uVar47 = SUB168(auVar11 * auVar29,0);\n        uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar43._0_8_ = uVar50 + uVar56;\n        auVar43._9_7_ = 0;\n        uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;\n        auVar12._8_8_ = 0;\n        auVar12._0_8_ = uVar56;\n        auVar30._8_8_ = 0;\n        auVar30._0_8_ = uVar52;\n        auVar7 = auVar12 * auVar30 + auVar43;\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\nLAB_00134be9:\n        uVar53 = auVar7._0_8_;\n        auVar13._8_8_ = 0;\n        auVar13._0_8_ = uVar56;\n        auVar31._8_8_ = 0;\n        auVar31._0_8_ = uVar48;\n        uVar49 = SUB168(auVar13 * auVar31,8);\n        uVar47 = SUB168(auVar13 * auVar31,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar44._0_8_ = uVar50 + uVar56;\n        auVar44._9_7_ = 0;\n        auVar14._8_8_ = 0;\n        auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar32._8_8_ = 0;\n        auVar32._0_8_ = uVar52;\n        auVar7 = auVar14 * auVar32 + auVar44;\n        plVar1[uVar57 + 2] = uVar53 + uVar47;\n        uVar56 = uVar57;\nLAB_00134c0d:\n        auVar15._8_8_ = 0;\n        auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);\n        auVar33._8_8_ = 0;\n        auVar33._0_8_ = uVar48;\n        uVar49 = SUB168(auVar15 * auVar33,8);\n        uVar47 = SUB168(auVar15 * auVar33,0);\n        uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);\n        lVar54 = uVar50 + uVar57;\n        auVar41[8] = bVar58;\n        auVar41._0_8_ = lVar54;\n        auVar41._9_7_ = 0;\n        uVar57 = uVar56 + 4;\n        plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;\n        if (uVar57 == 0) break;\n        auVar8._8_8_ = 0;\n        auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);\n        auVar26._8_8_ = 0;\n        auVar26._0_8_ = uVar52;\n        auVar7 = auVar8 * auVar26 + auVar41;\nLAB_00134b8e:\n        uVar53 = auVar7._0_8_;\n        auVar9._8_8_ = 0;\n        auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar27._8_8_ = 0;\n        auVar27._0_8_ = uVar48;\n        uVar49 = SUB168(auVar9 * auVar27,8);\n        uVar47 = SUB168(auVar9 * auVar27,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar42._0_8_ = uVar50 + uVar56;\n        auVar42._9_7_ = 0;\n        auVar10._8_8_ = 0;\n        auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar28._8_8_ = 0;\n        auVar28._0_8_ = uVar52;\n        auVar7 = auVar10 * auVar28 + auVar42;\n        plVar1[uVar57] = uVar53 + uVar47;\n      }\n      *plVar1 = lVar54;\n      plVar1[1] = (ulong)bVar58;\n      if (param_5 != 2) {\n                    /* WARNING: Could not recover jumptable at 0x00134c50. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);\n        return;\n      }\n    }\n    else {\n      uVar48 = *param_4;\n      auVar2._8_8_ = 0;\n      auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8);\n      auVar20._8_8_ = 0;\n      auVar20._0_8_ = uVar48;\n      auVar2 = auVar2 * auVar20;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      uVar52 = (ulong)uVar51;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134a72;\n      }\n      if (uVar51 < 2) {\n        uVar57 = uVar57 + 4;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        goto LAB_00134a5f;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        uVar52 = uVar57;\n        goto LAB_00134aa7;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar45._8_8_ = 0;\n        auVar45._0_8_ = auVar2._8_8_;\n        auVar5._8_8_ = 0;\n        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar23._8_8_ = 0;\n        auVar23._0_8_ = uVar48;\n        plVar1[uVar57 + 1] = auVar2._0_8_;\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        auVar2 = auVar5 * auVar23 + auVar45;\n        uVar52 = uVar57;\nLAB_00134aa7:\n        auVar46._8_8_ = 0;\n        auVar46._0_8_ = auVar2._8_8_;\n        auVar40._8_8_ = 0;\n        auVar40._0_8_ = auVar2._8_8_;\n        auVar6._8_8_ = 0;\n        auVar6._0_8_ = uVar56;\n        auVar24._8_8_ = 0;\n        auVar24._0_8_ = uVar48;\n        uVar57 = uVar52 + 4;\n        if (-1 < (long)uVar57) break;\n        plVar1[uVar52 + 2] = auVar2._0_8_;\n        auVar2 = auVar6 * auVar24 + auVar40;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\nLAB_00134a5f:\n        auVar38._8_8_ = 0;\n        auVar38._0_8_ = auVar2._8_8_;\n        uVar52 = 0;\n        auVar3._8_8_ = 0;\n        auVar3._0_8_ = uVar56;\n        auVar21._8_8_ = 0;\n        auVar21._0_8_ = uVar48;\n        plVar1[uVar57 - 1] = auVar2._0_8_;\n        auVar2 = auVar3 * auVar21 + auVar38;\nLAB_00134a72:\n        auVar39._8_8_ = uVar52;\n        auVar39._0_8_ = auVar2._8_8_;\n        auVar4._8_8_ = 0;\n        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar22._8_8_ = 0;\n        auVar22._0_8_ = uVar48;\n        plVar1[uVar57] = auVar2._0_8_;\n        auVar2 = auVar4 * auVar22 + auVar39;\n      }\n      plVar1[-2] = auVar2._0_8_;\n      auVar46 = auVar6 * auVar24 + auVar46;\n      plVar1[-1] = auVar46._0_8_;\n      plVar1[1] = 0;\n      *plVar1 = auVar46._8_8_;\n      if (param_5 != 1) {\n                    /* WARNING: Could not recover jumptable at 0x00134ae0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);\n        return;\n      }\n    }\n  }" if (parenthesized_expression "(uVar56 < 4)" ( (binary_expression "uVar56 < 4" identifier < number_literal) )) (compound_statement "{\n    uVar52 = 0;\n    uVar48 = 0;\n    lVar54 = 0;\n    uVar51 = (uint)param_5 & 3;\n    if ((param_5 & 3) == 0) {\n      UNRECOVERED_JUMPTABLE = (code *)0x134e0c;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      puVar55 = param_4;\n      goto LAB_00134e5f;\n    }\n    if (uVar51 < 2) {\n      puVar55 = param_4 + 1;\n      param_5 = param_5 + 3;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e28;\n      uVar57 = *param_4;\n      goto LAB_00134e9a;\n    }\n    if (uVar51 == 2) {\n      puVar55 = param_4 + -2;\n      param_5 = param_5 + 2;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e43;\n      uVar57 = *param_4;\n      goto LAB_00134e83;\n    }\n    puVar55 = param_4 + -1;\n    param_5 = param_5 + 1;\n    UNRECOVERED_JUMPTABLE = (code *)0x134e6c;\n    while( true ) {\n      auVar17._8_8_ = 0;\n      auVar17._0_8_ = *(ulong *)(param_2 + -0x10 + param_5 * 8);\n      auVar35._8_8_ = 0;\n      auVar35._0_8_ = puVar55[1];\n      uVar47 = SUB168(auVar17 * auVar35,8);\n      uVar57 = SUB168(auVar17 * auVar35,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[2];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e83:\n      auVar18._8_8_ = 0;\n      auVar18._0_8_ = uVar57;\n      auVar36._8_8_ = 0;\n      auVar36._0_8_ = *(ulong *)(param_2 + -0x18 + param_5 * 8);\n      uVar47 = SUB168(auVar18 * auVar36,8);\n      uVar57 = SUB168(auVar18 * auVar36,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[3];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      puVar55 = puVar55 + 4;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e9a:\n      auVar19._8_8_ = 0;\n      auVar19._0_8_ = uVar57;\n      auVar37._8_8_ = 0;\n      auVar37._0_8_ = *(ulong *)(param_2 + -0x20 + param_5 * 8);\n      uVar50 = SUB168(auVar19 * auVar37,8);\n      uVar57 = SUB168(auVar19 * auVar37,0);\n      param_5 = param_5 - 4;\n      if (param_5 == 0) break;\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      bVar59 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + bVar58;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      lVar54 = lVar54 + (ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58));\nLAB_00134e5f:\n      auVar16._8_8_ = 0;\n      auVar16._0_8_ = uVar57;\n      auVar34._8_8_ = 0;\n      auVar34._0_8_ = *puVar55;\n      uVar50 = SUB168(auVar16 * auVar34,8);\n      uVar57 = SUB168(auVar16 * auVar34,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + uVar57;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar50,uVar57));\n    }\n    lVar54 = lVar54 + (ulong)(CARRY8(uVar48,uVar50) ||\n                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57)));\n    plVar1[-uVar56] = uVar52 + uVar57;\n    if (uVar56 != 1) {\n                    /* WARNING: Could not recover jumptable at 0x00134eca. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + 8,uVar50,lVar54);\n      return;\n    }\n    *plVar1 = uVar48 + uVar50 + (ulong)CARRY8(uVar52,uVar57);\n    plVar1[1] = lVar54;\n  }" { (expression_statement "uVar52 = 0;" (assignment_expression "uVar52 = 0" identifier = number_literal) ;) (expression_statement "uVar48 = 0;" (assignment_expression "uVar48 = 0" identifier = number_literal) ;) (expression_statement "lVar54 = 0;" (assignment_expression "lVar54 = 0" identifier = number_literal) ;) (expression_statement "uVar51 = (uint)param_5 & 3;" (assignment_expression "uVar51 = (uint)param_5 & 3" identifier = (binary_expression "(uint)param_5 & 3" (cast_expression "(uint)param_5" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (if_statement "if ((param_5 & 3) == 0) {\n      UNRECOVERED_JUMPTABLE = (code *)0x134e0c;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      puVar55 = param_4;\n      goto LAB_00134e5f;\n    }" if (parenthesized_expression "((param_5 & 3) == 0)" ( (binary_expression "(param_5 & 3) == 0" (parenthesized_expression "(param_5 & 3)" ( (binary_expression "param_5 & 3" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      UNRECOVERED_JUMPTABLE = (code *)0x134e0c;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      puVar55 = param_4;\n      goto LAB_00134e5f;\n    }" { (expression_statement "UNRECOVERED_JUMPTABLE = (code *)0x134e0c;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)0x134e0c" identifier = (cast_expression "(code *)0x134e0c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);" (assignment_expression "uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8)" identifier = (pointer_expression "*(ulong *)(param_2 + -8 + param_5 * 8)" * (cast_expression "(ulong *)(param_2 + -8 + param_5 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + -8 + param_5 * 8)" ( (binary_expression "param_2 + -8 + param_5 * 8" (binary_expression "param_2 + -8" identifier + number_literal) + (binary_expression "param_5 * 8" identifier * number_literal)) ))))) ;) (expression_statement "puVar55 = param_4;" (assignment_expression "puVar55 = param_4" identifier = identifier) ;) (goto_statement "goto LAB_00134e5f;" goto statement_identifier ;) })) (if_statement "if (uVar51 < 2) {\n      puVar55 = param_4 + 1;\n      param_5 = param_5 + 3;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e28;\n      uVar57 = *param_4;\n      goto LAB_00134e9a;\n    }" if (parenthesized_expression "(uVar51 < 2)" ( (binary_expression "uVar51 < 2" identifier < number_literal) )) (compound_statement "{\n      puVar55 = param_4 + 1;\n      param_5 = param_5 + 3;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e28;\n      uVar57 = *param_4;\n      goto LAB_00134e9a;\n    }" { (expression_statement "puVar55 = param_4 + 1;" (assignment_expression "puVar55 = param_4 + 1" identifier = (binary_expression "param_4 + 1" identifier + number_literal)) ;) (expression_statement "param_5 = param_5 + 3;" (assignment_expression "param_5 = param_5 + 3" identifier = (binary_expression "param_5 + 3" identifier + number_literal)) ;) (expression_statement "UNRECOVERED_JUMPTABLE = (code *)0x134e28;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)0x134e28" identifier = (cast_expression "(code *)0x134e28" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar57 = *param_4;" (assignment_expression "uVar57 = *param_4" identifier = (pointer_expression "*param_4" * identifier)) ;) (goto_statement "goto LAB_00134e9a;" goto statement_identifier ;) })) (if_statement "if (uVar51 == 2) {\n      puVar55 = param_4 + -2;\n      param_5 = param_5 + 2;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e43;\n      uVar57 = *param_4;\n      goto LAB_00134e83;\n    }" if (parenthesized_expression "(uVar51 == 2)" ( (binary_expression "uVar51 == 2" identifier == number_literal) )) (compound_statement "{\n      puVar55 = param_4 + -2;\n      param_5 = param_5 + 2;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e43;\n      uVar57 = *param_4;\n      goto LAB_00134e83;\n    }" { (expression_statement "puVar55 = param_4 + -2;" (assignment_expression "puVar55 = param_4 + -2" identifier = (binary_expression "param_4 + -2" identifier + number_literal)) ;) (expression_statement "param_5 = param_5 + 2;" (assignment_expression "param_5 = param_5 + 2" identifier = (binary_expression "param_5 + 2" identifier + number_literal)) ;) (expression_statement "UNRECOVERED_JUMPTABLE = (code *)0x134e43;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)0x134e43" identifier = (cast_expression "(code *)0x134e43" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar57 = *param_4;" (assignment_expression "uVar57 = *param_4" identifier = (pointer_expression "*param_4" * identifier)) ;) (goto_statement "goto LAB_00134e83;" goto statement_identifier ;) })) (expression_statement "puVar55 = param_4 + -1;" (assignment_expression "puVar55 = param_4 + -1" identifier = (binary_expression "param_4 + -1" identifier + number_literal)) ;) (expression_statement "param_5 = param_5 + 1;" (assignment_expression "param_5 = param_5 + 1" identifier = (binary_expression "param_5 + 1" identifier + number_literal)) ;) (expression_statement "UNRECOVERED_JUMPTABLE = (code *)0x134e6c;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)0x134e6c" identifier = (cast_expression "(code *)0x134e6c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (while_statement "while( true ) {\n      auVar17._8_8_ = 0;\n      auVar17._0_8_ = *(ulong *)(param_2 + -0x10 + param_5 * 8);\n      auVar35._8_8_ = 0;\n      auVar35._0_8_ = puVar55[1];\n      uVar47 = SUB168(auVar17 * auVar35,8);\n      uVar57 = SUB168(auVar17 * auVar35,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[2];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e83:\n      auVar18._8_8_ = 0;\n      auVar18._0_8_ = uVar57;\n      auVar36._8_8_ = 0;\n      auVar36._0_8_ = *(ulong *)(param_2 + -0x18 + param_5 * 8);\n      uVar47 = SUB168(auVar18 * auVar36,8);\n      uVar57 = SUB168(auVar18 * auVar36,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[3];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      puVar55 = puVar55 + 4;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e9a:\n      auVar19._8_8_ = 0;\n      auVar19._0_8_ = uVar57;\n      auVar37._8_8_ = 0;\n      auVar37._0_8_ = *(ulong *)(param_2 + -0x20 + param_5 * 8);\n      uVar50 = SUB168(auVar19 * auVar37,8);\n      uVar57 = SUB168(auVar19 * auVar37,0);\n      param_5 = param_5 - 4;\n      if (param_5 == 0) break;\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      bVar59 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + bVar58;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      lVar54 = lVar54 + (ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58));\nLAB_00134e5f:\n      auVar16._8_8_ = 0;\n      auVar16._0_8_ = uVar57;\n      auVar34._8_8_ = 0;\n      auVar34._0_8_ = *puVar55;\n      uVar50 = SUB168(auVar16 * auVar34,8);\n      uVar57 = SUB168(auVar16 * auVar34,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + uVar57;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar50,uVar57));\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      auVar17._8_8_ = 0;\n      auVar17._0_8_ = *(ulong *)(param_2 + -0x10 + param_5 * 8);\n      auVar35._8_8_ = 0;\n      auVar35._0_8_ = puVar55[1];\n      uVar47 = SUB168(auVar17 * auVar35,8);\n      uVar57 = SUB168(auVar17 * auVar35,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[2];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e83:\n      auVar18._8_8_ = 0;\n      auVar18._0_8_ = uVar57;\n      auVar36._8_8_ = 0;\n      auVar36._0_8_ = *(ulong *)(param_2 + -0x18 + param_5 * 8);\n      uVar47 = SUB168(auVar18 * auVar36,8);\n      uVar57 = SUB168(auVar18 * auVar36,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[3];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      puVar55 = puVar55 + 4;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e9a:\n      auVar19._8_8_ = 0;\n      auVar19._0_8_ = uVar57;\n      auVar37._8_8_ = 0;\n      auVar37._0_8_ = *(ulong *)(param_2 + -0x20 + param_5 * 8);\n      uVar50 = SUB168(auVar19 * auVar37,8);\n      uVar57 = SUB168(auVar19 * auVar37,0);\n      param_5 = param_5 - 4;\n      if (param_5 == 0) break;\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      bVar59 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + bVar58;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      lVar54 = lVar54 + (ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58));\nLAB_00134e5f:\n      auVar16._8_8_ = 0;\n      auVar16._0_8_ = uVar57;\n      auVar34._8_8_ = 0;\n      auVar34._0_8_ = *puVar55;\n      uVar50 = SUB168(auVar16 * auVar34,8);\n      uVar57 = SUB168(auVar16 * auVar34,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + uVar57;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar50,uVar57));\n    }" { (expression_statement "auVar17._8_8_ = 0;" (assignment_expression "auVar17._8_8_ = 0" (field_expression "auVar17._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar17._0_8_ = *(ulong *)(param_2 + -0x10 + param_5 * 8);" (assignment_expression "auVar17._0_8_ = *(ulong *)(param_2 + -0x10 + param_5 * 8)" (field_expression "auVar17._0_8_" identifier . field_identifier) = (pointer_expression "*(ulong *)(param_2 + -0x10 + param_5 * 8)" * (cast_expression "(ulong *)(param_2 + -0x10 + param_5 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + -0x10 + param_5 * 8)" ( (binary_expression "param_2 + -0x10 + param_5 * 8" (binary_expression "param_2 + -0x10" identifier + number_literal) + (binary_expression "param_5 * 8" identifier * number_literal)) ))))) ;) (expression_statement "auVar35._8_8_ = 0;" (assignment_expression "auVar35._8_8_ = 0" (field_expression "auVar35._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar35._0_8_ = puVar55[1];" (assignment_expression "auVar35._0_8_ = puVar55[1]" (field_expression "auVar35._0_8_" identifier . field_identifier) = (subscript_expression "puVar55[1]" identifier [ number_literal ])) ;) (expression_statement "uVar47 = SUB168(auVar17 * auVar35,8);" (assignment_expression "uVar47 = SUB168(auVar17 * auVar35,8)" identifier = (call_expression "SUB168(auVar17 * auVar35,8)" identifier (argument_list "(auVar17 * auVar35,8)" ( (binary_expression "auVar17 * auVar35" identifier * identifier) , number_literal )))) ;) (expression_statement "uVar57 = SUB168(auVar17 * auVar35,0);" (assignment_expression "uVar57 = SUB168(auVar17 * auVar35,0)" identifier = (call_expression "SUB168(auVar17 * auVar35,0)" identifier (argument_list "(auVar17 * auVar35,0)" ( (binary_expression "auVar17 * auVar35" identifier * identifier) , number_literal )))) ;) (expression_statement "bVar58 = CARRY8(uVar52,uVar57);" (assignment_expression "bVar58 = CARRY8(uVar52,uVar57)" identifier = (call_expression "CARRY8(uVar52,uVar57)" identifier (argument_list "(uVar52,uVar57)" ( identifier , identifier )))) ;) (expression_statement "uVar52 = uVar52 + uVar57;" (assignment_expression "uVar52 = uVar52 + uVar57" identifier = (binary_expression "uVar52 + uVar57" identifier + identifier)) ;) (expression_statement "uVar57 = puVar55[2];" (assignment_expression "uVar57 = puVar55[2]" identifier = (subscript_expression "puVar55[2]" identifier [ number_literal ])) ;) (expression_statement "uVar50 = (ulong)bVar58;" (assignment_expression "uVar50 = (ulong)bVar58" identifier = (cast_expression "(ulong)bVar58" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "bVar58 = CARRY8(uVar48,uVar47);" (assignment_expression "bVar58 = CARRY8(uVar48,uVar47)" identifier = (call_expression "CARRY8(uVar48,uVar47)" identifier (argument_list "(uVar48,uVar47)" ( identifier , identifier )))) ;) (expression_statement "uVar47 = uVar48 + uVar47;" (assignment_expression "uVar47 = uVar48 + uVar47" identifier = (binary_expression "uVar48 + uVar47" identifier + identifier)) ;) (expression_statement "uVar48 = uVar47 + uVar50;" (assignment_expression "uVar48 = uVar47 + uVar50" identifier = (binary_expression "uVar47 + uVar50" identifier + identifier)) ;) (expression_statement "lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));" (assignment_expression "lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50))" identifier = (binary_expression "lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50))" identifier + (call_expression "(ulong)(bVar58 || CARRY8(uVar47,uVar50))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(bVar58 || CARRY8(uVar47,uVar50))" ( (binary_expression "bVar58 || CARRY8(uVar47,uVar50)" identifier || (call_expression "CARRY8(uVar47,uVar50)" identifier (argument_list "(uVar47,uVar50)" ( identifier , identifier )))) ))))) ;) (labeled_statement "LAB_00134e83:\n      auVar18._8_8_ = 0;" statement_identifier : (expression_statement "auVar18._8_8_ = 0;" (assignment_expression "auVar18._8_8_ = 0" (field_expression "auVar18._8_8_" identifier . field_identifier) = number_literal) ;)) (expression_statement "auVar18._0_8_ = uVar57;" (assignment_expression "auVar18._0_8_ = uVar57" (field_expression "auVar18._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar36._8_8_ = 0;" (assignment_expression "auVar36._8_8_ = 0" (field_expression "auVar36._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar36._0_8_ = *(ulong *)(param_2 + -0x18 + param_5 * 8);" (assignment_expression "auVar36._0_8_ = *(ulong *)(param_2 + -0x18 + param_5 * 8)" (field_expression "auVar36._0_8_" identifier . field_identifier) = (pointer_expression "*(ulong *)(param_2 + -0x18 + param_5 * 8)" * (cast_expression "(ulong *)(param_2 + -0x18 + param_5 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + -0x18 + param_5 * 8)" ( (binary_expression "param_2 + -0x18 + param_5 * 8" (binary_expression "param_2 + -0x18" identifier + number_literal) + (binary_expression "param_5 * 8" identifier * number_literal)) ))))) ;) (expression_statement "uVar47 = SUB168(auVar18 * auVar36,8);" (assignment_expression "uVar47 = SUB168(auVar18 * auVar36,8)" identifier = (call_expression "SUB168(auVar18 * auVar36,8)" identifier (argument_list "(auVar18 * auVar36,8)" ( (binary_expression "auVar18 * auVar36" identifier * identifier) , number_literal )))) ;) (expression_statement "uVar57 = SUB168(auVar18 * auVar36,0);" (assignment_expression "uVar57 = SUB168(auVar18 * auVar36,0)" identifier = (call_expression "SUB168(auVar18 * auVar36,0)" identifier (argument_list "(auVar18 * auVar36,0)" ( (binary_expression "auVar18 * auVar36" identifier * identifier) , number_literal )))) ;) (expression_statement "bVar58 = CARRY8(uVar52,uVar57);" (assignment_expression "bVar58 = CARRY8(uVar52,uVar57)" identifier = (call_expression "CARRY8(uVar52,uVar57)" identifier (argument_list "(uVar52,uVar57)" ( identifier , identifier )))) ;) (expression_statement "uVar52 = uVar52 + uVar57;" (assignment_expression "uVar52 = uVar52 + uVar57" identifier = (binary_expression "uVar52 + uVar57" identifier + identifier)) ;) (expression_statement "uVar57 = puVar55[3];" (assignment_expression "uVar57 = puVar55[3]" identifier = (subscript_expression "puVar55[3]" identifier [ number_literal ])) ;) (expression_statement "uVar50 = (ulong)bVar58;" (assignment_expression "uVar50 = (ulong)bVar58" identifier = (cast_expression "(ulong)bVar58" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "bVar58 = CARRY8(uVar48,uVar47);" (assignment_expression "bVar58 = CARRY8(uVar48,uVar47)" identifier = (call_expression "CARRY8(uVar48,uVar47)" identifier (argument_list "(uVar48,uVar47)" ( identifier , identifier )))) ;) (expression_statement "uVar47 = uVar48 + uVar47;" (assignment_expression "uVar47 = uVar48 + uVar47" identifier = (binary_expression "uVar48 + uVar47" identifier + identifier)) ;) (expression_statement "uVar48 = uVar47 + uVar50;" (assignment_expression "uVar48 = uVar47 + uVar50" identifier = (binary_expression "uVar47 + uVar50" identifier + identifier)) ;) (expression_statement "puVar55 = puVar55 + 4;" (assignment_expression "puVar55 = puVar55 + 4" identifier = (binary_expression "puVar55 + 4" identifier + number_literal)) ;) (expression_statement "lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));" (assignment_expression "lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50))" identifier = (binary_expression "lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50))" identifier + (call_expression "(ulong)(bVar58 || CARRY8(uVar47,uVar50))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(bVar58 || CARRY8(uVar47,uVar50))" ( (binary_expression "bVar58 || CARRY8(uVar47,uVar50)" identifier || (call_expression "CARRY8(uVar47,uVar50)" identifier (argument_list "(uVar47,uVar50)" ( identifier , identifier )))) ))))) ;) (labeled_statement "LAB_00134e9a:\n      auVar19._8_8_ = 0;" statement_identifier : (expression_statement "auVar19._8_8_ = 0;" (assignment_expression "auVar19._8_8_ = 0" (field_expression "auVar19._8_8_" identifier . field_identifier) = number_literal) ;)) (expression_statement "auVar19._0_8_ = uVar57;" (assignment_expression "auVar19._0_8_ = uVar57" (field_expression "auVar19._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar37._8_8_ = 0;" (assignment_expression "auVar37._8_8_ = 0" (field_expression "auVar37._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar37._0_8_ = *(ulong *)(param_2 + -0x20 + param_5 * 8);" (assignment_expression "auVar37._0_8_ = *(ulong *)(param_2 + -0x20 + param_5 * 8)" (field_expression "auVar37._0_8_" identifier . field_identifier) = (pointer_expression "*(ulong *)(param_2 + -0x20 + param_5 * 8)" * (cast_expression "(ulong *)(param_2 + -0x20 + param_5 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + -0x20 + param_5 * 8)" ( (binary_expression "param_2 + -0x20 + param_5 * 8" (binary_expression "param_2 + -0x20" identifier + number_literal) + (binary_expression "param_5 * 8" identifier * number_literal)) ))))) ;) (expression_statement "uVar50 = SUB168(auVar19 * auVar37,8);" (assignment_expression "uVar50 = SUB168(auVar19 * auVar37,8)" identifier = (call_expression "SUB168(auVar19 * auVar37,8)" identifier (argument_list "(auVar19 * auVar37,8)" ( (binary_expression "auVar19 * auVar37" identifier * identifier) , number_literal )))) ;) (expression_statement "uVar57 = SUB168(auVar19 * auVar37,0);" (assignment_expression "uVar57 = SUB168(auVar19 * auVar37,0)" identifier = (call_expression "SUB168(auVar19 * auVar37,0)" identifier (argument_list "(auVar19 * auVar37,0)" ( (binary_expression "auVar19 * auVar37" identifier * identifier) , number_literal )))) ;) (expression_statement "param_5 = param_5 - 4;" (assignment_expression "param_5 = param_5 - 4" identifier = (binary_expression "param_5 - 4" identifier - number_literal)) ;) (if_statement "if (param_5 == 0) break;" if (parenthesized_expression "(param_5 == 0)" ( (binary_expression "param_5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "bVar58 = CARRY8(uVar52,uVar57);" (assignment_expression "bVar58 = CARRY8(uVar52,uVar57)" identifier = (call_expression "CARRY8(uVar52,uVar57)" identifier (argument_list "(uVar52,uVar57)" ( identifier , identifier )))) ;) (expression_statement "uVar52 = uVar52 + uVar57;" (assignment_expression "uVar52 = uVar52 + uVar57" identifier = (binary_expression "uVar52 + uVar57" identifier + identifier)) ;) (expression_statement "bVar59 = CARRY8(uVar48,uVar50);" (assignment_expression "bVar59 = CARRY8(uVar48,uVar50)" identifier = (call_expression "CARRY8(uVar48,uVar50)" identifier (argument_list "(uVar48,uVar50)" ( identifier , identifier )))) ;) (expression_statement "uVar50 = uVar48 + uVar50;" (assignment_expression "uVar50 = uVar48 + uVar50" identifier = (binary_expression "uVar48 + uVar50" identifier + identifier)) ;) (expression_statement "uVar48 = uVar50 + bVar58;" (assignment_expression "uVar48 = uVar50 + bVar58" identifier = (binary_expression "uVar50 + bVar58" identifier + identifier)) ;) (expression_statement "uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);" (assignment_expression "uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8)" identifier = (pointer_expression "*(ulong *)(param_2 + -8 + param_5 * 8)" * (cast_expression "(ulong *)(param_2 + -8 + param_5 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + -8 + param_5 * 8)" ( (binary_expression "param_2 + -8 + param_5 * 8" (binary_expression "param_2 + -8" identifier + number_literal) + (binary_expression "param_5 * 8" identifier * number_literal)) ))))) ;) (expression_statement "lVar54 = lVar54 + (ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58));" (assignment_expression "lVar54 = lVar54 + (ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58))" identifier = (binary_expression "lVar54 + (ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58))" identifier + (call_expression "(ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(bVar59 || CARRY8(uVar50,(ulong)bVar58))" ( (binary_expression "bVar59 || CARRY8(uVar50,(ulong)bVar58)" identifier || (call_expression "CARRY8(uVar50,(ulong)bVar58)" identifier (argument_list "(uVar50,(ulong)bVar58)" ( identifier , (cast_expression "(ulong)bVar58" ( (type_descriptor "ulong" type_identifier) ) identifier) )))) ))))) ;) (labeled_statement "LAB_00134e5f:\n      auVar16._8_8_ = 0;" statement_identifier : (expression_statement "auVar16._8_8_ = 0;" (assignment_expression "auVar16._8_8_ = 0" (field_expression "auVar16._8_8_" identifier . field_identifier) = number_literal) ;)) (expression_statement "auVar16._0_8_ = uVar57;" (assignment_expression "auVar16._0_8_ = uVar57" (field_expression "auVar16._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar34._8_8_ = 0;" (assignment_expression "auVar34._8_8_ = 0" (field_expression "auVar34._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar34._0_8_ = *puVar55;" (assignment_expression "auVar34._0_8_ = *puVar55" (field_expression "auVar34._0_8_" identifier . field_identifier) = (pointer_expression "*puVar55" * identifier)) ;) (expression_statement "uVar50 = SUB168(auVar16 * auVar34,8);" (assignment_expression "uVar50 = SUB168(auVar16 * auVar34,8)" identifier = (call_expression "SUB168(auVar16 * auVar34,8)" identifier (argument_list "(auVar16 * auVar34,8)" ( (binary_expression "auVar16 * auVar34" identifier * identifier) , number_literal )))) ;) (expression_statement "uVar57 = SUB168(auVar16 * auVar34,0);" (assignment_expression "uVar57 = SUB168(auVar16 * auVar34,0)" identifier = (call_expression "SUB168(auVar16 * auVar34,0)" identifier (argument_list "(auVar16 * auVar34,0)" ( (binary_expression "auVar16 * auVar34" identifier * identifier) , number_literal )))) ;) (expression_statement "bVar58 = CARRY8(uVar52,uVar57);" (assignment_expression "bVar58 = CARRY8(uVar52,uVar57)" identifier = (call_expression "CARRY8(uVar52,uVar57)" identifier (argument_list "(uVar52,uVar57)" ( identifier , identifier )))) ;) (expression_statement "uVar52 = uVar52 + uVar57;" (assignment_expression "uVar52 = uVar52 + uVar57" identifier = (binary_expression "uVar52 + uVar57" identifier + identifier)) ;) (expression_statement "uVar57 = (ulong)bVar58;" (assignment_expression "uVar57 = (ulong)bVar58" identifier = (cast_expression "(ulong)bVar58" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "bVar58 = CARRY8(uVar48,uVar50);" (assignment_expression "bVar58 = CARRY8(uVar48,uVar50)" identifier = (call_expression "CARRY8(uVar48,uVar50)" identifier (argument_list "(uVar48,uVar50)" ( identifier , identifier )))) ;) (expression_statement "uVar50 = uVar48 + uVar50;" (assignment_expression "uVar50 = uVar48 + uVar50" identifier = (binary_expression "uVar48 + uVar50" identifier + identifier)) ;) (expression_statement "uVar48 = uVar50 + uVar57;" (assignment_expression "uVar48 = uVar50 + uVar57" identifier = (binary_expression "uVar50 + uVar57" identifier + identifier)) ;) (expression_statement "lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar50,uVar57));" (assignment_expression "lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar50,uVar57))" identifier = (binary_expression "lVar54 + (ulong)(bVar58 || CARRY8(uVar50,uVar57))" identifier + (call_expression "(ulong)(bVar58 || CARRY8(uVar50,uVar57))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(bVar58 || CARRY8(uVar50,uVar57))" ( (binary_expression "bVar58 || CARRY8(uVar50,uVar57)" identifier || (call_expression "CARRY8(uVar50,uVar57)" identifier (argument_list "(uVar50,uVar57)" ( identifier , identifier )))) ))))) ;) })) (expression_statement "lVar54 = lVar54 + (ulong)(CARRY8(uVar48,uVar50) ||\n                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57)));" (assignment_expression "lVar54 = lVar54 + (ulong)(CARRY8(uVar48,uVar50) ||\n                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57)))" identifier = (binary_expression "lVar54 + (ulong)(CARRY8(uVar48,uVar50) ||\n                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57)))" identifier + (call_expression "(ulong)(CARRY8(uVar48,uVar50) ||\n                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57)))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(CARRY8(uVar48,uVar50) ||\n                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57)))" ( (binary_expression "CARRY8(uVar48,uVar50) ||\n                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57))" (call_expression "CARRY8(uVar48,uVar50)" identifier (argument_list "(uVar48,uVar50)" ( identifier , identifier ))) || (call_expression "CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57))" identifier (argument_list "(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57))" ( (binary_expression "uVar48 + uVar50" identifier + identifier) , (cast_expression "(ulong)CARRY8(uVar52,uVar57)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY8(uVar52,uVar57)" identifier (argument_list "(uVar52,uVar57)" ( identifier , identifier )))) )))) ))))) ;) (expression_statement "plVar1[-uVar56] = uVar52 + uVar57;" (assignment_expression "plVar1[-uVar56] = uVar52 + uVar57" (subscript_expression "plVar1[-uVar56]" identifier [ (unary_expression "-uVar56" - identifier) ]) = (binary_expression "uVar52 + uVar57" identifier + identifier)) ;) (if_statement "if (uVar56 != 1) {\n                    /* WARNING: Could not recover jumptable at 0x00134eca. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + 8,uVar50,lVar54);\n      return;\n    }" if (parenthesized_expression "(uVar56 != 1)" ( (binary_expression "uVar56 != 1" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x00134eca. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + 8,uVar50,lVar54);\n      return;\n    }" { comment comment (expression_statement "(*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + 8,uVar50,lVar54);" (call_expression "(*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + 8,uVar50,lVar54)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "(plVar1,param_2 + 8,uVar50,lVar54)" ( identifier , (binary_expression "param_2 + 8" identifier + number_literal) , identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "*plVar1 = uVar48 + uVar50 + (ulong)CARRY8(uVar52,uVar57);" (assignment_expression "*plVar1 = uVar48 + uVar50 + (ulong)CARRY8(uVar52,uVar57)" (pointer_expression "*plVar1" * identifier) = (binary_expression "uVar48 + uVar50 + (ulong)CARRY8(uVar52,uVar57)" (binary_expression "uVar48 + uVar50" identifier + identifier) + (cast_expression "(ulong)CARRY8(uVar52,uVar57)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY8(uVar52,uVar57)" identifier (argument_list "(uVar52,uVar57)" ( identifier , identifier )))))) ;) (expression_statement "plVar1[1] = lVar54;" (assignment_expression "plVar1[1] = lVar54" (subscript_expression "plVar1[1]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n    param_2 = param_2 + param_3 * 8;\n    if ((param_5 & 1) == 0) {\n      uVar48 = *param_4;\n      uVar52 = param_4[1];\n      auVar7._8_8_ = 0;\n      auVar7._0_8_ = *(ulong *)(param_2 + -8 + uVar56 * -8);\n      auVar25._8_8_ = 0;\n      auVar25._0_8_ = uVar52;\n      auVar7 = auVar7 * auVar25;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134b8e;\n      }\n      if (uVar51 < 2) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        uVar56 = uVar57;\n        goto LAB_00134c0d;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        goto LAB_00134be9;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar11._8_8_ = 0;\n        auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar29._8_8_ = 0;\n        auVar29._0_8_ = uVar48;\n        uVar49 = SUB168(auVar11 * auVar29,8);\n        uVar47 = SUB168(auVar11 * auVar29,0);\n        uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar43._0_8_ = uVar50 + uVar56;\n        auVar43._9_7_ = 0;\n        uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;\n        auVar12._8_8_ = 0;\n        auVar12._0_8_ = uVar56;\n        auVar30._8_8_ = 0;\n        auVar30._0_8_ = uVar52;\n        auVar7 = auVar12 * auVar30 + auVar43;\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\nLAB_00134be9:\n        uVar53 = auVar7._0_8_;\n        auVar13._8_8_ = 0;\n        auVar13._0_8_ = uVar56;\n        auVar31._8_8_ = 0;\n        auVar31._0_8_ = uVar48;\n        uVar49 = SUB168(auVar13 * auVar31,8);\n        uVar47 = SUB168(auVar13 * auVar31,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar44._0_8_ = uVar50 + uVar56;\n        auVar44._9_7_ = 0;\n        auVar14._8_8_ = 0;\n        auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar32._8_8_ = 0;\n        auVar32._0_8_ = uVar52;\n        auVar7 = auVar14 * auVar32 + auVar44;\n        plVar1[uVar57 + 2] = uVar53 + uVar47;\n        uVar56 = uVar57;\nLAB_00134c0d:\n        auVar15._8_8_ = 0;\n        auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);\n        auVar33._8_8_ = 0;\n        auVar33._0_8_ = uVar48;\n        uVar49 = SUB168(auVar15 * auVar33,8);\n        uVar47 = SUB168(auVar15 * auVar33,0);\n        uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);\n        lVar54 = uVar50 + uVar57;\n        auVar41[8] = bVar58;\n        auVar41._0_8_ = lVar54;\n        auVar41._9_7_ = 0;\n        uVar57 = uVar56 + 4;\n        plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;\n        if (uVar57 == 0) break;\n        auVar8._8_8_ = 0;\n        auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);\n        auVar26._8_8_ = 0;\n        auVar26._0_8_ = uVar52;\n        auVar7 = auVar8 * auVar26 + auVar41;\nLAB_00134b8e:\n        uVar53 = auVar7._0_8_;\n        auVar9._8_8_ = 0;\n        auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar27._8_8_ = 0;\n        auVar27._0_8_ = uVar48;\n        uVar49 = SUB168(auVar9 * auVar27,8);\n        uVar47 = SUB168(auVar9 * auVar27,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar42._0_8_ = uVar50 + uVar56;\n        auVar42._9_7_ = 0;\n        auVar10._8_8_ = 0;\n        auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar28._8_8_ = 0;\n        auVar28._0_8_ = uVar52;\n        auVar7 = auVar10 * auVar28 + auVar42;\n        plVar1[uVar57] = uVar53 + uVar47;\n      }\n      *plVar1 = lVar54;\n      plVar1[1] = (ulong)bVar58;\n      if (param_5 != 2) {\n                    /* WARNING: Could not recover jumptable at 0x00134c50. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);\n        return;\n      }\n    }\n    else {\n      uVar48 = *param_4;\n      auVar2._8_8_ = 0;\n      auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8);\n      auVar20._8_8_ = 0;\n      auVar20._0_8_ = uVar48;\n      auVar2 = auVar2 * auVar20;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      uVar52 = (ulong)uVar51;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134a72;\n      }\n      if (uVar51 < 2) {\n        uVar57 = uVar57 + 4;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        goto LAB_00134a5f;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        uVar52 = uVar57;\n        goto LAB_00134aa7;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar45._8_8_ = 0;\n        auVar45._0_8_ = auVar2._8_8_;\n        auVar5._8_8_ = 0;\n        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar23._8_8_ = 0;\n        auVar23._0_8_ = uVar48;\n        plVar1[uVar57 + 1] = auVar2._0_8_;\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        auVar2 = auVar5 * auVar23 + auVar45;\n        uVar52 = uVar57;\nLAB_00134aa7:\n        auVar46._8_8_ = 0;\n        auVar46._0_8_ = auVar2._8_8_;\n        auVar40._8_8_ = 0;\n        auVar40._0_8_ = auVar2._8_8_;\n        auVar6._8_8_ = 0;\n        auVar6._0_8_ = uVar56;\n        auVar24._8_8_ = 0;\n        auVar24._0_8_ = uVar48;\n        uVar57 = uVar52 + 4;\n        if (-1 < (long)uVar57) break;\n        plVar1[uVar52 + 2] = auVar2._0_8_;\n        auVar2 = auVar6 * auVar24 + auVar40;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\nLAB_00134a5f:\n        auVar38._8_8_ = 0;\n        auVar38._0_8_ = auVar2._8_8_;\n        uVar52 = 0;\n        auVar3._8_8_ = 0;\n        auVar3._0_8_ = uVar56;\n        auVar21._8_8_ = 0;\n        auVar21._0_8_ = uVar48;\n        plVar1[uVar57 - 1] = auVar2._0_8_;\n        auVar2 = auVar3 * auVar21 + auVar38;\nLAB_00134a72:\n        auVar39._8_8_ = uVar52;\n        auVar39._0_8_ = auVar2._8_8_;\n        auVar4._8_8_ = 0;\n        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar22._8_8_ = 0;\n        auVar22._0_8_ = uVar48;\n        plVar1[uVar57] = auVar2._0_8_;\n        auVar2 = auVar4 * auVar22 + auVar39;\n      }\n      plVar1[-2] = auVar2._0_8_;\n      auVar46 = auVar6 * auVar24 + auVar46;\n      plVar1[-1] = auVar46._0_8_;\n      plVar1[1] = 0;\n      *plVar1 = auVar46._8_8_;\n      if (param_5 != 1) {\n                    /* WARNING: Could not recover jumptable at 0x00134ae0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);\n        return;\n      }\n    }\n  }" else (compound_statement "{\n    param_2 = param_2 + param_3 * 8;\n    if ((param_5 & 1) == 0) {\n      uVar48 = *param_4;\n      uVar52 = param_4[1];\n      auVar7._8_8_ = 0;\n      auVar7._0_8_ = *(ulong *)(param_2 + -8 + uVar56 * -8);\n      auVar25._8_8_ = 0;\n      auVar25._0_8_ = uVar52;\n      auVar7 = auVar7 * auVar25;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134b8e;\n      }\n      if (uVar51 < 2) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        uVar56 = uVar57;\n        goto LAB_00134c0d;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        goto LAB_00134be9;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar11._8_8_ = 0;\n        auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar29._8_8_ = 0;\n        auVar29._0_8_ = uVar48;\n        uVar49 = SUB168(auVar11 * auVar29,8);\n        uVar47 = SUB168(auVar11 * auVar29,0);\n        uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar43._0_8_ = uVar50 + uVar56;\n        auVar43._9_7_ = 0;\n        uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;\n        auVar12._8_8_ = 0;\n        auVar12._0_8_ = uVar56;\n        auVar30._8_8_ = 0;\n        auVar30._0_8_ = uVar52;\n        auVar7 = auVar12 * auVar30 + auVar43;\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\nLAB_00134be9:\n        uVar53 = auVar7._0_8_;\n        auVar13._8_8_ = 0;\n        auVar13._0_8_ = uVar56;\n        auVar31._8_8_ = 0;\n        auVar31._0_8_ = uVar48;\n        uVar49 = SUB168(auVar13 * auVar31,8);\n        uVar47 = SUB168(auVar13 * auVar31,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar44._0_8_ = uVar50 + uVar56;\n        auVar44._9_7_ = 0;\n        auVar14._8_8_ = 0;\n        auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar32._8_8_ = 0;\n        auVar32._0_8_ = uVar52;\n        auVar7 = auVar14 * auVar32 + auVar44;\n        plVar1[uVar57 + 2] = uVar53 + uVar47;\n        uVar56 = uVar57;\nLAB_00134c0d:\n        auVar15._8_8_ = 0;\n        auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);\n        auVar33._8_8_ = 0;\n        auVar33._0_8_ = uVar48;\n        uVar49 = SUB168(auVar15 * auVar33,8);\n        uVar47 = SUB168(auVar15 * auVar33,0);\n        uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);\n        lVar54 = uVar50 + uVar57;\n        auVar41[8] = bVar58;\n        auVar41._0_8_ = lVar54;\n        auVar41._9_7_ = 0;\n        uVar57 = uVar56 + 4;\n        plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;\n        if (uVar57 == 0) break;\n        auVar8._8_8_ = 0;\n        auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);\n        auVar26._8_8_ = 0;\n        auVar26._0_8_ = uVar52;\n        auVar7 = auVar8 * auVar26 + auVar41;\nLAB_00134b8e:\n        uVar53 = auVar7._0_8_;\n        auVar9._8_8_ = 0;\n        auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar27._8_8_ = 0;\n        auVar27._0_8_ = uVar48;\n        uVar49 = SUB168(auVar9 * auVar27,8);\n        uVar47 = SUB168(auVar9 * auVar27,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar42._0_8_ = uVar50 + uVar56;\n        auVar42._9_7_ = 0;\n        auVar10._8_8_ = 0;\n        auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar28._8_8_ = 0;\n        auVar28._0_8_ = uVar52;\n        auVar7 = auVar10 * auVar28 + auVar42;\n        plVar1[uVar57] = uVar53 + uVar47;\n      }\n      *plVar1 = lVar54;\n      plVar1[1] = (ulong)bVar58;\n      if (param_5 != 2) {\n                    /* WARNING: Could not recover jumptable at 0x00134c50. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);\n        return;\n      }\n    }\n    else {\n      uVar48 = *param_4;\n      auVar2._8_8_ = 0;\n      auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8);\n      auVar20._8_8_ = 0;\n      auVar20._0_8_ = uVar48;\n      auVar2 = auVar2 * auVar20;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      uVar52 = (ulong)uVar51;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134a72;\n      }\n      if (uVar51 < 2) {\n        uVar57 = uVar57 + 4;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        goto LAB_00134a5f;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        uVar52 = uVar57;\n        goto LAB_00134aa7;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar45._8_8_ = 0;\n        auVar45._0_8_ = auVar2._8_8_;\n        auVar5._8_8_ = 0;\n        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar23._8_8_ = 0;\n        auVar23._0_8_ = uVar48;\n        plVar1[uVar57 + 1] = auVar2._0_8_;\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        auVar2 = auVar5 * auVar23 + auVar45;\n        uVar52 = uVar57;\nLAB_00134aa7:\n        auVar46._8_8_ = 0;\n        auVar46._0_8_ = auVar2._8_8_;\n        auVar40._8_8_ = 0;\n        auVar40._0_8_ = auVar2._8_8_;\n        auVar6._8_8_ = 0;\n        auVar6._0_8_ = uVar56;\n        auVar24._8_8_ = 0;\n        auVar24._0_8_ = uVar48;\n        uVar57 = uVar52 + 4;\n        if (-1 < (long)uVar57) break;\n        plVar1[uVar52 + 2] = auVar2._0_8_;\n        auVar2 = auVar6 * auVar24 + auVar40;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\nLAB_00134a5f:\n        auVar38._8_8_ = 0;\n        auVar38._0_8_ = auVar2._8_8_;\n        uVar52 = 0;\n        auVar3._8_8_ = 0;\n        auVar3._0_8_ = uVar56;\n        auVar21._8_8_ = 0;\n        auVar21._0_8_ = uVar48;\n        plVar1[uVar57 - 1] = auVar2._0_8_;\n        auVar2 = auVar3 * auVar21 + auVar38;\nLAB_00134a72:\n        auVar39._8_8_ = uVar52;\n        auVar39._0_8_ = auVar2._8_8_;\n        auVar4._8_8_ = 0;\n        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar22._8_8_ = 0;\n        auVar22._0_8_ = uVar48;\n        plVar1[uVar57] = auVar2._0_8_;\n        auVar2 = auVar4 * auVar22 + auVar39;\n      }\n      plVar1[-2] = auVar2._0_8_;\n      auVar46 = auVar6 * auVar24 + auVar46;\n      plVar1[-1] = auVar46._0_8_;\n      plVar1[1] = 0;\n      *plVar1 = auVar46._8_8_;\n      if (param_5 != 1) {\n                    /* WARNING: Could not recover jumptable at 0x00134ae0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);\n        return;\n      }\n    }\n  }" { (expression_statement "param_2 = param_2 + param_3 * 8;" (assignment_expression "param_2 = param_2 + param_3 * 8" identifier = (binary_expression "param_2 + param_3 * 8" identifier + (binary_expression "param_3 * 8" identifier * number_literal))) ;) (if_statement "if ((param_5 & 1) == 0) {\n      uVar48 = *param_4;\n      uVar52 = param_4[1];\n      auVar7._8_8_ = 0;\n      auVar7._0_8_ = *(ulong *)(param_2 + -8 + uVar56 * -8);\n      auVar25._8_8_ = 0;\n      auVar25._0_8_ = uVar52;\n      auVar7 = auVar7 * auVar25;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134b8e;\n      }\n      if (uVar51 < 2) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        uVar56 = uVar57;\n        goto LAB_00134c0d;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        goto LAB_00134be9;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar11._8_8_ = 0;\n        auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar29._8_8_ = 0;\n        auVar29._0_8_ = uVar48;\n        uVar49 = SUB168(auVar11 * auVar29,8);\n        uVar47 = SUB168(auVar11 * auVar29,0);\n        uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar43._0_8_ = uVar50 + uVar56;\n        auVar43._9_7_ = 0;\n        uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;\n        auVar12._8_8_ = 0;\n        auVar12._0_8_ = uVar56;\n        auVar30._8_8_ = 0;\n        auVar30._0_8_ = uVar52;\n        auVar7 = auVar12 * auVar30 + auVar43;\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\nLAB_00134be9:\n        uVar53 = auVar7._0_8_;\n        auVar13._8_8_ = 0;\n        auVar13._0_8_ = uVar56;\n        auVar31._8_8_ = 0;\n        auVar31._0_8_ = uVar48;\n        uVar49 = SUB168(auVar13 * auVar31,8);\n        uVar47 = SUB168(auVar13 * auVar31,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar44._0_8_ = uVar50 + uVar56;\n        auVar44._9_7_ = 0;\n        auVar14._8_8_ = 0;\n        auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar32._8_8_ = 0;\n        auVar32._0_8_ = uVar52;\n        auVar7 = auVar14 * auVar32 + auVar44;\n        plVar1[uVar57 + 2] = uVar53 + uVar47;\n        uVar56 = uVar57;\nLAB_00134c0d:\n        auVar15._8_8_ = 0;\n        auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);\n        auVar33._8_8_ = 0;\n        auVar33._0_8_ = uVar48;\n        uVar49 = SUB168(auVar15 * auVar33,8);\n        uVar47 = SUB168(auVar15 * auVar33,0);\n        uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);\n        lVar54 = uVar50 + uVar57;\n        auVar41[8] = bVar58;\n        auVar41._0_8_ = lVar54;\n        auVar41._9_7_ = 0;\n        uVar57 = uVar56 + 4;\n        plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;\n        if (uVar57 == 0) break;\n        auVar8._8_8_ = 0;\n        auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);\n        auVar26._8_8_ = 0;\n        auVar26._0_8_ = uVar52;\n        auVar7 = auVar8 * auVar26 + auVar41;\nLAB_00134b8e:\n        uVar53 = auVar7._0_8_;\n        auVar9._8_8_ = 0;\n        auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar27._8_8_ = 0;\n        auVar27._0_8_ = uVar48;\n        uVar49 = SUB168(auVar9 * auVar27,8);\n        uVar47 = SUB168(auVar9 * auVar27,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar42._0_8_ = uVar50 + uVar56;\n        auVar42._9_7_ = 0;\n        auVar10._8_8_ = 0;\n        auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar28._8_8_ = 0;\n        auVar28._0_8_ = uVar52;\n        auVar7 = auVar10 * auVar28 + auVar42;\n        plVar1[uVar57] = uVar53 + uVar47;\n      }\n      *plVar1 = lVar54;\n      plVar1[1] = (ulong)bVar58;\n      if (param_5 != 2) {\n                    /* WARNING: Could not recover jumptable at 0x00134c50. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);\n        return;\n      }\n    }\n    else {\n      uVar48 = *param_4;\n      auVar2._8_8_ = 0;\n      auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8);\n      auVar20._8_8_ = 0;\n      auVar20._0_8_ = uVar48;\n      auVar2 = auVar2 * auVar20;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      uVar52 = (ulong)uVar51;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134a72;\n      }\n      if (uVar51 < 2) {\n        uVar57 = uVar57 + 4;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        goto LAB_00134a5f;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        uVar52 = uVar57;\n        goto LAB_00134aa7;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar45._8_8_ = 0;\n        auVar45._0_8_ = auVar2._8_8_;\n        auVar5._8_8_ = 0;\n        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar23._8_8_ = 0;\n        auVar23._0_8_ = uVar48;\n        plVar1[uVar57 + 1] = auVar2._0_8_;\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        auVar2 = auVar5 * auVar23 + auVar45;\n        uVar52 = uVar57;\nLAB_00134aa7:\n        auVar46._8_8_ = 0;\n        auVar46._0_8_ = auVar2._8_8_;\n        auVar40._8_8_ = 0;\n        auVar40._0_8_ = auVar2._8_8_;\n        auVar6._8_8_ = 0;\n        auVar6._0_8_ = uVar56;\n        auVar24._8_8_ = 0;\n        auVar24._0_8_ = uVar48;\n        uVar57 = uVar52 + 4;\n        if (-1 < (long)uVar57) break;\n        plVar1[uVar52 + 2] = auVar2._0_8_;\n        auVar2 = auVar6 * auVar24 + auVar40;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\nLAB_00134a5f:\n        auVar38._8_8_ = 0;\n        auVar38._0_8_ = auVar2._8_8_;\n        uVar52 = 0;\n        auVar3._8_8_ = 0;\n        auVar3._0_8_ = uVar56;\n        auVar21._8_8_ = 0;\n        auVar21._0_8_ = uVar48;\n        plVar1[uVar57 - 1] = auVar2._0_8_;\n        auVar2 = auVar3 * auVar21 + auVar38;\nLAB_00134a72:\n        auVar39._8_8_ = uVar52;\n        auVar39._0_8_ = auVar2._8_8_;\n        auVar4._8_8_ = 0;\n        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar22._8_8_ = 0;\n        auVar22._0_8_ = uVar48;\n        plVar1[uVar57] = auVar2._0_8_;\n        auVar2 = auVar4 * auVar22 + auVar39;\n      }\n      plVar1[-2] = auVar2._0_8_;\n      auVar46 = auVar6 * auVar24 + auVar46;\n      plVar1[-1] = auVar46._0_8_;\n      plVar1[1] = 0;\n      *plVar1 = auVar46._8_8_;\n      if (param_5 != 1) {\n                    /* WARNING: Could not recover jumptable at 0x00134ae0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);\n        return;\n      }\n    }" if (parenthesized_expression "((param_5 & 1) == 0)" ( (binary_expression "(param_5 & 1) == 0" (parenthesized_expression "(param_5 & 1)" ( (binary_expression "param_5 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      uVar48 = *param_4;\n      uVar52 = param_4[1];\n      auVar7._8_8_ = 0;\n      auVar7._0_8_ = *(ulong *)(param_2 + -8 + uVar56 * -8);\n      auVar25._8_8_ = 0;\n      auVar25._0_8_ = uVar52;\n      auVar7 = auVar7 * auVar25;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134b8e;\n      }\n      if (uVar51 < 2) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        uVar56 = uVar57;\n        goto LAB_00134c0d;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        goto LAB_00134be9;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar11._8_8_ = 0;\n        auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar29._8_8_ = 0;\n        auVar29._0_8_ = uVar48;\n        uVar49 = SUB168(auVar11 * auVar29,8);\n        uVar47 = SUB168(auVar11 * auVar29,0);\n        uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar43._0_8_ = uVar50 + uVar56;\n        auVar43._9_7_ = 0;\n        uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;\n        auVar12._8_8_ = 0;\n        auVar12._0_8_ = uVar56;\n        auVar30._8_8_ = 0;\n        auVar30._0_8_ = uVar52;\n        auVar7 = auVar12 * auVar30 + auVar43;\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\nLAB_00134be9:\n        uVar53 = auVar7._0_8_;\n        auVar13._8_8_ = 0;\n        auVar13._0_8_ = uVar56;\n        auVar31._8_8_ = 0;\n        auVar31._0_8_ = uVar48;\n        uVar49 = SUB168(auVar13 * auVar31,8);\n        uVar47 = SUB168(auVar13 * auVar31,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar44._0_8_ = uVar50 + uVar56;\n        auVar44._9_7_ = 0;\n        auVar14._8_8_ = 0;\n        auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar32._8_8_ = 0;\n        auVar32._0_8_ = uVar52;\n        auVar7 = auVar14 * auVar32 + auVar44;\n        plVar1[uVar57 + 2] = uVar53 + uVar47;\n        uVar56 = uVar57;\nLAB_00134c0d:\n        auVar15._8_8_ = 0;\n        auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);\n        auVar33._8_8_ = 0;\n        auVar33._0_8_ = uVar48;\n        uVar49 = SUB168(auVar15 * auVar33,8);\n        uVar47 = SUB168(auVar15 * auVar33,0);\n        uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);\n        lVar54 = uVar50 + uVar57;\n        auVar41[8] = bVar58;\n        auVar41._0_8_ = lVar54;\n        auVar41._9_7_ = 0;\n        uVar57 = uVar56 + 4;\n        plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;\n        if (uVar57 == 0) break;\n        auVar8._8_8_ = 0;\n        auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);\n        auVar26._8_8_ = 0;\n        auVar26._0_8_ = uVar52;\n        auVar7 = auVar8 * auVar26 + auVar41;\nLAB_00134b8e:\n        uVar53 = auVar7._0_8_;\n        auVar9._8_8_ = 0;\n        auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar27._8_8_ = 0;\n        auVar27._0_8_ = uVar48;\n        uVar49 = SUB168(auVar9 * auVar27,8);\n        uVar47 = SUB168(auVar9 * auVar27,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar42._0_8_ = uVar50 + uVar56;\n        auVar42._9_7_ = 0;\n        auVar10._8_8_ = 0;\n        auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar28._8_8_ = 0;\n        auVar28._0_8_ = uVar52;\n        auVar7 = auVar10 * auVar28 + auVar42;\n        plVar1[uVar57] = uVar53 + uVar47;\n      }\n      *plVar1 = lVar54;\n      plVar1[1] = (ulong)bVar58;\n      if (param_5 != 2) {\n                    /* WARNING: Could not recover jumptable at 0x00134c50. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);\n        return;\n      }\n    }" { (expression_statement "uVar48 = *param_4;" (assignment_expression "uVar48 = *param_4" identifier = (pointer_expression "*param_4" * identifier)) ;) (expression_statement "uVar52 = param_4[1];" (assignment_expression "uVar52 = param_4[1]" identifier = (subscript_expression "param_4[1]" identifier [ number_literal ])) ;) (expression_statement "auVar7._8_8_ = 0;" (assignment_expression "auVar7._8_8_ = 0" (field_expression "auVar7._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar7._0_8_ = *(ulong *)(param_2 + -8 + uVar56 * -8);" (assignment_expression "auVar7._0_8_ = *(ulong *)(param_2 + -8 + uVar56 * -8)" (field_expression "auVar7._0_8_" identifier . field_identifier) = (pointer_expression "*(ulong *)(param_2 + -8 + uVar56 * -8)" * (cast_expression "(ulong *)(param_2 + -8 + uVar56 * -8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + -8 + uVar56 * -8)" ( (binary_expression "param_2 + -8 + uVar56 * -8" (binary_expression "param_2 + -8" identifier + number_literal) + (binary_expression "uVar56 * -8" identifier * number_literal)) ))))) ;) (expression_statement "auVar25._8_8_ = 0;" (assignment_expression "auVar25._8_8_ = 0" (field_expression "auVar25._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar25._0_8_ = uVar52;" (assignment_expression "auVar25._0_8_ = uVar52" (field_expression "auVar25._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar7 = auVar7 * auVar25;" (assignment_expression "auVar7 = auVar7 * auVar25" identifier = (binary_expression "auVar7 * auVar25" identifier * identifier)) ;) (expression_statement "uVar57 = -uVar56 & 0xfffffffffffffffc;" (assignment_expression "uVar57 = -uVar56 & 0xfffffffffffffffc" identifier = (binary_expression "-uVar56 & 0xfffffffffffffffc" (unary_expression "-uVar56" - identifier) & number_literal)) ;) (expression_statement "uVar51 = (uint)uVar56 & 3;" (assignment_expression "uVar51 = (uint)uVar56 & 3" identifier = (binary_expression "(uint)uVar56 & 3" (cast_expression "(uint)uVar56" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (if_statement "if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134b8e;\n      }" if (parenthesized_expression "((uVar56 & 3) == 0)" ( (binary_expression "(uVar56 & 3) == 0" (parenthesized_expression "(uVar56 & 3)" ( (binary_expression "uVar56 & 3" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134b8e;\n      }" { (expression_statement "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60" identifier = (cast_expression "(code *)&DAT_00134c60" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00134c60" & identifier))) ;) (goto_statement "goto LAB_00134b8e;" goto statement_identifier ;) })) (if_statement "if (uVar51 < 2) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        uVar56 = uVar57;\n        goto LAB_00134c0d;\n      }" if (parenthesized_expression "(uVar51 < 2)" ( (binary_expression "uVar51 < 2" identifier < number_literal) )) (compound_statement "{\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        uVar56 = uVar57;\n        goto LAB_00134c0d;\n      }" { (expression_statement "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80" identifier = (cast_expression "(code *)&DAT_00134c80" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00134c80" & identifier))) ;) (expression_statement "uVar56 = uVar57;" (assignment_expression "uVar56 = uVar57" identifier = identifier) ;) (goto_statement "goto LAB_00134c0d;" goto statement_identifier ;) })) (if_statement "if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        goto LAB_00134be9;\n      }" if (parenthesized_expression "(uVar51 == 2)" ( (binary_expression "uVar51 == 2" identifier == number_literal) )) (compound_statement "{\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        goto LAB_00134be9;\n      }" { (expression_statement "uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);" (assignment_expression "uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8)" identifier = (pointer_expression "*(ulong *)(param_2 + 0x10 + uVar57 * 8)" * (cast_expression "(ulong *)(param_2 + 0x10 + uVar57 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10 + uVar57 * 8)" ( (binary_expression "param_2 + 0x10 + uVar57 * 8" (binary_expression "param_2 + 0x10" identifier + number_literal) + (binary_expression "uVar57 * 8" identifier * number_literal)) ))))) ;) (expression_statement "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0" identifier = (cast_expression "(code *)&DAT_00134ca0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00134ca0" & identifier))) ;) (goto_statement "goto LAB_00134be9;" goto statement_identifier ;) })) (expression_statement "UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0" identifier = (cast_expression "(code *)&LAB_00134cc0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&LAB_00134cc0" & identifier))) ;) (while_statement "while( true ) {\n        auVar11._8_8_ = 0;\n        auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar29._8_8_ = 0;\n        auVar29._0_8_ = uVar48;\n        uVar49 = SUB168(auVar11 * auVar29,8);\n        uVar47 = SUB168(auVar11 * auVar29,0);\n        uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar43._0_8_ = uVar50 + uVar56;\n        auVar43._9_7_ = 0;\n        uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;\n        auVar12._8_8_ = 0;\n        auVar12._0_8_ = uVar56;\n        auVar30._8_8_ = 0;\n        auVar30._0_8_ = uVar52;\n        auVar7 = auVar12 * auVar30 + auVar43;\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\nLAB_00134be9:\n        uVar53 = auVar7._0_8_;\n        auVar13._8_8_ = 0;\n        auVar13._0_8_ = uVar56;\n        auVar31._8_8_ = 0;\n        auVar31._0_8_ = uVar48;\n        uVar49 = SUB168(auVar13 * auVar31,8);\n        uVar47 = SUB168(auVar13 * auVar31,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar44._0_8_ = uVar50 + uVar56;\n        auVar44._9_7_ = 0;\n        auVar14._8_8_ = 0;\n        auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar32._8_8_ = 0;\n        auVar32._0_8_ = uVar52;\n        auVar7 = auVar14 * auVar32 + auVar44;\n        plVar1[uVar57 + 2] = uVar53 + uVar47;\n        uVar56 = uVar57;\nLAB_00134c0d:\n        auVar15._8_8_ = 0;\n        auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);\n        auVar33._8_8_ = 0;\n        auVar33._0_8_ = uVar48;\n        uVar49 = SUB168(auVar15 * auVar33,8);\n        uVar47 = SUB168(auVar15 * auVar33,0);\n        uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);\n        lVar54 = uVar50 + uVar57;\n        auVar41[8] = bVar58;\n        auVar41._0_8_ = lVar54;\n        auVar41._9_7_ = 0;\n        uVar57 = uVar56 + 4;\n        plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;\n        if (uVar57 == 0) break;\n        auVar8._8_8_ = 0;\n        auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);\n        auVar26._8_8_ = 0;\n        auVar26._0_8_ = uVar52;\n        auVar7 = auVar8 * auVar26 + auVar41;\nLAB_00134b8e:\n        uVar53 = auVar7._0_8_;\n        auVar9._8_8_ = 0;\n        auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar27._8_8_ = 0;\n        auVar27._0_8_ = uVar48;\n        uVar49 = SUB168(auVar9 * auVar27,8);\n        uVar47 = SUB168(auVar9 * auVar27,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar42._0_8_ = uVar50 + uVar56;\n        auVar42._9_7_ = 0;\n        auVar10._8_8_ = 0;\n        auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar28._8_8_ = 0;\n        auVar28._0_8_ = uVar52;\n        auVar7 = auVar10 * auVar28 + auVar42;\n        plVar1[uVar57] = uVar53 + uVar47;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        auVar11._8_8_ = 0;\n        auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar29._8_8_ = 0;\n        auVar29._0_8_ = uVar48;\n        uVar49 = SUB168(auVar11 * auVar29,8);\n        uVar47 = SUB168(auVar11 * auVar29,0);\n        uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar43._0_8_ = uVar50 + uVar56;\n        auVar43._9_7_ = 0;\n        uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;\n        auVar12._8_8_ = 0;\n        auVar12._0_8_ = uVar56;\n        auVar30._8_8_ = 0;\n        auVar30._0_8_ = uVar52;\n        auVar7 = auVar12 * auVar30 + auVar43;\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\nLAB_00134be9:\n        uVar53 = auVar7._0_8_;\n        auVar13._8_8_ = 0;\n        auVar13._0_8_ = uVar56;\n        auVar31._8_8_ = 0;\n        auVar31._0_8_ = uVar48;\n        uVar49 = SUB168(auVar13 * auVar31,8);\n        uVar47 = SUB168(auVar13 * auVar31,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar44._0_8_ = uVar50 + uVar56;\n        auVar44._9_7_ = 0;\n        auVar14._8_8_ = 0;\n        auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar32._8_8_ = 0;\n        auVar32._0_8_ = uVar52;\n        auVar7 = auVar14 * auVar32 + auVar44;\n        plVar1[uVar57 + 2] = uVar53 + uVar47;\n        uVar56 = uVar57;\nLAB_00134c0d:\n        auVar15._8_8_ = 0;\n        auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);\n        auVar33._8_8_ = 0;\n        auVar33._0_8_ = uVar48;\n        uVar49 = SUB168(auVar15 * auVar33,8);\n        uVar47 = SUB168(auVar15 * auVar33,0);\n        uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);\n        lVar54 = uVar50 + uVar57;\n        auVar41[8] = bVar58;\n        auVar41._0_8_ = lVar54;\n        auVar41._9_7_ = 0;\n        uVar57 = uVar56 + 4;\n        plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;\n        if (uVar57 == 0) break;\n        auVar8._8_8_ = 0;\n        auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);\n        auVar26._8_8_ = 0;\n        auVar26._0_8_ = uVar52;\n        auVar7 = auVar8 * auVar26 + auVar41;\nLAB_00134b8e:\n        uVar53 = auVar7._0_8_;\n        auVar9._8_8_ = 0;\n        auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar27._8_8_ = 0;\n        auVar27._0_8_ = uVar48;\n        uVar49 = SUB168(auVar9 * auVar27,8);\n        uVar47 = SUB168(auVar9 * auVar27,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar42._0_8_ = uVar50 + uVar56;\n        auVar42._9_7_ = 0;\n        auVar10._8_8_ = 0;\n        auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar28._8_8_ = 0;\n        auVar28._0_8_ = uVar52;\n        auVar7 = auVar10 * auVar28 + auVar42;\n        plVar1[uVar57] = uVar53 + uVar47;\n      }" { (expression_statement "auVar11._8_8_ = 0;" (assignment_expression "auVar11._8_8_ = 0" (field_expression "auVar11._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);" (assignment_expression "auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8)" (field_expression "auVar11._0_8_" identifier . field_identifier) = (pointer_expression "*(ulong *)(param_2 + 8 + uVar57 * 8)" * (cast_expression "(ulong *)(param_2 + 8 + uVar57 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8 + uVar57 * 8)" ( (binary_expression "param_2 + 8 + uVar57 * 8" (binary_expression "param_2 + 8" identifier + number_literal) + (binary_expression "uVar57 * 8" identifier * number_literal)) ))))) ;) (expression_statement "auVar29._8_8_ = 0;" (assignment_expression "auVar29._8_8_ = 0" (field_expression "auVar29._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar29._0_8_ = uVar48;" (assignment_expression "auVar29._0_8_ = uVar48" (field_expression "auVar29._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "uVar49 = SUB168(auVar11 * auVar29,8);" (assignment_expression "uVar49 = SUB168(auVar11 * auVar29,8)" identifier = (call_expression "SUB168(auVar11 * auVar29,8)" identifier (argument_list "(auVar11 * auVar29,8)" ( (binary_expression "auVar11 * auVar29" identifier * identifier) , number_literal )))) ;) (expression_statement "uVar47 = SUB168(auVar11 * auVar29,0);" (assignment_expression "uVar47 = SUB168(auVar11 * auVar29,0)" identifier = (call_expression "SUB168(auVar11 * auVar29,0)" identifier (argument_list "(auVar11 * auVar29,0)" ( (binary_expression "auVar11 * auVar29" identifier * identifier) , number_literal )))) ;) (expression_statement "uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);" (assignment_expression "uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47)" identifier = (cast_expression "(ulong)CARRY8(auVar7._0_8_,uVar47)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY8(auVar7._0_8_,uVar47)" identifier (argument_list "(auVar7._0_8_,uVar47)" ( (field_expression "auVar7._0_8_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "uVar50 = auVar7._8_8_ + uVar49;" (assignment_expression "uVar50 = auVar7._8_8_ + uVar49" identifier = (binary_expression "auVar7._8_8_ + uVar49" (field_expression "auVar7._8_8_" identifier . field_identifier) + identifier)) ;) (expression_statement "auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);" (assignment_expression "auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56)" (subscript_expression "auVar43[8]" identifier [ number_literal ]) = (binary_expression "CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56)" (call_expression "CARRY8(auVar7._8_8_,uVar49)" identifier (argument_list "(auVar7._8_8_,uVar49)" ( (field_expression "auVar7._8_8_" identifier . field_identifier) , identifier ))) || (call_expression "CARRY8(uVar50,uVar56)" identifier (argument_list "(uVar50,uVar56)" ( identifier , identifier ))))) ;) (expression_statement "auVar43._0_8_ = uVar50 + uVar56;" (assignment_expression "auVar43._0_8_ = uVar50 + uVar56" (field_expression "auVar43._0_8_" identifier . field_identifier) = (binary_expression "uVar50 + uVar56" identifier + identifier)) ;) (expression_statement "auVar43._9_7_ = 0;" (assignment_expression "auVar43._9_7_ = 0" (field_expression "auVar43._9_7_" identifier . field_identifier) = number_literal) ;) (expression_statement "uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);" (assignment_expression "uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8)" identifier = (pointer_expression "*(ulong *)(param_2 + 8 + uVar57 * 8)" * (cast_expression "(ulong *)(param_2 + 8 + uVar57 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8 + uVar57 * 8)" ( (binary_expression "param_2 + 8 + uVar57 * 8" (binary_expression "param_2 + 8" identifier + number_literal) + (binary_expression "uVar57 * 8" identifier * number_literal)) ))))) ;) (expression_statement "plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;" (assignment_expression "plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47" (subscript_expression "plVar1[uVar57 + 1]" identifier [ (binary_expression "uVar57 + 1" identifier + number_literal) ]) = (binary_expression "auVar7._0_8_ + uVar47" (field_expression "auVar7._0_8_" identifier . field_identifier) + identifier)) ;) (expression_statement "auVar12._8_8_ = 0;" (assignment_expression "auVar12._8_8_ = 0" (field_expression "auVar12._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar12._0_8_ = uVar56;" (assignment_expression "auVar12._0_8_ = uVar56" (field_expression "auVar12._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar30._8_8_ = 0;" (assignment_expression "auVar30._8_8_ = 0" (field_expression "auVar30._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar30._0_8_ = uVar52;" (assignment_expression "auVar30._0_8_ = uVar52" (field_expression "auVar30._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar7 = auVar12 * auVar30 + auVar43;" (assignment_expression "auVar7 = auVar12 * auVar30 + auVar43" identifier = (binary_expression "auVar12 * auVar30 + auVar43" (binary_expression "auVar12 * auVar30" identifier * identifier) + identifier)) ;) (expression_statement "uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);" (assignment_expression "uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8)" identifier = (pointer_expression "*(ulong *)(param_2 + 0x10 + uVar57 * 8)" * (cast_expression "(ulong *)(param_2 + 0x10 + uVar57 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10 + uVar57 * 8)" ( (binary_expression "param_2 + 0x10 + uVar57 * 8" (binary_expression "param_2 + 0x10" identifier + number_literal) + (binary_expression "uVar57 * 8" identifier * number_literal)) ))))) ;) (labeled_statement "LAB_00134be9:\n        uVar53 = auVar7._0_8_;" statement_identifier : (expression_statement "uVar53 = auVar7._0_8_;" (assignment_expression "uVar53 = auVar7._0_8_" identifier = (field_expression "auVar7._0_8_" identifier . field_identifier)) ;)) (expression_statement "auVar13._8_8_ = 0;" (assignment_expression "auVar13._8_8_ = 0" (field_expression "auVar13._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar13._0_8_ = uVar56;" (assignment_expression "auVar13._0_8_ = uVar56" (field_expression "auVar13._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar31._8_8_ = 0;" (assignment_expression "auVar31._8_8_ = 0" (field_expression "auVar31._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar31._0_8_ = uVar48;" (assignment_expression "auVar31._0_8_ = uVar48" (field_expression "auVar31._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "uVar49 = SUB168(auVar13 * auVar31,8);" (assignment_expression "uVar49 = SUB168(auVar13 * auVar31,8)" identifier = (call_expression "SUB168(auVar13 * auVar31,8)" identifier (argument_list "(auVar13 * auVar31,8)" ( (binary_expression "auVar13 * auVar31" identifier * identifier) , number_literal )))) ;) (expression_statement "uVar47 = SUB168(auVar13 * auVar31,0);" (assignment_expression "uVar47 = SUB168(auVar13 * auVar31,0)" identifier = (call_expression "SUB168(auVar13 * auVar31,0)" identifier (argument_list "(auVar13 * auVar31,0)" ( (binary_expression "auVar13 * auVar31" identifier * identifier) , number_literal )))) ;) (expression_statement "uVar56 = (ulong)CARRY8(uVar53,uVar47);" (assignment_expression "uVar56 = (ulong)CARRY8(uVar53,uVar47)" identifier = (cast_expression "(ulong)CARRY8(uVar53,uVar47)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY8(uVar53,uVar47)" identifier (argument_list "(uVar53,uVar47)" ( identifier , identifier ))))) ;) (expression_statement "uVar50 = auVar7._8_8_ + uVar49;" (assignment_expression "uVar50 = auVar7._8_8_ + uVar49" identifier = (binary_expression "auVar7._8_8_ + uVar49" (field_expression "auVar7._8_8_" identifier . field_identifier) + identifier)) ;) (expression_statement "auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);" (assignment_expression "auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56)" (subscript_expression "auVar44[8]" identifier [ number_literal ]) = (binary_expression "CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56)" (call_expression "CARRY8(auVar7._8_8_,uVar49)" identifier (argument_list "(auVar7._8_8_,uVar49)" ( (field_expression "auVar7._8_8_" identifier . field_identifier) , identifier ))) || (call_expression "CARRY8(uVar50,uVar56)" identifier (argument_list "(uVar50,uVar56)" ( identifier , identifier ))))) ;) (expression_statement "auVar44._0_8_ = uVar50 + uVar56;" (assignment_expression "auVar44._0_8_ = uVar50 + uVar56" (field_expression "auVar44._0_8_" identifier . field_identifier) = (binary_expression "uVar50 + uVar56" identifier + identifier)) ;) (expression_statement "auVar44._9_7_ = 0;" (assignment_expression "auVar44._9_7_ = 0" (field_expression "auVar44._9_7_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar14._8_8_ = 0;" (assignment_expression "auVar14._8_8_ = 0" (field_expression "auVar14._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);" (assignment_expression "auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8)" (field_expression "auVar14._0_8_" identifier . field_identifier) = (pointer_expression "*(ulong *)(param_2 + 0x10 + uVar57 * 8)" * (cast_expression "(ulong *)(param_2 + 0x10 + uVar57 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10 + uVar57 * 8)" ( (binary_expression "param_2 + 0x10 + uVar57 * 8" (binary_expression "param_2 + 0x10" identifier + number_literal) + (binary_expression "uVar57 * 8" identifier * number_literal)) ))))) ;) (expression_statement "auVar32._8_8_ = 0;" (assignment_expression "auVar32._8_8_ = 0" (field_expression "auVar32._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar32._0_8_ = uVar52;" (assignment_expression "auVar32._0_8_ = uVar52" (field_expression "auVar32._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar7 = auVar14 * auVar32 + auVar44;" (assignment_expression "auVar7 = auVar14 * auVar32 + auVar44" identifier = (binary_expression "auVar14 * auVar32 + auVar44" (binary_expression "auVar14 * auVar32" identifier * identifier) + identifier)) ;) (expression_statement "plVar1[uVar57 + 2] = uVar53 + uVar47;" (assignment_expression "plVar1[uVar57 + 2] = uVar53 + uVar47" (subscript_expression "plVar1[uVar57 + 2]" identifier [ (binary_expression "uVar57 + 2" identifier + number_literal) ]) = (binary_expression "uVar53 + uVar47" identifier + identifier)) ;) (expression_statement "uVar56 = uVar57;" (assignment_expression "uVar56 = uVar57" identifier = identifier) ;) (labeled_statement "LAB_00134c0d:\n        auVar15._8_8_ = 0;" statement_identifier : (expression_statement "auVar15._8_8_ = 0;" (assignment_expression "auVar15._8_8_ = 0" (field_expression "auVar15._8_8_" identifier . field_identifier) = number_literal) ;)) (expression_statement "auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);" (assignment_expression "auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8)" (field_expression "auVar15._0_8_" identifier . field_identifier) = (pointer_expression "*(ulong *)(param_2 + 0x18 + uVar56 * 8)" * (cast_expression "(ulong *)(param_2 + 0x18 + uVar56 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18 + uVar56 * 8)" ( (binary_expression "param_2 + 0x18 + uVar56 * 8" (binary_expression "param_2 + 0x18" identifier + number_literal) + (binary_expression "uVar56 * 8" identifier * number_literal)) ))))) ;) (expression_statement "auVar33._8_8_ = 0;" (assignment_expression "auVar33._8_8_ = 0" (field_expression "auVar33._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar33._0_8_ = uVar48;" (assignment_expression "auVar33._0_8_ = uVar48" (field_expression "auVar33._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "uVar49 = SUB168(auVar15 * auVar33,8);" (assignment_expression "uVar49 = SUB168(auVar15 * auVar33,8)" identifier = (call_expression "SUB168(auVar15 * auVar33,8)" identifier (argument_list "(auVar15 * auVar33,8)" ( (binary_expression "auVar15 * auVar33" identifier * identifier) , number_literal )))) ;) (expression_statement "uVar47 = SUB168(auVar15 * auVar33,0);" (assignment_expression "uVar47 = SUB168(auVar15 * auVar33,0)" identifier = (call_expression "SUB168(auVar15 * auVar33,0)" identifier (argument_list "(auVar15 * auVar33,0)" ( (binary_expression "auVar15 * auVar33" identifier * identifier) , number_literal )))) ;) (expression_statement "uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);" (assignment_expression "uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47)" identifier = (cast_expression "(ulong)CARRY8(auVar7._0_8_,uVar47)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY8(auVar7._0_8_,uVar47)" identifier (argument_list "(auVar7._0_8_,uVar47)" ( (field_expression "auVar7._0_8_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "uVar50 = auVar7._8_8_ + uVar49;" (assignment_expression "uVar50 = auVar7._8_8_ + uVar49" identifier = (binary_expression "auVar7._8_8_ + uVar49" (field_expression "auVar7._8_8_" identifier . field_identifier) + identifier)) ;) (expression_statement "bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);" (assignment_expression "bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57)" identifier = (binary_expression "CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57)" (call_expression "CARRY8(auVar7._8_8_,uVar49)" identifier (argument_list "(auVar7._8_8_,uVar49)" ( (field_expression "auVar7._8_8_" identifier . field_identifier) , identifier ))) || (call_expression "CARRY8(uVar50,uVar57)" identifier (argument_list "(uVar50,uVar57)" ( identifier , identifier ))))) ;) (expression_statement "lVar54 = uVar50 + uVar57;" (assignment_expression "lVar54 = uVar50 + uVar57" identifier = (binary_expression "uVar50 + uVar57" identifier + identifier)) ;) (expression_statement "auVar41[8] = bVar58;" (assignment_expression "auVar41[8] = bVar58" (subscript_expression "auVar41[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "auVar41._0_8_ = lVar54;" (assignment_expression "auVar41._0_8_ = lVar54" (field_expression "auVar41._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar41._9_7_ = 0;" (assignment_expression "auVar41._9_7_ = 0" (field_expression "auVar41._9_7_" identifier . field_identifier) = number_literal) ;) (expression_statement "uVar57 = uVar56 + 4;" (assignment_expression "uVar57 = uVar56 + 4" identifier = (binary_expression "uVar56 + 4" identifier + number_literal)) ;) (expression_statement "plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;" (assignment_expression "plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47" (subscript_expression "plVar1[uVar56 + 3]" identifier [ (binary_expression "uVar56 + 3" identifier + number_literal) ]) = (binary_expression "auVar7._0_8_ + uVar47" (field_expression "auVar7._0_8_" identifier . field_identifier) + identifier)) ;) (if_statement "if (uVar57 == 0) break;" if (parenthesized_expression "(uVar57 == 0)" ( (binary_expression "uVar57 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "auVar8._8_8_ = 0;" (assignment_expression "auVar8._8_8_ = 0" (field_expression "auVar8._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);" (assignment_expression "auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8)" (field_expression "auVar8._0_8_" identifier . field_identifier) = (pointer_expression "*(ulong *)(param_2 + -8 + uVar57 * 8)" * (cast_expression "(ulong *)(param_2 + -8 + uVar57 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + -8 + uVar57 * 8)" ( (binary_expression "param_2 + -8 + uVar57 * 8" (binary_expression "param_2 + -8" identifier + number_literal) + (binary_expression "uVar57 * 8" identifier * number_literal)) ))))) ;) (expression_statement "auVar26._8_8_ = 0;" (assignment_expression "auVar26._8_8_ = 0" (field_expression "auVar26._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar26._0_8_ = uVar52;" (assignment_expression "auVar26._0_8_ = uVar52" (field_expression "auVar26._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar7 = auVar8 * auVar26 + auVar41;" (assignment_expression "auVar7 = auVar8 * auVar26 + auVar41" identifier = (binary_expression "auVar8 * auVar26 + auVar41" (binary_expression "auVar8 * auVar26" identifier * identifier) + identifier)) ;) (labeled_statement "LAB_00134b8e:\n        uVar53 = auVar7._0_8_;" statement_identifier : (expression_statement "uVar53 = auVar7._0_8_;" (assignment_expression "uVar53 = auVar7._0_8_" identifier = (field_expression "auVar7._0_8_" identifier . field_identifier)) ;)) (expression_statement "auVar9._8_8_ = 0;" (assignment_expression "auVar9._8_8_ = 0" (field_expression "auVar9._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);" (assignment_expression "auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8)" (field_expression "auVar9._0_8_" identifier . field_identifier) = (pointer_expression "*(ulong *)(param_2 + uVar57 * 8)" * (cast_expression "(ulong *)(param_2 + uVar57 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + uVar57 * 8)" ( (binary_expression "param_2 + uVar57 * 8" identifier + (binary_expression "uVar57 * 8" identifier * number_literal)) ))))) ;) (expression_statement "auVar27._8_8_ = 0;" (assignment_expression "auVar27._8_8_ = 0" (field_expression "auVar27._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar27._0_8_ = uVar48;" (assignment_expression "auVar27._0_8_ = uVar48" (field_expression "auVar27._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "uVar49 = SUB168(auVar9 * auVar27,8);" (assignment_expression "uVar49 = SUB168(auVar9 * auVar27,8)" identifier = (call_expression "SUB168(auVar9 * auVar27,8)" identifier (argument_list "(auVar9 * auVar27,8)" ( (binary_expression "auVar9 * auVar27" identifier * identifier) , number_literal )))) ;) (expression_statement "uVar47 = SUB168(auVar9 * auVar27,0);" (assignment_expression "uVar47 = SUB168(auVar9 * auVar27,0)" identifier = (call_expression "SUB168(auVar9 * auVar27,0)" identifier (argument_list "(auVar9 * auVar27,0)" ( (binary_expression "auVar9 * auVar27" identifier * identifier) , number_literal )))) ;) (expression_statement "uVar56 = (ulong)CARRY8(uVar53,uVar47);" (assignment_expression "uVar56 = (ulong)CARRY8(uVar53,uVar47)" identifier = (cast_expression "(ulong)CARRY8(uVar53,uVar47)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY8(uVar53,uVar47)" identifier (argument_list "(uVar53,uVar47)" ( identifier , identifier ))))) ;) (expression_statement "uVar50 = auVar7._8_8_ + uVar49;" (assignment_expression "uVar50 = auVar7._8_8_ + uVar49" identifier = (binary_expression "auVar7._8_8_ + uVar49" (field_expression "auVar7._8_8_" identifier . field_identifier) + identifier)) ;) (expression_statement "auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);" (assignment_expression "auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56)" (subscript_expression "auVar42[8]" identifier [ number_literal ]) = (binary_expression "CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56)" (call_expression "CARRY8(auVar7._8_8_,uVar49)" identifier (argument_list "(auVar7._8_8_,uVar49)" ( (field_expression "auVar7._8_8_" identifier . field_identifier) , identifier ))) || (call_expression "CARRY8(uVar50,uVar56)" identifier (argument_list "(uVar50,uVar56)" ( identifier , identifier ))))) ;) (expression_statement "auVar42._0_8_ = uVar50 + uVar56;" (assignment_expression "auVar42._0_8_ = uVar50 + uVar56" (field_expression "auVar42._0_8_" identifier . field_identifier) = (binary_expression "uVar50 + uVar56" identifier + identifier)) ;) (expression_statement "auVar42._9_7_ = 0;" (assignment_expression "auVar42._9_7_ = 0" (field_expression "auVar42._9_7_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar10._8_8_ = 0;" (assignment_expression "auVar10._8_8_ = 0" (field_expression "auVar10._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);" (assignment_expression "auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8)" (field_expression "auVar10._0_8_" identifier . field_identifier) = (pointer_expression "*(ulong *)(param_2 + uVar57 * 8)" * (cast_expression "(ulong *)(param_2 + uVar57 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + uVar57 * 8)" ( (binary_expression "param_2 + uVar57 * 8" identifier + (binary_expression "uVar57 * 8" identifier * number_literal)) ))))) ;) (expression_statement "auVar28._8_8_ = 0;" (assignment_expression "auVar28._8_8_ = 0" (field_expression "auVar28._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar28._0_8_ = uVar52;" (assignment_expression "auVar28._0_8_ = uVar52" (field_expression "auVar28._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar7 = auVar10 * auVar28 + auVar42;" (assignment_expression "auVar7 = auVar10 * auVar28 + auVar42" identifier = (binary_expression "auVar10 * auVar28 + auVar42" (binary_expression "auVar10 * auVar28" identifier * identifier) + identifier)) ;) (expression_statement "plVar1[uVar57] = uVar53 + uVar47;" (assignment_expression "plVar1[uVar57] = uVar53 + uVar47" (subscript_expression "plVar1[uVar57]" identifier [ identifier ]) = (binary_expression "uVar53 + uVar47" identifier + identifier)) ;) })) (expression_statement "*plVar1 = lVar54;" (assignment_expression "*plVar1 = lVar54" (pointer_expression "*plVar1" * identifier) = identifier) ;) (expression_statement "plVar1[1] = (ulong)bVar58;" (assignment_expression "plVar1[1] = (ulong)bVar58" (subscript_expression "plVar1[1]" identifier [ number_literal ]) = (cast_expression "(ulong)bVar58" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if (param_5 != 2) {\n                    /* WARNING: Could not recover jumptable at 0x00134c50. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);\n        return;\n      }" if (parenthesized_expression "(param_5 != 2)" ( (binary_expression "param_5 != 2" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x00134c50. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);\n        return;\n      }" { comment comment (expression_statement "(*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);" (call_expression "(*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "(plVar1,param_2 + -0x10)" ( identifier , (binary_expression "param_2 + -0x10" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) }) (else_clause "else {\n      uVar48 = *param_4;\n      auVar2._8_8_ = 0;\n      auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8);\n      auVar20._8_8_ = 0;\n      auVar20._0_8_ = uVar48;\n      auVar2 = auVar2 * auVar20;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      uVar52 = (ulong)uVar51;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134a72;\n      }\n      if (uVar51 < 2) {\n        uVar57 = uVar57 + 4;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        goto LAB_00134a5f;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        uVar52 = uVar57;\n        goto LAB_00134aa7;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar45._8_8_ = 0;\n        auVar45._0_8_ = auVar2._8_8_;\n        auVar5._8_8_ = 0;\n        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar23._8_8_ = 0;\n        auVar23._0_8_ = uVar48;\n        plVar1[uVar57 + 1] = auVar2._0_8_;\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        auVar2 = auVar5 * auVar23 + auVar45;\n        uVar52 = uVar57;\nLAB_00134aa7:\n        auVar46._8_8_ = 0;\n        auVar46._0_8_ = auVar2._8_8_;\n        auVar40._8_8_ = 0;\n        auVar40._0_8_ = auVar2._8_8_;\n        auVar6._8_8_ = 0;\n        auVar6._0_8_ = uVar56;\n        auVar24._8_8_ = 0;\n        auVar24._0_8_ = uVar48;\n        uVar57 = uVar52 + 4;\n        if (-1 < (long)uVar57) break;\n        plVar1[uVar52 + 2] = auVar2._0_8_;\n        auVar2 = auVar6 * auVar24 + auVar40;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\nLAB_00134a5f:\n        auVar38._8_8_ = 0;\n        auVar38._0_8_ = auVar2._8_8_;\n        uVar52 = 0;\n        auVar3._8_8_ = 0;\n        auVar3._0_8_ = uVar56;\n        auVar21._8_8_ = 0;\n        auVar21._0_8_ = uVar48;\n        plVar1[uVar57 - 1] = auVar2._0_8_;\n        auVar2 = auVar3 * auVar21 + auVar38;\nLAB_00134a72:\n        auVar39._8_8_ = uVar52;\n        auVar39._0_8_ = auVar2._8_8_;\n        auVar4._8_8_ = 0;\n        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar22._8_8_ = 0;\n        auVar22._0_8_ = uVar48;\n        plVar1[uVar57] = auVar2._0_8_;\n        auVar2 = auVar4 * auVar22 + auVar39;\n      }\n      plVar1[-2] = auVar2._0_8_;\n      auVar46 = auVar6 * auVar24 + auVar46;\n      plVar1[-1] = auVar46._0_8_;\n      plVar1[1] = 0;\n      *plVar1 = auVar46._8_8_;\n      if (param_5 != 1) {\n                    /* WARNING: Could not recover jumptable at 0x00134ae0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);\n        return;\n      }\n    }" else (compound_statement "{\n      uVar48 = *param_4;\n      auVar2._8_8_ = 0;\n      auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8);\n      auVar20._8_8_ = 0;\n      auVar20._0_8_ = uVar48;\n      auVar2 = auVar2 * auVar20;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      uVar52 = (ulong)uVar51;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134a72;\n      }\n      if (uVar51 < 2) {\n        uVar57 = uVar57 + 4;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        goto LAB_00134a5f;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        uVar52 = uVar57;\n        goto LAB_00134aa7;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar45._8_8_ = 0;\n        auVar45._0_8_ = auVar2._8_8_;\n        auVar5._8_8_ = 0;\n        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar23._8_8_ = 0;\n        auVar23._0_8_ = uVar48;\n        plVar1[uVar57 + 1] = auVar2._0_8_;\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        auVar2 = auVar5 * auVar23 + auVar45;\n        uVar52 = uVar57;\nLAB_00134aa7:\n        auVar46._8_8_ = 0;\n        auVar46._0_8_ = auVar2._8_8_;\n        auVar40._8_8_ = 0;\n        auVar40._0_8_ = auVar2._8_8_;\n        auVar6._8_8_ = 0;\n        auVar6._0_8_ = uVar56;\n        auVar24._8_8_ = 0;\n        auVar24._0_8_ = uVar48;\n        uVar57 = uVar52 + 4;\n        if (-1 < (long)uVar57) break;\n        plVar1[uVar52 + 2] = auVar2._0_8_;\n        auVar2 = auVar6 * auVar24 + auVar40;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\nLAB_00134a5f:\n        auVar38._8_8_ = 0;\n        auVar38._0_8_ = auVar2._8_8_;\n        uVar52 = 0;\n        auVar3._8_8_ = 0;\n        auVar3._0_8_ = uVar56;\n        auVar21._8_8_ = 0;\n        auVar21._0_8_ = uVar48;\n        plVar1[uVar57 - 1] = auVar2._0_8_;\n        auVar2 = auVar3 * auVar21 + auVar38;\nLAB_00134a72:\n        auVar39._8_8_ = uVar52;\n        auVar39._0_8_ = auVar2._8_8_;\n        auVar4._8_8_ = 0;\n        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar22._8_8_ = 0;\n        auVar22._0_8_ = uVar48;\n        plVar1[uVar57] = auVar2._0_8_;\n        auVar2 = auVar4 * auVar22 + auVar39;\n      }\n      plVar1[-2] = auVar2._0_8_;\n      auVar46 = auVar6 * auVar24 + auVar46;\n      plVar1[-1] = auVar46._0_8_;\n      plVar1[1] = 0;\n      *plVar1 = auVar46._8_8_;\n      if (param_5 != 1) {\n                    /* WARNING: Could not recover jumptable at 0x00134ae0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);\n        return;\n      }\n    }" { (expression_statement "uVar48 = *param_4;" (assignment_expression "uVar48 = *param_4" identifier = (pointer_expression "*param_4" * identifier)) ;) (expression_statement "auVar2._8_8_ = 0;" (assignment_expression "auVar2._8_8_ = 0" (field_expression "auVar2._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8);" (assignment_expression "auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8)" (field_expression "auVar2._0_8_" identifier . field_identifier) = (pointer_expression "*(ulong *)(param_2 + uVar56 * -8)" * (cast_expression "(ulong *)(param_2 + uVar56 * -8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + uVar56 * -8)" ( (binary_expression "param_2 + uVar56 * -8" identifier + (binary_expression "uVar56 * -8" identifier * number_literal)) ))))) ;) (expression_statement "auVar20._8_8_ = 0;" (assignment_expression "auVar20._8_8_ = 0" (field_expression "auVar20._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar20._0_8_ = uVar48;" (assignment_expression "auVar20._0_8_ = uVar48" (field_expression "auVar20._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar2 = auVar2 * auVar20;" (assignment_expression "auVar2 = auVar2 * auVar20" identifier = (binary_expression "auVar2 * auVar20" identifier * identifier)) ;) (expression_statement "uVar57 = -uVar56 & 0xfffffffffffffffc;" (assignment_expression "uVar57 = -uVar56 & 0xfffffffffffffffc" identifier = (binary_expression "-uVar56 & 0xfffffffffffffffc" (unary_expression "-uVar56" - identifier) & number_literal)) ;) (expression_statement "uVar51 = (uint)uVar56 & 3;" (assignment_expression "uVar51 = (uint)uVar56 & 3" identifier = (binary_expression "(uint)uVar56 & 3" (cast_expression "(uint)uVar56" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "uVar52 = (ulong)uVar51;" (assignment_expression "uVar52 = (ulong)uVar51" identifier = (cast_expression "(ulong)uVar51" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134a72;\n      }" if (parenthesized_expression "((uVar56 & 3) == 0)" ( (binary_expression "(uVar56 & 3) == 0" (parenthesized_expression "(uVar56 & 3)" ( (binary_expression "uVar56 & 3" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134a72;\n      }" { (expression_statement "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60" identifier = (cast_expression "(code *)&DAT_00134c60" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00134c60" & identifier))) ;) (goto_statement "goto LAB_00134a72;" goto statement_identifier ;) })) (if_statement "if (uVar51 < 2) {\n        uVar57 = uVar57 + 4;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        goto LAB_00134a5f;\n      }" if (parenthesized_expression "(uVar51 < 2)" ( (binary_expression "uVar51 < 2" identifier < number_literal) )) (compound_statement "{\n        uVar57 = uVar57 + 4;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        goto LAB_00134a5f;\n      }" { (expression_statement "uVar57 = uVar57 + 4;" (assignment_expression "uVar57 = uVar57 + 4" identifier = (binary_expression "uVar57 + 4" identifier + number_literal)) ;) (expression_statement "uVar56 = *(ulong *)(param_2 + uVar57 * 8);" (assignment_expression "uVar56 = *(ulong *)(param_2 + uVar57 * 8)" identifier = (pointer_expression "*(ulong *)(param_2 + uVar57 * 8)" * (cast_expression "(ulong *)(param_2 + uVar57 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + uVar57 * 8)" ( (binary_expression "param_2 + uVar57 * 8" identifier + (binary_expression "uVar57 * 8" identifier * number_literal)) ))))) ;) (expression_statement "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80" identifier = (cast_expression "(code *)&DAT_00134c80" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00134c80" & identifier))) ;) (goto_statement "goto LAB_00134a5f;" goto statement_identifier ;) })) (if_statement "if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        uVar52 = uVar57;\n        goto LAB_00134aa7;\n      }" if (parenthesized_expression "(uVar51 == 2)" ( (binary_expression "uVar51 == 2" identifier == number_literal) )) (compound_statement "{\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        uVar52 = uVar57;\n        goto LAB_00134aa7;\n      }" { (expression_statement "uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);" (assignment_expression "uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8)" identifier = (pointer_expression "*(ulong *)(param_2 + 0x18 + uVar57 * 8)" * (cast_expression "(ulong *)(param_2 + 0x18 + uVar57 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18 + uVar57 * 8)" ( (binary_expression "param_2 + 0x18 + uVar57 * 8" (binary_expression "param_2 + 0x18" identifier + number_literal) + (binary_expression "uVar57 * 8" identifier * number_literal)) ))))) ;) (expression_statement "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0" identifier = (cast_expression "(code *)&DAT_00134ca0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00134ca0" & identifier))) ;) (expression_statement "uVar52 = uVar57;" (assignment_expression "uVar52 = uVar57" identifier = identifier) ;) (goto_statement "goto LAB_00134aa7;" goto statement_identifier ;) })) (expression_statement "UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0" identifier = (cast_expression "(code *)&LAB_00134cc0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&LAB_00134cc0" & identifier))) ;) (while_statement "while( true ) {\n        auVar45._8_8_ = 0;\n        auVar45._0_8_ = auVar2._8_8_;\n        auVar5._8_8_ = 0;\n        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar23._8_8_ = 0;\n        auVar23._0_8_ = uVar48;\n        plVar1[uVar57 + 1] = auVar2._0_8_;\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        auVar2 = auVar5 * auVar23 + auVar45;\n        uVar52 = uVar57;\nLAB_00134aa7:\n        auVar46._8_8_ = 0;\n        auVar46._0_8_ = auVar2._8_8_;\n        auVar40._8_8_ = 0;\n        auVar40._0_8_ = auVar2._8_8_;\n        auVar6._8_8_ = 0;\n        auVar6._0_8_ = uVar56;\n        auVar24._8_8_ = 0;\n        auVar24._0_8_ = uVar48;\n        uVar57 = uVar52 + 4;\n        if (-1 < (long)uVar57) break;\n        plVar1[uVar52 + 2] = auVar2._0_8_;\n        auVar2 = auVar6 * auVar24 + auVar40;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\nLAB_00134a5f:\n        auVar38._8_8_ = 0;\n        auVar38._0_8_ = auVar2._8_8_;\n        uVar52 = 0;\n        auVar3._8_8_ = 0;\n        auVar3._0_8_ = uVar56;\n        auVar21._8_8_ = 0;\n        auVar21._0_8_ = uVar48;\n        plVar1[uVar57 - 1] = auVar2._0_8_;\n        auVar2 = auVar3 * auVar21 + auVar38;\nLAB_00134a72:\n        auVar39._8_8_ = uVar52;\n        auVar39._0_8_ = auVar2._8_8_;\n        auVar4._8_8_ = 0;\n        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar22._8_8_ = 0;\n        auVar22._0_8_ = uVar48;\n        plVar1[uVar57] = auVar2._0_8_;\n        auVar2 = auVar4 * auVar22 + auVar39;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        auVar45._8_8_ = 0;\n        auVar45._0_8_ = auVar2._8_8_;\n        auVar5._8_8_ = 0;\n        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar23._8_8_ = 0;\n        auVar23._0_8_ = uVar48;\n        plVar1[uVar57 + 1] = auVar2._0_8_;\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        auVar2 = auVar5 * auVar23 + auVar45;\n        uVar52 = uVar57;\nLAB_00134aa7:\n        auVar46._8_8_ = 0;\n        auVar46._0_8_ = auVar2._8_8_;\n        auVar40._8_8_ = 0;\n        auVar40._0_8_ = auVar2._8_8_;\n        auVar6._8_8_ = 0;\n        auVar6._0_8_ = uVar56;\n        auVar24._8_8_ = 0;\n        auVar24._0_8_ = uVar48;\n        uVar57 = uVar52 + 4;\n        if (-1 < (long)uVar57) break;\n        plVar1[uVar52 + 2] = auVar2._0_8_;\n        auVar2 = auVar6 * auVar24 + auVar40;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\nLAB_00134a5f:\n        auVar38._8_8_ = 0;\n        auVar38._0_8_ = auVar2._8_8_;\n        uVar52 = 0;\n        auVar3._8_8_ = 0;\n        auVar3._0_8_ = uVar56;\n        auVar21._8_8_ = 0;\n        auVar21._0_8_ = uVar48;\n        plVar1[uVar57 - 1] = auVar2._0_8_;\n        auVar2 = auVar3 * auVar21 + auVar38;\nLAB_00134a72:\n        auVar39._8_8_ = uVar52;\n        auVar39._0_8_ = auVar2._8_8_;\n        auVar4._8_8_ = 0;\n        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar22._8_8_ = 0;\n        auVar22._0_8_ = uVar48;\n        plVar1[uVar57] = auVar2._0_8_;\n        auVar2 = auVar4 * auVar22 + auVar39;\n      }" { (expression_statement "auVar45._8_8_ = 0;" (assignment_expression "auVar45._8_8_ = 0" (field_expression "auVar45._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar45._0_8_ = auVar2._8_8_;" (assignment_expression "auVar45._0_8_ = auVar2._8_8_" (field_expression "auVar45._0_8_" identifier . field_identifier) = (field_expression "auVar2._8_8_" identifier . field_identifier)) ;) (expression_statement "auVar5._8_8_ = 0;" (assignment_expression "auVar5._8_8_ = 0" (field_expression "auVar5._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);" (assignment_expression "auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8)" (field_expression "auVar5._0_8_" identifier . field_identifier) = (pointer_expression "*(ulong *)(param_2 + 0x10 + uVar57 * 8)" * (cast_expression "(ulong *)(param_2 + 0x10 + uVar57 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10 + uVar57 * 8)" ( (binary_expression "param_2 + 0x10 + uVar57 * 8" (binary_expression "param_2 + 0x10" identifier + number_literal) + (binary_expression "uVar57 * 8" identifier * number_literal)) ))))) ;) (expression_statement "auVar23._8_8_ = 0;" (assignment_expression "auVar23._8_8_ = 0" (field_expression "auVar23._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar23._0_8_ = uVar48;" (assignment_expression "auVar23._0_8_ = uVar48" (field_expression "auVar23._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "plVar1[uVar57 + 1] = auVar2._0_8_;" (assignment_expression "plVar1[uVar57 + 1] = auVar2._0_8_" (subscript_expression "plVar1[uVar57 + 1]" identifier [ (binary_expression "uVar57 + 1" identifier + number_literal) ]) = (field_expression "auVar2._0_8_" identifier . field_identifier)) ;) (expression_statement "uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);" (assignment_expression "uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8)" identifier = (pointer_expression "*(ulong *)(param_2 + 0x18 + uVar57 * 8)" * (cast_expression "(ulong *)(param_2 + 0x18 + uVar57 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18 + uVar57 * 8)" ( (binary_expression "param_2 + 0x18 + uVar57 * 8" (binary_expression "param_2 + 0x18" identifier + number_literal) + (binary_expression "uVar57 * 8" identifier * number_literal)) ))))) ;) (expression_statement "auVar2 = auVar5 * auVar23 + auVar45;" (assignment_expression "auVar2 = auVar5 * auVar23 + auVar45" identifier = (binary_expression "auVar5 * auVar23 + auVar45" (binary_expression "auVar5 * auVar23" identifier * identifier) + identifier)) ;) (expression_statement "uVar52 = uVar57;" (assignment_expression "uVar52 = uVar57" identifier = identifier) ;) (labeled_statement "LAB_00134aa7:\n        auVar46._8_8_ = 0;" statement_identifier : (expression_statement "auVar46._8_8_ = 0;" (assignment_expression "auVar46._8_8_ = 0" (field_expression "auVar46._8_8_" identifier . field_identifier) = number_literal) ;)) (expression_statement "auVar46._0_8_ = auVar2._8_8_;" (assignment_expression "auVar46._0_8_ = auVar2._8_8_" (field_expression "auVar46._0_8_" identifier . field_identifier) = (field_expression "auVar2._8_8_" identifier . field_identifier)) ;) (expression_statement "auVar40._8_8_ = 0;" (assignment_expression "auVar40._8_8_ = 0" (field_expression "auVar40._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar40._0_8_ = auVar2._8_8_;" (assignment_expression "auVar40._0_8_ = auVar2._8_8_" (field_expression "auVar40._0_8_" identifier . field_identifier) = (field_expression "auVar2._8_8_" identifier . field_identifier)) ;) (expression_statement "auVar6._8_8_ = 0;" (assignment_expression "auVar6._8_8_ = 0" (field_expression "auVar6._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar6._0_8_ = uVar56;" (assignment_expression "auVar6._0_8_ = uVar56" (field_expression "auVar6._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar24._8_8_ = 0;" (assignment_expression "auVar24._8_8_ = 0" (field_expression "auVar24._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar24._0_8_ = uVar48;" (assignment_expression "auVar24._0_8_ = uVar48" (field_expression "auVar24._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "uVar57 = uVar52 + 4;" (assignment_expression "uVar57 = uVar52 + 4" identifier = (binary_expression "uVar52 + 4" identifier + number_literal)) ;) (if_statement "if (-1 < (long)uVar57) break;" if (parenthesized_expression "(-1 < (long)uVar57)" ( (binary_expression "-1 < (long)uVar57" number_literal < (cast_expression "(long)uVar57" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )) (break_statement "break;" break ;)) (expression_statement "plVar1[uVar52 + 2] = auVar2._0_8_;" (assignment_expression "plVar1[uVar52 + 2] = auVar2._0_8_" (subscript_expression "plVar1[uVar52 + 2]" identifier [ (binary_expression "uVar52 + 2" identifier + number_literal) ]) = (field_expression "auVar2._0_8_" identifier . field_identifier)) ;) (expression_statement "auVar2 = auVar6 * auVar24 + auVar40;" (assignment_expression "auVar2 = auVar6 * auVar24 + auVar40" identifier = (binary_expression "auVar6 * auVar24 + auVar40" (binary_expression "auVar6 * auVar24" identifier * identifier) + identifier)) ;) (expression_statement "uVar56 = *(ulong *)(param_2 + uVar57 * 8);" (assignment_expression "uVar56 = *(ulong *)(param_2 + uVar57 * 8)" identifier = (pointer_expression "*(ulong *)(param_2 + uVar57 * 8)" * (cast_expression "(ulong *)(param_2 + uVar57 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + uVar57 * 8)" ( (binary_expression "param_2 + uVar57 * 8" identifier + (binary_expression "uVar57 * 8" identifier * number_literal)) ))))) ;) (labeled_statement "LAB_00134a5f:\n        auVar38._8_8_ = 0;" statement_identifier : (expression_statement "auVar38._8_8_ = 0;" (assignment_expression "auVar38._8_8_ = 0" (field_expression "auVar38._8_8_" identifier . field_identifier) = number_literal) ;)) (expression_statement "auVar38._0_8_ = auVar2._8_8_;" (assignment_expression "auVar38._0_8_ = auVar2._8_8_" (field_expression "auVar38._0_8_" identifier . field_identifier) = (field_expression "auVar2._8_8_" identifier . field_identifier)) ;) (expression_statement "uVar52 = 0;" (assignment_expression "uVar52 = 0" identifier = number_literal) ;) (expression_statement "auVar3._8_8_ = 0;" (assignment_expression "auVar3._8_8_ = 0" (field_expression "auVar3._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar3._0_8_ = uVar56;" (assignment_expression "auVar3._0_8_ = uVar56" (field_expression "auVar3._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar21._8_8_ = 0;" (assignment_expression "auVar21._8_8_ = 0" (field_expression "auVar21._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar21._0_8_ = uVar48;" (assignment_expression "auVar21._0_8_ = uVar48" (field_expression "auVar21._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "plVar1[uVar57 - 1] = auVar2._0_8_;" (assignment_expression "plVar1[uVar57 - 1] = auVar2._0_8_" (subscript_expression "plVar1[uVar57 - 1]" identifier [ (binary_expression "uVar57 - 1" identifier - number_literal) ]) = (field_expression "auVar2._0_8_" identifier . field_identifier)) ;) (expression_statement "auVar2 = auVar3 * auVar21 + auVar38;" (assignment_expression "auVar2 = auVar3 * auVar21 + auVar38" identifier = (binary_expression "auVar3 * auVar21 + auVar38" (binary_expression "auVar3 * auVar21" identifier * identifier) + identifier)) ;) (labeled_statement "LAB_00134a72:\n        auVar39._8_8_ = uVar52;" statement_identifier : (expression_statement "auVar39._8_8_ = uVar52;" (assignment_expression "auVar39._8_8_ = uVar52" (field_expression "auVar39._8_8_" identifier . field_identifier) = identifier) ;)) (expression_statement "auVar39._0_8_ = auVar2._8_8_;" (assignment_expression "auVar39._0_8_ = auVar2._8_8_" (field_expression "auVar39._0_8_" identifier . field_identifier) = (field_expression "auVar2._8_8_" identifier . field_identifier)) ;) (expression_statement "auVar4._8_8_ = 0;" (assignment_expression "auVar4._8_8_ = 0" (field_expression "auVar4._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);" (assignment_expression "auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8)" (field_expression "auVar4._0_8_" identifier . field_identifier) = (pointer_expression "*(ulong *)(param_2 + 8 + uVar57 * 8)" * (cast_expression "(ulong *)(param_2 + 8 + uVar57 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8 + uVar57 * 8)" ( (binary_expression "param_2 + 8 + uVar57 * 8" (binary_expression "param_2 + 8" identifier + number_literal) + (binary_expression "uVar57 * 8" identifier * number_literal)) ))))) ;) (expression_statement "auVar22._8_8_ = 0;" (assignment_expression "auVar22._8_8_ = 0" (field_expression "auVar22._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar22._0_8_ = uVar48;" (assignment_expression "auVar22._0_8_ = uVar48" (field_expression "auVar22._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "plVar1[uVar57] = auVar2._0_8_;" (assignment_expression "plVar1[uVar57] = auVar2._0_8_" (subscript_expression "plVar1[uVar57]" identifier [ identifier ]) = (field_expression "auVar2._0_8_" identifier . field_identifier)) ;) (expression_statement "auVar2 = auVar4 * auVar22 + auVar39;" (assignment_expression "auVar2 = auVar4 * auVar22 + auVar39" identifier = (binary_expression "auVar4 * auVar22 + auVar39" (binary_expression "auVar4 * auVar22" identifier * identifier) + identifier)) ;) })) (expression_statement "plVar1[-2] = auVar2._0_8_;" (assignment_expression "plVar1[-2] = auVar2._0_8_" (subscript_expression "plVar1[-2]" identifier [ number_literal ]) = (field_expression "auVar2._0_8_" identifier . field_identifier)) ;) (expression_statement "auVar46 = auVar6 * auVar24 + auVar46;" (assignment_expression "auVar46 = auVar6 * auVar24 + auVar46" identifier = (binary_expression "auVar6 * auVar24 + auVar46" (binary_expression "auVar6 * auVar24" identifier * identifier) + identifier)) ;) (expression_statement "plVar1[-1] = auVar46._0_8_;" (assignment_expression "plVar1[-1] = auVar46._0_8_" (subscript_expression "plVar1[-1]" identifier [ number_literal ]) = (field_expression "auVar46._0_8_" identifier . field_identifier)) ;) (expression_statement "plVar1[1] = 0;" (assignment_expression "plVar1[1] = 0" (subscript_expression "plVar1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*plVar1 = auVar46._8_8_;" (assignment_expression "*plVar1 = auVar46._8_8_" (pointer_expression "*plVar1" * identifier) = (field_expression "auVar46._8_8_" identifier . field_identifier)) ;) (if_statement "if (param_5 != 1) {\n                    /* WARNING: Could not recover jumptable at 0x00134ae0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);\n        return;\n      }" if (parenthesized_expression "(param_5 != 1)" ( (binary_expression "param_5 != 1" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x00134ae0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);\n        return;\n      }" { comment comment (expression_statement "(*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);" (call_expression "(*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "(plVar1,param_2 + -8)" ( identifier , (binary_expression "param_2 + -8" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) }))) }))) (return_statement "return;" return ;) })))
(translation_unit "void __gmpn_mulmid_basecase(long param_1,long param_2,long param_3,ulong *param_4,ulong param_5)\n\n{\n  long *plVar1;\n  undefined1 auVar2 [16];\n  undefined1 auVar3 [16];\n  undefined1 auVar4 [16];\n  undefined1 auVar5 [16];\n  undefined1 auVar6 [16];\n  undefined1 auVar7 [16];\n  undefined1 auVar8 [16];\n  undefined1 auVar9 [16];\n  undefined1 auVar10 [16];\n  undefined1 auVar11 [16];\n  undefined1 auVar12 [16];\n  undefined1 auVar13 [16];\n  undefined1 auVar14 [16];\n  undefined1 auVar15 [16];\n  undefined1 auVar16 [16];\n  undefined1 auVar17 [16];\n  undefined1 auVar18 [16];\n  undefined1 auVar19 [16];\n  undefined1 auVar20 [16];\n  undefined1 auVar21 [16];\n  undefined1 auVar22 [16];\n  undefined1 auVar23 [16];\n  undefined1 auVar24 [16];\n  undefined1 auVar25 [16];\n  undefined1 auVar26 [16];\n  undefined1 auVar27 [16];\n  undefined1 auVar28 [16];\n  undefined1 auVar29 [16];\n  undefined1 auVar30 [16];\n  undefined1 auVar31 [16];\n  undefined1 auVar32 [16];\n  undefined1 auVar33 [16];\n  undefined1 auVar34 [16];\n  undefined1 auVar35 [16];\n  undefined1 auVar36 [16];\n  undefined1 auVar37 [16];\n  undefined1 auVar38 [16];\n  undefined1 auVar39 [16];\n  undefined1 auVar40 [16];\n  undefined1 auVar41 [16];\n  undefined1 auVar42 [16];\n  undefined1 auVar43 [16];\n  undefined1 auVar44 [16];\n  undefined1 auVar45 [16];\n  undefined1 auVar46 [16];\n  ulong uVar47;\n  ulong uVar48;\n  ulong uVar49;\n  ulong uVar50;\n  uint uVar51;\n  ulong uVar52;\n  ulong uVar53;\n  long lVar54;\n  ulong *puVar55;\n  ulong uVar56;\n  ulong uVar57;\n  code *UNRECOVERED_JUMPTABLE;\n  bool bVar58;\n  bool bVar59;\n  \n  uVar56 = (param_3 + 1) - param_5;\n  plVar1 = (long *)(param_1 + uVar56 * 8);\n  if (uVar56 < 4) {\n    uVar52 = 0;\n    uVar48 = 0;\n    lVar54 = 0;\n    uVar51 = (uint)param_5 & 3;\n    if ((param_5 & 3) == 0) {\n      UNRECOVERED_JUMPTABLE = (code *)0x134e0c;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      puVar55 = param_4;\n      goto LAB_00134e5f;\n    }\n    if (uVar51 < 2) {\n      puVar55 = param_4 + 1;\n      param_5 = param_5 + 3;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e28;\n      uVar57 = *param_4;\n      goto LAB_00134e9a;\n    }\n    if (uVar51 == 2) {\n      puVar55 = param_4 + -2;\n      param_5 = param_5 + 2;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e43;\n      uVar57 = *param_4;\n      goto LAB_00134e83;\n    }\n    puVar55 = param_4 + -1;\n    param_5 = param_5 + 1;\n    UNRECOVERED_JUMPTABLE = (code *)0x134e6c;\n    while( true ) {\n      auVar17._8_8_ = 0;\n      auVar17._0_8_ = *(ulong *)(param_2 + -0x10 + param_5 * 8);\n      auVar35._8_8_ = 0;\n      auVar35._0_8_ = puVar55[1];\n      uVar47 = SUB168(auVar17 * auVar35,8);\n      uVar57 = SUB168(auVar17 * auVar35,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[2];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e83:\n      auVar18._8_8_ = 0;\n      auVar18._0_8_ = uVar57;\n      auVar36._8_8_ = 0;\n      auVar36._0_8_ = *(ulong *)(param_2 + -0x18 + param_5 * 8);\n      uVar47 = SUB168(auVar18 * auVar36,8);\n      uVar57 = SUB168(auVar18 * auVar36,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[3];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      puVar55 = puVar55 + 4;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e9a:\n      auVar19._8_8_ = 0;\n      auVar19._0_8_ = uVar57;\n      auVar37._8_8_ = 0;\n      auVar37._0_8_ = *(ulong *)(param_2 + -0x20 + param_5 * 8);\n      uVar50 = SUB168(auVar19 * auVar37,8);\n      uVar57 = SUB168(auVar19 * auVar37,0);\n      param_5 = param_5 - 4;\n      if (param_5 == 0) break;\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      bVar59 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + bVar58;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      lVar54 = lVar54 + (ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58));\nLAB_00134e5f:\n      auVar16._8_8_ = 0;\n      auVar16._0_8_ = uVar57;\n      auVar34._8_8_ = 0;\n      auVar34._0_8_ = *puVar55;\n      uVar50 = SUB168(auVar16 * auVar34,8);\n      uVar57 = SUB168(auVar16 * auVar34,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + uVar57;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar50,uVar57));\n    }\n    lVar54 = lVar54 + (ulong)(CARRY8(uVar48,uVar50) ||\n                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57)));\n    plVar1[-uVar56] = uVar52 + uVar57;\n    if (uVar56 != 1) {\n                    \n                    \n      (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + 8,uVar50,lVar54);\n      return;\n    }\n    *plVar1 = uVar48 + uVar50 + (ulong)CARRY8(uVar52,uVar57);\n    plVar1[1] = lVar54;\n  }\n  else {\n    param_2 = param_2 + param_3 * 8;\n    if ((param_5 & 1) == 0) {\n      uVar48 = *param_4;\n      uVar52 = param_4[1];\n      auVar7._8_8_ = 0;\n      auVar7._0_8_ = *(ulong *)(param_2 + -8 + uVar56 * -8);\n      auVar25._8_8_ = 0;\n      auVar25._0_8_ = uVar52;\n      auVar7 = auVar7 * auVar25;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134b8e;\n      }\n      if (uVar51 < 2) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        uVar56 = uVar57;\n        goto LAB_00134c0d;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        goto LAB_00134be9;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar11._8_8_ = 0;\n        auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar29._8_8_ = 0;\n        auVar29._0_8_ = uVar48;\n        uVar49 = SUB168(auVar11 * auVar29,8);\n        uVar47 = SUB168(auVar11 * auVar29,0);\n        uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar43._0_8_ = uVar50 + uVar56;\n        auVar43._9_7_ = 0;\n        uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;\n        auVar12._8_8_ = 0;\n        auVar12._0_8_ = uVar56;\n        auVar30._8_8_ = 0;\n        auVar30._0_8_ = uVar52;\n        auVar7 = auVar12 * auVar30 + auVar43;\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\nLAB_00134be9:\n        uVar53 = auVar7._0_8_;\n        auVar13._8_8_ = 0;\n        auVar13._0_8_ = uVar56;\n        auVar31._8_8_ = 0;\n        auVar31._0_8_ = uVar48;\n        uVar49 = SUB168(auVar13 * auVar31,8);\n        uVar47 = SUB168(auVar13 * auVar31,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar44._0_8_ = uVar50 + uVar56;\n        auVar44._9_7_ = 0;\n        auVar14._8_8_ = 0;\n        auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar32._8_8_ = 0;\n        auVar32._0_8_ = uVar52;\n        auVar7 = auVar14 * auVar32 + auVar44;\n        plVar1[uVar57 + 2] = uVar53 + uVar47;\n        uVar56 = uVar57;\nLAB_00134c0d:\n        auVar15._8_8_ = 0;\n        auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);\n        auVar33._8_8_ = 0;\n        auVar33._0_8_ = uVar48;\n        uVar49 = SUB168(auVar15 * auVar33,8);\n        uVar47 = SUB168(auVar15 * auVar33,0);\n        uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);\n        lVar54 = uVar50 + uVar57;\n        auVar41[8] = bVar58;\n        auVar41._0_8_ = lVar54;\n        auVar41._9_7_ = 0;\n        uVar57 = uVar56 + 4;\n        plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;\n        if (uVar57 == 0) break;\n        auVar8._8_8_ = 0;\n        auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);\n        auVar26._8_8_ = 0;\n        auVar26._0_8_ = uVar52;\n        auVar7 = auVar8 * auVar26 + auVar41;\nLAB_00134b8e:\n        uVar53 = auVar7._0_8_;\n        auVar9._8_8_ = 0;\n        auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar27._8_8_ = 0;\n        auVar27._0_8_ = uVar48;\n        uVar49 = SUB168(auVar9 * auVar27,8);\n        uVar47 = SUB168(auVar9 * auVar27,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar42._0_8_ = uVar50 + uVar56;\n        auVar42._9_7_ = 0;\n        auVar10._8_8_ = 0;\n        auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar28._8_8_ = 0;\n        auVar28._0_8_ = uVar52;\n        auVar7 = auVar10 * auVar28 + auVar42;\n        plVar1[uVar57] = uVar53 + uVar47;\n      }\n      *plVar1 = lVar54;\n      plVar1[1] = (ulong)bVar58;\n      if (param_5 != 2) {\n                    \n                    \n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);\n        return;\n      }\n    }\n    else {\n      uVar48 = *param_4;\n      auVar2._8_8_ = 0;\n      auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8);\n      auVar20._8_8_ = 0;\n      auVar20._0_8_ = uVar48;\n      auVar2 = auVar2 * auVar20;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      uVar52 = (ulong)uVar51;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134a72;\n      }\n      if (uVar51 < 2) {\n        uVar57 = uVar57 + 4;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        goto LAB_00134a5f;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        uVar52 = uVar57;\n        goto LAB_00134aa7;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar45._8_8_ = 0;\n        auVar45._0_8_ = auVar2._8_8_;\n        auVar5._8_8_ = 0;\n        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar23._8_8_ = 0;\n        auVar23._0_8_ = uVar48;\n        plVar1[uVar57 + 1] = auVar2._0_8_;\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        auVar2 = auVar5 * auVar23 + auVar45;\n        uVar52 = uVar57;\nLAB_00134aa7:\n        auVar46._8_8_ = 0;\n        auVar46._0_8_ = auVar2._8_8_;\n        auVar40._8_8_ = 0;\n        auVar40._0_8_ = auVar2._8_8_;\n        auVar6._8_8_ = 0;\n        auVar6._0_8_ = uVar56;\n        auVar24._8_8_ = 0;\n        auVar24._0_8_ = uVar48;\n        uVar57 = uVar52 + 4;\n        if (-1 < (long)uVar57) break;\n        plVar1[uVar52 + 2] = auVar2._0_8_;\n        auVar2 = auVar6 * auVar24 + auVar40;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\nLAB_00134a5f:\n        auVar38._8_8_ = 0;\n        auVar38._0_8_ = auVar2._8_8_;\n        uVar52 = 0;\n        auVar3._8_8_ = 0;\n        auVar3._0_8_ = uVar56;\n        auVar21._8_8_ = 0;\n        auVar21._0_8_ = uVar48;\n        plVar1[uVar57 - 1] = auVar2._0_8_;\n        auVar2 = auVar3 * auVar21 + auVar38;\nLAB_00134a72:\n        auVar39._8_8_ = uVar52;\n        auVar39._0_8_ = auVar2._8_8_;\n        auVar4._8_8_ = 0;\n        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar22._8_8_ = 0;\n        auVar22._0_8_ = uVar48;\n        plVar1[uVar57] = auVar2._0_8_;\n        auVar2 = auVar4 * auVar22 + auVar39;\n      }\n      plVar1[-2] = auVar2._0_8_;\n      auVar46 = auVar6 * auVar24 + auVar46;\n      plVar1[-1] = auVar46._0_8_;\n      plVar1[1] = 0;\n      *plVar1 = auVar46._8_8_;\n      if (param_5 != 1) {\n                    \n                    \n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);\n        return;\n      }\n    }\n  }\n  return;\n}\n\n" (function_definition "void __gmpn_mulmid_basecase(long param_1,long param_2,long param_3,ulong *param_4,ulong param_5)\n\n{\n  long *plVar1;\n  undefined1 auVar2 [16];\n  undefined1 auVar3 [16];\n  undefined1 auVar4 [16];\n  undefined1 auVar5 [16];\n  undefined1 auVar6 [16];\n  undefined1 auVar7 [16];\n  undefined1 auVar8 [16];\n  undefined1 auVar9 [16];\n  undefined1 auVar10 [16];\n  undefined1 auVar11 [16];\n  undefined1 auVar12 [16];\n  undefined1 auVar13 [16];\n  undefined1 auVar14 [16];\n  undefined1 auVar15 [16];\n  undefined1 auVar16 [16];\n  undefined1 auVar17 [16];\n  undefined1 auVar18 [16];\n  undefined1 auVar19 [16];\n  undefined1 auVar20 [16];\n  undefined1 auVar21 [16];\n  undefined1 auVar22 [16];\n  undefined1 auVar23 [16];\n  undefined1 auVar24 [16];\n  undefined1 auVar25 [16];\n  undefined1 auVar26 [16];\n  undefined1 auVar27 [16];\n  undefined1 auVar28 [16];\n  undefined1 auVar29 [16];\n  undefined1 auVar30 [16];\n  undefined1 auVar31 [16];\n  undefined1 auVar32 [16];\n  undefined1 auVar33 [16];\n  undefined1 auVar34 [16];\n  undefined1 auVar35 [16];\n  undefined1 auVar36 [16];\n  undefined1 auVar37 [16];\n  undefined1 auVar38 [16];\n  undefined1 auVar39 [16];\n  undefined1 auVar40 [16];\n  undefined1 auVar41 [16];\n  undefined1 auVar42 [16];\n  undefined1 auVar43 [16];\n  undefined1 auVar44 [16];\n  undefined1 auVar45 [16];\n  undefined1 auVar46 [16];\n  ulong uVar47;\n  ulong uVar48;\n  ulong uVar49;\n  ulong uVar50;\n  uint uVar51;\n  ulong uVar52;\n  ulong uVar53;\n  long lVar54;\n  ulong *puVar55;\n  ulong uVar56;\n  ulong uVar57;\n  code *UNRECOVERED_JUMPTABLE;\n  bool bVar58;\n  bool bVar59;\n  \n  uVar56 = (param_3 + 1) - param_5;\n  plVar1 = (long *)(param_1 + uVar56 * 8);\n  if (uVar56 < 4) {\n    uVar52 = 0;\n    uVar48 = 0;\n    lVar54 = 0;\n    uVar51 = (uint)param_5 & 3;\n    if ((param_5 & 3) == 0) {\n      UNRECOVERED_JUMPTABLE = (code *)0x134e0c;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      puVar55 = param_4;\n      goto LAB_00134e5f;\n    }\n    if (uVar51 < 2) {\n      puVar55 = param_4 + 1;\n      param_5 = param_5 + 3;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e28;\n      uVar57 = *param_4;\n      goto LAB_00134e9a;\n    }\n    if (uVar51 == 2) {\n      puVar55 = param_4 + -2;\n      param_5 = param_5 + 2;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e43;\n      uVar57 = *param_4;\n      goto LAB_00134e83;\n    }\n    puVar55 = param_4 + -1;\n    param_5 = param_5 + 1;\n    UNRECOVERED_JUMPTABLE = (code *)0x134e6c;\n    while( true ) {\n      auVar17._8_8_ = 0;\n      auVar17._0_8_ = *(ulong *)(param_2 + -0x10 + param_5 * 8);\n      auVar35._8_8_ = 0;\n      auVar35._0_8_ = puVar55[1];\n      uVar47 = SUB168(auVar17 * auVar35,8);\n      uVar57 = SUB168(auVar17 * auVar35,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[2];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e83:\n      auVar18._8_8_ = 0;\n      auVar18._0_8_ = uVar57;\n      auVar36._8_8_ = 0;\n      auVar36._0_8_ = *(ulong *)(param_2 + -0x18 + param_5 * 8);\n      uVar47 = SUB168(auVar18 * auVar36,8);\n      uVar57 = SUB168(auVar18 * auVar36,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[3];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      puVar55 = puVar55 + 4;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e9a:\n      auVar19._8_8_ = 0;\n      auVar19._0_8_ = uVar57;\n      auVar37._8_8_ = 0;\n      auVar37._0_8_ = *(ulong *)(param_2 + -0x20 + param_5 * 8);\n      uVar50 = SUB168(auVar19 * auVar37,8);\n      uVar57 = SUB168(auVar19 * auVar37,0);\n      param_5 = param_5 - 4;\n      if (param_5 == 0) break;\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      bVar59 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + bVar58;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      lVar54 = lVar54 + (ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58));\nLAB_00134e5f:\n      auVar16._8_8_ = 0;\n      auVar16._0_8_ = uVar57;\n      auVar34._8_8_ = 0;\n      auVar34._0_8_ = *puVar55;\n      uVar50 = SUB168(auVar16 * auVar34,8);\n      uVar57 = SUB168(auVar16 * auVar34,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + uVar57;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar50,uVar57));\n    }\n    lVar54 = lVar54 + (ulong)(CARRY8(uVar48,uVar50) ||\n                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57)));\n    plVar1[-uVar56] = uVar52 + uVar57;\n    if (uVar56 != 1) {\n                    \n                    \n      (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + 8,uVar50,lVar54);\n      return;\n    }\n    *plVar1 = uVar48 + uVar50 + (ulong)CARRY8(uVar52,uVar57);\n    plVar1[1] = lVar54;\n  }\n  else {\n    param_2 = param_2 + param_3 * 8;\n    if ((param_5 & 1) == 0) {\n      uVar48 = *param_4;\n      uVar52 = param_4[1];\n      auVar7._8_8_ = 0;\n      auVar7._0_8_ = *(ulong *)(param_2 + -8 + uVar56 * -8);\n      auVar25._8_8_ = 0;\n      auVar25._0_8_ = uVar52;\n      auVar7 = auVar7 * auVar25;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134b8e;\n      }\n      if (uVar51 < 2) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        uVar56 = uVar57;\n        goto LAB_00134c0d;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        goto LAB_00134be9;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar11._8_8_ = 0;\n        auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar29._8_8_ = 0;\n        auVar29._0_8_ = uVar48;\n        uVar49 = SUB168(auVar11 * auVar29,8);\n        uVar47 = SUB168(auVar11 * auVar29,0);\n        uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar43._0_8_ = uVar50 + uVar56;\n        auVar43._9_7_ = 0;\n        uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;\n        auVar12._8_8_ = 0;\n        auVar12._0_8_ = uVar56;\n        auVar30._8_8_ = 0;\n        auVar30._0_8_ = uVar52;\n        auVar7 = auVar12 * auVar30 + auVar43;\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\nLAB_00134be9:\n        uVar53 = auVar7._0_8_;\n        auVar13._8_8_ = 0;\n        auVar13._0_8_ = uVar56;\n        auVar31._8_8_ = 0;\n        auVar31._0_8_ = uVar48;\n        uVar49 = SUB168(auVar13 * auVar31,8);\n        uVar47 = SUB168(auVar13 * auVar31,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar44._0_8_ = uVar50 + uVar56;\n        auVar44._9_7_ = 0;\n        auVar14._8_8_ = 0;\n        auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar32._8_8_ = 0;\n        auVar32._0_8_ = uVar52;\n        auVar7 = auVar14 * auVar32 + auVar44;\n        plVar1[uVar57 + 2] = uVar53 + uVar47;\n        uVar56 = uVar57;\nLAB_00134c0d:\n        auVar15._8_8_ = 0;\n        auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);\n        auVar33._8_8_ = 0;\n        auVar33._0_8_ = uVar48;\n        uVar49 = SUB168(auVar15 * auVar33,8);\n        uVar47 = SUB168(auVar15 * auVar33,0);\n        uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);\n        lVar54 = uVar50 + uVar57;\n        auVar41[8] = bVar58;\n        auVar41._0_8_ = lVar54;\n        auVar41._9_7_ = 0;\n        uVar57 = uVar56 + 4;\n        plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;\n        if (uVar57 == 0) break;\n        auVar8._8_8_ = 0;\n        auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);\n        auVar26._8_8_ = 0;\n        auVar26._0_8_ = uVar52;\n        auVar7 = auVar8 * auVar26 + auVar41;\nLAB_00134b8e:\n        uVar53 = auVar7._0_8_;\n        auVar9._8_8_ = 0;\n        auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar27._8_8_ = 0;\n        auVar27._0_8_ = uVar48;\n        uVar49 = SUB168(auVar9 * auVar27,8);\n        uVar47 = SUB168(auVar9 * auVar27,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar42._0_8_ = uVar50 + uVar56;\n        auVar42._9_7_ = 0;\n        auVar10._8_8_ = 0;\n        auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar28._8_8_ = 0;\n        auVar28._0_8_ = uVar52;\n        auVar7 = auVar10 * auVar28 + auVar42;\n        plVar1[uVar57] = uVar53 + uVar47;\n      }\n      *plVar1 = lVar54;\n      plVar1[1] = (ulong)bVar58;\n      if (param_5 != 2) {\n                    \n                    \n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);\n        return;\n      }\n    }\n    else {\n      uVar48 = *param_4;\n      auVar2._8_8_ = 0;\n      auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8);\n      auVar20._8_8_ = 0;\n      auVar20._0_8_ = uVar48;\n      auVar2 = auVar2 * auVar20;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      uVar52 = (ulong)uVar51;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134a72;\n      }\n      if (uVar51 < 2) {\n        uVar57 = uVar57 + 4;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        goto LAB_00134a5f;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        uVar52 = uVar57;\n        goto LAB_00134aa7;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar45._8_8_ = 0;\n        auVar45._0_8_ = auVar2._8_8_;\n        auVar5._8_8_ = 0;\n        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar23._8_8_ = 0;\n        auVar23._0_8_ = uVar48;\n        plVar1[uVar57 + 1] = auVar2._0_8_;\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        auVar2 = auVar5 * auVar23 + auVar45;\n        uVar52 = uVar57;\nLAB_00134aa7:\n        auVar46._8_8_ = 0;\n        auVar46._0_8_ = auVar2._8_8_;\n        auVar40._8_8_ = 0;\n        auVar40._0_8_ = auVar2._8_8_;\n        auVar6._8_8_ = 0;\n        auVar6._0_8_ = uVar56;\n        auVar24._8_8_ = 0;\n        auVar24._0_8_ = uVar48;\n        uVar57 = uVar52 + 4;\n        if (-1 < (long)uVar57) break;\n        plVar1[uVar52 + 2] = auVar2._0_8_;\n        auVar2 = auVar6 * auVar24 + auVar40;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\nLAB_00134a5f:\n        auVar38._8_8_ = 0;\n        auVar38._0_8_ = auVar2._8_8_;\n        uVar52 = 0;\n        auVar3._8_8_ = 0;\n        auVar3._0_8_ = uVar56;\n        auVar21._8_8_ = 0;\n        auVar21._0_8_ = uVar48;\n        plVar1[uVar57 - 1] = auVar2._0_8_;\n        auVar2 = auVar3 * auVar21 + auVar38;\nLAB_00134a72:\n        auVar39._8_8_ = uVar52;\n        auVar39._0_8_ = auVar2._8_8_;\n        auVar4._8_8_ = 0;\n        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar22._8_8_ = 0;\n        auVar22._0_8_ = uVar48;\n        plVar1[uVar57] = auVar2._0_8_;\n        auVar2 = auVar4 * auVar22 + auVar39;\n      }\n      plVar1[-2] = auVar2._0_8_;\n      auVar46 = auVar6 * auVar24 + auVar46;\n      plVar1[-1] = auVar46._0_8_;\n      plVar1[1] = 0;\n      *plVar1 = auVar46._8_8_;\n      if (param_5 != 1) {\n                    \n                    \n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);\n        return;\n      }\n    }\n  }\n  return;\n}" primitive_type (function_declarator "__gmpn_mulmid_basecase(long param_1,long param_2,long param_3,ulong *param_4,ulong param_5)" identifier (parameter_list "(long param_1,long param_2,long param_3,ulong *param_4,ulong param_5)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_2" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_3" (sized_type_specifier "long" long) identifier) , (parameter_declaration "ulong *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "ulong param_5" type_identifier identifier) ))) (compound_statement "{\n  long *plVar1;\n  undefined1 auVar2 [16];\n  undefined1 auVar3 [16];\n  undefined1 auVar4 [16];\n  undefined1 auVar5 [16];\n  undefined1 auVar6 [16];\n  undefined1 auVar7 [16];\n  undefined1 auVar8 [16];\n  undefined1 auVar9 [16];\n  undefined1 auVar10 [16];\n  undefined1 auVar11 [16];\n  undefined1 auVar12 [16];\n  undefined1 auVar13 [16];\n  undefined1 auVar14 [16];\n  undefined1 auVar15 [16];\n  undefined1 auVar16 [16];\n  undefined1 auVar17 [16];\n  undefined1 auVar18 [16];\n  undefined1 auVar19 [16];\n  undefined1 auVar20 [16];\n  undefined1 auVar21 [16];\n  undefined1 auVar22 [16];\n  undefined1 auVar23 [16];\n  undefined1 auVar24 [16];\n  undefined1 auVar25 [16];\n  undefined1 auVar26 [16];\n  undefined1 auVar27 [16];\n  undefined1 auVar28 [16];\n  undefined1 auVar29 [16];\n  undefined1 auVar30 [16];\n  undefined1 auVar31 [16];\n  undefined1 auVar32 [16];\n  undefined1 auVar33 [16];\n  undefined1 auVar34 [16];\n  undefined1 auVar35 [16];\n  undefined1 auVar36 [16];\n  undefined1 auVar37 [16];\n  undefined1 auVar38 [16];\n  undefined1 auVar39 [16];\n  undefined1 auVar40 [16];\n  undefined1 auVar41 [16];\n  undefined1 auVar42 [16];\n  undefined1 auVar43 [16];\n  undefined1 auVar44 [16];\n  undefined1 auVar45 [16];\n  undefined1 auVar46 [16];\n  ulong uVar47;\n  ulong uVar48;\n  ulong uVar49;\n  ulong uVar50;\n  uint uVar51;\n  ulong uVar52;\n  ulong uVar53;\n  long lVar54;\n  ulong *puVar55;\n  ulong uVar56;\n  ulong uVar57;\n  code *UNRECOVERED_JUMPTABLE;\n  bool bVar58;\n  bool bVar59;\n  \n  uVar56 = (param_3 + 1) - param_5;\n  plVar1 = (long *)(param_1 + uVar56 * 8);\n  if (uVar56 < 4) {\n    uVar52 = 0;\n    uVar48 = 0;\n    lVar54 = 0;\n    uVar51 = (uint)param_5 & 3;\n    if ((param_5 & 3) == 0) {\n      UNRECOVERED_JUMPTABLE = (code *)0x134e0c;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      puVar55 = param_4;\n      goto LAB_00134e5f;\n    }\n    if (uVar51 < 2) {\n      puVar55 = param_4 + 1;\n      param_5 = param_5 + 3;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e28;\n      uVar57 = *param_4;\n      goto LAB_00134e9a;\n    }\n    if (uVar51 == 2) {\n      puVar55 = param_4 + -2;\n      param_5 = param_5 + 2;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e43;\n      uVar57 = *param_4;\n      goto LAB_00134e83;\n    }\n    puVar55 = param_4 + -1;\n    param_5 = param_5 + 1;\n    UNRECOVERED_JUMPTABLE = (code *)0x134e6c;\n    while( true ) {\n      auVar17._8_8_ = 0;\n      auVar17._0_8_ = *(ulong *)(param_2 + -0x10 + param_5 * 8);\n      auVar35._8_8_ = 0;\n      auVar35._0_8_ = puVar55[1];\n      uVar47 = SUB168(auVar17 * auVar35,8);\n      uVar57 = SUB168(auVar17 * auVar35,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[2];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e83:\n      auVar18._8_8_ = 0;\n      auVar18._0_8_ = uVar57;\n      auVar36._8_8_ = 0;\n      auVar36._0_8_ = *(ulong *)(param_2 + -0x18 + param_5 * 8);\n      uVar47 = SUB168(auVar18 * auVar36,8);\n      uVar57 = SUB168(auVar18 * auVar36,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[3];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      puVar55 = puVar55 + 4;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e9a:\n      auVar19._8_8_ = 0;\n      auVar19._0_8_ = uVar57;\n      auVar37._8_8_ = 0;\n      auVar37._0_8_ = *(ulong *)(param_2 + -0x20 + param_5 * 8);\n      uVar50 = SUB168(auVar19 * auVar37,8);\n      uVar57 = SUB168(auVar19 * auVar37,0);\n      param_5 = param_5 - 4;\n      if (param_5 == 0) break;\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      bVar59 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + bVar58;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      lVar54 = lVar54 + (ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58));\nLAB_00134e5f:\n      auVar16._8_8_ = 0;\n      auVar16._0_8_ = uVar57;\n      auVar34._8_8_ = 0;\n      auVar34._0_8_ = *puVar55;\n      uVar50 = SUB168(auVar16 * auVar34,8);\n      uVar57 = SUB168(auVar16 * auVar34,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + uVar57;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar50,uVar57));\n    }\n    lVar54 = lVar54 + (ulong)(CARRY8(uVar48,uVar50) ||\n                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57)));\n    plVar1[-uVar56] = uVar52 + uVar57;\n    if (uVar56 != 1) {\n                    \n                    \n      (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + 8,uVar50,lVar54);\n      return;\n    }\n    *plVar1 = uVar48 + uVar50 + (ulong)CARRY8(uVar52,uVar57);\n    plVar1[1] = lVar54;\n  }\n  else {\n    param_2 = param_2 + param_3 * 8;\n    if ((param_5 & 1) == 0) {\n      uVar48 = *param_4;\n      uVar52 = param_4[1];\n      auVar7._8_8_ = 0;\n      auVar7._0_8_ = *(ulong *)(param_2 + -8 + uVar56 * -8);\n      auVar25._8_8_ = 0;\n      auVar25._0_8_ = uVar52;\n      auVar7 = auVar7 * auVar25;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134b8e;\n      }\n      if (uVar51 < 2) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        uVar56 = uVar57;\n        goto LAB_00134c0d;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        goto LAB_00134be9;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar11._8_8_ = 0;\n        auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar29._8_8_ = 0;\n        auVar29._0_8_ = uVar48;\n        uVar49 = SUB168(auVar11 * auVar29,8);\n        uVar47 = SUB168(auVar11 * auVar29,0);\n        uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar43._0_8_ = uVar50 + uVar56;\n        auVar43._9_7_ = 0;\n        uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;\n        auVar12._8_8_ = 0;\n        auVar12._0_8_ = uVar56;\n        auVar30._8_8_ = 0;\n        auVar30._0_8_ = uVar52;\n        auVar7 = auVar12 * auVar30 + auVar43;\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\nLAB_00134be9:\n        uVar53 = auVar7._0_8_;\n        auVar13._8_8_ = 0;\n        auVar13._0_8_ = uVar56;\n        auVar31._8_8_ = 0;\n        auVar31._0_8_ = uVar48;\n        uVar49 = SUB168(auVar13 * auVar31,8);\n        uVar47 = SUB168(auVar13 * auVar31,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar44._0_8_ = uVar50 + uVar56;\n        auVar44._9_7_ = 0;\n        auVar14._8_8_ = 0;\n        auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar32._8_8_ = 0;\n        auVar32._0_8_ = uVar52;\n        auVar7 = auVar14 * auVar32 + auVar44;\n        plVar1[uVar57 + 2] = uVar53 + uVar47;\n        uVar56 = uVar57;\nLAB_00134c0d:\n        auVar15._8_8_ = 0;\n        auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);\n        auVar33._8_8_ = 0;\n        auVar33._0_8_ = uVar48;\n        uVar49 = SUB168(auVar15 * auVar33,8);\n        uVar47 = SUB168(auVar15 * auVar33,0);\n        uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);\n        lVar54 = uVar50 + uVar57;\n        auVar41[8] = bVar58;\n        auVar41._0_8_ = lVar54;\n        auVar41._9_7_ = 0;\n        uVar57 = uVar56 + 4;\n        plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;\n        if (uVar57 == 0) break;\n        auVar8._8_8_ = 0;\n        auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);\n        auVar26._8_8_ = 0;\n        auVar26._0_8_ = uVar52;\n        auVar7 = auVar8 * auVar26 + auVar41;\nLAB_00134b8e:\n        uVar53 = auVar7._0_8_;\n        auVar9._8_8_ = 0;\n        auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar27._8_8_ = 0;\n        auVar27._0_8_ = uVar48;\n        uVar49 = SUB168(auVar9 * auVar27,8);\n        uVar47 = SUB168(auVar9 * auVar27,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar42._0_8_ = uVar50 + uVar56;\n        auVar42._9_7_ = 0;\n        auVar10._8_8_ = 0;\n        auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar28._8_8_ = 0;\n        auVar28._0_8_ = uVar52;\n        auVar7 = auVar10 * auVar28 + auVar42;\n        plVar1[uVar57] = uVar53 + uVar47;\n      }\n      *plVar1 = lVar54;\n      plVar1[1] = (ulong)bVar58;\n      if (param_5 != 2) {\n                    \n                    \n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);\n        return;\n      }\n    }\n    else {\n      uVar48 = *param_4;\n      auVar2._8_8_ = 0;\n      auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8);\n      auVar20._8_8_ = 0;\n      auVar20._0_8_ = uVar48;\n      auVar2 = auVar2 * auVar20;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      uVar52 = (ulong)uVar51;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134a72;\n      }\n      if (uVar51 < 2) {\n        uVar57 = uVar57 + 4;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        goto LAB_00134a5f;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        uVar52 = uVar57;\n        goto LAB_00134aa7;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar45._8_8_ = 0;\n        auVar45._0_8_ = auVar2._8_8_;\n        auVar5._8_8_ = 0;\n        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar23._8_8_ = 0;\n        auVar23._0_8_ = uVar48;\n        plVar1[uVar57 + 1] = auVar2._0_8_;\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        auVar2 = auVar5 * auVar23 + auVar45;\n        uVar52 = uVar57;\nLAB_00134aa7:\n        auVar46._8_8_ = 0;\n        auVar46._0_8_ = auVar2._8_8_;\n        auVar40._8_8_ = 0;\n        auVar40._0_8_ = auVar2._8_8_;\n        auVar6._8_8_ = 0;\n        auVar6._0_8_ = uVar56;\n        auVar24._8_8_ = 0;\n        auVar24._0_8_ = uVar48;\n        uVar57 = uVar52 + 4;\n        if (-1 < (long)uVar57) break;\n        plVar1[uVar52 + 2] = auVar2._0_8_;\n        auVar2 = auVar6 * auVar24 + auVar40;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\nLAB_00134a5f:\n        auVar38._8_8_ = 0;\n        auVar38._0_8_ = auVar2._8_8_;\n        uVar52 = 0;\n        auVar3._8_8_ = 0;\n        auVar3._0_8_ = uVar56;\n        auVar21._8_8_ = 0;\n        auVar21._0_8_ = uVar48;\n        plVar1[uVar57 - 1] = auVar2._0_8_;\n        auVar2 = auVar3 * auVar21 + auVar38;\nLAB_00134a72:\n        auVar39._8_8_ = uVar52;\n        auVar39._0_8_ = auVar2._8_8_;\n        auVar4._8_8_ = 0;\n        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar22._8_8_ = 0;\n        auVar22._0_8_ = uVar48;\n        plVar1[uVar57] = auVar2._0_8_;\n        auVar2 = auVar4 * auVar22 + auVar39;\n      }\n      plVar1[-2] = auVar2._0_8_;\n      auVar46 = auVar6 * auVar24 + auVar46;\n      plVar1[-1] = auVar46._0_8_;\n      plVar1[1] = 0;\n      *plVar1 = auVar46._8_8_;\n      if (param_5 != 1) {\n                    \n                    \n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);\n        return;\n      }\n    }\n  }\n  return;\n}" { (declaration "long *plVar1;" (sized_type_specifier "long" long) (pointer_declarator "*plVar1" * identifier) ;) (declaration "undefined1 auVar2 [16];" type_identifier (array_declarator "auVar2 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar3 [16];" type_identifier (array_declarator "auVar3 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar4 [16];" type_identifier (array_declarator "auVar4 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar5 [16];" type_identifier (array_declarator "auVar5 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar6 [16];" type_identifier (array_declarator "auVar6 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar7 [16];" type_identifier (array_declarator "auVar7 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar8 [16];" type_identifier (array_declarator "auVar8 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar9 [16];" type_identifier (array_declarator "auVar9 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar10 [16];" type_identifier (array_declarator "auVar10 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar11 [16];" type_identifier (array_declarator "auVar11 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar12 [16];" type_identifier (array_declarator "auVar12 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar13 [16];" type_identifier (array_declarator "auVar13 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar14 [16];" type_identifier (array_declarator "auVar14 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar15 [16];" type_identifier (array_declarator "auVar15 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar16 [16];" type_identifier (array_declarator "auVar16 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar17 [16];" type_identifier (array_declarator "auVar17 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar18 [16];" type_identifier (array_declarator "auVar18 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar19 [16];" type_identifier (array_declarator "auVar19 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar20 [16];" type_identifier (array_declarator "auVar20 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar21 [16];" type_identifier (array_declarator "auVar21 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar22 [16];" type_identifier (array_declarator "auVar22 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar23 [16];" type_identifier (array_declarator "auVar23 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar24 [16];" type_identifier (array_declarator "auVar24 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar25 [16];" type_identifier (array_declarator "auVar25 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar26 [16];" type_identifier (array_declarator "auVar26 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar27 [16];" type_identifier (array_declarator "auVar27 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar28 [16];" type_identifier (array_declarator "auVar28 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar29 [16];" type_identifier (array_declarator "auVar29 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar30 [16];" type_identifier (array_declarator "auVar30 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar31 [16];" type_identifier (array_declarator "auVar31 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar32 [16];" type_identifier (array_declarator "auVar32 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar33 [16];" type_identifier (array_declarator "auVar33 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar34 [16];" type_identifier (array_declarator "auVar34 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar35 [16];" type_identifier (array_declarator "auVar35 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar36 [16];" type_identifier (array_declarator "auVar36 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar37 [16];" type_identifier (array_declarator "auVar37 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar38 [16];" type_identifier (array_declarator "auVar38 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar39 [16];" type_identifier (array_declarator "auVar39 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar40 [16];" type_identifier (array_declarator "auVar40 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar41 [16];" type_identifier (array_declarator "auVar41 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar42 [16];" type_identifier (array_declarator "auVar42 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar43 [16];" type_identifier (array_declarator "auVar43 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar44 [16];" type_identifier (array_declarator "auVar44 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar45 [16];" type_identifier (array_declarator "auVar45 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auVar46 [16];" type_identifier (array_declarator "auVar46 [16]" identifier [ number_literal ]) ;) (declaration "ulong uVar47;" type_identifier identifier ;) (declaration "ulong uVar48;" type_identifier identifier ;) (declaration "ulong uVar49;" type_identifier identifier ;) (declaration "ulong uVar50;" type_identifier identifier ;) (declaration "uint uVar51;" type_identifier identifier ;) (declaration "ulong uVar52;" type_identifier identifier ;) (declaration "ulong uVar53;" type_identifier identifier ;) (declaration "long lVar54;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong *puVar55;" type_identifier (pointer_declarator "*puVar55" * identifier) ;) (declaration "ulong uVar56;" type_identifier identifier ;) (declaration "ulong uVar57;" type_identifier identifier ;) (declaration "code *UNRECOVERED_JUMPTABLE;" type_identifier (pointer_declarator "*UNRECOVERED_JUMPTABLE" * identifier) ;) (declaration "bool bVar58;" primitive_type identifier ;) (declaration "bool bVar59;" primitive_type identifier ;) (expression_statement "uVar56 = (param_3 + 1) - param_5;" (assignment_expression "uVar56 = (param_3 + 1) - param_5" identifier = (binary_expression "(param_3 + 1) - param_5" (parenthesized_expression "(param_3 + 1)" ( (binary_expression "param_3 + 1" identifier + number_literal) )) - identifier)) ;) (expression_statement "plVar1 = (long *)(param_1 + uVar56 * 8);" (assignment_expression "plVar1 = (long *)(param_1 + uVar56 * 8)" identifier = (cast_expression "(long *)(param_1 + uVar56 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + uVar56 * 8)" ( (binary_expression "param_1 + uVar56 * 8" identifier + (binary_expression "uVar56 * 8" identifier * number_literal)) )))) ;) (if_statement "if (uVar56 < 4) {\n    uVar52 = 0;\n    uVar48 = 0;\n    lVar54 = 0;\n    uVar51 = (uint)param_5 & 3;\n    if ((param_5 & 3) == 0) {\n      UNRECOVERED_JUMPTABLE = (code *)0x134e0c;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      puVar55 = param_4;\n      goto LAB_00134e5f;\n    }\n    if (uVar51 < 2) {\n      puVar55 = param_4 + 1;\n      param_5 = param_5 + 3;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e28;\n      uVar57 = *param_4;\n      goto LAB_00134e9a;\n    }\n    if (uVar51 == 2) {\n      puVar55 = param_4 + -2;\n      param_5 = param_5 + 2;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e43;\n      uVar57 = *param_4;\n      goto LAB_00134e83;\n    }\n    puVar55 = param_4 + -1;\n    param_5 = param_5 + 1;\n    UNRECOVERED_JUMPTABLE = (code *)0x134e6c;\n    while( true ) {\n      auVar17._8_8_ = 0;\n      auVar17._0_8_ = *(ulong *)(param_2 + -0x10 + param_5 * 8);\n      auVar35._8_8_ = 0;\n      auVar35._0_8_ = puVar55[1];\n      uVar47 = SUB168(auVar17 * auVar35,8);\n      uVar57 = SUB168(auVar17 * auVar35,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[2];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e83:\n      auVar18._8_8_ = 0;\n      auVar18._0_8_ = uVar57;\n      auVar36._8_8_ = 0;\n      auVar36._0_8_ = *(ulong *)(param_2 + -0x18 + param_5 * 8);\n      uVar47 = SUB168(auVar18 * auVar36,8);\n      uVar57 = SUB168(auVar18 * auVar36,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[3];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      puVar55 = puVar55 + 4;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e9a:\n      auVar19._8_8_ = 0;\n      auVar19._0_8_ = uVar57;\n      auVar37._8_8_ = 0;\n      auVar37._0_8_ = *(ulong *)(param_2 + -0x20 + param_5 * 8);\n      uVar50 = SUB168(auVar19 * auVar37,8);\n      uVar57 = SUB168(auVar19 * auVar37,0);\n      param_5 = param_5 - 4;\n      if (param_5 == 0) break;\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      bVar59 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + bVar58;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      lVar54 = lVar54 + (ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58));\nLAB_00134e5f:\n      auVar16._8_8_ = 0;\n      auVar16._0_8_ = uVar57;\n      auVar34._8_8_ = 0;\n      auVar34._0_8_ = *puVar55;\n      uVar50 = SUB168(auVar16 * auVar34,8);\n      uVar57 = SUB168(auVar16 * auVar34,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + uVar57;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar50,uVar57));\n    }\n    lVar54 = lVar54 + (ulong)(CARRY8(uVar48,uVar50) ||\n                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57)));\n    plVar1[-uVar56] = uVar52 + uVar57;\n    if (uVar56 != 1) {\n                    \n                    \n      (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + 8,uVar50,lVar54);\n      return;\n    }\n    *plVar1 = uVar48 + uVar50 + (ulong)CARRY8(uVar52,uVar57);\n    plVar1[1] = lVar54;\n  }\n  else {\n    param_2 = param_2 + param_3 * 8;\n    if ((param_5 & 1) == 0) {\n      uVar48 = *param_4;\n      uVar52 = param_4[1];\n      auVar7._8_8_ = 0;\n      auVar7._0_8_ = *(ulong *)(param_2 + -8 + uVar56 * -8);\n      auVar25._8_8_ = 0;\n      auVar25._0_8_ = uVar52;\n      auVar7 = auVar7 * auVar25;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134b8e;\n      }\n      if (uVar51 < 2) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        uVar56 = uVar57;\n        goto LAB_00134c0d;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        goto LAB_00134be9;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar11._8_8_ = 0;\n        auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar29._8_8_ = 0;\n        auVar29._0_8_ = uVar48;\n        uVar49 = SUB168(auVar11 * auVar29,8);\n        uVar47 = SUB168(auVar11 * auVar29,0);\n        uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar43._0_8_ = uVar50 + uVar56;\n        auVar43._9_7_ = 0;\n        uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;\n        auVar12._8_8_ = 0;\n        auVar12._0_8_ = uVar56;\n        auVar30._8_8_ = 0;\n        auVar30._0_8_ = uVar52;\n        auVar7 = auVar12 * auVar30 + auVar43;\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\nLAB_00134be9:\n        uVar53 = auVar7._0_8_;\n        auVar13._8_8_ = 0;\n        auVar13._0_8_ = uVar56;\n        auVar31._8_8_ = 0;\n        auVar31._0_8_ = uVar48;\n        uVar49 = SUB168(auVar13 * auVar31,8);\n        uVar47 = SUB168(auVar13 * auVar31,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar44._0_8_ = uVar50 + uVar56;\n        auVar44._9_7_ = 0;\n        auVar14._8_8_ = 0;\n        auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar32._8_8_ = 0;\n        auVar32._0_8_ = uVar52;\n        auVar7 = auVar14 * auVar32 + auVar44;\n        plVar1[uVar57 + 2] = uVar53 + uVar47;\n        uVar56 = uVar57;\nLAB_00134c0d:\n        auVar15._8_8_ = 0;\n        auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);\n        auVar33._8_8_ = 0;\n        auVar33._0_8_ = uVar48;\n        uVar49 = SUB168(auVar15 * auVar33,8);\n        uVar47 = SUB168(auVar15 * auVar33,0);\n        uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);\n        lVar54 = uVar50 + uVar57;\n        auVar41[8] = bVar58;\n        auVar41._0_8_ = lVar54;\n        auVar41._9_7_ = 0;\n        uVar57 = uVar56 + 4;\n        plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;\n        if (uVar57 == 0) break;\n        auVar8._8_8_ = 0;\n        auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);\n        auVar26._8_8_ = 0;\n        auVar26._0_8_ = uVar52;\n        auVar7 = auVar8 * auVar26 + auVar41;\nLAB_00134b8e:\n        uVar53 = auVar7._0_8_;\n        auVar9._8_8_ = 0;\n        auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar27._8_8_ = 0;\n        auVar27._0_8_ = uVar48;\n        uVar49 = SUB168(auVar9 * auVar27,8);\n        uVar47 = SUB168(auVar9 * auVar27,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar42._0_8_ = uVar50 + uVar56;\n        auVar42._9_7_ = 0;\n        auVar10._8_8_ = 0;\n        auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar28._8_8_ = 0;\n        auVar28._0_8_ = uVar52;\n        auVar7 = auVar10 * auVar28 + auVar42;\n        plVar1[uVar57] = uVar53 + uVar47;\n      }\n      *plVar1 = lVar54;\n      plVar1[1] = (ulong)bVar58;\n      if (param_5 != 2) {\n                    \n                    \n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);\n        return;\n      }\n    }\n    else {\n      uVar48 = *param_4;\n      auVar2._8_8_ = 0;\n      auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8);\n      auVar20._8_8_ = 0;\n      auVar20._0_8_ = uVar48;\n      auVar2 = auVar2 * auVar20;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      uVar52 = (ulong)uVar51;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134a72;\n      }\n      if (uVar51 < 2) {\n        uVar57 = uVar57 + 4;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        goto LAB_00134a5f;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        uVar52 = uVar57;\n        goto LAB_00134aa7;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar45._8_8_ = 0;\n        auVar45._0_8_ = auVar2._8_8_;\n        auVar5._8_8_ = 0;\n        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar23._8_8_ = 0;\n        auVar23._0_8_ = uVar48;\n        plVar1[uVar57 + 1] = auVar2._0_8_;\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        auVar2 = auVar5 * auVar23 + auVar45;\n        uVar52 = uVar57;\nLAB_00134aa7:\n        auVar46._8_8_ = 0;\n        auVar46._0_8_ = auVar2._8_8_;\n        auVar40._8_8_ = 0;\n        auVar40._0_8_ = auVar2._8_8_;\n        auVar6._8_8_ = 0;\n        auVar6._0_8_ = uVar56;\n        auVar24._8_8_ = 0;\n        auVar24._0_8_ = uVar48;\n        uVar57 = uVar52 + 4;\n        if (-1 < (long)uVar57) break;\n        plVar1[uVar52 + 2] = auVar2._0_8_;\n        auVar2 = auVar6 * auVar24 + auVar40;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\nLAB_00134a5f:\n        auVar38._8_8_ = 0;\n        auVar38._0_8_ = auVar2._8_8_;\n        uVar52 = 0;\n        auVar3._8_8_ = 0;\n        auVar3._0_8_ = uVar56;\n        auVar21._8_8_ = 0;\n        auVar21._0_8_ = uVar48;\n        plVar1[uVar57 - 1] = auVar2._0_8_;\n        auVar2 = auVar3 * auVar21 + auVar38;\nLAB_00134a72:\n        auVar39._8_8_ = uVar52;\n        auVar39._0_8_ = auVar2._8_8_;\n        auVar4._8_8_ = 0;\n        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar22._8_8_ = 0;\n        auVar22._0_8_ = uVar48;\n        plVar1[uVar57] = auVar2._0_8_;\n        auVar2 = auVar4 * auVar22 + auVar39;\n      }\n      plVar1[-2] = auVar2._0_8_;\n      auVar46 = auVar6 * auVar24 + auVar46;\n      plVar1[-1] = auVar46._0_8_;\n      plVar1[1] = 0;\n      *plVar1 = auVar46._8_8_;\n      if (param_5 != 1) {\n                    \n                    \n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);\n        return;\n      }\n    }\n  }" if (parenthesized_expression "(uVar56 < 4)" ( (binary_expression "uVar56 < 4" identifier < number_literal) )) (compound_statement "{\n    uVar52 = 0;\n    uVar48 = 0;\n    lVar54 = 0;\n    uVar51 = (uint)param_5 & 3;\n    if ((param_5 & 3) == 0) {\n      UNRECOVERED_JUMPTABLE = (code *)0x134e0c;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      puVar55 = param_4;\n      goto LAB_00134e5f;\n    }\n    if (uVar51 < 2) {\n      puVar55 = param_4 + 1;\n      param_5 = param_5 + 3;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e28;\n      uVar57 = *param_4;\n      goto LAB_00134e9a;\n    }\n    if (uVar51 == 2) {\n      puVar55 = param_4 + -2;\n      param_5 = param_5 + 2;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e43;\n      uVar57 = *param_4;\n      goto LAB_00134e83;\n    }\n    puVar55 = param_4 + -1;\n    param_5 = param_5 + 1;\n    UNRECOVERED_JUMPTABLE = (code *)0x134e6c;\n    while( true ) {\n      auVar17._8_8_ = 0;\n      auVar17._0_8_ = *(ulong *)(param_2 + -0x10 + param_5 * 8);\n      auVar35._8_8_ = 0;\n      auVar35._0_8_ = puVar55[1];\n      uVar47 = SUB168(auVar17 * auVar35,8);\n      uVar57 = SUB168(auVar17 * auVar35,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[2];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e83:\n      auVar18._8_8_ = 0;\n      auVar18._0_8_ = uVar57;\n      auVar36._8_8_ = 0;\n      auVar36._0_8_ = *(ulong *)(param_2 + -0x18 + param_5 * 8);\n      uVar47 = SUB168(auVar18 * auVar36,8);\n      uVar57 = SUB168(auVar18 * auVar36,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[3];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      puVar55 = puVar55 + 4;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e9a:\n      auVar19._8_8_ = 0;\n      auVar19._0_8_ = uVar57;\n      auVar37._8_8_ = 0;\n      auVar37._0_8_ = *(ulong *)(param_2 + -0x20 + param_5 * 8);\n      uVar50 = SUB168(auVar19 * auVar37,8);\n      uVar57 = SUB168(auVar19 * auVar37,0);\n      param_5 = param_5 - 4;\n      if (param_5 == 0) break;\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      bVar59 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + bVar58;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      lVar54 = lVar54 + (ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58));\nLAB_00134e5f:\n      auVar16._8_8_ = 0;\n      auVar16._0_8_ = uVar57;\n      auVar34._8_8_ = 0;\n      auVar34._0_8_ = *puVar55;\n      uVar50 = SUB168(auVar16 * auVar34,8);\n      uVar57 = SUB168(auVar16 * auVar34,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + uVar57;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar50,uVar57));\n    }\n    lVar54 = lVar54 + (ulong)(CARRY8(uVar48,uVar50) ||\n                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57)));\n    plVar1[-uVar56] = uVar52 + uVar57;\n    if (uVar56 != 1) {\n                    \n                    \n      (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + 8,uVar50,lVar54);\n      return;\n    }\n    *plVar1 = uVar48 + uVar50 + (ulong)CARRY8(uVar52,uVar57);\n    plVar1[1] = lVar54;\n  }" { (expression_statement "uVar52 = 0;" (assignment_expression "uVar52 = 0" identifier = number_literal) ;) (expression_statement "uVar48 = 0;" (assignment_expression "uVar48 = 0" identifier = number_literal) ;) (expression_statement "lVar54 = 0;" (assignment_expression "lVar54 = 0" identifier = number_literal) ;) (expression_statement "uVar51 = (uint)param_5 & 3;" (assignment_expression "uVar51 = (uint)param_5 & 3" identifier = (binary_expression "(uint)param_5 & 3" (cast_expression "(uint)param_5" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (if_statement "if ((param_5 & 3) == 0) {\n      UNRECOVERED_JUMPTABLE = (code *)0x134e0c;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      puVar55 = param_4;\n      goto LAB_00134e5f;\n    }" if (parenthesized_expression "((param_5 & 3) == 0)" ( (binary_expression "(param_5 & 3) == 0" (parenthesized_expression "(param_5 & 3)" ( (binary_expression "param_5 & 3" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      UNRECOVERED_JUMPTABLE = (code *)0x134e0c;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      puVar55 = param_4;\n      goto LAB_00134e5f;\n    }" { (expression_statement "UNRECOVERED_JUMPTABLE = (code *)0x134e0c;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)0x134e0c" identifier = (cast_expression "(code *)0x134e0c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);" (assignment_expression "uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8)" identifier = (pointer_expression "*(ulong *)(param_2 + -8 + param_5 * 8)" * (cast_expression "(ulong *)(param_2 + -8 + param_5 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + -8 + param_5 * 8)" ( (binary_expression "param_2 + -8 + param_5 * 8" (binary_expression "param_2 + -8" identifier + number_literal) + (binary_expression "param_5 * 8" identifier * number_literal)) ))))) ;) (expression_statement "puVar55 = param_4;" (assignment_expression "puVar55 = param_4" identifier = identifier) ;) (goto_statement "goto LAB_00134e5f;" goto statement_identifier ;) })) (if_statement "if (uVar51 < 2) {\n      puVar55 = param_4 + 1;\n      param_5 = param_5 + 3;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e28;\n      uVar57 = *param_4;\n      goto LAB_00134e9a;\n    }" if (parenthesized_expression "(uVar51 < 2)" ( (binary_expression "uVar51 < 2" identifier < number_literal) )) (compound_statement "{\n      puVar55 = param_4 + 1;\n      param_5 = param_5 + 3;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e28;\n      uVar57 = *param_4;\n      goto LAB_00134e9a;\n    }" { (expression_statement "puVar55 = param_4 + 1;" (assignment_expression "puVar55 = param_4 + 1" identifier = (binary_expression "param_4 + 1" identifier + number_literal)) ;) (expression_statement "param_5 = param_5 + 3;" (assignment_expression "param_5 = param_5 + 3" identifier = (binary_expression "param_5 + 3" identifier + number_literal)) ;) (expression_statement "UNRECOVERED_JUMPTABLE = (code *)0x134e28;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)0x134e28" identifier = (cast_expression "(code *)0x134e28" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar57 = *param_4;" (assignment_expression "uVar57 = *param_4" identifier = (pointer_expression "*param_4" * identifier)) ;) (goto_statement "goto LAB_00134e9a;" goto statement_identifier ;) })) (if_statement "if (uVar51 == 2) {\n      puVar55 = param_4 + -2;\n      param_5 = param_5 + 2;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e43;\n      uVar57 = *param_4;\n      goto LAB_00134e83;\n    }" if (parenthesized_expression "(uVar51 == 2)" ( (binary_expression "uVar51 == 2" identifier == number_literal) )) (compound_statement "{\n      puVar55 = param_4 + -2;\n      param_5 = param_5 + 2;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e43;\n      uVar57 = *param_4;\n      goto LAB_00134e83;\n    }" { (expression_statement "puVar55 = param_4 + -2;" (assignment_expression "puVar55 = param_4 + -2" identifier = (binary_expression "param_4 + -2" identifier + number_literal)) ;) (expression_statement "param_5 = param_5 + 2;" (assignment_expression "param_5 = param_5 + 2" identifier = (binary_expression "param_5 + 2" identifier + number_literal)) ;) (expression_statement "UNRECOVERED_JUMPTABLE = (code *)0x134e43;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)0x134e43" identifier = (cast_expression "(code *)0x134e43" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar57 = *param_4;" (assignment_expression "uVar57 = *param_4" identifier = (pointer_expression "*param_4" * identifier)) ;) (goto_statement "goto LAB_00134e83;" goto statement_identifier ;) })) (expression_statement "puVar55 = param_4 + -1;" (assignment_expression "puVar55 = param_4 + -1" identifier = (binary_expression "param_4 + -1" identifier + number_literal)) ;) (expression_statement "param_5 = param_5 + 1;" (assignment_expression "param_5 = param_5 + 1" identifier = (binary_expression "param_5 + 1" identifier + number_literal)) ;) (expression_statement "UNRECOVERED_JUMPTABLE = (code *)0x134e6c;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)0x134e6c" identifier = (cast_expression "(code *)0x134e6c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (while_statement "while( true ) {\n      auVar17._8_8_ = 0;\n      auVar17._0_8_ = *(ulong *)(param_2 + -0x10 + param_5 * 8);\n      auVar35._8_8_ = 0;\n      auVar35._0_8_ = puVar55[1];\n      uVar47 = SUB168(auVar17 * auVar35,8);\n      uVar57 = SUB168(auVar17 * auVar35,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[2];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e83:\n      auVar18._8_8_ = 0;\n      auVar18._0_8_ = uVar57;\n      auVar36._8_8_ = 0;\n      auVar36._0_8_ = *(ulong *)(param_2 + -0x18 + param_5 * 8);\n      uVar47 = SUB168(auVar18 * auVar36,8);\n      uVar57 = SUB168(auVar18 * auVar36,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[3];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      puVar55 = puVar55 + 4;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e9a:\n      auVar19._8_8_ = 0;\n      auVar19._0_8_ = uVar57;\n      auVar37._8_8_ = 0;\n      auVar37._0_8_ = *(ulong *)(param_2 + -0x20 + param_5 * 8);\n      uVar50 = SUB168(auVar19 * auVar37,8);\n      uVar57 = SUB168(auVar19 * auVar37,0);\n      param_5 = param_5 - 4;\n      if (param_5 == 0) break;\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      bVar59 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + bVar58;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      lVar54 = lVar54 + (ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58));\nLAB_00134e5f:\n      auVar16._8_8_ = 0;\n      auVar16._0_8_ = uVar57;\n      auVar34._8_8_ = 0;\n      auVar34._0_8_ = *puVar55;\n      uVar50 = SUB168(auVar16 * auVar34,8);\n      uVar57 = SUB168(auVar16 * auVar34,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + uVar57;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar50,uVar57));\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      auVar17._8_8_ = 0;\n      auVar17._0_8_ = *(ulong *)(param_2 + -0x10 + param_5 * 8);\n      auVar35._8_8_ = 0;\n      auVar35._0_8_ = puVar55[1];\n      uVar47 = SUB168(auVar17 * auVar35,8);\n      uVar57 = SUB168(auVar17 * auVar35,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[2];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e83:\n      auVar18._8_8_ = 0;\n      auVar18._0_8_ = uVar57;\n      auVar36._8_8_ = 0;\n      auVar36._0_8_ = *(ulong *)(param_2 + -0x18 + param_5 * 8);\n      uVar47 = SUB168(auVar18 * auVar36,8);\n      uVar57 = SUB168(auVar18 * auVar36,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[3];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      puVar55 = puVar55 + 4;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e9a:\n      auVar19._8_8_ = 0;\n      auVar19._0_8_ = uVar57;\n      auVar37._8_8_ = 0;\n      auVar37._0_8_ = *(ulong *)(param_2 + -0x20 + param_5 * 8);\n      uVar50 = SUB168(auVar19 * auVar37,8);\n      uVar57 = SUB168(auVar19 * auVar37,0);\n      param_5 = param_5 - 4;\n      if (param_5 == 0) break;\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      bVar59 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + bVar58;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      lVar54 = lVar54 + (ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58));\nLAB_00134e5f:\n      auVar16._8_8_ = 0;\n      auVar16._0_8_ = uVar57;\n      auVar34._8_8_ = 0;\n      auVar34._0_8_ = *puVar55;\n      uVar50 = SUB168(auVar16 * auVar34,8);\n      uVar57 = SUB168(auVar16 * auVar34,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + uVar57;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar50,uVar57));\n    }" { (expression_statement "auVar17._8_8_ = 0;" (assignment_expression "auVar17._8_8_ = 0" (field_expression "auVar17._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar17._0_8_ = *(ulong *)(param_2 + -0x10 + param_5 * 8);" (assignment_expression "auVar17._0_8_ = *(ulong *)(param_2 + -0x10 + param_5 * 8)" (field_expression "auVar17._0_8_" identifier . field_identifier) = (pointer_expression "*(ulong *)(param_2 + -0x10 + param_5 * 8)" * (cast_expression "(ulong *)(param_2 + -0x10 + param_5 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + -0x10 + param_5 * 8)" ( (binary_expression "param_2 + -0x10 + param_5 * 8" (binary_expression "param_2 + -0x10" identifier + number_literal) + (binary_expression "param_5 * 8" identifier * number_literal)) ))))) ;) (expression_statement "auVar35._8_8_ = 0;" (assignment_expression "auVar35._8_8_ = 0" (field_expression "auVar35._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar35._0_8_ = puVar55[1];" (assignment_expression "auVar35._0_8_ = puVar55[1]" (field_expression "auVar35._0_8_" identifier . field_identifier) = (subscript_expression "puVar55[1]" identifier [ number_literal ])) ;) (expression_statement "uVar47 = SUB168(auVar17 * auVar35,8);" (assignment_expression "uVar47 = SUB168(auVar17 * auVar35,8)" identifier = (call_expression "SUB168(auVar17 * auVar35,8)" identifier (argument_list "(auVar17 * auVar35,8)" ( (binary_expression "auVar17 * auVar35" identifier * identifier) , number_literal )))) ;) (expression_statement "uVar57 = SUB168(auVar17 * auVar35,0);" (assignment_expression "uVar57 = SUB168(auVar17 * auVar35,0)" identifier = (call_expression "SUB168(auVar17 * auVar35,0)" identifier (argument_list "(auVar17 * auVar35,0)" ( (binary_expression "auVar17 * auVar35" identifier * identifier) , number_literal )))) ;) (expression_statement "bVar58 = CARRY8(uVar52,uVar57);" (assignment_expression "bVar58 = CARRY8(uVar52,uVar57)" identifier = (call_expression "CARRY8(uVar52,uVar57)" identifier (argument_list "(uVar52,uVar57)" ( identifier , identifier )))) ;) (expression_statement "uVar52 = uVar52 + uVar57;" (assignment_expression "uVar52 = uVar52 + uVar57" identifier = (binary_expression "uVar52 + uVar57" identifier + identifier)) ;) (expression_statement "uVar57 = puVar55[2];" (assignment_expression "uVar57 = puVar55[2]" identifier = (subscript_expression "puVar55[2]" identifier [ number_literal ])) ;) (expression_statement "uVar50 = (ulong)bVar58;" (assignment_expression "uVar50 = (ulong)bVar58" identifier = (cast_expression "(ulong)bVar58" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "bVar58 = CARRY8(uVar48,uVar47);" (assignment_expression "bVar58 = CARRY8(uVar48,uVar47)" identifier = (call_expression "CARRY8(uVar48,uVar47)" identifier (argument_list "(uVar48,uVar47)" ( identifier , identifier )))) ;) (expression_statement "uVar47 = uVar48 + uVar47;" (assignment_expression "uVar47 = uVar48 + uVar47" identifier = (binary_expression "uVar48 + uVar47" identifier + identifier)) ;) (expression_statement "uVar48 = uVar47 + uVar50;" (assignment_expression "uVar48 = uVar47 + uVar50" identifier = (binary_expression "uVar47 + uVar50" identifier + identifier)) ;) (expression_statement "lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));" (assignment_expression "lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50))" identifier = (binary_expression "lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50))" identifier + (call_expression "(ulong)(bVar58 || CARRY8(uVar47,uVar50))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(bVar58 || CARRY8(uVar47,uVar50))" ( (binary_expression "bVar58 || CARRY8(uVar47,uVar50)" identifier || (call_expression "CARRY8(uVar47,uVar50)" identifier (argument_list "(uVar47,uVar50)" ( identifier , identifier )))) ))))) ;) (labeled_statement "LAB_00134e83:\n      auVar18._8_8_ = 0;" statement_identifier : (expression_statement "auVar18._8_8_ = 0;" (assignment_expression "auVar18._8_8_ = 0" (field_expression "auVar18._8_8_" identifier . field_identifier) = number_literal) ;)) (expression_statement "auVar18._0_8_ = uVar57;" (assignment_expression "auVar18._0_8_ = uVar57" (field_expression "auVar18._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar36._8_8_ = 0;" (assignment_expression "auVar36._8_8_ = 0" (field_expression "auVar36._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar36._0_8_ = *(ulong *)(param_2 + -0x18 + param_5 * 8);" (assignment_expression "auVar36._0_8_ = *(ulong *)(param_2 + -0x18 + param_5 * 8)" (field_expression "auVar36._0_8_" identifier . field_identifier) = (pointer_expression "*(ulong *)(param_2 + -0x18 + param_5 * 8)" * (cast_expression "(ulong *)(param_2 + -0x18 + param_5 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + -0x18 + param_5 * 8)" ( (binary_expression "param_2 + -0x18 + param_5 * 8" (binary_expression "param_2 + -0x18" identifier + number_literal) + (binary_expression "param_5 * 8" identifier * number_literal)) ))))) ;) (expression_statement "uVar47 = SUB168(auVar18 * auVar36,8);" (assignment_expression "uVar47 = SUB168(auVar18 * auVar36,8)" identifier = (call_expression "SUB168(auVar18 * auVar36,8)" identifier (argument_list "(auVar18 * auVar36,8)" ( (binary_expression "auVar18 * auVar36" identifier * identifier) , number_literal )))) ;) (expression_statement "uVar57 = SUB168(auVar18 * auVar36,0);" (assignment_expression "uVar57 = SUB168(auVar18 * auVar36,0)" identifier = (call_expression "SUB168(auVar18 * auVar36,0)" identifier (argument_list "(auVar18 * auVar36,0)" ( (binary_expression "auVar18 * auVar36" identifier * identifier) , number_literal )))) ;) (expression_statement "bVar58 = CARRY8(uVar52,uVar57);" (assignment_expression "bVar58 = CARRY8(uVar52,uVar57)" identifier = (call_expression "CARRY8(uVar52,uVar57)" identifier (argument_list "(uVar52,uVar57)" ( identifier , identifier )))) ;) (expression_statement "uVar52 = uVar52 + uVar57;" (assignment_expression "uVar52 = uVar52 + uVar57" identifier = (binary_expression "uVar52 + uVar57" identifier + identifier)) ;) (expression_statement "uVar57 = puVar55[3];" (assignment_expression "uVar57 = puVar55[3]" identifier = (subscript_expression "puVar55[3]" identifier [ number_literal ])) ;) (expression_statement "uVar50 = (ulong)bVar58;" (assignment_expression "uVar50 = (ulong)bVar58" identifier = (cast_expression "(ulong)bVar58" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "bVar58 = CARRY8(uVar48,uVar47);" (assignment_expression "bVar58 = CARRY8(uVar48,uVar47)" identifier = (call_expression "CARRY8(uVar48,uVar47)" identifier (argument_list "(uVar48,uVar47)" ( identifier , identifier )))) ;) (expression_statement "uVar47 = uVar48 + uVar47;" (assignment_expression "uVar47 = uVar48 + uVar47" identifier = (binary_expression "uVar48 + uVar47" identifier + identifier)) ;) (expression_statement "uVar48 = uVar47 + uVar50;" (assignment_expression "uVar48 = uVar47 + uVar50" identifier = (binary_expression "uVar47 + uVar50" identifier + identifier)) ;) (expression_statement "puVar55 = puVar55 + 4;" (assignment_expression "puVar55 = puVar55 + 4" identifier = (binary_expression "puVar55 + 4" identifier + number_literal)) ;) (expression_statement "lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));" (assignment_expression "lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50))" identifier = (binary_expression "lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50))" identifier + (call_expression "(ulong)(bVar58 || CARRY8(uVar47,uVar50))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(bVar58 || CARRY8(uVar47,uVar50))" ( (binary_expression "bVar58 || CARRY8(uVar47,uVar50)" identifier || (call_expression "CARRY8(uVar47,uVar50)" identifier (argument_list "(uVar47,uVar50)" ( identifier , identifier )))) ))))) ;) (labeled_statement "LAB_00134e9a:\n      auVar19._8_8_ = 0;" statement_identifier : (expression_statement "auVar19._8_8_ = 0;" (assignment_expression "auVar19._8_8_ = 0" (field_expression "auVar19._8_8_" identifier . field_identifier) = number_literal) ;)) (expression_statement "auVar19._0_8_ = uVar57;" (assignment_expression "auVar19._0_8_ = uVar57" (field_expression "auVar19._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar37._8_8_ = 0;" (assignment_expression "auVar37._8_8_ = 0" (field_expression "auVar37._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar37._0_8_ = *(ulong *)(param_2 + -0x20 + param_5 * 8);" (assignment_expression "auVar37._0_8_ = *(ulong *)(param_2 + -0x20 + param_5 * 8)" (field_expression "auVar37._0_8_" identifier . field_identifier) = (pointer_expression "*(ulong *)(param_2 + -0x20 + param_5 * 8)" * (cast_expression "(ulong *)(param_2 + -0x20 + param_5 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + -0x20 + param_5 * 8)" ( (binary_expression "param_2 + -0x20 + param_5 * 8" (binary_expression "param_2 + -0x20" identifier + number_literal) + (binary_expression "param_5 * 8" identifier * number_literal)) ))))) ;) (expression_statement "uVar50 = SUB168(auVar19 * auVar37,8);" (assignment_expression "uVar50 = SUB168(auVar19 * auVar37,8)" identifier = (call_expression "SUB168(auVar19 * auVar37,8)" identifier (argument_list "(auVar19 * auVar37,8)" ( (binary_expression "auVar19 * auVar37" identifier * identifier) , number_literal )))) ;) (expression_statement "uVar57 = SUB168(auVar19 * auVar37,0);" (assignment_expression "uVar57 = SUB168(auVar19 * auVar37,0)" identifier = (call_expression "SUB168(auVar19 * auVar37,0)" identifier (argument_list "(auVar19 * auVar37,0)" ( (binary_expression "auVar19 * auVar37" identifier * identifier) , number_literal )))) ;) (expression_statement "param_5 = param_5 - 4;" (assignment_expression "param_5 = param_5 - 4" identifier = (binary_expression "param_5 - 4" identifier - number_literal)) ;) (if_statement "if (param_5 == 0) break;" if (parenthesized_expression "(param_5 == 0)" ( (binary_expression "param_5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "bVar58 = CARRY8(uVar52,uVar57);" (assignment_expression "bVar58 = CARRY8(uVar52,uVar57)" identifier = (call_expression "CARRY8(uVar52,uVar57)" identifier (argument_list "(uVar52,uVar57)" ( identifier , identifier )))) ;) (expression_statement "uVar52 = uVar52 + uVar57;" (assignment_expression "uVar52 = uVar52 + uVar57" identifier = (binary_expression "uVar52 + uVar57" identifier + identifier)) ;) (expression_statement "bVar59 = CARRY8(uVar48,uVar50);" (assignment_expression "bVar59 = CARRY8(uVar48,uVar50)" identifier = (call_expression "CARRY8(uVar48,uVar50)" identifier (argument_list "(uVar48,uVar50)" ( identifier , identifier )))) ;) (expression_statement "uVar50 = uVar48 + uVar50;" (assignment_expression "uVar50 = uVar48 + uVar50" identifier = (binary_expression "uVar48 + uVar50" identifier + identifier)) ;) (expression_statement "uVar48 = uVar50 + bVar58;" (assignment_expression "uVar48 = uVar50 + bVar58" identifier = (binary_expression "uVar50 + bVar58" identifier + identifier)) ;) (expression_statement "uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);" (assignment_expression "uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8)" identifier = (pointer_expression "*(ulong *)(param_2 + -8 + param_5 * 8)" * (cast_expression "(ulong *)(param_2 + -8 + param_5 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + -8 + param_5 * 8)" ( (binary_expression "param_2 + -8 + param_5 * 8" (binary_expression "param_2 + -8" identifier + number_literal) + (binary_expression "param_5 * 8" identifier * number_literal)) ))))) ;) (expression_statement "lVar54 = lVar54 + (ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58));" (assignment_expression "lVar54 = lVar54 + (ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58))" identifier = (binary_expression "lVar54 + (ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58))" identifier + (call_expression "(ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(bVar59 || CARRY8(uVar50,(ulong)bVar58))" ( (binary_expression "bVar59 || CARRY8(uVar50,(ulong)bVar58)" identifier || (call_expression "CARRY8(uVar50,(ulong)bVar58)" identifier (argument_list "(uVar50,(ulong)bVar58)" ( identifier , (cast_expression "(ulong)bVar58" ( (type_descriptor "ulong" type_identifier) ) identifier) )))) ))))) ;) (labeled_statement "LAB_00134e5f:\n      auVar16._8_8_ = 0;" statement_identifier : (expression_statement "auVar16._8_8_ = 0;" (assignment_expression "auVar16._8_8_ = 0" (field_expression "auVar16._8_8_" identifier . field_identifier) = number_literal) ;)) (expression_statement "auVar16._0_8_ = uVar57;" (assignment_expression "auVar16._0_8_ = uVar57" (field_expression "auVar16._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar34._8_8_ = 0;" (assignment_expression "auVar34._8_8_ = 0" (field_expression "auVar34._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar34._0_8_ = *puVar55;" (assignment_expression "auVar34._0_8_ = *puVar55" (field_expression "auVar34._0_8_" identifier . field_identifier) = (pointer_expression "*puVar55" * identifier)) ;) (expression_statement "uVar50 = SUB168(auVar16 * auVar34,8);" (assignment_expression "uVar50 = SUB168(auVar16 * auVar34,8)" identifier = (call_expression "SUB168(auVar16 * auVar34,8)" identifier (argument_list "(auVar16 * auVar34,8)" ( (binary_expression "auVar16 * auVar34" identifier * identifier) , number_literal )))) ;) (expression_statement "uVar57 = SUB168(auVar16 * auVar34,0);" (assignment_expression "uVar57 = SUB168(auVar16 * auVar34,0)" identifier = (call_expression "SUB168(auVar16 * auVar34,0)" identifier (argument_list "(auVar16 * auVar34,0)" ( (binary_expression "auVar16 * auVar34" identifier * identifier) , number_literal )))) ;) (expression_statement "bVar58 = CARRY8(uVar52,uVar57);" (assignment_expression "bVar58 = CARRY8(uVar52,uVar57)" identifier = (call_expression "CARRY8(uVar52,uVar57)" identifier (argument_list "(uVar52,uVar57)" ( identifier , identifier )))) ;) (expression_statement "uVar52 = uVar52 + uVar57;" (assignment_expression "uVar52 = uVar52 + uVar57" identifier = (binary_expression "uVar52 + uVar57" identifier + identifier)) ;) (expression_statement "uVar57 = (ulong)bVar58;" (assignment_expression "uVar57 = (ulong)bVar58" identifier = (cast_expression "(ulong)bVar58" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "bVar58 = CARRY8(uVar48,uVar50);" (assignment_expression "bVar58 = CARRY8(uVar48,uVar50)" identifier = (call_expression "CARRY8(uVar48,uVar50)" identifier (argument_list "(uVar48,uVar50)" ( identifier , identifier )))) ;) (expression_statement "uVar50 = uVar48 + uVar50;" (assignment_expression "uVar50 = uVar48 + uVar50" identifier = (binary_expression "uVar48 + uVar50" identifier + identifier)) ;) (expression_statement "uVar48 = uVar50 + uVar57;" (assignment_expression "uVar48 = uVar50 + uVar57" identifier = (binary_expression "uVar50 + uVar57" identifier + identifier)) ;) (expression_statement "lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar50,uVar57));" (assignment_expression "lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar50,uVar57))" identifier = (binary_expression "lVar54 + (ulong)(bVar58 || CARRY8(uVar50,uVar57))" identifier + (call_expression "(ulong)(bVar58 || CARRY8(uVar50,uVar57))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(bVar58 || CARRY8(uVar50,uVar57))" ( (binary_expression "bVar58 || CARRY8(uVar50,uVar57)" identifier || (call_expression "CARRY8(uVar50,uVar57)" identifier (argument_list "(uVar50,uVar57)" ( identifier , identifier )))) ))))) ;) })) (expression_statement "lVar54 = lVar54 + (ulong)(CARRY8(uVar48,uVar50) ||\n                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57)));" (assignment_expression "lVar54 = lVar54 + (ulong)(CARRY8(uVar48,uVar50) ||\n                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57)))" identifier = (binary_expression "lVar54 + (ulong)(CARRY8(uVar48,uVar50) ||\n                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57)))" identifier + (call_expression "(ulong)(CARRY8(uVar48,uVar50) ||\n                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57)))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(CARRY8(uVar48,uVar50) ||\n                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57)))" ( (binary_expression "CARRY8(uVar48,uVar50) ||\n                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57))" (call_expression "CARRY8(uVar48,uVar50)" identifier (argument_list "(uVar48,uVar50)" ( identifier , identifier ))) || (call_expression "CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57))" identifier (argument_list "(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57))" ( (binary_expression "uVar48 + uVar50" identifier + identifier) , (cast_expression "(ulong)CARRY8(uVar52,uVar57)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY8(uVar52,uVar57)" identifier (argument_list "(uVar52,uVar57)" ( identifier , identifier )))) )))) ))))) ;) (expression_statement "plVar1[-uVar56] = uVar52 + uVar57;" (assignment_expression "plVar1[-uVar56] = uVar52 + uVar57" (subscript_expression "plVar1[-uVar56]" identifier [ (unary_expression "-uVar56" - identifier) ]) = (binary_expression "uVar52 + uVar57" identifier + identifier)) ;) (if_statement "if (uVar56 != 1) {\n                    \n                    \n      (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + 8,uVar50,lVar54);\n      return;\n    }" if (parenthesized_expression "(uVar56 != 1)" ( (binary_expression "uVar56 != 1" identifier != number_literal) )) (compound_statement "{\n                    \n                    \n      (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + 8,uVar50,lVar54);\n      return;\n    }" { (expression_statement "(*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + 8,uVar50,lVar54);" (call_expression "(*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + 8,uVar50,lVar54)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "(plVar1,param_2 + 8,uVar50,lVar54)" ( identifier , (binary_expression "param_2 + 8" identifier + number_literal) , identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "*plVar1 = uVar48 + uVar50 + (ulong)CARRY8(uVar52,uVar57);" (assignment_expression "*plVar1 = uVar48 + uVar50 + (ulong)CARRY8(uVar52,uVar57)" (pointer_expression "*plVar1" * identifier) = (binary_expression "uVar48 + uVar50 + (ulong)CARRY8(uVar52,uVar57)" (binary_expression "uVar48 + uVar50" identifier + identifier) + (cast_expression "(ulong)CARRY8(uVar52,uVar57)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY8(uVar52,uVar57)" identifier (argument_list "(uVar52,uVar57)" ( identifier , identifier )))))) ;) (expression_statement "plVar1[1] = lVar54;" (assignment_expression "plVar1[1] = lVar54" (subscript_expression "plVar1[1]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n    param_2 = param_2 + param_3 * 8;\n    if ((param_5 & 1) == 0) {\n      uVar48 = *param_4;\n      uVar52 = param_4[1];\n      auVar7._8_8_ = 0;\n      auVar7._0_8_ = *(ulong *)(param_2 + -8 + uVar56 * -8);\n      auVar25._8_8_ = 0;\n      auVar25._0_8_ = uVar52;\n      auVar7 = auVar7 * auVar25;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134b8e;\n      }\n      if (uVar51 < 2) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        uVar56 = uVar57;\n        goto LAB_00134c0d;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        goto LAB_00134be9;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar11._8_8_ = 0;\n        auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar29._8_8_ = 0;\n        auVar29._0_8_ = uVar48;\n        uVar49 = SUB168(auVar11 * auVar29,8);\n        uVar47 = SUB168(auVar11 * auVar29,0);\n        uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar43._0_8_ = uVar50 + uVar56;\n        auVar43._9_7_ = 0;\n        uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;\n        auVar12._8_8_ = 0;\n        auVar12._0_8_ = uVar56;\n        auVar30._8_8_ = 0;\n        auVar30._0_8_ = uVar52;\n        auVar7 = auVar12 * auVar30 + auVar43;\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\nLAB_00134be9:\n        uVar53 = auVar7._0_8_;\n        auVar13._8_8_ = 0;\n        auVar13._0_8_ = uVar56;\n        auVar31._8_8_ = 0;\n        auVar31._0_8_ = uVar48;\n        uVar49 = SUB168(auVar13 * auVar31,8);\n        uVar47 = SUB168(auVar13 * auVar31,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar44._0_8_ = uVar50 + uVar56;\n        auVar44._9_7_ = 0;\n        auVar14._8_8_ = 0;\n        auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar32._8_8_ = 0;\n        auVar32._0_8_ = uVar52;\n        auVar7 = auVar14 * auVar32 + auVar44;\n        plVar1[uVar57 + 2] = uVar53 + uVar47;\n        uVar56 = uVar57;\nLAB_00134c0d:\n        auVar15._8_8_ = 0;\n        auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);\n        auVar33._8_8_ = 0;\n        auVar33._0_8_ = uVar48;\n        uVar49 = SUB168(auVar15 * auVar33,8);\n        uVar47 = SUB168(auVar15 * auVar33,0);\n        uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);\n        lVar54 = uVar50 + uVar57;\n        auVar41[8] = bVar58;\n        auVar41._0_8_ = lVar54;\n        auVar41._9_7_ = 0;\n        uVar57 = uVar56 + 4;\n        plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;\n        if (uVar57 == 0) break;\n        auVar8._8_8_ = 0;\n        auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);\n        auVar26._8_8_ = 0;\n        auVar26._0_8_ = uVar52;\n        auVar7 = auVar8 * auVar26 + auVar41;\nLAB_00134b8e:\n        uVar53 = auVar7._0_8_;\n        auVar9._8_8_ = 0;\n        auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar27._8_8_ = 0;\n        auVar27._0_8_ = uVar48;\n        uVar49 = SUB168(auVar9 * auVar27,8);\n        uVar47 = SUB168(auVar9 * auVar27,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar42._0_8_ = uVar50 + uVar56;\n        auVar42._9_7_ = 0;\n        auVar10._8_8_ = 0;\n        auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar28._8_8_ = 0;\n        auVar28._0_8_ = uVar52;\n        auVar7 = auVar10 * auVar28 + auVar42;\n        plVar1[uVar57] = uVar53 + uVar47;\n      }\n      *plVar1 = lVar54;\n      plVar1[1] = (ulong)bVar58;\n      if (param_5 != 2) {\n                    \n                    \n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);\n        return;\n      }\n    }\n    else {\n      uVar48 = *param_4;\n      auVar2._8_8_ = 0;\n      auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8);\n      auVar20._8_8_ = 0;\n      auVar20._0_8_ = uVar48;\n      auVar2 = auVar2 * auVar20;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      uVar52 = (ulong)uVar51;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134a72;\n      }\n      if (uVar51 < 2) {\n        uVar57 = uVar57 + 4;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        goto LAB_00134a5f;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        uVar52 = uVar57;\n        goto LAB_00134aa7;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar45._8_8_ = 0;\n        auVar45._0_8_ = auVar2._8_8_;\n        auVar5._8_8_ = 0;\n        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar23._8_8_ = 0;\n        auVar23._0_8_ = uVar48;\n        plVar1[uVar57 + 1] = auVar2._0_8_;\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        auVar2 = auVar5 * auVar23 + auVar45;\n        uVar52 = uVar57;\nLAB_00134aa7:\n        auVar46._8_8_ = 0;\n        auVar46._0_8_ = auVar2._8_8_;\n        auVar40._8_8_ = 0;\n        auVar40._0_8_ = auVar2._8_8_;\n        auVar6._8_8_ = 0;\n        auVar6._0_8_ = uVar56;\n        auVar24._8_8_ = 0;\n        auVar24._0_8_ = uVar48;\n        uVar57 = uVar52 + 4;\n        if (-1 < (long)uVar57) break;\n        plVar1[uVar52 + 2] = auVar2._0_8_;\n        auVar2 = auVar6 * auVar24 + auVar40;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\nLAB_00134a5f:\n        auVar38._8_8_ = 0;\n        auVar38._0_8_ = auVar2._8_8_;\n        uVar52 = 0;\n        auVar3._8_8_ = 0;\n        auVar3._0_8_ = uVar56;\n        auVar21._8_8_ = 0;\n        auVar21._0_8_ = uVar48;\n        plVar1[uVar57 - 1] = auVar2._0_8_;\n        auVar2 = auVar3 * auVar21 + auVar38;\nLAB_00134a72:\n        auVar39._8_8_ = uVar52;\n        auVar39._0_8_ = auVar2._8_8_;\n        auVar4._8_8_ = 0;\n        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar22._8_8_ = 0;\n        auVar22._0_8_ = uVar48;\n        plVar1[uVar57] = auVar2._0_8_;\n        auVar2 = auVar4 * auVar22 + auVar39;\n      }\n      plVar1[-2] = auVar2._0_8_;\n      auVar46 = auVar6 * auVar24 + auVar46;\n      plVar1[-1] = auVar46._0_8_;\n      plVar1[1] = 0;\n      *plVar1 = auVar46._8_8_;\n      if (param_5 != 1) {\n                    \n                    \n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);\n        return;\n      }\n    }\n  }" else (compound_statement "{\n    param_2 = param_2 + param_3 * 8;\n    if ((param_5 & 1) == 0) {\n      uVar48 = *param_4;\n      uVar52 = param_4[1];\n      auVar7._8_8_ = 0;\n      auVar7._0_8_ = *(ulong *)(param_2 + -8 + uVar56 * -8);\n      auVar25._8_8_ = 0;\n      auVar25._0_8_ = uVar52;\n      auVar7 = auVar7 * auVar25;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134b8e;\n      }\n      if (uVar51 < 2) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        uVar56 = uVar57;\n        goto LAB_00134c0d;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        goto LAB_00134be9;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar11._8_8_ = 0;\n        auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar29._8_8_ = 0;\n        auVar29._0_8_ = uVar48;\n        uVar49 = SUB168(auVar11 * auVar29,8);\n        uVar47 = SUB168(auVar11 * auVar29,0);\n        uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar43._0_8_ = uVar50 + uVar56;\n        auVar43._9_7_ = 0;\n        uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;\n        auVar12._8_8_ = 0;\n        auVar12._0_8_ = uVar56;\n        auVar30._8_8_ = 0;\n        auVar30._0_8_ = uVar52;\n        auVar7 = auVar12 * auVar30 + auVar43;\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\nLAB_00134be9:\n        uVar53 = auVar7._0_8_;\n        auVar13._8_8_ = 0;\n        auVar13._0_8_ = uVar56;\n        auVar31._8_8_ = 0;\n        auVar31._0_8_ = uVar48;\n        uVar49 = SUB168(auVar13 * auVar31,8);\n        uVar47 = SUB168(auVar13 * auVar31,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar44._0_8_ = uVar50 + uVar56;\n        auVar44._9_7_ = 0;\n        auVar14._8_8_ = 0;\n        auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar32._8_8_ = 0;\n        auVar32._0_8_ = uVar52;\n        auVar7 = auVar14 * auVar32 + auVar44;\n        plVar1[uVar57 + 2] = uVar53 + uVar47;\n        uVar56 = uVar57;\nLAB_00134c0d:\n        auVar15._8_8_ = 0;\n        auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);\n        auVar33._8_8_ = 0;\n        auVar33._0_8_ = uVar48;\n        uVar49 = SUB168(auVar15 * auVar33,8);\n        uVar47 = SUB168(auVar15 * auVar33,0);\n        uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);\n        lVar54 = uVar50 + uVar57;\n        auVar41[8] = bVar58;\n        auVar41._0_8_ = lVar54;\n        auVar41._9_7_ = 0;\n        uVar57 = uVar56 + 4;\n        plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;\n        if (uVar57 == 0) break;\n        auVar8._8_8_ = 0;\n        auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);\n        auVar26._8_8_ = 0;\n        auVar26._0_8_ = uVar52;\n        auVar7 = auVar8 * auVar26 + auVar41;\nLAB_00134b8e:\n        uVar53 = auVar7._0_8_;\n        auVar9._8_8_ = 0;\n        auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar27._8_8_ = 0;\n        auVar27._0_8_ = uVar48;\n        uVar49 = SUB168(auVar9 * auVar27,8);\n        uVar47 = SUB168(auVar9 * auVar27,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar42._0_8_ = uVar50 + uVar56;\n        auVar42._9_7_ = 0;\n        auVar10._8_8_ = 0;\n        auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar28._8_8_ = 0;\n        auVar28._0_8_ = uVar52;\n        auVar7 = auVar10 * auVar28 + auVar42;\n        plVar1[uVar57] = uVar53 + uVar47;\n      }\n      *plVar1 = lVar54;\n      plVar1[1] = (ulong)bVar58;\n      if (param_5 != 2) {\n                    \n                    \n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);\n        return;\n      }\n    }\n    else {\n      uVar48 = *param_4;\n      auVar2._8_8_ = 0;\n      auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8);\n      auVar20._8_8_ = 0;\n      auVar20._0_8_ = uVar48;\n      auVar2 = auVar2 * auVar20;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      uVar52 = (ulong)uVar51;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134a72;\n      }\n      if (uVar51 < 2) {\n        uVar57 = uVar57 + 4;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        goto LAB_00134a5f;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        uVar52 = uVar57;\n        goto LAB_00134aa7;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar45._8_8_ = 0;\n        auVar45._0_8_ = auVar2._8_8_;\n        auVar5._8_8_ = 0;\n        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar23._8_8_ = 0;\n        auVar23._0_8_ = uVar48;\n        plVar1[uVar57 + 1] = auVar2._0_8_;\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        auVar2 = auVar5 * auVar23 + auVar45;\n        uVar52 = uVar57;\nLAB_00134aa7:\n        auVar46._8_8_ = 0;\n        auVar46._0_8_ = auVar2._8_8_;\n        auVar40._8_8_ = 0;\n        auVar40._0_8_ = auVar2._8_8_;\n        auVar6._8_8_ = 0;\n        auVar6._0_8_ = uVar56;\n        auVar24._8_8_ = 0;\n        auVar24._0_8_ = uVar48;\n        uVar57 = uVar52 + 4;\n        if (-1 < (long)uVar57) break;\n        plVar1[uVar52 + 2] = auVar2._0_8_;\n        auVar2 = auVar6 * auVar24 + auVar40;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\nLAB_00134a5f:\n        auVar38._8_8_ = 0;\n        auVar38._0_8_ = auVar2._8_8_;\n        uVar52 = 0;\n        auVar3._8_8_ = 0;\n        auVar3._0_8_ = uVar56;\n        auVar21._8_8_ = 0;\n        auVar21._0_8_ = uVar48;\n        plVar1[uVar57 - 1] = auVar2._0_8_;\n        auVar2 = auVar3 * auVar21 + auVar38;\nLAB_00134a72:\n        auVar39._8_8_ = uVar52;\n        auVar39._0_8_ = auVar2._8_8_;\n        auVar4._8_8_ = 0;\n        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar22._8_8_ = 0;\n        auVar22._0_8_ = uVar48;\n        plVar1[uVar57] = auVar2._0_8_;\n        auVar2 = auVar4 * auVar22 + auVar39;\n      }\n      plVar1[-2] = auVar2._0_8_;\n      auVar46 = auVar6 * auVar24 + auVar46;\n      plVar1[-1] = auVar46._0_8_;\n      plVar1[1] = 0;\n      *plVar1 = auVar46._8_8_;\n      if (param_5 != 1) {\n                    \n                    \n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);\n        return;\n      }\n    }\n  }" { (expression_statement "param_2 = param_2 + param_3 * 8;" (assignment_expression "param_2 = param_2 + param_3 * 8" identifier = (binary_expression "param_2 + param_3 * 8" identifier + (binary_expression "param_3 * 8" identifier * number_literal))) ;) (if_statement "if ((param_5 & 1) == 0) {\n      uVar48 = *param_4;\n      uVar52 = param_4[1];\n      auVar7._8_8_ = 0;\n      auVar7._0_8_ = *(ulong *)(param_2 + -8 + uVar56 * -8);\n      auVar25._8_8_ = 0;\n      auVar25._0_8_ = uVar52;\n      auVar7 = auVar7 * auVar25;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134b8e;\n      }\n      if (uVar51 < 2) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        uVar56 = uVar57;\n        goto LAB_00134c0d;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        goto LAB_00134be9;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar11._8_8_ = 0;\n        auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar29._8_8_ = 0;\n        auVar29._0_8_ = uVar48;\n        uVar49 = SUB168(auVar11 * auVar29,8);\n        uVar47 = SUB168(auVar11 * auVar29,0);\n        uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar43._0_8_ = uVar50 + uVar56;\n        auVar43._9_7_ = 0;\n        uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;\n        auVar12._8_8_ = 0;\n        auVar12._0_8_ = uVar56;\n        auVar30._8_8_ = 0;\n        auVar30._0_8_ = uVar52;\n        auVar7 = auVar12 * auVar30 + auVar43;\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\nLAB_00134be9:\n        uVar53 = auVar7._0_8_;\n        auVar13._8_8_ = 0;\n        auVar13._0_8_ = uVar56;\n        auVar31._8_8_ = 0;\n        auVar31._0_8_ = uVar48;\n        uVar49 = SUB168(auVar13 * auVar31,8);\n        uVar47 = SUB168(auVar13 * auVar31,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar44._0_8_ = uVar50 + uVar56;\n        auVar44._9_7_ = 0;\n        auVar14._8_8_ = 0;\n        auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar32._8_8_ = 0;\n        auVar32._0_8_ = uVar52;\n        auVar7 = auVar14 * auVar32 + auVar44;\n        plVar1[uVar57 + 2] = uVar53 + uVar47;\n        uVar56 = uVar57;\nLAB_00134c0d:\n        auVar15._8_8_ = 0;\n        auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);\n        auVar33._8_8_ = 0;\n        auVar33._0_8_ = uVar48;\n        uVar49 = SUB168(auVar15 * auVar33,8);\n        uVar47 = SUB168(auVar15 * auVar33,0);\n        uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);\n        lVar54 = uVar50 + uVar57;\n        auVar41[8] = bVar58;\n        auVar41._0_8_ = lVar54;\n        auVar41._9_7_ = 0;\n        uVar57 = uVar56 + 4;\n        plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;\n        if (uVar57 == 0) break;\n        auVar8._8_8_ = 0;\n        auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);\n        auVar26._8_8_ = 0;\n        auVar26._0_8_ = uVar52;\n        auVar7 = auVar8 * auVar26 + auVar41;\nLAB_00134b8e:\n        uVar53 = auVar7._0_8_;\n        auVar9._8_8_ = 0;\n        auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar27._8_8_ = 0;\n        auVar27._0_8_ = uVar48;\n        uVar49 = SUB168(auVar9 * auVar27,8);\n        uVar47 = SUB168(auVar9 * auVar27,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar42._0_8_ = uVar50 + uVar56;\n        auVar42._9_7_ = 0;\n        auVar10._8_8_ = 0;\n        auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar28._8_8_ = 0;\n        auVar28._0_8_ = uVar52;\n        auVar7 = auVar10 * auVar28 + auVar42;\n        plVar1[uVar57] = uVar53 + uVar47;\n      }\n      *plVar1 = lVar54;\n      plVar1[1] = (ulong)bVar58;\n      if (param_5 != 2) {\n                    \n                    \n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);\n        return;\n      }\n    }\n    else {\n      uVar48 = *param_4;\n      auVar2._8_8_ = 0;\n      auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8);\n      auVar20._8_8_ = 0;\n      auVar20._0_8_ = uVar48;\n      auVar2 = auVar2 * auVar20;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      uVar52 = (ulong)uVar51;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134a72;\n      }\n      if (uVar51 < 2) {\n        uVar57 = uVar57 + 4;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        goto LAB_00134a5f;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        uVar52 = uVar57;\n        goto LAB_00134aa7;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar45._8_8_ = 0;\n        auVar45._0_8_ = auVar2._8_8_;\n        auVar5._8_8_ = 0;\n        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar23._8_8_ = 0;\n        auVar23._0_8_ = uVar48;\n        plVar1[uVar57 + 1] = auVar2._0_8_;\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        auVar2 = auVar5 * auVar23 + auVar45;\n        uVar52 = uVar57;\nLAB_00134aa7:\n        auVar46._8_8_ = 0;\n        auVar46._0_8_ = auVar2._8_8_;\n        auVar40._8_8_ = 0;\n        auVar40._0_8_ = auVar2._8_8_;\n        auVar6._8_8_ = 0;\n        auVar6._0_8_ = uVar56;\n        auVar24._8_8_ = 0;\n        auVar24._0_8_ = uVar48;\n        uVar57 = uVar52 + 4;\n        if (-1 < (long)uVar57) break;\n        plVar1[uVar52 + 2] = auVar2._0_8_;\n        auVar2 = auVar6 * auVar24 + auVar40;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\nLAB_00134a5f:\n        auVar38._8_8_ = 0;\n        auVar38._0_8_ = auVar2._8_8_;\n        uVar52 = 0;\n        auVar3._8_8_ = 0;\n        auVar3._0_8_ = uVar56;\n        auVar21._8_8_ = 0;\n        auVar21._0_8_ = uVar48;\n        plVar1[uVar57 - 1] = auVar2._0_8_;\n        auVar2 = auVar3 * auVar21 + auVar38;\nLAB_00134a72:\n        auVar39._8_8_ = uVar52;\n        auVar39._0_8_ = auVar2._8_8_;\n        auVar4._8_8_ = 0;\n        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar22._8_8_ = 0;\n        auVar22._0_8_ = uVar48;\n        plVar1[uVar57] = auVar2._0_8_;\n        auVar2 = auVar4 * auVar22 + auVar39;\n      }\n      plVar1[-2] = auVar2._0_8_;\n      auVar46 = auVar6 * auVar24 + auVar46;\n      plVar1[-1] = auVar46._0_8_;\n      plVar1[1] = 0;\n      *plVar1 = auVar46._8_8_;\n      if (param_5 != 1) {\n                    \n                    \n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);\n        return;\n      }\n    }" if (parenthesized_expression "((param_5 & 1) == 0)" ( (binary_expression "(param_5 & 1) == 0" (parenthesized_expression "(param_5 & 1)" ( (binary_expression "param_5 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      uVar48 = *param_4;\n      uVar52 = param_4[1];\n      auVar7._8_8_ = 0;\n      auVar7._0_8_ = *(ulong *)(param_2 + -8 + uVar56 * -8);\n      auVar25._8_8_ = 0;\n      auVar25._0_8_ = uVar52;\n      auVar7 = auVar7 * auVar25;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134b8e;\n      }\n      if (uVar51 < 2) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        uVar56 = uVar57;\n        goto LAB_00134c0d;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        goto LAB_00134be9;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar11._8_8_ = 0;\n        auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar29._8_8_ = 0;\n        auVar29._0_8_ = uVar48;\n        uVar49 = SUB168(auVar11 * auVar29,8);\n        uVar47 = SUB168(auVar11 * auVar29,0);\n        uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar43._0_8_ = uVar50 + uVar56;\n        auVar43._9_7_ = 0;\n        uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;\n        auVar12._8_8_ = 0;\n        auVar12._0_8_ = uVar56;\n        auVar30._8_8_ = 0;\n        auVar30._0_8_ = uVar52;\n        auVar7 = auVar12 * auVar30 + auVar43;\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\nLAB_00134be9:\n        uVar53 = auVar7._0_8_;\n        auVar13._8_8_ = 0;\n        auVar13._0_8_ = uVar56;\n        auVar31._8_8_ = 0;\n        auVar31._0_8_ = uVar48;\n        uVar49 = SUB168(auVar13 * auVar31,8);\n        uVar47 = SUB168(auVar13 * auVar31,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar44._0_8_ = uVar50 + uVar56;\n        auVar44._9_7_ = 0;\n        auVar14._8_8_ = 0;\n        auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar32._8_8_ = 0;\n        auVar32._0_8_ = uVar52;\n        auVar7 = auVar14 * auVar32 + auVar44;\n        plVar1[uVar57 + 2] = uVar53 + uVar47;\n        uVar56 = uVar57;\nLAB_00134c0d:\n        auVar15._8_8_ = 0;\n        auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);\n        auVar33._8_8_ = 0;\n        auVar33._0_8_ = uVar48;\n        uVar49 = SUB168(auVar15 * auVar33,8);\n        uVar47 = SUB168(auVar15 * auVar33,0);\n        uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);\n        lVar54 = uVar50 + uVar57;\n        auVar41[8] = bVar58;\n        auVar41._0_8_ = lVar54;\n        auVar41._9_7_ = 0;\n        uVar57 = uVar56 + 4;\n        plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;\n        if (uVar57 == 0) break;\n        auVar8._8_8_ = 0;\n        auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);\n        auVar26._8_8_ = 0;\n        auVar26._0_8_ = uVar52;\n        auVar7 = auVar8 * auVar26 + auVar41;\nLAB_00134b8e:\n        uVar53 = auVar7._0_8_;\n        auVar9._8_8_ = 0;\n        auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar27._8_8_ = 0;\n        auVar27._0_8_ = uVar48;\n        uVar49 = SUB168(auVar9 * auVar27,8);\n        uVar47 = SUB168(auVar9 * auVar27,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar42._0_8_ = uVar50 + uVar56;\n        auVar42._9_7_ = 0;\n        auVar10._8_8_ = 0;\n        auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar28._8_8_ = 0;\n        auVar28._0_8_ = uVar52;\n        auVar7 = auVar10 * auVar28 + auVar42;\n        plVar1[uVar57] = uVar53 + uVar47;\n      }\n      *plVar1 = lVar54;\n      plVar1[1] = (ulong)bVar58;\n      if (param_5 != 2) {\n                    \n                    \n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);\n        return;\n      }\n    }" { (expression_statement "uVar48 = *param_4;" (assignment_expression "uVar48 = *param_4" identifier = (pointer_expression "*param_4" * identifier)) ;) (expression_statement "uVar52 = param_4[1];" (assignment_expression "uVar52 = param_4[1]" identifier = (subscript_expression "param_4[1]" identifier [ number_literal ])) ;) (expression_statement "auVar7._8_8_ = 0;" (assignment_expression "auVar7._8_8_ = 0" (field_expression "auVar7._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar7._0_8_ = *(ulong *)(param_2 + -8 + uVar56 * -8);" (assignment_expression "auVar7._0_8_ = *(ulong *)(param_2 + -8 + uVar56 * -8)" (field_expression "auVar7._0_8_" identifier . field_identifier) = (pointer_expression "*(ulong *)(param_2 + -8 + uVar56 * -8)" * (cast_expression "(ulong *)(param_2 + -8 + uVar56 * -8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + -8 + uVar56 * -8)" ( (binary_expression "param_2 + -8 + uVar56 * -8" (binary_expression "param_2 + -8" identifier + number_literal) + (binary_expression "uVar56 * -8" identifier * number_literal)) ))))) ;) (expression_statement "auVar25._8_8_ = 0;" (assignment_expression "auVar25._8_8_ = 0" (field_expression "auVar25._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar25._0_8_ = uVar52;" (assignment_expression "auVar25._0_8_ = uVar52" (field_expression "auVar25._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar7 = auVar7 * auVar25;" (assignment_expression "auVar7 = auVar7 * auVar25" identifier = (binary_expression "auVar7 * auVar25" identifier * identifier)) ;) (expression_statement "uVar57 = -uVar56 & 0xfffffffffffffffc;" (assignment_expression "uVar57 = -uVar56 & 0xfffffffffffffffc" identifier = (binary_expression "-uVar56 & 0xfffffffffffffffc" (unary_expression "-uVar56" - identifier) & number_literal)) ;) (expression_statement "uVar51 = (uint)uVar56 & 3;" (assignment_expression "uVar51 = (uint)uVar56 & 3" identifier = (binary_expression "(uint)uVar56 & 3" (cast_expression "(uint)uVar56" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (if_statement "if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134b8e;\n      }" if (parenthesized_expression "((uVar56 & 3) == 0)" ( (binary_expression "(uVar56 & 3) == 0" (parenthesized_expression "(uVar56 & 3)" ( (binary_expression "uVar56 & 3" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134b8e;\n      }" { (expression_statement "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60" identifier = (cast_expression "(code *)&DAT_00134c60" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00134c60" & identifier))) ;) (goto_statement "goto LAB_00134b8e;" goto statement_identifier ;) })) (if_statement "if (uVar51 < 2) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        uVar56 = uVar57;\n        goto LAB_00134c0d;\n      }" if (parenthesized_expression "(uVar51 < 2)" ( (binary_expression "uVar51 < 2" identifier < number_literal) )) (compound_statement "{\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        uVar56 = uVar57;\n        goto LAB_00134c0d;\n      }" { (expression_statement "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80" identifier = (cast_expression "(code *)&DAT_00134c80" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00134c80" & identifier))) ;) (expression_statement "uVar56 = uVar57;" (assignment_expression "uVar56 = uVar57" identifier = identifier) ;) (goto_statement "goto LAB_00134c0d;" goto statement_identifier ;) })) (if_statement "if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        goto LAB_00134be9;\n      }" if (parenthesized_expression "(uVar51 == 2)" ( (binary_expression "uVar51 == 2" identifier == number_literal) )) (compound_statement "{\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        goto LAB_00134be9;\n      }" { (expression_statement "uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);" (assignment_expression "uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8)" identifier = (pointer_expression "*(ulong *)(param_2 + 0x10 + uVar57 * 8)" * (cast_expression "(ulong *)(param_2 + 0x10 + uVar57 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10 + uVar57 * 8)" ( (binary_expression "param_2 + 0x10 + uVar57 * 8" (binary_expression "param_2 + 0x10" identifier + number_literal) + (binary_expression "uVar57 * 8" identifier * number_literal)) ))))) ;) (expression_statement "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0" identifier = (cast_expression "(code *)&DAT_00134ca0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00134ca0" & identifier))) ;) (goto_statement "goto LAB_00134be9;" goto statement_identifier ;) })) (expression_statement "UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0" identifier = (cast_expression "(code *)&LAB_00134cc0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&LAB_00134cc0" & identifier))) ;) (while_statement "while( true ) {\n        auVar11._8_8_ = 0;\n        auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar29._8_8_ = 0;\n        auVar29._0_8_ = uVar48;\n        uVar49 = SUB168(auVar11 * auVar29,8);\n        uVar47 = SUB168(auVar11 * auVar29,0);\n        uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar43._0_8_ = uVar50 + uVar56;\n        auVar43._9_7_ = 0;\n        uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;\n        auVar12._8_8_ = 0;\n        auVar12._0_8_ = uVar56;\n        auVar30._8_8_ = 0;\n        auVar30._0_8_ = uVar52;\n        auVar7 = auVar12 * auVar30 + auVar43;\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\nLAB_00134be9:\n        uVar53 = auVar7._0_8_;\n        auVar13._8_8_ = 0;\n        auVar13._0_8_ = uVar56;\n        auVar31._8_8_ = 0;\n        auVar31._0_8_ = uVar48;\n        uVar49 = SUB168(auVar13 * auVar31,8);\n        uVar47 = SUB168(auVar13 * auVar31,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar44._0_8_ = uVar50 + uVar56;\n        auVar44._9_7_ = 0;\n        auVar14._8_8_ = 0;\n        auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar32._8_8_ = 0;\n        auVar32._0_8_ = uVar52;\n        auVar7 = auVar14 * auVar32 + auVar44;\n        plVar1[uVar57 + 2] = uVar53 + uVar47;\n        uVar56 = uVar57;\nLAB_00134c0d:\n        auVar15._8_8_ = 0;\n        auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);\n        auVar33._8_8_ = 0;\n        auVar33._0_8_ = uVar48;\n        uVar49 = SUB168(auVar15 * auVar33,8);\n        uVar47 = SUB168(auVar15 * auVar33,0);\n        uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);\n        lVar54 = uVar50 + uVar57;\n        auVar41[8] = bVar58;\n        auVar41._0_8_ = lVar54;\n        auVar41._9_7_ = 0;\n        uVar57 = uVar56 + 4;\n        plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;\n        if (uVar57 == 0) break;\n        auVar8._8_8_ = 0;\n        auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);\n        auVar26._8_8_ = 0;\n        auVar26._0_8_ = uVar52;\n        auVar7 = auVar8 * auVar26 + auVar41;\nLAB_00134b8e:\n        uVar53 = auVar7._0_8_;\n        auVar9._8_8_ = 0;\n        auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar27._8_8_ = 0;\n        auVar27._0_8_ = uVar48;\n        uVar49 = SUB168(auVar9 * auVar27,8);\n        uVar47 = SUB168(auVar9 * auVar27,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar42._0_8_ = uVar50 + uVar56;\n        auVar42._9_7_ = 0;\n        auVar10._8_8_ = 0;\n        auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar28._8_8_ = 0;\n        auVar28._0_8_ = uVar52;\n        auVar7 = auVar10 * auVar28 + auVar42;\n        plVar1[uVar57] = uVar53 + uVar47;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        auVar11._8_8_ = 0;\n        auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar29._8_8_ = 0;\n        auVar29._0_8_ = uVar48;\n        uVar49 = SUB168(auVar11 * auVar29,8);\n        uVar47 = SUB168(auVar11 * auVar29,0);\n        uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar43._0_8_ = uVar50 + uVar56;\n        auVar43._9_7_ = 0;\n        uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;\n        auVar12._8_8_ = 0;\n        auVar12._0_8_ = uVar56;\n        auVar30._8_8_ = 0;\n        auVar30._0_8_ = uVar52;\n        auVar7 = auVar12 * auVar30 + auVar43;\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\nLAB_00134be9:\n        uVar53 = auVar7._0_8_;\n        auVar13._8_8_ = 0;\n        auVar13._0_8_ = uVar56;\n        auVar31._8_8_ = 0;\n        auVar31._0_8_ = uVar48;\n        uVar49 = SUB168(auVar13 * auVar31,8);\n        uVar47 = SUB168(auVar13 * auVar31,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar44._0_8_ = uVar50 + uVar56;\n        auVar44._9_7_ = 0;\n        auVar14._8_8_ = 0;\n        auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar32._8_8_ = 0;\n        auVar32._0_8_ = uVar52;\n        auVar7 = auVar14 * auVar32 + auVar44;\n        plVar1[uVar57 + 2] = uVar53 + uVar47;\n        uVar56 = uVar57;\nLAB_00134c0d:\n        auVar15._8_8_ = 0;\n        auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);\n        auVar33._8_8_ = 0;\n        auVar33._0_8_ = uVar48;\n        uVar49 = SUB168(auVar15 * auVar33,8);\n        uVar47 = SUB168(auVar15 * auVar33,0);\n        uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);\n        lVar54 = uVar50 + uVar57;\n        auVar41[8] = bVar58;\n        auVar41._0_8_ = lVar54;\n        auVar41._9_7_ = 0;\n        uVar57 = uVar56 + 4;\n        plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;\n        if (uVar57 == 0) break;\n        auVar8._8_8_ = 0;\n        auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);\n        auVar26._8_8_ = 0;\n        auVar26._0_8_ = uVar52;\n        auVar7 = auVar8 * auVar26 + auVar41;\nLAB_00134b8e:\n        uVar53 = auVar7._0_8_;\n        auVar9._8_8_ = 0;\n        auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar27._8_8_ = 0;\n        auVar27._0_8_ = uVar48;\n        uVar49 = SUB168(auVar9 * auVar27,8);\n        uVar47 = SUB168(auVar9 * auVar27,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar42._0_8_ = uVar50 + uVar56;\n        auVar42._9_7_ = 0;\n        auVar10._8_8_ = 0;\n        auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar28._8_8_ = 0;\n        auVar28._0_8_ = uVar52;\n        auVar7 = auVar10 * auVar28 + auVar42;\n        plVar1[uVar57] = uVar53 + uVar47;\n      }" { (expression_statement "auVar11._8_8_ = 0;" (assignment_expression "auVar11._8_8_ = 0" (field_expression "auVar11._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);" (assignment_expression "auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8)" (field_expression "auVar11._0_8_" identifier . field_identifier) = (pointer_expression "*(ulong *)(param_2 + 8 + uVar57 * 8)" * (cast_expression "(ulong *)(param_2 + 8 + uVar57 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8 + uVar57 * 8)" ( (binary_expression "param_2 + 8 + uVar57 * 8" (binary_expression "param_2 + 8" identifier + number_literal) + (binary_expression "uVar57 * 8" identifier * number_literal)) ))))) ;) (expression_statement "auVar29._8_8_ = 0;" (assignment_expression "auVar29._8_8_ = 0" (field_expression "auVar29._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar29._0_8_ = uVar48;" (assignment_expression "auVar29._0_8_ = uVar48" (field_expression "auVar29._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "uVar49 = SUB168(auVar11 * auVar29,8);" (assignment_expression "uVar49 = SUB168(auVar11 * auVar29,8)" identifier = (call_expression "SUB168(auVar11 * auVar29,8)" identifier (argument_list "(auVar11 * auVar29,8)" ( (binary_expression "auVar11 * auVar29" identifier * identifier) , number_literal )))) ;) (expression_statement "uVar47 = SUB168(auVar11 * auVar29,0);" (assignment_expression "uVar47 = SUB168(auVar11 * auVar29,0)" identifier = (call_expression "SUB168(auVar11 * auVar29,0)" identifier (argument_list "(auVar11 * auVar29,0)" ( (binary_expression "auVar11 * auVar29" identifier * identifier) , number_literal )))) ;) (expression_statement "uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);" (assignment_expression "uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47)" identifier = (cast_expression "(ulong)CARRY8(auVar7._0_8_,uVar47)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY8(auVar7._0_8_,uVar47)" identifier (argument_list "(auVar7._0_8_,uVar47)" ( (field_expression "auVar7._0_8_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "uVar50 = auVar7._8_8_ + uVar49;" (assignment_expression "uVar50 = auVar7._8_8_ + uVar49" identifier = (binary_expression "auVar7._8_8_ + uVar49" (field_expression "auVar7._8_8_" identifier . field_identifier) + identifier)) ;) (expression_statement "auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);" (assignment_expression "auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56)" (subscript_expression "auVar43[8]" identifier [ number_literal ]) = (binary_expression "CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56)" (call_expression "CARRY8(auVar7._8_8_,uVar49)" identifier (argument_list "(auVar7._8_8_,uVar49)" ( (field_expression "auVar7._8_8_" identifier . field_identifier) , identifier ))) || (call_expression "CARRY8(uVar50,uVar56)" identifier (argument_list "(uVar50,uVar56)" ( identifier , identifier ))))) ;) (expression_statement "auVar43._0_8_ = uVar50 + uVar56;" (assignment_expression "auVar43._0_8_ = uVar50 + uVar56" (field_expression "auVar43._0_8_" identifier . field_identifier) = (binary_expression "uVar50 + uVar56" identifier + identifier)) ;) (expression_statement "auVar43._9_7_ = 0;" (assignment_expression "auVar43._9_7_ = 0" (field_expression "auVar43._9_7_" identifier . field_identifier) = number_literal) ;) (expression_statement "uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);" (assignment_expression "uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8)" identifier = (pointer_expression "*(ulong *)(param_2 + 8 + uVar57 * 8)" * (cast_expression "(ulong *)(param_2 + 8 + uVar57 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8 + uVar57 * 8)" ( (binary_expression "param_2 + 8 + uVar57 * 8" (binary_expression "param_2 + 8" identifier + number_literal) + (binary_expression "uVar57 * 8" identifier * number_literal)) ))))) ;) (expression_statement "plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;" (assignment_expression "plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47" (subscript_expression "plVar1[uVar57 + 1]" identifier [ (binary_expression "uVar57 + 1" identifier + number_literal) ]) = (binary_expression "auVar7._0_8_ + uVar47" (field_expression "auVar7._0_8_" identifier . field_identifier) + identifier)) ;) (expression_statement "auVar12._8_8_ = 0;" (assignment_expression "auVar12._8_8_ = 0" (field_expression "auVar12._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar12._0_8_ = uVar56;" (assignment_expression "auVar12._0_8_ = uVar56" (field_expression "auVar12._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar30._8_8_ = 0;" (assignment_expression "auVar30._8_8_ = 0" (field_expression "auVar30._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar30._0_8_ = uVar52;" (assignment_expression "auVar30._0_8_ = uVar52" (field_expression "auVar30._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar7 = auVar12 * auVar30 + auVar43;" (assignment_expression "auVar7 = auVar12 * auVar30 + auVar43" identifier = (binary_expression "auVar12 * auVar30 + auVar43" (binary_expression "auVar12 * auVar30" identifier * identifier) + identifier)) ;) (expression_statement "uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);" (assignment_expression "uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8)" identifier = (pointer_expression "*(ulong *)(param_2 + 0x10 + uVar57 * 8)" * (cast_expression "(ulong *)(param_2 + 0x10 + uVar57 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10 + uVar57 * 8)" ( (binary_expression "param_2 + 0x10 + uVar57 * 8" (binary_expression "param_2 + 0x10" identifier + number_literal) + (binary_expression "uVar57 * 8" identifier * number_literal)) ))))) ;) (labeled_statement "LAB_00134be9:\n        uVar53 = auVar7._0_8_;" statement_identifier : (expression_statement "uVar53 = auVar7._0_8_;" (assignment_expression "uVar53 = auVar7._0_8_" identifier = (field_expression "auVar7._0_8_" identifier . field_identifier)) ;)) (expression_statement "auVar13._8_8_ = 0;" (assignment_expression "auVar13._8_8_ = 0" (field_expression "auVar13._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar13._0_8_ = uVar56;" (assignment_expression "auVar13._0_8_ = uVar56" (field_expression "auVar13._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar31._8_8_ = 0;" (assignment_expression "auVar31._8_8_ = 0" (field_expression "auVar31._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar31._0_8_ = uVar48;" (assignment_expression "auVar31._0_8_ = uVar48" (field_expression "auVar31._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "uVar49 = SUB168(auVar13 * auVar31,8);" (assignment_expression "uVar49 = SUB168(auVar13 * auVar31,8)" identifier = (call_expression "SUB168(auVar13 * auVar31,8)" identifier (argument_list "(auVar13 * auVar31,8)" ( (binary_expression "auVar13 * auVar31" identifier * identifier) , number_literal )))) ;) (expression_statement "uVar47 = SUB168(auVar13 * auVar31,0);" (assignment_expression "uVar47 = SUB168(auVar13 * auVar31,0)" identifier = (call_expression "SUB168(auVar13 * auVar31,0)" identifier (argument_list "(auVar13 * auVar31,0)" ( (binary_expression "auVar13 * auVar31" identifier * identifier) , number_literal )))) ;) (expression_statement "uVar56 = (ulong)CARRY8(uVar53,uVar47);" (assignment_expression "uVar56 = (ulong)CARRY8(uVar53,uVar47)" identifier = (cast_expression "(ulong)CARRY8(uVar53,uVar47)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY8(uVar53,uVar47)" identifier (argument_list "(uVar53,uVar47)" ( identifier , identifier ))))) ;) (expression_statement "uVar50 = auVar7._8_8_ + uVar49;" (assignment_expression "uVar50 = auVar7._8_8_ + uVar49" identifier = (binary_expression "auVar7._8_8_ + uVar49" (field_expression "auVar7._8_8_" identifier . field_identifier) + identifier)) ;) (expression_statement "auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);" (assignment_expression "auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56)" (subscript_expression "auVar44[8]" identifier [ number_literal ]) = (binary_expression "CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56)" (call_expression "CARRY8(auVar7._8_8_,uVar49)" identifier (argument_list "(auVar7._8_8_,uVar49)" ( (field_expression "auVar7._8_8_" identifier . field_identifier) , identifier ))) || (call_expression "CARRY8(uVar50,uVar56)" identifier (argument_list "(uVar50,uVar56)" ( identifier , identifier ))))) ;) (expression_statement "auVar44._0_8_ = uVar50 + uVar56;" (assignment_expression "auVar44._0_8_ = uVar50 + uVar56" (field_expression "auVar44._0_8_" identifier . field_identifier) = (binary_expression "uVar50 + uVar56" identifier + identifier)) ;) (expression_statement "auVar44._9_7_ = 0;" (assignment_expression "auVar44._9_7_ = 0" (field_expression "auVar44._9_7_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar14._8_8_ = 0;" (assignment_expression "auVar14._8_8_ = 0" (field_expression "auVar14._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);" (assignment_expression "auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8)" (field_expression "auVar14._0_8_" identifier . field_identifier) = (pointer_expression "*(ulong *)(param_2 + 0x10 + uVar57 * 8)" * (cast_expression "(ulong *)(param_2 + 0x10 + uVar57 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10 + uVar57 * 8)" ( (binary_expression "param_2 + 0x10 + uVar57 * 8" (binary_expression "param_2 + 0x10" identifier + number_literal) + (binary_expression "uVar57 * 8" identifier * number_literal)) ))))) ;) (expression_statement "auVar32._8_8_ = 0;" (assignment_expression "auVar32._8_8_ = 0" (field_expression "auVar32._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar32._0_8_ = uVar52;" (assignment_expression "auVar32._0_8_ = uVar52" (field_expression "auVar32._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar7 = auVar14 * auVar32 + auVar44;" (assignment_expression "auVar7 = auVar14 * auVar32 + auVar44" identifier = (binary_expression "auVar14 * auVar32 + auVar44" (binary_expression "auVar14 * auVar32" identifier * identifier) + identifier)) ;) (expression_statement "plVar1[uVar57 + 2] = uVar53 + uVar47;" (assignment_expression "plVar1[uVar57 + 2] = uVar53 + uVar47" (subscript_expression "plVar1[uVar57 + 2]" identifier [ (binary_expression "uVar57 + 2" identifier + number_literal) ]) = (binary_expression "uVar53 + uVar47" identifier + identifier)) ;) (expression_statement "uVar56 = uVar57;" (assignment_expression "uVar56 = uVar57" identifier = identifier) ;) (labeled_statement "LAB_00134c0d:\n        auVar15._8_8_ = 0;" statement_identifier : (expression_statement "auVar15._8_8_ = 0;" (assignment_expression "auVar15._8_8_ = 0" (field_expression "auVar15._8_8_" identifier . field_identifier) = number_literal) ;)) (expression_statement "auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);" (assignment_expression "auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8)" (field_expression "auVar15._0_8_" identifier . field_identifier) = (pointer_expression "*(ulong *)(param_2 + 0x18 + uVar56 * 8)" * (cast_expression "(ulong *)(param_2 + 0x18 + uVar56 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18 + uVar56 * 8)" ( (binary_expression "param_2 + 0x18 + uVar56 * 8" (binary_expression "param_2 + 0x18" identifier + number_literal) + (binary_expression "uVar56 * 8" identifier * number_literal)) ))))) ;) (expression_statement "auVar33._8_8_ = 0;" (assignment_expression "auVar33._8_8_ = 0" (field_expression "auVar33._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar33._0_8_ = uVar48;" (assignment_expression "auVar33._0_8_ = uVar48" (field_expression "auVar33._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "uVar49 = SUB168(auVar15 * auVar33,8);" (assignment_expression "uVar49 = SUB168(auVar15 * auVar33,8)" identifier = (call_expression "SUB168(auVar15 * auVar33,8)" identifier (argument_list "(auVar15 * auVar33,8)" ( (binary_expression "auVar15 * auVar33" identifier * identifier) , number_literal )))) ;) (expression_statement "uVar47 = SUB168(auVar15 * auVar33,0);" (assignment_expression "uVar47 = SUB168(auVar15 * auVar33,0)" identifier = (call_expression "SUB168(auVar15 * auVar33,0)" identifier (argument_list "(auVar15 * auVar33,0)" ( (binary_expression "auVar15 * auVar33" identifier * identifier) , number_literal )))) ;) (expression_statement "uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);" (assignment_expression "uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47)" identifier = (cast_expression "(ulong)CARRY8(auVar7._0_8_,uVar47)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY8(auVar7._0_8_,uVar47)" identifier (argument_list "(auVar7._0_8_,uVar47)" ( (field_expression "auVar7._0_8_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "uVar50 = auVar7._8_8_ + uVar49;" (assignment_expression "uVar50 = auVar7._8_8_ + uVar49" identifier = (binary_expression "auVar7._8_8_ + uVar49" (field_expression "auVar7._8_8_" identifier . field_identifier) + identifier)) ;) (expression_statement "bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);" (assignment_expression "bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57)" identifier = (binary_expression "CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57)" (call_expression "CARRY8(auVar7._8_8_,uVar49)" identifier (argument_list "(auVar7._8_8_,uVar49)" ( (field_expression "auVar7._8_8_" identifier . field_identifier) , identifier ))) || (call_expression "CARRY8(uVar50,uVar57)" identifier (argument_list "(uVar50,uVar57)" ( identifier , identifier ))))) ;) (expression_statement "lVar54 = uVar50 + uVar57;" (assignment_expression "lVar54 = uVar50 + uVar57" identifier = (binary_expression "uVar50 + uVar57" identifier + identifier)) ;) (expression_statement "auVar41[8] = bVar58;" (assignment_expression "auVar41[8] = bVar58" (subscript_expression "auVar41[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "auVar41._0_8_ = lVar54;" (assignment_expression "auVar41._0_8_ = lVar54" (field_expression "auVar41._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar41._9_7_ = 0;" (assignment_expression "auVar41._9_7_ = 0" (field_expression "auVar41._9_7_" identifier . field_identifier) = number_literal) ;) (expression_statement "uVar57 = uVar56 + 4;" (assignment_expression "uVar57 = uVar56 + 4" identifier = (binary_expression "uVar56 + 4" identifier + number_literal)) ;) (expression_statement "plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;" (assignment_expression "plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47" (subscript_expression "plVar1[uVar56 + 3]" identifier [ (binary_expression "uVar56 + 3" identifier + number_literal) ]) = (binary_expression "auVar7._0_8_ + uVar47" (field_expression "auVar7._0_8_" identifier . field_identifier) + identifier)) ;) (if_statement "if (uVar57 == 0) break;" if (parenthesized_expression "(uVar57 == 0)" ( (binary_expression "uVar57 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "auVar8._8_8_ = 0;" (assignment_expression "auVar8._8_8_ = 0" (field_expression "auVar8._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);" (assignment_expression "auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8)" (field_expression "auVar8._0_8_" identifier . field_identifier) = (pointer_expression "*(ulong *)(param_2 + -8 + uVar57 * 8)" * (cast_expression "(ulong *)(param_2 + -8 + uVar57 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + -8 + uVar57 * 8)" ( (binary_expression "param_2 + -8 + uVar57 * 8" (binary_expression "param_2 + -8" identifier + number_literal) + (binary_expression "uVar57 * 8" identifier * number_literal)) ))))) ;) (expression_statement "auVar26._8_8_ = 0;" (assignment_expression "auVar26._8_8_ = 0" (field_expression "auVar26._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar26._0_8_ = uVar52;" (assignment_expression "auVar26._0_8_ = uVar52" (field_expression "auVar26._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar7 = auVar8 * auVar26 + auVar41;" (assignment_expression "auVar7 = auVar8 * auVar26 + auVar41" identifier = (binary_expression "auVar8 * auVar26 + auVar41" (binary_expression "auVar8 * auVar26" identifier * identifier) + identifier)) ;) (labeled_statement "LAB_00134b8e:\n        uVar53 = auVar7._0_8_;" statement_identifier : (expression_statement "uVar53 = auVar7._0_8_;" (assignment_expression "uVar53 = auVar7._0_8_" identifier = (field_expression "auVar7._0_8_" identifier . field_identifier)) ;)) (expression_statement "auVar9._8_8_ = 0;" (assignment_expression "auVar9._8_8_ = 0" (field_expression "auVar9._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);" (assignment_expression "auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8)" (field_expression "auVar9._0_8_" identifier . field_identifier) = (pointer_expression "*(ulong *)(param_2 + uVar57 * 8)" * (cast_expression "(ulong *)(param_2 + uVar57 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + uVar57 * 8)" ( (binary_expression "param_2 + uVar57 * 8" identifier + (binary_expression "uVar57 * 8" identifier * number_literal)) ))))) ;) (expression_statement "auVar27._8_8_ = 0;" (assignment_expression "auVar27._8_8_ = 0" (field_expression "auVar27._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar27._0_8_ = uVar48;" (assignment_expression "auVar27._0_8_ = uVar48" (field_expression "auVar27._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "uVar49 = SUB168(auVar9 * auVar27,8);" (assignment_expression "uVar49 = SUB168(auVar9 * auVar27,8)" identifier = (call_expression "SUB168(auVar9 * auVar27,8)" identifier (argument_list "(auVar9 * auVar27,8)" ( (binary_expression "auVar9 * auVar27" identifier * identifier) , number_literal )))) ;) (expression_statement "uVar47 = SUB168(auVar9 * auVar27,0);" (assignment_expression "uVar47 = SUB168(auVar9 * auVar27,0)" identifier = (call_expression "SUB168(auVar9 * auVar27,0)" identifier (argument_list "(auVar9 * auVar27,0)" ( (binary_expression "auVar9 * auVar27" identifier * identifier) , number_literal )))) ;) (expression_statement "uVar56 = (ulong)CARRY8(uVar53,uVar47);" (assignment_expression "uVar56 = (ulong)CARRY8(uVar53,uVar47)" identifier = (cast_expression "(ulong)CARRY8(uVar53,uVar47)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY8(uVar53,uVar47)" identifier (argument_list "(uVar53,uVar47)" ( identifier , identifier ))))) ;) (expression_statement "uVar50 = auVar7._8_8_ + uVar49;" (assignment_expression "uVar50 = auVar7._8_8_ + uVar49" identifier = (binary_expression "auVar7._8_8_ + uVar49" (field_expression "auVar7._8_8_" identifier . field_identifier) + identifier)) ;) (expression_statement "auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);" (assignment_expression "auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56)" (subscript_expression "auVar42[8]" identifier [ number_literal ]) = (binary_expression "CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56)" (call_expression "CARRY8(auVar7._8_8_,uVar49)" identifier (argument_list "(auVar7._8_8_,uVar49)" ( (field_expression "auVar7._8_8_" identifier . field_identifier) , identifier ))) || (call_expression "CARRY8(uVar50,uVar56)" identifier (argument_list "(uVar50,uVar56)" ( identifier , identifier ))))) ;) (expression_statement "auVar42._0_8_ = uVar50 + uVar56;" (assignment_expression "auVar42._0_8_ = uVar50 + uVar56" (field_expression "auVar42._0_8_" identifier . field_identifier) = (binary_expression "uVar50 + uVar56" identifier + identifier)) ;) (expression_statement "auVar42._9_7_ = 0;" (assignment_expression "auVar42._9_7_ = 0" (field_expression "auVar42._9_7_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar10._8_8_ = 0;" (assignment_expression "auVar10._8_8_ = 0" (field_expression "auVar10._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);" (assignment_expression "auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8)" (field_expression "auVar10._0_8_" identifier . field_identifier) = (pointer_expression "*(ulong *)(param_2 + uVar57 * 8)" * (cast_expression "(ulong *)(param_2 + uVar57 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + uVar57 * 8)" ( (binary_expression "param_2 + uVar57 * 8" identifier + (binary_expression "uVar57 * 8" identifier * number_literal)) ))))) ;) (expression_statement "auVar28._8_8_ = 0;" (assignment_expression "auVar28._8_8_ = 0" (field_expression "auVar28._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar28._0_8_ = uVar52;" (assignment_expression "auVar28._0_8_ = uVar52" (field_expression "auVar28._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar7 = auVar10 * auVar28 + auVar42;" (assignment_expression "auVar7 = auVar10 * auVar28 + auVar42" identifier = (binary_expression "auVar10 * auVar28 + auVar42" (binary_expression "auVar10 * auVar28" identifier * identifier) + identifier)) ;) (expression_statement "plVar1[uVar57] = uVar53 + uVar47;" (assignment_expression "plVar1[uVar57] = uVar53 + uVar47" (subscript_expression "plVar1[uVar57]" identifier [ identifier ]) = (binary_expression "uVar53 + uVar47" identifier + identifier)) ;) })) (expression_statement "*plVar1 = lVar54;" (assignment_expression "*plVar1 = lVar54" (pointer_expression "*plVar1" * identifier) = identifier) ;) (expression_statement "plVar1[1] = (ulong)bVar58;" (assignment_expression "plVar1[1] = (ulong)bVar58" (subscript_expression "plVar1[1]" identifier [ number_literal ]) = (cast_expression "(ulong)bVar58" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if (param_5 != 2) {\n                    \n                    \n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);\n        return;\n      }" if (parenthesized_expression "(param_5 != 2)" ( (binary_expression "param_5 != 2" identifier != number_literal) )) (compound_statement "{\n                    \n                    \n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);\n        return;\n      }" { (expression_statement "(*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);" (call_expression "(*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "(plVar1,param_2 + -0x10)" ( identifier , (binary_expression "param_2 + -0x10" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) }) (else_clause "else {\n      uVar48 = *param_4;\n      auVar2._8_8_ = 0;\n      auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8);\n      auVar20._8_8_ = 0;\n      auVar20._0_8_ = uVar48;\n      auVar2 = auVar2 * auVar20;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      uVar52 = (ulong)uVar51;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134a72;\n      }\n      if (uVar51 < 2) {\n        uVar57 = uVar57 + 4;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        goto LAB_00134a5f;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        uVar52 = uVar57;\n        goto LAB_00134aa7;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar45._8_8_ = 0;\n        auVar45._0_8_ = auVar2._8_8_;\n        auVar5._8_8_ = 0;\n        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar23._8_8_ = 0;\n        auVar23._0_8_ = uVar48;\n        plVar1[uVar57 + 1] = auVar2._0_8_;\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        auVar2 = auVar5 * auVar23 + auVar45;\n        uVar52 = uVar57;\nLAB_00134aa7:\n        auVar46._8_8_ = 0;\n        auVar46._0_8_ = auVar2._8_8_;\n        auVar40._8_8_ = 0;\n        auVar40._0_8_ = auVar2._8_8_;\n        auVar6._8_8_ = 0;\n        auVar6._0_8_ = uVar56;\n        auVar24._8_8_ = 0;\n        auVar24._0_8_ = uVar48;\n        uVar57 = uVar52 + 4;\n        if (-1 < (long)uVar57) break;\n        plVar1[uVar52 + 2] = auVar2._0_8_;\n        auVar2 = auVar6 * auVar24 + auVar40;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\nLAB_00134a5f:\n        auVar38._8_8_ = 0;\n        auVar38._0_8_ = auVar2._8_8_;\n        uVar52 = 0;\n        auVar3._8_8_ = 0;\n        auVar3._0_8_ = uVar56;\n        auVar21._8_8_ = 0;\n        auVar21._0_8_ = uVar48;\n        plVar1[uVar57 - 1] = auVar2._0_8_;\n        auVar2 = auVar3 * auVar21 + auVar38;\nLAB_00134a72:\n        auVar39._8_8_ = uVar52;\n        auVar39._0_8_ = auVar2._8_8_;\n        auVar4._8_8_ = 0;\n        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar22._8_8_ = 0;\n        auVar22._0_8_ = uVar48;\n        plVar1[uVar57] = auVar2._0_8_;\n        auVar2 = auVar4 * auVar22 + auVar39;\n      }\n      plVar1[-2] = auVar2._0_8_;\n      auVar46 = auVar6 * auVar24 + auVar46;\n      plVar1[-1] = auVar46._0_8_;\n      plVar1[1] = 0;\n      *plVar1 = auVar46._8_8_;\n      if (param_5 != 1) {\n                    \n                    \n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);\n        return;\n      }\n    }" else (compound_statement "{\n      uVar48 = *param_4;\n      auVar2._8_8_ = 0;\n      auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8);\n      auVar20._8_8_ = 0;\n      auVar20._0_8_ = uVar48;\n      auVar2 = auVar2 * auVar20;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      uVar52 = (ulong)uVar51;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134a72;\n      }\n      if (uVar51 < 2) {\n        uVar57 = uVar57 + 4;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        goto LAB_00134a5f;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        uVar52 = uVar57;\n        goto LAB_00134aa7;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar45._8_8_ = 0;\n        auVar45._0_8_ = auVar2._8_8_;\n        auVar5._8_8_ = 0;\n        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar23._8_8_ = 0;\n        auVar23._0_8_ = uVar48;\n        plVar1[uVar57 + 1] = auVar2._0_8_;\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        auVar2 = auVar5 * auVar23 + auVar45;\n        uVar52 = uVar57;\nLAB_00134aa7:\n        auVar46._8_8_ = 0;\n        auVar46._0_8_ = auVar2._8_8_;\n        auVar40._8_8_ = 0;\n        auVar40._0_8_ = auVar2._8_8_;\n        auVar6._8_8_ = 0;\n        auVar6._0_8_ = uVar56;\n        auVar24._8_8_ = 0;\n        auVar24._0_8_ = uVar48;\n        uVar57 = uVar52 + 4;\n        if (-1 < (long)uVar57) break;\n        plVar1[uVar52 + 2] = auVar2._0_8_;\n        auVar2 = auVar6 * auVar24 + auVar40;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\nLAB_00134a5f:\n        auVar38._8_8_ = 0;\n        auVar38._0_8_ = auVar2._8_8_;\n        uVar52 = 0;\n        auVar3._8_8_ = 0;\n        auVar3._0_8_ = uVar56;\n        auVar21._8_8_ = 0;\n        auVar21._0_8_ = uVar48;\n        plVar1[uVar57 - 1] = auVar2._0_8_;\n        auVar2 = auVar3 * auVar21 + auVar38;\nLAB_00134a72:\n        auVar39._8_8_ = uVar52;\n        auVar39._0_8_ = auVar2._8_8_;\n        auVar4._8_8_ = 0;\n        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar22._8_8_ = 0;\n        auVar22._0_8_ = uVar48;\n        plVar1[uVar57] = auVar2._0_8_;\n        auVar2 = auVar4 * auVar22 + auVar39;\n      }\n      plVar1[-2] = auVar2._0_8_;\n      auVar46 = auVar6 * auVar24 + auVar46;\n      plVar1[-1] = auVar46._0_8_;\n      plVar1[1] = 0;\n      *plVar1 = auVar46._8_8_;\n      if (param_5 != 1) {\n                    \n                    \n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);\n        return;\n      }\n    }" { (expression_statement "uVar48 = *param_4;" (assignment_expression "uVar48 = *param_4" identifier = (pointer_expression "*param_4" * identifier)) ;) (expression_statement "auVar2._8_8_ = 0;" (assignment_expression "auVar2._8_8_ = 0" (field_expression "auVar2._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8);" (assignment_expression "auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8)" (field_expression "auVar2._0_8_" identifier . field_identifier) = (pointer_expression "*(ulong *)(param_2 + uVar56 * -8)" * (cast_expression "(ulong *)(param_2 + uVar56 * -8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + uVar56 * -8)" ( (binary_expression "param_2 + uVar56 * -8" identifier + (binary_expression "uVar56 * -8" identifier * number_literal)) ))))) ;) (expression_statement "auVar20._8_8_ = 0;" (assignment_expression "auVar20._8_8_ = 0" (field_expression "auVar20._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar20._0_8_ = uVar48;" (assignment_expression "auVar20._0_8_ = uVar48" (field_expression "auVar20._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar2 = auVar2 * auVar20;" (assignment_expression "auVar2 = auVar2 * auVar20" identifier = (binary_expression "auVar2 * auVar20" identifier * identifier)) ;) (expression_statement "uVar57 = -uVar56 & 0xfffffffffffffffc;" (assignment_expression "uVar57 = -uVar56 & 0xfffffffffffffffc" identifier = (binary_expression "-uVar56 & 0xfffffffffffffffc" (unary_expression "-uVar56" - identifier) & number_literal)) ;) (expression_statement "uVar51 = (uint)uVar56 & 3;" (assignment_expression "uVar51 = (uint)uVar56 & 3" identifier = (binary_expression "(uint)uVar56 & 3" (cast_expression "(uint)uVar56" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "uVar52 = (ulong)uVar51;" (assignment_expression "uVar52 = (ulong)uVar51" identifier = (cast_expression "(ulong)uVar51" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134a72;\n      }" if (parenthesized_expression "((uVar56 & 3) == 0)" ( (binary_expression "(uVar56 & 3) == 0" (parenthesized_expression "(uVar56 & 3)" ( (binary_expression "uVar56 & 3" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134a72;\n      }" { (expression_statement "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60" identifier = (cast_expression "(code *)&DAT_00134c60" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00134c60" & identifier))) ;) (goto_statement "goto LAB_00134a72;" goto statement_identifier ;) })) (if_statement "if (uVar51 < 2) {\n        uVar57 = uVar57 + 4;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        goto LAB_00134a5f;\n      }" if (parenthesized_expression "(uVar51 < 2)" ( (binary_expression "uVar51 < 2" identifier < number_literal) )) (compound_statement "{\n        uVar57 = uVar57 + 4;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        goto LAB_00134a5f;\n      }" { (expression_statement "uVar57 = uVar57 + 4;" (assignment_expression "uVar57 = uVar57 + 4" identifier = (binary_expression "uVar57 + 4" identifier + number_literal)) ;) (expression_statement "uVar56 = *(ulong *)(param_2 + uVar57 * 8);" (assignment_expression "uVar56 = *(ulong *)(param_2 + uVar57 * 8)" identifier = (pointer_expression "*(ulong *)(param_2 + uVar57 * 8)" * (cast_expression "(ulong *)(param_2 + uVar57 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + uVar57 * 8)" ( (binary_expression "param_2 + uVar57 * 8" identifier + (binary_expression "uVar57 * 8" identifier * number_literal)) ))))) ;) (expression_statement "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80" identifier = (cast_expression "(code *)&DAT_00134c80" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00134c80" & identifier))) ;) (goto_statement "goto LAB_00134a5f;" goto statement_identifier ;) })) (if_statement "if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        uVar52 = uVar57;\n        goto LAB_00134aa7;\n      }" if (parenthesized_expression "(uVar51 == 2)" ( (binary_expression "uVar51 == 2" identifier == number_literal) )) (compound_statement "{\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        uVar52 = uVar57;\n        goto LAB_00134aa7;\n      }" { (expression_statement "uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);" (assignment_expression "uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8)" identifier = (pointer_expression "*(ulong *)(param_2 + 0x18 + uVar57 * 8)" * (cast_expression "(ulong *)(param_2 + 0x18 + uVar57 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18 + uVar57 * 8)" ( (binary_expression "param_2 + 0x18 + uVar57 * 8" (binary_expression "param_2 + 0x18" identifier + number_literal) + (binary_expression "uVar57 * 8" identifier * number_literal)) ))))) ;) (expression_statement "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0" identifier = (cast_expression "(code *)&DAT_00134ca0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00134ca0" & identifier))) ;) (expression_statement "uVar52 = uVar57;" (assignment_expression "uVar52 = uVar57" identifier = identifier) ;) (goto_statement "goto LAB_00134aa7;" goto statement_identifier ;) })) (expression_statement "UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0" identifier = (cast_expression "(code *)&LAB_00134cc0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&LAB_00134cc0" & identifier))) ;) (while_statement "while( true ) {\n        auVar45._8_8_ = 0;\n        auVar45._0_8_ = auVar2._8_8_;\n        auVar5._8_8_ = 0;\n        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar23._8_8_ = 0;\n        auVar23._0_8_ = uVar48;\n        plVar1[uVar57 + 1] = auVar2._0_8_;\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        auVar2 = auVar5 * auVar23 + auVar45;\n        uVar52 = uVar57;\nLAB_00134aa7:\n        auVar46._8_8_ = 0;\n        auVar46._0_8_ = auVar2._8_8_;\n        auVar40._8_8_ = 0;\n        auVar40._0_8_ = auVar2._8_8_;\n        auVar6._8_8_ = 0;\n        auVar6._0_8_ = uVar56;\n        auVar24._8_8_ = 0;\n        auVar24._0_8_ = uVar48;\n        uVar57 = uVar52 + 4;\n        if (-1 < (long)uVar57) break;\n        plVar1[uVar52 + 2] = auVar2._0_8_;\n        auVar2 = auVar6 * auVar24 + auVar40;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\nLAB_00134a5f:\n        auVar38._8_8_ = 0;\n        auVar38._0_8_ = auVar2._8_8_;\n        uVar52 = 0;\n        auVar3._8_8_ = 0;\n        auVar3._0_8_ = uVar56;\n        auVar21._8_8_ = 0;\n        auVar21._0_8_ = uVar48;\n        plVar1[uVar57 - 1] = auVar2._0_8_;\n        auVar2 = auVar3 * auVar21 + auVar38;\nLAB_00134a72:\n        auVar39._8_8_ = uVar52;\n        auVar39._0_8_ = auVar2._8_8_;\n        auVar4._8_8_ = 0;\n        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar22._8_8_ = 0;\n        auVar22._0_8_ = uVar48;\n        plVar1[uVar57] = auVar2._0_8_;\n        auVar2 = auVar4 * auVar22 + auVar39;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        auVar45._8_8_ = 0;\n        auVar45._0_8_ = auVar2._8_8_;\n        auVar5._8_8_ = 0;\n        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar23._8_8_ = 0;\n        auVar23._0_8_ = uVar48;\n        plVar1[uVar57 + 1] = auVar2._0_8_;\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        auVar2 = auVar5 * auVar23 + auVar45;\n        uVar52 = uVar57;\nLAB_00134aa7:\n        auVar46._8_8_ = 0;\n        auVar46._0_8_ = auVar2._8_8_;\n        auVar40._8_8_ = 0;\n        auVar40._0_8_ = auVar2._8_8_;\n        auVar6._8_8_ = 0;\n        auVar6._0_8_ = uVar56;\n        auVar24._8_8_ = 0;\n        auVar24._0_8_ = uVar48;\n        uVar57 = uVar52 + 4;\n        if (-1 < (long)uVar57) break;\n        plVar1[uVar52 + 2] = auVar2._0_8_;\n        auVar2 = auVar6 * auVar24 + auVar40;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\nLAB_00134a5f:\n        auVar38._8_8_ = 0;\n        auVar38._0_8_ = auVar2._8_8_;\n        uVar52 = 0;\n        auVar3._8_8_ = 0;\n        auVar3._0_8_ = uVar56;\n        auVar21._8_8_ = 0;\n        auVar21._0_8_ = uVar48;\n        plVar1[uVar57 - 1] = auVar2._0_8_;\n        auVar2 = auVar3 * auVar21 + auVar38;\nLAB_00134a72:\n        auVar39._8_8_ = uVar52;\n        auVar39._0_8_ = auVar2._8_8_;\n        auVar4._8_8_ = 0;\n        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar22._8_8_ = 0;\n        auVar22._0_8_ = uVar48;\n        plVar1[uVar57] = auVar2._0_8_;\n        auVar2 = auVar4 * auVar22 + auVar39;\n      }" { (expression_statement "auVar45._8_8_ = 0;" (assignment_expression "auVar45._8_8_ = 0" (field_expression "auVar45._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar45._0_8_ = auVar2._8_8_;" (assignment_expression "auVar45._0_8_ = auVar2._8_8_" (field_expression "auVar45._0_8_" identifier . field_identifier) = (field_expression "auVar2._8_8_" identifier . field_identifier)) ;) (expression_statement "auVar5._8_8_ = 0;" (assignment_expression "auVar5._8_8_ = 0" (field_expression "auVar5._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);" (assignment_expression "auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8)" (field_expression "auVar5._0_8_" identifier . field_identifier) = (pointer_expression "*(ulong *)(param_2 + 0x10 + uVar57 * 8)" * (cast_expression "(ulong *)(param_2 + 0x10 + uVar57 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10 + uVar57 * 8)" ( (binary_expression "param_2 + 0x10 + uVar57 * 8" (binary_expression "param_2 + 0x10" identifier + number_literal) + (binary_expression "uVar57 * 8" identifier * number_literal)) ))))) ;) (expression_statement "auVar23._8_8_ = 0;" (assignment_expression "auVar23._8_8_ = 0" (field_expression "auVar23._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar23._0_8_ = uVar48;" (assignment_expression "auVar23._0_8_ = uVar48" (field_expression "auVar23._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "plVar1[uVar57 + 1] = auVar2._0_8_;" (assignment_expression "plVar1[uVar57 + 1] = auVar2._0_8_" (subscript_expression "plVar1[uVar57 + 1]" identifier [ (binary_expression "uVar57 + 1" identifier + number_literal) ]) = (field_expression "auVar2._0_8_" identifier . field_identifier)) ;) (expression_statement "uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);" (assignment_expression "uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8)" identifier = (pointer_expression "*(ulong *)(param_2 + 0x18 + uVar57 * 8)" * (cast_expression "(ulong *)(param_2 + 0x18 + uVar57 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18 + uVar57 * 8)" ( (binary_expression "param_2 + 0x18 + uVar57 * 8" (binary_expression "param_2 + 0x18" identifier + number_literal) + (binary_expression "uVar57 * 8" identifier * number_literal)) ))))) ;) (expression_statement "auVar2 = auVar5 * auVar23 + auVar45;" (assignment_expression "auVar2 = auVar5 * auVar23 + auVar45" identifier = (binary_expression "auVar5 * auVar23 + auVar45" (binary_expression "auVar5 * auVar23" identifier * identifier) + identifier)) ;) (expression_statement "uVar52 = uVar57;" (assignment_expression "uVar52 = uVar57" identifier = identifier) ;) (labeled_statement "LAB_00134aa7:\n        auVar46._8_8_ = 0;" statement_identifier : (expression_statement "auVar46._8_8_ = 0;" (assignment_expression "auVar46._8_8_ = 0" (field_expression "auVar46._8_8_" identifier . field_identifier) = number_literal) ;)) (expression_statement "auVar46._0_8_ = auVar2._8_8_;" (assignment_expression "auVar46._0_8_ = auVar2._8_8_" (field_expression "auVar46._0_8_" identifier . field_identifier) = (field_expression "auVar2._8_8_" identifier . field_identifier)) ;) (expression_statement "auVar40._8_8_ = 0;" (assignment_expression "auVar40._8_8_ = 0" (field_expression "auVar40._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar40._0_8_ = auVar2._8_8_;" (assignment_expression "auVar40._0_8_ = auVar2._8_8_" (field_expression "auVar40._0_8_" identifier . field_identifier) = (field_expression "auVar2._8_8_" identifier . field_identifier)) ;) (expression_statement "auVar6._8_8_ = 0;" (assignment_expression "auVar6._8_8_ = 0" (field_expression "auVar6._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar6._0_8_ = uVar56;" (assignment_expression "auVar6._0_8_ = uVar56" (field_expression "auVar6._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar24._8_8_ = 0;" (assignment_expression "auVar24._8_8_ = 0" (field_expression "auVar24._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar24._0_8_ = uVar48;" (assignment_expression "auVar24._0_8_ = uVar48" (field_expression "auVar24._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "uVar57 = uVar52 + 4;" (assignment_expression "uVar57 = uVar52 + 4" identifier = (binary_expression "uVar52 + 4" identifier + number_literal)) ;) (if_statement "if (-1 < (long)uVar57) break;" if (parenthesized_expression "(-1 < (long)uVar57)" ( (binary_expression "-1 < (long)uVar57" number_literal < (cast_expression "(long)uVar57" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )) (break_statement "break;" break ;)) (expression_statement "plVar1[uVar52 + 2] = auVar2._0_8_;" (assignment_expression "plVar1[uVar52 + 2] = auVar2._0_8_" (subscript_expression "plVar1[uVar52 + 2]" identifier [ (binary_expression "uVar52 + 2" identifier + number_literal) ]) = (field_expression "auVar2._0_8_" identifier . field_identifier)) ;) (expression_statement "auVar2 = auVar6 * auVar24 + auVar40;" (assignment_expression "auVar2 = auVar6 * auVar24 + auVar40" identifier = (binary_expression "auVar6 * auVar24 + auVar40" (binary_expression "auVar6 * auVar24" identifier * identifier) + identifier)) ;) (expression_statement "uVar56 = *(ulong *)(param_2 + uVar57 * 8);" (assignment_expression "uVar56 = *(ulong *)(param_2 + uVar57 * 8)" identifier = (pointer_expression "*(ulong *)(param_2 + uVar57 * 8)" * (cast_expression "(ulong *)(param_2 + uVar57 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + uVar57 * 8)" ( (binary_expression "param_2 + uVar57 * 8" identifier + (binary_expression "uVar57 * 8" identifier * number_literal)) ))))) ;) (labeled_statement "LAB_00134a5f:\n        auVar38._8_8_ = 0;" statement_identifier : (expression_statement "auVar38._8_8_ = 0;" (assignment_expression "auVar38._8_8_ = 0" (field_expression "auVar38._8_8_" identifier . field_identifier) = number_literal) ;)) (expression_statement "auVar38._0_8_ = auVar2._8_8_;" (assignment_expression "auVar38._0_8_ = auVar2._8_8_" (field_expression "auVar38._0_8_" identifier . field_identifier) = (field_expression "auVar2._8_8_" identifier . field_identifier)) ;) (expression_statement "uVar52 = 0;" (assignment_expression "uVar52 = 0" identifier = number_literal) ;) (expression_statement "auVar3._8_8_ = 0;" (assignment_expression "auVar3._8_8_ = 0" (field_expression "auVar3._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar3._0_8_ = uVar56;" (assignment_expression "auVar3._0_8_ = uVar56" (field_expression "auVar3._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "auVar21._8_8_ = 0;" (assignment_expression "auVar21._8_8_ = 0" (field_expression "auVar21._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar21._0_8_ = uVar48;" (assignment_expression "auVar21._0_8_ = uVar48" (field_expression "auVar21._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "plVar1[uVar57 - 1] = auVar2._0_8_;" (assignment_expression "plVar1[uVar57 - 1] = auVar2._0_8_" (subscript_expression "plVar1[uVar57 - 1]" identifier [ (binary_expression "uVar57 - 1" identifier - number_literal) ]) = (field_expression "auVar2._0_8_" identifier . field_identifier)) ;) (expression_statement "auVar2 = auVar3 * auVar21 + auVar38;" (assignment_expression "auVar2 = auVar3 * auVar21 + auVar38" identifier = (binary_expression "auVar3 * auVar21 + auVar38" (binary_expression "auVar3 * auVar21" identifier * identifier) + identifier)) ;) (labeled_statement "LAB_00134a72:\n        auVar39._8_8_ = uVar52;" statement_identifier : (expression_statement "auVar39._8_8_ = uVar52;" (assignment_expression "auVar39._8_8_ = uVar52" (field_expression "auVar39._8_8_" identifier . field_identifier) = identifier) ;)) (expression_statement "auVar39._0_8_ = auVar2._8_8_;" (assignment_expression "auVar39._0_8_ = auVar2._8_8_" (field_expression "auVar39._0_8_" identifier . field_identifier) = (field_expression "auVar2._8_8_" identifier . field_identifier)) ;) (expression_statement "auVar4._8_8_ = 0;" (assignment_expression "auVar4._8_8_ = 0" (field_expression "auVar4._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);" (assignment_expression "auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8)" (field_expression "auVar4._0_8_" identifier . field_identifier) = (pointer_expression "*(ulong *)(param_2 + 8 + uVar57 * 8)" * (cast_expression "(ulong *)(param_2 + 8 + uVar57 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8 + uVar57 * 8)" ( (binary_expression "param_2 + 8 + uVar57 * 8" (binary_expression "param_2 + 8" identifier + number_literal) + (binary_expression "uVar57 * 8" identifier * number_literal)) ))))) ;) (expression_statement "auVar22._8_8_ = 0;" (assignment_expression "auVar22._8_8_ = 0" (field_expression "auVar22._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar22._0_8_ = uVar48;" (assignment_expression "auVar22._0_8_ = uVar48" (field_expression "auVar22._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "plVar1[uVar57] = auVar2._0_8_;" (assignment_expression "plVar1[uVar57] = auVar2._0_8_" (subscript_expression "plVar1[uVar57]" identifier [ identifier ]) = (field_expression "auVar2._0_8_" identifier . field_identifier)) ;) (expression_statement "auVar2 = auVar4 * auVar22 + auVar39;" (assignment_expression "auVar2 = auVar4 * auVar22 + auVar39" identifier = (binary_expression "auVar4 * auVar22 + auVar39" (binary_expression "auVar4 * auVar22" identifier * identifier) + identifier)) ;) })) (expression_statement "plVar1[-2] = auVar2._0_8_;" (assignment_expression "plVar1[-2] = auVar2._0_8_" (subscript_expression "plVar1[-2]" identifier [ number_literal ]) = (field_expression "auVar2._0_8_" identifier . field_identifier)) ;) (expression_statement "auVar46 = auVar6 * auVar24 + auVar46;" (assignment_expression "auVar46 = auVar6 * auVar24 + auVar46" identifier = (binary_expression "auVar6 * auVar24 + auVar46" (binary_expression "auVar6 * auVar24" identifier * identifier) + identifier)) ;) (expression_statement "plVar1[-1] = auVar46._0_8_;" (assignment_expression "plVar1[-1] = auVar46._0_8_" (subscript_expression "plVar1[-1]" identifier [ number_literal ]) = (field_expression "auVar46._0_8_" identifier . field_identifier)) ;) (expression_statement "plVar1[1] = 0;" (assignment_expression "plVar1[1] = 0" (subscript_expression "plVar1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*plVar1 = auVar46._8_8_;" (assignment_expression "*plVar1 = auVar46._8_8_" (pointer_expression "*plVar1" * identifier) = (field_expression "auVar46._8_8_" identifier . field_identifier)) ;) (if_statement "if (param_5 != 1) {\n                    \n                    \n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);\n        return;\n      }" if (parenthesized_expression "(param_5 != 1)" ( (binary_expression "param_5 != 1" identifier != number_literal) )) (compound_statement "{\n                    \n                    \n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);\n        return;\n      }" { (expression_statement "(*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);" (call_expression "(*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "(plVar1,param_2 + -8)" ( identifier , (binary_expression "param_2 + -8" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) }))) }))) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) - IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT * IDENT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT * IDENT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT || (call_expression IDENT (argument_list ( IDENT , IDENT )))) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;)) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT * IDENT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT * IDENT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT || (call_expression IDENT (argument_list ( IDENT , IDENT )))) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;)) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT * IDENT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT * IDENT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT || (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) )))) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;)) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT * IDENT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT * IDENT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT || (call_expression IDENT (argument_list ( IDENT , IDENT )))) ))))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (call_expression IDENT (argument_list ( IDENT , IDENT ))) || (call_expression IDENT (argument_list ( (binary_expression IDENT + IDENT) , (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT )))) )))) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (unary_expression - IDENT) ]) = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT , IDENT ))) ;) (return_statement return ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (binary_expression IDENT + IDENT) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT )))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (unary_expression - IDENT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT * IDENT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT * IDENT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (field_expression IDENT . field_identifier) + IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))) || (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) = (binary_expression (field_expression IDENT . field_identifier) + IDENT)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression IDENT * LIT)) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;)) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT * IDENT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT * IDENT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (field_expression IDENT . field_identifier) + IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))) || (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * IDENT) + IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;)) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT * IDENT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT * IDENT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (field_expression IDENT . field_identifier) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))) || (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) = (binary_expression (field_expression IDENT . field_identifier) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * IDENT) + IDENT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;)) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT * IDENT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT * IDENT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (field_expression IDENT . field_identifier) + IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))) || (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * IDENT) + IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (binary_expression IDENT + IDENT)) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) (return_statement return ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (unary_expression - IDENT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;)) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) )) (break_statement break ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;)) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression IDENT - LIT) ]) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * IDENT) + IDENT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;)) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * IDENT) + IDENT)) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * IDENT) + IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (field_expression IDENT . field_identifier)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) (return_statement return ;) })) }))) }))) (return_statement return ;) })))
(function_definition "void __gmpn_mulmid_basecase(long param_1,long param_2,long param_3,ulong *param_4,ulong param_5)\n\n{\n  long *plVar1;\n  undefined1 auVar2 [16];\n  undefined1 auVar3 [16];\n  undefined1 auVar4 [16];\n  undefined1 auVar5 [16];\n  undefined1 auVar6 [16];\n  undefined1 auVar7 [16];\n  undefined1 auVar8 [16];\n  undefined1 auVar9 [16];\n  undefined1 auVar10 [16];\n  undefined1 auVar11 [16];\n  undefined1 auVar12 [16];\n  undefined1 auVar13 [16];\n  undefined1 auVar14 [16];\n  undefined1 auVar15 [16];\n  undefined1 auVar16 [16];\n  undefined1 auVar17 [16];\n  undefined1 auVar18 [16];\n  undefined1 auVar19 [16];\n  undefined1 auVar20 [16];\n  undefined1 auVar21 [16];\n  undefined1 auVar22 [16];\n  undefined1 auVar23 [16];\n  undefined1 auVar24 [16];\n  undefined1 auVar25 [16];\n  undefined1 auVar26 [16];\n  undefined1 auVar27 [16];\n  undefined1 auVar28 [16];\n  undefined1 auVar29 [16];\n  undefined1 auVar30 [16];\n  undefined1 auVar31 [16];\n  undefined1 auVar32 [16];\n  undefined1 auVar33 [16];\n  undefined1 auVar34 [16];\n  undefined1 auVar35 [16];\n  undefined1 auVar36 [16];\n  undefined1 auVar37 [16];\n  undefined1 auVar38 [16];\n  undefined1 auVar39 [16];\n  undefined1 auVar40 [16];\n  undefined1 auVar41 [16];\n  undefined1 auVar42 [16];\n  undefined1 auVar43 [16];\n  undefined1 auVar44 [16];\n  undefined1 auVar45 [16];\n  undefined1 auVar46 [16];\n  ulong uVar47;\n  ulong uVar48;\n  ulong uVar49;\n  ulong uVar50;\n  uint uVar51;\n  ulong uVar52;\n  ulong uVar53;\n  long lVar54;\n  ulong *puVar55;\n  ulong uVar56;\n  ulong uVar57;\n  code *UNRECOVERED_JUMPTABLE;\n  bool bVar58;\n  bool bVar59;\n  \n  uVar56 = (param_3 + 1) - param_5;\n  plVar1 = (long *)(param_1 + uVar56 * 8);\n  if (uVar56 < 4) {\n    uVar52 = 0;\n    uVar48 = 0;\n    lVar54 = 0;\n    uVar51 = (uint)param_5 & 3;\n    if ((param_5 & 3) == 0) {\n      UNRECOVERED_JUMPTABLE = (code *)0x134e0c;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      puVar55 = param_4;\n      goto LAB_00134e5f;\n    }\n    if (uVar51 < 2) {\n      puVar55 = param_4 + 1;\n      param_5 = param_5 + 3;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e28;\n      uVar57 = *param_4;\n      goto LAB_00134e9a;\n    }\n    if (uVar51 == 2) {\n      puVar55 = param_4 + -2;\n      param_5 = param_5 + 2;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e43;\n      uVar57 = *param_4;\n      goto LAB_00134e83;\n    }\n    puVar55 = param_4 + -1;\n    param_5 = param_5 + 1;\n    UNRECOVERED_JUMPTABLE = (code *)0x134e6c;\n    while( true ) {\n      auVar17._8_8_ = 0;\n      auVar17._0_8_ = *(ulong *)(param_2 + -0x10 + param_5 * 8);\n      auVar35._8_8_ = 0;\n      auVar35._0_8_ = puVar55[1];\n      uVar47 = SUB168(auVar17 * auVar35,8);\n      uVar57 = SUB168(auVar17 * auVar35,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[2];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e83:\n      auVar18._8_8_ = 0;\n      auVar18._0_8_ = uVar57;\n      auVar36._8_8_ = 0;\n      auVar36._0_8_ = *(ulong *)(param_2 + -0x18 + param_5 * 8);\n      uVar47 = SUB168(auVar18 * auVar36,8);\n      uVar57 = SUB168(auVar18 * auVar36,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[3];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      puVar55 = puVar55 + 4;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e9a:\n      auVar19._8_8_ = 0;\n      auVar19._0_8_ = uVar57;\n      auVar37._8_8_ = 0;\n      auVar37._0_8_ = *(ulong *)(param_2 + -0x20 + param_5 * 8);\n      uVar50 = SUB168(auVar19 * auVar37,8);\n      uVar57 = SUB168(auVar19 * auVar37,0);\n      param_5 = param_5 - 4;\n      if (param_5 == 0) break;\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      bVar59 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + bVar58;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      lVar54 = lVar54 + (ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58));\nLAB_00134e5f:\n      auVar16._8_8_ = 0;\n      auVar16._0_8_ = uVar57;\n      auVar34._8_8_ = 0;\n      auVar34._0_8_ = *puVar55;\n      uVar50 = SUB168(auVar16 * auVar34,8);\n      uVar57 = SUB168(auVar16 * auVar34,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + uVar57;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar50,uVar57));\n    }\n    lVar54 = lVar54 + (ulong)(CARRY8(uVar48,uVar50) ||\n                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57)));\n    plVar1[-uVar56] = uVar52 + uVar57;\n    if (uVar56 != 1) {\n                    \n                    \n      (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + 8,uVar50,lVar54);\n      return;\n    }\n    *plVar1 = uVar48 + uVar50 + (ulong)CARRY8(uVar52,uVar57);\n    plVar1[1] = lVar54;\n  }\n  else {\n    param_2 = param_2 + param_3 * 8;\n    if ((param_5 & 1) == 0) {\n      uVar48 = *param_4;\n      uVar52 = param_4[1];\n      auVar7._8_8_ = 0;\n      auVar7._0_8_ = *(ulong *)(param_2 + -8 + uVar56 * -8);\n      auVar25._8_8_ = 0;\n      auVar25._0_8_ = uVar52;\n      auVar7 = auVar7 * auVar25;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134b8e;\n      }\n      if (uVar51 < 2) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        uVar56 = uVar57;\n        goto LAB_00134c0d;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        goto LAB_00134be9;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar11._8_8_ = 0;\n        auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar29._8_8_ = 0;\n        auVar29._0_8_ = uVar48;\n        uVar49 = SUB168(auVar11 * auVar29,8);\n        uVar47 = SUB168(auVar11 * auVar29,0);\n        uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar43._0_8_ = uVar50 + uVar56;\n        auVar43._9_7_ = 0;\n        uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;\n        auVar12._8_8_ = 0;\n        auVar12._0_8_ = uVar56;\n        auVar30._8_8_ = 0;\n        auVar30._0_8_ = uVar52;\n        auVar7 = auVar12 * auVar30 + auVar43;\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\nLAB_00134be9:\n        uVar53 = auVar7._0_8_;\n        auVar13._8_8_ = 0;\n        auVar13._0_8_ = uVar56;\n        auVar31._8_8_ = 0;\n        auVar31._0_8_ = uVar48;\n        uVar49 = SUB168(auVar13 * auVar31,8);\n        uVar47 = SUB168(auVar13 * auVar31,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar44._0_8_ = uVar50 + uVar56;\n        auVar44._9_7_ = 0;\n        auVar14._8_8_ = 0;\n        auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar32._8_8_ = 0;\n        auVar32._0_8_ = uVar52;\n        auVar7 = auVar14 * auVar32 + auVar44;\n        plVar1[uVar57 + 2] = uVar53 + uVar47;\n        uVar56 = uVar57;\nLAB_00134c0d:\n        auVar15._8_8_ = 0;\n        auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);\n        auVar33._8_8_ = 0;\n        auVar33._0_8_ = uVar48;\n        uVar49 = SUB168(auVar15 * auVar33,8);\n        uVar47 = SUB168(auVar15 * auVar33,0);\n        uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);\n        lVar54 = uVar50 + uVar57;\n        auVar41[8] = bVar58;\n        auVar41._0_8_ = lVar54;\n        auVar41._9_7_ = 0;\n        uVar57 = uVar56 + 4;\n        plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;\n        if (uVar57 == 0) break;\n        auVar8._8_8_ = 0;\n        auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);\n        auVar26._8_8_ = 0;\n        auVar26._0_8_ = uVar52;\n        auVar7 = auVar8 * auVar26 + auVar41;\nLAB_00134b8e:\n        uVar53 = auVar7._0_8_;\n        auVar9._8_8_ = 0;\n        auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar27._8_8_ = 0;\n        auVar27._0_8_ = uVar48;\n        uVar49 = SUB168(auVar9 * auVar27,8);\n        uVar47 = SUB168(auVar9 * auVar27,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar42._0_8_ = uVar50 + uVar56;\n        auVar42._9_7_ = 0;\n        auVar10._8_8_ = 0;\n        auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar28._8_8_ = 0;\n        auVar28._0_8_ = uVar52;\n        auVar7 = auVar10 * auVar28 + auVar42;\n        plVar1[uVar57] = uVar53 + uVar47;\n      }\n      *plVar1 = lVar54;\n      plVar1[1] = (ulong)bVar58;\n      if (param_5 != 2) {\n                    \n                    \n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);\n        return;\n      }\n    }\n    else {\n      uVar48 = *param_4;\n      auVar2._8_8_ = 0;\n      auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8);\n      auVar20._8_8_ = 0;\n      auVar20._0_8_ = uVar48;\n      auVar2 = auVar2 * auVar20;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      uVar52 = (ulong)uVar51;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134a72;\n      }\n      if (uVar51 < 2) {\n        uVar57 = uVar57 + 4;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        goto LAB_00134a5f;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        uVar52 = uVar57;\n        goto LAB_00134aa7;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar45._8_8_ = 0;\n        auVar45._0_8_ = auVar2._8_8_;\n        auVar5._8_8_ = 0;\n        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar23._8_8_ = 0;\n        auVar23._0_8_ = uVar48;\n        plVar1[uVar57 + 1] = auVar2._0_8_;\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        auVar2 = auVar5 * auVar23 + auVar45;\n        uVar52 = uVar57;\nLAB_00134aa7:\n        auVar46._8_8_ = 0;\n        auVar46._0_8_ = auVar2._8_8_;\n        auVar40._8_8_ = 0;\n        auVar40._0_8_ = auVar2._8_8_;\n        auVar6._8_8_ = 0;\n        auVar6._0_8_ = uVar56;\n        auVar24._8_8_ = 0;\n        auVar24._0_8_ = uVar48;\n        uVar57 = uVar52 + 4;\n        if (-1 < (long)uVar57) break;\n        plVar1[uVar52 + 2] = auVar2._0_8_;\n        auVar2 = auVar6 * auVar24 + auVar40;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\nLAB_00134a5f:\n        auVar38._8_8_ = 0;\n        auVar38._0_8_ = auVar2._8_8_;\n        uVar52 = 0;\n        auVar3._8_8_ = 0;\n        auVar3._0_8_ = uVar56;\n        auVar21._8_8_ = 0;\n        auVar21._0_8_ = uVar48;\n        plVar1[uVar57 - 1] = auVar2._0_8_;\n        auVar2 = auVar3 * auVar21 + auVar38;\nLAB_00134a72:\n        auVar39._8_8_ = uVar52;\n        auVar39._0_8_ = auVar2._8_8_;\n        auVar4._8_8_ = 0;\n        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar22._8_8_ = 0;\n        auVar22._0_8_ = uVar48;\n        plVar1[uVar57] = auVar2._0_8_;\n        auVar2 = auVar4 * auVar22 + auVar39;\n      }\n      plVar1[-2] = auVar2._0_8_;\n      auVar46 = auVar6 * auVar24 + auVar46;\n      plVar1[-1] = auVar46._0_8_;\n      plVar1[1] = 0;\n      *plVar1 = auVar46._8_8_;\n      if (param_5 != 1) {\n                    \n                    \n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);\n        return;\n      }\n    }\n  }\n  return;\n}" (primitive_type "void") (function_declarator "__gmpn_mulmid_basecase(long param_1,long param_2,long param_3,ulong *param_4,ulong param_5)" (identifier "__gmpn_mulmid_basecase") (parameter_list "(long param_1,long param_2,long param_3,ulong *param_4,ulong param_5)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "long param_2" (sized_type_specifier "long" (long "long")) (identifier "param_2")) (, ",") (parameter_declaration "long param_3" (sized_type_specifier "long" (long "long")) (identifier "param_3")) (, ",") (parameter_declaration "ulong *param_4" (type_identifier "ulong") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) (, ",") (parameter_declaration "ulong param_5" (type_identifier "ulong") (identifier "param_5")) () ")"))) (compound_statement "{\n  long *plVar1;\n  undefined1 auVar2 [16];\n  undefined1 auVar3 [16];\n  undefined1 auVar4 [16];\n  undefined1 auVar5 [16];\n  undefined1 auVar6 [16];\n  undefined1 auVar7 [16];\n  undefined1 auVar8 [16];\n  undefined1 auVar9 [16];\n  undefined1 auVar10 [16];\n  undefined1 auVar11 [16];\n  undefined1 auVar12 [16];\n  undefined1 auVar13 [16];\n  undefined1 auVar14 [16];\n  undefined1 auVar15 [16];\n  undefined1 auVar16 [16];\n  undefined1 auVar17 [16];\n  undefined1 auVar18 [16];\n  undefined1 auVar19 [16];\n  undefined1 auVar20 [16];\n  undefined1 auVar21 [16];\n  undefined1 auVar22 [16];\n  undefined1 auVar23 [16];\n  undefined1 auVar24 [16];\n  undefined1 auVar25 [16];\n  undefined1 auVar26 [16];\n  undefined1 auVar27 [16];\n  undefined1 auVar28 [16];\n  undefined1 auVar29 [16];\n  undefined1 auVar30 [16];\n  undefined1 auVar31 [16];\n  undefined1 auVar32 [16];\n  undefined1 auVar33 [16];\n  undefined1 auVar34 [16];\n  undefined1 auVar35 [16];\n  undefined1 auVar36 [16];\n  undefined1 auVar37 [16];\n  undefined1 auVar38 [16];\n  undefined1 auVar39 [16];\n  undefined1 auVar40 [16];\n  undefined1 auVar41 [16];\n  undefined1 auVar42 [16];\n  undefined1 auVar43 [16];\n  undefined1 auVar44 [16];\n  undefined1 auVar45 [16];\n  undefined1 auVar46 [16];\n  ulong uVar47;\n  ulong uVar48;\n  ulong uVar49;\n  ulong uVar50;\n  uint uVar51;\n  ulong uVar52;\n  ulong uVar53;\n  long lVar54;\n  ulong *puVar55;\n  ulong uVar56;\n  ulong uVar57;\n  code *UNRECOVERED_JUMPTABLE;\n  bool bVar58;\n  bool bVar59;\n  \n  uVar56 = (param_3 + 1) - param_5;\n  plVar1 = (long *)(param_1 + uVar56 * 8);\n  if (uVar56 < 4) {\n    uVar52 = 0;\n    uVar48 = 0;\n    lVar54 = 0;\n    uVar51 = (uint)param_5 & 3;\n    if ((param_5 & 3) == 0) {\n      UNRECOVERED_JUMPTABLE = (code *)0x134e0c;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      puVar55 = param_4;\n      goto LAB_00134e5f;\n    }\n    if (uVar51 < 2) {\n      puVar55 = param_4 + 1;\n      param_5 = param_5 + 3;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e28;\n      uVar57 = *param_4;\n      goto LAB_00134e9a;\n    }\n    if (uVar51 == 2) {\n      puVar55 = param_4 + -2;\n      param_5 = param_5 + 2;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e43;\n      uVar57 = *param_4;\n      goto LAB_00134e83;\n    }\n    puVar55 = param_4 + -1;\n    param_5 = param_5 + 1;\n    UNRECOVERED_JUMPTABLE = (code *)0x134e6c;\n    while( true ) {\n      auVar17._8_8_ = 0;\n      auVar17._0_8_ = *(ulong *)(param_2 + -0x10 + param_5 * 8);\n      auVar35._8_8_ = 0;\n      auVar35._0_8_ = puVar55[1];\n      uVar47 = SUB168(auVar17 * auVar35,8);\n      uVar57 = SUB168(auVar17 * auVar35,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[2];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e83:\n      auVar18._8_8_ = 0;\n      auVar18._0_8_ = uVar57;\n      auVar36._8_8_ = 0;\n      auVar36._0_8_ = *(ulong *)(param_2 + -0x18 + param_5 * 8);\n      uVar47 = SUB168(auVar18 * auVar36,8);\n      uVar57 = SUB168(auVar18 * auVar36,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[3];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      puVar55 = puVar55 + 4;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e9a:\n      auVar19._8_8_ = 0;\n      auVar19._0_8_ = uVar57;\n      auVar37._8_8_ = 0;\n      auVar37._0_8_ = *(ulong *)(param_2 + -0x20 + param_5 * 8);\n      uVar50 = SUB168(auVar19 * auVar37,8);\n      uVar57 = SUB168(auVar19 * auVar37,0);\n      param_5 = param_5 - 4;\n      if (param_5 == 0) break;\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      bVar59 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + bVar58;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      lVar54 = lVar54 + (ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58));\nLAB_00134e5f:\n      auVar16._8_8_ = 0;\n      auVar16._0_8_ = uVar57;\n      auVar34._8_8_ = 0;\n      auVar34._0_8_ = *puVar55;\n      uVar50 = SUB168(auVar16 * auVar34,8);\n      uVar57 = SUB168(auVar16 * auVar34,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + uVar57;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar50,uVar57));\n    }\n    lVar54 = lVar54 + (ulong)(CARRY8(uVar48,uVar50) ||\n                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57)));\n    plVar1[-uVar56] = uVar52 + uVar57;\n    if (uVar56 != 1) {\n                    \n                    \n      (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + 8,uVar50,lVar54);\n      return;\n    }\n    *plVar1 = uVar48 + uVar50 + (ulong)CARRY8(uVar52,uVar57);\n    plVar1[1] = lVar54;\n  }\n  else {\n    param_2 = param_2 + param_3 * 8;\n    if ((param_5 & 1) == 0) {\n      uVar48 = *param_4;\n      uVar52 = param_4[1];\n      auVar7._8_8_ = 0;\n      auVar7._0_8_ = *(ulong *)(param_2 + -8 + uVar56 * -8);\n      auVar25._8_8_ = 0;\n      auVar25._0_8_ = uVar52;\n      auVar7 = auVar7 * auVar25;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134b8e;\n      }\n      if (uVar51 < 2) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        uVar56 = uVar57;\n        goto LAB_00134c0d;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        goto LAB_00134be9;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar11._8_8_ = 0;\n        auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar29._8_8_ = 0;\n        auVar29._0_8_ = uVar48;\n        uVar49 = SUB168(auVar11 * auVar29,8);\n        uVar47 = SUB168(auVar11 * auVar29,0);\n        uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar43._0_8_ = uVar50 + uVar56;\n        auVar43._9_7_ = 0;\n        uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;\n        auVar12._8_8_ = 0;\n        auVar12._0_8_ = uVar56;\n        auVar30._8_8_ = 0;\n        auVar30._0_8_ = uVar52;\n        auVar7 = auVar12 * auVar30 + auVar43;\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\nLAB_00134be9:\n        uVar53 = auVar7._0_8_;\n        auVar13._8_8_ = 0;\n        auVar13._0_8_ = uVar56;\n        auVar31._8_8_ = 0;\n        auVar31._0_8_ = uVar48;\n        uVar49 = SUB168(auVar13 * auVar31,8);\n        uVar47 = SUB168(auVar13 * auVar31,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar44._0_8_ = uVar50 + uVar56;\n        auVar44._9_7_ = 0;\n        auVar14._8_8_ = 0;\n        auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar32._8_8_ = 0;\n        auVar32._0_8_ = uVar52;\n        auVar7 = auVar14 * auVar32 + auVar44;\n        plVar1[uVar57 + 2] = uVar53 + uVar47;\n        uVar56 = uVar57;\nLAB_00134c0d:\n        auVar15._8_8_ = 0;\n        auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);\n        auVar33._8_8_ = 0;\n        auVar33._0_8_ = uVar48;\n        uVar49 = SUB168(auVar15 * auVar33,8);\n        uVar47 = SUB168(auVar15 * auVar33,0);\n        uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);\n        lVar54 = uVar50 + uVar57;\n        auVar41[8] = bVar58;\n        auVar41._0_8_ = lVar54;\n        auVar41._9_7_ = 0;\n        uVar57 = uVar56 + 4;\n        plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;\n        if (uVar57 == 0) break;\n        auVar8._8_8_ = 0;\n        auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);\n        auVar26._8_8_ = 0;\n        auVar26._0_8_ = uVar52;\n        auVar7 = auVar8 * auVar26 + auVar41;\nLAB_00134b8e:\n        uVar53 = auVar7._0_8_;\n        auVar9._8_8_ = 0;\n        auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar27._8_8_ = 0;\n        auVar27._0_8_ = uVar48;\n        uVar49 = SUB168(auVar9 * auVar27,8);\n        uVar47 = SUB168(auVar9 * auVar27,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar42._0_8_ = uVar50 + uVar56;\n        auVar42._9_7_ = 0;\n        auVar10._8_8_ = 0;\n        auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar28._8_8_ = 0;\n        auVar28._0_8_ = uVar52;\n        auVar7 = auVar10 * auVar28 + auVar42;\n        plVar1[uVar57] = uVar53 + uVar47;\n      }\n      *plVar1 = lVar54;\n      plVar1[1] = (ulong)bVar58;\n      if (param_5 != 2) {\n                    \n                    \n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);\n        return;\n      }\n    }\n    else {\n      uVar48 = *param_4;\n      auVar2._8_8_ = 0;\n      auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8);\n      auVar20._8_8_ = 0;\n      auVar20._0_8_ = uVar48;\n      auVar2 = auVar2 * auVar20;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      uVar52 = (ulong)uVar51;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134a72;\n      }\n      if (uVar51 < 2) {\n        uVar57 = uVar57 + 4;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        goto LAB_00134a5f;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        uVar52 = uVar57;\n        goto LAB_00134aa7;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar45._8_8_ = 0;\n        auVar45._0_8_ = auVar2._8_8_;\n        auVar5._8_8_ = 0;\n        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar23._8_8_ = 0;\n        auVar23._0_8_ = uVar48;\n        plVar1[uVar57 + 1] = auVar2._0_8_;\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        auVar2 = auVar5 * auVar23 + auVar45;\n        uVar52 = uVar57;\nLAB_00134aa7:\n        auVar46._8_8_ = 0;\n        auVar46._0_8_ = auVar2._8_8_;\n        auVar40._8_8_ = 0;\n        auVar40._0_8_ = auVar2._8_8_;\n        auVar6._8_8_ = 0;\n        auVar6._0_8_ = uVar56;\n        auVar24._8_8_ = 0;\n        auVar24._0_8_ = uVar48;\n        uVar57 = uVar52 + 4;\n        if (-1 < (long)uVar57) break;\n        plVar1[uVar52 + 2] = auVar2._0_8_;\n        auVar2 = auVar6 * auVar24 + auVar40;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\nLAB_00134a5f:\n        auVar38._8_8_ = 0;\n        auVar38._0_8_ = auVar2._8_8_;\n        uVar52 = 0;\n        auVar3._8_8_ = 0;\n        auVar3._0_8_ = uVar56;\n        auVar21._8_8_ = 0;\n        auVar21._0_8_ = uVar48;\n        plVar1[uVar57 - 1] = auVar2._0_8_;\n        auVar2 = auVar3 * auVar21 + auVar38;\nLAB_00134a72:\n        auVar39._8_8_ = uVar52;\n        auVar39._0_8_ = auVar2._8_8_;\n        auVar4._8_8_ = 0;\n        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar22._8_8_ = 0;\n        auVar22._0_8_ = uVar48;\n        plVar1[uVar57] = auVar2._0_8_;\n        auVar2 = auVar4 * auVar22 + auVar39;\n      }\n      plVar1[-2] = auVar2._0_8_;\n      auVar46 = auVar6 * auVar24 + auVar46;\n      plVar1[-1] = auVar46._0_8_;\n      plVar1[1] = 0;\n      *plVar1 = auVar46._8_8_;\n      if (param_5 != 1) {\n                    \n                    \n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);\n        return;\n      }\n    }\n  }\n  return;\n}" ({ "{") (declaration "long *plVar1;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar1" (* "*") (identifier "plVar1")) (; ";")) (declaration "undefined1 auVar2 [16];" (type_identifier "undefined1") (array_declarator "auVar2 [16]" (identifier "auVar2") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar3 [16];" (type_identifier "undefined1") (array_declarator "auVar3 [16]" (identifier "auVar3") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar4 [16];" (type_identifier "undefined1") (array_declarator "auVar4 [16]" (identifier "auVar4") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar5 [16];" (type_identifier "undefined1") (array_declarator "auVar5 [16]" (identifier "auVar5") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar6 [16];" (type_identifier "undefined1") (array_declarator "auVar6 [16]" (identifier "auVar6") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar7 [16];" (type_identifier "undefined1") (array_declarator "auVar7 [16]" (identifier "auVar7") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar8 [16];" (type_identifier "undefined1") (array_declarator "auVar8 [16]" (identifier "auVar8") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar9 [16];" (type_identifier "undefined1") (array_declarator "auVar9 [16]" (identifier "auVar9") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar10 [16];" (type_identifier "undefined1") (array_declarator "auVar10 [16]" (identifier "auVar10") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar11 [16];" (type_identifier "undefined1") (array_declarator "auVar11 [16]" (identifier "auVar11") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar12 [16];" (type_identifier "undefined1") (array_declarator "auVar12 [16]" (identifier "auVar12") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar13 [16];" (type_identifier "undefined1") (array_declarator "auVar13 [16]" (identifier "auVar13") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar14 [16];" (type_identifier "undefined1") (array_declarator "auVar14 [16]" (identifier "auVar14") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar15 [16];" (type_identifier "undefined1") (array_declarator "auVar15 [16]" (identifier "auVar15") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar16 [16];" (type_identifier "undefined1") (array_declarator "auVar16 [16]" (identifier "auVar16") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar17 [16];" (type_identifier "undefined1") (array_declarator "auVar17 [16]" (identifier "auVar17") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar18 [16];" (type_identifier "undefined1") (array_declarator "auVar18 [16]" (identifier "auVar18") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar19 [16];" (type_identifier "undefined1") (array_declarator "auVar19 [16]" (identifier "auVar19") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar20 [16];" (type_identifier "undefined1") (array_declarator "auVar20 [16]" (identifier "auVar20") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar21 [16];" (type_identifier "undefined1") (array_declarator "auVar21 [16]" (identifier "auVar21") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar22 [16];" (type_identifier "undefined1") (array_declarator "auVar22 [16]" (identifier "auVar22") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar23 [16];" (type_identifier "undefined1") (array_declarator "auVar23 [16]" (identifier "auVar23") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar24 [16];" (type_identifier "undefined1") (array_declarator "auVar24 [16]" (identifier "auVar24") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar25 [16];" (type_identifier "undefined1") (array_declarator "auVar25 [16]" (identifier "auVar25") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar26 [16];" (type_identifier "undefined1") (array_declarator "auVar26 [16]" (identifier "auVar26") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar27 [16];" (type_identifier "undefined1") (array_declarator "auVar27 [16]" (identifier "auVar27") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar28 [16];" (type_identifier "undefined1") (array_declarator "auVar28 [16]" (identifier "auVar28") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar29 [16];" (type_identifier "undefined1") (array_declarator "auVar29 [16]" (identifier "auVar29") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar30 [16];" (type_identifier "undefined1") (array_declarator "auVar30 [16]" (identifier "auVar30") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar31 [16];" (type_identifier "undefined1") (array_declarator "auVar31 [16]" (identifier "auVar31") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar32 [16];" (type_identifier "undefined1") (array_declarator "auVar32 [16]" (identifier "auVar32") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar33 [16];" (type_identifier "undefined1") (array_declarator "auVar33 [16]" (identifier "auVar33") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar34 [16];" (type_identifier "undefined1") (array_declarator "auVar34 [16]" (identifier "auVar34") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar35 [16];" (type_identifier "undefined1") (array_declarator "auVar35 [16]" (identifier "auVar35") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar36 [16];" (type_identifier "undefined1") (array_declarator "auVar36 [16]" (identifier "auVar36") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar37 [16];" (type_identifier "undefined1") (array_declarator "auVar37 [16]" (identifier "auVar37") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar38 [16];" (type_identifier "undefined1") (array_declarator "auVar38 [16]" (identifier "auVar38") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar39 [16];" (type_identifier "undefined1") (array_declarator "auVar39 [16]" (identifier "auVar39") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar40 [16];" (type_identifier "undefined1") (array_declarator "auVar40 [16]" (identifier "auVar40") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar41 [16];" (type_identifier "undefined1") (array_declarator "auVar41 [16]" (identifier "auVar41") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar42 [16];" (type_identifier "undefined1") (array_declarator "auVar42 [16]" (identifier "auVar42") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar43 [16];" (type_identifier "undefined1") (array_declarator "auVar43 [16]" (identifier "auVar43") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar44 [16];" (type_identifier "undefined1") (array_declarator "auVar44 [16]" (identifier "auVar44") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar45 [16];" (type_identifier "undefined1") (array_declarator "auVar45 [16]" (identifier "auVar45") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auVar46 [16];" (type_identifier "undefined1") (array_declarator "auVar46 [16]" (identifier "auVar46") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "ulong uVar47;" (type_identifier "ulong") (identifier "uVar47") (; ";")) (declaration "ulong uVar48;" (type_identifier "ulong") (identifier "uVar48") (; ";")) (declaration "ulong uVar49;" (type_identifier "ulong") (identifier "uVar49") (; ";")) (declaration "ulong uVar50;" (type_identifier "ulong") (identifier "uVar50") (; ";")) (declaration "uint uVar51;" (type_identifier "uint") (identifier "uVar51") (; ";")) (declaration "ulong uVar52;" (type_identifier "ulong") (identifier "uVar52") (; ";")) (declaration "ulong uVar53;" (type_identifier "ulong") (identifier "uVar53") (; ";")) (declaration "long lVar54;" (sized_type_specifier "long" (long "long")) (identifier "lVar54") (; ";")) (declaration "ulong *puVar55;" (type_identifier "ulong") (pointer_declarator "*puVar55" (* "*") (identifier "puVar55")) (; ";")) (declaration "ulong uVar56;" (type_identifier "ulong") (identifier "uVar56") (; ";")) (declaration "ulong uVar57;" (type_identifier "ulong") (identifier "uVar57") (; ";")) (declaration "code *UNRECOVERED_JUMPTABLE;" (type_identifier "code") (pointer_declarator "*UNRECOVERED_JUMPTABLE" (* "*") (identifier "UNRECOVERED_JUMPTABLE")) (; ";")) (declaration "bool bVar58;" (primitive_type "bool") (identifier "bVar58") (; ";")) (declaration "bool bVar59;" (primitive_type "bool") (identifier "bVar59") (; ";")) (expression_statement "uVar56 = (param_3 + 1) - param_5;" (assignment_expression "uVar56 = (param_3 + 1) - param_5" (identifier "uVar56") (= "=") (binary_expression "(param_3 + 1) - param_5" (parenthesized_expression "(param_3 + 1)" (( "(") (binary_expression "param_3 + 1" (identifier "param_3") (+ "+") (number_literal "1")) () ")")) (- "-") (identifier "param_5"))) (; ";")) (expression_statement "plVar1 = (long *)(param_1 + uVar56 * 8);" (assignment_expression "plVar1 = (long *)(param_1 + uVar56 * 8)" (identifier "plVar1") (= "=") (cast_expression "(long *)(param_1 + uVar56 * 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + uVar56 * 8)" (( "(") (binary_expression "param_1 + uVar56 * 8" (identifier "param_1") (+ "+") (binary_expression "uVar56 * 8" (identifier "uVar56") (* "*") (number_literal "8"))) () ")")))) (; ";")) (if_statement "if (uVar56 < 4) {\n    uVar52 = 0;\n    uVar48 = 0;\n    lVar54 = 0;\n    uVar51 = (uint)param_5 & 3;\n    if ((param_5 & 3) == 0) {\n      UNRECOVERED_JUMPTABLE = (code *)0x134e0c;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      puVar55 = param_4;\n      goto LAB_00134e5f;\n    }\n    if (uVar51 < 2) {\n      puVar55 = param_4 + 1;\n      param_5 = param_5 + 3;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e28;\n      uVar57 = *param_4;\n      goto LAB_00134e9a;\n    }\n    if (uVar51 == 2) {\n      puVar55 = param_4 + -2;\n      param_5 = param_5 + 2;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e43;\n      uVar57 = *param_4;\n      goto LAB_00134e83;\n    }\n    puVar55 = param_4 + -1;\n    param_5 = param_5 + 1;\n    UNRECOVERED_JUMPTABLE = (code *)0x134e6c;\n    while( true ) {\n      auVar17._8_8_ = 0;\n      auVar17._0_8_ = *(ulong *)(param_2 + -0x10 + param_5 * 8);\n      auVar35._8_8_ = 0;\n      auVar35._0_8_ = puVar55[1];\n      uVar47 = SUB168(auVar17 * auVar35,8);\n      uVar57 = SUB168(auVar17 * auVar35,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[2];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e83:\n      auVar18._8_8_ = 0;\n      auVar18._0_8_ = uVar57;\n      auVar36._8_8_ = 0;\n      auVar36._0_8_ = *(ulong *)(param_2 + -0x18 + param_5 * 8);\n      uVar47 = SUB168(auVar18 * auVar36,8);\n      uVar57 = SUB168(auVar18 * auVar36,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[3];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      puVar55 = puVar55 + 4;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e9a:\n      auVar19._8_8_ = 0;\n      auVar19._0_8_ = uVar57;\n      auVar37._8_8_ = 0;\n      auVar37._0_8_ = *(ulong *)(param_2 + -0x20 + param_5 * 8);\n      uVar50 = SUB168(auVar19 * auVar37,8);\n      uVar57 = SUB168(auVar19 * auVar37,0);\n      param_5 = param_5 - 4;\n      if (param_5 == 0) break;\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      bVar59 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + bVar58;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      lVar54 = lVar54 + (ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58));\nLAB_00134e5f:\n      auVar16._8_8_ = 0;\n      auVar16._0_8_ = uVar57;\n      auVar34._8_8_ = 0;\n      auVar34._0_8_ = *puVar55;\n      uVar50 = SUB168(auVar16 * auVar34,8);\n      uVar57 = SUB168(auVar16 * auVar34,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + uVar57;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar50,uVar57));\n    }\n    lVar54 = lVar54 + (ulong)(CARRY8(uVar48,uVar50) ||\n                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57)));\n    plVar1[-uVar56] = uVar52 + uVar57;\n    if (uVar56 != 1) {\n                    \n                    \n      (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + 8,uVar50,lVar54);\n      return;\n    }\n    *plVar1 = uVar48 + uVar50 + (ulong)CARRY8(uVar52,uVar57);\n    plVar1[1] = lVar54;\n  }\n  else {\n    param_2 = param_2 + param_3 * 8;\n    if ((param_5 & 1) == 0) {\n      uVar48 = *param_4;\n      uVar52 = param_4[1];\n      auVar7._8_8_ = 0;\n      auVar7._0_8_ = *(ulong *)(param_2 + -8 + uVar56 * -8);\n      auVar25._8_8_ = 0;\n      auVar25._0_8_ = uVar52;\n      auVar7 = auVar7 * auVar25;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134b8e;\n      }\n      if (uVar51 < 2) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        uVar56 = uVar57;\n        goto LAB_00134c0d;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        goto LAB_00134be9;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar11._8_8_ = 0;\n        auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar29._8_8_ = 0;\n        auVar29._0_8_ = uVar48;\n        uVar49 = SUB168(auVar11 * auVar29,8);\n        uVar47 = SUB168(auVar11 * auVar29,0);\n        uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar43._0_8_ = uVar50 + uVar56;\n        auVar43._9_7_ = 0;\n        uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;\n        auVar12._8_8_ = 0;\n        auVar12._0_8_ = uVar56;\n        auVar30._8_8_ = 0;\n        auVar30._0_8_ = uVar52;\n        auVar7 = auVar12 * auVar30 + auVar43;\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\nLAB_00134be9:\n        uVar53 = auVar7._0_8_;\n        auVar13._8_8_ = 0;\n        auVar13._0_8_ = uVar56;\n        auVar31._8_8_ = 0;\n        auVar31._0_8_ = uVar48;\n        uVar49 = SUB168(auVar13 * auVar31,8);\n        uVar47 = SUB168(auVar13 * auVar31,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar44._0_8_ = uVar50 + uVar56;\n        auVar44._9_7_ = 0;\n        auVar14._8_8_ = 0;\n        auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar32._8_8_ = 0;\n        auVar32._0_8_ = uVar52;\n        auVar7 = auVar14 * auVar32 + auVar44;\n        plVar1[uVar57 + 2] = uVar53 + uVar47;\n        uVar56 = uVar57;\nLAB_00134c0d:\n        auVar15._8_8_ = 0;\n        auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);\n        auVar33._8_8_ = 0;\n        auVar33._0_8_ = uVar48;\n        uVar49 = SUB168(auVar15 * auVar33,8);\n        uVar47 = SUB168(auVar15 * auVar33,0);\n        uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);\n        lVar54 = uVar50 + uVar57;\n        auVar41[8] = bVar58;\n        auVar41._0_8_ = lVar54;\n        auVar41._9_7_ = 0;\n        uVar57 = uVar56 + 4;\n        plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;\n        if (uVar57 == 0) break;\n        auVar8._8_8_ = 0;\n        auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);\n        auVar26._8_8_ = 0;\n        auVar26._0_8_ = uVar52;\n        auVar7 = auVar8 * auVar26 + auVar41;\nLAB_00134b8e:\n        uVar53 = auVar7._0_8_;\n        auVar9._8_8_ = 0;\n        auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar27._8_8_ = 0;\n        auVar27._0_8_ = uVar48;\n        uVar49 = SUB168(auVar9 * auVar27,8);\n        uVar47 = SUB168(auVar9 * auVar27,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar42._0_8_ = uVar50 + uVar56;\n        auVar42._9_7_ = 0;\n        auVar10._8_8_ = 0;\n        auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar28._8_8_ = 0;\n        auVar28._0_8_ = uVar52;\n        auVar7 = auVar10 * auVar28 + auVar42;\n        plVar1[uVar57] = uVar53 + uVar47;\n      }\n      *plVar1 = lVar54;\n      plVar1[1] = (ulong)bVar58;\n      if (param_5 != 2) {\n                    \n                    \n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);\n        return;\n      }\n    }\n    else {\n      uVar48 = *param_4;\n      auVar2._8_8_ = 0;\n      auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8);\n      auVar20._8_8_ = 0;\n      auVar20._0_8_ = uVar48;\n      auVar2 = auVar2 * auVar20;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      uVar52 = (ulong)uVar51;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134a72;\n      }\n      if (uVar51 < 2) {\n        uVar57 = uVar57 + 4;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        goto LAB_00134a5f;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        uVar52 = uVar57;\n        goto LAB_00134aa7;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar45._8_8_ = 0;\n        auVar45._0_8_ = auVar2._8_8_;\n        auVar5._8_8_ = 0;\n        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar23._8_8_ = 0;\n        auVar23._0_8_ = uVar48;\n        plVar1[uVar57 + 1] = auVar2._0_8_;\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        auVar2 = auVar5 * auVar23 + auVar45;\n        uVar52 = uVar57;\nLAB_00134aa7:\n        auVar46._8_8_ = 0;\n        auVar46._0_8_ = auVar2._8_8_;\n        auVar40._8_8_ = 0;\n        auVar40._0_8_ = auVar2._8_8_;\n        auVar6._8_8_ = 0;\n        auVar6._0_8_ = uVar56;\n        auVar24._8_8_ = 0;\n        auVar24._0_8_ = uVar48;\n        uVar57 = uVar52 + 4;\n        if (-1 < (long)uVar57) break;\n        plVar1[uVar52 + 2] = auVar2._0_8_;\n        auVar2 = auVar6 * auVar24 + auVar40;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\nLAB_00134a5f:\n        auVar38._8_8_ = 0;\n        auVar38._0_8_ = auVar2._8_8_;\n        uVar52 = 0;\n        auVar3._8_8_ = 0;\n        auVar3._0_8_ = uVar56;\n        auVar21._8_8_ = 0;\n        auVar21._0_8_ = uVar48;\n        plVar1[uVar57 - 1] = auVar2._0_8_;\n        auVar2 = auVar3 * auVar21 + auVar38;\nLAB_00134a72:\n        auVar39._8_8_ = uVar52;\n        auVar39._0_8_ = auVar2._8_8_;\n        auVar4._8_8_ = 0;\n        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar22._8_8_ = 0;\n        auVar22._0_8_ = uVar48;\n        plVar1[uVar57] = auVar2._0_8_;\n        auVar2 = auVar4 * auVar22 + auVar39;\n      }\n      plVar1[-2] = auVar2._0_8_;\n      auVar46 = auVar6 * auVar24 + auVar46;\n      plVar1[-1] = auVar46._0_8_;\n      plVar1[1] = 0;\n      *plVar1 = auVar46._8_8_;\n      if (param_5 != 1) {\n                    \n                    \n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);\n        return;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(uVar56 < 4)" (( "(") (binary_expression "uVar56 < 4" (identifier "uVar56") (< "<") (number_literal "4")) () ")")) (compound_statement "{\n    uVar52 = 0;\n    uVar48 = 0;\n    lVar54 = 0;\n    uVar51 = (uint)param_5 & 3;\n    if ((param_5 & 3) == 0) {\n      UNRECOVERED_JUMPTABLE = (code *)0x134e0c;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      puVar55 = param_4;\n      goto LAB_00134e5f;\n    }\n    if (uVar51 < 2) {\n      puVar55 = param_4 + 1;\n      param_5 = param_5 + 3;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e28;\n      uVar57 = *param_4;\n      goto LAB_00134e9a;\n    }\n    if (uVar51 == 2) {\n      puVar55 = param_4 + -2;\n      param_5 = param_5 + 2;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e43;\n      uVar57 = *param_4;\n      goto LAB_00134e83;\n    }\n    puVar55 = param_4 + -1;\n    param_5 = param_5 + 1;\n    UNRECOVERED_JUMPTABLE = (code *)0x134e6c;\n    while( true ) {\n      auVar17._8_8_ = 0;\n      auVar17._0_8_ = *(ulong *)(param_2 + -0x10 + param_5 * 8);\n      auVar35._8_8_ = 0;\n      auVar35._0_8_ = puVar55[1];\n      uVar47 = SUB168(auVar17 * auVar35,8);\n      uVar57 = SUB168(auVar17 * auVar35,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[2];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e83:\n      auVar18._8_8_ = 0;\n      auVar18._0_8_ = uVar57;\n      auVar36._8_8_ = 0;\n      auVar36._0_8_ = *(ulong *)(param_2 + -0x18 + param_5 * 8);\n      uVar47 = SUB168(auVar18 * auVar36,8);\n      uVar57 = SUB168(auVar18 * auVar36,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[3];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      puVar55 = puVar55 + 4;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e9a:\n      auVar19._8_8_ = 0;\n      auVar19._0_8_ = uVar57;\n      auVar37._8_8_ = 0;\n      auVar37._0_8_ = *(ulong *)(param_2 + -0x20 + param_5 * 8);\n      uVar50 = SUB168(auVar19 * auVar37,8);\n      uVar57 = SUB168(auVar19 * auVar37,0);\n      param_5 = param_5 - 4;\n      if (param_5 == 0) break;\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      bVar59 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + bVar58;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      lVar54 = lVar54 + (ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58));\nLAB_00134e5f:\n      auVar16._8_8_ = 0;\n      auVar16._0_8_ = uVar57;\n      auVar34._8_8_ = 0;\n      auVar34._0_8_ = *puVar55;\n      uVar50 = SUB168(auVar16 * auVar34,8);\n      uVar57 = SUB168(auVar16 * auVar34,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + uVar57;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar50,uVar57));\n    }\n    lVar54 = lVar54 + (ulong)(CARRY8(uVar48,uVar50) ||\n                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57)));\n    plVar1[-uVar56] = uVar52 + uVar57;\n    if (uVar56 != 1) {\n                    \n                    \n      (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + 8,uVar50,lVar54);\n      return;\n    }\n    *plVar1 = uVar48 + uVar50 + (ulong)CARRY8(uVar52,uVar57);\n    plVar1[1] = lVar54;\n  }" ({ "{") (expression_statement "uVar52 = 0;" (assignment_expression "uVar52 = 0" (identifier "uVar52") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar48 = 0;" (assignment_expression "uVar48 = 0" (identifier "uVar48") (= "=") (number_literal "0")) (; ";")) (expression_statement "lVar54 = 0;" (assignment_expression "lVar54 = 0" (identifier "lVar54") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar51 = (uint)param_5 & 3;" (assignment_expression "uVar51 = (uint)param_5 & 3" (identifier "uVar51") (= "=") (binary_expression "(uint)param_5 & 3" (cast_expression "(uint)param_5" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_5")) (& "&") (number_literal "3"))) (; ";")) (if_statement "if ((param_5 & 3) == 0) {\n      UNRECOVERED_JUMPTABLE = (code *)0x134e0c;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      puVar55 = param_4;\n      goto LAB_00134e5f;\n    }" (if "if") (parenthesized_expression "((param_5 & 3) == 0)" (( "(") (binary_expression "(param_5 & 3) == 0" (parenthesized_expression "(param_5 & 3)" (( "(") (binary_expression "param_5 & 3" (identifier "param_5") (& "&") (number_literal "3")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      UNRECOVERED_JUMPTABLE = (code *)0x134e0c;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      puVar55 = param_4;\n      goto LAB_00134e5f;\n    }" ({ "{") (expression_statement "UNRECOVERED_JUMPTABLE = (code *)0x134e0c;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)0x134e0c" (identifier "UNRECOVERED_JUMPTABLE") (= "=") (cast_expression "(code *)0x134e0c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x134e0c"))) (; ";")) (expression_statement "uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);" (assignment_expression "uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8)" (identifier "uVar57") (= "=") (pointer_expression "*(ulong *)(param_2 + -8 + param_5 * 8)" (* "*") (cast_expression "(ulong *)(param_2 + -8 + param_5 * 8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + -8 + param_5 * 8)" (( "(") (binary_expression "param_2 + -8 + param_5 * 8" (binary_expression "param_2 + -8" (identifier "param_2") (+ "+") (number_literal "-8")) (+ "+") (binary_expression "param_5 * 8" (identifier "param_5") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "puVar55 = param_4;" (assignment_expression "puVar55 = param_4" (identifier "puVar55") (= "=") (identifier "param_4")) (; ";")) (goto_statement "goto LAB_00134e5f;" (goto "goto") (statement_identifier "LAB_00134e5f") (; ";")) (} "}"))) (if_statement "if (uVar51 < 2) {\n      puVar55 = param_4 + 1;\n      param_5 = param_5 + 3;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e28;\n      uVar57 = *param_4;\n      goto LAB_00134e9a;\n    }" (if "if") (parenthesized_expression "(uVar51 < 2)" (( "(") (binary_expression "uVar51 < 2" (identifier "uVar51") (< "<") (number_literal "2")) () ")")) (compound_statement "{\n      puVar55 = param_4 + 1;\n      param_5 = param_5 + 3;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e28;\n      uVar57 = *param_4;\n      goto LAB_00134e9a;\n    }" ({ "{") (expression_statement "puVar55 = param_4 + 1;" (assignment_expression "puVar55 = param_4 + 1" (identifier "puVar55") (= "=") (binary_expression "param_4 + 1" (identifier "param_4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "param_5 = param_5 + 3;" (assignment_expression "param_5 = param_5 + 3" (identifier "param_5") (= "=") (binary_expression "param_5 + 3" (identifier "param_5") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "UNRECOVERED_JUMPTABLE = (code *)0x134e28;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)0x134e28" (identifier "UNRECOVERED_JUMPTABLE") (= "=") (cast_expression "(code *)0x134e28" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x134e28"))) (; ";")) (expression_statement "uVar57 = *param_4;" (assignment_expression "uVar57 = *param_4" (identifier "uVar57") (= "=") (pointer_expression "*param_4" (* "*") (identifier "param_4"))) (; ";")) (goto_statement "goto LAB_00134e9a;" (goto "goto") (statement_identifier "LAB_00134e9a") (; ";")) (} "}"))) (if_statement "if (uVar51 == 2) {\n      puVar55 = param_4 + -2;\n      param_5 = param_5 + 2;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e43;\n      uVar57 = *param_4;\n      goto LAB_00134e83;\n    }" (if "if") (parenthesized_expression "(uVar51 == 2)" (( "(") (binary_expression "uVar51 == 2" (identifier "uVar51") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      puVar55 = param_4 + -2;\n      param_5 = param_5 + 2;\n      UNRECOVERED_JUMPTABLE = (code *)0x134e43;\n      uVar57 = *param_4;\n      goto LAB_00134e83;\n    }" ({ "{") (expression_statement "puVar55 = param_4 + -2;" (assignment_expression "puVar55 = param_4 + -2" (identifier "puVar55") (= "=") (binary_expression "param_4 + -2" (identifier "param_4") (+ "+") (number_literal "-2"))) (; ";")) (expression_statement "param_5 = param_5 + 2;" (assignment_expression "param_5 = param_5 + 2" (identifier "param_5") (= "=") (binary_expression "param_5 + 2" (identifier "param_5") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "UNRECOVERED_JUMPTABLE = (code *)0x134e43;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)0x134e43" (identifier "UNRECOVERED_JUMPTABLE") (= "=") (cast_expression "(code *)0x134e43" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x134e43"))) (; ";")) (expression_statement "uVar57 = *param_4;" (assignment_expression "uVar57 = *param_4" (identifier "uVar57") (= "=") (pointer_expression "*param_4" (* "*") (identifier "param_4"))) (; ";")) (goto_statement "goto LAB_00134e83;" (goto "goto") (statement_identifier "LAB_00134e83") (; ";")) (} "}"))) (expression_statement "puVar55 = param_4 + -1;" (assignment_expression "puVar55 = param_4 + -1" (identifier "puVar55") (= "=") (binary_expression "param_4 + -1" (identifier "param_4") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "param_5 = param_5 + 1;" (assignment_expression "param_5 = param_5 + 1" (identifier "param_5") (= "=") (binary_expression "param_5 + 1" (identifier "param_5") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "UNRECOVERED_JUMPTABLE = (code *)0x134e6c;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)0x134e6c" (identifier "UNRECOVERED_JUMPTABLE") (= "=") (cast_expression "(code *)0x134e6c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x134e6c"))) (; ";")) (while_statement "while( true ) {\n      auVar17._8_8_ = 0;\n      auVar17._0_8_ = *(ulong *)(param_2 + -0x10 + param_5 * 8);\n      auVar35._8_8_ = 0;\n      auVar35._0_8_ = puVar55[1];\n      uVar47 = SUB168(auVar17 * auVar35,8);\n      uVar57 = SUB168(auVar17 * auVar35,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[2];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e83:\n      auVar18._8_8_ = 0;\n      auVar18._0_8_ = uVar57;\n      auVar36._8_8_ = 0;\n      auVar36._0_8_ = *(ulong *)(param_2 + -0x18 + param_5 * 8);\n      uVar47 = SUB168(auVar18 * auVar36,8);\n      uVar57 = SUB168(auVar18 * auVar36,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[3];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      puVar55 = puVar55 + 4;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e9a:\n      auVar19._8_8_ = 0;\n      auVar19._0_8_ = uVar57;\n      auVar37._8_8_ = 0;\n      auVar37._0_8_ = *(ulong *)(param_2 + -0x20 + param_5 * 8);\n      uVar50 = SUB168(auVar19 * auVar37,8);\n      uVar57 = SUB168(auVar19 * auVar37,0);\n      param_5 = param_5 - 4;\n      if (param_5 == 0) break;\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      bVar59 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + bVar58;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      lVar54 = lVar54 + (ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58));\nLAB_00134e5f:\n      auVar16._8_8_ = 0;\n      auVar16._0_8_ = uVar57;\n      auVar34._8_8_ = 0;\n      auVar34._0_8_ = *puVar55;\n      uVar50 = SUB168(auVar16 * auVar34,8);\n      uVar57 = SUB168(auVar16 * auVar34,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + uVar57;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar50,uVar57));\n    }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n      auVar17._8_8_ = 0;\n      auVar17._0_8_ = *(ulong *)(param_2 + -0x10 + param_5 * 8);\n      auVar35._8_8_ = 0;\n      auVar35._0_8_ = puVar55[1];\n      uVar47 = SUB168(auVar17 * auVar35,8);\n      uVar57 = SUB168(auVar17 * auVar35,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[2];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e83:\n      auVar18._8_8_ = 0;\n      auVar18._0_8_ = uVar57;\n      auVar36._8_8_ = 0;\n      auVar36._0_8_ = *(ulong *)(param_2 + -0x18 + param_5 * 8);\n      uVar47 = SUB168(auVar18 * auVar36,8);\n      uVar57 = SUB168(auVar18 * auVar36,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = puVar55[3];\n      uVar50 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar47);\n      uVar47 = uVar48 + uVar47;\n      uVar48 = uVar47 + uVar50;\n      puVar55 = puVar55 + 4;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));\nLAB_00134e9a:\n      auVar19._8_8_ = 0;\n      auVar19._0_8_ = uVar57;\n      auVar37._8_8_ = 0;\n      auVar37._0_8_ = *(ulong *)(param_2 + -0x20 + param_5 * 8);\n      uVar50 = SUB168(auVar19 * auVar37,8);\n      uVar57 = SUB168(auVar19 * auVar37,0);\n      param_5 = param_5 - 4;\n      if (param_5 == 0) break;\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      bVar59 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + bVar58;\n      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);\n      lVar54 = lVar54 + (ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58));\nLAB_00134e5f:\n      auVar16._8_8_ = 0;\n      auVar16._0_8_ = uVar57;\n      auVar34._8_8_ = 0;\n      auVar34._0_8_ = *puVar55;\n      uVar50 = SUB168(auVar16 * auVar34,8);\n      uVar57 = SUB168(auVar16 * auVar34,0);\n      bVar58 = CARRY8(uVar52,uVar57);\n      uVar52 = uVar52 + uVar57;\n      uVar57 = (ulong)bVar58;\n      bVar58 = CARRY8(uVar48,uVar50);\n      uVar50 = uVar48 + uVar50;\n      uVar48 = uVar50 + uVar57;\n      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar50,uVar57));\n    }" ({ "{") (expression_statement "auVar17._8_8_ = 0;" (assignment_expression "auVar17._8_8_ = 0" (field_expression "auVar17._8_8_" (identifier "auVar17") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auVar17._0_8_ = *(ulong *)(param_2 + -0x10 + param_5 * 8);" (assignment_expression "auVar17._0_8_ = *(ulong *)(param_2 + -0x10 + param_5 * 8)" (field_expression "auVar17._0_8_" (identifier "auVar17") (. ".") (field_identifier "_0_8_")) (= "=") (pointer_expression "*(ulong *)(param_2 + -0x10 + param_5 * 8)" (* "*") (cast_expression "(ulong *)(param_2 + -0x10 + param_5 * 8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + -0x10 + param_5 * 8)" (( "(") (binary_expression "param_2 + -0x10 + param_5 * 8" (binary_expression "param_2 + -0x10" (identifier "param_2") (+ "+") (number_literal "-0x10")) (+ "+") (binary_expression "param_5 * 8" (identifier "param_5") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "auVar35._8_8_ = 0;" (assignment_expression "auVar35._8_8_ = 0" (field_expression "auVar35._8_8_" (identifier "auVar35") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auVar35._0_8_ = puVar55[1];" (assignment_expression "auVar35._0_8_ = puVar55[1]" (field_expression "auVar35._0_8_" (identifier "auVar35") (. ".") (field_identifier "_0_8_")) (= "=") (subscript_expression "puVar55[1]" (identifier "puVar55") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar47 = SUB168(auVar17 * auVar35,8);" (assignment_expression "uVar47 = SUB168(auVar17 * auVar35,8)" (identifier "uVar47") (= "=") (call_expression "SUB168(auVar17 * auVar35,8)" (identifier "SUB168") (argument_list "(auVar17 * auVar35,8)" (( "(") (binary_expression "auVar17 * auVar35" (identifier "auVar17") (* "*") (identifier "auVar35")) (, ",") (number_literal "8") () ")")))) (; ";")) (expression_statement "uVar57 = SUB168(auVar17 * auVar35,0);" (assignment_expression "uVar57 = SUB168(auVar17 * auVar35,0)" (identifier "uVar57") (= "=") (call_expression "SUB168(auVar17 * auVar35,0)" (identifier "SUB168") (argument_list "(auVar17 * auVar35,0)" (( "(") (binary_expression "auVar17 * auVar35" (identifier "auVar17") (* "*") (identifier "auVar35")) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "bVar58 = CARRY8(uVar52,uVar57);" (assignment_expression "bVar58 = CARRY8(uVar52,uVar57)" (identifier "bVar58") (= "=") (call_expression "CARRY8(uVar52,uVar57)" (identifier "CARRY8") (argument_list "(uVar52,uVar57)" (( "(") (identifier "uVar52") (, ",") (identifier "uVar57") () ")")))) (; ";")) (expression_statement "uVar52 = uVar52 + uVar57;" (assignment_expression "uVar52 = uVar52 + uVar57" (identifier "uVar52") (= "=") (binary_expression "uVar52 + uVar57" (identifier "uVar52") (+ "+") (identifier "uVar57"))) (; ";")) (expression_statement "uVar57 = puVar55[2];" (assignment_expression "uVar57 = puVar55[2]" (identifier "uVar57") (= "=") (subscript_expression "puVar55[2]" (identifier "puVar55") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar50 = (ulong)bVar58;" (assignment_expression "uVar50 = (ulong)bVar58" (identifier "uVar50") (= "=") (cast_expression "(ulong)bVar58" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar58"))) (; ";")) (expression_statement "bVar58 = CARRY8(uVar48,uVar47);" (assignment_expression "bVar58 = CARRY8(uVar48,uVar47)" (identifier "bVar58") (= "=") (call_expression "CARRY8(uVar48,uVar47)" (identifier "CARRY8") (argument_list "(uVar48,uVar47)" (( "(") (identifier "uVar48") (, ",") (identifier "uVar47") () ")")))) (; ";")) (expression_statement "uVar47 = uVar48 + uVar47;" (assignment_expression "uVar47 = uVar48 + uVar47" (identifier "uVar47") (= "=") (binary_expression "uVar48 + uVar47" (identifier "uVar48") (+ "+") (identifier "uVar47"))) (; ";")) (expression_statement "uVar48 = uVar47 + uVar50;" (assignment_expression "uVar48 = uVar47 + uVar50" (identifier "uVar48") (= "=") (binary_expression "uVar47 + uVar50" (identifier "uVar47") (+ "+") (identifier "uVar50"))) (; ";")) (expression_statement "lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));" (assignment_expression "lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50))" (identifier "lVar54") (= "=") (binary_expression "lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50))" (identifier "lVar54") (+ "+") (call_expression "(ulong)(bVar58 || CARRY8(uVar47,uVar50))" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(bVar58 || CARRY8(uVar47,uVar50))" (( "(") (binary_expression "bVar58 || CARRY8(uVar47,uVar50)" (identifier "bVar58") (|| "||") (call_expression "CARRY8(uVar47,uVar50)" (identifier "CARRY8") (argument_list "(uVar47,uVar50)" (( "(") (identifier "uVar47") (, ",") (identifier "uVar50") () ")")))) () ")"))))) (; ";")) (labeled_statement "LAB_00134e83:\n      auVar18._8_8_ = 0;" (statement_identifier "LAB_00134e83") (: ":") (expression_statement "auVar18._8_8_ = 0;" (assignment_expression "auVar18._8_8_ = 0" (field_expression "auVar18._8_8_" (identifier "auVar18") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";"))) (expression_statement "auVar18._0_8_ = uVar57;" (assignment_expression "auVar18._0_8_ = uVar57" (field_expression "auVar18._0_8_" (identifier "auVar18") (. ".") (field_identifier "_0_8_")) (= "=") (identifier "uVar57")) (; ";")) (expression_statement "auVar36._8_8_ = 0;" (assignment_expression "auVar36._8_8_ = 0" (field_expression "auVar36._8_8_" (identifier "auVar36") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auVar36._0_8_ = *(ulong *)(param_2 + -0x18 + param_5 * 8);" (assignment_expression "auVar36._0_8_ = *(ulong *)(param_2 + -0x18 + param_5 * 8)" (field_expression "auVar36._0_8_" (identifier "auVar36") (. ".") (field_identifier "_0_8_")) (= "=") (pointer_expression "*(ulong *)(param_2 + -0x18 + param_5 * 8)" (* "*") (cast_expression "(ulong *)(param_2 + -0x18 + param_5 * 8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + -0x18 + param_5 * 8)" (( "(") (binary_expression "param_2 + -0x18 + param_5 * 8" (binary_expression "param_2 + -0x18" (identifier "param_2") (+ "+") (number_literal "-0x18")) (+ "+") (binary_expression "param_5 * 8" (identifier "param_5") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "uVar47 = SUB168(auVar18 * auVar36,8);" (assignment_expression "uVar47 = SUB168(auVar18 * auVar36,8)" (identifier "uVar47") (= "=") (call_expression "SUB168(auVar18 * auVar36,8)" (identifier "SUB168") (argument_list "(auVar18 * auVar36,8)" (( "(") (binary_expression "auVar18 * auVar36" (identifier "auVar18") (* "*") (identifier "auVar36")) (, ",") (number_literal "8") () ")")))) (; ";")) (expression_statement "uVar57 = SUB168(auVar18 * auVar36,0);" (assignment_expression "uVar57 = SUB168(auVar18 * auVar36,0)" (identifier "uVar57") (= "=") (call_expression "SUB168(auVar18 * auVar36,0)" (identifier "SUB168") (argument_list "(auVar18 * auVar36,0)" (( "(") (binary_expression "auVar18 * auVar36" (identifier "auVar18") (* "*") (identifier "auVar36")) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "bVar58 = CARRY8(uVar52,uVar57);" (assignment_expression "bVar58 = CARRY8(uVar52,uVar57)" (identifier "bVar58") (= "=") (call_expression "CARRY8(uVar52,uVar57)" (identifier "CARRY8") (argument_list "(uVar52,uVar57)" (( "(") (identifier "uVar52") (, ",") (identifier "uVar57") () ")")))) (; ";")) (expression_statement "uVar52 = uVar52 + uVar57;" (assignment_expression "uVar52 = uVar52 + uVar57" (identifier "uVar52") (= "=") (binary_expression "uVar52 + uVar57" (identifier "uVar52") (+ "+") (identifier "uVar57"))) (; ";")) (expression_statement "uVar57 = puVar55[3];" (assignment_expression "uVar57 = puVar55[3]" (identifier "uVar57") (= "=") (subscript_expression "puVar55[3]" (identifier "puVar55") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "uVar50 = (ulong)bVar58;" (assignment_expression "uVar50 = (ulong)bVar58" (identifier "uVar50") (= "=") (cast_expression "(ulong)bVar58" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar58"))) (; ";")) (expression_statement "bVar58 = CARRY8(uVar48,uVar47);" (assignment_expression "bVar58 = CARRY8(uVar48,uVar47)" (identifier "bVar58") (= "=") (call_expression "CARRY8(uVar48,uVar47)" (identifier "CARRY8") (argument_list "(uVar48,uVar47)" (( "(") (identifier "uVar48") (, ",") (identifier "uVar47") () ")")))) (; ";")) (expression_statement "uVar47 = uVar48 + uVar47;" (assignment_expression "uVar47 = uVar48 + uVar47" (identifier "uVar47") (= "=") (binary_expression "uVar48 + uVar47" (identifier "uVar48") (+ "+") (identifier "uVar47"))) (; ";")) (expression_statement "uVar48 = uVar47 + uVar50;" (assignment_expression "uVar48 = uVar47 + uVar50" (identifier "uVar48") (= "=") (binary_expression "uVar47 + uVar50" (identifier "uVar47") (+ "+") (identifier "uVar50"))) (; ";")) (expression_statement "puVar55 = puVar55 + 4;" (assignment_expression "puVar55 = puVar55 + 4" (identifier "puVar55") (= "=") (binary_expression "puVar55 + 4" (identifier "puVar55") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));" (assignment_expression "lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50))" (identifier "lVar54") (= "=") (binary_expression "lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50))" (identifier "lVar54") (+ "+") (call_expression "(ulong)(bVar58 || CARRY8(uVar47,uVar50))" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(bVar58 || CARRY8(uVar47,uVar50))" (( "(") (binary_expression "bVar58 || CARRY8(uVar47,uVar50)" (identifier "bVar58") (|| "||") (call_expression "CARRY8(uVar47,uVar50)" (identifier "CARRY8") (argument_list "(uVar47,uVar50)" (( "(") (identifier "uVar47") (, ",") (identifier "uVar50") () ")")))) () ")"))))) (; ";")) (labeled_statement "LAB_00134e9a:\n      auVar19._8_8_ = 0;" (statement_identifier "LAB_00134e9a") (: ":") (expression_statement "auVar19._8_8_ = 0;" (assignment_expression "auVar19._8_8_ = 0" (field_expression "auVar19._8_8_" (identifier "auVar19") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";"))) (expression_statement "auVar19._0_8_ = uVar57;" (assignment_expression "auVar19._0_8_ = uVar57" (field_expression "auVar19._0_8_" (identifier "auVar19") (. ".") (field_identifier "_0_8_")) (= "=") (identifier "uVar57")) (; ";")) (expression_statement "auVar37._8_8_ = 0;" (assignment_expression "auVar37._8_8_ = 0" (field_expression "auVar37._8_8_" (identifier "auVar37") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auVar37._0_8_ = *(ulong *)(param_2 + -0x20 + param_5 * 8);" (assignment_expression "auVar37._0_8_ = *(ulong *)(param_2 + -0x20 + param_5 * 8)" (field_expression "auVar37._0_8_" (identifier "auVar37") (. ".") (field_identifier "_0_8_")) (= "=") (pointer_expression "*(ulong *)(param_2 + -0x20 + param_5 * 8)" (* "*") (cast_expression "(ulong *)(param_2 + -0x20 + param_5 * 8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + -0x20 + param_5 * 8)" (( "(") (binary_expression "param_2 + -0x20 + param_5 * 8" (binary_expression "param_2 + -0x20" (identifier "param_2") (+ "+") (number_literal "-0x20")) (+ "+") (binary_expression "param_5 * 8" (identifier "param_5") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "uVar50 = SUB168(auVar19 * auVar37,8);" (assignment_expression "uVar50 = SUB168(auVar19 * auVar37,8)" (identifier "uVar50") (= "=") (call_expression "SUB168(auVar19 * auVar37,8)" (identifier "SUB168") (argument_list "(auVar19 * auVar37,8)" (( "(") (binary_expression "auVar19 * auVar37" (identifier "auVar19") (* "*") (identifier "auVar37")) (, ",") (number_literal "8") () ")")))) (; ";")) (expression_statement "uVar57 = SUB168(auVar19 * auVar37,0);" (assignment_expression "uVar57 = SUB168(auVar19 * auVar37,0)" (identifier "uVar57") (= "=") (call_expression "SUB168(auVar19 * auVar37,0)" (identifier "SUB168") (argument_list "(auVar19 * auVar37,0)" (( "(") (binary_expression "auVar19 * auVar37" (identifier "auVar19") (* "*") (identifier "auVar37")) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "param_5 = param_5 - 4;" (assignment_expression "param_5 = param_5 - 4" (identifier "param_5") (= "=") (binary_expression "param_5 - 4" (identifier "param_5") (- "-") (number_literal "4"))) (; ";")) (if_statement "if (param_5 == 0) break;" (if "if") (parenthesized_expression "(param_5 == 0)" (( "(") (binary_expression "param_5 == 0" (identifier "param_5") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "bVar58 = CARRY8(uVar52,uVar57);" (assignment_expression "bVar58 = CARRY8(uVar52,uVar57)" (identifier "bVar58") (= "=") (call_expression "CARRY8(uVar52,uVar57)" (identifier "CARRY8") (argument_list "(uVar52,uVar57)" (( "(") (identifier "uVar52") (, ",") (identifier "uVar57") () ")")))) (; ";")) (expression_statement "uVar52 = uVar52 + uVar57;" (assignment_expression "uVar52 = uVar52 + uVar57" (identifier "uVar52") (= "=") (binary_expression "uVar52 + uVar57" (identifier "uVar52") (+ "+") (identifier "uVar57"))) (; ";")) (expression_statement "bVar59 = CARRY8(uVar48,uVar50);" (assignment_expression "bVar59 = CARRY8(uVar48,uVar50)" (identifier "bVar59") (= "=") (call_expression "CARRY8(uVar48,uVar50)" (identifier "CARRY8") (argument_list "(uVar48,uVar50)" (( "(") (identifier "uVar48") (, ",") (identifier "uVar50") () ")")))) (; ";")) (expression_statement "uVar50 = uVar48 + uVar50;" (assignment_expression "uVar50 = uVar48 + uVar50" (identifier "uVar50") (= "=") (binary_expression "uVar48 + uVar50" (identifier "uVar48") (+ "+") (identifier "uVar50"))) (; ";")) (expression_statement "uVar48 = uVar50 + bVar58;" (assignment_expression "uVar48 = uVar50 + bVar58" (identifier "uVar48") (= "=") (binary_expression "uVar50 + bVar58" (identifier "uVar50") (+ "+") (identifier "bVar58"))) (; ";")) (expression_statement "uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);" (assignment_expression "uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8)" (identifier "uVar57") (= "=") (pointer_expression "*(ulong *)(param_2 + -8 + param_5 * 8)" (* "*") (cast_expression "(ulong *)(param_2 + -8 + param_5 * 8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + -8 + param_5 * 8)" (( "(") (binary_expression "param_2 + -8 + param_5 * 8" (binary_expression "param_2 + -8" (identifier "param_2") (+ "+") (number_literal "-8")) (+ "+") (binary_expression "param_5 * 8" (identifier "param_5") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "lVar54 = lVar54 + (ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58));" (assignment_expression "lVar54 = lVar54 + (ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58))" (identifier "lVar54") (= "=") (binary_expression "lVar54 + (ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58))" (identifier "lVar54") (+ "+") (call_expression "(ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58))" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(bVar59 || CARRY8(uVar50,(ulong)bVar58))" (( "(") (binary_expression "bVar59 || CARRY8(uVar50,(ulong)bVar58)" (identifier "bVar59") (|| "||") (call_expression "CARRY8(uVar50,(ulong)bVar58)" (identifier "CARRY8") (argument_list "(uVar50,(ulong)bVar58)" (( "(") (identifier "uVar50") (, ",") (cast_expression "(ulong)bVar58" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar58")) () ")")))) () ")"))))) (; ";")) (labeled_statement "LAB_00134e5f:\n      auVar16._8_8_ = 0;" (statement_identifier "LAB_00134e5f") (: ":") (expression_statement "auVar16._8_8_ = 0;" (assignment_expression "auVar16._8_8_ = 0" (field_expression "auVar16._8_8_" (identifier "auVar16") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";"))) (expression_statement "auVar16._0_8_ = uVar57;" (assignment_expression "auVar16._0_8_ = uVar57" (field_expression "auVar16._0_8_" (identifier "auVar16") (. ".") (field_identifier "_0_8_")) (= "=") (identifier "uVar57")) (; ";")) (expression_statement "auVar34._8_8_ = 0;" (assignment_expression "auVar34._8_8_ = 0" (field_expression "auVar34._8_8_" (identifier "auVar34") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auVar34._0_8_ = *puVar55;" (assignment_expression "auVar34._0_8_ = *puVar55" (field_expression "auVar34._0_8_" (identifier "auVar34") (. ".") (field_identifier "_0_8_")) (= "=") (pointer_expression "*puVar55" (* "*") (identifier "puVar55"))) (; ";")) (expression_statement "uVar50 = SUB168(auVar16 * auVar34,8);" (assignment_expression "uVar50 = SUB168(auVar16 * auVar34,8)" (identifier "uVar50") (= "=") (call_expression "SUB168(auVar16 * auVar34,8)" (identifier "SUB168") (argument_list "(auVar16 * auVar34,8)" (( "(") (binary_expression "auVar16 * auVar34" (identifier "auVar16") (* "*") (identifier "auVar34")) (, ",") (number_literal "8") () ")")))) (; ";")) (expression_statement "uVar57 = SUB168(auVar16 * auVar34,0);" (assignment_expression "uVar57 = SUB168(auVar16 * auVar34,0)" (identifier "uVar57") (= "=") (call_expression "SUB168(auVar16 * auVar34,0)" (identifier "SUB168") (argument_list "(auVar16 * auVar34,0)" (( "(") (binary_expression "auVar16 * auVar34" (identifier "auVar16") (* "*") (identifier "auVar34")) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "bVar58 = CARRY8(uVar52,uVar57);" (assignment_expression "bVar58 = CARRY8(uVar52,uVar57)" (identifier "bVar58") (= "=") (call_expression "CARRY8(uVar52,uVar57)" (identifier "CARRY8") (argument_list "(uVar52,uVar57)" (( "(") (identifier "uVar52") (, ",") (identifier "uVar57") () ")")))) (; ";")) (expression_statement "uVar52 = uVar52 + uVar57;" (assignment_expression "uVar52 = uVar52 + uVar57" (identifier "uVar52") (= "=") (binary_expression "uVar52 + uVar57" (identifier "uVar52") (+ "+") (identifier "uVar57"))) (; ";")) (expression_statement "uVar57 = (ulong)bVar58;" (assignment_expression "uVar57 = (ulong)bVar58" (identifier "uVar57") (= "=") (cast_expression "(ulong)bVar58" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar58"))) (; ";")) (expression_statement "bVar58 = CARRY8(uVar48,uVar50);" (assignment_expression "bVar58 = CARRY8(uVar48,uVar50)" (identifier "bVar58") (= "=") (call_expression "CARRY8(uVar48,uVar50)" (identifier "CARRY8") (argument_list "(uVar48,uVar50)" (( "(") (identifier "uVar48") (, ",") (identifier "uVar50") () ")")))) (; ";")) (expression_statement "uVar50 = uVar48 + uVar50;" (assignment_expression "uVar50 = uVar48 + uVar50" (identifier "uVar50") (= "=") (binary_expression "uVar48 + uVar50" (identifier "uVar48") (+ "+") (identifier "uVar50"))) (; ";")) (expression_statement "uVar48 = uVar50 + uVar57;" (assignment_expression "uVar48 = uVar50 + uVar57" (identifier "uVar48") (= "=") (binary_expression "uVar50 + uVar57" (identifier "uVar50") (+ "+") (identifier "uVar57"))) (; ";")) (expression_statement "lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar50,uVar57));" (assignment_expression "lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar50,uVar57))" (identifier "lVar54") (= "=") (binary_expression "lVar54 + (ulong)(bVar58 || CARRY8(uVar50,uVar57))" (identifier "lVar54") (+ "+") (call_expression "(ulong)(bVar58 || CARRY8(uVar50,uVar57))" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(bVar58 || CARRY8(uVar50,uVar57))" (( "(") (binary_expression "bVar58 || CARRY8(uVar50,uVar57)" (identifier "bVar58") (|| "||") (call_expression "CARRY8(uVar50,uVar57)" (identifier "CARRY8") (argument_list "(uVar50,uVar57)" (( "(") (identifier "uVar50") (, ",") (identifier "uVar57") () ")")))) () ")"))))) (; ";")) (} "}"))) (expression_statement "lVar54 = lVar54 + (ulong)(CARRY8(uVar48,uVar50) ||\n                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57)));" (assignment_expression "lVar54 = lVar54 + (ulong)(CARRY8(uVar48,uVar50) ||\n                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57)))" (identifier "lVar54") (= "=") (binary_expression "lVar54 + (ulong)(CARRY8(uVar48,uVar50) ||\n                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57)))" (identifier "lVar54") (+ "+") (call_expression "(ulong)(CARRY8(uVar48,uVar50) ||\n                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57)))" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(CARRY8(uVar48,uVar50) ||\n                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57)))" (( "(") (binary_expression "CARRY8(uVar48,uVar50) ||\n                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57))" (call_expression "CARRY8(uVar48,uVar50)" (identifier "CARRY8") (argument_list "(uVar48,uVar50)" (( "(") (identifier "uVar48") (, ",") (identifier "uVar50") () ")"))) (|| "||") (call_expression "CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57))" (identifier "CARRY8") (argument_list "(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57))" (( "(") (binary_expression "uVar48 + uVar50" (identifier "uVar48") (+ "+") (identifier "uVar50")) (, ",") (cast_expression "(ulong)CARRY8(uVar52,uVar57)" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (call_expression "CARRY8(uVar52,uVar57)" (identifier "CARRY8") (argument_list "(uVar52,uVar57)" (( "(") (identifier "uVar52") (, ",") (identifier "uVar57") () ")")))) () ")")))) () ")"))))) (; ";")) (expression_statement "plVar1[-uVar56] = uVar52 + uVar57;" (assignment_expression "plVar1[-uVar56] = uVar52 + uVar57" (subscript_expression "plVar1[-uVar56]" (identifier "plVar1") ([ "[") (unary_expression "-uVar56" (- "-") (identifier "uVar56")) (] "]")) (= "=") (binary_expression "uVar52 + uVar57" (identifier "uVar52") (+ "+") (identifier "uVar57"))) (; ";")) (if_statement "if (uVar56 != 1) {\n                    \n                    \n      (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + 8,uVar50,lVar54);\n      return;\n    }" (if "if") (parenthesized_expression "(uVar56 != 1)" (( "(") (binary_expression "uVar56 != 1" (identifier "uVar56") (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n                    \n                    \n      (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + 8,uVar50,lVar54);\n      return;\n    }" ({ "{") (expression_statement "(*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + 8,uVar50,lVar54);" (call_expression "(*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + 8,uVar50,lVar54)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" (( "(") (pointer_expression "*UNRECOVERED_JUMPTABLE" (* "*") (identifier "UNRECOVERED_JUMPTABLE")) () ")")) (argument_list "(plVar1,param_2 + 8,uVar50,lVar54)" (( "(") (identifier "plVar1") (, ",") (binary_expression "param_2 + 8" (identifier "param_2") (+ "+") (number_literal "8")) (, ",") (identifier "uVar50") (, ",") (identifier "lVar54") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "*plVar1 = uVar48 + uVar50 + (ulong)CARRY8(uVar52,uVar57);" (assignment_expression "*plVar1 = uVar48 + uVar50 + (ulong)CARRY8(uVar52,uVar57)" (pointer_expression "*plVar1" (* "*") (identifier "plVar1")) (= "=") (binary_expression "uVar48 + uVar50 + (ulong)CARRY8(uVar52,uVar57)" (binary_expression "uVar48 + uVar50" (identifier "uVar48") (+ "+") (identifier "uVar50")) (+ "+") (cast_expression "(ulong)CARRY8(uVar52,uVar57)" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (call_expression "CARRY8(uVar52,uVar57)" (identifier "CARRY8") (argument_list "(uVar52,uVar57)" (( "(") (identifier "uVar52") (, ",") (identifier "uVar57") () ")")))))) (; ";")) (expression_statement "plVar1[1] = lVar54;" (assignment_expression "plVar1[1] = lVar54" (subscript_expression "plVar1[1]" (identifier "plVar1") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "lVar54")) (; ";")) (} "}")) (else_clause "else {\n    param_2 = param_2 + param_3 * 8;\n    if ((param_5 & 1) == 0) {\n      uVar48 = *param_4;\n      uVar52 = param_4[1];\n      auVar7._8_8_ = 0;\n      auVar7._0_8_ = *(ulong *)(param_2 + -8 + uVar56 * -8);\n      auVar25._8_8_ = 0;\n      auVar25._0_8_ = uVar52;\n      auVar7 = auVar7 * auVar25;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134b8e;\n      }\n      if (uVar51 < 2) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        uVar56 = uVar57;\n        goto LAB_00134c0d;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        goto LAB_00134be9;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar11._8_8_ = 0;\n        auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar29._8_8_ = 0;\n        auVar29._0_8_ = uVar48;\n        uVar49 = SUB168(auVar11 * auVar29,8);\n        uVar47 = SUB168(auVar11 * auVar29,0);\n        uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar43._0_8_ = uVar50 + uVar56;\n        auVar43._9_7_ = 0;\n        uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;\n        auVar12._8_8_ = 0;\n        auVar12._0_8_ = uVar56;\n        auVar30._8_8_ = 0;\n        auVar30._0_8_ = uVar52;\n        auVar7 = auVar12 * auVar30 + auVar43;\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\nLAB_00134be9:\n        uVar53 = auVar7._0_8_;\n        auVar13._8_8_ = 0;\n        auVar13._0_8_ = uVar56;\n        auVar31._8_8_ = 0;\n        auVar31._0_8_ = uVar48;\n        uVar49 = SUB168(auVar13 * auVar31,8);\n        uVar47 = SUB168(auVar13 * auVar31,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar44._0_8_ = uVar50 + uVar56;\n        auVar44._9_7_ = 0;\n        auVar14._8_8_ = 0;\n        auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar32._8_8_ = 0;\n        auVar32._0_8_ = uVar52;\n        auVar7 = auVar14 * auVar32 + auVar44;\n        plVar1[uVar57 + 2] = uVar53 + uVar47;\n        uVar56 = uVar57;\nLAB_00134c0d:\n        auVar15._8_8_ = 0;\n        auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);\n        auVar33._8_8_ = 0;\n        auVar33._0_8_ = uVar48;\n        uVar49 = SUB168(auVar15 * auVar33,8);\n        uVar47 = SUB168(auVar15 * auVar33,0);\n        uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);\n        lVar54 = uVar50 + uVar57;\n        auVar41[8] = bVar58;\n        auVar41._0_8_ = lVar54;\n        auVar41._9_7_ = 0;\n        uVar57 = uVar56 + 4;\n        plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;\n        if (uVar57 == 0) break;\n        auVar8._8_8_ = 0;\n        auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);\n        auVar26._8_8_ = 0;\n        auVar26._0_8_ = uVar52;\n        auVar7 = auVar8 * auVar26 + auVar41;\nLAB_00134b8e:\n        uVar53 = auVar7._0_8_;\n        auVar9._8_8_ = 0;\n        auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar27._8_8_ = 0;\n        auVar27._0_8_ = uVar48;\n        uVar49 = SUB168(auVar9 * auVar27,8);\n        uVar47 = SUB168(auVar9 * auVar27,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar42._0_8_ = uVar50 + uVar56;\n        auVar42._9_7_ = 0;\n        auVar10._8_8_ = 0;\n        auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar28._8_8_ = 0;\n        auVar28._0_8_ = uVar52;\n        auVar7 = auVar10 * auVar28 + auVar42;\n        plVar1[uVar57] = uVar53 + uVar47;\n      }\n      *plVar1 = lVar54;\n      plVar1[1] = (ulong)bVar58;\n      if (param_5 != 2) {\n                    \n                    \n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);\n        return;\n      }\n    }\n    else {\n      uVar48 = *param_4;\n      auVar2._8_8_ = 0;\n      auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8);\n      auVar20._8_8_ = 0;\n      auVar20._0_8_ = uVar48;\n      auVar2 = auVar2 * auVar20;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      uVar52 = (ulong)uVar51;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134a72;\n      }\n      if (uVar51 < 2) {\n        uVar57 = uVar57 + 4;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        goto LAB_00134a5f;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        uVar52 = uVar57;\n        goto LAB_00134aa7;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar45._8_8_ = 0;\n        auVar45._0_8_ = auVar2._8_8_;\n        auVar5._8_8_ = 0;\n        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar23._8_8_ = 0;\n        auVar23._0_8_ = uVar48;\n        plVar1[uVar57 + 1] = auVar2._0_8_;\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        auVar2 = auVar5 * auVar23 + auVar45;\n        uVar52 = uVar57;\nLAB_00134aa7:\n        auVar46._8_8_ = 0;\n        auVar46._0_8_ = auVar2._8_8_;\n        auVar40._8_8_ = 0;\n        auVar40._0_8_ = auVar2._8_8_;\n        auVar6._8_8_ = 0;\n        auVar6._0_8_ = uVar56;\n        auVar24._8_8_ = 0;\n        auVar24._0_8_ = uVar48;\n        uVar57 = uVar52 + 4;\n        if (-1 < (long)uVar57) break;\n        plVar1[uVar52 + 2] = auVar2._0_8_;\n        auVar2 = auVar6 * auVar24 + auVar40;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\nLAB_00134a5f:\n        auVar38._8_8_ = 0;\n        auVar38._0_8_ = auVar2._8_8_;\n        uVar52 = 0;\n        auVar3._8_8_ = 0;\n        auVar3._0_8_ = uVar56;\n        auVar21._8_8_ = 0;\n        auVar21._0_8_ = uVar48;\n        plVar1[uVar57 - 1] = auVar2._0_8_;\n        auVar2 = auVar3 * auVar21 + auVar38;\nLAB_00134a72:\n        auVar39._8_8_ = uVar52;\n        auVar39._0_8_ = auVar2._8_8_;\n        auVar4._8_8_ = 0;\n        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar22._8_8_ = 0;\n        auVar22._0_8_ = uVar48;\n        plVar1[uVar57] = auVar2._0_8_;\n        auVar2 = auVar4 * auVar22 + auVar39;\n      }\n      plVar1[-2] = auVar2._0_8_;\n      auVar46 = auVar6 * auVar24 + auVar46;\n      plVar1[-1] = auVar46._0_8_;\n      plVar1[1] = 0;\n      *plVar1 = auVar46._8_8_;\n      if (param_5 != 1) {\n                    \n                    \n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);\n        return;\n      }\n    }\n  }" (else "else") (compound_statement "{\n    param_2 = param_2 + param_3 * 8;\n    if ((param_5 & 1) == 0) {\n      uVar48 = *param_4;\n      uVar52 = param_4[1];\n      auVar7._8_8_ = 0;\n      auVar7._0_8_ = *(ulong *)(param_2 + -8 + uVar56 * -8);\n      auVar25._8_8_ = 0;\n      auVar25._0_8_ = uVar52;\n      auVar7 = auVar7 * auVar25;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134b8e;\n      }\n      if (uVar51 < 2) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        uVar56 = uVar57;\n        goto LAB_00134c0d;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        goto LAB_00134be9;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar11._8_8_ = 0;\n        auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar29._8_8_ = 0;\n        auVar29._0_8_ = uVar48;\n        uVar49 = SUB168(auVar11 * auVar29,8);\n        uVar47 = SUB168(auVar11 * auVar29,0);\n        uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar43._0_8_ = uVar50 + uVar56;\n        auVar43._9_7_ = 0;\n        uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;\n        auVar12._8_8_ = 0;\n        auVar12._0_8_ = uVar56;\n        auVar30._8_8_ = 0;\n        auVar30._0_8_ = uVar52;\n        auVar7 = auVar12 * auVar30 + auVar43;\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\nLAB_00134be9:\n        uVar53 = auVar7._0_8_;\n        auVar13._8_8_ = 0;\n        auVar13._0_8_ = uVar56;\n        auVar31._8_8_ = 0;\n        auVar31._0_8_ = uVar48;\n        uVar49 = SUB168(auVar13 * auVar31,8);\n        uVar47 = SUB168(auVar13 * auVar31,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar44._0_8_ = uVar50 + uVar56;\n        auVar44._9_7_ = 0;\n        auVar14._8_8_ = 0;\n        auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar32._8_8_ = 0;\n        auVar32._0_8_ = uVar52;\n        auVar7 = auVar14 * auVar32 + auVar44;\n        plVar1[uVar57 + 2] = uVar53 + uVar47;\n        uVar56 = uVar57;\nLAB_00134c0d:\n        auVar15._8_8_ = 0;\n        auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);\n        auVar33._8_8_ = 0;\n        auVar33._0_8_ = uVar48;\n        uVar49 = SUB168(auVar15 * auVar33,8);\n        uVar47 = SUB168(auVar15 * auVar33,0);\n        uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);\n        lVar54 = uVar50 + uVar57;\n        auVar41[8] = bVar58;\n        auVar41._0_8_ = lVar54;\n        auVar41._9_7_ = 0;\n        uVar57 = uVar56 + 4;\n        plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;\n        if (uVar57 == 0) break;\n        auVar8._8_8_ = 0;\n        auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);\n        auVar26._8_8_ = 0;\n        auVar26._0_8_ = uVar52;\n        auVar7 = auVar8 * auVar26 + auVar41;\nLAB_00134b8e:\n        uVar53 = auVar7._0_8_;\n        auVar9._8_8_ = 0;\n        auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar27._8_8_ = 0;\n        auVar27._0_8_ = uVar48;\n        uVar49 = SUB168(auVar9 * auVar27,8);\n        uVar47 = SUB168(auVar9 * auVar27,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar42._0_8_ = uVar50 + uVar56;\n        auVar42._9_7_ = 0;\n        auVar10._8_8_ = 0;\n        auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar28._8_8_ = 0;\n        auVar28._0_8_ = uVar52;\n        auVar7 = auVar10 * auVar28 + auVar42;\n        plVar1[uVar57] = uVar53 + uVar47;\n      }\n      *plVar1 = lVar54;\n      plVar1[1] = (ulong)bVar58;\n      if (param_5 != 2) {\n                    \n                    \n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);\n        return;\n      }\n    }\n    else {\n      uVar48 = *param_4;\n      auVar2._8_8_ = 0;\n      auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8);\n      auVar20._8_8_ = 0;\n      auVar20._0_8_ = uVar48;\n      auVar2 = auVar2 * auVar20;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      uVar52 = (ulong)uVar51;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134a72;\n      }\n      if (uVar51 < 2) {\n        uVar57 = uVar57 + 4;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        goto LAB_00134a5f;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        uVar52 = uVar57;\n        goto LAB_00134aa7;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar45._8_8_ = 0;\n        auVar45._0_8_ = auVar2._8_8_;\n        auVar5._8_8_ = 0;\n        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar23._8_8_ = 0;\n        auVar23._0_8_ = uVar48;\n        plVar1[uVar57 + 1] = auVar2._0_8_;\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        auVar2 = auVar5 * auVar23 + auVar45;\n        uVar52 = uVar57;\nLAB_00134aa7:\n        auVar46._8_8_ = 0;\n        auVar46._0_8_ = auVar2._8_8_;\n        auVar40._8_8_ = 0;\n        auVar40._0_8_ = auVar2._8_8_;\n        auVar6._8_8_ = 0;\n        auVar6._0_8_ = uVar56;\n        auVar24._8_8_ = 0;\n        auVar24._0_8_ = uVar48;\n        uVar57 = uVar52 + 4;\n        if (-1 < (long)uVar57) break;\n        plVar1[uVar52 + 2] = auVar2._0_8_;\n        auVar2 = auVar6 * auVar24 + auVar40;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\nLAB_00134a5f:\n        auVar38._8_8_ = 0;\n        auVar38._0_8_ = auVar2._8_8_;\n        uVar52 = 0;\n        auVar3._8_8_ = 0;\n        auVar3._0_8_ = uVar56;\n        auVar21._8_8_ = 0;\n        auVar21._0_8_ = uVar48;\n        plVar1[uVar57 - 1] = auVar2._0_8_;\n        auVar2 = auVar3 * auVar21 + auVar38;\nLAB_00134a72:\n        auVar39._8_8_ = uVar52;\n        auVar39._0_8_ = auVar2._8_8_;\n        auVar4._8_8_ = 0;\n        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar22._8_8_ = 0;\n        auVar22._0_8_ = uVar48;\n        plVar1[uVar57] = auVar2._0_8_;\n        auVar2 = auVar4 * auVar22 + auVar39;\n      }\n      plVar1[-2] = auVar2._0_8_;\n      auVar46 = auVar6 * auVar24 + auVar46;\n      plVar1[-1] = auVar46._0_8_;\n      plVar1[1] = 0;\n      *plVar1 = auVar46._8_8_;\n      if (param_5 != 1) {\n                    \n                    \n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);\n        return;\n      }\n    }\n  }" ({ "{") (expression_statement "param_2 = param_2 + param_3 * 8;" (assignment_expression "param_2 = param_2 + param_3 * 8" (identifier "param_2") (= "=") (binary_expression "param_2 + param_3 * 8" (identifier "param_2") (+ "+") (binary_expression "param_3 * 8" (identifier "param_3") (* "*") (number_literal "8")))) (; ";")) (if_statement "if ((param_5 & 1) == 0) {\n      uVar48 = *param_4;\n      uVar52 = param_4[1];\n      auVar7._8_8_ = 0;\n      auVar7._0_8_ = *(ulong *)(param_2 + -8 + uVar56 * -8);\n      auVar25._8_8_ = 0;\n      auVar25._0_8_ = uVar52;\n      auVar7 = auVar7 * auVar25;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134b8e;\n      }\n      if (uVar51 < 2) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        uVar56 = uVar57;\n        goto LAB_00134c0d;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        goto LAB_00134be9;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar11._8_8_ = 0;\n        auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar29._8_8_ = 0;\n        auVar29._0_8_ = uVar48;\n        uVar49 = SUB168(auVar11 * auVar29,8);\n        uVar47 = SUB168(auVar11 * auVar29,0);\n        uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar43._0_8_ = uVar50 + uVar56;\n        auVar43._9_7_ = 0;\n        uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;\n        auVar12._8_8_ = 0;\n        auVar12._0_8_ = uVar56;\n        auVar30._8_8_ = 0;\n        auVar30._0_8_ = uVar52;\n        auVar7 = auVar12 * auVar30 + auVar43;\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\nLAB_00134be9:\n        uVar53 = auVar7._0_8_;\n        auVar13._8_8_ = 0;\n        auVar13._0_8_ = uVar56;\n        auVar31._8_8_ = 0;\n        auVar31._0_8_ = uVar48;\n        uVar49 = SUB168(auVar13 * auVar31,8);\n        uVar47 = SUB168(auVar13 * auVar31,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar44._0_8_ = uVar50 + uVar56;\n        auVar44._9_7_ = 0;\n        auVar14._8_8_ = 0;\n        auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar32._8_8_ = 0;\n        auVar32._0_8_ = uVar52;\n        auVar7 = auVar14 * auVar32 + auVar44;\n        plVar1[uVar57 + 2] = uVar53 + uVar47;\n        uVar56 = uVar57;\nLAB_00134c0d:\n        auVar15._8_8_ = 0;\n        auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);\n        auVar33._8_8_ = 0;\n        auVar33._0_8_ = uVar48;\n        uVar49 = SUB168(auVar15 * auVar33,8);\n        uVar47 = SUB168(auVar15 * auVar33,0);\n        uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);\n        lVar54 = uVar50 + uVar57;\n        auVar41[8] = bVar58;\n        auVar41._0_8_ = lVar54;\n        auVar41._9_7_ = 0;\n        uVar57 = uVar56 + 4;\n        plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;\n        if (uVar57 == 0) break;\n        auVar8._8_8_ = 0;\n        auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);\n        auVar26._8_8_ = 0;\n        auVar26._0_8_ = uVar52;\n        auVar7 = auVar8 * auVar26 + auVar41;\nLAB_00134b8e:\n        uVar53 = auVar7._0_8_;\n        auVar9._8_8_ = 0;\n        auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar27._8_8_ = 0;\n        auVar27._0_8_ = uVar48;\n        uVar49 = SUB168(auVar9 * auVar27,8);\n        uVar47 = SUB168(auVar9 * auVar27,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar42._0_8_ = uVar50 + uVar56;\n        auVar42._9_7_ = 0;\n        auVar10._8_8_ = 0;\n        auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar28._8_8_ = 0;\n        auVar28._0_8_ = uVar52;\n        auVar7 = auVar10 * auVar28 + auVar42;\n        plVar1[uVar57] = uVar53 + uVar47;\n      }\n      *plVar1 = lVar54;\n      plVar1[1] = (ulong)bVar58;\n      if (param_5 != 2) {\n                    \n                    \n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);\n        return;\n      }\n    }\n    else {\n      uVar48 = *param_4;\n      auVar2._8_8_ = 0;\n      auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8);\n      auVar20._8_8_ = 0;\n      auVar20._0_8_ = uVar48;\n      auVar2 = auVar2 * auVar20;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      uVar52 = (ulong)uVar51;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134a72;\n      }\n      if (uVar51 < 2) {\n        uVar57 = uVar57 + 4;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        goto LAB_00134a5f;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        uVar52 = uVar57;\n        goto LAB_00134aa7;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar45._8_8_ = 0;\n        auVar45._0_8_ = auVar2._8_8_;\n        auVar5._8_8_ = 0;\n        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar23._8_8_ = 0;\n        auVar23._0_8_ = uVar48;\n        plVar1[uVar57 + 1] = auVar2._0_8_;\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        auVar2 = auVar5 * auVar23 + auVar45;\n        uVar52 = uVar57;\nLAB_00134aa7:\n        auVar46._8_8_ = 0;\n        auVar46._0_8_ = auVar2._8_8_;\n        auVar40._8_8_ = 0;\n        auVar40._0_8_ = auVar2._8_8_;\n        auVar6._8_8_ = 0;\n        auVar6._0_8_ = uVar56;\n        auVar24._8_8_ = 0;\n        auVar24._0_8_ = uVar48;\n        uVar57 = uVar52 + 4;\n        if (-1 < (long)uVar57) break;\n        plVar1[uVar52 + 2] = auVar2._0_8_;\n        auVar2 = auVar6 * auVar24 + auVar40;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\nLAB_00134a5f:\n        auVar38._8_8_ = 0;\n        auVar38._0_8_ = auVar2._8_8_;\n        uVar52 = 0;\n        auVar3._8_8_ = 0;\n        auVar3._0_8_ = uVar56;\n        auVar21._8_8_ = 0;\n        auVar21._0_8_ = uVar48;\n        plVar1[uVar57 - 1] = auVar2._0_8_;\n        auVar2 = auVar3 * auVar21 + auVar38;\nLAB_00134a72:\n        auVar39._8_8_ = uVar52;\n        auVar39._0_8_ = auVar2._8_8_;\n        auVar4._8_8_ = 0;\n        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar22._8_8_ = 0;\n        auVar22._0_8_ = uVar48;\n        plVar1[uVar57] = auVar2._0_8_;\n        auVar2 = auVar4 * auVar22 + auVar39;\n      }\n      plVar1[-2] = auVar2._0_8_;\n      auVar46 = auVar6 * auVar24 + auVar46;\n      plVar1[-1] = auVar46._0_8_;\n      plVar1[1] = 0;\n      *plVar1 = auVar46._8_8_;\n      if (param_5 != 1) {\n                    \n                    \n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);\n        return;\n      }\n    }" (if "if") (parenthesized_expression "((param_5 & 1) == 0)" (( "(") (binary_expression "(param_5 & 1) == 0" (parenthesized_expression "(param_5 & 1)" (( "(") (binary_expression "param_5 & 1" (identifier "param_5") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar48 = *param_4;\n      uVar52 = param_4[1];\n      auVar7._8_8_ = 0;\n      auVar7._0_8_ = *(ulong *)(param_2 + -8 + uVar56 * -8);\n      auVar25._8_8_ = 0;\n      auVar25._0_8_ = uVar52;\n      auVar7 = auVar7 * auVar25;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134b8e;\n      }\n      if (uVar51 < 2) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        uVar56 = uVar57;\n        goto LAB_00134c0d;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        goto LAB_00134be9;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar11._8_8_ = 0;\n        auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar29._8_8_ = 0;\n        auVar29._0_8_ = uVar48;\n        uVar49 = SUB168(auVar11 * auVar29,8);\n        uVar47 = SUB168(auVar11 * auVar29,0);\n        uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar43._0_8_ = uVar50 + uVar56;\n        auVar43._9_7_ = 0;\n        uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;\n        auVar12._8_8_ = 0;\n        auVar12._0_8_ = uVar56;\n        auVar30._8_8_ = 0;\n        auVar30._0_8_ = uVar52;\n        auVar7 = auVar12 * auVar30 + auVar43;\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\nLAB_00134be9:\n        uVar53 = auVar7._0_8_;\n        auVar13._8_8_ = 0;\n        auVar13._0_8_ = uVar56;\n        auVar31._8_8_ = 0;\n        auVar31._0_8_ = uVar48;\n        uVar49 = SUB168(auVar13 * auVar31,8);\n        uVar47 = SUB168(auVar13 * auVar31,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar44._0_8_ = uVar50 + uVar56;\n        auVar44._9_7_ = 0;\n        auVar14._8_8_ = 0;\n        auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar32._8_8_ = 0;\n        auVar32._0_8_ = uVar52;\n        auVar7 = auVar14 * auVar32 + auVar44;\n        plVar1[uVar57 + 2] = uVar53 + uVar47;\n        uVar56 = uVar57;\nLAB_00134c0d:\n        auVar15._8_8_ = 0;\n        auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);\n        auVar33._8_8_ = 0;\n        auVar33._0_8_ = uVar48;\n        uVar49 = SUB168(auVar15 * auVar33,8);\n        uVar47 = SUB168(auVar15 * auVar33,0);\n        uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);\n        lVar54 = uVar50 + uVar57;\n        auVar41[8] = bVar58;\n        auVar41._0_8_ = lVar54;\n        auVar41._9_7_ = 0;\n        uVar57 = uVar56 + 4;\n        plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;\n        if (uVar57 == 0) break;\n        auVar8._8_8_ = 0;\n        auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);\n        auVar26._8_8_ = 0;\n        auVar26._0_8_ = uVar52;\n        auVar7 = auVar8 * auVar26 + auVar41;\nLAB_00134b8e:\n        uVar53 = auVar7._0_8_;\n        auVar9._8_8_ = 0;\n        auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar27._8_8_ = 0;\n        auVar27._0_8_ = uVar48;\n        uVar49 = SUB168(auVar9 * auVar27,8);\n        uVar47 = SUB168(auVar9 * auVar27,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar42._0_8_ = uVar50 + uVar56;\n        auVar42._9_7_ = 0;\n        auVar10._8_8_ = 0;\n        auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar28._8_8_ = 0;\n        auVar28._0_8_ = uVar52;\n        auVar7 = auVar10 * auVar28 + auVar42;\n        plVar1[uVar57] = uVar53 + uVar47;\n      }\n      *plVar1 = lVar54;\n      plVar1[1] = (ulong)bVar58;\n      if (param_5 != 2) {\n                    \n                    \n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);\n        return;\n      }\n    }" ({ "{") (expression_statement "uVar48 = *param_4;" (assignment_expression "uVar48 = *param_4" (identifier "uVar48") (= "=") (pointer_expression "*param_4" (* "*") (identifier "param_4"))) (; ";")) (expression_statement "uVar52 = param_4[1];" (assignment_expression "uVar52 = param_4[1]" (identifier "uVar52") (= "=") (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "auVar7._8_8_ = 0;" (assignment_expression "auVar7._8_8_ = 0" (field_expression "auVar7._8_8_" (identifier "auVar7") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auVar7._0_8_ = *(ulong *)(param_2 + -8 + uVar56 * -8);" (assignment_expression "auVar7._0_8_ = *(ulong *)(param_2 + -8 + uVar56 * -8)" (field_expression "auVar7._0_8_" (identifier "auVar7") (. ".") (field_identifier "_0_8_")) (= "=") (pointer_expression "*(ulong *)(param_2 + -8 + uVar56 * -8)" (* "*") (cast_expression "(ulong *)(param_2 + -8 + uVar56 * -8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + -8 + uVar56 * -8)" (( "(") (binary_expression "param_2 + -8 + uVar56 * -8" (binary_expression "param_2 + -8" (identifier "param_2") (+ "+") (number_literal "-8")) (+ "+") (binary_expression "uVar56 * -8" (identifier "uVar56") (* "*") (number_literal "-8"))) () ")"))))) (; ";")) (expression_statement "auVar25._8_8_ = 0;" (assignment_expression "auVar25._8_8_ = 0" (field_expression "auVar25._8_8_" (identifier "auVar25") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auVar25._0_8_ = uVar52;" (assignment_expression "auVar25._0_8_ = uVar52" (field_expression "auVar25._0_8_" (identifier "auVar25") (. ".") (field_identifier "_0_8_")) (= "=") (identifier "uVar52")) (; ";")) (expression_statement "auVar7 = auVar7 * auVar25;" (assignment_expression "auVar7 = auVar7 * auVar25" (identifier "auVar7") (= "=") (binary_expression "auVar7 * auVar25" (identifier "auVar7") (* "*") (identifier "auVar25"))) (; ";")) (expression_statement "uVar57 = -uVar56 & 0xfffffffffffffffc;" (assignment_expression "uVar57 = -uVar56 & 0xfffffffffffffffc" (identifier "uVar57") (= "=") (binary_expression "-uVar56 & 0xfffffffffffffffc" (unary_expression "-uVar56" (- "-") (identifier "uVar56")) (& "&") (number_literal "0xfffffffffffffffc"))) (; ";")) (expression_statement "uVar51 = (uint)uVar56 & 3;" (assignment_expression "uVar51 = (uint)uVar56 & 3" (identifier "uVar51") (= "=") (binary_expression "(uint)uVar56 & 3" (cast_expression "(uint)uVar56" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar56")) (& "&") (number_literal "3"))) (; ";")) (if_statement "if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134b8e;\n      }" (if "if") (parenthesized_expression "((uVar56 & 3) == 0)" (( "(") (binary_expression "(uVar56 & 3) == 0" (parenthesized_expression "(uVar56 & 3)" (( "(") (binary_expression "uVar56 & 3" (identifier "uVar56") (& "&") (number_literal "3")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134b8e;\n      }" ({ "{") (expression_statement "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60" (identifier "UNRECOVERED_JUMPTABLE") (= "=") (cast_expression "(code *)&DAT_00134c60" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00134c60" (& "&") (identifier "DAT_00134c60")))) (; ";")) (goto_statement "goto LAB_00134b8e;" (goto "goto") (statement_identifier "LAB_00134b8e") (; ";")) (} "}"))) (if_statement "if (uVar51 < 2) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        uVar56 = uVar57;\n        goto LAB_00134c0d;\n      }" (if "if") (parenthesized_expression "(uVar51 < 2)" (( "(") (binary_expression "uVar51 < 2" (identifier "uVar51") (< "<") (number_literal "2")) () ")")) (compound_statement "{\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        uVar56 = uVar57;\n        goto LAB_00134c0d;\n      }" ({ "{") (expression_statement "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80" (identifier "UNRECOVERED_JUMPTABLE") (= "=") (cast_expression "(code *)&DAT_00134c80" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00134c80" (& "&") (identifier "DAT_00134c80")))) (; ";")) (expression_statement "uVar56 = uVar57;" (assignment_expression "uVar56 = uVar57" (identifier "uVar56") (= "=") (identifier "uVar57")) (; ";")) (goto_statement "goto LAB_00134c0d;" (goto "goto") (statement_identifier "LAB_00134c0d") (; ";")) (} "}"))) (if_statement "if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        goto LAB_00134be9;\n      }" (if "if") (parenthesized_expression "(uVar51 == 2)" (( "(") (binary_expression "uVar51 == 2" (identifier "uVar51") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        goto LAB_00134be9;\n      }" ({ "{") (expression_statement "uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);" (assignment_expression "uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8)" (identifier "uVar56") (= "=") (pointer_expression "*(ulong *)(param_2 + 0x10 + uVar57 * 8)" (* "*") (cast_expression "(ulong *)(param_2 + 0x10 + uVar57 * 8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x10 + uVar57 * 8)" (( "(") (binary_expression "param_2 + 0x10 + uVar57 * 8" (binary_expression "param_2 + 0x10" (identifier "param_2") (+ "+") (number_literal "0x10")) (+ "+") (binary_expression "uVar57 * 8" (identifier "uVar57") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0" (identifier "UNRECOVERED_JUMPTABLE") (= "=") (cast_expression "(code *)&DAT_00134ca0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00134ca0" (& "&") (identifier "DAT_00134ca0")))) (; ";")) (goto_statement "goto LAB_00134be9;" (goto "goto") (statement_identifier "LAB_00134be9") (; ";")) (} "}"))) (expression_statement "UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0" (identifier "UNRECOVERED_JUMPTABLE") (= "=") (cast_expression "(code *)&LAB_00134cc0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&LAB_00134cc0" (& "&") (identifier "LAB_00134cc0")))) (; ";")) (while_statement "while( true ) {\n        auVar11._8_8_ = 0;\n        auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar29._8_8_ = 0;\n        auVar29._0_8_ = uVar48;\n        uVar49 = SUB168(auVar11 * auVar29,8);\n        uVar47 = SUB168(auVar11 * auVar29,0);\n        uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar43._0_8_ = uVar50 + uVar56;\n        auVar43._9_7_ = 0;\n        uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;\n        auVar12._8_8_ = 0;\n        auVar12._0_8_ = uVar56;\n        auVar30._8_8_ = 0;\n        auVar30._0_8_ = uVar52;\n        auVar7 = auVar12 * auVar30 + auVar43;\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\nLAB_00134be9:\n        uVar53 = auVar7._0_8_;\n        auVar13._8_8_ = 0;\n        auVar13._0_8_ = uVar56;\n        auVar31._8_8_ = 0;\n        auVar31._0_8_ = uVar48;\n        uVar49 = SUB168(auVar13 * auVar31,8);\n        uVar47 = SUB168(auVar13 * auVar31,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar44._0_8_ = uVar50 + uVar56;\n        auVar44._9_7_ = 0;\n        auVar14._8_8_ = 0;\n        auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar32._8_8_ = 0;\n        auVar32._0_8_ = uVar52;\n        auVar7 = auVar14 * auVar32 + auVar44;\n        plVar1[uVar57 + 2] = uVar53 + uVar47;\n        uVar56 = uVar57;\nLAB_00134c0d:\n        auVar15._8_8_ = 0;\n        auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);\n        auVar33._8_8_ = 0;\n        auVar33._0_8_ = uVar48;\n        uVar49 = SUB168(auVar15 * auVar33,8);\n        uVar47 = SUB168(auVar15 * auVar33,0);\n        uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);\n        lVar54 = uVar50 + uVar57;\n        auVar41[8] = bVar58;\n        auVar41._0_8_ = lVar54;\n        auVar41._9_7_ = 0;\n        uVar57 = uVar56 + 4;\n        plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;\n        if (uVar57 == 0) break;\n        auVar8._8_8_ = 0;\n        auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);\n        auVar26._8_8_ = 0;\n        auVar26._0_8_ = uVar52;\n        auVar7 = auVar8 * auVar26 + auVar41;\nLAB_00134b8e:\n        uVar53 = auVar7._0_8_;\n        auVar9._8_8_ = 0;\n        auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar27._8_8_ = 0;\n        auVar27._0_8_ = uVar48;\n        uVar49 = SUB168(auVar9 * auVar27,8);\n        uVar47 = SUB168(auVar9 * auVar27,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar42._0_8_ = uVar50 + uVar56;\n        auVar42._9_7_ = 0;\n        auVar10._8_8_ = 0;\n        auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar28._8_8_ = 0;\n        auVar28._0_8_ = uVar52;\n        auVar7 = auVar10 * auVar28 + auVar42;\n        plVar1[uVar57] = uVar53 + uVar47;\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        auVar11._8_8_ = 0;\n        auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar29._8_8_ = 0;\n        auVar29._0_8_ = uVar48;\n        uVar49 = SUB168(auVar11 * auVar29,8);\n        uVar47 = SUB168(auVar11 * auVar29,0);\n        uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar43._0_8_ = uVar50 + uVar56;\n        auVar43._9_7_ = 0;\n        uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;\n        auVar12._8_8_ = 0;\n        auVar12._0_8_ = uVar56;\n        auVar30._8_8_ = 0;\n        auVar30._0_8_ = uVar52;\n        auVar7 = auVar12 * auVar30 + auVar43;\n        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\nLAB_00134be9:\n        uVar53 = auVar7._0_8_;\n        auVar13._8_8_ = 0;\n        auVar13._0_8_ = uVar56;\n        auVar31._8_8_ = 0;\n        auVar31._0_8_ = uVar48;\n        uVar49 = SUB168(auVar13 * auVar31,8);\n        uVar47 = SUB168(auVar13 * auVar31,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar44._0_8_ = uVar50 + uVar56;\n        auVar44._9_7_ = 0;\n        auVar14._8_8_ = 0;\n        auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar32._8_8_ = 0;\n        auVar32._0_8_ = uVar52;\n        auVar7 = auVar14 * auVar32 + auVar44;\n        plVar1[uVar57 + 2] = uVar53 + uVar47;\n        uVar56 = uVar57;\nLAB_00134c0d:\n        auVar15._8_8_ = 0;\n        auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);\n        auVar33._8_8_ = 0;\n        auVar33._0_8_ = uVar48;\n        uVar49 = SUB168(auVar15 * auVar33,8);\n        uVar47 = SUB168(auVar15 * auVar33,0);\n        uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);\n        lVar54 = uVar50 + uVar57;\n        auVar41[8] = bVar58;\n        auVar41._0_8_ = lVar54;\n        auVar41._9_7_ = 0;\n        uVar57 = uVar56 + 4;\n        plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;\n        if (uVar57 == 0) break;\n        auVar8._8_8_ = 0;\n        auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);\n        auVar26._8_8_ = 0;\n        auVar26._0_8_ = uVar52;\n        auVar7 = auVar8 * auVar26 + auVar41;\nLAB_00134b8e:\n        uVar53 = auVar7._0_8_;\n        auVar9._8_8_ = 0;\n        auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar27._8_8_ = 0;\n        auVar27._0_8_ = uVar48;\n        uVar49 = SUB168(auVar9 * auVar27,8);\n        uVar47 = SUB168(auVar9 * auVar27,0);\n        uVar56 = (ulong)CARRY8(uVar53,uVar47);\n        uVar50 = auVar7._8_8_ + uVar49;\n        auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);\n        auVar42._0_8_ = uVar50 + uVar56;\n        auVar42._9_7_ = 0;\n        auVar10._8_8_ = 0;\n        auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);\n        auVar28._8_8_ = 0;\n        auVar28._0_8_ = uVar52;\n        auVar7 = auVar10 * auVar28 + auVar42;\n        plVar1[uVar57] = uVar53 + uVar47;\n      }" ({ "{") (expression_statement "auVar11._8_8_ = 0;" (assignment_expression "auVar11._8_8_ = 0" (field_expression "auVar11._8_8_" (identifier "auVar11") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);" (assignment_expression "auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8)" (field_expression "auVar11._0_8_" (identifier "auVar11") (. ".") (field_identifier "_0_8_")) (= "=") (pointer_expression "*(ulong *)(param_2 + 8 + uVar57 * 8)" (* "*") (cast_expression "(ulong *)(param_2 + 8 + uVar57 * 8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 8 + uVar57 * 8)" (( "(") (binary_expression "param_2 + 8 + uVar57 * 8" (binary_expression "param_2 + 8" (identifier "param_2") (+ "+") (number_literal "8")) (+ "+") (binary_expression "uVar57 * 8" (identifier "uVar57") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "auVar29._8_8_ = 0;" (assignment_expression "auVar29._8_8_ = 0" (field_expression "auVar29._8_8_" (identifier "auVar29") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auVar29._0_8_ = uVar48;" (assignment_expression "auVar29._0_8_ = uVar48" (field_expression "auVar29._0_8_" (identifier "auVar29") (. ".") (field_identifier "_0_8_")) (= "=") (identifier "uVar48")) (; ";")) (expression_statement "uVar49 = SUB168(auVar11 * auVar29,8);" (assignment_expression "uVar49 = SUB168(auVar11 * auVar29,8)" (identifier "uVar49") (= "=") (call_expression "SUB168(auVar11 * auVar29,8)" (identifier "SUB168") (argument_list "(auVar11 * auVar29,8)" (( "(") (binary_expression "auVar11 * auVar29" (identifier "auVar11") (* "*") (identifier "auVar29")) (, ",") (number_literal "8") () ")")))) (; ";")) (expression_statement "uVar47 = SUB168(auVar11 * auVar29,0);" (assignment_expression "uVar47 = SUB168(auVar11 * auVar29,0)" (identifier "uVar47") (= "=") (call_expression "SUB168(auVar11 * auVar29,0)" (identifier "SUB168") (argument_list "(auVar11 * auVar29,0)" (( "(") (binary_expression "auVar11 * auVar29" (identifier "auVar11") (* "*") (identifier "auVar29")) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);" (assignment_expression "uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47)" (identifier "uVar56") (= "=") (cast_expression "(ulong)CARRY8(auVar7._0_8_,uVar47)" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (call_expression "CARRY8(auVar7._0_8_,uVar47)" (identifier "CARRY8") (argument_list "(auVar7._0_8_,uVar47)" (( "(") (field_expression "auVar7._0_8_" (identifier "auVar7") (. ".") (field_identifier "_0_8_")) (, ",") (identifier "uVar47") () ")"))))) (; ";")) (expression_statement "uVar50 = auVar7._8_8_ + uVar49;" (assignment_expression "uVar50 = auVar7._8_8_ + uVar49" (identifier "uVar50") (= "=") (binary_expression "auVar7._8_8_ + uVar49" (field_expression "auVar7._8_8_" (identifier "auVar7") (. ".") (field_identifier "_8_8_")) (+ "+") (identifier "uVar49"))) (; ";")) (expression_statement "auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);" (assignment_expression "auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56)" (subscript_expression "auVar43[8]" (identifier "auVar43") ([ "[") (number_literal "8") (] "]")) (= "=") (binary_expression "CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56)" (call_expression "CARRY8(auVar7._8_8_,uVar49)" (identifier "CARRY8") (argument_list "(auVar7._8_8_,uVar49)" (( "(") (field_expression "auVar7._8_8_" (identifier "auVar7") (. ".") (field_identifier "_8_8_")) (, ",") (identifier "uVar49") () ")"))) (|| "||") (call_expression "CARRY8(uVar50,uVar56)" (identifier "CARRY8") (argument_list "(uVar50,uVar56)" (( "(") (identifier "uVar50") (, ",") (identifier "uVar56") () ")"))))) (; ";")) (expression_statement "auVar43._0_8_ = uVar50 + uVar56;" (assignment_expression "auVar43._0_8_ = uVar50 + uVar56" (field_expression "auVar43._0_8_" (identifier "auVar43") (. ".") (field_identifier "_0_8_")) (= "=") (binary_expression "uVar50 + uVar56" (identifier "uVar50") (+ "+") (identifier "uVar56"))) (; ";")) (expression_statement "auVar43._9_7_ = 0;" (assignment_expression "auVar43._9_7_ = 0" (field_expression "auVar43._9_7_" (identifier "auVar43") (. ".") (field_identifier "_9_7_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);" (assignment_expression "uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8)" (identifier "uVar56") (= "=") (pointer_expression "*(ulong *)(param_2 + 8 + uVar57 * 8)" (* "*") (cast_expression "(ulong *)(param_2 + 8 + uVar57 * 8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 8 + uVar57 * 8)" (( "(") (binary_expression "param_2 + 8 + uVar57 * 8" (binary_expression "param_2 + 8" (identifier "param_2") (+ "+") (number_literal "8")) (+ "+") (binary_expression "uVar57 * 8" (identifier "uVar57") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;" (assignment_expression "plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47" (subscript_expression "plVar1[uVar57 + 1]" (identifier "plVar1") ([ "[") (binary_expression "uVar57 + 1" (identifier "uVar57") (+ "+") (number_literal "1")) (] "]")) (= "=") (binary_expression "auVar7._0_8_ + uVar47" (field_expression "auVar7._0_8_" (identifier "auVar7") (. ".") (field_identifier "_0_8_")) (+ "+") (identifier "uVar47"))) (; ";")) (expression_statement "auVar12._8_8_ = 0;" (assignment_expression "auVar12._8_8_ = 0" (field_expression "auVar12._8_8_" (identifier "auVar12") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auVar12._0_8_ = uVar56;" (assignment_expression "auVar12._0_8_ = uVar56" (field_expression "auVar12._0_8_" (identifier "auVar12") (. ".") (field_identifier "_0_8_")) (= "=") (identifier "uVar56")) (; ";")) (expression_statement "auVar30._8_8_ = 0;" (assignment_expression "auVar30._8_8_ = 0" (field_expression "auVar30._8_8_" (identifier "auVar30") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auVar30._0_8_ = uVar52;" (assignment_expression "auVar30._0_8_ = uVar52" (field_expression "auVar30._0_8_" (identifier "auVar30") (. ".") (field_identifier "_0_8_")) (= "=") (identifier "uVar52")) (; ";")) (expression_statement "auVar7 = auVar12 * auVar30 + auVar43;" (assignment_expression "auVar7 = auVar12 * auVar30 + auVar43" (identifier "auVar7") (= "=") (binary_expression "auVar12 * auVar30 + auVar43" (binary_expression "auVar12 * auVar30" (identifier "auVar12") (* "*") (identifier "auVar30")) (+ "+") (identifier "auVar43"))) (; ";")) (expression_statement "uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);" (assignment_expression "uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8)" (identifier "uVar56") (= "=") (pointer_expression "*(ulong *)(param_2 + 0x10 + uVar57 * 8)" (* "*") (cast_expression "(ulong *)(param_2 + 0x10 + uVar57 * 8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x10 + uVar57 * 8)" (( "(") (binary_expression "param_2 + 0x10 + uVar57 * 8" (binary_expression "param_2 + 0x10" (identifier "param_2") (+ "+") (number_literal "0x10")) (+ "+") (binary_expression "uVar57 * 8" (identifier "uVar57") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (labeled_statement "LAB_00134be9:\n        uVar53 = auVar7._0_8_;" (statement_identifier "LAB_00134be9") (: ":") (expression_statement "uVar53 = auVar7._0_8_;" (assignment_expression "uVar53 = auVar7._0_8_" (identifier "uVar53") (= "=") (field_expression "auVar7._0_8_" (identifier "auVar7") (. ".") (field_identifier "_0_8_"))) (; ";"))) (expression_statement "auVar13._8_8_ = 0;" (assignment_expression "auVar13._8_8_ = 0" (field_expression "auVar13._8_8_" (identifier "auVar13") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auVar13._0_8_ = uVar56;" (assignment_expression "auVar13._0_8_ = uVar56" (field_expression "auVar13._0_8_" (identifier "auVar13") (. ".") (field_identifier "_0_8_")) (= "=") (identifier "uVar56")) (; ";")) (expression_statement "auVar31._8_8_ = 0;" (assignment_expression "auVar31._8_8_ = 0" (field_expression "auVar31._8_8_" (identifier "auVar31") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auVar31._0_8_ = uVar48;" (assignment_expression "auVar31._0_8_ = uVar48" (field_expression "auVar31._0_8_" (identifier "auVar31") (. ".") (field_identifier "_0_8_")) (= "=") (identifier "uVar48")) (; ";")) (expression_statement "uVar49 = SUB168(auVar13 * auVar31,8);" (assignment_expression "uVar49 = SUB168(auVar13 * auVar31,8)" (identifier "uVar49") (= "=") (call_expression "SUB168(auVar13 * auVar31,8)" (identifier "SUB168") (argument_list "(auVar13 * auVar31,8)" (( "(") (binary_expression "auVar13 * auVar31" (identifier "auVar13") (* "*") (identifier "auVar31")) (, ",") (number_literal "8") () ")")))) (; ";")) (expression_statement "uVar47 = SUB168(auVar13 * auVar31,0);" (assignment_expression "uVar47 = SUB168(auVar13 * auVar31,0)" (identifier "uVar47") (= "=") (call_expression "SUB168(auVar13 * auVar31,0)" (identifier "SUB168") (argument_list "(auVar13 * auVar31,0)" (( "(") (binary_expression "auVar13 * auVar31" (identifier "auVar13") (* "*") (identifier "auVar31")) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "uVar56 = (ulong)CARRY8(uVar53,uVar47);" (assignment_expression "uVar56 = (ulong)CARRY8(uVar53,uVar47)" (identifier "uVar56") (= "=") (cast_expression "(ulong)CARRY8(uVar53,uVar47)" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (call_expression "CARRY8(uVar53,uVar47)" (identifier "CARRY8") (argument_list "(uVar53,uVar47)" (( "(") (identifier "uVar53") (, ",") (identifier "uVar47") () ")"))))) (; ";")) (expression_statement "uVar50 = auVar7._8_8_ + uVar49;" (assignment_expression "uVar50 = auVar7._8_8_ + uVar49" (identifier "uVar50") (= "=") (binary_expression "auVar7._8_8_ + uVar49" (field_expression "auVar7._8_8_" (identifier "auVar7") (. ".") (field_identifier "_8_8_")) (+ "+") (identifier "uVar49"))) (; ";")) (expression_statement "auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);" (assignment_expression "auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56)" (subscript_expression "auVar44[8]" (identifier "auVar44") ([ "[") (number_literal "8") (] "]")) (= "=") (binary_expression "CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56)" (call_expression "CARRY8(auVar7._8_8_,uVar49)" (identifier "CARRY8") (argument_list "(auVar7._8_8_,uVar49)" (( "(") (field_expression "auVar7._8_8_" (identifier "auVar7") (. ".") (field_identifier "_8_8_")) (, ",") (identifier "uVar49") () ")"))) (|| "||") (call_expression "CARRY8(uVar50,uVar56)" (identifier "CARRY8") (argument_list "(uVar50,uVar56)" (( "(") (identifier "uVar50") (, ",") (identifier "uVar56") () ")"))))) (; ";")) (expression_statement "auVar44._0_8_ = uVar50 + uVar56;" (assignment_expression "auVar44._0_8_ = uVar50 + uVar56" (field_expression "auVar44._0_8_" (identifier "auVar44") (. ".") (field_identifier "_0_8_")) (= "=") (binary_expression "uVar50 + uVar56" (identifier "uVar50") (+ "+") (identifier "uVar56"))) (; ";")) (expression_statement "auVar44._9_7_ = 0;" (assignment_expression "auVar44._9_7_ = 0" (field_expression "auVar44._9_7_" (identifier "auVar44") (. ".") (field_identifier "_9_7_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auVar14._8_8_ = 0;" (assignment_expression "auVar14._8_8_ = 0" (field_expression "auVar14._8_8_" (identifier "auVar14") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);" (assignment_expression "auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8)" (field_expression "auVar14._0_8_" (identifier "auVar14") (. ".") (field_identifier "_0_8_")) (= "=") (pointer_expression "*(ulong *)(param_2 + 0x10 + uVar57 * 8)" (* "*") (cast_expression "(ulong *)(param_2 + 0x10 + uVar57 * 8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x10 + uVar57 * 8)" (( "(") (binary_expression "param_2 + 0x10 + uVar57 * 8" (binary_expression "param_2 + 0x10" (identifier "param_2") (+ "+") (number_literal "0x10")) (+ "+") (binary_expression "uVar57 * 8" (identifier "uVar57") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "auVar32._8_8_ = 0;" (assignment_expression "auVar32._8_8_ = 0" (field_expression "auVar32._8_8_" (identifier "auVar32") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auVar32._0_8_ = uVar52;" (assignment_expression "auVar32._0_8_ = uVar52" (field_expression "auVar32._0_8_" (identifier "auVar32") (. ".") (field_identifier "_0_8_")) (= "=") (identifier "uVar52")) (; ";")) (expression_statement "auVar7 = auVar14 * auVar32 + auVar44;" (assignment_expression "auVar7 = auVar14 * auVar32 + auVar44" (identifier "auVar7") (= "=") (binary_expression "auVar14 * auVar32 + auVar44" (binary_expression "auVar14 * auVar32" (identifier "auVar14") (* "*") (identifier "auVar32")) (+ "+") (identifier "auVar44"))) (; ";")) (expression_statement "plVar1[uVar57 + 2] = uVar53 + uVar47;" (assignment_expression "plVar1[uVar57 + 2] = uVar53 + uVar47" (subscript_expression "plVar1[uVar57 + 2]" (identifier "plVar1") ([ "[") (binary_expression "uVar57 + 2" (identifier "uVar57") (+ "+") (number_literal "2")) (] "]")) (= "=") (binary_expression "uVar53 + uVar47" (identifier "uVar53") (+ "+") (identifier "uVar47"))) (; ";")) (expression_statement "uVar56 = uVar57;" (assignment_expression "uVar56 = uVar57" (identifier "uVar56") (= "=") (identifier "uVar57")) (; ";")) (labeled_statement "LAB_00134c0d:\n        auVar15._8_8_ = 0;" (statement_identifier "LAB_00134c0d") (: ":") (expression_statement "auVar15._8_8_ = 0;" (assignment_expression "auVar15._8_8_ = 0" (field_expression "auVar15._8_8_" (identifier "auVar15") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";"))) (expression_statement "auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);" (assignment_expression "auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8)" (field_expression "auVar15._0_8_" (identifier "auVar15") (. ".") (field_identifier "_0_8_")) (= "=") (pointer_expression "*(ulong *)(param_2 + 0x18 + uVar56 * 8)" (* "*") (cast_expression "(ulong *)(param_2 + 0x18 + uVar56 * 8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x18 + uVar56 * 8)" (( "(") (binary_expression "param_2 + 0x18 + uVar56 * 8" (binary_expression "param_2 + 0x18" (identifier "param_2") (+ "+") (number_literal "0x18")) (+ "+") (binary_expression "uVar56 * 8" (identifier "uVar56") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "auVar33._8_8_ = 0;" (assignment_expression "auVar33._8_8_ = 0" (field_expression "auVar33._8_8_" (identifier "auVar33") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auVar33._0_8_ = uVar48;" (assignment_expression "auVar33._0_8_ = uVar48" (field_expression "auVar33._0_8_" (identifier "auVar33") (. ".") (field_identifier "_0_8_")) (= "=") (identifier "uVar48")) (; ";")) (expression_statement "uVar49 = SUB168(auVar15 * auVar33,8);" (assignment_expression "uVar49 = SUB168(auVar15 * auVar33,8)" (identifier "uVar49") (= "=") (call_expression "SUB168(auVar15 * auVar33,8)" (identifier "SUB168") (argument_list "(auVar15 * auVar33,8)" (( "(") (binary_expression "auVar15 * auVar33" (identifier "auVar15") (* "*") (identifier "auVar33")) (, ",") (number_literal "8") () ")")))) (; ";")) (expression_statement "uVar47 = SUB168(auVar15 * auVar33,0);" (assignment_expression "uVar47 = SUB168(auVar15 * auVar33,0)" (identifier "uVar47") (= "=") (call_expression "SUB168(auVar15 * auVar33,0)" (identifier "SUB168") (argument_list "(auVar15 * auVar33,0)" (( "(") (binary_expression "auVar15 * auVar33" (identifier "auVar15") (* "*") (identifier "auVar33")) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);" (assignment_expression "uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47)" (identifier "uVar57") (= "=") (cast_expression "(ulong)CARRY8(auVar7._0_8_,uVar47)" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (call_expression "CARRY8(auVar7._0_8_,uVar47)" (identifier "CARRY8") (argument_list "(auVar7._0_8_,uVar47)" (( "(") (field_expression "auVar7._0_8_" (identifier "auVar7") (. ".") (field_identifier "_0_8_")) (, ",") (identifier "uVar47") () ")"))))) (; ";")) (expression_statement "uVar50 = auVar7._8_8_ + uVar49;" (assignment_expression "uVar50 = auVar7._8_8_ + uVar49" (identifier "uVar50") (= "=") (binary_expression "auVar7._8_8_ + uVar49" (field_expression "auVar7._8_8_" (identifier "auVar7") (. ".") (field_identifier "_8_8_")) (+ "+") (identifier "uVar49"))) (; ";")) (expression_statement "bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);" (assignment_expression "bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57)" (identifier "bVar58") (= "=") (binary_expression "CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57)" (call_expression "CARRY8(auVar7._8_8_,uVar49)" (identifier "CARRY8") (argument_list "(auVar7._8_8_,uVar49)" (( "(") (field_expression "auVar7._8_8_" (identifier "auVar7") (. ".") (field_identifier "_8_8_")) (, ",") (identifier "uVar49") () ")"))) (|| "||") (call_expression "CARRY8(uVar50,uVar57)" (identifier "CARRY8") (argument_list "(uVar50,uVar57)" (( "(") (identifier "uVar50") (, ",") (identifier "uVar57") () ")"))))) (; ";")) (expression_statement "lVar54 = uVar50 + uVar57;" (assignment_expression "lVar54 = uVar50 + uVar57" (identifier "lVar54") (= "=") (binary_expression "uVar50 + uVar57" (identifier "uVar50") (+ "+") (identifier "uVar57"))) (; ";")) (expression_statement "auVar41[8] = bVar58;" (assignment_expression "auVar41[8] = bVar58" (subscript_expression "auVar41[8]" (identifier "auVar41") ([ "[") (number_literal "8") (] "]")) (= "=") (identifier "bVar58")) (; ";")) (expression_statement "auVar41._0_8_ = lVar54;" (assignment_expression "auVar41._0_8_ = lVar54" (field_expression "auVar41._0_8_" (identifier "auVar41") (. ".") (field_identifier "_0_8_")) (= "=") (identifier "lVar54")) (; ";")) (expression_statement "auVar41._9_7_ = 0;" (assignment_expression "auVar41._9_7_ = 0" (field_expression "auVar41._9_7_" (identifier "auVar41") (. ".") (field_identifier "_9_7_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar57 = uVar56 + 4;" (assignment_expression "uVar57 = uVar56 + 4" (identifier "uVar57") (= "=") (binary_expression "uVar56 + 4" (identifier "uVar56") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;" (assignment_expression "plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47" (subscript_expression "plVar1[uVar56 + 3]" (identifier "plVar1") ([ "[") (binary_expression "uVar56 + 3" (identifier "uVar56") (+ "+") (number_literal "3")) (] "]")) (= "=") (binary_expression "auVar7._0_8_ + uVar47" (field_expression "auVar7._0_8_" (identifier "auVar7") (. ".") (field_identifier "_0_8_")) (+ "+") (identifier "uVar47"))) (; ";")) (if_statement "if (uVar57 == 0) break;" (if "if") (parenthesized_expression "(uVar57 == 0)" (( "(") (binary_expression "uVar57 == 0" (identifier "uVar57") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "auVar8._8_8_ = 0;" (assignment_expression "auVar8._8_8_ = 0" (field_expression "auVar8._8_8_" (identifier "auVar8") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);" (assignment_expression "auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8)" (field_expression "auVar8._0_8_" (identifier "auVar8") (. ".") (field_identifier "_0_8_")) (= "=") (pointer_expression "*(ulong *)(param_2 + -8 + uVar57 * 8)" (* "*") (cast_expression "(ulong *)(param_2 + -8 + uVar57 * 8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + -8 + uVar57 * 8)" (( "(") (binary_expression "param_2 + -8 + uVar57 * 8" (binary_expression "param_2 + -8" (identifier "param_2") (+ "+") (number_literal "-8")) (+ "+") (binary_expression "uVar57 * 8" (identifier "uVar57") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "auVar26._8_8_ = 0;" (assignment_expression "auVar26._8_8_ = 0" (field_expression "auVar26._8_8_" (identifier "auVar26") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auVar26._0_8_ = uVar52;" (assignment_expression "auVar26._0_8_ = uVar52" (field_expression "auVar26._0_8_" (identifier "auVar26") (. ".") (field_identifier "_0_8_")) (= "=") (identifier "uVar52")) (; ";")) (expression_statement "auVar7 = auVar8 * auVar26 + auVar41;" (assignment_expression "auVar7 = auVar8 * auVar26 + auVar41" (identifier "auVar7") (= "=") (binary_expression "auVar8 * auVar26 + auVar41" (binary_expression "auVar8 * auVar26" (identifier "auVar8") (* "*") (identifier "auVar26")) (+ "+") (identifier "auVar41"))) (; ";")) (labeled_statement "LAB_00134b8e:\n        uVar53 = auVar7._0_8_;" (statement_identifier "LAB_00134b8e") (: ":") (expression_statement "uVar53 = auVar7._0_8_;" (assignment_expression "uVar53 = auVar7._0_8_" (identifier "uVar53") (= "=") (field_expression "auVar7._0_8_" (identifier "auVar7") (. ".") (field_identifier "_0_8_"))) (; ";"))) (expression_statement "auVar9._8_8_ = 0;" (assignment_expression "auVar9._8_8_ = 0" (field_expression "auVar9._8_8_" (identifier "auVar9") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);" (assignment_expression "auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8)" (field_expression "auVar9._0_8_" (identifier "auVar9") (. ".") (field_identifier "_0_8_")) (= "=") (pointer_expression "*(ulong *)(param_2 + uVar57 * 8)" (* "*") (cast_expression "(ulong *)(param_2 + uVar57 * 8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + uVar57 * 8)" (( "(") (binary_expression "param_2 + uVar57 * 8" (identifier "param_2") (+ "+") (binary_expression "uVar57 * 8" (identifier "uVar57") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "auVar27._8_8_ = 0;" (assignment_expression "auVar27._8_8_ = 0" (field_expression "auVar27._8_8_" (identifier "auVar27") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auVar27._0_8_ = uVar48;" (assignment_expression "auVar27._0_8_ = uVar48" (field_expression "auVar27._0_8_" (identifier "auVar27") (. ".") (field_identifier "_0_8_")) (= "=") (identifier "uVar48")) (; ";")) (expression_statement "uVar49 = SUB168(auVar9 * auVar27,8);" (assignment_expression "uVar49 = SUB168(auVar9 * auVar27,8)" (identifier "uVar49") (= "=") (call_expression "SUB168(auVar9 * auVar27,8)" (identifier "SUB168") (argument_list "(auVar9 * auVar27,8)" (( "(") (binary_expression "auVar9 * auVar27" (identifier "auVar9") (* "*") (identifier "auVar27")) (, ",") (number_literal "8") () ")")))) (; ";")) (expression_statement "uVar47 = SUB168(auVar9 * auVar27,0);" (assignment_expression "uVar47 = SUB168(auVar9 * auVar27,0)" (identifier "uVar47") (= "=") (call_expression "SUB168(auVar9 * auVar27,0)" (identifier "SUB168") (argument_list "(auVar9 * auVar27,0)" (( "(") (binary_expression "auVar9 * auVar27" (identifier "auVar9") (* "*") (identifier "auVar27")) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "uVar56 = (ulong)CARRY8(uVar53,uVar47);" (assignment_expression "uVar56 = (ulong)CARRY8(uVar53,uVar47)" (identifier "uVar56") (= "=") (cast_expression "(ulong)CARRY8(uVar53,uVar47)" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (call_expression "CARRY8(uVar53,uVar47)" (identifier "CARRY8") (argument_list "(uVar53,uVar47)" (( "(") (identifier "uVar53") (, ",") (identifier "uVar47") () ")"))))) (; ";")) (expression_statement "uVar50 = auVar7._8_8_ + uVar49;" (assignment_expression "uVar50 = auVar7._8_8_ + uVar49" (identifier "uVar50") (= "=") (binary_expression "auVar7._8_8_ + uVar49" (field_expression "auVar7._8_8_" (identifier "auVar7") (. ".") (field_identifier "_8_8_")) (+ "+") (identifier "uVar49"))) (; ";")) (expression_statement "auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);" (assignment_expression "auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56)" (subscript_expression "auVar42[8]" (identifier "auVar42") ([ "[") (number_literal "8") (] "]")) (= "=") (binary_expression "CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56)" (call_expression "CARRY8(auVar7._8_8_,uVar49)" (identifier "CARRY8") (argument_list "(auVar7._8_8_,uVar49)" (( "(") (field_expression "auVar7._8_8_" (identifier "auVar7") (. ".") (field_identifier "_8_8_")) (, ",") (identifier "uVar49") () ")"))) (|| "||") (call_expression "CARRY8(uVar50,uVar56)" (identifier "CARRY8") (argument_list "(uVar50,uVar56)" (( "(") (identifier "uVar50") (, ",") (identifier "uVar56") () ")"))))) (; ";")) (expression_statement "auVar42._0_8_ = uVar50 + uVar56;" (assignment_expression "auVar42._0_8_ = uVar50 + uVar56" (field_expression "auVar42._0_8_" (identifier "auVar42") (. ".") (field_identifier "_0_8_")) (= "=") (binary_expression "uVar50 + uVar56" (identifier "uVar50") (+ "+") (identifier "uVar56"))) (; ";")) (expression_statement "auVar42._9_7_ = 0;" (assignment_expression "auVar42._9_7_ = 0" (field_expression "auVar42._9_7_" (identifier "auVar42") (. ".") (field_identifier "_9_7_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auVar10._8_8_ = 0;" (assignment_expression "auVar10._8_8_ = 0" (field_expression "auVar10._8_8_" (identifier "auVar10") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);" (assignment_expression "auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8)" (field_expression "auVar10._0_8_" (identifier "auVar10") (. ".") (field_identifier "_0_8_")) (= "=") (pointer_expression "*(ulong *)(param_2 + uVar57 * 8)" (* "*") (cast_expression "(ulong *)(param_2 + uVar57 * 8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + uVar57 * 8)" (( "(") (binary_expression "param_2 + uVar57 * 8" (identifier "param_2") (+ "+") (binary_expression "uVar57 * 8" (identifier "uVar57") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "auVar28._8_8_ = 0;" (assignment_expression "auVar28._8_8_ = 0" (field_expression "auVar28._8_8_" (identifier "auVar28") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auVar28._0_8_ = uVar52;" (assignment_expression "auVar28._0_8_ = uVar52" (field_expression "auVar28._0_8_" (identifier "auVar28") (. ".") (field_identifier "_0_8_")) (= "=") (identifier "uVar52")) (; ";")) (expression_statement "auVar7 = auVar10 * auVar28 + auVar42;" (assignment_expression "auVar7 = auVar10 * auVar28 + auVar42" (identifier "auVar7") (= "=") (binary_expression "auVar10 * auVar28 + auVar42" (binary_expression "auVar10 * auVar28" (identifier "auVar10") (* "*") (identifier "auVar28")) (+ "+") (identifier "auVar42"))) (; ";")) (expression_statement "plVar1[uVar57] = uVar53 + uVar47;" (assignment_expression "plVar1[uVar57] = uVar53 + uVar47" (subscript_expression "plVar1[uVar57]" (identifier "plVar1") ([ "[") (identifier "uVar57") (] "]")) (= "=") (binary_expression "uVar53 + uVar47" (identifier "uVar53") (+ "+") (identifier "uVar47"))) (; ";")) (} "}"))) (expression_statement "*plVar1 = lVar54;" (assignment_expression "*plVar1 = lVar54" (pointer_expression "*plVar1" (* "*") (identifier "plVar1")) (= "=") (identifier "lVar54")) (; ";")) (expression_statement "plVar1[1] = (ulong)bVar58;" (assignment_expression "plVar1[1] = (ulong)bVar58" (subscript_expression "plVar1[1]" (identifier "plVar1") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(ulong)bVar58" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar58"))) (; ";")) (if_statement "if (param_5 != 2) {\n                    \n                    \n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);\n        return;\n      }" (if "if") (parenthesized_expression "(param_5 != 2)" (( "(") (binary_expression "param_5 != 2" (identifier "param_5") (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\n                    \n                    \n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);\n        return;\n      }" ({ "{") (expression_statement "(*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);" (call_expression "(*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" (( "(") (pointer_expression "*UNRECOVERED_JUMPTABLE" (* "*") (identifier "UNRECOVERED_JUMPTABLE")) () ")")) (argument_list "(plVar1,param_2 + -0x10)" (( "(") (identifier "plVar1") (, ",") (binary_expression "param_2 + -0x10" (identifier "param_2") (+ "+") (number_literal "-0x10")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      uVar48 = *param_4;\n      auVar2._8_8_ = 0;\n      auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8);\n      auVar20._8_8_ = 0;\n      auVar20._0_8_ = uVar48;\n      auVar2 = auVar2 * auVar20;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      uVar52 = (ulong)uVar51;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134a72;\n      }\n      if (uVar51 < 2) {\n        uVar57 = uVar57 + 4;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        goto LAB_00134a5f;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        uVar52 = uVar57;\n        goto LAB_00134aa7;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar45._8_8_ = 0;\n        auVar45._0_8_ = auVar2._8_8_;\n        auVar5._8_8_ = 0;\n        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar23._8_8_ = 0;\n        auVar23._0_8_ = uVar48;\n        plVar1[uVar57 + 1] = auVar2._0_8_;\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        auVar2 = auVar5 * auVar23 + auVar45;\n        uVar52 = uVar57;\nLAB_00134aa7:\n        auVar46._8_8_ = 0;\n        auVar46._0_8_ = auVar2._8_8_;\n        auVar40._8_8_ = 0;\n        auVar40._0_8_ = auVar2._8_8_;\n        auVar6._8_8_ = 0;\n        auVar6._0_8_ = uVar56;\n        auVar24._8_8_ = 0;\n        auVar24._0_8_ = uVar48;\n        uVar57 = uVar52 + 4;\n        if (-1 < (long)uVar57) break;\n        plVar1[uVar52 + 2] = auVar2._0_8_;\n        auVar2 = auVar6 * auVar24 + auVar40;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\nLAB_00134a5f:\n        auVar38._8_8_ = 0;\n        auVar38._0_8_ = auVar2._8_8_;\n        uVar52 = 0;\n        auVar3._8_8_ = 0;\n        auVar3._0_8_ = uVar56;\n        auVar21._8_8_ = 0;\n        auVar21._0_8_ = uVar48;\n        plVar1[uVar57 - 1] = auVar2._0_8_;\n        auVar2 = auVar3 * auVar21 + auVar38;\nLAB_00134a72:\n        auVar39._8_8_ = uVar52;\n        auVar39._0_8_ = auVar2._8_8_;\n        auVar4._8_8_ = 0;\n        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar22._8_8_ = 0;\n        auVar22._0_8_ = uVar48;\n        plVar1[uVar57] = auVar2._0_8_;\n        auVar2 = auVar4 * auVar22 + auVar39;\n      }\n      plVar1[-2] = auVar2._0_8_;\n      auVar46 = auVar6 * auVar24 + auVar46;\n      plVar1[-1] = auVar46._0_8_;\n      plVar1[1] = 0;\n      *plVar1 = auVar46._8_8_;\n      if (param_5 != 1) {\n                    \n                    \n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);\n        return;\n      }\n    }" (else "else") (compound_statement "{\n      uVar48 = *param_4;\n      auVar2._8_8_ = 0;\n      auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8);\n      auVar20._8_8_ = 0;\n      auVar20._0_8_ = uVar48;\n      auVar2 = auVar2 * auVar20;\n      uVar57 = -uVar56 & 0xfffffffffffffffc;\n      uVar51 = (uint)uVar56 & 3;\n      uVar52 = (ulong)uVar51;\n      if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134a72;\n      }\n      if (uVar51 < 2) {\n        uVar57 = uVar57 + 4;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        goto LAB_00134a5f;\n      }\n      if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        uVar52 = uVar57;\n        goto LAB_00134aa7;\n      }\n      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;\n      while( true ) {\n        auVar45._8_8_ = 0;\n        auVar45._0_8_ = auVar2._8_8_;\n        auVar5._8_8_ = 0;\n        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar23._8_8_ = 0;\n        auVar23._0_8_ = uVar48;\n        plVar1[uVar57 + 1] = auVar2._0_8_;\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        auVar2 = auVar5 * auVar23 + auVar45;\n        uVar52 = uVar57;\nLAB_00134aa7:\n        auVar46._8_8_ = 0;\n        auVar46._0_8_ = auVar2._8_8_;\n        auVar40._8_8_ = 0;\n        auVar40._0_8_ = auVar2._8_8_;\n        auVar6._8_8_ = 0;\n        auVar6._0_8_ = uVar56;\n        auVar24._8_8_ = 0;\n        auVar24._0_8_ = uVar48;\n        uVar57 = uVar52 + 4;\n        if (-1 < (long)uVar57) break;\n        plVar1[uVar52 + 2] = auVar2._0_8_;\n        auVar2 = auVar6 * auVar24 + auVar40;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\nLAB_00134a5f:\n        auVar38._8_8_ = 0;\n        auVar38._0_8_ = auVar2._8_8_;\n        uVar52 = 0;\n        auVar3._8_8_ = 0;\n        auVar3._0_8_ = uVar56;\n        auVar21._8_8_ = 0;\n        auVar21._0_8_ = uVar48;\n        plVar1[uVar57 - 1] = auVar2._0_8_;\n        auVar2 = auVar3 * auVar21 + auVar38;\nLAB_00134a72:\n        auVar39._8_8_ = uVar52;\n        auVar39._0_8_ = auVar2._8_8_;\n        auVar4._8_8_ = 0;\n        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar22._8_8_ = 0;\n        auVar22._0_8_ = uVar48;\n        plVar1[uVar57] = auVar2._0_8_;\n        auVar2 = auVar4 * auVar22 + auVar39;\n      }\n      plVar1[-2] = auVar2._0_8_;\n      auVar46 = auVar6 * auVar24 + auVar46;\n      plVar1[-1] = auVar46._0_8_;\n      plVar1[1] = 0;\n      *plVar1 = auVar46._8_8_;\n      if (param_5 != 1) {\n                    \n                    \n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);\n        return;\n      }\n    }" ({ "{") (expression_statement "uVar48 = *param_4;" (assignment_expression "uVar48 = *param_4" (identifier "uVar48") (= "=") (pointer_expression "*param_4" (* "*") (identifier "param_4"))) (; ";")) (expression_statement "auVar2._8_8_ = 0;" (assignment_expression "auVar2._8_8_ = 0" (field_expression "auVar2._8_8_" (identifier "auVar2") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8);" (assignment_expression "auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8)" (field_expression "auVar2._0_8_" (identifier "auVar2") (. ".") (field_identifier "_0_8_")) (= "=") (pointer_expression "*(ulong *)(param_2 + uVar56 * -8)" (* "*") (cast_expression "(ulong *)(param_2 + uVar56 * -8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + uVar56 * -8)" (( "(") (binary_expression "param_2 + uVar56 * -8" (identifier "param_2") (+ "+") (binary_expression "uVar56 * -8" (identifier "uVar56") (* "*") (number_literal "-8"))) () ")"))))) (; ";")) (expression_statement "auVar20._8_8_ = 0;" (assignment_expression "auVar20._8_8_ = 0" (field_expression "auVar20._8_8_" (identifier "auVar20") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auVar20._0_8_ = uVar48;" (assignment_expression "auVar20._0_8_ = uVar48" (field_expression "auVar20._0_8_" (identifier "auVar20") (. ".") (field_identifier "_0_8_")) (= "=") (identifier "uVar48")) (; ";")) (expression_statement "auVar2 = auVar2 * auVar20;" (assignment_expression "auVar2 = auVar2 * auVar20" (identifier "auVar2") (= "=") (binary_expression "auVar2 * auVar20" (identifier "auVar2") (* "*") (identifier "auVar20"))) (; ";")) (expression_statement "uVar57 = -uVar56 & 0xfffffffffffffffc;" (assignment_expression "uVar57 = -uVar56 & 0xfffffffffffffffc" (identifier "uVar57") (= "=") (binary_expression "-uVar56 & 0xfffffffffffffffc" (unary_expression "-uVar56" (- "-") (identifier "uVar56")) (& "&") (number_literal "0xfffffffffffffffc"))) (; ";")) (expression_statement "uVar51 = (uint)uVar56 & 3;" (assignment_expression "uVar51 = (uint)uVar56 & 3" (identifier "uVar51") (= "=") (binary_expression "(uint)uVar56 & 3" (cast_expression "(uint)uVar56" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar56")) (& "&") (number_literal "3"))) (; ";")) (expression_statement "uVar52 = (ulong)uVar51;" (assignment_expression "uVar52 = (ulong)uVar51" (identifier "uVar52") (= "=") (cast_expression "(ulong)uVar51" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar51"))) (; ";")) (if_statement "if ((uVar56 & 3) == 0) {\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134a72;\n      }" (if "if") (parenthesized_expression "((uVar56 & 3) == 0)" (( "(") (binary_expression "(uVar56 & 3) == 0" (parenthesized_expression "(uVar56 & 3)" (( "(") (binary_expression "uVar56 & 3" (identifier "uVar56") (& "&") (number_literal "3")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;\n        goto LAB_00134a72;\n      }" ({ "{") (expression_statement "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60" (identifier "UNRECOVERED_JUMPTABLE") (= "=") (cast_expression "(code *)&DAT_00134c60" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00134c60" (& "&") (identifier "DAT_00134c60")))) (; ";")) (goto_statement "goto LAB_00134a72;" (goto "goto") (statement_identifier "LAB_00134a72") (; ";")) (} "}"))) (if_statement "if (uVar51 < 2) {\n        uVar57 = uVar57 + 4;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        goto LAB_00134a5f;\n      }" (if "if") (parenthesized_expression "(uVar51 < 2)" (( "(") (binary_expression "uVar51 < 2" (identifier "uVar51") (< "<") (number_literal "2")) () ")")) (compound_statement "{\n        uVar57 = uVar57 + 4;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;\n        goto LAB_00134a5f;\n      }" ({ "{") (expression_statement "uVar57 = uVar57 + 4;" (assignment_expression "uVar57 = uVar57 + 4" (identifier "uVar57") (= "=") (binary_expression "uVar57 + 4" (identifier "uVar57") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "uVar56 = *(ulong *)(param_2 + uVar57 * 8);" (assignment_expression "uVar56 = *(ulong *)(param_2 + uVar57 * 8)" (identifier "uVar56") (= "=") (pointer_expression "*(ulong *)(param_2 + uVar57 * 8)" (* "*") (cast_expression "(ulong *)(param_2 + uVar57 * 8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + uVar57 * 8)" (( "(") (binary_expression "param_2 + uVar57 * 8" (identifier "param_2") (+ "+") (binary_expression "uVar57 * 8" (identifier "uVar57") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80" (identifier "UNRECOVERED_JUMPTABLE") (= "=") (cast_expression "(code *)&DAT_00134c80" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00134c80" (& "&") (identifier "DAT_00134c80")))) (; ";")) (goto_statement "goto LAB_00134a5f;" (goto "goto") (statement_identifier "LAB_00134a5f") (; ";")) (} "}"))) (if_statement "if (uVar51 == 2) {\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        uVar52 = uVar57;\n        goto LAB_00134aa7;\n      }" (if "if") (parenthesized_expression "(uVar51 == 2)" (( "(") (binary_expression "uVar51 == 2" (identifier "uVar51") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;\n        uVar52 = uVar57;\n        goto LAB_00134aa7;\n      }" ({ "{") (expression_statement "uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);" (assignment_expression "uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8)" (identifier "uVar56") (= "=") (pointer_expression "*(ulong *)(param_2 + 0x18 + uVar57 * 8)" (* "*") (cast_expression "(ulong *)(param_2 + 0x18 + uVar57 * 8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x18 + uVar57 * 8)" (( "(") (binary_expression "param_2 + 0x18 + uVar57 * 8" (binary_expression "param_2 + 0x18" (identifier "param_2") (+ "+") (number_literal "0x18")) (+ "+") (binary_expression "uVar57 * 8" (identifier "uVar57") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0" (identifier "UNRECOVERED_JUMPTABLE") (= "=") (cast_expression "(code *)&DAT_00134ca0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00134ca0" (& "&") (identifier "DAT_00134ca0")))) (; ";")) (expression_statement "uVar52 = uVar57;" (assignment_expression "uVar52 = uVar57" (identifier "uVar52") (= "=") (identifier "uVar57")) (; ";")) (goto_statement "goto LAB_00134aa7;" (goto "goto") (statement_identifier "LAB_00134aa7") (; ";")) (} "}"))) (expression_statement "UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0" (identifier "UNRECOVERED_JUMPTABLE") (= "=") (cast_expression "(code *)&LAB_00134cc0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&LAB_00134cc0" (& "&") (identifier "LAB_00134cc0")))) (; ";")) (while_statement "while( true ) {\n        auVar45._8_8_ = 0;\n        auVar45._0_8_ = auVar2._8_8_;\n        auVar5._8_8_ = 0;\n        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar23._8_8_ = 0;\n        auVar23._0_8_ = uVar48;\n        plVar1[uVar57 + 1] = auVar2._0_8_;\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        auVar2 = auVar5 * auVar23 + auVar45;\n        uVar52 = uVar57;\nLAB_00134aa7:\n        auVar46._8_8_ = 0;\n        auVar46._0_8_ = auVar2._8_8_;\n        auVar40._8_8_ = 0;\n        auVar40._0_8_ = auVar2._8_8_;\n        auVar6._8_8_ = 0;\n        auVar6._0_8_ = uVar56;\n        auVar24._8_8_ = 0;\n        auVar24._0_8_ = uVar48;\n        uVar57 = uVar52 + 4;\n        if (-1 < (long)uVar57) break;\n        plVar1[uVar52 + 2] = auVar2._0_8_;\n        auVar2 = auVar6 * auVar24 + auVar40;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\nLAB_00134a5f:\n        auVar38._8_8_ = 0;\n        auVar38._0_8_ = auVar2._8_8_;\n        uVar52 = 0;\n        auVar3._8_8_ = 0;\n        auVar3._0_8_ = uVar56;\n        auVar21._8_8_ = 0;\n        auVar21._0_8_ = uVar48;\n        plVar1[uVar57 - 1] = auVar2._0_8_;\n        auVar2 = auVar3 * auVar21 + auVar38;\nLAB_00134a72:\n        auVar39._8_8_ = uVar52;\n        auVar39._0_8_ = auVar2._8_8_;\n        auVar4._8_8_ = 0;\n        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar22._8_8_ = 0;\n        auVar22._0_8_ = uVar48;\n        plVar1[uVar57] = auVar2._0_8_;\n        auVar2 = auVar4 * auVar22 + auVar39;\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        auVar45._8_8_ = 0;\n        auVar45._0_8_ = auVar2._8_8_;\n        auVar5._8_8_ = 0;\n        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);\n        auVar23._8_8_ = 0;\n        auVar23._0_8_ = uVar48;\n        plVar1[uVar57 + 1] = auVar2._0_8_;\n        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);\n        auVar2 = auVar5 * auVar23 + auVar45;\n        uVar52 = uVar57;\nLAB_00134aa7:\n        auVar46._8_8_ = 0;\n        auVar46._0_8_ = auVar2._8_8_;\n        auVar40._8_8_ = 0;\n        auVar40._0_8_ = auVar2._8_8_;\n        auVar6._8_8_ = 0;\n        auVar6._0_8_ = uVar56;\n        auVar24._8_8_ = 0;\n        auVar24._0_8_ = uVar48;\n        uVar57 = uVar52 + 4;\n        if (-1 < (long)uVar57) break;\n        plVar1[uVar52 + 2] = auVar2._0_8_;\n        auVar2 = auVar6 * auVar24 + auVar40;\n        uVar56 = *(ulong *)(param_2 + uVar57 * 8);\nLAB_00134a5f:\n        auVar38._8_8_ = 0;\n        auVar38._0_8_ = auVar2._8_8_;\n        uVar52 = 0;\n        auVar3._8_8_ = 0;\n        auVar3._0_8_ = uVar56;\n        auVar21._8_8_ = 0;\n        auVar21._0_8_ = uVar48;\n        plVar1[uVar57 - 1] = auVar2._0_8_;\n        auVar2 = auVar3 * auVar21 + auVar38;\nLAB_00134a72:\n        auVar39._8_8_ = uVar52;\n        auVar39._0_8_ = auVar2._8_8_;\n        auVar4._8_8_ = 0;\n        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);\n        auVar22._8_8_ = 0;\n        auVar22._0_8_ = uVar48;\n        plVar1[uVar57] = auVar2._0_8_;\n        auVar2 = auVar4 * auVar22 + auVar39;\n      }" ({ "{") (expression_statement "auVar45._8_8_ = 0;" (assignment_expression "auVar45._8_8_ = 0" (field_expression "auVar45._8_8_" (identifier "auVar45") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auVar45._0_8_ = auVar2._8_8_;" (assignment_expression "auVar45._0_8_ = auVar2._8_8_" (field_expression "auVar45._0_8_" (identifier "auVar45") (. ".") (field_identifier "_0_8_")) (= "=") (field_expression "auVar2._8_8_" (identifier "auVar2") (. ".") (field_identifier "_8_8_"))) (; ";")) (expression_statement "auVar5._8_8_ = 0;" (assignment_expression "auVar5._8_8_ = 0" (field_expression "auVar5._8_8_" (identifier "auVar5") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);" (assignment_expression "auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8)" (field_expression "auVar5._0_8_" (identifier "auVar5") (. ".") (field_identifier "_0_8_")) (= "=") (pointer_expression "*(ulong *)(param_2 + 0x10 + uVar57 * 8)" (* "*") (cast_expression "(ulong *)(param_2 + 0x10 + uVar57 * 8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x10 + uVar57 * 8)" (( "(") (binary_expression "param_2 + 0x10 + uVar57 * 8" (binary_expression "param_2 + 0x10" (identifier "param_2") (+ "+") (number_literal "0x10")) (+ "+") (binary_expression "uVar57 * 8" (identifier "uVar57") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "auVar23._8_8_ = 0;" (assignment_expression "auVar23._8_8_ = 0" (field_expression "auVar23._8_8_" (identifier "auVar23") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auVar23._0_8_ = uVar48;" (assignment_expression "auVar23._0_8_ = uVar48" (field_expression "auVar23._0_8_" (identifier "auVar23") (. ".") (field_identifier "_0_8_")) (= "=") (identifier "uVar48")) (; ";")) (expression_statement "plVar1[uVar57 + 1] = auVar2._0_8_;" (assignment_expression "plVar1[uVar57 + 1] = auVar2._0_8_" (subscript_expression "plVar1[uVar57 + 1]" (identifier "plVar1") ([ "[") (binary_expression "uVar57 + 1" (identifier "uVar57") (+ "+") (number_literal "1")) (] "]")) (= "=") (field_expression "auVar2._0_8_" (identifier "auVar2") (. ".") (field_identifier "_0_8_"))) (; ";")) (expression_statement "uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);" (assignment_expression "uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8)" (identifier "uVar56") (= "=") (pointer_expression "*(ulong *)(param_2 + 0x18 + uVar57 * 8)" (* "*") (cast_expression "(ulong *)(param_2 + 0x18 + uVar57 * 8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x18 + uVar57 * 8)" (( "(") (binary_expression "param_2 + 0x18 + uVar57 * 8" (binary_expression "param_2 + 0x18" (identifier "param_2") (+ "+") (number_literal "0x18")) (+ "+") (binary_expression "uVar57 * 8" (identifier "uVar57") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "auVar2 = auVar5 * auVar23 + auVar45;" (assignment_expression "auVar2 = auVar5 * auVar23 + auVar45" (identifier "auVar2") (= "=") (binary_expression "auVar5 * auVar23 + auVar45" (binary_expression "auVar5 * auVar23" (identifier "auVar5") (* "*") (identifier "auVar23")) (+ "+") (identifier "auVar45"))) (; ";")) (expression_statement "uVar52 = uVar57;" (assignment_expression "uVar52 = uVar57" (identifier "uVar52") (= "=") (identifier "uVar57")) (; ";")) (labeled_statement "LAB_00134aa7:\n        auVar46._8_8_ = 0;" (statement_identifier "LAB_00134aa7") (: ":") (expression_statement "auVar46._8_8_ = 0;" (assignment_expression "auVar46._8_8_ = 0" (field_expression "auVar46._8_8_" (identifier "auVar46") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";"))) (expression_statement "auVar46._0_8_ = auVar2._8_8_;" (assignment_expression "auVar46._0_8_ = auVar2._8_8_" (field_expression "auVar46._0_8_" (identifier "auVar46") (. ".") (field_identifier "_0_8_")) (= "=") (field_expression "auVar2._8_8_" (identifier "auVar2") (. ".") (field_identifier "_8_8_"))) (; ";")) (expression_statement "auVar40._8_8_ = 0;" (assignment_expression "auVar40._8_8_ = 0" (field_expression "auVar40._8_8_" (identifier "auVar40") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auVar40._0_8_ = auVar2._8_8_;" (assignment_expression "auVar40._0_8_ = auVar2._8_8_" (field_expression "auVar40._0_8_" (identifier "auVar40") (. ".") (field_identifier "_0_8_")) (= "=") (field_expression "auVar2._8_8_" (identifier "auVar2") (. ".") (field_identifier "_8_8_"))) (; ";")) (expression_statement "auVar6._8_8_ = 0;" (assignment_expression "auVar6._8_8_ = 0" (field_expression "auVar6._8_8_" (identifier "auVar6") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auVar6._0_8_ = uVar56;" (assignment_expression "auVar6._0_8_ = uVar56" (field_expression "auVar6._0_8_" (identifier "auVar6") (. ".") (field_identifier "_0_8_")) (= "=") (identifier "uVar56")) (; ";")) (expression_statement "auVar24._8_8_ = 0;" (assignment_expression "auVar24._8_8_ = 0" (field_expression "auVar24._8_8_" (identifier "auVar24") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auVar24._0_8_ = uVar48;" (assignment_expression "auVar24._0_8_ = uVar48" (field_expression "auVar24._0_8_" (identifier "auVar24") (. ".") (field_identifier "_0_8_")) (= "=") (identifier "uVar48")) (; ";")) (expression_statement "uVar57 = uVar52 + 4;" (assignment_expression "uVar57 = uVar52 + 4" (identifier "uVar57") (= "=") (binary_expression "uVar52 + 4" (identifier "uVar52") (+ "+") (number_literal "4"))) (; ";")) (if_statement "if (-1 < (long)uVar57) break;" (if "if") (parenthesized_expression "(-1 < (long)uVar57)" (( "(") (binary_expression "-1 < (long)uVar57" (number_literal "-1") (< "<") (cast_expression "(long)uVar57" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "uVar57"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "plVar1[uVar52 + 2] = auVar2._0_8_;" (assignment_expression "plVar1[uVar52 + 2] = auVar2._0_8_" (subscript_expression "plVar1[uVar52 + 2]" (identifier "plVar1") ([ "[") (binary_expression "uVar52 + 2" (identifier "uVar52") (+ "+") (number_literal "2")) (] "]")) (= "=") (field_expression "auVar2._0_8_" (identifier "auVar2") (. ".") (field_identifier "_0_8_"))) (; ";")) (expression_statement "auVar2 = auVar6 * auVar24 + auVar40;" (assignment_expression "auVar2 = auVar6 * auVar24 + auVar40" (identifier "auVar2") (= "=") (binary_expression "auVar6 * auVar24 + auVar40" (binary_expression "auVar6 * auVar24" (identifier "auVar6") (* "*") (identifier "auVar24")) (+ "+") (identifier "auVar40"))) (; ";")) (expression_statement "uVar56 = *(ulong *)(param_2 + uVar57 * 8);" (assignment_expression "uVar56 = *(ulong *)(param_2 + uVar57 * 8)" (identifier "uVar56") (= "=") (pointer_expression "*(ulong *)(param_2 + uVar57 * 8)" (* "*") (cast_expression "(ulong *)(param_2 + uVar57 * 8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + uVar57 * 8)" (( "(") (binary_expression "param_2 + uVar57 * 8" (identifier "param_2") (+ "+") (binary_expression "uVar57 * 8" (identifier "uVar57") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (labeled_statement "LAB_00134a5f:\n        auVar38._8_8_ = 0;" (statement_identifier "LAB_00134a5f") (: ":") (expression_statement "auVar38._8_8_ = 0;" (assignment_expression "auVar38._8_8_ = 0" (field_expression "auVar38._8_8_" (identifier "auVar38") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";"))) (expression_statement "auVar38._0_8_ = auVar2._8_8_;" (assignment_expression "auVar38._0_8_ = auVar2._8_8_" (field_expression "auVar38._0_8_" (identifier "auVar38") (. ".") (field_identifier "_0_8_")) (= "=") (field_expression "auVar2._8_8_" (identifier "auVar2") (. ".") (field_identifier "_8_8_"))) (; ";")) (expression_statement "uVar52 = 0;" (assignment_expression "uVar52 = 0" (identifier "uVar52") (= "=") (number_literal "0")) (; ";")) (expression_statement "auVar3._8_8_ = 0;" (assignment_expression "auVar3._8_8_ = 0" (field_expression "auVar3._8_8_" (identifier "auVar3") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auVar3._0_8_ = uVar56;" (assignment_expression "auVar3._0_8_ = uVar56" (field_expression "auVar3._0_8_" (identifier "auVar3") (. ".") (field_identifier "_0_8_")) (= "=") (identifier "uVar56")) (; ";")) (expression_statement "auVar21._8_8_ = 0;" (assignment_expression "auVar21._8_8_ = 0" (field_expression "auVar21._8_8_" (identifier "auVar21") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auVar21._0_8_ = uVar48;" (assignment_expression "auVar21._0_8_ = uVar48" (field_expression "auVar21._0_8_" (identifier "auVar21") (. ".") (field_identifier "_0_8_")) (= "=") (identifier "uVar48")) (; ";")) (expression_statement "plVar1[uVar57 - 1] = auVar2._0_8_;" (assignment_expression "plVar1[uVar57 - 1] = auVar2._0_8_" (subscript_expression "plVar1[uVar57 - 1]" (identifier "plVar1") ([ "[") (binary_expression "uVar57 - 1" (identifier "uVar57") (- "-") (number_literal "1")) (] "]")) (= "=") (field_expression "auVar2._0_8_" (identifier "auVar2") (. ".") (field_identifier "_0_8_"))) (; ";")) (expression_statement "auVar2 = auVar3 * auVar21 + auVar38;" (assignment_expression "auVar2 = auVar3 * auVar21 + auVar38" (identifier "auVar2") (= "=") (binary_expression "auVar3 * auVar21 + auVar38" (binary_expression "auVar3 * auVar21" (identifier "auVar3") (* "*") (identifier "auVar21")) (+ "+") (identifier "auVar38"))) (; ";")) (labeled_statement "LAB_00134a72:\n        auVar39._8_8_ = uVar52;" (statement_identifier "LAB_00134a72") (: ":") (expression_statement "auVar39._8_8_ = uVar52;" (assignment_expression "auVar39._8_8_ = uVar52" (field_expression "auVar39._8_8_" (identifier "auVar39") (. ".") (field_identifier "_8_8_")) (= "=") (identifier "uVar52")) (; ";"))) (expression_statement "auVar39._0_8_ = auVar2._8_8_;" (assignment_expression "auVar39._0_8_ = auVar2._8_8_" (field_expression "auVar39._0_8_" (identifier "auVar39") (. ".") (field_identifier "_0_8_")) (= "=") (field_expression "auVar2._8_8_" (identifier "auVar2") (. ".") (field_identifier "_8_8_"))) (; ";")) (expression_statement "auVar4._8_8_ = 0;" (assignment_expression "auVar4._8_8_ = 0" (field_expression "auVar4._8_8_" (identifier "auVar4") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);" (assignment_expression "auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8)" (field_expression "auVar4._0_8_" (identifier "auVar4") (. ".") (field_identifier "_0_8_")) (= "=") (pointer_expression "*(ulong *)(param_2 + 8 + uVar57 * 8)" (* "*") (cast_expression "(ulong *)(param_2 + 8 + uVar57 * 8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 8 + uVar57 * 8)" (( "(") (binary_expression "param_2 + 8 + uVar57 * 8" (binary_expression "param_2 + 8" (identifier "param_2") (+ "+") (number_literal "8")) (+ "+") (binary_expression "uVar57 * 8" (identifier "uVar57") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "auVar22._8_8_ = 0;" (assignment_expression "auVar22._8_8_ = 0" (field_expression "auVar22._8_8_" (identifier "auVar22") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auVar22._0_8_ = uVar48;" (assignment_expression "auVar22._0_8_ = uVar48" (field_expression "auVar22._0_8_" (identifier "auVar22") (. ".") (field_identifier "_0_8_")) (= "=") (identifier "uVar48")) (; ";")) (expression_statement "plVar1[uVar57] = auVar2._0_8_;" (assignment_expression "plVar1[uVar57] = auVar2._0_8_" (subscript_expression "plVar1[uVar57]" (identifier "plVar1") ([ "[") (identifier "uVar57") (] "]")) (= "=") (field_expression "auVar2._0_8_" (identifier "auVar2") (. ".") (field_identifier "_0_8_"))) (; ";")) (expression_statement "auVar2 = auVar4 * auVar22 + auVar39;" (assignment_expression "auVar2 = auVar4 * auVar22 + auVar39" (identifier "auVar2") (= "=") (binary_expression "auVar4 * auVar22 + auVar39" (binary_expression "auVar4 * auVar22" (identifier "auVar4") (* "*") (identifier "auVar22")) (+ "+") (identifier "auVar39"))) (; ";")) (} "}"))) (expression_statement "plVar1[-2] = auVar2._0_8_;" (assignment_expression "plVar1[-2] = auVar2._0_8_" (subscript_expression "plVar1[-2]" (identifier "plVar1") ([ "[") (number_literal "-2") (] "]")) (= "=") (field_expression "auVar2._0_8_" (identifier "auVar2") (. ".") (field_identifier "_0_8_"))) (; ";")) (expression_statement "auVar46 = auVar6 * auVar24 + auVar46;" (assignment_expression "auVar46 = auVar6 * auVar24 + auVar46" (identifier "auVar46") (= "=") (binary_expression "auVar6 * auVar24 + auVar46" (binary_expression "auVar6 * auVar24" (identifier "auVar6") (* "*") (identifier "auVar24")) (+ "+") (identifier "auVar46"))) (; ";")) (expression_statement "plVar1[-1] = auVar46._0_8_;" (assignment_expression "plVar1[-1] = auVar46._0_8_" (subscript_expression "plVar1[-1]" (identifier "plVar1") ([ "[") (number_literal "-1") (] "]")) (= "=") (field_expression "auVar46._0_8_" (identifier "auVar46") (. ".") (field_identifier "_0_8_"))) (; ";")) (expression_statement "plVar1[1] = 0;" (assignment_expression "plVar1[1] = 0" (subscript_expression "plVar1[1]" (identifier "plVar1") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*plVar1 = auVar46._8_8_;" (assignment_expression "*plVar1 = auVar46._8_8_" (pointer_expression "*plVar1" (* "*") (identifier "plVar1")) (= "=") (field_expression "auVar46._8_8_" (identifier "auVar46") (. ".") (field_identifier "_8_8_"))) (; ";")) (if_statement "if (param_5 != 1) {\n                    \n                    \n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);\n        return;\n      }" (if "if") (parenthesized_expression "(param_5 != 1)" (( "(") (binary_expression "param_5 != 1" (identifier "param_5") (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n                    \n                    \n        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);\n        return;\n      }" ({ "{") (expression_statement "(*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);" (call_expression "(*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" (( "(") (pointer_expression "*UNRECOVERED_JUMPTABLE" (* "*") (identifier "UNRECOVERED_JUMPTABLE")) () ")")) (argument_list "(plVar1,param_2 + -8)" (( "(") (identifier "plVar1") (, ",") (binary_expression "param_2 + -8" (identifier "param_2") (+ "+") (number_literal "-8")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")))) (} "}")))) (return_statement "return;" (return "return") (; ";")) (} "}")))

void function_1(long var_3,long var_5,long var_1,type_1 *var_7,type_1 var_2)

{
  long *plVar1;
  type_2 var_51 [16];
  type_2 var_59 [16];
  type_2 var_62 [16];
  type_2 var_53 [16];
  type_2 var_56 [16];
  type_2 var_27 [16];
  type_2 var_43 [16];
  type_2 var_46 [16];
  type_2 var_48 [16];
  type_2 var_29 [16];
  type_2 var_32 [16];
  type_2 var_35 [16];
  type_2 var_37 [16];
  type_2 var_41 [16];
  type_2 var_25 [16];
  type_2 var_9 [16];
  type_2 var_19 [16];
  type_2 var_22 [16];
  type_2 var_52 [16];
  type_2 var_60 [16];
  type_2 var_63 [16];
  type_2 var_54 [16];
  type_2 var_57 [16];
  type_2 var_28 [16];
  type_2 var_44 [16];
  type_2 var_47 [16];
  type_2 var_49 [16];
  type_2 var_30 [16];
  type_2 var_33 [16];
  type_2 var_36 [16];
  type_2 var_38 [16];
  type_2 var_42 [16];
  type_2 var_26 [16];
  type_2 var_10 [16];
  type_2 var_20 [16];
  type_2 var_23 [16];
  type_2 var_61 [16];
  type_2 var_64 [16];
  type_2 var_58 [16];
  type_2 var_45 [16];
  type_2 var_50 [16];
  type_2 var_34 [16];
  type_2 var_39 [16];
  type_2 var_55 [16];
  type_2 var_65 [16];
  type_1 var_15;
  type_1 var_14;
  type_1 var_31;
  type_1 var_16;
  type_3 var_6;
  type_1 var_12;
  type_1 var_40;
  long var_17;
  type_1 *var_21;
  type_1 var_4;
  type_1 var_13;
  type_4 *UNRECOVERED_JUMPTABLE;
  bool var_18;
  bool var_24;
  
  var_4 = (var_1 + 1) - var_2;
  plVar1 = (long *)(var_3 + var_4 * 8);
  if (var_4 < 4) {
    var_12 = 0;
    var_14 = 0;
    var_17 = 0;
    var_6 = (type_3)var_2 & 3;
    if ((var_2 & 3) == 0) {
      UNRECOVERED_JUMPTABLE = (type_4 *)0x134e0c;
      var_13 = *(type_1 *)(var_5 + -8 + var_2 * 8);
      var_21 = var_7;
      goto LAB_00134e5f;
    }
    if (var_6 < 2) {
      var_21 = var_7 + 1;
      var_2 = var_2 + 3;
      UNRECOVERED_JUMPTABLE = (type_4 *)0x134e28;
      var_13 = *var_7;
      goto LAB_00134e9a;
    }
    if (var_6 == 2) {
      var_21 = var_7 + -2;
      var_2 = var_2 + 2;
      UNRECOVERED_JUMPTABLE = (type_4 *)0x134e43;
      var_13 = *var_7;
      goto LAB_00134e83;
    }
    var_21 = var_7 + -1;
    var_2 = var_2 + 1;
    UNRECOVERED_JUMPTABLE = (type_4 *)0x134e6c;
    while( true ) {
      var_9._8_8_ = 0;
      var_9._0_8_ = *(type_1 *)(var_5 + -0x10 + var_2 * 8);
      var_10._8_8_ = 0;
      var_10._0_8_ = var_21[1];
      var_15 = var_8(var_9 * var_10,8);
      var_13 = var_8(var_9 * var_10,0);
      var_18 = var_11(var_12,var_13);
      var_12 = var_12 + var_13;
      var_13 = var_21[2];
      var_16 = (type_1)var_18;
      var_18 = var_11(var_14,var_15);
      var_15 = var_14 + var_15;
      var_14 = var_15 + var_16;
      var_17 = var_17 + (type_1)(var_18 || var_11(var_15,var_16));
LAB_00134e83:
      var_19._8_8_ = 0;
      var_19._0_8_ = var_13;
      var_20._8_8_ = 0;
      var_20._0_8_ = *(type_1 *)(var_5 + -0x18 + var_2 * 8);
      var_15 = var_8(var_19 * var_20,8);
      var_13 = var_8(var_19 * var_20,0);
      var_18 = var_11(var_12,var_13);
      var_12 = var_12 + var_13;
      var_13 = var_21[3];
      var_16 = (type_1)var_18;
      var_18 = var_11(var_14,var_15);
      var_15 = var_14 + var_15;
      var_14 = var_15 + var_16;
      var_21 = var_21 + 4;
      var_17 = var_17 + (type_1)(var_18 || var_11(var_15,var_16));
LAB_00134e9a:
      var_22._8_8_ = 0;
      var_22._0_8_ = var_13;
      var_23._8_8_ = 0;
      var_23._0_8_ = *(type_1 *)(var_5 + -0x20 + var_2 * 8);
      var_16 = var_8(var_22 * var_23,8);
      var_13 = var_8(var_22 * var_23,0);
      var_2 = var_2 - 4;
      if (var_2 == 0) break;
      var_18 = var_11(var_12,var_13);
      var_12 = var_12 + var_13;
      var_24 = var_11(var_14,var_16);
      var_16 = var_14 + var_16;
      var_14 = var_16 + var_18;
      var_13 = *(type_1 *)(var_5 + -8 + var_2 * 8);
      var_17 = var_17 + (type_1)(var_24 || var_11(var_16,(type_1)var_18));
LAB_00134e5f:
      var_25._8_8_ = 0;
      var_25._0_8_ = var_13;
      var_26._8_8_ = 0;
      var_26._0_8_ = *var_21;
      var_16 = var_8(var_25 * var_26,8);
      var_13 = var_8(var_25 * var_26,0);
      var_18 = var_11(var_12,var_13);
      var_12 = var_12 + var_13;
      var_13 = (type_1)var_18;
      var_18 = var_11(var_14,var_16);
      var_16 = var_14 + var_16;
      var_14 = var_16 + var_13;
      var_17 = var_17 + (type_1)(var_18 || var_11(var_16,var_13));
    }
    var_17 = var_17 + (type_1)(var_11(var_14,var_16) ||
                             var_11(var_14 + var_16,(type_1)var_11(var_12,var_13)));
    plVar1[-var_4] = var_12 + var_13;
    if (var_4 != 1) {
                    /* WARNING: Could not recover jumptable at 0x00134eca. Too many branches */
                    /* WARNING: Treating indirect jump as call */
      (*UNRECOVERED_JUMPTABLE)(plVar1,var_5 + 8,var_16,var_17);
      return;
    }
    *plVar1 = var_14 + var_16 + (type_1)var_11(var_12,var_13);
    plVar1[1] = var_17;
  }
  else {
    var_5 = var_5 + var_1 * 8;
    if ((var_2 & 1) == 0) {
      var_14 = *var_7;
      var_12 = var_7[1];
      var_27._8_8_ = 0;
      var_27._0_8_ = *(type_1 *)(var_5 + -8 + var_4 * -8);
      var_28._8_8_ = 0;
      var_28._0_8_ = var_12;
      var_27 = var_27 * var_28;
      var_13 = -var_4 & 0xfffffffffffffffc;
      var_6 = (type_3)var_4 & 3;
      if ((var_4 & 3) == 0) {
        UNRECOVERED_JUMPTABLE = (type_4 *)&DAT_00134c60;
        goto LAB_00134b8e;
      }
      if (var_6 < 2) {
        UNRECOVERED_JUMPTABLE = (type_4 *)&DAT_00134c80;
        var_4 = var_13;
        goto LAB_00134c0d;
      }
      if (var_6 == 2) {
        var_4 = *(type_1 *)(var_5 + 0x10 + var_13 * 8);
        UNRECOVERED_JUMPTABLE = (type_4 *)&DAT_00134ca0;
        goto LAB_00134be9;
      }
      UNRECOVERED_JUMPTABLE = (type_4 *)&LAB_00134cc0;
      while( true ) {
        var_29._8_8_ = 0;
        var_29._0_8_ = *(type_1 *)(var_5 + 8 + var_13 * 8);
        var_30._8_8_ = 0;
        var_30._0_8_ = var_14;
        var_31 = var_8(var_29 * var_30,8);
        var_15 = var_8(var_29 * var_30,0);
        var_4 = (type_1)var_11(var_27._0_8_,var_15);
        var_16 = var_27._8_8_ + var_31;
        var_34[8] = var_11(var_27._8_8_,var_31) || var_11(var_16,var_4);
        var_34._0_8_ = var_16 + var_4;
        var_34._9_7_ = 0;
        var_4 = *(type_1 *)(var_5 + 8 + var_13 * 8);
        plVar1[var_13 + 1] = var_27._0_8_ + var_15;
        var_32._8_8_ = 0;
        var_32._0_8_ = var_4;
        var_33._8_8_ = 0;
        var_33._0_8_ = var_12;
        var_27 = var_32 * var_33 + var_34;
        var_4 = *(type_1 *)(var_5 + 0x10 + var_13 * 8);
LAB_00134be9:
        var_40 = var_27._0_8_;
        var_35._8_8_ = 0;
        var_35._0_8_ = var_4;
        var_36._8_8_ = 0;
        var_36._0_8_ = var_14;
        var_31 = var_8(var_35 * var_36,8);
        var_15 = var_8(var_35 * var_36,0);
        var_4 = (type_1)var_11(var_40,var_15);
        var_16 = var_27._8_8_ + var_31;
        var_39[8] = var_11(var_27._8_8_,var_31) || var_11(var_16,var_4);
        var_39._0_8_ = var_16 + var_4;
        var_39._9_7_ = 0;
        var_37._8_8_ = 0;
        var_37._0_8_ = *(type_1 *)(var_5 + 0x10 + var_13 * 8);
        var_38._8_8_ = 0;
        var_38._0_8_ = var_12;
        var_27 = var_37 * var_38 + var_39;
        plVar1[var_13 + 2] = var_40 + var_15;
        var_4 = var_13;
LAB_00134c0d:
        var_41._8_8_ = 0;
        var_41._0_8_ = *(type_1 *)(var_5 + 0x18 + var_4 * 8);
        var_42._8_8_ = 0;
        var_42._0_8_ = var_14;
        var_31 = var_8(var_41 * var_42,8);
        var_15 = var_8(var_41 * var_42,0);
        var_13 = (type_1)var_11(var_27._0_8_,var_15);
        var_16 = var_27._8_8_ + var_31;
        var_18 = var_11(var_27._8_8_,var_31) || var_11(var_16,var_13);
        var_17 = var_16 + var_13;
        var_45[8] = var_18;
        var_45._0_8_ = var_17;
        var_45._9_7_ = 0;
        var_13 = var_4 + 4;
        plVar1[var_4 + 3] = var_27._0_8_ + var_15;
        if (var_13 == 0) break;
        var_43._8_8_ = 0;
        var_43._0_8_ = *(type_1 *)(var_5 + -8 + var_13 * 8);
        var_44._8_8_ = 0;
        var_44._0_8_ = var_12;
        var_27 = var_43 * var_44 + var_45;
LAB_00134b8e:
        var_40 = var_27._0_8_;
        var_46._8_8_ = 0;
        var_46._0_8_ = *(type_1 *)(var_5 + var_13 * 8);
        var_47._8_8_ = 0;
        var_47._0_8_ = var_14;
        var_31 = var_8(var_46 * var_47,8);
        var_15 = var_8(var_46 * var_47,0);
        var_4 = (type_1)var_11(var_40,var_15);
        var_16 = var_27._8_8_ + var_31;
        var_50[8] = var_11(var_27._8_8_,var_31) || var_11(var_16,var_4);
        var_50._0_8_ = var_16 + var_4;
        var_50._9_7_ = 0;
        var_48._8_8_ = 0;
        var_48._0_8_ = *(type_1 *)(var_5 + var_13 * 8);
        var_49._8_8_ = 0;
        var_49._0_8_ = var_12;
        var_27 = var_48 * var_49 + var_50;
        plVar1[var_13] = var_40 + var_15;
      }
      *plVar1 = var_17;
      plVar1[1] = (type_1)var_18;
      if (var_2 != 2) {
                    /* WARNING: Could not recover jumptable at 0x00134c50. Too many branches */
                    /* WARNING: Treating indirect jump as call */
        (*UNRECOVERED_JUMPTABLE)(plVar1,var_5 + -0x10);
        return;
      }
    }
    else {
      var_14 = *var_7;
      var_51._8_8_ = 0;
      var_51._0_8_ = *(type_1 *)(var_5 + var_4 * -8);
      var_52._8_8_ = 0;
      var_52._0_8_ = var_14;
      var_51 = var_51 * var_52;
      var_13 = -var_4 & 0xfffffffffffffffc;
      var_6 = (type_3)var_4 & 3;
      var_12 = (type_1)var_6;
      if ((var_4 & 3) == 0) {
        UNRECOVERED_JUMPTABLE = (type_4 *)&DAT_00134c60;
        goto LAB_00134a72;
      }
      if (var_6 < 2) {
        var_13 = var_13 + 4;
        var_4 = *(type_1 *)(var_5 + var_13 * 8);
        UNRECOVERED_JUMPTABLE = (type_4 *)&DAT_00134c80;
        goto LAB_00134a5f;
      }
      if (var_6 == 2) {
        var_4 = *(type_1 *)(var_5 + 0x18 + var_13 * 8);
        UNRECOVERED_JUMPTABLE = (type_4 *)&DAT_00134ca0;
        var_12 = var_13;
        goto LAB_00134aa7;
      }
      UNRECOVERED_JUMPTABLE = (type_4 *)&LAB_00134cc0;
      while( true ) {
        var_55._8_8_ = 0;
        var_55._0_8_ = var_51._8_8_;
        var_53._8_8_ = 0;
        var_53._0_8_ = *(type_1 *)(var_5 + 0x10 + var_13 * 8);
        var_54._8_8_ = 0;
        var_54._0_8_ = var_14;
        plVar1[var_13 + 1] = var_51._0_8_;
        var_4 = *(type_1 *)(var_5 + 0x18 + var_13 * 8);
        var_51 = var_53 * var_54 + var_55;
        var_12 = var_13;
LAB_00134aa7:
        var_65._8_8_ = 0;
        var_65._0_8_ = var_51._8_8_;
        var_58._8_8_ = 0;
        var_58._0_8_ = var_51._8_8_;
        var_56._8_8_ = 0;
        var_56._0_8_ = var_4;
        var_57._8_8_ = 0;
        var_57._0_8_ = var_14;
        var_13 = var_12 + 4;
        if (-1 < (long)var_13) break;
        plVar1[var_12 + 2] = var_51._0_8_;
        var_51 = var_56 * var_57 + var_58;
        var_4 = *(type_1 *)(var_5 + var_13 * 8);
LAB_00134a5f:
        var_61._8_8_ = 0;
        var_61._0_8_ = var_51._8_8_;
        var_12 = 0;
        var_59._8_8_ = 0;
        var_59._0_8_ = var_4;
        var_60._8_8_ = 0;
        var_60._0_8_ = var_14;
        plVar1[var_13 - 1] = var_51._0_8_;
        var_51 = var_59 * var_60 + var_61;
LAB_00134a72:
        var_64._8_8_ = var_12;
        var_64._0_8_ = var_51._8_8_;
        var_62._8_8_ = 0;
        var_62._0_8_ = *(type_1 *)(var_5 + 8 + var_13 * 8);
        var_63._8_8_ = 0;
        var_63._0_8_ = var_14;
        plVar1[var_13] = var_51._0_8_;
        var_51 = var_62 * var_63 + var_64;
      }
      plVar1[-2] = var_51._0_8_;
      var_65 = var_56 * var_57 + var_65;
      plVar1[-1] = var_65._0_8_;
      plVar1[1] = 0;
      *plVar1 = var_65._8_8_;
      if (var_2 != 1) {
                    /* WARNING: Could not recover jumptable at 0x00134ae0. Too many branches */
                    /* WARNING: Treating indirect jump as call */
        (*UNRECOVERED_JUMPTABLE)(plVar1,var_5 + -8);
        return;
      }
    }
  }
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (sized_type_specifier) declarator: (identifier)) (parameter_declaration type: (sized_type_specifier) declarator: (identifier)) (parameter_declaration type: (sized_type_specifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (sized_type_specifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (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: (sized_type_specifier) 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: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_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: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_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: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_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: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) 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: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)) (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (unary_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier) (identifier)))) (return_statement))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_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: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) 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: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_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: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (identifier))) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_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: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) 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: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (identifier))) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_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: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_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: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (identifier))) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_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: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_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: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (identifier))) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_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: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal))))) (return_statement)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_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: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) (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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (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)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) 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: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_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: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal))) right: (field_expression argument: (identifier) field: (field_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: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)))) consequence: (break_statement)) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal))) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) 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: (binary_expression left: (identifier) right: (number_literal)))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal))) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_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: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (field_expression argument: (identifier) field: (field_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal))))) (return_statement))))))))) (return_statement))))

void MASKED(long param_1,long param_2,long param_3,ulong *param_4,ulong param_5)

{
  long *plVar1;
  undefined1 auVar2 [16];
  undefined1 auVar3 [16];
  undefined1 auVar4 [16];
  undefined1 auVar5 [16];
  undefined1 auVar6 [16];
  undefined1 auVar7 [16];
  undefined1 auVar8 [16];
  undefined1 auVar9 [16];
  undefined1 auVar10 [16];
  undefined1 auVar11 [16];
  undefined1 auVar12 [16];
  undefined1 auVar13 [16];
  undefined1 auVar14 [16];
  undefined1 auVar15 [16];
  undefined1 auVar16 [16];
  undefined1 auVar17 [16];
  undefined1 auVar18 [16];
  undefined1 auVar19 [16];
  undefined1 auVar20 [16];
  undefined1 auVar21 [16];
  undefined1 auVar22 [16];
  undefined1 auVar23 [16];
  undefined1 auVar24 [16];
  undefined1 auVar25 [16];
  undefined1 auVar26 [16];
  undefined1 auVar27 [16];
  undefined1 auVar28 [16];
  undefined1 auVar29 [16];
  undefined1 auVar30 [16];
  undefined1 auVar31 [16];
  undefined1 auVar32 [16];
  undefined1 auVar33 [16];
  undefined1 auVar34 [16];
  undefined1 auVar35 [16];
  undefined1 auVar36 [16];
  undefined1 auVar37 [16];
  undefined1 auVar38 [16];
  undefined1 auVar39 [16];
  undefined1 auVar40 [16];
  undefined1 auVar41 [16];
  undefined1 auVar42 [16];
  undefined1 auVar43 [16];
  undefined1 auVar44 [16];
  undefined1 auVar45 [16];
  undefined1 auVar46 [16];
  ulong uVar47;
  ulong uVar48;
  ulong uVar49;
  ulong uVar50;
  uint uVar51;
  ulong uVar52;
  ulong uVar53;
  long lVar54;
  ulong *puVar55;
  ulong uVar56;
  ulong uVar57;
  code *UNRECOVERED_JUMPTABLE;
  bool bVar58;
  bool bVar59;
  
  uVar56 = (param_3 + 1) - param_5;
  plVar1 = (long *)(param_1 + uVar56 * 8);
  if (uVar56 < 4) {
    uVar52 = 0;
    uVar48 = 0;
    lVar54 = 0;
    uVar51 = (uint)param_5 & 3;
    if ((param_5 & 3) == 0) {
      UNRECOVERED_JUMPTABLE = (code *)0x134e0c;
      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);
      puVar55 = param_4;
      goto LAB_00134e5f;
    }
    if (uVar51 < 2) {
      puVar55 = param_4 + 1;
      param_5 = param_5 + 3;
      UNRECOVERED_JUMPTABLE = (code *)0x134e28;
      uVar57 = *param_4;
      goto LAB_00134e9a;
    }
    if (uVar51 == 2) {
      puVar55 = param_4 + -2;
      param_5 = param_5 + 2;
      UNRECOVERED_JUMPTABLE = (code *)0x134e43;
      uVar57 = *param_4;
      goto LAB_00134e83;
    }
    puVar55 = param_4 + -1;
    param_5 = param_5 + 1;
    UNRECOVERED_JUMPTABLE = (code *)0x134e6c;
    while( true ) {
      auVar17._8_8_ = 0;
      auVar17._0_8_ = *(ulong *)(param_2 + -0x10 + param_5 * 8);
      auVar35._8_8_ = 0;
      auVar35._0_8_ = puVar55[1];
      uVar47 = SUB168(auVar17 * auVar35,8);
      uVar57 = SUB168(auVar17 * auVar35,0);
      bVar58 = CARRY8(uVar52,uVar57);
      uVar52 = uVar52 + uVar57;
      uVar57 = puVar55[2];
      uVar50 = (ulong)bVar58;
      bVar58 = CARRY8(uVar48,uVar47);
      uVar47 = uVar48 + uVar47;
      uVar48 = uVar47 + uVar50;
      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));
LAB_00134e83:
      auVar18._8_8_ = 0;
      auVar18._0_8_ = uVar57;
      auVar36._8_8_ = 0;
      auVar36._0_8_ = *(ulong *)(param_2 + -0x18 + param_5 * 8);
      uVar47 = SUB168(auVar18 * auVar36,8);
      uVar57 = SUB168(auVar18 * auVar36,0);
      bVar58 = CARRY8(uVar52,uVar57);
      uVar52 = uVar52 + uVar57;
      uVar57 = puVar55[3];
      uVar50 = (ulong)bVar58;
      bVar58 = CARRY8(uVar48,uVar47);
      uVar47 = uVar48 + uVar47;
      uVar48 = uVar47 + uVar50;
      puVar55 = puVar55 + 4;
      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar47,uVar50));
LAB_00134e9a:
      auVar19._8_8_ = 0;
      auVar19._0_8_ = uVar57;
      auVar37._8_8_ = 0;
      auVar37._0_8_ = *(ulong *)(param_2 + -0x20 + param_5 * 8);
      uVar50 = SUB168(auVar19 * auVar37,8);
      uVar57 = SUB168(auVar19 * auVar37,0);
      param_5 = param_5 - 4;
      if (param_5 == 0) break;
      bVar58 = CARRY8(uVar52,uVar57);
      uVar52 = uVar52 + uVar57;
      bVar59 = CARRY8(uVar48,uVar50);
      uVar50 = uVar48 + uVar50;
      uVar48 = uVar50 + bVar58;
      uVar57 = *(ulong *)(param_2 + -8 + param_5 * 8);
      lVar54 = lVar54 + (ulong)(bVar59 || CARRY8(uVar50,(ulong)bVar58));
LAB_00134e5f:
      auVar16._8_8_ = 0;
      auVar16._0_8_ = uVar57;
      auVar34._8_8_ = 0;
      auVar34._0_8_ = *puVar55;
      uVar50 = SUB168(auVar16 * auVar34,8);
      uVar57 = SUB168(auVar16 * auVar34,0);
      bVar58 = CARRY8(uVar52,uVar57);
      uVar52 = uVar52 + uVar57;
      uVar57 = (ulong)bVar58;
      bVar58 = CARRY8(uVar48,uVar50);
      uVar50 = uVar48 + uVar50;
      uVar48 = uVar50 + uVar57;
      lVar54 = lVar54 + (ulong)(bVar58 || CARRY8(uVar50,uVar57));
    }
    lVar54 = lVar54 + (ulong)(CARRY8(uVar48,uVar50) ||
                             CARRY8(uVar48 + uVar50,(ulong)CARRY8(uVar52,uVar57)));
    plVar1[-uVar56] = uVar52 + uVar57;
    if (uVar56 != 1) {
                    /* WARNING: Could not recover jumptable at 0x00134eca. Too many branches */
                    /* WARNING: Treating indirect jump as call */
      (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + 8,uVar50,lVar54);
      return;
    }
    *plVar1 = uVar48 + uVar50 + (ulong)CARRY8(uVar52,uVar57);
    plVar1[1] = lVar54;
  }
  else {
    param_2 = param_2 + param_3 * 8;
    if ((param_5 & 1) == 0) {
      uVar48 = *param_4;
      uVar52 = param_4[1];
      auVar7._8_8_ = 0;
      auVar7._0_8_ = *(ulong *)(param_2 + -8 + uVar56 * -8);
      auVar25._8_8_ = 0;
      auVar25._0_8_ = uVar52;
      auVar7 = auVar7 * auVar25;
      uVar57 = -uVar56 & 0xfffffffffffffffc;
      uVar51 = (uint)uVar56 & 3;
      if ((uVar56 & 3) == 0) {
        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;
        goto LAB_00134b8e;
      }
      if (uVar51 < 2) {
        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;
        uVar56 = uVar57;
        goto LAB_00134c0d;
      }
      if (uVar51 == 2) {
        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);
        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;
        goto LAB_00134be9;
      }
      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;
      while( true ) {
        auVar11._8_8_ = 0;
        auVar11._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);
        auVar29._8_8_ = 0;
        auVar29._0_8_ = uVar48;
        uVar49 = SUB168(auVar11 * auVar29,8);
        uVar47 = SUB168(auVar11 * auVar29,0);
        uVar56 = (ulong)CARRY8(auVar7._0_8_,uVar47);
        uVar50 = auVar7._8_8_ + uVar49;
        auVar43[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);
        auVar43._0_8_ = uVar50 + uVar56;
        auVar43._9_7_ = 0;
        uVar56 = *(ulong *)(param_2 + 8 + uVar57 * 8);
        plVar1[uVar57 + 1] = auVar7._0_8_ + uVar47;
        auVar12._8_8_ = 0;
        auVar12._0_8_ = uVar56;
        auVar30._8_8_ = 0;
        auVar30._0_8_ = uVar52;
        auVar7 = auVar12 * auVar30 + auVar43;
        uVar56 = *(ulong *)(param_2 + 0x10 + uVar57 * 8);
LAB_00134be9:
        uVar53 = auVar7._0_8_;
        auVar13._8_8_ = 0;
        auVar13._0_8_ = uVar56;
        auVar31._8_8_ = 0;
        auVar31._0_8_ = uVar48;
        uVar49 = SUB168(auVar13 * auVar31,8);
        uVar47 = SUB168(auVar13 * auVar31,0);
        uVar56 = (ulong)CARRY8(uVar53,uVar47);
        uVar50 = auVar7._8_8_ + uVar49;
        auVar44[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);
        auVar44._0_8_ = uVar50 + uVar56;
        auVar44._9_7_ = 0;
        auVar14._8_8_ = 0;
        auVar14._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);
        auVar32._8_8_ = 0;
        auVar32._0_8_ = uVar52;
        auVar7 = auVar14 * auVar32 + auVar44;
        plVar1[uVar57 + 2] = uVar53 + uVar47;
        uVar56 = uVar57;
LAB_00134c0d:
        auVar15._8_8_ = 0;
        auVar15._0_8_ = *(ulong *)(param_2 + 0x18 + uVar56 * 8);
        auVar33._8_8_ = 0;
        auVar33._0_8_ = uVar48;
        uVar49 = SUB168(auVar15 * auVar33,8);
        uVar47 = SUB168(auVar15 * auVar33,0);
        uVar57 = (ulong)CARRY8(auVar7._0_8_,uVar47);
        uVar50 = auVar7._8_8_ + uVar49;
        bVar58 = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar57);
        lVar54 = uVar50 + uVar57;
        auVar41[8] = bVar58;
        auVar41._0_8_ = lVar54;
        auVar41._9_7_ = 0;
        uVar57 = uVar56 + 4;
        plVar1[uVar56 + 3] = auVar7._0_8_ + uVar47;
        if (uVar57 == 0) break;
        auVar8._8_8_ = 0;
        auVar8._0_8_ = *(ulong *)(param_2 + -8 + uVar57 * 8);
        auVar26._8_8_ = 0;
        auVar26._0_8_ = uVar52;
        auVar7 = auVar8 * auVar26 + auVar41;
LAB_00134b8e:
        uVar53 = auVar7._0_8_;
        auVar9._8_8_ = 0;
        auVar9._0_8_ = *(ulong *)(param_2 + uVar57 * 8);
        auVar27._8_8_ = 0;
        auVar27._0_8_ = uVar48;
        uVar49 = SUB168(auVar9 * auVar27,8);
        uVar47 = SUB168(auVar9 * auVar27,0);
        uVar56 = (ulong)CARRY8(uVar53,uVar47);
        uVar50 = auVar7._8_8_ + uVar49;
        auVar42[8] = CARRY8(auVar7._8_8_,uVar49) || CARRY8(uVar50,uVar56);
        auVar42._0_8_ = uVar50 + uVar56;
        auVar42._9_7_ = 0;
        auVar10._8_8_ = 0;
        auVar10._0_8_ = *(ulong *)(param_2 + uVar57 * 8);
        auVar28._8_8_ = 0;
        auVar28._0_8_ = uVar52;
        auVar7 = auVar10 * auVar28 + auVar42;
        plVar1[uVar57] = uVar53 + uVar47;
      }
      *plVar1 = lVar54;
      plVar1[1] = (ulong)bVar58;
      if (param_5 != 2) {
                    /* WARNING: Could not recover jumptable at 0x00134c50. Too many branches */
                    /* WARNING: Treating indirect jump as call */
        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -0x10);
        return;
      }
    }
    else {
      uVar48 = *param_4;
      auVar2._8_8_ = 0;
      auVar2._0_8_ = *(ulong *)(param_2 + uVar56 * -8);
      auVar20._8_8_ = 0;
      auVar20._0_8_ = uVar48;
      auVar2 = auVar2 * auVar20;
      uVar57 = -uVar56 & 0xfffffffffffffffc;
      uVar51 = (uint)uVar56 & 3;
      uVar52 = (ulong)uVar51;
      if ((uVar56 & 3) == 0) {
        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c60;
        goto LAB_00134a72;
      }
      if (uVar51 < 2) {
        uVar57 = uVar57 + 4;
        uVar56 = *(ulong *)(param_2 + uVar57 * 8);
        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134c80;
        goto LAB_00134a5f;
      }
      if (uVar51 == 2) {
        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);
        UNRECOVERED_JUMPTABLE = (code *)&DAT_00134ca0;
        uVar52 = uVar57;
        goto LAB_00134aa7;
      }
      UNRECOVERED_JUMPTABLE = (code *)&LAB_00134cc0;
      while( true ) {
        auVar45._8_8_ = 0;
        auVar45._0_8_ = auVar2._8_8_;
        auVar5._8_8_ = 0;
        auVar5._0_8_ = *(ulong *)(param_2 + 0x10 + uVar57 * 8);
        auVar23._8_8_ = 0;
        auVar23._0_8_ = uVar48;
        plVar1[uVar57 + 1] = auVar2._0_8_;
        uVar56 = *(ulong *)(param_2 + 0x18 + uVar57 * 8);
        auVar2 = auVar5 * auVar23 + auVar45;
        uVar52 = uVar57;
LAB_00134aa7:
        auVar46._8_8_ = 0;
        auVar46._0_8_ = auVar2._8_8_;
        auVar40._8_8_ = 0;
        auVar40._0_8_ = auVar2._8_8_;
        auVar6._8_8_ = 0;
        auVar6._0_8_ = uVar56;
        auVar24._8_8_ = 0;
        auVar24._0_8_ = uVar48;
        uVar57 = uVar52 + 4;
        if (-1 < (long)uVar57) break;
        plVar1[uVar52 + 2] = auVar2._0_8_;
        auVar2 = auVar6 * auVar24 + auVar40;
        uVar56 = *(ulong *)(param_2 + uVar57 * 8);
LAB_00134a5f:
        auVar38._8_8_ = 0;
        auVar38._0_8_ = auVar2._8_8_;
        uVar52 = 0;
        auVar3._8_8_ = 0;
        auVar3._0_8_ = uVar56;
        auVar21._8_8_ = 0;
        auVar21._0_8_ = uVar48;
        plVar1[uVar57 - 1] = auVar2._0_8_;
        auVar2 = auVar3 * auVar21 + auVar38;
LAB_00134a72:
        auVar39._8_8_ = uVar52;
        auVar39._0_8_ = auVar2._8_8_;
        auVar4._8_8_ = 0;
        auVar4._0_8_ = *(ulong *)(param_2 + 8 + uVar57 * 8);
        auVar22._8_8_ = 0;
        auVar22._0_8_ = uVar48;
        plVar1[uVar57] = auVar2._0_8_;
        auVar2 = auVar4 * auVar22 + auVar39;
      }
      plVar1[-2] = auVar2._0_8_;
      auVar46 = auVar6 * auVar24 + auVar46;
      plVar1[-1] = auVar46._0_8_;
      plVar1[1] = 0;
      *plVar1 = auVar46._8_8_;
      if (param_5 != 1) {
                    /* WARNING: Could not recover jumptable at 0x00134ae0. Too many branches */
                    /* WARNING: Treating indirect jump as call */
        (*UNRECOVERED_JUMPTABLE)(plVar1,param_2 + -8);
        return;
      }
    }
  }
  return;
}

