
/* WARNING: Function: __x86.get_pc_thunk.cx replaced with injection: get_pc_thunk_cx */
/* WARNING: Unknown calling convention */
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

int Curl_pgrsUpdate(connectdata *conn)

{
  curl_off_t *pcVar1;
  int iVar2;
  Curl_easy *data;
  uint uVar3;
  curltime newer;
  curltime newer_00;
  curltime older;
  bool bVar4;
  timediff_t tVar5;
  int iVar6;
  int iVar7;
  uint uVar8;
  char *pcVar9;
  char *pcVar10;
  char *pcVar11;
  char *pcVar12;
  char *pcVar13;
  undefined **ppuVar14;
  int iVar15;
  int iVar16;
  FILE *whereto;
  uint uVar17;
  int iVar18;
  int iVar19;
  int iVar20;
  uint uVar21;
  int iVar22;
  char *pcVar23;
  int iVar24;
  int in_GS_OFFSET;
  longlong lVar25;
  longlong lVar26;
  undefined8 uVar27;
  curl_off_t cVar28;
  undefined8 uVar29;
  time_t tVar30;
  undefined4 in_stack_ffffff24;
  undefined **ppuVar31;
  int iStack_d4;
  undefined4 local_cc;
  undefined4 local_c8;
  uint local_c4;
  int local_c0;
  undefined4 local_bc;
  undefined4 local_b8;
  undefined4 local_b4;
  undefined4 local_b0;
  int local_84;
  int iStack_80;
  char max5 [6] [10];
  char time_left [10];
  char time_total [10];
  char time_spent [10];
  
  ppuVar14 = &_GLOBAL_OFFSET_TABLE_;
  iVar2 = *(int *)(in_GS_OFFSET + 0x14);
  data = conn->data;
  iVar16 = (data->progress).speeder_c;
  iVar19 = *(int *)((int)&(data->progress).uploaded + 4);
  uVar21 = (uint)(data->progress).downloaded;
  iVar20 = *(int *)((int)&(data->progress).downloaded + 4);
  uVar8 = (uint)(data->progress).uploaded;
  Curl_now();
  newer.tv_usec = iStack_80;
  newer.tv_sec = local_84;
  tVar5 = Curl_timediff_us(newer,(data->progress).start);
  (data->progress).timespent = tVar5;
  iVar7 = tVar5 / 1000000;
  iVar18 = iVar7 >> 0x1f;
  iVar15 = tVar5 / 1000;
  iVar6 = iVar15 >> 0x1f;
  if ((SBORROW4(0x20c49b,iVar20) != SBORROW4(0x20c49b - iVar20,(uint)(0xa5e353f6 < uVar21))) ==
      (int)((0x20c49b - iVar20) - (uint)(0xa5e353f6 < uVar21)) < 0) {
    iVar22 = iVar15;
    iVar24 = iVar6;
    if ((int)(uint)(iVar15 != 0) <= -iVar6) {
      iVar22 = 1;
      iVar24 = 0;
    }
    lVar25 = __divdi3((int)((ulonglong)uVar21 * 1000),
                      (int)((ulonglong)uVar21 * 1000 >> 0x20) + iVar20 * 1000,iVar22,iVar24);
  }
  else {
    iVar22 = iVar7;
    iVar24 = iVar18;
    if ((int)(uint)(iVar7 != 0) <= -iVar18) {
      iVar22 = 1;
      iVar24 = 0;
    }
    lVar25 = __divdi3(uVar21,iVar20,iVar22,iVar24);
  }
  (data->progress).dlspeed = lVar25;
  if ((SBORROW4(0x20c49b,iVar19) != SBORROW4(0x20c49b - iVar19,(uint)(0xa5e353f6 < uVar8))) ==
      (int)((0x20c49b - iVar19) - (uint)(0xa5e353f6 < uVar8)) < 0) {
    if ((int)(uint)(iVar15 != 0) <= -iVar6) {
      iVar15 = 1;
      iVar6 = 0;
    }
    lVar26 = __divdi3((int)((ulonglong)uVar8 * 1000),
                      (int)((ulonglong)uVar8 * 1000 >> 0x20) + iVar19 * 1000,iVar15,iVar6);
    iVar7 = iVar15;
    iVar18 = iVar6;
  }
  else {
    if ((int)(uint)(iVar7 != 0) <= -iVar18) {
      iVar7 = 1;
      iVar18 = 0;
    }
    lVar26 = __divdi3(uVar8,iVar19,iVar7,iVar18);
  }
  bVar4 = false;
  (data->progress).ulspeed = lVar26;
  if ((data->progress).lastshow != local_84) {
    (data->progress).lastshow = local_84;
    iVar16 = iVar16 % 6;
    uVar21 = (uint)(data->progress).uploaded;
    pcVar1 = &(data->progress).downloaded;
    cVar28 = *pcVar1;
    *(uint *)((int)(data->progress).speeder + iVar16 * 8 + 4) =
         *(int *)((int)&(data->progress).uploaded + 4) +
         *(int *)((int)&(data->progress).downloaded + 4) + (uint)CARRY4(uVar21,(uint)*pcVar1);
    *(uint *)((data->progress).speeder + iVar16) = uVar21 + (int)cVar28;
    *(int *)((int)(data->state).tempwrite + iVar16 * 8 + -0x74) = iStack_80;
    (data->progress).speeder_time[iVar16].tv_sec = local_84;
    iVar19 = (data->progress).speeder_c + 1;
    (data->progress).speeder_c = iVar19;
    if (iVar19 == 1) {
      bVar4 = true;
      (data->progress).current_speed = lVar25 + lVar26;
    }
    else {
      iVar20 = 0;
      if (5 < iVar19) {
        iVar20 = iVar19 % 6;
      }
      iVar18 = *(int *)((int)(data->state).tempwrite + iVar20 * 8 + -0x74);
      tVar30 = (data->progress).speeder_time[iVar20].tv_sec;
      newer_00.tv_usec = iStack_80;
      newer_00.tv_sec = local_84;
      older.tv_usec = iVar18;
      older.tv_sec = tVar30;
      ppuVar31 = ppuVar14;
      iVar7 = Curl_timediff(newer_00,older);
      if (iVar7 == 0) {
        iVar7 = 1;
      }
      uVar21 = (uint)(data->progress).speeder[iVar16];
      pcVar1 = (data->progress).speeder + iVar20;
      uVar8 = uVar21 - (int)*pcVar1;
      iVar16 = (*(int *)((int)(data->progress).speeder + iVar16 * 8 + 4) -
               *(int *)((int)(data->progress).speeder + iVar20 * 8 + 4)) -
               (uint)(uVar21 < (uint)*pcVar1);
      if (-iVar16 < (int)(uint)(0x418937 < uVar8)) {
        bVar4 = true;
        (data->progress).current_speed =
             (longlong)
             ROUND((float)CONCAT44(iVar16,uVar8) / ((float)iVar7 / (float)ppuVar14[-0xccc2]));
        iVar7 = tVar30;
        ppuVar14 = ppuVar31;
      }
      else {
        iVar18 = iVar7 >> 0x1f;
        cVar28 = __divdi3((int)((ulonglong)uVar8 * 1000),
                          (int)((ulonglong)uVar8 * 1000 >> 0x20) + iVar16 * 1000,iVar7,iVar18);
        bVar4 = true;
        (data->progress).current_speed = cVar28;
        ppuVar14 = ppuVar31;
      }
    }
  }
  uVar21 = (data->progress).flags;
  if ((uVar21 & 0x10) != 0) {
    iStack_d4 = 0;
    goto LAB_0001d1c8;
  }
  if ((data->set).fxferinfo == (curl_xferinfo_callback)0x0) {
    if ((data->set).fprogress == (curl_progress_callback)0x0) {
      iStack_d4 = 0;
      if (!bVar4) goto LAB_0001d1c8;
      if ((uVar21 & 0x80) == 0) {
        iVar16 = *(int *)((int)&(data->state).resume_from + 4);
        iVar19 = (int)(data->state).resume_from;
        whereto = (data->set).err;
        if (iVar16 != 0 || iVar19 != 0) {
          curl_mfprintf(whereto,(char *)(ppuVar14 + -0xcd04),iVar19,iVar16);
          whereto = (data->set).err;
          iVar7 = iVar19;
          iVar18 = iVar16;
        }
        curl_mfprintf(whereto,(char *)(ppuVar14 + -0xccf8),iVar7,iVar18);
        uVar21 = (data->progress).flags | 0x80;
        (data->progress).flags = uVar21;
      }
      if ((uVar21 & 0x20) == 0) {
LAB_0001d2f0:
        if ((uVar21 & 0x40) != 0) {
          iVar16 = (int)(data->progress).dlspeed;
          iVar19 = *(int *)((int)&(data->progress).dlspeed + 4);
          if (-iVar19 < (int)(uint)(iVar16 != 0)) {
            uVar27 = 0;
            goto LAB_0001d331;
          }
        }
        uVar27 = 0;
        uVar29 = 0;
      }
      else {
        iVar16 = (int)(data->progress).ulspeed;
        iVar19 = *(int *)((int)&(data->progress).ulspeed + 4);
        if ((int)(uint)(iVar16 != 0) <= -iVar19) goto LAB_0001d2f0;
        uVar8 = (uint)(data->progress).size_ul;
        iVar20 = *(int *)((int)&(data->progress).size_ul + 4);
        __divdi3(uVar8,iVar20,iVar16,iVar19);
        if (-iVar20 < (int)(uint)(10000 < uVar8)) {
          uVar27 = __divdi3(uVar8,iVar20,100,0);
          uVar27 = __divdi3((int)(data->progress).uploaded,
                            *(undefined4 *)((int)&(data->progress).uploaded + 4),uVar27);
        }
        else {
          uVar27 = 0;
          if (-iVar20 < (int)(uint)(uVar8 != 0)) {
            lVar25 = (ulonglong)(uint)(data->progress).uploaded * 100;
            uVar27 = __divdi3((int)lVar25,
                              (int)((ulonglong)lVar25 >> 0x20) +
                              *(int *)((int)&(data->progress).uploaded + 4) * 100,uVar8,iVar20);
          }
        }
        if ((uVar21 & 0x40) == 0) {
LAB_0001d11b:
          uVar29 = 0;
        }
        else {
          iVar16 = (int)(data->progress).dlspeed;
          iVar19 = *(int *)((int)&(data->progress).dlspeed + 4);
          if ((int)(uint)(iVar16 != 0) <= -iVar19) goto LAB_0001d11b;
LAB_0001d331:
          uVar21 = (uint)(data->progress).size_dl;
          iVar20 = *(int *)((int)&(data->progress).size_dl + 4);
          __divdi3(uVar21,iVar20,iVar16,iVar19);
          if (-iVar20 < (int)(uint)(10000 < uVar21)) {
            uVar29 = __divdi3(uVar21,iVar20,100,0);
            uVar29 = __divdi3((int)(data->progress).downloaded,
                              *(undefined4 *)((int)&(data->progress).downloaded + 4),uVar29);
          }
          else {
            uVar29 = 0;
            if (-iVar20 < (int)(uint)(uVar21 != 0)) {
              lVar25 = (ulonglong)(uint)(data->progress).downloaded * 100;
              uVar29 = __divdi3((int)lVar25,
                                (int)((ulonglong)lVar25 >> 0x20) +
                                *(int *)((int)&(data->progress).downloaded + 4) * 100,uVar21,iVar20)
              ;
            }
          }
        }
      }
      local_b0 = (undefined4)((ulonglong)uVar27 >> 0x20);
      local_b4 = (undefined4)uVar27;
      local_b8 = (undefined4)((ulonglong)uVar29 >> 0x20);
      local_bc = (undefined4)uVar29;
      time2str(time_left,CONCAT44(ppuVar14,in_stack_ffffff24));
      time2str(time_total,CONCAT44(ppuVar14,in_stack_ffffff24));
      time2str(time_spent,CONCAT44(ppuVar14,in_stack_ffffff24));
      uVar21 = (data->progress).flags;
      if ((uVar21 & 0x20) == 0) {
        uVar8 = (uint)(data->progress).uploaded;
        iVar16 = *(int *)((int)&(data->progress).uploaded + 4);
        local_c4 = uVar8;
        local_c0 = iVar16;
      }
      else {
        uVar8 = (uint)(data->progress).size_ul;
        iVar16 = *(int *)((int)&(data->progress).size_ul + 4);
        local_c4 = (uint)(data->progress).uploaded;
        local_c0 = *(int *)((int)&(data->progress).uploaded + 4);
      }
      uVar3 = (uint)(data->progress).downloaded;
      iVar19 = *(int *)((int)&(data->progress).downloaded + 4);
      uVar17 = uVar3;
      iVar20 = iVar19;
      if ((uVar21 & 0x40) != 0) {
        uVar17 = (uint)(data->progress).size_dl;
        iVar20 = *(int *)((int)&(data->progress).size_dl + 4);
      }
      pcVar23 = (char *)(uVar8 + uVar17);
      iVar20 = iVar16 + iVar20 + (uint)CARRY4(uVar8,uVar17);
      iVar16 = iVar19 + local_c0 + (uint)CARRY4(uVar3,local_c4);
      if (-iVar20 < (int)(uint)((char *)0x2710 < pcVar23)) {
        uVar27 = __divdi3(pcVar23,iVar20,100,0);
        uVar27 = __divdi3(uVar3 + local_c4,iVar16,uVar27);
      }
      else {
        uVar27 = 0;
        if (-iVar20 < (int)(uint)(pcVar23 != (char *)0x0)) {
          lVar25 = (ulonglong)(uVar3 + local_c4) * 100;
          uVar27 = __divdi3((int)lVar25,(int)((ulonglong)lVar25 >> 0x20) + iVar16 * 100,pcVar23,
                            iVar20);
        }
      }
      local_c8 = (undefined4)((ulonglong)uVar27 >> 0x20);
      local_cc = (undefined4)uVar27;
      pcVar9 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),
                        *(char **)&(data->progress).current_speed);
      pcVar10 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).ulspeed);
      pcVar11 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).dlspeed);
      pcVar12 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).uploaded);
      pcVar13 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).downloaded
                        );
      pcVar23 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),pcVar23);
      curl_mfprintf((data->set).err,(char *)(ppuVar14 + -0xcccf),local_cc,local_c8,pcVar23,local_bc,
                    local_b8,pcVar13,local_b4,local_b0,pcVar12,pcVar11,pcVar10,time_total,time_spent
                    ,time_left,pcVar9);
      fflush((FILE *)(data->set).err);
      goto LAB_0001d1c8;
    }
    Curl_set_in_callback(data,true);
    iStack_d4 = (*(data->set).fprogress)
                          ((data->set).progress_client,(double)(data->progress).size_dl,
                           (double)(data->progress).downloaded,(double)(data->progress).size_ul,
                           (double)(data->progress).uploaded);
  }
  else {
    Curl_set_in_callback(data,true);
    iStack_d4 = (*(data->set).fxferinfo)
                          ((data->set).progress_client,(data->progress).size_dl,
                           (data->progress).downloaded,(data->progress).size_ul,
                           (data->progress).uploaded);
  }
  Curl_set_in_callback(data,false);
  if (iStack_d4 != 0) {
    Curl_failf(data,(char *)((int)ppuVar14 + -209999));
  }
LAB_0001d1c8:
  if (iVar2 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    __stack_chk_fail_local();
  }
  return iStack_d4;
}



/* WARNING: Function: __i686.get_pc_thunk.cx replaced with injection: get_pc_thunk_cx */

int FUN_0001cce0(int *param_1)

{
  uint *puVar1;
  int iVar2;
  bool bVar3;
  int iVar4;
  int iVar5;
  int iVar6;
  uint uVar7;
  undefined4 uVar8;
  undefined4 uVar9;
  undefined4 uVar10;
  undefined4 uVar11;
  undefined4 uVar12;
  uint uVar13;
  int iVar14;
  int iVar15;
  int iVar16;
  int iVar17;
  int in_GS_OFFSET;
  longlong lVar18;
  longlong lVar19;
  undefined8 uVar20;
  undefined8 uVar21;
  undefined8 uVar22;
  int local_dc;
  int local_d8;
  int local_c0;
  int local_88;
  undefined4 local_84 [16];
  undefined1 local_42 [10];
  undefined1 local_38 [10];
  undefined1 local_2e [10];
  int local_24;
  undefined4 local_20;
  
  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);
  iVar2 = *param_1;
  uVar7 = *(uint *)(iVar2 + 0xb54);
  iVar17 = *(int *)(iVar2 + 0xb58);
  iVar15 = *(int *)(iVar2 + 0xb5c);
  FUN_0001ab90(local_84);
  iVar4 = FUN_0001ac80();
  *(int *)(iVar2 + 0xb78) = iVar4;
  iVar6 = iVar4 / 1000000;
  iVar14 = iVar6 >> 0x1f;
  iVar4 = iVar4 / 1000;
  iVar5 = iVar4 >> 0x1f;
  uVar7 = (uint)(0xa5e353f6 < uVar7);
  iVar16 = 0x20c49b - iVar17;
  if ((SBORROW4(0x20c49b,iVar17) != SBORROW4(iVar16,uVar7)) == (int)(iVar16 - uVar7) < 0) {
    lVar18 = FUN_00082b40();
  }
  else {
    lVar18 = FUN_00082b40();
  }
  *(longlong *)(iVar2 + 0xb7c) = lVar18;
  if (iVar15 < 0x20c49c) {
    if ((int)(uint)(iVar4 != 0) <= -iVar5) {
      iVar4 = 1;
      iVar5 = 0;
    }
    lVar19 = FUN_00082b40();
    iVar6 = iVar4;
    iVar14 = iVar5;
  }
  else {
    if ((int)(uint)(iVar6 != 0) <= -iVar14) {
      iVar6 = 1;
      iVar14 = 0;
    }
    lVar19 = FUN_00082b40();
  }
  bVar3 = false;
  *(longlong *)(iVar2 + 0xb84) = lVar19;
  if (*(int *)(iVar2 + 0xb40) != local_88) {
    *(int *)(iVar2 + 0xb40) = local_88;
    uVar7 = *(uint *)(iVar2 + 0xb5c);
    uVar13 = *(uint *)(iVar2 + 0xb54);
    iVar15 = iVar2 + (local_c0 % 6) * 8;
    *(uint *)(iVar15 + 0xbec) =
         *(int *)(iVar2 + 0xb60) + *(int *)(iVar2 + 0xb58) +
         (uint)CARRY4(uVar7,*(uint *)(iVar2 + 0xb54));
    *(uint *)(iVar15 + 0xbe8) = uVar7 + uVar13;
    *(undefined4 *)(iVar15 + 0xc1c) = local_84[0];
    *(int *)(iVar15 + 0xc18) = local_88;
    iVar17 = *(int *)(iVar2 + 0xc48) + 1;
    *(int *)(iVar2 + 0xc48) = iVar17;
    if (iVar17 == 1) {
      bVar3 = true;
      *(longlong *)(iVar2 + 0xb64) = lVar18 + lVar19;
    }
    else {
      iVar16 = 0;
      if (5 < iVar17) {
        iVar16 = iVar17 % 6;
      }
      iVar14 = *(int *)(iVar2 + 0xc1c + iVar16 * 8);
      iVar17 = *(int *)(iVar2 + 0xc18 + iVar16 * 8);
      iVar6 = FUN_0001ac30();
      if (iVar6 == 0) {
        iVar6 = 1;
      }
      puVar1 = (uint *)(iVar2 + 0xbe8 + iVar16 * 8);
      uVar7 = *(uint *)(iVar15 + 0xbe8) - *puVar1;
      iVar15 = (*(int *)(iVar15 + 0xbec) - *(int *)(iVar2 + 0xbec + iVar16 * 8)) -
               (uint)(*(uint *)(iVar15 + 0xbe8) < *puVar1);
      if (-iVar15 < (int)(uint)(0x418937 < uVar7)) {
        bVar3 = true;
        *(longlong *)(iVar2 + 0xb64) =
             (longlong)
             ROUND((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))
        ;
        iVar6 = iVar17;
      }
      else {
        iVar14 = iVar6 >> 0x1f;
        uVar20 = FUN_00082b40();
        bVar3 = true;
        *(undefined8 *)(iVar2 + 0xb64) = uVar20;
      }
    }
  }
  uVar7 = *(uint *)(iVar2 + 0xb74);
  if ((uVar7 & 0x10) != 0) {
    local_d8 = 0;
    goto LAB_0001d1c8;
  }
  if (*(int *)(iVar2 + 0x5f8) == 0) {
    if (*(int *)(iVar2 + 0x5f4) == 0) {
      local_d8 = 0;
      if (!bVar3) goto LAB_0001d1c8;
      if ((uVar7 & 0x80) == 0) {
        if (*(int *)(iVar2 + 0xebc) != 0 || *(int *)(iVar2 + 0xeb8) != 0) {
          curl_mfprintf();
        }
        curl_mfprintf();
        uVar7 = *(uint *)(iVar2 + 0xb74) | 0x80;
        *(uint *)(iVar2 + 0xb74) = uVar7;
      }
      if (((uVar7 & 0x20) == 0) ||
         ((int)(uint)(*(int *)(iVar2 + 0xb84) != 0) <= -*(int *)(iVar2 + 0xb88))) {
        if (((uVar7 & 0x40) != 0) &&
           (-*(int *)(iVar2 + 0xb80) < (int)(uint)(*(int *)(iVar2 + 0xb7c) != 0))) {
          uVar20 = 0;
          goto LAB_0001d331;
        }
        uVar20 = 0;
        uVar21 = 0;
      }
      else {
        uVar13 = *(uint *)(iVar2 + 0xb4c);
        iVar17 = *(int *)(iVar2 + 0xb50);
        FUN_00082b40();
        if (-iVar17 < (int)(uint)(10000 < uVar13)) {
          FUN_00082b40();
          uVar20 = FUN_00082b40();
        }
        else {
          uVar20 = 0;
          if (-iVar17 < (int)(uint)(uVar13 != 0)) {
            uVar20 = FUN_00082b40();
          }
        }
        if (((uVar7 & 0x40) == 0) ||
           ((int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80))) {
          uVar21 = 0;
        }
        else {
LAB_0001d331:
          uVar7 = *(uint *)(iVar2 + 0xb44);
          iVar17 = *(int *)(iVar2 + 0xb48);
          FUN_00082b40();
          if (-iVar17 < (int)(uint)(10000 < uVar7)) {
            FUN_00082b40();
            uVar21 = FUN_00082b40();
          }
          else {
            uVar21 = 0;
            if (-iVar17 < (int)(uint)(uVar7 != 0)) {
              uVar21 = FUN_00082b40();
            }
          }
        }
      }
      FUN_0001c490();
      FUN_0001c490();
      FUN_0001c490();
      if ((*(uint *)(iVar2 + 0xb74) & 0x20) == 0) {
        uVar7 = *(uint *)(iVar2 + 0xb5c);
        iVar17 = *(int *)(iVar2 + 0xb60);
      }
      else {
        uVar7 = *(uint *)(iVar2 + 0xb4c);
        iVar17 = *(int *)(iVar2 + 0xb50);
      }
      uVar13 = *(uint *)(iVar2 + 0xb54);
      iVar15 = *(int *)(iVar2 + 0xb58);
      if ((*(uint *)(iVar2 + 0xb74) & 0x40) != 0) {
        uVar13 = *(uint *)(iVar2 + 0xb44);
        iVar15 = *(int *)(iVar2 + 0xb48);
      }
      iVar17 = iVar17 + iVar15 + (uint)CARRY4(uVar7,uVar13);
      if (-iVar17 < (int)(uint)(10000 < uVar7 + uVar13)) {
        FUN_00082b40();
        uVar22 = FUN_00082b40();
      }
      else {
        uVar22 = 0;
        if (-iVar17 < (int)(uint)(uVar7 + uVar13 != 0)) {
          uVar22 = FUN_00082b40();
        }
      }
      FUN_0001c620();
      uVar8 = FUN_0001c620();
      uVar9 = FUN_0001c620();
      uVar10 = FUN_0001c620();
      uVar11 = FUN_0001c620();
      uVar12 = FUN_0001c620();
      curl_mfprintf(*(undefined4 *)(iVar2 + 0x584),local_dc + -0x3333c,uVar22,uVar12,uVar21,uVar11,
                    uVar20,uVar10,uVar9,uVar8,local_38,local_2e,local_42);
      fflush(*(FILE **)(iVar2 + 0x584));
      goto LAB_0001d1c8;
    }
    uVar8 = 1;
    FUN_0004a0b0();
    local_d8 = (**(code **)(iVar2 + 0x5f4))
                         (*(undefined4 *)(iVar2 + 0x62c),(double)*(longlong *)(iVar2 + 0xb44),
                          (double)*(longlong *)(iVar2 + 0xb54),(double)*(longlong *)(iVar2 + 0xb4c),
                          (double)*(longlong *)(iVar2 + 0xb5c),uVar8);
  }
  else {
    uVar8 = 1;
    FUN_0004a0b0();
    local_d8 = (**(code **)(iVar2 + 0x5f8))
                         (*(undefined4 *)(iVar2 + 0x62c),*(undefined4 *)(iVar2 + 0xb44),
                          *(undefined4 *)(iVar2 + 0xb48),*(undefined4 *)(iVar2 + 0xb54),
                          *(undefined4 *)(iVar2 + 0xb58),*(undefined4 *)(iVar2 + 0xb4c),
                          *(undefined4 *)(iVar2 + 0xb50),*(undefined4 *)(iVar2 + 0xb5c),
                          *(undefined4 *)(iVar2 + 0xb60),uVar8,iVar6,iVar14);
  }
  FUN_0004a0b0();
  if (local_d8 != 0) {
    FUN_00027d40();
  }
LAB_0001d1c8:
  if (local_24 == *(int *)(in_GS_OFFSET + 0x14)) {
    return local_d8;
  }
                    /* WARNING: Subroutine does not return */
  FUN_00082f60();
}


CALL 0x0001d803
ADD ECX,0x99afb
PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0xcc
MOV EBX,ECX
MOV dword ptr [ESP + 0x4],ECX
MOV EAX,GS:[0x14]
MOV dword ptr [ESP + 0xbc],EAX
XOR EAX,EAX
MOV EAX,dword ptr [ESP + 0xe0]
MOV EBP,dword ptr [EAX]
MOV EAX,dword ptr [EBP + 0xc48]
MOV EDX,dword ptr [EBP + 0xb60]
MOV ESI,dword ptr [EBP + 0xb54]
MOV EDI,dword ptr [EBP + 0xb58]
MOV dword ptr [ESP + 0x20],EAX
MOV EAX,dword ptr [EBP + 0xb5c]
MOV dword ptr [ESP + 0xc],EDX
MOV dword ptr [ESP + 0x8],EAX
LEA EAX,[ESP + 0x58]
SUB ESP,0xc
PUSH EAX
MOV dword ptr [ESP + 0x14],ECX
CALL 0x0001ab90
MOV EAX,dword ptr [ESP + 0x64]
MOV EDX,dword ptr [ESP + 0x68]
MOV dword ptr [ESP + 0x3c],EAX
MOV dword ptr [ESP + 0x40],EDX
MOV dword ptr [ESP + 0x44],EAX
ADD ESP,0xc
PUSH dword ptr [EBP + 0xba8]
PUSH dword ptr [EBP + 0xba4]
PUSH EDX
PUSH EAX
MOV EBX,dword ptr [ESP + 0x14]
CALL 0x0001ac80
MOV EDX,0x431bde83
MOV EBX,EAX
MOV dword ptr [EBP + 0xb78],EAX
IMUL EDX
MOV ECX,EBX
MOV EAX,EBX
SAR ECX,0x1f
SAR EDX,0x12
SUB EDX,ECX
MOV dword ptr [ESP + 0x4c],EDX
MOV dword ptr [ESP + 0x20],EDX
SAR EDX,0x1f
MOV dword ptr [ESP + 0x24],EDX
MOV EDX,0x10624dd3
IMUL EDX
MOV EAX,EDX
SAR EAX,0x6
SUB EAX,ECX
MOV dword ptr [ESP + 0x50],EAX
MOV dword ptr [ESP + 0x28],EAX
SAR EAX,0x1f
MOV dword ptr [ESP + 0x2c],EAX
MOV EAX,0xa5e353f6
ADD ESP,0x10
CMP EAX,ESI
MOV EAX,0x20c49b
MOV EDX,EAX
SBB EDX,EDI
JL 0x0001d188
MOV EAX,0x3e8
IMUL EBX,EDI,0x3e8
XOR ECX,ECX
MOV EDI,dword ptr [ESP + 0x1c]
MUL ESI
MOV ESI,dword ptr [ESP + 0x18]
ADD EDX,EBX
CMP ECX,dword ptr [ESP + 0x40]
SBB ECX,dword ptr [ESP + 0x1c]
JGE 0x0001d138
PUSH EDI
PUSH ESI
PUSH EDX
PUSH EAX
MOV EBX,dword ptr [ESP + 0x14]
CALL 0x00082b40
ADD ESP,0x10
MOV dword ptr [ESP + 0x28],EAX
MOV dword ptr [ESP + 0x2c],EDX
MOV EBX,dword ptr [ESP + 0x8]
MOV ESI,dword ptr [ESP + 0xc]
MOV dword ptr [EBP + 0xb7c],EAX
MOV EAX,0xa5e353f6
MOV dword ptr [EBP + 0xb80],EDX
CMP EAX,EBX
MOV EAX,0x20c49b
SBB EAX,ESI
JL 0x0001d148
IMUL ECX,dword ptr [ESP + 0xc],0x3e8
MOV EAX,0x3e8
MOV EBX,dword ptr [ESP + 0x1c]
XOR ESI,ESI
MUL dword ptr [ESP + 0x8]
ADD EDX,ECX
CMP ESI,dword ptr [ESP + 0x40]
MOV ECX,dword ptr [ESP + 0x18]
SBB ESI,EBX
JL 0x0001ce6f
MOV ECX,0x1
XOR EBX,EBX
PUSH EBX
PUSH ECX
PUSH EDX
PUSH EAX
MOV EBX,dword ptr [ESP + 0x14]
CALL 0x00082b40
ADD ESP,0x10
MOV ESI,EAX
MOV EDI,EDX
MOV dword ptr [EBP + 0xb84],ESI
XOR EAX,EAX
MOV EBX,dword ptr [ESP + 0x38]
MOV dword ptr [EBP + 0xb88],EDI
CMP dword ptr [EBP + 0xb40],EBX
JZ 0x0001cfdb
MOV EAX,dword ptr [ESP + 0x20]
MOV ECX,dword ptr [ESP + 0x20]
MOV dword ptr [EBP + 0xb40],EBX
MOV EBX,0x2aaaaaab
IMUL EBX
MOV EAX,ECX
SAR EAX,0x1f
SUB EDX,EAX
LEA EAX,[EDX + EDX*0x2]
MOV EDX,dword ptr [EBP + 0xb60]
ADD EAX,EAX
SUB ECX,EAX
MOV EAX,dword ptr [EBP + 0xb5c]
ADD EAX,dword ptr [EBP + 0xb54]
LEA ECX,[EBP + ECX*0x8]
ADC EDX,dword ptr [EBP + 0xb58]
MOV dword ptr [ECX + 0xbec],EDX
MOV EDX,dword ptr [ESP + 0x34]
MOV dword ptr [ECX + 0xbe8],EAX
MOV EAX,dword ptr [ESP + 0x30]
MOV dword ptr [ECX + 0xc1c],EDX
MOV dword ptr [ECX + 0xc18],EAX
MOV EAX,dword ptr [EBP + 0xc48]
MOV dword ptr [ESP + 0x8],ECX
LEA ECX,[EAX + 0x1]
MOV dword ptr [EBP + 0xc48],ECX
CMP ECX,0x1
JZ 0x0001d1f0
XOR ESI,ESI
CMP ECX,0x5
JLE 0x0001cf39
MOV EAX,ECX
IMUL EBX
MOV EAX,ECX
SAR EAX,0x1f
MOV ESI,EDX
SUB ESI,EAX
LEA EAX,[ESI + ESI*0x2]
MOV ESI,ECX
ADD EAX,EAX
SUB ESI,EAX
PUSH dword ptr [EBP + ESI*0x8 + 0xc1c]
PUSH dword ptr [EBP + ESI*0x8 + 0xc18]
PUSH dword ptr [ESP + 0x3c]
PUSH dword ptr [ESP + 0x3c]
MOV EDI,dword ptr [ESP + 0x14]
MOV EBX,EDI
CALL 0x0001ac30
ADD ESP,0x10
MOV EBX,0x418937
TEST EAX,EAX
MOV ECX,EAX
MOV EAX,0x1
CMOVZ ECX,EAX
MOV EAX,dword ptr [ESP + 0x8]
MOV EDX,dword ptr [EAX + 0xbec]
MOV EAX,dword ptr [EAX + 0xbe8]
SUB EAX,dword ptr [EBP + ESI*0x8 + 0xbe8]
SBB EDX,dword ptr [EBP + ESI*0x8 + 0xbec]
CMP EBX,EAX
MOV EBX,0x0
SBB EBX,EDX
JGE 0x0001d210
FNSTCW word ptr [ESP + 0x4e]
MOV dword ptr [ESP + 0x8],EAX
MOV dword ptr [ESP + 0xc],EDX
FILD qword ptr [ESP + 0x8]
MOV dword ptr [ESP + 0x8],ECX
FILD dword ptr [ESP + 0x8]
FDIV dword ptr [EDI + 0xfffcccf8]
MOVZX EAX,word ptr [ESP + 0x4e]
OR AH,0xc
MOV word ptr [ESP + 0x4c],AX
MOV EAX,0x1
FDIVP
FLDCW word ptr [ESP + 0x4c]
FISTP qword ptr [EBP + 0xb64]
FLDCW word ptr [ESP + 0x4e]
MOV ESI,dword ptr [EBP + 0xb74]
MOV EDI,ESI
AND EDI,0x10
MOV dword ptr [ESP + 0x8],EDI
JNZ 0x0001d1c0
MOV EBX,dword ptr [EBP + 0x5f8]
TEST EBX,EBX
JNZ 0x0001d5e8
MOV EDX,dword ptr [EBP + 0x5f4]
TEST EDX,EDX
JNZ 0x0001d250
TEST AL,AL
JZ 0x0001d1c8
TEST ESI,0x80
JNZ 0x0001d061
MOV EDX,dword ptr [EBP + 0xebc]
MOV EAX,dword ptr [EBP + 0xeb8]
MOV ECX,dword ptr [EBP + 0x584]
MOV ESI,EDX
OR ESI,EAX
JNZ 0x0001d6b0
SUB ESP,0x8
MOV EBX,dword ptr [ESP + 0xc]
LEA EAX,[EBX + 0xfffccc20]
PUSH EAX
PUSH ECX
CALL 0x000191f0
MOV ESI,dword ptr [EBP + 0xb74]
ADD ESP,0x10
OR ESI,0x80
MOV dword ptr [EBP + 0xb74],ESI
TEST ESI,0x20
JZ 0x0001d2f0
MOV EAX,dword ptr [EBP + 0xb84]
XOR EDI,EDI
MOV EDX,dword ptr [EBP + 0xb88]
MOV EBX,EDI
CMP EDI,EAX
SBB EBX,EDX
JGE 0x0001d2f0
MOV ECX,dword ptr [EBP + 0xb4c]
MOV EBX,dword ptr [EBP + 0xb50]
PUSH EDX
PUSH EAX
MOV dword ptr [ESP + 0x24],EBX
MOV dword ptr [ESP + 0x20],ECX
PUSH EBX
PUSH ECX
MOV EBX,dword ptr [ESP + 0x14]
CALL 0x00082b40
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x1c]
MOV EBX,EDI
MOV dword ptr [ESP + 0x38],EDX
MOV EDX,dword ptr [ESP + 0x18]
MOV dword ptr [ESP + 0x30],EAX
MOV EAX,0x2710
CMP EAX,EDX
SBB EBX,ECX
JGE 0x0001d730
PUSH 0x0
PUSH 0x64
PUSH ECX
PUSH EDX
MOV EDI,dword ptr [ESP + 0x14]
MOV EBX,EDI
CALL 0x00082b40
ADD ESP,0x10
PUSH EDX
PUSH EAX
PUSH dword ptr [EBP + 0xb60]
PUSH dword ptr [EBP + 0xb5c]
CALL 0x00082b40
ADD ESP,0x10
MOV dword ptr [ESP + 0x28],EAX
MOV dword ptr [ESP + 0x2c],EDX
AND ESI,0x40
JZ 0x0001d11b
MOV EAX,dword ptr [EBP + 0xb7c]
XOR ECX,ECX
MOV EDX,dword ptr [EBP + 0xb80]
CMP ECX,EAX
SBB ECX,EDX
JL 0x0001d331
XOR ESI,ESI
XOR EDI,EDI
MOV dword ptr [ESP + 0x20],0x0
MOV dword ptr [ESP + 0x24],0x0
JMP 0x0001d3a8
MOV ESI,0x1
XOR EDI,EDI
JMP 0x0001ce03
MOV ESI,dword ptr [ESP + 0x14]
XOR ECX,ECX
MOV EBX,dword ptr [ESP + 0x10]
CMP ECX,dword ptr [ESP + 0x3c]
SBB ECX,ESI
MOV EAX,EBX
MOV EDX,ESI
JL 0x0001d165
MOV EAX,0x1
XOR EDX,EDX
PUSH EDX
PUSH EAX
PUSH dword ptr [ESP + 0x14]
PUSH dword ptr [ESP + 0x14]
MOV EBX,dword ptr [ESP + 0x14]
CALL 0x00082b40
ADD ESP,0x10
MOV ESI,EAX
MOV EDI,EDX
JMP 0x0001ce83
XOR ECX,ECX
CMP ECX,dword ptr [ESP + 0x3c]
SBB ECX,dword ptr [ESP + 0x14]
MOV EAX,dword ptr [ESP + 0x10]
MOV EDX,dword ptr [ESP + 0x14]
JL 0x0001d1a3
MOV EAX,0x1
XOR EDX,EDX
PUSH EDX
PUSH EAX
PUSH EDI
PUSH ESI
MOV EBX,dword ptr [ESP + 0x14]
CALL 0x00082b40
ADD ESP,0x10
MOV dword ptr [ESP + 0x28],EAX
MOV dword ptr [ESP + 0x2c],EDX
JMP 0x0001ce1b
MOV dword ptr [ESP + 0x8],0x0
MOV EDI,dword ptr [ESP + 0xbc]
XOR EDI,dword ptr GS:[0x14]
MOV EAX,dword ptr [ESP + 0x8]
JNZ 0x0001d783
ADD ESP,0xcc
POP EBX
POP ESI
POP EDI
POP EBP
RET
ADD ESI,dword ptr [ESP + 0x28]
ADC EDI,dword ptr [ESP + 0x2c]
MOV EAX,0x1
MOV dword ptr [EBP + 0xb64],ESI
MOV dword ptr [EBP + 0xb68],EDI
JMP 0x0001cfdb
MOV EDI,0x3e8
IMUL EBX,EDX,0x3e8
MUL EDI
ADD EDX,EBX
MOV EBX,ECX
SAR EBX,0x1f
PUSH EBX
PUSH ECX
PUSH EDX
PUSH EAX
MOV EBX,dword ptr [ESP + 0x14]
CALL 0x00082b40
ADD ESP,0x10
MOV dword ptr [EBP + 0xb64],EAX
MOV EAX,0x1
MOV dword ptr [EBP + 0xb68],EDX
JMP 0x0001cfdb
SUB ESP,0x8
PUSH 0x1
PUSH EBP
MOV ESI,dword ptr [ESP + 0x14]
MOV EBX,ESI
CALL 0x0004a0b0
FILD qword ptr [EBP + 0xb5c]
SUB ESP,0x1c
FSTP qword ptr [ESP + 0x7c]
FLD qword ptr [ESP + 0x7c]
FSTP qword ptr [ESP + 0x18]
FILD qword ptr [EBP + 0xb4c]
FSTP qword ptr [ESP + 0x7c]
FLD qword ptr [ESP + 0x7c]
FSTP qword ptr [ESP + 0x10]
FILD qword ptr [EBP + 0xb54]
FSTP qword ptr [ESP + 0x7c]
FLD qword ptr [ESP + 0x7c]
FSTP qword ptr [ESP + 0x8]
FILD qword ptr [EBP + 0xb44]
FSTP qword ptr [ESP + 0x7c]
FLD qword ptr [ESP + 0x7c]
FSTP qword ptr [ESP]
PUSH dword ptr [EBP + 0x62c]
CALL dword ptr [EBP + 0x5f4]
MOV dword ptr [ESP + 0x38],EAX
ADD ESP,0x28
MOV EDI,EAX
PUSH 0x0
PUSH EBP
CALL 0x0004a0b0
ADD ESP,0x10
TEST EDI,EDI
JZ 0x0001d1c8
SUB ESP,0x8
MOV EBX,dword ptr [ESP + 0xc]
LEA EAX,[EBX + 0xfffccbb1]
PUSH EAX
PUSH EBP
CALL 0x00027d40
ADD ESP,0x10
JMP 0x0001d1c8
AND ESI,0x40
JZ 0x0001d3d8
MOV EAX,dword ptr [EBP + 0xb7c]
XOR ECX,ECX
MOV EDX,dword ptr [EBP + 0xb80]
CMP ECX,EAX
SBB ECX,EDX
JGE 0x0001d3d8
MOV dword ptr [ESP + 0x30],0x0
MOV dword ptr [ESP + 0x38],0x0
MOV dword ptr [ESP + 0x28],0x0
MOV dword ptr [ESP + 0x2c],0x0
MOV ECX,dword ptr [EBP + 0xb44]
MOV EBX,dword ptr [EBP + 0xb48]
PUSH EDX
PUSH EAX
MOV dword ptr [ESP + 0x24],EBX
MOV dword ptr [ESP + 0x20],ECX
PUSH EBX
PUSH ECX
MOV EBX,dword ptr [ESP + 0x14]
CALL 0x00082b40
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x18]
MOV EBX,dword ptr [ESP + 0x1c]
MOV ESI,EAX
MOV EDI,EDX
XOR EAX,EAX
MOV EDX,0x2710
CMP EDX,ECX
MOV EDX,EAX
SBB EDX,EBX
JGE 0x0001d6d8
PUSH 0x0
PUSH 0x64
PUSH EBX
PUSH ECX
MOV EBX,dword ptr [ESP + 0x14]
CALL 0x00082b40
ADD ESP,0x10
PUSH EDX
PUSH EAX
PUSH dword ptr [EBP + 0xb58]
PUSH dword ptr [EBP + 0xb54]
MOV EBX,dword ptr [ESP + 0x14]
CALL 0x00082b40
ADD ESP,0x10
MOV dword ptr [ESP + 0x20],EAX
MOV dword ptr [ESP + 0x24],EDX
MOV EAX,dword ptr [ESP + 0x30]
MOV EBX,dword ptr [ESP + 0x38]
MOV EDX,EDI
CMP ESI,EAX
SBB EDX,EBX
JGE 0x0001d3bc
MOV ESI,EAX
MOV EDI,EBX
XOR EAX,EAX
CMP EAX,ESI
SBB EAX,EDI
JGE 0x0001d3fc
MOV EDX,ESI
MOV ECX,EDI
SUB EDX,dword ptr [ESP + 0x10]
SBB ECX,dword ptr [ESP + 0x14]
JMP 0x0001d400
MOV dword ptr [ESP + 0x28],0x0
XOR ESI,ESI
XOR EDI,EDI
MOV dword ptr [ESP + 0x2c],0x0
MOV dword ptr [ESP + 0x20],0x0
MOV dword ptr [ESP + 0x24],0x0
XOR EDX,EDX
XOR ECX,ECX
LEA EAX,[ESP + 0x9e]
MOV dword ptr [ESP + 0x40],EAX
CALL 0x0001c490
LEA EAX,[ESP + 0xa8]
MOV EDX,ESI
MOV ECX,EDI
MOV dword ptr [ESP + 0x44],EAX
CALL 0x0001c490
MOV EDX,dword ptr [ESP + 0x10]
MOV ECX,dword ptr [ESP + 0x14]
LEA EAX,[ESP + 0xb2]
MOV dword ptr [ESP + 0x48],EAX
CALL 0x0001c490
MOV EAX,dword ptr [EBP + 0xb74]
MOV dword ptr [ESP + 0x10],EAX
TEST AL,0x20
JZ 0x0001d640
MOV EAX,dword ptr [EBP + 0xb5c]
MOV EDX,dword ptr [EBP + 0xb60]
MOV ESI,dword ptr [EBP + 0xb4c]
MOV EDI,dword ptr [EBP + 0xb50]
MOV dword ptr [ESP + 0x18],EAX
MOV dword ptr [ESP + 0x1c],EDX
MOV EAX,dword ptr [EBP + 0xb54]
MOV EDX,dword ptr [EBP + 0xb58]
MOV ECX,EAX
MOV EBX,EDX
TEST byte ptr [ESP + 0x10],0x40
JZ 0x0001d491
MOV ECX,dword ptr [EBP + 0xb44]
MOV EBX,dword ptr [EBP + 0xb48]
ADD ESI,ECX
ADC EDI,EBX
ADD EAX,dword ptr [ESP + 0x18]
ADC EDX,dword ptr [ESP + 0x1c]
MOV dword ptr [ESP + 0x18],EAX
XOR EAX,EAX
MOV dword ptr [ESP + 0x1c],EDX
MOV EDX,0x2710
MOV EBX,EAX
CMP EDX,ESI
SBB EBX,EDI
JGE 0x0001d660
PUSH 0x0
PUSH 0x64
PUSH EDI
PUSH ESI
MOV EBX,dword ptr [ESP + 0x14]
CALL 0x00082b40
ADD ESP,0x10
PUSH EDX
PUSH EAX
PUSH dword ptr [ESP + 0x24]
PUSH dword ptr [ESP + 0x24]
MOV EBX,dword ptr [ESP + 0x14]
CALL 0x00082b40
ADD ESP,0x10
MOV dword ptr [ESP + 0x10],EAX
MOV dword ptr [ESP + 0x14],EDX
MOV EDX,dword ptr [EBP + 0xb68]
MOV EAX,dword ptr [EBP + 0xb64]
LEA ECX,[ESP + 0x94]
LEA EBX,[ESP + 0x62]
CALL 0x0001c620
MOV EDX,dword ptr [EBP + 0xb88]
LEA ECX,[ESP + 0x8a]
MOV dword ptr [ESP + 0x18],EAX
MOV EAX,dword ptr [EBP + 0xb84]
CALL 0x0001c620
MOV EDX,dword ptr [EBP + 0xb80]
LEA ECX,[ESP + 0x80]
MOV dword ptr [ESP + 0x30],EAX
MOV EAX,dword ptr [EBP + 0xb7c]
CALL 0x0001c620
MOV EDX,dword ptr [EBP + 0xb60]
LEA ECX,[ESP + 0x6c]
MOV dword ptr [ESP + 0x38],EAX
MOV EAX,dword ptr [EBP + 0xb5c]
CALL 0x0001c620
MOV EDX,dword ptr [EBP + 0xb58]
MOV ECX,EBX
MOV dword ptr [ESP + 0x3c],EAX
MOV EAX,dword ptr [EBP + 0xb54]
CALL 0x0001c620
LEA ECX,[ESP + 0x76]
MOV EDX,EDI
MOV EBX,EAX
MOV EAX,ESI
CALL 0x0001c620
SUB ESP,0xc
PUSH dword ptr [ESP + 0x24]
PUSH dword ptr [ESP + 0x50]
PUSH dword ptr [ESP + 0x5c]
PUSH dword ptr [ESP + 0x5c]
PUSH dword ptr [ESP + 0x4c]
PUSH dword ptr [ESP + 0x58]
PUSH dword ptr [ESP + 0x60]
PUSH dword ptr [ESP + 0x54]
PUSH dword ptr [ESP + 0x54]
PUSH EBX
PUSH dword ptr [ESP + 0x58]
PUSH dword ptr [ESP + 0x58]
PUSH EAX
PUSH dword ptr [ESP + 0x54]
PUSH dword ptr [ESP + 0x54]
MOV EDI,dword ptr [ESP + 0x4c]
LEA EAX,[EDI + 0xfffcccc4]
MOV EBX,EDI
PUSH EAX
PUSH dword ptr [EBP + 0x584]
CALL 0x000191f0
ADD ESP,0x44
PUSH dword ptr [EBP + 0x584]
CALL 0x00018c10
ADD ESP,0x10
JMP 0x0001d1c8
SUB ESP,0x8
PUSH 0x1
PUSH EBP
MOV ESI,dword ptr [ESP + 0x14]
MOV EBX,ESI
CALL 0x0004a0b0
POP ECX
PUSH dword ptr [EBP + 0xb60]
PUSH dword ptr [EBP + 0xb5c]
PUSH dword ptr [EBP + 0xb50]
PUSH dword ptr [EBP + 0xb4c]
PUSH dword ptr [EBP + 0xb58]
PUSH dword ptr [EBP + 0xb54]
PUSH dword ptr [EBP + 0xb48]
PUSH dword ptr [EBP + 0xb44]
PUSH dword ptr [EBP + 0x62c]
CALL dword ptr [EBP + 0x5f8]
JMP 0x0001d2b7
MOV ESI,dword ptr [EBP + 0xb5c]
MOV EDI,dword ptr [EBP + 0xb60]
MOV dword ptr [ESP + 0x18],ESI
MOV dword ptr [ESP + 0x1c],EDI
JMP 0x0001d46e
CMP EAX,ESI
MOV dword ptr [ESP + 0x10],0x0
SBB EAX,EDI
MOV dword ptr [ESP + 0x14],0x0
JGE 0x0001d4e8
IMUL ECX,dword ptr [ESP + 0x1c],0x64
MOV EAX,0x64
MUL dword ptr [ESP + 0x18]
PUSH EDI
PUSH ESI
ADD EDX,ECX
PUSH EDX
PUSH EAX
MOV EBX,dword ptr [ESP + 0x14]
CALL 0x00082b40
ADD ESP,0x10
MOV dword ptr [ESP + 0x10],EAX
MOV dword ptr [ESP + 0x14],EDX
JMP 0x0001d4e8
PUSH EDX
PUSH EAX
MOV EBX,dword ptr [ESP + 0xc]
LEA EAX,[EBX + 0xfffccbf0]
PUSH EAX
PUSH ECX
CALL 0x000191f0
MOV ECX,dword ptr [EBP + 0x584]
ADD ESP,0x10
JMP 0x0001d038
CMP EAX,ECX
SBB EAX,dword ptr [ESP + 0x1c]
MOV dword ptr [ESP + 0x20],0x0
MOV dword ptr [ESP + 0x24],0x0
JGE 0x0001d3a8
IMUL ECX,dword ptr [EBP + 0xb58],0x64
MOV EAX,0x64
MUL dword ptr [EBP + 0xb54]
PUSH dword ptr [ESP + 0x1c]
PUSH dword ptr [ESP + 0x1c]
ADD EDX,ECX
PUSH EDX
PUSH EAX
MOV EBX,dword ptr [ESP + 0x14]
CALL 0x00082b40
ADD ESP,0x10
MOV dword ptr [ESP + 0x20],EAX
MOV dword ptr [ESP + 0x24],EDX
JMP 0x0001d3a8
CMP EDI,EDX
SBB EDI,dword ptr [ESP + 0x1c]
MOV dword ptr [ESP + 0x28],0x0
MOV dword ptr [ESP + 0x2c],0x0
JGE 0x0001d0fe
IMUL ECX,dword ptr [EBP + 0xb60],0x64
MOV EAX,0x64
MUL dword ptr [EBP + 0xb5c]
PUSH dword ptr [ESP + 0x1c]
PUSH dword ptr [ESP + 0x1c]
ADD EDX,ECX
PUSH EDX
PUSH EAX
MOV EBX,dword ptr [ESP + 0x14]
CALL 0x00082b40
ADD ESP,0x10
MOV dword ptr [ESP + 0x28],EAX
MOV dword ptr [ESP + 0x2c],EDX
JMP 0x0001d0fe
CALL 0x00082f60
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.cx replaced with injection: get_pc_thunk_cx */\n\nint FUN_0001cce0(int *param_1)\n\n{\n  uint *puVar1;\n  int iVar2;\n  bool bVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  uint uVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  undefined4 uVar12;\n  uint uVar13;\n  int iVar14;\n  int iVar15;\n  int iVar16;\n  int iVar17;\n  int in_GS_OFFSET;\n  longlong lVar18;\n  longlong lVar19;\n  undefined8 uVar20;\n  undefined8 uVar21;\n  undefined8 uVar22;\n  int local_dc;\n  int local_d8;\n  int local_c0;\n  int local_88;\n  undefined4 local_84 [16];\n  undefined1 local_42 [10];\n  undefined1 local_38 [10];\n  undefined1 local_2e [10];\n  int local_24;\n  undefined4 local_20;\n  \n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  iVar2 = *param_1;\n  uVar7 = *(uint *)(iVar2 + 0xb54);\n  iVar17 = *(int *)(iVar2 + 0xb58);\n  iVar15 = *(int *)(iVar2 + 0xb5c);\n  FUN_0001ab90(local_84);\n  iVar4 = FUN_0001ac80();\n  *(int *)(iVar2 + 0xb78) = iVar4;\n  iVar6 = iVar4 / 1000000;\n  iVar14 = iVar6 >> 0x1f;\n  iVar4 = iVar4 / 1000;\n  iVar5 = iVar4 >> 0x1f;\n  uVar7 = (uint)(0xa5e353f6 < uVar7);\n  iVar16 = 0x20c49b - iVar17;\n  if ((SBORROW4(0x20c49b,iVar17) != SBORROW4(iVar16,uVar7)) == (int)(iVar16 - uVar7) < 0) {\n    lVar18 = FUN_00082b40();\n  }\n  else {\n    lVar18 = FUN_00082b40();\n  }\n  *(longlong *)(iVar2 + 0xb7c) = lVar18;\n  if (iVar15 < 0x20c49c) {\n    if ((int)(uint)(iVar4 != 0) <= -iVar5) {\n      iVar4 = 1;\n      iVar5 = 0;\n    }\n    lVar19 = FUN_00082b40();\n    iVar6 = iVar4;\n    iVar14 = iVar5;\n  }\n  else {\n    if ((int)(uint)(iVar6 != 0) <= -iVar14) {\n      iVar6 = 1;\n      iVar14 = 0;\n    }\n    lVar19 = FUN_00082b40();\n  }\n  bVar3 = false;\n  *(longlong *)(iVar2 + 0xb84) = lVar19;\n  if (*(int *)(iVar2 + 0xb40) != local_88) {\n    *(int *)(iVar2 + 0xb40) = local_88;\n    uVar7 = *(uint *)(iVar2 + 0xb5c);\n    uVar13 = *(uint *)(iVar2 + 0xb54);\n    iVar15 = iVar2 + (local_c0 % 6) * 8;\n    *(uint *)(iVar15 + 0xbec) =\n         *(int *)(iVar2 + 0xb60) + *(int *)(iVar2 + 0xb58) +\n         (uint)CARRY4(uVar7,*(uint *)(iVar2 + 0xb54));\n    *(uint *)(iVar15 + 0xbe8) = uVar7 + uVar13;\n    *(undefined4 *)(iVar15 + 0xc1c) = local_84[0];\n    *(int *)(iVar15 + 0xc18) = local_88;\n    iVar17 = *(int *)(iVar2 + 0xc48) + 1;\n    *(int *)(iVar2 + 0xc48) = iVar17;\n    if (iVar17 == 1) {\n      bVar3 = true;\n      *(longlong *)(iVar2 + 0xb64) = lVar18 + lVar19;\n    }\n    else {\n      iVar16 = 0;\n      if (5 < iVar17) {\n        iVar16 = iVar17 % 6;\n      }\n      iVar14 = *(int *)(iVar2 + 0xc1c + iVar16 * 8);\n      iVar17 = *(int *)(iVar2 + 0xc18 + iVar16 * 8);\n      iVar6 = FUN_0001ac30();\n      if (iVar6 == 0) {\n        iVar6 = 1;\n      }\n      puVar1 = (uint *)(iVar2 + 0xbe8 + iVar16 * 8);\n      uVar7 = *(uint *)(iVar15 + 0xbe8) - *puVar1;\n      iVar15 = (*(int *)(iVar15 + 0xbec) - *(int *)(iVar2 + 0xbec + iVar16 * 8)) -\n               (uint)(*(uint *)(iVar15 + 0xbe8) < *puVar1);\n      if (-iVar15 < (int)(uint)(0x418937 < uVar7)) {\n        bVar3 = true;\n        *(longlong *)(iVar2 + 0xb64) =\n             (longlong)\n             ROUND((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))\n        ;\n        iVar6 = iVar17;\n      }\n      else {\n        iVar14 = iVar6 >> 0x1f;\n        uVar20 = FUN_00082b40();\n        bVar3 = true;\n        *(undefined8 *)(iVar2 + 0xb64) = uVar20;\n      }\n    }\n  }\n  uVar7 = *(uint *)(iVar2 + 0xb74);\n  if ((uVar7 & 0x10) != 0) {\n    local_d8 = 0;\n    goto LAB_0001d1c8;\n  }\n  if (*(int *)(iVar2 + 0x5f8) == 0) {\n    if (*(int *)(iVar2 + 0x5f4) == 0) {\n      local_d8 = 0;\n      if (!bVar3) goto LAB_0001d1c8;\n      if ((uVar7 & 0x80) == 0) {\n        if (*(int *)(iVar2 + 0xebc) != 0 || *(int *)(iVar2 + 0xeb8) != 0) {\n          curl_mfprintf();\n        }\n        curl_mfprintf();\n        uVar7 = *(uint *)(iVar2 + 0xb74) | 0x80;\n        *(uint *)(iVar2 + 0xb74) = uVar7;\n      }\n      if (((uVar7 & 0x20) == 0) ||\n         ((int)(uint)(*(int *)(iVar2 + 0xb84) != 0) <= -*(int *)(iVar2 + 0xb88))) {\n        if (((uVar7 & 0x40) != 0) &&\n           (-*(int *)(iVar2 + 0xb80) < (int)(uint)(*(int *)(iVar2 + 0xb7c) != 0))) {\n          uVar20 = 0;\n          goto LAB_0001d331;\n        }\n        uVar20 = 0;\n        uVar21 = 0;\n      }\n      else {\n        uVar13 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n        FUN_00082b40();\n        if (-iVar17 < (int)(uint)(10000 < uVar13)) {\n          FUN_00082b40();\n          uVar20 = FUN_00082b40();\n        }\n        else {\n          uVar20 = 0;\n          if (-iVar17 < (int)(uint)(uVar13 != 0)) {\n            uVar20 = FUN_00082b40();\n          }\n        }\n        if (((uVar7 & 0x40) == 0) ||\n           ((int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80))) {\n          uVar21 = 0;\n        }\n        else {\nLAB_0001d331:\n          uVar7 = *(uint *)(iVar2 + 0xb44);\n          iVar17 = *(int *)(iVar2 + 0xb48);\n          FUN_00082b40();\n          if (-iVar17 < (int)(uint)(10000 < uVar7)) {\n            FUN_00082b40();\n            uVar21 = FUN_00082b40();\n          }\n          else {\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }\n        }\n      }\n      FUN_0001c490();\n      FUN_0001c490();\n      FUN_0001c490();\n      if ((*(uint *)(iVar2 + 0xb74) & 0x20) == 0) {\n        uVar7 = *(uint *)(iVar2 + 0xb5c);\n        iVar17 = *(int *)(iVar2 + 0xb60);\n      }\n      else {\n        uVar7 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n      }\n      uVar13 = *(uint *)(iVar2 + 0xb54);\n      iVar15 = *(int *)(iVar2 + 0xb58);\n      if ((*(uint *)(iVar2 + 0xb74) & 0x40) != 0) {\n        uVar13 = *(uint *)(iVar2 + 0xb44);\n        iVar15 = *(int *)(iVar2 + 0xb48);\n      }\n      iVar17 = iVar17 + iVar15 + (uint)CARRY4(uVar7,uVar13);\n      if (-iVar17 < (int)(uint)(10000 < uVar7 + uVar13)) {\n        FUN_00082b40();\n        uVar22 = FUN_00082b40();\n      }\n      else {\n        uVar22 = 0;\n        if (-iVar17 < (int)(uint)(uVar7 + uVar13 != 0)) {\n          uVar22 = FUN_00082b40();\n        }\n      }\n      FUN_0001c620();\n      uVar8 = FUN_0001c620();\n      uVar9 = FUN_0001c620();\n      uVar10 = FUN_0001c620();\n      uVar11 = FUN_0001c620();\n      uVar12 = FUN_0001c620();\n      curl_mfprintf(*(undefined4 *)(iVar2 + 0x584),local_dc + -0x3333c,uVar22,uVar12,uVar21,uVar11,\n                    uVar20,uVar10,uVar9,uVar8,local_38,local_2e,local_42);\n      fflush(*(FILE **)(iVar2 + 0x584));\n      goto LAB_0001d1c8;\n    }\n    uVar8 = 1;\n    FUN_0004a0b0();\n    local_d8 = (**(code **)(iVar2 + 0x5f4))\n                         (*(undefined4 *)(iVar2 + 0x62c),(double)*(longlong *)(iVar2 + 0xb44),\n                          (double)*(longlong *)(iVar2 + 0xb54),(double)*(longlong *)(iVar2 + 0xb4c),\n                          (double)*(longlong *)(iVar2 + 0xb5c),uVar8);\n  }\n  else {\n    uVar8 = 1;\n    FUN_0004a0b0();\n    local_d8 = (**(code **)(iVar2 + 0x5f8))\n                         (*(undefined4 *)(iVar2 + 0x62c),*(undefined4 *)(iVar2 + 0xb44),\n                          *(undefined4 *)(iVar2 + 0xb48),*(undefined4 *)(iVar2 + 0xb54),\n                          *(undefined4 *)(iVar2 + 0xb58),*(undefined4 *)(iVar2 + 0xb4c),\n                          *(undefined4 *)(iVar2 + 0xb50),*(undefined4 *)(iVar2 + 0xb5c),\n                          *(undefined4 *)(iVar2 + 0xb60),uVar8,iVar6,iVar14);\n  }\n  FUN_0004a0b0();\n  if (local_d8 != 0) {\n    FUN_00027d40();\n  }\nLAB_0001d1c8:\n  if (local_24 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_d8;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_00082f60();\n}\n\n" comment (function_definition "int FUN_0001cce0(int *param_1)\n\n{\n  uint *puVar1;\n  int iVar2;\n  bool bVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  uint uVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  undefined4 uVar12;\n  uint uVar13;\n  int iVar14;\n  int iVar15;\n  int iVar16;\n  int iVar17;\n  int in_GS_OFFSET;\n  longlong lVar18;\n  longlong lVar19;\n  undefined8 uVar20;\n  undefined8 uVar21;\n  undefined8 uVar22;\n  int local_dc;\n  int local_d8;\n  int local_c0;\n  int local_88;\n  undefined4 local_84 [16];\n  undefined1 local_42 [10];\n  undefined1 local_38 [10];\n  undefined1 local_2e [10];\n  int local_24;\n  undefined4 local_20;\n  \n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  iVar2 = *param_1;\n  uVar7 = *(uint *)(iVar2 + 0xb54);\n  iVar17 = *(int *)(iVar2 + 0xb58);\n  iVar15 = *(int *)(iVar2 + 0xb5c);\n  FUN_0001ab90(local_84);\n  iVar4 = FUN_0001ac80();\n  *(int *)(iVar2 + 0xb78) = iVar4;\n  iVar6 = iVar4 / 1000000;\n  iVar14 = iVar6 >> 0x1f;\n  iVar4 = iVar4 / 1000;\n  iVar5 = iVar4 >> 0x1f;\n  uVar7 = (uint)(0xa5e353f6 < uVar7);\n  iVar16 = 0x20c49b - iVar17;\n  if ((SBORROW4(0x20c49b,iVar17) != SBORROW4(iVar16,uVar7)) == (int)(iVar16 - uVar7) < 0) {\n    lVar18 = FUN_00082b40();\n  }\n  else {\n    lVar18 = FUN_00082b40();\n  }\n  *(longlong *)(iVar2 + 0xb7c) = lVar18;\n  if (iVar15 < 0x20c49c) {\n    if ((int)(uint)(iVar4 != 0) <= -iVar5) {\n      iVar4 = 1;\n      iVar5 = 0;\n    }\n    lVar19 = FUN_00082b40();\n    iVar6 = iVar4;\n    iVar14 = iVar5;\n  }\n  else {\n    if ((int)(uint)(iVar6 != 0) <= -iVar14) {\n      iVar6 = 1;\n      iVar14 = 0;\n    }\n    lVar19 = FUN_00082b40();\n  }\n  bVar3 = false;\n  *(longlong *)(iVar2 + 0xb84) = lVar19;\n  if (*(int *)(iVar2 + 0xb40) != local_88) {\n    *(int *)(iVar2 + 0xb40) = local_88;\n    uVar7 = *(uint *)(iVar2 + 0xb5c);\n    uVar13 = *(uint *)(iVar2 + 0xb54);\n    iVar15 = iVar2 + (local_c0 % 6) * 8;\n    *(uint *)(iVar15 + 0xbec) =\n         *(int *)(iVar2 + 0xb60) + *(int *)(iVar2 + 0xb58) +\n         (uint)CARRY4(uVar7,*(uint *)(iVar2 + 0xb54));\n    *(uint *)(iVar15 + 0xbe8) = uVar7 + uVar13;\n    *(undefined4 *)(iVar15 + 0xc1c) = local_84[0];\n    *(int *)(iVar15 + 0xc18) = local_88;\n    iVar17 = *(int *)(iVar2 + 0xc48) + 1;\n    *(int *)(iVar2 + 0xc48) = iVar17;\n    if (iVar17 == 1) {\n      bVar3 = true;\n      *(longlong *)(iVar2 + 0xb64) = lVar18 + lVar19;\n    }\n    else {\n      iVar16 = 0;\n      if (5 < iVar17) {\n        iVar16 = iVar17 % 6;\n      }\n      iVar14 = *(int *)(iVar2 + 0xc1c + iVar16 * 8);\n      iVar17 = *(int *)(iVar2 + 0xc18 + iVar16 * 8);\n      iVar6 = FUN_0001ac30();\n      if (iVar6 == 0) {\n        iVar6 = 1;\n      }\n      puVar1 = (uint *)(iVar2 + 0xbe8 + iVar16 * 8);\n      uVar7 = *(uint *)(iVar15 + 0xbe8) - *puVar1;\n      iVar15 = (*(int *)(iVar15 + 0xbec) - *(int *)(iVar2 + 0xbec + iVar16 * 8)) -\n               (uint)(*(uint *)(iVar15 + 0xbe8) < *puVar1);\n      if (-iVar15 < (int)(uint)(0x418937 < uVar7)) {\n        bVar3 = true;\n        *(longlong *)(iVar2 + 0xb64) =\n             (longlong)\n             ROUND((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))\n        ;\n        iVar6 = iVar17;\n      }\n      else {\n        iVar14 = iVar6 >> 0x1f;\n        uVar20 = FUN_00082b40();\n        bVar3 = true;\n        *(undefined8 *)(iVar2 + 0xb64) = uVar20;\n      }\n    }\n  }\n  uVar7 = *(uint *)(iVar2 + 0xb74);\n  if ((uVar7 & 0x10) != 0) {\n    local_d8 = 0;\n    goto LAB_0001d1c8;\n  }\n  if (*(int *)(iVar2 + 0x5f8) == 0) {\n    if (*(int *)(iVar2 + 0x5f4) == 0) {\n      local_d8 = 0;\n      if (!bVar3) goto LAB_0001d1c8;\n      if ((uVar7 & 0x80) == 0) {\n        if (*(int *)(iVar2 + 0xebc) != 0 || *(int *)(iVar2 + 0xeb8) != 0) {\n          curl_mfprintf();\n        }\n        curl_mfprintf();\n        uVar7 = *(uint *)(iVar2 + 0xb74) | 0x80;\n        *(uint *)(iVar2 + 0xb74) = uVar7;\n      }\n      if (((uVar7 & 0x20) == 0) ||\n         ((int)(uint)(*(int *)(iVar2 + 0xb84) != 0) <= -*(int *)(iVar2 + 0xb88))) {\n        if (((uVar7 & 0x40) != 0) &&\n           (-*(int *)(iVar2 + 0xb80) < (int)(uint)(*(int *)(iVar2 + 0xb7c) != 0))) {\n          uVar20 = 0;\n          goto LAB_0001d331;\n        }\n        uVar20 = 0;\n        uVar21 = 0;\n      }\n      else {\n        uVar13 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n        FUN_00082b40();\n        if (-iVar17 < (int)(uint)(10000 < uVar13)) {\n          FUN_00082b40();\n          uVar20 = FUN_00082b40();\n        }\n        else {\n          uVar20 = 0;\n          if (-iVar17 < (int)(uint)(uVar13 != 0)) {\n            uVar20 = FUN_00082b40();\n          }\n        }\n        if (((uVar7 & 0x40) == 0) ||\n           ((int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80))) {\n          uVar21 = 0;\n        }\n        else {\nLAB_0001d331:\n          uVar7 = *(uint *)(iVar2 + 0xb44);\n          iVar17 = *(int *)(iVar2 + 0xb48);\n          FUN_00082b40();\n          if (-iVar17 < (int)(uint)(10000 < uVar7)) {\n            FUN_00082b40();\n            uVar21 = FUN_00082b40();\n          }\n          else {\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }\n        }\n      }\n      FUN_0001c490();\n      FUN_0001c490();\n      FUN_0001c490();\n      if ((*(uint *)(iVar2 + 0xb74) & 0x20) == 0) {\n        uVar7 = *(uint *)(iVar2 + 0xb5c);\n        iVar17 = *(int *)(iVar2 + 0xb60);\n      }\n      else {\n        uVar7 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n      }\n      uVar13 = *(uint *)(iVar2 + 0xb54);\n      iVar15 = *(int *)(iVar2 + 0xb58);\n      if ((*(uint *)(iVar2 + 0xb74) & 0x40) != 0) {\n        uVar13 = *(uint *)(iVar2 + 0xb44);\n        iVar15 = *(int *)(iVar2 + 0xb48);\n      }\n      iVar17 = iVar17 + iVar15 + (uint)CARRY4(uVar7,uVar13);\n      if (-iVar17 < (int)(uint)(10000 < uVar7 + uVar13)) {\n        FUN_00082b40();\n        uVar22 = FUN_00082b40();\n      }\n      else {\n        uVar22 = 0;\n        if (-iVar17 < (int)(uint)(uVar7 + uVar13 != 0)) {\n          uVar22 = FUN_00082b40();\n        }\n      }\n      FUN_0001c620();\n      uVar8 = FUN_0001c620();\n      uVar9 = FUN_0001c620();\n      uVar10 = FUN_0001c620();\n      uVar11 = FUN_0001c620();\n      uVar12 = FUN_0001c620();\n      curl_mfprintf(*(undefined4 *)(iVar2 + 0x584),local_dc + -0x3333c,uVar22,uVar12,uVar21,uVar11,\n                    uVar20,uVar10,uVar9,uVar8,local_38,local_2e,local_42);\n      fflush(*(FILE **)(iVar2 + 0x584));\n      goto LAB_0001d1c8;\n    }\n    uVar8 = 1;\n    FUN_0004a0b0();\n    local_d8 = (**(code **)(iVar2 + 0x5f4))\n                         (*(undefined4 *)(iVar2 + 0x62c),(double)*(longlong *)(iVar2 + 0xb44),\n                          (double)*(longlong *)(iVar2 + 0xb54),(double)*(longlong *)(iVar2 + 0xb4c),\n                          (double)*(longlong *)(iVar2 + 0xb5c),uVar8);\n  }\n  else {\n    uVar8 = 1;\n    FUN_0004a0b0();\n    local_d8 = (**(code **)(iVar2 + 0x5f8))\n                         (*(undefined4 *)(iVar2 + 0x62c),*(undefined4 *)(iVar2 + 0xb44),\n                          *(undefined4 *)(iVar2 + 0xb48),*(undefined4 *)(iVar2 + 0xb54),\n                          *(undefined4 *)(iVar2 + 0xb58),*(undefined4 *)(iVar2 + 0xb4c),\n                          *(undefined4 *)(iVar2 + 0xb50),*(undefined4 *)(iVar2 + 0xb5c),\n                          *(undefined4 *)(iVar2 + 0xb60),uVar8,iVar6,iVar14);\n  }\n  FUN_0004a0b0();\n  if (local_d8 != 0) {\n    FUN_00027d40();\n  }\nLAB_0001d1c8:\n  if (local_24 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_d8;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_00082f60();\n}" primitive_type (function_declarator "FUN_0001cce0(int *param_1)" identifier (parameter_list "(int *param_1)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  uint *puVar1;\n  int iVar2;\n  bool bVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  uint uVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  undefined4 uVar12;\n  uint uVar13;\n  int iVar14;\n  int iVar15;\n  int iVar16;\n  int iVar17;\n  int in_GS_OFFSET;\n  longlong lVar18;\n  longlong lVar19;\n  undefined8 uVar20;\n  undefined8 uVar21;\n  undefined8 uVar22;\n  int local_dc;\n  int local_d8;\n  int local_c0;\n  int local_88;\n  undefined4 local_84 [16];\n  undefined1 local_42 [10];\n  undefined1 local_38 [10];\n  undefined1 local_2e [10];\n  int local_24;\n  undefined4 local_20;\n  \n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  iVar2 = *param_1;\n  uVar7 = *(uint *)(iVar2 + 0xb54);\n  iVar17 = *(int *)(iVar2 + 0xb58);\n  iVar15 = *(int *)(iVar2 + 0xb5c);\n  FUN_0001ab90(local_84);\n  iVar4 = FUN_0001ac80();\n  *(int *)(iVar2 + 0xb78) = iVar4;\n  iVar6 = iVar4 / 1000000;\n  iVar14 = iVar6 >> 0x1f;\n  iVar4 = iVar4 / 1000;\n  iVar5 = iVar4 >> 0x1f;\n  uVar7 = (uint)(0xa5e353f6 < uVar7);\n  iVar16 = 0x20c49b - iVar17;\n  if ((SBORROW4(0x20c49b,iVar17) != SBORROW4(iVar16,uVar7)) == (int)(iVar16 - uVar7) < 0) {\n    lVar18 = FUN_00082b40();\n  }\n  else {\n    lVar18 = FUN_00082b40();\n  }\n  *(longlong *)(iVar2 + 0xb7c) = lVar18;\n  if (iVar15 < 0x20c49c) {\n    if ((int)(uint)(iVar4 != 0) <= -iVar5) {\n      iVar4 = 1;\n      iVar5 = 0;\n    }\n    lVar19 = FUN_00082b40();\n    iVar6 = iVar4;\n    iVar14 = iVar5;\n  }\n  else {\n    if ((int)(uint)(iVar6 != 0) <= -iVar14) {\n      iVar6 = 1;\n      iVar14 = 0;\n    }\n    lVar19 = FUN_00082b40();\n  }\n  bVar3 = false;\n  *(longlong *)(iVar2 + 0xb84) = lVar19;\n  if (*(int *)(iVar2 + 0xb40) != local_88) {\n    *(int *)(iVar2 + 0xb40) = local_88;\n    uVar7 = *(uint *)(iVar2 + 0xb5c);\n    uVar13 = *(uint *)(iVar2 + 0xb54);\n    iVar15 = iVar2 + (local_c0 % 6) * 8;\n    *(uint *)(iVar15 + 0xbec) =\n         *(int *)(iVar2 + 0xb60) + *(int *)(iVar2 + 0xb58) +\n         (uint)CARRY4(uVar7,*(uint *)(iVar2 + 0xb54));\n    *(uint *)(iVar15 + 0xbe8) = uVar7 + uVar13;\n    *(undefined4 *)(iVar15 + 0xc1c) = local_84[0];\n    *(int *)(iVar15 + 0xc18) = local_88;\n    iVar17 = *(int *)(iVar2 + 0xc48) + 1;\n    *(int *)(iVar2 + 0xc48) = iVar17;\n    if (iVar17 == 1) {\n      bVar3 = true;\n      *(longlong *)(iVar2 + 0xb64) = lVar18 + lVar19;\n    }\n    else {\n      iVar16 = 0;\n      if (5 < iVar17) {\n        iVar16 = iVar17 % 6;\n      }\n      iVar14 = *(int *)(iVar2 + 0xc1c + iVar16 * 8);\n      iVar17 = *(int *)(iVar2 + 0xc18 + iVar16 * 8);\n      iVar6 = FUN_0001ac30();\n      if (iVar6 == 0) {\n        iVar6 = 1;\n      }\n      puVar1 = (uint *)(iVar2 + 0xbe8 + iVar16 * 8);\n      uVar7 = *(uint *)(iVar15 + 0xbe8) - *puVar1;\n      iVar15 = (*(int *)(iVar15 + 0xbec) - *(int *)(iVar2 + 0xbec + iVar16 * 8)) -\n               (uint)(*(uint *)(iVar15 + 0xbe8) < *puVar1);\n      if (-iVar15 < (int)(uint)(0x418937 < uVar7)) {\n        bVar3 = true;\n        *(longlong *)(iVar2 + 0xb64) =\n             (longlong)\n             ROUND((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))\n        ;\n        iVar6 = iVar17;\n      }\n      else {\n        iVar14 = iVar6 >> 0x1f;\n        uVar20 = FUN_00082b40();\n        bVar3 = true;\n        *(undefined8 *)(iVar2 + 0xb64) = uVar20;\n      }\n    }\n  }\n  uVar7 = *(uint *)(iVar2 + 0xb74);\n  if ((uVar7 & 0x10) != 0) {\n    local_d8 = 0;\n    goto LAB_0001d1c8;\n  }\n  if (*(int *)(iVar2 + 0x5f8) == 0) {\n    if (*(int *)(iVar2 + 0x5f4) == 0) {\n      local_d8 = 0;\n      if (!bVar3) goto LAB_0001d1c8;\n      if ((uVar7 & 0x80) == 0) {\n        if (*(int *)(iVar2 + 0xebc) != 0 || *(int *)(iVar2 + 0xeb8) != 0) {\n          curl_mfprintf();\n        }\n        curl_mfprintf();\n        uVar7 = *(uint *)(iVar2 + 0xb74) | 0x80;\n        *(uint *)(iVar2 + 0xb74) = uVar7;\n      }\n      if (((uVar7 & 0x20) == 0) ||\n         ((int)(uint)(*(int *)(iVar2 + 0xb84) != 0) <= -*(int *)(iVar2 + 0xb88))) {\n        if (((uVar7 & 0x40) != 0) &&\n           (-*(int *)(iVar2 + 0xb80) < (int)(uint)(*(int *)(iVar2 + 0xb7c) != 0))) {\n          uVar20 = 0;\n          goto LAB_0001d331;\n        }\n        uVar20 = 0;\n        uVar21 = 0;\n      }\n      else {\n        uVar13 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n        FUN_00082b40();\n        if (-iVar17 < (int)(uint)(10000 < uVar13)) {\n          FUN_00082b40();\n          uVar20 = FUN_00082b40();\n        }\n        else {\n          uVar20 = 0;\n          if (-iVar17 < (int)(uint)(uVar13 != 0)) {\n            uVar20 = FUN_00082b40();\n          }\n        }\n        if (((uVar7 & 0x40) == 0) ||\n           ((int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80))) {\n          uVar21 = 0;\n        }\n        else {\nLAB_0001d331:\n          uVar7 = *(uint *)(iVar2 + 0xb44);\n          iVar17 = *(int *)(iVar2 + 0xb48);\n          FUN_00082b40();\n          if (-iVar17 < (int)(uint)(10000 < uVar7)) {\n            FUN_00082b40();\n            uVar21 = FUN_00082b40();\n          }\n          else {\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }\n        }\n      }\n      FUN_0001c490();\n      FUN_0001c490();\n      FUN_0001c490();\n      if ((*(uint *)(iVar2 + 0xb74) & 0x20) == 0) {\n        uVar7 = *(uint *)(iVar2 + 0xb5c);\n        iVar17 = *(int *)(iVar2 + 0xb60);\n      }\n      else {\n        uVar7 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n      }\n      uVar13 = *(uint *)(iVar2 + 0xb54);\n      iVar15 = *(int *)(iVar2 + 0xb58);\n      if ((*(uint *)(iVar2 + 0xb74) & 0x40) != 0) {\n        uVar13 = *(uint *)(iVar2 + 0xb44);\n        iVar15 = *(int *)(iVar2 + 0xb48);\n      }\n      iVar17 = iVar17 + iVar15 + (uint)CARRY4(uVar7,uVar13);\n      if (-iVar17 < (int)(uint)(10000 < uVar7 + uVar13)) {\n        FUN_00082b40();\n        uVar22 = FUN_00082b40();\n      }\n      else {\n        uVar22 = 0;\n        if (-iVar17 < (int)(uint)(uVar7 + uVar13 != 0)) {\n          uVar22 = FUN_00082b40();\n        }\n      }\n      FUN_0001c620();\n      uVar8 = FUN_0001c620();\n      uVar9 = FUN_0001c620();\n      uVar10 = FUN_0001c620();\n      uVar11 = FUN_0001c620();\n      uVar12 = FUN_0001c620();\n      curl_mfprintf(*(undefined4 *)(iVar2 + 0x584),local_dc + -0x3333c,uVar22,uVar12,uVar21,uVar11,\n                    uVar20,uVar10,uVar9,uVar8,local_38,local_2e,local_42);\n      fflush(*(FILE **)(iVar2 + 0x584));\n      goto LAB_0001d1c8;\n    }\n    uVar8 = 1;\n    FUN_0004a0b0();\n    local_d8 = (**(code **)(iVar2 + 0x5f4))\n                         (*(undefined4 *)(iVar2 + 0x62c),(double)*(longlong *)(iVar2 + 0xb44),\n                          (double)*(longlong *)(iVar2 + 0xb54),(double)*(longlong *)(iVar2 + 0xb4c),\n                          (double)*(longlong *)(iVar2 + 0xb5c),uVar8);\n  }\n  else {\n    uVar8 = 1;\n    FUN_0004a0b0();\n    local_d8 = (**(code **)(iVar2 + 0x5f8))\n                         (*(undefined4 *)(iVar2 + 0x62c),*(undefined4 *)(iVar2 + 0xb44),\n                          *(undefined4 *)(iVar2 + 0xb48),*(undefined4 *)(iVar2 + 0xb54),\n                          *(undefined4 *)(iVar2 + 0xb58),*(undefined4 *)(iVar2 + 0xb4c),\n                          *(undefined4 *)(iVar2 + 0xb50),*(undefined4 *)(iVar2 + 0xb5c),\n                          *(undefined4 *)(iVar2 + 0xb60),uVar8,iVar6,iVar14);\n  }\n  FUN_0004a0b0();\n  if (local_d8 != 0) {\n    FUN_00027d40();\n  }\nLAB_0001d1c8:\n  if (local_24 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_d8;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_00082f60();\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "bool bVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "longlong lVar18;" type_identifier identifier ;) (declaration "longlong lVar19;" type_identifier identifier ;) (declaration "undefined8 uVar20;" type_identifier identifier ;) (declaration "undefined8 uVar21;" type_identifier identifier ;) (declaration "undefined8 uVar22;" type_identifier identifier ;) (declaration "int local_dc;" primitive_type identifier ;) (declaration "int local_d8;" primitive_type identifier ;) (declaration "int local_c0;" primitive_type identifier ;) (declaration "int local_88;" primitive_type identifier ;) (declaration "undefined4 local_84 [16];" type_identifier (array_declarator "local_84 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 local_42 [10];" type_identifier (array_declarator "local_42 [10]" identifier [ number_literal ]) ;) (declaration "undefined1 local_38 [10];" type_identifier (array_declarator "local_38 [10]" identifier [ number_literal ]) ;) (declaration "undefined1 local_2e [10];" type_identifier (array_declarator "local_2e [10]" identifier [ number_literal ]) ;) (declaration "int local_24;" primitive_type identifier ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (expression_statement "local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(undefined4 *)(in_GS_OFFSET + 0x14)" * (cast_expression "(undefined4 *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *param_1;" (assignment_expression "iVar2 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uVar7 = *(uint *)(iVar2 + 0xb54);" (assignment_expression "uVar7 = *(uint *)(iVar2 + 0xb54)" identifier = (pointer_expression "*(uint *)(iVar2 + 0xb54)" * (cast_expression "(uint *)(iVar2 + 0xb54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb54)" ( (binary_expression "iVar2 + 0xb54" identifier + number_literal) ))))) ;) (expression_statement "iVar17 = *(int *)(iVar2 + 0xb58);" (assignment_expression "iVar17 = *(int *)(iVar2 + 0xb58)" identifier = (pointer_expression "*(int *)(iVar2 + 0xb58)" * (cast_expression "(int *)(iVar2 + 0xb58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb58)" ( (binary_expression "iVar2 + 0xb58" identifier + number_literal) ))))) ;) (expression_statement "iVar15 = *(int *)(iVar2 + 0xb5c);" (assignment_expression "iVar15 = *(int *)(iVar2 + 0xb5c)" identifier = (pointer_expression "*(int *)(iVar2 + 0xb5c)" * (cast_expression "(int *)(iVar2 + 0xb5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb5c)" ( (binary_expression "iVar2 + 0xb5c" identifier + number_literal) ))))) ;) (expression_statement "FUN_0001ab90(local_84);" (call_expression "FUN_0001ab90(local_84)" identifier (argument_list "(local_84)" ( identifier ))) ;) (expression_statement "iVar4 = FUN_0001ac80();" (assignment_expression "iVar4 = FUN_0001ac80()" identifier = (call_expression "FUN_0001ac80()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)(iVar2 + 0xb78) = iVar4;" (assignment_expression "*(int *)(iVar2 + 0xb78) = iVar4" (pointer_expression "*(int *)(iVar2 + 0xb78)" * (cast_expression "(int *)(iVar2 + 0xb78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb78)" ( (binary_expression "iVar2 + 0xb78" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar6 = iVar4 / 1000000;" (assignment_expression "iVar6 = iVar4 / 1000000" identifier = (binary_expression "iVar4 / 1000000" identifier / number_literal)) ;) (expression_statement "iVar14 = iVar6 >> 0x1f;" (assignment_expression "iVar14 = iVar6 >> 0x1f" identifier = (binary_expression "iVar6 >> 0x1f" identifier >> number_literal)) ;) (expression_statement "iVar4 = iVar4 / 1000;" (assignment_expression "iVar4 = iVar4 / 1000" identifier = (binary_expression "iVar4 / 1000" identifier / number_literal)) ;) (expression_statement "iVar5 = iVar4 >> 0x1f;" (assignment_expression "iVar5 = iVar4 >> 0x1f" identifier = (binary_expression "iVar4 >> 0x1f" identifier >> number_literal)) ;) (expression_statement "uVar7 = (uint)(0xa5e353f6 < uVar7);" (assignment_expression "uVar7 = (uint)(0xa5e353f6 < uVar7)" identifier = (call_expression "(uint)(0xa5e353f6 < uVar7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xa5e353f6 < uVar7)" ( (binary_expression "0xa5e353f6 < uVar7" number_literal < identifier) )))) ;) (expression_statement "iVar16 = 0x20c49b - iVar17;" (assignment_expression "iVar16 = 0x20c49b - iVar17" identifier = (binary_expression "0x20c49b - iVar17" number_literal - identifier)) ;) (if_statement "if ((SBORROW4(0x20c49b,iVar17) != SBORROW4(iVar16,uVar7)) == (int)(iVar16 - uVar7) < 0) {\n    lVar18 = FUN_00082b40();\n  }\n  else {\n    lVar18 = FUN_00082b40();\n  }" if (parenthesized_expression "((SBORROW4(0x20c49b,iVar17) != SBORROW4(iVar16,uVar7)) == (int)(iVar16 - uVar7) < 0)" ( (binary_expression "(SBORROW4(0x20c49b,iVar17) != SBORROW4(iVar16,uVar7)) == (int)(iVar16 - uVar7) < 0" (parenthesized_expression "(SBORROW4(0x20c49b,iVar17) != SBORROW4(iVar16,uVar7))" ( (binary_expression "SBORROW4(0x20c49b,iVar17) != SBORROW4(iVar16,uVar7)" (call_expression "SBORROW4(0x20c49b,iVar17)" identifier (argument_list "(0x20c49b,iVar17)" ( number_literal , identifier ))) != (call_expression "SBORROW4(iVar16,uVar7)" identifier (argument_list "(iVar16,uVar7)" ( identifier , identifier )))) )) == (binary_expression "(int)(iVar16 - uVar7) < 0" (cast_expression "(int)(iVar16 - uVar7)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar16 - uVar7)" ( (binary_expression "iVar16 - uVar7" identifier - identifier) ))) < number_literal)) )) (compound_statement "{\n    lVar18 = FUN_00082b40();\n  }" { (expression_statement "lVar18 = FUN_00082b40();" (assignment_expression "lVar18 = FUN_00082b40()" identifier = (call_expression "FUN_00082b40()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else {\n    lVar18 = FUN_00082b40();\n  }" else (compound_statement "{\n    lVar18 = FUN_00082b40();\n  }" { (expression_statement "lVar18 = FUN_00082b40();" (assignment_expression "lVar18 = FUN_00082b40()" identifier = (call_expression "FUN_00082b40()" identifier (argument_list "()" ( )))) ;) }))) (expression_statement "*(longlong *)(iVar2 + 0xb7c) = lVar18;" (assignment_expression "*(longlong *)(iVar2 + 0xb7c) = lVar18" (pointer_expression "*(longlong *)(iVar2 + 0xb7c)" * (cast_expression "(longlong *)(iVar2 + 0xb7c)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb7c)" ( (binary_expression "iVar2 + 0xb7c" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar15 < 0x20c49c) {\n    if ((int)(uint)(iVar4 != 0) <= -iVar5) {\n      iVar4 = 1;\n      iVar5 = 0;\n    }\n    lVar19 = FUN_00082b40();\n    iVar6 = iVar4;\n    iVar14 = iVar5;\n  }\n  else {\n    if ((int)(uint)(iVar6 != 0) <= -iVar14) {\n      iVar6 = 1;\n      iVar14 = 0;\n    }\n    lVar19 = FUN_00082b40();\n  }" if (parenthesized_expression "(iVar15 < 0x20c49c)" ( (binary_expression "iVar15 < 0x20c49c" identifier < number_literal) )) (compound_statement "{\n    if ((int)(uint)(iVar4 != 0) <= -iVar5) {\n      iVar4 = 1;\n      iVar5 = 0;\n    }\n    lVar19 = FUN_00082b40();\n    iVar6 = iVar4;\n    iVar14 = iVar5;\n  }" { (if_statement "if ((int)(uint)(iVar4 != 0) <= -iVar5) {\n      iVar4 = 1;\n      iVar5 = 0;\n    }" if (parenthesized_expression "((int)(uint)(iVar4 != 0) <= -iVar5)" ( (binary_expression "(int)(uint)(iVar4 != 0) <= -iVar5" (cast_expression "(int)(uint)(iVar4 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(iVar4 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )))) <= (unary_expression "-iVar5" - identifier)) )) (compound_statement "{\n      iVar4 = 1;\n      iVar5 = 0;\n    }" { (expression_statement "iVar4 = 1;" (assignment_expression "iVar4 = 1" identifier = number_literal) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) })) (expression_statement "lVar19 = FUN_00082b40();" (assignment_expression "lVar19 = FUN_00082b40()" identifier = (call_expression "FUN_00082b40()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar6 = iVar4;" (assignment_expression "iVar6 = iVar4" identifier = identifier) ;) (expression_statement "iVar14 = iVar5;" (assignment_expression "iVar14 = iVar5" identifier = identifier) ;) }) (else_clause "else {\n    if ((int)(uint)(iVar6 != 0) <= -iVar14) {\n      iVar6 = 1;\n      iVar14 = 0;\n    }\n    lVar19 = FUN_00082b40();\n  }" else (compound_statement "{\n    if ((int)(uint)(iVar6 != 0) <= -iVar14) {\n      iVar6 = 1;\n      iVar14 = 0;\n    }\n    lVar19 = FUN_00082b40();\n  }" { (if_statement "if ((int)(uint)(iVar6 != 0) <= -iVar14) {\n      iVar6 = 1;\n      iVar14 = 0;\n    }" if (parenthesized_expression "((int)(uint)(iVar6 != 0) <= -iVar14)" ( (binary_expression "(int)(uint)(iVar6 != 0) <= -iVar14" (cast_expression "(int)(uint)(iVar6 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(iVar6 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )))) <= (unary_expression "-iVar14" - identifier)) )) (compound_statement "{\n      iVar6 = 1;\n      iVar14 = 0;\n    }" { (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" identifier = number_literal) ;) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) })) (expression_statement "lVar19 = FUN_00082b40();" (assignment_expression "lVar19 = FUN_00082b40()" identifier = (call_expression "FUN_00082b40()" identifier (argument_list "()" ( )))) ;) }))) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) (expression_statement "*(longlong *)(iVar2 + 0xb84) = lVar19;" (assignment_expression "*(longlong *)(iVar2 + 0xb84) = lVar19" (pointer_expression "*(longlong *)(iVar2 + 0xb84)" * (cast_expression "(longlong *)(iVar2 + 0xb84)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb84)" ( (binary_expression "iVar2 + 0xb84" identifier + number_literal) )))) = identifier) ;) (if_statement "if (*(int *)(iVar2 + 0xb40) != local_88) {\n    *(int *)(iVar2 + 0xb40) = local_88;\n    uVar7 = *(uint *)(iVar2 + 0xb5c);\n    uVar13 = *(uint *)(iVar2 + 0xb54);\n    iVar15 = iVar2 + (local_c0 % 6) * 8;\n    *(uint *)(iVar15 + 0xbec) =\n         *(int *)(iVar2 + 0xb60) + *(int *)(iVar2 + 0xb58) +\n         (uint)CARRY4(uVar7,*(uint *)(iVar2 + 0xb54));\n    *(uint *)(iVar15 + 0xbe8) = uVar7 + uVar13;\n    *(undefined4 *)(iVar15 + 0xc1c) = local_84[0];\n    *(int *)(iVar15 + 0xc18) = local_88;\n    iVar17 = *(int *)(iVar2 + 0xc48) + 1;\n    *(int *)(iVar2 + 0xc48) = iVar17;\n    if (iVar17 == 1) {\n      bVar3 = true;\n      *(longlong *)(iVar2 + 0xb64) = lVar18 + lVar19;\n    }\n    else {\n      iVar16 = 0;\n      if (5 < iVar17) {\n        iVar16 = iVar17 % 6;\n      }\n      iVar14 = *(int *)(iVar2 + 0xc1c + iVar16 * 8);\n      iVar17 = *(int *)(iVar2 + 0xc18 + iVar16 * 8);\n      iVar6 = FUN_0001ac30();\n      if (iVar6 == 0) {\n        iVar6 = 1;\n      }\n      puVar1 = (uint *)(iVar2 + 0xbe8 + iVar16 * 8);\n      uVar7 = *(uint *)(iVar15 + 0xbe8) - *puVar1;\n      iVar15 = (*(int *)(iVar15 + 0xbec) - *(int *)(iVar2 + 0xbec + iVar16 * 8)) -\n               (uint)(*(uint *)(iVar15 + 0xbe8) < *puVar1);\n      if (-iVar15 < (int)(uint)(0x418937 < uVar7)) {\n        bVar3 = true;\n        *(longlong *)(iVar2 + 0xb64) =\n             (longlong)\n             ROUND((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))\n        ;\n        iVar6 = iVar17;\n      }\n      else {\n        iVar14 = iVar6 >> 0x1f;\n        uVar20 = FUN_00082b40();\n        bVar3 = true;\n        *(undefined8 *)(iVar2 + 0xb64) = uVar20;\n      }\n    }\n  }" if (parenthesized_expression "(*(int *)(iVar2 + 0xb40) != local_88)" ( (binary_expression "*(int *)(iVar2 + 0xb40) != local_88" (pointer_expression "*(int *)(iVar2 + 0xb40)" * (cast_expression "(int *)(iVar2 + 0xb40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb40)" ( (binary_expression "iVar2 + 0xb40" identifier + number_literal) )))) != identifier) )) (compound_statement "{\n    *(int *)(iVar2 + 0xb40) = local_88;\n    uVar7 = *(uint *)(iVar2 + 0xb5c);\n    uVar13 = *(uint *)(iVar2 + 0xb54);\n    iVar15 = iVar2 + (local_c0 % 6) * 8;\n    *(uint *)(iVar15 + 0xbec) =\n         *(int *)(iVar2 + 0xb60) + *(int *)(iVar2 + 0xb58) +\n         (uint)CARRY4(uVar7,*(uint *)(iVar2 + 0xb54));\n    *(uint *)(iVar15 + 0xbe8) = uVar7 + uVar13;\n    *(undefined4 *)(iVar15 + 0xc1c) = local_84[0];\n    *(int *)(iVar15 + 0xc18) = local_88;\n    iVar17 = *(int *)(iVar2 + 0xc48) + 1;\n    *(int *)(iVar2 + 0xc48) = iVar17;\n    if (iVar17 == 1) {\n      bVar3 = true;\n      *(longlong *)(iVar2 + 0xb64) = lVar18 + lVar19;\n    }\n    else {\n      iVar16 = 0;\n      if (5 < iVar17) {\n        iVar16 = iVar17 % 6;\n      }\n      iVar14 = *(int *)(iVar2 + 0xc1c + iVar16 * 8);\n      iVar17 = *(int *)(iVar2 + 0xc18 + iVar16 * 8);\n      iVar6 = FUN_0001ac30();\n      if (iVar6 == 0) {\n        iVar6 = 1;\n      }\n      puVar1 = (uint *)(iVar2 + 0xbe8 + iVar16 * 8);\n      uVar7 = *(uint *)(iVar15 + 0xbe8) - *puVar1;\n      iVar15 = (*(int *)(iVar15 + 0xbec) - *(int *)(iVar2 + 0xbec + iVar16 * 8)) -\n               (uint)(*(uint *)(iVar15 + 0xbe8) < *puVar1);\n      if (-iVar15 < (int)(uint)(0x418937 < uVar7)) {\n        bVar3 = true;\n        *(longlong *)(iVar2 + 0xb64) =\n             (longlong)\n             ROUND((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))\n        ;\n        iVar6 = iVar17;\n      }\n      else {\n        iVar14 = iVar6 >> 0x1f;\n        uVar20 = FUN_00082b40();\n        bVar3 = true;\n        *(undefined8 *)(iVar2 + 0xb64) = uVar20;\n      }\n    }\n  }" { (expression_statement "*(int *)(iVar2 + 0xb40) = local_88;" (assignment_expression "*(int *)(iVar2 + 0xb40) = local_88" (pointer_expression "*(int *)(iVar2 + 0xb40)" * (cast_expression "(int *)(iVar2 + 0xb40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb40)" ( (binary_expression "iVar2 + 0xb40" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar7 = *(uint *)(iVar2 + 0xb5c);" (assignment_expression "uVar7 = *(uint *)(iVar2 + 0xb5c)" identifier = (pointer_expression "*(uint *)(iVar2 + 0xb5c)" * (cast_expression "(uint *)(iVar2 + 0xb5c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb5c)" ( (binary_expression "iVar2 + 0xb5c" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = *(uint *)(iVar2 + 0xb54);" (assignment_expression "uVar13 = *(uint *)(iVar2 + 0xb54)" identifier = (pointer_expression "*(uint *)(iVar2 + 0xb54)" * (cast_expression "(uint *)(iVar2 + 0xb54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb54)" ( (binary_expression "iVar2 + 0xb54" identifier + number_literal) ))))) ;) (expression_statement "iVar15 = iVar2 + (local_c0 % 6) * 8;" (assignment_expression "iVar15 = iVar2 + (local_c0 % 6) * 8" identifier = (binary_expression "iVar2 + (local_c0 % 6) * 8" identifier + (binary_expression "(local_c0 % 6) * 8" (parenthesized_expression "(local_c0 % 6)" ( (binary_expression "local_c0 % 6" identifier % number_literal) )) * number_literal))) ;) (expression_statement "*(uint *)(iVar15 + 0xbec) =\n         *(int *)(iVar2 + 0xb60) + *(int *)(iVar2 + 0xb58) +\n         (uint)CARRY4(uVar7,*(uint *)(iVar2 + 0xb54));" (assignment_expression "*(uint *)(iVar15 + 0xbec) =\n         *(int *)(iVar2 + 0xb60) + *(int *)(iVar2 + 0xb58) +\n         (uint)CARRY4(uVar7,*(uint *)(iVar2 + 0xb54))" (pointer_expression "*(uint *)(iVar15 + 0xbec)" * (cast_expression "(uint *)(iVar15 + 0xbec)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0xbec)" ( (binary_expression "iVar15 + 0xbec" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar2 + 0xb60) + *(int *)(iVar2 + 0xb58) +\n         (uint)CARRY4(uVar7,*(uint *)(iVar2 + 0xb54))" (binary_expression "*(int *)(iVar2 + 0xb60) + *(int *)(iVar2 + 0xb58)" (pointer_expression "*(int *)(iVar2 + 0xb60)" * (cast_expression "(int *)(iVar2 + 0xb60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb60)" ( (binary_expression "iVar2 + 0xb60" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar2 + 0xb58)" * (cast_expression "(int *)(iVar2 + 0xb58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb58)" ( (binary_expression "iVar2 + 0xb58" identifier + number_literal) ))))) + (cast_expression "(uint)CARRY4(uVar7,*(uint *)(iVar2 + 0xb54))" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar7,*(uint *)(iVar2 + 0xb54))" identifier (argument_list "(uVar7,*(uint *)(iVar2 + 0xb54))" ( identifier , (pointer_expression "*(uint *)(iVar2 + 0xb54)" * (cast_expression "(uint *)(iVar2 + 0xb54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb54)" ( (binary_expression "iVar2 + 0xb54" identifier + number_literal) )))) )))))) ;) (expression_statement "*(uint *)(iVar15 + 0xbe8) = uVar7 + uVar13;" (assignment_expression "*(uint *)(iVar15 + 0xbe8) = uVar7 + uVar13" (pointer_expression "*(uint *)(iVar15 + 0xbe8)" * (cast_expression "(uint *)(iVar15 + 0xbe8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0xbe8)" ( (binary_expression "iVar15 + 0xbe8" identifier + number_literal) )))) = (binary_expression "uVar7 + uVar13" identifier + identifier)) ;) (expression_statement "*(undefined4 *)(iVar15 + 0xc1c) = local_84[0];" (assignment_expression "*(undefined4 *)(iVar15 + 0xc1c) = local_84[0]" (pointer_expression "*(undefined4 *)(iVar15 + 0xc1c)" * (cast_expression "(undefined4 *)(iVar15 + 0xc1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0xc1c)" ( (binary_expression "iVar15 + 0xc1c" identifier + number_literal) )))) = (subscript_expression "local_84[0]" identifier [ number_literal ])) ;) (expression_statement "*(int *)(iVar15 + 0xc18) = local_88;" (assignment_expression "*(int *)(iVar15 + 0xc18) = local_88" (pointer_expression "*(int *)(iVar15 + 0xc18)" * (cast_expression "(int *)(iVar15 + 0xc18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0xc18)" ( (binary_expression "iVar15 + 0xc18" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar17 = *(int *)(iVar2 + 0xc48) + 1;" (assignment_expression "iVar17 = *(int *)(iVar2 + 0xc48) + 1" identifier = (binary_expression "*(int *)(iVar2 + 0xc48) + 1" (pointer_expression "*(int *)(iVar2 + 0xc48)" * (cast_expression "(int *)(iVar2 + 0xc48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xc48)" ( (binary_expression "iVar2 + 0xc48" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(iVar2 + 0xc48) = iVar17;" (assignment_expression "*(int *)(iVar2 + 0xc48) = iVar17" (pointer_expression "*(int *)(iVar2 + 0xc48)" * (cast_expression "(int *)(iVar2 + 0xc48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xc48)" ( (binary_expression "iVar2 + 0xc48" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar17 == 1) {\n      bVar3 = true;\n      *(longlong *)(iVar2 + 0xb64) = lVar18 + lVar19;\n    }\n    else {\n      iVar16 = 0;\n      if (5 < iVar17) {\n        iVar16 = iVar17 % 6;\n      }\n      iVar14 = *(int *)(iVar2 + 0xc1c + iVar16 * 8);\n      iVar17 = *(int *)(iVar2 + 0xc18 + iVar16 * 8);\n      iVar6 = FUN_0001ac30();\n      if (iVar6 == 0) {\n        iVar6 = 1;\n      }\n      puVar1 = (uint *)(iVar2 + 0xbe8 + iVar16 * 8);\n      uVar7 = *(uint *)(iVar15 + 0xbe8) - *puVar1;\n      iVar15 = (*(int *)(iVar15 + 0xbec) - *(int *)(iVar2 + 0xbec + iVar16 * 8)) -\n               (uint)(*(uint *)(iVar15 + 0xbe8) < *puVar1);\n      if (-iVar15 < (int)(uint)(0x418937 < uVar7)) {\n        bVar3 = true;\n        *(longlong *)(iVar2 + 0xb64) =\n             (longlong)\n             ROUND((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))\n        ;\n        iVar6 = iVar17;\n      }\n      else {\n        iVar14 = iVar6 >> 0x1f;\n        uVar20 = FUN_00082b40();\n        bVar3 = true;\n        *(undefined8 *)(iVar2 + 0xb64) = uVar20;\n      }\n    }" if (parenthesized_expression "(iVar17 == 1)" ( (binary_expression "iVar17 == 1" identifier == number_literal) )) (compound_statement "{\n      bVar3 = true;\n      *(longlong *)(iVar2 + 0xb64) = lVar18 + lVar19;\n    }" { (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) (expression_statement "*(longlong *)(iVar2 + 0xb64) = lVar18 + lVar19;" (assignment_expression "*(longlong *)(iVar2 + 0xb64) = lVar18 + lVar19" (pointer_expression "*(longlong *)(iVar2 + 0xb64)" * (cast_expression "(longlong *)(iVar2 + 0xb64)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb64)" ( (binary_expression "iVar2 + 0xb64" identifier + number_literal) )))) = (binary_expression "lVar18 + lVar19" identifier + identifier)) ;) }) (else_clause "else {\n      iVar16 = 0;\n      if (5 < iVar17) {\n        iVar16 = iVar17 % 6;\n      }\n      iVar14 = *(int *)(iVar2 + 0xc1c + iVar16 * 8);\n      iVar17 = *(int *)(iVar2 + 0xc18 + iVar16 * 8);\n      iVar6 = FUN_0001ac30();\n      if (iVar6 == 0) {\n        iVar6 = 1;\n      }\n      puVar1 = (uint *)(iVar2 + 0xbe8 + iVar16 * 8);\n      uVar7 = *(uint *)(iVar15 + 0xbe8) - *puVar1;\n      iVar15 = (*(int *)(iVar15 + 0xbec) - *(int *)(iVar2 + 0xbec + iVar16 * 8)) -\n               (uint)(*(uint *)(iVar15 + 0xbe8) < *puVar1);\n      if (-iVar15 < (int)(uint)(0x418937 < uVar7)) {\n        bVar3 = true;\n        *(longlong *)(iVar2 + 0xb64) =\n             (longlong)\n             ROUND((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))\n        ;\n        iVar6 = iVar17;\n      }\n      else {\n        iVar14 = iVar6 >> 0x1f;\n        uVar20 = FUN_00082b40();\n        bVar3 = true;\n        *(undefined8 *)(iVar2 + 0xb64) = uVar20;\n      }\n    }" else (compound_statement "{\n      iVar16 = 0;\n      if (5 < iVar17) {\n        iVar16 = iVar17 % 6;\n      }\n      iVar14 = *(int *)(iVar2 + 0xc1c + iVar16 * 8);\n      iVar17 = *(int *)(iVar2 + 0xc18 + iVar16 * 8);\n      iVar6 = FUN_0001ac30();\n      if (iVar6 == 0) {\n        iVar6 = 1;\n      }\n      puVar1 = (uint *)(iVar2 + 0xbe8 + iVar16 * 8);\n      uVar7 = *(uint *)(iVar15 + 0xbe8) - *puVar1;\n      iVar15 = (*(int *)(iVar15 + 0xbec) - *(int *)(iVar2 + 0xbec + iVar16 * 8)) -\n               (uint)(*(uint *)(iVar15 + 0xbe8) < *puVar1);\n      if (-iVar15 < (int)(uint)(0x418937 < uVar7)) {\n        bVar3 = true;\n        *(longlong *)(iVar2 + 0xb64) =\n             (longlong)\n             ROUND((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))\n        ;\n        iVar6 = iVar17;\n      }\n      else {\n        iVar14 = iVar6 >> 0x1f;\n        uVar20 = FUN_00082b40();\n        bVar3 = true;\n        *(undefined8 *)(iVar2 + 0xb64) = uVar20;\n      }\n    }" { (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (if_statement "if (5 < iVar17) {\n        iVar16 = iVar17 % 6;\n      }" if (parenthesized_expression "(5 < iVar17)" ( (binary_expression "5 < iVar17" number_literal < identifier) )) (compound_statement "{\n        iVar16 = iVar17 % 6;\n      }" { (expression_statement "iVar16 = iVar17 % 6;" (assignment_expression "iVar16 = iVar17 % 6" identifier = (binary_expression "iVar17 % 6" identifier % number_literal)) ;) })) (expression_statement "iVar14 = *(int *)(iVar2 + 0xc1c + iVar16 * 8);" (assignment_expression "iVar14 = *(int *)(iVar2 + 0xc1c + iVar16 * 8)" identifier = (pointer_expression "*(int *)(iVar2 + 0xc1c + iVar16 * 8)" * (cast_expression "(int *)(iVar2 + 0xc1c + iVar16 * 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xc1c + iVar16 * 8)" ( (binary_expression "iVar2 + 0xc1c + iVar16 * 8" (binary_expression "iVar2 + 0xc1c" identifier + number_literal) + (binary_expression "iVar16 * 8" identifier * number_literal)) ))))) ;) (expression_statement "iVar17 = *(int *)(iVar2 + 0xc18 + iVar16 * 8);" (assignment_expression "iVar17 = *(int *)(iVar2 + 0xc18 + iVar16 * 8)" identifier = (pointer_expression "*(int *)(iVar2 + 0xc18 + iVar16 * 8)" * (cast_expression "(int *)(iVar2 + 0xc18 + iVar16 * 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xc18 + iVar16 * 8)" ( (binary_expression "iVar2 + 0xc18 + iVar16 * 8" (binary_expression "iVar2 + 0xc18" identifier + number_literal) + (binary_expression "iVar16 * 8" identifier * number_literal)) ))))) ;) (expression_statement "iVar6 = FUN_0001ac30();" (assignment_expression "iVar6 = FUN_0001ac30()" identifier = (call_expression "FUN_0001ac30()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar6 == 0) {\n        iVar6 = 1;\n      }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar6 = 1;\n      }" { (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" identifier = number_literal) ;) })) (expression_statement "puVar1 = (uint *)(iVar2 + 0xbe8 + iVar16 * 8);" (assignment_expression "puVar1 = (uint *)(iVar2 + 0xbe8 + iVar16 * 8)" identifier = (cast_expression "(uint *)(iVar2 + 0xbe8 + iVar16 * 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xbe8 + iVar16 * 8)" ( (binary_expression "iVar2 + 0xbe8 + iVar16 * 8" (binary_expression "iVar2 + 0xbe8" identifier + number_literal) + (binary_expression "iVar16 * 8" identifier * number_literal)) )))) ;) (expression_statement "uVar7 = *(uint *)(iVar15 + 0xbe8) - *puVar1;" (assignment_expression "uVar7 = *(uint *)(iVar15 + 0xbe8) - *puVar1" identifier = (binary_expression "*(uint *)(iVar15 + 0xbe8) - *puVar1" (pointer_expression "*(uint *)(iVar15 + 0xbe8)" * (cast_expression "(uint *)(iVar15 + 0xbe8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0xbe8)" ( (binary_expression "iVar15 + 0xbe8" identifier + number_literal) )))) - (pointer_expression "*puVar1" * identifier))) ;) (expression_statement "iVar15 = (*(int *)(iVar15 + 0xbec) - *(int *)(iVar2 + 0xbec + iVar16 * 8)) -\n               (uint)(*(uint *)(iVar15 + 0xbe8) < *puVar1);" (assignment_expression "iVar15 = (*(int *)(iVar15 + 0xbec) - *(int *)(iVar2 + 0xbec + iVar16 * 8)) -\n               (uint)(*(uint *)(iVar15 + 0xbe8) < *puVar1)" identifier = (binary_expression "(*(int *)(iVar15 + 0xbec) - *(int *)(iVar2 + 0xbec + iVar16 * 8)) -\n               (uint)(*(uint *)(iVar15 + 0xbe8) < *puVar1)" (parenthesized_expression "(*(int *)(iVar15 + 0xbec) - *(int *)(iVar2 + 0xbec + iVar16 * 8))" ( (binary_expression "*(int *)(iVar15 + 0xbec) - *(int *)(iVar2 + 0xbec + iVar16 * 8)" (pointer_expression "*(int *)(iVar15 + 0xbec)" * (cast_expression "(int *)(iVar15 + 0xbec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0xbec)" ( (binary_expression "iVar15 + 0xbec" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar2 + 0xbec + iVar16 * 8)" * (cast_expression "(int *)(iVar2 + 0xbec + iVar16 * 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xbec + iVar16 * 8)" ( (binary_expression "iVar2 + 0xbec + iVar16 * 8" (binary_expression "iVar2 + 0xbec" identifier + number_literal) + (binary_expression "iVar16 * 8" identifier * number_literal)) ))))) )) - (call_expression "(uint)(*(uint *)(iVar15 + 0xbe8) < *puVar1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(iVar15 + 0xbe8) < *puVar1)" ( (binary_expression "*(uint *)(iVar15 + 0xbe8) < *puVar1" (pointer_expression "*(uint *)(iVar15 + 0xbe8)" * (cast_expression "(uint *)(iVar15 + 0xbe8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0xbe8)" ( (binary_expression "iVar15 + 0xbe8" identifier + number_literal) )))) < (pointer_expression "*puVar1" * identifier)) ))))) ;) (if_statement "if (-iVar15 < (int)(uint)(0x418937 < uVar7)) {\n        bVar3 = true;\n        *(longlong *)(iVar2 + 0xb64) =\n             (longlong)\n             ROUND((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))\n        ;\n        iVar6 = iVar17;\n      }\n      else {\n        iVar14 = iVar6 >> 0x1f;\n        uVar20 = FUN_00082b40();\n        bVar3 = true;\n        *(undefined8 *)(iVar2 + 0xb64) = uVar20;\n      }" if (parenthesized_expression "(-iVar15 < (int)(uint)(0x418937 < uVar7))" ( (binary_expression "-iVar15 < (int)(uint)(0x418937 < uVar7)" (unary_expression "-iVar15" - identifier) < (cast_expression "(int)(uint)(0x418937 < uVar7)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(0x418937 < uVar7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x418937 < uVar7)" ( (binary_expression "0x418937 < uVar7" number_literal < identifier) ))))) )) (compound_statement "{\n        bVar3 = true;\n        *(longlong *)(iVar2 + 0xb64) =\n             (longlong)\n             ROUND((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))\n        ;\n        iVar6 = iVar17;\n      }" { (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) (expression_statement "*(longlong *)(iVar2 + 0xb64) =\n             (longlong)\n             ROUND((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))\n        ;" (assignment_expression "*(longlong *)(iVar2 + 0xb64) =\n             (longlong)\n             ROUND((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))" (pointer_expression "*(longlong *)(iVar2 + 0xb64)" * (cast_expression "(longlong *)(iVar2 + 0xb64)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb64)" ( (binary_expression "iVar2 + 0xb64" identifier + number_literal) )))) = (cast_expression "(longlong)\n             ROUND((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))" ( (type_descriptor "longlong" type_identifier) ) (call_expression "ROUND((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))" identifier (argument_list "((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))" ( (binary_expression "(float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308))" (cast_expression "(float)CONCAT44(iVar15,uVar7)" ( (type_descriptor "float" primitive_type) ) (call_expression "CONCAT44(iVar15,uVar7)" identifier (argument_list "(iVar15,uVar7)" ( identifier , identifier )))) / (parenthesized_expression "((float)iVar6 / *(float *)(local_dc + -0x33308))" ( (binary_expression "(float)iVar6 / *(float *)(local_dc + -0x33308)" (cast_expression "(float)iVar6" ( (type_descriptor "float" primitive_type) ) identifier) / (pointer_expression "*(float *)(local_dc + -0x33308)" * (cast_expression "(float *)(local_dc + -0x33308)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_dc + -0x33308)" ( (binary_expression "local_dc + -0x33308" identifier + number_literal) ))))) ))) ))))) ;) (expression_statement "iVar6 = iVar17;" (assignment_expression "iVar6 = iVar17" identifier = identifier) ;) }) (else_clause "else {\n        iVar14 = iVar6 >> 0x1f;\n        uVar20 = FUN_00082b40();\n        bVar3 = true;\n        *(undefined8 *)(iVar2 + 0xb64) = uVar20;\n      }" else (compound_statement "{\n        iVar14 = iVar6 >> 0x1f;\n        uVar20 = FUN_00082b40();\n        bVar3 = true;\n        *(undefined8 *)(iVar2 + 0xb64) = uVar20;\n      }" { (expression_statement "iVar14 = iVar6 >> 0x1f;" (assignment_expression "iVar14 = iVar6 >> 0x1f" identifier = (binary_expression "iVar6 >> 0x1f" identifier >> number_literal)) ;) (expression_statement "uVar20 = FUN_00082b40();" (assignment_expression "uVar20 = FUN_00082b40()" identifier = (call_expression "FUN_00082b40()" identifier (argument_list "()" ( )))) ;) (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) (expression_statement "*(undefined8 *)(iVar2 + 0xb64) = uVar20;" (assignment_expression "*(undefined8 *)(iVar2 + 0xb64) = uVar20" (pointer_expression "*(undefined8 *)(iVar2 + 0xb64)" * (cast_expression "(undefined8 *)(iVar2 + 0xb64)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb64)" ( (binary_expression "iVar2 + 0xb64" identifier + number_literal) )))) = identifier) ;) }))) }))) })) (expression_statement "uVar7 = *(uint *)(iVar2 + 0xb74);" (assignment_expression "uVar7 = *(uint *)(iVar2 + 0xb74)" identifier = (pointer_expression "*(uint *)(iVar2 + 0xb74)" * (cast_expression "(uint *)(iVar2 + 0xb74)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb74)" ( (binary_expression "iVar2 + 0xb74" identifier + number_literal) ))))) ;) (if_statement "if ((uVar7 & 0x10) != 0) {\n    local_d8 = 0;\n    goto LAB_0001d1c8;\n  }" if (parenthesized_expression "((uVar7 & 0x10) != 0)" ( (binary_expression "(uVar7 & 0x10) != 0" (parenthesized_expression "(uVar7 & 0x10)" ( (binary_expression "uVar7 & 0x10" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    local_d8 = 0;\n    goto LAB_0001d1c8;\n  }" { (expression_statement "local_d8 = 0;" (assignment_expression "local_d8 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0001d1c8;" goto statement_identifier ;) })) (if_statement "if (*(int *)(iVar2 + 0x5f8) == 0) {\n    if (*(int *)(iVar2 + 0x5f4) == 0) {\n      local_d8 = 0;\n      if (!bVar3) goto LAB_0001d1c8;\n      if ((uVar7 & 0x80) == 0) {\n        if (*(int *)(iVar2 + 0xebc) != 0 || *(int *)(iVar2 + 0xeb8) != 0) {\n          curl_mfprintf();\n        }\n        curl_mfprintf();\n        uVar7 = *(uint *)(iVar2 + 0xb74) | 0x80;\n        *(uint *)(iVar2 + 0xb74) = uVar7;\n      }\n      if (((uVar7 & 0x20) == 0) ||\n         ((int)(uint)(*(int *)(iVar2 + 0xb84) != 0) <= -*(int *)(iVar2 + 0xb88))) {\n        if (((uVar7 & 0x40) != 0) &&\n           (-*(int *)(iVar2 + 0xb80) < (int)(uint)(*(int *)(iVar2 + 0xb7c) != 0))) {\n          uVar20 = 0;\n          goto LAB_0001d331;\n        }\n        uVar20 = 0;\n        uVar21 = 0;\n      }\n      else {\n        uVar13 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n        FUN_00082b40();\n        if (-iVar17 < (int)(uint)(10000 < uVar13)) {\n          FUN_00082b40();\n          uVar20 = FUN_00082b40();\n        }\n        else {\n          uVar20 = 0;\n          if (-iVar17 < (int)(uint)(uVar13 != 0)) {\n            uVar20 = FUN_00082b40();\n          }\n        }\n        if (((uVar7 & 0x40) == 0) ||\n           ((int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80))) {\n          uVar21 = 0;\n        }\n        else {\nLAB_0001d331:\n          uVar7 = *(uint *)(iVar2 + 0xb44);\n          iVar17 = *(int *)(iVar2 + 0xb48);\n          FUN_00082b40();\n          if (-iVar17 < (int)(uint)(10000 < uVar7)) {\n            FUN_00082b40();\n            uVar21 = FUN_00082b40();\n          }\n          else {\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }\n        }\n      }\n      FUN_0001c490();\n      FUN_0001c490();\n      FUN_0001c490();\n      if ((*(uint *)(iVar2 + 0xb74) & 0x20) == 0) {\n        uVar7 = *(uint *)(iVar2 + 0xb5c);\n        iVar17 = *(int *)(iVar2 + 0xb60);\n      }\n      else {\n        uVar7 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n      }\n      uVar13 = *(uint *)(iVar2 + 0xb54);\n      iVar15 = *(int *)(iVar2 + 0xb58);\n      if ((*(uint *)(iVar2 + 0xb74) & 0x40) != 0) {\n        uVar13 = *(uint *)(iVar2 + 0xb44);\n        iVar15 = *(int *)(iVar2 + 0xb48);\n      }\n      iVar17 = iVar17 + iVar15 + (uint)CARRY4(uVar7,uVar13);\n      if (-iVar17 < (int)(uint)(10000 < uVar7 + uVar13)) {\n        FUN_00082b40();\n        uVar22 = FUN_00082b40();\n      }\n      else {\n        uVar22 = 0;\n        if (-iVar17 < (int)(uint)(uVar7 + uVar13 != 0)) {\n          uVar22 = FUN_00082b40();\n        }\n      }\n      FUN_0001c620();\n      uVar8 = FUN_0001c620();\n      uVar9 = FUN_0001c620();\n      uVar10 = FUN_0001c620();\n      uVar11 = FUN_0001c620();\n      uVar12 = FUN_0001c620();\n      curl_mfprintf(*(undefined4 *)(iVar2 + 0x584),local_dc + -0x3333c,uVar22,uVar12,uVar21,uVar11,\n                    uVar20,uVar10,uVar9,uVar8,local_38,local_2e,local_42);\n      fflush(*(FILE **)(iVar2 + 0x584));\n      goto LAB_0001d1c8;\n    }\n    uVar8 = 1;\n    FUN_0004a0b0();\n    local_d8 = (**(code **)(iVar2 + 0x5f4))\n                         (*(undefined4 *)(iVar2 + 0x62c),(double)*(longlong *)(iVar2 + 0xb44),\n                          (double)*(longlong *)(iVar2 + 0xb54),(double)*(longlong *)(iVar2 + 0xb4c),\n                          (double)*(longlong *)(iVar2 + 0xb5c),uVar8);\n  }\n  else {\n    uVar8 = 1;\n    FUN_0004a0b0();\n    local_d8 = (**(code **)(iVar2 + 0x5f8))\n                         (*(undefined4 *)(iVar2 + 0x62c),*(undefined4 *)(iVar2 + 0xb44),\n                          *(undefined4 *)(iVar2 + 0xb48),*(undefined4 *)(iVar2 + 0xb54),\n                          *(undefined4 *)(iVar2 + 0xb58),*(undefined4 *)(iVar2 + 0xb4c),\n                          *(undefined4 *)(iVar2 + 0xb50),*(undefined4 *)(iVar2 + 0xb5c),\n                          *(undefined4 *)(iVar2 + 0xb60),uVar8,iVar6,iVar14);\n  }" if (parenthesized_expression "(*(int *)(iVar2 + 0x5f8) == 0)" ( (binary_expression "*(int *)(iVar2 + 0x5f8) == 0" (pointer_expression "*(int *)(iVar2 + 0x5f8)" * (cast_expression "(int *)(iVar2 + 0x5f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x5f8)" ( (binary_expression "iVar2 + 0x5f8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (*(int *)(iVar2 + 0x5f4) == 0) {\n      local_d8 = 0;\n      if (!bVar3) goto LAB_0001d1c8;\n      if ((uVar7 & 0x80) == 0) {\n        if (*(int *)(iVar2 + 0xebc) != 0 || *(int *)(iVar2 + 0xeb8) != 0) {\n          curl_mfprintf();\n        }\n        curl_mfprintf();\n        uVar7 = *(uint *)(iVar2 + 0xb74) | 0x80;\n        *(uint *)(iVar2 + 0xb74) = uVar7;\n      }\n      if (((uVar7 & 0x20) == 0) ||\n         ((int)(uint)(*(int *)(iVar2 + 0xb84) != 0) <= -*(int *)(iVar2 + 0xb88))) {\n        if (((uVar7 & 0x40) != 0) &&\n           (-*(int *)(iVar2 + 0xb80) < (int)(uint)(*(int *)(iVar2 + 0xb7c) != 0))) {\n          uVar20 = 0;\n          goto LAB_0001d331;\n        }\n        uVar20 = 0;\n        uVar21 = 0;\n      }\n      else {\n        uVar13 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n        FUN_00082b40();\n        if (-iVar17 < (int)(uint)(10000 < uVar13)) {\n          FUN_00082b40();\n          uVar20 = FUN_00082b40();\n        }\n        else {\n          uVar20 = 0;\n          if (-iVar17 < (int)(uint)(uVar13 != 0)) {\n            uVar20 = FUN_00082b40();\n          }\n        }\n        if (((uVar7 & 0x40) == 0) ||\n           ((int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80))) {\n          uVar21 = 0;\n        }\n        else {\nLAB_0001d331:\n          uVar7 = *(uint *)(iVar2 + 0xb44);\n          iVar17 = *(int *)(iVar2 + 0xb48);\n          FUN_00082b40();\n          if (-iVar17 < (int)(uint)(10000 < uVar7)) {\n            FUN_00082b40();\n            uVar21 = FUN_00082b40();\n          }\n          else {\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }\n        }\n      }\n      FUN_0001c490();\n      FUN_0001c490();\n      FUN_0001c490();\n      if ((*(uint *)(iVar2 + 0xb74) & 0x20) == 0) {\n        uVar7 = *(uint *)(iVar2 + 0xb5c);\n        iVar17 = *(int *)(iVar2 + 0xb60);\n      }\n      else {\n        uVar7 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n      }\n      uVar13 = *(uint *)(iVar2 + 0xb54);\n      iVar15 = *(int *)(iVar2 + 0xb58);\n      if ((*(uint *)(iVar2 + 0xb74) & 0x40) != 0) {\n        uVar13 = *(uint *)(iVar2 + 0xb44);\n        iVar15 = *(int *)(iVar2 + 0xb48);\n      }\n      iVar17 = iVar17 + iVar15 + (uint)CARRY4(uVar7,uVar13);\n      if (-iVar17 < (int)(uint)(10000 < uVar7 + uVar13)) {\n        FUN_00082b40();\n        uVar22 = FUN_00082b40();\n      }\n      else {\n        uVar22 = 0;\n        if (-iVar17 < (int)(uint)(uVar7 + uVar13 != 0)) {\n          uVar22 = FUN_00082b40();\n        }\n      }\n      FUN_0001c620();\n      uVar8 = FUN_0001c620();\n      uVar9 = FUN_0001c620();\n      uVar10 = FUN_0001c620();\n      uVar11 = FUN_0001c620();\n      uVar12 = FUN_0001c620();\n      curl_mfprintf(*(undefined4 *)(iVar2 + 0x584),local_dc + -0x3333c,uVar22,uVar12,uVar21,uVar11,\n                    uVar20,uVar10,uVar9,uVar8,local_38,local_2e,local_42);\n      fflush(*(FILE **)(iVar2 + 0x584));\n      goto LAB_0001d1c8;\n    }\n    uVar8 = 1;\n    FUN_0004a0b0();\n    local_d8 = (**(code **)(iVar2 + 0x5f4))\n                         (*(undefined4 *)(iVar2 + 0x62c),(double)*(longlong *)(iVar2 + 0xb44),\n                          (double)*(longlong *)(iVar2 + 0xb54),(double)*(longlong *)(iVar2 + 0xb4c),\n                          (double)*(longlong *)(iVar2 + 0xb5c),uVar8);\n  }" { (if_statement "if (*(int *)(iVar2 + 0x5f4) == 0) {\n      local_d8 = 0;\n      if (!bVar3) goto LAB_0001d1c8;\n      if ((uVar7 & 0x80) == 0) {\n        if (*(int *)(iVar2 + 0xebc) != 0 || *(int *)(iVar2 + 0xeb8) != 0) {\n          curl_mfprintf();\n        }\n        curl_mfprintf();\n        uVar7 = *(uint *)(iVar2 + 0xb74) | 0x80;\n        *(uint *)(iVar2 + 0xb74) = uVar7;\n      }\n      if (((uVar7 & 0x20) == 0) ||\n         ((int)(uint)(*(int *)(iVar2 + 0xb84) != 0) <= -*(int *)(iVar2 + 0xb88))) {\n        if (((uVar7 & 0x40) != 0) &&\n           (-*(int *)(iVar2 + 0xb80) < (int)(uint)(*(int *)(iVar2 + 0xb7c) != 0))) {\n          uVar20 = 0;\n          goto LAB_0001d331;\n        }\n        uVar20 = 0;\n        uVar21 = 0;\n      }\n      else {\n        uVar13 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n        FUN_00082b40();\n        if (-iVar17 < (int)(uint)(10000 < uVar13)) {\n          FUN_00082b40();\n          uVar20 = FUN_00082b40();\n        }\n        else {\n          uVar20 = 0;\n          if (-iVar17 < (int)(uint)(uVar13 != 0)) {\n            uVar20 = FUN_00082b40();\n          }\n        }\n        if (((uVar7 & 0x40) == 0) ||\n           ((int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80))) {\n          uVar21 = 0;\n        }\n        else {\nLAB_0001d331:\n          uVar7 = *(uint *)(iVar2 + 0xb44);\n          iVar17 = *(int *)(iVar2 + 0xb48);\n          FUN_00082b40();\n          if (-iVar17 < (int)(uint)(10000 < uVar7)) {\n            FUN_00082b40();\n            uVar21 = FUN_00082b40();\n          }\n          else {\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }\n        }\n      }\n      FUN_0001c490();\n      FUN_0001c490();\n      FUN_0001c490();\n      if ((*(uint *)(iVar2 + 0xb74) & 0x20) == 0) {\n        uVar7 = *(uint *)(iVar2 + 0xb5c);\n        iVar17 = *(int *)(iVar2 + 0xb60);\n      }\n      else {\n        uVar7 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n      }\n      uVar13 = *(uint *)(iVar2 + 0xb54);\n      iVar15 = *(int *)(iVar2 + 0xb58);\n      if ((*(uint *)(iVar2 + 0xb74) & 0x40) != 0) {\n        uVar13 = *(uint *)(iVar2 + 0xb44);\n        iVar15 = *(int *)(iVar2 + 0xb48);\n      }\n      iVar17 = iVar17 + iVar15 + (uint)CARRY4(uVar7,uVar13);\n      if (-iVar17 < (int)(uint)(10000 < uVar7 + uVar13)) {\n        FUN_00082b40();\n        uVar22 = FUN_00082b40();\n      }\n      else {\n        uVar22 = 0;\n        if (-iVar17 < (int)(uint)(uVar7 + uVar13 != 0)) {\n          uVar22 = FUN_00082b40();\n        }\n      }\n      FUN_0001c620();\n      uVar8 = FUN_0001c620();\n      uVar9 = FUN_0001c620();\n      uVar10 = FUN_0001c620();\n      uVar11 = FUN_0001c620();\n      uVar12 = FUN_0001c620();\n      curl_mfprintf(*(undefined4 *)(iVar2 + 0x584),local_dc + -0x3333c,uVar22,uVar12,uVar21,uVar11,\n                    uVar20,uVar10,uVar9,uVar8,local_38,local_2e,local_42);\n      fflush(*(FILE **)(iVar2 + 0x584));\n      goto LAB_0001d1c8;\n    }" if (parenthesized_expression "(*(int *)(iVar2 + 0x5f4) == 0)" ( (binary_expression "*(int *)(iVar2 + 0x5f4) == 0" (pointer_expression "*(int *)(iVar2 + 0x5f4)" * (cast_expression "(int *)(iVar2 + 0x5f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x5f4)" ( (binary_expression "iVar2 + 0x5f4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      local_d8 = 0;\n      if (!bVar3) goto LAB_0001d1c8;\n      if ((uVar7 & 0x80) == 0) {\n        if (*(int *)(iVar2 + 0xebc) != 0 || *(int *)(iVar2 + 0xeb8) != 0) {\n          curl_mfprintf();\n        }\n        curl_mfprintf();\n        uVar7 = *(uint *)(iVar2 + 0xb74) | 0x80;\n        *(uint *)(iVar2 + 0xb74) = uVar7;\n      }\n      if (((uVar7 & 0x20) == 0) ||\n         ((int)(uint)(*(int *)(iVar2 + 0xb84) != 0) <= -*(int *)(iVar2 + 0xb88))) {\n        if (((uVar7 & 0x40) != 0) &&\n           (-*(int *)(iVar2 + 0xb80) < (int)(uint)(*(int *)(iVar2 + 0xb7c) != 0))) {\n          uVar20 = 0;\n          goto LAB_0001d331;\n        }\n        uVar20 = 0;\n        uVar21 = 0;\n      }\n      else {\n        uVar13 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n        FUN_00082b40();\n        if (-iVar17 < (int)(uint)(10000 < uVar13)) {\n          FUN_00082b40();\n          uVar20 = FUN_00082b40();\n        }\n        else {\n          uVar20 = 0;\n          if (-iVar17 < (int)(uint)(uVar13 != 0)) {\n            uVar20 = FUN_00082b40();\n          }\n        }\n        if (((uVar7 & 0x40) == 0) ||\n           ((int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80))) {\n          uVar21 = 0;\n        }\n        else {\nLAB_0001d331:\n          uVar7 = *(uint *)(iVar2 + 0xb44);\n          iVar17 = *(int *)(iVar2 + 0xb48);\n          FUN_00082b40();\n          if (-iVar17 < (int)(uint)(10000 < uVar7)) {\n            FUN_00082b40();\n            uVar21 = FUN_00082b40();\n          }\n          else {\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }\n        }\n      }\n      FUN_0001c490();\n      FUN_0001c490();\n      FUN_0001c490();\n      if ((*(uint *)(iVar2 + 0xb74) & 0x20) == 0) {\n        uVar7 = *(uint *)(iVar2 + 0xb5c);\n        iVar17 = *(int *)(iVar2 + 0xb60);\n      }\n      else {\n        uVar7 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n      }\n      uVar13 = *(uint *)(iVar2 + 0xb54);\n      iVar15 = *(int *)(iVar2 + 0xb58);\n      if ((*(uint *)(iVar2 + 0xb74) & 0x40) != 0) {\n        uVar13 = *(uint *)(iVar2 + 0xb44);\n        iVar15 = *(int *)(iVar2 + 0xb48);\n      }\n      iVar17 = iVar17 + iVar15 + (uint)CARRY4(uVar7,uVar13);\n      if (-iVar17 < (int)(uint)(10000 < uVar7 + uVar13)) {\n        FUN_00082b40();\n        uVar22 = FUN_00082b40();\n      }\n      else {\n        uVar22 = 0;\n        if (-iVar17 < (int)(uint)(uVar7 + uVar13 != 0)) {\n          uVar22 = FUN_00082b40();\n        }\n      }\n      FUN_0001c620();\n      uVar8 = FUN_0001c620();\n      uVar9 = FUN_0001c620();\n      uVar10 = FUN_0001c620();\n      uVar11 = FUN_0001c620();\n      uVar12 = FUN_0001c620();\n      curl_mfprintf(*(undefined4 *)(iVar2 + 0x584),local_dc + -0x3333c,uVar22,uVar12,uVar21,uVar11,\n                    uVar20,uVar10,uVar9,uVar8,local_38,local_2e,local_42);\n      fflush(*(FILE **)(iVar2 + 0x584));\n      goto LAB_0001d1c8;\n    }" { (expression_statement "local_d8 = 0;" (assignment_expression "local_d8 = 0" identifier = number_literal) ;) (if_statement "if (!bVar3) goto LAB_0001d1c8;" if (parenthesized_expression "(!bVar3)" ( (unary_expression "!bVar3" ! identifier) )) (goto_statement "goto LAB_0001d1c8;" goto statement_identifier ;)) (if_statement "if ((uVar7 & 0x80) == 0) {\n        if (*(int *)(iVar2 + 0xebc) != 0 || *(int *)(iVar2 + 0xeb8) != 0) {\n          curl_mfprintf();\n        }\n        curl_mfprintf();\n        uVar7 = *(uint *)(iVar2 + 0xb74) | 0x80;\n        *(uint *)(iVar2 + 0xb74) = uVar7;\n      }" if (parenthesized_expression "((uVar7 & 0x80) == 0)" ( (binary_expression "(uVar7 & 0x80) == 0" (parenthesized_expression "(uVar7 & 0x80)" ( (binary_expression "uVar7 & 0x80" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        if (*(int *)(iVar2 + 0xebc) != 0 || *(int *)(iVar2 + 0xeb8) != 0) {\n          curl_mfprintf();\n        }\n        curl_mfprintf();\n        uVar7 = *(uint *)(iVar2 + 0xb74) | 0x80;\n        *(uint *)(iVar2 + 0xb74) = uVar7;\n      }" { (if_statement "if (*(int *)(iVar2 + 0xebc) != 0 || *(int *)(iVar2 + 0xeb8) != 0) {\n          curl_mfprintf();\n        }" if (parenthesized_expression "(*(int *)(iVar2 + 0xebc) != 0 || *(int *)(iVar2 + 0xeb8) != 0)" ( (binary_expression "*(int *)(iVar2 + 0xebc) != 0 || *(int *)(iVar2 + 0xeb8) != 0" (binary_expression "*(int *)(iVar2 + 0xebc) != 0" (pointer_expression "*(int *)(iVar2 + 0xebc)" * (cast_expression "(int *)(iVar2 + 0xebc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xebc)" ( (binary_expression "iVar2 + 0xebc" identifier + number_literal) )))) != number_literal) || (binary_expression "*(int *)(iVar2 + 0xeb8) != 0" (pointer_expression "*(int *)(iVar2 + 0xeb8)" * (cast_expression "(int *)(iVar2 + 0xeb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xeb8)" ( (binary_expression "iVar2 + 0xeb8" identifier + number_literal) )))) != number_literal)) )) (compound_statement "{\n          curl_mfprintf();\n        }" { (expression_statement "curl_mfprintf();" (call_expression "curl_mfprintf()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "curl_mfprintf();" (call_expression "curl_mfprintf()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar7 = *(uint *)(iVar2 + 0xb74) | 0x80;" (assignment_expression "uVar7 = *(uint *)(iVar2 + 0xb74) | 0x80" identifier = (binary_expression "*(uint *)(iVar2 + 0xb74) | 0x80" (pointer_expression "*(uint *)(iVar2 + 0xb74)" * (cast_expression "(uint *)(iVar2 + 0xb74)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb74)" ( (binary_expression "iVar2 + 0xb74" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "*(uint *)(iVar2 + 0xb74) = uVar7;" (assignment_expression "*(uint *)(iVar2 + 0xb74) = uVar7" (pointer_expression "*(uint *)(iVar2 + 0xb74)" * (cast_expression "(uint *)(iVar2 + 0xb74)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb74)" ( (binary_expression "iVar2 + 0xb74" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if (((uVar7 & 0x20) == 0) ||\n         ((int)(uint)(*(int *)(iVar2 + 0xb84) != 0) <= -*(int *)(iVar2 + 0xb88))) {\n        if (((uVar7 & 0x40) != 0) &&\n           (-*(int *)(iVar2 + 0xb80) < (int)(uint)(*(int *)(iVar2 + 0xb7c) != 0))) {\n          uVar20 = 0;\n          goto LAB_0001d331;\n        }\n        uVar20 = 0;\n        uVar21 = 0;\n      }\n      else {\n        uVar13 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n        FUN_00082b40();\n        if (-iVar17 < (int)(uint)(10000 < uVar13)) {\n          FUN_00082b40();\n          uVar20 = FUN_00082b40();\n        }\n        else {\n          uVar20 = 0;\n          if (-iVar17 < (int)(uint)(uVar13 != 0)) {\n            uVar20 = FUN_00082b40();\n          }\n        }\n        if (((uVar7 & 0x40) == 0) ||\n           ((int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80))) {\n          uVar21 = 0;\n        }\n        else {\nLAB_0001d331:\n          uVar7 = *(uint *)(iVar2 + 0xb44);\n          iVar17 = *(int *)(iVar2 + 0xb48);\n          FUN_00082b40();\n          if (-iVar17 < (int)(uint)(10000 < uVar7)) {\n            FUN_00082b40();\n            uVar21 = FUN_00082b40();\n          }\n          else {\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }\n        }\n      }" if (parenthesized_expression "(((uVar7 & 0x20) == 0) ||\n         ((int)(uint)(*(int *)(iVar2 + 0xb84) != 0) <= -*(int *)(iVar2 + 0xb88)))" ( (binary_expression "((uVar7 & 0x20) == 0) ||\n         ((int)(uint)(*(int *)(iVar2 + 0xb84) != 0) <= -*(int *)(iVar2 + 0xb88))" (parenthesized_expression "((uVar7 & 0x20) == 0)" ( (binary_expression "(uVar7 & 0x20) == 0" (parenthesized_expression "(uVar7 & 0x20)" ( (binary_expression "uVar7 & 0x20" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "((int)(uint)(*(int *)(iVar2 + 0xb84) != 0) <= -*(int *)(iVar2 + 0xb88))" ( (binary_expression "(int)(uint)(*(int *)(iVar2 + 0xb84) != 0) <= -*(int *)(iVar2 + 0xb88)" (cast_expression "(int)(uint)(*(int *)(iVar2 + 0xb84) != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(*(int *)(iVar2 + 0xb84) != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar2 + 0xb84) != 0)" ( (binary_expression "*(int *)(iVar2 + 0xb84) != 0" (pointer_expression "*(int *)(iVar2 + 0xb84)" * (cast_expression "(int *)(iVar2 + 0xb84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb84)" ( (binary_expression "iVar2 + 0xb84" identifier + number_literal) )))) != number_literal) )))) <= (unary_expression "-*(int *)(iVar2 + 0xb88)" - (pointer_expression "*(int *)(iVar2 + 0xb88)" * (cast_expression "(int *)(iVar2 + 0xb88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb88)" ( (binary_expression "iVar2 + 0xb88" identifier + number_literal) )))))) ))) )) (compound_statement "{\n        if (((uVar7 & 0x40) != 0) &&\n           (-*(int *)(iVar2 + 0xb80) < (int)(uint)(*(int *)(iVar2 + 0xb7c) != 0))) {\n          uVar20 = 0;\n          goto LAB_0001d331;\n        }\n        uVar20 = 0;\n        uVar21 = 0;\n      }" { (if_statement "if (((uVar7 & 0x40) != 0) &&\n           (-*(int *)(iVar2 + 0xb80) < (int)(uint)(*(int *)(iVar2 + 0xb7c) != 0))) {\n          uVar20 = 0;\n          goto LAB_0001d331;\n        }" if (parenthesized_expression "(((uVar7 & 0x40) != 0) &&\n           (-*(int *)(iVar2 + 0xb80) < (int)(uint)(*(int *)(iVar2 + 0xb7c) != 0)))" ( (binary_expression "((uVar7 & 0x40) != 0) &&\n           (-*(int *)(iVar2 + 0xb80) < (int)(uint)(*(int *)(iVar2 + 0xb7c) != 0))" (parenthesized_expression "((uVar7 & 0x40) != 0)" ( (binary_expression "(uVar7 & 0x40) != 0" (parenthesized_expression "(uVar7 & 0x40)" ( (binary_expression "uVar7 & 0x40" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "(-*(int *)(iVar2 + 0xb80) < (int)(uint)(*(int *)(iVar2 + 0xb7c) != 0))" ( (binary_expression "-*(int *)(iVar2 + 0xb80) < (int)(uint)(*(int *)(iVar2 + 0xb7c) != 0)" (unary_expression "-*(int *)(iVar2 + 0xb80)" - (pointer_expression "*(int *)(iVar2 + 0xb80)" * (cast_expression "(int *)(iVar2 + 0xb80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb80)" ( (binary_expression "iVar2 + 0xb80" identifier + number_literal) ))))) < (cast_expression "(int)(uint)(*(int *)(iVar2 + 0xb7c) != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(*(int *)(iVar2 + 0xb7c) != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar2 + 0xb7c) != 0)" ( (binary_expression "*(int *)(iVar2 + 0xb7c) != 0" (pointer_expression "*(int *)(iVar2 + 0xb7c)" * (cast_expression "(int *)(iVar2 + 0xb7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb7c)" ( (binary_expression "iVar2 + 0xb7c" identifier + number_literal) )))) != number_literal) ))))) ))) )) (compound_statement "{\n          uVar20 = 0;\n          goto LAB_0001d331;\n        }" { (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0001d331;" goto statement_identifier ;) })) (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" identifier = number_literal) ;) (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        uVar13 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n        FUN_00082b40();\n        if (-iVar17 < (int)(uint)(10000 < uVar13)) {\n          FUN_00082b40();\n          uVar20 = FUN_00082b40();\n        }\n        else {\n          uVar20 = 0;\n          if (-iVar17 < (int)(uint)(uVar13 != 0)) {\n            uVar20 = FUN_00082b40();\n          }\n        }\n        if (((uVar7 & 0x40) == 0) ||\n           ((int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80))) {\n          uVar21 = 0;\n        }\n        else {\nLAB_0001d331:\n          uVar7 = *(uint *)(iVar2 + 0xb44);\n          iVar17 = *(int *)(iVar2 + 0xb48);\n          FUN_00082b40();\n          if (-iVar17 < (int)(uint)(10000 < uVar7)) {\n            FUN_00082b40();\n            uVar21 = FUN_00082b40();\n          }\n          else {\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }\n        }\n      }" else (compound_statement "{\n        uVar13 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n        FUN_00082b40();\n        if (-iVar17 < (int)(uint)(10000 < uVar13)) {\n          FUN_00082b40();\n          uVar20 = FUN_00082b40();\n        }\n        else {\n          uVar20 = 0;\n          if (-iVar17 < (int)(uint)(uVar13 != 0)) {\n            uVar20 = FUN_00082b40();\n          }\n        }\n        if (((uVar7 & 0x40) == 0) ||\n           ((int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80))) {\n          uVar21 = 0;\n        }\n        else {\nLAB_0001d331:\n          uVar7 = *(uint *)(iVar2 + 0xb44);\n          iVar17 = *(int *)(iVar2 + 0xb48);\n          FUN_00082b40();\n          if (-iVar17 < (int)(uint)(10000 < uVar7)) {\n            FUN_00082b40();\n            uVar21 = FUN_00082b40();\n          }\n          else {\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }\n        }\n      }" { (expression_statement "uVar13 = *(uint *)(iVar2 + 0xb4c);" (assignment_expression "uVar13 = *(uint *)(iVar2 + 0xb4c)" identifier = (pointer_expression "*(uint *)(iVar2 + 0xb4c)" * (cast_expression "(uint *)(iVar2 + 0xb4c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb4c)" ( (binary_expression "iVar2 + 0xb4c" identifier + number_literal) ))))) ;) (expression_statement "iVar17 = *(int *)(iVar2 + 0xb50);" (assignment_expression "iVar17 = *(int *)(iVar2 + 0xb50)" identifier = (pointer_expression "*(int *)(iVar2 + 0xb50)" * (cast_expression "(int *)(iVar2 + 0xb50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb50)" ( (binary_expression "iVar2 + 0xb50" identifier + number_literal) ))))) ;) (expression_statement "FUN_00082b40();" (call_expression "FUN_00082b40()" identifier (argument_list "()" ( ))) ;) (if_statement "if (-iVar17 < (int)(uint)(10000 < uVar13)) {\n          FUN_00082b40();\n          uVar20 = FUN_00082b40();\n        }\n        else {\n          uVar20 = 0;\n          if (-iVar17 < (int)(uint)(uVar13 != 0)) {\n            uVar20 = FUN_00082b40();\n          }\n        }" if (parenthesized_expression "(-iVar17 < (int)(uint)(10000 < uVar13))" ( (binary_expression "-iVar17 < (int)(uint)(10000 < uVar13)" (unary_expression "-iVar17" - identifier) < (cast_expression "(int)(uint)(10000 < uVar13)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(10000 < uVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(10000 < uVar13)" ( (binary_expression "10000 < uVar13" number_literal < identifier) ))))) )) (compound_statement "{\n          FUN_00082b40();\n          uVar20 = FUN_00082b40();\n        }" { (expression_statement "FUN_00082b40();" (call_expression "FUN_00082b40()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar20 = FUN_00082b40();" (assignment_expression "uVar20 = FUN_00082b40()" identifier = (call_expression "FUN_00082b40()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else {\n          uVar20 = 0;\n          if (-iVar17 < (int)(uint)(uVar13 != 0)) {\n            uVar20 = FUN_00082b40();\n          }\n        }" else (compound_statement "{\n          uVar20 = 0;\n          if (-iVar17 < (int)(uint)(uVar13 != 0)) {\n            uVar20 = FUN_00082b40();\n          }\n        }" { (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" identifier = number_literal) ;) (if_statement "if (-iVar17 < (int)(uint)(uVar13 != 0)) {\n            uVar20 = FUN_00082b40();\n          }" if (parenthesized_expression "(-iVar17 < (int)(uint)(uVar13 != 0))" ( (binary_expression "-iVar17 < (int)(uint)(uVar13 != 0)" (unary_expression "-iVar17" - identifier) < (cast_expression "(int)(uint)(uVar13 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(uVar13 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar13 != 0)" ( (binary_expression "uVar13 != 0" identifier != number_literal) ))))) )) (compound_statement "{\n            uVar20 = FUN_00082b40();\n          }" { (expression_statement "uVar20 = FUN_00082b40();" (assignment_expression "uVar20 = FUN_00082b40()" identifier = (call_expression "FUN_00082b40()" identifier (argument_list "()" ( )))) ;) })) }))) (if_statement "if (((uVar7 & 0x40) == 0) ||\n           ((int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80))) {\n          uVar21 = 0;\n        }\n        else {\nLAB_0001d331:\n          uVar7 = *(uint *)(iVar2 + 0xb44);\n          iVar17 = *(int *)(iVar2 + 0xb48);\n          FUN_00082b40();\n          if (-iVar17 < (int)(uint)(10000 < uVar7)) {\n            FUN_00082b40();\n            uVar21 = FUN_00082b40();\n          }\n          else {\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }\n        }" if (parenthesized_expression "(((uVar7 & 0x40) == 0) ||\n           ((int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80)))" ( (binary_expression "((uVar7 & 0x40) == 0) ||\n           ((int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80))" (parenthesized_expression "((uVar7 & 0x40) == 0)" ( (binary_expression "(uVar7 & 0x40) == 0" (parenthesized_expression "(uVar7 & 0x40)" ( (binary_expression "uVar7 & 0x40" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "((int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80))" ( (binary_expression "(int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80)" (cast_expression "(int)(uint)(*(int *)(iVar2 + 0xb7c) != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(*(int *)(iVar2 + 0xb7c) != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar2 + 0xb7c) != 0)" ( (binary_expression "*(int *)(iVar2 + 0xb7c) != 0" (pointer_expression "*(int *)(iVar2 + 0xb7c)" * (cast_expression "(int *)(iVar2 + 0xb7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb7c)" ( (binary_expression "iVar2 + 0xb7c" identifier + number_literal) )))) != number_literal) )))) <= (unary_expression "-*(int *)(iVar2 + 0xb80)" - (pointer_expression "*(int *)(iVar2 + 0xb80)" * (cast_expression "(int *)(iVar2 + 0xb80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb80)" ( (binary_expression "iVar2 + 0xb80" identifier + number_literal) )))))) ))) )) (compound_statement "{\n          uVar21 = 0;\n        }" { (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) }) (else_clause "else {\nLAB_0001d331:\n          uVar7 = *(uint *)(iVar2 + 0xb44);\n          iVar17 = *(int *)(iVar2 + 0xb48);\n          FUN_00082b40();\n          if (-iVar17 < (int)(uint)(10000 < uVar7)) {\n            FUN_00082b40();\n            uVar21 = FUN_00082b40();\n          }\n          else {\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }\n        }" else (compound_statement "{\nLAB_0001d331:\n          uVar7 = *(uint *)(iVar2 + 0xb44);\n          iVar17 = *(int *)(iVar2 + 0xb48);\n          FUN_00082b40();\n          if (-iVar17 < (int)(uint)(10000 < uVar7)) {\n            FUN_00082b40();\n            uVar21 = FUN_00082b40();\n          }\n          else {\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }\n        }" { (labeled_statement "LAB_0001d331:\n          uVar7 = *(uint *)(iVar2 + 0xb44);" statement_identifier : (expression_statement "uVar7 = *(uint *)(iVar2 + 0xb44);" (assignment_expression "uVar7 = *(uint *)(iVar2 + 0xb44)" identifier = (pointer_expression "*(uint *)(iVar2 + 0xb44)" * (cast_expression "(uint *)(iVar2 + 0xb44)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb44)" ( (binary_expression "iVar2 + 0xb44" identifier + number_literal) ))))) ;)) (expression_statement "iVar17 = *(int *)(iVar2 + 0xb48);" (assignment_expression "iVar17 = *(int *)(iVar2 + 0xb48)" identifier = (pointer_expression "*(int *)(iVar2 + 0xb48)" * (cast_expression "(int *)(iVar2 + 0xb48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb48)" ( (binary_expression "iVar2 + 0xb48" identifier + number_literal) ))))) ;) (expression_statement "FUN_00082b40();" (call_expression "FUN_00082b40()" identifier (argument_list "()" ( ))) ;) (if_statement "if (-iVar17 < (int)(uint)(10000 < uVar7)) {\n            FUN_00082b40();\n            uVar21 = FUN_00082b40();\n          }\n          else {\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }" if (parenthesized_expression "(-iVar17 < (int)(uint)(10000 < uVar7))" ( (binary_expression "-iVar17 < (int)(uint)(10000 < uVar7)" (unary_expression "-iVar17" - identifier) < (cast_expression "(int)(uint)(10000 < uVar7)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(10000 < uVar7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(10000 < uVar7)" ( (binary_expression "10000 < uVar7" number_literal < identifier) ))))) )) (compound_statement "{\n            FUN_00082b40();\n            uVar21 = FUN_00082b40();\n          }" { (expression_statement "FUN_00082b40();" (call_expression "FUN_00082b40()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar21 = FUN_00082b40();" (assignment_expression "uVar21 = FUN_00082b40()" identifier = (call_expression "FUN_00082b40()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else {\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }" else (compound_statement "{\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }" { (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (if_statement "if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }" if (parenthesized_expression "(-iVar17 < (int)(uint)(uVar7 != 0))" ( (binary_expression "-iVar17 < (int)(uint)(uVar7 != 0)" (unary_expression "-iVar17" - identifier) < (cast_expression "(int)(uint)(uVar7 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(uVar7 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 != 0)" ( (binary_expression "uVar7 != 0" identifier != number_literal) ))))) )) (compound_statement "{\n              uVar21 = FUN_00082b40();\n            }" { (expression_statement "uVar21 = FUN_00082b40();" (assignment_expression "uVar21 = FUN_00082b40()" identifier = (call_expression "FUN_00082b40()" identifier (argument_list "()" ( )))) ;) })) }))) }))) }))) (expression_statement "FUN_0001c490();" (call_expression "FUN_0001c490()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001c490();" (call_expression "FUN_0001c490()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001c490();" (call_expression "FUN_0001c490()" identifier (argument_list "()" ( ))) ;) (if_statement "if ((*(uint *)(iVar2 + 0xb74) & 0x20) == 0) {\n        uVar7 = *(uint *)(iVar2 + 0xb5c);\n        iVar17 = *(int *)(iVar2 + 0xb60);\n      }\n      else {\n        uVar7 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n      }" if (parenthesized_expression "((*(uint *)(iVar2 + 0xb74) & 0x20) == 0)" ( (binary_expression "(*(uint *)(iVar2 + 0xb74) & 0x20) == 0" (parenthesized_expression "(*(uint *)(iVar2 + 0xb74) & 0x20)" ( (binary_expression "*(uint *)(iVar2 + 0xb74) & 0x20" (pointer_expression "*(uint *)(iVar2 + 0xb74)" * (cast_expression "(uint *)(iVar2 + 0xb74)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb74)" ( (binary_expression "iVar2 + 0xb74" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n        uVar7 = *(uint *)(iVar2 + 0xb5c);\n        iVar17 = *(int *)(iVar2 + 0xb60);\n      }" { (expression_statement "uVar7 = *(uint *)(iVar2 + 0xb5c);" (assignment_expression "uVar7 = *(uint *)(iVar2 + 0xb5c)" identifier = (pointer_expression "*(uint *)(iVar2 + 0xb5c)" * (cast_expression "(uint *)(iVar2 + 0xb5c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb5c)" ( (binary_expression "iVar2 + 0xb5c" identifier + number_literal) ))))) ;) (expression_statement "iVar17 = *(int *)(iVar2 + 0xb60);" (assignment_expression "iVar17 = *(int *)(iVar2 + 0xb60)" identifier = (pointer_expression "*(int *)(iVar2 + 0xb60)" * (cast_expression "(int *)(iVar2 + 0xb60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb60)" ( (binary_expression "iVar2 + 0xb60" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        uVar7 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n      }" else (compound_statement "{\n        uVar7 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n      }" { (expression_statement "uVar7 = *(uint *)(iVar2 + 0xb4c);" (assignment_expression "uVar7 = *(uint *)(iVar2 + 0xb4c)" identifier = (pointer_expression "*(uint *)(iVar2 + 0xb4c)" * (cast_expression "(uint *)(iVar2 + 0xb4c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb4c)" ( (binary_expression "iVar2 + 0xb4c" identifier + number_literal) ))))) ;) (expression_statement "iVar17 = *(int *)(iVar2 + 0xb50);" (assignment_expression "iVar17 = *(int *)(iVar2 + 0xb50)" identifier = (pointer_expression "*(int *)(iVar2 + 0xb50)" * (cast_expression "(int *)(iVar2 + 0xb50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb50)" ( (binary_expression "iVar2 + 0xb50" identifier + number_literal) ))))) ;) }))) (expression_statement "uVar13 = *(uint *)(iVar2 + 0xb54);" (assignment_expression "uVar13 = *(uint *)(iVar2 + 0xb54)" identifier = (pointer_expression "*(uint *)(iVar2 + 0xb54)" * (cast_expression "(uint *)(iVar2 + 0xb54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb54)" ( (binary_expression "iVar2 + 0xb54" identifier + number_literal) ))))) ;) (expression_statement "iVar15 = *(int *)(iVar2 + 0xb58);" (assignment_expression "iVar15 = *(int *)(iVar2 + 0xb58)" identifier = (pointer_expression "*(int *)(iVar2 + 0xb58)" * (cast_expression "(int *)(iVar2 + 0xb58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb58)" ( (binary_expression "iVar2 + 0xb58" identifier + number_literal) ))))) ;) (if_statement "if ((*(uint *)(iVar2 + 0xb74) & 0x40) != 0) {\n        uVar13 = *(uint *)(iVar2 + 0xb44);\n        iVar15 = *(int *)(iVar2 + 0xb48);\n      }" if (parenthesized_expression "((*(uint *)(iVar2 + 0xb74) & 0x40) != 0)" ( (binary_expression "(*(uint *)(iVar2 + 0xb74) & 0x40) != 0" (parenthesized_expression "(*(uint *)(iVar2 + 0xb74) & 0x40)" ( (binary_expression "*(uint *)(iVar2 + 0xb74) & 0x40" (pointer_expression "*(uint *)(iVar2 + 0xb74)" * (cast_expression "(uint *)(iVar2 + 0xb74)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb74)" ( (binary_expression "iVar2 + 0xb74" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar13 = *(uint *)(iVar2 + 0xb44);\n        iVar15 = *(int *)(iVar2 + 0xb48);\n      }" { (expression_statement "uVar13 = *(uint *)(iVar2 + 0xb44);" (assignment_expression "uVar13 = *(uint *)(iVar2 + 0xb44)" identifier = (pointer_expression "*(uint *)(iVar2 + 0xb44)" * (cast_expression "(uint *)(iVar2 + 0xb44)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb44)" ( (binary_expression "iVar2 + 0xb44" identifier + number_literal) ))))) ;) (expression_statement "iVar15 = *(int *)(iVar2 + 0xb48);" (assignment_expression "iVar15 = *(int *)(iVar2 + 0xb48)" identifier = (pointer_expression "*(int *)(iVar2 + 0xb48)" * (cast_expression "(int *)(iVar2 + 0xb48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb48)" ( (binary_expression "iVar2 + 0xb48" identifier + number_literal) ))))) ;) })) (expression_statement "iVar17 = iVar17 + iVar15 + (uint)CARRY4(uVar7,uVar13);" (assignment_expression "iVar17 = iVar17 + iVar15 + (uint)CARRY4(uVar7,uVar13)" identifier = (binary_expression "iVar17 + iVar15 + (uint)CARRY4(uVar7,uVar13)" (binary_expression "iVar17 + iVar15" identifier + identifier) + (cast_expression "(uint)CARRY4(uVar7,uVar13)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar7,uVar13)" identifier (argument_list "(uVar7,uVar13)" ( identifier , identifier )))))) ;) (if_statement "if (-iVar17 < (int)(uint)(10000 < uVar7 + uVar13)) {\n        FUN_00082b40();\n        uVar22 = FUN_00082b40();\n      }\n      else {\n        uVar22 = 0;\n        if (-iVar17 < (int)(uint)(uVar7 + uVar13 != 0)) {\n          uVar22 = FUN_00082b40();\n        }\n      }" if (parenthesized_expression "(-iVar17 < (int)(uint)(10000 < uVar7 + uVar13))" ( (binary_expression "-iVar17 < (int)(uint)(10000 < uVar7 + uVar13)" (unary_expression "-iVar17" - identifier) < (cast_expression "(int)(uint)(10000 < uVar7 + uVar13)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(10000 < uVar7 + uVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(10000 < uVar7 + uVar13)" ( (binary_expression "10000 < uVar7 + uVar13" number_literal < (binary_expression "uVar7 + uVar13" identifier + identifier)) ))))) )) (compound_statement "{\n        FUN_00082b40();\n        uVar22 = FUN_00082b40();\n      }" { (expression_statement "FUN_00082b40();" (call_expression "FUN_00082b40()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar22 = FUN_00082b40();" (assignment_expression "uVar22 = FUN_00082b40()" identifier = (call_expression "FUN_00082b40()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else {\n        uVar22 = 0;\n        if (-iVar17 < (int)(uint)(uVar7 + uVar13 != 0)) {\n          uVar22 = FUN_00082b40();\n        }\n      }" else (compound_statement "{\n        uVar22 = 0;\n        if (-iVar17 < (int)(uint)(uVar7 + uVar13 != 0)) {\n          uVar22 = FUN_00082b40();\n        }\n      }" { (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" identifier = number_literal) ;) (if_statement "if (-iVar17 < (int)(uint)(uVar7 + uVar13 != 0)) {\n          uVar22 = FUN_00082b40();\n        }" if (parenthesized_expression "(-iVar17 < (int)(uint)(uVar7 + uVar13 != 0))" ( (binary_expression "-iVar17 < (int)(uint)(uVar7 + uVar13 != 0)" (unary_expression "-iVar17" - identifier) < (cast_expression "(int)(uint)(uVar7 + uVar13 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(uVar7 + uVar13 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 + uVar13 != 0)" ( (binary_expression "uVar7 + uVar13 != 0" (binary_expression "uVar7 + uVar13" identifier + identifier) != number_literal) ))))) )) (compound_statement "{\n          uVar22 = FUN_00082b40();\n        }" { (expression_statement "uVar22 = FUN_00082b40();" (assignment_expression "uVar22 = FUN_00082b40()" identifier = (call_expression "FUN_00082b40()" identifier (argument_list "()" ( )))) ;) })) }))) (expression_statement "FUN_0001c620();" (call_expression "FUN_0001c620()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar8 = FUN_0001c620();" (assignment_expression "uVar8 = FUN_0001c620()" identifier = (call_expression "FUN_0001c620()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar9 = FUN_0001c620();" (assignment_expression "uVar9 = FUN_0001c620()" identifier = (call_expression "FUN_0001c620()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar10 = FUN_0001c620();" (assignment_expression "uVar10 = FUN_0001c620()" identifier = (call_expression "FUN_0001c620()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar11 = FUN_0001c620();" (assignment_expression "uVar11 = FUN_0001c620()" identifier = (call_expression "FUN_0001c620()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar12 = FUN_0001c620();" (assignment_expression "uVar12 = FUN_0001c620()" identifier = (call_expression "FUN_0001c620()" identifier (argument_list "()" ( )))) ;) (expression_statement "curl_mfprintf(*(undefined4 *)(iVar2 + 0x584),local_dc + -0x3333c,uVar22,uVar12,uVar21,uVar11,\n                    uVar20,uVar10,uVar9,uVar8,local_38,local_2e,local_42);" (call_expression "curl_mfprintf(*(undefined4 *)(iVar2 + 0x584),local_dc + -0x3333c,uVar22,uVar12,uVar21,uVar11,\n                    uVar20,uVar10,uVar9,uVar8,local_38,local_2e,local_42)" identifier (argument_list "(*(undefined4 *)(iVar2 + 0x584),local_dc + -0x3333c,uVar22,uVar12,uVar21,uVar11,\n                    uVar20,uVar10,uVar9,uVar8,local_38,local_2e,local_42)" ( (pointer_expression "*(undefined4 *)(iVar2 + 0x584)" * (cast_expression "(undefined4 *)(iVar2 + 0x584)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x584)" ( (binary_expression "iVar2 + 0x584" identifier + number_literal) )))) , (binary_expression "local_dc + -0x3333c" identifier + number_literal) , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "fflush(*(FILE **)(iVar2 + 0x584));" (call_expression "fflush(*(FILE **)(iVar2 + 0x584))" identifier (argument_list "(*(FILE **)(iVar2 + 0x584))" ( (pointer_expression "*(FILE **)(iVar2 + 0x584)" * (cast_expression "(FILE **)(iVar2 + 0x584)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x584)" ( (binary_expression "iVar2 + 0x584" identifier + number_literal) )))) ))) ;) (goto_statement "goto LAB_0001d1c8;" goto statement_identifier ;) })) (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" identifier = number_literal) ;) (expression_statement "FUN_0004a0b0();" (call_expression "FUN_0004a0b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_d8 = (**(code **)(iVar2 + 0x5f4))\n                         (*(undefined4 *)(iVar2 + 0x62c),(double)*(longlong *)(iVar2 + 0xb44),\n                          (double)*(longlong *)(iVar2 + 0xb54),(double)*(longlong *)(iVar2 + 0xb4c),\n                          (double)*(longlong *)(iVar2 + 0xb5c),uVar8);" (assignment_expression "local_d8 = (**(code **)(iVar2 + 0x5f4))\n                         (*(undefined4 *)(iVar2 + 0x62c),(double)*(longlong *)(iVar2 + 0xb44),\n                          (double)*(longlong *)(iVar2 + 0xb54),(double)*(longlong *)(iVar2 + 0xb4c),\n                          (double)*(longlong *)(iVar2 + 0xb5c),uVar8)" identifier = (call_expression "(**(code **)(iVar2 + 0x5f4))\n                         (*(undefined4 *)(iVar2 + 0x62c),(double)*(longlong *)(iVar2 + 0xb44),\n                          (double)*(longlong *)(iVar2 + 0xb54),(double)*(longlong *)(iVar2 + 0xb4c),\n                          (double)*(longlong *)(iVar2 + 0xb5c),uVar8)" (parenthesized_expression "(**(code **)(iVar2 + 0x5f4))" ( (pointer_expression "**(code **)(iVar2 + 0x5f4)" * (pointer_expression "*(code **)(iVar2 + 0x5f4)" * (cast_expression "(code **)(iVar2 + 0x5f4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x5f4)" ( (binary_expression "iVar2 + 0x5f4" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar2 + 0x62c),(double)*(longlong *)(iVar2 + 0xb44),\n                          (double)*(longlong *)(iVar2 + 0xb54),(double)*(longlong *)(iVar2 + 0xb4c),\n                          (double)*(longlong *)(iVar2 + 0xb5c),uVar8)" ( (pointer_expression "*(undefined4 *)(iVar2 + 0x62c)" * (cast_expression "(undefined4 *)(iVar2 + 0x62c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x62c)" ( (binary_expression "iVar2 + 0x62c" identifier + number_literal) )))) , (cast_expression "(double)*(longlong *)(iVar2 + 0xb44)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(longlong *)(iVar2 + 0xb44)" * (cast_expression "(longlong *)(iVar2 + 0xb44)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb44)" ( (binary_expression "iVar2 + 0xb44" identifier + number_literal) ))))) , (cast_expression "(double)*(longlong *)(iVar2 + 0xb54)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(longlong *)(iVar2 + 0xb54)" * (cast_expression "(longlong *)(iVar2 + 0xb54)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb54)" ( (binary_expression "iVar2 + 0xb54" identifier + number_literal) ))))) , (cast_expression "(double)*(longlong *)(iVar2 + 0xb4c)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(longlong *)(iVar2 + 0xb4c)" * (cast_expression "(longlong *)(iVar2 + 0xb4c)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb4c)" ( (binary_expression "iVar2 + 0xb4c" identifier + number_literal) ))))) , (cast_expression "(double)*(longlong *)(iVar2 + 0xb5c)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(longlong *)(iVar2 + 0xb5c)" * (cast_expression "(longlong *)(iVar2 + 0xb5c)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb5c)" ( (binary_expression "iVar2 + 0xb5c" identifier + number_literal) ))))) , identifier )))) ;) }) (else_clause "else {\n    uVar8 = 1;\n    FUN_0004a0b0();\n    local_d8 = (**(code **)(iVar2 + 0x5f8))\n                         (*(undefined4 *)(iVar2 + 0x62c),*(undefined4 *)(iVar2 + 0xb44),\n                          *(undefined4 *)(iVar2 + 0xb48),*(undefined4 *)(iVar2 + 0xb54),\n                          *(undefined4 *)(iVar2 + 0xb58),*(undefined4 *)(iVar2 + 0xb4c),\n                          *(undefined4 *)(iVar2 + 0xb50),*(undefined4 *)(iVar2 + 0xb5c),\n                          *(undefined4 *)(iVar2 + 0xb60),uVar8,iVar6,iVar14);\n  }" else (compound_statement "{\n    uVar8 = 1;\n    FUN_0004a0b0();\n    local_d8 = (**(code **)(iVar2 + 0x5f8))\n                         (*(undefined4 *)(iVar2 + 0x62c),*(undefined4 *)(iVar2 + 0xb44),\n                          *(undefined4 *)(iVar2 + 0xb48),*(undefined4 *)(iVar2 + 0xb54),\n                          *(undefined4 *)(iVar2 + 0xb58),*(undefined4 *)(iVar2 + 0xb4c),\n                          *(undefined4 *)(iVar2 + 0xb50),*(undefined4 *)(iVar2 + 0xb5c),\n                          *(undefined4 *)(iVar2 + 0xb60),uVar8,iVar6,iVar14);\n  }" { (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" identifier = number_literal) ;) (expression_statement "FUN_0004a0b0();" (call_expression "FUN_0004a0b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_d8 = (**(code **)(iVar2 + 0x5f8))\n                         (*(undefined4 *)(iVar2 + 0x62c),*(undefined4 *)(iVar2 + 0xb44),\n                          *(undefined4 *)(iVar2 + 0xb48),*(undefined4 *)(iVar2 + 0xb54),\n                          *(undefined4 *)(iVar2 + 0xb58),*(undefined4 *)(iVar2 + 0xb4c),\n                          *(undefined4 *)(iVar2 + 0xb50),*(undefined4 *)(iVar2 + 0xb5c),\n                          *(undefined4 *)(iVar2 + 0xb60),uVar8,iVar6,iVar14);" (assignment_expression "local_d8 = (**(code **)(iVar2 + 0x5f8))\n                         (*(undefined4 *)(iVar2 + 0x62c),*(undefined4 *)(iVar2 + 0xb44),\n                          *(undefined4 *)(iVar2 + 0xb48),*(undefined4 *)(iVar2 + 0xb54),\n                          *(undefined4 *)(iVar2 + 0xb58),*(undefined4 *)(iVar2 + 0xb4c),\n                          *(undefined4 *)(iVar2 + 0xb50),*(undefined4 *)(iVar2 + 0xb5c),\n                          *(undefined4 *)(iVar2 + 0xb60),uVar8,iVar6,iVar14)" identifier = (call_expression "(**(code **)(iVar2 + 0x5f8))\n                         (*(undefined4 *)(iVar2 + 0x62c),*(undefined4 *)(iVar2 + 0xb44),\n                          *(undefined4 *)(iVar2 + 0xb48),*(undefined4 *)(iVar2 + 0xb54),\n                          *(undefined4 *)(iVar2 + 0xb58),*(undefined4 *)(iVar2 + 0xb4c),\n                          *(undefined4 *)(iVar2 + 0xb50),*(undefined4 *)(iVar2 + 0xb5c),\n                          *(undefined4 *)(iVar2 + 0xb60),uVar8,iVar6,iVar14)" (parenthesized_expression "(**(code **)(iVar2 + 0x5f8))" ( (pointer_expression "**(code **)(iVar2 + 0x5f8)" * (pointer_expression "*(code **)(iVar2 + 0x5f8)" * (cast_expression "(code **)(iVar2 + 0x5f8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x5f8)" ( (binary_expression "iVar2 + 0x5f8" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar2 + 0x62c),*(undefined4 *)(iVar2 + 0xb44),\n                          *(undefined4 *)(iVar2 + 0xb48),*(undefined4 *)(iVar2 + 0xb54),\n                          *(undefined4 *)(iVar2 + 0xb58),*(undefined4 *)(iVar2 + 0xb4c),\n                          *(undefined4 *)(iVar2 + 0xb50),*(undefined4 *)(iVar2 + 0xb5c),\n                          *(undefined4 *)(iVar2 + 0xb60),uVar8,iVar6,iVar14)" ( (pointer_expression "*(undefined4 *)(iVar2 + 0x62c)" * (cast_expression "(undefined4 *)(iVar2 + 0x62c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x62c)" ( (binary_expression "iVar2 + 0x62c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar2 + 0xb44)" * (cast_expression "(undefined4 *)(iVar2 + 0xb44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb44)" ( (binary_expression "iVar2 + 0xb44" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar2 + 0xb48)" * (cast_expression "(undefined4 *)(iVar2 + 0xb48)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb48)" ( (binary_expression "iVar2 + 0xb48" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar2 + 0xb54)" * (cast_expression "(undefined4 *)(iVar2 + 0xb54)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb54)" ( (binary_expression "iVar2 + 0xb54" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar2 + 0xb58)" * (cast_expression "(undefined4 *)(iVar2 + 0xb58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb58)" ( (binary_expression "iVar2 + 0xb58" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar2 + 0xb4c)" * (cast_expression "(undefined4 *)(iVar2 + 0xb4c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb4c)" ( (binary_expression "iVar2 + 0xb4c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar2 + 0xb50)" * (cast_expression "(undefined4 *)(iVar2 + 0xb50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb50)" ( (binary_expression "iVar2 + 0xb50" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar2 + 0xb5c)" * (cast_expression "(undefined4 *)(iVar2 + 0xb5c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb5c)" ( (binary_expression "iVar2 + 0xb5c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar2 + 0xb60)" * (cast_expression "(undefined4 *)(iVar2 + 0xb60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb60)" ( (binary_expression "iVar2 + 0xb60" identifier + number_literal) )))) , identifier , identifier , identifier )))) ;) }))) (expression_statement "FUN_0004a0b0();" (call_expression "FUN_0004a0b0()" identifier (argument_list "()" ( ))) ;) (if_statement "if (local_d8 != 0) {\n    FUN_00027d40();\n  }" if (parenthesized_expression "(local_d8 != 0)" ( (binary_expression "local_d8 != 0" identifier != number_literal) )) (compound_statement "{\n    FUN_00027d40();\n  }" { (expression_statement "FUN_00027d40();" (call_expression "FUN_00027d40()" identifier (argument_list "()" ( ))) ;) })) (labeled_statement "LAB_0001d1c8:\n  if (local_24 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_d8;\n  }" statement_identifier : (if_statement "if (local_24 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_d8;\n  }" if (parenthesized_expression "(local_24 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_24 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return local_d8;\n  }" { (return_statement "return local_d8;" return identifier ;) }))) comment (expression_statement "FUN_00082f60();" (call_expression "FUN_00082f60()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.cx replaced with injection: get_pc_thunk_cx */\n/* WARNING: Unknown calling convention */\n/* WARNING: Enum "anon_enum_32": Some values do not have unique names */\n\nint Curl_pgrsUpdate(connectdata *conn)\n\n{\n  curl_off_t *pcVar1;\n  int iVar2;\n  Curl_easy *data;\n  uint uVar3;\n  curltime newer;\n  curltime newer_00;\n  curltime older;\n  bool bVar4;\n  timediff_t tVar5;\n  int iVar6;\n  int iVar7;\n  uint uVar8;\n  char *pcVar9;\n  char *pcVar10;\n  char *pcVar11;\n  char *pcVar12;\n  char *pcVar13;\n  undefined **ppuVar14;\n  int iVar15;\n  int iVar16;\n  FILE *whereto;\n  uint uVar17;\n  int iVar18;\n  int iVar19;\n  int iVar20;\n  uint uVar21;\n  int iVar22;\n  char *pcVar23;\n  int iVar24;\n  int in_GS_OFFSET;\n  longlong lVar25;\n  longlong lVar26;\n  undefined8 uVar27;\n  curl_off_t cVar28;\n  undefined8 uVar29;\n  time_t tVar30;\n  undefined4 in_stack_ffffff24;\n  undefined **ppuVar31;\n  int iStack_d4;\n  undefined4 local_cc;\n  undefined4 local_c8;\n  uint local_c4;\n  int local_c0;\n  undefined4 local_bc;\n  undefined4 local_b8;\n  undefined4 local_b4;\n  undefined4 local_b0;\n  int local_84;\n  int iStack_80;\n  char max5 [6] [10];\n  char time_left [10];\n  char time_total [10];\n  char time_spent [10];\n  \n  ppuVar14 = &_GLOBAL_OFFSET_TABLE_;\n  iVar2 = *(int *)(in_GS_OFFSET + 0x14);\n  data = conn->data;\n  iVar16 = (data->progress).speeder_c;\n  iVar19 = *(int *)((int)&(data->progress).uploaded + 4);\n  uVar21 = (uint)(data->progress).downloaded;\n  iVar20 = *(int *)((int)&(data->progress).downloaded + 4);\n  uVar8 = (uint)(data->progress).uploaded;\n  Curl_now();\n  newer.tv_usec = iStack_80;\n  newer.tv_sec = local_84;\n  tVar5 = Curl_timediff_us(newer,(data->progress).start);\n  (data->progress).timespent = tVar5;\n  iVar7 = tVar5 / 1000000;\n  iVar18 = iVar7 >> 0x1f;\n  iVar15 = tVar5 / 1000;\n  iVar6 = iVar15 >> 0x1f;\n  if ((SBORROW4(0x20c49b,iVar20) != SBORROW4(0x20c49b - iVar20,(uint)(0xa5e353f6 < uVar21))) ==\n      (int)((0x20c49b - iVar20) - (uint)(0xa5e353f6 < uVar21)) < 0) {\n    iVar22 = iVar15;\n    iVar24 = iVar6;\n    if ((int)(uint)(iVar15 != 0) <= -iVar6) {\n      iVar22 = 1;\n      iVar24 = 0;\n    }\n    lVar25 = __divdi3((int)((ulonglong)uVar21 * 1000),\n                      (int)((ulonglong)uVar21 * 1000 >> 0x20) + iVar20 * 1000,iVar22,iVar24);\n  }\n  else {\n    iVar22 = iVar7;\n    iVar24 = iVar18;\n    if ((int)(uint)(iVar7 != 0) <= -iVar18) {\n      iVar22 = 1;\n      iVar24 = 0;\n    }\n    lVar25 = __divdi3(uVar21,iVar20,iVar22,iVar24);\n  }\n  (data->progress).dlspeed = lVar25;\n  if ((SBORROW4(0x20c49b,iVar19) != SBORROW4(0x20c49b - iVar19,(uint)(0xa5e353f6 < uVar8))) ==\n      (int)((0x20c49b - iVar19) - (uint)(0xa5e353f6 < uVar8)) < 0) {\n    if ((int)(uint)(iVar15 != 0) <= -iVar6) {\n      iVar15 = 1;\n      iVar6 = 0;\n    }\n    lVar26 = __divdi3((int)((ulonglong)uVar8 * 1000),\n                      (int)((ulonglong)uVar8 * 1000 >> 0x20) + iVar19 * 1000,iVar15,iVar6);\n    iVar7 = iVar15;\n    iVar18 = iVar6;\n  }\n  else {\n    if ((int)(uint)(iVar7 != 0) <= -iVar18) {\n      iVar7 = 1;\n      iVar18 = 0;\n    }\n    lVar26 = __divdi3(uVar8,iVar19,iVar7,iVar18);\n  }\n  bVar4 = false;\n  (data->progress).ulspeed = lVar26;\n  if ((data->progress).lastshow != local_84) {\n    (data->progress).lastshow = local_84;\n    iVar16 = iVar16 % 6;\n    uVar21 = (uint)(data->progress).uploaded;\n    pcVar1 = &(data->progress).downloaded;\n    cVar28 = *pcVar1;\n    *(uint *)((int)(data->progress).speeder + iVar16 * 8 + 4) =\n         *(int *)((int)&(data->progress).uploaded + 4) +\n         *(int *)((int)&(data->progress).downloaded + 4) + (uint)CARRY4(uVar21,(uint)*pcVar1);\n    *(uint *)((data->progress).speeder + iVar16) = uVar21 + (int)cVar28;\n    *(int *)((int)(data->state).tempwrite + iVar16 * 8 + -0x74) = iStack_80;\n    (data->progress).speeder_time[iVar16].tv_sec = local_84;\n    iVar19 = (data->progress).speeder_c + 1;\n    (data->progress).speeder_c = iVar19;\n    if (iVar19 == 1) {\n      bVar4 = true;\n      (data->progress).current_speed = lVar25 + lVar26;\n    }\n    else {\n      iVar20 = 0;\n      if (5 < iVar19) {\n        iVar20 = iVar19 % 6;\n      }\n      iVar18 = *(int *)((int)(data->state).tempwrite + iVar20 * 8 + -0x74);\n      tVar30 = (data->progress).speeder_time[iVar20].tv_sec;\n      newer_00.tv_usec = iStack_80;\n      newer_00.tv_sec = local_84;\n      older.tv_usec = iVar18;\n      older.tv_sec = tVar30;\n      ppuVar31 = ppuVar14;\n      iVar7 = Curl_timediff(newer_00,older);\n      if (iVar7 == 0) {\n        iVar7 = 1;\n      }\n      uVar21 = (uint)(data->progress).speeder[iVar16];\n      pcVar1 = (data->progress).speeder + iVar20;\n      uVar8 = uVar21 - (int)*pcVar1;\n      iVar16 = (*(int *)((int)(data->progress).speeder + iVar16 * 8 + 4) -\n               *(int *)((int)(data->progress).speeder + iVar20 * 8 + 4)) -\n               (uint)(uVar21 < (uint)*pcVar1);\n      if (-iVar16 < (int)(uint)(0x418937 < uVar8)) {\n        bVar4 = true;\n        (data->progress).current_speed =\n             (longlong)\n             ROUND((float)CONCAT44(iVar16,uVar8) / ((float)iVar7 / (float)ppuVar14[-0xccc2]));\n        iVar7 = tVar30;\n        ppuVar14 = ppuVar31;\n      }\n      else {\n        iVar18 = iVar7 >> 0x1f;\n        cVar28 = __divdi3((int)((ulonglong)uVar8 * 1000),\n                          (int)((ulonglong)uVar8 * 1000 >> 0x20) + iVar16 * 1000,iVar7,iVar18);\n        bVar4 = true;\n        (data->progress).current_speed = cVar28;\n        ppuVar14 = ppuVar31;\n      }\n    }\n  }\n  uVar21 = (data->progress).flags;\n  if ((uVar21 & 0x10) != 0) {\n    iStack_d4 = 0;\n    goto LAB_0001d1c8;\n  }\n  if ((data->set).fxferinfo == (curl_xferinfo_callback)0x0) {\n    if ((data->set).fprogress == (curl_progress_callback)0x0) {\n      iStack_d4 = 0;\n      if (!bVar4) goto LAB_0001d1c8;\n      if ((uVar21 & 0x80) == 0) {\n        iVar16 = *(int *)((int)&(data->state).resume_from + 4);\n        iVar19 = (int)(data->state).resume_from;\n        whereto = (data->set).err;\n        if (iVar16 != 0 || iVar19 != 0) {\n          curl_mfprintf(whereto,(char *)(ppuVar14 + -0xcd04),iVar19,iVar16);\n          whereto = (data->set).err;\n          iVar7 = iVar19;\n          iVar18 = iVar16;\n        }\n        curl_mfprintf(whereto,(char *)(ppuVar14 + -0xccf8),iVar7,iVar18);\n        uVar21 = (data->progress).flags | 0x80;\n        (data->progress).flags = uVar21;\n      }\n      if ((uVar21 & 0x20) == 0) {\nLAB_0001d2f0:\n        if ((uVar21 & 0x40) != 0) {\n          iVar16 = (int)(data->progress).dlspeed;\n          iVar19 = *(int *)((int)&(data->progress).dlspeed + 4);\n          if (-iVar19 < (int)(uint)(iVar16 != 0)) {\n            uVar27 = 0;\n            goto LAB_0001d331;\n          }\n        }\n        uVar27 = 0;\n        uVar29 = 0;\n      }\n      else {\n        iVar16 = (int)(data->progress).ulspeed;\n        iVar19 = *(int *)((int)&(data->progress).ulspeed + 4);\n        if ((int)(uint)(iVar16 != 0) <= -iVar19) goto LAB_0001d2f0;\n        uVar8 = (uint)(data->progress).size_ul;\n        iVar20 = *(int *)((int)&(data->progress).size_ul + 4);\n        __divdi3(uVar8,iVar20,iVar16,iVar19);\n        if (-iVar20 < (int)(uint)(10000 < uVar8)) {\n          uVar27 = __divdi3(uVar8,iVar20,100,0);\n          uVar27 = __divdi3((int)(data->progress).uploaded,\n                            *(undefined4 *)((int)&(data->progress).uploaded + 4),uVar27);\n        }\n        else {\n          uVar27 = 0;\n          if (-iVar20 < (int)(uint)(uVar8 != 0)) {\n            lVar25 = (ulonglong)(uint)(data->progress).uploaded * 100;\n            uVar27 = __divdi3((int)lVar25,\n                              (int)((ulonglong)lVar25 >> 0x20) +\n                              *(int *)((int)&(data->progress).uploaded + 4) * 100,uVar8,iVar20);\n          }\n        }\n        if ((uVar21 & 0x40) == 0) {\nLAB_0001d11b:\n          uVar29 = 0;\n        }\n        else {\n          iVar16 = (int)(data->progress).dlspeed;\n          iVar19 = *(int *)((int)&(data->progress).dlspeed + 4);\n          if ((int)(uint)(iVar16 != 0) <= -iVar19) goto LAB_0001d11b;\nLAB_0001d331:\n          uVar21 = (uint)(data->progress).size_dl;\n          iVar20 = *(int *)((int)&(data->progress).size_dl + 4);\n          __divdi3(uVar21,iVar20,iVar16,iVar19);\n          if (-iVar20 < (int)(uint)(10000 < uVar21)) {\n            uVar29 = __divdi3(uVar21,iVar20,100,0);\n            uVar29 = __divdi3((int)(data->progress).downloaded,\n                              *(undefined4 *)((int)&(data->progress).downloaded + 4),uVar29);\n          }\n          else {\n            uVar29 = 0;\n            if (-iVar20 < (int)(uint)(uVar21 != 0)) {\n              lVar25 = (ulonglong)(uint)(data->progress).downloaded * 100;\n              uVar29 = __divdi3((int)lVar25,\n                                (int)((ulonglong)lVar25 >> 0x20) +\n                                *(int *)((int)&(data->progress).downloaded + 4) * 100,uVar21,iVar20)\n              ;\n            }\n          }\n        }\n      }\n      local_b0 = (undefined4)((ulonglong)uVar27 >> 0x20);\n      local_b4 = (undefined4)uVar27;\n      local_b8 = (undefined4)((ulonglong)uVar29 >> 0x20);\n      local_bc = (undefined4)uVar29;\n      time2str(time_left,CONCAT44(ppuVar14,in_stack_ffffff24));\n      time2str(time_total,CONCAT44(ppuVar14,in_stack_ffffff24));\n      time2str(time_spent,CONCAT44(ppuVar14,in_stack_ffffff24));\n      uVar21 = (data->progress).flags;\n      if ((uVar21 & 0x20) == 0) {\n        uVar8 = (uint)(data->progress).uploaded;\n        iVar16 = *(int *)((int)&(data->progress).uploaded + 4);\n        local_c4 = uVar8;\n        local_c0 = iVar16;\n      }\n      else {\n        uVar8 = (uint)(data->progress).size_ul;\n        iVar16 = *(int *)((int)&(data->progress).size_ul + 4);\n        local_c4 = (uint)(data->progress).uploaded;\n        local_c0 = *(int *)((int)&(data->progress).uploaded + 4);\n      }\n      uVar3 = (uint)(data->progress).downloaded;\n      iVar19 = *(int *)((int)&(data->progress).downloaded + 4);\n      uVar17 = uVar3;\n      iVar20 = iVar19;\n      if ((uVar21 & 0x40) != 0) {\n        uVar17 = (uint)(data->progress).size_dl;\n        iVar20 = *(int *)((int)&(data->progress).size_dl + 4);\n      }\n      pcVar23 = (char *)(uVar8 + uVar17);\n      iVar20 = iVar16 + iVar20 + (uint)CARRY4(uVar8,uVar17);\n      iVar16 = iVar19 + local_c0 + (uint)CARRY4(uVar3,local_c4);\n      if (-iVar20 < (int)(uint)((char *)0x2710 < pcVar23)) {\n        uVar27 = __divdi3(pcVar23,iVar20,100,0);\n        uVar27 = __divdi3(uVar3 + local_c4,iVar16,uVar27);\n      }\n      else {\n        uVar27 = 0;\n        if (-iVar20 < (int)(uint)(pcVar23 != (char *)0x0)) {\n          lVar25 = (ulonglong)(uVar3 + local_c4) * 100;\n          uVar27 = __divdi3((int)lVar25,(int)((ulonglong)lVar25 >> 0x20) + iVar16 * 100,pcVar23,\n                            iVar20);\n        }\n      }\n      local_c8 = (undefined4)((ulonglong)uVar27 >> 0x20);\n      local_cc = (undefined4)uVar27;\n      pcVar9 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),\n                        *(char **)&(data->progress).current_speed);\n      pcVar10 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).ulspeed);\n      pcVar11 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).dlspeed);\n      pcVar12 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).uploaded);\n      pcVar13 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).downloaded\n                        );\n      pcVar23 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),pcVar23);\n      curl_mfprintf((data->set).err,(char *)(ppuVar14 + -0xcccf),local_cc,local_c8,pcVar23,local_bc,\n                    local_b8,pcVar13,local_b4,local_b0,pcVar12,pcVar11,pcVar10,time_total,time_spent\n                    ,time_left,pcVar9);\n      fflush((FILE *)(data->set).err);\n      goto LAB_0001d1c8;\n    }\n    Curl_set_in_callback(data,true);\n    iStack_d4 = (*(data->set).fprogress)\n                          ((data->set).progress_client,(double)(data->progress).size_dl,\n                           (double)(data->progress).downloaded,(double)(data->progress).size_ul,\n                           (double)(data->progress).uploaded);\n  }\n  else {\n    Curl_set_in_callback(data,true);\n    iStack_d4 = (*(data->set).fxferinfo)\n                          ((data->set).progress_client,(data->progress).size_dl,\n                           (data->progress).downloaded,(data->progress).size_ul,\n                           (data->progress).uploaded);\n  }\n  Curl_set_in_callback(data,false);\n  if (iStack_d4 != 0) {\n    Curl_failf(data,(char *)((int)ppuVar14 + -209999));\n  }\nLAB_0001d1c8:\n  if (iVar2 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return iStack_d4;\n}\n\n" comment comment comment (function_definition "int Curl_pgrsUpdate(connectdata *conn)\n\n{\n  curl_off_t *pcVar1;\n  int iVar2;\n  Curl_easy *data;\n  uint uVar3;\n  curltime newer;\n  curltime newer_00;\n  curltime older;\n  bool bVar4;\n  timediff_t tVar5;\n  int iVar6;\n  int iVar7;\n  uint uVar8;\n  char *pcVar9;\n  char *pcVar10;\n  char *pcVar11;\n  char *pcVar12;\n  char *pcVar13;\n  undefined **ppuVar14;\n  int iVar15;\n  int iVar16;\n  FILE *whereto;\n  uint uVar17;\n  int iVar18;\n  int iVar19;\n  int iVar20;\n  uint uVar21;\n  int iVar22;\n  char *pcVar23;\n  int iVar24;\n  int in_GS_OFFSET;\n  longlong lVar25;\n  longlong lVar26;\n  undefined8 uVar27;\n  curl_off_t cVar28;\n  undefined8 uVar29;\n  time_t tVar30;\n  undefined4 in_stack_ffffff24;\n  undefined **ppuVar31;\n  int iStack_d4;\n  undefined4 local_cc;\n  undefined4 local_c8;\n  uint local_c4;\n  int local_c0;\n  undefined4 local_bc;\n  undefined4 local_b8;\n  undefined4 local_b4;\n  undefined4 local_b0;\n  int local_84;\n  int iStack_80;\n  char max5 [6] [10];\n  char time_left [10];\n  char time_total [10];\n  char time_spent [10];\n  \n  ppuVar14 = &_GLOBAL_OFFSET_TABLE_;\n  iVar2 = *(int *)(in_GS_OFFSET + 0x14);\n  data = conn->data;\n  iVar16 = (data->progress).speeder_c;\n  iVar19 = *(int *)((int)&(data->progress).uploaded + 4);\n  uVar21 = (uint)(data->progress).downloaded;\n  iVar20 = *(int *)((int)&(data->progress).downloaded + 4);\n  uVar8 = (uint)(data->progress).uploaded;\n  Curl_now();\n  newer.tv_usec = iStack_80;\n  newer.tv_sec = local_84;\n  tVar5 = Curl_timediff_us(newer,(data->progress).start);\n  (data->progress).timespent = tVar5;\n  iVar7 = tVar5 / 1000000;\n  iVar18 = iVar7 >> 0x1f;\n  iVar15 = tVar5 / 1000;\n  iVar6 = iVar15 >> 0x1f;\n  if ((SBORROW4(0x20c49b,iVar20) != SBORROW4(0x20c49b - iVar20,(uint)(0xa5e353f6 < uVar21))) ==\n      (int)((0x20c49b - iVar20) - (uint)(0xa5e353f6 < uVar21)) < 0) {\n    iVar22 = iVar15;\n    iVar24 = iVar6;\n    if ((int)(uint)(iVar15 != 0) <= -iVar6) {\n      iVar22 = 1;\n      iVar24 = 0;\n    }\n    lVar25 = __divdi3((int)((ulonglong)uVar21 * 1000),\n                      (int)((ulonglong)uVar21 * 1000 >> 0x20) + iVar20 * 1000,iVar22,iVar24);\n  }\n  else {\n    iVar22 = iVar7;\n    iVar24 = iVar18;\n    if ((int)(uint)(iVar7 != 0) <= -iVar18) {\n      iVar22 = 1;\n      iVar24 = 0;\n    }\n    lVar25 = __divdi3(uVar21,iVar20,iVar22,iVar24);\n  }\n  (data->progress).dlspeed = lVar25;\n  if ((SBORROW4(0x20c49b,iVar19) != SBORROW4(0x20c49b - iVar19,(uint)(0xa5e353f6 < uVar8))) ==\n      (int)((0x20c49b - iVar19) - (uint)(0xa5e353f6 < uVar8)) < 0) {\n    if ((int)(uint)(iVar15 != 0) <= -iVar6) {\n      iVar15 = 1;\n      iVar6 = 0;\n    }\n    lVar26 = __divdi3((int)((ulonglong)uVar8 * 1000),\n                      (int)((ulonglong)uVar8 * 1000 >> 0x20) + iVar19 * 1000,iVar15,iVar6);\n    iVar7 = iVar15;\n    iVar18 = iVar6;\n  }\n  else {\n    if ((int)(uint)(iVar7 != 0) <= -iVar18) {\n      iVar7 = 1;\n      iVar18 = 0;\n    }\n    lVar26 = __divdi3(uVar8,iVar19,iVar7,iVar18);\n  }\n  bVar4 = false;\n  (data->progress).ulspeed = lVar26;\n  if ((data->progress).lastshow != local_84) {\n    (data->progress).lastshow = local_84;\n    iVar16 = iVar16 % 6;\n    uVar21 = (uint)(data->progress).uploaded;\n    pcVar1 = &(data->progress).downloaded;\n    cVar28 = *pcVar1;\n    *(uint *)((int)(data->progress).speeder + iVar16 * 8 + 4) =\n         *(int *)((int)&(data->progress).uploaded + 4) +\n         *(int *)((int)&(data->progress).downloaded + 4) + (uint)CARRY4(uVar21,(uint)*pcVar1);\n    *(uint *)((data->progress).speeder + iVar16) = uVar21 + (int)cVar28;\n    *(int *)((int)(data->state).tempwrite + iVar16 * 8 + -0x74) = iStack_80;\n    (data->progress).speeder_time[iVar16].tv_sec = local_84;\n    iVar19 = (data->progress).speeder_c + 1;\n    (data->progress).speeder_c = iVar19;\n    if (iVar19 == 1) {\n      bVar4 = true;\n      (data->progress).current_speed = lVar25 + lVar26;\n    }\n    else {\n      iVar20 = 0;\n      if (5 < iVar19) {\n        iVar20 = iVar19 % 6;\n      }\n      iVar18 = *(int *)((int)(data->state).tempwrite + iVar20 * 8 + -0x74);\n      tVar30 = (data->progress).speeder_time[iVar20].tv_sec;\n      newer_00.tv_usec = iStack_80;\n      newer_00.tv_sec = local_84;\n      older.tv_usec = iVar18;\n      older.tv_sec = tVar30;\n      ppuVar31 = ppuVar14;\n      iVar7 = Curl_timediff(newer_00,older);\n      if (iVar7 == 0) {\n        iVar7 = 1;\n      }\n      uVar21 = (uint)(data->progress).speeder[iVar16];\n      pcVar1 = (data->progress).speeder + iVar20;\n      uVar8 = uVar21 - (int)*pcVar1;\n      iVar16 = (*(int *)((int)(data->progress).speeder + iVar16 * 8 + 4) -\n               *(int *)((int)(data->progress).speeder + iVar20 * 8 + 4)) -\n               (uint)(uVar21 < (uint)*pcVar1);\n      if (-iVar16 < (int)(uint)(0x418937 < uVar8)) {\n        bVar4 = true;\n        (data->progress).current_speed =\n             (longlong)\n             ROUND((float)CONCAT44(iVar16,uVar8) / ((float)iVar7 / (float)ppuVar14[-0xccc2]));\n        iVar7 = tVar30;\n        ppuVar14 = ppuVar31;\n      }\n      else {\n        iVar18 = iVar7 >> 0x1f;\n        cVar28 = __divdi3((int)((ulonglong)uVar8 * 1000),\n                          (int)((ulonglong)uVar8 * 1000 >> 0x20) + iVar16 * 1000,iVar7,iVar18);\n        bVar4 = true;\n        (data->progress).current_speed = cVar28;\n        ppuVar14 = ppuVar31;\n      }\n    }\n  }\n  uVar21 = (data->progress).flags;\n  if ((uVar21 & 0x10) != 0) {\n    iStack_d4 = 0;\n    goto LAB_0001d1c8;\n  }\n  if ((data->set).fxferinfo == (curl_xferinfo_callback)0x0) {\n    if ((data->set).fprogress == (curl_progress_callback)0x0) {\n      iStack_d4 = 0;\n      if (!bVar4) goto LAB_0001d1c8;\n      if ((uVar21 & 0x80) == 0) {\n        iVar16 = *(int *)((int)&(data->state).resume_from + 4);\n        iVar19 = (int)(data->state).resume_from;\n        whereto = (data->set).err;\n        if (iVar16 != 0 || iVar19 != 0) {\n          curl_mfprintf(whereto,(char *)(ppuVar14 + -0xcd04),iVar19,iVar16);\n          whereto = (data->set).err;\n          iVar7 = iVar19;\n          iVar18 = iVar16;\n        }\n        curl_mfprintf(whereto,(char *)(ppuVar14 + -0xccf8),iVar7,iVar18);\n        uVar21 = (data->progress).flags | 0x80;\n        (data->progress).flags = uVar21;\n      }\n      if ((uVar21 & 0x20) == 0) {\nLAB_0001d2f0:\n        if ((uVar21 & 0x40) != 0) {\n          iVar16 = (int)(data->progress).dlspeed;\n          iVar19 = *(int *)((int)&(data->progress).dlspeed + 4);\n          if (-iVar19 < (int)(uint)(iVar16 != 0)) {\n            uVar27 = 0;\n            goto LAB_0001d331;\n          }\n        }\n        uVar27 = 0;\n        uVar29 = 0;\n      }\n      else {\n        iVar16 = (int)(data->progress).ulspeed;\n        iVar19 = *(int *)((int)&(data->progress).ulspeed + 4);\n        if ((int)(uint)(iVar16 != 0) <= -iVar19) goto LAB_0001d2f0;\n        uVar8 = (uint)(data->progress).size_ul;\n        iVar20 = *(int *)((int)&(data->progress).size_ul + 4);\n        __divdi3(uVar8,iVar20,iVar16,iVar19);\n        if (-iVar20 < (int)(uint)(10000 < uVar8)) {\n          uVar27 = __divdi3(uVar8,iVar20,100,0);\n          uVar27 = __divdi3((int)(data->progress).uploaded,\n                            *(undefined4 *)((int)&(data->progress).uploaded + 4),uVar27);\n        }\n        else {\n          uVar27 = 0;\n          if (-iVar20 < (int)(uint)(uVar8 != 0)) {\n            lVar25 = (ulonglong)(uint)(data->progress).uploaded * 100;\n            uVar27 = __divdi3((int)lVar25,\n                              (int)((ulonglong)lVar25 >> 0x20) +\n                              *(int *)((int)&(data->progress).uploaded + 4) * 100,uVar8,iVar20);\n          }\n        }\n        if ((uVar21 & 0x40) == 0) {\nLAB_0001d11b:\n          uVar29 = 0;\n        }\n        else {\n          iVar16 = (int)(data->progress).dlspeed;\n          iVar19 = *(int *)((int)&(data->progress).dlspeed + 4);\n          if ((int)(uint)(iVar16 != 0) <= -iVar19) goto LAB_0001d11b;\nLAB_0001d331:\n          uVar21 = (uint)(data->progress).size_dl;\n          iVar20 = *(int *)((int)&(data->progress).size_dl + 4);\n          __divdi3(uVar21,iVar20,iVar16,iVar19);\n          if (-iVar20 < (int)(uint)(10000 < uVar21)) {\n            uVar29 = __divdi3(uVar21,iVar20,100,0);\n            uVar29 = __divdi3((int)(data->progress).downloaded,\n                              *(undefined4 *)((int)&(data->progress).downloaded + 4),uVar29);\n          }\n          else {\n            uVar29 = 0;\n            if (-iVar20 < (int)(uint)(uVar21 != 0)) {\n              lVar25 = (ulonglong)(uint)(data->progress).downloaded * 100;\n              uVar29 = __divdi3((int)lVar25,\n                                (int)((ulonglong)lVar25 >> 0x20) +\n                                *(int *)((int)&(data->progress).downloaded + 4) * 100,uVar21,iVar20)\n              ;\n            }\n          }\n        }\n      }\n      local_b0 = (undefined4)((ulonglong)uVar27 >> 0x20);\n      local_b4 = (undefined4)uVar27;\n      local_b8 = (undefined4)((ulonglong)uVar29 >> 0x20);\n      local_bc = (undefined4)uVar29;\n      time2str(time_left,CONCAT44(ppuVar14,in_stack_ffffff24));\n      time2str(time_total,CONCAT44(ppuVar14,in_stack_ffffff24));\n      time2str(time_spent,CONCAT44(ppuVar14,in_stack_ffffff24));\n      uVar21 = (data->progress).flags;\n      if ((uVar21 & 0x20) == 0) {\n        uVar8 = (uint)(data->progress).uploaded;\n        iVar16 = *(int *)((int)&(data->progress).uploaded + 4);\n        local_c4 = uVar8;\n        local_c0 = iVar16;\n      }\n      else {\n        uVar8 = (uint)(data->progress).size_ul;\n        iVar16 = *(int *)((int)&(data->progress).size_ul + 4);\n        local_c4 = (uint)(data->progress).uploaded;\n        local_c0 = *(int *)((int)&(data->progress).uploaded + 4);\n      }\n      uVar3 = (uint)(data->progress).downloaded;\n      iVar19 = *(int *)((int)&(data->progress).downloaded + 4);\n      uVar17 = uVar3;\n      iVar20 = iVar19;\n      if ((uVar21 & 0x40) != 0) {\n        uVar17 = (uint)(data->progress).size_dl;\n        iVar20 = *(int *)((int)&(data->progress).size_dl + 4);\n      }\n      pcVar23 = (char *)(uVar8 + uVar17);\n      iVar20 = iVar16 + iVar20 + (uint)CARRY4(uVar8,uVar17);\n      iVar16 = iVar19 + local_c0 + (uint)CARRY4(uVar3,local_c4);\n      if (-iVar20 < (int)(uint)((char *)0x2710 < pcVar23)) {\n        uVar27 = __divdi3(pcVar23,iVar20,100,0);\n        uVar27 = __divdi3(uVar3 + local_c4,iVar16,uVar27);\n      }\n      else {\n        uVar27 = 0;\n        if (-iVar20 < (int)(uint)(pcVar23 != (char *)0x0)) {\n          lVar25 = (ulonglong)(uVar3 + local_c4) * 100;\n          uVar27 = __divdi3((int)lVar25,(int)((ulonglong)lVar25 >> 0x20) + iVar16 * 100,pcVar23,\n                            iVar20);\n        }\n      }\n      local_c8 = (undefined4)((ulonglong)uVar27 >> 0x20);\n      local_cc = (undefined4)uVar27;\n      pcVar9 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),\n                        *(char **)&(data->progress).current_speed);\n      pcVar10 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).ulspeed);\n      pcVar11 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).dlspeed);\n      pcVar12 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).uploaded);\n      pcVar13 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).downloaded\n                        );\n      pcVar23 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),pcVar23);\n      curl_mfprintf((data->set).err,(char *)(ppuVar14 + -0xcccf),local_cc,local_c8,pcVar23,local_bc,\n                    local_b8,pcVar13,local_b4,local_b0,pcVar12,pcVar11,pcVar10,time_total,time_spent\n                    ,time_left,pcVar9);\n      fflush((FILE *)(data->set).err);\n      goto LAB_0001d1c8;\n    }\n    Curl_set_in_callback(data,true);\n    iStack_d4 = (*(data->set).fprogress)\n                          ((data->set).progress_client,(double)(data->progress).size_dl,\n                           (double)(data->progress).downloaded,(double)(data->progress).size_ul,\n                           (double)(data->progress).uploaded);\n  }\n  else {\n    Curl_set_in_callback(data,true);\n    iStack_d4 = (*(data->set).fxferinfo)\n                          ((data->set).progress_client,(data->progress).size_dl,\n                           (data->progress).downloaded,(data->progress).size_ul,\n                           (data->progress).uploaded);\n  }\n  Curl_set_in_callback(data,false);\n  if (iStack_d4 != 0) {\n    Curl_failf(data,(char *)((int)ppuVar14 + -209999));\n  }\nLAB_0001d1c8:\n  if (iVar2 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return iStack_d4;\n}" primitive_type (function_declarator "Curl_pgrsUpdate(connectdata *conn)" identifier (parameter_list "(connectdata *conn)" ( (parameter_declaration "connectdata *conn" type_identifier (pointer_declarator "*conn" * identifier)) ))) (compound_statement "{\n  curl_off_t *pcVar1;\n  int iVar2;\n  Curl_easy *data;\n  uint uVar3;\n  curltime newer;\n  curltime newer_00;\n  curltime older;\n  bool bVar4;\n  timediff_t tVar5;\n  int iVar6;\n  int iVar7;\n  uint uVar8;\n  char *pcVar9;\n  char *pcVar10;\n  char *pcVar11;\n  char *pcVar12;\n  char *pcVar13;\n  undefined **ppuVar14;\n  int iVar15;\n  int iVar16;\n  FILE *whereto;\n  uint uVar17;\n  int iVar18;\n  int iVar19;\n  int iVar20;\n  uint uVar21;\n  int iVar22;\n  char *pcVar23;\n  int iVar24;\n  int in_GS_OFFSET;\n  longlong lVar25;\n  longlong lVar26;\n  undefined8 uVar27;\n  curl_off_t cVar28;\n  undefined8 uVar29;\n  time_t tVar30;\n  undefined4 in_stack_ffffff24;\n  undefined **ppuVar31;\n  int iStack_d4;\n  undefined4 local_cc;\n  undefined4 local_c8;\n  uint local_c4;\n  int local_c0;\n  undefined4 local_bc;\n  undefined4 local_b8;\n  undefined4 local_b4;\n  undefined4 local_b0;\n  int local_84;\n  int iStack_80;\n  char max5 [6] [10];\n  char time_left [10];\n  char time_total [10];\n  char time_spent [10];\n  \n  ppuVar14 = &_GLOBAL_OFFSET_TABLE_;\n  iVar2 = *(int *)(in_GS_OFFSET + 0x14);\n  data = conn->data;\n  iVar16 = (data->progress).speeder_c;\n  iVar19 = *(int *)((int)&(data->progress).uploaded + 4);\n  uVar21 = (uint)(data->progress).downloaded;\n  iVar20 = *(int *)((int)&(data->progress).downloaded + 4);\n  uVar8 = (uint)(data->progress).uploaded;\n  Curl_now();\n  newer.tv_usec = iStack_80;\n  newer.tv_sec = local_84;\n  tVar5 = Curl_timediff_us(newer,(data->progress).start);\n  (data->progress).timespent = tVar5;\n  iVar7 = tVar5 / 1000000;\n  iVar18 = iVar7 >> 0x1f;\n  iVar15 = tVar5 / 1000;\n  iVar6 = iVar15 >> 0x1f;\n  if ((SBORROW4(0x20c49b,iVar20) != SBORROW4(0x20c49b - iVar20,(uint)(0xa5e353f6 < uVar21))) ==\n      (int)((0x20c49b - iVar20) - (uint)(0xa5e353f6 < uVar21)) < 0) {\n    iVar22 = iVar15;\n    iVar24 = iVar6;\n    if ((int)(uint)(iVar15 != 0) <= -iVar6) {\n      iVar22 = 1;\n      iVar24 = 0;\n    }\n    lVar25 = __divdi3((int)((ulonglong)uVar21 * 1000),\n                      (int)((ulonglong)uVar21 * 1000 >> 0x20) + iVar20 * 1000,iVar22,iVar24);\n  }\n  else {\n    iVar22 = iVar7;\n    iVar24 = iVar18;\n    if ((int)(uint)(iVar7 != 0) <= -iVar18) {\n      iVar22 = 1;\n      iVar24 = 0;\n    }\n    lVar25 = __divdi3(uVar21,iVar20,iVar22,iVar24);\n  }\n  (data->progress).dlspeed = lVar25;\n  if ((SBORROW4(0x20c49b,iVar19) != SBORROW4(0x20c49b - iVar19,(uint)(0xa5e353f6 < uVar8))) ==\n      (int)((0x20c49b - iVar19) - (uint)(0xa5e353f6 < uVar8)) < 0) {\n    if ((int)(uint)(iVar15 != 0) <= -iVar6) {\n      iVar15 = 1;\n      iVar6 = 0;\n    }\n    lVar26 = __divdi3((int)((ulonglong)uVar8 * 1000),\n                      (int)((ulonglong)uVar8 * 1000 >> 0x20) + iVar19 * 1000,iVar15,iVar6);\n    iVar7 = iVar15;\n    iVar18 = iVar6;\n  }\n  else {\n    if ((int)(uint)(iVar7 != 0) <= -iVar18) {\n      iVar7 = 1;\n      iVar18 = 0;\n    }\n    lVar26 = __divdi3(uVar8,iVar19,iVar7,iVar18);\n  }\n  bVar4 = false;\n  (data->progress).ulspeed = lVar26;\n  if ((data->progress).lastshow != local_84) {\n    (data->progress).lastshow = local_84;\n    iVar16 = iVar16 % 6;\n    uVar21 = (uint)(data->progress).uploaded;\n    pcVar1 = &(data->progress).downloaded;\n    cVar28 = *pcVar1;\n    *(uint *)((int)(data->progress).speeder + iVar16 * 8 + 4) =\n         *(int *)((int)&(data->progress).uploaded + 4) +\n         *(int *)((int)&(data->progress).downloaded + 4) + (uint)CARRY4(uVar21,(uint)*pcVar1);\n    *(uint *)((data->progress).speeder + iVar16) = uVar21 + (int)cVar28;\n    *(int *)((int)(data->state).tempwrite + iVar16 * 8 + -0x74) = iStack_80;\n    (data->progress).speeder_time[iVar16].tv_sec = local_84;\n    iVar19 = (data->progress).speeder_c + 1;\n    (data->progress).speeder_c = iVar19;\n    if (iVar19 == 1) {\n      bVar4 = true;\n      (data->progress).current_speed = lVar25 + lVar26;\n    }\n    else {\n      iVar20 = 0;\n      if (5 < iVar19) {\n        iVar20 = iVar19 % 6;\n      }\n      iVar18 = *(int *)((int)(data->state).tempwrite + iVar20 * 8 + -0x74);\n      tVar30 = (data->progress).speeder_time[iVar20].tv_sec;\n      newer_00.tv_usec = iStack_80;\n      newer_00.tv_sec = local_84;\n      older.tv_usec = iVar18;\n      older.tv_sec = tVar30;\n      ppuVar31 = ppuVar14;\n      iVar7 = Curl_timediff(newer_00,older);\n      if (iVar7 == 0) {\n        iVar7 = 1;\n      }\n      uVar21 = (uint)(data->progress).speeder[iVar16];\n      pcVar1 = (data->progress).speeder + iVar20;\n      uVar8 = uVar21 - (int)*pcVar1;\n      iVar16 = (*(int *)((int)(data->progress).speeder + iVar16 * 8 + 4) -\n               *(int *)((int)(data->progress).speeder + iVar20 * 8 + 4)) -\n               (uint)(uVar21 < (uint)*pcVar1);\n      if (-iVar16 < (int)(uint)(0x418937 < uVar8)) {\n        bVar4 = true;\n        (data->progress).current_speed =\n             (longlong)\n             ROUND((float)CONCAT44(iVar16,uVar8) / ((float)iVar7 / (float)ppuVar14[-0xccc2]));\n        iVar7 = tVar30;\n        ppuVar14 = ppuVar31;\n      }\n      else {\n        iVar18 = iVar7 >> 0x1f;\n        cVar28 = __divdi3((int)((ulonglong)uVar8 * 1000),\n                          (int)((ulonglong)uVar8 * 1000 >> 0x20) + iVar16 * 1000,iVar7,iVar18);\n        bVar4 = true;\n        (data->progress).current_speed = cVar28;\n        ppuVar14 = ppuVar31;\n      }\n    }\n  }\n  uVar21 = (data->progress).flags;\n  if ((uVar21 & 0x10) != 0) {\n    iStack_d4 = 0;\n    goto LAB_0001d1c8;\n  }\n  if ((data->set).fxferinfo == (curl_xferinfo_callback)0x0) {\n    if ((data->set).fprogress == (curl_progress_callback)0x0) {\n      iStack_d4 = 0;\n      if (!bVar4) goto LAB_0001d1c8;\n      if ((uVar21 & 0x80) == 0) {\n        iVar16 = *(int *)((int)&(data->state).resume_from + 4);\n        iVar19 = (int)(data->state).resume_from;\n        whereto = (data->set).err;\n        if (iVar16 != 0 || iVar19 != 0) {\n          curl_mfprintf(whereto,(char *)(ppuVar14 + -0xcd04),iVar19,iVar16);\n          whereto = (data->set).err;\n          iVar7 = iVar19;\n          iVar18 = iVar16;\n        }\n        curl_mfprintf(whereto,(char *)(ppuVar14 + -0xccf8),iVar7,iVar18);\n        uVar21 = (data->progress).flags | 0x80;\n        (data->progress).flags = uVar21;\n      }\n      if ((uVar21 & 0x20) == 0) {\nLAB_0001d2f0:\n        if ((uVar21 & 0x40) != 0) {\n          iVar16 = (int)(data->progress).dlspeed;\n          iVar19 = *(int *)((int)&(data->progress).dlspeed + 4);\n          if (-iVar19 < (int)(uint)(iVar16 != 0)) {\n            uVar27 = 0;\n            goto LAB_0001d331;\n          }\n        }\n        uVar27 = 0;\n        uVar29 = 0;\n      }\n      else {\n        iVar16 = (int)(data->progress).ulspeed;\n        iVar19 = *(int *)((int)&(data->progress).ulspeed + 4);\n        if ((int)(uint)(iVar16 != 0) <= -iVar19) goto LAB_0001d2f0;\n        uVar8 = (uint)(data->progress).size_ul;\n        iVar20 = *(int *)((int)&(data->progress).size_ul + 4);\n        __divdi3(uVar8,iVar20,iVar16,iVar19);\n        if (-iVar20 < (int)(uint)(10000 < uVar8)) {\n          uVar27 = __divdi3(uVar8,iVar20,100,0);\n          uVar27 = __divdi3((int)(data->progress).uploaded,\n                            *(undefined4 *)((int)&(data->progress).uploaded + 4),uVar27);\n        }\n        else {\n          uVar27 = 0;\n          if (-iVar20 < (int)(uint)(uVar8 != 0)) {\n            lVar25 = (ulonglong)(uint)(data->progress).uploaded * 100;\n            uVar27 = __divdi3((int)lVar25,\n                              (int)((ulonglong)lVar25 >> 0x20) +\n                              *(int *)((int)&(data->progress).uploaded + 4) * 100,uVar8,iVar20);\n          }\n        }\n        if ((uVar21 & 0x40) == 0) {\nLAB_0001d11b:\n          uVar29 = 0;\n        }\n        else {\n          iVar16 = (int)(data->progress).dlspeed;\n          iVar19 = *(int *)((int)&(data->progress).dlspeed + 4);\n          if ((int)(uint)(iVar16 != 0) <= -iVar19) goto LAB_0001d11b;\nLAB_0001d331:\n          uVar21 = (uint)(data->progress).size_dl;\n          iVar20 = *(int *)((int)&(data->progress).size_dl + 4);\n          __divdi3(uVar21,iVar20,iVar16,iVar19);\n          if (-iVar20 < (int)(uint)(10000 < uVar21)) {\n            uVar29 = __divdi3(uVar21,iVar20,100,0);\n            uVar29 = __divdi3((int)(data->progress).downloaded,\n                              *(undefined4 *)((int)&(data->progress).downloaded + 4),uVar29);\n          }\n          else {\n            uVar29 = 0;\n            if (-iVar20 < (int)(uint)(uVar21 != 0)) {\n              lVar25 = (ulonglong)(uint)(data->progress).downloaded * 100;\n              uVar29 = __divdi3((int)lVar25,\n                                (int)((ulonglong)lVar25 >> 0x20) +\n                                *(int *)((int)&(data->progress).downloaded + 4) * 100,uVar21,iVar20)\n              ;\n            }\n          }\n        }\n      }\n      local_b0 = (undefined4)((ulonglong)uVar27 >> 0x20);\n      local_b4 = (undefined4)uVar27;\n      local_b8 = (undefined4)((ulonglong)uVar29 >> 0x20);\n      local_bc = (undefined4)uVar29;\n      time2str(time_left,CONCAT44(ppuVar14,in_stack_ffffff24));\n      time2str(time_total,CONCAT44(ppuVar14,in_stack_ffffff24));\n      time2str(time_spent,CONCAT44(ppuVar14,in_stack_ffffff24));\n      uVar21 = (data->progress).flags;\n      if ((uVar21 & 0x20) == 0) {\n        uVar8 = (uint)(data->progress).uploaded;\n        iVar16 = *(int *)((int)&(data->progress).uploaded + 4);\n        local_c4 = uVar8;\n        local_c0 = iVar16;\n      }\n      else {\n        uVar8 = (uint)(data->progress).size_ul;\n        iVar16 = *(int *)((int)&(data->progress).size_ul + 4);\n        local_c4 = (uint)(data->progress).uploaded;\n        local_c0 = *(int *)((int)&(data->progress).uploaded + 4);\n      }\n      uVar3 = (uint)(data->progress).downloaded;\n      iVar19 = *(int *)((int)&(data->progress).downloaded + 4);\n      uVar17 = uVar3;\n      iVar20 = iVar19;\n      if ((uVar21 & 0x40) != 0) {\n        uVar17 = (uint)(data->progress).size_dl;\n        iVar20 = *(int *)((int)&(data->progress).size_dl + 4);\n      }\n      pcVar23 = (char *)(uVar8 + uVar17);\n      iVar20 = iVar16 + iVar20 + (uint)CARRY4(uVar8,uVar17);\n      iVar16 = iVar19 + local_c0 + (uint)CARRY4(uVar3,local_c4);\n      if (-iVar20 < (int)(uint)((char *)0x2710 < pcVar23)) {\n        uVar27 = __divdi3(pcVar23,iVar20,100,0);\n        uVar27 = __divdi3(uVar3 + local_c4,iVar16,uVar27);\n      }\n      else {\n        uVar27 = 0;\n        if (-iVar20 < (int)(uint)(pcVar23 != (char *)0x0)) {\n          lVar25 = (ulonglong)(uVar3 + local_c4) * 100;\n          uVar27 = __divdi3((int)lVar25,(int)((ulonglong)lVar25 >> 0x20) + iVar16 * 100,pcVar23,\n                            iVar20);\n        }\n      }\n      local_c8 = (undefined4)((ulonglong)uVar27 >> 0x20);\n      local_cc = (undefined4)uVar27;\n      pcVar9 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),\n                        *(char **)&(data->progress).current_speed);\n      pcVar10 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).ulspeed);\n      pcVar11 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).dlspeed);\n      pcVar12 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).uploaded);\n      pcVar13 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).downloaded\n                        );\n      pcVar23 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),pcVar23);\n      curl_mfprintf((data->set).err,(char *)(ppuVar14 + -0xcccf),local_cc,local_c8,pcVar23,local_bc,\n                    local_b8,pcVar13,local_b4,local_b0,pcVar12,pcVar11,pcVar10,time_total,time_spent\n                    ,time_left,pcVar9);\n      fflush((FILE *)(data->set).err);\n      goto LAB_0001d1c8;\n    }\n    Curl_set_in_callback(data,true);\n    iStack_d4 = (*(data->set).fprogress)\n                          ((data->set).progress_client,(double)(data->progress).size_dl,\n                           (double)(data->progress).downloaded,(double)(data->progress).size_ul,\n                           (double)(data->progress).uploaded);\n  }\n  else {\n    Curl_set_in_callback(data,true);\n    iStack_d4 = (*(data->set).fxferinfo)\n                          ((data->set).progress_client,(data->progress).size_dl,\n                           (data->progress).downloaded,(data->progress).size_ul,\n                           (data->progress).uploaded);\n  }\n  Curl_set_in_callback(data,false);\n  if (iStack_d4 != 0) {\n    Curl_failf(data,(char *)((int)ppuVar14 + -209999));\n  }\nLAB_0001d1c8:\n  if (iVar2 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return iStack_d4;\n}" { (declaration "curl_off_t *pcVar1;" type_identifier (pointer_declarator "*pcVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "Curl_easy *data;" type_identifier (pointer_declarator "*data" * identifier) ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "curltime newer;" type_identifier identifier ;) (declaration "curltime newer_00;" type_identifier identifier ;) (declaration "curltime older;" type_identifier identifier ;) (declaration "bool bVar4;" primitive_type identifier ;) (declaration "timediff_t tVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "char *pcVar10;" primitive_type (pointer_declarator "*pcVar10" * identifier) ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "undefined **ppuVar14;" type_identifier (pointer_declarator "**ppuVar14" * (pointer_declarator "*ppuVar14" * identifier)) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "FILE *whereto;" type_identifier (pointer_declarator "*whereto" * identifier) ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "char *pcVar23;" primitive_type (pointer_declarator "*pcVar23" * identifier) ;) (declaration "int iVar24;" primitive_type identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "longlong lVar25;" type_identifier identifier ;) (declaration "longlong lVar26;" type_identifier identifier ;) (declaration "undefined8 uVar27;" type_identifier identifier ;) (declaration "curl_off_t cVar28;" type_identifier identifier ;) (declaration "undefined8 uVar29;" type_identifier identifier ;) (declaration "time_t tVar30;" type_identifier identifier ;) (declaration "undefined4 in_stack_ffffff24;" type_identifier identifier ;) (declaration "undefined **ppuVar31;" type_identifier (pointer_declarator "**ppuVar31" * (pointer_declarator "*ppuVar31" * identifier)) ;) (declaration "int iStack_d4;" primitive_type identifier ;) (declaration "undefined4 local_cc;" type_identifier identifier ;) (declaration "undefined4 local_c8;" type_identifier identifier ;) (declaration "uint local_c4;" type_identifier identifier ;) (declaration "int local_c0;" primitive_type identifier ;) (declaration "undefined4 local_bc;" type_identifier identifier ;) (declaration "undefined4 local_b8;" type_identifier identifier ;) (declaration "undefined4 local_b4;" type_identifier identifier ;) (declaration "undefined4 local_b0;" type_identifier identifier ;) (declaration "int local_84;" primitive_type identifier ;) (declaration "int iStack_80;" primitive_type identifier ;) (declaration "char max5 [6] [10];" primitive_type (array_declarator "max5 [6] [10]" (array_declarator "max5 [6]" identifier [ number_literal ]) [ number_literal ]) ;) (declaration "char time_left [10];" primitive_type (array_declarator "time_left [10]" identifier [ number_literal ]) ;) (declaration "char time_total [10];" primitive_type (array_declarator "time_total [10]" identifier [ number_literal ]) ;) (declaration "char time_spent [10];" primitive_type (array_declarator "time_spent [10]" identifier [ number_literal ]) ;) (expression_statement "ppuVar14 = &_GLOBAL_OFFSET_TABLE_;" (assignment_expression "ppuVar14 = &_GLOBAL_OFFSET_TABLE_" identifier = (pointer_expression "&_GLOBAL_OFFSET_TABLE_" & identifier)) ;) (expression_statement "iVar2 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "iVar2 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "data = conn->data;" (assignment_expression "data = conn->data" identifier = (field_expression "conn->data" identifier -> field_identifier)) ;) (expression_statement "iVar16 = (data->progress).speeder_c;" (assignment_expression "iVar16 = (data->progress).speeder_c" identifier = (field_expression "(data->progress).speeder_c" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "iVar19 = *(int *)((int)&(data->progress).uploaded + 4);" (assignment_expression "iVar19 = *(int *)((int)&(data->progress).uploaded + 4)" identifier = (pointer_expression "*(int *)((int)&(data->progress).uploaded + 4)" * (cast_expression "(int *)((int)&(data->progress).uploaded + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(data->progress).uploaded + 4)" ( (binary_expression "(int)&(data->progress).uploaded + 4" (cast_expression "(int)&(data->progress).uploaded" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(data->progress).uploaded" & (field_expression "(data->progress).uploaded" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier))) + number_literal) ))))) ;) (expression_statement "uVar21 = (uint)(data->progress).downloaded;" (assignment_expression "uVar21 = (uint)(data->progress).downloaded" identifier = (field_expression "(uint)(data->progress).downloaded" (call_expression "(uint)(data->progress)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) ))) . field_identifier)) ;) (expression_statement "iVar20 = *(int *)((int)&(data->progress).downloaded + 4);" (assignment_expression "iVar20 = *(int *)((int)&(data->progress).downloaded + 4)" identifier = (pointer_expression "*(int *)((int)&(data->progress).downloaded + 4)" * (cast_expression "(int *)((int)&(data->progress).downloaded + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(data->progress).downloaded + 4)" ( (binary_expression "(int)&(data->progress).downloaded + 4" (cast_expression "(int)&(data->progress).downloaded" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(data->progress).downloaded" & (field_expression "(data->progress).downloaded" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier))) + number_literal) ))))) ;) (expression_statement "uVar8 = (uint)(data->progress).uploaded;" (assignment_expression "uVar8 = (uint)(data->progress).uploaded" identifier = (field_expression "(uint)(data->progress).uploaded" (call_expression "(uint)(data->progress)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) ))) . field_identifier)) ;) (expression_statement "Curl_now();" (call_expression "Curl_now()" identifier (argument_list "()" ( ))) ;) (expression_statement "newer.tv_usec = iStack_80;" (assignment_expression "newer.tv_usec = iStack_80" (field_expression "newer.tv_usec" identifier . field_identifier) = identifier) ;) (expression_statement "newer.tv_sec = local_84;" (assignment_expression "newer.tv_sec = local_84" (field_expression "newer.tv_sec" identifier . field_identifier) = identifier) ;) (expression_statement "tVar5 = Curl_timediff_us(newer,(data->progress).start);" (assignment_expression "tVar5 = Curl_timediff_us(newer,(data->progress).start)" identifier = (call_expression "Curl_timediff_us(newer,(data->progress).start)" identifier (argument_list "(newer,(data->progress).start)" ( identifier , (field_expression "(data->progress).start" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier) )))) ;) (expression_statement "(data->progress).timespent = tVar5;" (assignment_expression "(data->progress).timespent = tVar5" (field_expression "(data->progress).timespent" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "iVar7 = tVar5 / 1000000;" (assignment_expression "iVar7 = tVar5 / 1000000" identifier = (binary_expression "tVar5 / 1000000" identifier / number_literal)) ;) (expression_statement "iVar18 = iVar7 >> 0x1f;" (assignment_expression "iVar18 = iVar7 >> 0x1f" identifier = (binary_expression "iVar7 >> 0x1f" identifier >> number_literal)) ;) (expression_statement "iVar15 = tVar5 / 1000;" (assignment_expression "iVar15 = tVar5 / 1000" identifier = (binary_expression "tVar5 / 1000" identifier / number_literal)) ;) (expression_statement "iVar6 = iVar15 >> 0x1f;" (assignment_expression "iVar6 = iVar15 >> 0x1f" identifier = (binary_expression "iVar15 >> 0x1f" identifier >> number_literal)) ;) (if_statement "if ((SBORROW4(0x20c49b,iVar20) != SBORROW4(0x20c49b - iVar20,(uint)(0xa5e353f6 < uVar21))) ==\n      (int)((0x20c49b - iVar20) - (uint)(0xa5e353f6 < uVar21)) < 0) {\n    iVar22 = iVar15;\n    iVar24 = iVar6;\n    if ((int)(uint)(iVar15 != 0) <= -iVar6) {\n      iVar22 = 1;\n      iVar24 = 0;\n    }\n    lVar25 = __divdi3((int)((ulonglong)uVar21 * 1000),\n                      (int)((ulonglong)uVar21 * 1000 >> 0x20) + iVar20 * 1000,iVar22,iVar24);\n  }\n  else {\n    iVar22 = iVar7;\n    iVar24 = iVar18;\n    if ((int)(uint)(iVar7 != 0) <= -iVar18) {\n      iVar22 = 1;\n      iVar24 = 0;\n    }\n    lVar25 = __divdi3(uVar21,iVar20,iVar22,iVar24);\n  }" if (parenthesized_expression "((SBORROW4(0x20c49b,iVar20) != SBORROW4(0x20c49b - iVar20,(uint)(0xa5e353f6 < uVar21))) ==\n      (int)((0x20c49b - iVar20) - (uint)(0xa5e353f6 < uVar21)) < 0)" ( (binary_expression "(SBORROW4(0x20c49b,iVar20) != SBORROW4(0x20c49b - iVar20,(uint)(0xa5e353f6 < uVar21))) ==\n      (int)((0x20c49b - iVar20) - (uint)(0xa5e353f6 < uVar21)) < 0" (parenthesized_expression "(SBORROW4(0x20c49b,iVar20) != SBORROW4(0x20c49b - iVar20,(uint)(0xa5e353f6 < uVar21)))" ( (binary_expression "SBORROW4(0x20c49b,iVar20) != SBORROW4(0x20c49b - iVar20,(uint)(0xa5e353f6 < uVar21))" (call_expression "SBORROW4(0x20c49b,iVar20)" identifier (argument_list "(0x20c49b,iVar20)" ( number_literal , identifier ))) != (call_expression "SBORROW4(0x20c49b - iVar20,(uint)(0xa5e353f6 < uVar21))" identifier (argument_list "(0x20c49b - iVar20,(uint)(0xa5e353f6 < uVar21))" ( (binary_expression "0x20c49b - iVar20" number_literal - identifier) , (call_expression "(uint)(0xa5e353f6 < uVar21)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xa5e353f6 < uVar21)" ( (binary_expression "0xa5e353f6 < uVar21" number_literal < identifier) ))) )))) )) == (binary_expression "(int)((0x20c49b - iVar20) - (uint)(0xa5e353f6 < uVar21)) < 0" (cast_expression "(int)((0x20c49b - iVar20) - (uint)(0xa5e353f6 < uVar21))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((0x20c49b - iVar20) - (uint)(0xa5e353f6 < uVar21))" ( (binary_expression "(0x20c49b - iVar20) - (uint)(0xa5e353f6 < uVar21)" (parenthesized_expression "(0x20c49b - iVar20)" ( (binary_expression "0x20c49b - iVar20" number_literal - identifier) )) - (call_expression "(uint)(0xa5e353f6 < uVar21)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xa5e353f6 < uVar21)" ( (binary_expression "0xa5e353f6 < uVar21" number_literal < identifier) )))) ))) < number_literal)) )) (compound_statement "{\n    iVar22 = iVar15;\n    iVar24 = iVar6;\n    if ((int)(uint)(iVar15 != 0) <= -iVar6) {\n      iVar22 = 1;\n      iVar24 = 0;\n    }\n    lVar25 = __divdi3((int)((ulonglong)uVar21 * 1000),\n                      (int)((ulonglong)uVar21 * 1000 >> 0x20) + iVar20 * 1000,iVar22,iVar24);\n  }" { (expression_statement "iVar22 = iVar15;" (assignment_expression "iVar22 = iVar15" identifier = identifier) ;) (expression_statement "iVar24 = iVar6;" (assignment_expression "iVar24 = iVar6" identifier = identifier) ;) (if_statement "if ((int)(uint)(iVar15 != 0) <= -iVar6) {\n      iVar22 = 1;\n      iVar24 = 0;\n    }" if (parenthesized_expression "((int)(uint)(iVar15 != 0) <= -iVar6)" ( (binary_expression "(int)(uint)(iVar15 != 0) <= -iVar6" (cast_expression "(int)(uint)(iVar15 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(iVar15 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )))) <= (unary_expression "-iVar6" - identifier)) )) (compound_statement "{\n      iVar22 = 1;\n      iVar24 = 0;\n    }" { (expression_statement "iVar22 = 1;" (assignment_expression "iVar22 = 1" identifier = number_literal) ;) (expression_statement "iVar24 = 0;" (assignment_expression "iVar24 = 0" identifier = number_literal) ;) })) (expression_statement "lVar25 = __divdi3((int)((ulonglong)uVar21 * 1000),\n                      (int)((ulonglong)uVar21 * 1000 >> 0x20) + iVar20 * 1000,iVar22,iVar24);" (assignment_expression "lVar25 = __divdi3((int)((ulonglong)uVar21 * 1000),\n                      (int)((ulonglong)uVar21 * 1000 >> 0x20) + iVar20 * 1000,iVar22,iVar24)" identifier = (call_expression "__divdi3((int)((ulonglong)uVar21 * 1000),\n                      (int)((ulonglong)uVar21 * 1000 >> 0x20) + iVar20 * 1000,iVar22,iVar24)" identifier (argument_list "((int)((ulonglong)uVar21 * 1000),\n                      (int)((ulonglong)uVar21 * 1000 >> 0x20) + iVar20 * 1000,iVar22,iVar24)" ( (cast_expression "(int)((ulonglong)uVar21 * 1000)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar21 * 1000)" ( (binary_expression "(ulonglong)uVar21 * 1000" (cast_expression "(ulonglong)uVar21" ( (type_descriptor "ulonglong" type_identifier) ) identifier) * number_literal) ))) , (binary_expression "(int)((ulonglong)uVar21 * 1000 >> 0x20) + iVar20 * 1000" (cast_expression "(int)((ulonglong)uVar21 * 1000 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar21 * 1000 >> 0x20)" ( (binary_expression "(ulonglong)uVar21 * 1000 >> 0x20" (binary_expression "(ulonglong)uVar21 * 1000" (cast_expression "(ulonglong)uVar21" ( (type_descriptor "ulonglong" type_identifier) ) identifier) * number_literal) >> number_literal) ))) + (binary_expression "iVar20 * 1000" identifier * number_literal)) , identifier , identifier )))) ;) }) (else_clause "else {\n    iVar22 = iVar7;\n    iVar24 = iVar18;\n    if ((int)(uint)(iVar7 != 0) <= -iVar18) {\n      iVar22 = 1;\n      iVar24 = 0;\n    }\n    lVar25 = __divdi3(uVar21,iVar20,iVar22,iVar24);\n  }" else (compound_statement "{\n    iVar22 = iVar7;\n    iVar24 = iVar18;\n    if ((int)(uint)(iVar7 != 0) <= -iVar18) {\n      iVar22 = 1;\n      iVar24 = 0;\n    }\n    lVar25 = __divdi3(uVar21,iVar20,iVar22,iVar24);\n  }" { (expression_statement "iVar22 = iVar7;" (assignment_expression "iVar22 = iVar7" identifier = identifier) ;) (expression_statement "iVar24 = iVar18;" (assignment_expression "iVar24 = iVar18" identifier = identifier) ;) (if_statement "if ((int)(uint)(iVar7 != 0) <= -iVar18) {\n      iVar22 = 1;\n      iVar24 = 0;\n    }" if (parenthesized_expression "((int)(uint)(iVar7 != 0) <= -iVar18)" ( (binary_expression "(int)(uint)(iVar7 != 0) <= -iVar18" (cast_expression "(int)(uint)(iVar7 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(iVar7 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )))) <= (unary_expression "-iVar18" - identifier)) )) (compound_statement "{\n      iVar22 = 1;\n      iVar24 = 0;\n    }" { (expression_statement "iVar22 = 1;" (assignment_expression "iVar22 = 1" identifier = number_literal) ;) (expression_statement "iVar24 = 0;" (assignment_expression "iVar24 = 0" identifier = number_literal) ;) })) (expression_statement "lVar25 = __divdi3(uVar21,iVar20,iVar22,iVar24);" (assignment_expression "lVar25 = __divdi3(uVar21,iVar20,iVar22,iVar24)" identifier = (call_expression "__divdi3(uVar21,iVar20,iVar22,iVar24)" identifier (argument_list "(uVar21,iVar20,iVar22,iVar24)" ( identifier , identifier , identifier , identifier )))) ;) }))) (expression_statement "(data->progress).dlspeed = lVar25;" (assignment_expression "(data->progress).dlspeed = lVar25" (field_expression "(data->progress).dlspeed" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (if_statement "if ((SBORROW4(0x20c49b,iVar19) != SBORROW4(0x20c49b - iVar19,(uint)(0xa5e353f6 < uVar8))) ==\n      (int)((0x20c49b - iVar19) - (uint)(0xa5e353f6 < uVar8)) < 0) {\n    if ((int)(uint)(iVar15 != 0) <= -iVar6) {\n      iVar15 = 1;\n      iVar6 = 0;\n    }\n    lVar26 = __divdi3((int)((ulonglong)uVar8 * 1000),\n                      (int)((ulonglong)uVar8 * 1000 >> 0x20) + iVar19 * 1000,iVar15,iVar6);\n    iVar7 = iVar15;\n    iVar18 = iVar6;\n  }\n  else {\n    if ((int)(uint)(iVar7 != 0) <= -iVar18) {\n      iVar7 = 1;\n      iVar18 = 0;\n    }\n    lVar26 = __divdi3(uVar8,iVar19,iVar7,iVar18);\n  }" if (parenthesized_expression "((SBORROW4(0x20c49b,iVar19) != SBORROW4(0x20c49b - iVar19,(uint)(0xa5e353f6 < uVar8))) ==\n      (int)((0x20c49b - iVar19) - (uint)(0xa5e353f6 < uVar8)) < 0)" ( (binary_expression "(SBORROW4(0x20c49b,iVar19) != SBORROW4(0x20c49b - iVar19,(uint)(0xa5e353f6 < uVar8))) ==\n      (int)((0x20c49b - iVar19) - (uint)(0xa5e353f6 < uVar8)) < 0" (parenthesized_expression "(SBORROW4(0x20c49b,iVar19) != SBORROW4(0x20c49b - iVar19,(uint)(0xa5e353f6 < uVar8)))" ( (binary_expression "SBORROW4(0x20c49b,iVar19) != SBORROW4(0x20c49b - iVar19,(uint)(0xa5e353f6 < uVar8))" (call_expression "SBORROW4(0x20c49b,iVar19)" identifier (argument_list "(0x20c49b,iVar19)" ( number_literal , identifier ))) != (call_expression "SBORROW4(0x20c49b - iVar19,(uint)(0xa5e353f6 < uVar8))" identifier (argument_list "(0x20c49b - iVar19,(uint)(0xa5e353f6 < uVar8))" ( (binary_expression "0x20c49b - iVar19" number_literal - identifier) , (call_expression "(uint)(0xa5e353f6 < uVar8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xa5e353f6 < uVar8)" ( (binary_expression "0xa5e353f6 < uVar8" number_literal < identifier) ))) )))) )) == (binary_expression "(int)((0x20c49b - iVar19) - (uint)(0xa5e353f6 < uVar8)) < 0" (cast_expression "(int)((0x20c49b - iVar19) - (uint)(0xa5e353f6 < uVar8))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((0x20c49b - iVar19) - (uint)(0xa5e353f6 < uVar8))" ( (binary_expression "(0x20c49b - iVar19) - (uint)(0xa5e353f6 < uVar8)" (parenthesized_expression "(0x20c49b - iVar19)" ( (binary_expression "0x20c49b - iVar19" number_literal - identifier) )) - (call_expression "(uint)(0xa5e353f6 < uVar8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xa5e353f6 < uVar8)" ( (binary_expression "0xa5e353f6 < uVar8" number_literal < identifier) )))) ))) < number_literal)) )) (compound_statement "{\n    if ((int)(uint)(iVar15 != 0) <= -iVar6) {\n      iVar15 = 1;\n      iVar6 = 0;\n    }\n    lVar26 = __divdi3((int)((ulonglong)uVar8 * 1000),\n                      (int)((ulonglong)uVar8 * 1000 >> 0x20) + iVar19 * 1000,iVar15,iVar6);\n    iVar7 = iVar15;\n    iVar18 = iVar6;\n  }" { (if_statement "if ((int)(uint)(iVar15 != 0) <= -iVar6) {\n      iVar15 = 1;\n      iVar6 = 0;\n    }" if (parenthesized_expression "((int)(uint)(iVar15 != 0) <= -iVar6)" ( (binary_expression "(int)(uint)(iVar15 != 0) <= -iVar6" (cast_expression "(int)(uint)(iVar15 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(iVar15 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )))) <= (unary_expression "-iVar6" - identifier)) )) (compound_statement "{\n      iVar15 = 1;\n      iVar6 = 0;\n    }" { (expression_statement "iVar15 = 1;" (assignment_expression "iVar15 = 1" identifier = number_literal) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) })) (expression_statement "lVar26 = __divdi3((int)((ulonglong)uVar8 * 1000),\n                      (int)((ulonglong)uVar8 * 1000 >> 0x20) + iVar19 * 1000,iVar15,iVar6);" (assignment_expression "lVar26 = __divdi3((int)((ulonglong)uVar8 * 1000),\n                      (int)((ulonglong)uVar8 * 1000 >> 0x20) + iVar19 * 1000,iVar15,iVar6)" identifier = (call_expression "__divdi3((int)((ulonglong)uVar8 * 1000),\n                      (int)((ulonglong)uVar8 * 1000 >> 0x20) + iVar19 * 1000,iVar15,iVar6)" identifier (argument_list "((int)((ulonglong)uVar8 * 1000),\n                      (int)((ulonglong)uVar8 * 1000 >> 0x20) + iVar19 * 1000,iVar15,iVar6)" ( (cast_expression "(int)((ulonglong)uVar8 * 1000)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar8 * 1000)" ( (binary_expression "(ulonglong)uVar8 * 1000" (cast_expression "(ulonglong)uVar8" ( (type_descriptor "ulonglong" type_identifier) ) identifier) * number_literal) ))) , (binary_expression "(int)((ulonglong)uVar8 * 1000 >> 0x20) + iVar19 * 1000" (cast_expression "(int)((ulonglong)uVar8 * 1000 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar8 * 1000 >> 0x20)" ( (binary_expression "(ulonglong)uVar8 * 1000 >> 0x20" (binary_expression "(ulonglong)uVar8 * 1000" (cast_expression "(ulonglong)uVar8" ( (type_descriptor "ulonglong" type_identifier) ) identifier) * number_literal) >> number_literal) ))) + (binary_expression "iVar19 * 1000" identifier * number_literal)) , identifier , identifier )))) ;) (expression_statement "iVar7 = iVar15;" (assignment_expression "iVar7 = iVar15" identifier = identifier) ;) (expression_statement "iVar18 = iVar6;" (assignment_expression "iVar18 = iVar6" identifier = identifier) ;) }) (else_clause "else {\n    if ((int)(uint)(iVar7 != 0) <= -iVar18) {\n      iVar7 = 1;\n      iVar18 = 0;\n    }\n    lVar26 = __divdi3(uVar8,iVar19,iVar7,iVar18);\n  }" else (compound_statement "{\n    if ((int)(uint)(iVar7 != 0) <= -iVar18) {\n      iVar7 = 1;\n      iVar18 = 0;\n    }\n    lVar26 = __divdi3(uVar8,iVar19,iVar7,iVar18);\n  }" { (if_statement "if ((int)(uint)(iVar7 != 0) <= -iVar18) {\n      iVar7 = 1;\n      iVar18 = 0;\n    }" if (parenthesized_expression "((int)(uint)(iVar7 != 0) <= -iVar18)" ( (binary_expression "(int)(uint)(iVar7 != 0) <= -iVar18" (cast_expression "(int)(uint)(iVar7 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(iVar7 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )))) <= (unary_expression "-iVar18" - identifier)) )) (compound_statement "{\n      iVar7 = 1;\n      iVar18 = 0;\n    }" { (expression_statement "iVar7 = 1;" (assignment_expression "iVar7 = 1" identifier = number_literal) ;) (expression_statement "iVar18 = 0;" (assignment_expression "iVar18 = 0" identifier = number_literal) ;) })) (expression_statement "lVar26 = __divdi3(uVar8,iVar19,iVar7,iVar18);" (assignment_expression "lVar26 = __divdi3(uVar8,iVar19,iVar7,iVar18)" identifier = (call_expression "__divdi3(uVar8,iVar19,iVar7,iVar18)" identifier (argument_list "(uVar8,iVar19,iVar7,iVar18)" ( identifier , identifier , identifier , identifier )))) ;) }))) (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" identifier = false) ;) (expression_statement "(data->progress).ulspeed = lVar26;" (assignment_expression "(data->progress).ulspeed = lVar26" (field_expression "(data->progress).ulspeed" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (if_statement "if ((data->progress).lastshow != local_84) {\n    (data->progress).lastshow = local_84;\n    iVar16 = iVar16 % 6;\n    uVar21 = (uint)(data->progress).uploaded;\n    pcVar1 = &(data->progress).downloaded;\n    cVar28 = *pcVar1;\n    *(uint *)((int)(data->progress).speeder + iVar16 * 8 + 4) =\n         *(int *)((int)&(data->progress).uploaded + 4) +\n         *(int *)((int)&(data->progress).downloaded + 4) + (uint)CARRY4(uVar21,(uint)*pcVar1);\n    *(uint *)((data->progress).speeder + iVar16) = uVar21 + (int)cVar28;\n    *(int *)((int)(data->state).tempwrite + iVar16 * 8 + -0x74) = iStack_80;\n    (data->progress).speeder_time[iVar16].tv_sec = local_84;\n    iVar19 = (data->progress).speeder_c + 1;\n    (data->progress).speeder_c = iVar19;\n    if (iVar19 == 1) {\n      bVar4 = true;\n      (data->progress).current_speed = lVar25 + lVar26;\n    }\n    else {\n      iVar20 = 0;\n      if (5 < iVar19) {\n        iVar20 = iVar19 % 6;\n      }\n      iVar18 = *(int *)((int)(data->state).tempwrite + iVar20 * 8 + -0x74);\n      tVar30 = (data->progress).speeder_time[iVar20].tv_sec;\n      newer_00.tv_usec = iStack_80;\n      newer_00.tv_sec = local_84;\n      older.tv_usec = iVar18;\n      older.tv_sec = tVar30;\n      ppuVar31 = ppuVar14;\n      iVar7 = Curl_timediff(newer_00,older);\n      if (iVar7 == 0) {\n        iVar7 = 1;\n      }\n      uVar21 = (uint)(data->progress).speeder[iVar16];\n      pcVar1 = (data->progress).speeder + iVar20;\n      uVar8 = uVar21 - (int)*pcVar1;\n      iVar16 = (*(int *)((int)(data->progress).speeder + iVar16 * 8 + 4) -\n               *(int *)((int)(data->progress).speeder + iVar20 * 8 + 4)) -\n               (uint)(uVar21 < (uint)*pcVar1);\n      if (-iVar16 < (int)(uint)(0x418937 < uVar8)) {\n        bVar4 = true;\n        (data->progress).current_speed =\n             (longlong)\n             ROUND((float)CONCAT44(iVar16,uVar8) / ((float)iVar7 / (float)ppuVar14[-0xccc2]));\n        iVar7 = tVar30;\n        ppuVar14 = ppuVar31;\n      }\n      else {\n        iVar18 = iVar7 >> 0x1f;\n        cVar28 = __divdi3((int)((ulonglong)uVar8 * 1000),\n                          (int)((ulonglong)uVar8 * 1000 >> 0x20) + iVar16 * 1000,iVar7,iVar18);\n        bVar4 = true;\n        (data->progress).current_speed = cVar28;\n        ppuVar14 = ppuVar31;\n      }\n    }\n  }" if (parenthesized_expression "((data->progress).lastshow != local_84)" ( (binary_expression "(data->progress).lastshow != local_84" (field_expression "(data->progress).lastshow" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier) != identifier) )) (compound_statement "{\n    (data->progress).lastshow = local_84;\n    iVar16 = iVar16 % 6;\n    uVar21 = (uint)(data->progress).uploaded;\n    pcVar1 = &(data->progress).downloaded;\n    cVar28 = *pcVar1;\n    *(uint *)((int)(data->progress).speeder + iVar16 * 8 + 4) =\n         *(int *)((int)&(data->progress).uploaded + 4) +\n         *(int *)((int)&(data->progress).downloaded + 4) + (uint)CARRY4(uVar21,(uint)*pcVar1);\n    *(uint *)((data->progress).speeder + iVar16) = uVar21 + (int)cVar28;\n    *(int *)((int)(data->state).tempwrite + iVar16 * 8 + -0x74) = iStack_80;\n    (data->progress).speeder_time[iVar16].tv_sec = local_84;\n    iVar19 = (data->progress).speeder_c + 1;\n    (data->progress).speeder_c = iVar19;\n    if (iVar19 == 1) {\n      bVar4 = true;\n      (data->progress).current_speed = lVar25 + lVar26;\n    }\n    else {\n      iVar20 = 0;\n      if (5 < iVar19) {\n        iVar20 = iVar19 % 6;\n      }\n      iVar18 = *(int *)((int)(data->state).tempwrite + iVar20 * 8 + -0x74);\n      tVar30 = (data->progress).speeder_time[iVar20].tv_sec;\n      newer_00.tv_usec = iStack_80;\n      newer_00.tv_sec = local_84;\n      older.tv_usec = iVar18;\n      older.tv_sec = tVar30;\n      ppuVar31 = ppuVar14;\n      iVar7 = Curl_timediff(newer_00,older);\n      if (iVar7 == 0) {\n        iVar7 = 1;\n      }\n      uVar21 = (uint)(data->progress).speeder[iVar16];\n      pcVar1 = (data->progress).speeder + iVar20;\n      uVar8 = uVar21 - (int)*pcVar1;\n      iVar16 = (*(int *)((int)(data->progress).speeder + iVar16 * 8 + 4) -\n               *(int *)((int)(data->progress).speeder + iVar20 * 8 + 4)) -\n               (uint)(uVar21 < (uint)*pcVar1);\n      if (-iVar16 < (int)(uint)(0x418937 < uVar8)) {\n        bVar4 = true;\n        (data->progress).current_speed =\n             (longlong)\n             ROUND((float)CONCAT44(iVar16,uVar8) / ((float)iVar7 / (float)ppuVar14[-0xccc2]));\n        iVar7 = tVar30;\n        ppuVar14 = ppuVar31;\n      }\n      else {\n        iVar18 = iVar7 >> 0x1f;\n        cVar28 = __divdi3((int)((ulonglong)uVar8 * 1000),\n                          (int)((ulonglong)uVar8 * 1000 >> 0x20) + iVar16 * 1000,iVar7,iVar18);\n        bVar4 = true;\n        (data->progress).current_speed = cVar28;\n        ppuVar14 = ppuVar31;\n      }\n    }\n  }" { (expression_statement "(data->progress).lastshow = local_84;" (assignment_expression "(data->progress).lastshow = local_84" (field_expression "(data->progress).lastshow" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "iVar16 = iVar16 % 6;" (assignment_expression "iVar16 = iVar16 % 6" identifier = (binary_expression "iVar16 % 6" identifier % number_literal)) ;) (expression_statement "uVar21 = (uint)(data->progress).uploaded;" (assignment_expression "uVar21 = (uint)(data->progress).uploaded" identifier = (field_expression "(uint)(data->progress).uploaded" (call_expression "(uint)(data->progress)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) ))) . field_identifier)) ;) (expression_statement "pcVar1 = &(data->progress).downloaded;" (assignment_expression "pcVar1 = &(data->progress).downloaded" identifier = (pointer_expression "&(data->progress).downloaded" & (field_expression "(data->progress).downloaded" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "cVar28 = *pcVar1;" (assignment_expression "cVar28 = *pcVar1" identifier = (pointer_expression "*pcVar1" * identifier)) ;) (expression_statement "*(uint *)((int)(data->progress).speeder + iVar16 * 8 + 4) =\n         *(int *)((int)&(data->progress).uploaded + 4) +\n         *(int *)((int)&(data->progress).downloaded + 4) + (uint)CARRY4(uVar21,(uint)*pcVar1);" (assignment_expression "*(uint *)((int)(data->progress).speeder + iVar16 * 8 + 4) =\n         *(int *)((int)&(data->progress).uploaded + 4) +\n         *(int *)((int)&(data->progress).downloaded + 4) + (uint)CARRY4(uVar21,(uint)*pcVar1)" (pointer_expression "*(uint *)((int)(data->progress).speeder + iVar16 * 8 + 4)" * (cast_expression "(uint *)((int)(data->progress).speeder + iVar16 * 8 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(data->progress).speeder + iVar16 * 8 + 4)" ( (binary_expression "(int)(data->progress).speeder + iVar16 * 8 + 4" (binary_expression "(int)(data->progress).speeder + iVar16 * 8" (cast_expression "(int)(data->progress).speeder" ( (type_descriptor "int" primitive_type) ) (field_expression "(data->progress).speeder" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier)) + (binary_expression "iVar16 * 8" identifier * number_literal)) + number_literal) )))) = (binary_expression "*(int *)((int)&(data->progress).uploaded + 4) +\n         *(int *)((int)&(data->progress).downloaded + 4) + (uint)CARRY4(uVar21,(uint)*pcVar1)" (binary_expression "*(int *)((int)&(data->progress).uploaded + 4) +\n         *(int *)((int)&(data->progress).downloaded + 4)" (pointer_expression "*(int *)((int)&(data->progress).uploaded + 4)" * (cast_expression "(int *)((int)&(data->progress).uploaded + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(data->progress).uploaded + 4)" ( (binary_expression "(int)&(data->progress).uploaded + 4" (cast_expression "(int)&(data->progress).uploaded" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(data->progress).uploaded" & (field_expression "(data->progress).uploaded" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) + (pointer_expression "*(int *)((int)&(data->progress).downloaded + 4)" * (cast_expression "(int *)((int)&(data->progress).downloaded + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(data->progress).downloaded + 4)" ( (binary_expression "(int)&(data->progress).downloaded + 4" (cast_expression "(int)&(data->progress).downloaded" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(data->progress).downloaded" & (field_expression "(data->progress).downloaded" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier))) + number_literal) ))))) + (cast_expression "(uint)CARRY4(uVar21,(uint)*pcVar1)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar21,(uint)*pcVar1)" identifier (argument_list "(uVar21,(uint)*pcVar1)" ( identifier , (binary_expression "(uint)*pcVar1" (parenthesized_expression "(uint)" ( identifier )) * identifier) )))))) ;) (expression_statement "*(uint *)((data->progress).speeder + iVar16) = uVar21 + (int)cVar28;" (assignment_expression "*(uint *)((data->progress).speeder + iVar16) = uVar21 + (int)cVar28" (pointer_expression "*(uint *)((data->progress).speeder + iVar16)" * (cast_expression "(uint *)((data->progress).speeder + iVar16)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((data->progress).speeder + iVar16)" ( (binary_expression "(data->progress).speeder + iVar16" (field_expression "(data->progress).speeder" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier) + identifier) )))) = (binary_expression "uVar21 + (int)cVar28" identifier + (cast_expression "(int)cVar28" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "*(int *)((int)(data->state).tempwrite + iVar16 * 8 + -0x74) = iStack_80;" (assignment_expression "*(int *)((int)(data->state).tempwrite + iVar16 * 8 + -0x74) = iStack_80" (pointer_expression "*(int *)((int)(data->state).tempwrite + iVar16 * 8 + -0x74)" * (cast_expression "(int *)((int)(data->state).tempwrite + iVar16 * 8 + -0x74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(data->state).tempwrite + iVar16 * 8 + -0x74)" ( (binary_expression "(int)(data->state).tempwrite + iVar16 * 8 + -0x74" (binary_expression "(int)(data->state).tempwrite + iVar16 * 8" (cast_expression "(int)(data->state).tempwrite" ( (type_descriptor "int" primitive_type) ) (field_expression "(data->state).tempwrite" (parenthesized_expression "(data->state)" ( (field_expression "data->state" identifier -> field_identifier) )) . field_identifier)) + (binary_expression "iVar16 * 8" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "(data->progress).speeder_time[iVar16].tv_sec = local_84;" (assignment_expression "(data->progress).speeder_time[iVar16].tv_sec = local_84" (field_expression "(data->progress).speeder_time[iVar16].tv_sec" (subscript_expression "(data->progress).speeder_time[iVar16]" (field_expression "(data->progress).speeder_time" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier) [ identifier ]) . field_identifier) = identifier) ;) (expression_statement "iVar19 = (data->progress).speeder_c + 1;" (assignment_expression "iVar19 = (data->progress).speeder_c + 1" identifier = (binary_expression "(data->progress).speeder_c + 1" (field_expression "(data->progress).speeder_c" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier) + number_literal)) ;) (expression_statement "(data->progress).speeder_c = iVar19;" (assignment_expression "(data->progress).speeder_c = iVar19" (field_expression "(data->progress).speeder_c" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (if_statement "if (iVar19 == 1) {\n      bVar4 = true;\n      (data->progress).current_speed = lVar25 + lVar26;\n    }\n    else {\n      iVar20 = 0;\n      if (5 < iVar19) {\n        iVar20 = iVar19 % 6;\n      }\n      iVar18 = *(int *)((int)(data->state).tempwrite + iVar20 * 8 + -0x74);\n      tVar30 = (data->progress).speeder_time[iVar20].tv_sec;\n      newer_00.tv_usec = iStack_80;\n      newer_00.tv_sec = local_84;\n      older.tv_usec = iVar18;\n      older.tv_sec = tVar30;\n      ppuVar31 = ppuVar14;\n      iVar7 = Curl_timediff(newer_00,older);\n      if (iVar7 == 0) {\n        iVar7 = 1;\n      }\n      uVar21 = (uint)(data->progress).speeder[iVar16];\n      pcVar1 = (data->progress).speeder + iVar20;\n      uVar8 = uVar21 - (int)*pcVar1;\n      iVar16 = (*(int *)((int)(data->progress).speeder + iVar16 * 8 + 4) -\n               *(int *)((int)(data->progress).speeder + iVar20 * 8 + 4)) -\n               (uint)(uVar21 < (uint)*pcVar1);\n      if (-iVar16 < (int)(uint)(0x418937 < uVar8)) {\n        bVar4 = true;\n        (data->progress).current_speed =\n             (longlong)\n             ROUND((float)CONCAT44(iVar16,uVar8) / ((float)iVar7 / (float)ppuVar14[-0xccc2]));\n        iVar7 = tVar30;\n        ppuVar14 = ppuVar31;\n      }\n      else {\n        iVar18 = iVar7 >> 0x1f;\n        cVar28 = __divdi3((int)((ulonglong)uVar8 * 1000),\n                          (int)((ulonglong)uVar8 * 1000 >> 0x20) + iVar16 * 1000,iVar7,iVar18);\n        bVar4 = true;\n        (data->progress).current_speed = cVar28;\n        ppuVar14 = ppuVar31;\n      }\n    }" if (parenthesized_expression "(iVar19 == 1)" ( (binary_expression "iVar19 == 1" identifier == number_literal) )) (compound_statement "{\n      bVar4 = true;\n      (data->progress).current_speed = lVar25 + lVar26;\n    }" { (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" identifier = true) ;) (expression_statement "(data->progress).current_speed = lVar25 + lVar26;" (assignment_expression "(data->progress).current_speed = lVar25 + lVar26" (field_expression "(data->progress).current_speed" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier) = (binary_expression "lVar25 + lVar26" identifier + identifier)) ;) }) (else_clause "else {\n      iVar20 = 0;\n      if (5 < iVar19) {\n        iVar20 = iVar19 % 6;\n      }\n      iVar18 = *(int *)((int)(data->state).tempwrite + iVar20 * 8 + -0x74);\n      tVar30 = (data->progress).speeder_time[iVar20].tv_sec;\n      newer_00.tv_usec = iStack_80;\n      newer_00.tv_sec = local_84;\n      older.tv_usec = iVar18;\n      older.tv_sec = tVar30;\n      ppuVar31 = ppuVar14;\n      iVar7 = Curl_timediff(newer_00,older);\n      if (iVar7 == 0) {\n        iVar7 = 1;\n      }\n      uVar21 = (uint)(data->progress).speeder[iVar16];\n      pcVar1 = (data->progress).speeder + iVar20;\n      uVar8 = uVar21 - (int)*pcVar1;\n      iVar16 = (*(int *)((int)(data->progress).speeder + iVar16 * 8 + 4) -\n               *(int *)((int)(data->progress).speeder + iVar20 * 8 + 4)) -\n               (uint)(uVar21 < (uint)*pcVar1);\n      if (-iVar16 < (int)(uint)(0x418937 < uVar8)) {\n        bVar4 = true;\n        (data->progress).current_speed =\n             (longlong)\n             ROUND((float)CONCAT44(iVar16,uVar8) / ((float)iVar7 / (float)ppuVar14[-0xccc2]));\n        iVar7 = tVar30;\n        ppuVar14 = ppuVar31;\n      }\n      else {\n        iVar18 = iVar7 >> 0x1f;\n        cVar28 = __divdi3((int)((ulonglong)uVar8 * 1000),\n                          (int)((ulonglong)uVar8 * 1000 >> 0x20) + iVar16 * 1000,iVar7,iVar18);\n        bVar4 = true;\n        (data->progress).current_speed = cVar28;\n        ppuVar14 = ppuVar31;\n      }\n    }" else (compound_statement "{\n      iVar20 = 0;\n      if (5 < iVar19) {\n        iVar20 = iVar19 % 6;\n      }\n      iVar18 = *(int *)((int)(data->state).tempwrite + iVar20 * 8 + -0x74);\n      tVar30 = (data->progress).speeder_time[iVar20].tv_sec;\n      newer_00.tv_usec = iStack_80;\n      newer_00.tv_sec = local_84;\n      older.tv_usec = iVar18;\n      older.tv_sec = tVar30;\n      ppuVar31 = ppuVar14;\n      iVar7 = Curl_timediff(newer_00,older);\n      if (iVar7 == 0) {\n        iVar7 = 1;\n      }\n      uVar21 = (uint)(data->progress).speeder[iVar16];\n      pcVar1 = (data->progress).speeder + iVar20;\n      uVar8 = uVar21 - (int)*pcVar1;\n      iVar16 = (*(int *)((int)(data->progress).speeder + iVar16 * 8 + 4) -\n               *(int *)((int)(data->progress).speeder + iVar20 * 8 + 4)) -\n               (uint)(uVar21 < (uint)*pcVar1);\n      if (-iVar16 < (int)(uint)(0x418937 < uVar8)) {\n        bVar4 = true;\n        (data->progress).current_speed =\n             (longlong)\n             ROUND((float)CONCAT44(iVar16,uVar8) / ((float)iVar7 / (float)ppuVar14[-0xccc2]));\n        iVar7 = tVar30;\n        ppuVar14 = ppuVar31;\n      }\n      else {\n        iVar18 = iVar7 >> 0x1f;\n        cVar28 = __divdi3((int)((ulonglong)uVar8 * 1000),\n                          (int)((ulonglong)uVar8 * 1000 >> 0x20) + iVar16 * 1000,iVar7,iVar18);\n        bVar4 = true;\n        (data->progress).current_speed = cVar28;\n        ppuVar14 = ppuVar31;\n      }\n    }" { (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;) (if_statement "if (5 < iVar19) {\n        iVar20 = iVar19 % 6;\n      }" if (parenthesized_expression "(5 < iVar19)" ( (binary_expression "5 < iVar19" number_literal < identifier) )) (compound_statement "{\n        iVar20 = iVar19 % 6;\n      }" { (expression_statement "iVar20 = iVar19 % 6;" (assignment_expression "iVar20 = iVar19 % 6" identifier = (binary_expression "iVar19 % 6" identifier % number_literal)) ;) })) (expression_statement "iVar18 = *(int *)((int)(data->state).tempwrite + iVar20 * 8 + -0x74);" (assignment_expression "iVar18 = *(int *)((int)(data->state).tempwrite + iVar20 * 8 + -0x74)" identifier = (pointer_expression "*(int *)((int)(data->state).tempwrite + iVar20 * 8 + -0x74)" * (cast_expression "(int *)((int)(data->state).tempwrite + iVar20 * 8 + -0x74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(data->state).tempwrite + iVar20 * 8 + -0x74)" ( (binary_expression "(int)(data->state).tempwrite + iVar20 * 8 + -0x74" (binary_expression "(int)(data->state).tempwrite + iVar20 * 8" (cast_expression "(int)(data->state).tempwrite" ( (type_descriptor "int" primitive_type) ) (field_expression "(data->state).tempwrite" (parenthesized_expression "(data->state)" ( (field_expression "data->state" identifier -> field_identifier) )) . field_identifier)) + (binary_expression "iVar20 * 8" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "tVar30 = (data->progress).speeder_time[iVar20].tv_sec;" (assignment_expression "tVar30 = (data->progress).speeder_time[iVar20].tv_sec" identifier = (field_expression "(data->progress).speeder_time[iVar20].tv_sec" (subscript_expression "(data->progress).speeder_time[iVar20]" (field_expression "(data->progress).speeder_time" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier) [ identifier ]) . field_identifier)) ;) (expression_statement "newer_00.tv_usec = iStack_80;" (assignment_expression "newer_00.tv_usec = iStack_80" (field_expression "newer_00.tv_usec" identifier . field_identifier) = identifier) ;) (expression_statement "newer_00.tv_sec = local_84;" (assignment_expression "newer_00.tv_sec = local_84" (field_expression "newer_00.tv_sec" identifier . field_identifier) = identifier) ;) (expression_statement "older.tv_usec = iVar18;" (assignment_expression "older.tv_usec = iVar18" (field_expression "older.tv_usec" identifier . field_identifier) = identifier) ;) (expression_statement "older.tv_sec = tVar30;" (assignment_expression "older.tv_sec = tVar30" (field_expression "older.tv_sec" identifier . field_identifier) = identifier) ;) (expression_statement "ppuVar31 = ppuVar14;" (assignment_expression "ppuVar31 = ppuVar14" identifier = identifier) ;) (expression_statement "iVar7 = Curl_timediff(newer_00,older);" (assignment_expression "iVar7 = Curl_timediff(newer_00,older)" identifier = (call_expression "Curl_timediff(newer_00,older)" identifier (argument_list "(newer_00,older)" ( identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) {\n        iVar7 = 1;\n      }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar7 = 1;\n      }" { (expression_statement "iVar7 = 1;" (assignment_expression "iVar7 = 1" identifier = number_literal) ;) })) (expression_statement "uVar21 = (uint)(data->progress).speeder[iVar16];" (assignment_expression "uVar21 = (uint)(data->progress).speeder[iVar16]" identifier = (subscript_expression "(uint)(data->progress).speeder[iVar16]" (field_expression "(uint)(data->progress).speeder" (call_expression "(uint)(data->progress)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) ))) . field_identifier) [ identifier ])) ;) (expression_statement "pcVar1 = (data->progress).speeder + iVar20;" (assignment_expression "pcVar1 = (data->progress).speeder + iVar20" identifier = (binary_expression "(data->progress).speeder + iVar20" (field_expression "(data->progress).speeder" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier) + identifier)) ;) (expression_statement "uVar8 = uVar21 - (int)*pcVar1;" (assignment_expression "uVar8 = uVar21 - (int)*pcVar1" identifier = (binary_expression "uVar21 - (int)*pcVar1" identifier - (cast_expression "(int)*pcVar1" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pcVar1" * identifier)))) ;) (expression_statement "iVar16 = (*(int *)((int)(data->progress).speeder + iVar16 * 8 + 4) -\n               *(int *)((int)(data->progress).speeder + iVar20 * 8 + 4)) -\n               (uint)(uVar21 < (uint)*pcVar1);" (assignment_expression "iVar16 = (*(int *)((int)(data->progress).speeder + iVar16 * 8 + 4) -\n               *(int *)((int)(data->progress).speeder + iVar20 * 8 + 4)) -\n               (uint)(uVar21 < (uint)*pcVar1)" identifier = (binary_expression "(*(int *)((int)(data->progress).speeder + iVar16 * 8 + 4) -\n               *(int *)((int)(data->progress).speeder + iVar20 * 8 + 4)) -\n               (uint)(uVar21 < (uint)*pcVar1)" (parenthesized_expression "(*(int *)((int)(data->progress).speeder + iVar16 * 8 + 4) -\n               *(int *)((int)(data->progress).speeder + iVar20 * 8 + 4))" ( (binary_expression "*(int *)((int)(data->progress).speeder + iVar16 * 8 + 4) -\n               *(int *)((int)(data->progress).speeder + iVar20 * 8 + 4)" (pointer_expression "*(int *)((int)(data->progress).speeder + iVar16 * 8 + 4)" * (cast_expression "(int *)((int)(data->progress).speeder + iVar16 * 8 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(data->progress).speeder + iVar16 * 8 + 4)" ( (binary_expression "(int)(data->progress).speeder + iVar16 * 8 + 4" (binary_expression "(int)(data->progress).speeder + iVar16 * 8" (cast_expression "(int)(data->progress).speeder" ( (type_descriptor "int" primitive_type) ) (field_expression "(data->progress).speeder" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier)) + (binary_expression "iVar16 * 8" identifier * number_literal)) + number_literal) )))) - (pointer_expression "*(int *)((int)(data->progress).speeder + iVar20 * 8 + 4)" * (cast_expression "(int *)((int)(data->progress).speeder + iVar20 * 8 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(data->progress).speeder + iVar20 * 8 + 4)" ( (binary_expression "(int)(data->progress).speeder + iVar20 * 8 + 4" (binary_expression "(int)(data->progress).speeder + iVar20 * 8" (cast_expression "(int)(data->progress).speeder" ( (type_descriptor "int" primitive_type) ) (field_expression "(data->progress).speeder" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier)) + (binary_expression "iVar20 * 8" identifier * number_literal)) + number_literal) ))))) )) - (call_expression "(uint)(uVar21 < (uint)*pcVar1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar21 < (uint)*pcVar1)" ( (binary_expression "uVar21 < (uint)*pcVar1" identifier < (binary_expression "(uint)*pcVar1" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ))))) ;) (if_statement "if (-iVar16 < (int)(uint)(0x418937 < uVar8)) {\n        bVar4 = true;\n        (data->progress).current_speed =\n             (longlong)\n             ROUND((float)CONCAT44(iVar16,uVar8) / ((float)iVar7 / (float)ppuVar14[-0xccc2]));\n        iVar7 = tVar30;\n        ppuVar14 = ppuVar31;\n      }\n      else {\n        iVar18 = iVar7 >> 0x1f;\n        cVar28 = __divdi3((int)((ulonglong)uVar8 * 1000),\n                          (int)((ulonglong)uVar8 * 1000 >> 0x20) + iVar16 * 1000,iVar7,iVar18);\n        bVar4 = true;\n        (data->progress).current_speed = cVar28;\n        ppuVar14 = ppuVar31;\n      }" if (parenthesized_expression "(-iVar16 < (int)(uint)(0x418937 < uVar8))" ( (binary_expression "-iVar16 < (int)(uint)(0x418937 < uVar8)" (unary_expression "-iVar16" - identifier) < (cast_expression "(int)(uint)(0x418937 < uVar8)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(0x418937 < uVar8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x418937 < uVar8)" ( (binary_expression "0x418937 < uVar8" number_literal < identifier) ))))) )) (compound_statement "{\n        bVar4 = true;\n        (data->progress).current_speed =\n             (longlong)\n             ROUND((float)CONCAT44(iVar16,uVar8) / ((float)iVar7 / (float)ppuVar14[-0xccc2]));\n        iVar7 = tVar30;\n        ppuVar14 = ppuVar31;\n      }" { (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" identifier = true) ;) (expression_statement "(data->progress).current_speed =\n             (longlong)\n             ROUND((float)CONCAT44(iVar16,uVar8) / ((float)iVar7 / (float)ppuVar14[-0xccc2]));" (assignment_expression "(data->progress).current_speed =\n             (longlong)\n             ROUND((float)CONCAT44(iVar16,uVar8) / ((float)iVar7 / (float)ppuVar14[-0xccc2]))" (field_expression "(data->progress).current_speed" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(longlong)\n             ROUND((float)CONCAT44(iVar16,uVar8) / ((float)iVar7 / (float)ppuVar14[-0xccc2]))" ( (type_descriptor "longlong" type_identifier) ) (call_expression "ROUND((float)CONCAT44(iVar16,uVar8) / ((float)iVar7 / (float)ppuVar14[-0xccc2]))" identifier (argument_list "((float)CONCAT44(iVar16,uVar8) / ((float)iVar7 / (float)ppuVar14[-0xccc2]))" ( (binary_expression "(float)CONCAT44(iVar16,uVar8) / ((float)iVar7 / (float)ppuVar14[-0xccc2])" (cast_expression "(float)CONCAT44(iVar16,uVar8)" ( (type_descriptor "float" primitive_type) ) (call_expression "CONCAT44(iVar16,uVar8)" identifier (argument_list "(iVar16,uVar8)" ( identifier , identifier )))) / (parenthesized_expression "((float)iVar7 / (float)ppuVar14[-0xccc2])" ( (binary_expression "(float)iVar7 / (float)ppuVar14[-0xccc2]" (cast_expression "(float)iVar7" ( (type_descriptor "float" primitive_type) ) identifier) / (cast_expression "(float)ppuVar14[-0xccc2]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "ppuVar14[-0xccc2]" identifier [ number_literal ]))) ))) ))))) ;) (expression_statement "iVar7 = tVar30;" (assignment_expression "iVar7 = tVar30" identifier = identifier) ;) (expression_statement "ppuVar14 = ppuVar31;" (assignment_expression "ppuVar14 = ppuVar31" identifier = identifier) ;) }) (else_clause "else {\n        iVar18 = iVar7 >> 0x1f;\n        cVar28 = __divdi3((int)((ulonglong)uVar8 * 1000),\n                          (int)((ulonglong)uVar8 * 1000 >> 0x20) + iVar16 * 1000,iVar7,iVar18);\n        bVar4 = true;\n        (data->progress).current_speed = cVar28;\n        ppuVar14 = ppuVar31;\n      }" else (compound_statement "{\n        iVar18 = iVar7 >> 0x1f;\n        cVar28 = __divdi3((int)((ulonglong)uVar8 * 1000),\n                          (int)((ulonglong)uVar8 * 1000 >> 0x20) + iVar16 * 1000,iVar7,iVar18);\n        bVar4 = true;\n        (data->progress).current_speed = cVar28;\n        ppuVar14 = ppuVar31;\n      }" { (expression_statement "iVar18 = iVar7 >> 0x1f;" (assignment_expression "iVar18 = iVar7 >> 0x1f" identifier = (binary_expression "iVar7 >> 0x1f" identifier >> number_literal)) ;) (expression_statement "cVar28 = __divdi3((int)((ulonglong)uVar8 * 1000),\n                          (int)((ulonglong)uVar8 * 1000 >> 0x20) + iVar16 * 1000,iVar7,iVar18);" (assignment_expression "cVar28 = __divdi3((int)((ulonglong)uVar8 * 1000),\n                          (int)((ulonglong)uVar8 * 1000 >> 0x20) + iVar16 * 1000,iVar7,iVar18)" identifier = (call_expression "__divdi3((int)((ulonglong)uVar8 * 1000),\n                          (int)((ulonglong)uVar8 * 1000 >> 0x20) + iVar16 * 1000,iVar7,iVar18)" identifier (argument_list "((int)((ulonglong)uVar8 * 1000),\n                          (int)((ulonglong)uVar8 * 1000 >> 0x20) + iVar16 * 1000,iVar7,iVar18)" ( (cast_expression "(int)((ulonglong)uVar8 * 1000)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar8 * 1000)" ( (binary_expression "(ulonglong)uVar8 * 1000" (cast_expression "(ulonglong)uVar8" ( (type_descriptor "ulonglong" type_identifier) ) identifier) * number_literal) ))) , (binary_expression "(int)((ulonglong)uVar8 * 1000 >> 0x20) + iVar16 * 1000" (cast_expression "(int)((ulonglong)uVar8 * 1000 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar8 * 1000 >> 0x20)" ( (binary_expression "(ulonglong)uVar8 * 1000 >> 0x20" (binary_expression "(ulonglong)uVar8 * 1000" (cast_expression "(ulonglong)uVar8" ( (type_descriptor "ulonglong" type_identifier) ) identifier) * number_literal) >> number_literal) ))) + (binary_expression "iVar16 * 1000" identifier * number_literal)) , identifier , identifier )))) ;) (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" identifier = true) ;) (expression_statement "(data->progress).current_speed = cVar28;" (assignment_expression "(data->progress).current_speed = cVar28" (field_expression "(data->progress).current_speed" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "ppuVar14 = ppuVar31;" (assignment_expression "ppuVar14 = ppuVar31" identifier = identifier) ;) }))) }))) })) (expression_statement "uVar21 = (data->progress).flags;" (assignment_expression "uVar21 = (data->progress).flags" identifier = (field_expression "(data->progress).flags" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if ((uVar21 & 0x10) != 0) {\n    iStack_d4 = 0;\n    goto LAB_0001d1c8;\n  }" if (parenthesized_expression "((uVar21 & 0x10) != 0)" ( (binary_expression "(uVar21 & 0x10) != 0" (parenthesized_expression "(uVar21 & 0x10)" ( (binary_expression "uVar21 & 0x10" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    iStack_d4 = 0;\n    goto LAB_0001d1c8;\n  }" { (expression_statement "iStack_d4 = 0;" (assignment_expression "iStack_d4 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0001d1c8;" goto statement_identifier ;) })) (if_statement "if ((data->set).fxferinfo == (curl_xferinfo_callback)0x0) {\n    if ((data->set).fprogress == (curl_progress_callback)0x0) {\n      iStack_d4 = 0;\n      if (!bVar4) goto LAB_0001d1c8;\n      if ((uVar21 & 0x80) == 0) {\n        iVar16 = *(int *)((int)&(data->state).resume_from + 4);\n        iVar19 = (int)(data->state).resume_from;\n        whereto = (data->set).err;\n        if (iVar16 != 0 || iVar19 != 0) {\n          curl_mfprintf(whereto,(char *)(ppuVar14 + -0xcd04),iVar19,iVar16);\n          whereto = (data->set).err;\n          iVar7 = iVar19;\n          iVar18 = iVar16;\n        }\n        curl_mfprintf(whereto,(char *)(ppuVar14 + -0xccf8),iVar7,iVar18);\n        uVar21 = (data->progress).flags | 0x80;\n        (data->progress).flags = uVar21;\n      }\n      if ((uVar21 & 0x20) == 0) {\nLAB_0001d2f0:\n        if ((uVar21 & 0x40) != 0) {\n          iVar16 = (int)(data->progress).dlspeed;\n          iVar19 = *(int *)((int)&(data->progress).dlspeed + 4);\n          if (-iVar19 < (int)(uint)(iVar16 != 0)) {\n            uVar27 = 0;\n            goto LAB_0001d331;\n          }\n        }\n        uVar27 = 0;\n        uVar29 = 0;\n      }\n      else {\n        iVar16 = (int)(data->progress).ulspeed;\n        iVar19 = *(int *)((int)&(data->progress).ulspeed + 4);\n        if ((int)(uint)(iVar16 != 0) <= -iVar19) goto LAB_0001d2f0;\n        uVar8 = (uint)(data->progress).size_ul;\n        iVar20 = *(int *)((int)&(data->progress).size_ul + 4);\n        __divdi3(uVar8,iVar20,iVar16,iVar19);\n        if (-iVar20 < (int)(uint)(10000 < uVar8)) {\n          uVar27 = __divdi3(uVar8,iVar20,100,0);\n          uVar27 = __divdi3((int)(data->progress).uploaded,\n                            *(undefined4 *)((int)&(data->progress).uploaded + 4),uVar27);\n        }\n        else {\n          uVar27 = 0;\n          if (-iVar20 < (int)(uint)(uVar8 != 0)) {\n            lVar25 = (ulonglong)(uint)(data->progress).uploaded * 100;\n            uVar27 = __divdi3((int)lVar25,\n                              (int)((ulonglong)lVar25 >> 0x20) +\n                              *(int *)((int)&(data->progress).uploaded + 4) * 100,uVar8,iVar20);\n          }\n        }\n        if ((uVar21 & 0x40) == 0) {\nLAB_0001d11b:\n          uVar29 = 0;\n        }\n        else {\n          iVar16 = (int)(data->progress).dlspeed;\n          iVar19 = *(int *)((int)&(data->progress).dlspeed + 4);\n          if ((int)(uint)(iVar16 != 0) <= -iVar19) goto LAB_0001d11b;\nLAB_0001d331:\n          uVar21 = (uint)(data->progress).size_dl;\n          iVar20 = *(int *)((int)&(data->progress).size_dl + 4);\n          __divdi3(uVar21,iVar20,iVar16,iVar19);\n          if (-iVar20 < (int)(uint)(10000 < uVar21)) {\n            uVar29 = __divdi3(uVar21,iVar20,100,0);\n            uVar29 = __divdi3((int)(data->progress).downloaded,\n                              *(undefined4 *)((int)&(data->progress).downloaded + 4),uVar29);\n          }\n          else {\n            uVar29 = 0;\n            if (-iVar20 < (int)(uint)(uVar21 != 0)) {\n              lVar25 = (ulonglong)(uint)(data->progress).downloaded * 100;\n              uVar29 = __divdi3((int)lVar25,\n                                (int)((ulonglong)lVar25 >> 0x20) +\n                                *(int *)((int)&(data->progress).downloaded + 4) * 100,uVar21,iVar20)\n              ;\n            }\n          }\n        }\n      }\n      local_b0 = (undefined4)((ulonglong)uVar27 >> 0x20);\n      local_b4 = (undefined4)uVar27;\n      local_b8 = (undefined4)((ulonglong)uVar29 >> 0x20);\n      local_bc = (undefined4)uVar29;\n      time2str(time_left,CONCAT44(ppuVar14,in_stack_ffffff24));\n      time2str(time_total,CONCAT44(ppuVar14,in_stack_ffffff24));\n      time2str(time_spent,CONCAT44(ppuVar14,in_stack_ffffff24));\n      uVar21 = (data->progress).flags;\n      if ((uVar21 & 0x20) == 0) {\n        uVar8 = (uint)(data->progress).uploaded;\n        iVar16 = *(int *)((int)&(data->progress).uploaded + 4);\n        local_c4 = uVar8;\n        local_c0 = iVar16;\n      }\n      else {\n        uVar8 = (uint)(data->progress).size_ul;\n        iVar16 = *(int *)((int)&(data->progress).size_ul + 4);\n        local_c4 = (uint)(data->progress).uploaded;\n        local_c0 = *(int *)((int)&(data->progress).uploaded + 4);\n      }\n      uVar3 = (uint)(data->progress).downloaded;\n      iVar19 = *(int *)((int)&(data->progress).downloaded + 4);\n      uVar17 = uVar3;\n      iVar20 = iVar19;\n      if ((uVar21 & 0x40) != 0) {\n        uVar17 = (uint)(data->progress).size_dl;\n        iVar20 = *(int *)((int)&(data->progress).size_dl + 4);\n      }\n      pcVar23 = (char *)(uVar8 + uVar17);\n      iVar20 = iVar16 + iVar20 + (uint)CARRY4(uVar8,uVar17);\n      iVar16 = iVar19 + local_c0 + (uint)CARRY4(uVar3,local_c4);\n      if (-iVar20 < (int)(uint)((char *)0x2710 < pcVar23)) {\n        uVar27 = __divdi3(pcVar23,iVar20,100,0);\n        uVar27 = __divdi3(uVar3 + local_c4,iVar16,uVar27);\n      }\n      else {\n        uVar27 = 0;\n        if (-iVar20 < (int)(uint)(pcVar23 != (char *)0x0)) {\n          lVar25 = (ulonglong)(uVar3 + local_c4) * 100;\n          uVar27 = __divdi3((int)lVar25,(int)((ulonglong)lVar25 >> 0x20) + iVar16 * 100,pcVar23,\n                            iVar20);\n        }\n      }\n      local_c8 = (undefined4)((ulonglong)uVar27 >> 0x20);\n      local_cc = (undefined4)uVar27;\n      pcVar9 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),\n                        *(char **)&(data->progress).current_speed);\n      pcVar10 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).ulspeed);\n      pcVar11 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).dlspeed);\n      pcVar12 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).uploaded);\n      pcVar13 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).downloaded\n                        );\n      pcVar23 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),pcVar23);\n      curl_mfprintf((data->set).err,(char *)(ppuVar14 + -0xcccf),local_cc,local_c8,pcVar23,local_bc,\n                    local_b8,pcVar13,local_b4,local_b0,pcVar12,pcVar11,pcVar10,time_total,time_spent\n                    ,time_left,pcVar9);\n      fflush((FILE *)(data->set).err);\n      goto LAB_0001d1c8;\n    }\n    Curl_set_in_callback(data,true);\n    iStack_d4 = (*(data->set).fprogress)\n                          ((data->set).progress_client,(double)(data->progress).size_dl,\n                           (double)(data->progress).downloaded,(double)(data->progress).size_ul,\n                           (double)(data->progress).uploaded);\n  }\n  else {\n    Curl_set_in_callback(data,true);\n    iStack_d4 = (*(data->set).fxferinfo)\n                          ((data->set).progress_client,(data->progress).size_dl,\n                           (data->progress).downloaded,(data->progress).size_ul,\n                           (data->progress).uploaded);\n  }" if (parenthesized_expression "((data->set).fxferinfo == (curl_xferinfo_callback)0x0)" ( (binary_expression "(data->set).fxferinfo == (curl_xferinfo_callback)0x0" (field_expression "(data->set).fxferinfo" (parenthesized_expression "(data->set)" ( (field_expression "data->set" identifier -> field_identifier) )) . field_identifier) == (cast_expression "(curl_xferinfo_callback)0x0" ( (type_descriptor "curl_xferinfo_callback" type_identifier) ) number_literal)) )) (compound_statement "{\n    if ((data->set).fprogress == (curl_progress_callback)0x0) {\n      iStack_d4 = 0;\n      if (!bVar4) goto LAB_0001d1c8;\n      if ((uVar21 & 0x80) == 0) {\n        iVar16 = *(int *)((int)&(data->state).resume_from + 4);\n        iVar19 = (int)(data->state).resume_from;\n        whereto = (data->set).err;\n        if (iVar16 != 0 || iVar19 != 0) {\n          curl_mfprintf(whereto,(char *)(ppuVar14 + -0xcd04),iVar19,iVar16);\n          whereto = (data->set).err;\n          iVar7 = iVar19;\n          iVar18 = iVar16;\n        }\n        curl_mfprintf(whereto,(char *)(ppuVar14 + -0xccf8),iVar7,iVar18);\n        uVar21 = (data->progress).flags | 0x80;\n        (data->progress).flags = uVar21;\n      }\n      if ((uVar21 & 0x20) == 0) {\nLAB_0001d2f0:\n        if ((uVar21 & 0x40) != 0) {\n          iVar16 = (int)(data->progress).dlspeed;\n          iVar19 = *(int *)((int)&(data->progress).dlspeed + 4);\n          if (-iVar19 < (int)(uint)(iVar16 != 0)) {\n            uVar27 = 0;\n            goto LAB_0001d331;\n          }\n        }\n        uVar27 = 0;\n        uVar29 = 0;\n      }\n      else {\n        iVar16 = (int)(data->progress).ulspeed;\n        iVar19 = *(int *)((int)&(data->progress).ulspeed + 4);\n        if ((int)(uint)(iVar16 != 0) <= -iVar19) goto LAB_0001d2f0;\n        uVar8 = (uint)(data->progress).size_ul;\n        iVar20 = *(int *)((int)&(data->progress).size_ul + 4);\n        __divdi3(uVar8,iVar20,iVar16,iVar19);\n        if (-iVar20 < (int)(uint)(10000 < uVar8)) {\n          uVar27 = __divdi3(uVar8,iVar20,100,0);\n          uVar27 = __divdi3((int)(data->progress).uploaded,\n                            *(undefined4 *)((int)&(data->progress).uploaded + 4),uVar27);\n        }\n        else {\n          uVar27 = 0;\n          if (-iVar20 < (int)(uint)(uVar8 != 0)) {\n            lVar25 = (ulonglong)(uint)(data->progress).uploaded * 100;\n            uVar27 = __divdi3((int)lVar25,\n                              (int)((ulonglong)lVar25 >> 0x20) +\n                              *(int *)((int)&(data->progress).uploaded + 4) * 100,uVar8,iVar20);\n          }\n        }\n        if ((uVar21 & 0x40) == 0) {\nLAB_0001d11b:\n          uVar29 = 0;\n        }\n        else {\n          iVar16 = (int)(data->progress).dlspeed;\n          iVar19 = *(int *)((int)&(data->progress).dlspeed + 4);\n          if ((int)(uint)(iVar16 != 0) <= -iVar19) goto LAB_0001d11b;\nLAB_0001d331:\n          uVar21 = (uint)(data->progress).size_dl;\n          iVar20 = *(int *)((int)&(data->progress).size_dl + 4);\n          __divdi3(uVar21,iVar20,iVar16,iVar19);\n          if (-iVar20 < (int)(uint)(10000 < uVar21)) {\n            uVar29 = __divdi3(uVar21,iVar20,100,0);\n            uVar29 = __divdi3((int)(data->progress).downloaded,\n                              *(undefined4 *)((int)&(data->progress).downloaded + 4),uVar29);\n          }\n          else {\n            uVar29 = 0;\n            if (-iVar20 < (int)(uint)(uVar21 != 0)) {\n              lVar25 = (ulonglong)(uint)(data->progress).downloaded * 100;\n              uVar29 = __divdi3((int)lVar25,\n                                (int)((ulonglong)lVar25 >> 0x20) +\n                                *(int *)((int)&(data->progress).downloaded + 4) * 100,uVar21,iVar20)\n              ;\n            }\n          }\n        }\n      }\n      local_b0 = (undefined4)((ulonglong)uVar27 >> 0x20);\n      local_b4 = (undefined4)uVar27;\n      local_b8 = (undefined4)((ulonglong)uVar29 >> 0x20);\n      local_bc = (undefined4)uVar29;\n      time2str(time_left,CONCAT44(ppuVar14,in_stack_ffffff24));\n      time2str(time_total,CONCAT44(ppuVar14,in_stack_ffffff24));\n      time2str(time_spent,CONCAT44(ppuVar14,in_stack_ffffff24));\n      uVar21 = (data->progress).flags;\n      if ((uVar21 & 0x20) == 0) {\n        uVar8 = (uint)(data->progress).uploaded;\n        iVar16 = *(int *)((int)&(data->progress).uploaded + 4);\n        local_c4 = uVar8;\n        local_c0 = iVar16;\n      }\n      else {\n        uVar8 = (uint)(data->progress).size_ul;\n        iVar16 = *(int *)((int)&(data->progress).size_ul + 4);\n        local_c4 = (uint)(data->progress).uploaded;\n        local_c0 = *(int *)((int)&(data->progress).uploaded + 4);\n      }\n      uVar3 = (uint)(data->progress).downloaded;\n      iVar19 = *(int *)((int)&(data->progress).downloaded + 4);\n      uVar17 = uVar3;\n      iVar20 = iVar19;\n      if ((uVar21 & 0x40) != 0) {\n        uVar17 = (uint)(data->progress).size_dl;\n        iVar20 = *(int *)((int)&(data->progress).size_dl + 4);\n      }\n      pcVar23 = (char *)(uVar8 + uVar17);\n      iVar20 = iVar16 + iVar20 + (uint)CARRY4(uVar8,uVar17);\n      iVar16 = iVar19 + local_c0 + (uint)CARRY4(uVar3,local_c4);\n      if (-iVar20 < (int)(uint)((char *)0x2710 < pcVar23)) {\n        uVar27 = __divdi3(pcVar23,iVar20,100,0);\n        uVar27 = __divdi3(uVar3 + local_c4,iVar16,uVar27);\n      }\n      else {\n        uVar27 = 0;\n        if (-iVar20 < (int)(uint)(pcVar23 != (char *)0x0)) {\n          lVar25 = (ulonglong)(uVar3 + local_c4) * 100;\n          uVar27 = __divdi3((int)lVar25,(int)((ulonglong)lVar25 >> 0x20) + iVar16 * 100,pcVar23,\n                            iVar20);\n        }\n      }\n      local_c8 = (undefined4)((ulonglong)uVar27 >> 0x20);\n      local_cc = (undefined4)uVar27;\n      pcVar9 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),\n                        *(char **)&(data->progress).current_speed);\n      pcVar10 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).ulspeed);\n      pcVar11 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).dlspeed);\n      pcVar12 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).uploaded);\n      pcVar13 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).downloaded\n                        );\n      pcVar23 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),pcVar23);\n      curl_mfprintf((data->set).err,(char *)(ppuVar14 + -0xcccf),local_cc,local_c8,pcVar23,local_bc,\n                    local_b8,pcVar13,local_b4,local_b0,pcVar12,pcVar11,pcVar10,time_total,time_spent\n                    ,time_left,pcVar9);\n      fflush((FILE *)(data->set).err);\n      goto LAB_0001d1c8;\n    }\n    Curl_set_in_callback(data,true);\n    iStack_d4 = (*(data->set).fprogress)\n                          ((data->set).progress_client,(double)(data->progress).size_dl,\n                           (double)(data->progress).downloaded,(double)(data->progress).size_ul,\n                           (double)(data->progress).uploaded);\n  }" { (if_statement "if ((data->set).fprogress == (curl_progress_callback)0x0) {\n      iStack_d4 = 0;\n      if (!bVar4) goto LAB_0001d1c8;\n      if ((uVar21 & 0x80) == 0) {\n        iVar16 = *(int *)((int)&(data->state).resume_from + 4);\n        iVar19 = (int)(data->state).resume_from;\n        whereto = (data->set).err;\n        if (iVar16 != 0 || iVar19 != 0) {\n          curl_mfprintf(whereto,(char *)(ppuVar14 + -0xcd04),iVar19,iVar16);\n          whereto = (data->set).err;\n          iVar7 = iVar19;\n          iVar18 = iVar16;\n        }\n        curl_mfprintf(whereto,(char *)(ppuVar14 + -0xccf8),iVar7,iVar18);\n        uVar21 = (data->progress).flags | 0x80;\n        (data->progress).flags = uVar21;\n      }\n      if ((uVar21 & 0x20) == 0) {\nLAB_0001d2f0:\n        if ((uVar21 & 0x40) != 0) {\n          iVar16 = (int)(data->progress).dlspeed;\n          iVar19 = *(int *)((int)&(data->progress).dlspeed + 4);\n          if (-iVar19 < (int)(uint)(iVar16 != 0)) {\n            uVar27 = 0;\n            goto LAB_0001d331;\n          }\n        }\n        uVar27 = 0;\n        uVar29 = 0;\n      }\n      else {\n        iVar16 = (int)(data->progress).ulspeed;\n        iVar19 = *(int *)((int)&(data->progress).ulspeed + 4);\n        if ((int)(uint)(iVar16 != 0) <= -iVar19) goto LAB_0001d2f0;\n        uVar8 = (uint)(data->progress).size_ul;\n        iVar20 = *(int *)((int)&(data->progress).size_ul + 4);\n        __divdi3(uVar8,iVar20,iVar16,iVar19);\n        if (-iVar20 < (int)(uint)(10000 < uVar8)) {\n          uVar27 = __divdi3(uVar8,iVar20,100,0);\n          uVar27 = __divdi3((int)(data->progress).uploaded,\n                            *(undefined4 *)((int)&(data->progress).uploaded + 4),uVar27);\n        }\n        else {\n          uVar27 = 0;\n          if (-iVar20 < (int)(uint)(uVar8 != 0)) {\n            lVar25 = (ulonglong)(uint)(data->progress).uploaded * 100;\n            uVar27 = __divdi3((int)lVar25,\n                              (int)((ulonglong)lVar25 >> 0x20) +\n                              *(int *)((int)&(data->progress).uploaded + 4) * 100,uVar8,iVar20);\n          }\n        }\n        if ((uVar21 & 0x40) == 0) {\nLAB_0001d11b:\n          uVar29 = 0;\n        }\n        else {\n          iVar16 = (int)(data->progress).dlspeed;\n          iVar19 = *(int *)((int)&(data->progress).dlspeed + 4);\n          if ((int)(uint)(iVar16 != 0) <= -iVar19) goto LAB_0001d11b;\nLAB_0001d331:\n          uVar21 = (uint)(data->progress).size_dl;\n          iVar20 = *(int *)((int)&(data->progress).size_dl + 4);\n          __divdi3(uVar21,iVar20,iVar16,iVar19);\n          if (-iVar20 < (int)(uint)(10000 < uVar21)) {\n            uVar29 = __divdi3(uVar21,iVar20,100,0);\n            uVar29 = __divdi3((int)(data->progress).downloaded,\n                              *(undefined4 *)((int)&(data->progress).downloaded + 4),uVar29);\n          }\n          else {\n            uVar29 = 0;\n            if (-iVar20 < (int)(uint)(uVar21 != 0)) {\n              lVar25 = (ulonglong)(uint)(data->progress).downloaded * 100;\n              uVar29 = __divdi3((int)lVar25,\n                                (int)((ulonglong)lVar25 >> 0x20) +\n                                *(int *)((int)&(data->progress).downloaded + 4) * 100,uVar21,iVar20)\n              ;\n            }\n          }\n        }\n      }\n      local_b0 = (undefined4)((ulonglong)uVar27 >> 0x20);\n      local_b4 = (undefined4)uVar27;\n      local_b8 = (undefined4)((ulonglong)uVar29 >> 0x20);\n      local_bc = (undefined4)uVar29;\n      time2str(time_left,CONCAT44(ppuVar14,in_stack_ffffff24));\n      time2str(time_total,CONCAT44(ppuVar14,in_stack_ffffff24));\n      time2str(time_spent,CONCAT44(ppuVar14,in_stack_ffffff24));\n      uVar21 = (data->progress).flags;\n      if ((uVar21 & 0x20) == 0) {\n        uVar8 = (uint)(data->progress).uploaded;\n        iVar16 = *(int *)((int)&(data->progress).uploaded + 4);\n        local_c4 = uVar8;\n        local_c0 = iVar16;\n      }\n      else {\n        uVar8 = (uint)(data->progress).size_ul;\n        iVar16 = *(int *)((int)&(data->progress).size_ul + 4);\n        local_c4 = (uint)(data->progress).uploaded;\n        local_c0 = *(int *)((int)&(data->progress).uploaded + 4);\n      }\n      uVar3 = (uint)(data->progress).downloaded;\n      iVar19 = *(int *)((int)&(data->progress).downloaded + 4);\n      uVar17 = uVar3;\n      iVar20 = iVar19;\n      if ((uVar21 & 0x40) != 0) {\n        uVar17 = (uint)(data->progress).size_dl;\n        iVar20 = *(int *)((int)&(data->progress).size_dl + 4);\n      }\n      pcVar23 = (char *)(uVar8 + uVar17);\n      iVar20 = iVar16 + iVar20 + (uint)CARRY4(uVar8,uVar17);\n      iVar16 = iVar19 + local_c0 + (uint)CARRY4(uVar3,local_c4);\n      if (-iVar20 < (int)(uint)((char *)0x2710 < pcVar23)) {\n        uVar27 = __divdi3(pcVar23,iVar20,100,0);\n        uVar27 = __divdi3(uVar3 + local_c4,iVar16,uVar27);\n      }\n      else {\n        uVar27 = 0;\n        if (-iVar20 < (int)(uint)(pcVar23 != (char *)0x0)) {\n          lVar25 = (ulonglong)(uVar3 + local_c4) * 100;\n          uVar27 = __divdi3((int)lVar25,(int)((ulonglong)lVar25 >> 0x20) + iVar16 * 100,pcVar23,\n                            iVar20);\n        }\n      }\n      local_c8 = (undefined4)((ulonglong)uVar27 >> 0x20);\n      local_cc = (undefined4)uVar27;\n      pcVar9 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),\n                        *(char **)&(data->progress).current_speed);\n      pcVar10 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).ulspeed);\n      pcVar11 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).dlspeed);\n      pcVar12 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).uploaded);\n      pcVar13 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).downloaded\n                        );\n      pcVar23 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),pcVar23);\n      curl_mfprintf((data->set).err,(char *)(ppuVar14 + -0xcccf),local_cc,local_c8,pcVar23,local_bc,\n                    local_b8,pcVar13,local_b4,local_b0,pcVar12,pcVar11,pcVar10,time_total,time_spent\n                    ,time_left,pcVar9);\n      fflush((FILE *)(data->set).err);\n      goto LAB_0001d1c8;\n    }" if (parenthesized_expression "((data->set).fprogress == (curl_progress_callback)0x0)" ( (binary_expression "(data->set).fprogress == (curl_progress_callback)0x0" (field_expression "(data->set).fprogress" (parenthesized_expression "(data->set)" ( (field_expression "data->set" identifier -> field_identifier) )) . field_identifier) == (cast_expression "(curl_progress_callback)0x0" ( (type_descriptor "curl_progress_callback" type_identifier) ) number_literal)) )) (compound_statement "{\n      iStack_d4 = 0;\n      if (!bVar4) goto LAB_0001d1c8;\n      if ((uVar21 & 0x80) == 0) {\n        iVar16 = *(int *)((int)&(data->state).resume_from + 4);\n        iVar19 = (int)(data->state).resume_from;\n        whereto = (data->set).err;\n        if (iVar16 != 0 || iVar19 != 0) {\n          curl_mfprintf(whereto,(char *)(ppuVar14 + -0xcd04),iVar19,iVar16);\n          whereto = (data->set).err;\n          iVar7 = iVar19;\n          iVar18 = iVar16;\n        }\n        curl_mfprintf(whereto,(char *)(ppuVar14 + -0xccf8),iVar7,iVar18);\n        uVar21 = (data->progress).flags | 0x80;\n        (data->progress).flags = uVar21;\n      }\n      if ((uVar21 & 0x20) == 0) {\nLAB_0001d2f0:\n        if ((uVar21 & 0x40) != 0) {\n          iVar16 = (int)(data->progress).dlspeed;\n          iVar19 = *(int *)((int)&(data->progress).dlspeed + 4);\n          if (-iVar19 < (int)(uint)(iVar16 != 0)) {\n            uVar27 = 0;\n            goto LAB_0001d331;\n          }\n        }\n        uVar27 = 0;\n        uVar29 = 0;\n      }\n      else {\n        iVar16 = (int)(data->progress).ulspeed;\n        iVar19 = *(int *)((int)&(data->progress).ulspeed + 4);\n        if ((int)(uint)(iVar16 != 0) <= -iVar19) goto LAB_0001d2f0;\n        uVar8 = (uint)(data->progress).size_ul;\n        iVar20 = *(int *)((int)&(data->progress).size_ul + 4);\n        __divdi3(uVar8,iVar20,iVar16,iVar19);\n        if (-iVar20 < (int)(uint)(10000 < uVar8)) {\n          uVar27 = __divdi3(uVar8,iVar20,100,0);\n          uVar27 = __divdi3((int)(data->progress).uploaded,\n                            *(undefined4 *)((int)&(data->progress).uploaded + 4),uVar27);\n        }\n        else {\n          uVar27 = 0;\n          if (-iVar20 < (int)(uint)(uVar8 != 0)) {\n            lVar25 = (ulonglong)(uint)(data->progress).uploaded * 100;\n            uVar27 = __divdi3((int)lVar25,\n                              (int)((ulonglong)lVar25 >> 0x20) +\n                              *(int *)((int)&(data->progress).uploaded + 4) * 100,uVar8,iVar20);\n          }\n        }\n        if ((uVar21 & 0x40) == 0) {\nLAB_0001d11b:\n          uVar29 = 0;\n        }\n        else {\n          iVar16 = (int)(data->progress).dlspeed;\n          iVar19 = *(int *)((int)&(data->progress).dlspeed + 4);\n          if ((int)(uint)(iVar16 != 0) <= -iVar19) goto LAB_0001d11b;\nLAB_0001d331:\n          uVar21 = (uint)(data->progress).size_dl;\n          iVar20 = *(int *)((int)&(data->progress).size_dl + 4);\n          __divdi3(uVar21,iVar20,iVar16,iVar19);\n          if (-iVar20 < (int)(uint)(10000 < uVar21)) {\n            uVar29 = __divdi3(uVar21,iVar20,100,0);\n            uVar29 = __divdi3((int)(data->progress).downloaded,\n                              *(undefined4 *)((int)&(data->progress).downloaded + 4),uVar29);\n          }\n          else {\n            uVar29 = 0;\n            if (-iVar20 < (int)(uint)(uVar21 != 0)) {\n              lVar25 = (ulonglong)(uint)(data->progress).downloaded * 100;\n              uVar29 = __divdi3((int)lVar25,\n                                (int)((ulonglong)lVar25 >> 0x20) +\n                                *(int *)((int)&(data->progress).downloaded + 4) * 100,uVar21,iVar20)\n              ;\n            }\n          }\n        }\n      }\n      local_b0 = (undefined4)((ulonglong)uVar27 >> 0x20);\n      local_b4 = (undefined4)uVar27;\n      local_b8 = (undefined4)((ulonglong)uVar29 >> 0x20);\n      local_bc = (undefined4)uVar29;\n      time2str(time_left,CONCAT44(ppuVar14,in_stack_ffffff24));\n      time2str(time_total,CONCAT44(ppuVar14,in_stack_ffffff24));\n      time2str(time_spent,CONCAT44(ppuVar14,in_stack_ffffff24));\n      uVar21 = (data->progress).flags;\n      if ((uVar21 & 0x20) == 0) {\n        uVar8 = (uint)(data->progress).uploaded;\n        iVar16 = *(int *)((int)&(data->progress).uploaded + 4);\n        local_c4 = uVar8;\n        local_c0 = iVar16;\n      }\n      else {\n        uVar8 = (uint)(data->progress).size_ul;\n        iVar16 = *(int *)((int)&(data->progress).size_ul + 4);\n        local_c4 = (uint)(data->progress).uploaded;\n        local_c0 = *(int *)((int)&(data->progress).uploaded + 4);\n      }\n      uVar3 = (uint)(data->progress).downloaded;\n      iVar19 = *(int *)((int)&(data->progress).downloaded + 4);\n      uVar17 = uVar3;\n      iVar20 = iVar19;\n      if ((uVar21 & 0x40) != 0) {\n        uVar17 = (uint)(data->progress).size_dl;\n        iVar20 = *(int *)((int)&(data->progress).size_dl + 4);\n      }\n      pcVar23 = (char *)(uVar8 + uVar17);\n      iVar20 = iVar16 + iVar20 + (uint)CARRY4(uVar8,uVar17);\n      iVar16 = iVar19 + local_c0 + (uint)CARRY4(uVar3,local_c4);\n      if (-iVar20 < (int)(uint)((char *)0x2710 < pcVar23)) {\n        uVar27 = __divdi3(pcVar23,iVar20,100,0);\n        uVar27 = __divdi3(uVar3 + local_c4,iVar16,uVar27);\n      }\n      else {\n        uVar27 = 0;\n        if (-iVar20 < (int)(uint)(pcVar23 != (char *)0x0)) {\n          lVar25 = (ulonglong)(uVar3 + local_c4) * 100;\n          uVar27 = __divdi3((int)lVar25,(int)((ulonglong)lVar25 >> 0x20) + iVar16 * 100,pcVar23,\n                            iVar20);\n        }\n      }\n      local_c8 = (undefined4)((ulonglong)uVar27 >> 0x20);\n      local_cc = (undefined4)uVar27;\n      pcVar9 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),\n                        *(char **)&(data->progress).current_speed);\n      pcVar10 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).ulspeed);\n      pcVar11 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).dlspeed);\n      pcVar12 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).uploaded);\n      pcVar13 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).downloaded\n                        );\n      pcVar23 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),pcVar23);\n      curl_mfprintf((data->set).err,(char *)(ppuVar14 + -0xcccf),local_cc,local_c8,pcVar23,local_bc,\n                    local_b8,pcVar13,local_b4,local_b0,pcVar12,pcVar11,pcVar10,time_total,time_spent\n                    ,time_left,pcVar9);\n      fflush((FILE *)(data->set).err);\n      goto LAB_0001d1c8;\n    }" { (expression_statement "iStack_d4 = 0;" (assignment_expression "iStack_d4 = 0" identifier = number_literal) ;) (if_statement "if (!bVar4) goto LAB_0001d1c8;" if (parenthesized_expression "(!bVar4)" ( (unary_expression "!bVar4" ! identifier) )) (goto_statement "goto LAB_0001d1c8;" goto statement_identifier ;)) (if_statement "if ((uVar21 & 0x80) == 0) {\n        iVar16 = *(int *)((int)&(data->state).resume_from + 4);\n        iVar19 = (int)(data->state).resume_from;\n        whereto = (data->set).err;\n        if (iVar16 != 0 || iVar19 != 0) {\n          curl_mfprintf(whereto,(char *)(ppuVar14 + -0xcd04),iVar19,iVar16);\n          whereto = (data->set).err;\n          iVar7 = iVar19;\n          iVar18 = iVar16;\n        }\n        curl_mfprintf(whereto,(char *)(ppuVar14 + -0xccf8),iVar7,iVar18);\n        uVar21 = (data->progress).flags | 0x80;\n        (data->progress).flags = uVar21;\n      }" if (parenthesized_expression "((uVar21 & 0x80) == 0)" ( (binary_expression "(uVar21 & 0x80) == 0" (parenthesized_expression "(uVar21 & 0x80)" ( (binary_expression "uVar21 & 0x80" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        iVar16 = *(int *)((int)&(data->state).resume_from + 4);\n        iVar19 = (int)(data->state).resume_from;\n        whereto = (data->set).err;\n        if (iVar16 != 0 || iVar19 != 0) {\n          curl_mfprintf(whereto,(char *)(ppuVar14 + -0xcd04),iVar19,iVar16);\n          whereto = (data->set).err;\n          iVar7 = iVar19;\n          iVar18 = iVar16;\n        }\n        curl_mfprintf(whereto,(char *)(ppuVar14 + -0xccf8),iVar7,iVar18);\n        uVar21 = (data->progress).flags | 0x80;\n        (data->progress).flags = uVar21;\n      }" { (expression_statement "iVar16 = *(int *)((int)&(data->state).resume_from + 4);" (assignment_expression "iVar16 = *(int *)((int)&(data->state).resume_from + 4)" identifier = (pointer_expression "*(int *)((int)&(data->state).resume_from + 4)" * (cast_expression "(int *)((int)&(data->state).resume_from + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(data->state).resume_from + 4)" ( (binary_expression "(int)&(data->state).resume_from + 4" (cast_expression "(int)&(data->state).resume_from" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(data->state).resume_from" & (field_expression "(data->state).resume_from" (parenthesized_expression "(data->state)" ( (field_expression "data->state" identifier -> field_identifier) )) . field_identifier))) + number_literal) ))))) ;) (expression_statement "iVar19 = (int)(data->state).resume_from;" (assignment_expression "iVar19 = (int)(data->state).resume_from" identifier = (cast_expression "(int)(data->state).resume_from" ( (type_descriptor "int" primitive_type) ) (field_expression "(data->state).resume_from" (parenthesized_expression "(data->state)" ( (field_expression "data->state" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "whereto = (data->set).err;" (assignment_expression "whereto = (data->set).err" identifier = (field_expression "(data->set).err" (parenthesized_expression "(data->set)" ( (field_expression "data->set" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (iVar16 != 0 || iVar19 != 0) {\n          curl_mfprintf(whereto,(char *)(ppuVar14 + -0xcd04),iVar19,iVar16);\n          whereto = (data->set).err;\n          iVar7 = iVar19;\n          iVar18 = iVar16;\n        }" if (parenthesized_expression "(iVar16 != 0 || iVar19 != 0)" ( (binary_expression "iVar16 != 0 || iVar19 != 0" (binary_expression "iVar16 != 0" identifier != number_literal) || (binary_expression "iVar19 != 0" identifier != number_literal)) )) (compound_statement "{\n          curl_mfprintf(whereto,(char *)(ppuVar14 + -0xcd04),iVar19,iVar16);\n          whereto = (data->set).err;\n          iVar7 = iVar19;\n          iVar18 = iVar16;\n        }" { (expression_statement "curl_mfprintf(whereto,(char *)(ppuVar14 + -0xcd04),iVar19,iVar16);" (call_expression "curl_mfprintf(whereto,(char *)(ppuVar14 + -0xcd04),iVar19,iVar16)" identifier (argument_list "(whereto,(char *)(ppuVar14 + -0xcd04),iVar19,iVar16)" ( identifier , (cast_expression "(char *)(ppuVar14 + -0xcd04)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppuVar14 + -0xcd04)" ( (binary_expression "ppuVar14 + -0xcd04" identifier + number_literal) ))) , identifier , identifier ))) ;) (expression_statement "whereto = (data->set).err;" (assignment_expression "whereto = (data->set).err" identifier = (field_expression "(data->set).err" (parenthesized_expression "(data->set)" ( (field_expression "data->set" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "iVar7 = iVar19;" (assignment_expression "iVar7 = iVar19" identifier = identifier) ;) (expression_statement "iVar18 = iVar16;" (assignment_expression "iVar18 = iVar16" identifier = identifier) ;) })) (expression_statement "curl_mfprintf(whereto,(char *)(ppuVar14 + -0xccf8),iVar7,iVar18);" (call_expression "curl_mfprintf(whereto,(char *)(ppuVar14 + -0xccf8),iVar7,iVar18)" identifier (argument_list "(whereto,(char *)(ppuVar14 + -0xccf8),iVar7,iVar18)" ( identifier , (cast_expression "(char *)(ppuVar14 + -0xccf8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppuVar14 + -0xccf8)" ( (binary_expression "ppuVar14 + -0xccf8" identifier + number_literal) ))) , identifier , identifier ))) ;) (expression_statement "uVar21 = (data->progress).flags | 0x80;" (assignment_expression "uVar21 = (data->progress).flags | 0x80" identifier = (binary_expression "(data->progress).flags | 0x80" (field_expression "(data->progress).flags" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier) | number_literal)) ;) (expression_statement "(data->progress).flags = uVar21;" (assignment_expression "(data->progress).flags = uVar21" (field_expression "(data->progress).flags" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier) = identifier) ;) })) (if_statement "if ((uVar21 & 0x20) == 0) {\nLAB_0001d2f0:\n        if ((uVar21 & 0x40) != 0) {\n          iVar16 = (int)(data->progress).dlspeed;\n          iVar19 = *(int *)((int)&(data->progress).dlspeed + 4);\n          if (-iVar19 < (int)(uint)(iVar16 != 0)) {\n            uVar27 = 0;\n            goto LAB_0001d331;\n          }\n        }\n        uVar27 = 0;\n        uVar29 = 0;\n      }\n      else {\n        iVar16 = (int)(data->progress).ulspeed;\n        iVar19 = *(int *)((int)&(data->progress).ulspeed + 4);\n        if ((int)(uint)(iVar16 != 0) <= -iVar19) goto LAB_0001d2f0;\n        uVar8 = (uint)(data->progress).size_ul;\n        iVar20 = *(int *)((int)&(data->progress).size_ul + 4);\n        __divdi3(uVar8,iVar20,iVar16,iVar19);\n        if (-iVar20 < (int)(uint)(10000 < uVar8)) {\n          uVar27 = __divdi3(uVar8,iVar20,100,0);\n          uVar27 = __divdi3((int)(data->progress).uploaded,\n                            *(undefined4 *)((int)&(data->progress).uploaded + 4),uVar27);\n        }\n        else {\n          uVar27 = 0;\n          if (-iVar20 < (int)(uint)(uVar8 != 0)) {\n            lVar25 = (ulonglong)(uint)(data->progress).uploaded * 100;\n            uVar27 = __divdi3((int)lVar25,\n                              (int)((ulonglong)lVar25 >> 0x20) +\n                              *(int *)((int)&(data->progress).uploaded + 4) * 100,uVar8,iVar20);\n          }\n        }\n        if ((uVar21 & 0x40) == 0) {\nLAB_0001d11b:\n          uVar29 = 0;\n        }\n        else {\n          iVar16 = (int)(data->progress).dlspeed;\n          iVar19 = *(int *)((int)&(data->progress).dlspeed + 4);\n          if ((int)(uint)(iVar16 != 0) <= -iVar19) goto LAB_0001d11b;\nLAB_0001d331:\n          uVar21 = (uint)(data->progress).size_dl;\n          iVar20 = *(int *)((int)&(data->progress).size_dl + 4);\n          __divdi3(uVar21,iVar20,iVar16,iVar19);\n          if (-iVar20 < (int)(uint)(10000 < uVar21)) {\n            uVar29 = __divdi3(uVar21,iVar20,100,0);\n            uVar29 = __divdi3((int)(data->progress).downloaded,\n                              *(undefined4 *)((int)&(data->progress).downloaded + 4),uVar29);\n          }\n          else {\n            uVar29 = 0;\n            if (-iVar20 < (int)(uint)(uVar21 != 0)) {\n              lVar25 = (ulonglong)(uint)(data->progress).downloaded * 100;\n              uVar29 = __divdi3((int)lVar25,\n                                (int)((ulonglong)lVar25 >> 0x20) +\n                                *(int *)((int)&(data->progress).downloaded + 4) * 100,uVar21,iVar20)\n              ;\n            }\n          }\n        }\n      }" if (parenthesized_expression "((uVar21 & 0x20) == 0)" ( (binary_expression "(uVar21 & 0x20) == 0" (parenthesized_expression "(uVar21 & 0x20)" ( (binary_expression "uVar21 & 0x20" identifier & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0001d2f0:\n        if ((uVar21 & 0x40) != 0) {\n          iVar16 = (int)(data->progress).dlspeed;\n          iVar19 = *(int *)((int)&(data->progress).dlspeed + 4);\n          if (-iVar19 < (int)(uint)(iVar16 != 0)) {\n            uVar27 = 0;\n            goto LAB_0001d331;\n          }\n        }\n        uVar27 = 0;\n        uVar29 = 0;\n      }" { (labeled_statement "LAB_0001d2f0:\n        if ((uVar21 & 0x40) != 0) {\n          iVar16 = (int)(data->progress).dlspeed;\n          iVar19 = *(int *)((int)&(data->progress).dlspeed + 4);\n          if (-iVar19 < (int)(uint)(iVar16 != 0)) {\n            uVar27 = 0;\n            goto LAB_0001d331;\n          }\n        }" statement_identifier : (if_statement "if ((uVar21 & 0x40) != 0) {\n          iVar16 = (int)(data->progress).dlspeed;\n          iVar19 = *(int *)((int)&(data->progress).dlspeed + 4);\n          if (-iVar19 < (int)(uint)(iVar16 != 0)) {\n            uVar27 = 0;\n            goto LAB_0001d331;\n          }\n        }" if (parenthesized_expression "((uVar21 & 0x40) != 0)" ( (binary_expression "(uVar21 & 0x40) != 0" (parenthesized_expression "(uVar21 & 0x40)" ( (binary_expression "uVar21 & 0x40" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          iVar16 = (int)(data->progress).dlspeed;\n          iVar19 = *(int *)((int)&(data->progress).dlspeed + 4);\n          if (-iVar19 < (int)(uint)(iVar16 != 0)) {\n            uVar27 = 0;\n            goto LAB_0001d331;\n          }\n        }" { (expression_statement "iVar16 = (int)(data->progress).dlspeed;" (assignment_expression "iVar16 = (int)(data->progress).dlspeed" identifier = (cast_expression "(int)(data->progress).dlspeed" ( (type_descriptor "int" primitive_type) ) (field_expression "(data->progress).dlspeed" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "iVar19 = *(int *)((int)&(data->progress).dlspeed + 4);" (assignment_expression "iVar19 = *(int *)((int)&(data->progress).dlspeed + 4)" identifier = (pointer_expression "*(int *)((int)&(data->progress).dlspeed + 4)" * (cast_expression "(int *)((int)&(data->progress).dlspeed + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(data->progress).dlspeed + 4)" ( (binary_expression "(int)&(data->progress).dlspeed + 4" (cast_expression "(int)&(data->progress).dlspeed" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(data->progress).dlspeed" & (field_expression "(data->progress).dlspeed" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier))) + number_literal) ))))) ;) (if_statement "if (-iVar19 < (int)(uint)(iVar16 != 0)) {\n            uVar27 = 0;\n            goto LAB_0001d331;\n          }" if (parenthesized_expression "(-iVar19 < (int)(uint)(iVar16 != 0))" ( (binary_expression "-iVar19 < (int)(uint)(iVar16 != 0)" (unary_expression "-iVar19" - identifier) < (cast_expression "(int)(uint)(iVar16 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(iVar16 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) ))))) )) (compound_statement "{\n            uVar27 = 0;\n            goto LAB_0001d331;\n          }" { (expression_statement "uVar27 = 0;" (assignment_expression "uVar27 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0001d331;" goto statement_identifier ;) })) }))) (expression_statement "uVar27 = 0;" (assignment_expression "uVar27 = 0" identifier = number_literal) ;) (expression_statement "uVar29 = 0;" (assignment_expression "uVar29 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        iVar16 = (int)(data->progress).ulspeed;\n        iVar19 = *(int *)((int)&(data->progress).ulspeed + 4);\n        if ((int)(uint)(iVar16 != 0) <= -iVar19) goto LAB_0001d2f0;\n        uVar8 = (uint)(data->progress).size_ul;\n        iVar20 = *(int *)((int)&(data->progress).size_ul + 4);\n        __divdi3(uVar8,iVar20,iVar16,iVar19);\n        if (-iVar20 < (int)(uint)(10000 < uVar8)) {\n          uVar27 = __divdi3(uVar8,iVar20,100,0);\n          uVar27 = __divdi3((int)(data->progress).uploaded,\n                            *(undefined4 *)((int)&(data->progress).uploaded + 4),uVar27);\n        }\n        else {\n          uVar27 = 0;\n          if (-iVar20 < (int)(uint)(uVar8 != 0)) {\n            lVar25 = (ulonglong)(uint)(data->progress).uploaded * 100;\n            uVar27 = __divdi3((int)lVar25,\n                              (int)((ulonglong)lVar25 >> 0x20) +\n                              *(int *)((int)&(data->progress).uploaded + 4) * 100,uVar8,iVar20);\n          }\n        }\n        if ((uVar21 & 0x40) == 0) {\nLAB_0001d11b:\n          uVar29 = 0;\n        }\n        else {\n          iVar16 = (int)(data->progress).dlspeed;\n          iVar19 = *(int *)((int)&(data->progress).dlspeed + 4);\n          if ((int)(uint)(iVar16 != 0) <= -iVar19) goto LAB_0001d11b;\nLAB_0001d331:\n          uVar21 = (uint)(data->progress).size_dl;\n          iVar20 = *(int *)((int)&(data->progress).size_dl + 4);\n          __divdi3(uVar21,iVar20,iVar16,iVar19);\n          if (-iVar20 < (int)(uint)(10000 < uVar21)) {\n            uVar29 = __divdi3(uVar21,iVar20,100,0);\n            uVar29 = __divdi3((int)(data->progress).downloaded,\n                              *(undefined4 *)((int)&(data->progress).downloaded + 4),uVar29);\n          }\n          else {\n            uVar29 = 0;\n            if (-iVar20 < (int)(uint)(uVar21 != 0)) {\n              lVar25 = (ulonglong)(uint)(data->progress).downloaded * 100;\n              uVar29 = __divdi3((int)lVar25,\n                                (int)((ulonglong)lVar25 >> 0x20) +\n                                *(int *)((int)&(data->progress).downloaded + 4) * 100,uVar21,iVar20)\n              ;\n            }\n          }\n        }\n      }" else (compound_statement "{\n        iVar16 = (int)(data->progress).ulspeed;\n        iVar19 = *(int *)((int)&(data->progress).ulspeed + 4);\n        if ((int)(uint)(iVar16 != 0) <= -iVar19) goto LAB_0001d2f0;\n        uVar8 = (uint)(data->progress).size_ul;\n        iVar20 = *(int *)((int)&(data->progress).size_ul + 4);\n        __divdi3(uVar8,iVar20,iVar16,iVar19);\n        if (-iVar20 < (int)(uint)(10000 < uVar8)) {\n          uVar27 = __divdi3(uVar8,iVar20,100,0);\n          uVar27 = __divdi3((int)(data->progress).uploaded,\n                            *(undefined4 *)((int)&(data->progress).uploaded + 4),uVar27);\n        }\n        else {\n          uVar27 = 0;\n          if (-iVar20 < (int)(uint)(uVar8 != 0)) {\n            lVar25 = (ulonglong)(uint)(data->progress).uploaded * 100;\n            uVar27 = __divdi3((int)lVar25,\n                              (int)((ulonglong)lVar25 >> 0x20) +\n                              *(int *)((int)&(data->progress).uploaded + 4) * 100,uVar8,iVar20);\n          }\n        }\n        if ((uVar21 & 0x40) == 0) {\nLAB_0001d11b:\n          uVar29 = 0;\n        }\n        else {\n          iVar16 = (int)(data->progress).dlspeed;\n          iVar19 = *(int *)((int)&(data->progress).dlspeed + 4);\n          if ((int)(uint)(iVar16 != 0) <= -iVar19) goto LAB_0001d11b;\nLAB_0001d331:\n          uVar21 = (uint)(data->progress).size_dl;\n          iVar20 = *(int *)((int)&(data->progress).size_dl + 4);\n          __divdi3(uVar21,iVar20,iVar16,iVar19);\n          if (-iVar20 < (int)(uint)(10000 < uVar21)) {\n            uVar29 = __divdi3(uVar21,iVar20,100,0);\n            uVar29 = __divdi3((int)(data->progress).downloaded,\n                              *(undefined4 *)((int)&(data->progress).downloaded + 4),uVar29);\n          }\n          else {\n            uVar29 = 0;\n            if (-iVar20 < (int)(uint)(uVar21 != 0)) {\n              lVar25 = (ulonglong)(uint)(data->progress).downloaded * 100;\n              uVar29 = __divdi3((int)lVar25,\n                                (int)((ulonglong)lVar25 >> 0x20) +\n                                *(int *)((int)&(data->progress).downloaded + 4) * 100,uVar21,iVar20)\n              ;\n            }\n          }\n        }\n      }" { (expression_statement "iVar16 = (int)(data->progress).ulspeed;" (assignment_expression "iVar16 = (int)(data->progress).ulspeed" identifier = (cast_expression "(int)(data->progress).ulspeed" ( (type_descriptor "int" primitive_type) ) (field_expression "(data->progress).ulspeed" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "iVar19 = *(int *)((int)&(data->progress).ulspeed + 4);" (assignment_expression "iVar19 = *(int *)((int)&(data->progress).ulspeed + 4)" identifier = (pointer_expression "*(int *)((int)&(data->progress).ulspeed + 4)" * (cast_expression "(int *)((int)&(data->progress).ulspeed + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(data->progress).ulspeed + 4)" ( (binary_expression "(int)&(data->progress).ulspeed + 4" (cast_expression "(int)&(data->progress).ulspeed" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(data->progress).ulspeed" & (field_expression "(data->progress).ulspeed" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier))) + number_literal) ))))) ;) (if_statement "if ((int)(uint)(iVar16 != 0) <= -iVar19) goto LAB_0001d2f0;" if (parenthesized_expression "((int)(uint)(iVar16 != 0) <= -iVar19)" ( (binary_expression "(int)(uint)(iVar16 != 0) <= -iVar19" (cast_expression "(int)(uint)(iVar16 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(iVar16 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )))) <= (unary_expression "-iVar19" - identifier)) )) (goto_statement "goto LAB_0001d2f0;" goto statement_identifier ;)) (expression_statement "uVar8 = (uint)(data->progress).size_ul;" (assignment_expression "uVar8 = (uint)(data->progress).size_ul" identifier = (field_expression "(uint)(data->progress).size_ul" (call_expression "(uint)(data->progress)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) ))) . field_identifier)) ;) (expression_statement "iVar20 = *(int *)((int)&(data->progress).size_ul + 4);" (assignment_expression "iVar20 = *(int *)((int)&(data->progress).size_ul + 4)" identifier = (pointer_expression "*(int *)((int)&(data->progress).size_ul + 4)" * (cast_expression "(int *)((int)&(data->progress).size_ul + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(data->progress).size_ul + 4)" ( (binary_expression "(int)&(data->progress).size_ul + 4" (cast_expression "(int)&(data->progress).size_ul" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(data->progress).size_ul" & (field_expression "(data->progress).size_ul" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier))) + number_literal) ))))) ;) (expression_statement "__divdi3(uVar8,iVar20,iVar16,iVar19);" (call_expression "__divdi3(uVar8,iVar20,iVar16,iVar19)" identifier (argument_list "(uVar8,iVar20,iVar16,iVar19)" ( identifier , identifier , identifier , identifier ))) ;) (if_statement "if (-iVar20 < (int)(uint)(10000 < uVar8)) {\n          uVar27 = __divdi3(uVar8,iVar20,100,0);\n          uVar27 = __divdi3((int)(data->progress).uploaded,\n                            *(undefined4 *)((int)&(data->progress).uploaded + 4),uVar27);\n        }\n        else {\n          uVar27 = 0;\n          if (-iVar20 < (int)(uint)(uVar8 != 0)) {\n            lVar25 = (ulonglong)(uint)(data->progress).uploaded * 100;\n            uVar27 = __divdi3((int)lVar25,\n                              (int)((ulonglong)lVar25 >> 0x20) +\n                              *(int *)((int)&(data->progress).uploaded + 4) * 100,uVar8,iVar20);\n          }\n        }" if (parenthesized_expression "(-iVar20 < (int)(uint)(10000 < uVar8))" ( (binary_expression "-iVar20 < (int)(uint)(10000 < uVar8)" (unary_expression "-iVar20" - identifier) < (cast_expression "(int)(uint)(10000 < uVar8)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(10000 < uVar8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(10000 < uVar8)" ( (binary_expression "10000 < uVar8" number_literal < identifier) ))))) )) (compound_statement "{\n          uVar27 = __divdi3(uVar8,iVar20,100,0);\n          uVar27 = __divdi3((int)(data->progress).uploaded,\n                            *(undefined4 *)((int)&(data->progress).uploaded + 4),uVar27);\n        }" { (expression_statement "uVar27 = __divdi3(uVar8,iVar20,100,0);" (assignment_expression "uVar27 = __divdi3(uVar8,iVar20,100,0)" identifier = (call_expression "__divdi3(uVar8,iVar20,100,0)" identifier (argument_list "(uVar8,iVar20,100,0)" ( identifier , identifier , number_literal , number_literal )))) ;) (expression_statement "uVar27 = __divdi3((int)(data->progress).uploaded,\n                            *(undefined4 *)((int)&(data->progress).uploaded + 4),uVar27);" (assignment_expression "uVar27 = __divdi3((int)(data->progress).uploaded,\n                            *(undefined4 *)((int)&(data->progress).uploaded + 4),uVar27)" identifier = (call_expression "__divdi3((int)(data->progress).uploaded,\n                            *(undefined4 *)((int)&(data->progress).uploaded + 4),uVar27)" identifier (argument_list "((int)(data->progress).uploaded,\n                            *(undefined4 *)((int)&(data->progress).uploaded + 4),uVar27)" ( (cast_expression "(int)(data->progress).uploaded" ( (type_descriptor "int" primitive_type) ) (field_expression "(data->progress).uploaded" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier)) , (pointer_expression "*(undefined4 *)((int)&(data->progress).uploaded + 4)" * (cast_expression "(undefined4 *)((int)&(data->progress).uploaded + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(data->progress).uploaded + 4)" ( (binary_expression "(int)&(data->progress).uploaded + 4" (cast_expression "(int)&(data->progress).uploaded" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(data->progress).uploaded" & (field_expression "(data->progress).uploaded" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) , identifier )))) ;) }) (else_clause "else {\n          uVar27 = 0;\n          if (-iVar20 < (int)(uint)(uVar8 != 0)) {\n            lVar25 = (ulonglong)(uint)(data->progress).uploaded * 100;\n            uVar27 = __divdi3((int)lVar25,\n                              (int)((ulonglong)lVar25 >> 0x20) +\n                              *(int *)((int)&(data->progress).uploaded + 4) * 100,uVar8,iVar20);\n          }\n        }" else (compound_statement "{\n          uVar27 = 0;\n          if (-iVar20 < (int)(uint)(uVar8 != 0)) {\n            lVar25 = (ulonglong)(uint)(data->progress).uploaded * 100;\n            uVar27 = __divdi3((int)lVar25,\n                              (int)((ulonglong)lVar25 >> 0x20) +\n                              *(int *)((int)&(data->progress).uploaded + 4) * 100,uVar8,iVar20);\n          }\n        }" { (expression_statement "uVar27 = 0;" (assignment_expression "uVar27 = 0" identifier = number_literal) ;) (if_statement "if (-iVar20 < (int)(uint)(uVar8 != 0)) {\n            lVar25 = (ulonglong)(uint)(data->progress).uploaded * 100;\n            uVar27 = __divdi3((int)lVar25,\n                              (int)((ulonglong)lVar25 >> 0x20) +\n                              *(int *)((int)&(data->progress).uploaded + 4) * 100,uVar8,iVar20);\n          }" if (parenthesized_expression "(-iVar20 < (int)(uint)(uVar8 != 0))" ( (binary_expression "-iVar20 < (int)(uint)(uVar8 != 0)" (unary_expression "-iVar20" - identifier) < (cast_expression "(int)(uint)(uVar8 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(uVar8 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) ))))) )) (compound_statement "{\n            lVar25 = (ulonglong)(uint)(data->progress).uploaded * 100;\n            uVar27 = __divdi3((int)lVar25,\n                              (int)((ulonglong)lVar25 >> 0x20) +\n                              *(int *)((int)&(data->progress).uploaded + 4) * 100,uVar8,iVar20);\n          }" { (expression_statement "lVar25 = (ulonglong)(uint)(data->progress).uploaded * 100;" (assignment_expression "lVar25 = (ulonglong)(uint)(data->progress).uploaded * 100" identifier = (binary_expression "(ulonglong)(uint)(data->progress).uploaded * 100" (field_expression "(ulonglong)(uint)(data->progress).uploaded" (call_expression "(ulonglong)(uint)(data->progress)" (call_expression "(ulonglong)(uint)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) ))) . field_identifier) * number_literal)) ;) (expression_statement "uVar27 = __divdi3((int)lVar25,\n                              (int)((ulonglong)lVar25 >> 0x20) +\n                              *(int *)((int)&(data->progress).uploaded + 4) * 100,uVar8,iVar20);" (assignment_expression "uVar27 = __divdi3((int)lVar25,\n                              (int)((ulonglong)lVar25 >> 0x20) +\n                              *(int *)((int)&(data->progress).uploaded + 4) * 100,uVar8,iVar20)" identifier = (call_expression "__divdi3((int)lVar25,\n                              (int)((ulonglong)lVar25 >> 0x20) +\n                              *(int *)((int)&(data->progress).uploaded + 4) * 100,uVar8,iVar20)" identifier (argument_list "((int)lVar25,\n                              (int)((ulonglong)lVar25 >> 0x20) +\n                              *(int *)((int)&(data->progress).uploaded + 4) * 100,uVar8,iVar20)" ( (cast_expression "(int)lVar25" ( (type_descriptor "int" primitive_type) ) identifier) , (binary_expression "(int)((ulonglong)lVar25 >> 0x20) +\n                              *(int *)((int)&(data->progress).uploaded + 4) * 100" (cast_expression "(int)((ulonglong)lVar25 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar25 >> 0x20)" ( (binary_expression "(ulonglong)lVar25 >> 0x20" (cast_expression "(ulonglong)lVar25" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) + (binary_expression "*(int *)((int)&(data->progress).uploaded + 4) * 100" (pointer_expression "*(int *)((int)&(data->progress).uploaded + 4)" * (cast_expression "(int *)((int)&(data->progress).uploaded + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(data->progress).uploaded + 4)" ( (binary_expression "(int)&(data->progress).uploaded + 4" (cast_expression "(int)&(data->progress).uploaded" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(data->progress).uploaded" & (field_expression "(data->progress).uploaded" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) * number_literal)) , identifier , identifier )))) ;) })) }))) (if_statement "if ((uVar21 & 0x40) == 0) {\nLAB_0001d11b:\n          uVar29 = 0;\n        }\n        else {\n          iVar16 = (int)(data->progress).dlspeed;\n          iVar19 = *(int *)((int)&(data->progress).dlspeed + 4);\n          if ((int)(uint)(iVar16 != 0) <= -iVar19) goto LAB_0001d11b;\nLAB_0001d331:\n          uVar21 = (uint)(data->progress).size_dl;\n          iVar20 = *(int *)((int)&(data->progress).size_dl + 4);\n          __divdi3(uVar21,iVar20,iVar16,iVar19);\n          if (-iVar20 < (int)(uint)(10000 < uVar21)) {\n            uVar29 = __divdi3(uVar21,iVar20,100,0);\n            uVar29 = __divdi3((int)(data->progress).downloaded,\n                              *(undefined4 *)((int)&(data->progress).downloaded + 4),uVar29);\n          }\n          else {\n            uVar29 = 0;\n            if (-iVar20 < (int)(uint)(uVar21 != 0)) {\n              lVar25 = (ulonglong)(uint)(data->progress).downloaded * 100;\n              uVar29 = __divdi3((int)lVar25,\n                                (int)((ulonglong)lVar25 >> 0x20) +\n                                *(int *)((int)&(data->progress).downloaded + 4) * 100,uVar21,iVar20)\n              ;\n            }\n          }\n        }" if (parenthesized_expression "((uVar21 & 0x40) == 0)" ( (binary_expression "(uVar21 & 0x40) == 0" (parenthesized_expression "(uVar21 & 0x40)" ( (binary_expression "uVar21 & 0x40" identifier & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0001d11b:\n          uVar29 = 0;\n        }" { (labeled_statement "LAB_0001d11b:\n          uVar29 = 0;" statement_identifier : (expression_statement "uVar29 = 0;" (assignment_expression "uVar29 = 0" identifier = number_literal) ;)) }) (else_clause "else {\n          iVar16 = (int)(data->progress).dlspeed;\n          iVar19 = *(int *)((int)&(data->progress).dlspeed + 4);\n          if ((int)(uint)(iVar16 != 0) <= -iVar19) goto LAB_0001d11b;\nLAB_0001d331:\n          uVar21 = (uint)(data->progress).size_dl;\n          iVar20 = *(int *)((int)&(data->progress).size_dl + 4);\n          __divdi3(uVar21,iVar20,iVar16,iVar19);\n          if (-iVar20 < (int)(uint)(10000 < uVar21)) {\n            uVar29 = __divdi3(uVar21,iVar20,100,0);\n            uVar29 = __divdi3((int)(data->progress).downloaded,\n                              *(undefined4 *)((int)&(data->progress).downloaded + 4),uVar29);\n          }\n          else {\n            uVar29 = 0;\n            if (-iVar20 < (int)(uint)(uVar21 != 0)) {\n              lVar25 = (ulonglong)(uint)(data->progress).downloaded * 100;\n              uVar29 = __divdi3((int)lVar25,\n                                (int)((ulonglong)lVar25 >> 0x20) +\n                                *(int *)((int)&(data->progress).downloaded + 4) * 100,uVar21,iVar20)\n              ;\n            }\n          }\n        }" else (compound_statement "{\n          iVar16 = (int)(data->progress).dlspeed;\n          iVar19 = *(int *)((int)&(data->progress).dlspeed + 4);\n          if ((int)(uint)(iVar16 != 0) <= -iVar19) goto LAB_0001d11b;\nLAB_0001d331:\n          uVar21 = (uint)(data->progress).size_dl;\n          iVar20 = *(int *)((int)&(data->progress).size_dl + 4);\n          __divdi3(uVar21,iVar20,iVar16,iVar19);\n          if (-iVar20 < (int)(uint)(10000 < uVar21)) {\n            uVar29 = __divdi3(uVar21,iVar20,100,0);\n            uVar29 = __divdi3((int)(data->progress).downloaded,\n                              *(undefined4 *)((int)&(data->progress).downloaded + 4),uVar29);\n          }\n          else {\n            uVar29 = 0;\n            if (-iVar20 < (int)(uint)(uVar21 != 0)) {\n              lVar25 = (ulonglong)(uint)(data->progress).downloaded * 100;\n              uVar29 = __divdi3((int)lVar25,\n                                (int)((ulonglong)lVar25 >> 0x20) +\n                                *(int *)((int)&(data->progress).downloaded + 4) * 100,uVar21,iVar20)\n              ;\n            }\n          }\n        }" { (expression_statement "iVar16 = (int)(data->progress).dlspeed;" (assignment_expression "iVar16 = (int)(data->progress).dlspeed" identifier = (cast_expression "(int)(data->progress).dlspeed" ( (type_descriptor "int" primitive_type) ) (field_expression "(data->progress).dlspeed" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "iVar19 = *(int *)((int)&(data->progress).dlspeed + 4);" (assignment_expression "iVar19 = *(int *)((int)&(data->progress).dlspeed + 4)" identifier = (pointer_expression "*(int *)((int)&(data->progress).dlspeed + 4)" * (cast_expression "(int *)((int)&(data->progress).dlspeed + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(data->progress).dlspeed + 4)" ( (binary_expression "(int)&(data->progress).dlspeed + 4" (cast_expression "(int)&(data->progress).dlspeed" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(data->progress).dlspeed" & (field_expression "(data->progress).dlspeed" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier))) + number_literal) ))))) ;) (if_statement "if ((int)(uint)(iVar16 != 0) <= -iVar19) goto LAB_0001d11b;" if (parenthesized_expression "((int)(uint)(iVar16 != 0) <= -iVar19)" ( (binary_expression "(int)(uint)(iVar16 != 0) <= -iVar19" (cast_expression "(int)(uint)(iVar16 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(iVar16 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )))) <= (unary_expression "-iVar19" - identifier)) )) (goto_statement "goto LAB_0001d11b;" goto statement_identifier ;)) (labeled_statement "LAB_0001d331:\n          uVar21 = (uint)(data->progress).size_dl;" statement_identifier : (expression_statement "uVar21 = (uint)(data->progress).size_dl;" (assignment_expression "uVar21 = (uint)(data->progress).size_dl" identifier = (field_expression "(uint)(data->progress).size_dl" (call_expression "(uint)(data->progress)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) ))) . field_identifier)) ;)) (expression_statement "iVar20 = *(int *)((int)&(data->progress).size_dl + 4);" (assignment_expression "iVar20 = *(int *)((int)&(data->progress).size_dl + 4)" identifier = (pointer_expression "*(int *)((int)&(data->progress).size_dl + 4)" * (cast_expression "(int *)((int)&(data->progress).size_dl + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(data->progress).size_dl + 4)" ( (binary_expression "(int)&(data->progress).size_dl + 4" (cast_expression "(int)&(data->progress).size_dl" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(data->progress).size_dl" & (field_expression "(data->progress).size_dl" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier))) + number_literal) ))))) ;) (expression_statement "__divdi3(uVar21,iVar20,iVar16,iVar19);" (call_expression "__divdi3(uVar21,iVar20,iVar16,iVar19)" identifier (argument_list "(uVar21,iVar20,iVar16,iVar19)" ( identifier , identifier , identifier , identifier ))) ;) (if_statement "if (-iVar20 < (int)(uint)(10000 < uVar21)) {\n            uVar29 = __divdi3(uVar21,iVar20,100,0);\n            uVar29 = __divdi3((int)(data->progress).downloaded,\n                              *(undefined4 *)((int)&(data->progress).downloaded + 4),uVar29);\n          }\n          else {\n            uVar29 = 0;\n            if (-iVar20 < (int)(uint)(uVar21 != 0)) {\n              lVar25 = (ulonglong)(uint)(data->progress).downloaded * 100;\n              uVar29 = __divdi3((int)lVar25,\n                                (int)((ulonglong)lVar25 >> 0x20) +\n                                *(int *)((int)&(data->progress).downloaded + 4) * 100,uVar21,iVar20)\n              ;\n            }\n          }" if (parenthesized_expression "(-iVar20 < (int)(uint)(10000 < uVar21))" ( (binary_expression "-iVar20 < (int)(uint)(10000 < uVar21)" (unary_expression "-iVar20" - identifier) < (cast_expression "(int)(uint)(10000 < uVar21)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(10000 < uVar21)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(10000 < uVar21)" ( (binary_expression "10000 < uVar21" number_literal < identifier) ))))) )) (compound_statement "{\n            uVar29 = __divdi3(uVar21,iVar20,100,0);\n            uVar29 = __divdi3((int)(data->progress).downloaded,\n                              *(undefined4 *)((int)&(data->progress).downloaded + 4),uVar29);\n          }" { (expression_statement "uVar29 = __divdi3(uVar21,iVar20,100,0);" (assignment_expression "uVar29 = __divdi3(uVar21,iVar20,100,0)" identifier = (call_expression "__divdi3(uVar21,iVar20,100,0)" identifier (argument_list "(uVar21,iVar20,100,0)" ( identifier , identifier , number_literal , number_literal )))) ;) (expression_statement "uVar29 = __divdi3((int)(data->progress).downloaded,\n                              *(undefined4 *)((int)&(data->progress).downloaded + 4),uVar29);" (assignment_expression "uVar29 = __divdi3((int)(data->progress).downloaded,\n                              *(undefined4 *)((int)&(data->progress).downloaded + 4),uVar29)" identifier = (call_expression "__divdi3((int)(data->progress).downloaded,\n                              *(undefined4 *)((int)&(data->progress).downloaded + 4),uVar29)" identifier (argument_list "((int)(data->progress).downloaded,\n                              *(undefined4 *)((int)&(data->progress).downloaded + 4),uVar29)" ( (cast_expression "(int)(data->progress).downloaded" ( (type_descriptor "int" primitive_type) ) (field_expression "(data->progress).downloaded" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier)) , (pointer_expression "*(undefined4 *)((int)&(data->progress).downloaded + 4)" * (cast_expression "(undefined4 *)((int)&(data->progress).downloaded + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(data->progress).downloaded + 4)" ( (binary_expression "(int)&(data->progress).downloaded + 4" (cast_expression "(int)&(data->progress).downloaded" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(data->progress).downloaded" & (field_expression "(data->progress).downloaded" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) , identifier )))) ;) }) (else_clause "else {\n            uVar29 = 0;\n            if (-iVar20 < (int)(uint)(uVar21 != 0)) {\n              lVar25 = (ulonglong)(uint)(data->progress).downloaded * 100;\n              uVar29 = __divdi3((int)lVar25,\n                                (int)((ulonglong)lVar25 >> 0x20) +\n                                *(int *)((int)&(data->progress).downloaded + 4) * 100,uVar21,iVar20)\n              ;\n            }\n          }" else (compound_statement "{\n            uVar29 = 0;\n            if (-iVar20 < (int)(uint)(uVar21 != 0)) {\n              lVar25 = (ulonglong)(uint)(data->progress).downloaded * 100;\n              uVar29 = __divdi3((int)lVar25,\n                                (int)((ulonglong)lVar25 >> 0x20) +\n                                *(int *)((int)&(data->progress).downloaded + 4) * 100,uVar21,iVar20)\n              ;\n            }\n          }" { (expression_statement "uVar29 = 0;" (assignment_expression "uVar29 = 0" identifier = number_literal) ;) (if_statement "if (-iVar20 < (int)(uint)(uVar21 != 0)) {\n              lVar25 = (ulonglong)(uint)(data->progress).downloaded * 100;\n              uVar29 = __divdi3((int)lVar25,\n                                (int)((ulonglong)lVar25 >> 0x20) +\n                                *(int *)((int)&(data->progress).downloaded + 4) * 100,uVar21,iVar20)\n              ;\n            }" if (parenthesized_expression "(-iVar20 < (int)(uint)(uVar21 != 0))" ( (binary_expression "-iVar20 < (int)(uint)(uVar21 != 0)" (unary_expression "-iVar20" - identifier) < (cast_expression "(int)(uint)(uVar21 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(uVar21 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar21 != 0)" ( (binary_expression "uVar21 != 0" identifier != number_literal) ))))) )) (compound_statement "{\n              lVar25 = (ulonglong)(uint)(data->progress).downloaded * 100;\n              uVar29 = __divdi3((int)lVar25,\n                                (int)((ulonglong)lVar25 >> 0x20) +\n                                *(int *)((int)&(data->progress).downloaded + 4) * 100,uVar21,iVar20)\n              ;\n            }" { (expression_statement "lVar25 = (ulonglong)(uint)(data->progress).downloaded * 100;" (assignment_expression "lVar25 = (ulonglong)(uint)(data->progress).downloaded * 100" identifier = (binary_expression "(ulonglong)(uint)(data->progress).downloaded * 100" (field_expression "(ulonglong)(uint)(data->progress).downloaded" (call_expression "(ulonglong)(uint)(data->progress)" (call_expression "(ulonglong)(uint)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) ))) . field_identifier) * number_literal)) ;) (expression_statement "uVar29 = __divdi3((int)lVar25,\n                                (int)((ulonglong)lVar25 >> 0x20) +\n                                *(int *)((int)&(data->progress).downloaded + 4) * 100,uVar21,iVar20)\n              ;" (assignment_expression "uVar29 = __divdi3((int)lVar25,\n                                (int)((ulonglong)lVar25 >> 0x20) +\n                                *(int *)((int)&(data->progress).downloaded + 4) * 100,uVar21,iVar20)" identifier = (call_expression "__divdi3((int)lVar25,\n                                (int)((ulonglong)lVar25 >> 0x20) +\n                                *(int *)((int)&(data->progress).downloaded + 4) * 100,uVar21,iVar20)" identifier (argument_list "((int)lVar25,\n                                (int)((ulonglong)lVar25 >> 0x20) +\n                                *(int *)((int)&(data->progress).downloaded + 4) * 100,uVar21,iVar20)" ( (cast_expression "(int)lVar25" ( (type_descriptor "int" primitive_type) ) identifier) , (binary_expression "(int)((ulonglong)lVar25 >> 0x20) +\n                                *(int *)((int)&(data->progress).downloaded + 4) * 100" (cast_expression "(int)((ulonglong)lVar25 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar25 >> 0x20)" ( (binary_expression "(ulonglong)lVar25 >> 0x20" (cast_expression "(ulonglong)lVar25" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) + (binary_expression "*(int *)((int)&(data->progress).downloaded + 4) * 100" (pointer_expression "*(int *)((int)&(data->progress).downloaded + 4)" * (cast_expression "(int *)((int)&(data->progress).downloaded + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(data->progress).downloaded + 4)" ( (binary_expression "(int)&(data->progress).downloaded + 4" (cast_expression "(int)&(data->progress).downloaded" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(data->progress).downloaded" & (field_expression "(data->progress).downloaded" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) * number_literal)) , identifier , identifier )))) ;) })) }))) }))) }))) (expression_statement "local_b0 = (undefined4)((ulonglong)uVar27 >> 0x20);" (assignment_expression "local_b0 = (undefined4)((ulonglong)uVar27 >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)uVar27 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)uVar27 >> 0x20)" ( (binary_expression "(ulonglong)uVar27 >> 0x20" (cast_expression "(ulonglong)uVar27" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_b4 = (undefined4)uVar27;" (assignment_expression "local_b4 = (undefined4)uVar27" identifier = (cast_expression "(undefined4)uVar27" ( (type_descriptor "undefined4" type_identifier) ) identifier)) ;) (expression_statement "local_b8 = (undefined4)((ulonglong)uVar29 >> 0x20);" (assignment_expression "local_b8 = (undefined4)((ulonglong)uVar29 >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)uVar29 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)uVar29 >> 0x20)" ( (binary_expression "(ulonglong)uVar29 >> 0x20" (cast_expression "(ulonglong)uVar29" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_bc = (undefined4)uVar29;" (assignment_expression "local_bc = (undefined4)uVar29" identifier = (cast_expression "(undefined4)uVar29" ( (type_descriptor "undefined4" type_identifier) ) identifier)) ;) (expression_statement "time2str(time_left,CONCAT44(ppuVar14,in_stack_ffffff24));" (call_expression "time2str(time_left,CONCAT44(ppuVar14,in_stack_ffffff24))" identifier (argument_list "(time_left,CONCAT44(ppuVar14,in_stack_ffffff24))" ( identifier , (call_expression "CONCAT44(ppuVar14,in_stack_ffffff24)" identifier (argument_list "(ppuVar14,in_stack_ffffff24)" ( identifier , identifier ))) ))) ;) (expression_statement "time2str(time_total,CONCAT44(ppuVar14,in_stack_ffffff24));" (call_expression "time2str(time_total,CONCAT44(ppuVar14,in_stack_ffffff24))" identifier (argument_list "(time_total,CONCAT44(ppuVar14,in_stack_ffffff24))" ( identifier , (call_expression "CONCAT44(ppuVar14,in_stack_ffffff24)" identifier (argument_list "(ppuVar14,in_stack_ffffff24)" ( identifier , identifier ))) ))) ;) (expression_statement "time2str(time_spent,CONCAT44(ppuVar14,in_stack_ffffff24));" (call_expression "time2str(time_spent,CONCAT44(ppuVar14,in_stack_ffffff24))" identifier (argument_list "(time_spent,CONCAT44(ppuVar14,in_stack_ffffff24))" ( identifier , (call_expression "CONCAT44(ppuVar14,in_stack_ffffff24)" identifier (argument_list "(ppuVar14,in_stack_ffffff24)" ( identifier , identifier ))) ))) ;) (expression_statement "uVar21 = (data->progress).flags;" (assignment_expression "uVar21 = (data->progress).flags" identifier = (field_expression "(data->progress).flags" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if ((uVar21 & 0x20) == 0) {\n        uVar8 = (uint)(data->progress).uploaded;\n        iVar16 = *(int *)((int)&(data->progress).uploaded + 4);\n        local_c4 = uVar8;\n        local_c0 = iVar16;\n      }\n      else {\n        uVar8 = (uint)(data->progress).size_ul;\n        iVar16 = *(int *)((int)&(data->progress).size_ul + 4);\n        local_c4 = (uint)(data->progress).uploaded;\n        local_c0 = *(int *)((int)&(data->progress).uploaded + 4);\n      }" if (parenthesized_expression "((uVar21 & 0x20) == 0)" ( (binary_expression "(uVar21 & 0x20) == 0" (parenthesized_expression "(uVar21 & 0x20)" ( (binary_expression "uVar21 & 0x20" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        uVar8 = (uint)(data->progress).uploaded;\n        iVar16 = *(int *)((int)&(data->progress).uploaded + 4);\n        local_c4 = uVar8;\n        local_c0 = iVar16;\n      }" { (expression_statement "uVar8 = (uint)(data->progress).uploaded;" (assignment_expression "uVar8 = (uint)(data->progress).uploaded" identifier = (field_expression "(uint)(data->progress).uploaded" (call_expression "(uint)(data->progress)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) ))) . field_identifier)) ;) (expression_statement "iVar16 = *(int *)((int)&(data->progress).uploaded + 4);" (assignment_expression "iVar16 = *(int *)((int)&(data->progress).uploaded + 4)" identifier = (pointer_expression "*(int *)((int)&(data->progress).uploaded + 4)" * (cast_expression "(int *)((int)&(data->progress).uploaded + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(data->progress).uploaded + 4)" ( (binary_expression "(int)&(data->progress).uploaded + 4" (cast_expression "(int)&(data->progress).uploaded" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(data->progress).uploaded" & (field_expression "(data->progress).uploaded" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier))) + number_literal) ))))) ;) (expression_statement "local_c4 = uVar8;" (assignment_expression "local_c4 = uVar8" identifier = identifier) ;) (expression_statement "local_c0 = iVar16;" (assignment_expression "local_c0 = iVar16" identifier = identifier) ;) }) (else_clause "else {\n        uVar8 = (uint)(data->progress).size_ul;\n        iVar16 = *(int *)((int)&(data->progress).size_ul + 4);\n        local_c4 = (uint)(data->progress).uploaded;\n        local_c0 = *(int *)((int)&(data->progress).uploaded + 4);\n      }" else (compound_statement "{\n        uVar8 = (uint)(data->progress).size_ul;\n        iVar16 = *(int *)((int)&(data->progress).size_ul + 4);\n        local_c4 = (uint)(data->progress).uploaded;\n        local_c0 = *(int *)((int)&(data->progress).uploaded + 4);\n      }" { (expression_statement "uVar8 = (uint)(data->progress).size_ul;" (assignment_expression "uVar8 = (uint)(data->progress).size_ul" identifier = (field_expression "(uint)(data->progress).size_ul" (call_expression "(uint)(data->progress)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) ))) . field_identifier)) ;) (expression_statement "iVar16 = *(int *)((int)&(data->progress).size_ul + 4);" (assignment_expression "iVar16 = *(int *)((int)&(data->progress).size_ul + 4)" identifier = (pointer_expression "*(int *)((int)&(data->progress).size_ul + 4)" * (cast_expression "(int *)((int)&(data->progress).size_ul + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(data->progress).size_ul + 4)" ( (binary_expression "(int)&(data->progress).size_ul + 4" (cast_expression "(int)&(data->progress).size_ul" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(data->progress).size_ul" & (field_expression "(data->progress).size_ul" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier))) + number_literal) ))))) ;) (expression_statement "local_c4 = (uint)(data->progress).uploaded;" (assignment_expression "local_c4 = (uint)(data->progress).uploaded" identifier = (field_expression "(uint)(data->progress).uploaded" (call_expression "(uint)(data->progress)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) ))) . field_identifier)) ;) (expression_statement "local_c0 = *(int *)((int)&(data->progress).uploaded + 4);" (assignment_expression "local_c0 = *(int *)((int)&(data->progress).uploaded + 4)" identifier = (pointer_expression "*(int *)((int)&(data->progress).uploaded + 4)" * (cast_expression "(int *)((int)&(data->progress).uploaded + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(data->progress).uploaded + 4)" ( (binary_expression "(int)&(data->progress).uploaded + 4" (cast_expression "(int)&(data->progress).uploaded" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(data->progress).uploaded" & (field_expression "(data->progress).uploaded" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier))) + number_literal) ))))) ;) }))) (expression_statement "uVar3 = (uint)(data->progress).downloaded;" (assignment_expression "uVar3 = (uint)(data->progress).downloaded" identifier = (field_expression "(uint)(data->progress).downloaded" (call_expression "(uint)(data->progress)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) ))) . field_identifier)) ;) (expression_statement "iVar19 = *(int *)((int)&(data->progress).downloaded + 4);" (assignment_expression "iVar19 = *(int *)((int)&(data->progress).downloaded + 4)" identifier = (pointer_expression "*(int *)((int)&(data->progress).downloaded + 4)" * (cast_expression "(int *)((int)&(data->progress).downloaded + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(data->progress).downloaded + 4)" ( (binary_expression "(int)&(data->progress).downloaded + 4" (cast_expression "(int)&(data->progress).downloaded" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(data->progress).downloaded" & (field_expression "(data->progress).downloaded" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier))) + number_literal) ))))) ;) (expression_statement "uVar17 = uVar3;" (assignment_expression "uVar17 = uVar3" identifier = identifier) ;) (expression_statement "iVar20 = iVar19;" (assignment_expression "iVar20 = iVar19" identifier = identifier) ;) (if_statement "if ((uVar21 & 0x40) != 0) {\n        uVar17 = (uint)(data->progress).size_dl;\n        iVar20 = *(int *)((int)&(data->progress).size_dl + 4);\n      }" if (parenthesized_expression "((uVar21 & 0x40) != 0)" ( (binary_expression "(uVar21 & 0x40) != 0" (parenthesized_expression "(uVar21 & 0x40)" ( (binary_expression "uVar21 & 0x40" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar17 = (uint)(data->progress).size_dl;\n        iVar20 = *(int *)((int)&(data->progress).size_dl + 4);\n      }" { (expression_statement "uVar17 = (uint)(data->progress).size_dl;" (assignment_expression "uVar17 = (uint)(data->progress).size_dl" identifier = (field_expression "(uint)(data->progress).size_dl" (call_expression "(uint)(data->progress)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) ))) . field_identifier)) ;) (expression_statement "iVar20 = *(int *)((int)&(data->progress).size_dl + 4);" (assignment_expression "iVar20 = *(int *)((int)&(data->progress).size_dl + 4)" identifier = (pointer_expression "*(int *)((int)&(data->progress).size_dl + 4)" * (cast_expression "(int *)((int)&(data->progress).size_dl + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(data->progress).size_dl + 4)" ( (binary_expression "(int)&(data->progress).size_dl + 4" (cast_expression "(int)&(data->progress).size_dl" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(data->progress).size_dl" & (field_expression "(data->progress).size_dl" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier))) + number_literal) ))))) ;) })) (expression_statement "pcVar23 = (char *)(uVar8 + uVar17);" (assignment_expression "pcVar23 = (char *)(uVar8 + uVar17)" identifier = (cast_expression "(char *)(uVar8 + uVar17)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar8 + uVar17)" ( (binary_expression "uVar8 + uVar17" identifier + identifier) )))) ;) (expression_statement "iVar20 = iVar16 + iVar20 + (uint)CARRY4(uVar8,uVar17);" (assignment_expression "iVar20 = iVar16 + iVar20 + (uint)CARRY4(uVar8,uVar17)" identifier = (binary_expression "iVar16 + iVar20 + (uint)CARRY4(uVar8,uVar17)" (binary_expression "iVar16 + iVar20" identifier + identifier) + (cast_expression "(uint)CARRY4(uVar8,uVar17)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar8,uVar17)" identifier (argument_list "(uVar8,uVar17)" ( identifier , identifier )))))) ;) (expression_statement "iVar16 = iVar19 + local_c0 + (uint)CARRY4(uVar3,local_c4);" (assignment_expression "iVar16 = iVar19 + local_c0 + (uint)CARRY4(uVar3,local_c4)" identifier = (binary_expression "iVar19 + local_c0 + (uint)CARRY4(uVar3,local_c4)" (binary_expression "iVar19 + local_c0" identifier + identifier) + (cast_expression "(uint)CARRY4(uVar3,local_c4)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar3,local_c4)" identifier (argument_list "(uVar3,local_c4)" ( identifier , identifier )))))) ;) (if_statement "if (-iVar20 < (int)(uint)((char *)0x2710 < pcVar23)) {\n        uVar27 = __divdi3(pcVar23,iVar20,100,0);\n        uVar27 = __divdi3(uVar3 + local_c4,iVar16,uVar27);\n      }\n      else {\n        uVar27 = 0;\n        if (-iVar20 < (int)(uint)(pcVar23 != (char *)0x0)) {\n          lVar25 = (ulonglong)(uVar3 + local_c4) * 100;\n          uVar27 = __divdi3((int)lVar25,(int)((ulonglong)lVar25 >> 0x20) + iVar16 * 100,pcVar23,\n                            iVar20);\n        }\n      }" if (parenthesized_expression "(-iVar20 < (int)(uint)((char *)0x2710 < pcVar23))" ( (binary_expression "-iVar20 < (int)(uint)((char *)0x2710 < pcVar23)" (unary_expression "-iVar20" - identifier) < (cast_expression "(int)(uint)((char *)0x2710 < pcVar23)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)((char *)0x2710 < pcVar23)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((char *)0x2710 < pcVar23)" ( (binary_expression "(char *)0x2710 < pcVar23" (cast_expression "(char *)0x2710" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) ))))) )) (compound_statement "{\n        uVar27 = __divdi3(pcVar23,iVar20,100,0);\n        uVar27 = __divdi3(uVar3 + local_c4,iVar16,uVar27);\n      }" { (expression_statement "uVar27 = __divdi3(pcVar23,iVar20,100,0);" (assignment_expression "uVar27 = __divdi3(pcVar23,iVar20,100,0)" identifier = (call_expression "__divdi3(pcVar23,iVar20,100,0)" identifier (argument_list "(pcVar23,iVar20,100,0)" ( identifier , identifier , number_literal , number_literal )))) ;) (expression_statement "uVar27 = __divdi3(uVar3 + local_c4,iVar16,uVar27);" (assignment_expression "uVar27 = __divdi3(uVar3 + local_c4,iVar16,uVar27)" identifier = (call_expression "__divdi3(uVar3 + local_c4,iVar16,uVar27)" identifier (argument_list "(uVar3 + local_c4,iVar16,uVar27)" ( (binary_expression "uVar3 + local_c4" identifier + identifier) , identifier , identifier )))) ;) }) (else_clause "else {\n        uVar27 = 0;\n        if (-iVar20 < (int)(uint)(pcVar23 != (char *)0x0)) {\n          lVar25 = (ulonglong)(uVar3 + local_c4) * 100;\n          uVar27 = __divdi3((int)lVar25,(int)((ulonglong)lVar25 >> 0x20) + iVar16 * 100,pcVar23,\n                            iVar20);\n        }\n      }" else (compound_statement "{\n        uVar27 = 0;\n        if (-iVar20 < (int)(uint)(pcVar23 != (char *)0x0)) {\n          lVar25 = (ulonglong)(uVar3 + local_c4) * 100;\n          uVar27 = __divdi3((int)lVar25,(int)((ulonglong)lVar25 >> 0x20) + iVar16 * 100,pcVar23,\n                            iVar20);\n        }\n      }" { (expression_statement "uVar27 = 0;" (assignment_expression "uVar27 = 0" identifier = number_literal) ;) (if_statement "if (-iVar20 < (int)(uint)(pcVar23 != (char *)0x0)) {\n          lVar25 = (ulonglong)(uVar3 + local_c4) * 100;\n          uVar27 = __divdi3((int)lVar25,(int)((ulonglong)lVar25 >> 0x20) + iVar16 * 100,pcVar23,\n                            iVar20);\n        }" if (parenthesized_expression "(-iVar20 < (int)(uint)(pcVar23 != (char *)0x0))" ( (binary_expression "-iVar20 < (int)(uint)(pcVar23 != (char *)0x0)" (unary_expression "-iVar20" - identifier) < (cast_expression "(int)(uint)(pcVar23 != (char *)0x0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(pcVar23 != (char *)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar23 != (char *)0x0)" ( (binary_expression "pcVar23 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))))) )) (compound_statement "{\n          lVar25 = (ulonglong)(uVar3 + local_c4) * 100;\n          uVar27 = __divdi3((int)lVar25,(int)((ulonglong)lVar25 >> 0x20) + iVar16 * 100,pcVar23,\n                            iVar20);\n        }" { (expression_statement "lVar25 = (ulonglong)(uVar3 + local_c4) * 100;" (assignment_expression "lVar25 = (ulonglong)(uVar3 + local_c4) * 100" identifier = (binary_expression "(ulonglong)(uVar3 + local_c4) * 100" (call_expression "(ulonglong)(uVar3 + local_c4)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(uVar3 + local_c4)" ( (binary_expression "uVar3 + local_c4" identifier + identifier) ))) * number_literal)) ;) (expression_statement "uVar27 = __divdi3((int)lVar25,(int)((ulonglong)lVar25 >> 0x20) + iVar16 * 100,pcVar23,\n                            iVar20);" (assignment_expression "uVar27 = __divdi3((int)lVar25,(int)((ulonglong)lVar25 >> 0x20) + iVar16 * 100,pcVar23,\n                            iVar20)" identifier = (call_expression "__divdi3((int)lVar25,(int)((ulonglong)lVar25 >> 0x20) + iVar16 * 100,pcVar23,\n                            iVar20)" identifier (argument_list "((int)lVar25,(int)((ulonglong)lVar25 >> 0x20) + iVar16 * 100,pcVar23,\n                            iVar20)" ( (cast_expression "(int)lVar25" ( (type_descriptor "int" primitive_type) ) identifier) , (binary_expression "(int)((ulonglong)lVar25 >> 0x20) + iVar16 * 100" (cast_expression "(int)((ulonglong)lVar25 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar25 >> 0x20)" ( (binary_expression "(ulonglong)lVar25 >> 0x20" (cast_expression "(ulonglong)lVar25" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) + (binary_expression "iVar16 * 100" identifier * number_literal)) , identifier , identifier )))) ;) })) }))) (expression_statement "local_c8 = (undefined4)((ulonglong)uVar27 >> 0x20);" (assignment_expression "local_c8 = (undefined4)((ulonglong)uVar27 >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)uVar27 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)uVar27 >> 0x20)" ( (binary_expression "(ulonglong)uVar27 >> 0x20" (cast_expression "(ulonglong)uVar27" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_cc = (undefined4)uVar27;" (assignment_expression "local_cc = (undefined4)uVar27" identifier = (cast_expression "(undefined4)uVar27" ( (type_descriptor "undefined4" type_identifier) ) identifier)) ;) (expression_statement "pcVar9 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),\n                        *(char **)&(data->progress).current_speed);" (assignment_expression "pcVar9 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),\n                        *(char **)&(data->progress).current_speed)" identifier = (call_expression "max5data(CONCAT44(ppuVar14,in_stack_ffffff24),\n                        *(char **)&(data->progress).current_speed)" identifier (argument_list "(CONCAT44(ppuVar14,in_stack_ffffff24),\n                        *(char **)&(data->progress).current_speed)" ( (call_expression "CONCAT44(ppuVar14,in_stack_ffffff24)" identifier (argument_list "(ppuVar14,in_stack_ffffff24)" ( identifier , identifier ))) , (pointer_expression "*(char **)&(data->progress).current_speed" * (cast_expression "(char **)&(data->progress).current_speed" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&(data->progress).current_speed" & (field_expression "(data->progress).current_speed" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier)))) )))) ;) (expression_statement "pcVar10 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).ulspeed);" (assignment_expression "pcVar10 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).ulspeed)" identifier = (call_expression "max5data(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).ulspeed)" identifier (argument_list "(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).ulspeed)" ( (call_expression "CONCAT44(ppuVar14,in_stack_ffffff24)" identifier (argument_list "(ppuVar14,in_stack_ffffff24)" ( identifier , identifier ))) , (pointer_expression "*(char **)&(data->progress).ulspeed" * (cast_expression "(char **)&(data->progress).ulspeed" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&(data->progress).ulspeed" & (field_expression "(data->progress).ulspeed" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier)))) )))) ;) (expression_statement "pcVar11 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).dlspeed);" (assignment_expression "pcVar11 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).dlspeed)" identifier = (call_expression "max5data(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).dlspeed)" identifier (argument_list "(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).dlspeed)" ( (call_expression "CONCAT44(ppuVar14,in_stack_ffffff24)" identifier (argument_list "(ppuVar14,in_stack_ffffff24)" ( identifier , identifier ))) , (pointer_expression "*(char **)&(data->progress).dlspeed" * (cast_expression "(char **)&(data->progress).dlspeed" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&(data->progress).dlspeed" & (field_expression "(data->progress).dlspeed" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier)))) )))) ;) (expression_statement "pcVar12 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).uploaded);" (assignment_expression "pcVar12 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).uploaded)" identifier = (call_expression "max5data(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).uploaded)" identifier (argument_list "(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).uploaded)" ( (call_expression "CONCAT44(ppuVar14,in_stack_ffffff24)" identifier (argument_list "(ppuVar14,in_stack_ffffff24)" ( identifier , identifier ))) , (pointer_expression "*(char **)&(data->progress).uploaded" * (cast_expression "(char **)&(data->progress).uploaded" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&(data->progress).uploaded" & (field_expression "(data->progress).uploaded" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier)))) )))) ;) (expression_statement "pcVar13 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).downloaded\n                        );" (assignment_expression "pcVar13 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).downloaded\n                        )" identifier = (call_expression "max5data(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).downloaded\n                        )" identifier (argument_list "(CONCAT44(ppuVar14,in_stack_ffffff24),*(char **)&(data->progress).downloaded\n                        )" ( (call_expression "CONCAT44(ppuVar14,in_stack_ffffff24)" identifier (argument_list "(ppuVar14,in_stack_ffffff24)" ( identifier , identifier ))) , (pointer_expression "*(char **)&(data->progress).downloaded" * (cast_expression "(char **)&(data->progress).downloaded" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&(data->progress).downloaded" & (field_expression "(data->progress).downloaded" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier)))) )))) ;) (expression_statement "pcVar23 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),pcVar23);" (assignment_expression "pcVar23 = max5data(CONCAT44(ppuVar14,in_stack_ffffff24),pcVar23)" identifier = (call_expression "max5data(CONCAT44(ppuVar14,in_stack_ffffff24),pcVar23)" identifier (argument_list "(CONCAT44(ppuVar14,in_stack_ffffff24),pcVar23)" ( (call_expression "CONCAT44(ppuVar14,in_stack_ffffff24)" identifier (argument_list "(ppuVar14,in_stack_ffffff24)" ( identifier , identifier ))) , identifier )))) ;) (expression_statement "curl_mfprintf((data->set).err,(char *)(ppuVar14 + -0xcccf),local_cc,local_c8,pcVar23,local_bc,\n                    local_b8,pcVar13,local_b4,local_b0,pcVar12,pcVar11,pcVar10,time_total,time_spent\n                    ,time_left,pcVar9);" (call_expression "curl_mfprintf((data->set).err,(char *)(ppuVar14 + -0xcccf),local_cc,local_c8,pcVar23,local_bc,\n                    local_b8,pcVar13,local_b4,local_b0,pcVar12,pcVar11,pcVar10,time_total,time_spent\n                    ,time_left,pcVar9)" identifier (argument_list "((data->set).err,(char *)(ppuVar14 + -0xcccf),local_cc,local_c8,pcVar23,local_bc,\n                    local_b8,pcVar13,local_b4,local_b0,pcVar12,pcVar11,pcVar10,time_total,time_spent\n                    ,time_left,pcVar9)" ( (field_expression "(data->set).err" (parenthesized_expression "(data->set)" ( (field_expression "data->set" identifier -> field_identifier) )) . field_identifier) , (cast_expression "(char *)(ppuVar14 + -0xcccf)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppuVar14 + -0xcccf)" ( (binary_expression "ppuVar14 + -0xcccf" identifier + number_literal) ))) , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "fflush((FILE *)(data->set).err);" (call_expression "fflush((FILE *)(data->set).err)" identifier (argument_list "((FILE *)(data->set).err)" ( (cast_expression "(FILE *)(data->set).err" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(data->set).err" (parenthesized_expression "(data->set)" ( (field_expression "data->set" identifier -> field_identifier) )) . field_identifier)) ))) ;) (goto_statement "goto LAB_0001d1c8;" goto statement_identifier ;) })) (expression_statement "Curl_set_in_callback(data,true);" (call_expression "Curl_set_in_callback(data,true)" identifier (argument_list "(data,true)" ( identifier , true ))) ;) (expression_statement "iStack_d4 = (*(data->set).fprogress)\n                          ((data->set).progress_client,(double)(data->progress).size_dl,\n                           (double)(data->progress).downloaded,(double)(data->progress).size_ul,\n                           (double)(data->progress).uploaded);" (assignment_expression "iStack_d4 = (*(data->set).fprogress)\n                          ((data->set).progress_client,(double)(data->progress).size_dl,\n                           (double)(data->progress).downloaded,(double)(data->progress).size_ul,\n                           (double)(data->progress).uploaded)" identifier = (call_expression "(*(data->set).fprogress)\n                          ((data->set).progress_client,(double)(data->progress).size_dl,\n                           (double)(data->progress).downloaded,(double)(data->progress).size_ul,\n                           (double)(data->progress).uploaded)" (parenthesized_expression "(*(data->set).fprogress)" ( (pointer_expression "*(data->set).fprogress" * (field_expression "(data->set).fprogress" (parenthesized_expression "(data->set)" ( (field_expression "data->set" identifier -> field_identifier) )) . field_identifier)) )) (argument_list "((data->set).progress_client,(double)(data->progress).size_dl,\n                           (double)(data->progress).downloaded,(double)(data->progress).size_ul,\n                           (double)(data->progress).uploaded)" ( (field_expression "(data->set).progress_client" (parenthesized_expression "(data->set)" ( (field_expression "data->set" identifier -> field_identifier) )) . field_identifier) , (cast_expression "(double)(data->progress).size_dl" ( (type_descriptor "double" primitive_type) ) (field_expression "(data->progress).size_dl" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier)) , (cast_expression "(double)(data->progress).downloaded" ( (type_descriptor "double" primitive_type) ) (field_expression "(data->progress).downloaded" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier)) , (cast_expression "(double)(data->progress).size_ul" ( (type_descriptor "double" primitive_type) ) (field_expression "(data->progress).size_ul" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier)) , (cast_expression "(double)(data->progress).uploaded" ( (type_descriptor "double" primitive_type) ) (field_expression "(data->progress).uploaded" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier)) )))) ;) }) (else_clause "else {\n    Curl_set_in_callback(data,true);\n    iStack_d4 = (*(data->set).fxferinfo)\n                          ((data->set).progress_client,(data->progress).size_dl,\n                           (data->progress).downloaded,(data->progress).size_ul,\n                           (data->progress).uploaded);\n  }" else (compound_statement "{\n    Curl_set_in_callback(data,true);\n    iStack_d4 = (*(data->set).fxferinfo)\n                          ((data->set).progress_client,(data->progress).size_dl,\n                           (data->progress).downloaded,(data->progress).size_ul,\n                           (data->progress).uploaded);\n  }" { (expression_statement "Curl_set_in_callback(data,true);" (call_expression "Curl_set_in_callback(data,true)" identifier (argument_list "(data,true)" ( identifier , true ))) ;) (expression_statement "iStack_d4 = (*(data->set).fxferinfo)\n                          ((data->set).progress_client,(data->progress).size_dl,\n                           (data->progress).downloaded,(data->progress).size_ul,\n                           (data->progress).uploaded);" (assignment_expression "iStack_d4 = (*(data->set).fxferinfo)\n                          ((data->set).progress_client,(data->progress).size_dl,\n                           (data->progress).downloaded,(data->progress).size_ul,\n                           (data->progress).uploaded)" identifier = (call_expression "(*(data->set).fxferinfo)\n                          ((data->set).progress_client,(data->progress).size_dl,\n                           (data->progress).downloaded,(data->progress).size_ul,\n                           (data->progress).uploaded)" (parenthesized_expression "(*(data->set).fxferinfo)" ( (pointer_expression "*(data->set).fxferinfo" * (field_expression "(data->set).fxferinfo" (parenthesized_expression "(data->set)" ( (field_expression "data->set" identifier -> field_identifier) )) . field_identifier)) )) (argument_list "((data->set).progress_client,(data->progress).size_dl,\n                           (data->progress).downloaded,(data->progress).size_ul,\n                           (data->progress).uploaded)" ( (field_expression "(data->set).progress_client" (parenthesized_expression "(data->set)" ( (field_expression "data->set" identifier -> field_identifier) )) . field_identifier) , (field_expression "(data->progress).size_dl" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier) , (field_expression "(data->progress).downloaded" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier) , (field_expression "(data->progress).size_ul" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier) , (field_expression "(data->progress).uploaded" (parenthesized_expression "(data->progress)" ( (field_expression "data->progress" identifier -> field_identifier) )) . field_identifier) )))) ;) }))) (expression_statement "Curl_set_in_callback(data,false);" (call_expression "Curl_set_in_callback(data,false)" identifier (argument_list "(data,false)" ( identifier , false ))) ;) (if_statement "if (iStack_d4 != 0) {\n    Curl_failf(data,(char *)((int)ppuVar14 + -209999));\n  }" if (parenthesized_expression "(iStack_d4 != 0)" ( (binary_expression "iStack_d4 != 0" identifier != number_literal) )) (compound_statement "{\n    Curl_failf(data,(char *)((int)ppuVar14 + -209999));\n  }" { (expression_statement "Curl_failf(data,(char *)((int)ppuVar14 + -209999));" (call_expression "Curl_failf(data,(char *)((int)ppuVar14 + -209999))" identifier (argument_list "(data,(char *)((int)ppuVar14 + -209999))" ( identifier , (cast_expression "(char *)((int)ppuVar14 + -209999)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar14 + -209999)" ( (binary_expression "(int)ppuVar14 + -209999" (cast_expression "(int)ppuVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ))) ;) })) (labeled_statement "LAB_0001d1c8:\n  if (iVar2 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" statement_identifier : (if_statement "if (iVar2 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" if (parenthesized_expression "(iVar2 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "iVar2 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" { comment (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return iStack_d4;" return identifier ;) })))
(translation_unit "int FUN_0001cce0(int *param_1)\n\n{\n  uint *puVar1;\n  int iVar2;\n  bool bVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  uint uVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  undefined4 uVar12;\n  uint uVar13;\n  int iVar14;\n  int iVar15;\n  int iVar16;\n  int iVar17;\n  int in_GS_OFFSET;\n  longlong lVar18;\n  longlong lVar19;\n  undefined8 uVar20;\n  undefined8 uVar21;\n  undefined8 uVar22;\n  int local_dc;\n  int local_d8;\n  int local_c0;\n  int local_88;\n  undefined4 local_84 [16];\n  undefined1 local_42 [10];\n  undefined1 local_38 [10];\n  undefined1 local_2e [10];\n  int local_24;\n  undefined4 local_20;\n  \n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  iVar2 = *param_1;\n  uVar7 = *(uint *)(iVar2 + 0xb54);\n  iVar17 = *(int *)(iVar2 + 0xb58);\n  iVar15 = *(int *)(iVar2 + 0xb5c);\n  FUN_0001ab90(local_84);\n  iVar4 = FUN_0001ac80();\n  *(int *)(iVar2 + 0xb78) = iVar4;\n  iVar6 = iVar4 / 1000000;\n  iVar14 = iVar6 >> 0x1f;\n  iVar4 = iVar4 / 1000;\n  iVar5 = iVar4 >> 0x1f;\n  uVar7 = (uint)(0xa5e353f6 < uVar7);\n  iVar16 = 0x20c49b - iVar17;\n  if ((SBORROW4(0x20c49b,iVar17) != SBORROW4(iVar16,uVar7)) == (int)(iVar16 - uVar7) < 0) {\n    lVar18 = FUN_00082b40();\n  }\n  else {\n    lVar18 = FUN_00082b40();\n  }\n  *(longlong *)(iVar2 + 0xb7c) = lVar18;\n  if (iVar15 < 0x20c49c) {\n    if ((int)(uint)(iVar4 != 0) <= -iVar5) {\n      iVar4 = 1;\n      iVar5 = 0;\n    }\n    lVar19 = FUN_00082b40();\n    iVar6 = iVar4;\n    iVar14 = iVar5;\n  }\n  else {\n    if ((int)(uint)(iVar6 != 0) <= -iVar14) {\n      iVar6 = 1;\n      iVar14 = 0;\n    }\n    lVar19 = FUN_00082b40();\n  }\n  bVar3 = false;\n  *(longlong *)(iVar2 + 0xb84) = lVar19;\n  if (*(int *)(iVar2 + 0xb40) != local_88) {\n    *(int *)(iVar2 + 0xb40) = local_88;\n    uVar7 = *(uint *)(iVar2 + 0xb5c);\n    uVar13 = *(uint *)(iVar2 + 0xb54);\n    iVar15 = iVar2 + (local_c0 % 6) * 8;\n    *(uint *)(iVar15 + 0xbec) =\n         *(int *)(iVar2 + 0xb60) + *(int *)(iVar2 + 0xb58) +\n         (uint)CARRY4(uVar7,*(uint *)(iVar2 + 0xb54));\n    *(uint *)(iVar15 + 0xbe8) = uVar7 + uVar13;\n    *(undefined4 *)(iVar15 + 0xc1c) = local_84[0];\n    *(int *)(iVar15 + 0xc18) = local_88;\n    iVar17 = *(int *)(iVar2 + 0xc48) + 1;\n    *(int *)(iVar2 + 0xc48) = iVar17;\n    if (iVar17 == 1) {\n      bVar3 = true;\n      *(longlong *)(iVar2 + 0xb64) = lVar18 + lVar19;\n    }\n    else {\n      iVar16 = 0;\n      if (5 < iVar17) {\n        iVar16 = iVar17 % 6;\n      }\n      iVar14 = *(int *)(iVar2 + 0xc1c + iVar16 * 8);\n      iVar17 = *(int *)(iVar2 + 0xc18 + iVar16 * 8);\n      iVar6 = FUN_0001ac30();\n      if (iVar6 == 0) {\n        iVar6 = 1;\n      }\n      puVar1 = (uint *)(iVar2 + 0xbe8 + iVar16 * 8);\n      uVar7 = *(uint *)(iVar15 + 0xbe8) - *puVar1;\n      iVar15 = (*(int *)(iVar15 + 0xbec) - *(int *)(iVar2 + 0xbec + iVar16 * 8)) -\n               (uint)(*(uint *)(iVar15 + 0xbe8) < *puVar1);\n      if (-iVar15 < (int)(uint)(0x418937 < uVar7)) {\n        bVar3 = true;\n        *(longlong *)(iVar2 + 0xb64) =\n             (longlong)\n             ROUND((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))\n        ;\n        iVar6 = iVar17;\n      }\n      else {\n        iVar14 = iVar6 >> 0x1f;\n        uVar20 = FUN_00082b40();\n        bVar3 = true;\n        *(undefined8 *)(iVar2 + 0xb64) = uVar20;\n      }\n    }\n  }\n  uVar7 = *(uint *)(iVar2 + 0xb74);\n  if ((uVar7 & 0x10) != 0) {\n    local_d8 = 0;\n    goto LAB_0001d1c8;\n  }\n  if (*(int *)(iVar2 + 0x5f8) == 0) {\n    if (*(int *)(iVar2 + 0x5f4) == 0) {\n      local_d8 = 0;\n      if (!bVar3) goto LAB_0001d1c8;\n      if ((uVar7 & 0x80) == 0) {\n        if (*(int *)(iVar2 + 0xebc) != 0 || *(int *)(iVar2 + 0xeb8) != 0) {\n          curl_mfprintf();\n        }\n        curl_mfprintf();\n        uVar7 = *(uint *)(iVar2 + 0xb74) | 0x80;\n        *(uint *)(iVar2 + 0xb74) = uVar7;\n      }\n      if (((uVar7 & 0x20) == 0) ||\n         ((int)(uint)(*(int *)(iVar2 + 0xb84) != 0) <= -*(int *)(iVar2 + 0xb88))) {\n        if (((uVar7 & 0x40) != 0) &&\n           (-*(int *)(iVar2 + 0xb80) < (int)(uint)(*(int *)(iVar2 + 0xb7c) != 0))) {\n          uVar20 = 0;\n          goto LAB_0001d331;\n        }\n        uVar20 = 0;\n        uVar21 = 0;\n      }\n      else {\n        uVar13 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n        FUN_00082b40();\n        if (-iVar17 < (int)(uint)(10000 < uVar13)) {\n          FUN_00082b40();\n          uVar20 = FUN_00082b40();\n        }\n        else {\n          uVar20 = 0;\n          if (-iVar17 < (int)(uint)(uVar13 != 0)) {\n            uVar20 = FUN_00082b40();\n          }\n        }\n        if (((uVar7 & 0x40) == 0) ||\n           ((int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80))) {\n          uVar21 = 0;\n        }\n        else {\nLAB_0001d331:\n          uVar7 = *(uint *)(iVar2 + 0xb44);\n          iVar17 = *(int *)(iVar2 + 0xb48);\n          FUN_00082b40();\n          if (-iVar17 < (int)(uint)(10000 < uVar7)) {\n            FUN_00082b40();\n            uVar21 = FUN_00082b40();\n          }\n          else {\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }\n        }\n      }\n      FUN_0001c490();\n      FUN_0001c490();\n      FUN_0001c490();\n      if ((*(uint *)(iVar2 + 0xb74) & 0x20) == 0) {\n        uVar7 = *(uint *)(iVar2 + 0xb5c);\n        iVar17 = *(int *)(iVar2 + 0xb60);\n      }\n      else {\n        uVar7 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n      }\n      uVar13 = *(uint *)(iVar2 + 0xb54);\n      iVar15 = *(int *)(iVar2 + 0xb58);\n      if ((*(uint *)(iVar2 + 0xb74) & 0x40) != 0) {\n        uVar13 = *(uint *)(iVar2 + 0xb44);\n        iVar15 = *(int *)(iVar2 + 0xb48);\n      }\n      iVar17 = iVar17 + iVar15 + (uint)CARRY4(uVar7,uVar13);\n      if (-iVar17 < (int)(uint)(10000 < uVar7 + uVar13)) {\n        FUN_00082b40();\n        uVar22 = FUN_00082b40();\n      }\n      else {\n        uVar22 = 0;\n        if (-iVar17 < (int)(uint)(uVar7 + uVar13 != 0)) {\n          uVar22 = FUN_00082b40();\n        }\n      }\n      FUN_0001c620();\n      uVar8 = FUN_0001c620();\n      uVar9 = FUN_0001c620();\n      uVar10 = FUN_0001c620();\n      uVar11 = FUN_0001c620();\n      uVar12 = FUN_0001c620();\n      curl_mfprintf(*(undefined4 *)(iVar2 + 0x584),local_dc + -0x3333c,uVar22,uVar12,uVar21,uVar11,\n                    uVar20,uVar10,uVar9,uVar8,local_38,local_2e,local_42);\n      fflush(*(FILE **)(iVar2 + 0x584));\n      goto LAB_0001d1c8;\n    }\n    uVar8 = 1;\n    FUN_0004a0b0();\n    local_d8 = (**(code **)(iVar2 + 0x5f4))\n                         (*(undefined4 *)(iVar2 + 0x62c),(double)*(longlong *)(iVar2 + 0xb44),\n                          (double)*(longlong *)(iVar2 + 0xb54),(double)*(longlong *)(iVar2 + 0xb4c),\n                          (double)*(longlong *)(iVar2 + 0xb5c),uVar8);\n  }\n  else {\n    uVar8 = 1;\n    FUN_0004a0b0();\n    local_d8 = (**(code **)(iVar2 + 0x5f8))\n                         (*(undefined4 *)(iVar2 + 0x62c),*(undefined4 *)(iVar2 + 0xb44),\n                          *(undefined4 *)(iVar2 + 0xb48),*(undefined4 *)(iVar2 + 0xb54),\n                          *(undefined4 *)(iVar2 + 0xb58),*(undefined4 *)(iVar2 + 0xb4c),\n                          *(undefined4 *)(iVar2 + 0xb50),*(undefined4 *)(iVar2 + 0xb5c),\n                          *(undefined4 *)(iVar2 + 0xb60),uVar8,iVar6,iVar14);\n  }\n  FUN_0004a0b0();\n  if (local_d8 != 0) {\n    FUN_00027d40();\n  }\nLAB_0001d1c8:\n  if (local_24 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_d8;\n  }\n                    \n  FUN_00082f60();\n}\n\n" (function_definition "int FUN_0001cce0(int *param_1)\n\n{\n  uint *puVar1;\n  int iVar2;\n  bool bVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  uint uVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  undefined4 uVar12;\n  uint uVar13;\n  int iVar14;\n  int iVar15;\n  int iVar16;\n  int iVar17;\n  int in_GS_OFFSET;\n  longlong lVar18;\n  longlong lVar19;\n  undefined8 uVar20;\n  undefined8 uVar21;\n  undefined8 uVar22;\n  int local_dc;\n  int local_d8;\n  int local_c0;\n  int local_88;\n  undefined4 local_84 [16];\n  undefined1 local_42 [10];\n  undefined1 local_38 [10];\n  undefined1 local_2e [10];\n  int local_24;\n  undefined4 local_20;\n  \n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  iVar2 = *param_1;\n  uVar7 = *(uint *)(iVar2 + 0xb54);\n  iVar17 = *(int *)(iVar2 + 0xb58);\n  iVar15 = *(int *)(iVar2 + 0xb5c);\n  FUN_0001ab90(local_84);\n  iVar4 = FUN_0001ac80();\n  *(int *)(iVar2 + 0xb78) = iVar4;\n  iVar6 = iVar4 / 1000000;\n  iVar14 = iVar6 >> 0x1f;\n  iVar4 = iVar4 / 1000;\n  iVar5 = iVar4 >> 0x1f;\n  uVar7 = (uint)(0xa5e353f6 < uVar7);\n  iVar16 = 0x20c49b - iVar17;\n  if ((SBORROW4(0x20c49b,iVar17) != SBORROW4(iVar16,uVar7)) == (int)(iVar16 - uVar7) < 0) {\n    lVar18 = FUN_00082b40();\n  }\n  else {\n    lVar18 = FUN_00082b40();\n  }\n  *(longlong *)(iVar2 + 0xb7c) = lVar18;\n  if (iVar15 < 0x20c49c) {\n    if ((int)(uint)(iVar4 != 0) <= -iVar5) {\n      iVar4 = 1;\n      iVar5 = 0;\n    }\n    lVar19 = FUN_00082b40();\n    iVar6 = iVar4;\n    iVar14 = iVar5;\n  }\n  else {\n    if ((int)(uint)(iVar6 != 0) <= -iVar14) {\n      iVar6 = 1;\n      iVar14 = 0;\n    }\n    lVar19 = FUN_00082b40();\n  }\n  bVar3 = false;\n  *(longlong *)(iVar2 + 0xb84) = lVar19;\n  if (*(int *)(iVar2 + 0xb40) != local_88) {\n    *(int *)(iVar2 + 0xb40) = local_88;\n    uVar7 = *(uint *)(iVar2 + 0xb5c);\n    uVar13 = *(uint *)(iVar2 + 0xb54);\n    iVar15 = iVar2 + (local_c0 % 6) * 8;\n    *(uint *)(iVar15 + 0xbec) =\n         *(int *)(iVar2 + 0xb60) + *(int *)(iVar2 + 0xb58) +\n         (uint)CARRY4(uVar7,*(uint *)(iVar2 + 0xb54));\n    *(uint *)(iVar15 + 0xbe8) = uVar7 + uVar13;\n    *(undefined4 *)(iVar15 + 0xc1c) = local_84[0];\n    *(int *)(iVar15 + 0xc18) = local_88;\n    iVar17 = *(int *)(iVar2 + 0xc48) + 1;\n    *(int *)(iVar2 + 0xc48) = iVar17;\n    if (iVar17 == 1) {\n      bVar3 = true;\n      *(longlong *)(iVar2 + 0xb64) = lVar18 + lVar19;\n    }\n    else {\n      iVar16 = 0;\n      if (5 < iVar17) {\n        iVar16 = iVar17 % 6;\n      }\n      iVar14 = *(int *)(iVar2 + 0xc1c + iVar16 * 8);\n      iVar17 = *(int *)(iVar2 + 0xc18 + iVar16 * 8);\n      iVar6 = FUN_0001ac30();\n      if (iVar6 == 0) {\n        iVar6 = 1;\n      }\n      puVar1 = (uint *)(iVar2 + 0xbe8 + iVar16 * 8);\n      uVar7 = *(uint *)(iVar15 + 0xbe8) - *puVar1;\n      iVar15 = (*(int *)(iVar15 + 0xbec) - *(int *)(iVar2 + 0xbec + iVar16 * 8)) -\n               (uint)(*(uint *)(iVar15 + 0xbe8) < *puVar1);\n      if (-iVar15 < (int)(uint)(0x418937 < uVar7)) {\n        bVar3 = true;\n        *(longlong *)(iVar2 + 0xb64) =\n             (longlong)\n             ROUND((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))\n        ;\n        iVar6 = iVar17;\n      }\n      else {\n        iVar14 = iVar6 >> 0x1f;\n        uVar20 = FUN_00082b40();\n        bVar3 = true;\n        *(undefined8 *)(iVar2 + 0xb64) = uVar20;\n      }\n    }\n  }\n  uVar7 = *(uint *)(iVar2 + 0xb74);\n  if ((uVar7 & 0x10) != 0) {\n    local_d8 = 0;\n    goto LAB_0001d1c8;\n  }\n  if (*(int *)(iVar2 + 0x5f8) == 0) {\n    if (*(int *)(iVar2 + 0x5f4) == 0) {\n      local_d8 = 0;\n      if (!bVar3) goto LAB_0001d1c8;\n      if ((uVar7 & 0x80) == 0) {\n        if (*(int *)(iVar2 + 0xebc) != 0 || *(int *)(iVar2 + 0xeb8) != 0) {\n          curl_mfprintf();\n        }\n        curl_mfprintf();\n        uVar7 = *(uint *)(iVar2 + 0xb74) | 0x80;\n        *(uint *)(iVar2 + 0xb74) = uVar7;\n      }\n      if (((uVar7 & 0x20) == 0) ||\n         ((int)(uint)(*(int *)(iVar2 + 0xb84) != 0) <= -*(int *)(iVar2 + 0xb88))) {\n        if (((uVar7 & 0x40) != 0) &&\n           (-*(int *)(iVar2 + 0xb80) < (int)(uint)(*(int *)(iVar2 + 0xb7c) != 0))) {\n          uVar20 = 0;\n          goto LAB_0001d331;\n        }\n        uVar20 = 0;\n        uVar21 = 0;\n      }\n      else {\n        uVar13 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n        FUN_00082b40();\n        if (-iVar17 < (int)(uint)(10000 < uVar13)) {\n          FUN_00082b40();\n          uVar20 = FUN_00082b40();\n        }\n        else {\n          uVar20 = 0;\n          if (-iVar17 < (int)(uint)(uVar13 != 0)) {\n            uVar20 = FUN_00082b40();\n          }\n        }\n        if (((uVar7 & 0x40) == 0) ||\n           ((int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80))) {\n          uVar21 = 0;\n        }\n        else {\nLAB_0001d331:\n          uVar7 = *(uint *)(iVar2 + 0xb44);\n          iVar17 = *(int *)(iVar2 + 0xb48);\n          FUN_00082b40();\n          if (-iVar17 < (int)(uint)(10000 < uVar7)) {\n            FUN_00082b40();\n            uVar21 = FUN_00082b40();\n          }\n          else {\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }\n        }\n      }\n      FUN_0001c490();\n      FUN_0001c490();\n      FUN_0001c490();\n      if ((*(uint *)(iVar2 + 0xb74) & 0x20) == 0) {\n        uVar7 = *(uint *)(iVar2 + 0xb5c);\n        iVar17 = *(int *)(iVar2 + 0xb60);\n      }\n      else {\n        uVar7 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n      }\n      uVar13 = *(uint *)(iVar2 + 0xb54);\n      iVar15 = *(int *)(iVar2 + 0xb58);\n      if ((*(uint *)(iVar2 + 0xb74) & 0x40) != 0) {\n        uVar13 = *(uint *)(iVar2 + 0xb44);\n        iVar15 = *(int *)(iVar2 + 0xb48);\n      }\n      iVar17 = iVar17 + iVar15 + (uint)CARRY4(uVar7,uVar13);\n      if (-iVar17 < (int)(uint)(10000 < uVar7 + uVar13)) {\n        FUN_00082b40();\n        uVar22 = FUN_00082b40();\n      }\n      else {\n        uVar22 = 0;\n        if (-iVar17 < (int)(uint)(uVar7 + uVar13 != 0)) {\n          uVar22 = FUN_00082b40();\n        }\n      }\n      FUN_0001c620();\n      uVar8 = FUN_0001c620();\n      uVar9 = FUN_0001c620();\n      uVar10 = FUN_0001c620();\n      uVar11 = FUN_0001c620();\n      uVar12 = FUN_0001c620();\n      curl_mfprintf(*(undefined4 *)(iVar2 + 0x584),local_dc + -0x3333c,uVar22,uVar12,uVar21,uVar11,\n                    uVar20,uVar10,uVar9,uVar8,local_38,local_2e,local_42);\n      fflush(*(FILE **)(iVar2 + 0x584));\n      goto LAB_0001d1c8;\n    }\n    uVar8 = 1;\n    FUN_0004a0b0();\n    local_d8 = (**(code **)(iVar2 + 0x5f4))\n                         (*(undefined4 *)(iVar2 + 0x62c),(double)*(longlong *)(iVar2 + 0xb44),\n                          (double)*(longlong *)(iVar2 + 0xb54),(double)*(longlong *)(iVar2 + 0xb4c),\n                          (double)*(longlong *)(iVar2 + 0xb5c),uVar8);\n  }\n  else {\n    uVar8 = 1;\n    FUN_0004a0b0();\n    local_d8 = (**(code **)(iVar2 + 0x5f8))\n                         (*(undefined4 *)(iVar2 + 0x62c),*(undefined4 *)(iVar2 + 0xb44),\n                          *(undefined4 *)(iVar2 + 0xb48),*(undefined4 *)(iVar2 + 0xb54),\n                          *(undefined4 *)(iVar2 + 0xb58),*(undefined4 *)(iVar2 + 0xb4c),\n                          *(undefined4 *)(iVar2 + 0xb50),*(undefined4 *)(iVar2 + 0xb5c),\n                          *(undefined4 *)(iVar2 + 0xb60),uVar8,iVar6,iVar14);\n  }\n  FUN_0004a0b0();\n  if (local_d8 != 0) {\n    FUN_00027d40();\n  }\nLAB_0001d1c8:\n  if (local_24 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_d8;\n  }\n                    \n  FUN_00082f60();\n}" primitive_type (function_declarator "FUN_0001cce0(int *param_1)" identifier (parameter_list "(int *param_1)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  uint *puVar1;\n  int iVar2;\n  bool bVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  uint uVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  undefined4 uVar12;\n  uint uVar13;\n  int iVar14;\n  int iVar15;\n  int iVar16;\n  int iVar17;\n  int in_GS_OFFSET;\n  longlong lVar18;\n  longlong lVar19;\n  undefined8 uVar20;\n  undefined8 uVar21;\n  undefined8 uVar22;\n  int local_dc;\n  int local_d8;\n  int local_c0;\n  int local_88;\n  undefined4 local_84 [16];\n  undefined1 local_42 [10];\n  undefined1 local_38 [10];\n  undefined1 local_2e [10];\n  int local_24;\n  undefined4 local_20;\n  \n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  iVar2 = *param_1;\n  uVar7 = *(uint *)(iVar2 + 0xb54);\n  iVar17 = *(int *)(iVar2 + 0xb58);\n  iVar15 = *(int *)(iVar2 + 0xb5c);\n  FUN_0001ab90(local_84);\n  iVar4 = FUN_0001ac80();\n  *(int *)(iVar2 + 0xb78) = iVar4;\n  iVar6 = iVar4 / 1000000;\n  iVar14 = iVar6 >> 0x1f;\n  iVar4 = iVar4 / 1000;\n  iVar5 = iVar4 >> 0x1f;\n  uVar7 = (uint)(0xa5e353f6 < uVar7);\n  iVar16 = 0x20c49b - iVar17;\n  if ((SBORROW4(0x20c49b,iVar17) != SBORROW4(iVar16,uVar7)) == (int)(iVar16 - uVar7) < 0) {\n    lVar18 = FUN_00082b40();\n  }\n  else {\n    lVar18 = FUN_00082b40();\n  }\n  *(longlong *)(iVar2 + 0xb7c) = lVar18;\n  if (iVar15 < 0x20c49c) {\n    if ((int)(uint)(iVar4 != 0) <= -iVar5) {\n      iVar4 = 1;\n      iVar5 = 0;\n    }\n    lVar19 = FUN_00082b40();\n    iVar6 = iVar4;\n    iVar14 = iVar5;\n  }\n  else {\n    if ((int)(uint)(iVar6 != 0) <= -iVar14) {\n      iVar6 = 1;\n      iVar14 = 0;\n    }\n    lVar19 = FUN_00082b40();\n  }\n  bVar3 = false;\n  *(longlong *)(iVar2 + 0xb84) = lVar19;\n  if (*(int *)(iVar2 + 0xb40) != local_88) {\n    *(int *)(iVar2 + 0xb40) = local_88;\n    uVar7 = *(uint *)(iVar2 + 0xb5c);\n    uVar13 = *(uint *)(iVar2 + 0xb54);\n    iVar15 = iVar2 + (local_c0 % 6) * 8;\n    *(uint *)(iVar15 + 0xbec) =\n         *(int *)(iVar2 + 0xb60) + *(int *)(iVar2 + 0xb58) +\n         (uint)CARRY4(uVar7,*(uint *)(iVar2 + 0xb54));\n    *(uint *)(iVar15 + 0xbe8) = uVar7 + uVar13;\n    *(undefined4 *)(iVar15 + 0xc1c) = local_84[0];\n    *(int *)(iVar15 + 0xc18) = local_88;\n    iVar17 = *(int *)(iVar2 + 0xc48) + 1;\n    *(int *)(iVar2 + 0xc48) = iVar17;\n    if (iVar17 == 1) {\n      bVar3 = true;\n      *(longlong *)(iVar2 + 0xb64) = lVar18 + lVar19;\n    }\n    else {\n      iVar16 = 0;\n      if (5 < iVar17) {\n        iVar16 = iVar17 % 6;\n      }\n      iVar14 = *(int *)(iVar2 + 0xc1c + iVar16 * 8);\n      iVar17 = *(int *)(iVar2 + 0xc18 + iVar16 * 8);\n      iVar6 = FUN_0001ac30();\n      if (iVar6 == 0) {\n        iVar6 = 1;\n      }\n      puVar1 = (uint *)(iVar2 + 0xbe8 + iVar16 * 8);\n      uVar7 = *(uint *)(iVar15 + 0xbe8) - *puVar1;\n      iVar15 = (*(int *)(iVar15 + 0xbec) - *(int *)(iVar2 + 0xbec + iVar16 * 8)) -\n               (uint)(*(uint *)(iVar15 + 0xbe8) < *puVar1);\n      if (-iVar15 < (int)(uint)(0x418937 < uVar7)) {\n        bVar3 = true;\n        *(longlong *)(iVar2 + 0xb64) =\n             (longlong)\n             ROUND((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))\n        ;\n        iVar6 = iVar17;\n      }\n      else {\n        iVar14 = iVar6 >> 0x1f;\n        uVar20 = FUN_00082b40();\n        bVar3 = true;\n        *(undefined8 *)(iVar2 + 0xb64) = uVar20;\n      }\n    }\n  }\n  uVar7 = *(uint *)(iVar2 + 0xb74);\n  if ((uVar7 & 0x10) != 0) {\n    local_d8 = 0;\n    goto LAB_0001d1c8;\n  }\n  if (*(int *)(iVar2 + 0x5f8) == 0) {\n    if (*(int *)(iVar2 + 0x5f4) == 0) {\n      local_d8 = 0;\n      if (!bVar3) goto LAB_0001d1c8;\n      if ((uVar7 & 0x80) == 0) {\n        if (*(int *)(iVar2 + 0xebc) != 0 || *(int *)(iVar2 + 0xeb8) != 0) {\n          curl_mfprintf();\n        }\n        curl_mfprintf();\n        uVar7 = *(uint *)(iVar2 + 0xb74) | 0x80;\n        *(uint *)(iVar2 + 0xb74) = uVar7;\n      }\n      if (((uVar7 & 0x20) == 0) ||\n         ((int)(uint)(*(int *)(iVar2 + 0xb84) != 0) <= -*(int *)(iVar2 + 0xb88))) {\n        if (((uVar7 & 0x40) != 0) &&\n           (-*(int *)(iVar2 + 0xb80) < (int)(uint)(*(int *)(iVar2 + 0xb7c) != 0))) {\n          uVar20 = 0;\n          goto LAB_0001d331;\n        }\n        uVar20 = 0;\n        uVar21 = 0;\n      }\n      else {\n        uVar13 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n        FUN_00082b40();\n        if (-iVar17 < (int)(uint)(10000 < uVar13)) {\n          FUN_00082b40();\n          uVar20 = FUN_00082b40();\n        }\n        else {\n          uVar20 = 0;\n          if (-iVar17 < (int)(uint)(uVar13 != 0)) {\n            uVar20 = FUN_00082b40();\n          }\n        }\n        if (((uVar7 & 0x40) == 0) ||\n           ((int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80))) {\n          uVar21 = 0;\n        }\n        else {\nLAB_0001d331:\n          uVar7 = *(uint *)(iVar2 + 0xb44);\n          iVar17 = *(int *)(iVar2 + 0xb48);\n          FUN_00082b40();\n          if (-iVar17 < (int)(uint)(10000 < uVar7)) {\n            FUN_00082b40();\n            uVar21 = FUN_00082b40();\n          }\n          else {\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }\n        }\n      }\n      FUN_0001c490();\n      FUN_0001c490();\n      FUN_0001c490();\n      if ((*(uint *)(iVar2 + 0xb74) & 0x20) == 0) {\n        uVar7 = *(uint *)(iVar2 + 0xb5c);\n        iVar17 = *(int *)(iVar2 + 0xb60);\n      }\n      else {\n        uVar7 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n      }\n      uVar13 = *(uint *)(iVar2 + 0xb54);\n      iVar15 = *(int *)(iVar2 + 0xb58);\n      if ((*(uint *)(iVar2 + 0xb74) & 0x40) != 0) {\n        uVar13 = *(uint *)(iVar2 + 0xb44);\n        iVar15 = *(int *)(iVar2 + 0xb48);\n      }\n      iVar17 = iVar17 + iVar15 + (uint)CARRY4(uVar7,uVar13);\n      if (-iVar17 < (int)(uint)(10000 < uVar7 + uVar13)) {\n        FUN_00082b40();\n        uVar22 = FUN_00082b40();\n      }\n      else {\n        uVar22 = 0;\n        if (-iVar17 < (int)(uint)(uVar7 + uVar13 != 0)) {\n          uVar22 = FUN_00082b40();\n        }\n      }\n      FUN_0001c620();\n      uVar8 = FUN_0001c620();\n      uVar9 = FUN_0001c620();\n      uVar10 = FUN_0001c620();\n      uVar11 = FUN_0001c620();\n      uVar12 = FUN_0001c620();\n      curl_mfprintf(*(undefined4 *)(iVar2 + 0x584),local_dc + -0x3333c,uVar22,uVar12,uVar21,uVar11,\n                    uVar20,uVar10,uVar9,uVar8,local_38,local_2e,local_42);\n      fflush(*(FILE **)(iVar2 + 0x584));\n      goto LAB_0001d1c8;\n    }\n    uVar8 = 1;\n    FUN_0004a0b0();\n    local_d8 = (**(code **)(iVar2 + 0x5f4))\n                         (*(undefined4 *)(iVar2 + 0x62c),(double)*(longlong *)(iVar2 + 0xb44),\n                          (double)*(longlong *)(iVar2 + 0xb54),(double)*(longlong *)(iVar2 + 0xb4c),\n                          (double)*(longlong *)(iVar2 + 0xb5c),uVar8);\n  }\n  else {\n    uVar8 = 1;\n    FUN_0004a0b0();\n    local_d8 = (**(code **)(iVar2 + 0x5f8))\n                         (*(undefined4 *)(iVar2 + 0x62c),*(undefined4 *)(iVar2 + 0xb44),\n                          *(undefined4 *)(iVar2 + 0xb48),*(undefined4 *)(iVar2 + 0xb54),\n                          *(undefined4 *)(iVar2 + 0xb58),*(undefined4 *)(iVar2 + 0xb4c),\n                          *(undefined4 *)(iVar2 + 0xb50),*(undefined4 *)(iVar2 + 0xb5c),\n                          *(undefined4 *)(iVar2 + 0xb60),uVar8,iVar6,iVar14);\n  }\n  FUN_0004a0b0();\n  if (local_d8 != 0) {\n    FUN_00027d40();\n  }\nLAB_0001d1c8:\n  if (local_24 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_d8;\n  }\n                    \n  FUN_00082f60();\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "bool bVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "longlong lVar18;" type_identifier identifier ;) (declaration "longlong lVar19;" type_identifier identifier ;) (declaration "undefined8 uVar20;" type_identifier identifier ;) (declaration "undefined8 uVar21;" type_identifier identifier ;) (declaration "undefined8 uVar22;" type_identifier identifier ;) (declaration "int local_dc;" primitive_type identifier ;) (declaration "int local_d8;" primitive_type identifier ;) (declaration "int local_c0;" primitive_type identifier ;) (declaration "int local_88;" primitive_type identifier ;) (declaration "undefined4 local_84 [16];" type_identifier (array_declarator "local_84 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 local_42 [10];" type_identifier (array_declarator "local_42 [10]" identifier [ number_literal ]) ;) (declaration "undefined1 local_38 [10];" type_identifier (array_declarator "local_38 [10]" identifier [ number_literal ]) ;) (declaration "undefined1 local_2e [10];" type_identifier (array_declarator "local_2e [10]" identifier [ number_literal ]) ;) (declaration "int local_24;" primitive_type identifier ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (expression_statement "local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(undefined4 *)(in_GS_OFFSET + 0x14)" * (cast_expression "(undefined4 *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *param_1;" (assignment_expression "iVar2 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uVar7 = *(uint *)(iVar2 + 0xb54);" (assignment_expression "uVar7 = *(uint *)(iVar2 + 0xb54)" identifier = (pointer_expression "*(uint *)(iVar2 + 0xb54)" * (cast_expression "(uint *)(iVar2 + 0xb54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb54)" ( (binary_expression "iVar2 + 0xb54" identifier + number_literal) ))))) ;) (expression_statement "iVar17 = *(int *)(iVar2 + 0xb58);" (assignment_expression "iVar17 = *(int *)(iVar2 + 0xb58)" identifier = (pointer_expression "*(int *)(iVar2 + 0xb58)" * (cast_expression "(int *)(iVar2 + 0xb58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb58)" ( (binary_expression "iVar2 + 0xb58" identifier + number_literal) ))))) ;) (expression_statement "iVar15 = *(int *)(iVar2 + 0xb5c);" (assignment_expression "iVar15 = *(int *)(iVar2 + 0xb5c)" identifier = (pointer_expression "*(int *)(iVar2 + 0xb5c)" * (cast_expression "(int *)(iVar2 + 0xb5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb5c)" ( (binary_expression "iVar2 + 0xb5c" identifier + number_literal) ))))) ;) (expression_statement "FUN_0001ab90(local_84);" (call_expression "FUN_0001ab90(local_84)" identifier (argument_list "(local_84)" ( identifier ))) ;) (expression_statement "iVar4 = FUN_0001ac80();" (assignment_expression "iVar4 = FUN_0001ac80()" identifier = (call_expression "FUN_0001ac80()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)(iVar2 + 0xb78) = iVar4;" (assignment_expression "*(int *)(iVar2 + 0xb78) = iVar4" (pointer_expression "*(int *)(iVar2 + 0xb78)" * (cast_expression "(int *)(iVar2 + 0xb78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb78)" ( (binary_expression "iVar2 + 0xb78" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar6 = iVar4 / 1000000;" (assignment_expression "iVar6 = iVar4 / 1000000" identifier = (binary_expression "iVar4 / 1000000" identifier / number_literal)) ;) (expression_statement "iVar14 = iVar6 >> 0x1f;" (assignment_expression "iVar14 = iVar6 >> 0x1f" identifier = (binary_expression "iVar6 >> 0x1f" identifier >> number_literal)) ;) (expression_statement "iVar4 = iVar4 / 1000;" (assignment_expression "iVar4 = iVar4 / 1000" identifier = (binary_expression "iVar4 / 1000" identifier / number_literal)) ;) (expression_statement "iVar5 = iVar4 >> 0x1f;" (assignment_expression "iVar5 = iVar4 >> 0x1f" identifier = (binary_expression "iVar4 >> 0x1f" identifier >> number_literal)) ;) (expression_statement "uVar7 = (uint)(0xa5e353f6 < uVar7);" (assignment_expression "uVar7 = (uint)(0xa5e353f6 < uVar7)" identifier = (call_expression "(uint)(0xa5e353f6 < uVar7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xa5e353f6 < uVar7)" ( (binary_expression "0xa5e353f6 < uVar7" number_literal < identifier) )))) ;) (expression_statement "iVar16 = 0x20c49b - iVar17;" (assignment_expression "iVar16 = 0x20c49b - iVar17" identifier = (binary_expression "0x20c49b - iVar17" number_literal - identifier)) ;) (if_statement "if ((SBORROW4(0x20c49b,iVar17) != SBORROW4(iVar16,uVar7)) == (int)(iVar16 - uVar7) < 0) {\n    lVar18 = FUN_00082b40();\n  }\n  else {\n    lVar18 = FUN_00082b40();\n  }" if (parenthesized_expression "((SBORROW4(0x20c49b,iVar17) != SBORROW4(iVar16,uVar7)) == (int)(iVar16 - uVar7) < 0)" ( (binary_expression "(SBORROW4(0x20c49b,iVar17) != SBORROW4(iVar16,uVar7)) == (int)(iVar16 - uVar7) < 0" (parenthesized_expression "(SBORROW4(0x20c49b,iVar17) != SBORROW4(iVar16,uVar7))" ( (binary_expression "SBORROW4(0x20c49b,iVar17) != SBORROW4(iVar16,uVar7)" (call_expression "SBORROW4(0x20c49b,iVar17)" identifier (argument_list "(0x20c49b,iVar17)" ( number_literal , identifier ))) != (call_expression "SBORROW4(iVar16,uVar7)" identifier (argument_list "(iVar16,uVar7)" ( identifier , identifier )))) )) == (binary_expression "(int)(iVar16 - uVar7) < 0" (cast_expression "(int)(iVar16 - uVar7)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar16 - uVar7)" ( (binary_expression "iVar16 - uVar7" identifier - identifier) ))) < number_literal)) )) (compound_statement "{\n    lVar18 = FUN_00082b40();\n  }" { (expression_statement "lVar18 = FUN_00082b40();" (assignment_expression "lVar18 = FUN_00082b40()" identifier = (call_expression "FUN_00082b40()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else {\n    lVar18 = FUN_00082b40();\n  }" else (compound_statement "{\n    lVar18 = FUN_00082b40();\n  }" { (expression_statement "lVar18 = FUN_00082b40();" (assignment_expression "lVar18 = FUN_00082b40()" identifier = (call_expression "FUN_00082b40()" identifier (argument_list "()" ( )))) ;) }))) (expression_statement "*(longlong *)(iVar2 + 0xb7c) = lVar18;" (assignment_expression "*(longlong *)(iVar2 + 0xb7c) = lVar18" (pointer_expression "*(longlong *)(iVar2 + 0xb7c)" * (cast_expression "(longlong *)(iVar2 + 0xb7c)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb7c)" ( (binary_expression "iVar2 + 0xb7c" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar15 < 0x20c49c) {\n    if ((int)(uint)(iVar4 != 0) <= -iVar5) {\n      iVar4 = 1;\n      iVar5 = 0;\n    }\n    lVar19 = FUN_00082b40();\n    iVar6 = iVar4;\n    iVar14 = iVar5;\n  }\n  else {\n    if ((int)(uint)(iVar6 != 0) <= -iVar14) {\n      iVar6 = 1;\n      iVar14 = 0;\n    }\n    lVar19 = FUN_00082b40();\n  }" if (parenthesized_expression "(iVar15 < 0x20c49c)" ( (binary_expression "iVar15 < 0x20c49c" identifier < number_literal) )) (compound_statement "{\n    if ((int)(uint)(iVar4 != 0) <= -iVar5) {\n      iVar4 = 1;\n      iVar5 = 0;\n    }\n    lVar19 = FUN_00082b40();\n    iVar6 = iVar4;\n    iVar14 = iVar5;\n  }" { (if_statement "if ((int)(uint)(iVar4 != 0) <= -iVar5) {\n      iVar4 = 1;\n      iVar5 = 0;\n    }" if (parenthesized_expression "((int)(uint)(iVar4 != 0) <= -iVar5)" ( (binary_expression "(int)(uint)(iVar4 != 0) <= -iVar5" (cast_expression "(int)(uint)(iVar4 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(iVar4 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )))) <= (unary_expression "-iVar5" - identifier)) )) (compound_statement "{\n      iVar4 = 1;\n      iVar5 = 0;\n    }" { (expression_statement "iVar4 = 1;" (assignment_expression "iVar4 = 1" identifier = number_literal) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) })) (expression_statement "lVar19 = FUN_00082b40();" (assignment_expression "lVar19 = FUN_00082b40()" identifier = (call_expression "FUN_00082b40()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar6 = iVar4;" (assignment_expression "iVar6 = iVar4" identifier = identifier) ;) (expression_statement "iVar14 = iVar5;" (assignment_expression "iVar14 = iVar5" identifier = identifier) ;) }) (else_clause "else {\n    if ((int)(uint)(iVar6 != 0) <= -iVar14) {\n      iVar6 = 1;\n      iVar14 = 0;\n    }\n    lVar19 = FUN_00082b40();\n  }" else (compound_statement "{\n    if ((int)(uint)(iVar6 != 0) <= -iVar14) {\n      iVar6 = 1;\n      iVar14 = 0;\n    }\n    lVar19 = FUN_00082b40();\n  }" { (if_statement "if ((int)(uint)(iVar6 != 0) <= -iVar14) {\n      iVar6 = 1;\n      iVar14 = 0;\n    }" if (parenthesized_expression "((int)(uint)(iVar6 != 0) <= -iVar14)" ( (binary_expression "(int)(uint)(iVar6 != 0) <= -iVar14" (cast_expression "(int)(uint)(iVar6 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(iVar6 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )))) <= (unary_expression "-iVar14" - identifier)) )) (compound_statement "{\n      iVar6 = 1;\n      iVar14 = 0;\n    }" { (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" identifier = number_literal) ;) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) })) (expression_statement "lVar19 = FUN_00082b40();" (assignment_expression "lVar19 = FUN_00082b40()" identifier = (call_expression "FUN_00082b40()" identifier (argument_list "()" ( )))) ;) }))) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) (expression_statement "*(longlong *)(iVar2 + 0xb84) = lVar19;" (assignment_expression "*(longlong *)(iVar2 + 0xb84) = lVar19" (pointer_expression "*(longlong *)(iVar2 + 0xb84)" * (cast_expression "(longlong *)(iVar2 + 0xb84)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb84)" ( (binary_expression "iVar2 + 0xb84" identifier + number_literal) )))) = identifier) ;) (if_statement "if (*(int *)(iVar2 + 0xb40) != local_88) {\n    *(int *)(iVar2 + 0xb40) = local_88;\n    uVar7 = *(uint *)(iVar2 + 0xb5c);\n    uVar13 = *(uint *)(iVar2 + 0xb54);\n    iVar15 = iVar2 + (local_c0 % 6) * 8;\n    *(uint *)(iVar15 + 0xbec) =\n         *(int *)(iVar2 + 0xb60) + *(int *)(iVar2 + 0xb58) +\n         (uint)CARRY4(uVar7,*(uint *)(iVar2 + 0xb54));\n    *(uint *)(iVar15 + 0xbe8) = uVar7 + uVar13;\n    *(undefined4 *)(iVar15 + 0xc1c) = local_84[0];\n    *(int *)(iVar15 + 0xc18) = local_88;\n    iVar17 = *(int *)(iVar2 + 0xc48) + 1;\n    *(int *)(iVar2 + 0xc48) = iVar17;\n    if (iVar17 == 1) {\n      bVar3 = true;\n      *(longlong *)(iVar2 + 0xb64) = lVar18 + lVar19;\n    }\n    else {\n      iVar16 = 0;\n      if (5 < iVar17) {\n        iVar16 = iVar17 % 6;\n      }\n      iVar14 = *(int *)(iVar2 + 0xc1c + iVar16 * 8);\n      iVar17 = *(int *)(iVar2 + 0xc18 + iVar16 * 8);\n      iVar6 = FUN_0001ac30();\n      if (iVar6 == 0) {\n        iVar6 = 1;\n      }\n      puVar1 = (uint *)(iVar2 + 0xbe8 + iVar16 * 8);\n      uVar7 = *(uint *)(iVar15 + 0xbe8) - *puVar1;\n      iVar15 = (*(int *)(iVar15 + 0xbec) - *(int *)(iVar2 + 0xbec + iVar16 * 8)) -\n               (uint)(*(uint *)(iVar15 + 0xbe8) < *puVar1);\n      if (-iVar15 < (int)(uint)(0x418937 < uVar7)) {\n        bVar3 = true;\n        *(longlong *)(iVar2 + 0xb64) =\n             (longlong)\n             ROUND((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))\n        ;\n        iVar6 = iVar17;\n      }\n      else {\n        iVar14 = iVar6 >> 0x1f;\n        uVar20 = FUN_00082b40();\n        bVar3 = true;\n        *(undefined8 *)(iVar2 + 0xb64) = uVar20;\n      }\n    }\n  }" if (parenthesized_expression "(*(int *)(iVar2 + 0xb40) != local_88)" ( (binary_expression "*(int *)(iVar2 + 0xb40) != local_88" (pointer_expression "*(int *)(iVar2 + 0xb40)" * (cast_expression "(int *)(iVar2 + 0xb40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb40)" ( (binary_expression "iVar2 + 0xb40" identifier + number_literal) )))) != identifier) )) (compound_statement "{\n    *(int *)(iVar2 + 0xb40) = local_88;\n    uVar7 = *(uint *)(iVar2 + 0xb5c);\n    uVar13 = *(uint *)(iVar2 + 0xb54);\n    iVar15 = iVar2 + (local_c0 % 6) * 8;\n    *(uint *)(iVar15 + 0xbec) =\n         *(int *)(iVar2 + 0xb60) + *(int *)(iVar2 + 0xb58) +\n         (uint)CARRY4(uVar7,*(uint *)(iVar2 + 0xb54));\n    *(uint *)(iVar15 + 0xbe8) = uVar7 + uVar13;\n    *(undefined4 *)(iVar15 + 0xc1c) = local_84[0];\n    *(int *)(iVar15 + 0xc18) = local_88;\n    iVar17 = *(int *)(iVar2 + 0xc48) + 1;\n    *(int *)(iVar2 + 0xc48) = iVar17;\n    if (iVar17 == 1) {\n      bVar3 = true;\n      *(longlong *)(iVar2 + 0xb64) = lVar18 + lVar19;\n    }\n    else {\n      iVar16 = 0;\n      if (5 < iVar17) {\n        iVar16 = iVar17 % 6;\n      }\n      iVar14 = *(int *)(iVar2 + 0xc1c + iVar16 * 8);\n      iVar17 = *(int *)(iVar2 + 0xc18 + iVar16 * 8);\n      iVar6 = FUN_0001ac30();\n      if (iVar6 == 0) {\n        iVar6 = 1;\n      }\n      puVar1 = (uint *)(iVar2 + 0xbe8 + iVar16 * 8);\n      uVar7 = *(uint *)(iVar15 + 0xbe8) - *puVar1;\n      iVar15 = (*(int *)(iVar15 + 0xbec) - *(int *)(iVar2 + 0xbec + iVar16 * 8)) -\n               (uint)(*(uint *)(iVar15 + 0xbe8) < *puVar1);\n      if (-iVar15 < (int)(uint)(0x418937 < uVar7)) {\n        bVar3 = true;\n        *(longlong *)(iVar2 + 0xb64) =\n             (longlong)\n             ROUND((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))\n        ;\n        iVar6 = iVar17;\n      }\n      else {\n        iVar14 = iVar6 >> 0x1f;\n        uVar20 = FUN_00082b40();\n        bVar3 = true;\n        *(undefined8 *)(iVar2 + 0xb64) = uVar20;\n      }\n    }\n  }" { (expression_statement "*(int *)(iVar2 + 0xb40) = local_88;" (assignment_expression "*(int *)(iVar2 + 0xb40) = local_88" (pointer_expression "*(int *)(iVar2 + 0xb40)" * (cast_expression "(int *)(iVar2 + 0xb40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb40)" ( (binary_expression "iVar2 + 0xb40" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar7 = *(uint *)(iVar2 + 0xb5c);" (assignment_expression "uVar7 = *(uint *)(iVar2 + 0xb5c)" identifier = (pointer_expression "*(uint *)(iVar2 + 0xb5c)" * (cast_expression "(uint *)(iVar2 + 0xb5c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb5c)" ( (binary_expression "iVar2 + 0xb5c" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = *(uint *)(iVar2 + 0xb54);" (assignment_expression "uVar13 = *(uint *)(iVar2 + 0xb54)" identifier = (pointer_expression "*(uint *)(iVar2 + 0xb54)" * (cast_expression "(uint *)(iVar2 + 0xb54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb54)" ( (binary_expression "iVar2 + 0xb54" identifier + number_literal) ))))) ;) (expression_statement "iVar15 = iVar2 + (local_c0 % 6) * 8;" (assignment_expression "iVar15 = iVar2 + (local_c0 % 6) * 8" identifier = (binary_expression "iVar2 + (local_c0 % 6) * 8" identifier + (binary_expression "(local_c0 % 6) * 8" (parenthesized_expression "(local_c0 % 6)" ( (binary_expression "local_c0 % 6" identifier % number_literal) )) * number_literal))) ;) (expression_statement "*(uint *)(iVar15 + 0xbec) =\n         *(int *)(iVar2 + 0xb60) + *(int *)(iVar2 + 0xb58) +\n         (uint)CARRY4(uVar7,*(uint *)(iVar2 + 0xb54));" (assignment_expression "*(uint *)(iVar15 + 0xbec) =\n         *(int *)(iVar2 + 0xb60) + *(int *)(iVar2 + 0xb58) +\n         (uint)CARRY4(uVar7,*(uint *)(iVar2 + 0xb54))" (pointer_expression "*(uint *)(iVar15 + 0xbec)" * (cast_expression "(uint *)(iVar15 + 0xbec)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0xbec)" ( (binary_expression "iVar15 + 0xbec" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar2 + 0xb60) + *(int *)(iVar2 + 0xb58) +\n         (uint)CARRY4(uVar7,*(uint *)(iVar2 + 0xb54))" (binary_expression "*(int *)(iVar2 + 0xb60) + *(int *)(iVar2 + 0xb58)" (pointer_expression "*(int *)(iVar2 + 0xb60)" * (cast_expression "(int *)(iVar2 + 0xb60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb60)" ( (binary_expression "iVar2 + 0xb60" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar2 + 0xb58)" * (cast_expression "(int *)(iVar2 + 0xb58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb58)" ( (binary_expression "iVar2 + 0xb58" identifier + number_literal) ))))) + (cast_expression "(uint)CARRY4(uVar7,*(uint *)(iVar2 + 0xb54))" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar7,*(uint *)(iVar2 + 0xb54))" identifier (argument_list "(uVar7,*(uint *)(iVar2 + 0xb54))" ( identifier , (pointer_expression "*(uint *)(iVar2 + 0xb54)" * (cast_expression "(uint *)(iVar2 + 0xb54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb54)" ( (binary_expression "iVar2 + 0xb54" identifier + number_literal) )))) )))))) ;) (expression_statement "*(uint *)(iVar15 + 0xbe8) = uVar7 + uVar13;" (assignment_expression "*(uint *)(iVar15 + 0xbe8) = uVar7 + uVar13" (pointer_expression "*(uint *)(iVar15 + 0xbe8)" * (cast_expression "(uint *)(iVar15 + 0xbe8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0xbe8)" ( (binary_expression "iVar15 + 0xbe8" identifier + number_literal) )))) = (binary_expression "uVar7 + uVar13" identifier + identifier)) ;) (expression_statement "*(undefined4 *)(iVar15 + 0xc1c) = local_84[0];" (assignment_expression "*(undefined4 *)(iVar15 + 0xc1c) = local_84[0]" (pointer_expression "*(undefined4 *)(iVar15 + 0xc1c)" * (cast_expression "(undefined4 *)(iVar15 + 0xc1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0xc1c)" ( (binary_expression "iVar15 + 0xc1c" identifier + number_literal) )))) = (subscript_expression "local_84[0]" identifier [ number_literal ])) ;) (expression_statement "*(int *)(iVar15 + 0xc18) = local_88;" (assignment_expression "*(int *)(iVar15 + 0xc18) = local_88" (pointer_expression "*(int *)(iVar15 + 0xc18)" * (cast_expression "(int *)(iVar15 + 0xc18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0xc18)" ( (binary_expression "iVar15 + 0xc18" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar17 = *(int *)(iVar2 + 0xc48) + 1;" (assignment_expression "iVar17 = *(int *)(iVar2 + 0xc48) + 1" identifier = (binary_expression "*(int *)(iVar2 + 0xc48) + 1" (pointer_expression "*(int *)(iVar2 + 0xc48)" * (cast_expression "(int *)(iVar2 + 0xc48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xc48)" ( (binary_expression "iVar2 + 0xc48" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(iVar2 + 0xc48) = iVar17;" (assignment_expression "*(int *)(iVar2 + 0xc48) = iVar17" (pointer_expression "*(int *)(iVar2 + 0xc48)" * (cast_expression "(int *)(iVar2 + 0xc48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xc48)" ( (binary_expression "iVar2 + 0xc48" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar17 == 1) {\n      bVar3 = true;\n      *(longlong *)(iVar2 + 0xb64) = lVar18 + lVar19;\n    }\n    else {\n      iVar16 = 0;\n      if (5 < iVar17) {\n        iVar16 = iVar17 % 6;\n      }\n      iVar14 = *(int *)(iVar2 + 0xc1c + iVar16 * 8);\n      iVar17 = *(int *)(iVar2 + 0xc18 + iVar16 * 8);\n      iVar6 = FUN_0001ac30();\n      if (iVar6 == 0) {\n        iVar6 = 1;\n      }\n      puVar1 = (uint *)(iVar2 + 0xbe8 + iVar16 * 8);\n      uVar7 = *(uint *)(iVar15 + 0xbe8) - *puVar1;\n      iVar15 = (*(int *)(iVar15 + 0xbec) - *(int *)(iVar2 + 0xbec + iVar16 * 8)) -\n               (uint)(*(uint *)(iVar15 + 0xbe8) < *puVar1);\n      if (-iVar15 < (int)(uint)(0x418937 < uVar7)) {\n        bVar3 = true;\n        *(longlong *)(iVar2 + 0xb64) =\n             (longlong)\n             ROUND((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))\n        ;\n        iVar6 = iVar17;\n      }\n      else {\n        iVar14 = iVar6 >> 0x1f;\n        uVar20 = FUN_00082b40();\n        bVar3 = true;\n        *(undefined8 *)(iVar2 + 0xb64) = uVar20;\n      }\n    }" if (parenthesized_expression "(iVar17 == 1)" ( (binary_expression "iVar17 == 1" identifier == number_literal) )) (compound_statement "{\n      bVar3 = true;\n      *(longlong *)(iVar2 + 0xb64) = lVar18 + lVar19;\n    }" { (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) (expression_statement "*(longlong *)(iVar2 + 0xb64) = lVar18 + lVar19;" (assignment_expression "*(longlong *)(iVar2 + 0xb64) = lVar18 + lVar19" (pointer_expression "*(longlong *)(iVar2 + 0xb64)" * (cast_expression "(longlong *)(iVar2 + 0xb64)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb64)" ( (binary_expression "iVar2 + 0xb64" identifier + number_literal) )))) = (binary_expression "lVar18 + lVar19" identifier + identifier)) ;) }) (else_clause "else {\n      iVar16 = 0;\n      if (5 < iVar17) {\n        iVar16 = iVar17 % 6;\n      }\n      iVar14 = *(int *)(iVar2 + 0xc1c + iVar16 * 8);\n      iVar17 = *(int *)(iVar2 + 0xc18 + iVar16 * 8);\n      iVar6 = FUN_0001ac30();\n      if (iVar6 == 0) {\n        iVar6 = 1;\n      }\n      puVar1 = (uint *)(iVar2 + 0xbe8 + iVar16 * 8);\n      uVar7 = *(uint *)(iVar15 + 0xbe8) - *puVar1;\n      iVar15 = (*(int *)(iVar15 + 0xbec) - *(int *)(iVar2 + 0xbec + iVar16 * 8)) -\n               (uint)(*(uint *)(iVar15 + 0xbe8) < *puVar1);\n      if (-iVar15 < (int)(uint)(0x418937 < uVar7)) {\n        bVar3 = true;\n        *(longlong *)(iVar2 + 0xb64) =\n             (longlong)\n             ROUND((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))\n        ;\n        iVar6 = iVar17;\n      }\n      else {\n        iVar14 = iVar6 >> 0x1f;\n        uVar20 = FUN_00082b40();\n        bVar3 = true;\n        *(undefined8 *)(iVar2 + 0xb64) = uVar20;\n      }\n    }" else (compound_statement "{\n      iVar16 = 0;\n      if (5 < iVar17) {\n        iVar16 = iVar17 % 6;\n      }\n      iVar14 = *(int *)(iVar2 + 0xc1c + iVar16 * 8);\n      iVar17 = *(int *)(iVar2 + 0xc18 + iVar16 * 8);\n      iVar6 = FUN_0001ac30();\n      if (iVar6 == 0) {\n        iVar6 = 1;\n      }\n      puVar1 = (uint *)(iVar2 + 0xbe8 + iVar16 * 8);\n      uVar7 = *(uint *)(iVar15 + 0xbe8) - *puVar1;\n      iVar15 = (*(int *)(iVar15 + 0xbec) - *(int *)(iVar2 + 0xbec + iVar16 * 8)) -\n               (uint)(*(uint *)(iVar15 + 0xbe8) < *puVar1);\n      if (-iVar15 < (int)(uint)(0x418937 < uVar7)) {\n        bVar3 = true;\n        *(longlong *)(iVar2 + 0xb64) =\n             (longlong)\n             ROUND((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))\n        ;\n        iVar6 = iVar17;\n      }\n      else {\n        iVar14 = iVar6 >> 0x1f;\n        uVar20 = FUN_00082b40();\n        bVar3 = true;\n        *(undefined8 *)(iVar2 + 0xb64) = uVar20;\n      }\n    }" { (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (if_statement "if (5 < iVar17) {\n        iVar16 = iVar17 % 6;\n      }" if (parenthesized_expression "(5 < iVar17)" ( (binary_expression "5 < iVar17" number_literal < identifier) )) (compound_statement "{\n        iVar16 = iVar17 % 6;\n      }" { (expression_statement "iVar16 = iVar17 % 6;" (assignment_expression "iVar16 = iVar17 % 6" identifier = (binary_expression "iVar17 % 6" identifier % number_literal)) ;) })) (expression_statement "iVar14 = *(int *)(iVar2 + 0xc1c + iVar16 * 8);" (assignment_expression "iVar14 = *(int *)(iVar2 + 0xc1c + iVar16 * 8)" identifier = (pointer_expression "*(int *)(iVar2 + 0xc1c + iVar16 * 8)" * (cast_expression "(int *)(iVar2 + 0xc1c + iVar16 * 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xc1c + iVar16 * 8)" ( (binary_expression "iVar2 + 0xc1c + iVar16 * 8" (binary_expression "iVar2 + 0xc1c" identifier + number_literal) + (binary_expression "iVar16 * 8" identifier * number_literal)) ))))) ;) (expression_statement "iVar17 = *(int *)(iVar2 + 0xc18 + iVar16 * 8);" (assignment_expression "iVar17 = *(int *)(iVar2 + 0xc18 + iVar16 * 8)" identifier = (pointer_expression "*(int *)(iVar2 + 0xc18 + iVar16 * 8)" * (cast_expression "(int *)(iVar2 + 0xc18 + iVar16 * 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xc18 + iVar16 * 8)" ( (binary_expression "iVar2 + 0xc18 + iVar16 * 8" (binary_expression "iVar2 + 0xc18" identifier + number_literal) + (binary_expression "iVar16 * 8" identifier * number_literal)) ))))) ;) (expression_statement "iVar6 = FUN_0001ac30();" (assignment_expression "iVar6 = FUN_0001ac30()" identifier = (call_expression "FUN_0001ac30()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar6 == 0) {\n        iVar6 = 1;\n      }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar6 = 1;\n      }" { (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" identifier = number_literal) ;) })) (expression_statement "puVar1 = (uint *)(iVar2 + 0xbe8 + iVar16 * 8);" (assignment_expression "puVar1 = (uint *)(iVar2 + 0xbe8 + iVar16 * 8)" identifier = (cast_expression "(uint *)(iVar2 + 0xbe8 + iVar16 * 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xbe8 + iVar16 * 8)" ( (binary_expression "iVar2 + 0xbe8 + iVar16 * 8" (binary_expression "iVar2 + 0xbe8" identifier + number_literal) + (binary_expression "iVar16 * 8" identifier * number_literal)) )))) ;) (expression_statement "uVar7 = *(uint *)(iVar15 + 0xbe8) - *puVar1;" (assignment_expression "uVar7 = *(uint *)(iVar15 + 0xbe8) - *puVar1" identifier = (binary_expression "*(uint *)(iVar15 + 0xbe8) - *puVar1" (pointer_expression "*(uint *)(iVar15 + 0xbe8)" * (cast_expression "(uint *)(iVar15 + 0xbe8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0xbe8)" ( (binary_expression "iVar15 + 0xbe8" identifier + number_literal) )))) - (pointer_expression "*puVar1" * identifier))) ;) (expression_statement "iVar15 = (*(int *)(iVar15 + 0xbec) - *(int *)(iVar2 + 0xbec + iVar16 * 8)) -\n               (uint)(*(uint *)(iVar15 + 0xbe8) < *puVar1);" (assignment_expression "iVar15 = (*(int *)(iVar15 + 0xbec) - *(int *)(iVar2 + 0xbec + iVar16 * 8)) -\n               (uint)(*(uint *)(iVar15 + 0xbe8) < *puVar1)" identifier = (binary_expression "(*(int *)(iVar15 + 0xbec) - *(int *)(iVar2 + 0xbec + iVar16 * 8)) -\n               (uint)(*(uint *)(iVar15 + 0xbe8) < *puVar1)" (parenthesized_expression "(*(int *)(iVar15 + 0xbec) - *(int *)(iVar2 + 0xbec + iVar16 * 8))" ( (binary_expression "*(int *)(iVar15 + 0xbec) - *(int *)(iVar2 + 0xbec + iVar16 * 8)" (pointer_expression "*(int *)(iVar15 + 0xbec)" * (cast_expression "(int *)(iVar15 + 0xbec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0xbec)" ( (binary_expression "iVar15 + 0xbec" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar2 + 0xbec + iVar16 * 8)" * (cast_expression "(int *)(iVar2 + 0xbec + iVar16 * 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xbec + iVar16 * 8)" ( (binary_expression "iVar2 + 0xbec + iVar16 * 8" (binary_expression "iVar2 + 0xbec" identifier + number_literal) + (binary_expression "iVar16 * 8" identifier * number_literal)) ))))) )) - (call_expression "(uint)(*(uint *)(iVar15 + 0xbe8) < *puVar1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(iVar15 + 0xbe8) < *puVar1)" ( (binary_expression "*(uint *)(iVar15 + 0xbe8) < *puVar1" (pointer_expression "*(uint *)(iVar15 + 0xbe8)" * (cast_expression "(uint *)(iVar15 + 0xbe8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0xbe8)" ( (binary_expression "iVar15 + 0xbe8" identifier + number_literal) )))) < (pointer_expression "*puVar1" * identifier)) ))))) ;) (if_statement "if (-iVar15 < (int)(uint)(0x418937 < uVar7)) {\n        bVar3 = true;\n        *(longlong *)(iVar2 + 0xb64) =\n             (longlong)\n             ROUND((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))\n        ;\n        iVar6 = iVar17;\n      }\n      else {\n        iVar14 = iVar6 >> 0x1f;\n        uVar20 = FUN_00082b40();\n        bVar3 = true;\n        *(undefined8 *)(iVar2 + 0xb64) = uVar20;\n      }" if (parenthesized_expression "(-iVar15 < (int)(uint)(0x418937 < uVar7))" ( (binary_expression "-iVar15 < (int)(uint)(0x418937 < uVar7)" (unary_expression "-iVar15" - identifier) < (cast_expression "(int)(uint)(0x418937 < uVar7)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(0x418937 < uVar7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x418937 < uVar7)" ( (binary_expression "0x418937 < uVar7" number_literal < identifier) ))))) )) (compound_statement "{\n        bVar3 = true;\n        *(longlong *)(iVar2 + 0xb64) =\n             (longlong)\n             ROUND((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))\n        ;\n        iVar6 = iVar17;\n      }" { (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) (expression_statement "*(longlong *)(iVar2 + 0xb64) =\n             (longlong)\n             ROUND((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))\n        ;" (assignment_expression "*(longlong *)(iVar2 + 0xb64) =\n             (longlong)\n             ROUND((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))" (pointer_expression "*(longlong *)(iVar2 + 0xb64)" * (cast_expression "(longlong *)(iVar2 + 0xb64)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb64)" ( (binary_expression "iVar2 + 0xb64" identifier + number_literal) )))) = (cast_expression "(longlong)\n             ROUND((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))" ( (type_descriptor "longlong" type_identifier) ) (call_expression "ROUND((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))" identifier (argument_list "((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))" ( (binary_expression "(float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308))" (cast_expression "(float)CONCAT44(iVar15,uVar7)" ( (type_descriptor "float" primitive_type) ) (call_expression "CONCAT44(iVar15,uVar7)" identifier (argument_list "(iVar15,uVar7)" ( identifier , identifier )))) / (parenthesized_expression "((float)iVar6 / *(float *)(local_dc + -0x33308))" ( (binary_expression "(float)iVar6 / *(float *)(local_dc + -0x33308)" (cast_expression "(float)iVar6" ( (type_descriptor "float" primitive_type) ) identifier) / (pointer_expression "*(float *)(local_dc + -0x33308)" * (cast_expression "(float *)(local_dc + -0x33308)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_dc + -0x33308)" ( (binary_expression "local_dc + -0x33308" identifier + number_literal) ))))) ))) ))))) ;) (expression_statement "iVar6 = iVar17;" (assignment_expression "iVar6 = iVar17" identifier = identifier) ;) }) (else_clause "else {\n        iVar14 = iVar6 >> 0x1f;\n        uVar20 = FUN_00082b40();\n        bVar3 = true;\n        *(undefined8 *)(iVar2 + 0xb64) = uVar20;\n      }" else (compound_statement "{\n        iVar14 = iVar6 >> 0x1f;\n        uVar20 = FUN_00082b40();\n        bVar3 = true;\n        *(undefined8 *)(iVar2 + 0xb64) = uVar20;\n      }" { (expression_statement "iVar14 = iVar6 >> 0x1f;" (assignment_expression "iVar14 = iVar6 >> 0x1f" identifier = (binary_expression "iVar6 >> 0x1f" identifier >> number_literal)) ;) (expression_statement "uVar20 = FUN_00082b40();" (assignment_expression "uVar20 = FUN_00082b40()" identifier = (call_expression "FUN_00082b40()" identifier (argument_list "()" ( )))) ;) (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) (expression_statement "*(undefined8 *)(iVar2 + 0xb64) = uVar20;" (assignment_expression "*(undefined8 *)(iVar2 + 0xb64) = uVar20" (pointer_expression "*(undefined8 *)(iVar2 + 0xb64)" * (cast_expression "(undefined8 *)(iVar2 + 0xb64)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb64)" ( (binary_expression "iVar2 + 0xb64" identifier + number_literal) )))) = identifier) ;) }))) }))) })) (expression_statement "uVar7 = *(uint *)(iVar2 + 0xb74);" (assignment_expression "uVar7 = *(uint *)(iVar2 + 0xb74)" identifier = (pointer_expression "*(uint *)(iVar2 + 0xb74)" * (cast_expression "(uint *)(iVar2 + 0xb74)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb74)" ( (binary_expression "iVar2 + 0xb74" identifier + number_literal) ))))) ;) (if_statement "if ((uVar7 & 0x10) != 0) {\n    local_d8 = 0;\n    goto LAB_0001d1c8;\n  }" if (parenthesized_expression "((uVar7 & 0x10) != 0)" ( (binary_expression "(uVar7 & 0x10) != 0" (parenthesized_expression "(uVar7 & 0x10)" ( (binary_expression "uVar7 & 0x10" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    local_d8 = 0;\n    goto LAB_0001d1c8;\n  }" { (expression_statement "local_d8 = 0;" (assignment_expression "local_d8 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0001d1c8;" goto statement_identifier ;) })) (if_statement "if (*(int *)(iVar2 + 0x5f8) == 0) {\n    if (*(int *)(iVar2 + 0x5f4) == 0) {\n      local_d8 = 0;\n      if (!bVar3) goto LAB_0001d1c8;\n      if ((uVar7 & 0x80) == 0) {\n        if (*(int *)(iVar2 + 0xebc) != 0 || *(int *)(iVar2 + 0xeb8) != 0) {\n          curl_mfprintf();\n        }\n        curl_mfprintf();\n        uVar7 = *(uint *)(iVar2 + 0xb74) | 0x80;\n        *(uint *)(iVar2 + 0xb74) = uVar7;\n      }\n      if (((uVar7 & 0x20) == 0) ||\n         ((int)(uint)(*(int *)(iVar2 + 0xb84) != 0) <= -*(int *)(iVar2 + 0xb88))) {\n        if (((uVar7 & 0x40) != 0) &&\n           (-*(int *)(iVar2 + 0xb80) < (int)(uint)(*(int *)(iVar2 + 0xb7c) != 0))) {\n          uVar20 = 0;\n          goto LAB_0001d331;\n        }\n        uVar20 = 0;\n        uVar21 = 0;\n      }\n      else {\n        uVar13 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n        FUN_00082b40();\n        if (-iVar17 < (int)(uint)(10000 < uVar13)) {\n          FUN_00082b40();\n          uVar20 = FUN_00082b40();\n        }\n        else {\n          uVar20 = 0;\n          if (-iVar17 < (int)(uint)(uVar13 != 0)) {\n            uVar20 = FUN_00082b40();\n          }\n        }\n        if (((uVar7 & 0x40) == 0) ||\n           ((int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80))) {\n          uVar21 = 0;\n        }\n        else {\nLAB_0001d331:\n          uVar7 = *(uint *)(iVar2 + 0xb44);\n          iVar17 = *(int *)(iVar2 + 0xb48);\n          FUN_00082b40();\n          if (-iVar17 < (int)(uint)(10000 < uVar7)) {\n            FUN_00082b40();\n            uVar21 = FUN_00082b40();\n          }\n          else {\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }\n        }\n      }\n      FUN_0001c490();\n      FUN_0001c490();\n      FUN_0001c490();\n      if ((*(uint *)(iVar2 + 0xb74) & 0x20) == 0) {\n        uVar7 = *(uint *)(iVar2 + 0xb5c);\n        iVar17 = *(int *)(iVar2 + 0xb60);\n      }\n      else {\n        uVar7 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n      }\n      uVar13 = *(uint *)(iVar2 + 0xb54);\n      iVar15 = *(int *)(iVar2 + 0xb58);\n      if ((*(uint *)(iVar2 + 0xb74) & 0x40) != 0) {\n        uVar13 = *(uint *)(iVar2 + 0xb44);\n        iVar15 = *(int *)(iVar2 + 0xb48);\n      }\n      iVar17 = iVar17 + iVar15 + (uint)CARRY4(uVar7,uVar13);\n      if (-iVar17 < (int)(uint)(10000 < uVar7 + uVar13)) {\n        FUN_00082b40();\n        uVar22 = FUN_00082b40();\n      }\n      else {\n        uVar22 = 0;\n        if (-iVar17 < (int)(uint)(uVar7 + uVar13 != 0)) {\n          uVar22 = FUN_00082b40();\n        }\n      }\n      FUN_0001c620();\n      uVar8 = FUN_0001c620();\n      uVar9 = FUN_0001c620();\n      uVar10 = FUN_0001c620();\n      uVar11 = FUN_0001c620();\n      uVar12 = FUN_0001c620();\n      curl_mfprintf(*(undefined4 *)(iVar2 + 0x584),local_dc + -0x3333c,uVar22,uVar12,uVar21,uVar11,\n                    uVar20,uVar10,uVar9,uVar8,local_38,local_2e,local_42);\n      fflush(*(FILE **)(iVar2 + 0x584));\n      goto LAB_0001d1c8;\n    }\n    uVar8 = 1;\n    FUN_0004a0b0();\n    local_d8 = (**(code **)(iVar2 + 0x5f4))\n                         (*(undefined4 *)(iVar2 + 0x62c),(double)*(longlong *)(iVar2 + 0xb44),\n                          (double)*(longlong *)(iVar2 + 0xb54),(double)*(longlong *)(iVar2 + 0xb4c),\n                          (double)*(longlong *)(iVar2 + 0xb5c),uVar8);\n  }\n  else {\n    uVar8 = 1;\n    FUN_0004a0b0();\n    local_d8 = (**(code **)(iVar2 + 0x5f8))\n                         (*(undefined4 *)(iVar2 + 0x62c),*(undefined4 *)(iVar2 + 0xb44),\n                          *(undefined4 *)(iVar2 + 0xb48),*(undefined4 *)(iVar2 + 0xb54),\n                          *(undefined4 *)(iVar2 + 0xb58),*(undefined4 *)(iVar2 + 0xb4c),\n                          *(undefined4 *)(iVar2 + 0xb50),*(undefined4 *)(iVar2 + 0xb5c),\n                          *(undefined4 *)(iVar2 + 0xb60),uVar8,iVar6,iVar14);\n  }" if (parenthesized_expression "(*(int *)(iVar2 + 0x5f8) == 0)" ( (binary_expression "*(int *)(iVar2 + 0x5f8) == 0" (pointer_expression "*(int *)(iVar2 + 0x5f8)" * (cast_expression "(int *)(iVar2 + 0x5f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x5f8)" ( (binary_expression "iVar2 + 0x5f8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (*(int *)(iVar2 + 0x5f4) == 0) {\n      local_d8 = 0;\n      if (!bVar3) goto LAB_0001d1c8;\n      if ((uVar7 & 0x80) == 0) {\n        if (*(int *)(iVar2 + 0xebc) != 0 || *(int *)(iVar2 + 0xeb8) != 0) {\n          curl_mfprintf();\n        }\n        curl_mfprintf();\n        uVar7 = *(uint *)(iVar2 + 0xb74) | 0x80;\n        *(uint *)(iVar2 + 0xb74) = uVar7;\n      }\n      if (((uVar7 & 0x20) == 0) ||\n         ((int)(uint)(*(int *)(iVar2 + 0xb84) != 0) <= -*(int *)(iVar2 + 0xb88))) {\n        if (((uVar7 & 0x40) != 0) &&\n           (-*(int *)(iVar2 + 0xb80) < (int)(uint)(*(int *)(iVar2 + 0xb7c) != 0))) {\n          uVar20 = 0;\n          goto LAB_0001d331;\n        }\n        uVar20 = 0;\n        uVar21 = 0;\n      }\n      else {\n        uVar13 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n        FUN_00082b40();\n        if (-iVar17 < (int)(uint)(10000 < uVar13)) {\n          FUN_00082b40();\n          uVar20 = FUN_00082b40();\n        }\n        else {\n          uVar20 = 0;\n          if (-iVar17 < (int)(uint)(uVar13 != 0)) {\n            uVar20 = FUN_00082b40();\n          }\n        }\n        if (((uVar7 & 0x40) == 0) ||\n           ((int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80))) {\n          uVar21 = 0;\n        }\n        else {\nLAB_0001d331:\n          uVar7 = *(uint *)(iVar2 + 0xb44);\n          iVar17 = *(int *)(iVar2 + 0xb48);\n          FUN_00082b40();\n          if (-iVar17 < (int)(uint)(10000 < uVar7)) {\n            FUN_00082b40();\n            uVar21 = FUN_00082b40();\n          }\n          else {\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }\n        }\n      }\n      FUN_0001c490();\n      FUN_0001c490();\n      FUN_0001c490();\n      if ((*(uint *)(iVar2 + 0xb74) & 0x20) == 0) {\n        uVar7 = *(uint *)(iVar2 + 0xb5c);\n        iVar17 = *(int *)(iVar2 + 0xb60);\n      }\n      else {\n        uVar7 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n      }\n      uVar13 = *(uint *)(iVar2 + 0xb54);\n      iVar15 = *(int *)(iVar2 + 0xb58);\n      if ((*(uint *)(iVar2 + 0xb74) & 0x40) != 0) {\n        uVar13 = *(uint *)(iVar2 + 0xb44);\n        iVar15 = *(int *)(iVar2 + 0xb48);\n      }\n      iVar17 = iVar17 + iVar15 + (uint)CARRY4(uVar7,uVar13);\n      if (-iVar17 < (int)(uint)(10000 < uVar7 + uVar13)) {\n        FUN_00082b40();\n        uVar22 = FUN_00082b40();\n      }\n      else {\n        uVar22 = 0;\n        if (-iVar17 < (int)(uint)(uVar7 + uVar13 != 0)) {\n          uVar22 = FUN_00082b40();\n        }\n      }\n      FUN_0001c620();\n      uVar8 = FUN_0001c620();\n      uVar9 = FUN_0001c620();\n      uVar10 = FUN_0001c620();\n      uVar11 = FUN_0001c620();\n      uVar12 = FUN_0001c620();\n      curl_mfprintf(*(undefined4 *)(iVar2 + 0x584),local_dc + -0x3333c,uVar22,uVar12,uVar21,uVar11,\n                    uVar20,uVar10,uVar9,uVar8,local_38,local_2e,local_42);\n      fflush(*(FILE **)(iVar2 + 0x584));\n      goto LAB_0001d1c8;\n    }\n    uVar8 = 1;\n    FUN_0004a0b0();\n    local_d8 = (**(code **)(iVar2 + 0x5f4))\n                         (*(undefined4 *)(iVar2 + 0x62c),(double)*(longlong *)(iVar2 + 0xb44),\n                          (double)*(longlong *)(iVar2 + 0xb54),(double)*(longlong *)(iVar2 + 0xb4c),\n                          (double)*(longlong *)(iVar2 + 0xb5c),uVar8);\n  }" { (if_statement "if (*(int *)(iVar2 + 0x5f4) == 0) {\n      local_d8 = 0;\n      if (!bVar3) goto LAB_0001d1c8;\n      if ((uVar7 & 0x80) == 0) {\n        if (*(int *)(iVar2 + 0xebc) != 0 || *(int *)(iVar2 + 0xeb8) != 0) {\n          curl_mfprintf();\n        }\n        curl_mfprintf();\n        uVar7 = *(uint *)(iVar2 + 0xb74) | 0x80;\n        *(uint *)(iVar2 + 0xb74) = uVar7;\n      }\n      if (((uVar7 & 0x20) == 0) ||\n         ((int)(uint)(*(int *)(iVar2 + 0xb84) != 0) <= -*(int *)(iVar2 + 0xb88))) {\n        if (((uVar7 & 0x40) != 0) &&\n           (-*(int *)(iVar2 + 0xb80) < (int)(uint)(*(int *)(iVar2 + 0xb7c) != 0))) {\n          uVar20 = 0;\n          goto LAB_0001d331;\n        }\n        uVar20 = 0;\n        uVar21 = 0;\n      }\n      else {\n        uVar13 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n        FUN_00082b40();\n        if (-iVar17 < (int)(uint)(10000 < uVar13)) {\n          FUN_00082b40();\n          uVar20 = FUN_00082b40();\n        }\n        else {\n          uVar20 = 0;\n          if (-iVar17 < (int)(uint)(uVar13 != 0)) {\n            uVar20 = FUN_00082b40();\n          }\n        }\n        if (((uVar7 & 0x40) == 0) ||\n           ((int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80))) {\n          uVar21 = 0;\n        }\n        else {\nLAB_0001d331:\n          uVar7 = *(uint *)(iVar2 + 0xb44);\n          iVar17 = *(int *)(iVar2 + 0xb48);\n          FUN_00082b40();\n          if (-iVar17 < (int)(uint)(10000 < uVar7)) {\n            FUN_00082b40();\n            uVar21 = FUN_00082b40();\n          }\n          else {\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }\n        }\n      }\n      FUN_0001c490();\n      FUN_0001c490();\n      FUN_0001c490();\n      if ((*(uint *)(iVar2 + 0xb74) & 0x20) == 0) {\n        uVar7 = *(uint *)(iVar2 + 0xb5c);\n        iVar17 = *(int *)(iVar2 + 0xb60);\n      }\n      else {\n        uVar7 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n      }\n      uVar13 = *(uint *)(iVar2 + 0xb54);\n      iVar15 = *(int *)(iVar2 + 0xb58);\n      if ((*(uint *)(iVar2 + 0xb74) & 0x40) != 0) {\n        uVar13 = *(uint *)(iVar2 + 0xb44);\n        iVar15 = *(int *)(iVar2 + 0xb48);\n      }\n      iVar17 = iVar17 + iVar15 + (uint)CARRY4(uVar7,uVar13);\n      if (-iVar17 < (int)(uint)(10000 < uVar7 + uVar13)) {\n        FUN_00082b40();\n        uVar22 = FUN_00082b40();\n      }\n      else {\n        uVar22 = 0;\n        if (-iVar17 < (int)(uint)(uVar7 + uVar13 != 0)) {\n          uVar22 = FUN_00082b40();\n        }\n      }\n      FUN_0001c620();\n      uVar8 = FUN_0001c620();\n      uVar9 = FUN_0001c620();\n      uVar10 = FUN_0001c620();\n      uVar11 = FUN_0001c620();\n      uVar12 = FUN_0001c620();\n      curl_mfprintf(*(undefined4 *)(iVar2 + 0x584),local_dc + -0x3333c,uVar22,uVar12,uVar21,uVar11,\n                    uVar20,uVar10,uVar9,uVar8,local_38,local_2e,local_42);\n      fflush(*(FILE **)(iVar2 + 0x584));\n      goto LAB_0001d1c8;\n    }" if (parenthesized_expression "(*(int *)(iVar2 + 0x5f4) == 0)" ( (binary_expression "*(int *)(iVar2 + 0x5f4) == 0" (pointer_expression "*(int *)(iVar2 + 0x5f4)" * (cast_expression "(int *)(iVar2 + 0x5f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x5f4)" ( (binary_expression "iVar2 + 0x5f4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      local_d8 = 0;\n      if (!bVar3) goto LAB_0001d1c8;\n      if ((uVar7 & 0x80) == 0) {\n        if (*(int *)(iVar2 + 0xebc) != 0 || *(int *)(iVar2 + 0xeb8) != 0) {\n          curl_mfprintf();\n        }\n        curl_mfprintf();\n        uVar7 = *(uint *)(iVar2 + 0xb74) | 0x80;\n        *(uint *)(iVar2 + 0xb74) = uVar7;\n      }\n      if (((uVar7 & 0x20) == 0) ||\n         ((int)(uint)(*(int *)(iVar2 + 0xb84) != 0) <= -*(int *)(iVar2 + 0xb88))) {\n        if (((uVar7 & 0x40) != 0) &&\n           (-*(int *)(iVar2 + 0xb80) < (int)(uint)(*(int *)(iVar2 + 0xb7c) != 0))) {\n          uVar20 = 0;\n          goto LAB_0001d331;\n        }\n        uVar20 = 0;\n        uVar21 = 0;\n      }\n      else {\n        uVar13 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n        FUN_00082b40();\n        if (-iVar17 < (int)(uint)(10000 < uVar13)) {\n          FUN_00082b40();\n          uVar20 = FUN_00082b40();\n        }\n        else {\n          uVar20 = 0;\n          if (-iVar17 < (int)(uint)(uVar13 != 0)) {\n            uVar20 = FUN_00082b40();\n          }\n        }\n        if (((uVar7 & 0x40) == 0) ||\n           ((int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80))) {\n          uVar21 = 0;\n        }\n        else {\nLAB_0001d331:\n          uVar7 = *(uint *)(iVar2 + 0xb44);\n          iVar17 = *(int *)(iVar2 + 0xb48);\n          FUN_00082b40();\n          if (-iVar17 < (int)(uint)(10000 < uVar7)) {\n            FUN_00082b40();\n            uVar21 = FUN_00082b40();\n          }\n          else {\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }\n        }\n      }\n      FUN_0001c490();\n      FUN_0001c490();\n      FUN_0001c490();\n      if ((*(uint *)(iVar2 + 0xb74) & 0x20) == 0) {\n        uVar7 = *(uint *)(iVar2 + 0xb5c);\n        iVar17 = *(int *)(iVar2 + 0xb60);\n      }\n      else {\n        uVar7 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n      }\n      uVar13 = *(uint *)(iVar2 + 0xb54);\n      iVar15 = *(int *)(iVar2 + 0xb58);\n      if ((*(uint *)(iVar2 + 0xb74) & 0x40) != 0) {\n        uVar13 = *(uint *)(iVar2 + 0xb44);\n        iVar15 = *(int *)(iVar2 + 0xb48);\n      }\n      iVar17 = iVar17 + iVar15 + (uint)CARRY4(uVar7,uVar13);\n      if (-iVar17 < (int)(uint)(10000 < uVar7 + uVar13)) {\n        FUN_00082b40();\n        uVar22 = FUN_00082b40();\n      }\n      else {\n        uVar22 = 0;\n        if (-iVar17 < (int)(uint)(uVar7 + uVar13 != 0)) {\n          uVar22 = FUN_00082b40();\n        }\n      }\n      FUN_0001c620();\n      uVar8 = FUN_0001c620();\n      uVar9 = FUN_0001c620();\n      uVar10 = FUN_0001c620();\n      uVar11 = FUN_0001c620();\n      uVar12 = FUN_0001c620();\n      curl_mfprintf(*(undefined4 *)(iVar2 + 0x584),local_dc + -0x3333c,uVar22,uVar12,uVar21,uVar11,\n                    uVar20,uVar10,uVar9,uVar8,local_38,local_2e,local_42);\n      fflush(*(FILE **)(iVar2 + 0x584));\n      goto LAB_0001d1c8;\n    }" { (expression_statement "local_d8 = 0;" (assignment_expression "local_d8 = 0" identifier = number_literal) ;) (if_statement "if (!bVar3) goto LAB_0001d1c8;" if (parenthesized_expression "(!bVar3)" ( (unary_expression "!bVar3" ! identifier) )) (goto_statement "goto LAB_0001d1c8;" goto statement_identifier ;)) (if_statement "if ((uVar7 & 0x80) == 0) {\n        if (*(int *)(iVar2 + 0xebc) != 0 || *(int *)(iVar2 + 0xeb8) != 0) {\n          curl_mfprintf();\n        }\n        curl_mfprintf();\n        uVar7 = *(uint *)(iVar2 + 0xb74) | 0x80;\n        *(uint *)(iVar2 + 0xb74) = uVar7;\n      }" if (parenthesized_expression "((uVar7 & 0x80) == 0)" ( (binary_expression "(uVar7 & 0x80) == 0" (parenthesized_expression "(uVar7 & 0x80)" ( (binary_expression "uVar7 & 0x80" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        if (*(int *)(iVar2 + 0xebc) != 0 || *(int *)(iVar2 + 0xeb8) != 0) {\n          curl_mfprintf();\n        }\n        curl_mfprintf();\n        uVar7 = *(uint *)(iVar2 + 0xb74) | 0x80;\n        *(uint *)(iVar2 + 0xb74) = uVar7;\n      }" { (if_statement "if (*(int *)(iVar2 + 0xebc) != 0 || *(int *)(iVar2 + 0xeb8) != 0) {\n          curl_mfprintf();\n        }" if (parenthesized_expression "(*(int *)(iVar2 + 0xebc) != 0 || *(int *)(iVar2 + 0xeb8) != 0)" ( (binary_expression "*(int *)(iVar2 + 0xebc) != 0 || *(int *)(iVar2 + 0xeb8) != 0" (binary_expression "*(int *)(iVar2 + 0xebc) != 0" (pointer_expression "*(int *)(iVar2 + 0xebc)" * (cast_expression "(int *)(iVar2 + 0xebc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xebc)" ( (binary_expression "iVar2 + 0xebc" identifier + number_literal) )))) != number_literal) || (binary_expression "*(int *)(iVar2 + 0xeb8) != 0" (pointer_expression "*(int *)(iVar2 + 0xeb8)" * (cast_expression "(int *)(iVar2 + 0xeb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xeb8)" ( (binary_expression "iVar2 + 0xeb8" identifier + number_literal) )))) != number_literal)) )) (compound_statement "{\n          curl_mfprintf();\n        }" { (expression_statement "curl_mfprintf();" (call_expression "curl_mfprintf()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "curl_mfprintf();" (call_expression "curl_mfprintf()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar7 = *(uint *)(iVar2 + 0xb74) | 0x80;" (assignment_expression "uVar7 = *(uint *)(iVar2 + 0xb74) | 0x80" identifier = (binary_expression "*(uint *)(iVar2 + 0xb74) | 0x80" (pointer_expression "*(uint *)(iVar2 + 0xb74)" * (cast_expression "(uint *)(iVar2 + 0xb74)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb74)" ( (binary_expression "iVar2 + 0xb74" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "*(uint *)(iVar2 + 0xb74) = uVar7;" (assignment_expression "*(uint *)(iVar2 + 0xb74) = uVar7" (pointer_expression "*(uint *)(iVar2 + 0xb74)" * (cast_expression "(uint *)(iVar2 + 0xb74)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb74)" ( (binary_expression "iVar2 + 0xb74" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if (((uVar7 & 0x20) == 0) ||\n         ((int)(uint)(*(int *)(iVar2 + 0xb84) != 0) <= -*(int *)(iVar2 + 0xb88))) {\n        if (((uVar7 & 0x40) != 0) &&\n           (-*(int *)(iVar2 + 0xb80) < (int)(uint)(*(int *)(iVar2 + 0xb7c) != 0))) {\n          uVar20 = 0;\n          goto LAB_0001d331;\n        }\n        uVar20 = 0;\n        uVar21 = 0;\n      }\n      else {\n        uVar13 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n        FUN_00082b40();\n        if (-iVar17 < (int)(uint)(10000 < uVar13)) {\n          FUN_00082b40();\n          uVar20 = FUN_00082b40();\n        }\n        else {\n          uVar20 = 0;\n          if (-iVar17 < (int)(uint)(uVar13 != 0)) {\n            uVar20 = FUN_00082b40();\n          }\n        }\n        if (((uVar7 & 0x40) == 0) ||\n           ((int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80))) {\n          uVar21 = 0;\n        }\n        else {\nLAB_0001d331:\n          uVar7 = *(uint *)(iVar2 + 0xb44);\n          iVar17 = *(int *)(iVar2 + 0xb48);\n          FUN_00082b40();\n          if (-iVar17 < (int)(uint)(10000 < uVar7)) {\n            FUN_00082b40();\n            uVar21 = FUN_00082b40();\n          }\n          else {\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }\n        }\n      }" if (parenthesized_expression "(((uVar7 & 0x20) == 0) ||\n         ((int)(uint)(*(int *)(iVar2 + 0xb84) != 0) <= -*(int *)(iVar2 + 0xb88)))" ( (binary_expression "((uVar7 & 0x20) == 0) ||\n         ((int)(uint)(*(int *)(iVar2 + 0xb84) != 0) <= -*(int *)(iVar2 + 0xb88))" (parenthesized_expression "((uVar7 & 0x20) == 0)" ( (binary_expression "(uVar7 & 0x20) == 0" (parenthesized_expression "(uVar7 & 0x20)" ( (binary_expression "uVar7 & 0x20" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "((int)(uint)(*(int *)(iVar2 + 0xb84) != 0) <= -*(int *)(iVar2 + 0xb88))" ( (binary_expression "(int)(uint)(*(int *)(iVar2 + 0xb84) != 0) <= -*(int *)(iVar2 + 0xb88)" (cast_expression "(int)(uint)(*(int *)(iVar2 + 0xb84) != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(*(int *)(iVar2 + 0xb84) != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar2 + 0xb84) != 0)" ( (binary_expression "*(int *)(iVar2 + 0xb84) != 0" (pointer_expression "*(int *)(iVar2 + 0xb84)" * (cast_expression "(int *)(iVar2 + 0xb84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb84)" ( (binary_expression "iVar2 + 0xb84" identifier + number_literal) )))) != number_literal) )))) <= (unary_expression "-*(int *)(iVar2 + 0xb88)" - (pointer_expression "*(int *)(iVar2 + 0xb88)" * (cast_expression "(int *)(iVar2 + 0xb88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb88)" ( (binary_expression "iVar2 + 0xb88" identifier + number_literal) )))))) ))) )) (compound_statement "{\n        if (((uVar7 & 0x40) != 0) &&\n           (-*(int *)(iVar2 + 0xb80) < (int)(uint)(*(int *)(iVar2 + 0xb7c) != 0))) {\n          uVar20 = 0;\n          goto LAB_0001d331;\n        }\n        uVar20 = 0;\n        uVar21 = 0;\n      }" { (if_statement "if (((uVar7 & 0x40) != 0) &&\n           (-*(int *)(iVar2 + 0xb80) < (int)(uint)(*(int *)(iVar2 + 0xb7c) != 0))) {\n          uVar20 = 0;\n          goto LAB_0001d331;\n        }" if (parenthesized_expression "(((uVar7 & 0x40) != 0) &&\n           (-*(int *)(iVar2 + 0xb80) < (int)(uint)(*(int *)(iVar2 + 0xb7c) != 0)))" ( (binary_expression "((uVar7 & 0x40) != 0) &&\n           (-*(int *)(iVar2 + 0xb80) < (int)(uint)(*(int *)(iVar2 + 0xb7c) != 0))" (parenthesized_expression "((uVar7 & 0x40) != 0)" ( (binary_expression "(uVar7 & 0x40) != 0" (parenthesized_expression "(uVar7 & 0x40)" ( (binary_expression "uVar7 & 0x40" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "(-*(int *)(iVar2 + 0xb80) < (int)(uint)(*(int *)(iVar2 + 0xb7c) != 0))" ( (binary_expression "-*(int *)(iVar2 + 0xb80) < (int)(uint)(*(int *)(iVar2 + 0xb7c) != 0)" (unary_expression "-*(int *)(iVar2 + 0xb80)" - (pointer_expression "*(int *)(iVar2 + 0xb80)" * (cast_expression "(int *)(iVar2 + 0xb80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb80)" ( (binary_expression "iVar2 + 0xb80" identifier + number_literal) ))))) < (cast_expression "(int)(uint)(*(int *)(iVar2 + 0xb7c) != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(*(int *)(iVar2 + 0xb7c) != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar2 + 0xb7c) != 0)" ( (binary_expression "*(int *)(iVar2 + 0xb7c) != 0" (pointer_expression "*(int *)(iVar2 + 0xb7c)" * (cast_expression "(int *)(iVar2 + 0xb7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb7c)" ( (binary_expression "iVar2 + 0xb7c" identifier + number_literal) )))) != number_literal) ))))) ))) )) (compound_statement "{\n          uVar20 = 0;\n          goto LAB_0001d331;\n        }" { (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0001d331;" goto statement_identifier ;) })) (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" identifier = number_literal) ;) (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        uVar13 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n        FUN_00082b40();\n        if (-iVar17 < (int)(uint)(10000 < uVar13)) {\n          FUN_00082b40();\n          uVar20 = FUN_00082b40();\n        }\n        else {\n          uVar20 = 0;\n          if (-iVar17 < (int)(uint)(uVar13 != 0)) {\n            uVar20 = FUN_00082b40();\n          }\n        }\n        if (((uVar7 & 0x40) == 0) ||\n           ((int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80))) {\n          uVar21 = 0;\n        }\n        else {\nLAB_0001d331:\n          uVar7 = *(uint *)(iVar2 + 0xb44);\n          iVar17 = *(int *)(iVar2 + 0xb48);\n          FUN_00082b40();\n          if (-iVar17 < (int)(uint)(10000 < uVar7)) {\n            FUN_00082b40();\n            uVar21 = FUN_00082b40();\n          }\n          else {\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }\n        }\n      }" else (compound_statement "{\n        uVar13 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n        FUN_00082b40();\n        if (-iVar17 < (int)(uint)(10000 < uVar13)) {\n          FUN_00082b40();\n          uVar20 = FUN_00082b40();\n        }\n        else {\n          uVar20 = 0;\n          if (-iVar17 < (int)(uint)(uVar13 != 0)) {\n            uVar20 = FUN_00082b40();\n          }\n        }\n        if (((uVar7 & 0x40) == 0) ||\n           ((int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80))) {\n          uVar21 = 0;\n        }\n        else {\nLAB_0001d331:\n          uVar7 = *(uint *)(iVar2 + 0xb44);\n          iVar17 = *(int *)(iVar2 + 0xb48);\n          FUN_00082b40();\n          if (-iVar17 < (int)(uint)(10000 < uVar7)) {\n            FUN_00082b40();\n            uVar21 = FUN_00082b40();\n          }\n          else {\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }\n        }\n      }" { (expression_statement "uVar13 = *(uint *)(iVar2 + 0xb4c);" (assignment_expression "uVar13 = *(uint *)(iVar2 + 0xb4c)" identifier = (pointer_expression "*(uint *)(iVar2 + 0xb4c)" * (cast_expression "(uint *)(iVar2 + 0xb4c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb4c)" ( (binary_expression "iVar2 + 0xb4c" identifier + number_literal) ))))) ;) (expression_statement "iVar17 = *(int *)(iVar2 + 0xb50);" (assignment_expression "iVar17 = *(int *)(iVar2 + 0xb50)" identifier = (pointer_expression "*(int *)(iVar2 + 0xb50)" * (cast_expression "(int *)(iVar2 + 0xb50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb50)" ( (binary_expression "iVar2 + 0xb50" identifier + number_literal) ))))) ;) (expression_statement "FUN_00082b40();" (call_expression "FUN_00082b40()" identifier (argument_list "()" ( ))) ;) (if_statement "if (-iVar17 < (int)(uint)(10000 < uVar13)) {\n          FUN_00082b40();\n          uVar20 = FUN_00082b40();\n        }\n        else {\n          uVar20 = 0;\n          if (-iVar17 < (int)(uint)(uVar13 != 0)) {\n            uVar20 = FUN_00082b40();\n          }\n        }" if (parenthesized_expression "(-iVar17 < (int)(uint)(10000 < uVar13))" ( (binary_expression "-iVar17 < (int)(uint)(10000 < uVar13)" (unary_expression "-iVar17" - identifier) < (cast_expression "(int)(uint)(10000 < uVar13)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(10000 < uVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(10000 < uVar13)" ( (binary_expression "10000 < uVar13" number_literal < identifier) ))))) )) (compound_statement "{\n          FUN_00082b40();\n          uVar20 = FUN_00082b40();\n        }" { (expression_statement "FUN_00082b40();" (call_expression "FUN_00082b40()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar20 = FUN_00082b40();" (assignment_expression "uVar20 = FUN_00082b40()" identifier = (call_expression "FUN_00082b40()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else {\n          uVar20 = 0;\n          if (-iVar17 < (int)(uint)(uVar13 != 0)) {\n            uVar20 = FUN_00082b40();\n          }\n        }" else (compound_statement "{\n          uVar20 = 0;\n          if (-iVar17 < (int)(uint)(uVar13 != 0)) {\n            uVar20 = FUN_00082b40();\n          }\n        }" { (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" identifier = number_literal) ;) (if_statement "if (-iVar17 < (int)(uint)(uVar13 != 0)) {\n            uVar20 = FUN_00082b40();\n          }" if (parenthesized_expression "(-iVar17 < (int)(uint)(uVar13 != 0))" ( (binary_expression "-iVar17 < (int)(uint)(uVar13 != 0)" (unary_expression "-iVar17" - identifier) < (cast_expression "(int)(uint)(uVar13 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(uVar13 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar13 != 0)" ( (binary_expression "uVar13 != 0" identifier != number_literal) ))))) )) (compound_statement "{\n            uVar20 = FUN_00082b40();\n          }" { (expression_statement "uVar20 = FUN_00082b40();" (assignment_expression "uVar20 = FUN_00082b40()" identifier = (call_expression "FUN_00082b40()" identifier (argument_list "()" ( )))) ;) })) }))) (if_statement "if (((uVar7 & 0x40) == 0) ||\n           ((int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80))) {\n          uVar21 = 0;\n        }\n        else {\nLAB_0001d331:\n          uVar7 = *(uint *)(iVar2 + 0xb44);\n          iVar17 = *(int *)(iVar2 + 0xb48);\n          FUN_00082b40();\n          if (-iVar17 < (int)(uint)(10000 < uVar7)) {\n            FUN_00082b40();\n            uVar21 = FUN_00082b40();\n          }\n          else {\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }\n        }" if (parenthesized_expression "(((uVar7 & 0x40) == 0) ||\n           ((int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80)))" ( (binary_expression "((uVar7 & 0x40) == 0) ||\n           ((int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80))" (parenthesized_expression "((uVar7 & 0x40) == 0)" ( (binary_expression "(uVar7 & 0x40) == 0" (parenthesized_expression "(uVar7 & 0x40)" ( (binary_expression "uVar7 & 0x40" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "((int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80))" ( (binary_expression "(int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80)" (cast_expression "(int)(uint)(*(int *)(iVar2 + 0xb7c) != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(*(int *)(iVar2 + 0xb7c) != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(iVar2 + 0xb7c) != 0)" ( (binary_expression "*(int *)(iVar2 + 0xb7c) != 0" (pointer_expression "*(int *)(iVar2 + 0xb7c)" * (cast_expression "(int *)(iVar2 + 0xb7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb7c)" ( (binary_expression "iVar2 + 0xb7c" identifier + number_literal) )))) != number_literal) )))) <= (unary_expression "-*(int *)(iVar2 + 0xb80)" - (pointer_expression "*(int *)(iVar2 + 0xb80)" * (cast_expression "(int *)(iVar2 + 0xb80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb80)" ( (binary_expression "iVar2 + 0xb80" identifier + number_literal) )))))) ))) )) (compound_statement "{\n          uVar21 = 0;\n        }" { (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) }) (else_clause "else {\nLAB_0001d331:\n          uVar7 = *(uint *)(iVar2 + 0xb44);\n          iVar17 = *(int *)(iVar2 + 0xb48);\n          FUN_00082b40();\n          if (-iVar17 < (int)(uint)(10000 < uVar7)) {\n            FUN_00082b40();\n            uVar21 = FUN_00082b40();\n          }\n          else {\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }\n        }" else (compound_statement "{\nLAB_0001d331:\n          uVar7 = *(uint *)(iVar2 + 0xb44);\n          iVar17 = *(int *)(iVar2 + 0xb48);\n          FUN_00082b40();\n          if (-iVar17 < (int)(uint)(10000 < uVar7)) {\n            FUN_00082b40();\n            uVar21 = FUN_00082b40();\n          }\n          else {\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }\n        }" { (labeled_statement "LAB_0001d331:\n          uVar7 = *(uint *)(iVar2 + 0xb44);" statement_identifier : (expression_statement "uVar7 = *(uint *)(iVar2 + 0xb44);" (assignment_expression "uVar7 = *(uint *)(iVar2 + 0xb44)" identifier = (pointer_expression "*(uint *)(iVar2 + 0xb44)" * (cast_expression "(uint *)(iVar2 + 0xb44)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb44)" ( (binary_expression "iVar2 + 0xb44" identifier + number_literal) ))))) ;)) (expression_statement "iVar17 = *(int *)(iVar2 + 0xb48);" (assignment_expression "iVar17 = *(int *)(iVar2 + 0xb48)" identifier = (pointer_expression "*(int *)(iVar2 + 0xb48)" * (cast_expression "(int *)(iVar2 + 0xb48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb48)" ( (binary_expression "iVar2 + 0xb48" identifier + number_literal) ))))) ;) (expression_statement "FUN_00082b40();" (call_expression "FUN_00082b40()" identifier (argument_list "()" ( ))) ;) (if_statement "if (-iVar17 < (int)(uint)(10000 < uVar7)) {\n            FUN_00082b40();\n            uVar21 = FUN_00082b40();\n          }\n          else {\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }" if (parenthesized_expression "(-iVar17 < (int)(uint)(10000 < uVar7))" ( (binary_expression "-iVar17 < (int)(uint)(10000 < uVar7)" (unary_expression "-iVar17" - identifier) < (cast_expression "(int)(uint)(10000 < uVar7)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(10000 < uVar7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(10000 < uVar7)" ( (binary_expression "10000 < uVar7" number_literal < identifier) ))))) )) (compound_statement "{\n            FUN_00082b40();\n            uVar21 = FUN_00082b40();\n          }" { (expression_statement "FUN_00082b40();" (call_expression "FUN_00082b40()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar21 = FUN_00082b40();" (assignment_expression "uVar21 = FUN_00082b40()" identifier = (call_expression "FUN_00082b40()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else {\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }" else (compound_statement "{\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }" { (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (if_statement "if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }" if (parenthesized_expression "(-iVar17 < (int)(uint)(uVar7 != 0))" ( (binary_expression "-iVar17 < (int)(uint)(uVar7 != 0)" (unary_expression "-iVar17" - identifier) < (cast_expression "(int)(uint)(uVar7 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(uVar7 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 != 0)" ( (binary_expression "uVar7 != 0" identifier != number_literal) ))))) )) (compound_statement "{\n              uVar21 = FUN_00082b40();\n            }" { (expression_statement "uVar21 = FUN_00082b40();" (assignment_expression "uVar21 = FUN_00082b40()" identifier = (call_expression "FUN_00082b40()" identifier (argument_list "()" ( )))) ;) })) }))) }))) }))) (expression_statement "FUN_0001c490();" (call_expression "FUN_0001c490()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001c490();" (call_expression "FUN_0001c490()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001c490();" (call_expression "FUN_0001c490()" identifier (argument_list "()" ( ))) ;) (if_statement "if ((*(uint *)(iVar2 + 0xb74) & 0x20) == 0) {\n        uVar7 = *(uint *)(iVar2 + 0xb5c);\n        iVar17 = *(int *)(iVar2 + 0xb60);\n      }\n      else {\n        uVar7 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n      }" if (parenthesized_expression "((*(uint *)(iVar2 + 0xb74) & 0x20) == 0)" ( (binary_expression "(*(uint *)(iVar2 + 0xb74) & 0x20) == 0" (parenthesized_expression "(*(uint *)(iVar2 + 0xb74) & 0x20)" ( (binary_expression "*(uint *)(iVar2 + 0xb74) & 0x20" (pointer_expression "*(uint *)(iVar2 + 0xb74)" * (cast_expression "(uint *)(iVar2 + 0xb74)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb74)" ( (binary_expression "iVar2 + 0xb74" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n        uVar7 = *(uint *)(iVar2 + 0xb5c);\n        iVar17 = *(int *)(iVar2 + 0xb60);\n      }" { (expression_statement "uVar7 = *(uint *)(iVar2 + 0xb5c);" (assignment_expression "uVar7 = *(uint *)(iVar2 + 0xb5c)" identifier = (pointer_expression "*(uint *)(iVar2 + 0xb5c)" * (cast_expression "(uint *)(iVar2 + 0xb5c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb5c)" ( (binary_expression "iVar2 + 0xb5c" identifier + number_literal) ))))) ;) (expression_statement "iVar17 = *(int *)(iVar2 + 0xb60);" (assignment_expression "iVar17 = *(int *)(iVar2 + 0xb60)" identifier = (pointer_expression "*(int *)(iVar2 + 0xb60)" * (cast_expression "(int *)(iVar2 + 0xb60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb60)" ( (binary_expression "iVar2 + 0xb60" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        uVar7 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n      }" else (compound_statement "{\n        uVar7 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n      }" { (expression_statement "uVar7 = *(uint *)(iVar2 + 0xb4c);" (assignment_expression "uVar7 = *(uint *)(iVar2 + 0xb4c)" identifier = (pointer_expression "*(uint *)(iVar2 + 0xb4c)" * (cast_expression "(uint *)(iVar2 + 0xb4c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb4c)" ( (binary_expression "iVar2 + 0xb4c" identifier + number_literal) ))))) ;) (expression_statement "iVar17 = *(int *)(iVar2 + 0xb50);" (assignment_expression "iVar17 = *(int *)(iVar2 + 0xb50)" identifier = (pointer_expression "*(int *)(iVar2 + 0xb50)" * (cast_expression "(int *)(iVar2 + 0xb50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb50)" ( (binary_expression "iVar2 + 0xb50" identifier + number_literal) ))))) ;) }))) (expression_statement "uVar13 = *(uint *)(iVar2 + 0xb54);" (assignment_expression "uVar13 = *(uint *)(iVar2 + 0xb54)" identifier = (pointer_expression "*(uint *)(iVar2 + 0xb54)" * (cast_expression "(uint *)(iVar2 + 0xb54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb54)" ( (binary_expression "iVar2 + 0xb54" identifier + number_literal) ))))) ;) (expression_statement "iVar15 = *(int *)(iVar2 + 0xb58);" (assignment_expression "iVar15 = *(int *)(iVar2 + 0xb58)" identifier = (pointer_expression "*(int *)(iVar2 + 0xb58)" * (cast_expression "(int *)(iVar2 + 0xb58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb58)" ( (binary_expression "iVar2 + 0xb58" identifier + number_literal) ))))) ;) (if_statement "if ((*(uint *)(iVar2 + 0xb74) & 0x40) != 0) {\n        uVar13 = *(uint *)(iVar2 + 0xb44);\n        iVar15 = *(int *)(iVar2 + 0xb48);\n      }" if (parenthesized_expression "((*(uint *)(iVar2 + 0xb74) & 0x40) != 0)" ( (binary_expression "(*(uint *)(iVar2 + 0xb74) & 0x40) != 0" (parenthesized_expression "(*(uint *)(iVar2 + 0xb74) & 0x40)" ( (binary_expression "*(uint *)(iVar2 + 0xb74) & 0x40" (pointer_expression "*(uint *)(iVar2 + 0xb74)" * (cast_expression "(uint *)(iVar2 + 0xb74)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb74)" ( (binary_expression "iVar2 + 0xb74" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar13 = *(uint *)(iVar2 + 0xb44);\n        iVar15 = *(int *)(iVar2 + 0xb48);\n      }" { (expression_statement "uVar13 = *(uint *)(iVar2 + 0xb44);" (assignment_expression "uVar13 = *(uint *)(iVar2 + 0xb44)" identifier = (pointer_expression "*(uint *)(iVar2 + 0xb44)" * (cast_expression "(uint *)(iVar2 + 0xb44)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb44)" ( (binary_expression "iVar2 + 0xb44" identifier + number_literal) ))))) ;) (expression_statement "iVar15 = *(int *)(iVar2 + 0xb48);" (assignment_expression "iVar15 = *(int *)(iVar2 + 0xb48)" identifier = (pointer_expression "*(int *)(iVar2 + 0xb48)" * (cast_expression "(int *)(iVar2 + 0xb48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb48)" ( (binary_expression "iVar2 + 0xb48" identifier + number_literal) ))))) ;) })) (expression_statement "iVar17 = iVar17 + iVar15 + (uint)CARRY4(uVar7,uVar13);" (assignment_expression "iVar17 = iVar17 + iVar15 + (uint)CARRY4(uVar7,uVar13)" identifier = (binary_expression "iVar17 + iVar15 + (uint)CARRY4(uVar7,uVar13)" (binary_expression "iVar17 + iVar15" identifier + identifier) + (cast_expression "(uint)CARRY4(uVar7,uVar13)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar7,uVar13)" identifier (argument_list "(uVar7,uVar13)" ( identifier , identifier )))))) ;) (if_statement "if (-iVar17 < (int)(uint)(10000 < uVar7 + uVar13)) {\n        FUN_00082b40();\n        uVar22 = FUN_00082b40();\n      }\n      else {\n        uVar22 = 0;\n        if (-iVar17 < (int)(uint)(uVar7 + uVar13 != 0)) {\n          uVar22 = FUN_00082b40();\n        }\n      }" if (parenthesized_expression "(-iVar17 < (int)(uint)(10000 < uVar7 + uVar13))" ( (binary_expression "-iVar17 < (int)(uint)(10000 < uVar7 + uVar13)" (unary_expression "-iVar17" - identifier) < (cast_expression "(int)(uint)(10000 < uVar7 + uVar13)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(10000 < uVar7 + uVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(10000 < uVar7 + uVar13)" ( (binary_expression "10000 < uVar7 + uVar13" number_literal < (binary_expression "uVar7 + uVar13" identifier + identifier)) ))))) )) (compound_statement "{\n        FUN_00082b40();\n        uVar22 = FUN_00082b40();\n      }" { (expression_statement "FUN_00082b40();" (call_expression "FUN_00082b40()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar22 = FUN_00082b40();" (assignment_expression "uVar22 = FUN_00082b40()" identifier = (call_expression "FUN_00082b40()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else {\n        uVar22 = 0;\n        if (-iVar17 < (int)(uint)(uVar7 + uVar13 != 0)) {\n          uVar22 = FUN_00082b40();\n        }\n      }" else (compound_statement "{\n        uVar22 = 0;\n        if (-iVar17 < (int)(uint)(uVar7 + uVar13 != 0)) {\n          uVar22 = FUN_00082b40();\n        }\n      }" { (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" identifier = number_literal) ;) (if_statement "if (-iVar17 < (int)(uint)(uVar7 + uVar13 != 0)) {\n          uVar22 = FUN_00082b40();\n        }" if (parenthesized_expression "(-iVar17 < (int)(uint)(uVar7 + uVar13 != 0))" ( (binary_expression "-iVar17 < (int)(uint)(uVar7 + uVar13 != 0)" (unary_expression "-iVar17" - identifier) < (cast_expression "(int)(uint)(uVar7 + uVar13 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(uVar7 + uVar13 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 + uVar13 != 0)" ( (binary_expression "uVar7 + uVar13 != 0" (binary_expression "uVar7 + uVar13" identifier + identifier) != number_literal) ))))) )) (compound_statement "{\n          uVar22 = FUN_00082b40();\n        }" { (expression_statement "uVar22 = FUN_00082b40();" (assignment_expression "uVar22 = FUN_00082b40()" identifier = (call_expression "FUN_00082b40()" identifier (argument_list "()" ( )))) ;) })) }))) (expression_statement "FUN_0001c620();" (call_expression "FUN_0001c620()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar8 = FUN_0001c620();" (assignment_expression "uVar8 = FUN_0001c620()" identifier = (call_expression "FUN_0001c620()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar9 = FUN_0001c620();" (assignment_expression "uVar9 = FUN_0001c620()" identifier = (call_expression "FUN_0001c620()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar10 = FUN_0001c620();" (assignment_expression "uVar10 = FUN_0001c620()" identifier = (call_expression "FUN_0001c620()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar11 = FUN_0001c620();" (assignment_expression "uVar11 = FUN_0001c620()" identifier = (call_expression "FUN_0001c620()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar12 = FUN_0001c620();" (assignment_expression "uVar12 = FUN_0001c620()" identifier = (call_expression "FUN_0001c620()" identifier (argument_list "()" ( )))) ;) (expression_statement "curl_mfprintf(*(undefined4 *)(iVar2 + 0x584),local_dc + -0x3333c,uVar22,uVar12,uVar21,uVar11,\n                    uVar20,uVar10,uVar9,uVar8,local_38,local_2e,local_42);" (call_expression "curl_mfprintf(*(undefined4 *)(iVar2 + 0x584),local_dc + -0x3333c,uVar22,uVar12,uVar21,uVar11,\n                    uVar20,uVar10,uVar9,uVar8,local_38,local_2e,local_42)" identifier (argument_list "(*(undefined4 *)(iVar2 + 0x584),local_dc + -0x3333c,uVar22,uVar12,uVar21,uVar11,\n                    uVar20,uVar10,uVar9,uVar8,local_38,local_2e,local_42)" ( (pointer_expression "*(undefined4 *)(iVar2 + 0x584)" * (cast_expression "(undefined4 *)(iVar2 + 0x584)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x584)" ( (binary_expression "iVar2 + 0x584" identifier + number_literal) )))) , (binary_expression "local_dc + -0x3333c" identifier + number_literal) , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "fflush(*(FILE **)(iVar2 + 0x584));" (call_expression "fflush(*(FILE **)(iVar2 + 0x584))" identifier (argument_list "(*(FILE **)(iVar2 + 0x584))" ( (pointer_expression "*(FILE **)(iVar2 + 0x584)" * (cast_expression "(FILE **)(iVar2 + 0x584)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x584)" ( (binary_expression "iVar2 + 0x584" identifier + number_literal) )))) ))) ;) (goto_statement "goto LAB_0001d1c8;" goto statement_identifier ;) })) (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" identifier = number_literal) ;) (expression_statement "FUN_0004a0b0();" (call_expression "FUN_0004a0b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_d8 = (**(code **)(iVar2 + 0x5f4))\n                         (*(undefined4 *)(iVar2 + 0x62c),(double)*(longlong *)(iVar2 + 0xb44),\n                          (double)*(longlong *)(iVar2 + 0xb54),(double)*(longlong *)(iVar2 + 0xb4c),\n                          (double)*(longlong *)(iVar2 + 0xb5c),uVar8);" (assignment_expression "local_d8 = (**(code **)(iVar2 + 0x5f4))\n                         (*(undefined4 *)(iVar2 + 0x62c),(double)*(longlong *)(iVar2 + 0xb44),\n                          (double)*(longlong *)(iVar2 + 0xb54),(double)*(longlong *)(iVar2 + 0xb4c),\n                          (double)*(longlong *)(iVar2 + 0xb5c),uVar8)" identifier = (call_expression "(**(code **)(iVar2 + 0x5f4))\n                         (*(undefined4 *)(iVar2 + 0x62c),(double)*(longlong *)(iVar2 + 0xb44),\n                          (double)*(longlong *)(iVar2 + 0xb54),(double)*(longlong *)(iVar2 + 0xb4c),\n                          (double)*(longlong *)(iVar2 + 0xb5c),uVar8)" (parenthesized_expression "(**(code **)(iVar2 + 0x5f4))" ( (pointer_expression "**(code **)(iVar2 + 0x5f4)" * (pointer_expression "*(code **)(iVar2 + 0x5f4)" * (cast_expression "(code **)(iVar2 + 0x5f4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x5f4)" ( (binary_expression "iVar2 + 0x5f4" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar2 + 0x62c),(double)*(longlong *)(iVar2 + 0xb44),\n                          (double)*(longlong *)(iVar2 + 0xb54),(double)*(longlong *)(iVar2 + 0xb4c),\n                          (double)*(longlong *)(iVar2 + 0xb5c),uVar8)" ( (pointer_expression "*(undefined4 *)(iVar2 + 0x62c)" * (cast_expression "(undefined4 *)(iVar2 + 0x62c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x62c)" ( (binary_expression "iVar2 + 0x62c" identifier + number_literal) )))) , (cast_expression "(double)*(longlong *)(iVar2 + 0xb44)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(longlong *)(iVar2 + 0xb44)" * (cast_expression "(longlong *)(iVar2 + 0xb44)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb44)" ( (binary_expression "iVar2 + 0xb44" identifier + number_literal) ))))) , (cast_expression "(double)*(longlong *)(iVar2 + 0xb54)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(longlong *)(iVar2 + 0xb54)" * (cast_expression "(longlong *)(iVar2 + 0xb54)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb54)" ( (binary_expression "iVar2 + 0xb54" identifier + number_literal) ))))) , (cast_expression "(double)*(longlong *)(iVar2 + 0xb4c)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(longlong *)(iVar2 + 0xb4c)" * (cast_expression "(longlong *)(iVar2 + 0xb4c)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb4c)" ( (binary_expression "iVar2 + 0xb4c" identifier + number_literal) ))))) , (cast_expression "(double)*(longlong *)(iVar2 + 0xb5c)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(longlong *)(iVar2 + 0xb5c)" * (cast_expression "(longlong *)(iVar2 + 0xb5c)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb5c)" ( (binary_expression "iVar2 + 0xb5c" identifier + number_literal) ))))) , identifier )))) ;) }) (else_clause "else {\n    uVar8 = 1;\n    FUN_0004a0b0();\n    local_d8 = (**(code **)(iVar2 + 0x5f8))\n                         (*(undefined4 *)(iVar2 + 0x62c),*(undefined4 *)(iVar2 + 0xb44),\n                          *(undefined4 *)(iVar2 + 0xb48),*(undefined4 *)(iVar2 + 0xb54),\n                          *(undefined4 *)(iVar2 + 0xb58),*(undefined4 *)(iVar2 + 0xb4c),\n                          *(undefined4 *)(iVar2 + 0xb50),*(undefined4 *)(iVar2 + 0xb5c),\n                          *(undefined4 *)(iVar2 + 0xb60),uVar8,iVar6,iVar14);\n  }" else (compound_statement "{\n    uVar8 = 1;\n    FUN_0004a0b0();\n    local_d8 = (**(code **)(iVar2 + 0x5f8))\n                         (*(undefined4 *)(iVar2 + 0x62c),*(undefined4 *)(iVar2 + 0xb44),\n                          *(undefined4 *)(iVar2 + 0xb48),*(undefined4 *)(iVar2 + 0xb54),\n                          *(undefined4 *)(iVar2 + 0xb58),*(undefined4 *)(iVar2 + 0xb4c),\n                          *(undefined4 *)(iVar2 + 0xb50),*(undefined4 *)(iVar2 + 0xb5c),\n                          *(undefined4 *)(iVar2 + 0xb60),uVar8,iVar6,iVar14);\n  }" { (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" identifier = number_literal) ;) (expression_statement "FUN_0004a0b0();" (call_expression "FUN_0004a0b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_d8 = (**(code **)(iVar2 + 0x5f8))\n                         (*(undefined4 *)(iVar2 + 0x62c),*(undefined4 *)(iVar2 + 0xb44),\n                          *(undefined4 *)(iVar2 + 0xb48),*(undefined4 *)(iVar2 + 0xb54),\n                          *(undefined4 *)(iVar2 + 0xb58),*(undefined4 *)(iVar2 + 0xb4c),\n                          *(undefined4 *)(iVar2 + 0xb50),*(undefined4 *)(iVar2 + 0xb5c),\n                          *(undefined4 *)(iVar2 + 0xb60),uVar8,iVar6,iVar14);" (assignment_expression "local_d8 = (**(code **)(iVar2 + 0x5f8))\n                         (*(undefined4 *)(iVar2 + 0x62c),*(undefined4 *)(iVar2 + 0xb44),\n                          *(undefined4 *)(iVar2 + 0xb48),*(undefined4 *)(iVar2 + 0xb54),\n                          *(undefined4 *)(iVar2 + 0xb58),*(undefined4 *)(iVar2 + 0xb4c),\n                          *(undefined4 *)(iVar2 + 0xb50),*(undefined4 *)(iVar2 + 0xb5c),\n                          *(undefined4 *)(iVar2 + 0xb60),uVar8,iVar6,iVar14)" identifier = (call_expression "(**(code **)(iVar2 + 0x5f8))\n                         (*(undefined4 *)(iVar2 + 0x62c),*(undefined4 *)(iVar2 + 0xb44),\n                          *(undefined4 *)(iVar2 + 0xb48),*(undefined4 *)(iVar2 + 0xb54),\n                          *(undefined4 *)(iVar2 + 0xb58),*(undefined4 *)(iVar2 + 0xb4c),\n                          *(undefined4 *)(iVar2 + 0xb50),*(undefined4 *)(iVar2 + 0xb5c),\n                          *(undefined4 *)(iVar2 + 0xb60),uVar8,iVar6,iVar14)" (parenthesized_expression "(**(code **)(iVar2 + 0x5f8))" ( (pointer_expression "**(code **)(iVar2 + 0x5f8)" * (pointer_expression "*(code **)(iVar2 + 0x5f8)" * (cast_expression "(code **)(iVar2 + 0x5f8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x5f8)" ( (binary_expression "iVar2 + 0x5f8" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar2 + 0x62c),*(undefined4 *)(iVar2 + 0xb44),\n                          *(undefined4 *)(iVar2 + 0xb48),*(undefined4 *)(iVar2 + 0xb54),\n                          *(undefined4 *)(iVar2 + 0xb58),*(undefined4 *)(iVar2 + 0xb4c),\n                          *(undefined4 *)(iVar2 + 0xb50),*(undefined4 *)(iVar2 + 0xb5c),\n                          *(undefined4 *)(iVar2 + 0xb60),uVar8,iVar6,iVar14)" ( (pointer_expression "*(undefined4 *)(iVar2 + 0x62c)" * (cast_expression "(undefined4 *)(iVar2 + 0x62c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x62c)" ( (binary_expression "iVar2 + 0x62c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar2 + 0xb44)" * (cast_expression "(undefined4 *)(iVar2 + 0xb44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb44)" ( (binary_expression "iVar2 + 0xb44" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar2 + 0xb48)" * (cast_expression "(undefined4 *)(iVar2 + 0xb48)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb48)" ( (binary_expression "iVar2 + 0xb48" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar2 + 0xb54)" * (cast_expression "(undefined4 *)(iVar2 + 0xb54)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb54)" ( (binary_expression "iVar2 + 0xb54" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar2 + 0xb58)" * (cast_expression "(undefined4 *)(iVar2 + 0xb58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb58)" ( (binary_expression "iVar2 + 0xb58" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar2 + 0xb4c)" * (cast_expression "(undefined4 *)(iVar2 + 0xb4c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb4c)" ( (binary_expression "iVar2 + 0xb4c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar2 + 0xb50)" * (cast_expression "(undefined4 *)(iVar2 + 0xb50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb50)" ( (binary_expression "iVar2 + 0xb50" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar2 + 0xb5c)" * (cast_expression "(undefined4 *)(iVar2 + 0xb5c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb5c)" ( (binary_expression "iVar2 + 0xb5c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar2 + 0xb60)" * (cast_expression "(undefined4 *)(iVar2 + 0xb60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xb60)" ( (binary_expression "iVar2 + 0xb60" identifier + number_literal) )))) , identifier , identifier , identifier )))) ;) }))) (expression_statement "FUN_0004a0b0();" (call_expression "FUN_0004a0b0()" identifier (argument_list "()" ( ))) ;) (if_statement "if (local_d8 != 0) {\n    FUN_00027d40();\n  }" if (parenthesized_expression "(local_d8 != 0)" ( (binary_expression "local_d8 != 0" identifier != number_literal) )) (compound_statement "{\n    FUN_00027d40();\n  }" { (expression_statement "FUN_00027d40();" (call_expression "FUN_00027d40()" identifier (argument_list "()" ( ))) ;) })) (labeled_statement "LAB_0001d1c8:\n  if (local_24 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_d8;\n  }" statement_identifier : (if_statement "if (local_24 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_d8;\n  }" if (parenthesized_expression "(local_24 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_24 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return local_d8;\n  }" { (return_statement "return local_d8;" return identifier ;) }))) (expression_statement "FUN_00082f60();" (call_expression "FUN_00082f60()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (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 ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT / LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT / LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression LIT - IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (call_expression IDENT (argument_list ( LIT , IDENT ))) != (call_expression IDENT (argument_list ( IDENT , IDENT )))) )) == (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - IDENT) ))) < LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) )))) <= (unary_expression - IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) )))) <= (unary_expression - IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) }))) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT % LIT) )) * LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (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 (binary_expression IDENT + LIT) + (binary_expression IDENT * 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 = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression IDENT * LIT)) ))))) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < (pointer_expression * IDENT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (unary_expression - IDENT) < (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < IDENT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT )))) / (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) / (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }))) }))) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) || (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )))) <= (unary_expression - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression (unary_expression - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) < (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) ))))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (unary_expression - IDENT) < (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < IDENT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (unary_expression - IDENT) < (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )))) <= (unary_expression - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (unary_expression - IDENT) < (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < IDENT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (unary_expression - IDENT) < (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) })) }))) }))) }))) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (unary_expression - IDENT) < (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < (binary_expression IDENT + IDENT)) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (unary_expression - IDENT) < (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT + IDENT) != LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) })) }))) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression IDENT + LIT) , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , IDENT , IDENT )))) ;) }))) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))
(function_definition "int FUN_0001cce0(int *param_1)\n\n{\n  uint *puVar1;\n  int iVar2;\n  bool bVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  uint uVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  undefined4 uVar12;\n  uint uVar13;\n  int iVar14;\n  int iVar15;\n  int iVar16;\n  int iVar17;\n  int in_GS_OFFSET;\n  longlong lVar18;\n  longlong lVar19;\n  undefined8 uVar20;\n  undefined8 uVar21;\n  undefined8 uVar22;\n  int local_dc;\n  int local_d8;\n  int local_c0;\n  int local_88;\n  undefined4 local_84 [16];\n  undefined1 local_42 [10];\n  undefined1 local_38 [10];\n  undefined1 local_2e [10];\n  int local_24;\n  undefined4 local_20;\n  \n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  iVar2 = *param_1;\n  uVar7 = *(uint *)(iVar2 + 0xb54);\n  iVar17 = *(int *)(iVar2 + 0xb58);\n  iVar15 = *(int *)(iVar2 + 0xb5c);\n  FUN_0001ab90(local_84);\n  iVar4 = FUN_0001ac80();\n  *(int *)(iVar2 + 0xb78) = iVar4;\n  iVar6 = iVar4 / 1000000;\n  iVar14 = iVar6 >> 0x1f;\n  iVar4 = iVar4 / 1000;\n  iVar5 = iVar4 >> 0x1f;\n  uVar7 = (uint)(0xa5e353f6 < uVar7);\n  iVar16 = 0x20c49b - iVar17;\n  if ((SBORROW4(0x20c49b,iVar17) != SBORROW4(iVar16,uVar7)) == (int)(iVar16 - uVar7) < 0) {\n    lVar18 = FUN_00082b40();\n  }\n  else {\n    lVar18 = FUN_00082b40();\n  }\n  *(longlong *)(iVar2 + 0xb7c) = lVar18;\n  if (iVar15 < 0x20c49c) {\n    if ((int)(uint)(iVar4 != 0) <= -iVar5) {\n      iVar4 = 1;\n      iVar5 = 0;\n    }\n    lVar19 = FUN_00082b40();\n    iVar6 = iVar4;\n    iVar14 = iVar5;\n  }\n  else {\n    if ((int)(uint)(iVar6 != 0) <= -iVar14) {\n      iVar6 = 1;\n      iVar14 = 0;\n    }\n    lVar19 = FUN_00082b40();\n  }\n  bVar3 = false;\n  *(longlong *)(iVar2 + 0xb84) = lVar19;\n  if (*(int *)(iVar2 + 0xb40) != local_88) {\n    *(int *)(iVar2 + 0xb40) = local_88;\n    uVar7 = *(uint *)(iVar2 + 0xb5c);\n    uVar13 = *(uint *)(iVar2 + 0xb54);\n    iVar15 = iVar2 + (local_c0 % 6) * 8;\n    *(uint *)(iVar15 + 0xbec) =\n         *(int *)(iVar2 + 0xb60) + *(int *)(iVar2 + 0xb58) +\n         (uint)CARRY4(uVar7,*(uint *)(iVar2 + 0xb54));\n    *(uint *)(iVar15 + 0xbe8) = uVar7 + uVar13;\n    *(undefined4 *)(iVar15 + 0xc1c) = local_84[0];\n    *(int *)(iVar15 + 0xc18) = local_88;\n    iVar17 = *(int *)(iVar2 + 0xc48) + 1;\n    *(int *)(iVar2 + 0xc48) = iVar17;\n    if (iVar17 == 1) {\n      bVar3 = true;\n      *(longlong *)(iVar2 + 0xb64) = lVar18 + lVar19;\n    }\n    else {\n      iVar16 = 0;\n      if (5 < iVar17) {\n        iVar16 = iVar17 % 6;\n      }\n      iVar14 = *(int *)(iVar2 + 0xc1c + iVar16 * 8);\n      iVar17 = *(int *)(iVar2 + 0xc18 + iVar16 * 8);\n      iVar6 = FUN_0001ac30();\n      if (iVar6 == 0) {\n        iVar6 = 1;\n      }\n      puVar1 = (uint *)(iVar2 + 0xbe8 + iVar16 * 8);\n      uVar7 = *(uint *)(iVar15 + 0xbe8) - *puVar1;\n      iVar15 = (*(int *)(iVar15 + 0xbec) - *(int *)(iVar2 + 0xbec + iVar16 * 8)) -\n               (uint)(*(uint *)(iVar15 + 0xbe8) < *puVar1);\n      if (-iVar15 < (int)(uint)(0x418937 < uVar7)) {\n        bVar3 = true;\n        *(longlong *)(iVar2 + 0xb64) =\n             (longlong)\n             ROUND((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))\n        ;\n        iVar6 = iVar17;\n      }\n      else {\n        iVar14 = iVar6 >> 0x1f;\n        uVar20 = FUN_00082b40();\n        bVar3 = true;\n        *(undefined8 *)(iVar2 + 0xb64) = uVar20;\n      }\n    }\n  }\n  uVar7 = *(uint *)(iVar2 + 0xb74);\n  if ((uVar7 & 0x10) != 0) {\n    local_d8 = 0;\n    goto LAB_0001d1c8;\n  }\n  if (*(int *)(iVar2 + 0x5f8) == 0) {\n    if (*(int *)(iVar2 + 0x5f4) == 0) {\n      local_d8 = 0;\n      if (!bVar3) goto LAB_0001d1c8;\n      if ((uVar7 & 0x80) == 0) {\n        if (*(int *)(iVar2 + 0xebc) != 0 || *(int *)(iVar2 + 0xeb8) != 0) {\n          curl_mfprintf();\n        }\n        curl_mfprintf();\n        uVar7 = *(uint *)(iVar2 + 0xb74) | 0x80;\n        *(uint *)(iVar2 + 0xb74) = uVar7;\n      }\n      if (((uVar7 & 0x20) == 0) ||\n         ((int)(uint)(*(int *)(iVar2 + 0xb84) != 0) <= -*(int *)(iVar2 + 0xb88))) {\n        if (((uVar7 & 0x40) != 0) &&\n           (-*(int *)(iVar2 + 0xb80) < (int)(uint)(*(int *)(iVar2 + 0xb7c) != 0))) {\n          uVar20 = 0;\n          goto LAB_0001d331;\n        }\n        uVar20 = 0;\n        uVar21 = 0;\n      }\n      else {\n        uVar13 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n        FUN_00082b40();\n        if (-iVar17 < (int)(uint)(10000 < uVar13)) {\n          FUN_00082b40();\n          uVar20 = FUN_00082b40();\n        }\n        else {\n          uVar20 = 0;\n          if (-iVar17 < (int)(uint)(uVar13 != 0)) {\n            uVar20 = FUN_00082b40();\n          }\n        }\n        if (((uVar7 & 0x40) == 0) ||\n           ((int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80))) {\n          uVar21 = 0;\n        }\n        else {\nLAB_0001d331:\n          uVar7 = *(uint *)(iVar2 + 0xb44);\n          iVar17 = *(int *)(iVar2 + 0xb48);\n          FUN_00082b40();\n          if (-iVar17 < (int)(uint)(10000 < uVar7)) {\n            FUN_00082b40();\n            uVar21 = FUN_00082b40();\n          }\n          else {\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }\n        }\n      }\n      FUN_0001c490();\n      FUN_0001c490();\n      FUN_0001c490();\n      if ((*(uint *)(iVar2 + 0xb74) & 0x20) == 0) {\n        uVar7 = *(uint *)(iVar2 + 0xb5c);\n        iVar17 = *(int *)(iVar2 + 0xb60);\n      }\n      else {\n        uVar7 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n      }\n      uVar13 = *(uint *)(iVar2 + 0xb54);\n      iVar15 = *(int *)(iVar2 + 0xb58);\n      if ((*(uint *)(iVar2 + 0xb74) & 0x40) != 0) {\n        uVar13 = *(uint *)(iVar2 + 0xb44);\n        iVar15 = *(int *)(iVar2 + 0xb48);\n      }\n      iVar17 = iVar17 + iVar15 + (uint)CARRY4(uVar7,uVar13);\n      if (-iVar17 < (int)(uint)(10000 < uVar7 + uVar13)) {\n        FUN_00082b40();\n        uVar22 = FUN_00082b40();\n      }\n      else {\n        uVar22 = 0;\n        if (-iVar17 < (int)(uint)(uVar7 + uVar13 != 0)) {\n          uVar22 = FUN_00082b40();\n        }\n      }\n      FUN_0001c620();\n      uVar8 = FUN_0001c620();\n      uVar9 = FUN_0001c620();\n      uVar10 = FUN_0001c620();\n      uVar11 = FUN_0001c620();\n      uVar12 = FUN_0001c620();\n      curl_mfprintf(*(undefined4 *)(iVar2 + 0x584),local_dc + -0x3333c,uVar22,uVar12,uVar21,uVar11,\n                    uVar20,uVar10,uVar9,uVar8,local_38,local_2e,local_42);\n      fflush(*(FILE **)(iVar2 + 0x584));\n      goto LAB_0001d1c8;\n    }\n    uVar8 = 1;\n    FUN_0004a0b0();\n    local_d8 = (**(code **)(iVar2 + 0x5f4))\n                         (*(undefined4 *)(iVar2 + 0x62c),(double)*(longlong *)(iVar2 + 0xb44),\n                          (double)*(longlong *)(iVar2 + 0xb54),(double)*(longlong *)(iVar2 + 0xb4c),\n                          (double)*(longlong *)(iVar2 + 0xb5c),uVar8);\n  }\n  else {\n    uVar8 = 1;\n    FUN_0004a0b0();\n    local_d8 = (**(code **)(iVar2 + 0x5f8))\n                         (*(undefined4 *)(iVar2 + 0x62c),*(undefined4 *)(iVar2 + 0xb44),\n                          *(undefined4 *)(iVar2 + 0xb48),*(undefined4 *)(iVar2 + 0xb54),\n                          *(undefined4 *)(iVar2 + 0xb58),*(undefined4 *)(iVar2 + 0xb4c),\n                          *(undefined4 *)(iVar2 + 0xb50),*(undefined4 *)(iVar2 + 0xb5c),\n                          *(undefined4 *)(iVar2 + 0xb60),uVar8,iVar6,iVar14);\n  }\n  FUN_0004a0b0();\n  if (local_d8 != 0) {\n    FUN_00027d40();\n  }\nLAB_0001d1c8:\n  if (local_24 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_d8;\n  }\n                    \n  FUN_00082f60();\n}" (primitive_type "int") (function_declarator "FUN_0001cce0(int *param_1)" (identifier "FUN_0001cce0") (parameter_list "(int *param_1)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")"))) (compound_statement "{\n  uint *puVar1;\n  int iVar2;\n  bool bVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  uint uVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  undefined4 uVar12;\n  uint uVar13;\n  int iVar14;\n  int iVar15;\n  int iVar16;\n  int iVar17;\n  int in_GS_OFFSET;\n  longlong lVar18;\n  longlong lVar19;\n  undefined8 uVar20;\n  undefined8 uVar21;\n  undefined8 uVar22;\n  int local_dc;\n  int local_d8;\n  int local_c0;\n  int local_88;\n  undefined4 local_84 [16];\n  undefined1 local_42 [10];\n  undefined1 local_38 [10];\n  undefined1 local_2e [10];\n  int local_24;\n  undefined4 local_20;\n  \n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  iVar2 = *param_1;\n  uVar7 = *(uint *)(iVar2 + 0xb54);\n  iVar17 = *(int *)(iVar2 + 0xb58);\n  iVar15 = *(int *)(iVar2 + 0xb5c);\n  FUN_0001ab90(local_84);\n  iVar4 = FUN_0001ac80();\n  *(int *)(iVar2 + 0xb78) = iVar4;\n  iVar6 = iVar4 / 1000000;\n  iVar14 = iVar6 >> 0x1f;\n  iVar4 = iVar4 / 1000;\n  iVar5 = iVar4 >> 0x1f;\n  uVar7 = (uint)(0xa5e353f6 < uVar7);\n  iVar16 = 0x20c49b - iVar17;\n  if ((SBORROW4(0x20c49b,iVar17) != SBORROW4(iVar16,uVar7)) == (int)(iVar16 - uVar7) < 0) {\n    lVar18 = FUN_00082b40();\n  }\n  else {\n    lVar18 = FUN_00082b40();\n  }\n  *(longlong *)(iVar2 + 0xb7c) = lVar18;\n  if (iVar15 < 0x20c49c) {\n    if ((int)(uint)(iVar4 != 0) <= -iVar5) {\n      iVar4 = 1;\n      iVar5 = 0;\n    }\n    lVar19 = FUN_00082b40();\n    iVar6 = iVar4;\n    iVar14 = iVar5;\n  }\n  else {\n    if ((int)(uint)(iVar6 != 0) <= -iVar14) {\n      iVar6 = 1;\n      iVar14 = 0;\n    }\n    lVar19 = FUN_00082b40();\n  }\n  bVar3 = false;\n  *(longlong *)(iVar2 + 0xb84) = lVar19;\n  if (*(int *)(iVar2 + 0xb40) != local_88) {\n    *(int *)(iVar2 + 0xb40) = local_88;\n    uVar7 = *(uint *)(iVar2 + 0xb5c);\n    uVar13 = *(uint *)(iVar2 + 0xb54);\n    iVar15 = iVar2 + (local_c0 % 6) * 8;\n    *(uint *)(iVar15 + 0xbec) =\n         *(int *)(iVar2 + 0xb60) + *(int *)(iVar2 + 0xb58) +\n         (uint)CARRY4(uVar7,*(uint *)(iVar2 + 0xb54));\n    *(uint *)(iVar15 + 0xbe8) = uVar7 + uVar13;\n    *(undefined4 *)(iVar15 + 0xc1c) = local_84[0];\n    *(int *)(iVar15 + 0xc18) = local_88;\n    iVar17 = *(int *)(iVar2 + 0xc48) + 1;\n    *(int *)(iVar2 + 0xc48) = iVar17;\n    if (iVar17 == 1) {\n      bVar3 = true;\n      *(longlong *)(iVar2 + 0xb64) = lVar18 + lVar19;\n    }\n    else {\n      iVar16 = 0;\n      if (5 < iVar17) {\n        iVar16 = iVar17 % 6;\n      }\n      iVar14 = *(int *)(iVar2 + 0xc1c + iVar16 * 8);\n      iVar17 = *(int *)(iVar2 + 0xc18 + iVar16 * 8);\n      iVar6 = FUN_0001ac30();\n      if (iVar6 == 0) {\n        iVar6 = 1;\n      }\n      puVar1 = (uint *)(iVar2 + 0xbe8 + iVar16 * 8);\n      uVar7 = *(uint *)(iVar15 + 0xbe8) - *puVar1;\n      iVar15 = (*(int *)(iVar15 + 0xbec) - *(int *)(iVar2 + 0xbec + iVar16 * 8)) -\n               (uint)(*(uint *)(iVar15 + 0xbe8) < *puVar1);\n      if (-iVar15 < (int)(uint)(0x418937 < uVar7)) {\n        bVar3 = true;\n        *(longlong *)(iVar2 + 0xb64) =\n             (longlong)\n             ROUND((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))\n        ;\n        iVar6 = iVar17;\n      }\n      else {\n        iVar14 = iVar6 >> 0x1f;\n        uVar20 = FUN_00082b40();\n        bVar3 = true;\n        *(undefined8 *)(iVar2 + 0xb64) = uVar20;\n      }\n    }\n  }\n  uVar7 = *(uint *)(iVar2 + 0xb74);\n  if ((uVar7 & 0x10) != 0) {\n    local_d8 = 0;\n    goto LAB_0001d1c8;\n  }\n  if (*(int *)(iVar2 + 0x5f8) == 0) {\n    if (*(int *)(iVar2 + 0x5f4) == 0) {\n      local_d8 = 0;\n      if (!bVar3) goto LAB_0001d1c8;\n      if ((uVar7 & 0x80) == 0) {\n        if (*(int *)(iVar2 + 0xebc) != 0 || *(int *)(iVar2 + 0xeb8) != 0) {\n          curl_mfprintf();\n        }\n        curl_mfprintf();\n        uVar7 = *(uint *)(iVar2 + 0xb74) | 0x80;\n        *(uint *)(iVar2 + 0xb74) = uVar7;\n      }\n      if (((uVar7 & 0x20) == 0) ||\n         ((int)(uint)(*(int *)(iVar2 + 0xb84) != 0) <= -*(int *)(iVar2 + 0xb88))) {\n        if (((uVar7 & 0x40) != 0) &&\n           (-*(int *)(iVar2 + 0xb80) < (int)(uint)(*(int *)(iVar2 + 0xb7c) != 0))) {\n          uVar20 = 0;\n          goto LAB_0001d331;\n        }\n        uVar20 = 0;\n        uVar21 = 0;\n      }\n      else {\n        uVar13 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n        FUN_00082b40();\n        if (-iVar17 < (int)(uint)(10000 < uVar13)) {\n          FUN_00082b40();\n          uVar20 = FUN_00082b40();\n        }\n        else {\n          uVar20 = 0;\n          if (-iVar17 < (int)(uint)(uVar13 != 0)) {\n            uVar20 = FUN_00082b40();\n          }\n        }\n        if (((uVar7 & 0x40) == 0) ||\n           ((int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80))) {\n          uVar21 = 0;\n        }\n        else {\nLAB_0001d331:\n          uVar7 = *(uint *)(iVar2 + 0xb44);\n          iVar17 = *(int *)(iVar2 + 0xb48);\n          FUN_00082b40();\n          if (-iVar17 < (int)(uint)(10000 < uVar7)) {\n            FUN_00082b40();\n            uVar21 = FUN_00082b40();\n          }\n          else {\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }\n        }\n      }\n      FUN_0001c490();\n      FUN_0001c490();\n      FUN_0001c490();\n      if ((*(uint *)(iVar2 + 0xb74) & 0x20) == 0) {\n        uVar7 = *(uint *)(iVar2 + 0xb5c);\n        iVar17 = *(int *)(iVar2 + 0xb60);\n      }\n      else {\n        uVar7 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n      }\n      uVar13 = *(uint *)(iVar2 + 0xb54);\n      iVar15 = *(int *)(iVar2 + 0xb58);\n      if ((*(uint *)(iVar2 + 0xb74) & 0x40) != 0) {\n        uVar13 = *(uint *)(iVar2 + 0xb44);\n        iVar15 = *(int *)(iVar2 + 0xb48);\n      }\n      iVar17 = iVar17 + iVar15 + (uint)CARRY4(uVar7,uVar13);\n      if (-iVar17 < (int)(uint)(10000 < uVar7 + uVar13)) {\n        FUN_00082b40();\n        uVar22 = FUN_00082b40();\n      }\n      else {\n        uVar22 = 0;\n        if (-iVar17 < (int)(uint)(uVar7 + uVar13 != 0)) {\n          uVar22 = FUN_00082b40();\n        }\n      }\n      FUN_0001c620();\n      uVar8 = FUN_0001c620();\n      uVar9 = FUN_0001c620();\n      uVar10 = FUN_0001c620();\n      uVar11 = FUN_0001c620();\n      uVar12 = FUN_0001c620();\n      curl_mfprintf(*(undefined4 *)(iVar2 + 0x584),local_dc + -0x3333c,uVar22,uVar12,uVar21,uVar11,\n                    uVar20,uVar10,uVar9,uVar8,local_38,local_2e,local_42);\n      fflush(*(FILE **)(iVar2 + 0x584));\n      goto LAB_0001d1c8;\n    }\n    uVar8 = 1;\n    FUN_0004a0b0();\n    local_d8 = (**(code **)(iVar2 + 0x5f4))\n                         (*(undefined4 *)(iVar2 + 0x62c),(double)*(longlong *)(iVar2 + 0xb44),\n                          (double)*(longlong *)(iVar2 + 0xb54),(double)*(longlong *)(iVar2 + 0xb4c),\n                          (double)*(longlong *)(iVar2 + 0xb5c),uVar8);\n  }\n  else {\n    uVar8 = 1;\n    FUN_0004a0b0();\n    local_d8 = (**(code **)(iVar2 + 0x5f8))\n                         (*(undefined4 *)(iVar2 + 0x62c),*(undefined4 *)(iVar2 + 0xb44),\n                          *(undefined4 *)(iVar2 + 0xb48),*(undefined4 *)(iVar2 + 0xb54),\n                          *(undefined4 *)(iVar2 + 0xb58),*(undefined4 *)(iVar2 + 0xb4c),\n                          *(undefined4 *)(iVar2 + 0xb50),*(undefined4 *)(iVar2 + 0xb5c),\n                          *(undefined4 *)(iVar2 + 0xb60),uVar8,iVar6,iVar14);\n  }\n  FUN_0004a0b0();\n  if (local_d8 != 0) {\n    FUN_00027d40();\n  }\nLAB_0001d1c8:\n  if (local_24 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_d8;\n  }\n                    \n  FUN_00082f60();\n}" ({ "{") (declaration "uint *puVar1;" (type_identifier "uint") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "bool bVar3;" (primitive_type "bool") (identifier "bVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "undefined4 uVar8;" (type_identifier "undefined4") (identifier "uVar8") (; ";")) (declaration "undefined4 uVar9;" (type_identifier "undefined4") (identifier "uVar9") (; ";")) (declaration "undefined4 uVar10;" (type_identifier "undefined4") (identifier "uVar10") (; ";")) (declaration "undefined4 uVar11;" (type_identifier "undefined4") (identifier "uVar11") (; ";")) (declaration "undefined4 uVar12;" (type_identifier "undefined4") (identifier "uVar12") (; ";")) (declaration "uint uVar13;" (type_identifier "uint") (identifier "uVar13") (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "int iVar15;" (primitive_type "int") (identifier "iVar15") (; ";")) (declaration "int iVar16;" (primitive_type "int") (identifier "iVar16") (; ";")) (declaration "int iVar17;" (primitive_type "int") (identifier "iVar17") (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "longlong lVar18;" (type_identifier "longlong") (identifier "lVar18") (; ";")) (declaration "longlong lVar19;" (type_identifier "longlong") (identifier "lVar19") (; ";")) (declaration "undefined8 uVar20;" (type_identifier "undefined8") (identifier "uVar20") (; ";")) (declaration "undefined8 uVar21;" (type_identifier "undefined8") (identifier "uVar21") (; ";")) (declaration "undefined8 uVar22;" (type_identifier "undefined8") (identifier "uVar22") (; ";")) (declaration "int local_dc;" (primitive_type "int") (identifier "local_dc") (; ";")) (declaration "int local_d8;" (primitive_type "int") (identifier "local_d8") (; ";")) (declaration "int local_c0;" (primitive_type "int") (identifier "local_c0") (; ";")) (declaration "int local_88;" (primitive_type "int") (identifier "local_88") (; ";")) (declaration "undefined4 local_84 [16];" (type_identifier "undefined4") (array_declarator "local_84 [16]" (identifier "local_84") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 local_42 [10];" (type_identifier "undefined1") (array_declarator "local_42 [10]" (identifier "local_42") ([ "[") (number_literal "10") (] "]")) (; ";")) (declaration "undefined1 local_38 [10];" (type_identifier "undefined1") (array_declarator "local_38 [10]" (identifier "local_38") ([ "[") (number_literal "10") (] "]")) (; ";")) (declaration "undefined1 local_2e [10];" (type_identifier "undefined1") (array_declarator "local_2e [10]" (identifier "local_2e") ([ "[") (number_literal "10") (] "]")) (; ";")) (declaration "int local_24;" (primitive_type "int") (identifier "local_24") (; ";")) (declaration "undefined4 local_20;" (type_identifier "undefined4") (identifier "local_20") (; ";")) (expression_statement "local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (= "=") (pointer_expression "*(undefined4 *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(undefined4 *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "iVar2 = *param_1;" (assignment_expression "iVar2 = *param_1" (identifier "iVar2") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "uVar7 = *(uint *)(iVar2 + 0xb54);" (assignment_expression "uVar7 = *(uint *)(iVar2 + 0xb54)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)(iVar2 + 0xb54)" (* "*") (cast_expression "(uint *)(iVar2 + 0xb54)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb54)" (( "(") (binary_expression "iVar2 + 0xb54" (identifier "iVar2") (+ "+") (number_literal "0xb54")) () ")"))))) (; ";")) (expression_statement "iVar17 = *(int *)(iVar2 + 0xb58);" (assignment_expression "iVar17 = *(int *)(iVar2 + 0xb58)" (identifier "iVar17") (= "=") (pointer_expression "*(int *)(iVar2 + 0xb58)" (* "*") (cast_expression "(int *)(iVar2 + 0xb58)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb58)" (( "(") (binary_expression "iVar2 + 0xb58" (identifier "iVar2") (+ "+") (number_literal "0xb58")) () ")"))))) (; ";")) (expression_statement "iVar15 = *(int *)(iVar2 + 0xb5c);" (assignment_expression "iVar15 = *(int *)(iVar2 + 0xb5c)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(iVar2 + 0xb5c)" (* "*") (cast_expression "(int *)(iVar2 + 0xb5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb5c)" (( "(") (binary_expression "iVar2 + 0xb5c" (identifier "iVar2") (+ "+") (number_literal "0xb5c")) () ")"))))) (; ";")) (expression_statement "FUN_0001ab90(local_84);" (call_expression "FUN_0001ab90(local_84)" (identifier "FUN_0001ab90") (argument_list "(local_84)" (( "(") (identifier "local_84") () ")"))) (; ";")) (expression_statement "iVar4 = FUN_0001ac80();" (assignment_expression "iVar4 = FUN_0001ac80()" (identifier "iVar4") (= "=") (call_expression "FUN_0001ac80()" (identifier "FUN_0001ac80") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(int *)(iVar2 + 0xb78) = iVar4;" (assignment_expression "*(int *)(iVar2 + 0xb78) = iVar4" (pointer_expression "*(int *)(iVar2 + 0xb78)" (* "*") (cast_expression "(int *)(iVar2 + 0xb78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb78)" (( "(") (binary_expression "iVar2 + 0xb78" (identifier "iVar2") (+ "+") (number_literal "0xb78")) () ")")))) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "iVar6 = iVar4 / 1000000;" (assignment_expression "iVar6 = iVar4 / 1000000" (identifier "iVar6") (= "=") (binary_expression "iVar4 / 1000000" (identifier "iVar4") (/ "/") (number_literal "1000000"))) (; ";")) (expression_statement "iVar14 = iVar6 >> 0x1f;" (assignment_expression "iVar14 = iVar6 >> 0x1f" (identifier "iVar14") (= "=") (binary_expression "iVar6 >> 0x1f" (identifier "iVar6") (>> ">>") (number_literal "0x1f"))) (; ";")) (expression_statement "iVar4 = iVar4 / 1000;" (assignment_expression "iVar4 = iVar4 / 1000" (identifier "iVar4") (= "=") (binary_expression "iVar4 / 1000" (identifier "iVar4") (/ "/") (number_literal "1000"))) (; ";")) (expression_statement "iVar5 = iVar4 >> 0x1f;" (assignment_expression "iVar5 = iVar4 >> 0x1f" (identifier "iVar5") (= "=") (binary_expression "iVar4 >> 0x1f" (identifier "iVar4") (>> ">>") (number_literal "0x1f"))) (; ";")) (expression_statement "uVar7 = (uint)(0xa5e353f6 < uVar7);" (assignment_expression "uVar7 = (uint)(0xa5e353f6 < uVar7)" (identifier "uVar7") (= "=") (call_expression "(uint)(0xa5e353f6 < uVar7)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0xa5e353f6 < uVar7)" (( "(") (binary_expression "0xa5e353f6 < uVar7" (number_literal "0xa5e353f6") (< "<") (identifier "uVar7")) () ")")))) (; ";")) (expression_statement "iVar16 = 0x20c49b - iVar17;" (assignment_expression "iVar16 = 0x20c49b - iVar17" (identifier "iVar16") (= "=") (binary_expression "0x20c49b - iVar17" (number_literal "0x20c49b") (- "-") (identifier "iVar17"))) (; ";")) (if_statement "if ((SBORROW4(0x20c49b,iVar17) != SBORROW4(iVar16,uVar7)) == (int)(iVar16 - uVar7) < 0) {\n    lVar18 = FUN_00082b40();\n  }\n  else {\n    lVar18 = FUN_00082b40();\n  }" (if "if") (parenthesized_expression "((SBORROW4(0x20c49b,iVar17) != SBORROW4(iVar16,uVar7)) == (int)(iVar16 - uVar7) < 0)" (( "(") (binary_expression "(SBORROW4(0x20c49b,iVar17) != SBORROW4(iVar16,uVar7)) == (int)(iVar16 - uVar7) < 0" (parenthesized_expression "(SBORROW4(0x20c49b,iVar17) != SBORROW4(iVar16,uVar7))" (( "(") (binary_expression "SBORROW4(0x20c49b,iVar17) != SBORROW4(iVar16,uVar7)" (call_expression "SBORROW4(0x20c49b,iVar17)" (identifier "SBORROW4") (argument_list "(0x20c49b,iVar17)" (( "(") (number_literal "0x20c49b") (, ",") (identifier "iVar17") () ")"))) (!= "!=") (call_expression "SBORROW4(iVar16,uVar7)" (identifier "SBORROW4") (argument_list "(iVar16,uVar7)" (( "(") (identifier "iVar16") (, ",") (identifier "uVar7") () ")")))) () ")")) (== "==") (binary_expression "(int)(iVar16 - uVar7) < 0" (cast_expression "(int)(iVar16 - uVar7)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(iVar16 - uVar7)" (( "(") (binary_expression "iVar16 - uVar7" (identifier "iVar16") (- "-") (identifier "uVar7")) () ")"))) (< "<") (number_literal "0"))) () ")")) (compound_statement "{\n    lVar18 = FUN_00082b40();\n  }" ({ "{") (expression_statement "lVar18 = FUN_00082b40();" (assignment_expression "lVar18 = FUN_00082b40()" (identifier "lVar18") (= "=") (call_expression "FUN_00082b40()" (identifier "FUN_00082b40") (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")) (else_clause "else {\n    lVar18 = FUN_00082b40();\n  }" (else "else") (compound_statement "{\n    lVar18 = FUN_00082b40();\n  }" ({ "{") (expression_statement "lVar18 = FUN_00082b40();" (assignment_expression "lVar18 = FUN_00082b40()" (identifier "lVar18") (= "=") (call_expression "FUN_00082b40()" (identifier "FUN_00082b40") (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")))) (expression_statement "*(longlong *)(iVar2 + 0xb7c) = lVar18;" (assignment_expression "*(longlong *)(iVar2 + 0xb7c) = lVar18" (pointer_expression "*(longlong *)(iVar2 + 0xb7c)" (* "*") (cast_expression "(longlong *)(iVar2 + 0xb7c)" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb7c)" (( "(") (binary_expression "iVar2 + 0xb7c" (identifier "iVar2") (+ "+") (number_literal "0xb7c")) () ")")))) (= "=") (identifier "lVar18")) (; ";")) (if_statement "if (iVar15 < 0x20c49c) {\n    if ((int)(uint)(iVar4 != 0) <= -iVar5) {\n      iVar4 = 1;\n      iVar5 = 0;\n    }\n    lVar19 = FUN_00082b40();\n    iVar6 = iVar4;\n    iVar14 = iVar5;\n  }\n  else {\n    if ((int)(uint)(iVar6 != 0) <= -iVar14) {\n      iVar6 = 1;\n      iVar14 = 0;\n    }\n    lVar19 = FUN_00082b40();\n  }" (if "if") (parenthesized_expression "(iVar15 < 0x20c49c)" (( "(") (binary_expression "iVar15 < 0x20c49c" (identifier "iVar15") (< "<") (number_literal "0x20c49c")) () ")")) (compound_statement "{\n    if ((int)(uint)(iVar4 != 0) <= -iVar5) {\n      iVar4 = 1;\n      iVar5 = 0;\n    }\n    lVar19 = FUN_00082b40();\n    iVar6 = iVar4;\n    iVar14 = iVar5;\n  }" ({ "{") (if_statement "if ((int)(uint)(iVar4 != 0) <= -iVar5) {\n      iVar4 = 1;\n      iVar5 = 0;\n    }" (if "if") (parenthesized_expression "((int)(uint)(iVar4 != 0) <= -iVar5)" (( "(") (binary_expression "(int)(uint)(iVar4 != 0) <= -iVar5" (cast_expression "(int)(uint)(iVar4 != 0)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "(uint)(iVar4 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")))) (<= "<=") (unary_expression "-iVar5" (- "-") (identifier "iVar5"))) () ")")) (compound_statement "{\n      iVar4 = 1;\n      iVar5 = 0;\n    }" ({ "{") (expression_statement "iVar4 = 1;" (assignment_expression "iVar4 = 1" (identifier "iVar4") (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" (identifier "iVar5") (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "lVar19 = FUN_00082b40();" (assignment_expression "lVar19 = FUN_00082b40()" (identifier "lVar19") (= "=") (call_expression "FUN_00082b40()" (identifier "FUN_00082b40") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar6 = iVar4;" (assignment_expression "iVar6 = iVar4" (identifier "iVar6") (= "=") (identifier "iVar4")) (; ";")) (expression_statement "iVar14 = iVar5;" (assignment_expression "iVar14 = iVar5" (identifier "iVar14") (= "=") (identifier "iVar5")) (; ";")) (} "}")) (else_clause "else {\n    if ((int)(uint)(iVar6 != 0) <= -iVar14) {\n      iVar6 = 1;\n      iVar14 = 0;\n    }\n    lVar19 = FUN_00082b40();\n  }" (else "else") (compound_statement "{\n    if ((int)(uint)(iVar6 != 0) <= -iVar14) {\n      iVar6 = 1;\n      iVar14 = 0;\n    }\n    lVar19 = FUN_00082b40();\n  }" ({ "{") (if_statement "if ((int)(uint)(iVar6 != 0) <= -iVar14) {\n      iVar6 = 1;\n      iVar14 = 0;\n    }" (if "if") (parenthesized_expression "((int)(uint)(iVar6 != 0) <= -iVar14)" (( "(") (binary_expression "(int)(uint)(iVar6 != 0) <= -iVar14" (cast_expression "(int)(uint)(iVar6 != 0)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "(uint)(iVar6 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")))) (<= "<=") (unary_expression "-iVar14" (- "-") (identifier "iVar14"))) () ")")) (compound_statement "{\n      iVar6 = 1;\n      iVar14 = 0;\n    }" ({ "{") (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" (identifier "iVar6") (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" (identifier "iVar14") (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "lVar19 = FUN_00082b40();" (assignment_expression "lVar19 = FUN_00082b40()" (identifier "lVar19") (= "=") (call_expression "FUN_00082b40()" (identifier "FUN_00082b40") (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")))) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" (identifier "bVar3") (= "=") (false "false")) (; ";")) (expression_statement "*(longlong *)(iVar2 + 0xb84) = lVar19;" (assignment_expression "*(longlong *)(iVar2 + 0xb84) = lVar19" (pointer_expression "*(longlong *)(iVar2 + 0xb84)" (* "*") (cast_expression "(longlong *)(iVar2 + 0xb84)" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb84)" (( "(") (binary_expression "iVar2 + 0xb84" (identifier "iVar2") (+ "+") (number_literal "0xb84")) () ")")))) (= "=") (identifier "lVar19")) (; ";")) (if_statement "if (*(int *)(iVar2 + 0xb40) != local_88) {\n    *(int *)(iVar2 + 0xb40) = local_88;\n    uVar7 = *(uint *)(iVar2 + 0xb5c);\n    uVar13 = *(uint *)(iVar2 + 0xb54);\n    iVar15 = iVar2 + (local_c0 % 6) * 8;\n    *(uint *)(iVar15 + 0xbec) =\n         *(int *)(iVar2 + 0xb60) + *(int *)(iVar2 + 0xb58) +\n         (uint)CARRY4(uVar7,*(uint *)(iVar2 + 0xb54));\n    *(uint *)(iVar15 + 0xbe8) = uVar7 + uVar13;\n    *(undefined4 *)(iVar15 + 0xc1c) = local_84[0];\n    *(int *)(iVar15 + 0xc18) = local_88;\n    iVar17 = *(int *)(iVar2 + 0xc48) + 1;\n    *(int *)(iVar2 + 0xc48) = iVar17;\n    if (iVar17 == 1) {\n      bVar3 = true;\n      *(longlong *)(iVar2 + 0xb64) = lVar18 + lVar19;\n    }\n    else {\n      iVar16 = 0;\n      if (5 < iVar17) {\n        iVar16 = iVar17 % 6;\n      }\n      iVar14 = *(int *)(iVar2 + 0xc1c + iVar16 * 8);\n      iVar17 = *(int *)(iVar2 + 0xc18 + iVar16 * 8);\n      iVar6 = FUN_0001ac30();\n      if (iVar6 == 0) {\n        iVar6 = 1;\n      }\n      puVar1 = (uint *)(iVar2 + 0xbe8 + iVar16 * 8);\n      uVar7 = *(uint *)(iVar15 + 0xbe8) - *puVar1;\n      iVar15 = (*(int *)(iVar15 + 0xbec) - *(int *)(iVar2 + 0xbec + iVar16 * 8)) -\n               (uint)(*(uint *)(iVar15 + 0xbe8) < *puVar1);\n      if (-iVar15 < (int)(uint)(0x418937 < uVar7)) {\n        bVar3 = true;\n        *(longlong *)(iVar2 + 0xb64) =\n             (longlong)\n             ROUND((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))\n        ;\n        iVar6 = iVar17;\n      }\n      else {\n        iVar14 = iVar6 >> 0x1f;\n        uVar20 = FUN_00082b40();\n        bVar3 = true;\n        *(undefined8 *)(iVar2 + 0xb64) = uVar20;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar2 + 0xb40) != local_88)" (( "(") (binary_expression "*(int *)(iVar2 + 0xb40) != local_88" (pointer_expression "*(int *)(iVar2 + 0xb40)" (* "*") (cast_expression "(int *)(iVar2 + 0xb40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb40)" (( "(") (binary_expression "iVar2 + 0xb40" (identifier "iVar2") (+ "+") (number_literal "0xb40")) () ")")))) (!= "!=") (identifier "local_88")) () ")")) (compound_statement "{\n    *(int *)(iVar2 + 0xb40) = local_88;\n    uVar7 = *(uint *)(iVar2 + 0xb5c);\n    uVar13 = *(uint *)(iVar2 + 0xb54);\n    iVar15 = iVar2 + (local_c0 % 6) * 8;\n    *(uint *)(iVar15 + 0xbec) =\n         *(int *)(iVar2 + 0xb60) + *(int *)(iVar2 + 0xb58) +\n         (uint)CARRY4(uVar7,*(uint *)(iVar2 + 0xb54));\n    *(uint *)(iVar15 + 0xbe8) = uVar7 + uVar13;\n    *(undefined4 *)(iVar15 + 0xc1c) = local_84[0];\n    *(int *)(iVar15 + 0xc18) = local_88;\n    iVar17 = *(int *)(iVar2 + 0xc48) + 1;\n    *(int *)(iVar2 + 0xc48) = iVar17;\n    if (iVar17 == 1) {\n      bVar3 = true;\n      *(longlong *)(iVar2 + 0xb64) = lVar18 + lVar19;\n    }\n    else {\n      iVar16 = 0;\n      if (5 < iVar17) {\n        iVar16 = iVar17 % 6;\n      }\n      iVar14 = *(int *)(iVar2 + 0xc1c + iVar16 * 8);\n      iVar17 = *(int *)(iVar2 + 0xc18 + iVar16 * 8);\n      iVar6 = FUN_0001ac30();\n      if (iVar6 == 0) {\n        iVar6 = 1;\n      }\n      puVar1 = (uint *)(iVar2 + 0xbe8 + iVar16 * 8);\n      uVar7 = *(uint *)(iVar15 + 0xbe8) - *puVar1;\n      iVar15 = (*(int *)(iVar15 + 0xbec) - *(int *)(iVar2 + 0xbec + iVar16 * 8)) -\n               (uint)(*(uint *)(iVar15 + 0xbe8) < *puVar1);\n      if (-iVar15 < (int)(uint)(0x418937 < uVar7)) {\n        bVar3 = true;\n        *(longlong *)(iVar2 + 0xb64) =\n             (longlong)\n             ROUND((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))\n        ;\n        iVar6 = iVar17;\n      }\n      else {\n        iVar14 = iVar6 >> 0x1f;\n        uVar20 = FUN_00082b40();\n        bVar3 = true;\n        *(undefined8 *)(iVar2 + 0xb64) = uVar20;\n      }\n    }\n  }" ({ "{") (expression_statement "*(int *)(iVar2 + 0xb40) = local_88;" (assignment_expression "*(int *)(iVar2 + 0xb40) = local_88" (pointer_expression "*(int *)(iVar2 + 0xb40)" (* "*") (cast_expression "(int *)(iVar2 + 0xb40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb40)" (( "(") (binary_expression "iVar2 + 0xb40" (identifier "iVar2") (+ "+") (number_literal "0xb40")) () ")")))) (= "=") (identifier "local_88")) (; ";")) (expression_statement "uVar7 = *(uint *)(iVar2 + 0xb5c);" (assignment_expression "uVar7 = *(uint *)(iVar2 + 0xb5c)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)(iVar2 + 0xb5c)" (* "*") (cast_expression "(uint *)(iVar2 + 0xb5c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb5c)" (( "(") (binary_expression "iVar2 + 0xb5c" (identifier "iVar2") (+ "+") (number_literal "0xb5c")) () ")"))))) (; ";")) (expression_statement "uVar13 = *(uint *)(iVar2 + 0xb54);" (assignment_expression "uVar13 = *(uint *)(iVar2 + 0xb54)" (identifier "uVar13") (= "=") (pointer_expression "*(uint *)(iVar2 + 0xb54)" (* "*") (cast_expression "(uint *)(iVar2 + 0xb54)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb54)" (( "(") (binary_expression "iVar2 + 0xb54" (identifier "iVar2") (+ "+") (number_literal "0xb54")) () ")"))))) (; ";")) (expression_statement "iVar15 = iVar2 + (local_c0 % 6) * 8;" (assignment_expression "iVar15 = iVar2 + (local_c0 % 6) * 8" (identifier "iVar15") (= "=") (binary_expression "iVar2 + (local_c0 % 6) * 8" (identifier "iVar2") (+ "+") (binary_expression "(local_c0 % 6) * 8" (parenthesized_expression "(local_c0 % 6)" (( "(") (binary_expression "local_c0 % 6" (identifier "local_c0") (% "%") (number_literal "6")) () ")")) (* "*") (number_literal "8")))) (; ";")) (expression_statement "*(uint *)(iVar15 + 0xbec) =\n         *(int *)(iVar2 + 0xb60) + *(int *)(iVar2 + 0xb58) +\n         (uint)CARRY4(uVar7,*(uint *)(iVar2 + 0xb54));" (assignment_expression "*(uint *)(iVar15 + 0xbec) =\n         *(int *)(iVar2 + 0xb60) + *(int *)(iVar2 + 0xb58) +\n         (uint)CARRY4(uVar7,*(uint *)(iVar2 + 0xb54))" (pointer_expression "*(uint *)(iVar15 + 0xbec)" (* "*") (cast_expression "(uint *)(iVar15 + 0xbec)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0xbec)" (( "(") (binary_expression "iVar15 + 0xbec" (identifier "iVar15") (+ "+") (number_literal "0xbec")) () ")")))) (= "=") (binary_expression "*(int *)(iVar2 + 0xb60) + *(int *)(iVar2 + 0xb58) +\n         (uint)CARRY4(uVar7,*(uint *)(iVar2 + 0xb54))" (binary_expression "*(int *)(iVar2 + 0xb60) + *(int *)(iVar2 + 0xb58)" (pointer_expression "*(int *)(iVar2 + 0xb60)" (* "*") (cast_expression "(int *)(iVar2 + 0xb60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb60)" (( "(") (binary_expression "iVar2 + 0xb60" (identifier "iVar2") (+ "+") (number_literal "0xb60")) () ")")))) (+ "+") (pointer_expression "*(int *)(iVar2 + 0xb58)" (* "*") (cast_expression "(int *)(iVar2 + 0xb58)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb58)" (( "(") (binary_expression "iVar2 + 0xb58" (identifier "iVar2") (+ "+") (number_literal "0xb58")) () ")"))))) (+ "+") (cast_expression "(uint)CARRY4(uVar7,*(uint *)(iVar2 + 0xb54))" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar7,*(uint *)(iVar2 + 0xb54))" (identifier "CARRY4") (argument_list "(uVar7,*(uint *)(iVar2 + 0xb54))" (( "(") (identifier "uVar7") (, ",") (pointer_expression "*(uint *)(iVar2 + 0xb54)" (* "*") (cast_expression "(uint *)(iVar2 + 0xb54)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb54)" (( "(") (binary_expression "iVar2 + 0xb54" (identifier "iVar2") (+ "+") (number_literal "0xb54")) () ")")))) () ")")))))) (; ";")) (expression_statement "*(uint *)(iVar15 + 0xbe8) = uVar7 + uVar13;" (assignment_expression "*(uint *)(iVar15 + 0xbe8) = uVar7 + uVar13" (pointer_expression "*(uint *)(iVar15 + 0xbe8)" (* "*") (cast_expression "(uint *)(iVar15 + 0xbe8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0xbe8)" (( "(") (binary_expression "iVar15 + 0xbe8" (identifier "iVar15") (+ "+") (number_literal "0xbe8")) () ")")))) (= "=") (binary_expression "uVar7 + uVar13" (identifier "uVar7") (+ "+") (identifier "uVar13"))) (; ";")) (expression_statement "*(undefined4 *)(iVar15 + 0xc1c) = local_84[0];" (assignment_expression "*(undefined4 *)(iVar15 + 0xc1c) = local_84[0]" (pointer_expression "*(undefined4 *)(iVar15 + 0xc1c)" (* "*") (cast_expression "(undefined4 *)(iVar15 + 0xc1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0xc1c)" (( "(") (binary_expression "iVar15 + 0xc1c" (identifier "iVar15") (+ "+") (number_literal "0xc1c")) () ")")))) (= "=") (subscript_expression "local_84[0]" (identifier "local_84") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "*(int *)(iVar15 + 0xc18) = local_88;" (assignment_expression "*(int *)(iVar15 + 0xc18) = local_88" (pointer_expression "*(int *)(iVar15 + 0xc18)" (* "*") (cast_expression "(int *)(iVar15 + 0xc18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0xc18)" (( "(") (binary_expression "iVar15 + 0xc18" (identifier "iVar15") (+ "+") (number_literal "0xc18")) () ")")))) (= "=") (identifier "local_88")) (; ";")) (expression_statement "iVar17 = *(int *)(iVar2 + 0xc48) + 1;" (assignment_expression "iVar17 = *(int *)(iVar2 + 0xc48) + 1" (identifier "iVar17") (= "=") (binary_expression "*(int *)(iVar2 + 0xc48) + 1" (pointer_expression "*(int *)(iVar2 + 0xc48)" (* "*") (cast_expression "(int *)(iVar2 + 0xc48)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xc48)" (( "(") (binary_expression "iVar2 + 0xc48" (identifier "iVar2") (+ "+") (number_literal "0xc48")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(int *)(iVar2 + 0xc48) = iVar17;" (assignment_expression "*(int *)(iVar2 + 0xc48) = iVar17" (pointer_expression "*(int *)(iVar2 + 0xc48)" (* "*") (cast_expression "(int *)(iVar2 + 0xc48)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xc48)" (( "(") (binary_expression "iVar2 + 0xc48" (identifier "iVar2") (+ "+") (number_literal "0xc48")) () ")")))) (= "=") (identifier "iVar17")) (; ";")) (if_statement "if (iVar17 == 1) {\n      bVar3 = true;\n      *(longlong *)(iVar2 + 0xb64) = lVar18 + lVar19;\n    }\n    else {\n      iVar16 = 0;\n      if (5 < iVar17) {\n        iVar16 = iVar17 % 6;\n      }\n      iVar14 = *(int *)(iVar2 + 0xc1c + iVar16 * 8);\n      iVar17 = *(int *)(iVar2 + 0xc18 + iVar16 * 8);\n      iVar6 = FUN_0001ac30();\n      if (iVar6 == 0) {\n        iVar6 = 1;\n      }\n      puVar1 = (uint *)(iVar2 + 0xbe8 + iVar16 * 8);\n      uVar7 = *(uint *)(iVar15 + 0xbe8) - *puVar1;\n      iVar15 = (*(int *)(iVar15 + 0xbec) - *(int *)(iVar2 + 0xbec + iVar16 * 8)) -\n               (uint)(*(uint *)(iVar15 + 0xbe8) < *puVar1);\n      if (-iVar15 < (int)(uint)(0x418937 < uVar7)) {\n        bVar3 = true;\n        *(longlong *)(iVar2 + 0xb64) =\n             (longlong)\n             ROUND((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))\n        ;\n        iVar6 = iVar17;\n      }\n      else {\n        iVar14 = iVar6 >> 0x1f;\n        uVar20 = FUN_00082b40();\n        bVar3 = true;\n        *(undefined8 *)(iVar2 + 0xb64) = uVar20;\n      }\n    }" (if "if") (parenthesized_expression "(iVar17 == 1)" (( "(") (binary_expression "iVar17 == 1" (identifier "iVar17") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n      bVar3 = true;\n      *(longlong *)(iVar2 + 0xb64) = lVar18 + lVar19;\n    }" ({ "{") (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" (identifier "bVar3") (= "=") (true "true")) (; ";")) (expression_statement "*(longlong *)(iVar2 + 0xb64) = lVar18 + lVar19;" (assignment_expression "*(longlong *)(iVar2 + 0xb64) = lVar18 + lVar19" (pointer_expression "*(longlong *)(iVar2 + 0xb64)" (* "*") (cast_expression "(longlong *)(iVar2 + 0xb64)" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb64)" (( "(") (binary_expression "iVar2 + 0xb64" (identifier "iVar2") (+ "+") (number_literal "0xb64")) () ")")))) (= "=") (binary_expression "lVar18 + lVar19" (identifier "lVar18") (+ "+") (identifier "lVar19"))) (; ";")) (} "}")) (else_clause "else {\n      iVar16 = 0;\n      if (5 < iVar17) {\n        iVar16 = iVar17 % 6;\n      }\n      iVar14 = *(int *)(iVar2 + 0xc1c + iVar16 * 8);\n      iVar17 = *(int *)(iVar2 + 0xc18 + iVar16 * 8);\n      iVar6 = FUN_0001ac30();\n      if (iVar6 == 0) {\n        iVar6 = 1;\n      }\n      puVar1 = (uint *)(iVar2 + 0xbe8 + iVar16 * 8);\n      uVar7 = *(uint *)(iVar15 + 0xbe8) - *puVar1;\n      iVar15 = (*(int *)(iVar15 + 0xbec) - *(int *)(iVar2 + 0xbec + iVar16 * 8)) -\n               (uint)(*(uint *)(iVar15 + 0xbe8) < *puVar1);\n      if (-iVar15 < (int)(uint)(0x418937 < uVar7)) {\n        bVar3 = true;\n        *(longlong *)(iVar2 + 0xb64) =\n             (longlong)\n             ROUND((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))\n        ;\n        iVar6 = iVar17;\n      }\n      else {\n        iVar14 = iVar6 >> 0x1f;\n        uVar20 = FUN_00082b40();\n        bVar3 = true;\n        *(undefined8 *)(iVar2 + 0xb64) = uVar20;\n      }\n    }" (else "else") (compound_statement "{\n      iVar16 = 0;\n      if (5 < iVar17) {\n        iVar16 = iVar17 % 6;\n      }\n      iVar14 = *(int *)(iVar2 + 0xc1c + iVar16 * 8);\n      iVar17 = *(int *)(iVar2 + 0xc18 + iVar16 * 8);\n      iVar6 = FUN_0001ac30();\n      if (iVar6 == 0) {\n        iVar6 = 1;\n      }\n      puVar1 = (uint *)(iVar2 + 0xbe8 + iVar16 * 8);\n      uVar7 = *(uint *)(iVar15 + 0xbe8) - *puVar1;\n      iVar15 = (*(int *)(iVar15 + 0xbec) - *(int *)(iVar2 + 0xbec + iVar16 * 8)) -\n               (uint)(*(uint *)(iVar15 + 0xbe8) < *puVar1);\n      if (-iVar15 < (int)(uint)(0x418937 < uVar7)) {\n        bVar3 = true;\n        *(longlong *)(iVar2 + 0xb64) =\n             (longlong)\n             ROUND((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))\n        ;\n        iVar6 = iVar17;\n      }\n      else {\n        iVar14 = iVar6 >> 0x1f;\n        uVar20 = FUN_00082b40();\n        bVar3 = true;\n        *(undefined8 *)(iVar2 + 0xb64) = uVar20;\n      }\n    }" ({ "{") (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" (identifier "iVar16") (= "=") (number_literal "0")) (; ";")) (if_statement "if (5 < iVar17) {\n        iVar16 = iVar17 % 6;\n      }" (if "if") (parenthesized_expression "(5 < iVar17)" (( "(") (binary_expression "5 < iVar17" (number_literal "5") (< "<") (identifier "iVar17")) () ")")) (compound_statement "{\n        iVar16 = iVar17 % 6;\n      }" ({ "{") (expression_statement "iVar16 = iVar17 % 6;" (assignment_expression "iVar16 = iVar17 % 6" (identifier "iVar16") (= "=") (binary_expression "iVar17 % 6" (identifier "iVar17") (% "%") (number_literal "6"))) (; ";")) (} "}"))) (expression_statement "iVar14 = *(int *)(iVar2 + 0xc1c + iVar16 * 8);" (assignment_expression "iVar14 = *(int *)(iVar2 + 0xc1c + iVar16 * 8)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(iVar2 + 0xc1c + iVar16 * 8)" (* "*") (cast_expression "(int *)(iVar2 + 0xc1c + iVar16 * 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xc1c + iVar16 * 8)" (( "(") (binary_expression "iVar2 + 0xc1c + iVar16 * 8" (binary_expression "iVar2 + 0xc1c" (identifier "iVar2") (+ "+") (number_literal "0xc1c")) (+ "+") (binary_expression "iVar16 * 8" (identifier "iVar16") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "iVar17 = *(int *)(iVar2 + 0xc18 + iVar16 * 8);" (assignment_expression "iVar17 = *(int *)(iVar2 + 0xc18 + iVar16 * 8)" (identifier "iVar17") (= "=") (pointer_expression "*(int *)(iVar2 + 0xc18 + iVar16 * 8)" (* "*") (cast_expression "(int *)(iVar2 + 0xc18 + iVar16 * 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xc18 + iVar16 * 8)" (( "(") (binary_expression "iVar2 + 0xc18 + iVar16 * 8" (binary_expression "iVar2 + 0xc18" (identifier "iVar2") (+ "+") (number_literal "0xc18")) (+ "+") (binary_expression "iVar16 * 8" (identifier "iVar16") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "iVar6 = FUN_0001ac30();" (assignment_expression "iVar6 = FUN_0001ac30()" (identifier "iVar6") (= "=") (call_expression "FUN_0001ac30()" (identifier "FUN_0001ac30") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar6 == 0) {\n        iVar6 = 1;\n      }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        iVar6 = 1;\n      }" ({ "{") (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" (identifier "iVar6") (= "=") (number_literal "1")) (; ";")) (} "}"))) (expression_statement "puVar1 = (uint *)(iVar2 + 0xbe8 + iVar16 * 8);" (assignment_expression "puVar1 = (uint *)(iVar2 + 0xbe8 + iVar16 * 8)" (identifier "puVar1") (= "=") (cast_expression "(uint *)(iVar2 + 0xbe8 + iVar16 * 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xbe8 + iVar16 * 8)" (( "(") (binary_expression "iVar2 + 0xbe8 + iVar16 * 8" (binary_expression "iVar2 + 0xbe8" (identifier "iVar2") (+ "+") (number_literal "0xbe8")) (+ "+") (binary_expression "iVar16 * 8" (identifier "iVar16") (* "*") (number_literal "8"))) () ")")))) (; ";")) (expression_statement "uVar7 = *(uint *)(iVar15 + 0xbe8) - *puVar1;" (assignment_expression "uVar7 = *(uint *)(iVar15 + 0xbe8) - *puVar1" (identifier "uVar7") (= "=") (binary_expression "*(uint *)(iVar15 + 0xbe8) - *puVar1" (pointer_expression "*(uint *)(iVar15 + 0xbe8)" (* "*") (cast_expression "(uint *)(iVar15 + 0xbe8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0xbe8)" (( "(") (binary_expression "iVar15 + 0xbe8" (identifier "iVar15") (+ "+") (number_literal "0xbe8")) () ")")))) (- "-") (pointer_expression "*puVar1" (* "*") (identifier "puVar1")))) (; ";")) (expression_statement "iVar15 = (*(int *)(iVar15 + 0xbec) - *(int *)(iVar2 + 0xbec + iVar16 * 8)) -\n               (uint)(*(uint *)(iVar15 + 0xbe8) < *puVar1);" (assignment_expression "iVar15 = (*(int *)(iVar15 + 0xbec) - *(int *)(iVar2 + 0xbec + iVar16 * 8)) -\n               (uint)(*(uint *)(iVar15 + 0xbe8) < *puVar1)" (identifier "iVar15") (= "=") (binary_expression "(*(int *)(iVar15 + 0xbec) - *(int *)(iVar2 + 0xbec + iVar16 * 8)) -\n               (uint)(*(uint *)(iVar15 + 0xbe8) < *puVar1)" (parenthesized_expression "(*(int *)(iVar15 + 0xbec) - *(int *)(iVar2 + 0xbec + iVar16 * 8))" (( "(") (binary_expression "*(int *)(iVar15 + 0xbec) - *(int *)(iVar2 + 0xbec + iVar16 * 8)" (pointer_expression "*(int *)(iVar15 + 0xbec)" (* "*") (cast_expression "(int *)(iVar15 + 0xbec)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0xbec)" (( "(") (binary_expression "iVar15 + 0xbec" (identifier "iVar15") (+ "+") (number_literal "0xbec")) () ")")))) (- "-") (pointer_expression "*(int *)(iVar2 + 0xbec + iVar16 * 8)" (* "*") (cast_expression "(int *)(iVar2 + 0xbec + iVar16 * 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xbec + iVar16 * 8)" (( "(") (binary_expression "iVar2 + 0xbec + iVar16 * 8" (binary_expression "iVar2 + 0xbec" (identifier "iVar2") (+ "+") (number_literal "0xbec")) (+ "+") (binary_expression "iVar16 * 8" (identifier "iVar16") (* "*") (number_literal "8"))) () ")"))))) () ")")) (- "-") (call_expression "(uint)(*(uint *)(iVar15 + 0xbe8) < *puVar1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(uint *)(iVar15 + 0xbe8) < *puVar1)" (( "(") (binary_expression "*(uint *)(iVar15 + 0xbe8) < *puVar1" (pointer_expression "*(uint *)(iVar15 + 0xbe8)" (* "*") (cast_expression "(uint *)(iVar15 + 0xbe8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0xbe8)" (( "(") (binary_expression "iVar15 + 0xbe8" (identifier "iVar15") (+ "+") (number_literal "0xbe8")) () ")")))) (< "<") (pointer_expression "*puVar1" (* "*") (identifier "puVar1"))) () ")"))))) (; ";")) (if_statement "if (-iVar15 < (int)(uint)(0x418937 < uVar7)) {\n        bVar3 = true;\n        *(longlong *)(iVar2 + 0xb64) =\n             (longlong)\n             ROUND((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))\n        ;\n        iVar6 = iVar17;\n      }\n      else {\n        iVar14 = iVar6 >> 0x1f;\n        uVar20 = FUN_00082b40();\n        bVar3 = true;\n        *(undefined8 *)(iVar2 + 0xb64) = uVar20;\n      }" (if "if") (parenthesized_expression "(-iVar15 < (int)(uint)(0x418937 < uVar7))" (( "(") (binary_expression "-iVar15 < (int)(uint)(0x418937 < uVar7)" (unary_expression "-iVar15" (- "-") (identifier "iVar15")) (< "<") (cast_expression "(int)(uint)(0x418937 < uVar7)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "(uint)(0x418937 < uVar7)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0x418937 < uVar7)" (( "(") (binary_expression "0x418937 < uVar7" (number_literal "0x418937") (< "<") (identifier "uVar7")) () ")"))))) () ")")) (compound_statement "{\n        bVar3 = true;\n        *(longlong *)(iVar2 + 0xb64) =\n             (longlong)\n             ROUND((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))\n        ;\n        iVar6 = iVar17;\n      }" ({ "{") (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" (identifier "bVar3") (= "=") (true "true")) (; ";")) (expression_statement "*(longlong *)(iVar2 + 0xb64) =\n             (longlong)\n             ROUND((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))\n        ;" (assignment_expression "*(longlong *)(iVar2 + 0xb64) =\n             (longlong)\n             ROUND((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))" (pointer_expression "*(longlong *)(iVar2 + 0xb64)" (* "*") (cast_expression "(longlong *)(iVar2 + 0xb64)" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb64)" (( "(") (binary_expression "iVar2 + 0xb64" (identifier "iVar2") (+ "+") (number_literal "0xb64")) () ")")))) (= "=") (cast_expression "(longlong)\n             ROUND((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))" (( "(") (type_descriptor "longlong" (type_identifier "longlong")) () ")") (call_expression "ROUND((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))" (identifier "ROUND") (argument_list "((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))" (( "(") (binary_expression "(float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308))" (cast_expression "(float)CONCAT44(iVar15,uVar7)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (call_expression "CONCAT44(iVar15,uVar7)" (identifier "CONCAT44") (argument_list "(iVar15,uVar7)" (( "(") (identifier "iVar15") (, ",") (identifier "uVar7") () ")")))) (/ "/") (parenthesized_expression "((float)iVar6 / *(float *)(local_dc + -0x33308))" (( "(") (binary_expression "(float)iVar6 / *(float *)(local_dc + -0x33308)" (cast_expression "(float)iVar6" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "iVar6")) (/ "/") (pointer_expression "*(float *)(local_dc + -0x33308)" (* "*") (cast_expression "(float *)(local_dc + -0x33308)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_dc + -0x33308)" (( "(") (binary_expression "local_dc + -0x33308" (identifier "local_dc") (+ "+") (number_literal "-0x33308")) () ")"))))) () ")"))) () ")"))))) (; ";")) (expression_statement "iVar6 = iVar17;" (assignment_expression "iVar6 = iVar17" (identifier "iVar6") (= "=") (identifier "iVar17")) (; ";")) (} "}")) (else_clause "else {\n        iVar14 = iVar6 >> 0x1f;\n        uVar20 = FUN_00082b40();\n        bVar3 = true;\n        *(undefined8 *)(iVar2 + 0xb64) = uVar20;\n      }" (else "else") (compound_statement "{\n        iVar14 = iVar6 >> 0x1f;\n        uVar20 = FUN_00082b40();\n        bVar3 = true;\n        *(undefined8 *)(iVar2 + 0xb64) = uVar20;\n      }" ({ "{") (expression_statement "iVar14 = iVar6 >> 0x1f;" (assignment_expression "iVar14 = iVar6 >> 0x1f" (identifier "iVar14") (= "=") (binary_expression "iVar6 >> 0x1f" (identifier "iVar6") (>> ">>") (number_literal "0x1f"))) (; ";")) (expression_statement "uVar20 = FUN_00082b40();" (assignment_expression "uVar20 = FUN_00082b40()" (identifier "uVar20") (= "=") (call_expression "FUN_00082b40()" (identifier "FUN_00082b40") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" (identifier "bVar3") (= "=") (true "true")) (; ";")) (expression_statement "*(undefined8 *)(iVar2 + 0xb64) = uVar20;" (assignment_expression "*(undefined8 *)(iVar2 + 0xb64) = uVar20" (pointer_expression "*(undefined8 *)(iVar2 + 0xb64)" (* "*") (cast_expression "(undefined8 *)(iVar2 + 0xb64)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb64)" (( "(") (binary_expression "iVar2 + 0xb64" (identifier "iVar2") (+ "+") (number_literal "0xb64")) () ")")))) (= "=") (identifier "uVar20")) (; ";")) (} "}")))) (} "}")))) (} "}"))) (expression_statement "uVar7 = *(uint *)(iVar2 + 0xb74);" (assignment_expression "uVar7 = *(uint *)(iVar2 + 0xb74)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)(iVar2 + 0xb74)" (* "*") (cast_expression "(uint *)(iVar2 + 0xb74)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb74)" (( "(") (binary_expression "iVar2 + 0xb74" (identifier "iVar2") (+ "+") (number_literal "0xb74")) () ")"))))) (; ";")) (if_statement "if ((uVar7 & 0x10) != 0) {\n    local_d8 = 0;\n    goto LAB_0001d1c8;\n  }" (if "if") (parenthesized_expression "((uVar7 & 0x10) != 0)" (( "(") (binary_expression "(uVar7 & 0x10) != 0" (parenthesized_expression "(uVar7 & 0x10)" (( "(") (binary_expression "uVar7 & 0x10" (identifier "uVar7") (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    local_d8 = 0;\n    goto LAB_0001d1c8;\n  }" ({ "{") (expression_statement "local_d8 = 0;" (assignment_expression "local_d8 = 0" (identifier "local_d8") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0001d1c8;" (goto "goto") (statement_identifier "LAB_0001d1c8") (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar2 + 0x5f8) == 0) {\n    if (*(int *)(iVar2 + 0x5f4) == 0) {\n      local_d8 = 0;\n      if (!bVar3) goto LAB_0001d1c8;\n      if ((uVar7 & 0x80) == 0) {\n        if (*(int *)(iVar2 + 0xebc) != 0 || *(int *)(iVar2 + 0xeb8) != 0) {\n          curl_mfprintf();\n        }\n        curl_mfprintf();\n        uVar7 = *(uint *)(iVar2 + 0xb74) | 0x80;\n        *(uint *)(iVar2 + 0xb74) = uVar7;\n      }\n      if (((uVar7 & 0x20) == 0) ||\n         ((int)(uint)(*(int *)(iVar2 + 0xb84) != 0) <= -*(int *)(iVar2 + 0xb88))) {\n        if (((uVar7 & 0x40) != 0) &&\n           (-*(int *)(iVar2 + 0xb80) < (int)(uint)(*(int *)(iVar2 + 0xb7c) != 0))) {\n          uVar20 = 0;\n          goto LAB_0001d331;\n        }\n        uVar20 = 0;\n        uVar21 = 0;\n      }\n      else {\n        uVar13 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n        FUN_00082b40();\n        if (-iVar17 < (int)(uint)(10000 < uVar13)) {\n          FUN_00082b40();\n          uVar20 = FUN_00082b40();\n        }\n        else {\n          uVar20 = 0;\n          if (-iVar17 < (int)(uint)(uVar13 != 0)) {\n            uVar20 = FUN_00082b40();\n          }\n        }\n        if (((uVar7 & 0x40) == 0) ||\n           ((int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80))) {\n          uVar21 = 0;\n        }\n        else {\nLAB_0001d331:\n          uVar7 = *(uint *)(iVar2 + 0xb44);\n          iVar17 = *(int *)(iVar2 + 0xb48);\n          FUN_00082b40();\n          if (-iVar17 < (int)(uint)(10000 < uVar7)) {\n            FUN_00082b40();\n            uVar21 = FUN_00082b40();\n          }\n          else {\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }\n        }\n      }\n      FUN_0001c490();\n      FUN_0001c490();\n      FUN_0001c490();\n      if ((*(uint *)(iVar2 + 0xb74) & 0x20) == 0) {\n        uVar7 = *(uint *)(iVar2 + 0xb5c);\n        iVar17 = *(int *)(iVar2 + 0xb60);\n      }\n      else {\n        uVar7 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n      }\n      uVar13 = *(uint *)(iVar2 + 0xb54);\n      iVar15 = *(int *)(iVar2 + 0xb58);\n      if ((*(uint *)(iVar2 + 0xb74) & 0x40) != 0) {\n        uVar13 = *(uint *)(iVar2 + 0xb44);\n        iVar15 = *(int *)(iVar2 + 0xb48);\n      }\n      iVar17 = iVar17 + iVar15 + (uint)CARRY4(uVar7,uVar13);\n      if (-iVar17 < (int)(uint)(10000 < uVar7 + uVar13)) {\n        FUN_00082b40();\n        uVar22 = FUN_00082b40();\n      }\n      else {\n        uVar22 = 0;\n        if (-iVar17 < (int)(uint)(uVar7 + uVar13 != 0)) {\n          uVar22 = FUN_00082b40();\n        }\n      }\n      FUN_0001c620();\n      uVar8 = FUN_0001c620();\n      uVar9 = FUN_0001c620();\n      uVar10 = FUN_0001c620();\n      uVar11 = FUN_0001c620();\n      uVar12 = FUN_0001c620();\n      curl_mfprintf(*(undefined4 *)(iVar2 + 0x584),local_dc + -0x3333c,uVar22,uVar12,uVar21,uVar11,\n                    uVar20,uVar10,uVar9,uVar8,local_38,local_2e,local_42);\n      fflush(*(FILE **)(iVar2 + 0x584));\n      goto LAB_0001d1c8;\n    }\n    uVar8 = 1;\n    FUN_0004a0b0();\n    local_d8 = (**(code **)(iVar2 + 0x5f4))\n                         (*(undefined4 *)(iVar2 + 0x62c),(double)*(longlong *)(iVar2 + 0xb44),\n                          (double)*(longlong *)(iVar2 + 0xb54),(double)*(longlong *)(iVar2 + 0xb4c),\n                          (double)*(longlong *)(iVar2 + 0xb5c),uVar8);\n  }\n  else {\n    uVar8 = 1;\n    FUN_0004a0b0();\n    local_d8 = (**(code **)(iVar2 + 0x5f8))\n                         (*(undefined4 *)(iVar2 + 0x62c),*(undefined4 *)(iVar2 + 0xb44),\n                          *(undefined4 *)(iVar2 + 0xb48),*(undefined4 *)(iVar2 + 0xb54),\n                          *(undefined4 *)(iVar2 + 0xb58),*(undefined4 *)(iVar2 + 0xb4c),\n                          *(undefined4 *)(iVar2 + 0xb50),*(undefined4 *)(iVar2 + 0xb5c),\n                          *(undefined4 *)(iVar2 + 0xb60),uVar8,iVar6,iVar14);\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar2 + 0x5f8) == 0)" (( "(") (binary_expression "*(int *)(iVar2 + 0x5f8) == 0" (pointer_expression "*(int *)(iVar2 + 0x5f8)" (* "*") (cast_expression "(int *)(iVar2 + 0x5f8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x5f8)" (( "(") (binary_expression "iVar2 + 0x5f8" (identifier "iVar2") (+ "+") (number_literal "0x5f8")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    if (*(int *)(iVar2 + 0x5f4) == 0) {\n      local_d8 = 0;\n      if (!bVar3) goto LAB_0001d1c8;\n      if ((uVar7 & 0x80) == 0) {\n        if (*(int *)(iVar2 + 0xebc) != 0 || *(int *)(iVar2 + 0xeb8) != 0) {\n          curl_mfprintf();\n        }\n        curl_mfprintf();\n        uVar7 = *(uint *)(iVar2 + 0xb74) | 0x80;\n        *(uint *)(iVar2 + 0xb74) = uVar7;\n      }\n      if (((uVar7 & 0x20) == 0) ||\n         ((int)(uint)(*(int *)(iVar2 + 0xb84) != 0) <= -*(int *)(iVar2 + 0xb88))) {\n        if (((uVar7 & 0x40) != 0) &&\n           (-*(int *)(iVar2 + 0xb80) < (int)(uint)(*(int *)(iVar2 + 0xb7c) != 0))) {\n          uVar20 = 0;\n          goto LAB_0001d331;\n        }\n        uVar20 = 0;\n        uVar21 = 0;\n      }\n      else {\n        uVar13 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n        FUN_00082b40();\n        if (-iVar17 < (int)(uint)(10000 < uVar13)) {\n          FUN_00082b40();\n          uVar20 = FUN_00082b40();\n        }\n        else {\n          uVar20 = 0;\n          if (-iVar17 < (int)(uint)(uVar13 != 0)) {\n            uVar20 = FUN_00082b40();\n          }\n        }\n        if (((uVar7 & 0x40) == 0) ||\n           ((int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80))) {\n          uVar21 = 0;\n        }\n        else {\nLAB_0001d331:\n          uVar7 = *(uint *)(iVar2 + 0xb44);\n          iVar17 = *(int *)(iVar2 + 0xb48);\n          FUN_00082b40();\n          if (-iVar17 < (int)(uint)(10000 < uVar7)) {\n            FUN_00082b40();\n            uVar21 = FUN_00082b40();\n          }\n          else {\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }\n        }\n      }\n      FUN_0001c490();\n      FUN_0001c490();\n      FUN_0001c490();\n      if ((*(uint *)(iVar2 + 0xb74) & 0x20) == 0) {\n        uVar7 = *(uint *)(iVar2 + 0xb5c);\n        iVar17 = *(int *)(iVar2 + 0xb60);\n      }\n      else {\n        uVar7 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n      }\n      uVar13 = *(uint *)(iVar2 + 0xb54);\n      iVar15 = *(int *)(iVar2 + 0xb58);\n      if ((*(uint *)(iVar2 + 0xb74) & 0x40) != 0) {\n        uVar13 = *(uint *)(iVar2 + 0xb44);\n        iVar15 = *(int *)(iVar2 + 0xb48);\n      }\n      iVar17 = iVar17 + iVar15 + (uint)CARRY4(uVar7,uVar13);\n      if (-iVar17 < (int)(uint)(10000 < uVar7 + uVar13)) {\n        FUN_00082b40();\n        uVar22 = FUN_00082b40();\n      }\n      else {\n        uVar22 = 0;\n        if (-iVar17 < (int)(uint)(uVar7 + uVar13 != 0)) {\n          uVar22 = FUN_00082b40();\n        }\n      }\n      FUN_0001c620();\n      uVar8 = FUN_0001c620();\n      uVar9 = FUN_0001c620();\n      uVar10 = FUN_0001c620();\n      uVar11 = FUN_0001c620();\n      uVar12 = FUN_0001c620();\n      curl_mfprintf(*(undefined4 *)(iVar2 + 0x584),local_dc + -0x3333c,uVar22,uVar12,uVar21,uVar11,\n                    uVar20,uVar10,uVar9,uVar8,local_38,local_2e,local_42);\n      fflush(*(FILE **)(iVar2 + 0x584));\n      goto LAB_0001d1c8;\n    }\n    uVar8 = 1;\n    FUN_0004a0b0();\n    local_d8 = (**(code **)(iVar2 + 0x5f4))\n                         (*(undefined4 *)(iVar2 + 0x62c),(double)*(longlong *)(iVar2 + 0xb44),\n                          (double)*(longlong *)(iVar2 + 0xb54),(double)*(longlong *)(iVar2 + 0xb4c),\n                          (double)*(longlong *)(iVar2 + 0xb5c),uVar8);\n  }" ({ "{") (if_statement "if (*(int *)(iVar2 + 0x5f4) == 0) {\n      local_d8 = 0;\n      if (!bVar3) goto LAB_0001d1c8;\n      if ((uVar7 & 0x80) == 0) {\n        if (*(int *)(iVar2 + 0xebc) != 0 || *(int *)(iVar2 + 0xeb8) != 0) {\n          curl_mfprintf();\n        }\n        curl_mfprintf();\n        uVar7 = *(uint *)(iVar2 + 0xb74) | 0x80;\n        *(uint *)(iVar2 + 0xb74) = uVar7;\n      }\n      if (((uVar7 & 0x20) == 0) ||\n         ((int)(uint)(*(int *)(iVar2 + 0xb84) != 0) <= -*(int *)(iVar2 + 0xb88))) {\n        if (((uVar7 & 0x40) != 0) &&\n           (-*(int *)(iVar2 + 0xb80) < (int)(uint)(*(int *)(iVar2 + 0xb7c) != 0))) {\n          uVar20 = 0;\n          goto LAB_0001d331;\n        }\n        uVar20 = 0;\n        uVar21 = 0;\n      }\n      else {\n        uVar13 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n        FUN_00082b40();\n        if (-iVar17 < (int)(uint)(10000 < uVar13)) {\n          FUN_00082b40();\n          uVar20 = FUN_00082b40();\n        }\n        else {\n          uVar20 = 0;\n          if (-iVar17 < (int)(uint)(uVar13 != 0)) {\n            uVar20 = FUN_00082b40();\n          }\n        }\n        if (((uVar7 & 0x40) == 0) ||\n           ((int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80))) {\n          uVar21 = 0;\n        }\n        else {\nLAB_0001d331:\n          uVar7 = *(uint *)(iVar2 + 0xb44);\n          iVar17 = *(int *)(iVar2 + 0xb48);\n          FUN_00082b40();\n          if (-iVar17 < (int)(uint)(10000 < uVar7)) {\n            FUN_00082b40();\n            uVar21 = FUN_00082b40();\n          }\n          else {\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }\n        }\n      }\n      FUN_0001c490();\n      FUN_0001c490();\n      FUN_0001c490();\n      if ((*(uint *)(iVar2 + 0xb74) & 0x20) == 0) {\n        uVar7 = *(uint *)(iVar2 + 0xb5c);\n        iVar17 = *(int *)(iVar2 + 0xb60);\n      }\n      else {\n        uVar7 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n      }\n      uVar13 = *(uint *)(iVar2 + 0xb54);\n      iVar15 = *(int *)(iVar2 + 0xb58);\n      if ((*(uint *)(iVar2 + 0xb74) & 0x40) != 0) {\n        uVar13 = *(uint *)(iVar2 + 0xb44);\n        iVar15 = *(int *)(iVar2 + 0xb48);\n      }\n      iVar17 = iVar17 + iVar15 + (uint)CARRY4(uVar7,uVar13);\n      if (-iVar17 < (int)(uint)(10000 < uVar7 + uVar13)) {\n        FUN_00082b40();\n        uVar22 = FUN_00082b40();\n      }\n      else {\n        uVar22 = 0;\n        if (-iVar17 < (int)(uint)(uVar7 + uVar13 != 0)) {\n          uVar22 = FUN_00082b40();\n        }\n      }\n      FUN_0001c620();\n      uVar8 = FUN_0001c620();\n      uVar9 = FUN_0001c620();\n      uVar10 = FUN_0001c620();\n      uVar11 = FUN_0001c620();\n      uVar12 = FUN_0001c620();\n      curl_mfprintf(*(undefined4 *)(iVar2 + 0x584),local_dc + -0x3333c,uVar22,uVar12,uVar21,uVar11,\n                    uVar20,uVar10,uVar9,uVar8,local_38,local_2e,local_42);\n      fflush(*(FILE **)(iVar2 + 0x584));\n      goto LAB_0001d1c8;\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar2 + 0x5f4) == 0)" (( "(") (binary_expression "*(int *)(iVar2 + 0x5f4) == 0" (pointer_expression "*(int *)(iVar2 + 0x5f4)" (* "*") (cast_expression "(int *)(iVar2 + 0x5f4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x5f4)" (( "(") (binary_expression "iVar2 + 0x5f4" (identifier "iVar2") (+ "+") (number_literal "0x5f4")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      local_d8 = 0;\n      if (!bVar3) goto LAB_0001d1c8;\n      if ((uVar7 & 0x80) == 0) {\n        if (*(int *)(iVar2 + 0xebc) != 0 || *(int *)(iVar2 + 0xeb8) != 0) {\n          curl_mfprintf();\n        }\n        curl_mfprintf();\n        uVar7 = *(uint *)(iVar2 + 0xb74) | 0x80;\n        *(uint *)(iVar2 + 0xb74) = uVar7;\n      }\n      if (((uVar7 & 0x20) == 0) ||\n         ((int)(uint)(*(int *)(iVar2 + 0xb84) != 0) <= -*(int *)(iVar2 + 0xb88))) {\n        if (((uVar7 & 0x40) != 0) &&\n           (-*(int *)(iVar2 + 0xb80) < (int)(uint)(*(int *)(iVar2 + 0xb7c) != 0))) {\n          uVar20 = 0;\n          goto LAB_0001d331;\n        }\n        uVar20 = 0;\n        uVar21 = 0;\n      }\n      else {\n        uVar13 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n        FUN_00082b40();\n        if (-iVar17 < (int)(uint)(10000 < uVar13)) {\n          FUN_00082b40();\n          uVar20 = FUN_00082b40();\n        }\n        else {\n          uVar20 = 0;\n          if (-iVar17 < (int)(uint)(uVar13 != 0)) {\n            uVar20 = FUN_00082b40();\n          }\n        }\n        if (((uVar7 & 0x40) == 0) ||\n           ((int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80))) {\n          uVar21 = 0;\n        }\n        else {\nLAB_0001d331:\n          uVar7 = *(uint *)(iVar2 + 0xb44);\n          iVar17 = *(int *)(iVar2 + 0xb48);\n          FUN_00082b40();\n          if (-iVar17 < (int)(uint)(10000 < uVar7)) {\n            FUN_00082b40();\n            uVar21 = FUN_00082b40();\n          }\n          else {\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }\n        }\n      }\n      FUN_0001c490();\n      FUN_0001c490();\n      FUN_0001c490();\n      if ((*(uint *)(iVar2 + 0xb74) & 0x20) == 0) {\n        uVar7 = *(uint *)(iVar2 + 0xb5c);\n        iVar17 = *(int *)(iVar2 + 0xb60);\n      }\n      else {\n        uVar7 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n      }\n      uVar13 = *(uint *)(iVar2 + 0xb54);\n      iVar15 = *(int *)(iVar2 + 0xb58);\n      if ((*(uint *)(iVar2 + 0xb74) & 0x40) != 0) {\n        uVar13 = *(uint *)(iVar2 + 0xb44);\n        iVar15 = *(int *)(iVar2 + 0xb48);\n      }\n      iVar17 = iVar17 + iVar15 + (uint)CARRY4(uVar7,uVar13);\n      if (-iVar17 < (int)(uint)(10000 < uVar7 + uVar13)) {\n        FUN_00082b40();\n        uVar22 = FUN_00082b40();\n      }\n      else {\n        uVar22 = 0;\n        if (-iVar17 < (int)(uint)(uVar7 + uVar13 != 0)) {\n          uVar22 = FUN_00082b40();\n        }\n      }\n      FUN_0001c620();\n      uVar8 = FUN_0001c620();\n      uVar9 = FUN_0001c620();\n      uVar10 = FUN_0001c620();\n      uVar11 = FUN_0001c620();\n      uVar12 = FUN_0001c620();\n      curl_mfprintf(*(undefined4 *)(iVar2 + 0x584),local_dc + -0x3333c,uVar22,uVar12,uVar21,uVar11,\n                    uVar20,uVar10,uVar9,uVar8,local_38,local_2e,local_42);\n      fflush(*(FILE **)(iVar2 + 0x584));\n      goto LAB_0001d1c8;\n    }" ({ "{") (expression_statement "local_d8 = 0;" (assignment_expression "local_d8 = 0" (identifier "local_d8") (= "=") (number_literal "0")) (; ";")) (if_statement "if (!bVar3) goto LAB_0001d1c8;" (if "if") (parenthesized_expression "(!bVar3)" (( "(") (unary_expression "!bVar3" (! "!") (identifier "bVar3")) () ")")) (goto_statement "goto LAB_0001d1c8;" (goto "goto") (statement_identifier "LAB_0001d1c8") (; ";"))) (if_statement "if ((uVar7 & 0x80) == 0) {\n        if (*(int *)(iVar2 + 0xebc) != 0 || *(int *)(iVar2 + 0xeb8) != 0) {\n          curl_mfprintf();\n        }\n        curl_mfprintf();\n        uVar7 = *(uint *)(iVar2 + 0xb74) | 0x80;\n        *(uint *)(iVar2 + 0xb74) = uVar7;\n      }" (if "if") (parenthesized_expression "((uVar7 & 0x80) == 0)" (( "(") (binary_expression "(uVar7 & 0x80) == 0" (parenthesized_expression "(uVar7 & 0x80)" (( "(") (binary_expression "uVar7 & 0x80" (identifier "uVar7") (& "&") (number_literal "0x80")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if (*(int *)(iVar2 + 0xebc) != 0 || *(int *)(iVar2 + 0xeb8) != 0) {\n          curl_mfprintf();\n        }\n        curl_mfprintf();\n        uVar7 = *(uint *)(iVar2 + 0xb74) | 0x80;\n        *(uint *)(iVar2 + 0xb74) = uVar7;\n      }" ({ "{") (if_statement "if (*(int *)(iVar2 + 0xebc) != 0 || *(int *)(iVar2 + 0xeb8) != 0) {\n          curl_mfprintf();\n        }" (if "if") (parenthesized_expression "(*(int *)(iVar2 + 0xebc) != 0 || *(int *)(iVar2 + 0xeb8) != 0)" (( "(") (binary_expression "*(int *)(iVar2 + 0xebc) != 0 || *(int *)(iVar2 + 0xeb8) != 0" (binary_expression "*(int *)(iVar2 + 0xebc) != 0" (pointer_expression "*(int *)(iVar2 + 0xebc)" (* "*") (cast_expression "(int *)(iVar2 + 0xebc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xebc)" (( "(") (binary_expression "iVar2 + 0xebc" (identifier "iVar2") (+ "+") (number_literal "0xebc")) () ")")))) (!= "!=") (number_literal "0")) (|| "||") (binary_expression "*(int *)(iVar2 + 0xeb8) != 0" (pointer_expression "*(int *)(iVar2 + 0xeb8)" (* "*") (cast_expression "(int *)(iVar2 + 0xeb8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xeb8)" (( "(") (binary_expression "iVar2 + 0xeb8" (identifier "iVar2") (+ "+") (number_literal "0xeb8")) () ")")))) (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n          curl_mfprintf();\n        }" ({ "{") (expression_statement "curl_mfprintf();" (call_expression "curl_mfprintf()" (identifier "curl_mfprintf") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "curl_mfprintf();" (call_expression "curl_mfprintf()" (identifier "curl_mfprintf") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar7 = *(uint *)(iVar2 + 0xb74) | 0x80;" (assignment_expression "uVar7 = *(uint *)(iVar2 + 0xb74) | 0x80" (identifier "uVar7") (= "=") (binary_expression "*(uint *)(iVar2 + 0xb74) | 0x80" (pointer_expression "*(uint *)(iVar2 + 0xb74)" (* "*") (cast_expression "(uint *)(iVar2 + 0xb74)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb74)" (( "(") (binary_expression "iVar2 + 0xb74" (identifier "iVar2") (+ "+") (number_literal "0xb74")) () ")")))) (| "|") (number_literal "0x80"))) (; ";")) (expression_statement "*(uint *)(iVar2 + 0xb74) = uVar7;" (assignment_expression "*(uint *)(iVar2 + 0xb74) = uVar7" (pointer_expression "*(uint *)(iVar2 + 0xb74)" (* "*") (cast_expression "(uint *)(iVar2 + 0xb74)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb74)" (( "(") (binary_expression "iVar2 + 0xb74" (identifier "iVar2") (+ "+") (number_literal "0xb74")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (} "}"))) (if_statement "if (((uVar7 & 0x20) == 0) ||\n         ((int)(uint)(*(int *)(iVar2 + 0xb84) != 0) <= -*(int *)(iVar2 + 0xb88))) {\n        if (((uVar7 & 0x40) != 0) &&\n           (-*(int *)(iVar2 + 0xb80) < (int)(uint)(*(int *)(iVar2 + 0xb7c) != 0))) {\n          uVar20 = 0;\n          goto LAB_0001d331;\n        }\n        uVar20 = 0;\n        uVar21 = 0;\n      }\n      else {\n        uVar13 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n        FUN_00082b40();\n        if (-iVar17 < (int)(uint)(10000 < uVar13)) {\n          FUN_00082b40();\n          uVar20 = FUN_00082b40();\n        }\n        else {\n          uVar20 = 0;\n          if (-iVar17 < (int)(uint)(uVar13 != 0)) {\n            uVar20 = FUN_00082b40();\n          }\n        }\n        if (((uVar7 & 0x40) == 0) ||\n           ((int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80))) {\n          uVar21 = 0;\n        }\n        else {\nLAB_0001d331:\n          uVar7 = *(uint *)(iVar2 + 0xb44);\n          iVar17 = *(int *)(iVar2 + 0xb48);\n          FUN_00082b40();\n          if (-iVar17 < (int)(uint)(10000 < uVar7)) {\n            FUN_00082b40();\n            uVar21 = FUN_00082b40();\n          }\n          else {\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }\n        }\n      }" (if "if") (parenthesized_expression "(((uVar7 & 0x20) == 0) ||\n         ((int)(uint)(*(int *)(iVar2 + 0xb84) != 0) <= -*(int *)(iVar2 + 0xb88)))" (( "(") (binary_expression "((uVar7 & 0x20) == 0) ||\n         ((int)(uint)(*(int *)(iVar2 + 0xb84) != 0) <= -*(int *)(iVar2 + 0xb88))" (parenthesized_expression "((uVar7 & 0x20) == 0)" (( "(") (binary_expression "(uVar7 & 0x20) == 0" (parenthesized_expression "(uVar7 & 0x20)" (( "(") (binary_expression "uVar7 & 0x20" (identifier "uVar7") (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((int)(uint)(*(int *)(iVar2 + 0xb84) != 0) <= -*(int *)(iVar2 + 0xb88))" (( "(") (binary_expression "(int)(uint)(*(int *)(iVar2 + 0xb84) != 0) <= -*(int *)(iVar2 + 0xb88)" (cast_expression "(int)(uint)(*(int *)(iVar2 + 0xb84) != 0)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "(uint)(*(int *)(iVar2 + 0xb84) != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(iVar2 + 0xb84) != 0)" (( "(") (binary_expression "*(int *)(iVar2 + 0xb84) != 0" (pointer_expression "*(int *)(iVar2 + 0xb84)" (* "*") (cast_expression "(int *)(iVar2 + 0xb84)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb84)" (( "(") (binary_expression "iVar2 + 0xb84" (identifier "iVar2") (+ "+") (number_literal "0xb84")) () ")")))) (!= "!=") (number_literal "0")) () ")")))) (<= "<=") (unary_expression "-*(int *)(iVar2 + 0xb88)" (- "-") (pointer_expression "*(int *)(iVar2 + 0xb88)" (* "*") (cast_expression "(int *)(iVar2 + 0xb88)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb88)" (( "(") (binary_expression "iVar2 + 0xb88" (identifier "iVar2") (+ "+") (number_literal "0xb88")) () ")")))))) () ")"))) () ")")) (compound_statement "{\n        if (((uVar7 & 0x40) != 0) &&\n           (-*(int *)(iVar2 + 0xb80) < (int)(uint)(*(int *)(iVar2 + 0xb7c) != 0))) {\n          uVar20 = 0;\n          goto LAB_0001d331;\n        }\n        uVar20 = 0;\n        uVar21 = 0;\n      }" ({ "{") (if_statement "if (((uVar7 & 0x40) != 0) &&\n           (-*(int *)(iVar2 + 0xb80) < (int)(uint)(*(int *)(iVar2 + 0xb7c) != 0))) {\n          uVar20 = 0;\n          goto LAB_0001d331;\n        }" (if "if") (parenthesized_expression "(((uVar7 & 0x40) != 0) &&\n           (-*(int *)(iVar2 + 0xb80) < (int)(uint)(*(int *)(iVar2 + 0xb7c) != 0)))" (( "(") (binary_expression "((uVar7 & 0x40) != 0) &&\n           (-*(int *)(iVar2 + 0xb80) < (int)(uint)(*(int *)(iVar2 + 0xb7c) != 0))" (parenthesized_expression "((uVar7 & 0x40) != 0)" (( "(") (binary_expression "(uVar7 & 0x40) != 0" (parenthesized_expression "(uVar7 & 0x40)" (( "(") (binary_expression "uVar7 & 0x40" (identifier "uVar7") (& "&") (number_literal "0x40")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(-*(int *)(iVar2 + 0xb80) < (int)(uint)(*(int *)(iVar2 + 0xb7c) != 0))" (( "(") (binary_expression "-*(int *)(iVar2 + 0xb80) < (int)(uint)(*(int *)(iVar2 + 0xb7c) != 0)" (unary_expression "-*(int *)(iVar2 + 0xb80)" (- "-") (pointer_expression "*(int *)(iVar2 + 0xb80)" (* "*") (cast_expression "(int *)(iVar2 + 0xb80)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb80)" (( "(") (binary_expression "iVar2 + 0xb80" (identifier "iVar2") (+ "+") (number_literal "0xb80")) () ")"))))) (< "<") (cast_expression "(int)(uint)(*(int *)(iVar2 + 0xb7c) != 0)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "(uint)(*(int *)(iVar2 + 0xb7c) != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(iVar2 + 0xb7c) != 0)" (( "(") (binary_expression "*(int *)(iVar2 + 0xb7c) != 0" (pointer_expression "*(int *)(iVar2 + 0xb7c)" (* "*") (cast_expression "(int *)(iVar2 + 0xb7c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb7c)" (( "(") (binary_expression "iVar2 + 0xb7c" (identifier "iVar2") (+ "+") (number_literal "0xb7c")) () ")")))) (!= "!=") (number_literal "0")) () ")"))))) () ")"))) () ")")) (compound_statement "{\n          uVar20 = 0;\n          goto LAB_0001d331;\n        }" ({ "{") (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" (identifier "uVar20") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0001d331;" (goto "goto") (statement_identifier "LAB_0001d331") (; ";")) (} "}"))) (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" (identifier "uVar20") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" (identifier "uVar21") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n        uVar13 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n        FUN_00082b40();\n        if (-iVar17 < (int)(uint)(10000 < uVar13)) {\n          FUN_00082b40();\n          uVar20 = FUN_00082b40();\n        }\n        else {\n          uVar20 = 0;\n          if (-iVar17 < (int)(uint)(uVar13 != 0)) {\n            uVar20 = FUN_00082b40();\n          }\n        }\n        if (((uVar7 & 0x40) == 0) ||\n           ((int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80))) {\n          uVar21 = 0;\n        }\n        else {\nLAB_0001d331:\n          uVar7 = *(uint *)(iVar2 + 0xb44);\n          iVar17 = *(int *)(iVar2 + 0xb48);\n          FUN_00082b40();\n          if (-iVar17 < (int)(uint)(10000 < uVar7)) {\n            FUN_00082b40();\n            uVar21 = FUN_00082b40();\n          }\n          else {\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }\n        }\n      }" (else "else") (compound_statement "{\n        uVar13 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n        FUN_00082b40();\n        if (-iVar17 < (int)(uint)(10000 < uVar13)) {\n          FUN_00082b40();\n          uVar20 = FUN_00082b40();\n        }\n        else {\n          uVar20 = 0;\n          if (-iVar17 < (int)(uint)(uVar13 != 0)) {\n            uVar20 = FUN_00082b40();\n          }\n        }\n        if (((uVar7 & 0x40) == 0) ||\n           ((int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80))) {\n          uVar21 = 0;\n        }\n        else {\nLAB_0001d331:\n          uVar7 = *(uint *)(iVar2 + 0xb44);\n          iVar17 = *(int *)(iVar2 + 0xb48);\n          FUN_00082b40();\n          if (-iVar17 < (int)(uint)(10000 < uVar7)) {\n            FUN_00082b40();\n            uVar21 = FUN_00082b40();\n          }\n          else {\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }\n        }\n      }" ({ "{") (expression_statement "uVar13 = *(uint *)(iVar2 + 0xb4c);" (assignment_expression "uVar13 = *(uint *)(iVar2 + 0xb4c)" (identifier "uVar13") (= "=") (pointer_expression "*(uint *)(iVar2 + 0xb4c)" (* "*") (cast_expression "(uint *)(iVar2 + 0xb4c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb4c)" (( "(") (binary_expression "iVar2 + 0xb4c" (identifier "iVar2") (+ "+") (number_literal "0xb4c")) () ")"))))) (; ";")) (expression_statement "iVar17 = *(int *)(iVar2 + 0xb50);" (assignment_expression "iVar17 = *(int *)(iVar2 + 0xb50)" (identifier "iVar17") (= "=") (pointer_expression "*(int *)(iVar2 + 0xb50)" (* "*") (cast_expression "(int *)(iVar2 + 0xb50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb50)" (( "(") (binary_expression "iVar2 + 0xb50" (identifier "iVar2") (+ "+") (number_literal "0xb50")) () ")"))))) (; ";")) (expression_statement "FUN_00082b40();" (call_expression "FUN_00082b40()" (identifier "FUN_00082b40") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (-iVar17 < (int)(uint)(10000 < uVar13)) {\n          FUN_00082b40();\n          uVar20 = FUN_00082b40();\n        }\n        else {\n          uVar20 = 0;\n          if (-iVar17 < (int)(uint)(uVar13 != 0)) {\n            uVar20 = FUN_00082b40();\n          }\n        }" (if "if") (parenthesized_expression "(-iVar17 < (int)(uint)(10000 < uVar13))" (( "(") (binary_expression "-iVar17 < (int)(uint)(10000 < uVar13)" (unary_expression "-iVar17" (- "-") (identifier "iVar17")) (< "<") (cast_expression "(int)(uint)(10000 < uVar13)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "(uint)(10000 < uVar13)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(10000 < uVar13)" (( "(") (binary_expression "10000 < uVar13" (number_literal "10000") (< "<") (identifier "uVar13")) () ")"))))) () ")")) (compound_statement "{\n          FUN_00082b40();\n          uVar20 = FUN_00082b40();\n        }" ({ "{") (expression_statement "FUN_00082b40();" (call_expression "FUN_00082b40()" (identifier "FUN_00082b40") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar20 = FUN_00082b40();" (assignment_expression "uVar20 = FUN_00082b40()" (identifier "uVar20") (= "=") (call_expression "FUN_00082b40()" (identifier "FUN_00082b40") (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")) (else_clause "else {\n          uVar20 = 0;\n          if (-iVar17 < (int)(uint)(uVar13 != 0)) {\n            uVar20 = FUN_00082b40();\n          }\n        }" (else "else") (compound_statement "{\n          uVar20 = 0;\n          if (-iVar17 < (int)(uint)(uVar13 != 0)) {\n            uVar20 = FUN_00082b40();\n          }\n        }" ({ "{") (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" (identifier "uVar20") (= "=") (number_literal "0")) (; ";")) (if_statement "if (-iVar17 < (int)(uint)(uVar13 != 0)) {\n            uVar20 = FUN_00082b40();\n          }" (if "if") (parenthesized_expression "(-iVar17 < (int)(uint)(uVar13 != 0))" (( "(") (binary_expression "-iVar17 < (int)(uint)(uVar13 != 0)" (unary_expression "-iVar17" (- "-") (identifier "iVar17")) (< "<") (cast_expression "(int)(uint)(uVar13 != 0)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "(uint)(uVar13 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar13 != 0)" (( "(") (binary_expression "uVar13 != 0" (identifier "uVar13") (!= "!=") (number_literal "0")) () ")"))))) () ")")) (compound_statement "{\n            uVar20 = FUN_00082b40();\n          }" ({ "{") (expression_statement "uVar20 = FUN_00082b40();" (assignment_expression "uVar20 = FUN_00082b40()" (identifier "uVar20") (= "=") (call_expression "FUN_00082b40()" (identifier "FUN_00082b40") (argument_list "()" (( "(") () ")")))) (; ";")) (} "}"))) (} "}")))) (if_statement "if (((uVar7 & 0x40) == 0) ||\n           ((int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80))) {\n          uVar21 = 0;\n        }\n        else {\nLAB_0001d331:\n          uVar7 = *(uint *)(iVar2 + 0xb44);\n          iVar17 = *(int *)(iVar2 + 0xb48);\n          FUN_00082b40();\n          if (-iVar17 < (int)(uint)(10000 < uVar7)) {\n            FUN_00082b40();\n            uVar21 = FUN_00082b40();\n          }\n          else {\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }\n        }" (if "if") (parenthesized_expression "(((uVar7 & 0x40) == 0) ||\n           ((int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80)))" (( "(") (binary_expression "((uVar7 & 0x40) == 0) ||\n           ((int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80))" (parenthesized_expression "((uVar7 & 0x40) == 0)" (( "(") (binary_expression "(uVar7 & 0x40) == 0" (parenthesized_expression "(uVar7 & 0x40)" (( "(") (binary_expression "uVar7 & 0x40" (identifier "uVar7") (& "&") (number_literal "0x40")) () ")")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80))" (( "(") (binary_expression "(int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80)" (cast_expression "(int)(uint)(*(int *)(iVar2 + 0xb7c) != 0)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "(uint)(*(int *)(iVar2 + 0xb7c) != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(iVar2 + 0xb7c) != 0)" (( "(") (binary_expression "*(int *)(iVar2 + 0xb7c) != 0" (pointer_expression "*(int *)(iVar2 + 0xb7c)" (* "*") (cast_expression "(int *)(iVar2 + 0xb7c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb7c)" (( "(") (binary_expression "iVar2 + 0xb7c" (identifier "iVar2") (+ "+") (number_literal "0xb7c")) () ")")))) (!= "!=") (number_literal "0")) () ")")))) (<= "<=") (unary_expression "-*(int *)(iVar2 + 0xb80)" (- "-") (pointer_expression "*(int *)(iVar2 + 0xb80)" (* "*") (cast_expression "(int *)(iVar2 + 0xb80)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb80)" (( "(") (binary_expression "iVar2 + 0xb80" (identifier "iVar2") (+ "+") (number_literal "0xb80")) () ")")))))) () ")"))) () ")")) (compound_statement "{\n          uVar21 = 0;\n        }" ({ "{") (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" (identifier "uVar21") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\nLAB_0001d331:\n          uVar7 = *(uint *)(iVar2 + 0xb44);\n          iVar17 = *(int *)(iVar2 + 0xb48);\n          FUN_00082b40();\n          if (-iVar17 < (int)(uint)(10000 < uVar7)) {\n            FUN_00082b40();\n            uVar21 = FUN_00082b40();\n          }\n          else {\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }\n        }" (else "else") (compound_statement "{\nLAB_0001d331:\n          uVar7 = *(uint *)(iVar2 + 0xb44);\n          iVar17 = *(int *)(iVar2 + 0xb48);\n          FUN_00082b40();\n          if (-iVar17 < (int)(uint)(10000 < uVar7)) {\n            FUN_00082b40();\n            uVar21 = FUN_00082b40();\n          }\n          else {\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }\n        }" ({ "{") (labeled_statement "LAB_0001d331:\n          uVar7 = *(uint *)(iVar2 + 0xb44);" (statement_identifier "LAB_0001d331") (: ":") (expression_statement "uVar7 = *(uint *)(iVar2 + 0xb44);" (assignment_expression "uVar7 = *(uint *)(iVar2 + 0xb44)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)(iVar2 + 0xb44)" (* "*") (cast_expression "(uint *)(iVar2 + 0xb44)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb44)" (( "(") (binary_expression "iVar2 + 0xb44" (identifier "iVar2") (+ "+") (number_literal "0xb44")) () ")"))))) (; ";"))) (expression_statement "iVar17 = *(int *)(iVar2 + 0xb48);" (assignment_expression "iVar17 = *(int *)(iVar2 + 0xb48)" (identifier "iVar17") (= "=") (pointer_expression "*(int *)(iVar2 + 0xb48)" (* "*") (cast_expression "(int *)(iVar2 + 0xb48)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb48)" (( "(") (binary_expression "iVar2 + 0xb48" (identifier "iVar2") (+ "+") (number_literal "0xb48")) () ")"))))) (; ";")) (expression_statement "FUN_00082b40();" (call_expression "FUN_00082b40()" (identifier "FUN_00082b40") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (-iVar17 < (int)(uint)(10000 < uVar7)) {\n            FUN_00082b40();\n            uVar21 = FUN_00082b40();\n          }\n          else {\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }" (if "if") (parenthesized_expression "(-iVar17 < (int)(uint)(10000 < uVar7))" (( "(") (binary_expression "-iVar17 < (int)(uint)(10000 < uVar7)" (unary_expression "-iVar17" (- "-") (identifier "iVar17")) (< "<") (cast_expression "(int)(uint)(10000 < uVar7)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "(uint)(10000 < uVar7)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(10000 < uVar7)" (( "(") (binary_expression "10000 < uVar7" (number_literal "10000") (< "<") (identifier "uVar7")) () ")"))))) () ")")) (compound_statement "{\n            FUN_00082b40();\n            uVar21 = FUN_00082b40();\n          }" ({ "{") (expression_statement "FUN_00082b40();" (call_expression "FUN_00082b40()" (identifier "FUN_00082b40") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar21 = FUN_00082b40();" (assignment_expression "uVar21 = FUN_00082b40()" (identifier "uVar21") (= "=") (call_expression "FUN_00082b40()" (identifier "FUN_00082b40") (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")) (else_clause "else {\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }" (else "else") (compound_statement "{\n            uVar21 = 0;\n            if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }\n          }" ({ "{") (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" (identifier "uVar21") (= "=") (number_literal "0")) (; ";")) (if_statement "if (-iVar17 < (int)(uint)(uVar7 != 0)) {\n              uVar21 = FUN_00082b40();\n            }" (if "if") (parenthesized_expression "(-iVar17 < (int)(uint)(uVar7 != 0))" (( "(") (binary_expression "-iVar17 < (int)(uint)(uVar7 != 0)" (unary_expression "-iVar17" (- "-") (identifier "iVar17")) (< "<") (cast_expression "(int)(uint)(uVar7 != 0)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "(uint)(uVar7 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar7 != 0)" (( "(") (binary_expression "uVar7 != 0" (identifier "uVar7") (!= "!=") (number_literal "0")) () ")"))))) () ")")) (compound_statement "{\n              uVar21 = FUN_00082b40();\n            }" ({ "{") (expression_statement "uVar21 = FUN_00082b40();" (assignment_expression "uVar21 = FUN_00082b40()" (identifier "uVar21") (= "=") (call_expression "FUN_00082b40()" (identifier "FUN_00082b40") (argument_list "()" (( "(") () ")")))) (; ";")) (} "}"))) (} "}")))) (} "}")))) (} "}")))) (expression_statement "FUN_0001c490();" (call_expression "FUN_0001c490()" (identifier "FUN_0001c490") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0001c490();" (call_expression "FUN_0001c490()" (identifier "FUN_0001c490") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0001c490();" (call_expression "FUN_0001c490()" (identifier "FUN_0001c490") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if ((*(uint *)(iVar2 + 0xb74) & 0x20) == 0) {\n        uVar7 = *(uint *)(iVar2 + 0xb5c);\n        iVar17 = *(int *)(iVar2 + 0xb60);\n      }\n      else {\n        uVar7 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n      }" (if "if") (parenthesized_expression "((*(uint *)(iVar2 + 0xb74) & 0x20) == 0)" (( "(") (binary_expression "(*(uint *)(iVar2 + 0xb74) & 0x20) == 0" (parenthesized_expression "(*(uint *)(iVar2 + 0xb74) & 0x20)" (( "(") (binary_expression "*(uint *)(iVar2 + 0xb74) & 0x20" (pointer_expression "*(uint *)(iVar2 + 0xb74)" (* "*") (cast_expression "(uint *)(iVar2 + 0xb74)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb74)" (( "(") (binary_expression "iVar2 + 0xb74" (identifier "iVar2") (+ "+") (number_literal "0xb74")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar7 = *(uint *)(iVar2 + 0xb5c);\n        iVar17 = *(int *)(iVar2 + 0xb60);\n      }" ({ "{") (expression_statement "uVar7 = *(uint *)(iVar2 + 0xb5c);" (assignment_expression "uVar7 = *(uint *)(iVar2 + 0xb5c)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)(iVar2 + 0xb5c)" (* "*") (cast_expression "(uint *)(iVar2 + 0xb5c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb5c)" (( "(") (binary_expression "iVar2 + 0xb5c" (identifier "iVar2") (+ "+") (number_literal "0xb5c")) () ")"))))) (; ";")) (expression_statement "iVar17 = *(int *)(iVar2 + 0xb60);" (assignment_expression "iVar17 = *(int *)(iVar2 + 0xb60)" (identifier "iVar17") (= "=") (pointer_expression "*(int *)(iVar2 + 0xb60)" (* "*") (cast_expression "(int *)(iVar2 + 0xb60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb60)" (( "(") (binary_expression "iVar2 + 0xb60" (identifier "iVar2") (+ "+") (number_literal "0xb60")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n        uVar7 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n      }" (else "else") (compound_statement "{\n        uVar7 = *(uint *)(iVar2 + 0xb4c);\n        iVar17 = *(int *)(iVar2 + 0xb50);\n      }" ({ "{") (expression_statement "uVar7 = *(uint *)(iVar2 + 0xb4c);" (assignment_expression "uVar7 = *(uint *)(iVar2 + 0xb4c)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)(iVar2 + 0xb4c)" (* "*") (cast_expression "(uint *)(iVar2 + 0xb4c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb4c)" (( "(") (binary_expression "iVar2 + 0xb4c" (identifier "iVar2") (+ "+") (number_literal "0xb4c")) () ")"))))) (; ";")) (expression_statement "iVar17 = *(int *)(iVar2 + 0xb50);" (assignment_expression "iVar17 = *(int *)(iVar2 + 0xb50)" (identifier "iVar17") (= "=") (pointer_expression "*(int *)(iVar2 + 0xb50)" (* "*") (cast_expression "(int *)(iVar2 + 0xb50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb50)" (( "(") (binary_expression "iVar2 + 0xb50" (identifier "iVar2") (+ "+") (number_literal "0xb50")) () ")"))))) (; ";")) (} "}")))) (expression_statement "uVar13 = *(uint *)(iVar2 + 0xb54);" (assignment_expression "uVar13 = *(uint *)(iVar2 + 0xb54)" (identifier "uVar13") (= "=") (pointer_expression "*(uint *)(iVar2 + 0xb54)" (* "*") (cast_expression "(uint *)(iVar2 + 0xb54)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb54)" (( "(") (binary_expression "iVar2 + 0xb54" (identifier "iVar2") (+ "+") (number_literal "0xb54")) () ")"))))) (; ";")) (expression_statement "iVar15 = *(int *)(iVar2 + 0xb58);" (assignment_expression "iVar15 = *(int *)(iVar2 + 0xb58)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(iVar2 + 0xb58)" (* "*") (cast_expression "(int *)(iVar2 + 0xb58)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb58)" (( "(") (binary_expression "iVar2 + 0xb58" (identifier "iVar2") (+ "+") (number_literal "0xb58")) () ")"))))) (; ";")) (if_statement "if ((*(uint *)(iVar2 + 0xb74) & 0x40) != 0) {\n        uVar13 = *(uint *)(iVar2 + 0xb44);\n        iVar15 = *(int *)(iVar2 + 0xb48);\n      }" (if "if") (parenthesized_expression "((*(uint *)(iVar2 + 0xb74) & 0x40) != 0)" (( "(") (binary_expression "(*(uint *)(iVar2 + 0xb74) & 0x40) != 0" (parenthesized_expression "(*(uint *)(iVar2 + 0xb74) & 0x40)" (( "(") (binary_expression "*(uint *)(iVar2 + 0xb74) & 0x40" (pointer_expression "*(uint *)(iVar2 + 0xb74)" (* "*") (cast_expression "(uint *)(iVar2 + 0xb74)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb74)" (( "(") (binary_expression "iVar2 + 0xb74" (identifier "iVar2") (+ "+") (number_literal "0xb74")) () ")")))) (& "&") (number_literal "0x40")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar13 = *(uint *)(iVar2 + 0xb44);\n        iVar15 = *(int *)(iVar2 + 0xb48);\n      }" ({ "{") (expression_statement "uVar13 = *(uint *)(iVar2 + 0xb44);" (assignment_expression "uVar13 = *(uint *)(iVar2 + 0xb44)" (identifier "uVar13") (= "=") (pointer_expression "*(uint *)(iVar2 + 0xb44)" (* "*") (cast_expression "(uint *)(iVar2 + 0xb44)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb44)" (( "(") (binary_expression "iVar2 + 0xb44" (identifier "iVar2") (+ "+") (number_literal "0xb44")) () ")"))))) (; ";")) (expression_statement "iVar15 = *(int *)(iVar2 + 0xb48);" (assignment_expression "iVar15 = *(int *)(iVar2 + 0xb48)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(iVar2 + 0xb48)" (* "*") (cast_expression "(int *)(iVar2 + 0xb48)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb48)" (( "(") (binary_expression "iVar2 + 0xb48" (identifier "iVar2") (+ "+") (number_literal "0xb48")) () ")"))))) (; ";")) (} "}"))) (expression_statement "iVar17 = iVar17 + iVar15 + (uint)CARRY4(uVar7,uVar13);" (assignment_expression "iVar17 = iVar17 + iVar15 + (uint)CARRY4(uVar7,uVar13)" (identifier "iVar17") (= "=") (binary_expression "iVar17 + iVar15 + (uint)CARRY4(uVar7,uVar13)" (binary_expression "iVar17 + iVar15" (identifier "iVar17") (+ "+") (identifier "iVar15")) (+ "+") (cast_expression "(uint)CARRY4(uVar7,uVar13)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar7,uVar13)" (identifier "CARRY4") (argument_list "(uVar7,uVar13)" (( "(") (identifier "uVar7") (, ",") (identifier "uVar13") () ")")))))) (; ";")) (if_statement "if (-iVar17 < (int)(uint)(10000 < uVar7 + uVar13)) {\n        FUN_00082b40();\n        uVar22 = FUN_00082b40();\n      }\n      else {\n        uVar22 = 0;\n        if (-iVar17 < (int)(uint)(uVar7 + uVar13 != 0)) {\n          uVar22 = FUN_00082b40();\n        }\n      }" (if "if") (parenthesized_expression "(-iVar17 < (int)(uint)(10000 < uVar7 + uVar13))" (( "(") (binary_expression "-iVar17 < (int)(uint)(10000 < uVar7 + uVar13)" (unary_expression "-iVar17" (- "-") (identifier "iVar17")) (< "<") (cast_expression "(int)(uint)(10000 < uVar7 + uVar13)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "(uint)(10000 < uVar7 + uVar13)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(10000 < uVar7 + uVar13)" (( "(") (binary_expression "10000 < uVar7 + uVar13" (number_literal "10000") (< "<") (binary_expression "uVar7 + uVar13" (identifier "uVar7") (+ "+") (identifier "uVar13"))) () ")"))))) () ")")) (compound_statement "{\n        FUN_00082b40();\n        uVar22 = FUN_00082b40();\n      }" ({ "{") (expression_statement "FUN_00082b40();" (call_expression "FUN_00082b40()" (identifier "FUN_00082b40") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar22 = FUN_00082b40();" (assignment_expression "uVar22 = FUN_00082b40()" (identifier "uVar22") (= "=") (call_expression "FUN_00082b40()" (identifier "FUN_00082b40") (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")) (else_clause "else {\n        uVar22 = 0;\n        if (-iVar17 < (int)(uint)(uVar7 + uVar13 != 0)) {\n          uVar22 = FUN_00082b40();\n        }\n      }" (else "else") (compound_statement "{\n        uVar22 = 0;\n        if (-iVar17 < (int)(uint)(uVar7 + uVar13 != 0)) {\n          uVar22 = FUN_00082b40();\n        }\n      }" ({ "{") (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" (identifier "uVar22") (= "=") (number_literal "0")) (; ";")) (if_statement "if (-iVar17 < (int)(uint)(uVar7 + uVar13 != 0)) {\n          uVar22 = FUN_00082b40();\n        }" (if "if") (parenthesized_expression "(-iVar17 < (int)(uint)(uVar7 + uVar13 != 0))" (( "(") (binary_expression "-iVar17 < (int)(uint)(uVar7 + uVar13 != 0)" (unary_expression "-iVar17" (- "-") (identifier "iVar17")) (< "<") (cast_expression "(int)(uint)(uVar7 + uVar13 != 0)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "(uint)(uVar7 + uVar13 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar7 + uVar13 != 0)" (( "(") (binary_expression "uVar7 + uVar13 != 0" (binary_expression "uVar7 + uVar13" (identifier "uVar7") (+ "+") (identifier "uVar13")) (!= "!=") (number_literal "0")) () ")"))))) () ")")) (compound_statement "{\n          uVar22 = FUN_00082b40();\n        }" ({ "{") (expression_statement "uVar22 = FUN_00082b40();" (assignment_expression "uVar22 = FUN_00082b40()" (identifier "uVar22") (= "=") (call_expression "FUN_00082b40()" (identifier "FUN_00082b40") (argument_list "()" (( "(") () ")")))) (; ";")) (} "}"))) (} "}")))) (expression_statement "FUN_0001c620();" (call_expression "FUN_0001c620()" (identifier "FUN_0001c620") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar8 = FUN_0001c620();" (assignment_expression "uVar8 = FUN_0001c620()" (identifier "uVar8") (= "=") (call_expression "FUN_0001c620()" (identifier "FUN_0001c620") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar9 = FUN_0001c620();" (assignment_expression "uVar9 = FUN_0001c620()" (identifier "uVar9") (= "=") (call_expression "FUN_0001c620()" (identifier "FUN_0001c620") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar10 = FUN_0001c620();" (assignment_expression "uVar10 = FUN_0001c620()" (identifier "uVar10") (= "=") (call_expression "FUN_0001c620()" (identifier "FUN_0001c620") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar11 = FUN_0001c620();" (assignment_expression "uVar11 = FUN_0001c620()" (identifier "uVar11") (= "=") (call_expression "FUN_0001c620()" (identifier "FUN_0001c620") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar12 = FUN_0001c620();" (assignment_expression "uVar12 = FUN_0001c620()" (identifier "uVar12") (= "=") (call_expression "FUN_0001c620()" (identifier "FUN_0001c620") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "curl_mfprintf(*(undefined4 *)(iVar2 + 0x584),local_dc + -0x3333c,uVar22,uVar12,uVar21,uVar11,\n                    uVar20,uVar10,uVar9,uVar8,local_38,local_2e,local_42);" (call_expression "curl_mfprintf(*(undefined4 *)(iVar2 + 0x584),local_dc + -0x3333c,uVar22,uVar12,uVar21,uVar11,\n                    uVar20,uVar10,uVar9,uVar8,local_38,local_2e,local_42)" (identifier "curl_mfprintf") (argument_list "(*(undefined4 *)(iVar2 + 0x584),local_dc + -0x3333c,uVar22,uVar12,uVar21,uVar11,\n                    uVar20,uVar10,uVar9,uVar8,local_38,local_2e,local_42)" (( "(") (pointer_expression "*(undefined4 *)(iVar2 + 0x584)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 0x584)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x584)" (( "(") (binary_expression "iVar2 + 0x584" (identifier "iVar2") (+ "+") (number_literal "0x584")) () ")")))) (, ",") (binary_expression "local_dc + -0x3333c" (identifier "local_dc") (+ "+") (number_literal "-0x3333c")) (, ",") (identifier "uVar22") (, ",") (identifier "uVar12") (, ",") (identifier "uVar21") (, ",") (identifier "uVar11") (, ",") (identifier "uVar20") (, ",") (identifier "uVar10") (, ",") (identifier "uVar9") (, ",") (identifier "uVar8") (, ",") (identifier "local_38") (, ",") (identifier "local_2e") (, ",") (identifier "local_42") () ")"))) (; ";")) (expression_statement "fflush(*(FILE **)(iVar2 + 0x584));" (call_expression "fflush(*(FILE **)(iVar2 + 0x584))" (identifier "fflush") (argument_list "(*(FILE **)(iVar2 + 0x584))" (( "(") (pointer_expression "*(FILE **)(iVar2 + 0x584)" (* "*") (cast_expression "(FILE **)(iVar2 + 0x584)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar2 + 0x584)" (( "(") (binary_expression "iVar2 + 0x584" (identifier "iVar2") (+ "+") (number_literal "0x584")) () ")")))) () ")"))) (; ";")) (goto_statement "goto LAB_0001d1c8;" (goto "goto") (statement_identifier "LAB_0001d1c8") (; ";")) (} "}"))) (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" (identifier "uVar8") (= "=") (number_literal "1")) (; ";")) (expression_statement "FUN_0004a0b0();" (call_expression "FUN_0004a0b0()" (identifier "FUN_0004a0b0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_d8 = (**(code **)(iVar2 + 0x5f4))\n                         (*(undefined4 *)(iVar2 + 0x62c),(double)*(longlong *)(iVar2 + 0xb44),\n                          (double)*(longlong *)(iVar2 + 0xb54),(double)*(longlong *)(iVar2 + 0xb4c),\n                          (double)*(longlong *)(iVar2 + 0xb5c),uVar8);" (assignment_expression "local_d8 = (**(code **)(iVar2 + 0x5f4))\n                         (*(undefined4 *)(iVar2 + 0x62c),(double)*(longlong *)(iVar2 + 0xb44),\n                          (double)*(longlong *)(iVar2 + 0xb54),(double)*(longlong *)(iVar2 + 0xb4c),\n                          (double)*(longlong *)(iVar2 + 0xb5c),uVar8)" (identifier "local_d8") (= "=") (call_expression "(**(code **)(iVar2 + 0x5f4))\n                         (*(undefined4 *)(iVar2 + 0x62c),(double)*(longlong *)(iVar2 + 0xb44),\n                          (double)*(longlong *)(iVar2 + 0xb54),(double)*(longlong *)(iVar2 + 0xb4c),\n                          (double)*(longlong *)(iVar2 + 0xb5c),uVar8)" (parenthesized_expression "(**(code **)(iVar2 + 0x5f4))" (( "(") (pointer_expression "**(code **)(iVar2 + 0x5f4)" (* "*") (pointer_expression "*(code **)(iVar2 + 0x5f4)" (* "*") (cast_expression "(code **)(iVar2 + 0x5f4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar2 + 0x5f4)" (( "(") (binary_expression "iVar2 + 0x5f4" (identifier "iVar2") (+ "+") (number_literal "0x5f4")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar2 + 0x62c),(double)*(longlong *)(iVar2 + 0xb44),\n                          (double)*(longlong *)(iVar2 + 0xb54),(double)*(longlong *)(iVar2 + 0xb4c),\n                          (double)*(longlong *)(iVar2 + 0xb5c),uVar8)" (( "(") (pointer_expression "*(undefined4 *)(iVar2 + 0x62c)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 0x62c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x62c)" (( "(") (binary_expression "iVar2 + 0x62c" (identifier "iVar2") (+ "+") (number_literal "0x62c")) () ")")))) (, ",") (cast_expression "(double)*(longlong *)(iVar2 + 0xb44)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(longlong *)(iVar2 + 0xb44)" (* "*") (cast_expression "(longlong *)(iVar2 + 0xb44)" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb44)" (( "(") (binary_expression "iVar2 + 0xb44" (identifier "iVar2") (+ "+") (number_literal "0xb44")) () ")"))))) (, ",") (cast_expression "(double)*(longlong *)(iVar2 + 0xb54)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(longlong *)(iVar2 + 0xb54)" (* "*") (cast_expression "(longlong *)(iVar2 + 0xb54)" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb54)" (( "(") (binary_expression "iVar2 + 0xb54" (identifier "iVar2") (+ "+") (number_literal "0xb54")) () ")"))))) (, ",") (cast_expression "(double)*(longlong *)(iVar2 + 0xb4c)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(longlong *)(iVar2 + 0xb4c)" (* "*") (cast_expression "(longlong *)(iVar2 + 0xb4c)" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb4c)" (( "(") (binary_expression "iVar2 + 0xb4c" (identifier "iVar2") (+ "+") (number_literal "0xb4c")) () ")"))))) (, ",") (cast_expression "(double)*(longlong *)(iVar2 + 0xb5c)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(longlong *)(iVar2 + 0xb5c)" (* "*") (cast_expression "(longlong *)(iVar2 + 0xb5c)" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb5c)" (( "(") (binary_expression "iVar2 + 0xb5c" (identifier "iVar2") (+ "+") (number_literal "0xb5c")) () ")"))))) (, ",") (identifier "uVar8") () ")")))) (; ";")) (} "}")) (else_clause "else {\n    uVar8 = 1;\n    FUN_0004a0b0();\n    local_d8 = (**(code **)(iVar2 + 0x5f8))\n                         (*(undefined4 *)(iVar2 + 0x62c),*(undefined4 *)(iVar2 + 0xb44),\n                          *(undefined4 *)(iVar2 + 0xb48),*(undefined4 *)(iVar2 + 0xb54),\n                          *(undefined4 *)(iVar2 + 0xb58),*(undefined4 *)(iVar2 + 0xb4c),\n                          *(undefined4 *)(iVar2 + 0xb50),*(undefined4 *)(iVar2 + 0xb5c),\n                          *(undefined4 *)(iVar2 + 0xb60),uVar8,iVar6,iVar14);\n  }" (else "else") (compound_statement "{\n    uVar8 = 1;\n    FUN_0004a0b0();\n    local_d8 = (**(code **)(iVar2 + 0x5f8))\n                         (*(undefined4 *)(iVar2 + 0x62c),*(undefined4 *)(iVar2 + 0xb44),\n                          *(undefined4 *)(iVar2 + 0xb48),*(undefined4 *)(iVar2 + 0xb54),\n                          *(undefined4 *)(iVar2 + 0xb58),*(undefined4 *)(iVar2 + 0xb4c),\n                          *(undefined4 *)(iVar2 + 0xb50),*(undefined4 *)(iVar2 + 0xb5c),\n                          *(undefined4 *)(iVar2 + 0xb60),uVar8,iVar6,iVar14);\n  }" ({ "{") (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" (identifier "uVar8") (= "=") (number_literal "1")) (; ";")) (expression_statement "FUN_0004a0b0();" (call_expression "FUN_0004a0b0()" (identifier "FUN_0004a0b0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_d8 = (**(code **)(iVar2 + 0x5f8))\n                         (*(undefined4 *)(iVar2 + 0x62c),*(undefined4 *)(iVar2 + 0xb44),\n                          *(undefined4 *)(iVar2 + 0xb48),*(undefined4 *)(iVar2 + 0xb54),\n                          *(undefined4 *)(iVar2 + 0xb58),*(undefined4 *)(iVar2 + 0xb4c),\n                          *(undefined4 *)(iVar2 + 0xb50),*(undefined4 *)(iVar2 + 0xb5c),\n                          *(undefined4 *)(iVar2 + 0xb60),uVar8,iVar6,iVar14);" (assignment_expression "local_d8 = (**(code **)(iVar2 + 0x5f8))\n                         (*(undefined4 *)(iVar2 + 0x62c),*(undefined4 *)(iVar2 + 0xb44),\n                          *(undefined4 *)(iVar2 + 0xb48),*(undefined4 *)(iVar2 + 0xb54),\n                          *(undefined4 *)(iVar2 + 0xb58),*(undefined4 *)(iVar2 + 0xb4c),\n                          *(undefined4 *)(iVar2 + 0xb50),*(undefined4 *)(iVar2 + 0xb5c),\n                          *(undefined4 *)(iVar2 + 0xb60),uVar8,iVar6,iVar14)" (identifier "local_d8") (= "=") (call_expression "(**(code **)(iVar2 + 0x5f8))\n                         (*(undefined4 *)(iVar2 + 0x62c),*(undefined4 *)(iVar2 + 0xb44),\n                          *(undefined4 *)(iVar2 + 0xb48),*(undefined4 *)(iVar2 + 0xb54),\n                          *(undefined4 *)(iVar2 + 0xb58),*(undefined4 *)(iVar2 + 0xb4c),\n                          *(undefined4 *)(iVar2 + 0xb50),*(undefined4 *)(iVar2 + 0xb5c),\n                          *(undefined4 *)(iVar2 + 0xb60),uVar8,iVar6,iVar14)" (parenthesized_expression "(**(code **)(iVar2 + 0x5f8))" (( "(") (pointer_expression "**(code **)(iVar2 + 0x5f8)" (* "*") (pointer_expression "*(code **)(iVar2 + 0x5f8)" (* "*") (cast_expression "(code **)(iVar2 + 0x5f8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar2 + 0x5f8)" (( "(") (binary_expression "iVar2 + 0x5f8" (identifier "iVar2") (+ "+") (number_literal "0x5f8")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar2 + 0x62c),*(undefined4 *)(iVar2 + 0xb44),\n                          *(undefined4 *)(iVar2 + 0xb48),*(undefined4 *)(iVar2 + 0xb54),\n                          *(undefined4 *)(iVar2 + 0xb58),*(undefined4 *)(iVar2 + 0xb4c),\n                          *(undefined4 *)(iVar2 + 0xb50),*(undefined4 *)(iVar2 + 0xb5c),\n                          *(undefined4 *)(iVar2 + 0xb60),uVar8,iVar6,iVar14)" (( "(") (pointer_expression "*(undefined4 *)(iVar2 + 0x62c)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 0x62c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x62c)" (( "(") (binary_expression "iVar2 + 0x62c" (identifier "iVar2") (+ "+") (number_literal "0x62c")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(iVar2 + 0xb44)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 0xb44)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb44)" (( "(") (binary_expression "iVar2 + 0xb44" (identifier "iVar2") (+ "+") (number_literal "0xb44")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(iVar2 + 0xb48)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 0xb48)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb48)" (( "(") (binary_expression "iVar2 + 0xb48" (identifier "iVar2") (+ "+") (number_literal "0xb48")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(iVar2 + 0xb54)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 0xb54)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb54)" (( "(") (binary_expression "iVar2 + 0xb54" (identifier "iVar2") (+ "+") (number_literal "0xb54")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(iVar2 + 0xb58)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 0xb58)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb58)" (( "(") (binary_expression "iVar2 + 0xb58" (identifier "iVar2") (+ "+") (number_literal "0xb58")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(iVar2 + 0xb4c)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 0xb4c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb4c)" (( "(") (binary_expression "iVar2 + 0xb4c" (identifier "iVar2") (+ "+") (number_literal "0xb4c")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(iVar2 + 0xb50)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 0xb50)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb50)" (( "(") (binary_expression "iVar2 + 0xb50" (identifier "iVar2") (+ "+") (number_literal "0xb50")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(iVar2 + 0xb5c)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 0xb5c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb5c)" (( "(") (binary_expression "iVar2 + 0xb5c" (identifier "iVar2") (+ "+") (number_literal "0xb5c")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(iVar2 + 0xb60)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 0xb60)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xb60)" (( "(") (binary_expression "iVar2 + 0xb60" (identifier "iVar2") (+ "+") (number_literal "0xb60")) () ")")))) (, ",") (identifier "uVar8") (, ",") (identifier "iVar6") (, ",") (identifier "iVar14") () ")")))) (; ";")) (} "}")))) (expression_statement "FUN_0004a0b0();" (call_expression "FUN_0004a0b0()" (identifier "FUN_0004a0b0") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (local_d8 != 0) {\n    FUN_00027d40();\n  }" (if "if") (parenthesized_expression "(local_d8 != 0)" (( "(") (binary_expression "local_d8 != 0" (identifier "local_d8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_00027d40();\n  }" ({ "{") (expression_statement "FUN_00027d40();" (call_expression "FUN_00027d40()" (identifier "FUN_00027d40") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_0001d1c8:\n  if (local_24 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_d8;\n  }" (statement_identifier "LAB_0001d1c8") (: ":") (if_statement "if (local_24 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_d8;\n  }" (if "if") (parenthesized_expression "(local_24 == *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "local_24 == *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_24") (== "==") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n    return local_d8;\n  }" ({ "{") (return_statement "return local_d8;" (return "return") (identifier "local_d8") (; ";")) (} "}")))) (expression_statement "FUN_00082f60();" (call_expression "FUN_00082f60()" (identifier "FUN_00082f60") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.cx replaced with injection: get_pc_thunk_cx */
/* WARNING: Unknown calling convention */
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

int function_1(type_1 *conn)

{
  type_2 *var_16;
  int var_35;
  type_3 *data;
  type_4 var_28;
  type_5 newer;
  type_5 newer_00;
  type_5 older;
  bool bVar4;
  type_6 var_4;
  int iVar6;
  int var_5;
  type_4 var_12;
  char *pcVar9;
  char *pcVar10;
  char *pcVar11;
  char *pcVar12;
  char *pcVar13;
  type_7 **var_23;
  int var_6;
  int var_14;
  type_8 *whereto;
  type_4 var_25;
  int iVar18;
  int var_11;
  int var_8;
  type_4 var_9;
  int iVar22;
  char *var_27;
  int iVar24;
  int var_1;
  type_9 var_17;
  type_9 var_18;
  type_10 uVar27;
  type_2 cVar28;
  type_10 uVar29;
  type_11 tVar30;
  type_12 in_stack_ffffff24;
  type_7 **ppuVar31;
  int var_33;
  type_12 local_cc;
  type_12 local_c8;
  type_4 var_29;
  int var_26;
  type_12 local_bc;
  type_12 local_b8;
  type_12 local_b4;
  type_12 local_b0;
  int var_13;
  int iStack_80;
  char max5 [6] [10];
  char time_left [10];
  char time_total [10];
  char time_spent [10];
  
  var_23 = &_GLOBAL_OFFSET_TABLE_;
  var_35 = *(int *)(var_1 + 0x14);
  data = conn->data;
  var_14 = (data->progress).speeder_c;
  var_11 = *(int *)((int)&(data->progress).uploaded + 4);
  var_9 = (type_4)(data->progress).downloaded;
  var_8 = *(int *)((int)&(data->progress).downloaded + 4);
  var_12 = (type_4)(data->progress).uploaded;
  var_2();
  newer.tv_usec = iStack_80;
  newer.tv_sec = var_13;
  var_4 = var_3(newer,(data->progress).start);
  (data->progress).timespent = var_4;
  var_5 = var_4 / 1000000;
  iVar18 = var_5 >> 0x1f;
  var_6 = var_4 / 1000;
  iVar6 = var_6 >> 0x1f;
  if ((var_7(0x20c49b,var_8) != var_7(0x20c49b - var_8,(type_4)(0xa5e353f6 < var_9))) ==
      (int)((0x20c49b - var_8) - (type_4)(0xa5e353f6 < var_9)) < 0) {
    iVar22 = var_6;
    iVar24 = iVar6;
    if ((int)(type_4)(var_6 != 0) <= -iVar6) {
      iVar22 = 1;
      iVar24 = 0;
    }
    var_17 = var_10((int)((type_13)var_9 * 1000),
                      (int)((type_13)var_9 * 1000 >> 0x20) + var_8 * 1000,iVar22,iVar24);
  }
  else {
    iVar22 = var_5;
    iVar24 = iVar18;
    if ((int)(type_4)(var_5 != 0) <= -iVar18) {
      iVar22 = 1;
      iVar24 = 0;
    }
    var_17 = var_10(var_9,var_8,iVar22,iVar24);
  }
  (data->progress).dlspeed = var_17;
  if ((var_7(0x20c49b,var_11) != var_7(0x20c49b - var_11,(type_4)(0xa5e353f6 < var_12))) ==
      (int)((0x20c49b - var_11) - (type_4)(0xa5e353f6 < var_12)) < 0) {
    if ((int)(type_4)(var_6 != 0) <= -iVar6) {
      var_6 = 1;
      iVar6 = 0;
    }
    var_18 = var_10((int)((type_13)var_12 * 1000),
                      (int)((type_13)var_12 * 1000 >> 0x20) + var_11 * 1000,var_6,iVar6);
    var_5 = var_6;
    iVar18 = iVar6;
  }
  else {
    if ((int)(type_4)(var_5 != 0) <= -iVar18) {
      var_5 = 1;
      iVar18 = 0;
    }
    var_18 = var_10(var_12,var_11,var_5,iVar18);
  }
  bVar4 = false;
  (data->progress).ulspeed = var_18;
  if ((data->progress).lastshow != var_13) {
    (data->progress).lastshow = var_13;
    var_14 = var_14 % 6;
    var_9 = (type_4)(data->progress).uploaded;
    var_16 = &(data->progress).downloaded;
    cVar28 = *var_16;
    *(type_4 *)((int)(data->progress).speeder + var_14 * 8 + 4) =
         *(int *)((int)&(data->progress).uploaded + 4) +
         *(int *)((int)&(data->progress).downloaded + 4) + (type_4)var_15(var_9,(type_4)*var_16);
    *(type_4 *)((data->progress).speeder + var_14) = var_9 + (int)cVar28;
    *(int *)((int)(data->state).tempwrite + var_14 * 8 + -0x74) = iStack_80;
    (data->progress).speeder_time[var_14].tv_sec = var_13;
    var_11 = (data->progress).speeder_c + 1;
    (data->progress).speeder_c = var_11;
    if (var_11 == 1) {
      bVar4 = true;
      (data->progress).current_speed = var_17 + var_18;
    }
    else {
      var_8 = 0;
      if (5 < var_11) {
        var_8 = var_11 % 6;
      }
      iVar18 = *(int *)((int)(data->state).tempwrite + var_8 * 8 + -0x74);
      tVar30 = (data->progress).speeder_time[var_8].tv_sec;
      newer_00.tv_usec = iStack_80;
      newer_00.tv_sec = var_13;
      older.tv_usec = iVar18;
      older.tv_sec = tVar30;
      ppuVar31 = var_23;
      var_5 = var_19(newer_00,older);
      if (var_5 == 0) {
        var_5 = 1;
      }
      var_9 = (type_4)(data->progress).speeder[var_14];
      var_16 = (data->progress).speeder + var_8;
      var_12 = var_9 - (int)*var_16;
      var_14 = (*(int *)((int)(data->progress).speeder + var_14 * 8 + 4) -
               *(int *)((int)(data->progress).speeder + var_8 * 8 + 4)) -
               (type_4)(var_9 < (type_4)*var_16);
      if (-var_14 < (int)(type_4)(0x418937 < var_12)) {
        bVar4 = true;
        (data->progress).current_speed =
             (type_9)
             var_20((float)var_21(var_14,var_12) / ((float)var_5 / (float)var_23[-0xccc2]));
        var_5 = tVar30;
        var_23 = ppuVar31;
      }
      else {
        iVar18 = var_5 >> 0x1f;
        cVar28 = var_10((int)((type_13)var_12 * 1000),
                          (int)((type_13)var_12 * 1000 >> 0x20) + var_14 * 1000,var_5,iVar18);
        bVar4 = true;
        (data->progress).current_speed = cVar28;
        var_23 = ppuVar31;
      }
    }
  }
  var_9 = (data->progress).flags;
  if ((var_9 & 0x10) != 0) {
    var_33 = 0;
    goto LAB_0001d1c8;
  }
  if ((data->set).fxferinfo == (type_14)0x0) {
    if ((data->set).fprogress == (type_15)0x0) {
      var_33 = 0;
      if (!bVar4) goto LAB_0001d1c8;
      if ((var_9 & 0x80) == 0) {
        var_14 = *(int *)((int)&(data->state).resume_from + 4);
        var_11 = (int)(data->state).resume_from;
        whereto = (data->set).err;
        if (var_14 != 0 || var_11 != 0) {
          var_22(whereto,(char *)(var_23 + -0xcd04),var_11,var_14);
          whereto = (data->set).err;
          var_5 = var_11;
          iVar18 = var_14;
        }
        var_22(whereto,(char *)(var_23 + -0xccf8),var_5,iVar18);
        var_9 = (data->progress).flags | 0x80;
        (data->progress).flags = var_9;
      }
      if ((var_9 & 0x20) == 0) {
LAB_0001d2f0:
        if ((var_9 & 0x40) != 0) {
          var_14 = (int)(data->progress).dlspeed;
          var_11 = *(int *)((int)&(data->progress).dlspeed + 4);
          if (-var_11 < (int)(type_4)(var_14 != 0)) {
            uVar27 = 0;
            goto LAB_0001d331;
          }
        }
        uVar27 = 0;
        uVar29 = 0;
      }
      else {
        var_14 = (int)(data->progress).ulspeed;
        var_11 = *(int *)((int)&(data->progress).ulspeed + 4);
        if ((int)(type_4)(var_14 != 0) <= -var_11) goto LAB_0001d2f0;
        var_12 = (type_4)(data->progress).size_ul;
        var_8 = *(int *)((int)&(data->progress).size_ul + 4);
        var_10(var_12,var_8,var_14,var_11);
        if (-var_8 < (int)(type_4)(10000 < var_12)) {
          uVar27 = var_10(var_12,var_8,100,0);
          uVar27 = var_10((int)(data->progress).uploaded,
                            *(type_12 *)((int)&(data->progress).uploaded + 4),uVar27);
        }
        else {
          uVar27 = 0;
          if (-var_8 < (int)(type_4)(var_12 != 0)) {
            var_17 = (type_13)(type_4)(data->progress).uploaded * 100;
            uVar27 = var_10((int)var_17,
                              (int)((type_13)var_17 >> 0x20) +
                              *(int *)((int)&(data->progress).uploaded + 4) * 100,var_12,var_8);
          }
        }
        if ((var_9 & 0x40) == 0) {
LAB_0001d11b:
          uVar29 = 0;
        }
        else {
          var_14 = (int)(data->progress).dlspeed;
          var_11 = *(int *)((int)&(data->progress).dlspeed + 4);
          if ((int)(type_4)(var_14 != 0) <= -var_11) goto LAB_0001d11b;
LAB_0001d331:
          var_9 = (type_4)(data->progress).size_dl;
          var_8 = *(int *)((int)&(data->progress).size_dl + 4);
          var_10(var_9,var_8,var_14,var_11);
          if (-var_8 < (int)(type_4)(10000 < var_9)) {
            uVar29 = var_10(var_9,var_8,100,0);
            uVar29 = var_10((int)(data->progress).downloaded,
                              *(type_12 *)((int)&(data->progress).downloaded + 4),uVar29);
          }
          else {
            uVar29 = 0;
            if (-var_8 < (int)(type_4)(var_9 != 0)) {
              var_17 = (type_13)(type_4)(data->progress).downloaded * 100;
              uVar29 = var_10((int)var_17,
                                (int)((type_13)var_17 >> 0x20) +
                                *(int *)((int)&(data->progress).downloaded + 4) * 100,var_9,var_8)
              ;
            }
          }
        }
      }
      local_b0 = (type_12)((type_13)uVar27 >> 0x20);
      local_b4 = (type_12)uVar27;
      local_b8 = (type_12)((type_13)uVar29 >> 0x20);
      local_bc = (type_12)uVar29;
      var_24(time_left,var_21(var_23,in_stack_ffffff24));
      var_24(time_total,var_21(var_23,in_stack_ffffff24));
      var_24(time_spent,var_21(var_23,in_stack_ffffff24));
      var_9 = (data->progress).flags;
      if ((var_9 & 0x20) == 0) {
        var_12 = (type_4)(data->progress).uploaded;
        var_14 = *(int *)((int)&(data->progress).uploaded + 4);
        var_29 = var_12;
        var_26 = var_14;
      }
      else {
        var_12 = (type_4)(data->progress).size_ul;
        var_14 = *(int *)((int)&(data->progress).size_ul + 4);
        var_29 = (type_4)(data->progress).uploaded;
        var_26 = *(int *)((int)&(data->progress).uploaded + 4);
      }
      var_28 = (type_4)(data->progress).downloaded;
      var_11 = *(int *)((int)&(data->progress).downloaded + 4);
      var_25 = var_28;
      var_8 = var_11;
      if ((var_9 & 0x40) != 0) {
        var_25 = (type_4)(data->progress).size_dl;
        var_8 = *(int *)((int)&(data->progress).size_dl + 4);
      }
      var_27 = (char *)(var_12 + var_25);
      var_8 = var_14 + var_8 + (type_4)var_15(var_12,var_25);
      var_14 = var_11 + var_26 + (type_4)var_15(var_28,var_29);
      if (-var_8 < (int)(type_4)((char *)0x2710 < var_27)) {
        uVar27 = var_10(var_27,var_8,100,0);
        uVar27 = var_10(var_28 + var_29,var_14,uVar27);
      }
      else {
        uVar27 = 0;
        if (-var_8 < (int)(type_4)(var_27 != (char *)0x0)) {
          var_17 = (type_13)(var_28 + var_29) * 100;
          uVar27 = var_10((int)var_17,(int)((type_13)var_17 >> 0x20) + var_14 * 100,var_27,
                            var_8);
        }
      }
      local_c8 = (type_12)((type_13)uVar27 >> 0x20);
      local_cc = (type_12)uVar27;
      pcVar9 = var_30(var_21(var_23,in_stack_ffffff24),
                        *(char **)&(data->progress).current_speed);
      pcVar10 = var_30(var_21(var_23,in_stack_ffffff24),*(char **)&(data->progress).ulspeed);
      pcVar11 = var_30(var_21(var_23,in_stack_ffffff24),*(char **)&(data->progress).dlspeed);
      pcVar12 = var_30(var_21(var_23,in_stack_ffffff24),*(char **)&(data->progress).uploaded);
      pcVar13 = var_30(var_21(var_23,in_stack_ffffff24),*(char **)&(data->progress).downloaded
                        );
      var_27 = var_30(var_21(var_23,in_stack_ffffff24),var_27);
      var_22((data->set).err,(char *)(var_23 + -0xcccf),local_cc,local_c8,var_27,local_bc,
                    local_b8,pcVar13,local_b4,local_b0,pcVar12,pcVar11,pcVar10,time_total,time_spent
                    ,time_left,pcVar9);
      var_31((type_8 *)(data->set).err);
      goto LAB_0001d1c8;
    }
    var_32(data,true);
    var_33 = (*(data->set).fprogress)
                          ((data->set).progress_client,(double)(data->progress).size_dl,
                           (double)(data->progress).downloaded,(double)(data->progress).size_ul,
                           (double)(data->progress).uploaded);
  }
  else {
    var_32(data,true);
    var_33 = (*(data->set).fxferinfo)
                          ((data->set).progress_client,(data->progress).size_dl,
                           (data->progress).downloaded,(data->progress).size_ul,
                           (data->progress).uploaded);
  }
  var_32(data,false);
  if (var_33 != 0) {
    var_34(data,(char *)((int)var_23 + -209999));
  }
LAB_0001d1c8:
  if (var_35 != *(int *)(var_1 + 0x14)) {
                    /* WARNING: Subroutine does not return */
    var_36();
  }
  return var_33;
}


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

/* WARNING: Function: __i686.get_pc_thunk.cx replaced with injection: get_pc_thunk_cx */

int MASKED(int *param_1)

{
  uint *puVar1;
  int iVar2;
  bool bVar3;
  int iVar4;
  int iVar5;
  int iVar6;
  uint uVar7;
  undefined4 uVar8;
  undefined4 uVar9;
  undefined4 uVar10;
  undefined4 uVar11;
  undefined4 uVar12;
  uint uVar13;
  int iVar14;
  int iVar15;
  int iVar16;
  int iVar17;
  int in_GS_OFFSET;
  longlong lVar18;
  longlong lVar19;
  undefined8 uVar20;
  undefined8 uVar21;
  undefined8 uVar22;
  int local_dc;
  int local_d8;
  int local_c0;
  int local_88;
  undefined4 local_84 [16];
  undefined1 local_42 [10];
  undefined1 local_38 [10];
  undefined1 local_2e [10];
  int local_24;
  undefined4 local_20;
  
  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);
  iVar2 = *param_1;
  uVar7 = *(uint *)(iVar2 + 0xb54);
  iVar17 = *(int *)(iVar2 + 0xb58);
  iVar15 = *(int *)(iVar2 + 0xb5c);
  FUN_0001ab90(local_84);
  iVar4 = FUN_0001ac80();
  *(int *)(iVar2 + 0xb78) = iVar4;
  iVar6 = iVar4 / 1000000;
  iVar14 = iVar6 >> 0x1f;
  iVar4 = iVar4 / 1000;
  iVar5 = iVar4 >> 0x1f;
  uVar7 = (uint)(0xa5e353f6 < uVar7);
  iVar16 = 0x20c49b - iVar17;
  if ((SBORROW4(0x20c49b,iVar17) != SBORROW4(iVar16,uVar7)) == (int)(iVar16 - uVar7) < 0) {
    lVar18 = FUN_00082b40();
  }
  else {
    lVar18 = FUN_00082b40();
  }
  *(longlong *)(iVar2 + 0xb7c) = lVar18;
  if (iVar15 < 0x20c49c) {
    if ((int)(uint)(iVar4 != 0) <= -iVar5) {
      iVar4 = 1;
      iVar5 = 0;
    }
    lVar19 = FUN_00082b40();
    iVar6 = iVar4;
    iVar14 = iVar5;
  }
  else {
    if ((int)(uint)(iVar6 != 0) <= -iVar14) {
      iVar6 = 1;
      iVar14 = 0;
    }
    lVar19 = FUN_00082b40();
  }
  bVar3 = false;
  *(longlong *)(iVar2 + 0xb84) = lVar19;
  if (*(int *)(iVar2 + 0xb40) != local_88) {
    *(int *)(iVar2 + 0xb40) = local_88;
    uVar7 = *(uint *)(iVar2 + 0xb5c);
    uVar13 = *(uint *)(iVar2 + 0xb54);
    iVar15 = iVar2 + (local_c0 % 6) * 8;
    *(uint *)(iVar15 + 0xbec) =
         *(int *)(iVar2 + 0xb60) + *(int *)(iVar2 + 0xb58) +
         (uint)CARRY4(uVar7,*(uint *)(iVar2 + 0xb54));
    *(uint *)(iVar15 + 0xbe8) = uVar7 + uVar13;
    *(undefined4 *)(iVar15 + 0xc1c) = local_84[0];
    *(int *)(iVar15 + 0xc18) = local_88;
    iVar17 = *(int *)(iVar2 + 0xc48) + 1;
    *(int *)(iVar2 + 0xc48) = iVar17;
    if (iVar17 == 1) {
      bVar3 = true;
      *(longlong *)(iVar2 + 0xb64) = lVar18 + lVar19;
    }
    else {
      iVar16 = 0;
      if (5 < iVar17) {
        iVar16 = iVar17 % 6;
      }
      iVar14 = *(int *)(iVar2 + 0xc1c + iVar16 * 8);
      iVar17 = *(int *)(iVar2 + 0xc18 + iVar16 * 8);
      iVar6 = FUN_0001ac30();
      if (iVar6 == 0) {
        iVar6 = 1;
      }
      puVar1 = (uint *)(iVar2 + 0xbe8 + iVar16 * 8);
      uVar7 = *(uint *)(iVar15 + 0xbe8) - *puVar1;
      iVar15 = (*(int *)(iVar15 + 0xbec) - *(int *)(iVar2 + 0xbec + iVar16 * 8)) -
               (uint)(*(uint *)(iVar15 + 0xbe8) < *puVar1);
      if (-iVar15 < (int)(uint)(0x418937 < uVar7)) {
        bVar3 = true;
        *(longlong *)(iVar2 + 0xb64) =
             (longlong)
             ROUND((float)CONCAT44(iVar15,uVar7) / ((float)iVar6 / *(float *)(local_dc + -0x33308)))
        ;
        iVar6 = iVar17;
      }
      else {
        iVar14 = iVar6 >> 0x1f;
        uVar20 = FUN_00082b40();
        bVar3 = true;
        *(undefined8 *)(iVar2 + 0xb64) = uVar20;
      }
    }
  }
  uVar7 = *(uint *)(iVar2 + 0xb74);
  if ((uVar7 & 0x10) != 0) {
    local_d8 = 0;
    goto LAB_0001d1c8;
  }
  if (*(int *)(iVar2 + 0x5f8) == 0) {
    if (*(int *)(iVar2 + 0x5f4) == 0) {
      local_d8 = 0;
      if (!bVar3) goto LAB_0001d1c8;
      if ((uVar7 & 0x80) == 0) {
        if (*(int *)(iVar2 + 0xebc) != 0 || *(int *)(iVar2 + 0xeb8) != 0) {
          curl_mfprintf();
        }
        curl_mfprintf();
        uVar7 = *(uint *)(iVar2 + 0xb74) | 0x80;
        *(uint *)(iVar2 + 0xb74) = uVar7;
      }
      if (((uVar7 & 0x20) == 0) ||
         ((int)(uint)(*(int *)(iVar2 + 0xb84) != 0) <= -*(int *)(iVar2 + 0xb88))) {
        if (((uVar7 & 0x40) != 0) &&
           (-*(int *)(iVar2 + 0xb80) < (int)(uint)(*(int *)(iVar2 + 0xb7c) != 0))) {
          uVar20 = 0;
          goto LAB_0001d331;
        }
        uVar20 = 0;
        uVar21 = 0;
      }
      else {
        uVar13 = *(uint *)(iVar2 + 0xb4c);
        iVar17 = *(int *)(iVar2 + 0xb50);
        FUN_00082b40();
        if (-iVar17 < (int)(uint)(10000 < uVar13)) {
          FUN_00082b40();
          uVar20 = FUN_00082b40();
        }
        else {
          uVar20 = 0;
          if (-iVar17 < (int)(uint)(uVar13 != 0)) {
            uVar20 = FUN_00082b40();
          }
        }
        if (((uVar7 & 0x40) == 0) ||
           ((int)(uint)(*(int *)(iVar2 + 0xb7c) != 0) <= -*(int *)(iVar2 + 0xb80))) {
          uVar21 = 0;
        }
        else {
LAB_0001d331:
          uVar7 = *(uint *)(iVar2 + 0xb44);
          iVar17 = *(int *)(iVar2 + 0xb48);
          FUN_00082b40();
          if (-iVar17 < (int)(uint)(10000 < uVar7)) {
            FUN_00082b40();
            uVar21 = FUN_00082b40();
          }
          else {
            uVar21 = 0;
            if (-iVar17 < (int)(uint)(uVar7 != 0)) {
              uVar21 = FUN_00082b40();
            }
          }
        }
      }
      FUN_0001c490();
      FUN_0001c490();
      FUN_0001c490();
      if ((*(uint *)(iVar2 + 0xb74) & 0x20) == 0) {
        uVar7 = *(uint *)(iVar2 + 0xb5c);
        iVar17 = *(int *)(iVar2 + 0xb60);
      }
      else {
        uVar7 = *(uint *)(iVar2 + 0xb4c);
        iVar17 = *(int *)(iVar2 + 0xb50);
      }
      uVar13 = *(uint *)(iVar2 + 0xb54);
      iVar15 = *(int *)(iVar2 + 0xb58);
      if ((*(uint *)(iVar2 + 0xb74) & 0x40) != 0) {
        uVar13 = *(uint *)(iVar2 + 0xb44);
        iVar15 = *(int *)(iVar2 + 0xb48);
      }
      iVar17 = iVar17 + iVar15 + (uint)CARRY4(uVar7,uVar13);
      if (-iVar17 < (int)(uint)(10000 < uVar7 + uVar13)) {
        FUN_00082b40();
        uVar22 = FUN_00082b40();
      }
      else {
        uVar22 = 0;
        if (-iVar17 < (int)(uint)(uVar7 + uVar13 != 0)) {
          uVar22 = FUN_00082b40();
        }
      }
      FUN_0001c620();
      uVar8 = FUN_0001c620();
      uVar9 = FUN_0001c620();
      uVar10 = FUN_0001c620();
      uVar11 = FUN_0001c620();
      uVar12 = FUN_0001c620();
      curl_mfprintf(*(undefined4 *)(iVar2 + 0x584),local_dc + -0x3333c,uVar22,uVar12,uVar21,uVar11,
                    uVar20,uVar10,uVar9,uVar8,local_38,local_2e,local_42);
      fflush(*(FILE **)(iVar2 + 0x584));
      goto LAB_0001d1c8;
    }
    uVar8 = 1;
    FUN_0004a0b0();
    local_d8 = (**(code **)(iVar2 + 0x5f4))
                         (*(undefined4 *)(iVar2 + 0x62c),(double)*(longlong *)(iVar2 + 0xb44),
                          (double)*(longlong *)(iVar2 + 0xb54),(double)*(longlong *)(iVar2 + 0xb4c),
                          (double)*(longlong *)(iVar2 + 0xb5c),uVar8);
  }
  else {
    uVar8 = 1;
    FUN_0004a0b0();
    local_d8 = (**(code **)(iVar2 + 0x5f8))
                         (*(undefined4 *)(iVar2 + 0x62c),*(undefined4 *)(iVar2 + 0xb44),
                          *(undefined4 *)(iVar2 + 0xb48),*(undefined4 *)(iVar2 + 0xb54),
                          *(undefined4 *)(iVar2 + 0xb58),*(undefined4 *)(iVar2 + 0xb4c),
                          *(undefined4 *)(iVar2 + 0xb50),*(undefined4 *)(iVar2 + 0xb5c),
                          *(undefined4 *)(iVar2 + 0xb60),uVar8,iVar6,iVar14);
  }
  FUN_0004a0b0();
  if (local_d8 != 0) {
    FUN_00027d40();
  }
LAB_0001d1c8:
  if (local_24 == *(int *)(in_GS_OFFSET + 0x14)) {
    return local_d8;
  }
                    /* WARNING: Subroutine does not return */
  FUN_00082f60();
}

