
/* WARNING: Removing unreachable block (ram,0x00021f3c) */
/* WARNING: Removing unreachable block (ram,0x00021df0) */
/* WARNING: Removing unreachable block (ram,0x000225ac) */

char * human_readable(uintmax_t n,char *buf,int opts,uintmax_t from_block_size,
                     uintmax_t to_block_size)

{
  bool bVar1;
  undefined *puVar2;
  undefined *puVar3;
  int iVar4;
  uint uVar5;
  undefined4 *puVar6;
  uint uVar7;
  uint uVar8;
  int iVar9;
  char cVar10;
  uint uVar11;
  uint extraout_v1;
  char extraout_v1_01;
  int extraout_v1_00;
  char *pcVar12;
  int in_a2;
  uint in_a3;
  uint uVar13;
  int iVar14;
  uint uVar15;
  char *pcVar16;
  uint uVar17;
  byte *pbVar18;
  undefined4 uVar19;
  char *pcVar20;
  undefined *puVar21;
  uint uVar22;
  double dVar23;
  double dVar24;
  double dVar25;
  longlong lVar26;
  ulonglong uVar27;
  longlong lVar28;
  undefined8 uVar29;
  ulonglong uVar30;
  char *local_88;
  undefined *local_7c;
  uint local_70;
  undefined *local_68;
  char buf_1 [41];
  
  puVar3 = PTR___stack_chk_guard_000495fc;
  uVar11 = in_a3 & 0x20;
  uVar17 = 0x400;
  iVar4 = *(int *)PTR___stack_chk_guard_000495fc;
  uVar5 = in_a3 & 3;
  if (uVar11 == 0) {
    uVar17 = 1000;
  }
  puVar6 = (undefined4 *)(*(code *)PTR_localeconv_000494b4)();
  local_68 = (undefined *)*puVar6;
  local_70 = (*(code *)PTR_strlen_0004953c)(local_68);
  if (0xf < local_70 - 1) {
    local_70 = 1;
    local_68 = PTR_LAB_00049218 + 0x6104;
  }
  local_7c = (undefined *)puVar6[1];
  pbVar18 = (byte *)puVar6[2];
  uVar7 = (*(code *)PTR_strlen_0004953c)();
  if (0x10 < uVar7) {
    local_7c = PTR_LAB_00049218 + 0x7ea8;
  }
  local_88 = (char *)(in_a2 + 0x287);
  if (n < from_block_size) {
    if ((n == 0) ||
       (lVar26 = __umoddi3(from_block_size._0_4_,from_block_size._4_4_,n._0_4_,n._4_4_), lVar26 != 0
       )) goto LAB_00021ca0;
    uVar27 = __udivdi3(from_block_size._0_4_,from_block_size._4_4_,n._0_4_,n._4_4_);
    uVar8 = (uint)(uVar27 >> 0x20);
    uVar13 = (uint)uVar27;
    uVar29 = __umoddi3(buf,opts,uVar8,uVar13);
    iVar14 = (int)((ulonglong)uVar29 >> 0x20);
    uVar7 = (uint)uVar29;
    uVar22 = uVar7 * 5 >> 0x1f |
             ((uint)(uVar7 * 5 < uVar7 * 4) + (uVar7 >> 0x1e | iVar14 << 2) + iVar14) * 2;
    lVar28 = __umoddi3(uVar22,uVar7 * 10,uVar8,uVar13);
    lVar26 = lVar28 << 1;
    uVar15 = (uint)((ulonglong)lVar26 >> 0x20);
    uVar30 = __udivdi3(buf,opts,uVar8,uVar13);
    __udivdi3(uVar22,uVar7 * 10,uVar8,uVar13);
    uVar7 = extraout_v1;
    if ((uVar15 < uVar8) || ((uVar8 == uVar15 && ((uint)lVar26 < uVar13)))) {
      uVar8 = (uint)(lVar26 != 0);
    }
    else if (uVar27 < (ulonglong)(lVar28 << 1)) {
      uVar8 = 3;
    }
    else {
      uVar8 = 2;
    }
LAB_000223b4:
    pcVar16 = local_88;
    if ((in_a3 & 0x10) == 0) {
      iVar14 = -1;
    }
    else {
      iVar14 = 0;
      if (((int)(uVar30 >> 0x20) != 0) || (uVar17 <= (uint)uVar30)) {
        iVar14 = 0;
        do {
          uVar19 = (undefined4)(uVar30 >> 0x20);
          __umoddi3(uVar19,(int)uVar30,0,uVar17);
          uVar13 = extraout_v1_00 * 10 + uVar7;
          if (uVar17 == 0) {
            trap(7);
          }
          uVar7 = uVar13 / uVar17;
          uVar15 = (uVar13 % uVar17) * 2 + ((int)uVar8 >> 1);
          uVar30 = __udivdi3(uVar19,(int)uVar30,0,uVar17);
          puVar21 = PTR_memcpy_00049600;
          uVar13 = (uint)uVar30;
          uVar22 = uVar8 + uVar15;
          if (uVar15 < uVar17) {
            uVar8 = (uint)(uVar22 != 0);
          }
          else {
            uVar8 = 2;
            if (uVar17 < uVar22) {
              uVar8 = 3;
            }
          }
          iVar14 = iVar14 + 1;
          if (((int)(uVar30 >> 0x20) == 0) && (uVar13 < uVar17)) {
            if (uVar13 < 10) {
              if (uVar5 == 1) {
                bVar1 = 2 < (uVar7 & 1) + uVar8;
LAB_000226fc:
                if (!bVar1) goto LAB_0002268c;
                uVar15 = uVar13 + 1;
                if (uVar7 == 9) {
                  bVar1 = uVar15 < uVar13;
                  uVar30 = (ulonglong)CONCAT14(bVar1,uVar15);
                  if ((bVar1) || (uVar15 != 10)) {
                    uVar8 = 0;
                    goto LAB_00022694;
                  }
                  uVar8 = 0;
                  uVar30 = (ulonglong)CONCAT14(bVar1,uVar15);
                  goto LAB_000226d4;
                }
                cVar10 = (char)uVar7 + '1';
LAB_000226a4:
                uVar8 = 0;
                *(char *)(in_a2 + 0x286) = cVar10;
                pcVar16 = (char *)((in_a2 + 0x286) - local_70);
                (*(code *)puVar21)(pcVar16,local_68,local_70);
              }
              else {
                bVar1 = uVar8 != 0;
                if (uVar5 == 0) goto LAB_000226fc;
LAB_0002268c:
                cVar10 = (char)uVar7 + '0';
                if (uVar7 != 0) goto LAB_000226a4;
LAB_00022694:
                if ((in_a3 & 8) == 0) {
                  cVar10 = '0';
                  goto LAB_000226a4;
                }
              }
LAB_000226d4:
              uVar7 = 0;
              pcVar20 = pcVar16;
              if (uVar5 != 1) goto LAB_000223ec;
              goto LAB_00022428;
            }
            break;
          }
        } while (iVar14 != 8);
      }
    }
    if (uVar5 == 1) {
      pcVar20 = local_88;
      if (5 < (int)((((uint)uVar30 & 1) + uVar8 != 0) + uVar7)) goto LAB_000223fc;
LAB_00022428:
      do {
        do {
          iVar9 = (int)(uVar30 >> 0x20);
          uVar5 = (uint)uVar30;
          __umoddi3(iVar9,uVar5,0,10);
          pcVar20 = pcVar20 + -1;
          *pcVar20 = extraout_v1_01 + '0';
          uVar30 = __udivdi3(iVar9,uVar5,0,10);
        } while (iVar9 != 0);
      } while (9 < uVar5);
    }
    else {
LAB_000223ec:
      pcVar20 = pcVar16;
      if ((uVar5 != 0) || ((int)(uVar7 + uVar8) < 1)) goto LAB_00022428;
LAB_000223fc:
      puVar21 = PTR_memcpy_00049600;
      uVar30 = uVar30 + 1;
      pcVar20 = pcVar16;
      if (((in_a3 & 0x10) == 0) ||
         ((((int)(uVar30 >> 0x20) != 0 || (uVar17 != (uint)uVar30)) || (iVar14 == 8))))
      goto LAB_00022428;
      iVar14 = iVar14 + 1;
      if ((in_a3 & 8) == 0) {
        pcVar16[-1] = '0';
        pcVar16 = pcVar16 + ~local_70;
        (*(code *)puVar21)(pcVar16,local_68);
      }
      pcVar20 = pcVar16 + -1;
      pcVar16[-1] = '1';
    }
  }
  else {
    lVar26 = __umoddi3(n._0_4_,n._4_4_,from_block_size._0_4_,from_block_size._4_4_);
    if (lVar26 == 0) {
      lVar26 = __udivdi3(n._0_4_,n._4_4_,from_block_size._0_4_,from_block_size._4_4_);
      uVar30 = lVar26 * CONCAT44(buf,opts);
      lVar26 = __udivdi3((int)(uVar30 >> 0x20),(int)uVar30,(int)((ulonglong)lVar26 >> 0x20));
      if (lVar26 == CONCAT44(buf,opts)) {
        uVar8 = 0;
        uVar7 = 0;
        goto LAB_000223b4;
      }
    }
LAB_00021ca0:
    dVar23 = (double)__floatundidf(n._0_4_,n._4_4_);
    dVar24 = (double)__floatundidf(from_block_size._0_4_,from_block_size._4_4_);
    dVar23 = dVar23 / dVar24;
    dVar24 = (double)__floatundidf(buf,opts);
    puVar21 = PTR_LAB_00049218;
    dVar23 = dVar23 * dVar24;
    if ((in_a3 & 0x10) == 0) {
      dVar24 = dVar23;
      if (((in_a3 & 3) != 1) && (dVar23 < *(double *)(PTR_LAB_00049218 + 0x6760))) {
        uVar29 = __fixunsdfdi(dVar23);
        iVar14 = (int)((ulonglong)uVar29 >> 0x20);
        uVar5 = (uint)uVar29;
        dVar24 = (double)__floatundidf(iVar14,uVar5);
        if (((in_a3 & 3) == 0) && (dVar23 != dVar24)) {
          dVar24 = (double)__floatundidf((uint)(uVar5 + 1 < uVar5) + iVar14);
        }
      }
      (*(code *)PTR___sprintf_chk_00049454)(in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar24);
      iVar14 = -1;
      uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);
      uVar5 = uVar8;
    }
    else {
      iVar14 = 0;
      dVar24 = (double)uVar17;
      do {
        dVar25 = dVar24;
        dVar24 = dVar25 * (double)uVar17;
        iVar14 = iVar14 + 1;
        if (dVar23 < dVar24) break;
      } while (iVar14 != 8);
      dVar23 = dVar23 / dVar25;
      uVar7 = (uVar11 == 0) + 1 + local_70 + 1;
      if (uVar5 == 1) {
        (*(code *)PTR___sprintf_chk_00049454)(in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar23);
        uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);
        if (uVar8 <= uVar7) goto LAB_0002232c;
        dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768);
        dVar24 = dVar23 * dVar25;
      }
      else {
        dVar24 = dVar23;
        if (dVar23 < *(double *)(PTR_LAB_00049218 + 0x6760)) {
          lVar26 = __fixunsdfdi(dVar23);
          dVar24 = dVar23;
          dVar23 = (double)__floatundidf((int)((ulonglong)lVar26 >> 0x20),(int)lVar26);
          if ((uVar5 == 0) && (dVar24 != dVar23)) {
            dVar23 = (double)__floatundidf((int)((ulonglong)(lVar26 + 1) >> 0x20));
          }
        }
        (*(code *)PTR___sprintf_chk_00049454)(in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar23);
        uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);
        dVar23 = dVar24;
        if (uVar7 < uVar8) {
          dVar24 = dVar24 * *(double *)(PTR_LAB_00049218 + 0x6768);
        }
        else {
LAB_0002232c:
          if (((in_a3 & 8) == 0) || (*(char *)(in_a2 + uVar8 + -1) != '0')) {
            uVar5 = uVar8 - (local_70 + 1);
            goto LAB_00021d4c;
          }
          dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768);
          dVar24 = dVar23 * dVar25;
          puVar21 = PTR_LAB_00049218;
          if (uVar5 == 1) goto LAB_0002207c;
        }
        puVar2 = PTR_LAB_00049218;
        dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768);
        if (dVar24 < *(double *)(puVar21 + 0x6760)) {
          lVar26 = __fixunsdfdi(dVar24);
          dVar23 = (double)__floatundidf((int)((ulonglong)lVar26 >> 0x20),(int)lVar26);
          if ((uVar5 == 0) && (dVar23 != dVar24)) {
            dVar23 = (double)__floatundidf((int)((ulonglong)(lVar26 + 1) >> 0x20));
          }
          dVar24 = dVar23;
          dVar25 = *(double *)(puVar2 + 0x6768);
        }
      }
LAB_0002207c:
      (*(code *)PTR___sprintf_chk_00049454)
                (in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar24 / dVar25);
      uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);
      uVar5 = uVar8;
    }
LAB_00021d4c:
    pcVar20 = local_88 + -uVar8;
    (*(code *)PTR_memmove_00049610)(pcVar20,in_a2,uVar8);
    pcVar16 = pcVar20 + uVar5;
  }
  if ((in_a3 & 4) != 0) {
    uVar7 = (int)pcVar16 - (int)pcVar20;
    iVar9 = (*(code *)PTR_strlen_0004953c)(local_7c);
    (*(code *)PTR___memcpy_chk_00049558)(buf_1,pcVar20,uVar7,0x29);
    uVar5 = 0xffffffff;
    while( true ) {
      uVar8 = (uint)*pbVar18;
      if (uVar8 != 0) {
        uVar5 = uVar8;
        if (0x7e < uVar8) {
          uVar5 = uVar7;
        }
        pbVar18 = pbVar18 + 1;
      }
      if (uVar7 < uVar5) break;
      uVar7 = uVar7 - uVar5;
      pcVar20 = pcVar16 + -uVar5;
      (*(code *)PTR_memcpy_00049600)(pcVar20,buf_1 + uVar7,uVar5);
      if (uVar7 == 0) goto LAB_00021d7c;
      pcVar16 = pcVar20 + -iVar9;
      (*(code *)PTR_memcpy_00049600)(pcVar16,local_7c,iVar9);
    }
    pcVar20 = pcVar16 + -uVar7;
    (*(code *)PTR_memcpy_00049600)(pcVar20,buf_1,uVar7);
  }
LAB_00021d7c:
  if ((in_a3 & 0x80) == 0) goto LAB_00021da4;
  if ((iVar14 == -1) && ((from_block_size._0_4_ != 0 || (iVar14 = 0, 1 < from_block_size._4_4_)))) {
    iVar14 = 1;
    uVar5 = 1;
    iVar9 = 0;
    do {
      uVar30 = (ulonglong)uVar5;
      uVar5 = (uint)(uVar30 * uVar17);
      iVar9 = uVar17 * iVar9 + (int)(uVar30 * uVar17 >> 0x20);
      if (from_block_size <= CONCAT44(iVar9,uVar5)) break;
      iVar14 = iVar14 + 1;
    } while (iVar14 != 8);
    if ((in_a3 & 0x40) != 0) {
LAB_000221fc:
      local_88 = (char *)(in_a2 + 0x288);
      *(undefined1 *)(in_a2 + 0x287) = 0x20;
      goto LAB_00022208;
    }
LAB_00022210:
    if ((uVar11 == 0) && (iVar14 == 1)) {
      cVar10 = 'k';
    }
    else {
      cVar10 = PTR_LAB_00049218[iVar14 + 0x6748];
    }
    pcVar16 = local_88 + 1;
    *local_88 = cVar10;
  }
  else {
    if ((in_a3 & 0x100) == 0 && iVar14 == 0) goto LAB_00021da4;
    if ((in_a3 & 0x40) != 0) goto LAB_000221fc;
LAB_00022208:
    pcVar16 = local_88;
    if (iVar14 != 0) goto LAB_00022210;
  }
  local_88 = pcVar16;
  if ((in_a3 & 0x100) != 0) {
    pcVar12 = pcVar16 + 1;
    local_88 = pcVar12;
    if ((uVar11 != 0) && (iVar14 != 0)) {
      local_88 = pcVar16 + 2;
      *pcVar16 = 'i';
      pcVar16 = pcVar12;
    }
    *pcVar16 = 'B';
  }
LAB_00021da4:
  while( true ) {
    *local_88 = '\0';
    if (iVar4 == *(int *)puVar3) break;
    local_88 = (char *)(*(code *)PTR___stack_chk_fail_000495d0)();
  }
  return pcVar20;
}



/* WARNING: Removing unreachable block (ram,0x00021f3c) */

char * human_readable(undefined4 param_1,undefined4 param_2,int param_3,uint param_4,uint param_5,
                     uint param_6,uint param_7,uint param_8)

{
  bool bVar1;
  undefined *puVar2;
  undefined *puVar3;
  uint uVar4;
  undefined4 *puVar5;
  uint uVar6;
  uint uVar7;
  int iVar8;
  char cVar9;
  uint uVar10;
  uint extraout_v1;
  char extraout_v1_01;
  int extraout_v1_00;
  char *pcVar11;
  uint uVar12;
  int iVar13;
  uint uVar14;
  char *pcVar15;
  uint uVar16;
  byte *pbVar17;
  undefined4 uVar18;
  char *pcVar19;
  undefined *puVar20;
  uint uVar21;
  double dVar22;
  double dVar23;
  double dVar24;
  longlong lVar25;
  ulonglong uVar26;
  longlong lVar27;
  undefined8 uVar28;
  ulonglong uVar29;
  char *local_88;
  undefined *local_7c;
  uint local_70;
  undefined *local_68;
  undefined1 auStack_60 [44];
  int local_34;
  
  puVar3 = PTR___stack_chk_guard_000495fc;
  uVar10 = param_4 & 0x20;
  uVar16 = 0x400;
  local_34 = *(int *)PTR___stack_chk_guard_000495fc;
  uVar4 = param_4 & 3;
  if (uVar10 == 0) {
    uVar16 = 1000;
  }
  puVar5 = (undefined4 *)(*(code *)PTR_localeconv_000494b4)();
  local_68 = (undefined *)*puVar5;
  local_70 = (*(code *)PTR_strlen_0004953c)(local_68);
  if (0xf < local_70 - 1) {
    local_70 = 1;
    local_68 = PTR_LAB_00049218 + 0x6104;
  }
  local_7c = (undefined *)puVar5[1];
  pbVar17 = (byte *)puVar5[2];
  uVar6 = (*(code *)PTR_strlen_0004953c)();
  if (0x10 < uVar6) {
    local_7c = PTR_LAB_00049218 + 0x7ea8;
  }
  local_88 = (char *)(param_3 + 0x287);
  if ((param_5 < param_7) || ((param_7 == param_5 && (param_6 < param_8)))) {
    if ((param_5 == 0 && param_6 == 0) ||
       (lVar25 = FUN_000317b0(param_7,param_8,param_5,param_6), lVar25 != 0)) goto LAB_00021ca0;
    uVar26 = FUN_00031340(param_7,param_8,param_5,param_6);
    uVar7 = (uint)(uVar26 >> 0x20);
    uVar12 = (uint)uVar26;
    uVar28 = FUN_000317b0(param_1,param_2,uVar7,uVar12);
    iVar13 = (int)((ulonglong)uVar28 >> 0x20);
    uVar6 = (uint)uVar28;
    uVar21 = uVar6 * 5 >> 0x1f |
             ((uint)(uVar6 * 5 < uVar6 * 4) + (uVar6 >> 0x1e | iVar13 << 2) + iVar13) * 2;
    lVar27 = FUN_000317b0(uVar21,uVar6 * 10,uVar7,uVar12);
    lVar25 = lVar27 << 1;
    uVar14 = (uint)((ulonglong)lVar25 >> 0x20);
    uVar29 = FUN_00031340(param_1,param_2,uVar7,uVar12);
    FUN_00031340(uVar21,uVar6 * 10,uVar7,uVar12);
    uVar6 = extraout_v1;
    if ((uVar14 < uVar7) || ((uVar7 == uVar14 && ((uint)lVar25 < uVar12)))) {
      uVar7 = (uint)(lVar25 != 0);
    }
    else if (uVar26 < (ulonglong)(lVar27 << 1)) {
      uVar7 = 3;
    }
    else {
      uVar7 = 2;
    }
LAB_000223b4:
    pcVar15 = local_88;
    if ((param_4 & 0x10) == 0) {
      iVar13 = -1;
    }
    else {
      iVar13 = 0;
      if (((int)(uVar29 >> 0x20) != 0) || (uVar16 <= (uint)uVar29)) {
        iVar13 = 0;
        do {
          uVar18 = (undefined4)(uVar29 >> 0x20);
          FUN_000317b0(uVar18,(int)uVar29,0,uVar16);
          uVar12 = extraout_v1_00 * 10 + uVar6;
          if (uVar16 == 0) {
            trap(7);
          }
          uVar6 = uVar12 / uVar16;
          uVar14 = (uVar12 % uVar16) * 2 + ((int)uVar7 >> 1);
          uVar29 = FUN_00031340(uVar18,(int)uVar29,0,uVar16);
          puVar20 = PTR_memcpy_00049600;
          uVar12 = (uint)uVar29;
          uVar21 = uVar7 + uVar14;
          if (uVar14 < uVar16) {
            uVar7 = (uint)(uVar21 != 0);
          }
          else {
            uVar7 = 2;
            if (uVar16 < uVar21) {
              uVar7 = 3;
            }
          }
          iVar13 = iVar13 + 1;
          if (((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16)) {
            if (uVar12 < 10) {
              if (uVar4 == 1) {
                bVar1 = 2 < (uVar6 & 1) + uVar7;
LAB_000226fc:
                if (!bVar1) goto LAB_0002268c;
                uVar14 = uVar12 + 1;
                if (uVar6 == 9) {
                  bVar1 = uVar14 < uVar12;
                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);
                  if ((bVar1) || (uVar14 != 10)) {
                    uVar7 = 0;
                    goto LAB_00022694;
                  }
                  uVar7 = 0;
                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);
                  goto LAB_000226d4;
                }
                cVar9 = (char)uVar6 + '1';
LAB_000226a4:
                uVar7 = 0;
                *(char *)(param_3 + 0x286) = cVar9;
                pcVar15 = (char *)((param_3 + 0x286) - local_70);
                (*(code *)puVar20)(pcVar15,local_68,local_70);
              }
              else {
                bVar1 = uVar7 != 0;
                if (uVar4 == 0) goto LAB_000226fc;
LAB_0002268c:
                cVar9 = (char)uVar6 + '0';
                if (uVar6 != 0) goto LAB_000226a4;
LAB_00022694:
                if ((param_4 & 8) == 0) {
                  cVar9 = '0';
                  goto LAB_000226a4;
                }
              }
LAB_000226d4:
              uVar6 = 0;
              pcVar19 = pcVar15;
              if (uVar4 == 1) goto LAB_00022428;
              goto LAB_000223ec;
            }
            break;
          }
        } while (iVar13 != 8);
      }
    }
    if (uVar4 == 1) {
      pcVar19 = local_88;
      if (5 < (int)((((uint)uVar29 & 1) + uVar7 != 0) + uVar6)) goto LAB_000223fc;
LAB_00022428:
      do {
        do {
          iVar8 = (int)(uVar29 >> 0x20);
          uVar4 = (uint)uVar29;
          FUN_000317b0(iVar8,uVar4,0,10);
          pcVar19 = pcVar19 + -1;
          *pcVar19 = extraout_v1_01 + '0';
          uVar29 = FUN_00031340(iVar8,uVar4,0,10);
        } while (iVar8 != 0);
      } while (9 < uVar4);
    }
    else {
LAB_000223ec:
      pcVar19 = pcVar15;
      if ((uVar4 != 0) || ((int)(uVar6 + uVar7) < 1)) goto LAB_00022428;
LAB_000223fc:
      puVar20 = PTR_memcpy_00049600;
      uVar29 = uVar29 + 1;
      pcVar19 = pcVar15;
      if (((param_4 & 0x10) == 0) ||
         ((((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)) || (iVar13 == 8))))
      goto LAB_00022428;
      iVar13 = iVar13 + 1;
      if ((param_4 & 8) == 0) {
        pcVar15[-1] = '0';
        pcVar15 = pcVar15 + ~local_70;
        (*(code *)puVar20)(pcVar15,local_68);
      }
      pcVar19 = pcVar15 + -1;
      pcVar15[-1] = '1';
    }
  }
  else {
    lVar25 = FUN_000317b0(param_5,param_6,param_7,param_8);
    if (lVar25 == 0) {
      lVar25 = FUN_00031340(param_5,param_6,param_7,param_8);
      uVar29 = lVar25 * CONCAT44(param_1,param_2);
      lVar25 = FUN_00031340((int)(uVar29 >> 0x20),(int)uVar29,(int)((ulonglong)lVar25 >> 0x20));
      if (lVar25 == CONCAT44(param_1,param_2)) {
        uVar7 = 0;
        uVar6 = 0;
        goto LAB_000223b4;
      }
    }
LAB_00021ca0:
    dVar22 = (double)FUN_000309d0(param_5,param_6);
    dVar23 = (double)FUN_000309d0(param_7,param_8);
    dVar22 = dVar22 / dVar23;
    dVar23 = (double)FUN_000309d0(param_1,param_2);
    puVar20 = PTR_LAB_00049218;
    dVar22 = dVar22 * dVar23;
    if ((param_4 & 0x10) == 0) {
      dVar23 = dVar22;
      if (((param_4 & 3) != 1) && (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760))) {
        uVar28 = FUN_00030930(dVar22);
        iVar13 = (int)((ulonglong)uVar28 >> 0x20);
        uVar4 = (uint)uVar28;
        dVar23 = (double)FUN_000309d0(iVar13,uVar4);
        if (((param_4 & 3) == 0) && (dVar22 != dVar23)) {
          dVar23 = (double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13);
        }
      }
      (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23);
      iVar13 = -1;
      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);
      uVar4 = uVar7;
    }
    else {
      iVar13 = 0;
      dVar23 = (double)uVar16;
      do {
        dVar24 = dVar23;
        dVar23 = dVar24 * (double)uVar16;
        iVar13 = iVar13 + 1;
        if (dVar22 < dVar23) break;
      } while (iVar13 != 8);
      dVar22 = dVar22 / dVar24;
      uVar6 = (uVar10 == 0) + 1 + local_70 + 1;
      if (uVar4 == 1) {
        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)
        ;
        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);
        if (uVar7 <= uVar6) goto LAB_0002232c;
        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);
        dVar23 = dVar22 * dVar24;
      }
      else {
        dVar23 = dVar22;
        if (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)) {
          lVar25 = FUN_00030930(dVar22);
          dVar23 = dVar22;
          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);
          if ((uVar4 == 0) && (dVar23 != dVar22)) {
            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));
          }
        }
        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)
        ;
        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);
        dVar22 = dVar23;
        if (uVar6 < uVar7) {
          dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);
        }
        else {
LAB_0002232c:
          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {
            uVar4 = uVar7 - (local_70 + 1);
            goto LAB_00021d4c;
          }
          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);
          dVar23 = dVar22 * dVar24;
          puVar20 = PTR_LAB_00049218;
          if (uVar4 == 1) goto LAB_0002207c;
        }
        puVar2 = PTR_LAB_00049218;
        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);
        if (dVar23 < *(double *)(puVar20 + 0x6760)) {
          lVar25 = FUN_00030930(dVar23);
          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);
          if ((uVar4 == 0) && (dVar22 != dVar23)) {
            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));
          }
          dVar23 = dVar22;
          dVar24 = *(double *)(puVar2 + 0x6768);
        }
      }
LAB_0002207c:
      (*(code *)PTR___sprintf_chk_00049454)
                (param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23 / dVar24);
      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);
      uVar4 = uVar7;
    }
LAB_00021d4c:
    pcVar19 = local_88 + -uVar7;
    (*(code *)PTR_memmove_00049610)(pcVar19,param_3,uVar7);
    pcVar15 = pcVar19 + uVar4;
  }
  if ((param_4 & 4) != 0) {
    uVar6 = (int)pcVar15 - (int)pcVar19;
    iVar8 = (*(code *)PTR_strlen_0004953c)(local_7c);
    (*(code *)PTR___memcpy_chk_00049558)(auStack_60,pcVar19,uVar6,0x29);
    uVar4 = 0xffffffff;
    while( true ) {
      uVar7 = (uint)*pbVar17;
      if (uVar7 != 0) {
        uVar4 = uVar7;
        if (0x7e < uVar7) {
          uVar4 = uVar6;
        }
        pbVar17 = pbVar17 + 1;
      }
      if (uVar6 < uVar4) break;
      uVar6 = uVar6 - uVar4;
      pcVar19 = pcVar15 + -uVar4;
      (*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60 + uVar6,uVar4);
      if (uVar6 == 0) goto LAB_00021d7c;
      pcVar15 = pcVar19 + -iVar8;
      (*(code *)PTR_memcpy_00049600)(pcVar15,local_7c,iVar8);
    }
    pcVar19 = pcVar15 + -uVar6;
    (*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60,uVar6);
  }
LAB_00021d7c:
  if ((param_4 & 0x80) == 0) goto LAB_00021da4;
  if ((iVar13 == -1) && ((param_7 != 0 || (iVar13 = 0, 1 < param_8)))) {
    iVar13 = 1;
    uVar6 = 1;
    uVar4 = 0;
    do {
      uVar29 = (ulonglong)uVar6;
      uVar6 = (uint)(uVar29 * uVar16);
      uVar4 = uVar16 * uVar4 + (int)(uVar29 * uVar16 >> 0x20);
      if ((param_7 <= uVar4) && ((param_7 != uVar4 || (param_8 <= uVar6)))) break;
      iVar13 = iVar13 + 1;
    } while (iVar13 != 8);
    if ((param_4 & 0x40) != 0) {
LAB_000221fc:
      local_88 = (char *)(param_3 + 0x288);
      *(undefined1 *)(param_3 + 0x287) = 0x20;
      goto LAB_00022208;
    }
LAB_00022210:
    if ((uVar10 == 0) && (iVar13 == 1)) {
      cVar9 = 'k';
    }
    else {
      cVar9 = PTR_LAB_00049218[iVar13 + 0x6748];
    }
    pcVar15 = local_88 + 1;
    *local_88 = cVar9;
  }
  else {
    if ((param_4 & 0x100) == 0 && iVar13 == 0) goto LAB_00021da4;
    if ((param_4 & 0x40) != 0) goto LAB_000221fc;
LAB_00022208:
    pcVar15 = local_88;
    if (iVar13 != 0) goto LAB_00022210;
  }
  local_88 = pcVar15;
  if ((param_4 & 0x100) != 0) {
    pcVar11 = pcVar15 + 1;
    local_88 = pcVar11;
    if ((uVar10 != 0) && (iVar13 != 0)) {
      local_88 = pcVar15 + 2;
      *pcVar15 = 'i';
      pcVar15 = pcVar11;
    }
    *pcVar15 = 'B';
  }
LAB_00021da4:
  while( true ) {
    *local_88 = '\0';
    if (local_34 == *(int *)puVar3) break;
    local_88 = (char *)(*(code *)PTR___stack_chk_fail_000495d0)();
  }
  return pcVar19;
}


lui gp,0x3
addiu gp,gp,-0x910
addu gp,gp,t9
lw v0,-0x7be4(gp)
addiu sp,sp,-0xb0
lw t9,-0x7d2c(gp)
andi v1,a3,0x20
sdc1 f20,0xa8(sp)
sw v0,0x3c(sp)
sw a0,0x2c(sp)
sw s2,0x88(sp)
li s2,0x400
lw v0,0x0(v0)
lw a0,0xcc(sp)
sw gp,0x18(sp)
sw v0,0x7c(sp)
andi v0,a3,0x3
sw v0,0x38(sp)
li v0,0x3e8
sw ra,0xa4(sp)
sw s8,0xa0(sp)
or s8,a1,zero
sw s5,0x94(sp)
sw s4,0x90(sp)
sw s3,0x8c(sp)
or s3,a3,zero
sw s1,0x84(sp)
sw s0,0x80(sp)
sw v1,0x44(sp)
sw a2,0x24(sp)
sw a0,0x30(sp)
sw s7,0x9c(sp)
sw s6,0x98(sp)
movz s2,v0,v1
lw s0,0xc0(sp)
lw s1,0xc4(sp)
jalr t9
_lw s5,0xc8(sp)
lw gp,0x18(sp)
or s4,v0,zero
lw v0,0x0(v0)
lw t9,-0x7ca4(gp)
or a0,v0,zero
jalr t9
_sw v0,0x48(sp)
lw gp,0x18(sp)
sw v0,0x40(sp)
addiu v0,v0,-0x1
sltiu v0,v0,0x10
bne v0,zero,0x00021bcc
_li v0,0x1
sw v0,0x40(sp)
lw v0,-0x7fc8(gp)
addiu v0,v0,0x6104
sw v0,0x48(sp)
lw a0,0x4(s4)
lw t9,-0x7ca4(gp)
lw s4,0x8(s4)
jalr t9
_sw a0,0x34(sp)
sltiu v0,v0,0x11
bne v0,zero,0x00021bf8
_lw gp,0x18(sp)
lw v0,-0x7fc8(gp)
addiu v0,v0,0x7ea8
sw v0,0x34(sp)
lw v1,0x24(sp)
sltu v0,s0,s5
addiu v1,v1,0x287
bne v0,zero,0x00021dfc
_sw v1,0x28(sp)
beq s5,s0,0x00021df0
_lw v0,0x30(sp)
lw s6,0x30(sp)
or a2,s5,zero
lw t9,-0x7fc4(gp)
or a0,s0,zero
or a1,s1,zero
bal 0x000317b0
_or a3,s6,zero
or v0,v0,v1
bne v0,zero,0x00021c9c
_lw gp,0x18(sp)
lw t9,-0x7e48(gp)
or a3,s6,zero
or a2,s5,zero
or a0,s0,zero
bal 0x00031340
_or a1,s1,zero
or a3,v1,zero
lw v1,0x2c(sp)
lw gp,0x18(sp)
or a2,v0,zero
mult v1,a3
madd s8,v0
lw t9,-0x7e48(gp)
mflo a0
multu a3,s8
mfhi s6
mflo a1
mflo s7
addu s6,a0,s6
bal 0x00031340
_or a0,s6,zero
lw a0,0x2c(sp)
beq v0,a0,0x000223a4
_lw gp,0x18(sp)
lw t9,-0x7e44(gp)
or a0,s0,zero
bal 0x000309d0
_or a1,s1,zero
or a0,s5,zero
lw gp,0x18(sp)
mov.D f20,f0
lw t9,-0x7e44(gp)
bal 0x000309d0
_lw a1,0x30(sp)
or a1,s8,zero
div.D f20,f20,f0
lw gp,0x18(sp)
lw t9,-0x7e44(gp)
bal 0x000309d0
_lw a0,0x2c(sp)
andi v0,s3,0x10
lw gp,0x18(sp)
bne v0,zero,0x00021f50
_mul.D f20,f20,f0
li v0,0x1
andi s6,s3,0x3
beq s6,v0,0x00021d0c
_lw v0,-0x7fc8(gp)
ldc1 f0,0x6760(v0)
c.lt.D f20,f0
bc1t 0x0002227c
_lw t9,-0x7e40(gp)
lw a3,-0x7fc8(gp)
li a2,-0x1
lw s0,0x24(sp)
li a1,0x1
lw t9,-0x7d8c(gp)
sdc1 f20,0x10(sp)
addiu a3,a3,0x6700
jalr t9
_or a0,s0,zero
or a0,s0,zero
lw gp,0x18(sp)
lw t9,-0x7ca4(gp)
jalr t9
_li s0,-0x1
lw gp,0x18(sp)
or s1,v0,zero
lw v1,0x28(sp)
or a2,v0,zero
lw t9,-0x7bd0(gp)
lw a1,0x24(sp)
subu s8,v1,v0
jalr t9
_or a0,s8,zero
addu s1,s8,s1
lw gp,0x18(sp)
andi v0,s3,0x4
bne v0,zero,0x000220c0
_lw t9,-0x7ca4(gp)
andi v0,s3,0x80
beq v0,zero,0x00021da4
_lw v1,0x28(sp)
li v0,-0x1
beq s0,v0,0x000221a4
_andi v1,s3,0x100
or v0,v1,s0
bne v0,zero,0x00022590
_nop
lw v1,0x28(sp)
or v0,s8,zero
lw a0,0x7c(sp)
sb zero,0x0(v1)
lw v1,0x3c(sp)
lw v1,0x0(v1)
bne a0,v1,0x0002277c
_lw ra,0xa4(sp)
lw s8,0xa0(sp)
lw s7,0x9c(sp)
lw s6,0x98(sp)
lw s5,0x94(sp)
lw s4,0x90(sp)
lw s3,0x8c(sp)
lw s2,0x88(sp)
lw s1,0x84(sp)
lw s0,0x80(sp)
ldc1 f20,0xa8(sp)
jr ra
_addiu sp,sp,0xb0
sltu v0,s1,v0
beq v0,zero,0x00021c18
_lw s6,0x30(sp)
or v0,s0,s1
beq v0,zero,0x00021c9c
_or a2,s0,zero
lw s6,0x30(sp)
lw t9,-0x7fc4(gp)
or a3,s1,zero
or a0,s5,zero
bal 0x000317b0
_or a1,s6,zero
or v0,v0,v1
bne v0,zero,0x00021c9c
_lw gp,0x18(sp)
lw t9,-0x7e48(gp)
or a2,s0,zero
or a3,s1,zero
or a1,s6,zero
bal 0x00031340
_or a0,s5,zero
or a1,s8,zero
lw gp,0x18(sp)
or s0,v0,zero
lw a0,0x2c(sp)
or a2,s0,zero
or a3,v1,zero
sw s0,0x4c(sp)
lw t9,-0x7fc4(gp)
bal 0x000317b0
_or s1,v1,zero
or a2,s0,zero
sll a0,v1,0x2
lw gp,0x18(sp)
srl a1,v1,0x1e
sll t0,v0,0x2
addu v1,a0,v1
or t0,a1,t0
lw t9,-0x7fc4(gp)
addu v0,t0,v0
sltu t0,v1,a0
addu t0,t0,v0
srl v0,v1,0x1f
sll s7,t0,0x1
sll s6,v1,0x1
or s7,v0,s7
or a0,s7,zero
or a1,s6,zero
bal 0x000317b0
_or a3,s1,zero
or a1,s8,zero
lw gp,0x18(sp)
srl t2,v1,0x1f
sll t4,v0,0x1
lw a0,0x2c(sp)
or a2,s0,zero
or t4,t2,t4
lw t9,-0x7e48(gp)
or a3,s1,zero
sw t4,0x2c(sp)
bal 0x00031340
_sll s8,v1,0x1
or a0,s7,zero
lw gp,0x18(sp)
or a1,s6,zero
or a2,s0,zero
or a3,s1,zero
or s7,v1,zero
lw t9,-0x7e48(gp)
bal 0x00031340
_or s6,v0,zero
lw t4,0x2c(sp)
or t0,v1,zero
sltu v0,t4,s0
bne v0,zero,0x00022584
_lw gp,0x18(sp)
beq s0,t4,0x0002257c
_sltu v0,s8,s1
sltu s0,s0,t4
bne s0,zero,0x00021f48
_lw v0,0x4c(sp)
bne t4,v0,0x0002262c
_nop
sltu s1,s1,s8
beq s1,zero,0x0002262c
_nop
b 0x000223b4
_li s8,0x3
mtc1 s2,f0
or s0,zero,zero
li v0,0x8
cvt.d.W f2,f0
mov.D f0,f2
mov.D f4,f0
mul.D f0,f0,f2
c.le.D f0,f20
bc1f 0x2,0x00021f80
_addiu s0,s0,0x1
bne s0,v0,0x00021f64
_nop
lw v0,0x44(sp)
div.D f20,f20,f4
lw v1,0x38(sp)
sltiu s6,v0,0x1
lw v0,0x40(sp)
addiu s6,s6,0x1
addiu s1,v0,0x1
li v0,0x1
beq v1,v0,0x00022354
_addu s6,s6,s1
lw s8,-0x7fc8(gp)
ldc1 f0,0x6760(s8)
c.lt.D f20,f0
bc1t 0x3,0x000222d0
_lw t9,-0x7e40(gp)
mov.D f0,f20
lw a3,-0x7fc8(gp)
li a2,-0x1
lw s7,0x24(sp)
li a1,0x1
lw t9,-0x7d8c(gp)
sdc1 f0,0x10(sp)
addiu a3,a3,0x6708
jalr t9
_or a0,s7,zero
lw gp,0x18(sp)
lw t9,-0x7ca4(gp)
jalr t9
_or a0,s7,zero
sltu s6,s6,v0
beq s6,zero,0x0002232c
_lw gp,0x18(sp)
lw s1,-0x7fc8(gp)
ldc1 f0,0x6768(s1)
mul.D f20,f20,f0
ldc1 f0,0x6760(s8)
c.lt.D f20,f0
bc1f 0x5,0x0002207c
_ldc1 f0,0x6768(s1)
lw t9,-0x7e40(gp)
bal 0x00030930
_mov.D f12,f20
lw gp,0x18(sp)
or s8,v0,zero
or a0,s8,zero
or a1,v1,zero
lw t9,-0x7e44(gp)
bal 0x000309d0
_or s6,v1,zero
lw v0,0x38(sp)
bne v0,zero,0x00022074
_lw gp,0x18(sp)
c.eq.D f0,f20
bc1t 0x6,0x00022078
_mov.D f20,f0
addiu a1,s6,0x1
lw t9,-0x7e44(gp)
sltu a0,a1,s6
bal 0x000309d0
_addu a0,a0,s8
lw gp,0x18(sp)
mov.D f20,f0
ldc1 f0,0x6768(s1)
li a2,-0x1
lw a3,-0x7fc8(gp)
li a1,0x1
lw s1,0x24(sp)
lw t9,-0x7d8c(gp)
addiu a3,a3,0x6700
or a0,s1,zero
div.D f20,f20,f0
jalr t9
_sdc1 f20,0x10(sp)
lw gp,0x18(sp)
lw t9,-0x7ca4(gp)
jalr t9
_or a0,s1,zero
lw gp,0x18(sp)
b 0x00021d4c
_or s1,v0,zero
addiu v0,sp,0x50
lw a0,0x34(sp)
subu s7,s1,s8
sw v0,0x2c(sp)
jalr t9
_or s6,v0,zero
or a0,s6,zero
lw gp,0x18(sp)
li s6,-0x1
li a3,0x29
or a2,s7,zero
or a1,s8,zero
lw t9,-0x7c88(gp)
jalr t9
_or s8,v0,zero
lw gp,0x18(sp)
sw s0,0x38(sp)
or s0,s7,zero
or s7,s6,zero
lw s6,0x34(sp)
lbu a0,0x0(s4)
beq a0,zero,0x00022130
_sltu v0,s0,s7
sltiu v0,a0,0x7f
movz a0,s0,v0
addiu s4,s4,0x1
or s7,a0,zero
sltu v0,s0,s7
beq v0,zero,0x00022160
_lw v0,0x2c(sp)
or s7,s0,zero
lw t9,-0x7be0(gp)
subu s8,s1,s7
lw a1,0x2c(sp)
or a2,s7,zero
lw s0,0x38(sp)
jalr t9
_or a0,s8,zero
b 0x00021d7c
_lw gp,0x18(sp)
subu s0,s0,s7
lw t9,-0x7be0(gp)
subu s1,s1,s7
or a2,s7,zero
addu a1,v0,s0
jalr t9
_or a0,s1,zero
beq s0,zero,0x00022790
_lw gp,0x18(sp)
lw t9,-0x7be0(gp)
subu s1,s1,s8
or a2,s8,zero
or a1,s6,zero
jalr t9
_or a0,s1,zero
b 0x00022110
_lw gp,0x18(sp)
beq s5,zero,0x00022614
_nop
li s0,0x1
li v1,0x1
or v0,zero,zero
li a2,0x8
mul a0,s2,v0
multu v1,s2
mfhi v0
mflo v1
addu a0,a0,v0
sltu a1,a0,s5
beq a1,zero,0x000225a4
_or v0,a0,zero
addiu s0,s0,0x1
bne s0,a2,0x000221bc
_nop
andi v0,s3,0x40
beq v0,zero,0x00022210
_andi v1,s3,0x100
lw a0,0x24(sp)
addiu v0,a0,0x288
sw v0,0x28(sp)
li v0,0x20
sb v0,0x287(a0)
beq s0,zero,0x00022240
_lw v0,0x28(sp)
lw v0,0x44(sp)
bne v0,zero,0x00022228
_lw v0,-0x7fc8(gp)
li v0,0x1
beq s0,v0,0x00022644
_lw v0,-0x7fc8(gp)
addiu v0,v0,0x6748
addu v0,s0,v0
lb a0,0x0(v0)
lw a1,0x28(sp)
addiu v0,a1,0x1
sb a0,0x0(a1)
beq v1,zero,0x00022788
_lw v1,0x44(sp)
addiu a1,v0,0x1
beq v1,zero,0x00022270
_sw a1,0x28(sp)
beq s0,zero,0x00022274
_li v1,0x42
addiu v1,v0,0x2
li a0,0x69
sw v1,0x28(sp)
sb a0,0x0(v0)
or v0,a1,zero
li v1,0x42
b 0x00021da0
_sb v1,0x0(v0)
bal 0x00030930
_mov.D f12,f20
lw gp,0x18(sp)
or s1,v0,zero
or a0,s1,zero
or a1,v1,zero
lw t9,-0x7e44(gp)
bal 0x000309d0
_or s0,v1,zero
bne s6,zero,0x000222c8
_lw gp,0x18(sp)
c.eq.D f20,f0
bc1t 0x1,0x000222c8
_addiu a1,s0,0x1
lw t9,-0x7e44(gp)
sltu a0,a1,s0
bal 0x000309d0
_addu a0,a0,s1
lw gp,0x18(sp)
b 0x00021d0c
_mov.D f20,f0
bal 0x00030930
_mov.D f12,f20
lw gp,0x18(sp)
or s7,v0,zero
or a1,v1,zero
sw v1,0x2c(sp)
lw t9,-0x7e44(gp)
bal 0x000309d0
_or a0,s7,zero
lw v1,0x38(sp)
bne v1,zero,0x00021fc0
_lw gp,0x18(sp)
c.eq.D f20,f0
bc1t 0x4,0x00021fc4
_lw a3,-0x7fc8(gp)
lw v1,0x2c(sp)
lw t9,-0x7e44(gp)
addiu a1,v1,0x1
sltu v1,a1,v1
bal 0x000309d0
_addu a0,v1,s7
b 0x00021fc0
_lw gp,0x18(sp)
andi v1,s3,0x8
beq v1,zero,0x0002234c
_lw v1,0x24(sp)
li a0,0x30
addu v1,v1,v0
lb v1,-0x1(v1)
beq v1,a0,0x000225c8
_lw v1,0x38(sp)
b 0x00021d4c
_subu s1,v0,s1
lw a3,-0x7fc8(gp)
li a2,-0x1
lw s7,0x24(sp)
li a1,0x1
lw t9,-0x7d8c(gp)
sdc1 f20,0x10(sp)
addiu a3,a3,0x6708
jalr t9
_or a0,s7,zero
lw gp,0x18(sp)
lw t9,-0x7ca4(gp)
jalr t9
_or a0,s7,zero
sltu s6,s6,v0
beq s6,zero,0x0002232c
_lw gp,0x18(sp)
lw s1,-0x7fc8(gp)
ldc1 f0,0x6768(s1)
b 0x0002207c
_mul.D f20,f20,f0
bne v1,s8,0x00021ca0
_lw t9,-0x7e44(gp)
or s8,zero,zero
or t0,zero,zero
andi v0,s3,0x10
beq v0,zero,0x00022554
_sw v0,0x2c(sp)
bne s6,zero,0x00022490
_or s0,zero,zero
sltu v0,s7,s2
beq v0,zero,0x00022490
_nop
lw v1,0x38(sp)
li v0,0x1
beq v1,v0,0x0002255c
_andi v0,s7,0x1
lw s1,0x28(sp)
lw v0,0x38(sp)
bne v0,zero,0x00022420
_addu t0,t0,s8
blez t0,0x00022420
_nop
addiu v1,s7,0x1
sltu v0,v1,s7
addu v0,v0,s6
or s6,v0,zero
lw v0,0x2c(sp)
beq v0,zero,0x00022420
_or s7,v1,zero
beq s6,zero,0x000225e4
_nop
or s8,s1,zero
lw t9,-0x7fc4(gp)
li a3,0xa
or a2,zero,zero
or a1,s7,zero
bal 0x000317b0
_or a0,s6,zero
addiu s8,s8,-0x1
lw gp,0x18(sp)
addiu v1,v1,0x30
li a3,0xa
or a2,zero,zero
sb v1,0x0(s8)
or a1,s7,zero
lw t9,-0x7e48(gp)
bal 0x00031340
_or a0,s6,zero
beq s6,zero,0x00022478
_lw gp,0x18(sp)
or s6,v0,zero
b 0x00022424
_or s7,v1,zero
sltiu a0,s7,0xa
bne a0,zero,0x00021d70
_nop
or s6,v0,zero
b 0x00022424
_or s7,v1,zero
sw s4,0x4c(sp)
or s4,s0,zero
sw s3,0xbc(sp)
b 0x000224c0
_or s3,t0,zero
sltu s8,zero,s8
or v0,zero,zero
beq v0,s6,0x0002264c
_addiu s4,s4,0x1
li v0,0x8
beq s4,v0,0x00022634
_or t0,s3,zero
lw t9,-0x7fc4(gp)
or a2,zero,zero
or a1,s7,zero
or a0,s6,zero
bal 0x000317b0
_or a3,s2,zero
sra s0,s8,0x1
sll v0,v1,0x2
lw gp,0x18(sp)
or a2,zero,zero
addu v1,v0,v1
or a1,s7,zero
sll v1,v1,0x1
lw t9,-0x7e48(gp)
or a0,s6,zero
addu t0,v1,s3
or a3,s2,zero
teq s2,zero
divu t0,s2
mfhi t0
mflo s1
sll t0,t0,0x1
or s3,s1,zero
bal 0x00031340
_addu s0,t0,s0
or s6,v0,zero
lw gp,0x18(sp)
sltu v0,s0,s2
or s7,v1,zero
bne v0,zero,0x000224a4
_addu s8,s8,s0
li v0,0x2
li v1,0x3
sltu s8,s2,s8
movn v0,v1,s8
b 0x000224a8
_or s8,v0,zero
b 0x000223d4
_li s0,-0x1
addu t4,v0,s8
sltu t4,zero,t4
addu t0,t4,t0
slti t0,t0,0x6
beq t0,zero,0x000223fc
_lw s1,0x28(sp)
b 0x00022424
_or s8,s1,zero
beq v0,zero,0x00021f28
_nop
or t4,t4,s8
b 0x000223b4
_sltu s8,zero,t4
andi s3,s3,0x40
beq s3,zero,0x00022208
_lw a0,0x24(sp)
b 0x000221fc
_addiu v0,a0,0x288
bne s5,a0,0x000221e8
_nop
lw a0,0x30(sp)
sltu a0,v1,a0
bne a0,zero,0x000221e0
_addiu s0,s0,0x1
addiu s0,s0,-0x1
b 0x000221ec
_andi v0,s3,0x40
lw s1,-0x7fc8(gp)
li v0,0x1
ldc1 f0,0x6768(s1)
beq v1,v0,0x0002207c
_mul.D f20,f20,f0
b 0x0002200c
_lw s8,-0x7fc8(gp)
bne s2,v1,0x00022424
_or s8,s1,zero
li v0,0x8
beq s0,v0,0x00022428
_lw t9,-0x7fc4(gp)
andi v0,s3,0x8
beq v0,zero,0x00022750
_addiu s0,s0,0x1
li v0,0x31
addiu s8,s1,-0x1
b 0x00021d70
_sb v0,-0x1(s1)
lw v0,0x30(sp)
sltiu v0,v0,0x2
beq v0,zero,0x000221ac
_or s0,zero,zero
b 0x00021d94
_andi v1,s3,0x100
b 0x000223b4
_li s8,0x2
lw s3,0xbc(sp)
or s0,s4,zero
b 0x000223d4
_lw s4,0x4c(sp)
b 0x00022234
_li a0,0x6b
sltu v0,s7,s2
beq v0,zero,0x000224b8
_li v0,0x8
or t0,s3,zero
lw s3,0xbc(sp)
or s0,s4,zero
bne s6,zero,0x000223d4
_lw s4,0x4c(sp)
sltiu v0,s7,0xa
beq v0,zero,0x000223d4
_lw v1,0x38(sp)
li v0,0x1
beq v1,v0,0x000226ec
_lw v0,0x38(sp)
beq v0,zero,0x000226fc
_sltu v0,zero,s8
bne s1,zero,0x0002279c
_addiu v0,s1,0x30
andi v0,s3,0x8
bne v0,zero,0x000226d4
_lw s1,0x28(sp)
li v0,0x30
lw v1,0x24(sp)
or s8,zero,zero
lw t9,-0x7be0(gp)
lw a1,0x48(sp)
addiu s1,v1,0x286
sb v0,0x286(v1)
lw v0,0x40(sp)
subu s1,s1,v0
or a2,v0,zero
jalr t9
_or a0,s1,zero
lw gp,0x18(sp)
lw v1,0x38(sp)
li v0,0x1
beq v1,v0,0x00022420
_or t0,zero,zero
b 0x000223ec
_lw v0,0x38(sp)
andi v0,s1,0x1
addu v0,v0,s8
slti v0,v0,0x3
xori v0,v0,0x1
beq v0,zero,0x0002268c
_addiu v0,s1,0x1
li v1,0xa
beq v0,v1,0x00022724
_addiu a0,s7,0x1
addiu v0,s1,0x31
b 0x000226a4
_seb v0,v0
sltu v1,a0,s7
addu v1,v1,s6
or s7,a0,zero
bne v1,zero,0x00022740
_or s6,v1,zero
beq a0,v0,0x00022748
_lw s1,0x28(sp)
b 0x00022694
_or s8,zero,zero
b 0x000226d4
_or s8,zero,zero
lw a2,0x40(sp)
li v1,0x30
lw t9,-0x7be0(gp)
lw a1,0x48(sp)
nor v0,zero,a2
sb v1,-0x1(s1)
addu s1,s1,v0
jalr t9
_or a0,s1,zero
b 0x00022604
_lw gp,0x18(sp)
lw t9,-0x7c10(gp)
jalr t9
_nop
b 0x00021da0
_sw v0,0x28(sp)
lw s0,0x38(sp)
b 0x00021d7c
_or s8,s1,zero
b 0x000226a4
_seb v0,v0
(translation_unit "/* WARNING: Removing unreachable block (ram,0x00021f3c) */\n\nchar * human_readable(undefined4 param_1,undefined4 param_2,int param_3,uint param_4,uint param_5,\n                     uint param_6,uint param_7,uint param_8)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  uint uVar4;\n  undefined4 *puVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  char cVar9;\n  uint uVar10;\n  uint extraout_v1;\n  char extraout_v1_01;\n  int extraout_v1_00;\n  char *pcVar11;\n  uint uVar12;\n  int iVar13;\n  uint uVar14;\n  char *pcVar15;\n  uint uVar16;\n  byte *pbVar17;\n  undefined4 uVar18;\n  char *pcVar19;\n  undefined *puVar20;\n  uint uVar21;\n  double dVar22;\n  double dVar23;\n  double dVar24;\n  longlong lVar25;\n  ulonglong uVar26;\n  longlong lVar27;\n  undefined8 uVar28;\n  ulonglong uVar29;\n  char *local_88;\n  undefined *local_7c;\n  uint local_70;\n  undefined *local_68;\n  undefined1 auStack_60 [44];\n  int local_34;\n  \n  puVar3 = PTR___stack_chk_guard_000495fc;\n  uVar10 = param_4 & 0x20;\n  uVar16 = 0x400;\n  local_34 = *(int *)PTR___stack_chk_guard_000495fc;\n  uVar4 = param_4 & 3;\n  if (uVar10 == 0) {\n    uVar16 = 1000;\n  }\n  puVar5 = (undefined4 *)(*(code *)PTR_localeconv_000494b4)();\n  local_68 = (undefined *)*puVar5;\n  local_70 = (*(code *)PTR_strlen_0004953c)(local_68);\n  if (0xf < local_70 - 1) {\n    local_70 = 1;\n    local_68 = PTR_LAB_00049218 + 0x6104;\n  }\n  local_7c = (undefined *)puVar5[1];\n  pbVar17 = (byte *)puVar5[2];\n  uVar6 = (*(code *)PTR_strlen_0004953c)();\n  if (0x10 < uVar6) {\n    local_7c = PTR_LAB_00049218 + 0x7ea8;\n  }\n  local_88 = (char *)(param_3 + 0x287);\n  if ((param_5 < param_7) || ((param_7 == param_5 && (param_6 < param_8)))) {\n    if ((param_5 == 0 && param_6 == 0) ||\n       (lVar25 = FUN_000317b0(param_7,param_8,param_5,param_6), lVar25 != 0)) goto LAB_00021ca0;\n    uVar26 = FUN_00031340(param_7,param_8,param_5,param_6);\n    uVar7 = (uint)(uVar26 >> 0x20);\n    uVar12 = (uint)uVar26;\n    uVar28 = FUN_000317b0(param_1,param_2,uVar7,uVar12);\n    iVar13 = (int)((ulonglong)uVar28 >> 0x20);\n    uVar6 = (uint)uVar28;\n    uVar21 = uVar6 * 5 >> 0x1f |\n             ((uint)(uVar6 * 5 < uVar6 * 4) + (uVar6 >> 0x1e | iVar13 << 2) + iVar13) * 2;\n    lVar27 = FUN_000317b0(uVar21,uVar6 * 10,uVar7,uVar12);\n    lVar25 = lVar27 << 1;\n    uVar14 = (uint)((ulonglong)lVar25 >> 0x20);\n    uVar29 = FUN_00031340(param_1,param_2,uVar7,uVar12);\n    FUN_00031340(uVar21,uVar6 * 10,uVar7,uVar12);\n    uVar6 = extraout_v1;\n    if ((uVar14 < uVar7) || ((uVar7 == uVar14 && ((uint)lVar25 < uVar12)))) {\n      uVar7 = (uint)(lVar25 != 0);\n    }\n    else if (uVar26 < (ulonglong)(lVar27 << 1)) {\n      uVar7 = 3;\n    }\n    else {\n      uVar7 = 2;\n    }\nLAB_000223b4:\n    pcVar15 = local_88;\n    if ((param_4 & 0x10) == 0) {\n      iVar13 = -1;\n    }\n    else {\n      iVar13 = 0;\n      if (((int)(uVar29 >> 0x20) != 0) || (uVar16 <= (uint)uVar29)) {\n        iVar13 = 0;\n        do {\n          uVar18 = (undefined4)(uVar29 >> 0x20);\n          FUN_000317b0(uVar18,(int)uVar29,0,uVar16);\n          uVar12 = extraout_v1_00 * 10 + uVar6;\n          if (uVar16 == 0) {\n            trap(7);\n          }\n          uVar6 = uVar12 / uVar16;\n          uVar14 = (uVar12 % uVar16) * 2 + ((int)uVar7 >> 1);\n          uVar29 = FUN_00031340(uVar18,(int)uVar29,0,uVar16);\n          puVar20 = PTR_memcpy_00049600;\n          uVar12 = (uint)uVar29;\n          uVar21 = uVar7 + uVar14;\n          if (uVar14 < uVar16) {\n            uVar7 = (uint)(uVar21 != 0);\n          }\n          else {\n            uVar7 = 2;\n            if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }\n          }\n          iVar13 = iVar13 + 1;\n          if (((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16)) {\n            if (uVar12 < 10) {\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }\n            break;\n          }\n        } while (iVar13 != 8);\n      }\n    }\n    if (uVar4 == 1) {\n      pcVar19 = local_88;\n      if (5 < (int)((((uint)uVar29 & 1) + uVar7 != 0) + uVar6)) goto LAB_000223fc;\nLAB_00022428:\n      do {\n        do {\n          iVar8 = (int)(uVar29 >> 0x20);\n          uVar4 = (uint)uVar29;\n          FUN_000317b0(iVar8,uVar4,0,10);\n          pcVar19 = pcVar19 + -1;\n          *pcVar19 = extraout_v1_01 + '0';\n          uVar29 = FUN_00031340(iVar8,uVar4,0,10);\n        } while (iVar8 != 0);\n      } while (9 < uVar4);\n    }\n    else {\nLAB_000223ec:\n      pcVar19 = pcVar15;\n      if ((uVar4 != 0) || ((int)(uVar6 + uVar7) < 1)) goto LAB_00022428;\nLAB_000223fc:\n      puVar20 = PTR_memcpy_00049600;\n      uVar29 = uVar29 + 1;\n      pcVar19 = pcVar15;\n      if (((param_4 & 0x10) == 0) ||\n         ((((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)) || (iVar13 == 8))))\n      goto LAB_00022428;\n      iVar13 = iVar13 + 1;\n      if ((param_4 & 8) == 0) {\n        pcVar15[-1] = '0';\n        pcVar15 = pcVar15 + ~local_70;\n        (*(code *)puVar20)(pcVar15,local_68);\n      }\n      pcVar19 = pcVar15 + -1;\n      pcVar15[-1] = '1';\n    }\n  }\n  else {\n    lVar25 = FUN_000317b0(param_5,param_6,param_7,param_8);\n    if (lVar25 == 0) {\n      lVar25 = FUN_00031340(param_5,param_6,param_7,param_8);\n      uVar29 = lVar25 * CONCAT44(param_1,param_2);\n      lVar25 = FUN_00031340((int)(uVar29 >> 0x20),(int)uVar29,(int)((ulonglong)lVar25 >> 0x20));\n      if (lVar25 == CONCAT44(param_1,param_2)) {\n        uVar7 = 0;\n        uVar6 = 0;\n        goto LAB_000223b4;\n      }\n    }\nLAB_00021ca0:\n    dVar22 = (double)FUN_000309d0(param_5,param_6);\n    dVar23 = (double)FUN_000309d0(param_7,param_8);\n    dVar22 = dVar22 / dVar23;\n    dVar23 = (double)FUN_000309d0(param_1,param_2);\n    puVar20 = PTR_LAB_00049218;\n    dVar22 = dVar22 * dVar23;\n    if ((param_4 & 0x10) == 0) {\n      dVar23 = dVar22;\n      if (((param_4 & 3) != 1) && (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760))) {\n        uVar28 = FUN_00030930(dVar22);\n        iVar13 = (int)((ulonglong)uVar28 >> 0x20);\n        uVar4 = (uint)uVar28;\n        dVar23 = (double)FUN_000309d0(iVar13,uVar4);\n        if (((param_4 & 3) == 0) && (dVar22 != dVar23)) {\n          dVar23 = (double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13);\n        }\n      }\n      (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23);\n      iVar13 = -1;\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }\n    else {\n      iVar13 = 0;\n      dVar23 = (double)uVar16;\n      do {\n        dVar24 = dVar23;\n        dVar23 = dVar24 * (double)uVar16;\n        iVar13 = iVar13 + 1;\n        if (dVar22 < dVar23) break;\n      } while (iVar13 != 8);\n      dVar22 = dVar22 / dVar24;\n      uVar6 = (uVar10 == 0) + 1 + local_70 + 1;\n      if (uVar4 == 1) {\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        if (uVar7 <= uVar6) goto LAB_0002232c;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        dVar23 = dVar22 * dVar24;\n      }\n      else {\n        dVar23 = dVar22;\n        if (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar22);\n          dVar23 = dVar22;\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar23 != dVar22)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        dVar22 = dVar23;\n        if (uVar6 < uVar7) {\n          dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar23 = dVar22 * dVar24;\n          puVar20 = PTR_LAB_00049218;\n          if (uVar4 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar23 < *(double *)(puVar20 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar23);\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar22 != dVar23)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n          dVar23 = dVar22;\n          dVar24 = *(double *)(puVar2 + 0x6768);\n        }\n      }\nLAB_0002207c:\n      (*(code *)PTR___sprintf_chk_00049454)\n                (param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23 / dVar24);\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }\nLAB_00021d4c:\n    pcVar19 = local_88 + -uVar7;\n    (*(code *)PTR_memmove_00049610)(pcVar19,param_3,uVar7);\n    pcVar15 = pcVar19 + uVar4;\n  }\n  if ((param_4 & 4) != 0) {\n    uVar6 = (int)pcVar15 - (int)pcVar19;\n    iVar8 = (*(code *)PTR_strlen_0004953c)(local_7c);\n    (*(code *)PTR___memcpy_chk_00049558)(auStack_60,pcVar19,uVar6,0x29);\n    uVar4 = 0xffffffff;\n    while( true ) {\n      uVar7 = (uint)*pbVar17;\n      if (uVar7 != 0) {\n        uVar4 = uVar7;\n        if (0x7e < uVar7) {\n          uVar4 = uVar6;\n        }\n        pbVar17 = pbVar17 + 1;\n      }\n      if (uVar6 < uVar4) break;\n      uVar6 = uVar6 - uVar4;\n      pcVar19 = pcVar15 + -uVar4;\n      (*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60 + uVar6,uVar4);\n      if (uVar6 == 0) goto LAB_00021d7c;\n      pcVar15 = pcVar19 + -iVar8;\n      (*(code *)PTR_memcpy_00049600)(pcVar15,local_7c,iVar8);\n    }\n    pcVar19 = pcVar15 + -uVar6;\n    (*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60,uVar6);\n  }\nLAB_00021d7c:\n  if ((param_4 & 0x80) == 0) goto LAB_00021da4;\n  if ((iVar13 == -1) && ((param_7 != 0 || (iVar13 = 0, 1 < param_8)))) {\n    iVar13 = 1;\n    uVar6 = 1;\n    uVar4 = 0;\n    do {\n      uVar29 = (ulonglong)uVar6;\n      uVar6 = (uint)(uVar29 * uVar16);\n      uVar4 = uVar16 * uVar4 + (int)(uVar29 * uVar16 >> 0x20);\n      if ((param_7 <= uVar4) && ((param_7 != uVar4 || (param_8 <= uVar6)))) break;\n      iVar13 = iVar13 + 1;\n    } while (iVar13 != 8);\n    if ((param_4 & 0x40) != 0) {\nLAB_000221fc:\n      local_88 = (char *)(param_3 + 0x288);\n      *(undefined1 *)(param_3 + 0x287) = 0x20;\n      goto LAB_00022208;\n    }\nLAB_00022210:\n    if ((uVar10 == 0) && (iVar13 == 1)) {\n      cVar9 = 'k';\n    }\n    else {\n      cVar9 = PTR_LAB_00049218[iVar13 + 0x6748];\n    }\n    pcVar15 = local_88 + 1;\n    *local_88 = cVar9;\n  }\n  else {\n    if ((param_4 & 0x100) == 0 && iVar13 == 0) goto LAB_00021da4;\n    if ((param_4 & 0x40) != 0) goto LAB_000221fc;\nLAB_00022208:\n    pcVar15 = local_88;\n    if (iVar13 != 0) goto LAB_00022210;\n  }\n  local_88 = pcVar15;\n  if ((param_4 & 0x100) != 0) {\n    pcVar11 = pcVar15 + 1;\n    local_88 = pcVar11;\n    if ((uVar10 != 0) && (iVar13 != 0)) {\n      local_88 = pcVar15 + 2;\n      *pcVar15 = 'i';\n      pcVar15 = pcVar11;\n    }\n    *pcVar15 = 'B';\n  }\nLAB_00021da4:\n  while( true ) {\n    *local_88 = '\0';\n    if (local_34 == *(int *)puVar3) break;\n    local_88 = (char *)(*(code *)PTR___stack_chk_fail_000495d0)();\n  }\n  return pcVar19;\n}\n\n" comment (function_definition "char * human_readable(undefined4 param_1,undefined4 param_2,int param_3,uint param_4,uint param_5,\n                     uint param_6,uint param_7,uint param_8)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  uint uVar4;\n  undefined4 *puVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  char cVar9;\n  uint uVar10;\n  uint extraout_v1;\n  char extraout_v1_01;\n  int extraout_v1_00;\n  char *pcVar11;\n  uint uVar12;\n  int iVar13;\n  uint uVar14;\n  char *pcVar15;\n  uint uVar16;\n  byte *pbVar17;\n  undefined4 uVar18;\n  char *pcVar19;\n  undefined *puVar20;\n  uint uVar21;\n  double dVar22;\n  double dVar23;\n  double dVar24;\n  longlong lVar25;\n  ulonglong uVar26;\n  longlong lVar27;\n  undefined8 uVar28;\n  ulonglong uVar29;\n  char *local_88;\n  undefined *local_7c;\n  uint local_70;\n  undefined *local_68;\n  undefined1 auStack_60 [44];\n  int local_34;\n  \n  puVar3 = PTR___stack_chk_guard_000495fc;\n  uVar10 = param_4 & 0x20;\n  uVar16 = 0x400;\n  local_34 = *(int *)PTR___stack_chk_guard_000495fc;\n  uVar4 = param_4 & 3;\n  if (uVar10 == 0) {\n    uVar16 = 1000;\n  }\n  puVar5 = (undefined4 *)(*(code *)PTR_localeconv_000494b4)();\n  local_68 = (undefined *)*puVar5;\n  local_70 = (*(code *)PTR_strlen_0004953c)(local_68);\n  if (0xf < local_70 - 1) {\n    local_70 = 1;\n    local_68 = PTR_LAB_00049218 + 0x6104;\n  }\n  local_7c = (undefined *)puVar5[1];\n  pbVar17 = (byte *)puVar5[2];\n  uVar6 = (*(code *)PTR_strlen_0004953c)();\n  if (0x10 < uVar6) {\n    local_7c = PTR_LAB_00049218 + 0x7ea8;\n  }\n  local_88 = (char *)(param_3 + 0x287);\n  if ((param_5 < param_7) || ((param_7 == param_5 && (param_6 < param_8)))) {\n    if ((param_5 == 0 && param_6 == 0) ||\n       (lVar25 = FUN_000317b0(param_7,param_8,param_5,param_6), lVar25 != 0)) goto LAB_00021ca0;\n    uVar26 = FUN_00031340(param_7,param_8,param_5,param_6);\n    uVar7 = (uint)(uVar26 >> 0x20);\n    uVar12 = (uint)uVar26;\n    uVar28 = FUN_000317b0(param_1,param_2,uVar7,uVar12);\n    iVar13 = (int)((ulonglong)uVar28 >> 0x20);\n    uVar6 = (uint)uVar28;\n    uVar21 = uVar6 * 5 >> 0x1f |\n             ((uint)(uVar6 * 5 < uVar6 * 4) + (uVar6 >> 0x1e | iVar13 << 2) + iVar13) * 2;\n    lVar27 = FUN_000317b0(uVar21,uVar6 * 10,uVar7,uVar12);\n    lVar25 = lVar27 << 1;\n    uVar14 = (uint)((ulonglong)lVar25 >> 0x20);\n    uVar29 = FUN_00031340(param_1,param_2,uVar7,uVar12);\n    FUN_00031340(uVar21,uVar6 * 10,uVar7,uVar12);\n    uVar6 = extraout_v1;\n    if ((uVar14 < uVar7) || ((uVar7 == uVar14 && ((uint)lVar25 < uVar12)))) {\n      uVar7 = (uint)(lVar25 != 0);\n    }\n    else if (uVar26 < (ulonglong)(lVar27 << 1)) {\n      uVar7 = 3;\n    }\n    else {\n      uVar7 = 2;\n    }\nLAB_000223b4:\n    pcVar15 = local_88;\n    if ((param_4 & 0x10) == 0) {\n      iVar13 = -1;\n    }\n    else {\n      iVar13 = 0;\n      if (((int)(uVar29 >> 0x20) != 0) || (uVar16 <= (uint)uVar29)) {\n        iVar13 = 0;\n        do {\n          uVar18 = (undefined4)(uVar29 >> 0x20);\n          FUN_000317b0(uVar18,(int)uVar29,0,uVar16);\n          uVar12 = extraout_v1_00 * 10 + uVar6;\n          if (uVar16 == 0) {\n            trap(7);\n          }\n          uVar6 = uVar12 / uVar16;\n          uVar14 = (uVar12 % uVar16) * 2 + ((int)uVar7 >> 1);\n          uVar29 = FUN_00031340(uVar18,(int)uVar29,0,uVar16);\n          puVar20 = PTR_memcpy_00049600;\n          uVar12 = (uint)uVar29;\n          uVar21 = uVar7 + uVar14;\n          if (uVar14 < uVar16) {\n            uVar7 = (uint)(uVar21 != 0);\n          }\n          else {\n            uVar7 = 2;\n            if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }\n          }\n          iVar13 = iVar13 + 1;\n          if (((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16)) {\n            if (uVar12 < 10) {\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }\n            break;\n          }\n        } while (iVar13 != 8);\n      }\n    }\n    if (uVar4 == 1) {\n      pcVar19 = local_88;\n      if (5 < (int)((((uint)uVar29 & 1) + uVar7 != 0) + uVar6)) goto LAB_000223fc;\nLAB_00022428:\n      do {\n        do {\n          iVar8 = (int)(uVar29 >> 0x20);\n          uVar4 = (uint)uVar29;\n          FUN_000317b0(iVar8,uVar4,0,10);\n          pcVar19 = pcVar19 + -1;\n          *pcVar19 = extraout_v1_01 + '0';\n          uVar29 = FUN_00031340(iVar8,uVar4,0,10);\n        } while (iVar8 != 0);\n      } while (9 < uVar4);\n    }\n    else {\nLAB_000223ec:\n      pcVar19 = pcVar15;\n      if ((uVar4 != 0) || ((int)(uVar6 + uVar7) < 1)) goto LAB_00022428;\nLAB_000223fc:\n      puVar20 = PTR_memcpy_00049600;\n      uVar29 = uVar29 + 1;\n      pcVar19 = pcVar15;\n      if (((param_4 & 0x10) == 0) ||\n         ((((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)) || (iVar13 == 8))))\n      goto LAB_00022428;\n      iVar13 = iVar13 + 1;\n      if ((param_4 & 8) == 0) {\n        pcVar15[-1] = '0';\n        pcVar15 = pcVar15 + ~local_70;\n        (*(code *)puVar20)(pcVar15,local_68);\n      }\n      pcVar19 = pcVar15 + -1;\n      pcVar15[-1] = '1';\n    }\n  }\n  else {\n    lVar25 = FUN_000317b0(param_5,param_6,param_7,param_8);\n    if (lVar25 == 0) {\n      lVar25 = FUN_00031340(param_5,param_6,param_7,param_8);\n      uVar29 = lVar25 * CONCAT44(param_1,param_2);\n      lVar25 = FUN_00031340((int)(uVar29 >> 0x20),(int)uVar29,(int)((ulonglong)lVar25 >> 0x20));\n      if (lVar25 == CONCAT44(param_1,param_2)) {\n        uVar7 = 0;\n        uVar6 = 0;\n        goto LAB_000223b4;\n      }\n    }\nLAB_00021ca0:\n    dVar22 = (double)FUN_000309d0(param_5,param_6);\n    dVar23 = (double)FUN_000309d0(param_7,param_8);\n    dVar22 = dVar22 / dVar23;\n    dVar23 = (double)FUN_000309d0(param_1,param_2);\n    puVar20 = PTR_LAB_00049218;\n    dVar22 = dVar22 * dVar23;\n    if ((param_4 & 0x10) == 0) {\n      dVar23 = dVar22;\n      if (((param_4 & 3) != 1) && (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760))) {\n        uVar28 = FUN_00030930(dVar22);\n        iVar13 = (int)((ulonglong)uVar28 >> 0x20);\n        uVar4 = (uint)uVar28;\n        dVar23 = (double)FUN_000309d0(iVar13,uVar4);\n        if (((param_4 & 3) == 0) && (dVar22 != dVar23)) {\n          dVar23 = (double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13);\n        }\n      }\n      (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23);\n      iVar13 = -1;\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }\n    else {\n      iVar13 = 0;\n      dVar23 = (double)uVar16;\n      do {\n        dVar24 = dVar23;\n        dVar23 = dVar24 * (double)uVar16;\n        iVar13 = iVar13 + 1;\n        if (dVar22 < dVar23) break;\n      } while (iVar13 != 8);\n      dVar22 = dVar22 / dVar24;\n      uVar6 = (uVar10 == 0) + 1 + local_70 + 1;\n      if (uVar4 == 1) {\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        if (uVar7 <= uVar6) goto LAB_0002232c;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        dVar23 = dVar22 * dVar24;\n      }\n      else {\n        dVar23 = dVar22;\n        if (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar22);\n          dVar23 = dVar22;\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar23 != dVar22)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        dVar22 = dVar23;\n        if (uVar6 < uVar7) {\n          dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar23 = dVar22 * dVar24;\n          puVar20 = PTR_LAB_00049218;\n          if (uVar4 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar23 < *(double *)(puVar20 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar23);\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar22 != dVar23)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n          dVar23 = dVar22;\n          dVar24 = *(double *)(puVar2 + 0x6768);\n        }\n      }\nLAB_0002207c:\n      (*(code *)PTR___sprintf_chk_00049454)\n                (param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23 / dVar24);\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }\nLAB_00021d4c:\n    pcVar19 = local_88 + -uVar7;\n    (*(code *)PTR_memmove_00049610)(pcVar19,param_3,uVar7);\n    pcVar15 = pcVar19 + uVar4;\n  }\n  if ((param_4 & 4) != 0) {\n    uVar6 = (int)pcVar15 - (int)pcVar19;\n    iVar8 = (*(code *)PTR_strlen_0004953c)(local_7c);\n    (*(code *)PTR___memcpy_chk_00049558)(auStack_60,pcVar19,uVar6,0x29);\n    uVar4 = 0xffffffff;\n    while( true ) {\n      uVar7 = (uint)*pbVar17;\n      if (uVar7 != 0) {\n        uVar4 = uVar7;\n        if (0x7e < uVar7) {\n          uVar4 = uVar6;\n        }\n        pbVar17 = pbVar17 + 1;\n      }\n      if (uVar6 < uVar4) break;\n      uVar6 = uVar6 - uVar4;\n      pcVar19 = pcVar15 + -uVar4;\n      (*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60 + uVar6,uVar4);\n      if (uVar6 == 0) goto LAB_00021d7c;\n      pcVar15 = pcVar19 + -iVar8;\n      (*(code *)PTR_memcpy_00049600)(pcVar15,local_7c,iVar8);\n    }\n    pcVar19 = pcVar15 + -uVar6;\n    (*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60,uVar6);\n  }\nLAB_00021d7c:\n  if ((param_4 & 0x80) == 0) goto LAB_00021da4;\n  if ((iVar13 == -1) && ((param_7 != 0 || (iVar13 = 0, 1 < param_8)))) {\n    iVar13 = 1;\n    uVar6 = 1;\n    uVar4 = 0;\n    do {\n      uVar29 = (ulonglong)uVar6;\n      uVar6 = (uint)(uVar29 * uVar16);\n      uVar4 = uVar16 * uVar4 + (int)(uVar29 * uVar16 >> 0x20);\n      if ((param_7 <= uVar4) && ((param_7 != uVar4 || (param_8 <= uVar6)))) break;\n      iVar13 = iVar13 + 1;\n    } while (iVar13 != 8);\n    if ((param_4 & 0x40) != 0) {\nLAB_000221fc:\n      local_88 = (char *)(param_3 + 0x288);\n      *(undefined1 *)(param_3 + 0x287) = 0x20;\n      goto LAB_00022208;\n    }\nLAB_00022210:\n    if ((uVar10 == 0) && (iVar13 == 1)) {\n      cVar9 = 'k';\n    }\n    else {\n      cVar9 = PTR_LAB_00049218[iVar13 + 0x6748];\n    }\n    pcVar15 = local_88 + 1;\n    *local_88 = cVar9;\n  }\n  else {\n    if ((param_4 & 0x100) == 0 && iVar13 == 0) goto LAB_00021da4;\n    if ((param_4 & 0x40) != 0) goto LAB_000221fc;\nLAB_00022208:\n    pcVar15 = local_88;\n    if (iVar13 != 0) goto LAB_00022210;\n  }\n  local_88 = pcVar15;\n  if ((param_4 & 0x100) != 0) {\n    pcVar11 = pcVar15 + 1;\n    local_88 = pcVar11;\n    if ((uVar10 != 0) && (iVar13 != 0)) {\n      local_88 = pcVar15 + 2;\n      *pcVar15 = 'i';\n      pcVar15 = pcVar11;\n    }\n    *pcVar15 = 'B';\n  }\nLAB_00021da4:\n  while( true ) {\n    *local_88 = '\0';\n    if (local_34 == *(int *)puVar3) break;\n    local_88 = (char *)(*(code *)PTR___stack_chk_fail_000495d0)();\n  }\n  return pcVar19;\n}" primitive_type (pointer_declarator "* human_readable(undefined4 param_1,undefined4 param_2,int param_3,uint param_4,uint param_5,\n                     uint param_6,uint param_7,uint param_8)" * (function_declarator "human_readable(undefined4 param_1,undefined4 param_2,int param_3,uint param_4,uint param_5,\n                     uint param_6,uint param_7,uint param_8)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,int param_3,uint param_4,uint param_5,\n                     uint param_6,uint param_7,uint param_8)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "uint param_4" type_identifier identifier) , (parameter_declaration "uint param_5" type_identifier identifier) , (parameter_declaration "uint param_6" type_identifier identifier) , (parameter_declaration "uint param_7" type_identifier identifier) , (parameter_declaration "uint param_8" type_identifier identifier) )))) (compound_statement "{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  uint uVar4;\n  undefined4 *puVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  char cVar9;\n  uint uVar10;\n  uint extraout_v1;\n  char extraout_v1_01;\n  int extraout_v1_00;\n  char *pcVar11;\n  uint uVar12;\n  int iVar13;\n  uint uVar14;\n  char *pcVar15;\n  uint uVar16;\n  byte *pbVar17;\n  undefined4 uVar18;\n  char *pcVar19;\n  undefined *puVar20;\n  uint uVar21;\n  double dVar22;\n  double dVar23;\n  double dVar24;\n  longlong lVar25;\n  ulonglong uVar26;\n  longlong lVar27;\n  undefined8 uVar28;\n  ulonglong uVar29;\n  char *local_88;\n  undefined *local_7c;\n  uint local_70;\n  undefined *local_68;\n  undefined1 auStack_60 [44];\n  int local_34;\n  \n  puVar3 = PTR___stack_chk_guard_000495fc;\n  uVar10 = param_4 & 0x20;\n  uVar16 = 0x400;\n  local_34 = *(int *)PTR___stack_chk_guard_000495fc;\n  uVar4 = param_4 & 3;\n  if (uVar10 == 0) {\n    uVar16 = 1000;\n  }\n  puVar5 = (undefined4 *)(*(code *)PTR_localeconv_000494b4)();\n  local_68 = (undefined *)*puVar5;\n  local_70 = (*(code *)PTR_strlen_0004953c)(local_68);\n  if (0xf < local_70 - 1) {\n    local_70 = 1;\n    local_68 = PTR_LAB_00049218 + 0x6104;\n  }\n  local_7c = (undefined *)puVar5[1];\n  pbVar17 = (byte *)puVar5[2];\n  uVar6 = (*(code *)PTR_strlen_0004953c)();\n  if (0x10 < uVar6) {\n    local_7c = PTR_LAB_00049218 + 0x7ea8;\n  }\n  local_88 = (char *)(param_3 + 0x287);\n  if ((param_5 < param_7) || ((param_7 == param_5 && (param_6 < param_8)))) {\n    if ((param_5 == 0 && param_6 == 0) ||\n       (lVar25 = FUN_000317b0(param_7,param_8,param_5,param_6), lVar25 != 0)) goto LAB_00021ca0;\n    uVar26 = FUN_00031340(param_7,param_8,param_5,param_6);\n    uVar7 = (uint)(uVar26 >> 0x20);\n    uVar12 = (uint)uVar26;\n    uVar28 = FUN_000317b0(param_1,param_2,uVar7,uVar12);\n    iVar13 = (int)((ulonglong)uVar28 >> 0x20);\n    uVar6 = (uint)uVar28;\n    uVar21 = uVar6 * 5 >> 0x1f |\n             ((uint)(uVar6 * 5 < uVar6 * 4) + (uVar6 >> 0x1e | iVar13 << 2) + iVar13) * 2;\n    lVar27 = FUN_000317b0(uVar21,uVar6 * 10,uVar7,uVar12);\n    lVar25 = lVar27 << 1;\n    uVar14 = (uint)((ulonglong)lVar25 >> 0x20);\n    uVar29 = FUN_00031340(param_1,param_2,uVar7,uVar12);\n    FUN_00031340(uVar21,uVar6 * 10,uVar7,uVar12);\n    uVar6 = extraout_v1;\n    if ((uVar14 < uVar7) || ((uVar7 == uVar14 && ((uint)lVar25 < uVar12)))) {\n      uVar7 = (uint)(lVar25 != 0);\n    }\n    else if (uVar26 < (ulonglong)(lVar27 << 1)) {\n      uVar7 = 3;\n    }\n    else {\n      uVar7 = 2;\n    }\nLAB_000223b4:\n    pcVar15 = local_88;\n    if ((param_4 & 0x10) == 0) {\n      iVar13 = -1;\n    }\n    else {\n      iVar13 = 0;\n      if (((int)(uVar29 >> 0x20) != 0) || (uVar16 <= (uint)uVar29)) {\n        iVar13 = 0;\n        do {\n          uVar18 = (undefined4)(uVar29 >> 0x20);\n          FUN_000317b0(uVar18,(int)uVar29,0,uVar16);\n          uVar12 = extraout_v1_00 * 10 + uVar6;\n          if (uVar16 == 0) {\n            trap(7);\n          }\n          uVar6 = uVar12 / uVar16;\n          uVar14 = (uVar12 % uVar16) * 2 + ((int)uVar7 >> 1);\n          uVar29 = FUN_00031340(uVar18,(int)uVar29,0,uVar16);\n          puVar20 = PTR_memcpy_00049600;\n          uVar12 = (uint)uVar29;\n          uVar21 = uVar7 + uVar14;\n          if (uVar14 < uVar16) {\n            uVar7 = (uint)(uVar21 != 0);\n          }\n          else {\n            uVar7 = 2;\n            if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }\n          }\n          iVar13 = iVar13 + 1;\n          if (((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16)) {\n            if (uVar12 < 10) {\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }\n            break;\n          }\n        } while (iVar13 != 8);\n      }\n    }\n    if (uVar4 == 1) {\n      pcVar19 = local_88;\n      if (5 < (int)((((uint)uVar29 & 1) + uVar7 != 0) + uVar6)) goto LAB_000223fc;\nLAB_00022428:\n      do {\n        do {\n          iVar8 = (int)(uVar29 >> 0x20);\n          uVar4 = (uint)uVar29;\n          FUN_000317b0(iVar8,uVar4,0,10);\n          pcVar19 = pcVar19 + -1;\n          *pcVar19 = extraout_v1_01 + '0';\n          uVar29 = FUN_00031340(iVar8,uVar4,0,10);\n        } while (iVar8 != 0);\n      } while (9 < uVar4);\n    }\n    else {\nLAB_000223ec:\n      pcVar19 = pcVar15;\n      if ((uVar4 != 0) || ((int)(uVar6 + uVar7) < 1)) goto LAB_00022428;\nLAB_000223fc:\n      puVar20 = PTR_memcpy_00049600;\n      uVar29 = uVar29 + 1;\n      pcVar19 = pcVar15;\n      if (((param_4 & 0x10) == 0) ||\n         ((((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)) || (iVar13 == 8))))\n      goto LAB_00022428;\n      iVar13 = iVar13 + 1;\n      if ((param_4 & 8) == 0) {\n        pcVar15[-1] = '0';\n        pcVar15 = pcVar15 + ~local_70;\n        (*(code *)puVar20)(pcVar15,local_68);\n      }\n      pcVar19 = pcVar15 + -1;\n      pcVar15[-1] = '1';\n    }\n  }\n  else {\n    lVar25 = FUN_000317b0(param_5,param_6,param_7,param_8);\n    if (lVar25 == 0) {\n      lVar25 = FUN_00031340(param_5,param_6,param_7,param_8);\n      uVar29 = lVar25 * CONCAT44(param_1,param_2);\n      lVar25 = FUN_00031340((int)(uVar29 >> 0x20),(int)uVar29,(int)((ulonglong)lVar25 >> 0x20));\n      if (lVar25 == CONCAT44(param_1,param_2)) {\n        uVar7 = 0;\n        uVar6 = 0;\n        goto LAB_000223b4;\n      }\n    }\nLAB_00021ca0:\n    dVar22 = (double)FUN_000309d0(param_5,param_6);\n    dVar23 = (double)FUN_000309d0(param_7,param_8);\n    dVar22 = dVar22 / dVar23;\n    dVar23 = (double)FUN_000309d0(param_1,param_2);\n    puVar20 = PTR_LAB_00049218;\n    dVar22 = dVar22 * dVar23;\n    if ((param_4 & 0x10) == 0) {\n      dVar23 = dVar22;\n      if (((param_4 & 3) != 1) && (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760))) {\n        uVar28 = FUN_00030930(dVar22);\n        iVar13 = (int)((ulonglong)uVar28 >> 0x20);\n        uVar4 = (uint)uVar28;\n        dVar23 = (double)FUN_000309d0(iVar13,uVar4);\n        if (((param_4 & 3) == 0) && (dVar22 != dVar23)) {\n          dVar23 = (double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13);\n        }\n      }\n      (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23);\n      iVar13 = -1;\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }\n    else {\n      iVar13 = 0;\n      dVar23 = (double)uVar16;\n      do {\n        dVar24 = dVar23;\n        dVar23 = dVar24 * (double)uVar16;\n        iVar13 = iVar13 + 1;\n        if (dVar22 < dVar23) break;\n      } while (iVar13 != 8);\n      dVar22 = dVar22 / dVar24;\n      uVar6 = (uVar10 == 0) + 1 + local_70 + 1;\n      if (uVar4 == 1) {\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        if (uVar7 <= uVar6) goto LAB_0002232c;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        dVar23 = dVar22 * dVar24;\n      }\n      else {\n        dVar23 = dVar22;\n        if (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar22);\n          dVar23 = dVar22;\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar23 != dVar22)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        dVar22 = dVar23;\n        if (uVar6 < uVar7) {\n          dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar23 = dVar22 * dVar24;\n          puVar20 = PTR_LAB_00049218;\n          if (uVar4 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar23 < *(double *)(puVar20 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar23);\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar22 != dVar23)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n          dVar23 = dVar22;\n          dVar24 = *(double *)(puVar2 + 0x6768);\n        }\n      }\nLAB_0002207c:\n      (*(code *)PTR___sprintf_chk_00049454)\n                (param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23 / dVar24);\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }\nLAB_00021d4c:\n    pcVar19 = local_88 + -uVar7;\n    (*(code *)PTR_memmove_00049610)(pcVar19,param_3,uVar7);\n    pcVar15 = pcVar19 + uVar4;\n  }\n  if ((param_4 & 4) != 0) {\n    uVar6 = (int)pcVar15 - (int)pcVar19;\n    iVar8 = (*(code *)PTR_strlen_0004953c)(local_7c);\n    (*(code *)PTR___memcpy_chk_00049558)(auStack_60,pcVar19,uVar6,0x29);\n    uVar4 = 0xffffffff;\n    while( true ) {\n      uVar7 = (uint)*pbVar17;\n      if (uVar7 != 0) {\n        uVar4 = uVar7;\n        if (0x7e < uVar7) {\n          uVar4 = uVar6;\n        }\n        pbVar17 = pbVar17 + 1;\n      }\n      if (uVar6 < uVar4) break;\n      uVar6 = uVar6 - uVar4;\n      pcVar19 = pcVar15 + -uVar4;\n      (*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60 + uVar6,uVar4);\n      if (uVar6 == 0) goto LAB_00021d7c;\n      pcVar15 = pcVar19 + -iVar8;\n      (*(code *)PTR_memcpy_00049600)(pcVar15,local_7c,iVar8);\n    }\n    pcVar19 = pcVar15 + -uVar6;\n    (*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60,uVar6);\n  }\nLAB_00021d7c:\n  if ((param_4 & 0x80) == 0) goto LAB_00021da4;\n  if ((iVar13 == -1) && ((param_7 != 0 || (iVar13 = 0, 1 < param_8)))) {\n    iVar13 = 1;\n    uVar6 = 1;\n    uVar4 = 0;\n    do {\n      uVar29 = (ulonglong)uVar6;\n      uVar6 = (uint)(uVar29 * uVar16);\n      uVar4 = uVar16 * uVar4 + (int)(uVar29 * uVar16 >> 0x20);\n      if ((param_7 <= uVar4) && ((param_7 != uVar4 || (param_8 <= uVar6)))) break;\n      iVar13 = iVar13 + 1;\n    } while (iVar13 != 8);\n    if ((param_4 & 0x40) != 0) {\nLAB_000221fc:\n      local_88 = (char *)(param_3 + 0x288);\n      *(undefined1 *)(param_3 + 0x287) = 0x20;\n      goto LAB_00022208;\n    }\nLAB_00022210:\n    if ((uVar10 == 0) && (iVar13 == 1)) {\n      cVar9 = 'k';\n    }\n    else {\n      cVar9 = PTR_LAB_00049218[iVar13 + 0x6748];\n    }\n    pcVar15 = local_88 + 1;\n    *local_88 = cVar9;\n  }\n  else {\n    if ((param_4 & 0x100) == 0 && iVar13 == 0) goto LAB_00021da4;\n    if ((param_4 & 0x40) != 0) goto LAB_000221fc;\nLAB_00022208:\n    pcVar15 = local_88;\n    if (iVar13 != 0) goto LAB_00022210;\n  }\n  local_88 = pcVar15;\n  if ((param_4 & 0x100) != 0) {\n    pcVar11 = pcVar15 + 1;\n    local_88 = pcVar11;\n    if ((uVar10 != 0) && (iVar13 != 0)) {\n      local_88 = pcVar15 + 2;\n      *pcVar15 = 'i';\n      pcVar15 = pcVar11;\n    }\n    *pcVar15 = 'B';\n  }\nLAB_00021da4:\n  while( true ) {\n    *local_88 = '\0';\n    if (local_34 == *(int *)puVar3) break;\n    local_88 = (char *)(*(code *)PTR___stack_chk_fail_000495d0)();\n  }\n  return pcVar19;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "char cVar9;" primitive_type identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint extraout_v1;" type_identifier identifier ;) (declaration "char extraout_v1_01;" primitive_type identifier ;) (declaration "int extraout_v1_00;" primitive_type identifier ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "char *pcVar15;" primitive_type (pointer_declarator "*pcVar15" * identifier) ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "byte *pbVar17;" type_identifier (pointer_declarator "*pbVar17" * identifier) ;) (declaration "undefined4 uVar18;" type_identifier identifier ;) (declaration "char *pcVar19;" primitive_type (pointer_declarator "*pcVar19" * identifier) ;) (declaration "undefined *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "double dVar22;" primitive_type identifier ;) (declaration "double dVar23;" primitive_type identifier ;) (declaration "double dVar24;" primitive_type identifier ;) (declaration "longlong lVar25;" type_identifier identifier ;) (declaration "ulonglong uVar26;" type_identifier identifier ;) (declaration "longlong lVar27;" type_identifier identifier ;) (declaration "undefined8 uVar28;" type_identifier identifier ;) (declaration "ulonglong uVar29;" type_identifier identifier ;) (declaration "char *local_88;" primitive_type (pointer_declarator "*local_88" * identifier) ;) (declaration "undefined *local_7c;" type_identifier (pointer_declarator "*local_7c" * identifier) ;) (declaration "uint local_70;" type_identifier identifier ;) (declaration "undefined *local_68;" type_identifier (pointer_declarator "*local_68" * identifier) ;) (declaration "undefined1 auStack_60 [44];" type_identifier (array_declarator "auStack_60 [44]" identifier [ number_literal ]) ;) (declaration "int local_34;" primitive_type identifier ;) (expression_statement "puVar3 = PTR___stack_chk_guard_000495fc;" (assignment_expression "puVar3 = PTR___stack_chk_guard_000495fc" identifier = identifier) ;) (expression_statement "uVar10 = param_4 & 0x20;" (assignment_expression "uVar10 = param_4 & 0x20" identifier = (binary_expression "param_4 & 0x20" identifier & number_literal)) ;) (expression_statement "uVar16 = 0x400;" (assignment_expression "uVar16 = 0x400" identifier = number_literal) ;) (expression_statement "local_34 = *(int *)PTR___stack_chk_guard_000495fc;" (assignment_expression "local_34 = *(int *)PTR___stack_chk_guard_000495fc" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000495fc" * (cast_expression "(int *)PTR___stack_chk_guard_000495fc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar4 = param_4 & 3;" (assignment_expression "uVar4 = param_4 & 3" identifier = (binary_expression "param_4 & 3" identifier & number_literal)) ;) (if_statement "if (uVar10 == 0) {\n    uVar16 = 1000;\n  }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar16 = 1000;\n  }" { (expression_statement "uVar16 = 1000;" (assignment_expression "uVar16 = 1000" identifier = number_literal) ;) })) (expression_statement "puVar5 = (undefined4 *)(*(code *)PTR_localeconv_000494b4)();" (assignment_expression "puVar5 = (undefined4 *)(*(code *)PTR_localeconv_000494b4)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR_localeconv_000494b4)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_localeconv_000494b4)()" (parenthesized_expression "(*(code *)PTR_localeconv_000494b4)" ( (pointer_expression "*(code *)PTR_localeconv_000494b4" * (cast_expression "(code *)PTR_localeconv_000494b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "local_68 = (undefined *)*puVar5;" (assignment_expression "local_68 = (undefined *)*puVar5" identifier = (cast_expression "(undefined *)*puVar5" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ;) (expression_statement "local_70 = (*(code *)PTR_strlen_0004953c)(local_68);" (assignment_expression "local_70 = (*(code *)PTR_strlen_0004953c)(local_68)" identifier = (call_expression "(*(code *)PTR_strlen_0004953c)(local_68)" (parenthesized_expression "(*(code *)PTR_strlen_0004953c)" ( (pointer_expression "*(code *)PTR_strlen_0004953c" * (cast_expression "(code *)PTR_strlen_0004953c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_68)" ( identifier )))) ;) (if_statement "if (0xf < local_70 - 1) {\n    local_70 = 1;\n    local_68 = PTR_LAB_00049218 + 0x6104;\n  }" if (parenthesized_expression "(0xf < local_70 - 1)" ( (binary_expression "0xf < local_70 - 1" number_literal < (binary_expression "local_70 - 1" identifier - number_literal)) )) (compound_statement "{\n    local_70 = 1;\n    local_68 = PTR_LAB_00049218 + 0x6104;\n  }" { (expression_statement "local_70 = 1;" (assignment_expression "local_70 = 1" identifier = number_literal) ;) (expression_statement "local_68 = PTR_LAB_00049218 + 0x6104;" (assignment_expression "local_68 = PTR_LAB_00049218 + 0x6104" identifier = (binary_expression "PTR_LAB_00049218 + 0x6104" identifier + number_literal)) ;) })) (expression_statement "local_7c = (undefined *)puVar5[1];" (assignment_expression "local_7c = (undefined *)puVar5[1]" identifier = (cast_expression "(undefined *)puVar5[1]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar5[1]" identifier [ number_literal ]))) ;) (expression_statement "pbVar17 = (byte *)puVar5[2];" (assignment_expression "pbVar17 = (byte *)puVar5[2]" identifier = (cast_expression "(byte *)puVar5[2]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar5[2]" identifier [ number_literal ]))) ;) (expression_statement "uVar6 = (*(code *)PTR_strlen_0004953c)();" (assignment_expression "uVar6 = (*(code *)PTR_strlen_0004953c)()" identifier = (call_expression "(*(code *)PTR_strlen_0004953c)()" (parenthesized_expression "(*(code *)PTR_strlen_0004953c)" ( (pointer_expression "*(code *)PTR_strlen_0004953c" * (cast_expression "(code *)PTR_strlen_0004953c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (if_statement "if (0x10 < uVar6) {\n    local_7c = PTR_LAB_00049218 + 0x7ea8;\n  }" if (parenthesized_expression "(0x10 < uVar6)" ( (binary_expression "0x10 < uVar6" number_literal < identifier) )) (compound_statement "{\n    local_7c = PTR_LAB_00049218 + 0x7ea8;\n  }" { (expression_statement "local_7c = PTR_LAB_00049218 + 0x7ea8;" (assignment_expression "local_7c = PTR_LAB_00049218 + 0x7ea8" identifier = (binary_expression "PTR_LAB_00049218 + 0x7ea8" identifier + number_literal)) ;) })) (expression_statement "local_88 = (char *)(param_3 + 0x287);" (assignment_expression "local_88 = (char *)(param_3 + 0x287)" identifier = (cast_expression "(char *)(param_3 + 0x287)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x287)" ( (binary_expression "param_3 + 0x287" identifier + number_literal) )))) ;) (if_statement "if ((param_5 < param_7) || ((param_7 == param_5 && (param_6 < param_8)))) {\n    if ((param_5 == 0 && param_6 == 0) ||\n       (lVar25 = FUN_000317b0(param_7,param_8,param_5,param_6), lVar25 != 0)) goto LAB_00021ca0;\n    uVar26 = FUN_00031340(param_7,param_8,param_5,param_6);\n    uVar7 = (uint)(uVar26 >> 0x20);\n    uVar12 = (uint)uVar26;\n    uVar28 = FUN_000317b0(param_1,param_2,uVar7,uVar12);\n    iVar13 = (int)((ulonglong)uVar28 >> 0x20);\n    uVar6 = (uint)uVar28;\n    uVar21 = uVar6 * 5 >> 0x1f |\n             ((uint)(uVar6 * 5 < uVar6 * 4) + (uVar6 >> 0x1e | iVar13 << 2) + iVar13) * 2;\n    lVar27 = FUN_000317b0(uVar21,uVar6 * 10,uVar7,uVar12);\n    lVar25 = lVar27 << 1;\n    uVar14 = (uint)((ulonglong)lVar25 >> 0x20);\n    uVar29 = FUN_00031340(param_1,param_2,uVar7,uVar12);\n    FUN_00031340(uVar21,uVar6 * 10,uVar7,uVar12);\n    uVar6 = extraout_v1;\n    if ((uVar14 < uVar7) || ((uVar7 == uVar14 && ((uint)lVar25 < uVar12)))) {\n      uVar7 = (uint)(lVar25 != 0);\n    }\n    else if (uVar26 < (ulonglong)(lVar27 << 1)) {\n      uVar7 = 3;\n    }\n    else {\n      uVar7 = 2;\n    }\nLAB_000223b4:\n    pcVar15 = local_88;\n    if ((param_4 & 0x10) == 0) {\n      iVar13 = -1;\n    }\n    else {\n      iVar13 = 0;\n      if (((int)(uVar29 >> 0x20) != 0) || (uVar16 <= (uint)uVar29)) {\n        iVar13 = 0;\n        do {\n          uVar18 = (undefined4)(uVar29 >> 0x20);\n          FUN_000317b0(uVar18,(int)uVar29,0,uVar16);\n          uVar12 = extraout_v1_00 * 10 + uVar6;\n          if (uVar16 == 0) {\n            trap(7);\n          }\n          uVar6 = uVar12 / uVar16;\n          uVar14 = (uVar12 % uVar16) * 2 + ((int)uVar7 >> 1);\n          uVar29 = FUN_00031340(uVar18,(int)uVar29,0,uVar16);\n          puVar20 = PTR_memcpy_00049600;\n          uVar12 = (uint)uVar29;\n          uVar21 = uVar7 + uVar14;\n          if (uVar14 < uVar16) {\n            uVar7 = (uint)(uVar21 != 0);\n          }\n          else {\n            uVar7 = 2;\n            if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }\n          }\n          iVar13 = iVar13 + 1;\n          if (((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16)) {\n            if (uVar12 < 10) {\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }\n            break;\n          }\n        } while (iVar13 != 8);\n      }\n    }\n    if (uVar4 == 1) {\n      pcVar19 = local_88;\n      if (5 < (int)((((uint)uVar29 & 1) + uVar7 != 0) + uVar6)) goto LAB_000223fc;\nLAB_00022428:\n      do {\n        do {\n          iVar8 = (int)(uVar29 >> 0x20);\n          uVar4 = (uint)uVar29;\n          FUN_000317b0(iVar8,uVar4,0,10);\n          pcVar19 = pcVar19 + -1;\n          *pcVar19 = extraout_v1_01 + '0';\n          uVar29 = FUN_00031340(iVar8,uVar4,0,10);\n        } while (iVar8 != 0);\n      } while (9 < uVar4);\n    }\n    else {\nLAB_000223ec:\n      pcVar19 = pcVar15;\n      if ((uVar4 != 0) || ((int)(uVar6 + uVar7) < 1)) goto LAB_00022428;\nLAB_000223fc:\n      puVar20 = PTR_memcpy_00049600;\n      uVar29 = uVar29 + 1;\n      pcVar19 = pcVar15;\n      if (((param_4 & 0x10) == 0) ||\n         ((((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)) || (iVar13 == 8))))\n      goto LAB_00022428;\n      iVar13 = iVar13 + 1;\n      if ((param_4 & 8) == 0) {\n        pcVar15[-1] = '0';\n        pcVar15 = pcVar15 + ~local_70;\n        (*(code *)puVar20)(pcVar15,local_68);\n      }\n      pcVar19 = pcVar15 + -1;\n      pcVar15[-1] = '1';\n    }\n  }\n  else {\n    lVar25 = FUN_000317b0(param_5,param_6,param_7,param_8);\n    if (lVar25 == 0) {\n      lVar25 = FUN_00031340(param_5,param_6,param_7,param_8);\n      uVar29 = lVar25 * CONCAT44(param_1,param_2);\n      lVar25 = FUN_00031340((int)(uVar29 >> 0x20),(int)uVar29,(int)((ulonglong)lVar25 >> 0x20));\n      if (lVar25 == CONCAT44(param_1,param_2)) {\n        uVar7 = 0;\n        uVar6 = 0;\n        goto LAB_000223b4;\n      }\n    }\nLAB_00021ca0:\n    dVar22 = (double)FUN_000309d0(param_5,param_6);\n    dVar23 = (double)FUN_000309d0(param_7,param_8);\n    dVar22 = dVar22 / dVar23;\n    dVar23 = (double)FUN_000309d0(param_1,param_2);\n    puVar20 = PTR_LAB_00049218;\n    dVar22 = dVar22 * dVar23;\n    if ((param_4 & 0x10) == 0) {\n      dVar23 = dVar22;\n      if (((param_4 & 3) != 1) && (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760))) {\n        uVar28 = FUN_00030930(dVar22);\n        iVar13 = (int)((ulonglong)uVar28 >> 0x20);\n        uVar4 = (uint)uVar28;\n        dVar23 = (double)FUN_000309d0(iVar13,uVar4);\n        if (((param_4 & 3) == 0) && (dVar22 != dVar23)) {\n          dVar23 = (double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13);\n        }\n      }\n      (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23);\n      iVar13 = -1;\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }\n    else {\n      iVar13 = 0;\n      dVar23 = (double)uVar16;\n      do {\n        dVar24 = dVar23;\n        dVar23 = dVar24 * (double)uVar16;\n        iVar13 = iVar13 + 1;\n        if (dVar22 < dVar23) break;\n      } while (iVar13 != 8);\n      dVar22 = dVar22 / dVar24;\n      uVar6 = (uVar10 == 0) + 1 + local_70 + 1;\n      if (uVar4 == 1) {\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        if (uVar7 <= uVar6) goto LAB_0002232c;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        dVar23 = dVar22 * dVar24;\n      }\n      else {\n        dVar23 = dVar22;\n        if (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar22);\n          dVar23 = dVar22;\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar23 != dVar22)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        dVar22 = dVar23;\n        if (uVar6 < uVar7) {\n          dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar23 = dVar22 * dVar24;\n          puVar20 = PTR_LAB_00049218;\n          if (uVar4 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar23 < *(double *)(puVar20 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar23);\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar22 != dVar23)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n          dVar23 = dVar22;\n          dVar24 = *(double *)(puVar2 + 0x6768);\n        }\n      }\nLAB_0002207c:\n      (*(code *)PTR___sprintf_chk_00049454)\n                (param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23 / dVar24);\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }\nLAB_00021d4c:\n    pcVar19 = local_88 + -uVar7;\n    (*(code *)PTR_memmove_00049610)(pcVar19,param_3,uVar7);\n    pcVar15 = pcVar19 + uVar4;\n  }" if (parenthesized_expression "((param_5 < param_7) || ((param_7 == param_5 && (param_6 < param_8))))" ( (binary_expression "(param_5 < param_7) || ((param_7 == param_5 && (param_6 < param_8)))" (parenthesized_expression "(param_5 < param_7)" ( (binary_expression "param_5 < param_7" identifier < identifier) )) || (parenthesized_expression "((param_7 == param_5 && (param_6 < param_8)))" ( (parenthesized_expression "(param_7 == param_5 && (param_6 < param_8))" ( (binary_expression "param_7 == param_5 && (param_6 < param_8)" (binary_expression "param_7 == param_5" identifier == identifier) && (parenthesized_expression "(param_6 < param_8)" ( (binary_expression "param_6 < param_8" identifier < identifier) ))) )) ))) )) (compound_statement "{\n    if ((param_5 == 0 && param_6 == 0) ||\n       (lVar25 = FUN_000317b0(param_7,param_8,param_5,param_6), lVar25 != 0)) goto LAB_00021ca0;\n    uVar26 = FUN_00031340(param_7,param_8,param_5,param_6);\n    uVar7 = (uint)(uVar26 >> 0x20);\n    uVar12 = (uint)uVar26;\n    uVar28 = FUN_000317b0(param_1,param_2,uVar7,uVar12);\n    iVar13 = (int)((ulonglong)uVar28 >> 0x20);\n    uVar6 = (uint)uVar28;\n    uVar21 = uVar6 * 5 >> 0x1f |\n             ((uint)(uVar6 * 5 < uVar6 * 4) + (uVar6 >> 0x1e | iVar13 << 2) + iVar13) * 2;\n    lVar27 = FUN_000317b0(uVar21,uVar6 * 10,uVar7,uVar12);\n    lVar25 = lVar27 << 1;\n    uVar14 = (uint)((ulonglong)lVar25 >> 0x20);\n    uVar29 = FUN_00031340(param_1,param_2,uVar7,uVar12);\n    FUN_00031340(uVar21,uVar6 * 10,uVar7,uVar12);\n    uVar6 = extraout_v1;\n    if ((uVar14 < uVar7) || ((uVar7 == uVar14 && ((uint)lVar25 < uVar12)))) {\n      uVar7 = (uint)(lVar25 != 0);\n    }\n    else if (uVar26 < (ulonglong)(lVar27 << 1)) {\n      uVar7 = 3;\n    }\n    else {\n      uVar7 = 2;\n    }\nLAB_000223b4:\n    pcVar15 = local_88;\n    if ((param_4 & 0x10) == 0) {\n      iVar13 = -1;\n    }\n    else {\n      iVar13 = 0;\n      if (((int)(uVar29 >> 0x20) != 0) || (uVar16 <= (uint)uVar29)) {\n        iVar13 = 0;\n        do {\n          uVar18 = (undefined4)(uVar29 >> 0x20);\n          FUN_000317b0(uVar18,(int)uVar29,0,uVar16);\n          uVar12 = extraout_v1_00 * 10 + uVar6;\n          if (uVar16 == 0) {\n            trap(7);\n          }\n          uVar6 = uVar12 / uVar16;\n          uVar14 = (uVar12 % uVar16) * 2 + ((int)uVar7 >> 1);\n          uVar29 = FUN_00031340(uVar18,(int)uVar29,0,uVar16);\n          puVar20 = PTR_memcpy_00049600;\n          uVar12 = (uint)uVar29;\n          uVar21 = uVar7 + uVar14;\n          if (uVar14 < uVar16) {\n            uVar7 = (uint)(uVar21 != 0);\n          }\n          else {\n            uVar7 = 2;\n            if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }\n          }\n          iVar13 = iVar13 + 1;\n          if (((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16)) {\n            if (uVar12 < 10) {\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }\n            break;\n          }\n        } while (iVar13 != 8);\n      }\n    }\n    if (uVar4 == 1) {\n      pcVar19 = local_88;\n      if (5 < (int)((((uint)uVar29 & 1) + uVar7 != 0) + uVar6)) goto LAB_000223fc;\nLAB_00022428:\n      do {\n        do {\n          iVar8 = (int)(uVar29 >> 0x20);\n          uVar4 = (uint)uVar29;\n          FUN_000317b0(iVar8,uVar4,0,10);\n          pcVar19 = pcVar19 + -1;\n          *pcVar19 = extraout_v1_01 + '0';\n          uVar29 = FUN_00031340(iVar8,uVar4,0,10);\n        } while (iVar8 != 0);\n      } while (9 < uVar4);\n    }\n    else {\nLAB_000223ec:\n      pcVar19 = pcVar15;\n      if ((uVar4 != 0) || ((int)(uVar6 + uVar7) < 1)) goto LAB_00022428;\nLAB_000223fc:\n      puVar20 = PTR_memcpy_00049600;\n      uVar29 = uVar29 + 1;\n      pcVar19 = pcVar15;\n      if (((param_4 & 0x10) == 0) ||\n         ((((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)) || (iVar13 == 8))))\n      goto LAB_00022428;\n      iVar13 = iVar13 + 1;\n      if ((param_4 & 8) == 0) {\n        pcVar15[-1] = '0';\n        pcVar15 = pcVar15 + ~local_70;\n        (*(code *)puVar20)(pcVar15,local_68);\n      }\n      pcVar19 = pcVar15 + -1;\n      pcVar15[-1] = '1';\n    }\n  }" { (if_statement "if ((param_5 == 0 && param_6 == 0) ||\n       (lVar25 = FUN_000317b0(param_7,param_8,param_5,param_6), lVar25 != 0)) goto LAB_00021ca0;" if (parenthesized_expression "((param_5 == 0 && param_6 == 0) ||\n       (lVar25 = FUN_000317b0(param_7,param_8,param_5,param_6), lVar25 != 0))" ( (binary_expression "(param_5 == 0 && param_6 == 0) ||\n       (lVar25 = FUN_000317b0(param_7,param_8,param_5,param_6), lVar25 != 0)" (parenthesized_expression "(param_5 == 0 && param_6 == 0)" ( (binary_expression "param_5 == 0 && param_6 == 0" (binary_expression "param_5 == 0" identifier == number_literal) && (binary_expression "param_6 == 0" identifier == number_literal)) )) || (parenthesized_expression "(lVar25 = FUN_000317b0(param_7,param_8,param_5,param_6), lVar25 != 0)" ( (comma_expression "lVar25 = FUN_000317b0(param_7,param_8,param_5,param_6), lVar25 != 0" (assignment_expression "lVar25 = FUN_000317b0(param_7,param_8,param_5,param_6)" identifier = (call_expression "FUN_000317b0(param_7,param_8,param_5,param_6)" identifier (argument_list "(param_7,param_8,param_5,param_6)" ( identifier , identifier , identifier , identifier )))) , (binary_expression "lVar25 != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_00021ca0;" goto statement_identifier ;)) (expression_statement "uVar26 = FUN_00031340(param_7,param_8,param_5,param_6);" (assignment_expression "uVar26 = FUN_00031340(param_7,param_8,param_5,param_6)" identifier = (call_expression "FUN_00031340(param_7,param_8,param_5,param_6)" identifier (argument_list "(param_7,param_8,param_5,param_6)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "uVar7 = (uint)(uVar26 >> 0x20);" (assignment_expression "uVar7 = (uint)(uVar26 >> 0x20)" identifier = (call_expression "(uint)(uVar26 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar26 >> 0x20)" ( (binary_expression "uVar26 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "uVar12 = (uint)uVar26;" (assignment_expression "uVar12 = (uint)uVar26" identifier = (cast_expression "(uint)uVar26" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar28 = FUN_000317b0(param_1,param_2,uVar7,uVar12);" (assignment_expression "uVar28 = FUN_000317b0(param_1,param_2,uVar7,uVar12)" identifier = (call_expression "FUN_000317b0(param_1,param_2,uVar7,uVar12)" identifier (argument_list "(param_1,param_2,uVar7,uVar12)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "iVar13 = (int)((ulonglong)uVar28 >> 0x20);" (assignment_expression "iVar13 = (int)((ulonglong)uVar28 >> 0x20)" identifier = (cast_expression "(int)((ulonglong)uVar28 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar28 >> 0x20)" ( (binary_expression "(ulonglong)uVar28 >> 0x20" (cast_expression "(ulonglong)uVar28" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar6 = (uint)uVar28;" (assignment_expression "uVar6 = (uint)uVar28" identifier = (cast_expression "(uint)uVar28" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar21 = uVar6 * 5 >> 0x1f |\n             ((uint)(uVar6 * 5 < uVar6 * 4) + (uVar6 >> 0x1e | iVar13 << 2) + iVar13) * 2;" (assignment_expression "uVar21 = uVar6 * 5 >> 0x1f |\n             ((uint)(uVar6 * 5 < uVar6 * 4) + (uVar6 >> 0x1e | iVar13 << 2) + iVar13) * 2" identifier = (binary_expression "uVar6 * 5 >> 0x1f |\n             ((uint)(uVar6 * 5 < uVar6 * 4) + (uVar6 >> 0x1e | iVar13 << 2) + iVar13) * 2" (binary_expression "uVar6 * 5 >> 0x1f" (binary_expression "uVar6 * 5" identifier * number_literal) >> number_literal) | (binary_expression "((uint)(uVar6 * 5 < uVar6 * 4) + (uVar6 >> 0x1e | iVar13 << 2) + iVar13) * 2" (parenthesized_expression "((uint)(uVar6 * 5 < uVar6 * 4) + (uVar6 >> 0x1e | iVar13 << 2) + iVar13)" ( (binary_expression "(uint)(uVar6 * 5 < uVar6 * 4) + (uVar6 >> 0x1e | iVar13 << 2) + iVar13" (binary_expression "(uint)(uVar6 * 5 < uVar6 * 4) + (uVar6 >> 0x1e | iVar13 << 2)" (call_expression "(uint)(uVar6 * 5 < uVar6 * 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar6 * 5 < uVar6 * 4)" ( (binary_expression "uVar6 * 5 < uVar6 * 4" (binary_expression "uVar6 * 5" identifier * number_literal) < (binary_expression "uVar6 * 4" identifier * number_literal)) ))) + (parenthesized_expression "(uVar6 >> 0x1e | iVar13 << 2)" ( (binary_expression "uVar6 >> 0x1e | iVar13 << 2" (binary_expression "uVar6 >> 0x1e" identifier >> number_literal) | (binary_expression "iVar13 << 2" identifier << number_literal)) ))) + identifier) )) * number_literal))) ;) (expression_statement "lVar27 = FUN_000317b0(uVar21,uVar6 * 10,uVar7,uVar12);" (assignment_expression "lVar27 = FUN_000317b0(uVar21,uVar6 * 10,uVar7,uVar12)" identifier = (call_expression "FUN_000317b0(uVar21,uVar6 * 10,uVar7,uVar12)" identifier (argument_list "(uVar21,uVar6 * 10,uVar7,uVar12)" ( identifier , (binary_expression "uVar6 * 10" identifier * number_literal) , identifier , identifier )))) ;) (expression_statement "lVar25 = lVar27 << 1;" (assignment_expression "lVar25 = lVar27 << 1" identifier = (binary_expression "lVar27 << 1" identifier << number_literal)) ;) (expression_statement "uVar14 = (uint)((ulonglong)lVar25 >> 0x20);" (assignment_expression "uVar14 = (uint)((ulonglong)lVar25 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)lVar25 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar25 >> 0x20)" ( (binary_expression "(ulonglong)lVar25 >> 0x20" (cast_expression "(ulonglong)lVar25" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar29 = FUN_00031340(param_1,param_2,uVar7,uVar12);" (assignment_expression "uVar29 = FUN_00031340(param_1,param_2,uVar7,uVar12)" identifier = (call_expression "FUN_00031340(param_1,param_2,uVar7,uVar12)" identifier (argument_list "(param_1,param_2,uVar7,uVar12)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "FUN_00031340(uVar21,uVar6 * 10,uVar7,uVar12);" (call_expression "FUN_00031340(uVar21,uVar6 * 10,uVar7,uVar12)" identifier (argument_list "(uVar21,uVar6 * 10,uVar7,uVar12)" ( identifier , (binary_expression "uVar6 * 10" identifier * number_literal) , identifier , identifier ))) ;) (expression_statement "uVar6 = extraout_v1;" (assignment_expression "uVar6 = extraout_v1" identifier = identifier) ;) (if_statement "if ((uVar14 < uVar7) || ((uVar7 == uVar14 && ((uint)lVar25 < uVar12)))) {\n      uVar7 = (uint)(lVar25 != 0);\n    }\n    else if (uVar26 < (ulonglong)(lVar27 << 1)) {\n      uVar7 = 3;\n    }\n    else {\n      uVar7 = 2;\n    }" if (parenthesized_expression "((uVar14 < uVar7) || ((uVar7 == uVar14 && ((uint)lVar25 < uVar12))))" ( (binary_expression "(uVar14 < uVar7) || ((uVar7 == uVar14 && ((uint)lVar25 < uVar12)))" (parenthesized_expression "(uVar14 < uVar7)" ( (binary_expression "uVar14 < uVar7" identifier < identifier) )) || (parenthesized_expression "((uVar7 == uVar14 && ((uint)lVar25 < uVar12)))" ( (parenthesized_expression "(uVar7 == uVar14 && ((uint)lVar25 < uVar12))" ( (binary_expression "uVar7 == uVar14 && ((uint)lVar25 < uVar12)" (binary_expression "uVar7 == uVar14" identifier == identifier) && (parenthesized_expression "((uint)lVar25 < uVar12)" ( (binary_expression "(uint)lVar25 < uVar12" (cast_expression "(uint)lVar25" ( (type_descriptor "uint" type_identifier) ) identifier) < identifier) ))) )) ))) )) (compound_statement "{\n      uVar7 = (uint)(lVar25 != 0);\n    }" { (expression_statement "uVar7 = (uint)(lVar25 != 0);" (assignment_expression "uVar7 = (uint)(lVar25 != 0)" identifier = (call_expression "(uint)(lVar25 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(lVar25 != 0)" ( (binary_expression "lVar25 != 0" identifier != number_literal) )))) ;) }) (else_clause "else if (uVar26 < (ulonglong)(lVar27 << 1)) {\n      uVar7 = 3;\n    }\n    else {\n      uVar7 = 2;\n    }" else (if_statement "if (uVar26 < (ulonglong)(lVar27 << 1)) {\n      uVar7 = 3;\n    }\n    else {\n      uVar7 = 2;\n    }" if (parenthesized_expression "(uVar26 < (ulonglong)(lVar27 << 1))" ( (binary_expression "uVar26 < (ulonglong)(lVar27 << 1)" identifier < (call_expression "(ulonglong)(lVar27 << 1)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(lVar27 << 1)" ( (binary_expression "lVar27 << 1" identifier << number_literal) )))) )) (compound_statement "{\n      uVar7 = 3;\n    }" { (expression_statement "uVar7 = 3;" (assignment_expression "uVar7 = 3" identifier = number_literal) ;) }) (else_clause "else {\n      uVar7 = 2;\n    }" else (compound_statement "{\n      uVar7 = 2;\n    }" { (expression_statement "uVar7 = 2;" (assignment_expression "uVar7 = 2" identifier = number_literal) ;) }))))) (labeled_statement "LAB_000223b4:\n    pcVar15 = local_88;" statement_identifier : (expression_statement "pcVar15 = local_88;" (assignment_expression "pcVar15 = local_88" identifier = identifier) ;)) (if_statement "if ((param_4 & 0x10) == 0) {\n      iVar13 = -1;\n    }\n    else {\n      iVar13 = 0;\n      if (((int)(uVar29 >> 0x20) != 0) || (uVar16 <= (uint)uVar29)) {\n        iVar13 = 0;\n        do {\n          uVar18 = (undefined4)(uVar29 >> 0x20);\n          FUN_000317b0(uVar18,(int)uVar29,0,uVar16);\n          uVar12 = extraout_v1_00 * 10 + uVar6;\n          if (uVar16 == 0) {\n            trap(7);\n          }\n          uVar6 = uVar12 / uVar16;\n          uVar14 = (uVar12 % uVar16) * 2 + ((int)uVar7 >> 1);\n          uVar29 = FUN_00031340(uVar18,(int)uVar29,0,uVar16);\n          puVar20 = PTR_memcpy_00049600;\n          uVar12 = (uint)uVar29;\n          uVar21 = uVar7 + uVar14;\n          if (uVar14 < uVar16) {\n            uVar7 = (uint)(uVar21 != 0);\n          }\n          else {\n            uVar7 = 2;\n            if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }\n          }\n          iVar13 = iVar13 + 1;\n          if (((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16)) {\n            if (uVar12 < 10) {\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }\n            break;\n          }\n        } while (iVar13 != 8);\n      }\n    }" if (parenthesized_expression "((param_4 & 0x10) == 0)" ( (binary_expression "(param_4 & 0x10) == 0" (parenthesized_expression "(param_4 & 0x10)" ( (binary_expression "param_4 & 0x10" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      iVar13 = -1;\n    }" { (expression_statement "iVar13 = -1;" (assignment_expression "iVar13 = -1" identifier = number_literal) ;) }) (else_clause "else {\n      iVar13 = 0;\n      if (((int)(uVar29 >> 0x20) != 0) || (uVar16 <= (uint)uVar29)) {\n        iVar13 = 0;\n        do {\n          uVar18 = (undefined4)(uVar29 >> 0x20);\n          FUN_000317b0(uVar18,(int)uVar29,0,uVar16);\n          uVar12 = extraout_v1_00 * 10 + uVar6;\n          if (uVar16 == 0) {\n            trap(7);\n          }\n          uVar6 = uVar12 / uVar16;\n          uVar14 = (uVar12 % uVar16) * 2 + ((int)uVar7 >> 1);\n          uVar29 = FUN_00031340(uVar18,(int)uVar29,0,uVar16);\n          puVar20 = PTR_memcpy_00049600;\n          uVar12 = (uint)uVar29;\n          uVar21 = uVar7 + uVar14;\n          if (uVar14 < uVar16) {\n            uVar7 = (uint)(uVar21 != 0);\n          }\n          else {\n            uVar7 = 2;\n            if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }\n          }\n          iVar13 = iVar13 + 1;\n          if (((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16)) {\n            if (uVar12 < 10) {\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }\n            break;\n          }\n        } while (iVar13 != 8);\n      }\n    }" else (compound_statement "{\n      iVar13 = 0;\n      if (((int)(uVar29 >> 0x20) != 0) || (uVar16 <= (uint)uVar29)) {\n        iVar13 = 0;\n        do {\n          uVar18 = (undefined4)(uVar29 >> 0x20);\n          FUN_000317b0(uVar18,(int)uVar29,0,uVar16);\n          uVar12 = extraout_v1_00 * 10 + uVar6;\n          if (uVar16 == 0) {\n            trap(7);\n          }\n          uVar6 = uVar12 / uVar16;\n          uVar14 = (uVar12 % uVar16) * 2 + ((int)uVar7 >> 1);\n          uVar29 = FUN_00031340(uVar18,(int)uVar29,0,uVar16);\n          puVar20 = PTR_memcpy_00049600;\n          uVar12 = (uint)uVar29;\n          uVar21 = uVar7 + uVar14;\n          if (uVar14 < uVar16) {\n            uVar7 = (uint)(uVar21 != 0);\n          }\n          else {\n            uVar7 = 2;\n            if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }\n          }\n          iVar13 = iVar13 + 1;\n          if (((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16)) {\n            if (uVar12 < 10) {\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }\n            break;\n          }\n        } while (iVar13 != 8);\n      }\n    }" { (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (if_statement "if (((int)(uVar29 >> 0x20) != 0) || (uVar16 <= (uint)uVar29)) {\n        iVar13 = 0;\n        do {\n          uVar18 = (undefined4)(uVar29 >> 0x20);\n          FUN_000317b0(uVar18,(int)uVar29,0,uVar16);\n          uVar12 = extraout_v1_00 * 10 + uVar6;\n          if (uVar16 == 0) {\n            trap(7);\n          }\n          uVar6 = uVar12 / uVar16;\n          uVar14 = (uVar12 % uVar16) * 2 + ((int)uVar7 >> 1);\n          uVar29 = FUN_00031340(uVar18,(int)uVar29,0,uVar16);\n          puVar20 = PTR_memcpy_00049600;\n          uVar12 = (uint)uVar29;\n          uVar21 = uVar7 + uVar14;\n          if (uVar14 < uVar16) {\n            uVar7 = (uint)(uVar21 != 0);\n          }\n          else {\n            uVar7 = 2;\n            if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }\n          }\n          iVar13 = iVar13 + 1;\n          if (((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16)) {\n            if (uVar12 < 10) {\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }\n            break;\n          }\n        } while (iVar13 != 8);\n      }" if (parenthesized_expression "(((int)(uVar29 >> 0x20) != 0) || (uVar16 <= (uint)uVar29))" ( (binary_expression "((int)(uVar29 >> 0x20) != 0) || (uVar16 <= (uint)uVar29)" (parenthesized_expression "((int)(uVar29 >> 0x20) != 0)" ( (binary_expression "(int)(uVar29 >> 0x20) != 0" (cast_expression "(int)(uVar29 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar29 >> 0x20)" ( (binary_expression "uVar29 >> 0x20" identifier >> number_literal) ))) != number_literal) )) || (parenthesized_expression "(uVar16 <= (uint)uVar29)" ( (binary_expression "uVar16 <= (uint)uVar29" identifier <= (cast_expression "(uint)uVar29" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) )) (compound_statement "{\n        iVar13 = 0;\n        do {\n          uVar18 = (undefined4)(uVar29 >> 0x20);\n          FUN_000317b0(uVar18,(int)uVar29,0,uVar16);\n          uVar12 = extraout_v1_00 * 10 + uVar6;\n          if (uVar16 == 0) {\n            trap(7);\n          }\n          uVar6 = uVar12 / uVar16;\n          uVar14 = (uVar12 % uVar16) * 2 + ((int)uVar7 >> 1);\n          uVar29 = FUN_00031340(uVar18,(int)uVar29,0,uVar16);\n          puVar20 = PTR_memcpy_00049600;\n          uVar12 = (uint)uVar29;\n          uVar21 = uVar7 + uVar14;\n          if (uVar14 < uVar16) {\n            uVar7 = (uint)(uVar21 != 0);\n          }\n          else {\n            uVar7 = 2;\n            if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }\n          }\n          iVar13 = iVar13 + 1;\n          if (((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16)) {\n            if (uVar12 < 10) {\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }\n            break;\n          }\n        } while (iVar13 != 8);\n      }" { (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (do_statement "do {\n          uVar18 = (undefined4)(uVar29 >> 0x20);\n          FUN_000317b0(uVar18,(int)uVar29,0,uVar16);\n          uVar12 = extraout_v1_00 * 10 + uVar6;\n          if (uVar16 == 0) {\n            trap(7);\n          }\n          uVar6 = uVar12 / uVar16;\n          uVar14 = (uVar12 % uVar16) * 2 + ((int)uVar7 >> 1);\n          uVar29 = FUN_00031340(uVar18,(int)uVar29,0,uVar16);\n          puVar20 = PTR_memcpy_00049600;\n          uVar12 = (uint)uVar29;\n          uVar21 = uVar7 + uVar14;\n          if (uVar14 < uVar16) {\n            uVar7 = (uint)(uVar21 != 0);\n          }\n          else {\n            uVar7 = 2;\n            if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }\n          }\n          iVar13 = iVar13 + 1;\n          if (((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16)) {\n            if (uVar12 < 10) {\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }\n            break;\n          }\n        } while (iVar13 != 8);" do (compound_statement "{\n          uVar18 = (undefined4)(uVar29 >> 0x20);\n          FUN_000317b0(uVar18,(int)uVar29,0,uVar16);\n          uVar12 = extraout_v1_00 * 10 + uVar6;\n          if (uVar16 == 0) {\n            trap(7);\n          }\n          uVar6 = uVar12 / uVar16;\n          uVar14 = (uVar12 % uVar16) * 2 + ((int)uVar7 >> 1);\n          uVar29 = FUN_00031340(uVar18,(int)uVar29,0,uVar16);\n          puVar20 = PTR_memcpy_00049600;\n          uVar12 = (uint)uVar29;\n          uVar21 = uVar7 + uVar14;\n          if (uVar14 < uVar16) {\n            uVar7 = (uint)(uVar21 != 0);\n          }\n          else {\n            uVar7 = 2;\n            if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }\n          }\n          iVar13 = iVar13 + 1;\n          if (((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16)) {\n            if (uVar12 < 10) {\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }\n            break;\n          }\n        }" { (expression_statement "uVar18 = (undefined4)(uVar29 >> 0x20);" (assignment_expression "uVar18 = (undefined4)(uVar29 >> 0x20)" identifier = (call_expression "(undefined4)(uVar29 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "(uVar29 >> 0x20)" ( (binary_expression "uVar29 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "FUN_000317b0(uVar18,(int)uVar29,0,uVar16);" (call_expression "FUN_000317b0(uVar18,(int)uVar29,0,uVar16)" identifier (argument_list "(uVar18,(int)uVar29,0,uVar16)" ( identifier , (cast_expression "(int)uVar29" ( (type_descriptor "int" primitive_type) ) identifier) , number_literal , identifier ))) ;) (expression_statement "uVar12 = extraout_v1_00 * 10 + uVar6;" (assignment_expression "uVar12 = extraout_v1_00 * 10 + uVar6" identifier = (binary_expression "extraout_v1_00 * 10 + uVar6" (binary_expression "extraout_v1_00 * 10" identifier * number_literal) + identifier)) ;) (if_statement "if (uVar16 == 0) {\n            trap(7);\n          }" if (parenthesized_expression "(uVar16 == 0)" ( (binary_expression "uVar16 == 0" identifier == number_literal) )) (compound_statement "{\n            trap(7);\n          }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "uVar6 = uVar12 / uVar16;" (assignment_expression "uVar6 = uVar12 / uVar16" identifier = (binary_expression "uVar12 / uVar16" identifier / identifier)) ;) (expression_statement "uVar14 = (uVar12 % uVar16) * 2 + ((int)uVar7 >> 1);" (assignment_expression "uVar14 = (uVar12 % uVar16) * 2 + ((int)uVar7 >> 1)" identifier = (binary_expression "(uVar12 % uVar16) * 2 + ((int)uVar7 >> 1)" (binary_expression "(uVar12 % uVar16) * 2" (parenthesized_expression "(uVar12 % uVar16)" ( (binary_expression "uVar12 % uVar16" identifier % identifier) )) * number_literal) + (parenthesized_expression "((int)uVar7 >> 1)" ( (binary_expression "(int)uVar7 >> 1" (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar29 = FUN_00031340(uVar18,(int)uVar29,0,uVar16);" (assignment_expression "uVar29 = FUN_00031340(uVar18,(int)uVar29,0,uVar16)" identifier = (call_expression "FUN_00031340(uVar18,(int)uVar29,0,uVar16)" identifier (argument_list "(uVar18,(int)uVar29,0,uVar16)" ( identifier , (cast_expression "(int)uVar29" ( (type_descriptor "int" primitive_type) ) identifier) , number_literal , identifier )))) ;) (expression_statement "puVar20 = PTR_memcpy_00049600;" (assignment_expression "puVar20 = PTR_memcpy_00049600" identifier = identifier) ;) (expression_statement "uVar12 = (uint)uVar29;" (assignment_expression "uVar12 = (uint)uVar29" identifier = (cast_expression "(uint)uVar29" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar21 = uVar7 + uVar14;" (assignment_expression "uVar21 = uVar7 + uVar14" identifier = (binary_expression "uVar7 + uVar14" identifier + identifier)) ;) (if_statement "if (uVar14 < uVar16) {\n            uVar7 = (uint)(uVar21 != 0);\n          }\n          else {\n            uVar7 = 2;\n            if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }\n          }" if (parenthesized_expression "(uVar14 < uVar16)" ( (binary_expression "uVar14 < uVar16" identifier < identifier) )) (compound_statement "{\n            uVar7 = (uint)(uVar21 != 0);\n          }" { (expression_statement "uVar7 = (uint)(uVar21 != 0);" (assignment_expression "uVar7 = (uint)(uVar21 != 0)" identifier = (call_expression "(uint)(uVar21 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar21 != 0)" ( (binary_expression "uVar21 != 0" identifier != number_literal) )))) ;) }) (else_clause "else {\n            uVar7 = 2;\n            if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }\n          }" else (compound_statement "{\n            uVar7 = 2;\n            if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }\n          }" { (expression_statement "uVar7 = 2;" (assignment_expression "uVar7 = 2" identifier = number_literal) ;) (if_statement "if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }" if (parenthesized_expression "(uVar16 < uVar21)" ( (binary_expression "uVar16 < uVar21" identifier < identifier) )) (compound_statement "{\n              uVar7 = 3;\n            }" { (expression_statement "uVar7 = 3;" (assignment_expression "uVar7 = 3" identifier = number_literal) ;) })) }))) (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;) (if_statement "if (((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16)) {\n            if (uVar12 < 10) {\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }\n            break;\n          }" if (parenthesized_expression "(((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16))" ( (binary_expression "((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16)" (parenthesized_expression "((int)(uVar29 >> 0x20) == 0)" ( (binary_expression "(int)(uVar29 >> 0x20) == 0" (cast_expression "(int)(uVar29 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar29 >> 0x20)" ( (binary_expression "uVar29 >> 0x20" identifier >> number_literal) ))) == number_literal) )) && (parenthesized_expression "(uVar12 < uVar16)" ( (binary_expression "uVar12 < uVar16" identifier < identifier) ))) )) (compound_statement "{\n            if (uVar12 < 10) {\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }\n            break;\n          }" { (if_statement "if (uVar12 < 10) {\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }" if (parenthesized_expression "(uVar12 < 10)" ( (binary_expression "uVar12 < 10" identifier < number_literal) )) (compound_statement "{\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }" { (if_statement "if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }" if (parenthesized_expression "(uVar4 == 1)" ( (binary_expression "uVar4 == 1" identifier == number_literal) )) (compound_statement "{\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }" { (expression_statement "bVar1 = 2 < (uVar6 & 1) + uVar7;" (assignment_expression "bVar1 = 2 < (uVar6 & 1) + uVar7" identifier = (binary_expression "2 < (uVar6 & 1) + uVar7" number_literal < (binary_expression "(uVar6 & 1) + uVar7" (parenthesized_expression "(uVar6 & 1)" ( (binary_expression "uVar6 & 1" identifier & number_literal) )) + identifier))) ;) (labeled_statement "LAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;" statement_identifier : (if_statement "if (!bVar1) goto LAB_0002268c;" if (parenthesized_expression "(!bVar1)" ( (unary_expression "!bVar1" ! identifier) )) (goto_statement "goto LAB_0002268c;" goto statement_identifier ;))) (expression_statement "uVar14 = uVar12 + 1;" (assignment_expression "uVar14 = uVar12 + 1" identifier = (binary_expression "uVar12 + 1" identifier + number_literal)) ;) (if_statement "if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }" if (parenthesized_expression "(uVar6 == 9)" ( (binary_expression "uVar6 == 9" identifier == number_literal) )) (compound_statement "{\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }" { (expression_statement "bVar1 = uVar14 < uVar12;" (assignment_expression "bVar1 = uVar14 < uVar12" identifier = (binary_expression "uVar14 < uVar12" identifier < identifier)) ;) (expression_statement "uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);" (assignment_expression "uVar29 = (ulonglong)CONCAT14(bVar1,uVar14)" identifier = (cast_expression "(ulonglong)CONCAT14(bVar1,uVar14)" ( (type_descriptor "ulonglong" type_identifier) ) (call_expression "CONCAT14(bVar1,uVar14)" identifier (argument_list "(bVar1,uVar14)" ( identifier , identifier ))))) ;) (if_statement "if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }" if (parenthesized_expression "((bVar1) || (uVar14 != 10))" ( (binary_expression "(bVar1) || (uVar14 != 10)" (parenthesized_expression "(bVar1)" ( identifier )) || (parenthesized_expression "(uVar14 != 10)" ( (binary_expression "uVar14 != 10" identifier != number_literal) ))) )) (compound_statement "{\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }" { (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00022694;" goto statement_identifier ;) })) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (expression_statement "uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);" (assignment_expression "uVar29 = (ulonglong)CONCAT14(bVar1,uVar14)" identifier = (cast_expression "(ulonglong)CONCAT14(bVar1,uVar14)" ( (type_descriptor "ulonglong" type_identifier) ) (call_expression "CONCAT14(bVar1,uVar14)" identifier (argument_list "(bVar1,uVar14)" ( identifier , identifier ))))) ;) (goto_statement "goto LAB_000226d4;" goto statement_identifier ;) })) (expression_statement "cVar9 = (char)uVar6 + '1';" (assignment_expression "cVar9 = (char)uVar6 + '1'" identifier = (binary_expression "(char)uVar6 + '1'" (cast_expression "(char)uVar6" ( (type_descriptor "char" primitive_type) ) identifier) + (char_literal "'1'" ' character '))) ;) (labeled_statement "LAB_000226a4:\n                uVar7 = 0;" statement_identifier : (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;)) (expression_statement "*(char *)(param_3 + 0x286) = cVar9;" (assignment_expression "*(char *)(param_3 + 0x286) = cVar9" (pointer_expression "*(char *)(param_3 + 0x286)" * (cast_expression "(char *)(param_3 + 0x286)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x286)" ( (binary_expression "param_3 + 0x286" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar15 = (char *)((param_3 + 0x286) - local_70);" (assignment_expression "pcVar15 = (char *)((param_3 + 0x286) - local_70)" identifier = (cast_expression "(char *)((param_3 + 0x286) - local_70)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((param_3 + 0x286) - local_70)" ( (binary_expression "(param_3 + 0x286) - local_70" (parenthesized_expression "(param_3 + 0x286)" ( (binary_expression "param_3 + 0x286" identifier + number_literal) )) - identifier) )))) ;) (expression_statement "(*(code *)puVar20)(pcVar15,local_68,local_70);" (call_expression "(*(code *)puVar20)(pcVar15,local_68,local_70)" (parenthesized_expression "(*(code *)puVar20)" ( (pointer_expression "*(code *)puVar20" * (cast_expression "(code *)puVar20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar15,local_68,local_70)" ( identifier , identifier , identifier ))) ;) }) (else_clause "else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }" else (compound_statement "{\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }" { (expression_statement "bVar1 = uVar7 != 0;" (assignment_expression "bVar1 = uVar7 != 0" identifier = (binary_expression "uVar7 != 0" identifier != number_literal)) ;) (if_statement "if (uVar4 == 0) goto LAB_000226fc;" if (parenthesized_expression "(uVar4 == 0)" ( (binary_expression "uVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000226fc;" goto statement_identifier ;)) (labeled_statement "LAB_0002268c:\n                cVar9 = (char)uVar6 + '0';" statement_identifier : (expression_statement "cVar9 = (char)uVar6 + '0';" (assignment_expression "cVar9 = (char)uVar6 + '0'" identifier = (binary_expression "(char)uVar6 + '0'" (cast_expression "(char)uVar6" ( (type_descriptor "char" primitive_type) ) identifier) + (char_literal "'0'" ' character '))) ;)) (if_statement "if (uVar6 != 0) goto LAB_000226a4;" if (parenthesized_expression "(uVar6 != 0)" ( (binary_expression "uVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000226a4;" goto statement_identifier ;)) (labeled_statement "LAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }" statement_identifier : (if_statement "if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }" if (parenthesized_expression "((param_4 & 8) == 0)" ( (binary_expression "(param_4 & 8) == 0" (parenthesized_expression "(param_4 & 8)" ( (binary_expression "param_4 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }" { (expression_statement "cVar9 = '0';" (assignment_expression "cVar9 = '0'" identifier = (char_literal "'0'" ' character ')) ;) (goto_statement "goto LAB_000226a4;" goto statement_identifier ;) }))) }))) (labeled_statement "LAB_000226d4:\n              uVar6 = 0;" statement_identifier : (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;)) (expression_statement "pcVar19 = pcVar15;" (assignment_expression "pcVar19 = pcVar15" identifier = identifier) ;) (if_statement "if (uVar4 == 1) goto LAB_00022428;" if (parenthesized_expression "(uVar4 == 1)" ( (binary_expression "uVar4 == 1" identifier == number_literal) )) (goto_statement "goto LAB_00022428;" goto statement_identifier ;)) (goto_statement "goto LAB_000223ec;" goto statement_identifier ;) })) (break_statement "break;" break ;) })) }) while (parenthesized_expression "(iVar13 != 8)" ( (binary_expression "iVar13 != 8" identifier != number_literal) )) ;) })) }))) (if_statement "if (uVar4 == 1) {\n      pcVar19 = local_88;\n      if (5 < (int)((((uint)uVar29 & 1) + uVar7 != 0) + uVar6)) goto LAB_000223fc;\nLAB_00022428:\n      do {\n        do {\n          iVar8 = (int)(uVar29 >> 0x20);\n          uVar4 = (uint)uVar29;\n          FUN_000317b0(iVar8,uVar4,0,10);\n          pcVar19 = pcVar19 + -1;\n          *pcVar19 = extraout_v1_01 + '0';\n          uVar29 = FUN_00031340(iVar8,uVar4,0,10);\n        } while (iVar8 != 0);\n      } while (9 < uVar4);\n    }\n    else {\nLAB_000223ec:\n      pcVar19 = pcVar15;\n      if ((uVar4 != 0) || ((int)(uVar6 + uVar7) < 1)) goto LAB_00022428;\nLAB_000223fc:\n      puVar20 = PTR_memcpy_00049600;\n      uVar29 = uVar29 + 1;\n      pcVar19 = pcVar15;\n      if (((param_4 & 0x10) == 0) ||\n         ((((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)) || (iVar13 == 8))))\n      goto LAB_00022428;\n      iVar13 = iVar13 + 1;\n      if ((param_4 & 8) == 0) {\n        pcVar15[-1] = '0';\n        pcVar15 = pcVar15 + ~local_70;\n        (*(code *)puVar20)(pcVar15,local_68);\n      }\n      pcVar19 = pcVar15 + -1;\n      pcVar15[-1] = '1';\n    }" if (parenthesized_expression "(uVar4 == 1)" ( (binary_expression "uVar4 == 1" identifier == number_literal) )) (compound_statement "{\n      pcVar19 = local_88;\n      if (5 < (int)((((uint)uVar29 & 1) + uVar7 != 0) + uVar6)) goto LAB_000223fc;\nLAB_00022428:\n      do {\n        do {\n          iVar8 = (int)(uVar29 >> 0x20);\n          uVar4 = (uint)uVar29;\n          FUN_000317b0(iVar8,uVar4,0,10);\n          pcVar19 = pcVar19 + -1;\n          *pcVar19 = extraout_v1_01 + '0';\n          uVar29 = FUN_00031340(iVar8,uVar4,0,10);\n        } while (iVar8 != 0);\n      } while (9 < uVar4);\n    }" { (expression_statement "pcVar19 = local_88;" (assignment_expression "pcVar19 = local_88" identifier = identifier) ;) (if_statement "if (5 < (int)((((uint)uVar29 & 1) + uVar7 != 0) + uVar6)) goto LAB_000223fc;" if (parenthesized_expression "(5 < (int)((((uint)uVar29 & 1) + uVar7 != 0) + uVar6))" ( (binary_expression "5 < (int)((((uint)uVar29 & 1) + uVar7 != 0) + uVar6)" number_literal < (cast_expression "(int)((((uint)uVar29 & 1) + uVar7 != 0) + uVar6)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((((uint)uVar29 & 1) + uVar7 != 0) + uVar6)" ( (binary_expression "(((uint)uVar29 & 1) + uVar7 != 0) + uVar6" (parenthesized_expression "(((uint)uVar29 & 1) + uVar7 != 0)" ( (binary_expression "((uint)uVar29 & 1) + uVar7 != 0" (binary_expression "((uint)uVar29 & 1) + uVar7" (parenthesized_expression "((uint)uVar29 & 1)" ( (binary_expression "(uint)uVar29 & 1" (cast_expression "(uint)uVar29" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) + identifier) != number_literal) )) + identifier) )))) )) (goto_statement "goto LAB_000223fc;" goto statement_identifier ;)) (labeled_statement "LAB_00022428:\n      do {\n        do {\n          iVar8 = (int)(uVar29 >> 0x20);\n          uVar4 = (uint)uVar29;\n          FUN_000317b0(iVar8,uVar4,0,10);\n          pcVar19 = pcVar19 + -1;\n          *pcVar19 = extraout_v1_01 + '0';\n          uVar29 = FUN_00031340(iVar8,uVar4,0,10);\n        } while (iVar8 != 0);\n      } while (9 < uVar4);" statement_identifier : (do_statement "do {\n        do {\n          iVar8 = (int)(uVar29 >> 0x20);\n          uVar4 = (uint)uVar29;\n          FUN_000317b0(iVar8,uVar4,0,10);\n          pcVar19 = pcVar19 + -1;\n          *pcVar19 = extraout_v1_01 + '0';\n          uVar29 = FUN_00031340(iVar8,uVar4,0,10);\n        } while (iVar8 != 0);\n      } while (9 < uVar4);" do (compound_statement "{\n        do {\n          iVar8 = (int)(uVar29 >> 0x20);\n          uVar4 = (uint)uVar29;\n          FUN_000317b0(iVar8,uVar4,0,10);\n          pcVar19 = pcVar19 + -1;\n          *pcVar19 = extraout_v1_01 + '0';\n          uVar29 = FUN_00031340(iVar8,uVar4,0,10);\n        } while (iVar8 != 0);\n      }" { (do_statement "do {\n          iVar8 = (int)(uVar29 >> 0x20);\n          uVar4 = (uint)uVar29;\n          FUN_000317b0(iVar8,uVar4,0,10);\n          pcVar19 = pcVar19 + -1;\n          *pcVar19 = extraout_v1_01 + '0';\n          uVar29 = FUN_00031340(iVar8,uVar4,0,10);\n        } while (iVar8 != 0);" do (compound_statement "{\n          iVar8 = (int)(uVar29 >> 0x20);\n          uVar4 = (uint)uVar29;\n          FUN_000317b0(iVar8,uVar4,0,10);\n          pcVar19 = pcVar19 + -1;\n          *pcVar19 = extraout_v1_01 + '0';\n          uVar29 = FUN_00031340(iVar8,uVar4,0,10);\n        }" { (expression_statement "iVar8 = (int)(uVar29 >> 0x20);" (assignment_expression "iVar8 = (int)(uVar29 >> 0x20)" identifier = (cast_expression "(int)(uVar29 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar29 >> 0x20)" ( (binary_expression "uVar29 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "uVar4 = (uint)uVar29;" (assignment_expression "uVar4 = (uint)uVar29" identifier = (cast_expression "(uint)uVar29" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "FUN_000317b0(iVar8,uVar4,0,10);" (call_expression "FUN_000317b0(iVar8,uVar4,0,10)" identifier (argument_list "(iVar8,uVar4,0,10)" ( identifier , identifier , number_literal , number_literal ))) ;) (expression_statement "pcVar19 = pcVar19 + -1;" (assignment_expression "pcVar19 = pcVar19 + -1" identifier = (binary_expression "pcVar19 + -1" identifier + number_literal)) ;) (expression_statement "*pcVar19 = extraout_v1_01 + '0';" (assignment_expression "*pcVar19 = extraout_v1_01 + '0'" (pointer_expression "*pcVar19" * identifier) = (binary_expression "extraout_v1_01 + '0'" identifier + (char_literal "'0'" ' character '))) ;) (expression_statement "uVar29 = FUN_00031340(iVar8,uVar4,0,10);" (assignment_expression "uVar29 = FUN_00031340(iVar8,uVar4,0,10)" identifier = (call_expression "FUN_00031340(iVar8,uVar4,0,10)" identifier (argument_list "(iVar8,uVar4,0,10)" ( identifier , identifier , number_literal , number_literal )))) ;) }) while (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) ;) }) while (parenthesized_expression "(9 < uVar4)" ( (binary_expression "9 < uVar4" number_literal < identifier) )) ;)) }) (else_clause "else {\nLAB_000223ec:\n      pcVar19 = pcVar15;\n      if ((uVar4 != 0) || ((int)(uVar6 + uVar7) < 1)) goto LAB_00022428;\nLAB_000223fc:\n      puVar20 = PTR_memcpy_00049600;\n      uVar29 = uVar29 + 1;\n      pcVar19 = pcVar15;\n      if (((param_4 & 0x10) == 0) ||\n         ((((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)) || (iVar13 == 8))))\n      goto LAB_00022428;\n      iVar13 = iVar13 + 1;\n      if ((param_4 & 8) == 0) {\n        pcVar15[-1] = '0';\n        pcVar15 = pcVar15 + ~local_70;\n        (*(code *)puVar20)(pcVar15,local_68);\n      }\n      pcVar19 = pcVar15 + -1;\n      pcVar15[-1] = '1';\n    }" else (compound_statement "{\nLAB_000223ec:\n      pcVar19 = pcVar15;\n      if ((uVar4 != 0) || ((int)(uVar6 + uVar7) < 1)) goto LAB_00022428;\nLAB_000223fc:\n      puVar20 = PTR_memcpy_00049600;\n      uVar29 = uVar29 + 1;\n      pcVar19 = pcVar15;\n      if (((param_4 & 0x10) == 0) ||\n         ((((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)) || (iVar13 == 8))))\n      goto LAB_00022428;\n      iVar13 = iVar13 + 1;\n      if ((param_4 & 8) == 0) {\n        pcVar15[-1] = '0';\n        pcVar15 = pcVar15 + ~local_70;\n        (*(code *)puVar20)(pcVar15,local_68);\n      }\n      pcVar19 = pcVar15 + -1;\n      pcVar15[-1] = '1';\n    }" { (labeled_statement "LAB_000223ec:\n      pcVar19 = pcVar15;" statement_identifier : (expression_statement "pcVar19 = pcVar15;" (assignment_expression "pcVar19 = pcVar15" identifier = identifier) ;)) (if_statement "if ((uVar4 != 0) || ((int)(uVar6 + uVar7) < 1)) goto LAB_00022428;" if (parenthesized_expression "((uVar4 != 0) || ((int)(uVar6 + uVar7) < 1))" ( (binary_expression "(uVar4 != 0) || ((int)(uVar6 + uVar7) < 1)" (parenthesized_expression "(uVar4 != 0)" ( (binary_expression "uVar4 != 0" identifier != number_literal) )) || (parenthesized_expression "((int)(uVar6 + uVar7) < 1)" ( (binary_expression "(int)(uVar6 + uVar7) < 1" (cast_expression "(int)(uVar6 + uVar7)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar6 + uVar7)" ( (binary_expression "uVar6 + uVar7" identifier + identifier) ))) < number_literal) ))) )) (goto_statement "goto LAB_00022428;" goto statement_identifier ;)) (labeled_statement "LAB_000223fc:\n      puVar20 = PTR_memcpy_00049600;" statement_identifier : (expression_statement "puVar20 = PTR_memcpy_00049600;" (assignment_expression "puVar20 = PTR_memcpy_00049600" identifier = identifier) ;)) (expression_statement "uVar29 = uVar29 + 1;" (assignment_expression "uVar29 = uVar29 + 1" identifier = (binary_expression "uVar29 + 1" identifier + number_literal)) ;) (expression_statement "pcVar19 = pcVar15;" (assignment_expression "pcVar19 = pcVar15" identifier = identifier) ;) (if_statement "if (((param_4 & 0x10) == 0) ||\n         ((((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)) || (iVar13 == 8))))\n      goto LAB_00022428;" if (parenthesized_expression "(((param_4 & 0x10) == 0) ||\n         ((((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)) || (iVar13 == 8))))" ( (binary_expression "((param_4 & 0x10) == 0) ||\n         ((((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)) || (iVar13 == 8)))" (parenthesized_expression "((param_4 & 0x10) == 0)" ( (binary_expression "(param_4 & 0x10) == 0" (parenthesized_expression "(param_4 & 0x10)" ( (binary_expression "param_4 & 0x10" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "((((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)) || (iVar13 == 8)))" ( (parenthesized_expression "(((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)) || (iVar13 == 8))" ( (binary_expression "((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)) || (iVar13 == 8)" (parenthesized_expression "((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29))" ( (binary_expression "(int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)" (binary_expression "(int)(uVar29 >> 0x20) != 0" (cast_expression "(int)(uVar29 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar29 >> 0x20)" ( (binary_expression "uVar29 >> 0x20" identifier >> number_literal) ))) != number_literal) || (parenthesized_expression "(uVar16 != (uint)uVar29)" ( (binary_expression "uVar16 != (uint)uVar29" identifier != (cast_expression "(uint)uVar29" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) )) || (parenthesized_expression "(iVar13 == 8)" ( (binary_expression "iVar13 == 8" identifier == number_literal) ))) )) ))) )) (goto_statement "goto LAB_00022428;" goto statement_identifier ;)) (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;) (if_statement "if ((param_4 & 8) == 0) {\n        pcVar15[-1] = '0';\n        pcVar15 = pcVar15 + ~local_70;\n        (*(code *)puVar20)(pcVar15,local_68);\n      }" if (parenthesized_expression "((param_4 & 8) == 0)" ( (binary_expression "(param_4 & 8) == 0" (parenthesized_expression "(param_4 & 8)" ( (binary_expression "param_4 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        pcVar15[-1] = '0';\n        pcVar15 = pcVar15 + ~local_70;\n        (*(code *)puVar20)(pcVar15,local_68);\n      }" { (expression_statement "pcVar15[-1] = '0';" (assignment_expression "pcVar15[-1] = '0'" (subscript_expression "pcVar15[-1]" identifier [ number_literal ]) = (char_literal "'0'" ' character ')) ;) (expression_statement "pcVar15 = pcVar15 + ~local_70;" (assignment_expression "pcVar15 = pcVar15 + ~local_70" identifier = (binary_expression "pcVar15 + ~local_70" identifier + (unary_expression "~local_70" ~ identifier))) ;) (expression_statement "(*(code *)puVar20)(pcVar15,local_68);" (call_expression "(*(code *)puVar20)(pcVar15,local_68)" (parenthesized_expression "(*(code *)puVar20)" ( (pointer_expression "*(code *)puVar20" * (cast_expression "(code *)puVar20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar15,local_68)" ( identifier , identifier ))) ;) })) (expression_statement "pcVar19 = pcVar15 + -1;" (assignment_expression "pcVar19 = pcVar15 + -1" identifier = (binary_expression "pcVar15 + -1" identifier + number_literal)) ;) (expression_statement "pcVar15[-1] = '1';" (assignment_expression "pcVar15[-1] = '1'" (subscript_expression "pcVar15[-1]" identifier [ number_literal ]) = (char_literal "'1'" ' character ')) ;) }))) }) (else_clause "else {\n    lVar25 = FUN_000317b0(param_5,param_6,param_7,param_8);\n    if (lVar25 == 0) {\n      lVar25 = FUN_00031340(param_5,param_6,param_7,param_8);\n      uVar29 = lVar25 * CONCAT44(param_1,param_2);\n      lVar25 = FUN_00031340((int)(uVar29 >> 0x20),(int)uVar29,(int)((ulonglong)lVar25 >> 0x20));\n      if (lVar25 == CONCAT44(param_1,param_2)) {\n        uVar7 = 0;\n        uVar6 = 0;\n        goto LAB_000223b4;\n      }\n    }\nLAB_00021ca0:\n    dVar22 = (double)FUN_000309d0(param_5,param_6);\n    dVar23 = (double)FUN_000309d0(param_7,param_8);\n    dVar22 = dVar22 / dVar23;\n    dVar23 = (double)FUN_000309d0(param_1,param_2);\n    puVar20 = PTR_LAB_00049218;\n    dVar22 = dVar22 * dVar23;\n    if ((param_4 & 0x10) == 0) {\n      dVar23 = dVar22;\n      if (((param_4 & 3) != 1) && (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760))) {\n        uVar28 = FUN_00030930(dVar22);\n        iVar13 = (int)((ulonglong)uVar28 >> 0x20);\n        uVar4 = (uint)uVar28;\n        dVar23 = (double)FUN_000309d0(iVar13,uVar4);\n        if (((param_4 & 3) == 0) && (dVar22 != dVar23)) {\n          dVar23 = (double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13);\n        }\n      }\n      (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23);\n      iVar13 = -1;\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }\n    else {\n      iVar13 = 0;\n      dVar23 = (double)uVar16;\n      do {\n        dVar24 = dVar23;\n        dVar23 = dVar24 * (double)uVar16;\n        iVar13 = iVar13 + 1;\n        if (dVar22 < dVar23) break;\n      } while (iVar13 != 8);\n      dVar22 = dVar22 / dVar24;\n      uVar6 = (uVar10 == 0) + 1 + local_70 + 1;\n      if (uVar4 == 1) {\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        if (uVar7 <= uVar6) goto LAB_0002232c;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        dVar23 = dVar22 * dVar24;\n      }\n      else {\n        dVar23 = dVar22;\n        if (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar22);\n          dVar23 = dVar22;\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar23 != dVar22)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        dVar22 = dVar23;\n        if (uVar6 < uVar7) {\n          dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar23 = dVar22 * dVar24;\n          puVar20 = PTR_LAB_00049218;\n          if (uVar4 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar23 < *(double *)(puVar20 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar23);\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar22 != dVar23)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n          dVar23 = dVar22;\n          dVar24 = *(double *)(puVar2 + 0x6768);\n        }\n      }\nLAB_0002207c:\n      (*(code *)PTR___sprintf_chk_00049454)\n                (param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23 / dVar24);\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }\nLAB_00021d4c:\n    pcVar19 = local_88 + -uVar7;\n    (*(code *)PTR_memmove_00049610)(pcVar19,param_3,uVar7);\n    pcVar15 = pcVar19 + uVar4;\n  }" else (compound_statement "{\n    lVar25 = FUN_000317b0(param_5,param_6,param_7,param_8);\n    if (lVar25 == 0) {\n      lVar25 = FUN_00031340(param_5,param_6,param_7,param_8);\n      uVar29 = lVar25 * CONCAT44(param_1,param_2);\n      lVar25 = FUN_00031340((int)(uVar29 >> 0x20),(int)uVar29,(int)((ulonglong)lVar25 >> 0x20));\n      if (lVar25 == CONCAT44(param_1,param_2)) {\n        uVar7 = 0;\n        uVar6 = 0;\n        goto LAB_000223b4;\n      }\n    }\nLAB_00021ca0:\n    dVar22 = (double)FUN_000309d0(param_5,param_6);\n    dVar23 = (double)FUN_000309d0(param_7,param_8);\n    dVar22 = dVar22 / dVar23;\n    dVar23 = (double)FUN_000309d0(param_1,param_2);\n    puVar20 = PTR_LAB_00049218;\n    dVar22 = dVar22 * dVar23;\n    if ((param_4 & 0x10) == 0) {\n      dVar23 = dVar22;\n      if (((param_4 & 3) != 1) && (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760))) {\n        uVar28 = FUN_00030930(dVar22);\n        iVar13 = (int)((ulonglong)uVar28 >> 0x20);\n        uVar4 = (uint)uVar28;\n        dVar23 = (double)FUN_000309d0(iVar13,uVar4);\n        if (((param_4 & 3) == 0) && (dVar22 != dVar23)) {\n          dVar23 = (double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13);\n        }\n      }\n      (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23);\n      iVar13 = -1;\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }\n    else {\n      iVar13 = 0;\n      dVar23 = (double)uVar16;\n      do {\n        dVar24 = dVar23;\n        dVar23 = dVar24 * (double)uVar16;\n        iVar13 = iVar13 + 1;\n        if (dVar22 < dVar23) break;\n      } while (iVar13 != 8);\n      dVar22 = dVar22 / dVar24;\n      uVar6 = (uVar10 == 0) + 1 + local_70 + 1;\n      if (uVar4 == 1) {\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        if (uVar7 <= uVar6) goto LAB_0002232c;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        dVar23 = dVar22 * dVar24;\n      }\n      else {\n        dVar23 = dVar22;\n        if (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar22);\n          dVar23 = dVar22;\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar23 != dVar22)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        dVar22 = dVar23;\n        if (uVar6 < uVar7) {\n          dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar23 = dVar22 * dVar24;\n          puVar20 = PTR_LAB_00049218;\n          if (uVar4 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar23 < *(double *)(puVar20 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar23);\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar22 != dVar23)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n          dVar23 = dVar22;\n          dVar24 = *(double *)(puVar2 + 0x6768);\n        }\n      }\nLAB_0002207c:\n      (*(code *)PTR___sprintf_chk_00049454)\n                (param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23 / dVar24);\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }\nLAB_00021d4c:\n    pcVar19 = local_88 + -uVar7;\n    (*(code *)PTR_memmove_00049610)(pcVar19,param_3,uVar7);\n    pcVar15 = pcVar19 + uVar4;\n  }" { (expression_statement "lVar25 = FUN_000317b0(param_5,param_6,param_7,param_8);" (assignment_expression "lVar25 = FUN_000317b0(param_5,param_6,param_7,param_8)" identifier = (call_expression "FUN_000317b0(param_5,param_6,param_7,param_8)" identifier (argument_list "(param_5,param_6,param_7,param_8)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (lVar25 == 0) {\n      lVar25 = FUN_00031340(param_5,param_6,param_7,param_8);\n      uVar29 = lVar25 * CONCAT44(param_1,param_2);\n      lVar25 = FUN_00031340((int)(uVar29 >> 0x20),(int)uVar29,(int)((ulonglong)lVar25 >> 0x20));\n      if (lVar25 == CONCAT44(param_1,param_2)) {\n        uVar7 = 0;\n        uVar6 = 0;\n        goto LAB_000223b4;\n      }\n    }" if (parenthesized_expression "(lVar25 == 0)" ( (binary_expression "lVar25 == 0" identifier == number_literal) )) (compound_statement "{\n      lVar25 = FUN_00031340(param_5,param_6,param_7,param_8);\n      uVar29 = lVar25 * CONCAT44(param_1,param_2);\n      lVar25 = FUN_00031340((int)(uVar29 >> 0x20),(int)uVar29,(int)((ulonglong)lVar25 >> 0x20));\n      if (lVar25 == CONCAT44(param_1,param_2)) {\n        uVar7 = 0;\n        uVar6 = 0;\n        goto LAB_000223b4;\n      }\n    }" { (expression_statement "lVar25 = FUN_00031340(param_5,param_6,param_7,param_8);" (assignment_expression "lVar25 = FUN_00031340(param_5,param_6,param_7,param_8)" identifier = (call_expression "FUN_00031340(param_5,param_6,param_7,param_8)" identifier (argument_list "(param_5,param_6,param_7,param_8)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "uVar29 = lVar25 * CONCAT44(param_1,param_2);" (assignment_expression "uVar29 = lVar25 * CONCAT44(param_1,param_2)" identifier = (binary_expression "lVar25 * CONCAT44(param_1,param_2)" identifier * (call_expression "CONCAT44(param_1,param_2)" identifier (argument_list "(param_1,param_2)" ( identifier , identifier ))))) ;) (expression_statement "lVar25 = FUN_00031340((int)(uVar29 >> 0x20),(int)uVar29,(int)((ulonglong)lVar25 >> 0x20));" (assignment_expression "lVar25 = FUN_00031340((int)(uVar29 >> 0x20),(int)uVar29,(int)((ulonglong)lVar25 >> 0x20))" identifier = (call_expression "FUN_00031340((int)(uVar29 >> 0x20),(int)uVar29,(int)((ulonglong)lVar25 >> 0x20))" identifier (argument_list "((int)(uVar29 >> 0x20),(int)uVar29,(int)((ulonglong)lVar25 >> 0x20))" ( (cast_expression "(int)(uVar29 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar29 >> 0x20)" ( (binary_expression "uVar29 >> 0x20" identifier >> number_literal) ))) , (cast_expression "(int)uVar29" ( (type_descriptor "int" primitive_type) ) identifier) , (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) ))) )))) ;) (if_statement "if (lVar25 == CONCAT44(param_1,param_2)) {\n        uVar7 = 0;\n        uVar6 = 0;\n        goto LAB_000223b4;\n      }" if (parenthesized_expression "(lVar25 == CONCAT44(param_1,param_2))" ( (binary_expression "lVar25 == CONCAT44(param_1,param_2)" identifier == (call_expression "CONCAT44(param_1,param_2)" identifier (argument_list "(param_1,param_2)" ( identifier , identifier )))) )) (compound_statement "{\n        uVar7 = 0;\n        uVar6 = 0;\n        goto LAB_000223b4;\n      }" { (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000223b4;" goto statement_identifier ;) })) })) (labeled_statement "LAB_00021ca0:\n    dVar22 = (double)FUN_000309d0(param_5,param_6);" statement_identifier : (expression_statement "dVar22 = (double)FUN_000309d0(param_5,param_6);" (assignment_expression "dVar22 = (double)FUN_000309d0(param_5,param_6)" identifier = (cast_expression "(double)FUN_000309d0(param_5,param_6)" ( (type_descriptor "double" primitive_type) ) (call_expression "FUN_000309d0(param_5,param_6)" identifier (argument_list "(param_5,param_6)" ( identifier , identifier ))))) ;)) (expression_statement "dVar23 = (double)FUN_000309d0(param_7,param_8);" (assignment_expression "dVar23 = (double)FUN_000309d0(param_7,param_8)" identifier = (cast_expression "(double)FUN_000309d0(param_7,param_8)" ( (type_descriptor "double" primitive_type) ) (call_expression "FUN_000309d0(param_7,param_8)" identifier (argument_list "(param_7,param_8)" ( identifier , identifier ))))) ;) (expression_statement "dVar22 = dVar22 / dVar23;" (assignment_expression "dVar22 = dVar22 / dVar23" identifier = (binary_expression "dVar22 / dVar23" identifier / identifier)) ;) (expression_statement "dVar23 = (double)FUN_000309d0(param_1,param_2);" (assignment_expression "dVar23 = (double)FUN_000309d0(param_1,param_2)" identifier = (cast_expression "(double)FUN_000309d0(param_1,param_2)" ( (type_descriptor "double" primitive_type) ) (call_expression "FUN_000309d0(param_1,param_2)" identifier (argument_list "(param_1,param_2)" ( identifier , identifier ))))) ;) (expression_statement "puVar20 = PTR_LAB_00049218;" (assignment_expression "puVar20 = PTR_LAB_00049218" identifier = identifier) ;) (expression_statement "dVar22 = dVar22 * dVar23;" (assignment_expression "dVar22 = dVar22 * dVar23" identifier = (binary_expression "dVar22 * dVar23" identifier * identifier)) ;) (if_statement "if ((param_4 & 0x10) == 0) {\n      dVar23 = dVar22;\n      if (((param_4 & 3) != 1) && (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760))) {\n        uVar28 = FUN_00030930(dVar22);\n        iVar13 = (int)((ulonglong)uVar28 >> 0x20);\n        uVar4 = (uint)uVar28;\n        dVar23 = (double)FUN_000309d0(iVar13,uVar4);\n        if (((param_4 & 3) == 0) && (dVar22 != dVar23)) {\n          dVar23 = (double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13);\n        }\n      }\n      (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23);\n      iVar13 = -1;\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }\n    else {\n      iVar13 = 0;\n      dVar23 = (double)uVar16;\n      do {\n        dVar24 = dVar23;\n        dVar23 = dVar24 * (double)uVar16;\n        iVar13 = iVar13 + 1;\n        if (dVar22 < dVar23) break;\n      } while (iVar13 != 8);\n      dVar22 = dVar22 / dVar24;\n      uVar6 = (uVar10 == 0) + 1 + local_70 + 1;\n      if (uVar4 == 1) {\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        if (uVar7 <= uVar6) goto LAB_0002232c;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        dVar23 = dVar22 * dVar24;\n      }\n      else {\n        dVar23 = dVar22;\n        if (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar22);\n          dVar23 = dVar22;\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar23 != dVar22)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        dVar22 = dVar23;\n        if (uVar6 < uVar7) {\n          dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar23 = dVar22 * dVar24;\n          puVar20 = PTR_LAB_00049218;\n          if (uVar4 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar23 < *(double *)(puVar20 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar23);\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar22 != dVar23)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n          dVar23 = dVar22;\n          dVar24 = *(double *)(puVar2 + 0x6768);\n        }\n      }\nLAB_0002207c:\n      (*(code *)PTR___sprintf_chk_00049454)\n                (param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23 / dVar24);\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }" if (parenthesized_expression "((param_4 & 0x10) == 0)" ( (binary_expression "(param_4 & 0x10) == 0" (parenthesized_expression "(param_4 & 0x10)" ( (binary_expression "param_4 & 0x10" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      dVar23 = dVar22;\n      if (((param_4 & 3) != 1) && (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760))) {\n        uVar28 = FUN_00030930(dVar22);\n        iVar13 = (int)((ulonglong)uVar28 >> 0x20);\n        uVar4 = (uint)uVar28;\n        dVar23 = (double)FUN_000309d0(iVar13,uVar4);\n        if (((param_4 & 3) == 0) && (dVar22 != dVar23)) {\n          dVar23 = (double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13);\n        }\n      }\n      (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23);\n      iVar13 = -1;\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }" { (expression_statement "dVar23 = dVar22;" (assignment_expression "dVar23 = dVar22" identifier = identifier) ;) (if_statement "if (((param_4 & 3) != 1) && (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760))) {\n        uVar28 = FUN_00030930(dVar22);\n        iVar13 = (int)((ulonglong)uVar28 >> 0x20);\n        uVar4 = (uint)uVar28;\n        dVar23 = (double)FUN_000309d0(iVar13,uVar4);\n        if (((param_4 & 3) == 0) && (dVar22 != dVar23)) {\n          dVar23 = (double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13);\n        }\n      }" if (parenthesized_expression "(((param_4 & 3) != 1) && (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)))" ( (binary_expression "((param_4 & 3) != 1) && (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760))" (parenthesized_expression "((param_4 & 3) != 1)" ( (binary_expression "(param_4 & 3) != 1" (parenthesized_expression "(param_4 & 3)" ( (binary_expression "param_4 & 3" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "(dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760))" ( (binary_expression "dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)" identifier < (pointer_expression "*(double *)(PTR_LAB_00049218 + 0x6760)" * (cast_expression "(double *)(PTR_LAB_00049218 + 0x6760)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00049218 + 0x6760)" ( (binary_expression "PTR_LAB_00049218 + 0x6760" identifier + number_literal) ))))) ))) )) (compound_statement "{\n        uVar28 = FUN_00030930(dVar22);\n        iVar13 = (int)((ulonglong)uVar28 >> 0x20);\n        uVar4 = (uint)uVar28;\n        dVar23 = (double)FUN_000309d0(iVar13,uVar4);\n        if (((param_4 & 3) == 0) && (dVar22 != dVar23)) {\n          dVar23 = (double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13);\n        }\n      }" { (expression_statement "uVar28 = FUN_00030930(dVar22);" (assignment_expression "uVar28 = FUN_00030930(dVar22)" identifier = (call_expression "FUN_00030930(dVar22)" identifier (argument_list "(dVar22)" ( identifier )))) ;) (expression_statement "iVar13 = (int)((ulonglong)uVar28 >> 0x20);" (assignment_expression "iVar13 = (int)((ulonglong)uVar28 >> 0x20)" identifier = (cast_expression "(int)((ulonglong)uVar28 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar28 >> 0x20)" ( (binary_expression "(ulonglong)uVar28 >> 0x20" (cast_expression "(ulonglong)uVar28" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar4 = (uint)uVar28;" (assignment_expression "uVar4 = (uint)uVar28" identifier = (cast_expression "(uint)uVar28" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "dVar23 = (double)FUN_000309d0(iVar13,uVar4);" (assignment_expression "dVar23 = (double)FUN_000309d0(iVar13,uVar4)" identifier = (cast_expression "(double)FUN_000309d0(iVar13,uVar4)" ( (type_descriptor "double" primitive_type) ) (call_expression "FUN_000309d0(iVar13,uVar4)" identifier (argument_list "(iVar13,uVar4)" ( identifier , identifier ))))) ;) (if_statement "if (((param_4 & 3) == 0) && (dVar22 != dVar23)) {\n          dVar23 = (double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13);\n        }" if (parenthesized_expression "(((param_4 & 3) == 0) && (dVar22 != dVar23))" ( (binary_expression "((param_4 & 3) == 0) && (dVar22 != dVar23)" (parenthesized_expression "((param_4 & 3) == 0)" ( (binary_expression "(param_4 & 3) == 0" (parenthesized_expression "(param_4 & 3)" ( (binary_expression "param_4 & 3" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(dVar22 != dVar23)" ( (binary_expression "dVar22 != dVar23" identifier != identifier) ))) )) (compound_statement "{\n          dVar23 = (double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13);\n        }" { (expression_statement "dVar23 = (double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13);" (assignment_expression "dVar23 = (double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13)" identifier = (cast_expression "(double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13)" ( (type_descriptor "double" primitive_type) ) (call_expression "FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13)" identifier (argument_list "((uint)(uVar4 + 1 < uVar4) + iVar13)" ( (binary_expression "(uint)(uVar4 + 1 < uVar4) + iVar13" (call_expression "(uint)(uVar4 + 1 < uVar4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar4 + 1 < uVar4)" ( (binary_expression "uVar4 + 1 < uVar4" (binary_expression "uVar4 + 1" identifier + number_literal) < identifier) ))) + identifier) ))))) ;) })) })) (expression_statement "(*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23);" (call_expression "(*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23)" (parenthesized_expression "(*(code *)PTR___sprintf_chk_00049454)" ( (pointer_expression "*(code *)PTR___sprintf_chk_00049454" * (cast_expression "(code *)PTR___sprintf_chk_00049454" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23)" ( identifier , number_literal , number_literal , (binary_expression "PTR_LAB_00049218 + 0x6700" identifier + number_literal) , identifier ))) ;) (expression_statement "iVar13 = -1;" (assignment_expression "iVar13 = -1" identifier = number_literal) ;) (expression_statement "uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);" (assignment_expression "uVar7 = (*(code *)PTR_strlen_0004953c)(param_3)" identifier = (call_expression "(*(code *)PTR_strlen_0004953c)(param_3)" (parenthesized_expression "(*(code *)PTR_strlen_0004953c)" ( (pointer_expression "*(code *)PTR_strlen_0004953c" * (cast_expression "(code *)PTR_strlen_0004953c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3)" ( identifier )))) ;) (expression_statement "uVar4 = uVar7;" (assignment_expression "uVar4 = uVar7" identifier = identifier) ;) }) (else_clause "else {\n      iVar13 = 0;\n      dVar23 = (double)uVar16;\n      do {\n        dVar24 = dVar23;\n        dVar23 = dVar24 * (double)uVar16;\n        iVar13 = iVar13 + 1;\n        if (dVar22 < dVar23) break;\n      } while (iVar13 != 8);\n      dVar22 = dVar22 / dVar24;\n      uVar6 = (uVar10 == 0) + 1 + local_70 + 1;\n      if (uVar4 == 1) {\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        if (uVar7 <= uVar6) goto LAB_0002232c;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        dVar23 = dVar22 * dVar24;\n      }\n      else {\n        dVar23 = dVar22;\n        if (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar22);\n          dVar23 = dVar22;\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar23 != dVar22)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        dVar22 = dVar23;\n        if (uVar6 < uVar7) {\n          dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar23 = dVar22 * dVar24;\n          puVar20 = PTR_LAB_00049218;\n          if (uVar4 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar23 < *(double *)(puVar20 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar23);\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar22 != dVar23)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n          dVar23 = dVar22;\n          dVar24 = *(double *)(puVar2 + 0x6768);\n        }\n      }\nLAB_0002207c:\n      (*(code *)PTR___sprintf_chk_00049454)\n                (param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23 / dVar24);\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }" else (compound_statement "{\n      iVar13 = 0;\n      dVar23 = (double)uVar16;\n      do {\n        dVar24 = dVar23;\n        dVar23 = dVar24 * (double)uVar16;\n        iVar13 = iVar13 + 1;\n        if (dVar22 < dVar23) break;\n      } while (iVar13 != 8);\n      dVar22 = dVar22 / dVar24;\n      uVar6 = (uVar10 == 0) + 1 + local_70 + 1;\n      if (uVar4 == 1) {\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        if (uVar7 <= uVar6) goto LAB_0002232c;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        dVar23 = dVar22 * dVar24;\n      }\n      else {\n        dVar23 = dVar22;\n        if (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar22);\n          dVar23 = dVar22;\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar23 != dVar22)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        dVar22 = dVar23;\n        if (uVar6 < uVar7) {\n          dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar23 = dVar22 * dVar24;\n          puVar20 = PTR_LAB_00049218;\n          if (uVar4 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar23 < *(double *)(puVar20 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar23);\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar22 != dVar23)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n          dVar23 = dVar22;\n          dVar24 = *(double *)(puVar2 + 0x6768);\n        }\n      }\nLAB_0002207c:\n      (*(code *)PTR___sprintf_chk_00049454)\n                (param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23 / dVar24);\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }" { (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (expression_statement "dVar23 = (double)uVar16;" (assignment_expression "dVar23 = (double)uVar16" identifier = (cast_expression "(double)uVar16" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (do_statement "do {\n        dVar24 = dVar23;\n        dVar23 = dVar24 * (double)uVar16;\n        iVar13 = iVar13 + 1;\n        if (dVar22 < dVar23) break;\n      } while (iVar13 != 8);" do (compound_statement "{\n        dVar24 = dVar23;\n        dVar23 = dVar24 * (double)uVar16;\n        iVar13 = iVar13 + 1;\n        if (dVar22 < dVar23) break;\n      }" { (expression_statement "dVar24 = dVar23;" (assignment_expression "dVar24 = dVar23" identifier = identifier) ;) (expression_statement "dVar23 = dVar24 * (double)uVar16;" (assignment_expression "dVar23 = dVar24 * (double)uVar16" identifier = (binary_expression "dVar24 * (double)uVar16" identifier * (cast_expression "(double)uVar16" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;) (if_statement "if (dVar22 < dVar23) break;" if (parenthesized_expression "(dVar22 < dVar23)" ( (binary_expression "dVar22 < dVar23" identifier < identifier) )) (break_statement "break;" break ;)) }) while (parenthesized_expression "(iVar13 != 8)" ( (binary_expression "iVar13 != 8" identifier != number_literal) )) ;) (expression_statement "dVar22 = dVar22 / dVar24;" (assignment_expression "dVar22 = dVar22 / dVar24" identifier = (binary_expression "dVar22 / dVar24" identifier / identifier)) ;) (expression_statement "uVar6 = (uVar10 == 0) + 1 + local_70 + 1;" (assignment_expression "uVar6 = (uVar10 == 0) + 1 + local_70 + 1" identifier = (binary_expression "(uVar10 == 0) + 1 + local_70 + 1" (binary_expression "(uVar10 == 0) + 1 + local_70" (binary_expression "(uVar10 == 0) + 1" (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) + number_literal) + identifier) + number_literal)) ;) (if_statement "if (uVar4 == 1) {\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        if (uVar7 <= uVar6) goto LAB_0002232c;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        dVar23 = dVar22 * dVar24;\n      }\n      else {\n        dVar23 = dVar22;\n        if (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar22);\n          dVar23 = dVar22;\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar23 != dVar22)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        dVar22 = dVar23;\n        if (uVar6 < uVar7) {\n          dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar23 = dVar22 * dVar24;\n          puVar20 = PTR_LAB_00049218;\n          if (uVar4 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar23 < *(double *)(puVar20 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar23);\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar22 != dVar23)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n          dVar23 = dVar22;\n          dVar24 = *(double *)(puVar2 + 0x6768);\n        }\n      }" if (parenthesized_expression "(uVar4 == 1)" ( (binary_expression "uVar4 == 1" identifier == number_literal) )) (compound_statement "{\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        if (uVar7 <= uVar6) goto LAB_0002232c;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        dVar23 = dVar22 * dVar24;\n      }" { (expression_statement "(*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;" (call_expression "(*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)" (parenthesized_expression "(*(code *)PTR___sprintf_chk_00049454)" ( (pointer_expression "*(code *)PTR___sprintf_chk_00049454" * (cast_expression "(code *)PTR___sprintf_chk_00049454" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)" ( identifier , number_literal , number_literal , (binary_expression "PTR_LAB_00049218 + 0x6708" identifier + number_literal) , identifier ))) ;) (expression_statement "uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);" (assignment_expression "uVar7 = (*(code *)PTR_strlen_0004953c)(param_3)" identifier = (call_expression "(*(code *)PTR_strlen_0004953c)(param_3)" (parenthesized_expression "(*(code *)PTR_strlen_0004953c)" ( (pointer_expression "*(code *)PTR_strlen_0004953c" * (cast_expression "(code *)PTR_strlen_0004953c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3)" ( identifier )))) ;) (if_statement "if (uVar7 <= uVar6) goto LAB_0002232c;" if (parenthesized_expression "(uVar7 <= uVar6)" ( (binary_expression "uVar7 <= uVar6" identifier <= identifier) )) (goto_statement "goto LAB_0002232c;" goto statement_identifier ;)) (expression_statement "dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);" (assignment_expression "dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768)" identifier = (pointer_expression "*(double *)(PTR_LAB_00049218 + 0x6768)" * (cast_expression "(double *)(PTR_LAB_00049218 + 0x6768)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00049218 + 0x6768)" ( (binary_expression "PTR_LAB_00049218 + 0x6768" identifier + number_literal) ))))) ;) (expression_statement "dVar23 = dVar22 * dVar24;" (assignment_expression "dVar23 = dVar22 * dVar24" identifier = (binary_expression "dVar22 * dVar24" identifier * identifier)) ;) }) (else_clause "else {\n        dVar23 = dVar22;\n        if (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar22);\n          dVar23 = dVar22;\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar23 != dVar22)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        dVar22 = dVar23;\n        if (uVar6 < uVar7) {\n          dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar23 = dVar22 * dVar24;\n          puVar20 = PTR_LAB_00049218;\n          if (uVar4 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar23 < *(double *)(puVar20 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar23);\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar22 != dVar23)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n          dVar23 = dVar22;\n          dVar24 = *(double *)(puVar2 + 0x6768);\n        }\n      }" else (compound_statement "{\n        dVar23 = dVar22;\n        if (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar22);\n          dVar23 = dVar22;\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar23 != dVar22)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        dVar22 = dVar23;\n        if (uVar6 < uVar7) {\n          dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar23 = dVar22 * dVar24;\n          puVar20 = PTR_LAB_00049218;\n          if (uVar4 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar23 < *(double *)(puVar20 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar23);\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar22 != dVar23)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n          dVar23 = dVar22;\n          dVar24 = *(double *)(puVar2 + 0x6768);\n        }\n      }" { (expression_statement "dVar23 = dVar22;" (assignment_expression "dVar23 = dVar22" identifier = identifier) ;) (if_statement "if (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar22);\n          dVar23 = dVar22;\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar23 != dVar22)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n        }" if (parenthesized_expression "(dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760))" ( (binary_expression "dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)" identifier < (pointer_expression "*(double *)(PTR_LAB_00049218 + 0x6760)" * (cast_expression "(double *)(PTR_LAB_00049218 + 0x6760)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00049218 + 0x6760)" ( (binary_expression "PTR_LAB_00049218 + 0x6760" identifier + number_literal) ))))) )) (compound_statement "{\n          lVar25 = FUN_00030930(dVar22);\n          dVar23 = dVar22;\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar23 != dVar22)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n        }" { (expression_statement "lVar25 = FUN_00030930(dVar22);" (assignment_expression "lVar25 = FUN_00030930(dVar22)" identifier = (call_expression "FUN_00030930(dVar22)" identifier (argument_list "(dVar22)" ( identifier )))) ;) (expression_statement "dVar23 = dVar22;" (assignment_expression "dVar23 = dVar22" identifier = identifier) ;) (expression_statement "dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);" (assignment_expression "dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25)" identifier = (cast_expression "(double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25)" ( (type_descriptor "double" primitive_type) ) (call_expression "FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25)" identifier (argument_list "((int)((ulonglong)lVar25 >> 0x20),(int)lVar25)" ( (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) ))) , (cast_expression "(int)lVar25" ( (type_descriptor "int" primitive_type) ) identifier) ))))) ;) (if_statement "if ((uVar4 == 0) && (dVar23 != dVar22)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }" if (parenthesized_expression "((uVar4 == 0) && (dVar23 != dVar22))" ( (binary_expression "(uVar4 == 0) && (dVar23 != dVar22)" (parenthesized_expression "(uVar4 == 0)" ( (binary_expression "uVar4 == 0" identifier == number_literal) )) && (parenthesized_expression "(dVar23 != dVar22)" ( (binary_expression "dVar23 != dVar22" identifier != identifier) ))) )) (compound_statement "{\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }" { (expression_statement "dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));" (assignment_expression "dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20))" identifier = (cast_expression "(double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20))" ( (type_descriptor "double" primitive_type) ) (call_expression "FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20))" identifier (argument_list "((int)((ulonglong)(lVar25 + 1) >> 0x20))" ( (cast_expression "(int)((ulonglong)(lVar25 + 1) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(lVar25 + 1) >> 0x20)" ( (binary_expression "(ulonglong)(lVar25 + 1) >> 0x20" (call_expression "(ulonglong)(lVar25 + 1)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(lVar25 + 1)" ( (binary_expression "lVar25 + 1" identifier + number_literal) ))) >> number_literal) ))) ))))) ;) })) })) (expression_statement "(*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;" (call_expression "(*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)" (parenthesized_expression "(*(code *)PTR___sprintf_chk_00049454)" ( (pointer_expression "*(code *)PTR___sprintf_chk_00049454" * (cast_expression "(code *)PTR___sprintf_chk_00049454" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)" ( identifier , number_literal , number_literal , (binary_expression "PTR_LAB_00049218 + 0x6708" identifier + number_literal) , identifier ))) ;) (expression_statement "uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);" (assignment_expression "uVar7 = (*(code *)PTR_strlen_0004953c)(param_3)" identifier = (call_expression "(*(code *)PTR_strlen_0004953c)(param_3)" (parenthesized_expression "(*(code *)PTR_strlen_0004953c)" ( (pointer_expression "*(code *)PTR_strlen_0004953c" * (cast_expression "(code *)PTR_strlen_0004953c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3)" ( identifier )))) ;) (expression_statement "dVar22 = dVar23;" (assignment_expression "dVar22 = dVar23" identifier = identifier) ;) (if_statement "if (uVar6 < uVar7) {\n          dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar23 = dVar22 * dVar24;\n          puVar20 = PTR_LAB_00049218;\n          if (uVar4 == 1) goto LAB_0002207c;\n        }" if (parenthesized_expression "(uVar6 < uVar7)" ( (binary_expression "uVar6 < uVar7" identifier < identifier) )) (compound_statement "{\n          dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }" { (expression_statement "dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);" (assignment_expression "dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768)" identifier = (binary_expression "dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768)" identifier * (pointer_expression "*(double *)(PTR_LAB_00049218 + 0x6768)" * (cast_expression "(double *)(PTR_LAB_00049218 + 0x6768)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00049218 + 0x6768)" ( (binary_expression "PTR_LAB_00049218 + 0x6768" identifier + number_literal) )))))) ;) }) (else_clause "else {\nLAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar23 = dVar22 * dVar24;\n          puVar20 = PTR_LAB_00049218;\n          if (uVar4 == 1) goto LAB_0002207c;\n        }" else (compound_statement "{\nLAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar23 = dVar22 * dVar24;\n          puVar20 = PTR_LAB_00049218;\n          if (uVar4 == 1) goto LAB_0002207c;\n        }" { (labeled_statement "LAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }" statement_identifier : (if_statement "if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }" if (parenthesized_expression "(((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0'))" ( (binary_expression "((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')" (parenthesized_expression "((param_4 & 8) == 0)" ( (binary_expression "(param_4 & 8) == 0" (parenthesized_expression "(param_4 & 8)" ( (binary_expression "param_4 & 8" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "(*(char *)(param_3 + uVar7 + -1) != '0')" ( (binary_expression "*(char *)(param_3 + uVar7 + -1) != '0'" (pointer_expression "*(char *)(param_3 + uVar7 + -1)" * (cast_expression "(char *)(param_3 + uVar7 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + uVar7 + -1)" ( (binary_expression "param_3 + uVar7 + -1" (binary_expression "param_3 + uVar7" identifier + identifier) + number_literal) )))) != (char_literal "'0'" ' character ')) ))) )) (compound_statement "{\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }" { (expression_statement "uVar4 = uVar7 - (local_70 + 1);" (assignment_expression "uVar4 = uVar7 - (local_70 + 1)" identifier = (binary_expression "uVar7 - (local_70 + 1)" identifier - (parenthesized_expression "(local_70 + 1)" ( (binary_expression "local_70 + 1" identifier + number_literal) )))) ;) (goto_statement "goto LAB_00021d4c;" goto statement_identifier ;) }))) (expression_statement "dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);" (assignment_expression "dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768)" identifier = (pointer_expression "*(double *)(PTR_LAB_00049218 + 0x6768)" * (cast_expression "(double *)(PTR_LAB_00049218 + 0x6768)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00049218 + 0x6768)" ( (binary_expression "PTR_LAB_00049218 + 0x6768" identifier + number_literal) ))))) ;) (expression_statement "dVar23 = dVar22 * dVar24;" (assignment_expression "dVar23 = dVar22 * dVar24" identifier = (binary_expression "dVar22 * dVar24" identifier * identifier)) ;) (expression_statement "puVar20 = PTR_LAB_00049218;" (assignment_expression "puVar20 = PTR_LAB_00049218" identifier = identifier) ;) (if_statement "if (uVar4 == 1) goto LAB_0002207c;" if (parenthesized_expression "(uVar4 == 1)" ( (binary_expression "uVar4 == 1" identifier == number_literal) )) (goto_statement "goto LAB_0002207c;" goto statement_identifier ;)) }))) (expression_statement "puVar2 = PTR_LAB_00049218;" (assignment_expression "puVar2 = PTR_LAB_00049218" identifier = identifier) ;) (expression_statement "dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);" (assignment_expression "dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768)" identifier = (pointer_expression "*(double *)(PTR_LAB_00049218 + 0x6768)" * (cast_expression "(double *)(PTR_LAB_00049218 + 0x6768)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00049218 + 0x6768)" ( (binary_expression "PTR_LAB_00049218 + 0x6768" identifier + number_literal) ))))) ;) (if_statement "if (dVar23 < *(double *)(puVar20 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar23);\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar22 != dVar23)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n          dVar23 = dVar22;\n          dVar24 = *(double *)(puVar2 + 0x6768);\n        }" if (parenthesized_expression "(dVar23 < *(double *)(puVar20 + 0x6760))" ( (binary_expression "dVar23 < *(double *)(puVar20 + 0x6760)" identifier < (pointer_expression "*(double *)(puVar20 + 0x6760)" * (cast_expression "(double *)(puVar20 + 0x6760)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x6760)" ( (binary_expression "puVar20 + 0x6760" identifier + number_literal) ))))) )) (compound_statement "{\n          lVar25 = FUN_00030930(dVar23);\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar22 != dVar23)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n          dVar23 = dVar22;\n          dVar24 = *(double *)(puVar2 + 0x6768);\n        }" { (expression_statement "lVar25 = FUN_00030930(dVar23);" (assignment_expression "lVar25 = FUN_00030930(dVar23)" identifier = (call_expression "FUN_00030930(dVar23)" identifier (argument_list "(dVar23)" ( identifier )))) ;) (expression_statement "dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);" (assignment_expression "dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25)" identifier = (cast_expression "(double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25)" ( (type_descriptor "double" primitive_type) ) (call_expression "FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25)" identifier (argument_list "((int)((ulonglong)lVar25 >> 0x20),(int)lVar25)" ( (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) ))) , (cast_expression "(int)lVar25" ( (type_descriptor "int" primitive_type) ) identifier) ))))) ;) (if_statement "if ((uVar4 == 0) && (dVar22 != dVar23)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }" if (parenthesized_expression "((uVar4 == 0) && (dVar22 != dVar23))" ( (binary_expression "(uVar4 == 0) && (dVar22 != dVar23)" (parenthesized_expression "(uVar4 == 0)" ( (binary_expression "uVar4 == 0" identifier == number_literal) )) && (parenthesized_expression "(dVar22 != dVar23)" ( (binary_expression "dVar22 != dVar23" identifier != identifier) ))) )) (compound_statement "{\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }" { (expression_statement "dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));" (assignment_expression "dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20))" identifier = (cast_expression "(double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20))" ( (type_descriptor "double" primitive_type) ) (call_expression "FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20))" identifier (argument_list "((int)((ulonglong)(lVar25 + 1) >> 0x20))" ( (cast_expression "(int)((ulonglong)(lVar25 + 1) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(lVar25 + 1) >> 0x20)" ( (binary_expression "(ulonglong)(lVar25 + 1) >> 0x20" (call_expression "(ulonglong)(lVar25 + 1)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(lVar25 + 1)" ( (binary_expression "lVar25 + 1" identifier + number_literal) ))) >> number_literal) ))) ))))) ;) })) (expression_statement "dVar23 = dVar22;" (assignment_expression "dVar23 = dVar22" identifier = identifier) ;) (expression_statement "dVar24 = *(double *)(puVar2 + 0x6768);" (assignment_expression "dVar24 = *(double *)(puVar2 + 0x6768)" identifier = (pointer_expression "*(double *)(puVar2 + 0x6768)" * (cast_expression "(double *)(puVar2 + 0x6768)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0x6768)" ( (binary_expression "puVar2 + 0x6768" identifier + number_literal) ))))) ;) })) }))) (labeled_statement "LAB_0002207c:\n      (*(code *)PTR___sprintf_chk_00049454)\n                (param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23 / dVar24);" statement_identifier : (expression_statement "(*(code *)PTR___sprintf_chk_00049454)\n                (param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23 / dVar24);" (call_expression "(*(code *)PTR___sprintf_chk_00049454)\n                (param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23 / dVar24)" (parenthesized_expression "(*(code *)PTR___sprintf_chk_00049454)" ( (pointer_expression "*(code *)PTR___sprintf_chk_00049454" * (cast_expression "(code *)PTR___sprintf_chk_00049454" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23 / dVar24)" ( identifier , number_literal , number_literal , (binary_expression "PTR_LAB_00049218 + 0x6700" identifier + number_literal) , (binary_expression "dVar23 / dVar24" identifier / identifier) ))) ;)) (expression_statement "uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);" (assignment_expression "uVar7 = (*(code *)PTR_strlen_0004953c)(param_3)" identifier = (call_expression "(*(code *)PTR_strlen_0004953c)(param_3)" (parenthesized_expression "(*(code *)PTR_strlen_0004953c)" ( (pointer_expression "*(code *)PTR_strlen_0004953c" * (cast_expression "(code *)PTR_strlen_0004953c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3)" ( identifier )))) ;) (expression_statement "uVar4 = uVar7;" (assignment_expression "uVar4 = uVar7" identifier = identifier) ;) }))) (labeled_statement "LAB_00021d4c:\n    pcVar19 = local_88 + -uVar7;" statement_identifier : (expression_statement "pcVar19 = local_88 + -uVar7;" (assignment_expression "pcVar19 = local_88 + -uVar7" identifier = (binary_expression "local_88 + -uVar7" identifier + (unary_expression "-uVar7" - identifier))) ;)) (expression_statement "(*(code *)PTR_memmove_00049610)(pcVar19,param_3,uVar7);" (call_expression "(*(code *)PTR_memmove_00049610)(pcVar19,param_3,uVar7)" (parenthesized_expression "(*(code *)PTR_memmove_00049610)" ( (pointer_expression "*(code *)PTR_memmove_00049610" * (cast_expression "(code *)PTR_memmove_00049610" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar19,param_3,uVar7)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar15 = pcVar19 + uVar4;" (assignment_expression "pcVar15 = pcVar19 + uVar4" identifier = (binary_expression "pcVar19 + uVar4" identifier + identifier)) ;) }))) (if_statement "if ((param_4 & 4) != 0) {\n    uVar6 = (int)pcVar15 - (int)pcVar19;\n    iVar8 = (*(code *)PTR_strlen_0004953c)(local_7c);\n    (*(code *)PTR___memcpy_chk_00049558)(auStack_60,pcVar19,uVar6,0x29);\n    uVar4 = 0xffffffff;\n    while( true ) {\n      uVar7 = (uint)*pbVar17;\n      if (uVar7 != 0) {\n        uVar4 = uVar7;\n        if (0x7e < uVar7) {\n          uVar4 = uVar6;\n        }\n        pbVar17 = pbVar17 + 1;\n      }\n      if (uVar6 < uVar4) break;\n      uVar6 = uVar6 - uVar4;\n      pcVar19 = pcVar15 + -uVar4;\n      (*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60 + uVar6,uVar4);\n      if (uVar6 == 0) goto LAB_00021d7c;\n      pcVar15 = pcVar19 + -iVar8;\n      (*(code *)PTR_memcpy_00049600)(pcVar15,local_7c,iVar8);\n    }\n    pcVar19 = pcVar15 + -uVar6;\n    (*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60,uVar6);\n  }" if (parenthesized_expression "((param_4 & 4) != 0)" ( (binary_expression "(param_4 & 4) != 0" (parenthesized_expression "(param_4 & 4)" ( (binary_expression "param_4 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    uVar6 = (int)pcVar15 - (int)pcVar19;\n    iVar8 = (*(code *)PTR_strlen_0004953c)(local_7c);\n    (*(code *)PTR___memcpy_chk_00049558)(auStack_60,pcVar19,uVar6,0x29);\n    uVar4 = 0xffffffff;\n    while( true ) {\n      uVar7 = (uint)*pbVar17;\n      if (uVar7 != 0) {\n        uVar4 = uVar7;\n        if (0x7e < uVar7) {\n          uVar4 = uVar6;\n        }\n        pbVar17 = pbVar17 + 1;\n      }\n      if (uVar6 < uVar4) break;\n      uVar6 = uVar6 - uVar4;\n      pcVar19 = pcVar15 + -uVar4;\n      (*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60 + uVar6,uVar4);\n      if (uVar6 == 0) goto LAB_00021d7c;\n      pcVar15 = pcVar19 + -iVar8;\n      (*(code *)PTR_memcpy_00049600)(pcVar15,local_7c,iVar8);\n    }\n    pcVar19 = pcVar15 + -uVar6;\n    (*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60,uVar6);\n  }" { (expression_statement "uVar6 = (int)pcVar15 - (int)pcVar19;" (assignment_expression "uVar6 = (int)pcVar15 - (int)pcVar19" identifier = (binary_expression "(int)pcVar15 - (int)pcVar19" (cast_expression "(int)pcVar15" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar19" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "iVar8 = (*(code *)PTR_strlen_0004953c)(local_7c);" (assignment_expression "iVar8 = (*(code *)PTR_strlen_0004953c)(local_7c)" identifier = (call_expression "(*(code *)PTR_strlen_0004953c)(local_7c)" (parenthesized_expression "(*(code *)PTR_strlen_0004953c)" ( (pointer_expression "*(code *)PTR_strlen_0004953c" * (cast_expression "(code *)PTR_strlen_0004953c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_7c)" ( identifier )))) ;) (expression_statement "(*(code *)PTR___memcpy_chk_00049558)(auStack_60,pcVar19,uVar6,0x29);" (call_expression "(*(code *)PTR___memcpy_chk_00049558)(auStack_60,pcVar19,uVar6,0x29)" (parenthesized_expression "(*(code *)PTR___memcpy_chk_00049558)" ( (pointer_expression "*(code *)PTR___memcpy_chk_00049558" * (cast_expression "(code *)PTR___memcpy_chk_00049558" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_60,pcVar19,uVar6,0x29)" ( identifier , identifier , identifier , number_literal ))) ;) (expression_statement "uVar4 = 0xffffffff;" (assignment_expression "uVar4 = 0xffffffff" identifier = number_literal) ;) (while_statement "while( true ) {\n      uVar7 = (uint)*pbVar17;\n      if (uVar7 != 0) {\n        uVar4 = uVar7;\n        if (0x7e < uVar7) {\n          uVar4 = uVar6;\n        }\n        pbVar17 = pbVar17 + 1;\n      }\n      if (uVar6 < uVar4) break;\n      uVar6 = uVar6 - uVar4;\n      pcVar19 = pcVar15 + -uVar4;\n      (*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60 + uVar6,uVar4);\n      if (uVar6 == 0) goto LAB_00021d7c;\n      pcVar15 = pcVar19 + -iVar8;\n      (*(code *)PTR_memcpy_00049600)(pcVar15,local_7c,iVar8);\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      uVar7 = (uint)*pbVar17;\n      if (uVar7 != 0) {\n        uVar4 = uVar7;\n        if (0x7e < uVar7) {\n          uVar4 = uVar6;\n        }\n        pbVar17 = pbVar17 + 1;\n      }\n      if (uVar6 < uVar4) break;\n      uVar6 = uVar6 - uVar4;\n      pcVar19 = pcVar15 + -uVar4;\n      (*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60 + uVar6,uVar4);\n      if (uVar6 == 0) goto LAB_00021d7c;\n      pcVar15 = pcVar19 + -iVar8;\n      (*(code *)PTR_memcpy_00049600)(pcVar15,local_7c,iVar8);\n    }" { (expression_statement "uVar7 = (uint)*pbVar17;" (assignment_expression "uVar7 = (uint)*pbVar17" identifier = (binary_expression "(uint)*pbVar17" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if (uVar7 != 0) {\n        uVar4 = uVar7;\n        if (0x7e < uVar7) {\n          uVar4 = uVar6;\n        }\n        pbVar17 = pbVar17 + 1;\n      }" if (parenthesized_expression "(uVar7 != 0)" ( (binary_expression "uVar7 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar4 = uVar7;\n        if (0x7e < uVar7) {\n          uVar4 = uVar6;\n        }\n        pbVar17 = pbVar17 + 1;\n      }" { (expression_statement "uVar4 = uVar7;" (assignment_expression "uVar4 = uVar7" identifier = identifier) ;) (if_statement "if (0x7e < uVar7) {\n          uVar4 = uVar6;\n        }" if (parenthesized_expression "(0x7e < uVar7)" ( (binary_expression "0x7e < uVar7" number_literal < identifier) )) (compound_statement "{\n          uVar4 = uVar6;\n        }" { (expression_statement "uVar4 = uVar6;" (assignment_expression "uVar4 = uVar6" identifier = identifier) ;) })) (expression_statement "pbVar17 = pbVar17 + 1;" (assignment_expression "pbVar17 = pbVar17 + 1" identifier = (binary_expression "pbVar17 + 1" identifier + number_literal)) ;) })) (if_statement "if (uVar6 < uVar4) break;" if (parenthesized_expression "(uVar6 < uVar4)" ( (binary_expression "uVar6 < uVar4" identifier < identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar6 = uVar6 - uVar4;" (assignment_expression "uVar6 = uVar6 - uVar4" identifier = (binary_expression "uVar6 - uVar4" identifier - identifier)) ;) (expression_statement "pcVar19 = pcVar15 + -uVar4;" (assignment_expression "pcVar19 = pcVar15 + -uVar4" identifier = (binary_expression "pcVar15 + -uVar4" identifier + (unary_expression "-uVar4" - identifier))) ;) (expression_statement "(*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60 + uVar6,uVar4);" (call_expression "(*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60 + uVar6,uVar4)" (parenthesized_expression "(*(code *)PTR_memcpy_00049600)" ( (pointer_expression "*(code *)PTR_memcpy_00049600" * (cast_expression "(code *)PTR_memcpy_00049600" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar19,auStack_60 + uVar6,uVar4)" ( identifier , (binary_expression "auStack_60 + uVar6" identifier + identifier) , identifier ))) ;) (if_statement "if (uVar6 == 0) goto LAB_00021d7c;" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00021d7c;" goto statement_identifier ;)) (expression_statement "pcVar15 = pcVar19 + -iVar8;" (assignment_expression "pcVar15 = pcVar19 + -iVar8" identifier = (binary_expression "pcVar19 + -iVar8" identifier + (unary_expression "-iVar8" - identifier))) ;) (expression_statement "(*(code *)PTR_memcpy_00049600)(pcVar15,local_7c,iVar8);" (call_expression "(*(code *)PTR_memcpy_00049600)(pcVar15,local_7c,iVar8)" (parenthesized_expression "(*(code *)PTR_memcpy_00049600)" ( (pointer_expression "*(code *)PTR_memcpy_00049600" * (cast_expression "(code *)PTR_memcpy_00049600" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar15,local_7c,iVar8)" ( identifier , identifier , identifier ))) ;) })) (expression_statement "pcVar19 = pcVar15 + -uVar6;" (assignment_expression "pcVar19 = pcVar15 + -uVar6" identifier = (binary_expression "pcVar15 + -uVar6" identifier + (unary_expression "-uVar6" - identifier))) ;) (expression_statement "(*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60,uVar6);" (call_expression "(*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60,uVar6)" (parenthesized_expression "(*(code *)PTR_memcpy_00049600)" ( (pointer_expression "*(code *)PTR_memcpy_00049600" * (cast_expression "(code *)PTR_memcpy_00049600" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar19,auStack_60,uVar6)" ( identifier , identifier , identifier ))) ;) })) (labeled_statement "LAB_00021d7c:\n  if ((param_4 & 0x80) == 0) goto LAB_00021da4;" statement_identifier : (if_statement "if ((param_4 & 0x80) == 0) goto LAB_00021da4;" if (parenthesized_expression "((param_4 & 0x80) == 0)" ( (binary_expression "(param_4 & 0x80) == 0" (parenthesized_expression "(param_4 & 0x80)" ( (binary_expression "param_4 & 0x80" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00021da4;" goto statement_identifier ;))) (if_statement "if ((iVar13 == -1) && ((param_7 != 0 || (iVar13 = 0, 1 < param_8)))) {\n    iVar13 = 1;\n    uVar6 = 1;\n    uVar4 = 0;\n    do {\n      uVar29 = (ulonglong)uVar6;\n      uVar6 = (uint)(uVar29 * uVar16);\n      uVar4 = uVar16 * uVar4 + (int)(uVar29 * uVar16 >> 0x20);\n      if ((param_7 <= uVar4) && ((param_7 != uVar4 || (param_8 <= uVar6)))) break;\n      iVar13 = iVar13 + 1;\n    } while (iVar13 != 8);\n    if ((param_4 & 0x40) != 0) {\nLAB_000221fc:\n      local_88 = (char *)(param_3 + 0x288);\n      *(undefined1 *)(param_3 + 0x287) = 0x20;\n      goto LAB_00022208;\n    }\nLAB_00022210:\n    if ((uVar10 == 0) && (iVar13 == 1)) {\n      cVar9 = 'k';\n    }\n    else {\n      cVar9 = PTR_LAB_00049218[iVar13 + 0x6748];\n    }\n    pcVar15 = local_88 + 1;\n    *local_88 = cVar9;\n  }\n  else {\n    if ((param_4 & 0x100) == 0 && iVar13 == 0) goto LAB_00021da4;\n    if ((param_4 & 0x40) != 0) goto LAB_000221fc;\nLAB_00022208:\n    pcVar15 = local_88;\n    if (iVar13 != 0) goto LAB_00022210;\n  }" if (parenthesized_expression "((iVar13 == -1) && ((param_7 != 0 || (iVar13 = 0, 1 < param_8))))" ( (binary_expression "(iVar13 == -1) && ((param_7 != 0 || (iVar13 = 0, 1 < param_8)))" (parenthesized_expression "(iVar13 == -1)" ( (binary_expression "iVar13 == -1" identifier == number_literal) )) && (parenthesized_expression "((param_7 != 0 || (iVar13 = 0, 1 < param_8)))" ( (parenthesized_expression "(param_7 != 0 || (iVar13 = 0, 1 < param_8))" ( (binary_expression "param_7 != 0 || (iVar13 = 0, 1 < param_8)" (binary_expression "param_7 != 0" identifier != number_literal) || (parenthesized_expression "(iVar13 = 0, 1 < param_8)" ( (comma_expression "iVar13 = 0, 1 < param_8" (assignment_expression "iVar13 = 0" identifier = number_literal) , (binary_expression "1 < param_8" number_literal < identifier)) ))) )) ))) )) (compound_statement "{\n    iVar13 = 1;\n    uVar6 = 1;\n    uVar4 = 0;\n    do {\n      uVar29 = (ulonglong)uVar6;\n      uVar6 = (uint)(uVar29 * uVar16);\n      uVar4 = uVar16 * uVar4 + (int)(uVar29 * uVar16 >> 0x20);\n      if ((param_7 <= uVar4) && ((param_7 != uVar4 || (param_8 <= uVar6)))) break;\n      iVar13 = iVar13 + 1;\n    } while (iVar13 != 8);\n    if ((param_4 & 0x40) != 0) {\nLAB_000221fc:\n      local_88 = (char *)(param_3 + 0x288);\n      *(undefined1 *)(param_3 + 0x287) = 0x20;\n      goto LAB_00022208;\n    }\nLAB_00022210:\n    if ((uVar10 == 0) && (iVar13 == 1)) {\n      cVar9 = 'k';\n    }\n    else {\n      cVar9 = PTR_LAB_00049218[iVar13 + 0x6748];\n    }\n    pcVar15 = local_88 + 1;\n    *local_88 = cVar9;\n  }" { (expression_statement "iVar13 = 1;" (assignment_expression "iVar13 = 1" identifier = number_literal) ;) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" identifier = number_literal) ;) (do_statement "do {\n      uVar29 = (ulonglong)uVar6;\n      uVar6 = (uint)(uVar29 * uVar16);\n      uVar4 = uVar16 * uVar4 + (int)(uVar29 * uVar16 >> 0x20);\n      if ((param_7 <= uVar4) && ((param_7 != uVar4 || (param_8 <= uVar6)))) break;\n      iVar13 = iVar13 + 1;\n    } while (iVar13 != 8);" do (compound_statement "{\n      uVar29 = (ulonglong)uVar6;\n      uVar6 = (uint)(uVar29 * uVar16);\n      uVar4 = uVar16 * uVar4 + (int)(uVar29 * uVar16 >> 0x20);\n      if ((param_7 <= uVar4) && ((param_7 != uVar4 || (param_8 <= uVar6)))) break;\n      iVar13 = iVar13 + 1;\n    }" { (expression_statement "uVar29 = (ulonglong)uVar6;" (assignment_expression "uVar29 = (ulonglong)uVar6" identifier = (cast_expression "(ulonglong)uVar6" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) ;) (expression_statement "uVar6 = (uint)(uVar29 * uVar16);" (assignment_expression "uVar6 = (uint)(uVar29 * uVar16)" identifier = (call_expression "(uint)(uVar29 * uVar16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar29 * uVar16)" ( (binary_expression "uVar29 * uVar16" identifier * identifier) )))) ;) (expression_statement "uVar4 = uVar16 * uVar4 + (int)(uVar29 * uVar16 >> 0x20);" (assignment_expression "uVar4 = uVar16 * uVar4 + (int)(uVar29 * uVar16 >> 0x20)" identifier = (binary_expression "uVar16 * uVar4 + (int)(uVar29 * uVar16 >> 0x20)" (binary_expression "uVar16 * uVar4" identifier * identifier) + (cast_expression "(int)(uVar29 * uVar16 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar29 * uVar16 >> 0x20)" ( (binary_expression "uVar29 * uVar16 >> 0x20" (binary_expression "uVar29 * uVar16" identifier * identifier) >> number_literal) ))))) ;) (if_statement "if ((param_7 <= uVar4) && ((param_7 != uVar4 || (param_8 <= uVar6)))) break;" if (parenthesized_expression "((param_7 <= uVar4) && ((param_7 != uVar4 || (param_8 <= uVar6))))" ( (binary_expression "(param_7 <= uVar4) && ((param_7 != uVar4 || (param_8 <= uVar6)))" (parenthesized_expression "(param_7 <= uVar4)" ( (binary_expression "param_7 <= uVar4" identifier <= identifier) )) && (parenthesized_expression "((param_7 != uVar4 || (param_8 <= uVar6)))" ( (parenthesized_expression "(param_7 != uVar4 || (param_8 <= uVar6))" ( (binary_expression "param_7 != uVar4 || (param_8 <= uVar6)" (binary_expression "param_7 != uVar4" identifier != identifier) || (parenthesized_expression "(param_8 <= uVar6)" ( (binary_expression "param_8 <= uVar6" identifier <= identifier) ))) )) ))) )) (break_statement "break;" break ;)) (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar13 != 8)" ( (binary_expression "iVar13 != 8" identifier != number_literal) )) ;) (if_statement "if ((param_4 & 0x40) != 0) {\nLAB_000221fc:\n      local_88 = (char *)(param_3 + 0x288);\n      *(undefined1 *)(param_3 + 0x287) = 0x20;\n      goto LAB_00022208;\n    }" if (parenthesized_expression "((param_4 & 0x40) != 0)" ( (binary_expression "(param_4 & 0x40) != 0" (parenthesized_expression "(param_4 & 0x40)" ( (binary_expression "param_4 & 0x40" identifier & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_000221fc:\n      local_88 = (char *)(param_3 + 0x288);\n      *(undefined1 *)(param_3 + 0x287) = 0x20;\n      goto LAB_00022208;\n    }" { (labeled_statement "LAB_000221fc:\n      local_88 = (char *)(param_3 + 0x288);" statement_identifier : (expression_statement "local_88 = (char *)(param_3 + 0x288);" (assignment_expression "local_88 = (char *)(param_3 + 0x288)" identifier = (cast_expression "(char *)(param_3 + 0x288)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x288)" ( (binary_expression "param_3 + 0x288" identifier + number_literal) )))) ;)) (expression_statement "*(undefined1 *)(param_3 + 0x287) = 0x20;" (assignment_expression "*(undefined1 *)(param_3 + 0x287) = 0x20" (pointer_expression "*(undefined1 *)(param_3 + 0x287)" * (cast_expression "(undefined1 *)(param_3 + 0x287)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x287)" ( (binary_expression "param_3 + 0x287" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_00022208;" goto statement_identifier ;) })) (labeled_statement "LAB_00022210:\n    if ((uVar10 == 0) && (iVar13 == 1)) {\n      cVar9 = 'k';\n    }\n    else {\n      cVar9 = PTR_LAB_00049218[iVar13 + 0x6748];\n    }" statement_identifier : (if_statement "if ((uVar10 == 0) && (iVar13 == 1)) {\n      cVar9 = 'k';\n    }\n    else {\n      cVar9 = PTR_LAB_00049218[iVar13 + 0x6748];\n    }" if (parenthesized_expression "((uVar10 == 0) && (iVar13 == 1))" ( (binary_expression "(uVar10 == 0) && (iVar13 == 1)" (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar13 == 1)" ( (binary_expression "iVar13 == 1" identifier == number_literal) ))) )) (compound_statement "{\n      cVar9 = 'k';\n    }" { (expression_statement "cVar9 = 'k';" (assignment_expression "cVar9 = 'k'" identifier = (char_literal "'k'" ' character ')) ;) }) (else_clause "else {\n      cVar9 = PTR_LAB_00049218[iVar13 + 0x6748];\n    }" else (compound_statement "{\n      cVar9 = PTR_LAB_00049218[iVar13 + 0x6748];\n    }" { (expression_statement "cVar9 = PTR_LAB_00049218[iVar13 + 0x6748];" (assignment_expression "cVar9 = PTR_LAB_00049218[iVar13 + 0x6748]" identifier = (subscript_expression "PTR_LAB_00049218[iVar13 + 0x6748]" identifier [ (binary_expression "iVar13 + 0x6748" identifier + number_literal) ])) ;) })))) (expression_statement "pcVar15 = local_88 + 1;" (assignment_expression "pcVar15 = local_88 + 1" identifier = (binary_expression "local_88 + 1" identifier + number_literal)) ;) (expression_statement "*local_88 = cVar9;" (assignment_expression "*local_88 = cVar9" (pointer_expression "*local_88" * identifier) = identifier) ;) }) (else_clause "else {\n    if ((param_4 & 0x100) == 0 && iVar13 == 0) goto LAB_00021da4;\n    if ((param_4 & 0x40) != 0) goto LAB_000221fc;\nLAB_00022208:\n    pcVar15 = local_88;\n    if (iVar13 != 0) goto LAB_00022210;\n  }" else (compound_statement "{\n    if ((param_4 & 0x100) == 0 && iVar13 == 0) goto LAB_00021da4;\n    if ((param_4 & 0x40) != 0) goto LAB_000221fc;\nLAB_00022208:\n    pcVar15 = local_88;\n    if (iVar13 != 0) goto LAB_00022210;\n  }" { (if_statement "if ((param_4 & 0x100) == 0 && iVar13 == 0) goto LAB_00021da4;" if (parenthesized_expression "((param_4 & 0x100) == 0 && iVar13 == 0)" ( (binary_expression "(param_4 & 0x100) == 0 && iVar13 == 0" (binary_expression "(param_4 & 0x100) == 0" (parenthesized_expression "(param_4 & 0x100)" ( (binary_expression "param_4 & 0x100" identifier & number_literal) )) == number_literal) && (binary_expression "iVar13 == 0" identifier == number_literal)) )) (goto_statement "goto LAB_00021da4;" goto statement_identifier ;)) (if_statement "if ((param_4 & 0x40) != 0) goto LAB_000221fc;" if (parenthesized_expression "((param_4 & 0x40) != 0)" ( (binary_expression "(param_4 & 0x40) != 0" (parenthesized_expression "(param_4 & 0x40)" ( (binary_expression "param_4 & 0x40" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000221fc;" goto statement_identifier ;)) (labeled_statement "LAB_00022208:\n    pcVar15 = local_88;" statement_identifier : (expression_statement "pcVar15 = local_88;" (assignment_expression "pcVar15 = local_88" identifier = identifier) ;)) (if_statement "if (iVar13 != 0) goto LAB_00022210;" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00022210;" goto statement_identifier ;)) }))) (expression_statement "local_88 = pcVar15;" (assignment_expression "local_88 = pcVar15" identifier = identifier) ;) (if_statement "if ((param_4 & 0x100) != 0) {\n    pcVar11 = pcVar15 + 1;\n    local_88 = pcVar11;\n    if ((uVar10 != 0) && (iVar13 != 0)) {\n      local_88 = pcVar15 + 2;\n      *pcVar15 = 'i';\n      pcVar15 = pcVar11;\n    }\n    *pcVar15 = 'B';\n  }" if (parenthesized_expression "((param_4 & 0x100) != 0)" ( (binary_expression "(param_4 & 0x100) != 0" (parenthesized_expression "(param_4 & 0x100)" ( (binary_expression "param_4 & 0x100" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    pcVar11 = pcVar15 + 1;\n    local_88 = pcVar11;\n    if ((uVar10 != 0) && (iVar13 != 0)) {\n      local_88 = pcVar15 + 2;\n      *pcVar15 = 'i';\n      pcVar15 = pcVar11;\n    }\n    *pcVar15 = 'B';\n  }" { (expression_statement "pcVar11 = pcVar15 + 1;" (assignment_expression "pcVar11 = pcVar15 + 1" identifier = (binary_expression "pcVar15 + 1" identifier + number_literal)) ;) (expression_statement "local_88 = pcVar11;" (assignment_expression "local_88 = pcVar11" identifier = identifier) ;) (if_statement "if ((uVar10 != 0) && (iVar13 != 0)) {\n      local_88 = pcVar15 + 2;\n      *pcVar15 = 'i';\n      pcVar15 = pcVar11;\n    }" if (parenthesized_expression "((uVar10 != 0) && (iVar13 != 0))" ( (binary_expression "(uVar10 != 0) && (iVar13 != 0)" (parenthesized_expression "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) ))) )) (compound_statement "{\n      local_88 = pcVar15 + 2;\n      *pcVar15 = 'i';\n      pcVar15 = pcVar11;\n    }" { (expression_statement "local_88 = pcVar15 + 2;" (assignment_expression "local_88 = pcVar15 + 2" identifier = (binary_expression "pcVar15 + 2" identifier + number_literal)) ;) (expression_statement "*pcVar15 = 'i';" (assignment_expression "*pcVar15 = 'i'" (pointer_expression "*pcVar15" * identifier) = (char_literal "'i'" ' character ')) ;) (expression_statement "pcVar15 = pcVar11;" (assignment_expression "pcVar15 = pcVar11" identifier = identifier) ;) })) (expression_statement "*pcVar15 = 'B';" (assignment_expression "*pcVar15 = 'B'" (pointer_expression "*pcVar15" * identifier) = (char_literal "'B'" ' character ')) ;) })) (labeled_statement "LAB_00021da4:\n  while( true ) {\n    *local_88 = '\0';\n    if (local_34 == *(int *)puVar3) break;\n    local_88 = (char *)(*(code *)PTR___stack_chk_fail_000495d0)();\n  }" statement_identifier : (while_statement "while( true ) {\n    *local_88 = '\0';\n    if (local_34 == *(int *)puVar3) break;\n    local_88 = (char *)(*(code *)PTR___stack_chk_fail_000495d0)();\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    *local_88 = '\0';\n    if (local_34 == *(int *)puVar3) break;\n    local_88 = (char *)(*(code *)PTR___stack_chk_fail_000495d0)();\n  }" { (expression_statement "*local_88 = '\0';" (assignment_expression "*local_88 = '\0'" (pointer_expression "*local_88" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (local_34 == *(int *)puVar3) break;" if (parenthesized_expression "(local_34 == *(int *)puVar3)" ( (binary_expression "local_34 == *(int *)puVar3" identifier == (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (break_statement "break;" break ;)) (expression_statement "local_88 = (char *)(*(code *)PTR___stack_chk_fail_000495d0)();" (assignment_expression "local_88 = (char *)(*(code *)PTR___stack_chk_fail_000495d0)()" identifier = (cast_expression "(char *)(*(code *)PTR___stack_chk_fail_000495d0)()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___stack_chk_fail_000495d0)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000495d0)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000495d0" * (cast_expression "(code *)PTR___stack_chk_fail_000495d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) }))) (return_statement "return pcVar19;" return identifier ;) })))
(translation_unit "/* WARNING: Removing unreachable block (ram,0x00021f3c) */\n/* WARNING: Removing unreachable block (ram,0x00021df0) */\n/* WARNING: Removing unreachable block (ram,0x000225ac) */\n\nchar * human_readable(uintmax_t n,char *buf,int opts,uintmax_t from_block_size,\n                     uintmax_t to_block_size)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  uint uVar5;\n  undefined4 *puVar6;\n  uint uVar7;\n  uint uVar8;\n  int iVar9;\n  char cVar10;\n  uint uVar11;\n  uint extraout_v1;\n  char extraout_v1_01;\n  int extraout_v1_00;\n  char *pcVar12;\n  int in_a2;\n  uint in_a3;\n  uint uVar13;\n  int iVar14;\n  uint uVar15;\n  char *pcVar16;\n  uint uVar17;\n  byte *pbVar18;\n  undefined4 uVar19;\n  char *pcVar20;\n  undefined *puVar21;\n  uint uVar22;\n  double dVar23;\n  double dVar24;\n  double dVar25;\n  longlong lVar26;\n  ulonglong uVar27;\n  longlong lVar28;\n  undefined8 uVar29;\n  ulonglong uVar30;\n  char *local_88;\n  undefined *local_7c;\n  uint local_70;\n  undefined *local_68;\n  char buf_1 [41];\n  \n  puVar3 = PTR___stack_chk_guard_000495fc;\n  uVar11 = in_a3 & 0x20;\n  uVar17 = 0x400;\n  iVar4 = *(int *)PTR___stack_chk_guard_000495fc;\n  uVar5 = in_a3 & 3;\n  if (uVar11 == 0) {\n    uVar17 = 1000;\n  }\n  puVar6 = (undefined4 *)(*(code *)PTR_localeconv_000494b4)();\n  local_68 = (undefined *)*puVar6;\n  local_70 = (*(code *)PTR_strlen_0004953c)(local_68);\n  if (0xf < local_70 - 1) {\n    local_70 = 1;\n    local_68 = PTR_LAB_00049218 + 0x6104;\n  }\n  local_7c = (undefined *)puVar6[1];\n  pbVar18 = (byte *)puVar6[2];\n  uVar7 = (*(code *)PTR_strlen_0004953c)();\n  if (0x10 < uVar7) {\n    local_7c = PTR_LAB_00049218 + 0x7ea8;\n  }\n  local_88 = (char *)(in_a2 + 0x287);\n  if (n < from_block_size) {\n    if ((n == 0) ||\n       (lVar26 = __umoddi3(from_block_size._0_4_,from_block_size._4_4_,n._0_4_,n._4_4_), lVar26 != 0\n       )) goto LAB_00021ca0;\n    uVar27 = __udivdi3(from_block_size._0_4_,from_block_size._4_4_,n._0_4_,n._4_4_);\n    uVar8 = (uint)(uVar27 >> 0x20);\n    uVar13 = (uint)uVar27;\n    uVar29 = __umoddi3(buf,opts,uVar8,uVar13);\n    iVar14 = (int)((ulonglong)uVar29 >> 0x20);\n    uVar7 = (uint)uVar29;\n    uVar22 = uVar7 * 5 >> 0x1f |\n             ((uint)(uVar7 * 5 < uVar7 * 4) + (uVar7 >> 0x1e | iVar14 << 2) + iVar14) * 2;\n    lVar28 = __umoddi3(uVar22,uVar7 * 10,uVar8,uVar13);\n    lVar26 = lVar28 << 1;\n    uVar15 = (uint)((ulonglong)lVar26 >> 0x20);\n    uVar30 = __udivdi3(buf,opts,uVar8,uVar13);\n    __udivdi3(uVar22,uVar7 * 10,uVar8,uVar13);\n    uVar7 = extraout_v1;\n    if ((uVar15 < uVar8) || ((uVar8 == uVar15 && ((uint)lVar26 < uVar13)))) {\n      uVar8 = (uint)(lVar26 != 0);\n    }\n    else if (uVar27 < (ulonglong)(lVar28 << 1)) {\n      uVar8 = 3;\n    }\n    else {\n      uVar8 = 2;\n    }\nLAB_000223b4:\n    pcVar16 = local_88;\n    if ((in_a3 & 0x10) == 0) {\n      iVar14 = -1;\n    }\n    else {\n      iVar14 = 0;\n      if (((int)(uVar30 >> 0x20) != 0) || (uVar17 <= (uint)uVar30)) {\n        iVar14 = 0;\n        do {\n          uVar19 = (undefined4)(uVar30 >> 0x20);\n          __umoddi3(uVar19,(int)uVar30,0,uVar17);\n          uVar13 = extraout_v1_00 * 10 + uVar7;\n          if (uVar17 == 0) {\n            trap(7);\n          }\n          uVar7 = uVar13 / uVar17;\n          uVar15 = (uVar13 % uVar17) * 2 + ((int)uVar8 >> 1);\n          uVar30 = __udivdi3(uVar19,(int)uVar30,0,uVar17);\n          puVar21 = PTR_memcpy_00049600;\n          uVar13 = (uint)uVar30;\n          uVar22 = uVar8 + uVar15;\n          if (uVar15 < uVar17) {\n            uVar8 = (uint)(uVar22 != 0);\n          }\n          else {\n            uVar8 = 2;\n            if (uVar17 < uVar22) {\n              uVar8 = 3;\n            }\n          }\n          iVar14 = iVar14 + 1;\n          if (((int)(uVar30 >> 0x20) == 0) && (uVar13 < uVar17)) {\n            if (uVar13 < 10) {\n              if (uVar5 == 1) {\n                bVar1 = 2 < (uVar7 & 1) + uVar8;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar15 = uVar13 + 1;\n                if (uVar7 == 9) {\n                  bVar1 = uVar15 < uVar13;\n                  uVar30 = (ulonglong)CONCAT14(bVar1,uVar15);\n                  if ((bVar1) || (uVar15 != 10)) {\n                    uVar8 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar8 = 0;\n                  uVar30 = (ulonglong)CONCAT14(bVar1,uVar15);\n                  goto LAB_000226d4;\n                }\n                cVar10 = (char)uVar7 + '1';\nLAB_000226a4:\n                uVar8 = 0;\n                *(char *)(in_a2 + 0x286) = cVar10;\n                pcVar16 = (char *)((in_a2 + 0x286) - local_70);\n                (*(code *)puVar21)(pcVar16,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar8 != 0;\n                if (uVar5 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar10 = (char)uVar7 + '0';\n                if (uVar7 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((in_a3 & 8) == 0) {\n                  cVar10 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar7 = 0;\n              pcVar20 = pcVar16;\n              if (uVar5 != 1) goto LAB_000223ec;\n              goto LAB_00022428;\n            }\n            break;\n          }\n        } while (iVar14 != 8);\n      }\n    }\n    if (uVar5 == 1) {\n      pcVar20 = local_88;\n      if (5 < (int)((((uint)uVar30 & 1) + uVar8 != 0) + uVar7)) goto LAB_000223fc;\nLAB_00022428:\n      do {\n        do {\n          iVar9 = (int)(uVar30 >> 0x20);\n          uVar5 = (uint)uVar30;\n          __umoddi3(iVar9,uVar5,0,10);\n          pcVar20 = pcVar20 + -1;\n          *pcVar20 = extraout_v1_01 + '0';\n          uVar30 = __udivdi3(iVar9,uVar5,0,10);\n        } while (iVar9 != 0);\n      } while (9 < uVar5);\n    }\n    else {\nLAB_000223ec:\n      pcVar20 = pcVar16;\n      if ((uVar5 != 0) || ((int)(uVar7 + uVar8) < 1)) goto LAB_00022428;\nLAB_000223fc:\n      puVar21 = PTR_memcpy_00049600;\n      uVar30 = uVar30 + 1;\n      pcVar20 = pcVar16;\n      if (((in_a3 & 0x10) == 0) ||\n         ((((int)(uVar30 >> 0x20) != 0 || (uVar17 != (uint)uVar30)) || (iVar14 == 8))))\n      goto LAB_00022428;\n      iVar14 = iVar14 + 1;\n      if ((in_a3 & 8) == 0) {\n        pcVar16[-1] = '0';\n        pcVar16 = pcVar16 + ~local_70;\n        (*(code *)puVar21)(pcVar16,local_68);\n      }\n      pcVar20 = pcVar16 + -1;\n      pcVar16[-1] = '1';\n    }\n  }\n  else {\n    lVar26 = __umoddi3(n._0_4_,n._4_4_,from_block_size._0_4_,from_block_size._4_4_);\n    if (lVar26 == 0) {\n      lVar26 = __udivdi3(n._0_4_,n._4_4_,from_block_size._0_4_,from_block_size._4_4_);\n      uVar30 = lVar26 * CONCAT44(buf,opts);\n      lVar26 = __udivdi3((int)(uVar30 >> 0x20),(int)uVar30,(int)((ulonglong)lVar26 >> 0x20));\n      if (lVar26 == CONCAT44(buf,opts)) {\n        uVar8 = 0;\n        uVar7 = 0;\n        goto LAB_000223b4;\n      }\n    }\nLAB_00021ca0:\n    dVar23 = (double)__floatundidf(n._0_4_,n._4_4_);\n    dVar24 = (double)__floatundidf(from_block_size._0_4_,from_block_size._4_4_);\n    dVar23 = dVar23 / dVar24;\n    dVar24 = (double)__floatundidf(buf,opts);\n    puVar21 = PTR_LAB_00049218;\n    dVar23 = dVar23 * dVar24;\n    if ((in_a3 & 0x10) == 0) {\n      dVar24 = dVar23;\n      if (((in_a3 & 3) != 1) && (dVar23 < *(double *)(PTR_LAB_00049218 + 0x6760))) {\n        uVar29 = __fixunsdfdi(dVar23);\n        iVar14 = (int)((ulonglong)uVar29 >> 0x20);\n        uVar5 = (uint)uVar29;\n        dVar24 = (double)__floatundidf(iVar14,uVar5);\n        if (((in_a3 & 3) == 0) && (dVar23 != dVar24)) {\n          dVar24 = (double)__floatundidf((uint)(uVar5 + 1 < uVar5) + iVar14);\n        }\n      }\n      (*(code *)PTR___sprintf_chk_00049454)(in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar24);\n      iVar14 = -1;\n      uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);\n      uVar5 = uVar8;\n    }\n    else {\n      iVar14 = 0;\n      dVar24 = (double)uVar17;\n      do {\n        dVar25 = dVar24;\n        dVar24 = dVar25 * (double)uVar17;\n        iVar14 = iVar14 + 1;\n        if (dVar23 < dVar24) break;\n      } while (iVar14 != 8);\n      dVar23 = dVar23 / dVar25;\n      uVar7 = (uVar11 == 0) + 1 + local_70 + 1;\n      if (uVar5 == 1) {\n        (*(code *)PTR___sprintf_chk_00049454)(in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar23);\n        uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);\n        if (uVar8 <= uVar7) goto LAB_0002232c;\n        dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        dVar24 = dVar23 * dVar25;\n      }\n      else {\n        dVar24 = dVar23;\n        if (dVar23 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar26 = __fixunsdfdi(dVar23);\n          dVar24 = dVar23;\n          dVar23 = (double)__floatundidf((int)((ulonglong)lVar26 >> 0x20),(int)lVar26);\n          if ((uVar5 == 0) && (dVar24 != dVar23)) {\n            dVar23 = (double)__floatundidf((int)((ulonglong)(lVar26 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar23);\n        uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);\n        dVar23 = dVar24;\n        if (uVar7 < uVar8) {\n          dVar24 = dVar24 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((in_a3 & 8) == 0) || (*(char *)(in_a2 + uVar8 + -1) != '0')) {\n            uVar5 = uVar8 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar24 = dVar23 * dVar25;\n          puVar21 = PTR_LAB_00049218;\n          if (uVar5 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar24 < *(double *)(puVar21 + 0x6760)) {\n          lVar26 = __fixunsdfdi(dVar24);\n          dVar23 = (double)__floatundidf((int)((ulonglong)lVar26 >> 0x20),(int)lVar26);\n          if ((uVar5 == 0) && (dVar23 != dVar24)) {\n            dVar23 = (double)__floatundidf((int)((ulonglong)(lVar26 + 1) >> 0x20));\n          }\n          dVar24 = dVar23;\n          dVar25 = *(double *)(puVar2 + 0x6768);\n        }\n      }\nLAB_0002207c:\n      (*(code *)PTR___sprintf_chk_00049454)\n                (in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar24 / dVar25);\n      uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);\n      uVar5 = uVar8;\n    }\nLAB_00021d4c:\n    pcVar20 = local_88 + -uVar8;\n    (*(code *)PTR_memmove_00049610)(pcVar20,in_a2,uVar8);\n    pcVar16 = pcVar20 + uVar5;\n  }\n  if ((in_a3 & 4) != 0) {\n    uVar7 = (int)pcVar16 - (int)pcVar20;\n    iVar9 = (*(code *)PTR_strlen_0004953c)(local_7c);\n    (*(code *)PTR___memcpy_chk_00049558)(buf_1,pcVar20,uVar7,0x29);\n    uVar5 = 0xffffffff;\n    while( true ) {\n      uVar8 = (uint)*pbVar18;\n      if (uVar8 != 0) {\n        uVar5 = uVar8;\n        if (0x7e < uVar8) {\n          uVar5 = uVar7;\n        }\n        pbVar18 = pbVar18 + 1;\n      }\n      if (uVar7 < uVar5) break;\n      uVar7 = uVar7 - uVar5;\n      pcVar20 = pcVar16 + -uVar5;\n      (*(code *)PTR_memcpy_00049600)(pcVar20,buf_1 + uVar7,uVar5);\n      if (uVar7 == 0) goto LAB_00021d7c;\n      pcVar16 = pcVar20 + -iVar9;\n      (*(code *)PTR_memcpy_00049600)(pcVar16,local_7c,iVar9);\n    }\n    pcVar20 = pcVar16 + -uVar7;\n    (*(code *)PTR_memcpy_00049600)(pcVar20,buf_1,uVar7);\n  }\nLAB_00021d7c:\n  if ((in_a3 & 0x80) == 0) goto LAB_00021da4;\n  if ((iVar14 == -1) && ((from_block_size._0_4_ != 0 || (iVar14 = 0, 1 < from_block_size._4_4_)))) {\n    iVar14 = 1;\n    uVar5 = 1;\n    iVar9 = 0;\n    do {\n      uVar30 = (ulonglong)uVar5;\n      uVar5 = (uint)(uVar30 * uVar17);\n      iVar9 = uVar17 * iVar9 + (int)(uVar30 * uVar17 >> 0x20);\n      if (from_block_size <= CONCAT44(iVar9,uVar5)) break;\n      iVar14 = iVar14 + 1;\n    } while (iVar14 != 8);\n    if ((in_a3 & 0x40) != 0) {\nLAB_000221fc:\n      local_88 = (char *)(in_a2 + 0x288);\n      *(undefined1 *)(in_a2 + 0x287) = 0x20;\n      goto LAB_00022208;\n    }\nLAB_00022210:\n    if ((uVar11 == 0) && (iVar14 == 1)) {\n      cVar10 = 'k';\n    }\n    else {\n      cVar10 = PTR_LAB_00049218[iVar14 + 0x6748];\n    }\n    pcVar16 = local_88 + 1;\n    *local_88 = cVar10;\n  }\n  else {\n    if ((in_a3 & 0x100) == 0 && iVar14 == 0) goto LAB_00021da4;\n    if ((in_a3 & 0x40) != 0) goto LAB_000221fc;\nLAB_00022208:\n    pcVar16 = local_88;\n    if (iVar14 != 0) goto LAB_00022210;\n  }\n  local_88 = pcVar16;\n  if ((in_a3 & 0x100) != 0) {\n    pcVar12 = pcVar16 + 1;\n    local_88 = pcVar12;\n    if ((uVar11 != 0) && (iVar14 != 0)) {\n      local_88 = pcVar16 + 2;\n      *pcVar16 = 'i';\n      pcVar16 = pcVar12;\n    }\n    *pcVar16 = 'B';\n  }\nLAB_00021da4:\n  while( true ) {\n    *local_88 = '\0';\n    if (iVar4 == *(int *)puVar3) break;\n    local_88 = (char *)(*(code *)PTR___stack_chk_fail_000495d0)();\n  }\n  return pcVar20;\n}\n\n" comment comment comment (function_definition "char * human_readable(uintmax_t n,char *buf,int opts,uintmax_t from_block_size,\n                     uintmax_t to_block_size)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  uint uVar5;\n  undefined4 *puVar6;\n  uint uVar7;\n  uint uVar8;\n  int iVar9;\n  char cVar10;\n  uint uVar11;\n  uint extraout_v1;\n  char extraout_v1_01;\n  int extraout_v1_00;\n  char *pcVar12;\n  int in_a2;\n  uint in_a3;\n  uint uVar13;\n  int iVar14;\n  uint uVar15;\n  char *pcVar16;\n  uint uVar17;\n  byte *pbVar18;\n  undefined4 uVar19;\n  char *pcVar20;\n  undefined *puVar21;\n  uint uVar22;\n  double dVar23;\n  double dVar24;\n  double dVar25;\n  longlong lVar26;\n  ulonglong uVar27;\n  longlong lVar28;\n  undefined8 uVar29;\n  ulonglong uVar30;\n  char *local_88;\n  undefined *local_7c;\n  uint local_70;\n  undefined *local_68;\n  char buf_1 [41];\n  \n  puVar3 = PTR___stack_chk_guard_000495fc;\n  uVar11 = in_a3 & 0x20;\n  uVar17 = 0x400;\n  iVar4 = *(int *)PTR___stack_chk_guard_000495fc;\n  uVar5 = in_a3 & 3;\n  if (uVar11 == 0) {\n    uVar17 = 1000;\n  }\n  puVar6 = (undefined4 *)(*(code *)PTR_localeconv_000494b4)();\n  local_68 = (undefined *)*puVar6;\n  local_70 = (*(code *)PTR_strlen_0004953c)(local_68);\n  if (0xf < local_70 - 1) {\n    local_70 = 1;\n    local_68 = PTR_LAB_00049218 + 0x6104;\n  }\n  local_7c = (undefined *)puVar6[1];\n  pbVar18 = (byte *)puVar6[2];\n  uVar7 = (*(code *)PTR_strlen_0004953c)();\n  if (0x10 < uVar7) {\n    local_7c = PTR_LAB_00049218 + 0x7ea8;\n  }\n  local_88 = (char *)(in_a2 + 0x287);\n  if (n < from_block_size) {\n    if ((n == 0) ||\n       (lVar26 = __umoddi3(from_block_size._0_4_,from_block_size._4_4_,n._0_4_,n._4_4_), lVar26 != 0\n       )) goto LAB_00021ca0;\n    uVar27 = __udivdi3(from_block_size._0_4_,from_block_size._4_4_,n._0_4_,n._4_4_);\n    uVar8 = (uint)(uVar27 >> 0x20);\n    uVar13 = (uint)uVar27;\n    uVar29 = __umoddi3(buf,opts,uVar8,uVar13);\n    iVar14 = (int)((ulonglong)uVar29 >> 0x20);\n    uVar7 = (uint)uVar29;\n    uVar22 = uVar7 * 5 >> 0x1f |\n             ((uint)(uVar7 * 5 < uVar7 * 4) + (uVar7 >> 0x1e | iVar14 << 2) + iVar14) * 2;\n    lVar28 = __umoddi3(uVar22,uVar7 * 10,uVar8,uVar13);\n    lVar26 = lVar28 << 1;\n    uVar15 = (uint)((ulonglong)lVar26 >> 0x20);\n    uVar30 = __udivdi3(buf,opts,uVar8,uVar13);\n    __udivdi3(uVar22,uVar7 * 10,uVar8,uVar13);\n    uVar7 = extraout_v1;\n    if ((uVar15 < uVar8) || ((uVar8 == uVar15 && ((uint)lVar26 < uVar13)))) {\n      uVar8 = (uint)(lVar26 != 0);\n    }\n    else if (uVar27 < (ulonglong)(lVar28 << 1)) {\n      uVar8 = 3;\n    }\n    else {\n      uVar8 = 2;\n    }\nLAB_000223b4:\n    pcVar16 = local_88;\n    if ((in_a3 & 0x10) == 0) {\n      iVar14 = -1;\n    }\n    else {\n      iVar14 = 0;\n      if (((int)(uVar30 >> 0x20) != 0) || (uVar17 <= (uint)uVar30)) {\n        iVar14 = 0;\n        do {\n          uVar19 = (undefined4)(uVar30 >> 0x20);\n          __umoddi3(uVar19,(int)uVar30,0,uVar17);\n          uVar13 = extraout_v1_00 * 10 + uVar7;\n          if (uVar17 == 0) {\n            trap(7);\n          }\n          uVar7 = uVar13 / uVar17;\n          uVar15 = (uVar13 % uVar17) * 2 + ((int)uVar8 >> 1);\n          uVar30 = __udivdi3(uVar19,(int)uVar30,0,uVar17);\n          puVar21 = PTR_memcpy_00049600;\n          uVar13 = (uint)uVar30;\n          uVar22 = uVar8 + uVar15;\n          if (uVar15 < uVar17) {\n            uVar8 = (uint)(uVar22 != 0);\n          }\n          else {\n            uVar8 = 2;\n            if (uVar17 < uVar22) {\n              uVar8 = 3;\n            }\n          }\n          iVar14 = iVar14 + 1;\n          if (((int)(uVar30 >> 0x20) == 0) && (uVar13 < uVar17)) {\n            if (uVar13 < 10) {\n              if (uVar5 == 1) {\n                bVar1 = 2 < (uVar7 & 1) + uVar8;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar15 = uVar13 + 1;\n                if (uVar7 == 9) {\n                  bVar1 = uVar15 < uVar13;\n                  uVar30 = (ulonglong)CONCAT14(bVar1,uVar15);\n                  if ((bVar1) || (uVar15 != 10)) {\n                    uVar8 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar8 = 0;\n                  uVar30 = (ulonglong)CONCAT14(bVar1,uVar15);\n                  goto LAB_000226d4;\n                }\n                cVar10 = (char)uVar7 + '1';\nLAB_000226a4:\n                uVar8 = 0;\n                *(char *)(in_a2 + 0x286) = cVar10;\n                pcVar16 = (char *)((in_a2 + 0x286) - local_70);\n                (*(code *)puVar21)(pcVar16,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar8 != 0;\n                if (uVar5 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar10 = (char)uVar7 + '0';\n                if (uVar7 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((in_a3 & 8) == 0) {\n                  cVar10 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar7 = 0;\n              pcVar20 = pcVar16;\n              if (uVar5 != 1) goto LAB_000223ec;\n              goto LAB_00022428;\n            }\n            break;\n          }\n        } while (iVar14 != 8);\n      }\n    }\n    if (uVar5 == 1) {\n      pcVar20 = local_88;\n      if (5 < (int)((((uint)uVar30 & 1) + uVar8 != 0) + uVar7)) goto LAB_000223fc;\nLAB_00022428:\n      do {\n        do {\n          iVar9 = (int)(uVar30 >> 0x20);\n          uVar5 = (uint)uVar30;\n          __umoddi3(iVar9,uVar5,0,10);\n          pcVar20 = pcVar20 + -1;\n          *pcVar20 = extraout_v1_01 + '0';\n          uVar30 = __udivdi3(iVar9,uVar5,0,10);\n        } while (iVar9 != 0);\n      } while (9 < uVar5);\n    }\n    else {\nLAB_000223ec:\n      pcVar20 = pcVar16;\n      if ((uVar5 != 0) || ((int)(uVar7 + uVar8) < 1)) goto LAB_00022428;\nLAB_000223fc:\n      puVar21 = PTR_memcpy_00049600;\n      uVar30 = uVar30 + 1;\n      pcVar20 = pcVar16;\n      if (((in_a3 & 0x10) == 0) ||\n         ((((int)(uVar30 >> 0x20) != 0 || (uVar17 != (uint)uVar30)) || (iVar14 == 8))))\n      goto LAB_00022428;\n      iVar14 = iVar14 + 1;\n      if ((in_a3 & 8) == 0) {\n        pcVar16[-1] = '0';\n        pcVar16 = pcVar16 + ~local_70;\n        (*(code *)puVar21)(pcVar16,local_68);\n      }\n      pcVar20 = pcVar16 + -1;\n      pcVar16[-1] = '1';\n    }\n  }\n  else {\n    lVar26 = __umoddi3(n._0_4_,n._4_4_,from_block_size._0_4_,from_block_size._4_4_);\n    if (lVar26 == 0) {\n      lVar26 = __udivdi3(n._0_4_,n._4_4_,from_block_size._0_4_,from_block_size._4_4_);\n      uVar30 = lVar26 * CONCAT44(buf,opts);\n      lVar26 = __udivdi3((int)(uVar30 >> 0x20),(int)uVar30,(int)((ulonglong)lVar26 >> 0x20));\n      if (lVar26 == CONCAT44(buf,opts)) {\n        uVar8 = 0;\n        uVar7 = 0;\n        goto LAB_000223b4;\n      }\n    }\nLAB_00021ca0:\n    dVar23 = (double)__floatundidf(n._0_4_,n._4_4_);\n    dVar24 = (double)__floatundidf(from_block_size._0_4_,from_block_size._4_4_);\n    dVar23 = dVar23 / dVar24;\n    dVar24 = (double)__floatundidf(buf,opts);\n    puVar21 = PTR_LAB_00049218;\n    dVar23 = dVar23 * dVar24;\n    if ((in_a3 & 0x10) == 0) {\n      dVar24 = dVar23;\n      if (((in_a3 & 3) != 1) && (dVar23 < *(double *)(PTR_LAB_00049218 + 0x6760))) {\n        uVar29 = __fixunsdfdi(dVar23);\n        iVar14 = (int)((ulonglong)uVar29 >> 0x20);\n        uVar5 = (uint)uVar29;\n        dVar24 = (double)__floatundidf(iVar14,uVar5);\n        if (((in_a3 & 3) == 0) && (dVar23 != dVar24)) {\n          dVar24 = (double)__floatundidf((uint)(uVar5 + 1 < uVar5) + iVar14);\n        }\n      }\n      (*(code *)PTR___sprintf_chk_00049454)(in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar24);\n      iVar14 = -1;\n      uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);\n      uVar5 = uVar8;\n    }\n    else {\n      iVar14 = 0;\n      dVar24 = (double)uVar17;\n      do {\n        dVar25 = dVar24;\n        dVar24 = dVar25 * (double)uVar17;\n        iVar14 = iVar14 + 1;\n        if (dVar23 < dVar24) break;\n      } while (iVar14 != 8);\n      dVar23 = dVar23 / dVar25;\n      uVar7 = (uVar11 == 0) + 1 + local_70 + 1;\n      if (uVar5 == 1) {\n        (*(code *)PTR___sprintf_chk_00049454)(in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar23);\n        uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);\n        if (uVar8 <= uVar7) goto LAB_0002232c;\n        dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        dVar24 = dVar23 * dVar25;\n      }\n      else {\n        dVar24 = dVar23;\n        if (dVar23 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar26 = __fixunsdfdi(dVar23);\n          dVar24 = dVar23;\n          dVar23 = (double)__floatundidf((int)((ulonglong)lVar26 >> 0x20),(int)lVar26);\n          if ((uVar5 == 0) && (dVar24 != dVar23)) {\n            dVar23 = (double)__floatundidf((int)((ulonglong)(lVar26 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar23);\n        uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);\n        dVar23 = dVar24;\n        if (uVar7 < uVar8) {\n          dVar24 = dVar24 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((in_a3 & 8) == 0) || (*(char *)(in_a2 + uVar8 + -1) != '0')) {\n            uVar5 = uVar8 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar24 = dVar23 * dVar25;\n          puVar21 = PTR_LAB_00049218;\n          if (uVar5 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar24 < *(double *)(puVar21 + 0x6760)) {\n          lVar26 = __fixunsdfdi(dVar24);\n          dVar23 = (double)__floatundidf((int)((ulonglong)lVar26 >> 0x20),(int)lVar26);\n          if ((uVar5 == 0) && (dVar23 != dVar24)) {\n            dVar23 = (double)__floatundidf((int)((ulonglong)(lVar26 + 1) >> 0x20));\n          }\n          dVar24 = dVar23;\n          dVar25 = *(double *)(puVar2 + 0x6768);\n        }\n      }\nLAB_0002207c:\n      (*(code *)PTR___sprintf_chk_00049454)\n                (in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar24 / dVar25);\n      uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);\n      uVar5 = uVar8;\n    }\nLAB_00021d4c:\n    pcVar20 = local_88 + -uVar8;\n    (*(code *)PTR_memmove_00049610)(pcVar20,in_a2,uVar8);\n    pcVar16 = pcVar20 + uVar5;\n  }\n  if ((in_a3 & 4) != 0) {\n    uVar7 = (int)pcVar16 - (int)pcVar20;\n    iVar9 = (*(code *)PTR_strlen_0004953c)(local_7c);\n    (*(code *)PTR___memcpy_chk_00049558)(buf_1,pcVar20,uVar7,0x29);\n    uVar5 = 0xffffffff;\n    while( true ) {\n      uVar8 = (uint)*pbVar18;\n      if (uVar8 != 0) {\n        uVar5 = uVar8;\n        if (0x7e < uVar8) {\n          uVar5 = uVar7;\n        }\n        pbVar18 = pbVar18 + 1;\n      }\n      if (uVar7 < uVar5) break;\n      uVar7 = uVar7 - uVar5;\n      pcVar20 = pcVar16 + -uVar5;\n      (*(code *)PTR_memcpy_00049600)(pcVar20,buf_1 + uVar7,uVar5);\n      if (uVar7 == 0) goto LAB_00021d7c;\n      pcVar16 = pcVar20 + -iVar9;\n      (*(code *)PTR_memcpy_00049600)(pcVar16,local_7c,iVar9);\n    }\n    pcVar20 = pcVar16 + -uVar7;\n    (*(code *)PTR_memcpy_00049600)(pcVar20,buf_1,uVar7);\n  }\nLAB_00021d7c:\n  if ((in_a3 & 0x80) == 0) goto LAB_00021da4;\n  if ((iVar14 == -1) && ((from_block_size._0_4_ != 0 || (iVar14 = 0, 1 < from_block_size._4_4_)))) {\n    iVar14 = 1;\n    uVar5 = 1;\n    iVar9 = 0;\n    do {\n      uVar30 = (ulonglong)uVar5;\n      uVar5 = (uint)(uVar30 * uVar17);\n      iVar9 = uVar17 * iVar9 + (int)(uVar30 * uVar17 >> 0x20);\n      if (from_block_size <= CONCAT44(iVar9,uVar5)) break;\n      iVar14 = iVar14 + 1;\n    } while (iVar14 != 8);\n    if ((in_a3 & 0x40) != 0) {\nLAB_000221fc:\n      local_88 = (char *)(in_a2 + 0x288);\n      *(undefined1 *)(in_a2 + 0x287) = 0x20;\n      goto LAB_00022208;\n    }\nLAB_00022210:\n    if ((uVar11 == 0) && (iVar14 == 1)) {\n      cVar10 = 'k';\n    }\n    else {\n      cVar10 = PTR_LAB_00049218[iVar14 + 0x6748];\n    }\n    pcVar16 = local_88 + 1;\n    *local_88 = cVar10;\n  }\n  else {\n    if ((in_a3 & 0x100) == 0 && iVar14 == 0) goto LAB_00021da4;\n    if ((in_a3 & 0x40) != 0) goto LAB_000221fc;\nLAB_00022208:\n    pcVar16 = local_88;\n    if (iVar14 != 0) goto LAB_00022210;\n  }\n  local_88 = pcVar16;\n  if ((in_a3 & 0x100) != 0) {\n    pcVar12 = pcVar16 + 1;\n    local_88 = pcVar12;\n    if ((uVar11 != 0) && (iVar14 != 0)) {\n      local_88 = pcVar16 + 2;\n      *pcVar16 = 'i';\n      pcVar16 = pcVar12;\n    }\n    *pcVar16 = 'B';\n  }\nLAB_00021da4:\n  while( true ) {\n    *local_88 = '\0';\n    if (iVar4 == *(int *)puVar3) break;\n    local_88 = (char *)(*(code *)PTR___stack_chk_fail_000495d0)();\n  }\n  return pcVar20;\n}" primitive_type (pointer_declarator "* human_readable(uintmax_t n,char *buf,int opts,uintmax_t from_block_size,\n                     uintmax_t to_block_size)" * (function_declarator "human_readable(uintmax_t n,char *buf,int opts,uintmax_t from_block_size,\n                     uintmax_t to_block_size)" identifier (parameter_list "(uintmax_t n,char *buf,int opts,uintmax_t from_block_size,\n                     uintmax_t to_block_size)" ( (parameter_declaration "uintmax_t n" type_identifier identifier) , (parameter_declaration "char *buf" primitive_type (pointer_declarator "*buf" * identifier)) , (parameter_declaration "int opts" primitive_type identifier) , (parameter_declaration "uintmax_t from_block_size" type_identifier identifier) , (parameter_declaration "uintmax_t to_block_size" type_identifier identifier) )))) (compound_statement "{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  uint uVar5;\n  undefined4 *puVar6;\n  uint uVar7;\n  uint uVar8;\n  int iVar9;\n  char cVar10;\n  uint uVar11;\n  uint extraout_v1;\n  char extraout_v1_01;\n  int extraout_v1_00;\n  char *pcVar12;\n  int in_a2;\n  uint in_a3;\n  uint uVar13;\n  int iVar14;\n  uint uVar15;\n  char *pcVar16;\n  uint uVar17;\n  byte *pbVar18;\n  undefined4 uVar19;\n  char *pcVar20;\n  undefined *puVar21;\n  uint uVar22;\n  double dVar23;\n  double dVar24;\n  double dVar25;\n  longlong lVar26;\n  ulonglong uVar27;\n  longlong lVar28;\n  undefined8 uVar29;\n  ulonglong uVar30;\n  char *local_88;\n  undefined *local_7c;\n  uint local_70;\n  undefined *local_68;\n  char buf_1 [41];\n  \n  puVar3 = PTR___stack_chk_guard_000495fc;\n  uVar11 = in_a3 & 0x20;\n  uVar17 = 0x400;\n  iVar4 = *(int *)PTR___stack_chk_guard_000495fc;\n  uVar5 = in_a3 & 3;\n  if (uVar11 == 0) {\n    uVar17 = 1000;\n  }\n  puVar6 = (undefined4 *)(*(code *)PTR_localeconv_000494b4)();\n  local_68 = (undefined *)*puVar6;\n  local_70 = (*(code *)PTR_strlen_0004953c)(local_68);\n  if (0xf < local_70 - 1) {\n    local_70 = 1;\n    local_68 = PTR_LAB_00049218 + 0x6104;\n  }\n  local_7c = (undefined *)puVar6[1];\n  pbVar18 = (byte *)puVar6[2];\n  uVar7 = (*(code *)PTR_strlen_0004953c)();\n  if (0x10 < uVar7) {\n    local_7c = PTR_LAB_00049218 + 0x7ea8;\n  }\n  local_88 = (char *)(in_a2 + 0x287);\n  if (n < from_block_size) {\n    if ((n == 0) ||\n       (lVar26 = __umoddi3(from_block_size._0_4_,from_block_size._4_4_,n._0_4_,n._4_4_), lVar26 != 0\n       )) goto LAB_00021ca0;\n    uVar27 = __udivdi3(from_block_size._0_4_,from_block_size._4_4_,n._0_4_,n._4_4_);\n    uVar8 = (uint)(uVar27 >> 0x20);\n    uVar13 = (uint)uVar27;\n    uVar29 = __umoddi3(buf,opts,uVar8,uVar13);\n    iVar14 = (int)((ulonglong)uVar29 >> 0x20);\n    uVar7 = (uint)uVar29;\n    uVar22 = uVar7 * 5 >> 0x1f |\n             ((uint)(uVar7 * 5 < uVar7 * 4) + (uVar7 >> 0x1e | iVar14 << 2) + iVar14) * 2;\n    lVar28 = __umoddi3(uVar22,uVar7 * 10,uVar8,uVar13);\n    lVar26 = lVar28 << 1;\n    uVar15 = (uint)((ulonglong)lVar26 >> 0x20);\n    uVar30 = __udivdi3(buf,opts,uVar8,uVar13);\n    __udivdi3(uVar22,uVar7 * 10,uVar8,uVar13);\n    uVar7 = extraout_v1;\n    if ((uVar15 < uVar8) || ((uVar8 == uVar15 && ((uint)lVar26 < uVar13)))) {\n      uVar8 = (uint)(lVar26 != 0);\n    }\n    else if (uVar27 < (ulonglong)(lVar28 << 1)) {\n      uVar8 = 3;\n    }\n    else {\n      uVar8 = 2;\n    }\nLAB_000223b4:\n    pcVar16 = local_88;\n    if ((in_a3 & 0x10) == 0) {\n      iVar14 = -1;\n    }\n    else {\n      iVar14 = 0;\n      if (((int)(uVar30 >> 0x20) != 0) || (uVar17 <= (uint)uVar30)) {\n        iVar14 = 0;\n        do {\n          uVar19 = (undefined4)(uVar30 >> 0x20);\n          __umoddi3(uVar19,(int)uVar30,0,uVar17);\n          uVar13 = extraout_v1_00 * 10 + uVar7;\n          if (uVar17 == 0) {\n            trap(7);\n          }\n          uVar7 = uVar13 / uVar17;\n          uVar15 = (uVar13 % uVar17) * 2 + ((int)uVar8 >> 1);\n          uVar30 = __udivdi3(uVar19,(int)uVar30,0,uVar17);\n          puVar21 = PTR_memcpy_00049600;\n          uVar13 = (uint)uVar30;\n          uVar22 = uVar8 + uVar15;\n          if (uVar15 < uVar17) {\n            uVar8 = (uint)(uVar22 != 0);\n          }\n          else {\n            uVar8 = 2;\n            if (uVar17 < uVar22) {\n              uVar8 = 3;\n            }\n          }\n          iVar14 = iVar14 + 1;\n          if (((int)(uVar30 >> 0x20) == 0) && (uVar13 < uVar17)) {\n            if (uVar13 < 10) {\n              if (uVar5 == 1) {\n                bVar1 = 2 < (uVar7 & 1) + uVar8;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar15 = uVar13 + 1;\n                if (uVar7 == 9) {\n                  bVar1 = uVar15 < uVar13;\n                  uVar30 = (ulonglong)CONCAT14(bVar1,uVar15);\n                  if ((bVar1) || (uVar15 != 10)) {\n                    uVar8 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar8 = 0;\n                  uVar30 = (ulonglong)CONCAT14(bVar1,uVar15);\n                  goto LAB_000226d4;\n                }\n                cVar10 = (char)uVar7 + '1';\nLAB_000226a4:\n                uVar8 = 0;\n                *(char *)(in_a2 + 0x286) = cVar10;\n                pcVar16 = (char *)((in_a2 + 0x286) - local_70);\n                (*(code *)puVar21)(pcVar16,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar8 != 0;\n                if (uVar5 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar10 = (char)uVar7 + '0';\n                if (uVar7 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((in_a3 & 8) == 0) {\n                  cVar10 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar7 = 0;\n              pcVar20 = pcVar16;\n              if (uVar5 != 1) goto LAB_000223ec;\n              goto LAB_00022428;\n            }\n            break;\n          }\n        } while (iVar14 != 8);\n      }\n    }\n    if (uVar5 == 1) {\n      pcVar20 = local_88;\n      if (5 < (int)((((uint)uVar30 & 1) + uVar8 != 0) + uVar7)) goto LAB_000223fc;\nLAB_00022428:\n      do {\n        do {\n          iVar9 = (int)(uVar30 >> 0x20);\n          uVar5 = (uint)uVar30;\n          __umoddi3(iVar9,uVar5,0,10);\n          pcVar20 = pcVar20 + -1;\n          *pcVar20 = extraout_v1_01 + '0';\n          uVar30 = __udivdi3(iVar9,uVar5,0,10);\n        } while (iVar9 != 0);\n      } while (9 < uVar5);\n    }\n    else {\nLAB_000223ec:\n      pcVar20 = pcVar16;\n      if ((uVar5 != 0) || ((int)(uVar7 + uVar8) < 1)) goto LAB_00022428;\nLAB_000223fc:\n      puVar21 = PTR_memcpy_00049600;\n      uVar30 = uVar30 + 1;\n      pcVar20 = pcVar16;\n      if (((in_a3 & 0x10) == 0) ||\n         ((((int)(uVar30 >> 0x20) != 0 || (uVar17 != (uint)uVar30)) || (iVar14 == 8))))\n      goto LAB_00022428;\n      iVar14 = iVar14 + 1;\n      if ((in_a3 & 8) == 0) {\n        pcVar16[-1] = '0';\n        pcVar16 = pcVar16 + ~local_70;\n        (*(code *)puVar21)(pcVar16,local_68);\n      }\n      pcVar20 = pcVar16 + -1;\n      pcVar16[-1] = '1';\n    }\n  }\n  else {\n    lVar26 = __umoddi3(n._0_4_,n._4_4_,from_block_size._0_4_,from_block_size._4_4_);\n    if (lVar26 == 0) {\n      lVar26 = __udivdi3(n._0_4_,n._4_4_,from_block_size._0_4_,from_block_size._4_4_);\n      uVar30 = lVar26 * CONCAT44(buf,opts);\n      lVar26 = __udivdi3((int)(uVar30 >> 0x20),(int)uVar30,(int)((ulonglong)lVar26 >> 0x20));\n      if (lVar26 == CONCAT44(buf,opts)) {\n        uVar8 = 0;\n        uVar7 = 0;\n        goto LAB_000223b4;\n      }\n    }\nLAB_00021ca0:\n    dVar23 = (double)__floatundidf(n._0_4_,n._4_4_);\n    dVar24 = (double)__floatundidf(from_block_size._0_4_,from_block_size._4_4_);\n    dVar23 = dVar23 / dVar24;\n    dVar24 = (double)__floatundidf(buf,opts);\n    puVar21 = PTR_LAB_00049218;\n    dVar23 = dVar23 * dVar24;\n    if ((in_a3 & 0x10) == 0) {\n      dVar24 = dVar23;\n      if (((in_a3 & 3) != 1) && (dVar23 < *(double *)(PTR_LAB_00049218 + 0x6760))) {\n        uVar29 = __fixunsdfdi(dVar23);\n        iVar14 = (int)((ulonglong)uVar29 >> 0x20);\n        uVar5 = (uint)uVar29;\n        dVar24 = (double)__floatundidf(iVar14,uVar5);\n        if (((in_a3 & 3) == 0) && (dVar23 != dVar24)) {\n          dVar24 = (double)__floatundidf((uint)(uVar5 + 1 < uVar5) + iVar14);\n        }\n      }\n      (*(code *)PTR___sprintf_chk_00049454)(in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar24);\n      iVar14 = -1;\n      uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);\n      uVar5 = uVar8;\n    }\n    else {\n      iVar14 = 0;\n      dVar24 = (double)uVar17;\n      do {\n        dVar25 = dVar24;\n        dVar24 = dVar25 * (double)uVar17;\n        iVar14 = iVar14 + 1;\n        if (dVar23 < dVar24) break;\n      } while (iVar14 != 8);\n      dVar23 = dVar23 / dVar25;\n      uVar7 = (uVar11 == 0) + 1 + local_70 + 1;\n      if (uVar5 == 1) {\n        (*(code *)PTR___sprintf_chk_00049454)(in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar23);\n        uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);\n        if (uVar8 <= uVar7) goto LAB_0002232c;\n        dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        dVar24 = dVar23 * dVar25;\n      }\n      else {\n        dVar24 = dVar23;\n        if (dVar23 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar26 = __fixunsdfdi(dVar23);\n          dVar24 = dVar23;\n          dVar23 = (double)__floatundidf((int)((ulonglong)lVar26 >> 0x20),(int)lVar26);\n          if ((uVar5 == 0) && (dVar24 != dVar23)) {\n            dVar23 = (double)__floatundidf((int)((ulonglong)(lVar26 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar23);\n        uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);\n        dVar23 = dVar24;\n        if (uVar7 < uVar8) {\n          dVar24 = dVar24 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((in_a3 & 8) == 0) || (*(char *)(in_a2 + uVar8 + -1) != '0')) {\n            uVar5 = uVar8 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar24 = dVar23 * dVar25;\n          puVar21 = PTR_LAB_00049218;\n          if (uVar5 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar24 < *(double *)(puVar21 + 0x6760)) {\n          lVar26 = __fixunsdfdi(dVar24);\n          dVar23 = (double)__floatundidf((int)((ulonglong)lVar26 >> 0x20),(int)lVar26);\n          if ((uVar5 == 0) && (dVar23 != dVar24)) {\n            dVar23 = (double)__floatundidf((int)((ulonglong)(lVar26 + 1) >> 0x20));\n          }\n          dVar24 = dVar23;\n          dVar25 = *(double *)(puVar2 + 0x6768);\n        }\n      }\nLAB_0002207c:\n      (*(code *)PTR___sprintf_chk_00049454)\n                (in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar24 / dVar25);\n      uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);\n      uVar5 = uVar8;\n    }\nLAB_00021d4c:\n    pcVar20 = local_88 + -uVar8;\n    (*(code *)PTR_memmove_00049610)(pcVar20,in_a2,uVar8);\n    pcVar16 = pcVar20 + uVar5;\n  }\n  if ((in_a3 & 4) != 0) {\n    uVar7 = (int)pcVar16 - (int)pcVar20;\n    iVar9 = (*(code *)PTR_strlen_0004953c)(local_7c);\n    (*(code *)PTR___memcpy_chk_00049558)(buf_1,pcVar20,uVar7,0x29);\n    uVar5 = 0xffffffff;\n    while( true ) {\n      uVar8 = (uint)*pbVar18;\n      if (uVar8 != 0) {\n        uVar5 = uVar8;\n        if (0x7e < uVar8) {\n          uVar5 = uVar7;\n        }\n        pbVar18 = pbVar18 + 1;\n      }\n      if (uVar7 < uVar5) break;\n      uVar7 = uVar7 - uVar5;\n      pcVar20 = pcVar16 + -uVar5;\n      (*(code *)PTR_memcpy_00049600)(pcVar20,buf_1 + uVar7,uVar5);\n      if (uVar7 == 0) goto LAB_00021d7c;\n      pcVar16 = pcVar20 + -iVar9;\n      (*(code *)PTR_memcpy_00049600)(pcVar16,local_7c,iVar9);\n    }\n    pcVar20 = pcVar16 + -uVar7;\n    (*(code *)PTR_memcpy_00049600)(pcVar20,buf_1,uVar7);\n  }\nLAB_00021d7c:\n  if ((in_a3 & 0x80) == 0) goto LAB_00021da4;\n  if ((iVar14 == -1) && ((from_block_size._0_4_ != 0 || (iVar14 = 0, 1 < from_block_size._4_4_)))) {\n    iVar14 = 1;\n    uVar5 = 1;\n    iVar9 = 0;\n    do {\n      uVar30 = (ulonglong)uVar5;\n      uVar5 = (uint)(uVar30 * uVar17);\n      iVar9 = uVar17 * iVar9 + (int)(uVar30 * uVar17 >> 0x20);\n      if (from_block_size <= CONCAT44(iVar9,uVar5)) break;\n      iVar14 = iVar14 + 1;\n    } while (iVar14 != 8);\n    if ((in_a3 & 0x40) != 0) {\nLAB_000221fc:\n      local_88 = (char *)(in_a2 + 0x288);\n      *(undefined1 *)(in_a2 + 0x287) = 0x20;\n      goto LAB_00022208;\n    }\nLAB_00022210:\n    if ((uVar11 == 0) && (iVar14 == 1)) {\n      cVar10 = 'k';\n    }\n    else {\n      cVar10 = PTR_LAB_00049218[iVar14 + 0x6748];\n    }\n    pcVar16 = local_88 + 1;\n    *local_88 = cVar10;\n  }\n  else {\n    if ((in_a3 & 0x100) == 0 && iVar14 == 0) goto LAB_00021da4;\n    if ((in_a3 & 0x40) != 0) goto LAB_000221fc;\nLAB_00022208:\n    pcVar16 = local_88;\n    if (iVar14 != 0) goto LAB_00022210;\n  }\n  local_88 = pcVar16;\n  if ((in_a3 & 0x100) != 0) {\n    pcVar12 = pcVar16 + 1;\n    local_88 = pcVar12;\n    if ((uVar11 != 0) && (iVar14 != 0)) {\n      local_88 = pcVar16 + 2;\n      *pcVar16 = 'i';\n      pcVar16 = pcVar12;\n    }\n    *pcVar16 = 'B';\n  }\nLAB_00021da4:\n  while( true ) {\n    *local_88 = '\0';\n    if (iVar4 == *(int *)puVar3) break;\n    local_88 = (char *)(*(code *)PTR___stack_chk_fail_000495d0)();\n  }\n  return pcVar20;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "char cVar10;" primitive_type identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "uint extraout_v1;" type_identifier identifier ;) (declaration "char extraout_v1_01;" primitive_type identifier ;) (declaration "int extraout_v1_00;" primitive_type identifier ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "int in_a2;" primitive_type identifier ;) (declaration "uint in_a3;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "byte *pbVar18;" type_identifier (pointer_declarator "*pbVar18" * identifier) ;) (declaration "undefined4 uVar19;" type_identifier identifier ;) (declaration "char *pcVar20;" primitive_type (pointer_declarator "*pcVar20" * identifier) ;) (declaration "undefined *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "double dVar23;" primitive_type identifier ;) (declaration "double dVar24;" primitive_type identifier ;) (declaration "double dVar25;" primitive_type identifier ;) (declaration "longlong lVar26;" type_identifier identifier ;) (declaration "ulonglong uVar27;" type_identifier identifier ;) (declaration "longlong lVar28;" type_identifier identifier ;) (declaration "undefined8 uVar29;" type_identifier identifier ;) (declaration "ulonglong uVar30;" type_identifier identifier ;) (declaration "char *local_88;" primitive_type (pointer_declarator "*local_88" * identifier) ;) (declaration "undefined *local_7c;" type_identifier (pointer_declarator "*local_7c" * identifier) ;) (declaration "uint local_70;" type_identifier identifier ;) (declaration "undefined *local_68;" type_identifier (pointer_declarator "*local_68" * identifier) ;) (declaration "char buf_1 [41];" primitive_type (array_declarator "buf_1 [41]" identifier [ number_literal ]) ;) (expression_statement "puVar3 = PTR___stack_chk_guard_000495fc;" (assignment_expression "puVar3 = PTR___stack_chk_guard_000495fc" identifier = identifier) ;) (expression_statement "uVar11 = in_a3 & 0x20;" (assignment_expression "uVar11 = in_a3 & 0x20" identifier = (binary_expression "in_a3 & 0x20" identifier & number_literal)) ;) (expression_statement "uVar17 = 0x400;" (assignment_expression "uVar17 = 0x400" identifier = number_literal) ;) (expression_statement "iVar4 = *(int *)PTR___stack_chk_guard_000495fc;" (assignment_expression "iVar4 = *(int *)PTR___stack_chk_guard_000495fc" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000495fc" * (cast_expression "(int *)PTR___stack_chk_guard_000495fc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar5 = in_a3 & 3;" (assignment_expression "uVar5 = in_a3 & 3" identifier = (binary_expression "in_a3 & 3" identifier & number_literal)) ;) (if_statement "if (uVar11 == 0) {\n    uVar17 = 1000;\n  }" if (parenthesized_expression "(uVar11 == 0)" ( (binary_expression "uVar11 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar17 = 1000;\n  }" { (expression_statement "uVar17 = 1000;" (assignment_expression "uVar17 = 1000" identifier = number_literal) ;) })) (expression_statement "puVar6 = (undefined4 *)(*(code *)PTR_localeconv_000494b4)();" (assignment_expression "puVar6 = (undefined4 *)(*(code *)PTR_localeconv_000494b4)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR_localeconv_000494b4)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_localeconv_000494b4)()" (parenthesized_expression "(*(code *)PTR_localeconv_000494b4)" ( (pointer_expression "*(code *)PTR_localeconv_000494b4" * (cast_expression "(code *)PTR_localeconv_000494b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "local_68 = (undefined *)*puVar6;" (assignment_expression "local_68 = (undefined *)*puVar6" identifier = (cast_expression "(undefined *)*puVar6" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) ;) (expression_statement "local_70 = (*(code *)PTR_strlen_0004953c)(local_68);" (assignment_expression "local_70 = (*(code *)PTR_strlen_0004953c)(local_68)" identifier = (call_expression "(*(code *)PTR_strlen_0004953c)(local_68)" (parenthesized_expression "(*(code *)PTR_strlen_0004953c)" ( (pointer_expression "*(code *)PTR_strlen_0004953c" * (cast_expression "(code *)PTR_strlen_0004953c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_68)" ( identifier )))) ;) (if_statement "if (0xf < local_70 - 1) {\n    local_70 = 1;\n    local_68 = PTR_LAB_00049218 + 0x6104;\n  }" if (parenthesized_expression "(0xf < local_70 - 1)" ( (binary_expression "0xf < local_70 - 1" number_literal < (binary_expression "local_70 - 1" identifier - number_literal)) )) (compound_statement "{\n    local_70 = 1;\n    local_68 = PTR_LAB_00049218 + 0x6104;\n  }" { (expression_statement "local_70 = 1;" (assignment_expression "local_70 = 1" identifier = number_literal) ;) (expression_statement "local_68 = PTR_LAB_00049218 + 0x6104;" (assignment_expression "local_68 = PTR_LAB_00049218 + 0x6104" identifier = (binary_expression "PTR_LAB_00049218 + 0x6104" identifier + number_literal)) ;) })) (expression_statement "local_7c = (undefined *)puVar6[1];" (assignment_expression "local_7c = (undefined *)puVar6[1]" identifier = (cast_expression "(undefined *)puVar6[1]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar6[1]" identifier [ number_literal ]))) ;) (expression_statement "pbVar18 = (byte *)puVar6[2];" (assignment_expression "pbVar18 = (byte *)puVar6[2]" identifier = (cast_expression "(byte *)puVar6[2]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar6[2]" identifier [ number_literal ]))) ;) (expression_statement "uVar7 = (*(code *)PTR_strlen_0004953c)();" (assignment_expression "uVar7 = (*(code *)PTR_strlen_0004953c)()" identifier = (call_expression "(*(code *)PTR_strlen_0004953c)()" (parenthesized_expression "(*(code *)PTR_strlen_0004953c)" ( (pointer_expression "*(code *)PTR_strlen_0004953c" * (cast_expression "(code *)PTR_strlen_0004953c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (if_statement "if (0x10 < uVar7) {\n    local_7c = PTR_LAB_00049218 + 0x7ea8;\n  }" if (parenthesized_expression "(0x10 < uVar7)" ( (binary_expression "0x10 < uVar7" number_literal < identifier) )) (compound_statement "{\n    local_7c = PTR_LAB_00049218 + 0x7ea8;\n  }" { (expression_statement "local_7c = PTR_LAB_00049218 + 0x7ea8;" (assignment_expression "local_7c = PTR_LAB_00049218 + 0x7ea8" identifier = (binary_expression "PTR_LAB_00049218 + 0x7ea8" identifier + number_literal)) ;) })) (expression_statement "local_88 = (char *)(in_a2 + 0x287);" (assignment_expression "local_88 = (char *)(in_a2 + 0x287)" identifier = (cast_expression "(char *)(in_a2 + 0x287)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_a2 + 0x287)" ( (binary_expression "in_a2 + 0x287" identifier + number_literal) )))) ;) (if_statement "if (n < from_block_size) {\n    if ((n == 0) ||\n       (lVar26 = __umoddi3(from_block_size._0_4_,from_block_size._4_4_,n._0_4_,n._4_4_), lVar26 != 0\n       )) goto LAB_00021ca0;\n    uVar27 = __udivdi3(from_block_size._0_4_,from_block_size._4_4_,n._0_4_,n._4_4_);\n    uVar8 = (uint)(uVar27 >> 0x20);\n    uVar13 = (uint)uVar27;\n    uVar29 = __umoddi3(buf,opts,uVar8,uVar13);\n    iVar14 = (int)((ulonglong)uVar29 >> 0x20);\n    uVar7 = (uint)uVar29;\n    uVar22 = uVar7 * 5 >> 0x1f |\n             ((uint)(uVar7 * 5 < uVar7 * 4) + (uVar7 >> 0x1e | iVar14 << 2) + iVar14) * 2;\n    lVar28 = __umoddi3(uVar22,uVar7 * 10,uVar8,uVar13);\n    lVar26 = lVar28 << 1;\n    uVar15 = (uint)((ulonglong)lVar26 >> 0x20);\n    uVar30 = __udivdi3(buf,opts,uVar8,uVar13);\n    __udivdi3(uVar22,uVar7 * 10,uVar8,uVar13);\n    uVar7 = extraout_v1;\n    if ((uVar15 < uVar8) || ((uVar8 == uVar15 && ((uint)lVar26 < uVar13)))) {\n      uVar8 = (uint)(lVar26 != 0);\n    }\n    else if (uVar27 < (ulonglong)(lVar28 << 1)) {\n      uVar8 = 3;\n    }\n    else {\n      uVar8 = 2;\n    }\nLAB_000223b4:\n    pcVar16 = local_88;\n    if ((in_a3 & 0x10) == 0) {\n      iVar14 = -1;\n    }\n    else {\n      iVar14 = 0;\n      if (((int)(uVar30 >> 0x20) != 0) || (uVar17 <= (uint)uVar30)) {\n        iVar14 = 0;\n        do {\n          uVar19 = (undefined4)(uVar30 >> 0x20);\n          __umoddi3(uVar19,(int)uVar30,0,uVar17);\n          uVar13 = extraout_v1_00 * 10 + uVar7;\n          if (uVar17 == 0) {\n            trap(7);\n          }\n          uVar7 = uVar13 / uVar17;\n          uVar15 = (uVar13 % uVar17) * 2 + ((int)uVar8 >> 1);\n          uVar30 = __udivdi3(uVar19,(int)uVar30,0,uVar17);\n          puVar21 = PTR_memcpy_00049600;\n          uVar13 = (uint)uVar30;\n          uVar22 = uVar8 + uVar15;\n          if (uVar15 < uVar17) {\n            uVar8 = (uint)(uVar22 != 0);\n          }\n          else {\n            uVar8 = 2;\n            if (uVar17 < uVar22) {\n              uVar8 = 3;\n            }\n          }\n          iVar14 = iVar14 + 1;\n          if (((int)(uVar30 >> 0x20) == 0) && (uVar13 < uVar17)) {\n            if (uVar13 < 10) {\n              if (uVar5 == 1) {\n                bVar1 = 2 < (uVar7 & 1) + uVar8;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar15 = uVar13 + 1;\n                if (uVar7 == 9) {\n                  bVar1 = uVar15 < uVar13;\n                  uVar30 = (ulonglong)CONCAT14(bVar1,uVar15);\n                  if ((bVar1) || (uVar15 != 10)) {\n                    uVar8 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar8 = 0;\n                  uVar30 = (ulonglong)CONCAT14(bVar1,uVar15);\n                  goto LAB_000226d4;\n                }\n                cVar10 = (char)uVar7 + '1';\nLAB_000226a4:\n                uVar8 = 0;\n                *(char *)(in_a2 + 0x286) = cVar10;\n                pcVar16 = (char *)((in_a2 + 0x286) - local_70);\n                (*(code *)puVar21)(pcVar16,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar8 != 0;\n                if (uVar5 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar10 = (char)uVar7 + '0';\n                if (uVar7 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((in_a3 & 8) == 0) {\n                  cVar10 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar7 = 0;\n              pcVar20 = pcVar16;\n              if (uVar5 != 1) goto LAB_000223ec;\n              goto LAB_00022428;\n            }\n            break;\n          }\n        } while (iVar14 != 8);\n      }\n    }\n    if (uVar5 == 1) {\n      pcVar20 = local_88;\n      if (5 < (int)((((uint)uVar30 & 1) + uVar8 != 0) + uVar7)) goto LAB_000223fc;\nLAB_00022428:\n      do {\n        do {\n          iVar9 = (int)(uVar30 >> 0x20);\n          uVar5 = (uint)uVar30;\n          __umoddi3(iVar9,uVar5,0,10);\n          pcVar20 = pcVar20 + -1;\n          *pcVar20 = extraout_v1_01 + '0';\n          uVar30 = __udivdi3(iVar9,uVar5,0,10);\n        } while (iVar9 != 0);\n      } while (9 < uVar5);\n    }\n    else {\nLAB_000223ec:\n      pcVar20 = pcVar16;\n      if ((uVar5 != 0) || ((int)(uVar7 + uVar8) < 1)) goto LAB_00022428;\nLAB_000223fc:\n      puVar21 = PTR_memcpy_00049600;\n      uVar30 = uVar30 + 1;\n      pcVar20 = pcVar16;\n      if (((in_a3 & 0x10) == 0) ||\n         ((((int)(uVar30 >> 0x20) != 0 || (uVar17 != (uint)uVar30)) || (iVar14 == 8))))\n      goto LAB_00022428;\n      iVar14 = iVar14 + 1;\n      if ((in_a3 & 8) == 0) {\n        pcVar16[-1] = '0';\n        pcVar16 = pcVar16 + ~local_70;\n        (*(code *)puVar21)(pcVar16,local_68);\n      }\n      pcVar20 = pcVar16 + -1;\n      pcVar16[-1] = '1';\n    }\n  }\n  else {\n    lVar26 = __umoddi3(n._0_4_,n._4_4_,from_block_size._0_4_,from_block_size._4_4_);\n    if (lVar26 == 0) {\n      lVar26 = __udivdi3(n._0_4_,n._4_4_,from_block_size._0_4_,from_block_size._4_4_);\n      uVar30 = lVar26 * CONCAT44(buf,opts);\n      lVar26 = __udivdi3((int)(uVar30 >> 0x20),(int)uVar30,(int)((ulonglong)lVar26 >> 0x20));\n      if (lVar26 == CONCAT44(buf,opts)) {\n        uVar8 = 0;\n        uVar7 = 0;\n        goto LAB_000223b4;\n      }\n    }\nLAB_00021ca0:\n    dVar23 = (double)__floatundidf(n._0_4_,n._4_4_);\n    dVar24 = (double)__floatundidf(from_block_size._0_4_,from_block_size._4_4_);\n    dVar23 = dVar23 / dVar24;\n    dVar24 = (double)__floatundidf(buf,opts);\n    puVar21 = PTR_LAB_00049218;\n    dVar23 = dVar23 * dVar24;\n    if ((in_a3 & 0x10) == 0) {\n      dVar24 = dVar23;\n      if (((in_a3 & 3) != 1) && (dVar23 < *(double *)(PTR_LAB_00049218 + 0x6760))) {\n        uVar29 = __fixunsdfdi(dVar23);\n        iVar14 = (int)((ulonglong)uVar29 >> 0x20);\n        uVar5 = (uint)uVar29;\n        dVar24 = (double)__floatundidf(iVar14,uVar5);\n        if (((in_a3 & 3) == 0) && (dVar23 != dVar24)) {\n          dVar24 = (double)__floatundidf((uint)(uVar5 + 1 < uVar5) + iVar14);\n        }\n      }\n      (*(code *)PTR___sprintf_chk_00049454)(in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar24);\n      iVar14 = -1;\n      uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);\n      uVar5 = uVar8;\n    }\n    else {\n      iVar14 = 0;\n      dVar24 = (double)uVar17;\n      do {\n        dVar25 = dVar24;\n        dVar24 = dVar25 * (double)uVar17;\n        iVar14 = iVar14 + 1;\n        if (dVar23 < dVar24) break;\n      } while (iVar14 != 8);\n      dVar23 = dVar23 / dVar25;\n      uVar7 = (uVar11 == 0) + 1 + local_70 + 1;\n      if (uVar5 == 1) {\n        (*(code *)PTR___sprintf_chk_00049454)(in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar23);\n        uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);\n        if (uVar8 <= uVar7) goto LAB_0002232c;\n        dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        dVar24 = dVar23 * dVar25;\n      }\n      else {\n        dVar24 = dVar23;\n        if (dVar23 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar26 = __fixunsdfdi(dVar23);\n          dVar24 = dVar23;\n          dVar23 = (double)__floatundidf((int)((ulonglong)lVar26 >> 0x20),(int)lVar26);\n          if ((uVar5 == 0) && (dVar24 != dVar23)) {\n            dVar23 = (double)__floatundidf((int)((ulonglong)(lVar26 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar23);\n        uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);\n        dVar23 = dVar24;\n        if (uVar7 < uVar8) {\n          dVar24 = dVar24 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((in_a3 & 8) == 0) || (*(char *)(in_a2 + uVar8 + -1) != '0')) {\n            uVar5 = uVar8 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar24 = dVar23 * dVar25;\n          puVar21 = PTR_LAB_00049218;\n          if (uVar5 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar24 < *(double *)(puVar21 + 0x6760)) {\n          lVar26 = __fixunsdfdi(dVar24);\n          dVar23 = (double)__floatundidf((int)((ulonglong)lVar26 >> 0x20),(int)lVar26);\n          if ((uVar5 == 0) && (dVar23 != dVar24)) {\n            dVar23 = (double)__floatundidf((int)((ulonglong)(lVar26 + 1) >> 0x20));\n          }\n          dVar24 = dVar23;\n          dVar25 = *(double *)(puVar2 + 0x6768);\n        }\n      }\nLAB_0002207c:\n      (*(code *)PTR___sprintf_chk_00049454)\n                (in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar24 / dVar25);\n      uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);\n      uVar5 = uVar8;\n    }\nLAB_00021d4c:\n    pcVar20 = local_88 + -uVar8;\n    (*(code *)PTR_memmove_00049610)(pcVar20,in_a2,uVar8);\n    pcVar16 = pcVar20 + uVar5;\n  }" if (parenthesized_expression "(n < from_block_size)" ( (binary_expression "n < from_block_size" identifier < identifier) )) (compound_statement "{\n    if ((n == 0) ||\n       (lVar26 = __umoddi3(from_block_size._0_4_,from_block_size._4_4_,n._0_4_,n._4_4_), lVar26 != 0\n       )) goto LAB_00021ca0;\n    uVar27 = __udivdi3(from_block_size._0_4_,from_block_size._4_4_,n._0_4_,n._4_4_);\n    uVar8 = (uint)(uVar27 >> 0x20);\n    uVar13 = (uint)uVar27;\n    uVar29 = __umoddi3(buf,opts,uVar8,uVar13);\n    iVar14 = (int)((ulonglong)uVar29 >> 0x20);\n    uVar7 = (uint)uVar29;\n    uVar22 = uVar7 * 5 >> 0x1f |\n             ((uint)(uVar7 * 5 < uVar7 * 4) + (uVar7 >> 0x1e | iVar14 << 2) + iVar14) * 2;\n    lVar28 = __umoddi3(uVar22,uVar7 * 10,uVar8,uVar13);\n    lVar26 = lVar28 << 1;\n    uVar15 = (uint)((ulonglong)lVar26 >> 0x20);\n    uVar30 = __udivdi3(buf,opts,uVar8,uVar13);\n    __udivdi3(uVar22,uVar7 * 10,uVar8,uVar13);\n    uVar7 = extraout_v1;\n    if ((uVar15 < uVar8) || ((uVar8 == uVar15 && ((uint)lVar26 < uVar13)))) {\n      uVar8 = (uint)(lVar26 != 0);\n    }\n    else if (uVar27 < (ulonglong)(lVar28 << 1)) {\n      uVar8 = 3;\n    }\n    else {\n      uVar8 = 2;\n    }\nLAB_000223b4:\n    pcVar16 = local_88;\n    if ((in_a3 & 0x10) == 0) {\n      iVar14 = -1;\n    }\n    else {\n      iVar14 = 0;\n      if (((int)(uVar30 >> 0x20) != 0) || (uVar17 <= (uint)uVar30)) {\n        iVar14 = 0;\n        do {\n          uVar19 = (undefined4)(uVar30 >> 0x20);\n          __umoddi3(uVar19,(int)uVar30,0,uVar17);\n          uVar13 = extraout_v1_00 * 10 + uVar7;\n          if (uVar17 == 0) {\n            trap(7);\n          }\n          uVar7 = uVar13 / uVar17;\n          uVar15 = (uVar13 % uVar17) * 2 + ((int)uVar8 >> 1);\n          uVar30 = __udivdi3(uVar19,(int)uVar30,0,uVar17);\n          puVar21 = PTR_memcpy_00049600;\n          uVar13 = (uint)uVar30;\n          uVar22 = uVar8 + uVar15;\n          if (uVar15 < uVar17) {\n            uVar8 = (uint)(uVar22 != 0);\n          }\n          else {\n            uVar8 = 2;\n            if (uVar17 < uVar22) {\n              uVar8 = 3;\n            }\n          }\n          iVar14 = iVar14 + 1;\n          if (((int)(uVar30 >> 0x20) == 0) && (uVar13 < uVar17)) {\n            if (uVar13 < 10) {\n              if (uVar5 == 1) {\n                bVar1 = 2 < (uVar7 & 1) + uVar8;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar15 = uVar13 + 1;\n                if (uVar7 == 9) {\n                  bVar1 = uVar15 < uVar13;\n                  uVar30 = (ulonglong)CONCAT14(bVar1,uVar15);\n                  if ((bVar1) || (uVar15 != 10)) {\n                    uVar8 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar8 = 0;\n                  uVar30 = (ulonglong)CONCAT14(bVar1,uVar15);\n                  goto LAB_000226d4;\n                }\n                cVar10 = (char)uVar7 + '1';\nLAB_000226a4:\n                uVar8 = 0;\n                *(char *)(in_a2 + 0x286) = cVar10;\n                pcVar16 = (char *)((in_a2 + 0x286) - local_70);\n                (*(code *)puVar21)(pcVar16,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar8 != 0;\n                if (uVar5 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar10 = (char)uVar7 + '0';\n                if (uVar7 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((in_a3 & 8) == 0) {\n                  cVar10 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar7 = 0;\n              pcVar20 = pcVar16;\n              if (uVar5 != 1) goto LAB_000223ec;\n              goto LAB_00022428;\n            }\n            break;\n          }\n        } while (iVar14 != 8);\n      }\n    }\n    if (uVar5 == 1) {\n      pcVar20 = local_88;\n      if (5 < (int)((((uint)uVar30 & 1) + uVar8 != 0) + uVar7)) goto LAB_000223fc;\nLAB_00022428:\n      do {\n        do {\n          iVar9 = (int)(uVar30 >> 0x20);\n          uVar5 = (uint)uVar30;\n          __umoddi3(iVar9,uVar5,0,10);\n          pcVar20 = pcVar20 + -1;\n          *pcVar20 = extraout_v1_01 + '0';\n          uVar30 = __udivdi3(iVar9,uVar5,0,10);\n        } while (iVar9 != 0);\n      } while (9 < uVar5);\n    }\n    else {\nLAB_000223ec:\n      pcVar20 = pcVar16;\n      if ((uVar5 != 0) || ((int)(uVar7 + uVar8) < 1)) goto LAB_00022428;\nLAB_000223fc:\n      puVar21 = PTR_memcpy_00049600;\n      uVar30 = uVar30 + 1;\n      pcVar20 = pcVar16;\n      if (((in_a3 & 0x10) == 0) ||\n         ((((int)(uVar30 >> 0x20) != 0 || (uVar17 != (uint)uVar30)) || (iVar14 == 8))))\n      goto LAB_00022428;\n      iVar14 = iVar14 + 1;\n      if ((in_a3 & 8) == 0) {\n        pcVar16[-1] = '0';\n        pcVar16 = pcVar16 + ~local_70;\n        (*(code *)puVar21)(pcVar16,local_68);\n      }\n      pcVar20 = pcVar16 + -1;\n      pcVar16[-1] = '1';\n    }\n  }" { (if_statement "if ((n == 0) ||\n       (lVar26 = __umoddi3(from_block_size._0_4_,from_block_size._4_4_,n._0_4_,n._4_4_), lVar26 != 0\n       )) goto LAB_00021ca0;" if (parenthesized_expression "((n == 0) ||\n       (lVar26 = __umoddi3(from_block_size._0_4_,from_block_size._4_4_,n._0_4_,n._4_4_), lVar26 != 0\n       ))" ( (binary_expression "(n == 0) ||\n       (lVar26 = __umoddi3(from_block_size._0_4_,from_block_size._4_4_,n._0_4_,n._4_4_), lVar26 != 0\n       )" (parenthesized_expression "(n == 0)" ( (binary_expression "n == 0" identifier == number_literal) )) || (parenthesized_expression "(lVar26 = __umoddi3(from_block_size._0_4_,from_block_size._4_4_,n._0_4_,n._4_4_), lVar26 != 0\n       )" ( (comma_expression "lVar26 = __umoddi3(from_block_size._0_4_,from_block_size._4_4_,n._0_4_,n._4_4_), lVar26 != 0" (assignment_expression "lVar26 = __umoddi3(from_block_size._0_4_,from_block_size._4_4_,n._0_4_,n._4_4_)" identifier = (call_expression "__umoddi3(from_block_size._0_4_,from_block_size._4_4_,n._0_4_,n._4_4_)" identifier (argument_list "(from_block_size._0_4_,from_block_size._4_4_,n._0_4_,n._4_4_)" ( (field_expression "from_block_size._0_4_" identifier . field_identifier) , (field_expression "from_block_size._4_4_" identifier . field_identifier) , (field_expression "n._0_4_" identifier . field_identifier) , (field_expression "n._4_4_" identifier . field_identifier) )))) , (binary_expression "lVar26 != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_00021ca0;" goto statement_identifier ;)) (expression_statement "uVar27 = __udivdi3(from_block_size._0_4_,from_block_size._4_4_,n._0_4_,n._4_4_);" (assignment_expression "uVar27 = __udivdi3(from_block_size._0_4_,from_block_size._4_4_,n._0_4_,n._4_4_)" identifier = (call_expression "__udivdi3(from_block_size._0_4_,from_block_size._4_4_,n._0_4_,n._4_4_)" identifier (argument_list "(from_block_size._0_4_,from_block_size._4_4_,n._0_4_,n._4_4_)" ( (field_expression "from_block_size._0_4_" identifier . field_identifier) , (field_expression "from_block_size._4_4_" identifier . field_identifier) , (field_expression "n._0_4_" identifier . field_identifier) , (field_expression "n._4_4_" identifier . field_identifier) )))) ;) (expression_statement "uVar8 = (uint)(uVar27 >> 0x20);" (assignment_expression "uVar8 = (uint)(uVar27 >> 0x20)" identifier = (call_expression "(uint)(uVar27 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar27 >> 0x20)" ( (binary_expression "uVar27 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "uVar13 = (uint)uVar27;" (assignment_expression "uVar13 = (uint)uVar27" identifier = (cast_expression "(uint)uVar27" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar29 = __umoddi3(buf,opts,uVar8,uVar13);" (assignment_expression "uVar29 = __umoddi3(buf,opts,uVar8,uVar13)" identifier = (call_expression "__umoddi3(buf,opts,uVar8,uVar13)" identifier (argument_list "(buf,opts,uVar8,uVar13)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "iVar14 = (int)((ulonglong)uVar29 >> 0x20);" (assignment_expression "iVar14 = (int)((ulonglong)uVar29 >> 0x20)" identifier = (cast_expression "(int)((ulonglong)uVar29 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar29 >> 0x20)" ( (binary_expression "(ulonglong)uVar29 >> 0x20" (cast_expression "(ulonglong)uVar29" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar7 = (uint)uVar29;" (assignment_expression "uVar7 = (uint)uVar29" identifier = (cast_expression "(uint)uVar29" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar22 = uVar7 * 5 >> 0x1f |\n             ((uint)(uVar7 * 5 < uVar7 * 4) + (uVar7 >> 0x1e | iVar14 << 2) + iVar14) * 2;" (assignment_expression "uVar22 = uVar7 * 5 >> 0x1f |\n             ((uint)(uVar7 * 5 < uVar7 * 4) + (uVar7 >> 0x1e | iVar14 << 2) + iVar14) * 2" identifier = (binary_expression "uVar7 * 5 >> 0x1f |\n             ((uint)(uVar7 * 5 < uVar7 * 4) + (uVar7 >> 0x1e | iVar14 << 2) + iVar14) * 2" (binary_expression "uVar7 * 5 >> 0x1f" (binary_expression "uVar7 * 5" identifier * number_literal) >> number_literal) | (binary_expression "((uint)(uVar7 * 5 < uVar7 * 4) + (uVar7 >> 0x1e | iVar14 << 2) + iVar14) * 2" (parenthesized_expression "((uint)(uVar7 * 5 < uVar7 * 4) + (uVar7 >> 0x1e | iVar14 << 2) + iVar14)" ( (binary_expression "(uint)(uVar7 * 5 < uVar7 * 4) + (uVar7 >> 0x1e | iVar14 << 2) + iVar14" (binary_expression "(uint)(uVar7 * 5 < uVar7 * 4) + (uVar7 >> 0x1e | iVar14 << 2)" (call_expression "(uint)(uVar7 * 5 < uVar7 * 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 * 5 < uVar7 * 4)" ( (binary_expression "uVar7 * 5 < uVar7 * 4" (binary_expression "uVar7 * 5" identifier * number_literal) < (binary_expression "uVar7 * 4" identifier * number_literal)) ))) + (parenthesized_expression "(uVar7 >> 0x1e | iVar14 << 2)" ( (binary_expression "uVar7 >> 0x1e | iVar14 << 2" (binary_expression "uVar7 >> 0x1e" identifier >> number_literal) | (binary_expression "iVar14 << 2" identifier << number_literal)) ))) + identifier) )) * number_literal))) ;) (expression_statement "lVar28 = __umoddi3(uVar22,uVar7 * 10,uVar8,uVar13);" (assignment_expression "lVar28 = __umoddi3(uVar22,uVar7 * 10,uVar8,uVar13)" identifier = (call_expression "__umoddi3(uVar22,uVar7 * 10,uVar8,uVar13)" identifier (argument_list "(uVar22,uVar7 * 10,uVar8,uVar13)" ( identifier , (binary_expression "uVar7 * 10" identifier * number_literal) , identifier , identifier )))) ;) (expression_statement "lVar26 = lVar28 << 1;" (assignment_expression "lVar26 = lVar28 << 1" identifier = (binary_expression "lVar28 << 1" identifier << number_literal)) ;) (expression_statement "uVar15 = (uint)((ulonglong)lVar26 >> 0x20);" (assignment_expression "uVar15 = (uint)((ulonglong)lVar26 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)lVar26 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar26 >> 0x20)" ( (binary_expression "(ulonglong)lVar26 >> 0x20" (cast_expression "(ulonglong)lVar26" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar30 = __udivdi3(buf,opts,uVar8,uVar13);" (assignment_expression "uVar30 = __udivdi3(buf,opts,uVar8,uVar13)" identifier = (call_expression "__udivdi3(buf,opts,uVar8,uVar13)" identifier (argument_list "(buf,opts,uVar8,uVar13)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "__udivdi3(uVar22,uVar7 * 10,uVar8,uVar13);" (call_expression "__udivdi3(uVar22,uVar7 * 10,uVar8,uVar13)" identifier (argument_list "(uVar22,uVar7 * 10,uVar8,uVar13)" ( identifier , (binary_expression "uVar7 * 10" identifier * number_literal) , identifier , identifier ))) ;) (expression_statement "uVar7 = extraout_v1;" (assignment_expression "uVar7 = extraout_v1" identifier = identifier) ;) (if_statement "if ((uVar15 < uVar8) || ((uVar8 == uVar15 && ((uint)lVar26 < uVar13)))) {\n      uVar8 = (uint)(lVar26 != 0);\n    }\n    else if (uVar27 < (ulonglong)(lVar28 << 1)) {\n      uVar8 = 3;\n    }\n    else {\n      uVar8 = 2;\n    }" if (parenthesized_expression "((uVar15 < uVar8) || ((uVar8 == uVar15 && ((uint)lVar26 < uVar13))))" ( (binary_expression "(uVar15 < uVar8) || ((uVar8 == uVar15 && ((uint)lVar26 < uVar13)))" (parenthesized_expression "(uVar15 < uVar8)" ( (binary_expression "uVar15 < uVar8" identifier < identifier) )) || (parenthesized_expression "((uVar8 == uVar15 && ((uint)lVar26 < uVar13)))" ( (parenthesized_expression "(uVar8 == uVar15 && ((uint)lVar26 < uVar13))" ( (binary_expression "uVar8 == uVar15 && ((uint)lVar26 < uVar13)" (binary_expression "uVar8 == uVar15" identifier == identifier) && (parenthesized_expression "((uint)lVar26 < uVar13)" ( (binary_expression "(uint)lVar26 < uVar13" (cast_expression "(uint)lVar26" ( (type_descriptor "uint" type_identifier) ) identifier) < identifier) ))) )) ))) )) (compound_statement "{\n      uVar8 = (uint)(lVar26 != 0);\n    }" { (expression_statement "uVar8 = (uint)(lVar26 != 0);" (assignment_expression "uVar8 = (uint)(lVar26 != 0)" identifier = (call_expression "(uint)(lVar26 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(lVar26 != 0)" ( (binary_expression "lVar26 != 0" identifier != number_literal) )))) ;) }) (else_clause "else if (uVar27 < (ulonglong)(lVar28 << 1)) {\n      uVar8 = 3;\n    }\n    else {\n      uVar8 = 2;\n    }" else (if_statement "if (uVar27 < (ulonglong)(lVar28 << 1)) {\n      uVar8 = 3;\n    }\n    else {\n      uVar8 = 2;\n    }" if (parenthesized_expression "(uVar27 < (ulonglong)(lVar28 << 1))" ( (binary_expression "uVar27 < (ulonglong)(lVar28 << 1)" identifier < (call_expression "(ulonglong)(lVar28 << 1)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(lVar28 << 1)" ( (binary_expression "lVar28 << 1" identifier << number_literal) )))) )) (compound_statement "{\n      uVar8 = 3;\n    }" { (expression_statement "uVar8 = 3;" (assignment_expression "uVar8 = 3" identifier = number_literal) ;) }) (else_clause "else {\n      uVar8 = 2;\n    }" else (compound_statement "{\n      uVar8 = 2;\n    }" { (expression_statement "uVar8 = 2;" (assignment_expression "uVar8 = 2" identifier = number_literal) ;) }))))) (labeled_statement "LAB_000223b4:\n    pcVar16 = local_88;" statement_identifier : (expression_statement "pcVar16 = local_88;" (assignment_expression "pcVar16 = local_88" identifier = identifier) ;)) (if_statement "if ((in_a3 & 0x10) == 0) {\n      iVar14 = -1;\n    }\n    else {\n      iVar14 = 0;\n      if (((int)(uVar30 >> 0x20) != 0) || (uVar17 <= (uint)uVar30)) {\n        iVar14 = 0;\n        do {\n          uVar19 = (undefined4)(uVar30 >> 0x20);\n          __umoddi3(uVar19,(int)uVar30,0,uVar17);\n          uVar13 = extraout_v1_00 * 10 + uVar7;\n          if (uVar17 == 0) {\n            trap(7);\n          }\n          uVar7 = uVar13 / uVar17;\n          uVar15 = (uVar13 % uVar17) * 2 + ((int)uVar8 >> 1);\n          uVar30 = __udivdi3(uVar19,(int)uVar30,0,uVar17);\n          puVar21 = PTR_memcpy_00049600;\n          uVar13 = (uint)uVar30;\n          uVar22 = uVar8 + uVar15;\n          if (uVar15 < uVar17) {\n            uVar8 = (uint)(uVar22 != 0);\n          }\n          else {\n            uVar8 = 2;\n            if (uVar17 < uVar22) {\n              uVar8 = 3;\n            }\n          }\n          iVar14 = iVar14 + 1;\n          if (((int)(uVar30 >> 0x20) == 0) && (uVar13 < uVar17)) {\n            if (uVar13 < 10) {\n              if (uVar5 == 1) {\n                bVar1 = 2 < (uVar7 & 1) + uVar8;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar15 = uVar13 + 1;\n                if (uVar7 == 9) {\n                  bVar1 = uVar15 < uVar13;\n                  uVar30 = (ulonglong)CONCAT14(bVar1,uVar15);\n                  if ((bVar1) || (uVar15 != 10)) {\n                    uVar8 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar8 = 0;\n                  uVar30 = (ulonglong)CONCAT14(bVar1,uVar15);\n                  goto LAB_000226d4;\n                }\n                cVar10 = (char)uVar7 + '1';\nLAB_000226a4:\n                uVar8 = 0;\n                *(char *)(in_a2 + 0x286) = cVar10;\n                pcVar16 = (char *)((in_a2 + 0x286) - local_70);\n                (*(code *)puVar21)(pcVar16,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar8 != 0;\n                if (uVar5 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar10 = (char)uVar7 + '0';\n                if (uVar7 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((in_a3 & 8) == 0) {\n                  cVar10 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar7 = 0;\n              pcVar20 = pcVar16;\n              if (uVar5 != 1) goto LAB_000223ec;\n              goto LAB_00022428;\n            }\n            break;\n          }\n        } while (iVar14 != 8);\n      }\n    }" if (parenthesized_expression "((in_a3 & 0x10) == 0)" ( (binary_expression "(in_a3 & 0x10) == 0" (parenthesized_expression "(in_a3 & 0x10)" ( (binary_expression "in_a3 & 0x10" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      iVar14 = -1;\n    }" { (expression_statement "iVar14 = -1;" (assignment_expression "iVar14 = -1" identifier = number_literal) ;) }) (else_clause "else {\n      iVar14 = 0;\n      if (((int)(uVar30 >> 0x20) != 0) || (uVar17 <= (uint)uVar30)) {\n        iVar14 = 0;\n        do {\n          uVar19 = (undefined4)(uVar30 >> 0x20);\n          __umoddi3(uVar19,(int)uVar30,0,uVar17);\n          uVar13 = extraout_v1_00 * 10 + uVar7;\n          if (uVar17 == 0) {\n            trap(7);\n          }\n          uVar7 = uVar13 / uVar17;\n          uVar15 = (uVar13 % uVar17) * 2 + ((int)uVar8 >> 1);\n          uVar30 = __udivdi3(uVar19,(int)uVar30,0,uVar17);\n          puVar21 = PTR_memcpy_00049600;\n          uVar13 = (uint)uVar30;\n          uVar22 = uVar8 + uVar15;\n          if (uVar15 < uVar17) {\n            uVar8 = (uint)(uVar22 != 0);\n          }\n          else {\n            uVar8 = 2;\n            if (uVar17 < uVar22) {\n              uVar8 = 3;\n            }\n          }\n          iVar14 = iVar14 + 1;\n          if (((int)(uVar30 >> 0x20) == 0) && (uVar13 < uVar17)) {\n            if (uVar13 < 10) {\n              if (uVar5 == 1) {\n                bVar1 = 2 < (uVar7 & 1) + uVar8;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar15 = uVar13 + 1;\n                if (uVar7 == 9) {\n                  bVar1 = uVar15 < uVar13;\n                  uVar30 = (ulonglong)CONCAT14(bVar1,uVar15);\n                  if ((bVar1) || (uVar15 != 10)) {\n                    uVar8 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar8 = 0;\n                  uVar30 = (ulonglong)CONCAT14(bVar1,uVar15);\n                  goto LAB_000226d4;\n                }\n                cVar10 = (char)uVar7 + '1';\nLAB_000226a4:\n                uVar8 = 0;\n                *(char *)(in_a2 + 0x286) = cVar10;\n                pcVar16 = (char *)((in_a2 + 0x286) - local_70);\n                (*(code *)puVar21)(pcVar16,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar8 != 0;\n                if (uVar5 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar10 = (char)uVar7 + '0';\n                if (uVar7 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((in_a3 & 8) == 0) {\n                  cVar10 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar7 = 0;\n              pcVar20 = pcVar16;\n              if (uVar5 != 1) goto LAB_000223ec;\n              goto LAB_00022428;\n            }\n            break;\n          }\n        } while (iVar14 != 8);\n      }\n    }" else (compound_statement "{\n      iVar14 = 0;\n      if (((int)(uVar30 >> 0x20) != 0) || (uVar17 <= (uint)uVar30)) {\n        iVar14 = 0;\n        do {\n          uVar19 = (undefined4)(uVar30 >> 0x20);\n          __umoddi3(uVar19,(int)uVar30,0,uVar17);\n          uVar13 = extraout_v1_00 * 10 + uVar7;\n          if (uVar17 == 0) {\n            trap(7);\n          }\n          uVar7 = uVar13 / uVar17;\n          uVar15 = (uVar13 % uVar17) * 2 + ((int)uVar8 >> 1);\n          uVar30 = __udivdi3(uVar19,(int)uVar30,0,uVar17);\n          puVar21 = PTR_memcpy_00049600;\n          uVar13 = (uint)uVar30;\n          uVar22 = uVar8 + uVar15;\n          if (uVar15 < uVar17) {\n            uVar8 = (uint)(uVar22 != 0);\n          }\n          else {\n            uVar8 = 2;\n            if (uVar17 < uVar22) {\n              uVar8 = 3;\n            }\n          }\n          iVar14 = iVar14 + 1;\n          if (((int)(uVar30 >> 0x20) == 0) && (uVar13 < uVar17)) {\n            if (uVar13 < 10) {\n              if (uVar5 == 1) {\n                bVar1 = 2 < (uVar7 & 1) + uVar8;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar15 = uVar13 + 1;\n                if (uVar7 == 9) {\n                  bVar1 = uVar15 < uVar13;\n                  uVar30 = (ulonglong)CONCAT14(bVar1,uVar15);\n                  if ((bVar1) || (uVar15 != 10)) {\n                    uVar8 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar8 = 0;\n                  uVar30 = (ulonglong)CONCAT14(bVar1,uVar15);\n                  goto LAB_000226d4;\n                }\n                cVar10 = (char)uVar7 + '1';\nLAB_000226a4:\n                uVar8 = 0;\n                *(char *)(in_a2 + 0x286) = cVar10;\n                pcVar16 = (char *)((in_a2 + 0x286) - local_70);\n                (*(code *)puVar21)(pcVar16,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar8 != 0;\n                if (uVar5 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar10 = (char)uVar7 + '0';\n                if (uVar7 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((in_a3 & 8) == 0) {\n                  cVar10 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar7 = 0;\n              pcVar20 = pcVar16;\n              if (uVar5 != 1) goto LAB_000223ec;\n              goto LAB_00022428;\n            }\n            break;\n          }\n        } while (iVar14 != 8);\n      }\n    }" { (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (if_statement "if (((int)(uVar30 >> 0x20) != 0) || (uVar17 <= (uint)uVar30)) {\n        iVar14 = 0;\n        do {\n          uVar19 = (undefined4)(uVar30 >> 0x20);\n          __umoddi3(uVar19,(int)uVar30,0,uVar17);\n          uVar13 = extraout_v1_00 * 10 + uVar7;\n          if (uVar17 == 0) {\n            trap(7);\n          }\n          uVar7 = uVar13 / uVar17;\n          uVar15 = (uVar13 % uVar17) * 2 + ((int)uVar8 >> 1);\n          uVar30 = __udivdi3(uVar19,(int)uVar30,0,uVar17);\n          puVar21 = PTR_memcpy_00049600;\n          uVar13 = (uint)uVar30;\n          uVar22 = uVar8 + uVar15;\n          if (uVar15 < uVar17) {\n            uVar8 = (uint)(uVar22 != 0);\n          }\n          else {\n            uVar8 = 2;\n            if (uVar17 < uVar22) {\n              uVar8 = 3;\n            }\n          }\n          iVar14 = iVar14 + 1;\n          if (((int)(uVar30 >> 0x20) == 0) && (uVar13 < uVar17)) {\n            if (uVar13 < 10) {\n              if (uVar5 == 1) {\n                bVar1 = 2 < (uVar7 & 1) + uVar8;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar15 = uVar13 + 1;\n                if (uVar7 == 9) {\n                  bVar1 = uVar15 < uVar13;\n                  uVar30 = (ulonglong)CONCAT14(bVar1,uVar15);\n                  if ((bVar1) || (uVar15 != 10)) {\n                    uVar8 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar8 = 0;\n                  uVar30 = (ulonglong)CONCAT14(bVar1,uVar15);\n                  goto LAB_000226d4;\n                }\n                cVar10 = (char)uVar7 + '1';\nLAB_000226a4:\n                uVar8 = 0;\n                *(char *)(in_a2 + 0x286) = cVar10;\n                pcVar16 = (char *)((in_a2 + 0x286) - local_70);\n                (*(code *)puVar21)(pcVar16,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar8 != 0;\n                if (uVar5 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar10 = (char)uVar7 + '0';\n                if (uVar7 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((in_a3 & 8) == 0) {\n                  cVar10 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar7 = 0;\n              pcVar20 = pcVar16;\n              if (uVar5 != 1) goto LAB_000223ec;\n              goto LAB_00022428;\n            }\n            break;\n          }\n        } while (iVar14 != 8);\n      }" if (parenthesized_expression "(((int)(uVar30 >> 0x20) != 0) || (uVar17 <= (uint)uVar30))" ( (binary_expression "((int)(uVar30 >> 0x20) != 0) || (uVar17 <= (uint)uVar30)" (parenthesized_expression "((int)(uVar30 >> 0x20) != 0)" ( (binary_expression "(int)(uVar30 >> 0x20) != 0" (cast_expression "(int)(uVar30 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar30 >> 0x20)" ( (binary_expression "uVar30 >> 0x20" identifier >> number_literal) ))) != number_literal) )) || (parenthesized_expression "(uVar17 <= (uint)uVar30)" ( (binary_expression "uVar17 <= (uint)uVar30" identifier <= (cast_expression "(uint)uVar30" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) )) (compound_statement "{\n        iVar14 = 0;\n        do {\n          uVar19 = (undefined4)(uVar30 >> 0x20);\n          __umoddi3(uVar19,(int)uVar30,0,uVar17);\n          uVar13 = extraout_v1_00 * 10 + uVar7;\n          if (uVar17 == 0) {\n            trap(7);\n          }\n          uVar7 = uVar13 / uVar17;\n          uVar15 = (uVar13 % uVar17) * 2 + ((int)uVar8 >> 1);\n          uVar30 = __udivdi3(uVar19,(int)uVar30,0,uVar17);\n          puVar21 = PTR_memcpy_00049600;\n          uVar13 = (uint)uVar30;\n          uVar22 = uVar8 + uVar15;\n          if (uVar15 < uVar17) {\n            uVar8 = (uint)(uVar22 != 0);\n          }\n          else {\n            uVar8 = 2;\n            if (uVar17 < uVar22) {\n              uVar8 = 3;\n            }\n          }\n          iVar14 = iVar14 + 1;\n          if (((int)(uVar30 >> 0x20) == 0) && (uVar13 < uVar17)) {\n            if (uVar13 < 10) {\n              if (uVar5 == 1) {\n                bVar1 = 2 < (uVar7 & 1) + uVar8;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar15 = uVar13 + 1;\n                if (uVar7 == 9) {\n                  bVar1 = uVar15 < uVar13;\n                  uVar30 = (ulonglong)CONCAT14(bVar1,uVar15);\n                  if ((bVar1) || (uVar15 != 10)) {\n                    uVar8 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar8 = 0;\n                  uVar30 = (ulonglong)CONCAT14(bVar1,uVar15);\n                  goto LAB_000226d4;\n                }\n                cVar10 = (char)uVar7 + '1';\nLAB_000226a4:\n                uVar8 = 0;\n                *(char *)(in_a2 + 0x286) = cVar10;\n                pcVar16 = (char *)((in_a2 + 0x286) - local_70);\n                (*(code *)puVar21)(pcVar16,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar8 != 0;\n                if (uVar5 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar10 = (char)uVar7 + '0';\n                if (uVar7 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((in_a3 & 8) == 0) {\n                  cVar10 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar7 = 0;\n              pcVar20 = pcVar16;\n              if (uVar5 != 1) goto LAB_000223ec;\n              goto LAB_00022428;\n            }\n            break;\n          }\n        } while (iVar14 != 8);\n      }" { (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (do_statement "do {\n          uVar19 = (undefined4)(uVar30 >> 0x20);\n          __umoddi3(uVar19,(int)uVar30,0,uVar17);\n          uVar13 = extraout_v1_00 * 10 + uVar7;\n          if (uVar17 == 0) {\n            trap(7);\n          }\n          uVar7 = uVar13 / uVar17;\n          uVar15 = (uVar13 % uVar17) * 2 + ((int)uVar8 >> 1);\n          uVar30 = __udivdi3(uVar19,(int)uVar30,0,uVar17);\n          puVar21 = PTR_memcpy_00049600;\n          uVar13 = (uint)uVar30;\n          uVar22 = uVar8 + uVar15;\n          if (uVar15 < uVar17) {\n            uVar8 = (uint)(uVar22 != 0);\n          }\n          else {\n            uVar8 = 2;\n            if (uVar17 < uVar22) {\n              uVar8 = 3;\n            }\n          }\n          iVar14 = iVar14 + 1;\n          if (((int)(uVar30 >> 0x20) == 0) && (uVar13 < uVar17)) {\n            if (uVar13 < 10) {\n              if (uVar5 == 1) {\n                bVar1 = 2 < (uVar7 & 1) + uVar8;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar15 = uVar13 + 1;\n                if (uVar7 == 9) {\n                  bVar1 = uVar15 < uVar13;\n                  uVar30 = (ulonglong)CONCAT14(bVar1,uVar15);\n                  if ((bVar1) || (uVar15 != 10)) {\n                    uVar8 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar8 = 0;\n                  uVar30 = (ulonglong)CONCAT14(bVar1,uVar15);\n                  goto LAB_000226d4;\n                }\n                cVar10 = (char)uVar7 + '1';\nLAB_000226a4:\n                uVar8 = 0;\n                *(char *)(in_a2 + 0x286) = cVar10;\n                pcVar16 = (char *)((in_a2 + 0x286) - local_70);\n                (*(code *)puVar21)(pcVar16,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar8 != 0;\n                if (uVar5 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar10 = (char)uVar7 + '0';\n                if (uVar7 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((in_a3 & 8) == 0) {\n                  cVar10 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar7 = 0;\n              pcVar20 = pcVar16;\n              if (uVar5 != 1) goto LAB_000223ec;\n              goto LAB_00022428;\n            }\n            break;\n          }\n        } while (iVar14 != 8);" do (compound_statement "{\n          uVar19 = (undefined4)(uVar30 >> 0x20);\n          __umoddi3(uVar19,(int)uVar30,0,uVar17);\n          uVar13 = extraout_v1_00 * 10 + uVar7;\n          if (uVar17 == 0) {\n            trap(7);\n          }\n          uVar7 = uVar13 / uVar17;\n          uVar15 = (uVar13 % uVar17) * 2 + ((int)uVar8 >> 1);\n          uVar30 = __udivdi3(uVar19,(int)uVar30,0,uVar17);\n          puVar21 = PTR_memcpy_00049600;\n          uVar13 = (uint)uVar30;\n          uVar22 = uVar8 + uVar15;\n          if (uVar15 < uVar17) {\n            uVar8 = (uint)(uVar22 != 0);\n          }\n          else {\n            uVar8 = 2;\n            if (uVar17 < uVar22) {\n              uVar8 = 3;\n            }\n          }\n          iVar14 = iVar14 + 1;\n          if (((int)(uVar30 >> 0x20) == 0) && (uVar13 < uVar17)) {\n            if (uVar13 < 10) {\n              if (uVar5 == 1) {\n                bVar1 = 2 < (uVar7 & 1) + uVar8;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar15 = uVar13 + 1;\n                if (uVar7 == 9) {\n                  bVar1 = uVar15 < uVar13;\n                  uVar30 = (ulonglong)CONCAT14(bVar1,uVar15);\n                  if ((bVar1) || (uVar15 != 10)) {\n                    uVar8 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar8 = 0;\n                  uVar30 = (ulonglong)CONCAT14(bVar1,uVar15);\n                  goto LAB_000226d4;\n                }\n                cVar10 = (char)uVar7 + '1';\nLAB_000226a4:\n                uVar8 = 0;\n                *(char *)(in_a2 + 0x286) = cVar10;\n                pcVar16 = (char *)((in_a2 + 0x286) - local_70);\n                (*(code *)puVar21)(pcVar16,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar8 != 0;\n                if (uVar5 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar10 = (char)uVar7 + '0';\n                if (uVar7 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((in_a3 & 8) == 0) {\n                  cVar10 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar7 = 0;\n              pcVar20 = pcVar16;\n              if (uVar5 != 1) goto LAB_000223ec;\n              goto LAB_00022428;\n            }\n            break;\n          }\n        }" { (expression_statement "uVar19 = (undefined4)(uVar30 >> 0x20);" (assignment_expression "uVar19 = (undefined4)(uVar30 >> 0x20)" identifier = (call_expression "(undefined4)(uVar30 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "(uVar30 >> 0x20)" ( (binary_expression "uVar30 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "__umoddi3(uVar19,(int)uVar30,0,uVar17);" (call_expression "__umoddi3(uVar19,(int)uVar30,0,uVar17)" identifier (argument_list "(uVar19,(int)uVar30,0,uVar17)" ( identifier , (cast_expression "(int)uVar30" ( (type_descriptor "int" primitive_type) ) identifier) , number_literal , identifier ))) ;) (expression_statement "uVar13 = extraout_v1_00 * 10 + uVar7;" (assignment_expression "uVar13 = extraout_v1_00 * 10 + uVar7" identifier = (binary_expression "extraout_v1_00 * 10 + uVar7" (binary_expression "extraout_v1_00 * 10" identifier * number_literal) + identifier)) ;) (if_statement "if (uVar17 == 0) {\n            trap(7);\n          }" if (parenthesized_expression "(uVar17 == 0)" ( (binary_expression "uVar17 == 0" identifier == number_literal) )) (compound_statement "{\n            trap(7);\n          }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "uVar7 = uVar13 / uVar17;" (assignment_expression "uVar7 = uVar13 / uVar17" identifier = (binary_expression "uVar13 / uVar17" identifier / identifier)) ;) (expression_statement "uVar15 = (uVar13 % uVar17) * 2 + ((int)uVar8 >> 1);" (assignment_expression "uVar15 = (uVar13 % uVar17) * 2 + ((int)uVar8 >> 1)" identifier = (binary_expression "(uVar13 % uVar17) * 2 + ((int)uVar8 >> 1)" (binary_expression "(uVar13 % uVar17) * 2" (parenthesized_expression "(uVar13 % uVar17)" ( (binary_expression "uVar13 % uVar17" identifier % identifier) )) * number_literal) + (parenthesized_expression "((int)uVar8 >> 1)" ( (binary_expression "(int)uVar8 >> 1" (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar30 = __udivdi3(uVar19,(int)uVar30,0,uVar17);" (assignment_expression "uVar30 = __udivdi3(uVar19,(int)uVar30,0,uVar17)" identifier = (call_expression "__udivdi3(uVar19,(int)uVar30,0,uVar17)" identifier (argument_list "(uVar19,(int)uVar30,0,uVar17)" ( identifier , (cast_expression "(int)uVar30" ( (type_descriptor "int" primitive_type) ) identifier) , number_literal , identifier )))) ;) (expression_statement "puVar21 = PTR_memcpy_00049600;" (assignment_expression "puVar21 = PTR_memcpy_00049600" identifier = identifier) ;) (expression_statement "uVar13 = (uint)uVar30;" (assignment_expression "uVar13 = (uint)uVar30" identifier = (cast_expression "(uint)uVar30" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar22 = uVar8 + uVar15;" (assignment_expression "uVar22 = uVar8 + uVar15" identifier = (binary_expression "uVar8 + uVar15" identifier + identifier)) ;) (if_statement "if (uVar15 < uVar17) {\n            uVar8 = (uint)(uVar22 != 0);\n          }\n          else {\n            uVar8 = 2;\n            if (uVar17 < uVar22) {\n              uVar8 = 3;\n            }\n          }" if (parenthesized_expression "(uVar15 < uVar17)" ( (binary_expression "uVar15 < uVar17" identifier < identifier) )) (compound_statement "{\n            uVar8 = (uint)(uVar22 != 0);\n          }" { (expression_statement "uVar8 = (uint)(uVar22 != 0);" (assignment_expression "uVar8 = (uint)(uVar22 != 0)" identifier = (call_expression "(uint)(uVar22 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar22 != 0)" ( (binary_expression "uVar22 != 0" identifier != number_literal) )))) ;) }) (else_clause "else {\n            uVar8 = 2;\n            if (uVar17 < uVar22) {\n              uVar8 = 3;\n            }\n          }" else (compound_statement "{\n            uVar8 = 2;\n            if (uVar17 < uVar22) {\n              uVar8 = 3;\n            }\n          }" { (expression_statement "uVar8 = 2;" (assignment_expression "uVar8 = 2" identifier = number_literal) ;) (if_statement "if (uVar17 < uVar22) {\n              uVar8 = 3;\n            }" if (parenthesized_expression "(uVar17 < uVar22)" ( (binary_expression "uVar17 < uVar22" identifier < identifier) )) (compound_statement "{\n              uVar8 = 3;\n            }" { (expression_statement "uVar8 = 3;" (assignment_expression "uVar8 = 3" identifier = number_literal) ;) })) }))) (expression_statement "iVar14 = iVar14 + 1;" (assignment_expression "iVar14 = iVar14 + 1" identifier = (binary_expression "iVar14 + 1" identifier + number_literal)) ;) (if_statement "if (((int)(uVar30 >> 0x20) == 0) && (uVar13 < uVar17)) {\n            if (uVar13 < 10) {\n              if (uVar5 == 1) {\n                bVar1 = 2 < (uVar7 & 1) + uVar8;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar15 = uVar13 + 1;\n                if (uVar7 == 9) {\n                  bVar1 = uVar15 < uVar13;\n                  uVar30 = (ulonglong)CONCAT14(bVar1,uVar15);\n                  if ((bVar1) || (uVar15 != 10)) {\n                    uVar8 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar8 = 0;\n                  uVar30 = (ulonglong)CONCAT14(bVar1,uVar15);\n                  goto LAB_000226d4;\n                }\n                cVar10 = (char)uVar7 + '1';\nLAB_000226a4:\n                uVar8 = 0;\n                *(char *)(in_a2 + 0x286) = cVar10;\n                pcVar16 = (char *)((in_a2 + 0x286) - local_70);\n                (*(code *)puVar21)(pcVar16,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar8 != 0;\n                if (uVar5 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar10 = (char)uVar7 + '0';\n                if (uVar7 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((in_a3 & 8) == 0) {\n                  cVar10 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar7 = 0;\n              pcVar20 = pcVar16;\n              if (uVar5 != 1) goto LAB_000223ec;\n              goto LAB_00022428;\n            }\n            break;\n          }" if (parenthesized_expression "(((int)(uVar30 >> 0x20) == 0) && (uVar13 < uVar17))" ( (binary_expression "((int)(uVar30 >> 0x20) == 0) && (uVar13 < uVar17)" (parenthesized_expression "((int)(uVar30 >> 0x20) == 0)" ( (binary_expression "(int)(uVar30 >> 0x20) == 0" (cast_expression "(int)(uVar30 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar30 >> 0x20)" ( (binary_expression "uVar30 >> 0x20" identifier >> number_literal) ))) == number_literal) )) && (parenthesized_expression "(uVar13 < uVar17)" ( (binary_expression "uVar13 < uVar17" identifier < identifier) ))) )) (compound_statement "{\n            if (uVar13 < 10) {\n              if (uVar5 == 1) {\n                bVar1 = 2 < (uVar7 & 1) + uVar8;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar15 = uVar13 + 1;\n                if (uVar7 == 9) {\n                  bVar1 = uVar15 < uVar13;\n                  uVar30 = (ulonglong)CONCAT14(bVar1,uVar15);\n                  if ((bVar1) || (uVar15 != 10)) {\n                    uVar8 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar8 = 0;\n                  uVar30 = (ulonglong)CONCAT14(bVar1,uVar15);\n                  goto LAB_000226d4;\n                }\n                cVar10 = (char)uVar7 + '1';\nLAB_000226a4:\n                uVar8 = 0;\n                *(char *)(in_a2 + 0x286) = cVar10;\n                pcVar16 = (char *)((in_a2 + 0x286) - local_70);\n                (*(code *)puVar21)(pcVar16,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar8 != 0;\n                if (uVar5 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar10 = (char)uVar7 + '0';\n                if (uVar7 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((in_a3 & 8) == 0) {\n                  cVar10 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar7 = 0;\n              pcVar20 = pcVar16;\n              if (uVar5 != 1) goto LAB_000223ec;\n              goto LAB_00022428;\n            }\n            break;\n          }" { (if_statement "if (uVar13 < 10) {\n              if (uVar5 == 1) {\n                bVar1 = 2 < (uVar7 & 1) + uVar8;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar15 = uVar13 + 1;\n                if (uVar7 == 9) {\n                  bVar1 = uVar15 < uVar13;\n                  uVar30 = (ulonglong)CONCAT14(bVar1,uVar15);\n                  if ((bVar1) || (uVar15 != 10)) {\n                    uVar8 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar8 = 0;\n                  uVar30 = (ulonglong)CONCAT14(bVar1,uVar15);\n                  goto LAB_000226d4;\n                }\n                cVar10 = (char)uVar7 + '1';\nLAB_000226a4:\n                uVar8 = 0;\n                *(char *)(in_a2 + 0x286) = cVar10;\n                pcVar16 = (char *)((in_a2 + 0x286) - local_70);\n                (*(code *)puVar21)(pcVar16,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar8 != 0;\n                if (uVar5 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar10 = (char)uVar7 + '0';\n                if (uVar7 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((in_a3 & 8) == 0) {\n                  cVar10 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar7 = 0;\n              pcVar20 = pcVar16;\n              if (uVar5 != 1) goto LAB_000223ec;\n              goto LAB_00022428;\n            }" if (parenthesized_expression "(uVar13 < 10)" ( (binary_expression "uVar13 < 10" identifier < number_literal) )) (compound_statement "{\n              if (uVar5 == 1) {\n                bVar1 = 2 < (uVar7 & 1) + uVar8;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar15 = uVar13 + 1;\n                if (uVar7 == 9) {\n                  bVar1 = uVar15 < uVar13;\n                  uVar30 = (ulonglong)CONCAT14(bVar1,uVar15);\n                  if ((bVar1) || (uVar15 != 10)) {\n                    uVar8 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar8 = 0;\n                  uVar30 = (ulonglong)CONCAT14(bVar1,uVar15);\n                  goto LAB_000226d4;\n                }\n                cVar10 = (char)uVar7 + '1';\nLAB_000226a4:\n                uVar8 = 0;\n                *(char *)(in_a2 + 0x286) = cVar10;\n                pcVar16 = (char *)((in_a2 + 0x286) - local_70);\n                (*(code *)puVar21)(pcVar16,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar8 != 0;\n                if (uVar5 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar10 = (char)uVar7 + '0';\n                if (uVar7 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((in_a3 & 8) == 0) {\n                  cVar10 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar7 = 0;\n              pcVar20 = pcVar16;\n              if (uVar5 != 1) goto LAB_000223ec;\n              goto LAB_00022428;\n            }" { (if_statement "if (uVar5 == 1) {\n                bVar1 = 2 < (uVar7 & 1) + uVar8;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar15 = uVar13 + 1;\n                if (uVar7 == 9) {\n                  bVar1 = uVar15 < uVar13;\n                  uVar30 = (ulonglong)CONCAT14(bVar1,uVar15);\n                  if ((bVar1) || (uVar15 != 10)) {\n                    uVar8 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar8 = 0;\n                  uVar30 = (ulonglong)CONCAT14(bVar1,uVar15);\n                  goto LAB_000226d4;\n                }\n                cVar10 = (char)uVar7 + '1';\nLAB_000226a4:\n                uVar8 = 0;\n                *(char *)(in_a2 + 0x286) = cVar10;\n                pcVar16 = (char *)((in_a2 + 0x286) - local_70);\n                (*(code *)puVar21)(pcVar16,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar8 != 0;\n                if (uVar5 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar10 = (char)uVar7 + '0';\n                if (uVar7 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((in_a3 & 8) == 0) {\n                  cVar10 = '0';\n                  goto LAB_000226a4;\n                }\n              }" if (parenthesized_expression "(uVar5 == 1)" ( (binary_expression "uVar5 == 1" identifier == number_literal) )) (compound_statement "{\n                bVar1 = 2 < (uVar7 & 1) + uVar8;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar15 = uVar13 + 1;\n                if (uVar7 == 9) {\n                  bVar1 = uVar15 < uVar13;\n                  uVar30 = (ulonglong)CONCAT14(bVar1,uVar15);\n                  if ((bVar1) || (uVar15 != 10)) {\n                    uVar8 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar8 = 0;\n                  uVar30 = (ulonglong)CONCAT14(bVar1,uVar15);\n                  goto LAB_000226d4;\n                }\n                cVar10 = (char)uVar7 + '1';\nLAB_000226a4:\n                uVar8 = 0;\n                *(char *)(in_a2 + 0x286) = cVar10;\n                pcVar16 = (char *)((in_a2 + 0x286) - local_70);\n                (*(code *)puVar21)(pcVar16,local_68,local_70);\n              }" { (expression_statement "bVar1 = 2 < (uVar7 & 1) + uVar8;" (assignment_expression "bVar1 = 2 < (uVar7 & 1) + uVar8" identifier = (binary_expression "2 < (uVar7 & 1) + uVar8" number_literal < (binary_expression "(uVar7 & 1) + uVar8" (parenthesized_expression "(uVar7 & 1)" ( (binary_expression "uVar7 & 1" identifier & number_literal) )) + identifier))) ;) (labeled_statement "LAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;" statement_identifier : (if_statement "if (!bVar1) goto LAB_0002268c;" if (parenthesized_expression "(!bVar1)" ( (unary_expression "!bVar1" ! identifier) )) (goto_statement "goto LAB_0002268c;" goto statement_identifier ;))) (expression_statement "uVar15 = uVar13 + 1;" (assignment_expression "uVar15 = uVar13 + 1" identifier = (binary_expression "uVar13 + 1" identifier + number_literal)) ;) (if_statement "if (uVar7 == 9) {\n                  bVar1 = uVar15 < uVar13;\n                  uVar30 = (ulonglong)CONCAT14(bVar1,uVar15);\n                  if ((bVar1) || (uVar15 != 10)) {\n                    uVar8 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar8 = 0;\n                  uVar30 = (ulonglong)CONCAT14(bVar1,uVar15);\n                  goto LAB_000226d4;\n                }" if (parenthesized_expression "(uVar7 == 9)" ( (binary_expression "uVar7 == 9" identifier == number_literal) )) (compound_statement "{\n                  bVar1 = uVar15 < uVar13;\n                  uVar30 = (ulonglong)CONCAT14(bVar1,uVar15);\n                  if ((bVar1) || (uVar15 != 10)) {\n                    uVar8 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar8 = 0;\n                  uVar30 = (ulonglong)CONCAT14(bVar1,uVar15);\n                  goto LAB_000226d4;\n                }" { (expression_statement "bVar1 = uVar15 < uVar13;" (assignment_expression "bVar1 = uVar15 < uVar13" identifier = (binary_expression "uVar15 < uVar13" identifier < identifier)) ;) (expression_statement "uVar30 = (ulonglong)CONCAT14(bVar1,uVar15);" (assignment_expression "uVar30 = (ulonglong)CONCAT14(bVar1,uVar15)" identifier = (cast_expression "(ulonglong)CONCAT14(bVar1,uVar15)" ( (type_descriptor "ulonglong" type_identifier) ) (call_expression "CONCAT14(bVar1,uVar15)" identifier (argument_list "(bVar1,uVar15)" ( identifier , identifier ))))) ;) (if_statement "if ((bVar1) || (uVar15 != 10)) {\n                    uVar8 = 0;\n                    goto LAB_00022694;\n                  }" if (parenthesized_expression "((bVar1) || (uVar15 != 10))" ( (binary_expression "(bVar1) || (uVar15 != 10)" (parenthesized_expression "(bVar1)" ( identifier )) || (parenthesized_expression "(uVar15 != 10)" ( (binary_expression "uVar15 != 10" identifier != number_literal) ))) )) (compound_statement "{\n                    uVar8 = 0;\n                    goto LAB_00022694;\n                  }" { (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00022694;" goto statement_identifier ;) })) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (expression_statement "uVar30 = (ulonglong)CONCAT14(bVar1,uVar15);" (assignment_expression "uVar30 = (ulonglong)CONCAT14(bVar1,uVar15)" identifier = (cast_expression "(ulonglong)CONCAT14(bVar1,uVar15)" ( (type_descriptor "ulonglong" type_identifier) ) (call_expression "CONCAT14(bVar1,uVar15)" identifier (argument_list "(bVar1,uVar15)" ( identifier , identifier ))))) ;) (goto_statement "goto LAB_000226d4;" goto statement_identifier ;) })) (expression_statement "cVar10 = (char)uVar7 + '1';" (assignment_expression "cVar10 = (char)uVar7 + '1'" identifier = (binary_expression "(char)uVar7 + '1'" (cast_expression "(char)uVar7" ( (type_descriptor "char" primitive_type) ) identifier) + (char_literal "'1'" ' character '))) ;) (labeled_statement "LAB_000226a4:\n                uVar8 = 0;" statement_identifier : (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;)) (expression_statement "*(char *)(in_a2 + 0x286) = cVar10;" (assignment_expression "*(char *)(in_a2 + 0x286) = cVar10" (pointer_expression "*(char *)(in_a2 + 0x286)" * (cast_expression "(char *)(in_a2 + 0x286)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_a2 + 0x286)" ( (binary_expression "in_a2 + 0x286" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar16 = (char *)((in_a2 + 0x286) - local_70);" (assignment_expression "pcVar16 = (char *)((in_a2 + 0x286) - local_70)" identifier = (cast_expression "(char *)((in_a2 + 0x286) - local_70)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((in_a2 + 0x286) - local_70)" ( (binary_expression "(in_a2 + 0x286) - local_70" (parenthesized_expression "(in_a2 + 0x286)" ( (binary_expression "in_a2 + 0x286" identifier + number_literal) )) - identifier) )))) ;) (expression_statement "(*(code *)puVar21)(pcVar16,local_68,local_70);" (call_expression "(*(code *)puVar21)(pcVar16,local_68,local_70)" (parenthesized_expression "(*(code *)puVar21)" ( (pointer_expression "*(code *)puVar21" * (cast_expression "(code *)puVar21" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar16,local_68,local_70)" ( identifier , identifier , identifier ))) ;) }) (else_clause "else {\n                bVar1 = uVar8 != 0;\n                if (uVar5 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar10 = (char)uVar7 + '0';\n                if (uVar7 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((in_a3 & 8) == 0) {\n                  cVar10 = '0';\n                  goto LAB_000226a4;\n                }\n              }" else (compound_statement "{\n                bVar1 = uVar8 != 0;\n                if (uVar5 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar10 = (char)uVar7 + '0';\n                if (uVar7 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((in_a3 & 8) == 0) {\n                  cVar10 = '0';\n                  goto LAB_000226a4;\n                }\n              }" { (expression_statement "bVar1 = uVar8 != 0;" (assignment_expression "bVar1 = uVar8 != 0" identifier = (binary_expression "uVar8 != 0" identifier != number_literal)) ;) (if_statement "if (uVar5 == 0) goto LAB_000226fc;" if (parenthesized_expression "(uVar5 == 0)" ( (binary_expression "uVar5 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000226fc;" goto statement_identifier ;)) (labeled_statement "LAB_0002268c:\n                cVar10 = (char)uVar7 + '0';" statement_identifier : (expression_statement "cVar10 = (char)uVar7 + '0';" (assignment_expression "cVar10 = (char)uVar7 + '0'" identifier = (binary_expression "(char)uVar7 + '0'" (cast_expression "(char)uVar7" ( (type_descriptor "char" primitive_type) ) identifier) + (char_literal "'0'" ' character '))) ;)) (if_statement "if (uVar7 != 0) goto LAB_000226a4;" if (parenthesized_expression "(uVar7 != 0)" ( (binary_expression "uVar7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000226a4;" goto statement_identifier ;)) (labeled_statement "LAB_00022694:\n                if ((in_a3 & 8) == 0) {\n                  cVar10 = '0';\n                  goto LAB_000226a4;\n                }" statement_identifier : (if_statement "if ((in_a3 & 8) == 0) {\n                  cVar10 = '0';\n                  goto LAB_000226a4;\n                }" if (parenthesized_expression "((in_a3 & 8) == 0)" ( (binary_expression "(in_a3 & 8) == 0" (parenthesized_expression "(in_a3 & 8)" ( (binary_expression "in_a3 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                  cVar10 = '0';\n                  goto LAB_000226a4;\n                }" { (expression_statement "cVar10 = '0';" (assignment_expression "cVar10 = '0'" identifier = (char_literal "'0'" ' character ')) ;) (goto_statement "goto LAB_000226a4;" goto statement_identifier ;) }))) }))) (labeled_statement "LAB_000226d4:\n              uVar7 = 0;" statement_identifier : (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;)) (expression_statement "pcVar20 = pcVar16;" (assignment_expression "pcVar20 = pcVar16" identifier = identifier) ;) (if_statement "if (uVar5 != 1) goto LAB_000223ec;" if (parenthesized_expression "(uVar5 != 1)" ( (binary_expression "uVar5 != 1" identifier != number_literal) )) (goto_statement "goto LAB_000223ec;" goto statement_identifier ;)) (goto_statement "goto LAB_00022428;" goto statement_identifier ;) })) (break_statement "break;" break ;) })) }) while (parenthesized_expression "(iVar14 != 8)" ( (binary_expression "iVar14 != 8" identifier != number_literal) )) ;) })) }))) (if_statement "if (uVar5 == 1) {\n      pcVar20 = local_88;\n      if (5 < (int)((((uint)uVar30 & 1) + uVar8 != 0) + uVar7)) goto LAB_000223fc;\nLAB_00022428:\n      do {\n        do {\n          iVar9 = (int)(uVar30 >> 0x20);\n          uVar5 = (uint)uVar30;\n          __umoddi3(iVar9,uVar5,0,10);\n          pcVar20 = pcVar20 + -1;\n          *pcVar20 = extraout_v1_01 + '0';\n          uVar30 = __udivdi3(iVar9,uVar5,0,10);\n        } while (iVar9 != 0);\n      } while (9 < uVar5);\n    }\n    else {\nLAB_000223ec:\n      pcVar20 = pcVar16;\n      if ((uVar5 != 0) || ((int)(uVar7 + uVar8) < 1)) goto LAB_00022428;\nLAB_000223fc:\n      puVar21 = PTR_memcpy_00049600;\n      uVar30 = uVar30 + 1;\n      pcVar20 = pcVar16;\n      if (((in_a3 & 0x10) == 0) ||\n         ((((int)(uVar30 >> 0x20) != 0 || (uVar17 != (uint)uVar30)) || (iVar14 == 8))))\n      goto LAB_00022428;\n      iVar14 = iVar14 + 1;\n      if ((in_a3 & 8) == 0) {\n        pcVar16[-1] = '0';\n        pcVar16 = pcVar16 + ~local_70;\n        (*(code *)puVar21)(pcVar16,local_68);\n      }\n      pcVar20 = pcVar16 + -1;\n      pcVar16[-1] = '1';\n    }" if (parenthesized_expression "(uVar5 == 1)" ( (binary_expression "uVar5 == 1" identifier == number_literal) )) (compound_statement "{\n      pcVar20 = local_88;\n      if (5 < (int)((((uint)uVar30 & 1) + uVar8 != 0) + uVar7)) goto LAB_000223fc;\nLAB_00022428:\n      do {\n        do {\n          iVar9 = (int)(uVar30 >> 0x20);\n          uVar5 = (uint)uVar30;\n          __umoddi3(iVar9,uVar5,0,10);\n          pcVar20 = pcVar20 + -1;\n          *pcVar20 = extraout_v1_01 + '0';\n          uVar30 = __udivdi3(iVar9,uVar5,0,10);\n        } while (iVar9 != 0);\n      } while (9 < uVar5);\n    }" { (expression_statement "pcVar20 = local_88;" (assignment_expression "pcVar20 = local_88" identifier = identifier) ;) (if_statement "if (5 < (int)((((uint)uVar30 & 1) + uVar8 != 0) + uVar7)) goto LAB_000223fc;" if (parenthesized_expression "(5 < (int)((((uint)uVar30 & 1) + uVar8 != 0) + uVar7))" ( (binary_expression "5 < (int)((((uint)uVar30 & 1) + uVar8 != 0) + uVar7)" number_literal < (cast_expression "(int)((((uint)uVar30 & 1) + uVar8 != 0) + uVar7)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((((uint)uVar30 & 1) + uVar8 != 0) + uVar7)" ( (binary_expression "(((uint)uVar30 & 1) + uVar8 != 0) + uVar7" (parenthesized_expression "(((uint)uVar30 & 1) + uVar8 != 0)" ( (binary_expression "((uint)uVar30 & 1) + uVar8 != 0" (binary_expression "((uint)uVar30 & 1) + uVar8" (parenthesized_expression "((uint)uVar30 & 1)" ( (binary_expression "(uint)uVar30 & 1" (cast_expression "(uint)uVar30" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) + identifier) != number_literal) )) + identifier) )))) )) (goto_statement "goto LAB_000223fc;" goto statement_identifier ;)) (labeled_statement "LAB_00022428:\n      do {\n        do {\n          iVar9 = (int)(uVar30 >> 0x20);\n          uVar5 = (uint)uVar30;\n          __umoddi3(iVar9,uVar5,0,10);\n          pcVar20 = pcVar20 + -1;\n          *pcVar20 = extraout_v1_01 + '0';\n          uVar30 = __udivdi3(iVar9,uVar5,0,10);\n        } while (iVar9 != 0);\n      } while (9 < uVar5);" statement_identifier : (do_statement "do {\n        do {\n          iVar9 = (int)(uVar30 >> 0x20);\n          uVar5 = (uint)uVar30;\n          __umoddi3(iVar9,uVar5,0,10);\n          pcVar20 = pcVar20 + -1;\n          *pcVar20 = extraout_v1_01 + '0';\n          uVar30 = __udivdi3(iVar9,uVar5,0,10);\n        } while (iVar9 != 0);\n      } while (9 < uVar5);" do (compound_statement "{\n        do {\n          iVar9 = (int)(uVar30 >> 0x20);\n          uVar5 = (uint)uVar30;\n          __umoddi3(iVar9,uVar5,0,10);\n          pcVar20 = pcVar20 + -1;\n          *pcVar20 = extraout_v1_01 + '0';\n          uVar30 = __udivdi3(iVar9,uVar5,0,10);\n        } while (iVar9 != 0);\n      }" { (do_statement "do {\n          iVar9 = (int)(uVar30 >> 0x20);\n          uVar5 = (uint)uVar30;\n          __umoddi3(iVar9,uVar5,0,10);\n          pcVar20 = pcVar20 + -1;\n          *pcVar20 = extraout_v1_01 + '0';\n          uVar30 = __udivdi3(iVar9,uVar5,0,10);\n        } while (iVar9 != 0);" do (compound_statement "{\n          iVar9 = (int)(uVar30 >> 0x20);\n          uVar5 = (uint)uVar30;\n          __umoddi3(iVar9,uVar5,0,10);\n          pcVar20 = pcVar20 + -1;\n          *pcVar20 = extraout_v1_01 + '0';\n          uVar30 = __udivdi3(iVar9,uVar5,0,10);\n        }" { (expression_statement "iVar9 = (int)(uVar30 >> 0x20);" (assignment_expression "iVar9 = (int)(uVar30 >> 0x20)" identifier = (cast_expression "(int)(uVar30 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar30 >> 0x20)" ( (binary_expression "uVar30 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "uVar5 = (uint)uVar30;" (assignment_expression "uVar5 = (uint)uVar30" identifier = (cast_expression "(uint)uVar30" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "__umoddi3(iVar9,uVar5,0,10);" (call_expression "__umoddi3(iVar9,uVar5,0,10)" identifier (argument_list "(iVar9,uVar5,0,10)" ( identifier , identifier , number_literal , number_literal ))) ;) (expression_statement "pcVar20 = pcVar20 + -1;" (assignment_expression "pcVar20 = pcVar20 + -1" identifier = (binary_expression "pcVar20 + -1" identifier + number_literal)) ;) (expression_statement "*pcVar20 = extraout_v1_01 + '0';" (assignment_expression "*pcVar20 = extraout_v1_01 + '0'" (pointer_expression "*pcVar20" * identifier) = (binary_expression "extraout_v1_01 + '0'" identifier + (char_literal "'0'" ' character '))) ;) (expression_statement "uVar30 = __udivdi3(iVar9,uVar5,0,10);" (assignment_expression "uVar30 = __udivdi3(iVar9,uVar5,0,10)" identifier = (call_expression "__udivdi3(iVar9,uVar5,0,10)" identifier (argument_list "(iVar9,uVar5,0,10)" ( identifier , identifier , number_literal , number_literal )))) ;) }) while (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) ;) }) while (parenthesized_expression "(9 < uVar5)" ( (binary_expression "9 < uVar5" number_literal < identifier) )) ;)) }) (else_clause "else {\nLAB_000223ec:\n      pcVar20 = pcVar16;\n      if ((uVar5 != 0) || ((int)(uVar7 + uVar8) < 1)) goto LAB_00022428;\nLAB_000223fc:\n      puVar21 = PTR_memcpy_00049600;\n      uVar30 = uVar30 + 1;\n      pcVar20 = pcVar16;\n      if (((in_a3 & 0x10) == 0) ||\n         ((((int)(uVar30 >> 0x20) != 0 || (uVar17 != (uint)uVar30)) || (iVar14 == 8))))\n      goto LAB_00022428;\n      iVar14 = iVar14 + 1;\n      if ((in_a3 & 8) == 0) {\n        pcVar16[-1] = '0';\n        pcVar16 = pcVar16 + ~local_70;\n        (*(code *)puVar21)(pcVar16,local_68);\n      }\n      pcVar20 = pcVar16 + -1;\n      pcVar16[-1] = '1';\n    }" else (compound_statement "{\nLAB_000223ec:\n      pcVar20 = pcVar16;\n      if ((uVar5 != 0) || ((int)(uVar7 + uVar8) < 1)) goto LAB_00022428;\nLAB_000223fc:\n      puVar21 = PTR_memcpy_00049600;\n      uVar30 = uVar30 + 1;\n      pcVar20 = pcVar16;\n      if (((in_a3 & 0x10) == 0) ||\n         ((((int)(uVar30 >> 0x20) != 0 || (uVar17 != (uint)uVar30)) || (iVar14 == 8))))\n      goto LAB_00022428;\n      iVar14 = iVar14 + 1;\n      if ((in_a3 & 8) == 0) {\n        pcVar16[-1] = '0';\n        pcVar16 = pcVar16 + ~local_70;\n        (*(code *)puVar21)(pcVar16,local_68);\n      }\n      pcVar20 = pcVar16 + -1;\n      pcVar16[-1] = '1';\n    }" { (labeled_statement "LAB_000223ec:\n      pcVar20 = pcVar16;" statement_identifier : (expression_statement "pcVar20 = pcVar16;" (assignment_expression "pcVar20 = pcVar16" identifier = identifier) ;)) (if_statement "if ((uVar5 != 0) || ((int)(uVar7 + uVar8) < 1)) goto LAB_00022428;" if (parenthesized_expression "((uVar5 != 0) || ((int)(uVar7 + uVar8) < 1))" ( (binary_expression "(uVar5 != 0) || ((int)(uVar7 + uVar8) < 1)" (parenthesized_expression "(uVar5 != 0)" ( (binary_expression "uVar5 != 0" identifier != number_literal) )) || (parenthesized_expression "((int)(uVar7 + uVar8) < 1)" ( (binary_expression "(int)(uVar7 + uVar8) < 1" (cast_expression "(int)(uVar7 + uVar8)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar7 + uVar8)" ( (binary_expression "uVar7 + uVar8" identifier + identifier) ))) < number_literal) ))) )) (goto_statement "goto LAB_00022428;" goto statement_identifier ;)) (labeled_statement "LAB_000223fc:\n      puVar21 = PTR_memcpy_00049600;" statement_identifier : (expression_statement "puVar21 = PTR_memcpy_00049600;" (assignment_expression "puVar21 = PTR_memcpy_00049600" identifier = identifier) ;)) (expression_statement "uVar30 = uVar30 + 1;" (assignment_expression "uVar30 = uVar30 + 1" identifier = (binary_expression "uVar30 + 1" identifier + number_literal)) ;) (expression_statement "pcVar20 = pcVar16;" (assignment_expression "pcVar20 = pcVar16" identifier = identifier) ;) (if_statement "if (((in_a3 & 0x10) == 0) ||\n         ((((int)(uVar30 >> 0x20) != 0 || (uVar17 != (uint)uVar30)) || (iVar14 == 8))))\n      goto LAB_00022428;" if (parenthesized_expression "(((in_a3 & 0x10) == 0) ||\n         ((((int)(uVar30 >> 0x20) != 0 || (uVar17 != (uint)uVar30)) || (iVar14 == 8))))" ( (binary_expression "((in_a3 & 0x10) == 0) ||\n         ((((int)(uVar30 >> 0x20) != 0 || (uVar17 != (uint)uVar30)) || (iVar14 == 8)))" (parenthesized_expression "((in_a3 & 0x10) == 0)" ( (binary_expression "(in_a3 & 0x10) == 0" (parenthesized_expression "(in_a3 & 0x10)" ( (binary_expression "in_a3 & 0x10" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "((((int)(uVar30 >> 0x20) != 0 || (uVar17 != (uint)uVar30)) || (iVar14 == 8)))" ( (parenthesized_expression "(((int)(uVar30 >> 0x20) != 0 || (uVar17 != (uint)uVar30)) || (iVar14 == 8))" ( (binary_expression "((int)(uVar30 >> 0x20) != 0 || (uVar17 != (uint)uVar30)) || (iVar14 == 8)" (parenthesized_expression "((int)(uVar30 >> 0x20) != 0 || (uVar17 != (uint)uVar30))" ( (binary_expression "(int)(uVar30 >> 0x20) != 0 || (uVar17 != (uint)uVar30)" (binary_expression "(int)(uVar30 >> 0x20) != 0" (cast_expression "(int)(uVar30 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar30 >> 0x20)" ( (binary_expression "uVar30 >> 0x20" identifier >> number_literal) ))) != number_literal) || (parenthesized_expression "(uVar17 != (uint)uVar30)" ( (binary_expression "uVar17 != (uint)uVar30" identifier != (cast_expression "(uint)uVar30" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) )) || (parenthesized_expression "(iVar14 == 8)" ( (binary_expression "iVar14 == 8" identifier == number_literal) ))) )) ))) )) (goto_statement "goto LAB_00022428;" goto statement_identifier ;)) (expression_statement "iVar14 = iVar14 + 1;" (assignment_expression "iVar14 = iVar14 + 1" identifier = (binary_expression "iVar14 + 1" identifier + number_literal)) ;) (if_statement "if ((in_a3 & 8) == 0) {\n        pcVar16[-1] = '0';\n        pcVar16 = pcVar16 + ~local_70;\n        (*(code *)puVar21)(pcVar16,local_68);\n      }" if (parenthesized_expression "((in_a3 & 8) == 0)" ( (binary_expression "(in_a3 & 8) == 0" (parenthesized_expression "(in_a3 & 8)" ( (binary_expression "in_a3 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        pcVar16[-1] = '0';\n        pcVar16 = pcVar16 + ~local_70;\n        (*(code *)puVar21)(pcVar16,local_68);\n      }" { (expression_statement "pcVar16[-1] = '0';" (assignment_expression "pcVar16[-1] = '0'" (subscript_expression "pcVar16[-1]" identifier [ number_literal ]) = (char_literal "'0'" ' character ')) ;) (expression_statement "pcVar16 = pcVar16 + ~local_70;" (assignment_expression "pcVar16 = pcVar16 + ~local_70" identifier = (binary_expression "pcVar16 + ~local_70" identifier + (unary_expression "~local_70" ~ identifier))) ;) (expression_statement "(*(code *)puVar21)(pcVar16,local_68);" (call_expression "(*(code *)puVar21)(pcVar16,local_68)" (parenthesized_expression "(*(code *)puVar21)" ( (pointer_expression "*(code *)puVar21" * (cast_expression "(code *)puVar21" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar16,local_68)" ( identifier , identifier ))) ;) })) (expression_statement "pcVar20 = pcVar16 + -1;" (assignment_expression "pcVar20 = pcVar16 + -1" identifier = (binary_expression "pcVar16 + -1" identifier + number_literal)) ;) (expression_statement "pcVar16[-1] = '1';" (assignment_expression "pcVar16[-1] = '1'" (subscript_expression "pcVar16[-1]" identifier [ number_literal ]) = (char_literal "'1'" ' character ')) ;) }))) }) (else_clause "else {\n    lVar26 = __umoddi3(n._0_4_,n._4_4_,from_block_size._0_4_,from_block_size._4_4_);\n    if (lVar26 == 0) {\n      lVar26 = __udivdi3(n._0_4_,n._4_4_,from_block_size._0_4_,from_block_size._4_4_);\n      uVar30 = lVar26 * CONCAT44(buf,opts);\n      lVar26 = __udivdi3((int)(uVar30 >> 0x20),(int)uVar30,(int)((ulonglong)lVar26 >> 0x20));\n      if (lVar26 == CONCAT44(buf,opts)) {\n        uVar8 = 0;\n        uVar7 = 0;\n        goto LAB_000223b4;\n      }\n    }\nLAB_00021ca0:\n    dVar23 = (double)__floatundidf(n._0_4_,n._4_4_);\n    dVar24 = (double)__floatundidf(from_block_size._0_4_,from_block_size._4_4_);\n    dVar23 = dVar23 / dVar24;\n    dVar24 = (double)__floatundidf(buf,opts);\n    puVar21 = PTR_LAB_00049218;\n    dVar23 = dVar23 * dVar24;\n    if ((in_a3 & 0x10) == 0) {\n      dVar24 = dVar23;\n      if (((in_a3 & 3) != 1) && (dVar23 < *(double *)(PTR_LAB_00049218 + 0x6760))) {\n        uVar29 = __fixunsdfdi(dVar23);\n        iVar14 = (int)((ulonglong)uVar29 >> 0x20);\n        uVar5 = (uint)uVar29;\n        dVar24 = (double)__floatundidf(iVar14,uVar5);\n        if (((in_a3 & 3) == 0) && (dVar23 != dVar24)) {\n          dVar24 = (double)__floatundidf((uint)(uVar5 + 1 < uVar5) + iVar14);\n        }\n      }\n      (*(code *)PTR___sprintf_chk_00049454)(in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar24);\n      iVar14 = -1;\n      uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);\n      uVar5 = uVar8;\n    }\n    else {\n      iVar14 = 0;\n      dVar24 = (double)uVar17;\n      do {\n        dVar25 = dVar24;\n        dVar24 = dVar25 * (double)uVar17;\n        iVar14 = iVar14 + 1;\n        if (dVar23 < dVar24) break;\n      } while (iVar14 != 8);\n      dVar23 = dVar23 / dVar25;\n      uVar7 = (uVar11 == 0) + 1 + local_70 + 1;\n      if (uVar5 == 1) {\n        (*(code *)PTR___sprintf_chk_00049454)(in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar23);\n        uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);\n        if (uVar8 <= uVar7) goto LAB_0002232c;\n        dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        dVar24 = dVar23 * dVar25;\n      }\n      else {\n        dVar24 = dVar23;\n        if (dVar23 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar26 = __fixunsdfdi(dVar23);\n          dVar24 = dVar23;\n          dVar23 = (double)__floatundidf((int)((ulonglong)lVar26 >> 0x20),(int)lVar26);\n          if ((uVar5 == 0) && (dVar24 != dVar23)) {\n            dVar23 = (double)__floatundidf((int)((ulonglong)(lVar26 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar23);\n        uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);\n        dVar23 = dVar24;\n        if (uVar7 < uVar8) {\n          dVar24 = dVar24 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((in_a3 & 8) == 0) || (*(char *)(in_a2 + uVar8 + -1) != '0')) {\n            uVar5 = uVar8 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar24 = dVar23 * dVar25;\n          puVar21 = PTR_LAB_00049218;\n          if (uVar5 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar24 < *(double *)(puVar21 + 0x6760)) {\n          lVar26 = __fixunsdfdi(dVar24);\n          dVar23 = (double)__floatundidf((int)((ulonglong)lVar26 >> 0x20),(int)lVar26);\n          if ((uVar5 == 0) && (dVar23 != dVar24)) {\n            dVar23 = (double)__floatundidf((int)((ulonglong)(lVar26 + 1) >> 0x20));\n          }\n          dVar24 = dVar23;\n          dVar25 = *(double *)(puVar2 + 0x6768);\n        }\n      }\nLAB_0002207c:\n      (*(code *)PTR___sprintf_chk_00049454)\n                (in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar24 / dVar25);\n      uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);\n      uVar5 = uVar8;\n    }\nLAB_00021d4c:\n    pcVar20 = local_88 + -uVar8;\n    (*(code *)PTR_memmove_00049610)(pcVar20,in_a2,uVar8);\n    pcVar16 = pcVar20 + uVar5;\n  }" else (compound_statement "{\n    lVar26 = __umoddi3(n._0_4_,n._4_4_,from_block_size._0_4_,from_block_size._4_4_);\n    if (lVar26 == 0) {\n      lVar26 = __udivdi3(n._0_4_,n._4_4_,from_block_size._0_4_,from_block_size._4_4_);\n      uVar30 = lVar26 * CONCAT44(buf,opts);\n      lVar26 = __udivdi3((int)(uVar30 >> 0x20),(int)uVar30,(int)((ulonglong)lVar26 >> 0x20));\n      if (lVar26 == CONCAT44(buf,opts)) {\n        uVar8 = 0;\n        uVar7 = 0;\n        goto LAB_000223b4;\n      }\n    }\nLAB_00021ca0:\n    dVar23 = (double)__floatundidf(n._0_4_,n._4_4_);\n    dVar24 = (double)__floatundidf(from_block_size._0_4_,from_block_size._4_4_);\n    dVar23 = dVar23 / dVar24;\n    dVar24 = (double)__floatundidf(buf,opts);\n    puVar21 = PTR_LAB_00049218;\n    dVar23 = dVar23 * dVar24;\n    if ((in_a3 & 0x10) == 0) {\n      dVar24 = dVar23;\n      if (((in_a3 & 3) != 1) && (dVar23 < *(double *)(PTR_LAB_00049218 + 0x6760))) {\n        uVar29 = __fixunsdfdi(dVar23);\n        iVar14 = (int)((ulonglong)uVar29 >> 0x20);\n        uVar5 = (uint)uVar29;\n        dVar24 = (double)__floatundidf(iVar14,uVar5);\n        if (((in_a3 & 3) == 0) && (dVar23 != dVar24)) {\n          dVar24 = (double)__floatundidf((uint)(uVar5 + 1 < uVar5) + iVar14);\n        }\n      }\n      (*(code *)PTR___sprintf_chk_00049454)(in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar24);\n      iVar14 = -1;\n      uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);\n      uVar5 = uVar8;\n    }\n    else {\n      iVar14 = 0;\n      dVar24 = (double)uVar17;\n      do {\n        dVar25 = dVar24;\n        dVar24 = dVar25 * (double)uVar17;\n        iVar14 = iVar14 + 1;\n        if (dVar23 < dVar24) break;\n      } while (iVar14 != 8);\n      dVar23 = dVar23 / dVar25;\n      uVar7 = (uVar11 == 0) + 1 + local_70 + 1;\n      if (uVar5 == 1) {\n        (*(code *)PTR___sprintf_chk_00049454)(in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar23);\n        uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);\n        if (uVar8 <= uVar7) goto LAB_0002232c;\n        dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        dVar24 = dVar23 * dVar25;\n      }\n      else {\n        dVar24 = dVar23;\n        if (dVar23 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar26 = __fixunsdfdi(dVar23);\n          dVar24 = dVar23;\n          dVar23 = (double)__floatundidf((int)((ulonglong)lVar26 >> 0x20),(int)lVar26);\n          if ((uVar5 == 0) && (dVar24 != dVar23)) {\n            dVar23 = (double)__floatundidf((int)((ulonglong)(lVar26 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar23);\n        uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);\n        dVar23 = dVar24;\n        if (uVar7 < uVar8) {\n          dVar24 = dVar24 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((in_a3 & 8) == 0) || (*(char *)(in_a2 + uVar8 + -1) != '0')) {\n            uVar5 = uVar8 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar24 = dVar23 * dVar25;\n          puVar21 = PTR_LAB_00049218;\n          if (uVar5 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar24 < *(double *)(puVar21 + 0x6760)) {\n          lVar26 = __fixunsdfdi(dVar24);\n          dVar23 = (double)__floatundidf((int)((ulonglong)lVar26 >> 0x20),(int)lVar26);\n          if ((uVar5 == 0) && (dVar23 != dVar24)) {\n            dVar23 = (double)__floatundidf((int)((ulonglong)(lVar26 + 1) >> 0x20));\n          }\n          dVar24 = dVar23;\n          dVar25 = *(double *)(puVar2 + 0x6768);\n        }\n      }\nLAB_0002207c:\n      (*(code *)PTR___sprintf_chk_00049454)\n                (in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar24 / dVar25);\n      uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);\n      uVar5 = uVar8;\n    }\nLAB_00021d4c:\n    pcVar20 = local_88 + -uVar8;\n    (*(code *)PTR_memmove_00049610)(pcVar20,in_a2,uVar8);\n    pcVar16 = pcVar20 + uVar5;\n  }" { (expression_statement "lVar26 = __umoddi3(n._0_4_,n._4_4_,from_block_size._0_4_,from_block_size._4_4_);" (assignment_expression "lVar26 = __umoddi3(n._0_4_,n._4_4_,from_block_size._0_4_,from_block_size._4_4_)" identifier = (call_expression "__umoddi3(n._0_4_,n._4_4_,from_block_size._0_4_,from_block_size._4_4_)" identifier (argument_list "(n._0_4_,n._4_4_,from_block_size._0_4_,from_block_size._4_4_)" ( (field_expression "n._0_4_" identifier . field_identifier) , (field_expression "n._4_4_" identifier . field_identifier) , (field_expression "from_block_size._0_4_" identifier . field_identifier) , (field_expression "from_block_size._4_4_" identifier . field_identifier) )))) ;) (if_statement "if (lVar26 == 0) {\n      lVar26 = __udivdi3(n._0_4_,n._4_4_,from_block_size._0_4_,from_block_size._4_4_);\n      uVar30 = lVar26 * CONCAT44(buf,opts);\n      lVar26 = __udivdi3((int)(uVar30 >> 0x20),(int)uVar30,(int)((ulonglong)lVar26 >> 0x20));\n      if (lVar26 == CONCAT44(buf,opts)) {\n        uVar8 = 0;\n        uVar7 = 0;\n        goto LAB_000223b4;\n      }\n    }" if (parenthesized_expression "(lVar26 == 0)" ( (binary_expression "lVar26 == 0" identifier == number_literal) )) (compound_statement "{\n      lVar26 = __udivdi3(n._0_4_,n._4_4_,from_block_size._0_4_,from_block_size._4_4_);\n      uVar30 = lVar26 * CONCAT44(buf,opts);\n      lVar26 = __udivdi3((int)(uVar30 >> 0x20),(int)uVar30,(int)((ulonglong)lVar26 >> 0x20));\n      if (lVar26 == CONCAT44(buf,opts)) {\n        uVar8 = 0;\n        uVar7 = 0;\n        goto LAB_000223b4;\n      }\n    }" { (expression_statement "lVar26 = __udivdi3(n._0_4_,n._4_4_,from_block_size._0_4_,from_block_size._4_4_);" (assignment_expression "lVar26 = __udivdi3(n._0_4_,n._4_4_,from_block_size._0_4_,from_block_size._4_4_)" identifier = (call_expression "__udivdi3(n._0_4_,n._4_4_,from_block_size._0_4_,from_block_size._4_4_)" identifier (argument_list "(n._0_4_,n._4_4_,from_block_size._0_4_,from_block_size._4_4_)" ( (field_expression "n._0_4_" identifier . field_identifier) , (field_expression "n._4_4_" identifier . field_identifier) , (field_expression "from_block_size._0_4_" identifier . field_identifier) , (field_expression "from_block_size._4_4_" identifier . field_identifier) )))) ;) (expression_statement "uVar30 = lVar26 * CONCAT44(buf,opts);" (assignment_expression "uVar30 = lVar26 * CONCAT44(buf,opts)" identifier = (binary_expression "lVar26 * CONCAT44(buf,opts)" identifier * (call_expression "CONCAT44(buf,opts)" identifier (argument_list "(buf,opts)" ( identifier , identifier ))))) ;) (expression_statement "lVar26 = __udivdi3((int)(uVar30 >> 0x20),(int)uVar30,(int)((ulonglong)lVar26 >> 0x20));" (assignment_expression "lVar26 = __udivdi3((int)(uVar30 >> 0x20),(int)uVar30,(int)((ulonglong)lVar26 >> 0x20))" identifier = (call_expression "__udivdi3((int)(uVar30 >> 0x20),(int)uVar30,(int)((ulonglong)lVar26 >> 0x20))" identifier (argument_list "((int)(uVar30 >> 0x20),(int)uVar30,(int)((ulonglong)lVar26 >> 0x20))" ( (cast_expression "(int)(uVar30 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar30 >> 0x20)" ( (binary_expression "uVar30 >> 0x20" identifier >> number_literal) ))) , (cast_expression "(int)uVar30" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(int)((ulonglong)lVar26 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar26 >> 0x20)" ( (binary_expression "(ulonglong)lVar26 >> 0x20" (cast_expression "(ulonglong)lVar26" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) )))) ;) (if_statement "if (lVar26 == CONCAT44(buf,opts)) {\n        uVar8 = 0;\n        uVar7 = 0;\n        goto LAB_000223b4;\n      }" if (parenthesized_expression "(lVar26 == CONCAT44(buf,opts))" ( (binary_expression "lVar26 == CONCAT44(buf,opts)" identifier == (call_expression "CONCAT44(buf,opts)" identifier (argument_list "(buf,opts)" ( identifier , identifier )))) )) (compound_statement "{\n        uVar8 = 0;\n        uVar7 = 0;\n        goto LAB_000223b4;\n      }" { (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000223b4;" goto statement_identifier ;) })) })) (labeled_statement "LAB_00021ca0:\n    dVar23 = (double)__floatundidf(n._0_4_,n._4_4_);" statement_identifier : (expression_statement "dVar23 = (double)__floatundidf(n._0_4_,n._4_4_);" (assignment_expression "dVar23 = (double)__floatundidf(n._0_4_,n._4_4_)" identifier = (cast_expression "(double)__floatundidf(n._0_4_,n._4_4_)" ( (type_descriptor "double" primitive_type) ) (call_expression "__floatundidf(n._0_4_,n._4_4_)" identifier (argument_list "(n._0_4_,n._4_4_)" ( (field_expression "n._0_4_" identifier . field_identifier) , (field_expression "n._4_4_" identifier . field_identifier) ))))) ;)) (expression_statement "dVar24 = (double)__floatundidf(from_block_size._0_4_,from_block_size._4_4_);" (assignment_expression "dVar24 = (double)__floatundidf(from_block_size._0_4_,from_block_size._4_4_)" identifier = (cast_expression "(double)__floatundidf(from_block_size._0_4_,from_block_size._4_4_)" ( (type_descriptor "double" primitive_type) ) (call_expression "__floatundidf(from_block_size._0_4_,from_block_size._4_4_)" identifier (argument_list "(from_block_size._0_4_,from_block_size._4_4_)" ( (field_expression "from_block_size._0_4_" identifier . field_identifier) , (field_expression "from_block_size._4_4_" identifier . field_identifier) ))))) ;) (expression_statement "dVar23 = dVar23 / dVar24;" (assignment_expression "dVar23 = dVar23 / dVar24" identifier = (binary_expression "dVar23 / dVar24" identifier / identifier)) ;) (expression_statement "dVar24 = (double)__floatundidf(buf,opts);" (assignment_expression "dVar24 = (double)__floatundidf(buf,opts)" identifier = (cast_expression "(double)__floatundidf(buf,opts)" ( (type_descriptor "double" primitive_type) ) (call_expression "__floatundidf(buf,opts)" identifier (argument_list "(buf,opts)" ( identifier , identifier ))))) ;) (expression_statement "puVar21 = PTR_LAB_00049218;" (assignment_expression "puVar21 = PTR_LAB_00049218" identifier = identifier) ;) (expression_statement "dVar23 = dVar23 * dVar24;" (assignment_expression "dVar23 = dVar23 * dVar24" identifier = (binary_expression "dVar23 * dVar24" identifier * identifier)) ;) (if_statement "if ((in_a3 & 0x10) == 0) {\n      dVar24 = dVar23;\n      if (((in_a3 & 3) != 1) && (dVar23 < *(double *)(PTR_LAB_00049218 + 0x6760))) {\n        uVar29 = __fixunsdfdi(dVar23);\n        iVar14 = (int)((ulonglong)uVar29 >> 0x20);\n        uVar5 = (uint)uVar29;\n        dVar24 = (double)__floatundidf(iVar14,uVar5);\n        if (((in_a3 & 3) == 0) && (dVar23 != dVar24)) {\n          dVar24 = (double)__floatundidf((uint)(uVar5 + 1 < uVar5) + iVar14);\n        }\n      }\n      (*(code *)PTR___sprintf_chk_00049454)(in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar24);\n      iVar14 = -1;\n      uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);\n      uVar5 = uVar8;\n    }\n    else {\n      iVar14 = 0;\n      dVar24 = (double)uVar17;\n      do {\n        dVar25 = dVar24;\n        dVar24 = dVar25 * (double)uVar17;\n        iVar14 = iVar14 + 1;\n        if (dVar23 < dVar24) break;\n      } while (iVar14 != 8);\n      dVar23 = dVar23 / dVar25;\n      uVar7 = (uVar11 == 0) + 1 + local_70 + 1;\n      if (uVar5 == 1) {\n        (*(code *)PTR___sprintf_chk_00049454)(in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar23);\n        uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);\n        if (uVar8 <= uVar7) goto LAB_0002232c;\n        dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        dVar24 = dVar23 * dVar25;\n      }\n      else {\n        dVar24 = dVar23;\n        if (dVar23 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar26 = __fixunsdfdi(dVar23);\n          dVar24 = dVar23;\n          dVar23 = (double)__floatundidf((int)((ulonglong)lVar26 >> 0x20),(int)lVar26);\n          if ((uVar5 == 0) && (dVar24 != dVar23)) {\n            dVar23 = (double)__floatundidf((int)((ulonglong)(lVar26 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar23);\n        uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);\n        dVar23 = dVar24;\n        if (uVar7 < uVar8) {\n          dVar24 = dVar24 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((in_a3 & 8) == 0) || (*(char *)(in_a2 + uVar8 + -1) != '0')) {\n            uVar5 = uVar8 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar24 = dVar23 * dVar25;\n          puVar21 = PTR_LAB_00049218;\n          if (uVar5 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar24 < *(double *)(puVar21 + 0x6760)) {\n          lVar26 = __fixunsdfdi(dVar24);\n          dVar23 = (double)__floatundidf((int)((ulonglong)lVar26 >> 0x20),(int)lVar26);\n          if ((uVar5 == 0) && (dVar23 != dVar24)) {\n            dVar23 = (double)__floatundidf((int)((ulonglong)(lVar26 + 1) >> 0x20));\n          }\n          dVar24 = dVar23;\n          dVar25 = *(double *)(puVar2 + 0x6768);\n        }\n      }\nLAB_0002207c:\n      (*(code *)PTR___sprintf_chk_00049454)\n                (in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar24 / dVar25);\n      uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);\n      uVar5 = uVar8;\n    }" if (parenthesized_expression "((in_a3 & 0x10) == 0)" ( (binary_expression "(in_a3 & 0x10) == 0" (parenthesized_expression "(in_a3 & 0x10)" ( (binary_expression "in_a3 & 0x10" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      dVar24 = dVar23;\n      if (((in_a3 & 3) != 1) && (dVar23 < *(double *)(PTR_LAB_00049218 + 0x6760))) {\n        uVar29 = __fixunsdfdi(dVar23);\n        iVar14 = (int)((ulonglong)uVar29 >> 0x20);\n        uVar5 = (uint)uVar29;\n        dVar24 = (double)__floatundidf(iVar14,uVar5);\n        if (((in_a3 & 3) == 0) && (dVar23 != dVar24)) {\n          dVar24 = (double)__floatundidf((uint)(uVar5 + 1 < uVar5) + iVar14);\n        }\n      }\n      (*(code *)PTR___sprintf_chk_00049454)(in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar24);\n      iVar14 = -1;\n      uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);\n      uVar5 = uVar8;\n    }" { (expression_statement "dVar24 = dVar23;" (assignment_expression "dVar24 = dVar23" identifier = identifier) ;) (if_statement "if (((in_a3 & 3) != 1) && (dVar23 < *(double *)(PTR_LAB_00049218 + 0x6760))) {\n        uVar29 = __fixunsdfdi(dVar23);\n        iVar14 = (int)((ulonglong)uVar29 >> 0x20);\n        uVar5 = (uint)uVar29;\n        dVar24 = (double)__floatundidf(iVar14,uVar5);\n        if (((in_a3 & 3) == 0) && (dVar23 != dVar24)) {\n          dVar24 = (double)__floatundidf((uint)(uVar5 + 1 < uVar5) + iVar14);\n        }\n      }" if (parenthesized_expression "(((in_a3 & 3) != 1) && (dVar23 < *(double *)(PTR_LAB_00049218 + 0x6760)))" ( (binary_expression "((in_a3 & 3) != 1) && (dVar23 < *(double *)(PTR_LAB_00049218 + 0x6760))" (parenthesized_expression "((in_a3 & 3) != 1)" ( (binary_expression "(in_a3 & 3) != 1" (parenthesized_expression "(in_a3 & 3)" ( (binary_expression "in_a3 & 3" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "(dVar23 < *(double *)(PTR_LAB_00049218 + 0x6760))" ( (binary_expression "dVar23 < *(double *)(PTR_LAB_00049218 + 0x6760)" identifier < (pointer_expression "*(double *)(PTR_LAB_00049218 + 0x6760)" * (cast_expression "(double *)(PTR_LAB_00049218 + 0x6760)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00049218 + 0x6760)" ( (binary_expression "PTR_LAB_00049218 + 0x6760" identifier + number_literal) ))))) ))) )) (compound_statement "{\n        uVar29 = __fixunsdfdi(dVar23);\n        iVar14 = (int)((ulonglong)uVar29 >> 0x20);\n        uVar5 = (uint)uVar29;\n        dVar24 = (double)__floatundidf(iVar14,uVar5);\n        if (((in_a3 & 3) == 0) && (dVar23 != dVar24)) {\n          dVar24 = (double)__floatundidf((uint)(uVar5 + 1 < uVar5) + iVar14);\n        }\n      }" { (expression_statement "uVar29 = __fixunsdfdi(dVar23);" (assignment_expression "uVar29 = __fixunsdfdi(dVar23)" identifier = (call_expression "__fixunsdfdi(dVar23)" identifier (argument_list "(dVar23)" ( identifier )))) ;) (expression_statement "iVar14 = (int)((ulonglong)uVar29 >> 0x20);" (assignment_expression "iVar14 = (int)((ulonglong)uVar29 >> 0x20)" identifier = (cast_expression "(int)((ulonglong)uVar29 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar29 >> 0x20)" ( (binary_expression "(ulonglong)uVar29 >> 0x20" (cast_expression "(ulonglong)uVar29" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar5 = (uint)uVar29;" (assignment_expression "uVar5 = (uint)uVar29" identifier = (cast_expression "(uint)uVar29" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "dVar24 = (double)__floatundidf(iVar14,uVar5);" (assignment_expression "dVar24 = (double)__floatundidf(iVar14,uVar5)" identifier = (cast_expression "(double)__floatundidf(iVar14,uVar5)" ( (type_descriptor "double" primitive_type) ) (call_expression "__floatundidf(iVar14,uVar5)" identifier (argument_list "(iVar14,uVar5)" ( identifier , identifier ))))) ;) (if_statement "if (((in_a3 & 3) == 0) && (dVar23 != dVar24)) {\n          dVar24 = (double)__floatundidf((uint)(uVar5 + 1 < uVar5) + iVar14);\n        }" if (parenthesized_expression "(((in_a3 & 3) == 0) && (dVar23 != dVar24))" ( (binary_expression "((in_a3 & 3) == 0) && (dVar23 != dVar24)" (parenthesized_expression "((in_a3 & 3) == 0)" ( (binary_expression "(in_a3 & 3) == 0" (parenthesized_expression "(in_a3 & 3)" ( (binary_expression "in_a3 & 3" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(dVar23 != dVar24)" ( (binary_expression "dVar23 != dVar24" identifier != identifier) ))) )) (compound_statement "{\n          dVar24 = (double)__floatundidf((uint)(uVar5 + 1 < uVar5) + iVar14);\n        }" { (expression_statement "dVar24 = (double)__floatundidf((uint)(uVar5 + 1 < uVar5) + iVar14);" (assignment_expression "dVar24 = (double)__floatundidf((uint)(uVar5 + 1 < uVar5) + iVar14)" identifier = (cast_expression "(double)__floatundidf((uint)(uVar5 + 1 < uVar5) + iVar14)" ( (type_descriptor "double" primitive_type) ) (call_expression "__floatundidf((uint)(uVar5 + 1 < uVar5) + iVar14)" identifier (argument_list "((uint)(uVar5 + 1 < uVar5) + iVar14)" ( (binary_expression "(uint)(uVar5 + 1 < uVar5) + iVar14" (call_expression "(uint)(uVar5 + 1 < uVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar5 + 1 < uVar5)" ( (binary_expression "uVar5 + 1 < uVar5" (binary_expression "uVar5 + 1" identifier + number_literal) < identifier) ))) + identifier) ))))) ;) })) })) (expression_statement "(*(code *)PTR___sprintf_chk_00049454)(in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar24);" (call_expression "(*(code *)PTR___sprintf_chk_00049454)(in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar24)" (parenthesized_expression "(*(code *)PTR___sprintf_chk_00049454)" ( (pointer_expression "*(code *)PTR___sprintf_chk_00049454" * (cast_expression "(code *)PTR___sprintf_chk_00049454" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar24)" ( identifier , number_literal , number_literal , (binary_expression "PTR_LAB_00049218 + 0x6700" identifier + number_literal) , identifier ))) ;) (expression_statement "iVar14 = -1;" (assignment_expression "iVar14 = -1" identifier = number_literal) ;) (expression_statement "uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);" (assignment_expression "uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2)" identifier = (call_expression "(*(code *)PTR_strlen_0004953c)(in_a2)" (parenthesized_expression "(*(code *)PTR_strlen_0004953c)" ( (pointer_expression "*(code *)PTR_strlen_0004953c" * (cast_expression "(code *)PTR_strlen_0004953c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(in_a2)" ( identifier )))) ;) (expression_statement "uVar5 = uVar8;" (assignment_expression "uVar5 = uVar8" identifier = identifier) ;) }) (else_clause "else {\n      iVar14 = 0;\n      dVar24 = (double)uVar17;\n      do {\n        dVar25 = dVar24;\n        dVar24 = dVar25 * (double)uVar17;\n        iVar14 = iVar14 + 1;\n        if (dVar23 < dVar24) break;\n      } while (iVar14 != 8);\n      dVar23 = dVar23 / dVar25;\n      uVar7 = (uVar11 == 0) + 1 + local_70 + 1;\n      if (uVar5 == 1) {\n        (*(code *)PTR___sprintf_chk_00049454)(in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar23);\n        uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);\n        if (uVar8 <= uVar7) goto LAB_0002232c;\n        dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        dVar24 = dVar23 * dVar25;\n      }\n      else {\n        dVar24 = dVar23;\n        if (dVar23 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar26 = __fixunsdfdi(dVar23);\n          dVar24 = dVar23;\n          dVar23 = (double)__floatundidf((int)((ulonglong)lVar26 >> 0x20),(int)lVar26);\n          if ((uVar5 == 0) && (dVar24 != dVar23)) {\n            dVar23 = (double)__floatundidf((int)((ulonglong)(lVar26 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar23);\n        uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);\n        dVar23 = dVar24;\n        if (uVar7 < uVar8) {\n          dVar24 = dVar24 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((in_a3 & 8) == 0) || (*(char *)(in_a2 + uVar8 + -1) != '0')) {\n            uVar5 = uVar8 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar24 = dVar23 * dVar25;\n          puVar21 = PTR_LAB_00049218;\n          if (uVar5 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar24 < *(double *)(puVar21 + 0x6760)) {\n          lVar26 = __fixunsdfdi(dVar24);\n          dVar23 = (double)__floatundidf((int)((ulonglong)lVar26 >> 0x20),(int)lVar26);\n          if ((uVar5 == 0) && (dVar23 != dVar24)) {\n            dVar23 = (double)__floatundidf((int)((ulonglong)(lVar26 + 1) >> 0x20));\n          }\n          dVar24 = dVar23;\n          dVar25 = *(double *)(puVar2 + 0x6768);\n        }\n      }\nLAB_0002207c:\n      (*(code *)PTR___sprintf_chk_00049454)\n                (in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar24 / dVar25);\n      uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);\n      uVar5 = uVar8;\n    }" else (compound_statement "{\n      iVar14 = 0;\n      dVar24 = (double)uVar17;\n      do {\n        dVar25 = dVar24;\n        dVar24 = dVar25 * (double)uVar17;\n        iVar14 = iVar14 + 1;\n        if (dVar23 < dVar24) break;\n      } while (iVar14 != 8);\n      dVar23 = dVar23 / dVar25;\n      uVar7 = (uVar11 == 0) + 1 + local_70 + 1;\n      if (uVar5 == 1) {\n        (*(code *)PTR___sprintf_chk_00049454)(in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar23);\n        uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);\n        if (uVar8 <= uVar7) goto LAB_0002232c;\n        dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        dVar24 = dVar23 * dVar25;\n      }\n      else {\n        dVar24 = dVar23;\n        if (dVar23 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar26 = __fixunsdfdi(dVar23);\n          dVar24 = dVar23;\n          dVar23 = (double)__floatundidf((int)((ulonglong)lVar26 >> 0x20),(int)lVar26);\n          if ((uVar5 == 0) && (dVar24 != dVar23)) {\n            dVar23 = (double)__floatundidf((int)((ulonglong)(lVar26 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar23);\n        uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);\n        dVar23 = dVar24;\n        if (uVar7 < uVar8) {\n          dVar24 = dVar24 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((in_a3 & 8) == 0) || (*(char *)(in_a2 + uVar8 + -1) != '0')) {\n            uVar5 = uVar8 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar24 = dVar23 * dVar25;\n          puVar21 = PTR_LAB_00049218;\n          if (uVar5 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar24 < *(double *)(puVar21 + 0x6760)) {\n          lVar26 = __fixunsdfdi(dVar24);\n          dVar23 = (double)__floatundidf((int)((ulonglong)lVar26 >> 0x20),(int)lVar26);\n          if ((uVar5 == 0) && (dVar23 != dVar24)) {\n            dVar23 = (double)__floatundidf((int)((ulonglong)(lVar26 + 1) >> 0x20));\n          }\n          dVar24 = dVar23;\n          dVar25 = *(double *)(puVar2 + 0x6768);\n        }\n      }\nLAB_0002207c:\n      (*(code *)PTR___sprintf_chk_00049454)\n                (in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar24 / dVar25);\n      uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);\n      uVar5 = uVar8;\n    }" { (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (expression_statement "dVar24 = (double)uVar17;" (assignment_expression "dVar24 = (double)uVar17" identifier = (cast_expression "(double)uVar17" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (do_statement "do {\n        dVar25 = dVar24;\n        dVar24 = dVar25 * (double)uVar17;\n        iVar14 = iVar14 + 1;\n        if (dVar23 < dVar24) break;\n      } while (iVar14 != 8);" do (compound_statement "{\n        dVar25 = dVar24;\n        dVar24 = dVar25 * (double)uVar17;\n        iVar14 = iVar14 + 1;\n        if (dVar23 < dVar24) break;\n      }" { (expression_statement "dVar25 = dVar24;" (assignment_expression "dVar25 = dVar24" identifier = identifier) ;) (expression_statement "dVar24 = dVar25 * (double)uVar17;" (assignment_expression "dVar24 = dVar25 * (double)uVar17" identifier = (binary_expression "dVar25 * (double)uVar17" identifier * (cast_expression "(double)uVar17" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "iVar14 = iVar14 + 1;" (assignment_expression "iVar14 = iVar14 + 1" identifier = (binary_expression "iVar14 + 1" identifier + number_literal)) ;) (if_statement "if (dVar23 < dVar24) break;" if (parenthesized_expression "(dVar23 < dVar24)" ( (binary_expression "dVar23 < dVar24" identifier < identifier) )) (break_statement "break;" break ;)) }) while (parenthesized_expression "(iVar14 != 8)" ( (binary_expression "iVar14 != 8" identifier != number_literal) )) ;) (expression_statement "dVar23 = dVar23 / dVar25;" (assignment_expression "dVar23 = dVar23 / dVar25" identifier = (binary_expression "dVar23 / dVar25" identifier / identifier)) ;) (expression_statement "uVar7 = (uVar11 == 0) + 1 + local_70 + 1;" (assignment_expression "uVar7 = (uVar11 == 0) + 1 + local_70 + 1" identifier = (binary_expression "(uVar11 == 0) + 1 + local_70 + 1" (binary_expression "(uVar11 == 0) + 1 + local_70" (binary_expression "(uVar11 == 0) + 1" (parenthesized_expression "(uVar11 == 0)" ( (binary_expression "uVar11 == 0" identifier == number_literal) )) + number_literal) + identifier) + number_literal)) ;) (if_statement "if (uVar5 == 1) {\n        (*(code *)PTR___sprintf_chk_00049454)(in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar23);\n        uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);\n        if (uVar8 <= uVar7) goto LAB_0002232c;\n        dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        dVar24 = dVar23 * dVar25;\n      }\n      else {\n        dVar24 = dVar23;\n        if (dVar23 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar26 = __fixunsdfdi(dVar23);\n          dVar24 = dVar23;\n          dVar23 = (double)__floatundidf((int)((ulonglong)lVar26 >> 0x20),(int)lVar26);\n          if ((uVar5 == 0) && (dVar24 != dVar23)) {\n            dVar23 = (double)__floatundidf((int)((ulonglong)(lVar26 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar23);\n        uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);\n        dVar23 = dVar24;\n        if (uVar7 < uVar8) {\n          dVar24 = dVar24 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((in_a3 & 8) == 0) || (*(char *)(in_a2 + uVar8 + -1) != '0')) {\n            uVar5 = uVar8 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar24 = dVar23 * dVar25;\n          puVar21 = PTR_LAB_00049218;\n          if (uVar5 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar24 < *(double *)(puVar21 + 0x6760)) {\n          lVar26 = __fixunsdfdi(dVar24);\n          dVar23 = (double)__floatundidf((int)((ulonglong)lVar26 >> 0x20),(int)lVar26);\n          if ((uVar5 == 0) && (dVar23 != dVar24)) {\n            dVar23 = (double)__floatundidf((int)((ulonglong)(lVar26 + 1) >> 0x20));\n          }\n          dVar24 = dVar23;\n          dVar25 = *(double *)(puVar2 + 0x6768);\n        }\n      }" if (parenthesized_expression "(uVar5 == 1)" ( (binary_expression "uVar5 == 1" identifier == number_literal) )) (compound_statement "{\n        (*(code *)PTR___sprintf_chk_00049454)(in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar23);\n        uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);\n        if (uVar8 <= uVar7) goto LAB_0002232c;\n        dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        dVar24 = dVar23 * dVar25;\n      }" { (expression_statement "(*(code *)PTR___sprintf_chk_00049454)(in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar23);" (call_expression "(*(code *)PTR___sprintf_chk_00049454)(in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar23)" (parenthesized_expression "(*(code *)PTR___sprintf_chk_00049454)" ( (pointer_expression "*(code *)PTR___sprintf_chk_00049454" * (cast_expression "(code *)PTR___sprintf_chk_00049454" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar23)" ( identifier , number_literal , number_literal , (binary_expression "PTR_LAB_00049218 + 0x6708" identifier + number_literal) , identifier ))) ;) (expression_statement "uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);" (assignment_expression "uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2)" identifier = (call_expression "(*(code *)PTR_strlen_0004953c)(in_a2)" (parenthesized_expression "(*(code *)PTR_strlen_0004953c)" ( (pointer_expression "*(code *)PTR_strlen_0004953c" * (cast_expression "(code *)PTR_strlen_0004953c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(in_a2)" ( identifier )))) ;) (if_statement "if (uVar8 <= uVar7) goto LAB_0002232c;" if (parenthesized_expression "(uVar8 <= uVar7)" ( (binary_expression "uVar8 <= uVar7" identifier <= identifier) )) (goto_statement "goto LAB_0002232c;" goto statement_identifier ;)) (expression_statement "dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768);" (assignment_expression "dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768)" identifier = (pointer_expression "*(double *)(PTR_LAB_00049218 + 0x6768)" * (cast_expression "(double *)(PTR_LAB_00049218 + 0x6768)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00049218 + 0x6768)" ( (binary_expression "PTR_LAB_00049218 + 0x6768" identifier + number_literal) ))))) ;) (expression_statement "dVar24 = dVar23 * dVar25;" (assignment_expression "dVar24 = dVar23 * dVar25" identifier = (binary_expression "dVar23 * dVar25" identifier * identifier)) ;) }) (else_clause "else {\n        dVar24 = dVar23;\n        if (dVar23 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar26 = __fixunsdfdi(dVar23);\n          dVar24 = dVar23;\n          dVar23 = (double)__floatundidf((int)((ulonglong)lVar26 >> 0x20),(int)lVar26);\n          if ((uVar5 == 0) && (dVar24 != dVar23)) {\n            dVar23 = (double)__floatundidf((int)((ulonglong)(lVar26 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar23);\n        uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);\n        dVar23 = dVar24;\n        if (uVar7 < uVar8) {\n          dVar24 = dVar24 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((in_a3 & 8) == 0) || (*(char *)(in_a2 + uVar8 + -1) != '0')) {\n            uVar5 = uVar8 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar24 = dVar23 * dVar25;\n          puVar21 = PTR_LAB_00049218;\n          if (uVar5 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar24 < *(double *)(puVar21 + 0x6760)) {\n          lVar26 = __fixunsdfdi(dVar24);\n          dVar23 = (double)__floatundidf((int)((ulonglong)lVar26 >> 0x20),(int)lVar26);\n          if ((uVar5 == 0) && (dVar23 != dVar24)) {\n            dVar23 = (double)__floatundidf((int)((ulonglong)(lVar26 + 1) >> 0x20));\n          }\n          dVar24 = dVar23;\n          dVar25 = *(double *)(puVar2 + 0x6768);\n        }\n      }" else (compound_statement "{\n        dVar24 = dVar23;\n        if (dVar23 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar26 = __fixunsdfdi(dVar23);\n          dVar24 = dVar23;\n          dVar23 = (double)__floatundidf((int)((ulonglong)lVar26 >> 0x20),(int)lVar26);\n          if ((uVar5 == 0) && (dVar24 != dVar23)) {\n            dVar23 = (double)__floatundidf((int)((ulonglong)(lVar26 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar23);\n        uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);\n        dVar23 = dVar24;\n        if (uVar7 < uVar8) {\n          dVar24 = dVar24 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((in_a3 & 8) == 0) || (*(char *)(in_a2 + uVar8 + -1) != '0')) {\n            uVar5 = uVar8 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar24 = dVar23 * dVar25;\n          puVar21 = PTR_LAB_00049218;\n          if (uVar5 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar24 < *(double *)(puVar21 + 0x6760)) {\n          lVar26 = __fixunsdfdi(dVar24);\n          dVar23 = (double)__floatundidf((int)((ulonglong)lVar26 >> 0x20),(int)lVar26);\n          if ((uVar5 == 0) && (dVar23 != dVar24)) {\n            dVar23 = (double)__floatundidf((int)((ulonglong)(lVar26 + 1) >> 0x20));\n          }\n          dVar24 = dVar23;\n          dVar25 = *(double *)(puVar2 + 0x6768);\n        }\n      }" { (expression_statement "dVar24 = dVar23;" (assignment_expression "dVar24 = dVar23" identifier = identifier) ;) (if_statement "if (dVar23 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar26 = __fixunsdfdi(dVar23);\n          dVar24 = dVar23;\n          dVar23 = (double)__floatundidf((int)((ulonglong)lVar26 >> 0x20),(int)lVar26);\n          if ((uVar5 == 0) && (dVar24 != dVar23)) {\n            dVar23 = (double)__floatundidf((int)((ulonglong)(lVar26 + 1) >> 0x20));\n          }\n        }" if (parenthesized_expression "(dVar23 < *(double *)(PTR_LAB_00049218 + 0x6760))" ( (binary_expression "dVar23 < *(double *)(PTR_LAB_00049218 + 0x6760)" identifier < (pointer_expression "*(double *)(PTR_LAB_00049218 + 0x6760)" * (cast_expression "(double *)(PTR_LAB_00049218 + 0x6760)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00049218 + 0x6760)" ( (binary_expression "PTR_LAB_00049218 + 0x6760" identifier + number_literal) ))))) )) (compound_statement "{\n          lVar26 = __fixunsdfdi(dVar23);\n          dVar24 = dVar23;\n          dVar23 = (double)__floatundidf((int)((ulonglong)lVar26 >> 0x20),(int)lVar26);\n          if ((uVar5 == 0) && (dVar24 != dVar23)) {\n            dVar23 = (double)__floatundidf((int)((ulonglong)(lVar26 + 1) >> 0x20));\n          }\n        }" { (expression_statement "lVar26 = __fixunsdfdi(dVar23);" (assignment_expression "lVar26 = __fixunsdfdi(dVar23)" identifier = (call_expression "__fixunsdfdi(dVar23)" identifier (argument_list "(dVar23)" ( identifier )))) ;) (expression_statement "dVar24 = dVar23;" (assignment_expression "dVar24 = dVar23" identifier = identifier) ;) (expression_statement "dVar23 = (double)__floatundidf((int)((ulonglong)lVar26 >> 0x20),(int)lVar26);" (assignment_expression "dVar23 = (double)__floatundidf((int)((ulonglong)lVar26 >> 0x20),(int)lVar26)" identifier = (cast_expression "(double)__floatundidf((int)((ulonglong)lVar26 >> 0x20),(int)lVar26)" ( (type_descriptor "double" primitive_type) ) (call_expression "__floatundidf((int)((ulonglong)lVar26 >> 0x20),(int)lVar26)" identifier (argument_list "((int)((ulonglong)lVar26 >> 0x20),(int)lVar26)" ( (cast_expression "(int)((ulonglong)lVar26 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar26 >> 0x20)" ( (binary_expression "(ulonglong)lVar26 >> 0x20" (cast_expression "(ulonglong)lVar26" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (cast_expression "(int)lVar26" ( (type_descriptor "int" primitive_type) ) identifier) ))))) ;) (if_statement "if ((uVar5 == 0) && (dVar24 != dVar23)) {\n            dVar23 = (double)__floatundidf((int)((ulonglong)(lVar26 + 1) >> 0x20));\n          }" if (parenthesized_expression "((uVar5 == 0) && (dVar24 != dVar23))" ( (binary_expression "(uVar5 == 0) && (dVar24 != dVar23)" (parenthesized_expression "(uVar5 == 0)" ( (binary_expression "uVar5 == 0" identifier == number_literal) )) && (parenthesized_expression "(dVar24 != dVar23)" ( (binary_expression "dVar24 != dVar23" identifier != identifier) ))) )) (compound_statement "{\n            dVar23 = (double)__floatundidf((int)((ulonglong)(lVar26 + 1) >> 0x20));\n          }" { (expression_statement "dVar23 = (double)__floatundidf((int)((ulonglong)(lVar26 + 1) >> 0x20));" (assignment_expression "dVar23 = (double)__floatundidf((int)((ulonglong)(lVar26 + 1) >> 0x20))" identifier = (cast_expression "(double)__floatundidf((int)((ulonglong)(lVar26 + 1) >> 0x20))" ( (type_descriptor "double" primitive_type) ) (call_expression "__floatundidf((int)((ulonglong)(lVar26 + 1) >> 0x20))" identifier (argument_list "((int)((ulonglong)(lVar26 + 1) >> 0x20))" ( (cast_expression "(int)((ulonglong)(lVar26 + 1) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(lVar26 + 1) >> 0x20)" ( (binary_expression "(ulonglong)(lVar26 + 1) >> 0x20" (call_expression "(ulonglong)(lVar26 + 1)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(lVar26 + 1)" ( (binary_expression "lVar26 + 1" identifier + number_literal) ))) >> number_literal) ))) ))))) ;) })) })) (expression_statement "(*(code *)PTR___sprintf_chk_00049454)(in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar23);" (call_expression "(*(code *)PTR___sprintf_chk_00049454)(in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar23)" (parenthesized_expression "(*(code *)PTR___sprintf_chk_00049454)" ( (pointer_expression "*(code *)PTR___sprintf_chk_00049454" * (cast_expression "(code *)PTR___sprintf_chk_00049454" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar23)" ( identifier , number_literal , number_literal , (binary_expression "PTR_LAB_00049218 + 0x6708" identifier + number_literal) , identifier ))) ;) (expression_statement "uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);" (assignment_expression "uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2)" identifier = (call_expression "(*(code *)PTR_strlen_0004953c)(in_a2)" (parenthesized_expression "(*(code *)PTR_strlen_0004953c)" ( (pointer_expression "*(code *)PTR_strlen_0004953c" * (cast_expression "(code *)PTR_strlen_0004953c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(in_a2)" ( identifier )))) ;) (expression_statement "dVar23 = dVar24;" (assignment_expression "dVar23 = dVar24" identifier = identifier) ;) (if_statement "if (uVar7 < uVar8) {\n          dVar24 = dVar24 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((in_a3 & 8) == 0) || (*(char *)(in_a2 + uVar8 + -1) != '0')) {\n            uVar5 = uVar8 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar24 = dVar23 * dVar25;\n          puVar21 = PTR_LAB_00049218;\n          if (uVar5 == 1) goto LAB_0002207c;\n        }" if (parenthesized_expression "(uVar7 < uVar8)" ( (binary_expression "uVar7 < uVar8" identifier < identifier) )) (compound_statement "{\n          dVar24 = dVar24 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }" { (expression_statement "dVar24 = dVar24 * *(double *)(PTR_LAB_00049218 + 0x6768);" (assignment_expression "dVar24 = dVar24 * *(double *)(PTR_LAB_00049218 + 0x6768)" identifier = (binary_expression "dVar24 * *(double *)(PTR_LAB_00049218 + 0x6768)" identifier * (pointer_expression "*(double *)(PTR_LAB_00049218 + 0x6768)" * (cast_expression "(double *)(PTR_LAB_00049218 + 0x6768)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00049218 + 0x6768)" ( (binary_expression "PTR_LAB_00049218 + 0x6768" identifier + number_literal) )))))) ;) }) (else_clause "else {\nLAB_0002232c:\n          if (((in_a3 & 8) == 0) || (*(char *)(in_a2 + uVar8 + -1) != '0')) {\n            uVar5 = uVar8 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar24 = dVar23 * dVar25;\n          puVar21 = PTR_LAB_00049218;\n          if (uVar5 == 1) goto LAB_0002207c;\n        }" else (compound_statement "{\nLAB_0002232c:\n          if (((in_a3 & 8) == 0) || (*(char *)(in_a2 + uVar8 + -1) != '0')) {\n            uVar5 = uVar8 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar24 = dVar23 * dVar25;\n          puVar21 = PTR_LAB_00049218;\n          if (uVar5 == 1) goto LAB_0002207c;\n        }" { (labeled_statement "LAB_0002232c:\n          if (((in_a3 & 8) == 0) || (*(char *)(in_a2 + uVar8 + -1) != '0')) {\n            uVar5 = uVar8 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }" statement_identifier : (if_statement "if (((in_a3 & 8) == 0) || (*(char *)(in_a2 + uVar8 + -1) != '0')) {\n            uVar5 = uVar8 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }" if (parenthesized_expression "(((in_a3 & 8) == 0) || (*(char *)(in_a2 + uVar8 + -1) != '0'))" ( (binary_expression "((in_a3 & 8) == 0) || (*(char *)(in_a2 + uVar8 + -1) != '0')" (parenthesized_expression "((in_a3 & 8) == 0)" ( (binary_expression "(in_a3 & 8) == 0" (parenthesized_expression "(in_a3 & 8)" ( (binary_expression "in_a3 & 8" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "(*(char *)(in_a2 + uVar8 + -1) != '0')" ( (binary_expression "*(char *)(in_a2 + uVar8 + -1) != '0'" (pointer_expression "*(char *)(in_a2 + uVar8 + -1)" * (cast_expression "(char *)(in_a2 + uVar8 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_a2 + uVar8 + -1)" ( (binary_expression "in_a2 + uVar8 + -1" (binary_expression "in_a2 + uVar8" identifier + identifier) + number_literal) )))) != (char_literal "'0'" ' character ')) ))) )) (compound_statement "{\n            uVar5 = uVar8 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }" { (expression_statement "uVar5 = uVar8 - (local_70 + 1);" (assignment_expression "uVar5 = uVar8 - (local_70 + 1)" identifier = (binary_expression "uVar8 - (local_70 + 1)" identifier - (parenthesized_expression "(local_70 + 1)" ( (binary_expression "local_70 + 1" identifier + number_literal) )))) ;) (goto_statement "goto LAB_00021d4c;" goto statement_identifier ;) }))) (expression_statement "dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768);" (assignment_expression "dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768)" identifier = (pointer_expression "*(double *)(PTR_LAB_00049218 + 0x6768)" * (cast_expression "(double *)(PTR_LAB_00049218 + 0x6768)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00049218 + 0x6768)" ( (binary_expression "PTR_LAB_00049218 + 0x6768" identifier + number_literal) ))))) ;) (expression_statement "dVar24 = dVar23 * dVar25;" (assignment_expression "dVar24 = dVar23 * dVar25" identifier = (binary_expression "dVar23 * dVar25" identifier * identifier)) ;) (expression_statement "puVar21 = PTR_LAB_00049218;" (assignment_expression "puVar21 = PTR_LAB_00049218" identifier = identifier) ;) (if_statement "if (uVar5 == 1) goto LAB_0002207c;" if (parenthesized_expression "(uVar5 == 1)" ( (binary_expression "uVar5 == 1" identifier == number_literal) )) (goto_statement "goto LAB_0002207c;" goto statement_identifier ;)) }))) (expression_statement "puVar2 = PTR_LAB_00049218;" (assignment_expression "puVar2 = PTR_LAB_00049218" identifier = identifier) ;) (expression_statement "dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768);" (assignment_expression "dVar25 = *(double *)(PTR_LAB_00049218 + 0x6768)" identifier = (pointer_expression "*(double *)(PTR_LAB_00049218 + 0x6768)" * (cast_expression "(double *)(PTR_LAB_00049218 + 0x6768)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00049218 + 0x6768)" ( (binary_expression "PTR_LAB_00049218 + 0x6768" identifier + number_literal) ))))) ;) (if_statement "if (dVar24 < *(double *)(puVar21 + 0x6760)) {\n          lVar26 = __fixunsdfdi(dVar24);\n          dVar23 = (double)__floatundidf((int)((ulonglong)lVar26 >> 0x20),(int)lVar26);\n          if ((uVar5 == 0) && (dVar23 != dVar24)) {\n            dVar23 = (double)__floatundidf((int)((ulonglong)(lVar26 + 1) >> 0x20));\n          }\n          dVar24 = dVar23;\n          dVar25 = *(double *)(puVar2 + 0x6768);\n        }" if (parenthesized_expression "(dVar24 < *(double *)(puVar21 + 0x6760))" ( (binary_expression "dVar24 < *(double *)(puVar21 + 0x6760)" identifier < (pointer_expression "*(double *)(puVar21 + 0x6760)" * (cast_expression "(double *)(puVar21 + 0x6760)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x6760)" ( (binary_expression "puVar21 + 0x6760" identifier + number_literal) ))))) )) (compound_statement "{\n          lVar26 = __fixunsdfdi(dVar24);\n          dVar23 = (double)__floatundidf((int)((ulonglong)lVar26 >> 0x20),(int)lVar26);\n          if ((uVar5 == 0) && (dVar23 != dVar24)) {\n            dVar23 = (double)__floatundidf((int)((ulonglong)(lVar26 + 1) >> 0x20));\n          }\n          dVar24 = dVar23;\n          dVar25 = *(double *)(puVar2 + 0x6768);\n        }" { (expression_statement "lVar26 = __fixunsdfdi(dVar24);" (assignment_expression "lVar26 = __fixunsdfdi(dVar24)" identifier = (call_expression "__fixunsdfdi(dVar24)" identifier (argument_list "(dVar24)" ( identifier )))) ;) (expression_statement "dVar23 = (double)__floatundidf((int)((ulonglong)lVar26 >> 0x20),(int)lVar26);" (assignment_expression "dVar23 = (double)__floatundidf((int)((ulonglong)lVar26 >> 0x20),(int)lVar26)" identifier = (cast_expression "(double)__floatundidf((int)((ulonglong)lVar26 >> 0x20),(int)lVar26)" ( (type_descriptor "double" primitive_type) ) (call_expression "__floatundidf((int)((ulonglong)lVar26 >> 0x20),(int)lVar26)" identifier (argument_list "((int)((ulonglong)lVar26 >> 0x20),(int)lVar26)" ( (cast_expression "(int)((ulonglong)lVar26 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar26 >> 0x20)" ( (binary_expression "(ulonglong)lVar26 >> 0x20" (cast_expression "(ulonglong)lVar26" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (cast_expression "(int)lVar26" ( (type_descriptor "int" primitive_type) ) identifier) ))))) ;) (if_statement "if ((uVar5 == 0) && (dVar23 != dVar24)) {\n            dVar23 = (double)__floatundidf((int)((ulonglong)(lVar26 + 1) >> 0x20));\n          }" if (parenthesized_expression "((uVar5 == 0) && (dVar23 != dVar24))" ( (binary_expression "(uVar5 == 0) && (dVar23 != dVar24)" (parenthesized_expression "(uVar5 == 0)" ( (binary_expression "uVar5 == 0" identifier == number_literal) )) && (parenthesized_expression "(dVar23 != dVar24)" ( (binary_expression "dVar23 != dVar24" identifier != identifier) ))) )) (compound_statement "{\n            dVar23 = (double)__floatundidf((int)((ulonglong)(lVar26 + 1) >> 0x20));\n          }" { (expression_statement "dVar23 = (double)__floatundidf((int)((ulonglong)(lVar26 + 1) >> 0x20));" (assignment_expression "dVar23 = (double)__floatundidf((int)((ulonglong)(lVar26 + 1) >> 0x20))" identifier = (cast_expression "(double)__floatundidf((int)((ulonglong)(lVar26 + 1) >> 0x20))" ( (type_descriptor "double" primitive_type) ) (call_expression "__floatundidf((int)((ulonglong)(lVar26 + 1) >> 0x20))" identifier (argument_list "((int)((ulonglong)(lVar26 + 1) >> 0x20))" ( (cast_expression "(int)((ulonglong)(lVar26 + 1) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(lVar26 + 1) >> 0x20)" ( (binary_expression "(ulonglong)(lVar26 + 1) >> 0x20" (call_expression "(ulonglong)(lVar26 + 1)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(lVar26 + 1)" ( (binary_expression "lVar26 + 1" identifier + number_literal) ))) >> number_literal) ))) ))))) ;) })) (expression_statement "dVar24 = dVar23;" (assignment_expression "dVar24 = dVar23" identifier = identifier) ;) (expression_statement "dVar25 = *(double *)(puVar2 + 0x6768);" (assignment_expression "dVar25 = *(double *)(puVar2 + 0x6768)" identifier = (pointer_expression "*(double *)(puVar2 + 0x6768)" * (cast_expression "(double *)(puVar2 + 0x6768)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0x6768)" ( (binary_expression "puVar2 + 0x6768" identifier + number_literal) ))))) ;) })) }))) (labeled_statement "LAB_0002207c:\n      (*(code *)PTR___sprintf_chk_00049454)\n                (in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar24 / dVar25);" statement_identifier : (expression_statement "(*(code *)PTR___sprintf_chk_00049454)\n                (in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar24 / dVar25);" (call_expression "(*(code *)PTR___sprintf_chk_00049454)\n                (in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar24 / dVar25)" (parenthesized_expression "(*(code *)PTR___sprintf_chk_00049454)" ( (pointer_expression "*(code *)PTR___sprintf_chk_00049454" * (cast_expression "(code *)PTR___sprintf_chk_00049454" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(in_a2,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar24 / dVar25)" ( identifier , number_literal , number_literal , (binary_expression "PTR_LAB_00049218 + 0x6700" identifier + number_literal) , (binary_expression "dVar24 / dVar25" identifier / identifier) ))) ;)) (expression_statement "uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2);" (assignment_expression "uVar8 = (*(code *)PTR_strlen_0004953c)(in_a2)" identifier = (call_expression "(*(code *)PTR_strlen_0004953c)(in_a2)" (parenthesized_expression "(*(code *)PTR_strlen_0004953c)" ( (pointer_expression "*(code *)PTR_strlen_0004953c" * (cast_expression "(code *)PTR_strlen_0004953c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(in_a2)" ( identifier )))) ;) (expression_statement "uVar5 = uVar8;" (assignment_expression "uVar5 = uVar8" identifier = identifier) ;) }))) (labeled_statement "LAB_00021d4c:\n    pcVar20 = local_88 + -uVar8;" statement_identifier : (expression_statement "pcVar20 = local_88 + -uVar8;" (assignment_expression "pcVar20 = local_88 + -uVar8" identifier = (binary_expression "local_88 + -uVar8" identifier + (unary_expression "-uVar8" - identifier))) ;)) (expression_statement "(*(code *)PTR_memmove_00049610)(pcVar20,in_a2,uVar8);" (call_expression "(*(code *)PTR_memmove_00049610)(pcVar20,in_a2,uVar8)" (parenthesized_expression "(*(code *)PTR_memmove_00049610)" ( (pointer_expression "*(code *)PTR_memmove_00049610" * (cast_expression "(code *)PTR_memmove_00049610" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar20,in_a2,uVar8)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar16 = pcVar20 + uVar5;" (assignment_expression "pcVar16 = pcVar20 + uVar5" identifier = (binary_expression "pcVar20 + uVar5" identifier + identifier)) ;) }))) (if_statement "if ((in_a3 & 4) != 0) {\n    uVar7 = (int)pcVar16 - (int)pcVar20;\n    iVar9 = (*(code *)PTR_strlen_0004953c)(local_7c);\n    (*(code *)PTR___memcpy_chk_00049558)(buf_1,pcVar20,uVar7,0x29);\n    uVar5 = 0xffffffff;\n    while( true ) {\n      uVar8 = (uint)*pbVar18;\n      if (uVar8 != 0) {\n        uVar5 = uVar8;\n        if (0x7e < uVar8) {\n          uVar5 = uVar7;\n        }\n        pbVar18 = pbVar18 + 1;\n      }\n      if (uVar7 < uVar5) break;\n      uVar7 = uVar7 - uVar5;\n      pcVar20 = pcVar16 + -uVar5;\n      (*(code *)PTR_memcpy_00049600)(pcVar20,buf_1 + uVar7,uVar5);\n      if (uVar7 == 0) goto LAB_00021d7c;\n      pcVar16 = pcVar20 + -iVar9;\n      (*(code *)PTR_memcpy_00049600)(pcVar16,local_7c,iVar9);\n    }\n    pcVar20 = pcVar16 + -uVar7;\n    (*(code *)PTR_memcpy_00049600)(pcVar20,buf_1,uVar7);\n  }" if (parenthesized_expression "((in_a3 & 4) != 0)" ( (binary_expression "(in_a3 & 4) != 0" (parenthesized_expression "(in_a3 & 4)" ( (binary_expression "in_a3 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    uVar7 = (int)pcVar16 - (int)pcVar20;\n    iVar9 = (*(code *)PTR_strlen_0004953c)(local_7c);\n    (*(code *)PTR___memcpy_chk_00049558)(buf_1,pcVar20,uVar7,0x29);\n    uVar5 = 0xffffffff;\n    while( true ) {\n      uVar8 = (uint)*pbVar18;\n      if (uVar8 != 0) {\n        uVar5 = uVar8;\n        if (0x7e < uVar8) {\n          uVar5 = uVar7;\n        }\n        pbVar18 = pbVar18 + 1;\n      }\n      if (uVar7 < uVar5) break;\n      uVar7 = uVar7 - uVar5;\n      pcVar20 = pcVar16 + -uVar5;\n      (*(code *)PTR_memcpy_00049600)(pcVar20,buf_1 + uVar7,uVar5);\n      if (uVar7 == 0) goto LAB_00021d7c;\n      pcVar16 = pcVar20 + -iVar9;\n      (*(code *)PTR_memcpy_00049600)(pcVar16,local_7c,iVar9);\n    }\n    pcVar20 = pcVar16 + -uVar7;\n    (*(code *)PTR_memcpy_00049600)(pcVar20,buf_1,uVar7);\n  }" { (expression_statement "uVar7 = (int)pcVar16 - (int)pcVar20;" (assignment_expression "uVar7 = (int)pcVar16 - (int)pcVar20" identifier = (binary_expression "(int)pcVar16 - (int)pcVar20" (cast_expression "(int)pcVar16" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar20" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "iVar9 = (*(code *)PTR_strlen_0004953c)(local_7c);" (assignment_expression "iVar9 = (*(code *)PTR_strlen_0004953c)(local_7c)" identifier = (call_expression "(*(code *)PTR_strlen_0004953c)(local_7c)" (parenthesized_expression "(*(code *)PTR_strlen_0004953c)" ( (pointer_expression "*(code *)PTR_strlen_0004953c" * (cast_expression "(code *)PTR_strlen_0004953c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_7c)" ( identifier )))) ;) (expression_statement "(*(code *)PTR___memcpy_chk_00049558)(buf_1,pcVar20,uVar7,0x29);" (call_expression "(*(code *)PTR___memcpy_chk_00049558)(buf_1,pcVar20,uVar7,0x29)" (parenthesized_expression "(*(code *)PTR___memcpy_chk_00049558)" ( (pointer_expression "*(code *)PTR___memcpy_chk_00049558" * (cast_expression "(code *)PTR___memcpy_chk_00049558" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(buf_1,pcVar20,uVar7,0x29)" ( identifier , identifier , identifier , number_literal ))) ;) (expression_statement "uVar5 = 0xffffffff;" (assignment_expression "uVar5 = 0xffffffff" identifier = number_literal) ;) (while_statement "while( true ) {\n      uVar8 = (uint)*pbVar18;\n      if (uVar8 != 0) {\n        uVar5 = uVar8;\n        if (0x7e < uVar8) {\n          uVar5 = uVar7;\n        }\n        pbVar18 = pbVar18 + 1;\n      }\n      if (uVar7 < uVar5) break;\n      uVar7 = uVar7 - uVar5;\n      pcVar20 = pcVar16 + -uVar5;\n      (*(code *)PTR_memcpy_00049600)(pcVar20,buf_1 + uVar7,uVar5);\n      if (uVar7 == 0) goto LAB_00021d7c;\n      pcVar16 = pcVar20 + -iVar9;\n      (*(code *)PTR_memcpy_00049600)(pcVar16,local_7c,iVar9);\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      uVar8 = (uint)*pbVar18;\n      if (uVar8 != 0) {\n        uVar5 = uVar8;\n        if (0x7e < uVar8) {\n          uVar5 = uVar7;\n        }\n        pbVar18 = pbVar18 + 1;\n      }\n      if (uVar7 < uVar5) break;\n      uVar7 = uVar7 - uVar5;\n      pcVar20 = pcVar16 + -uVar5;\n      (*(code *)PTR_memcpy_00049600)(pcVar20,buf_1 + uVar7,uVar5);\n      if (uVar7 == 0) goto LAB_00021d7c;\n      pcVar16 = pcVar20 + -iVar9;\n      (*(code *)PTR_memcpy_00049600)(pcVar16,local_7c,iVar9);\n    }" { (expression_statement "uVar8 = (uint)*pbVar18;" (assignment_expression "uVar8 = (uint)*pbVar18" identifier = (binary_expression "(uint)*pbVar18" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if (uVar8 != 0) {\n        uVar5 = uVar8;\n        if (0x7e < uVar8) {\n          uVar5 = uVar7;\n        }\n        pbVar18 = pbVar18 + 1;\n      }" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar5 = uVar8;\n        if (0x7e < uVar8) {\n          uVar5 = uVar7;\n        }\n        pbVar18 = pbVar18 + 1;\n      }" { (expression_statement "uVar5 = uVar8;" (assignment_expression "uVar5 = uVar8" identifier = identifier) ;) (if_statement "if (0x7e < uVar8) {\n          uVar5 = uVar7;\n        }" if (parenthesized_expression "(0x7e < uVar8)" ( (binary_expression "0x7e < uVar8" number_literal < identifier) )) (compound_statement "{\n          uVar5 = uVar7;\n        }" { (expression_statement "uVar5 = uVar7;" (assignment_expression "uVar5 = uVar7" identifier = identifier) ;) })) (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) })) (if_statement "if (uVar7 < uVar5) break;" if (parenthesized_expression "(uVar7 < uVar5)" ( (binary_expression "uVar7 < uVar5" identifier < identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar7 = uVar7 - uVar5;" (assignment_expression "uVar7 = uVar7 - uVar5" identifier = (binary_expression "uVar7 - uVar5" identifier - identifier)) ;) (expression_statement "pcVar20 = pcVar16 + -uVar5;" (assignment_expression "pcVar20 = pcVar16 + -uVar5" identifier = (binary_expression "pcVar16 + -uVar5" identifier + (unary_expression "-uVar5" - identifier))) ;) (expression_statement "(*(code *)PTR_memcpy_00049600)(pcVar20,buf_1 + uVar7,uVar5);" (call_expression "(*(code *)PTR_memcpy_00049600)(pcVar20,buf_1 + uVar7,uVar5)" (parenthesized_expression "(*(code *)PTR_memcpy_00049600)" ( (pointer_expression "*(code *)PTR_memcpy_00049600" * (cast_expression "(code *)PTR_memcpy_00049600" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar20,buf_1 + uVar7,uVar5)" ( identifier , (binary_expression "buf_1 + uVar7" identifier + identifier) , identifier ))) ;) (if_statement "if (uVar7 == 0) goto LAB_00021d7c;" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00021d7c;" goto statement_identifier ;)) (expression_statement "pcVar16 = pcVar20 + -iVar9;" (assignment_expression "pcVar16 = pcVar20 + -iVar9" identifier = (binary_expression "pcVar20 + -iVar9" identifier + (unary_expression "-iVar9" - identifier))) ;) (expression_statement "(*(code *)PTR_memcpy_00049600)(pcVar16,local_7c,iVar9);" (call_expression "(*(code *)PTR_memcpy_00049600)(pcVar16,local_7c,iVar9)" (parenthesized_expression "(*(code *)PTR_memcpy_00049600)" ( (pointer_expression "*(code *)PTR_memcpy_00049600" * (cast_expression "(code *)PTR_memcpy_00049600" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar16,local_7c,iVar9)" ( identifier , identifier , identifier ))) ;) })) (expression_statement "pcVar20 = pcVar16 + -uVar7;" (assignment_expression "pcVar20 = pcVar16 + -uVar7" identifier = (binary_expression "pcVar16 + -uVar7" identifier + (unary_expression "-uVar7" - identifier))) ;) (expression_statement "(*(code *)PTR_memcpy_00049600)(pcVar20,buf_1,uVar7);" (call_expression "(*(code *)PTR_memcpy_00049600)(pcVar20,buf_1,uVar7)" (parenthesized_expression "(*(code *)PTR_memcpy_00049600)" ( (pointer_expression "*(code *)PTR_memcpy_00049600" * (cast_expression "(code *)PTR_memcpy_00049600" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar20,buf_1,uVar7)" ( identifier , identifier , identifier ))) ;) })) (labeled_statement "LAB_00021d7c:\n  if ((in_a3 & 0x80) == 0) goto LAB_00021da4;" statement_identifier : (if_statement "if ((in_a3 & 0x80) == 0) goto LAB_00021da4;" if (parenthesized_expression "((in_a3 & 0x80) == 0)" ( (binary_expression "(in_a3 & 0x80) == 0" (parenthesized_expression "(in_a3 & 0x80)" ( (binary_expression "in_a3 & 0x80" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00021da4;" goto statement_identifier ;))) (if_statement "if ((iVar14 == -1) && ((from_block_size._0_4_ != 0 || (iVar14 = 0, 1 < from_block_size._4_4_)))) {\n    iVar14 = 1;\n    uVar5 = 1;\n    iVar9 = 0;\n    do {\n      uVar30 = (ulonglong)uVar5;\n      uVar5 = (uint)(uVar30 * uVar17);\n      iVar9 = uVar17 * iVar9 + (int)(uVar30 * uVar17 >> 0x20);\n      if (from_block_size <= CONCAT44(iVar9,uVar5)) break;\n      iVar14 = iVar14 + 1;\n    } while (iVar14 != 8);\n    if ((in_a3 & 0x40) != 0) {\nLAB_000221fc:\n      local_88 = (char *)(in_a2 + 0x288);\n      *(undefined1 *)(in_a2 + 0x287) = 0x20;\n      goto LAB_00022208;\n    }\nLAB_00022210:\n    if ((uVar11 == 0) && (iVar14 == 1)) {\n      cVar10 = 'k';\n    }\n    else {\n      cVar10 = PTR_LAB_00049218[iVar14 + 0x6748];\n    }\n    pcVar16 = local_88 + 1;\n    *local_88 = cVar10;\n  }\n  else {\n    if ((in_a3 & 0x100) == 0 && iVar14 == 0) goto LAB_00021da4;\n    if ((in_a3 & 0x40) != 0) goto LAB_000221fc;\nLAB_00022208:\n    pcVar16 = local_88;\n    if (iVar14 != 0) goto LAB_00022210;\n  }" if (parenthesized_expression "((iVar14 == -1) && ((from_block_size._0_4_ != 0 || (iVar14 = 0, 1 < from_block_size._4_4_))))" ( (binary_expression "(iVar14 == -1) && ((from_block_size._0_4_ != 0 || (iVar14 = 0, 1 < from_block_size._4_4_)))" (parenthesized_expression "(iVar14 == -1)" ( (binary_expression "iVar14 == -1" identifier == number_literal) )) && (parenthesized_expression "((from_block_size._0_4_ != 0 || (iVar14 = 0, 1 < from_block_size._4_4_)))" ( (parenthesized_expression "(from_block_size._0_4_ != 0 || (iVar14 = 0, 1 < from_block_size._4_4_))" ( (binary_expression "from_block_size._0_4_ != 0 || (iVar14 = 0, 1 < from_block_size._4_4_)" (binary_expression "from_block_size._0_4_ != 0" (field_expression "from_block_size._0_4_" identifier . field_identifier) != number_literal) || (parenthesized_expression "(iVar14 = 0, 1 < from_block_size._4_4_)" ( (comma_expression "iVar14 = 0, 1 < from_block_size._4_4_" (assignment_expression "iVar14 = 0" identifier = number_literal) , (binary_expression "1 < from_block_size._4_4_" number_literal < (field_expression "from_block_size._4_4_" identifier . field_identifier))) ))) )) ))) )) (compound_statement "{\n    iVar14 = 1;\n    uVar5 = 1;\n    iVar9 = 0;\n    do {\n      uVar30 = (ulonglong)uVar5;\n      uVar5 = (uint)(uVar30 * uVar17);\n      iVar9 = uVar17 * iVar9 + (int)(uVar30 * uVar17 >> 0x20);\n      if (from_block_size <= CONCAT44(iVar9,uVar5)) break;\n      iVar14 = iVar14 + 1;\n    } while (iVar14 != 8);\n    if ((in_a3 & 0x40) != 0) {\nLAB_000221fc:\n      local_88 = (char *)(in_a2 + 0x288);\n      *(undefined1 *)(in_a2 + 0x287) = 0x20;\n      goto LAB_00022208;\n    }\nLAB_00022210:\n    if ((uVar11 == 0) && (iVar14 == 1)) {\n      cVar10 = 'k';\n    }\n    else {\n      cVar10 = PTR_LAB_00049218[iVar14 + 0x6748];\n    }\n    pcVar16 = local_88 + 1;\n    *local_88 = cVar10;\n  }" { (expression_statement "iVar14 = 1;" (assignment_expression "iVar14 = 1" identifier = number_literal) ;) (expression_statement "uVar5 = 1;" (assignment_expression "uVar5 = 1" identifier = number_literal) ;) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (do_statement "do {\n      uVar30 = (ulonglong)uVar5;\n      uVar5 = (uint)(uVar30 * uVar17);\n      iVar9 = uVar17 * iVar9 + (int)(uVar30 * uVar17 >> 0x20);\n      if (from_block_size <= CONCAT44(iVar9,uVar5)) break;\n      iVar14 = iVar14 + 1;\n    } while (iVar14 != 8);" do (compound_statement "{\n      uVar30 = (ulonglong)uVar5;\n      uVar5 = (uint)(uVar30 * uVar17);\n      iVar9 = uVar17 * iVar9 + (int)(uVar30 * uVar17 >> 0x20);\n      if (from_block_size <= CONCAT44(iVar9,uVar5)) break;\n      iVar14 = iVar14 + 1;\n    }" { (expression_statement "uVar30 = (ulonglong)uVar5;" (assignment_expression "uVar30 = (ulonglong)uVar5" identifier = (cast_expression "(ulonglong)uVar5" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) ;) (expression_statement "uVar5 = (uint)(uVar30 * uVar17);" (assignment_expression "uVar5 = (uint)(uVar30 * uVar17)" identifier = (call_expression "(uint)(uVar30 * uVar17)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar30 * uVar17)" ( (binary_expression "uVar30 * uVar17" identifier * identifier) )))) ;) (expression_statement "iVar9 = uVar17 * iVar9 + (int)(uVar30 * uVar17 >> 0x20);" (assignment_expression "iVar9 = uVar17 * iVar9 + (int)(uVar30 * uVar17 >> 0x20)" identifier = (binary_expression "uVar17 * iVar9 + (int)(uVar30 * uVar17 >> 0x20)" (binary_expression "uVar17 * iVar9" identifier * identifier) + (cast_expression "(int)(uVar30 * uVar17 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar30 * uVar17 >> 0x20)" ( (binary_expression "uVar30 * uVar17 >> 0x20" (binary_expression "uVar30 * uVar17" identifier * identifier) >> number_literal) ))))) ;) (if_statement "if (from_block_size <= CONCAT44(iVar9,uVar5)) break;" if (parenthesized_expression "(from_block_size <= CONCAT44(iVar9,uVar5))" ( (binary_expression "from_block_size <= CONCAT44(iVar9,uVar5)" identifier <= (call_expression "CONCAT44(iVar9,uVar5)" identifier (argument_list "(iVar9,uVar5)" ( identifier , identifier )))) )) (break_statement "break;" break ;)) (expression_statement "iVar14 = iVar14 + 1;" (assignment_expression "iVar14 = iVar14 + 1" identifier = (binary_expression "iVar14 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar14 != 8)" ( (binary_expression "iVar14 != 8" identifier != number_literal) )) ;) (if_statement "if ((in_a3 & 0x40) != 0) {\nLAB_000221fc:\n      local_88 = (char *)(in_a2 + 0x288);\n      *(undefined1 *)(in_a2 + 0x287) = 0x20;\n      goto LAB_00022208;\n    }" if (parenthesized_expression "((in_a3 & 0x40) != 0)" ( (binary_expression "(in_a3 & 0x40) != 0" (parenthesized_expression "(in_a3 & 0x40)" ( (binary_expression "in_a3 & 0x40" identifier & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_000221fc:\n      local_88 = (char *)(in_a2 + 0x288);\n      *(undefined1 *)(in_a2 + 0x287) = 0x20;\n      goto LAB_00022208;\n    }" { (labeled_statement "LAB_000221fc:\n      local_88 = (char *)(in_a2 + 0x288);" statement_identifier : (expression_statement "local_88 = (char *)(in_a2 + 0x288);" (assignment_expression "local_88 = (char *)(in_a2 + 0x288)" identifier = (cast_expression "(char *)(in_a2 + 0x288)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_a2 + 0x288)" ( (binary_expression "in_a2 + 0x288" identifier + number_literal) )))) ;)) (expression_statement "*(undefined1 *)(in_a2 + 0x287) = 0x20;" (assignment_expression "*(undefined1 *)(in_a2 + 0x287) = 0x20" (pointer_expression "*(undefined1 *)(in_a2 + 0x287)" * (cast_expression "(undefined1 *)(in_a2 + 0x287)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_a2 + 0x287)" ( (binary_expression "in_a2 + 0x287" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_00022208;" goto statement_identifier ;) })) (labeled_statement "LAB_00022210:\n    if ((uVar11 == 0) && (iVar14 == 1)) {\n      cVar10 = 'k';\n    }\n    else {\n      cVar10 = PTR_LAB_00049218[iVar14 + 0x6748];\n    }" statement_identifier : (if_statement "if ((uVar11 == 0) && (iVar14 == 1)) {\n      cVar10 = 'k';\n    }\n    else {\n      cVar10 = PTR_LAB_00049218[iVar14 + 0x6748];\n    }" if (parenthesized_expression "((uVar11 == 0) && (iVar14 == 1))" ( (binary_expression "(uVar11 == 0) && (iVar14 == 1)" (parenthesized_expression "(uVar11 == 0)" ( (binary_expression "uVar11 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar14 == 1)" ( (binary_expression "iVar14 == 1" identifier == number_literal) ))) )) (compound_statement "{\n      cVar10 = 'k';\n    }" { (expression_statement "cVar10 = 'k';" (assignment_expression "cVar10 = 'k'" identifier = (char_literal "'k'" ' character ')) ;) }) (else_clause "else {\n      cVar10 = PTR_LAB_00049218[iVar14 + 0x6748];\n    }" else (compound_statement "{\n      cVar10 = PTR_LAB_00049218[iVar14 + 0x6748];\n    }" { (expression_statement "cVar10 = PTR_LAB_00049218[iVar14 + 0x6748];" (assignment_expression "cVar10 = PTR_LAB_00049218[iVar14 + 0x6748]" identifier = (subscript_expression "PTR_LAB_00049218[iVar14 + 0x6748]" identifier [ (binary_expression "iVar14 + 0x6748" identifier + number_literal) ])) ;) })))) (expression_statement "pcVar16 = local_88 + 1;" (assignment_expression "pcVar16 = local_88 + 1" identifier = (binary_expression "local_88 + 1" identifier + number_literal)) ;) (expression_statement "*local_88 = cVar10;" (assignment_expression "*local_88 = cVar10" (pointer_expression "*local_88" * identifier) = identifier) ;) }) (else_clause "else {\n    if ((in_a3 & 0x100) == 0 && iVar14 == 0) goto LAB_00021da4;\n    if ((in_a3 & 0x40) != 0) goto LAB_000221fc;\nLAB_00022208:\n    pcVar16 = local_88;\n    if (iVar14 != 0) goto LAB_00022210;\n  }" else (compound_statement "{\n    if ((in_a3 & 0x100) == 0 && iVar14 == 0) goto LAB_00021da4;\n    if ((in_a3 & 0x40) != 0) goto LAB_000221fc;\nLAB_00022208:\n    pcVar16 = local_88;\n    if (iVar14 != 0) goto LAB_00022210;\n  }" { (if_statement "if ((in_a3 & 0x100) == 0 && iVar14 == 0) goto LAB_00021da4;" if (parenthesized_expression "((in_a3 & 0x100) == 0 && iVar14 == 0)" ( (binary_expression "(in_a3 & 0x100) == 0 && iVar14 == 0" (binary_expression "(in_a3 & 0x100) == 0" (parenthesized_expression "(in_a3 & 0x100)" ( (binary_expression "in_a3 & 0x100" identifier & number_literal) )) == number_literal) && (binary_expression "iVar14 == 0" identifier == number_literal)) )) (goto_statement "goto LAB_00021da4;" goto statement_identifier ;)) (if_statement "if ((in_a3 & 0x40) != 0) goto LAB_000221fc;" if (parenthesized_expression "((in_a3 & 0x40) != 0)" ( (binary_expression "(in_a3 & 0x40) != 0" (parenthesized_expression "(in_a3 & 0x40)" ( (binary_expression "in_a3 & 0x40" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000221fc;" goto statement_identifier ;)) (labeled_statement "LAB_00022208:\n    pcVar16 = local_88;" statement_identifier : (expression_statement "pcVar16 = local_88;" (assignment_expression "pcVar16 = local_88" identifier = identifier) ;)) (if_statement "if (iVar14 != 0) goto LAB_00022210;" if (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00022210;" goto statement_identifier ;)) }))) (expression_statement "local_88 = pcVar16;" (assignment_expression "local_88 = pcVar16" identifier = identifier) ;) (if_statement "if ((in_a3 & 0x100) != 0) {\n    pcVar12 = pcVar16 + 1;\n    local_88 = pcVar12;\n    if ((uVar11 != 0) && (iVar14 != 0)) {\n      local_88 = pcVar16 + 2;\n      *pcVar16 = 'i';\n      pcVar16 = pcVar12;\n    }\n    *pcVar16 = 'B';\n  }" if (parenthesized_expression "((in_a3 & 0x100) != 0)" ( (binary_expression "(in_a3 & 0x100) != 0" (parenthesized_expression "(in_a3 & 0x100)" ( (binary_expression "in_a3 & 0x100" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    pcVar12 = pcVar16 + 1;\n    local_88 = pcVar12;\n    if ((uVar11 != 0) && (iVar14 != 0)) {\n      local_88 = pcVar16 + 2;\n      *pcVar16 = 'i';\n      pcVar16 = pcVar12;\n    }\n    *pcVar16 = 'B';\n  }" { (expression_statement "pcVar12 = pcVar16 + 1;" (assignment_expression "pcVar12 = pcVar16 + 1" identifier = (binary_expression "pcVar16 + 1" identifier + number_literal)) ;) (expression_statement "local_88 = pcVar12;" (assignment_expression "local_88 = pcVar12" identifier = identifier) ;) (if_statement "if ((uVar11 != 0) && (iVar14 != 0)) {\n      local_88 = pcVar16 + 2;\n      *pcVar16 = 'i';\n      pcVar16 = pcVar12;\n    }" if (parenthesized_expression "((uVar11 != 0) && (iVar14 != 0))" ( (binary_expression "(uVar11 != 0) && (iVar14 != 0)" (parenthesized_expression "(uVar11 != 0)" ( (binary_expression "uVar11 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) ))) )) (compound_statement "{\n      local_88 = pcVar16 + 2;\n      *pcVar16 = 'i';\n      pcVar16 = pcVar12;\n    }" { (expression_statement "local_88 = pcVar16 + 2;" (assignment_expression "local_88 = pcVar16 + 2" identifier = (binary_expression "pcVar16 + 2" identifier + number_literal)) ;) (expression_statement "*pcVar16 = 'i';" (assignment_expression "*pcVar16 = 'i'" (pointer_expression "*pcVar16" * identifier) = (char_literal "'i'" ' character ')) ;) (expression_statement "pcVar16 = pcVar12;" (assignment_expression "pcVar16 = pcVar12" identifier = identifier) ;) })) (expression_statement "*pcVar16 = 'B';" (assignment_expression "*pcVar16 = 'B'" (pointer_expression "*pcVar16" * identifier) = (char_literal "'B'" ' character ')) ;) })) (labeled_statement "LAB_00021da4:\n  while( true ) {\n    *local_88 = '\0';\n    if (iVar4 == *(int *)puVar3) break;\n    local_88 = (char *)(*(code *)PTR___stack_chk_fail_000495d0)();\n  }" statement_identifier : (while_statement "while( true ) {\n    *local_88 = '\0';\n    if (iVar4 == *(int *)puVar3) break;\n    local_88 = (char *)(*(code *)PTR___stack_chk_fail_000495d0)();\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    *local_88 = '\0';\n    if (iVar4 == *(int *)puVar3) break;\n    local_88 = (char *)(*(code *)PTR___stack_chk_fail_000495d0)();\n  }" { (expression_statement "*local_88 = '\0';" (assignment_expression "*local_88 = '\0'" (pointer_expression "*local_88" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (iVar4 == *(int *)puVar3) break;" if (parenthesized_expression "(iVar4 == *(int *)puVar3)" ( (binary_expression "iVar4 == *(int *)puVar3" identifier == (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (break_statement "break;" break ;)) (expression_statement "local_88 = (char *)(*(code *)PTR___stack_chk_fail_000495d0)();" (assignment_expression "local_88 = (char *)(*(code *)PTR___stack_chk_fail_000495d0)()" identifier = (cast_expression "(char *)(*(code *)PTR___stack_chk_fail_000495d0)()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___stack_chk_fail_000495d0)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000495d0)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000495d0" * (cast_expression "(code *)PTR___stack_chk_fail_000495d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) }))) (return_statement "return pcVar20;" return identifier ;) })))
(translation_unit "char * human_readable(undefined4 param_1,undefined4 param_2,int param_3,uint param_4,uint param_5,\n                     uint param_6,uint param_7,uint param_8)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  uint uVar4;\n  undefined4 *puVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  char cVar9;\n  uint uVar10;\n  uint extraout_v1;\n  char extraout_v1_01;\n  int extraout_v1_00;\n  char *pcVar11;\n  uint uVar12;\n  int iVar13;\n  uint uVar14;\n  char *pcVar15;\n  uint uVar16;\n  byte *pbVar17;\n  undefined4 uVar18;\n  char *pcVar19;\n  undefined *puVar20;\n  uint uVar21;\n  double dVar22;\n  double dVar23;\n  double dVar24;\n  longlong lVar25;\n  ulonglong uVar26;\n  longlong lVar27;\n  undefined8 uVar28;\n  ulonglong uVar29;\n  char *local_88;\n  undefined *local_7c;\n  uint local_70;\n  undefined *local_68;\n  undefined1 auStack_60 [44];\n  int local_34;\n  \n  puVar3 = PTR___stack_chk_guard_000495fc;\n  uVar10 = param_4 & 0x20;\n  uVar16 = 0x400;\n  local_34 = *(int *)PTR___stack_chk_guard_000495fc;\n  uVar4 = param_4 & 3;\n  if (uVar10 == 0) {\n    uVar16 = 1000;\n  }\n  puVar5 = (undefined4 *)(*(code *)PTR_localeconv_000494b4)();\n  local_68 = (undefined *)*puVar5;\n  local_70 = (*(code *)PTR_strlen_0004953c)(local_68);\n  if (0xf < local_70 - 1) {\n    local_70 = 1;\n    local_68 = PTR_LAB_00049218 + 0x6104;\n  }\n  local_7c = (undefined *)puVar5[1];\n  pbVar17 = (byte *)puVar5[2];\n  uVar6 = (*(code *)PTR_strlen_0004953c)();\n  if (0x10 < uVar6) {\n    local_7c = PTR_LAB_00049218 + 0x7ea8;\n  }\n  local_88 = (char *)(param_3 + 0x287);\n  if ((param_5 < param_7) || ((param_7 == param_5 && (param_6 < param_8)))) {\n    if ((param_5 == 0 && param_6 == 0) ||\n       (lVar25 = FUN_000317b0(param_7,param_8,param_5,param_6), lVar25 != 0)) goto LAB_00021ca0;\n    uVar26 = FUN_00031340(param_7,param_8,param_5,param_6);\n    uVar7 = (uint)(uVar26 >> 0x20);\n    uVar12 = (uint)uVar26;\n    uVar28 = FUN_000317b0(param_1,param_2,uVar7,uVar12);\n    iVar13 = (int)((ulonglong)uVar28 >> 0x20);\n    uVar6 = (uint)uVar28;\n    uVar21 = uVar6 * 5 >> 0x1f |\n             ((uint)(uVar6 * 5 < uVar6 * 4) + (uVar6 >> 0x1e | iVar13 << 2) + iVar13) * 2;\n    lVar27 = FUN_000317b0(uVar21,uVar6 * 10,uVar7,uVar12);\n    lVar25 = lVar27 << 1;\n    uVar14 = (uint)((ulonglong)lVar25 >> 0x20);\n    uVar29 = FUN_00031340(param_1,param_2,uVar7,uVar12);\n    FUN_00031340(uVar21,uVar6 * 10,uVar7,uVar12);\n    uVar6 = extraout_v1;\n    if ((uVar14 < uVar7) || ((uVar7 == uVar14 && ((uint)lVar25 < uVar12)))) {\n      uVar7 = (uint)(lVar25 != 0);\n    }\n    else if (uVar26 < (ulonglong)(lVar27 << 1)) {\n      uVar7 = 3;\n    }\n    else {\n      uVar7 = 2;\n    }\nLAB_000223b4:\n    pcVar15 = local_88;\n    if ((param_4 & 0x10) == 0) {\n      iVar13 = -1;\n    }\n    else {\n      iVar13 = 0;\n      if (((int)(uVar29 >> 0x20) != 0) || (uVar16 <= (uint)uVar29)) {\n        iVar13 = 0;\n        do {\n          uVar18 = (undefined4)(uVar29 >> 0x20);\n          FUN_000317b0(uVar18,(int)uVar29,0,uVar16);\n          uVar12 = extraout_v1_00 * 10 + uVar6;\n          if (uVar16 == 0) {\n            trap(7);\n          }\n          uVar6 = uVar12 / uVar16;\n          uVar14 = (uVar12 % uVar16) * 2 + ((int)uVar7 >> 1);\n          uVar29 = FUN_00031340(uVar18,(int)uVar29,0,uVar16);\n          puVar20 = PTR_memcpy_00049600;\n          uVar12 = (uint)uVar29;\n          uVar21 = uVar7 + uVar14;\n          if (uVar14 < uVar16) {\n            uVar7 = (uint)(uVar21 != 0);\n          }\n          else {\n            uVar7 = 2;\n            if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }\n          }\n          iVar13 = iVar13 + 1;\n          if (((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16)) {\n            if (uVar12 < 10) {\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }\n            break;\n          }\n        } while (iVar13 != 8);\n      }\n    }\n    if (uVar4 == 1) {\n      pcVar19 = local_88;\n      if (5 < (int)((((uint)uVar29 & 1) + uVar7 != 0) + uVar6)) goto LAB_000223fc;\nLAB_00022428:\n      do {\n        do {\n          iVar8 = (int)(uVar29 >> 0x20);\n          uVar4 = (uint)uVar29;\n          FUN_000317b0(iVar8,uVar4,0,10);\n          pcVar19 = pcVar19 + -1;\n          *pcVar19 = extraout_v1_01 + '0';\n          uVar29 = FUN_00031340(iVar8,uVar4,0,10);\n        } while (iVar8 != 0);\n      } while (9 < uVar4);\n    }\n    else {\nLAB_000223ec:\n      pcVar19 = pcVar15;\n      if ((uVar4 != 0) || ((int)(uVar6 + uVar7) < 1)) goto LAB_00022428;\nLAB_000223fc:\n      puVar20 = PTR_memcpy_00049600;\n      uVar29 = uVar29 + 1;\n      pcVar19 = pcVar15;\n      if (((param_4 & 0x10) == 0) ||\n         ((((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)) || (iVar13 == 8))))\n      goto LAB_00022428;\n      iVar13 = iVar13 + 1;\n      if ((param_4 & 8) == 0) {\n        pcVar15[-1] = '0';\n        pcVar15 = pcVar15 + ~local_70;\n        (*(code *)puVar20)(pcVar15,local_68);\n      }\n      pcVar19 = pcVar15 + -1;\n      pcVar15[-1] = '1';\n    }\n  }\n  else {\n    lVar25 = FUN_000317b0(param_5,param_6,param_7,param_8);\n    if (lVar25 == 0) {\n      lVar25 = FUN_00031340(param_5,param_6,param_7,param_8);\n      uVar29 = lVar25 * CONCAT44(param_1,param_2);\n      lVar25 = FUN_00031340((int)(uVar29 >> 0x20),(int)uVar29,(int)((ulonglong)lVar25 >> 0x20));\n      if (lVar25 == CONCAT44(param_1,param_2)) {\n        uVar7 = 0;\n        uVar6 = 0;\n        goto LAB_000223b4;\n      }\n    }\nLAB_00021ca0:\n    dVar22 = (double)FUN_000309d0(param_5,param_6);\n    dVar23 = (double)FUN_000309d0(param_7,param_8);\n    dVar22 = dVar22 / dVar23;\n    dVar23 = (double)FUN_000309d0(param_1,param_2);\n    puVar20 = PTR_LAB_00049218;\n    dVar22 = dVar22 * dVar23;\n    if ((param_4 & 0x10) == 0) {\n      dVar23 = dVar22;\n      if (((param_4 & 3) != 1) && (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760))) {\n        uVar28 = FUN_00030930(dVar22);\n        iVar13 = (int)((ulonglong)uVar28 >> 0x20);\n        uVar4 = (uint)uVar28;\n        dVar23 = (double)FUN_000309d0(iVar13,uVar4);\n        if (((param_4 & 3) == 0) && (dVar22 != dVar23)) {\n          dVar23 = (double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13);\n        }\n      }\n      (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23);\n      iVar13 = -1;\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }\n    else {\n      iVar13 = 0;\n      dVar23 = (double)uVar16;\n      do {\n        dVar24 = dVar23;\n        dVar23 = dVar24 * (double)uVar16;\n        iVar13 = iVar13 + 1;\n        if (dVar22 < dVar23) break;\n      } while (iVar13 != 8);\n      dVar22 = dVar22 / dVar24;\n      uVar6 = (uVar10 == 0) + 1 + local_70 + 1;\n      if (uVar4 == 1) {\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        if (uVar7 <= uVar6) goto LAB_0002232c;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        dVar23 = dVar22 * dVar24;\n      }\n      else {\n        dVar23 = dVar22;\n        if (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar22);\n          dVar23 = dVar22;\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar23 != dVar22)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        dVar22 = dVar23;\n        if (uVar6 < uVar7) {\n          dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar23 = dVar22 * dVar24;\n          puVar20 = PTR_LAB_00049218;\n          if (uVar4 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar23 < *(double *)(puVar20 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar23);\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar22 != dVar23)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n          dVar23 = dVar22;\n          dVar24 = *(double *)(puVar2 + 0x6768);\n        }\n      }\nLAB_0002207c:\n      (*(code *)PTR___sprintf_chk_00049454)\n                (param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23 / dVar24);\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }\nLAB_00021d4c:\n    pcVar19 = local_88 + -uVar7;\n    (*(code *)PTR_memmove_00049610)(pcVar19,param_3,uVar7);\n    pcVar15 = pcVar19 + uVar4;\n  }\n  if ((param_4 & 4) != 0) {\n    uVar6 = (int)pcVar15 - (int)pcVar19;\n    iVar8 = (*(code *)PTR_strlen_0004953c)(local_7c);\n    (*(code *)PTR___memcpy_chk_00049558)(auStack_60,pcVar19,uVar6,0x29);\n    uVar4 = 0xffffffff;\n    while( true ) {\n      uVar7 = (uint)*pbVar17;\n      if (uVar7 != 0) {\n        uVar4 = uVar7;\n        if (0x7e < uVar7) {\n          uVar4 = uVar6;\n        }\n        pbVar17 = pbVar17 + 1;\n      }\n      if (uVar6 < uVar4) break;\n      uVar6 = uVar6 - uVar4;\n      pcVar19 = pcVar15 + -uVar4;\n      (*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60 + uVar6,uVar4);\n      if (uVar6 == 0) goto LAB_00021d7c;\n      pcVar15 = pcVar19 + -iVar8;\n      (*(code *)PTR_memcpy_00049600)(pcVar15,local_7c,iVar8);\n    }\n    pcVar19 = pcVar15 + -uVar6;\n    (*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60,uVar6);\n  }\nLAB_00021d7c:\n  if ((param_4 & 0x80) == 0) goto LAB_00021da4;\n  if ((iVar13 == -1) && ((param_7 != 0 || (iVar13 = 0, 1 < param_8)))) {\n    iVar13 = 1;\n    uVar6 = 1;\n    uVar4 = 0;\n    do {\n      uVar29 = (ulonglong)uVar6;\n      uVar6 = (uint)(uVar29 * uVar16);\n      uVar4 = uVar16 * uVar4 + (int)(uVar29 * uVar16 >> 0x20);\n      if ((param_7 <= uVar4) && ((param_7 != uVar4 || (param_8 <= uVar6)))) break;\n      iVar13 = iVar13 + 1;\n    } while (iVar13 != 8);\n    if ((param_4 & 0x40) != 0) {\nLAB_000221fc:\n      local_88 = (char *)(param_3 + 0x288);\n      *(undefined1 *)(param_3 + 0x287) = 0x20;\n      goto LAB_00022208;\n    }\nLAB_00022210:\n    if ((uVar10 == 0) && (iVar13 == 1)) {\n      cVar9 = 'k';\n    }\n    else {\n      cVar9 = PTR_LAB_00049218[iVar13 + 0x6748];\n    }\n    pcVar15 = local_88 + 1;\n    *local_88 = cVar9;\n  }\n  else {\n    if ((param_4 & 0x100) == 0 && iVar13 == 0) goto LAB_00021da4;\n    if ((param_4 & 0x40) != 0) goto LAB_000221fc;\nLAB_00022208:\n    pcVar15 = local_88;\n    if (iVar13 != 0) goto LAB_00022210;\n  }\n  local_88 = pcVar15;\n  if ((param_4 & 0x100) != 0) {\n    pcVar11 = pcVar15 + 1;\n    local_88 = pcVar11;\n    if ((uVar10 != 0) && (iVar13 != 0)) {\n      local_88 = pcVar15 + 2;\n      *pcVar15 = 'i';\n      pcVar15 = pcVar11;\n    }\n    *pcVar15 = 'B';\n  }\nLAB_00021da4:\n  while( true ) {\n    *local_88 = '\0';\n    if (local_34 == *(int *)puVar3) break;\n    local_88 = (char *)(*(code *)PTR___stack_chk_fail_000495d0)();\n  }\n  return pcVar19;\n}\n\n" (function_definition "char * human_readable(undefined4 param_1,undefined4 param_2,int param_3,uint param_4,uint param_5,\n                     uint param_6,uint param_7,uint param_8)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  uint uVar4;\n  undefined4 *puVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  char cVar9;\n  uint uVar10;\n  uint extraout_v1;\n  char extraout_v1_01;\n  int extraout_v1_00;\n  char *pcVar11;\n  uint uVar12;\n  int iVar13;\n  uint uVar14;\n  char *pcVar15;\n  uint uVar16;\n  byte *pbVar17;\n  undefined4 uVar18;\n  char *pcVar19;\n  undefined *puVar20;\n  uint uVar21;\n  double dVar22;\n  double dVar23;\n  double dVar24;\n  longlong lVar25;\n  ulonglong uVar26;\n  longlong lVar27;\n  undefined8 uVar28;\n  ulonglong uVar29;\n  char *local_88;\n  undefined *local_7c;\n  uint local_70;\n  undefined *local_68;\n  undefined1 auStack_60 [44];\n  int local_34;\n  \n  puVar3 = PTR___stack_chk_guard_000495fc;\n  uVar10 = param_4 & 0x20;\n  uVar16 = 0x400;\n  local_34 = *(int *)PTR___stack_chk_guard_000495fc;\n  uVar4 = param_4 & 3;\n  if (uVar10 == 0) {\n    uVar16 = 1000;\n  }\n  puVar5 = (undefined4 *)(*(code *)PTR_localeconv_000494b4)();\n  local_68 = (undefined *)*puVar5;\n  local_70 = (*(code *)PTR_strlen_0004953c)(local_68);\n  if (0xf < local_70 - 1) {\n    local_70 = 1;\n    local_68 = PTR_LAB_00049218 + 0x6104;\n  }\n  local_7c = (undefined *)puVar5[1];\n  pbVar17 = (byte *)puVar5[2];\n  uVar6 = (*(code *)PTR_strlen_0004953c)();\n  if (0x10 < uVar6) {\n    local_7c = PTR_LAB_00049218 + 0x7ea8;\n  }\n  local_88 = (char *)(param_3 + 0x287);\n  if ((param_5 < param_7) || ((param_7 == param_5 && (param_6 < param_8)))) {\n    if ((param_5 == 0 && param_6 == 0) ||\n       (lVar25 = FUN_000317b0(param_7,param_8,param_5,param_6), lVar25 != 0)) goto LAB_00021ca0;\n    uVar26 = FUN_00031340(param_7,param_8,param_5,param_6);\n    uVar7 = (uint)(uVar26 >> 0x20);\n    uVar12 = (uint)uVar26;\n    uVar28 = FUN_000317b0(param_1,param_2,uVar7,uVar12);\n    iVar13 = (int)((ulonglong)uVar28 >> 0x20);\n    uVar6 = (uint)uVar28;\n    uVar21 = uVar6 * 5 >> 0x1f |\n             ((uint)(uVar6 * 5 < uVar6 * 4) + (uVar6 >> 0x1e | iVar13 << 2) + iVar13) * 2;\n    lVar27 = FUN_000317b0(uVar21,uVar6 * 10,uVar7,uVar12);\n    lVar25 = lVar27 << 1;\n    uVar14 = (uint)((ulonglong)lVar25 >> 0x20);\n    uVar29 = FUN_00031340(param_1,param_2,uVar7,uVar12);\n    FUN_00031340(uVar21,uVar6 * 10,uVar7,uVar12);\n    uVar6 = extraout_v1;\n    if ((uVar14 < uVar7) || ((uVar7 == uVar14 && ((uint)lVar25 < uVar12)))) {\n      uVar7 = (uint)(lVar25 != 0);\n    }\n    else if (uVar26 < (ulonglong)(lVar27 << 1)) {\n      uVar7 = 3;\n    }\n    else {\n      uVar7 = 2;\n    }\nLAB_000223b4:\n    pcVar15 = local_88;\n    if ((param_4 & 0x10) == 0) {\n      iVar13 = -1;\n    }\n    else {\n      iVar13 = 0;\n      if (((int)(uVar29 >> 0x20) != 0) || (uVar16 <= (uint)uVar29)) {\n        iVar13 = 0;\n        do {\n          uVar18 = (undefined4)(uVar29 >> 0x20);\n          FUN_000317b0(uVar18,(int)uVar29,0,uVar16);\n          uVar12 = extraout_v1_00 * 10 + uVar6;\n          if (uVar16 == 0) {\n            trap(7);\n          }\n          uVar6 = uVar12 / uVar16;\n          uVar14 = (uVar12 % uVar16) * 2 + ((int)uVar7 >> 1);\n          uVar29 = FUN_00031340(uVar18,(int)uVar29,0,uVar16);\n          puVar20 = PTR_memcpy_00049600;\n          uVar12 = (uint)uVar29;\n          uVar21 = uVar7 + uVar14;\n          if (uVar14 < uVar16) {\n            uVar7 = (uint)(uVar21 != 0);\n          }\n          else {\n            uVar7 = 2;\n            if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }\n          }\n          iVar13 = iVar13 + 1;\n          if (((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16)) {\n            if (uVar12 < 10) {\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }\n            break;\n          }\n        } while (iVar13 != 8);\n      }\n    }\n    if (uVar4 == 1) {\n      pcVar19 = local_88;\n      if (5 < (int)((((uint)uVar29 & 1) + uVar7 != 0) + uVar6)) goto LAB_000223fc;\nLAB_00022428:\n      do {\n        do {\n          iVar8 = (int)(uVar29 >> 0x20);\n          uVar4 = (uint)uVar29;\n          FUN_000317b0(iVar8,uVar4,0,10);\n          pcVar19 = pcVar19 + -1;\n          *pcVar19 = extraout_v1_01 + '0';\n          uVar29 = FUN_00031340(iVar8,uVar4,0,10);\n        } while (iVar8 != 0);\n      } while (9 < uVar4);\n    }\n    else {\nLAB_000223ec:\n      pcVar19 = pcVar15;\n      if ((uVar4 != 0) || ((int)(uVar6 + uVar7) < 1)) goto LAB_00022428;\nLAB_000223fc:\n      puVar20 = PTR_memcpy_00049600;\n      uVar29 = uVar29 + 1;\n      pcVar19 = pcVar15;\n      if (((param_4 & 0x10) == 0) ||\n         ((((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)) || (iVar13 == 8))))\n      goto LAB_00022428;\n      iVar13 = iVar13 + 1;\n      if ((param_4 & 8) == 0) {\n        pcVar15[-1] = '0';\n        pcVar15 = pcVar15 + ~local_70;\n        (*(code *)puVar20)(pcVar15,local_68);\n      }\n      pcVar19 = pcVar15 + -1;\n      pcVar15[-1] = '1';\n    }\n  }\n  else {\n    lVar25 = FUN_000317b0(param_5,param_6,param_7,param_8);\n    if (lVar25 == 0) {\n      lVar25 = FUN_00031340(param_5,param_6,param_7,param_8);\n      uVar29 = lVar25 * CONCAT44(param_1,param_2);\n      lVar25 = FUN_00031340((int)(uVar29 >> 0x20),(int)uVar29,(int)((ulonglong)lVar25 >> 0x20));\n      if (lVar25 == CONCAT44(param_1,param_2)) {\n        uVar7 = 0;\n        uVar6 = 0;\n        goto LAB_000223b4;\n      }\n    }\nLAB_00021ca0:\n    dVar22 = (double)FUN_000309d0(param_5,param_6);\n    dVar23 = (double)FUN_000309d0(param_7,param_8);\n    dVar22 = dVar22 / dVar23;\n    dVar23 = (double)FUN_000309d0(param_1,param_2);\n    puVar20 = PTR_LAB_00049218;\n    dVar22 = dVar22 * dVar23;\n    if ((param_4 & 0x10) == 0) {\n      dVar23 = dVar22;\n      if (((param_4 & 3) != 1) && (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760))) {\n        uVar28 = FUN_00030930(dVar22);\n        iVar13 = (int)((ulonglong)uVar28 >> 0x20);\n        uVar4 = (uint)uVar28;\n        dVar23 = (double)FUN_000309d0(iVar13,uVar4);\n        if (((param_4 & 3) == 0) && (dVar22 != dVar23)) {\n          dVar23 = (double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13);\n        }\n      }\n      (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23);\n      iVar13 = -1;\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }\n    else {\n      iVar13 = 0;\n      dVar23 = (double)uVar16;\n      do {\n        dVar24 = dVar23;\n        dVar23 = dVar24 * (double)uVar16;\n        iVar13 = iVar13 + 1;\n        if (dVar22 < dVar23) break;\n      } while (iVar13 != 8);\n      dVar22 = dVar22 / dVar24;\n      uVar6 = (uVar10 == 0) + 1 + local_70 + 1;\n      if (uVar4 == 1) {\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        if (uVar7 <= uVar6) goto LAB_0002232c;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        dVar23 = dVar22 * dVar24;\n      }\n      else {\n        dVar23 = dVar22;\n        if (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar22);\n          dVar23 = dVar22;\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar23 != dVar22)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        dVar22 = dVar23;\n        if (uVar6 < uVar7) {\n          dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar23 = dVar22 * dVar24;\n          puVar20 = PTR_LAB_00049218;\n          if (uVar4 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar23 < *(double *)(puVar20 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar23);\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar22 != dVar23)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n          dVar23 = dVar22;\n          dVar24 = *(double *)(puVar2 + 0x6768);\n        }\n      }\nLAB_0002207c:\n      (*(code *)PTR___sprintf_chk_00049454)\n                (param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23 / dVar24);\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }\nLAB_00021d4c:\n    pcVar19 = local_88 + -uVar7;\n    (*(code *)PTR_memmove_00049610)(pcVar19,param_3,uVar7);\n    pcVar15 = pcVar19 + uVar4;\n  }\n  if ((param_4 & 4) != 0) {\n    uVar6 = (int)pcVar15 - (int)pcVar19;\n    iVar8 = (*(code *)PTR_strlen_0004953c)(local_7c);\n    (*(code *)PTR___memcpy_chk_00049558)(auStack_60,pcVar19,uVar6,0x29);\n    uVar4 = 0xffffffff;\n    while( true ) {\n      uVar7 = (uint)*pbVar17;\n      if (uVar7 != 0) {\n        uVar4 = uVar7;\n        if (0x7e < uVar7) {\n          uVar4 = uVar6;\n        }\n        pbVar17 = pbVar17 + 1;\n      }\n      if (uVar6 < uVar4) break;\n      uVar6 = uVar6 - uVar4;\n      pcVar19 = pcVar15 + -uVar4;\n      (*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60 + uVar6,uVar4);\n      if (uVar6 == 0) goto LAB_00021d7c;\n      pcVar15 = pcVar19 + -iVar8;\n      (*(code *)PTR_memcpy_00049600)(pcVar15,local_7c,iVar8);\n    }\n    pcVar19 = pcVar15 + -uVar6;\n    (*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60,uVar6);\n  }\nLAB_00021d7c:\n  if ((param_4 & 0x80) == 0) goto LAB_00021da4;\n  if ((iVar13 == -1) && ((param_7 != 0 || (iVar13 = 0, 1 < param_8)))) {\n    iVar13 = 1;\n    uVar6 = 1;\n    uVar4 = 0;\n    do {\n      uVar29 = (ulonglong)uVar6;\n      uVar6 = (uint)(uVar29 * uVar16);\n      uVar4 = uVar16 * uVar4 + (int)(uVar29 * uVar16 >> 0x20);\n      if ((param_7 <= uVar4) && ((param_7 != uVar4 || (param_8 <= uVar6)))) break;\n      iVar13 = iVar13 + 1;\n    } while (iVar13 != 8);\n    if ((param_4 & 0x40) != 0) {\nLAB_000221fc:\n      local_88 = (char *)(param_3 + 0x288);\n      *(undefined1 *)(param_3 + 0x287) = 0x20;\n      goto LAB_00022208;\n    }\nLAB_00022210:\n    if ((uVar10 == 0) && (iVar13 == 1)) {\n      cVar9 = 'k';\n    }\n    else {\n      cVar9 = PTR_LAB_00049218[iVar13 + 0x6748];\n    }\n    pcVar15 = local_88 + 1;\n    *local_88 = cVar9;\n  }\n  else {\n    if ((param_4 & 0x100) == 0 && iVar13 == 0) goto LAB_00021da4;\n    if ((param_4 & 0x40) != 0) goto LAB_000221fc;\nLAB_00022208:\n    pcVar15 = local_88;\n    if (iVar13 != 0) goto LAB_00022210;\n  }\n  local_88 = pcVar15;\n  if ((param_4 & 0x100) != 0) {\n    pcVar11 = pcVar15 + 1;\n    local_88 = pcVar11;\n    if ((uVar10 != 0) && (iVar13 != 0)) {\n      local_88 = pcVar15 + 2;\n      *pcVar15 = 'i';\n      pcVar15 = pcVar11;\n    }\n    *pcVar15 = 'B';\n  }\nLAB_00021da4:\n  while( true ) {\n    *local_88 = '\0';\n    if (local_34 == *(int *)puVar3) break;\n    local_88 = (char *)(*(code *)PTR___stack_chk_fail_000495d0)();\n  }\n  return pcVar19;\n}" primitive_type (pointer_declarator "* human_readable(undefined4 param_1,undefined4 param_2,int param_3,uint param_4,uint param_5,\n                     uint param_6,uint param_7,uint param_8)" * (function_declarator "human_readable(undefined4 param_1,undefined4 param_2,int param_3,uint param_4,uint param_5,\n                     uint param_6,uint param_7,uint param_8)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,int param_3,uint param_4,uint param_5,\n                     uint param_6,uint param_7,uint param_8)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "uint param_4" type_identifier identifier) , (parameter_declaration "uint param_5" type_identifier identifier) , (parameter_declaration "uint param_6" type_identifier identifier) , (parameter_declaration "uint param_7" type_identifier identifier) , (parameter_declaration "uint param_8" type_identifier identifier) )))) (compound_statement "{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  uint uVar4;\n  undefined4 *puVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  char cVar9;\n  uint uVar10;\n  uint extraout_v1;\n  char extraout_v1_01;\n  int extraout_v1_00;\n  char *pcVar11;\n  uint uVar12;\n  int iVar13;\n  uint uVar14;\n  char *pcVar15;\n  uint uVar16;\n  byte *pbVar17;\n  undefined4 uVar18;\n  char *pcVar19;\n  undefined *puVar20;\n  uint uVar21;\n  double dVar22;\n  double dVar23;\n  double dVar24;\n  longlong lVar25;\n  ulonglong uVar26;\n  longlong lVar27;\n  undefined8 uVar28;\n  ulonglong uVar29;\n  char *local_88;\n  undefined *local_7c;\n  uint local_70;\n  undefined *local_68;\n  undefined1 auStack_60 [44];\n  int local_34;\n  \n  puVar3 = PTR___stack_chk_guard_000495fc;\n  uVar10 = param_4 & 0x20;\n  uVar16 = 0x400;\n  local_34 = *(int *)PTR___stack_chk_guard_000495fc;\n  uVar4 = param_4 & 3;\n  if (uVar10 == 0) {\n    uVar16 = 1000;\n  }\n  puVar5 = (undefined4 *)(*(code *)PTR_localeconv_000494b4)();\n  local_68 = (undefined *)*puVar5;\n  local_70 = (*(code *)PTR_strlen_0004953c)(local_68);\n  if (0xf < local_70 - 1) {\n    local_70 = 1;\n    local_68 = PTR_LAB_00049218 + 0x6104;\n  }\n  local_7c = (undefined *)puVar5[1];\n  pbVar17 = (byte *)puVar5[2];\n  uVar6 = (*(code *)PTR_strlen_0004953c)();\n  if (0x10 < uVar6) {\n    local_7c = PTR_LAB_00049218 + 0x7ea8;\n  }\n  local_88 = (char *)(param_3 + 0x287);\n  if ((param_5 < param_7) || ((param_7 == param_5 && (param_6 < param_8)))) {\n    if ((param_5 == 0 && param_6 == 0) ||\n       (lVar25 = FUN_000317b0(param_7,param_8,param_5,param_6), lVar25 != 0)) goto LAB_00021ca0;\n    uVar26 = FUN_00031340(param_7,param_8,param_5,param_6);\n    uVar7 = (uint)(uVar26 >> 0x20);\n    uVar12 = (uint)uVar26;\n    uVar28 = FUN_000317b0(param_1,param_2,uVar7,uVar12);\n    iVar13 = (int)((ulonglong)uVar28 >> 0x20);\n    uVar6 = (uint)uVar28;\n    uVar21 = uVar6 * 5 >> 0x1f |\n             ((uint)(uVar6 * 5 < uVar6 * 4) + (uVar6 >> 0x1e | iVar13 << 2) + iVar13) * 2;\n    lVar27 = FUN_000317b0(uVar21,uVar6 * 10,uVar7,uVar12);\n    lVar25 = lVar27 << 1;\n    uVar14 = (uint)((ulonglong)lVar25 >> 0x20);\n    uVar29 = FUN_00031340(param_1,param_2,uVar7,uVar12);\n    FUN_00031340(uVar21,uVar6 * 10,uVar7,uVar12);\n    uVar6 = extraout_v1;\n    if ((uVar14 < uVar7) || ((uVar7 == uVar14 && ((uint)lVar25 < uVar12)))) {\n      uVar7 = (uint)(lVar25 != 0);\n    }\n    else if (uVar26 < (ulonglong)(lVar27 << 1)) {\n      uVar7 = 3;\n    }\n    else {\n      uVar7 = 2;\n    }\nLAB_000223b4:\n    pcVar15 = local_88;\n    if ((param_4 & 0x10) == 0) {\n      iVar13 = -1;\n    }\n    else {\n      iVar13 = 0;\n      if (((int)(uVar29 >> 0x20) != 0) || (uVar16 <= (uint)uVar29)) {\n        iVar13 = 0;\n        do {\n          uVar18 = (undefined4)(uVar29 >> 0x20);\n          FUN_000317b0(uVar18,(int)uVar29,0,uVar16);\n          uVar12 = extraout_v1_00 * 10 + uVar6;\n          if (uVar16 == 0) {\n            trap(7);\n          }\n          uVar6 = uVar12 / uVar16;\n          uVar14 = (uVar12 % uVar16) * 2 + ((int)uVar7 >> 1);\n          uVar29 = FUN_00031340(uVar18,(int)uVar29,0,uVar16);\n          puVar20 = PTR_memcpy_00049600;\n          uVar12 = (uint)uVar29;\n          uVar21 = uVar7 + uVar14;\n          if (uVar14 < uVar16) {\n            uVar7 = (uint)(uVar21 != 0);\n          }\n          else {\n            uVar7 = 2;\n            if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }\n          }\n          iVar13 = iVar13 + 1;\n          if (((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16)) {\n            if (uVar12 < 10) {\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }\n            break;\n          }\n        } while (iVar13 != 8);\n      }\n    }\n    if (uVar4 == 1) {\n      pcVar19 = local_88;\n      if (5 < (int)((((uint)uVar29 & 1) + uVar7 != 0) + uVar6)) goto LAB_000223fc;\nLAB_00022428:\n      do {\n        do {\n          iVar8 = (int)(uVar29 >> 0x20);\n          uVar4 = (uint)uVar29;\n          FUN_000317b0(iVar8,uVar4,0,10);\n          pcVar19 = pcVar19 + -1;\n          *pcVar19 = extraout_v1_01 + '0';\n          uVar29 = FUN_00031340(iVar8,uVar4,0,10);\n        } while (iVar8 != 0);\n      } while (9 < uVar4);\n    }\n    else {\nLAB_000223ec:\n      pcVar19 = pcVar15;\n      if ((uVar4 != 0) || ((int)(uVar6 + uVar7) < 1)) goto LAB_00022428;\nLAB_000223fc:\n      puVar20 = PTR_memcpy_00049600;\n      uVar29 = uVar29 + 1;\n      pcVar19 = pcVar15;\n      if (((param_4 & 0x10) == 0) ||\n         ((((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)) || (iVar13 == 8))))\n      goto LAB_00022428;\n      iVar13 = iVar13 + 1;\n      if ((param_4 & 8) == 0) {\n        pcVar15[-1] = '0';\n        pcVar15 = pcVar15 + ~local_70;\n        (*(code *)puVar20)(pcVar15,local_68);\n      }\n      pcVar19 = pcVar15 + -1;\n      pcVar15[-1] = '1';\n    }\n  }\n  else {\n    lVar25 = FUN_000317b0(param_5,param_6,param_7,param_8);\n    if (lVar25 == 0) {\n      lVar25 = FUN_00031340(param_5,param_6,param_7,param_8);\n      uVar29 = lVar25 * CONCAT44(param_1,param_2);\n      lVar25 = FUN_00031340((int)(uVar29 >> 0x20),(int)uVar29,(int)((ulonglong)lVar25 >> 0x20));\n      if (lVar25 == CONCAT44(param_1,param_2)) {\n        uVar7 = 0;\n        uVar6 = 0;\n        goto LAB_000223b4;\n      }\n    }\nLAB_00021ca0:\n    dVar22 = (double)FUN_000309d0(param_5,param_6);\n    dVar23 = (double)FUN_000309d0(param_7,param_8);\n    dVar22 = dVar22 / dVar23;\n    dVar23 = (double)FUN_000309d0(param_1,param_2);\n    puVar20 = PTR_LAB_00049218;\n    dVar22 = dVar22 * dVar23;\n    if ((param_4 & 0x10) == 0) {\n      dVar23 = dVar22;\n      if (((param_4 & 3) != 1) && (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760))) {\n        uVar28 = FUN_00030930(dVar22);\n        iVar13 = (int)((ulonglong)uVar28 >> 0x20);\n        uVar4 = (uint)uVar28;\n        dVar23 = (double)FUN_000309d0(iVar13,uVar4);\n        if (((param_4 & 3) == 0) && (dVar22 != dVar23)) {\n          dVar23 = (double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13);\n        }\n      }\n      (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23);\n      iVar13 = -1;\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }\n    else {\n      iVar13 = 0;\n      dVar23 = (double)uVar16;\n      do {\n        dVar24 = dVar23;\n        dVar23 = dVar24 * (double)uVar16;\n        iVar13 = iVar13 + 1;\n        if (dVar22 < dVar23) break;\n      } while (iVar13 != 8);\n      dVar22 = dVar22 / dVar24;\n      uVar6 = (uVar10 == 0) + 1 + local_70 + 1;\n      if (uVar4 == 1) {\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        if (uVar7 <= uVar6) goto LAB_0002232c;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        dVar23 = dVar22 * dVar24;\n      }\n      else {\n        dVar23 = dVar22;\n        if (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar22);\n          dVar23 = dVar22;\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar23 != dVar22)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        dVar22 = dVar23;\n        if (uVar6 < uVar7) {\n          dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar23 = dVar22 * dVar24;\n          puVar20 = PTR_LAB_00049218;\n          if (uVar4 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar23 < *(double *)(puVar20 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar23);\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar22 != dVar23)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n          dVar23 = dVar22;\n          dVar24 = *(double *)(puVar2 + 0x6768);\n        }\n      }\nLAB_0002207c:\n      (*(code *)PTR___sprintf_chk_00049454)\n                (param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23 / dVar24);\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }\nLAB_00021d4c:\n    pcVar19 = local_88 + -uVar7;\n    (*(code *)PTR_memmove_00049610)(pcVar19,param_3,uVar7);\n    pcVar15 = pcVar19 + uVar4;\n  }\n  if ((param_4 & 4) != 0) {\n    uVar6 = (int)pcVar15 - (int)pcVar19;\n    iVar8 = (*(code *)PTR_strlen_0004953c)(local_7c);\n    (*(code *)PTR___memcpy_chk_00049558)(auStack_60,pcVar19,uVar6,0x29);\n    uVar4 = 0xffffffff;\n    while( true ) {\n      uVar7 = (uint)*pbVar17;\n      if (uVar7 != 0) {\n        uVar4 = uVar7;\n        if (0x7e < uVar7) {\n          uVar4 = uVar6;\n        }\n        pbVar17 = pbVar17 + 1;\n      }\n      if (uVar6 < uVar4) break;\n      uVar6 = uVar6 - uVar4;\n      pcVar19 = pcVar15 + -uVar4;\n      (*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60 + uVar6,uVar4);\n      if (uVar6 == 0) goto LAB_00021d7c;\n      pcVar15 = pcVar19 + -iVar8;\n      (*(code *)PTR_memcpy_00049600)(pcVar15,local_7c,iVar8);\n    }\n    pcVar19 = pcVar15 + -uVar6;\n    (*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60,uVar6);\n  }\nLAB_00021d7c:\n  if ((param_4 & 0x80) == 0) goto LAB_00021da4;\n  if ((iVar13 == -1) && ((param_7 != 0 || (iVar13 = 0, 1 < param_8)))) {\n    iVar13 = 1;\n    uVar6 = 1;\n    uVar4 = 0;\n    do {\n      uVar29 = (ulonglong)uVar6;\n      uVar6 = (uint)(uVar29 * uVar16);\n      uVar4 = uVar16 * uVar4 + (int)(uVar29 * uVar16 >> 0x20);\n      if ((param_7 <= uVar4) && ((param_7 != uVar4 || (param_8 <= uVar6)))) break;\n      iVar13 = iVar13 + 1;\n    } while (iVar13 != 8);\n    if ((param_4 & 0x40) != 0) {\nLAB_000221fc:\n      local_88 = (char *)(param_3 + 0x288);\n      *(undefined1 *)(param_3 + 0x287) = 0x20;\n      goto LAB_00022208;\n    }\nLAB_00022210:\n    if ((uVar10 == 0) && (iVar13 == 1)) {\n      cVar9 = 'k';\n    }\n    else {\n      cVar9 = PTR_LAB_00049218[iVar13 + 0x6748];\n    }\n    pcVar15 = local_88 + 1;\n    *local_88 = cVar9;\n  }\n  else {\n    if ((param_4 & 0x100) == 0 && iVar13 == 0) goto LAB_00021da4;\n    if ((param_4 & 0x40) != 0) goto LAB_000221fc;\nLAB_00022208:\n    pcVar15 = local_88;\n    if (iVar13 != 0) goto LAB_00022210;\n  }\n  local_88 = pcVar15;\n  if ((param_4 & 0x100) != 0) {\n    pcVar11 = pcVar15 + 1;\n    local_88 = pcVar11;\n    if ((uVar10 != 0) && (iVar13 != 0)) {\n      local_88 = pcVar15 + 2;\n      *pcVar15 = 'i';\n      pcVar15 = pcVar11;\n    }\n    *pcVar15 = 'B';\n  }\nLAB_00021da4:\n  while( true ) {\n    *local_88 = '\0';\n    if (local_34 == *(int *)puVar3) break;\n    local_88 = (char *)(*(code *)PTR___stack_chk_fail_000495d0)();\n  }\n  return pcVar19;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "char cVar9;" primitive_type identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint extraout_v1;" type_identifier identifier ;) (declaration "char extraout_v1_01;" primitive_type identifier ;) (declaration "int extraout_v1_00;" primitive_type identifier ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "char *pcVar15;" primitive_type (pointer_declarator "*pcVar15" * identifier) ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "byte *pbVar17;" type_identifier (pointer_declarator "*pbVar17" * identifier) ;) (declaration "undefined4 uVar18;" type_identifier identifier ;) (declaration "char *pcVar19;" primitive_type (pointer_declarator "*pcVar19" * identifier) ;) (declaration "undefined *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "double dVar22;" primitive_type identifier ;) (declaration "double dVar23;" primitive_type identifier ;) (declaration "double dVar24;" primitive_type identifier ;) (declaration "longlong lVar25;" type_identifier identifier ;) (declaration "ulonglong uVar26;" type_identifier identifier ;) (declaration "longlong lVar27;" type_identifier identifier ;) (declaration "undefined8 uVar28;" type_identifier identifier ;) (declaration "ulonglong uVar29;" type_identifier identifier ;) (declaration "char *local_88;" primitive_type (pointer_declarator "*local_88" * identifier) ;) (declaration "undefined *local_7c;" type_identifier (pointer_declarator "*local_7c" * identifier) ;) (declaration "uint local_70;" type_identifier identifier ;) (declaration "undefined *local_68;" type_identifier (pointer_declarator "*local_68" * identifier) ;) (declaration "undefined1 auStack_60 [44];" type_identifier (array_declarator "auStack_60 [44]" identifier [ number_literal ]) ;) (declaration "int local_34;" primitive_type identifier ;) (expression_statement "puVar3 = PTR___stack_chk_guard_000495fc;" (assignment_expression "puVar3 = PTR___stack_chk_guard_000495fc" identifier = identifier) ;) (expression_statement "uVar10 = param_4 & 0x20;" (assignment_expression "uVar10 = param_4 & 0x20" identifier = (binary_expression "param_4 & 0x20" identifier & number_literal)) ;) (expression_statement "uVar16 = 0x400;" (assignment_expression "uVar16 = 0x400" identifier = number_literal) ;) (expression_statement "local_34 = *(int *)PTR___stack_chk_guard_000495fc;" (assignment_expression "local_34 = *(int *)PTR___stack_chk_guard_000495fc" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000495fc" * (cast_expression "(int *)PTR___stack_chk_guard_000495fc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar4 = param_4 & 3;" (assignment_expression "uVar4 = param_4 & 3" identifier = (binary_expression "param_4 & 3" identifier & number_literal)) ;) (if_statement "if (uVar10 == 0) {\n    uVar16 = 1000;\n  }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar16 = 1000;\n  }" { (expression_statement "uVar16 = 1000;" (assignment_expression "uVar16 = 1000" identifier = number_literal) ;) })) (expression_statement "puVar5 = (undefined4 *)(*(code *)PTR_localeconv_000494b4)();" (assignment_expression "puVar5 = (undefined4 *)(*(code *)PTR_localeconv_000494b4)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR_localeconv_000494b4)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_localeconv_000494b4)()" (parenthesized_expression "(*(code *)PTR_localeconv_000494b4)" ( (pointer_expression "*(code *)PTR_localeconv_000494b4" * (cast_expression "(code *)PTR_localeconv_000494b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "local_68 = (undefined *)*puVar5;" (assignment_expression "local_68 = (undefined *)*puVar5" identifier = (cast_expression "(undefined *)*puVar5" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ;) (expression_statement "local_70 = (*(code *)PTR_strlen_0004953c)(local_68);" (assignment_expression "local_70 = (*(code *)PTR_strlen_0004953c)(local_68)" identifier = (call_expression "(*(code *)PTR_strlen_0004953c)(local_68)" (parenthesized_expression "(*(code *)PTR_strlen_0004953c)" ( (pointer_expression "*(code *)PTR_strlen_0004953c" * (cast_expression "(code *)PTR_strlen_0004953c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_68)" ( identifier )))) ;) (if_statement "if (0xf < local_70 - 1) {\n    local_70 = 1;\n    local_68 = PTR_LAB_00049218 + 0x6104;\n  }" if (parenthesized_expression "(0xf < local_70 - 1)" ( (binary_expression "0xf < local_70 - 1" number_literal < (binary_expression "local_70 - 1" identifier - number_literal)) )) (compound_statement "{\n    local_70 = 1;\n    local_68 = PTR_LAB_00049218 + 0x6104;\n  }" { (expression_statement "local_70 = 1;" (assignment_expression "local_70 = 1" identifier = number_literal) ;) (expression_statement "local_68 = PTR_LAB_00049218 + 0x6104;" (assignment_expression "local_68 = PTR_LAB_00049218 + 0x6104" identifier = (binary_expression "PTR_LAB_00049218 + 0x6104" identifier + number_literal)) ;) })) (expression_statement "local_7c = (undefined *)puVar5[1];" (assignment_expression "local_7c = (undefined *)puVar5[1]" identifier = (cast_expression "(undefined *)puVar5[1]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar5[1]" identifier [ number_literal ]))) ;) (expression_statement "pbVar17 = (byte *)puVar5[2];" (assignment_expression "pbVar17 = (byte *)puVar5[2]" identifier = (cast_expression "(byte *)puVar5[2]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar5[2]" identifier [ number_literal ]))) ;) (expression_statement "uVar6 = (*(code *)PTR_strlen_0004953c)();" (assignment_expression "uVar6 = (*(code *)PTR_strlen_0004953c)()" identifier = (call_expression "(*(code *)PTR_strlen_0004953c)()" (parenthesized_expression "(*(code *)PTR_strlen_0004953c)" ( (pointer_expression "*(code *)PTR_strlen_0004953c" * (cast_expression "(code *)PTR_strlen_0004953c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (if_statement "if (0x10 < uVar6) {\n    local_7c = PTR_LAB_00049218 + 0x7ea8;\n  }" if (parenthesized_expression "(0x10 < uVar6)" ( (binary_expression "0x10 < uVar6" number_literal < identifier) )) (compound_statement "{\n    local_7c = PTR_LAB_00049218 + 0x7ea8;\n  }" { (expression_statement "local_7c = PTR_LAB_00049218 + 0x7ea8;" (assignment_expression "local_7c = PTR_LAB_00049218 + 0x7ea8" identifier = (binary_expression "PTR_LAB_00049218 + 0x7ea8" identifier + number_literal)) ;) })) (expression_statement "local_88 = (char *)(param_3 + 0x287);" (assignment_expression "local_88 = (char *)(param_3 + 0x287)" identifier = (cast_expression "(char *)(param_3 + 0x287)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x287)" ( (binary_expression "param_3 + 0x287" identifier + number_literal) )))) ;) (if_statement "if ((param_5 < param_7) || ((param_7 == param_5 && (param_6 < param_8)))) {\n    if ((param_5 == 0 && param_6 == 0) ||\n       (lVar25 = FUN_000317b0(param_7,param_8,param_5,param_6), lVar25 != 0)) goto LAB_00021ca0;\n    uVar26 = FUN_00031340(param_7,param_8,param_5,param_6);\n    uVar7 = (uint)(uVar26 >> 0x20);\n    uVar12 = (uint)uVar26;\n    uVar28 = FUN_000317b0(param_1,param_2,uVar7,uVar12);\n    iVar13 = (int)((ulonglong)uVar28 >> 0x20);\n    uVar6 = (uint)uVar28;\n    uVar21 = uVar6 * 5 >> 0x1f |\n             ((uint)(uVar6 * 5 < uVar6 * 4) + (uVar6 >> 0x1e | iVar13 << 2) + iVar13) * 2;\n    lVar27 = FUN_000317b0(uVar21,uVar6 * 10,uVar7,uVar12);\n    lVar25 = lVar27 << 1;\n    uVar14 = (uint)((ulonglong)lVar25 >> 0x20);\n    uVar29 = FUN_00031340(param_1,param_2,uVar7,uVar12);\n    FUN_00031340(uVar21,uVar6 * 10,uVar7,uVar12);\n    uVar6 = extraout_v1;\n    if ((uVar14 < uVar7) || ((uVar7 == uVar14 && ((uint)lVar25 < uVar12)))) {\n      uVar7 = (uint)(lVar25 != 0);\n    }\n    else if (uVar26 < (ulonglong)(lVar27 << 1)) {\n      uVar7 = 3;\n    }\n    else {\n      uVar7 = 2;\n    }\nLAB_000223b4:\n    pcVar15 = local_88;\n    if ((param_4 & 0x10) == 0) {\n      iVar13 = -1;\n    }\n    else {\n      iVar13 = 0;\n      if (((int)(uVar29 >> 0x20) != 0) || (uVar16 <= (uint)uVar29)) {\n        iVar13 = 0;\n        do {\n          uVar18 = (undefined4)(uVar29 >> 0x20);\n          FUN_000317b0(uVar18,(int)uVar29,0,uVar16);\n          uVar12 = extraout_v1_00 * 10 + uVar6;\n          if (uVar16 == 0) {\n            trap(7);\n          }\n          uVar6 = uVar12 / uVar16;\n          uVar14 = (uVar12 % uVar16) * 2 + ((int)uVar7 >> 1);\n          uVar29 = FUN_00031340(uVar18,(int)uVar29,0,uVar16);\n          puVar20 = PTR_memcpy_00049600;\n          uVar12 = (uint)uVar29;\n          uVar21 = uVar7 + uVar14;\n          if (uVar14 < uVar16) {\n            uVar7 = (uint)(uVar21 != 0);\n          }\n          else {\n            uVar7 = 2;\n            if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }\n          }\n          iVar13 = iVar13 + 1;\n          if (((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16)) {\n            if (uVar12 < 10) {\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }\n            break;\n          }\n        } while (iVar13 != 8);\n      }\n    }\n    if (uVar4 == 1) {\n      pcVar19 = local_88;\n      if (5 < (int)((((uint)uVar29 & 1) + uVar7 != 0) + uVar6)) goto LAB_000223fc;\nLAB_00022428:\n      do {\n        do {\n          iVar8 = (int)(uVar29 >> 0x20);\n          uVar4 = (uint)uVar29;\n          FUN_000317b0(iVar8,uVar4,0,10);\n          pcVar19 = pcVar19 + -1;\n          *pcVar19 = extraout_v1_01 + '0';\n          uVar29 = FUN_00031340(iVar8,uVar4,0,10);\n        } while (iVar8 != 0);\n      } while (9 < uVar4);\n    }\n    else {\nLAB_000223ec:\n      pcVar19 = pcVar15;\n      if ((uVar4 != 0) || ((int)(uVar6 + uVar7) < 1)) goto LAB_00022428;\nLAB_000223fc:\n      puVar20 = PTR_memcpy_00049600;\n      uVar29 = uVar29 + 1;\n      pcVar19 = pcVar15;\n      if (((param_4 & 0x10) == 0) ||\n         ((((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)) || (iVar13 == 8))))\n      goto LAB_00022428;\n      iVar13 = iVar13 + 1;\n      if ((param_4 & 8) == 0) {\n        pcVar15[-1] = '0';\n        pcVar15 = pcVar15 + ~local_70;\n        (*(code *)puVar20)(pcVar15,local_68);\n      }\n      pcVar19 = pcVar15 + -1;\n      pcVar15[-1] = '1';\n    }\n  }\n  else {\n    lVar25 = FUN_000317b0(param_5,param_6,param_7,param_8);\n    if (lVar25 == 0) {\n      lVar25 = FUN_00031340(param_5,param_6,param_7,param_8);\n      uVar29 = lVar25 * CONCAT44(param_1,param_2);\n      lVar25 = FUN_00031340((int)(uVar29 >> 0x20),(int)uVar29,(int)((ulonglong)lVar25 >> 0x20));\n      if (lVar25 == CONCAT44(param_1,param_2)) {\n        uVar7 = 0;\n        uVar6 = 0;\n        goto LAB_000223b4;\n      }\n    }\nLAB_00021ca0:\n    dVar22 = (double)FUN_000309d0(param_5,param_6);\n    dVar23 = (double)FUN_000309d0(param_7,param_8);\n    dVar22 = dVar22 / dVar23;\n    dVar23 = (double)FUN_000309d0(param_1,param_2);\n    puVar20 = PTR_LAB_00049218;\n    dVar22 = dVar22 * dVar23;\n    if ((param_4 & 0x10) == 0) {\n      dVar23 = dVar22;\n      if (((param_4 & 3) != 1) && (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760))) {\n        uVar28 = FUN_00030930(dVar22);\n        iVar13 = (int)((ulonglong)uVar28 >> 0x20);\n        uVar4 = (uint)uVar28;\n        dVar23 = (double)FUN_000309d0(iVar13,uVar4);\n        if (((param_4 & 3) == 0) && (dVar22 != dVar23)) {\n          dVar23 = (double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13);\n        }\n      }\n      (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23);\n      iVar13 = -1;\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }\n    else {\n      iVar13 = 0;\n      dVar23 = (double)uVar16;\n      do {\n        dVar24 = dVar23;\n        dVar23 = dVar24 * (double)uVar16;\n        iVar13 = iVar13 + 1;\n        if (dVar22 < dVar23) break;\n      } while (iVar13 != 8);\n      dVar22 = dVar22 / dVar24;\n      uVar6 = (uVar10 == 0) + 1 + local_70 + 1;\n      if (uVar4 == 1) {\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        if (uVar7 <= uVar6) goto LAB_0002232c;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        dVar23 = dVar22 * dVar24;\n      }\n      else {\n        dVar23 = dVar22;\n        if (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar22);\n          dVar23 = dVar22;\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar23 != dVar22)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        dVar22 = dVar23;\n        if (uVar6 < uVar7) {\n          dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar23 = dVar22 * dVar24;\n          puVar20 = PTR_LAB_00049218;\n          if (uVar4 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar23 < *(double *)(puVar20 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar23);\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar22 != dVar23)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n          dVar23 = dVar22;\n          dVar24 = *(double *)(puVar2 + 0x6768);\n        }\n      }\nLAB_0002207c:\n      (*(code *)PTR___sprintf_chk_00049454)\n                (param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23 / dVar24);\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }\nLAB_00021d4c:\n    pcVar19 = local_88 + -uVar7;\n    (*(code *)PTR_memmove_00049610)(pcVar19,param_3,uVar7);\n    pcVar15 = pcVar19 + uVar4;\n  }" if (parenthesized_expression "((param_5 < param_7) || ((param_7 == param_5 && (param_6 < param_8))))" ( (binary_expression "(param_5 < param_7) || ((param_7 == param_5 && (param_6 < param_8)))" (parenthesized_expression "(param_5 < param_7)" ( (binary_expression "param_5 < param_7" identifier < identifier) )) || (parenthesized_expression "((param_7 == param_5 && (param_6 < param_8)))" ( (parenthesized_expression "(param_7 == param_5 && (param_6 < param_8))" ( (binary_expression "param_7 == param_5 && (param_6 < param_8)" (binary_expression "param_7 == param_5" identifier == identifier) && (parenthesized_expression "(param_6 < param_8)" ( (binary_expression "param_6 < param_8" identifier < identifier) ))) )) ))) )) (compound_statement "{\n    if ((param_5 == 0 && param_6 == 0) ||\n       (lVar25 = FUN_000317b0(param_7,param_8,param_5,param_6), lVar25 != 0)) goto LAB_00021ca0;\n    uVar26 = FUN_00031340(param_7,param_8,param_5,param_6);\n    uVar7 = (uint)(uVar26 >> 0x20);\n    uVar12 = (uint)uVar26;\n    uVar28 = FUN_000317b0(param_1,param_2,uVar7,uVar12);\n    iVar13 = (int)((ulonglong)uVar28 >> 0x20);\n    uVar6 = (uint)uVar28;\n    uVar21 = uVar6 * 5 >> 0x1f |\n             ((uint)(uVar6 * 5 < uVar6 * 4) + (uVar6 >> 0x1e | iVar13 << 2) + iVar13) * 2;\n    lVar27 = FUN_000317b0(uVar21,uVar6 * 10,uVar7,uVar12);\n    lVar25 = lVar27 << 1;\n    uVar14 = (uint)((ulonglong)lVar25 >> 0x20);\n    uVar29 = FUN_00031340(param_1,param_2,uVar7,uVar12);\n    FUN_00031340(uVar21,uVar6 * 10,uVar7,uVar12);\n    uVar6 = extraout_v1;\n    if ((uVar14 < uVar7) || ((uVar7 == uVar14 && ((uint)lVar25 < uVar12)))) {\n      uVar7 = (uint)(lVar25 != 0);\n    }\n    else if (uVar26 < (ulonglong)(lVar27 << 1)) {\n      uVar7 = 3;\n    }\n    else {\n      uVar7 = 2;\n    }\nLAB_000223b4:\n    pcVar15 = local_88;\n    if ((param_4 & 0x10) == 0) {\n      iVar13 = -1;\n    }\n    else {\n      iVar13 = 0;\n      if (((int)(uVar29 >> 0x20) != 0) || (uVar16 <= (uint)uVar29)) {\n        iVar13 = 0;\n        do {\n          uVar18 = (undefined4)(uVar29 >> 0x20);\n          FUN_000317b0(uVar18,(int)uVar29,0,uVar16);\n          uVar12 = extraout_v1_00 * 10 + uVar6;\n          if (uVar16 == 0) {\n            trap(7);\n          }\n          uVar6 = uVar12 / uVar16;\n          uVar14 = (uVar12 % uVar16) * 2 + ((int)uVar7 >> 1);\n          uVar29 = FUN_00031340(uVar18,(int)uVar29,0,uVar16);\n          puVar20 = PTR_memcpy_00049600;\n          uVar12 = (uint)uVar29;\n          uVar21 = uVar7 + uVar14;\n          if (uVar14 < uVar16) {\n            uVar7 = (uint)(uVar21 != 0);\n          }\n          else {\n            uVar7 = 2;\n            if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }\n          }\n          iVar13 = iVar13 + 1;\n          if (((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16)) {\n            if (uVar12 < 10) {\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }\n            break;\n          }\n        } while (iVar13 != 8);\n      }\n    }\n    if (uVar4 == 1) {\n      pcVar19 = local_88;\n      if (5 < (int)((((uint)uVar29 & 1) + uVar7 != 0) + uVar6)) goto LAB_000223fc;\nLAB_00022428:\n      do {\n        do {\n          iVar8 = (int)(uVar29 >> 0x20);\n          uVar4 = (uint)uVar29;\n          FUN_000317b0(iVar8,uVar4,0,10);\n          pcVar19 = pcVar19 + -1;\n          *pcVar19 = extraout_v1_01 + '0';\n          uVar29 = FUN_00031340(iVar8,uVar4,0,10);\n        } while (iVar8 != 0);\n      } while (9 < uVar4);\n    }\n    else {\nLAB_000223ec:\n      pcVar19 = pcVar15;\n      if ((uVar4 != 0) || ((int)(uVar6 + uVar7) < 1)) goto LAB_00022428;\nLAB_000223fc:\n      puVar20 = PTR_memcpy_00049600;\n      uVar29 = uVar29 + 1;\n      pcVar19 = pcVar15;\n      if (((param_4 & 0x10) == 0) ||\n         ((((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)) || (iVar13 == 8))))\n      goto LAB_00022428;\n      iVar13 = iVar13 + 1;\n      if ((param_4 & 8) == 0) {\n        pcVar15[-1] = '0';\n        pcVar15 = pcVar15 + ~local_70;\n        (*(code *)puVar20)(pcVar15,local_68);\n      }\n      pcVar19 = pcVar15 + -1;\n      pcVar15[-1] = '1';\n    }\n  }" { (if_statement "if ((param_5 == 0 && param_6 == 0) ||\n       (lVar25 = FUN_000317b0(param_7,param_8,param_5,param_6), lVar25 != 0)) goto LAB_00021ca0;" if (parenthesized_expression "((param_5 == 0 && param_6 == 0) ||\n       (lVar25 = FUN_000317b0(param_7,param_8,param_5,param_6), lVar25 != 0))" ( (binary_expression "(param_5 == 0 && param_6 == 0) ||\n       (lVar25 = FUN_000317b0(param_7,param_8,param_5,param_6), lVar25 != 0)" (parenthesized_expression "(param_5 == 0 && param_6 == 0)" ( (binary_expression "param_5 == 0 && param_6 == 0" (binary_expression "param_5 == 0" identifier == number_literal) && (binary_expression "param_6 == 0" identifier == number_literal)) )) || (parenthesized_expression "(lVar25 = FUN_000317b0(param_7,param_8,param_5,param_6), lVar25 != 0)" ( (comma_expression "lVar25 = FUN_000317b0(param_7,param_8,param_5,param_6), lVar25 != 0" (assignment_expression "lVar25 = FUN_000317b0(param_7,param_8,param_5,param_6)" identifier = (call_expression "FUN_000317b0(param_7,param_8,param_5,param_6)" identifier (argument_list "(param_7,param_8,param_5,param_6)" ( identifier , identifier , identifier , identifier )))) , (binary_expression "lVar25 != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_00021ca0;" goto statement_identifier ;)) (expression_statement "uVar26 = FUN_00031340(param_7,param_8,param_5,param_6);" (assignment_expression "uVar26 = FUN_00031340(param_7,param_8,param_5,param_6)" identifier = (call_expression "FUN_00031340(param_7,param_8,param_5,param_6)" identifier (argument_list "(param_7,param_8,param_5,param_6)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "uVar7 = (uint)(uVar26 >> 0x20);" (assignment_expression "uVar7 = (uint)(uVar26 >> 0x20)" identifier = (call_expression "(uint)(uVar26 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar26 >> 0x20)" ( (binary_expression "uVar26 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "uVar12 = (uint)uVar26;" (assignment_expression "uVar12 = (uint)uVar26" identifier = (cast_expression "(uint)uVar26" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar28 = FUN_000317b0(param_1,param_2,uVar7,uVar12);" (assignment_expression "uVar28 = FUN_000317b0(param_1,param_2,uVar7,uVar12)" identifier = (call_expression "FUN_000317b0(param_1,param_2,uVar7,uVar12)" identifier (argument_list "(param_1,param_2,uVar7,uVar12)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "iVar13 = (int)((ulonglong)uVar28 >> 0x20);" (assignment_expression "iVar13 = (int)((ulonglong)uVar28 >> 0x20)" identifier = (cast_expression "(int)((ulonglong)uVar28 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar28 >> 0x20)" ( (binary_expression "(ulonglong)uVar28 >> 0x20" (cast_expression "(ulonglong)uVar28" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar6 = (uint)uVar28;" (assignment_expression "uVar6 = (uint)uVar28" identifier = (cast_expression "(uint)uVar28" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar21 = uVar6 * 5 >> 0x1f |\n             ((uint)(uVar6 * 5 < uVar6 * 4) + (uVar6 >> 0x1e | iVar13 << 2) + iVar13) * 2;" (assignment_expression "uVar21 = uVar6 * 5 >> 0x1f |\n             ((uint)(uVar6 * 5 < uVar6 * 4) + (uVar6 >> 0x1e | iVar13 << 2) + iVar13) * 2" identifier = (binary_expression "uVar6 * 5 >> 0x1f |\n             ((uint)(uVar6 * 5 < uVar6 * 4) + (uVar6 >> 0x1e | iVar13 << 2) + iVar13) * 2" (binary_expression "uVar6 * 5 >> 0x1f" (binary_expression "uVar6 * 5" identifier * number_literal) >> number_literal) | (binary_expression "((uint)(uVar6 * 5 < uVar6 * 4) + (uVar6 >> 0x1e | iVar13 << 2) + iVar13) * 2" (parenthesized_expression "((uint)(uVar6 * 5 < uVar6 * 4) + (uVar6 >> 0x1e | iVar13 << 2) + iVar13)" ( (binary_expression "(uint)(uVar6 * 5 < uVar6 * 4) + (uVar6 >> 0x1e | iVar13 << 2) + iVar13" (binary_expression "(uint)(uVar6 * 5 < uVar6 * 4) + (uVar6 >> 0x1e | iVar13 << 2)" (call_expression "(uint)(uVar6 * 5 < uVar6 * 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar6 * 5 < uVar6 * 4)" ( (binary_expression "uVar6 * 5 < uVar6 * 4" (binary_expression "uVar6 * 5" identifier * number_literal) < (binary_expression "uVar6 * 4" identifier * number_literal)) ))) + (parenthesized_expression "(uVar6 >> 0x1e | iVar13 << 2)" ( (binary_expression "uVar6 >> 0x1e | iVar13 << 2" (binary_expression "uVar6 >> 0x1e" identifier >> number_literal) | (binary_expression "iVar13 << 2" identifier << number_literal)) ))) + identifier) )) * number_literal))) ;) (expression_statement "lVar27 = FUN_000317b0(uVar21,uVar6 * 10,uVar7,uVar12);" (assignment_expression "lVar27 = FUN_000317b0(uVar21,uVar6 * 10,uVar7,uVar12)" identifier = (call_expression "FUN_000317b0(uVar21,uVar6 * 10,uVar7,uVar12)" identifier (argument_list "(uVar21,uVar6 * 10,uVar7,uVar12)" ( identifier , (binary_expression "uVar6 * 10" identifier * number_literal) , identifier , identifier )))) ;) (expression_statement "lVar25 = lVar27 << 1;" (assignment_expression "lVar25 = lVar27 << 1" identifier = (binary_expression "lVar27 << 1" identifier << number_literal)) ;) (expression_statement "uVar14 = (uint)((ulonglong)lVar25 >> 0x20);" (assignment_expression "uVar14 = (uint)((ulonglong)lVar25 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)lVar25 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar25 >> 0x20)" ( (binary_expression "(ulonglong)lVar25 >> 0x20" (cast_expression "(ulonglong)lVar25" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar29 = FUN_00031340(param_1,param_2,uVar7,uVar12);" (assignment_expression "uVar29 = FUN_00031340(param_1,param_2,uVar7,uVar12)" identifier = (call_expression "FUN_00031340(param_1,param_2,uVar7,uVar12)" identifier (argument_list "(param_1,param_2,uVar7,uVar12)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "FUN_00031340(uVar21,uVar6 * 10,uVar7,uVar12);" (call_expression "FUN_00031340(uVar21,uVar6 * 10,uVar7,uVar12)" identifier (argument_list "(uVar21,uVar6 * 10,uVar7,uVar12)" ( identifier , (binary_expression "uVar6 * 10" identifier * number_literal) , identifier , identifier ))) ;) (expression_statement "uVar6 = extraout_v1;" (assignment_expression "uVar6 = extraout_v1" identifier = identifier) ;) (if_statement "if ((uVar14 < uVar7) || ((uVar7 == uVar14 && ((uint)lVar25 < uVar12)))) {\n      uVar7 = (uint)(lVar25 != 0);\n    }\n    else if (uVar26 < (ulonglong)(lVar27 << 1)) {\n      uVar7 = 3;\n    }\n    else {\n      uVar7 = 2;\n    }" if (parenthesized_expression "((uVar14 < uVar7) || ((uVar7 == uVar14 && ((uint)lVar25 < uVar12))))" ( (binary_expression "(uVar14 < uVar7) || ((uVar7 == uVar14 && ((uint)lVar25 < uVar12)))" (parenthesized_expression "(uVar14 < uVar7)" ( (binary_expression "uVar14 < uVar7" identifier < identifier) )) || (parenthesized_expression "((uVar7 == uVar14 && ((uint)lVar25 < uVar12)))" ( (parenthesized_expression "(uVar7 == uVar14 && ((uint)lVar25 < uVar12))" ( (binary_expression "uVar7 == uVar14 && ((uint)lVar25 < uVar12)" (binary_expression "uVar7 == uVar14" identifier == identifier) && (parenthesized_expression "((uint)lVar25 < uVar12)" ( (binary_expression "(uint)lVar25 < uVar12" (cast_expression "(uint)lVar25" ( (type_descriptor "uint" type_identifier) ) identifier) < identifier) ))) )) ))) )) (compound_statement "{\n      uVar7 = (uint)(lVar25 != 0);\n    }" { (expression_statement "uVar7 = (uint)(lVar25 != 0);" (assignment_expression "uVar7 = (uint)(lVar25 != 0)" identifier = (call_expression "(uint)(lVar25 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(lVar25 != 0)" ( (binary_expression "lVar25 != 0" identifier != number_literal) )))) ;) }) (else_clause "else if (uVar26 < (ulonglong)(lVar27 << 1)) {\n      uVar7 = 3;\n    }\n    else {\n      uVar7 = 2;\n    }" else (if_statement "if (uVar26 < (ulonglong)(lVar27 << 1)) {\n      uVar7 = 3;\n    }\n    else {\n      uVar7 = 2;\n    }" if (parenthesized_expression "(uVar26 < (ulonglong)(lVar27 << 1))" ( (binary_expression "uVar26 < (ulonglong)(lVar27 << 1)" identifier < (call_expression "(ulonglong)(lVar27 << 1)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(lVar27 << 1)" ( (binary_expression "lVar27 << 1" identifier << number_literal) )))) )) (compound_statement "{\n      uVar7 = 3;\n    }" { (expression_statement "uVar7 = 3;" (assignment_expression "uVar7 = 3" identifier = number_literal) ;) }) (else_clause "else {\n      uVar7 = 2;\n    }" else (compound_statement "{\n      uVar7 = 2;\n    }" { (expression_statement "uVar7 = 2;" (assignment_expression "uVar7 = 2" identifier = number_literal) ;) }))))) (labeled_statement "LAB_000223b4:\n    pcVar15 = local_88;" statement_identifier : (expression_statement "pcVar15 = local_88;" (assignment_expression "pcVar15 = local_88" identifier = identifier) ;)) (if_statement "if ((param_4 & 0x10) == 0) {\n      iVar13 = -1;\n    }\n    else {\n      iVar13 = 0;\n      if (((int)(uVar29 >> 0x20) != 0) || (uVar16 <= (uint)uVar29)) {\n        iVar13 = 0;\n        do {\n          uVar18 = (undefined4)(uVar29 >> 0x20);\n          FUN_000317b0(uVar18,(int)uVar29,0,uVar16);\n          uVar12 = extraout_v1_00 * 10 + uVar6;\n          if (uVar16 == 0) {\n            trap(7);\n          }\n          uVar6 = uVar12 / uVar16;\n          uVar14 = (uVar12 % uVar16) * 2 + ((int)uVar7 >> 1);\n          uVar29 = FUN_00031340(uVar18,(int)uVar29,0,uVar16);\n          puVar20 = PTR_memcpy_00049600;\n          uVar12 = (uint)uVar29;\n          uVar21 = uVar7 + uVar14;\n          if (uVar14 < uVar16) {\n            uVar7 = (uint)(uVar21 != 0);\n          }\n          else {\n            uVar7 = 2;\n            if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }\n          }\n          iVar13 = iVar13 + 1;\n          if (((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16)) {\n            if (uVar12 < 10) {\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }\n            break;\n          }\n        } while (iVar13 != 8);\n      }\n    }" if (parenthesized_expression "((param_4 & 0x10) == 0)" ( (binary_expression "(param_4 & 0x10) == 0" (parenthesized_expression "(param_4 & 0x10)" ( (binary_expression "param_4 & 0x10" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      iVar13 = -1;\n    }" { (expression_statement "iVar13 = -1;" (assignment_expression "iVar13 = -1" identifier = number_literal) ;) }) (else_clause "else {\n      iVar13 = 0;\n      if (((int)(uVar29 >> 0x20) != 0) || (uVar16 <= (uint)uVar29)) {\n        iVar13 = 0;\n        do {\n          uVar18 = (undefined4)(uVar29 >> 0x20);\n          FUN_000317b0(uVar18,(int)uVar29,0,uVar16);\n          uVar12 = extraout_v1_00 * 10 + uVar6;\n          if (uVar16 == 0) {\n            trap(7);\n          }\n          uVar6 = uVar12 / uVar16;\n          uVar14 = (uVar12 % uVar16) * 2 + ((int)uVar7 >> 1);\n          uVar29 = FUN_00031340(uVar18,(int)uVar29,0,uVar16);\n          puVar20 = PTR_memcpy_00049600;\n          uVar12 = (uint)uVar29;\n          uVar21 = uVar7 + uVar14;\n          if (uVar14 < uVar16) {\n            uVar7 = (uint)(uVar21 != 0);\n          }\n          else {\n            uVar7 = 2;\n            if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }\n          }\n          iVar13 = iVar13 + 1;\n          if (((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16)) {\n            if (uVar12 < 10) {\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }\n            break;\n          }\n        } while (iVar13 != 8);\n      }\n    }" else (compound_statement "{\n      iVar13 = 0;\n      if (((int)(uVar29 >> 0x20) != 0) || (uVar16 <= (uint)uVar29)) {\n        iVar13 = 0;\n        do {\n          uVar18 = (undefined4)(uVar29 >> 0x20);\n          FUN_000317b0(uVar18,(int)uVar29,0,uVar16);\n          uVar12 = extraout_v1_00 * 10 + uVar6;\n          if (uVar16 == 0) {\n            trap(7);\n          }\n          uVar6 = uVar12 / uVar16;\n          uVar14 = (uVar12 % uVar16) * 2 + ((int)uVar7 >> 1);\n          uVar29 = FUN_00031340(uVar18,(int)uVar29,0,uVar16);\n          puVar20 = PTR_memcpy_00049600;\n          uVar12 = (uint)uVar29;\n          uVar21 = uVar7 + uVar14;\n          if (uVar14 < uVar16) {\n            uVar7 = (uint)(uVar21 != 0);\n          }\n          else {\n            uVar7 = 2;\n            if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }\n          }\n          iVar13 = iVar13 + 1;\n          if (((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16)) {\n            if (uVar12 < 10) {\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }\n            break;\n          }\n        } while (iVar13 != 8);\n      }\n    }" { (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (if_statement "if (((int)(uVar29 >> 0x20) != 0) || (uVar16 <= (uint)uVar29)) {\n        iVar13 = 0;\n        do {\n          uVar18 = (undefined4)(uVar29 >> 0x20);\n          FUN_000317b0(uVar18,(int)uVar29,0,uVar16);\n          uVar12 = extraout_v1_00 * 10 + uVar6;\n          if (uVar16 == 0) {\n            trap(7);\n          }\n          uVar6 = uVar12 / uVar16;\n          uVar14 = (uVar12 % uVar16) * 2 + ((int)uVar7 >> 1);\n          uVar29 = FUN_00031340(uVar18,(int)uVar29,0,uVar16);\n          puVar20 = PTR_memcpy_00049600;\n          uVar12 = (uint)uVar29;\n          uVar21 = uVar7 + uVar14;\n          if (uVar14 < uVar16) {\n            uVar7 = (uint)(uVar21 != 0);\n          }\n          else {\n            uVar7 = 2;\n            if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }\n          }\n          iVar13 = iVar13 + 1;\n          if (((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16)) {\n            if (uVar12 < 10) {\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }\n            break;\n          }\n        } while (iVar13 != 8);\n      }" if (parenthesized_expression "(((int)(uVar29 >> 0x20) != 0) || (uVar16 <= (uint)uVar29))" ( (binary_expression "((int)(uVar29 >> 0x20) != 0) || (uVar16 <= (uint)uVar29)" (parenthesized_expression "((int)(uVar29 >> 0x20) != 0)" ( (binary_expression "(int)(uVar29 >> 0x20) != 0" (cast_expression "(int)(uVar29 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar29 >> 0x20)" ( (binary_expression "uVar29 >> 0x20" identifier >> number_literal) ))) != number_literal) )) || (parenthesized_expression "(uVar16 <= (uint)uVar29)" ( (binary_expression "uVar16 <= (uint)uVar29" identifier <= (cast_expression "(uint)uVar29" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) )) (compound_statement "{\n        iVar13 = 0;\n        do {\n          uVar18 = (undefined4)(uVar29 >> 0x20);\n          FUN_000317b0(uVar18,(int)uVar29,0,uVar16);\n          uVar12 = extraout_v1_00 * 10 + uVar6;\n          if (uVar16 == 0) {\n            trap(7);\n          }\n          uVar6 = uVar12 / uVar16;\n          uVar14 = (uVar12 % uVar16) * 2 + ((int)uVar7 >> 1);\n          uVar29 = FUN_00031340(uVar18,(int)uVar29,0,uVar16);\n          puVar20 = PTR_memcpy_00049600;\n          uVar12 = (uint)uVar29;\n          uVar21 = uVar7 + uVar14;\n          if (uVar14 < uVar16) {\n            uVar7 = (uint)(uVar21 != 0);\n          }\n          else {\n            uVar7 = 2;\n            if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }\n          }\n          iVar13 = iVar13 + 1;\n          if (((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16)) {\n            if (uVar12 < 10) {\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }\n            break;\n          }\n        } while (iVar13 != 8);\n      }" { (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (do_statement "do {\n          uVar18 = (undefined4)(uVar29 >> 0x20);\n          FUN_000317b0(uVar18,(int)uVar29,0,uVar16);\n          uVar12 = extraout_v1_00 * 10 + uVar6;\n          if (uVar16 == 0) {\n            trap(7);\n          }\n          uVar6 = uVar12 / uVar16;\n          uVar14 = (uVar12 % uVar16) * 2 + ((int)uVar7 >> 1);\n          uVar29 = FUN_00031340(uVar18,(int)uVar29,0,uVar16);\n          puVar20 = PTR_memcpy_00049600;\n          uVar12 = (uint)uVar29;\n          uVar21 = uVar7 + uVar14;\n          if (uVar14 < uVar16) {\n            uVar7 = (uint)(uVar21 != 0);\n          }\n          else {\n            uVar7 = 2;\n            if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }\n          }\n          iVar13 = iVar13 + 1;\n          if (((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16)) {\n            if (uVar12 < 10) {\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }\n            break;\n          }\n        } while (iVar13 != 8);" do (compound_statement "{\n          uVar18 = (undefined4)(uVar29 >> 0x20);\n          FUN_000317b0(uVar18,(int)uVar29,0,uVar16);\n          uVar12 = extraout_v1_00 * 10 + uVar6;\n          if (uVar16 == 0) {\n            trap(7);\n          }\n          uVar6 = uVar12 / uVar16;\n          uVar14 = (uVar12 % uVar16) * 2 + ((int)uVar7 >> 1);\n          uVar29 = FUN_00031340(uVar18,(int)uVar29,0,uVar16);\n          puVar20 = PTR_memcpy_00049600;\n          uVar12 = (uint)uVar29;\n          uVar21 = uVar7 + uVar14;\n          if (uVar14 < uVar16) {\n            uVar7 = (uint)(uVar21 != 0);\n          }\n          else {\n            uVar7 = 2;\n            if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }\n          }\n          iVar13 = iVar13 + 1;\n          if (((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16)) {\n            if (uVar12 < 10) {\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }\n            break;\n          }\n        }" { (expression_statement "uVar18 = (undefined4)(uVar29 >> 0x20);" (assignment_expression "uVar18 = (undefined4)(uVar29 >> 0x20)" identifier = (call_expression "(undefined4)(uVar29 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "(uVar29 >> 0x20)" ( (binary_expression "uVar29 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "FUN_000317b0(uVar18,(int)uVar29,0,uVar16);" (call_expression "FUN_000317b0(uVar18,(int)uVar29,0,uVar16)" identifier (argument_list "(uVar18,(int)uVar29,0,uVar16)" ( identifier , (cast_expression "(int)uVar29" ( (type_descriptor "int" primitive_type) ) identifier) , number_literal , identifier ))) ;) (expression_statement "uVar12 = extraout_v1_00 * 10 + uVar6;" (assignment_expression "uVar12 = extraout_v1_00 * 10 + uVar6" identifier = (binary_expression "extraout_v1_00 * 10 + uVar6" (binary_expression "extraout_v1_00 * 10" identifier * number_literal) + identifier)) ;) (if_statement "if (uVar16 == 0) {\n            trap(7);\n          }" if (parenthesized_expression "(uVar16 == 0)" ( (binary_expression "uVar16 == 0" identifier == number_literal) )) (compound_statement "{\n            trap(7);\n          }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "uVar6 = uVar12 / uVar16;" (assignment_expression "uVar6 = uVar12 / uVar16" identifier = (binary_expression "uVar12 / uVar16" identifier / identifier)) ;) (expression_statement "uVar14 = (uVar12 % uVar16) * 2 + ((int)uVar7 >> 1);" (assignment_expression "uVar14 = (uVar12 % uVar16) * 2 + ((int)uVar7 >> 1)" identifier = (binary_expression "(uVar12 % uVar16) * 2 + ((int)uVar7 >> 1)" (binary_expression "(uVar12 % uVar16) * 2" (parenthesized_expression "(uVar12 % uVar16)" ( (binary_expression "uVar12 % uVar16" identifier % identifier) )) * number_literal) + (parenthesized_expression "((int)uVar7 >> 1)" ( (binary_expression "(int)uVar7 >> 1" (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar29 = FUN_00031340(uVar18,(int)uVar29,0,uVar16);" (assignment_expression "uVar29 = FUN_00031340(uVar18,(int)uVar29,0,uVar16)" identifier = (call_expression "FUN_00031340(uVar18,(int)uVar29,0,uVar16)" identifier (argument_list "(uVar18,(int)uVar29,0,uVar16)" ( identifier , (cast_expression "(int)uVar29" ( (type_descriptor "int" primitive_type) ) identifier) , number_literal , identifier )))) ;) (expression_statement "puVar20 = PTR_memcpy_00049600;" (assignment_expression "puVar20 = PTR_memcpy_00049600" identifier = identifier) ;) (expression_statement "uVar12 = (uint)uVar29;" (assignment_expression "uVar12 = (uint)uVar29" identifier = (cast_expression "(uint)uVar29" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar21 = uVar7 + uVar14;" (assignment_expression "uVar21 = uVar7 + uVar14" identifier = (binary_expression "uVar7 + uVar14" identifier + identifier)) ;) (if_statement "if (uVar14 < uVar16) {\n            uVar7 = (uint)(uVar21 != 0);\n          }\n          else {\n            uVar7 = 2;\n            if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }\n          }" if (parenthesized_expression "(uVar14 < uVar16)" ( (binary_expression "uVar14 < uVar16" identifier < identifier) )) (compound_statement "{\n            uVar7 = (uint)(uVar21 != 0);\n          }" { (expression_statement "uVar7 = (uint)(uVar21 != 0);" (assignment_expression "uVar7 = (uint)(uVar21 != 0)" identifier = (call_expression "(uint)(uVar21 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar21 != 0)" ( (binary_expression "uVar21 != 0" identifier != number_literal) )))) ;) }) (else_clause "else {\n            uVar7 = 2;\n            if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }\n          }" else (compound_statement "{\n            uVar7 = 2;\n            if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }\n          }" { (expression_statement "uVar7 = 2;" (assignment_expression "uVar7 = 2" identifier = number_literal) ;) (if_statement "if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }" if (parenthesized_expression "(uVar16 < uVar21)" ( (binary_expression "uVar16 < uVar21" identifier < identifier) )) (compound_statement "{\n              uVar7 = 3;\n            }" { (expression_statement "uVar7 = 3;" (assignment_expression "uVar7 = 3" identifier = number_literal) ;) })) }))) (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;) (if_statement "if (((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16)) {\n            if (uVar12 < 10) {\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }\n            break;\n          }" if (parenthesized_expression "(((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16))" ( (binary_expression "((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16)" (parenthesized_expression "((int)(uVar29 >> 0x20) == 0)" ( (binary_expression "(int)(uVar29 >> 0x20) == 0" (cast_expression "(int)(uVar29 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar29 >> 0x20)" ( (binary_expression "uVar29 >> 0x20" identifier >> number_literal) ))) == number_literal) )) && (parenthesized_expression "(uVar12 < uVar16)" ( (binary_expression "uVar12 < uVar16" identifier < identifier) ))) )) (compound_statement "{\n            if (uVar12 < 10) {\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }\n            break;\n          }" { (if_statement "if (uVar12 < 10) {\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }" if (parenthesized_expression "(uVar12 < 10)" ( (binary_expression "uVar12 < 10" identifier < number_literal) )) (compound_statement "{\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }" { (if_statement "if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }" if (parenthesized_expression "(uVar4 == 1)" ( (binary_expression "uVar4 == 1" identifier == number_literal) )) (compound_statement "{\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }" { (expression_statement "bVar1 = 2 < (uVar6 & 1) + uVar7;" (assignment_expression "bVar1 = 2 < (uVar6 & 1) + uVar7" identifier = (binary_expression "2 < (uVar6 & 1) + uVar7" number_literal < (binary_expression "(uVar6 & 1) + uVar7" (parenthesized_expression "(uVar6 & 1)" ( (binary_expression "uVar6 & 1" identifier & number_literal) )) + identifier))) ;) (labeled_statement "LAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;" statement_identifier : (if_statement "if (!bVar1) goto LAB_0002268c;" if (parenthesized_expression "(!bVar1)" ( (unary_expression "!bVar1" ! identifier) )) (goto_statement "goto LAB_0002268c;" goto statement_identifier ;))) (expression_statement "uVar14 = uVar12 + 1;" (assignment_expression "uVar14 = uVar12 + 1" identifier = (binary_expression "uVar12 + 1" identifier + number_literal)) ;) (if_statement "if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }" if (parenthesized_expression "(uVar6 == 9)" ( (binary_expression "uVar6 == 9" identifier == number_literal) )) (compound_statement "{\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }" { (expression_statement "bVar1 = uVar14 < uVar12;" (assignment_expression "bVar1 = uVar14 < uVar12" identifier = (binary_expression "uVar14 < uVar12" identifier < identifier)) ;) (expression_statement "uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);" (assignment_expression "uVar29 = (ulonglong)CONCAT14(bVar1,uVar14)" identifier = (cast_expression "(ulonglong)CONCAT14(bVar1,uVar14)" ( (type_descriptor "ulonglong" type_identifier) ) (call_expression "CONCAT14(bVar1,uVar14)" identifier (argument_list "(bVar1,uVar14)" ( identifier , identifier ))))) ;) (if_statement "if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }" if (parenthesized_expression "((bVar1) || (uVar14 != 10))" ( (binary_expression "(bVar1) || (uVar14 != 10)" (parenthesized_expression "(bVar1)" ( identifier )) || (parenthesized_expression "(uVar14 != 10)" ( (binary_expression "uVar14 != 10" identifier != number_literal) ))) )) (compound_statement "{\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }" { (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00022694;" goto statement_identifier ;) })) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (expression_statement "uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);" (assignment_expression "uVar29 = (ulonglong)CONCAT14(bVar1,uVar14)" identifier = (cast_expression "(ulonglong)CONCAT14(bVar1,uVar14)" ( (type_descriptor "ulonglong" type_identifier) ) (call_expression "CONCAT14(bVar1,uVar14)" identifier (argument_list "(bVar1,uVar14)" ( identifier , identifier ))))) ;) (goto_statement "goto LAB_000226d4;" goto statement_identifier ;) })) (expression_statement "cVar9 = (char)uVar6 + '1';" (assignment_expression "cVar9 = (char)uVar6 + '1'" identifier = (binary_expression "(char)uVar6 + '1'" (cast_expression "(char)uVar6" ( (type_descriptor "char" primitive_type) ) identifier) + (char_literal "'1'" ' character '))) ;) (labeled_statement "LAB_000226a4:\n                uVar7 = 0;" statement_identifier : (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;)) (expression_statement "*(char *)(param_3 + 0x286) = cVar9;" (assignment_expression "*(char *)(param_3 + 0x286) = cVar9" (pointer_expression "*(char *)(param_3 + 0x286)" * (cast_expression "(char *)(param_3 + 0x286)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x286)" ( (binary_expression "param_3 + 0x286" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar15 = (char *)((param_3 + 0x286) - local_70);" (assignment_expression "pcVar15 = (char *)((param_3 + 0x286) - local_70)" identifier = (cast_expression "(char *)((param_3 + 0x286) - local_70)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((param_3 + 0x286) - local_70)" ( (binary_expression "(param_3 + 0x286) - local_70" (parenthesized_expression "(param_3 + 0x286)" ( (binary_expression "param_3 + 0x286" identifier + number_literal) )) - identifier) )))) ;) (expression_statement "(*(code *)puVar20)(pcVar15,local_68,local_70);" (call_expression "(*(code *)puVar20)(pcVar15,local_68,local_70)" (parenthesized_expression "(*(code *)puVar20)" ( (pointer_expression "*(code *)puVar20" * (cast_expression "(code *)puVar20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar15,local_68,local_70)" ( identifier , identifier , identifier ))) ;) }) (else_clause "else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }" else (compound_statement "{\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }" { (expression_statement "bVar1 = uVar7 != 0;" (assignment_expression "bVar1 = uVar7 != 0" identifier = (binary_expression "uVar7 != 0" identifier != number_literal)) ;) (if_statement "if (uVar4 == 0) goto LAB_000226fc;" if (parenthesized_expression "(uVar4 == 0)" ( (binary_expression "uVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000226fc;" goto statement_identifier ;)) (labeled_statement "LAB_0002268c:\n                cVar9 = (char)uVar6 + '0';" statement_identifier : (expression_statement "cVar9 = (char)uVar6 + '0';" (assignment_expression "cVar9 = (char)uVar6 + '0'" identifier = (binary_expression "(char)uVar6 + '0'" (cast_expression "(char)uVar6" ( (type_descriptor "char" primitive_type) ) identifier) + (char_literal "'0'" ' character '))) ;)) (if_statement "if (uVar6 != 0) goto LAB_000226a4;" if (parenthesized_expression "(uVar6 != 0)" ( (binary_expression "uVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000226a4;" goto statement_identifier ;)) (labeled_statement "LAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }" statement_identifier : (if_statement "if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }" if (parenthesized_expression "((param_4 & 8) == 0)" ( (binary_expression "(param_4 & 8) == 0" (parenthesized_expression "(param_4 & 8)" ( (binary_expression "param_4 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }" { (expression_statement "cVar9 = '0';" (assignment_expression "cVar9 = '0'" identifier = (char_literal "'0'" ' character ')) ;) (goto_statement "goto LAB_000226a4;" goto statement_identifier ;) }))) }))) (labeled_statement "LAB_000226d4:\n              uVar6 = 0;" statement_identifier : (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;)) (expression_statement "pcVar19 = pcVar15;" (assignment_expression "pcVar19 = pcVar15" identifier = identifier) ;) (if_statement "if (uVar4 == 1) goto LAB_00022428;" if (parenthesized_expression "(uVar4 == 1)" ( (binary_expression "uVar4 == 1" identifier == number_literal) )) (goto_statement "goto LAB_00022428;" goto statement_identifier ;)) (goto_statement "goto LAB_000223ec;" goto statement_identifier ;) })) (break_statement "break;" break ;) })) }) while (parenthesized_expression "(iVar13 != 8)" ( (binary_expression "iVar13 != 8" identifier != number_literal) )) ;) })) }))) (if_statement "if (uVar4 == 1) {\n      pcVar19 = local_88;\n      if (5 < (int)((((uint)uVar29 & 1) + uVar7 != 0) + uVar6)) goto LAB_000223fc;\nLAB_00022428:\n      do {\n        do {\n          iVar8 = (int)(uVar29 >> 0x20);\n          uVar4 = (uint)uVar29;\n          FUN_000317b0(iVar8,uVar4,0,10);\n          pcVar19 = pcVar19 + -1;\n          *pcVar19 = extraout_v1_01 + '0';\n          uVar29 = FUN_00031340(iVar8,uVar4,0,10);\n        } while (iVar8 != 0);\n      } while (9 < uVar4);\n    }\n    else {\nLAB_000223ec:\n      pcVar19 = pcVar15;\n      if ((uVar4 != 0) || ((int)(uVar6 + uVar7) < 1)) goto LAB_00022428;\nLAB_000223fc:\n      puVar20 = PTR_memcpy_00049600;\n      uVar29 = uVar29 + 1;\n      pcVar19 = pcVar15;\n      if (((param_4 & 0x10) == 0) ||\n         ((((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)) || (iVar13 == 8))))\n      goto LAB_00022428;\n      iVar13 = iVar13 + 1;\n      if ((param_4 & 8) == 0) {\n        pcVar15[-1] = '0';\n        pcVar15 = pcVar15 + ~local_70;\n        (*(code *)puVar20)(pcVar15,local_68);\n      }\n      pcVar19 = pcVar15 + -1;\n      pcVar15[-1] = '1';\n    }" if (parenthesized_expression "(uVar4 == 1)" ( (binary_expression "uVar4 == 1" identifier == number_literal) )) (compound_statement "{\n      pcVar19 = local_88;\n      if (5 < (int)((((uint)uVar29 & 1) + uVar7 != 0) + uVar6)) goto LAB_000223fc;\nLAB_00022428:\n      do {\n        do {\n          iVar8 = (int)(uVar29 >> 0x20);\n          uVar4 = (uint)uVar29;\n          FUN_000317b0(iVar8,uVar4,0,10);\n          pcVar19 = pcVar19 + -1;\n          *pcVar19 = extraout_v1_01 + '0';\n          uVar29 = FUN_00031340(iVar8,uVar4,0,10);\n        } while (iVar8 != 0);\n      } while (9 < uVar4);\n    }" { (expression_statement "pcVar19 = local_88;" (assignment_expression "pcVar19 = local_88" identifier = identifier) ;) (if_statement "if (5 < (int)((((uint)uVar29 & 1) + uVar7 != 0) + uVar6)) goto LAB_000223fc;" if (parenthesized_expression "(5 < (int)((((uint)uVar29 & 1) + uVar7 != 0) + uVar6))" ( (binary_expression "5 < (int)((((uint)uVar29 & 1) + uVar7 != 0) + uVar6)" number_literal < (cast_expression "(int)((((uint)uVar29 & 1) + uVar7 != 0) + uVar6)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((((uint)uVar29 & 1) + uVar7 != 0) + uVar6)" ( (binary_expression "(((uint)uVar29 & 1) + uVar7 != 0) + uVar6" (parenthesized_expression "(((uint)uVar29 & 1) + uVar7 != 0)" ( (binary_expression "((uint)uVar29 & 1) + uVar7 != 0" (binary_expression "((uint)uVar29 & 1) + uVar7" (parenthesized_expression "((uint)uVar29 & 1)" ( (binary_expression "(uint)uVar29 & 1" (cast_expression "(uint)uVar29" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) + identifier) != number_literal) )) + identifier) )))) )) (goto_statement "goto LAB_000223fc;" goto statement_identifier ;)) (labeled_statement "LAB_00022428:\n      do {\n        do {\n          iVar8 = (int)(uVar29 >> 0x20);\n          uVar4 = (uint)uVar29;\n          FUN_000317b0(iVar8,uVar4,0,10);\n          pcVar19 = pcVar19 + -1;\n          *pcVar19 = extraout_v1_01 + '0';\n          uVar29 = FUN_00031340(iVar8,uVar4,0,10);\n        } while (iVar8 != 0);\n      } while (9 < uVar4);" statement_identifier : (do_statement "do {\n        do {\n          iVar8 = (int)(uVar29 >> 0x20);\n          uVar4 = (uint)uVar29;\n          FUN_000317b0(iVar8,uVar4,0,10);\n          pcVar19 = pcVar19 + -1;\n          *pcVar19 = extraout_v1_01 + '0';\n          uVar29 = FUN_00031340(iVar8,uVar4,0,10);\n        } while (iVar8 != 0);\n      } while (9 < uVar4);" do (compound_statement "{\n        do {\n          iVar8 = (int)(uVar29 >> 0x20);\n          uVar4 = (uint)uVar29;\n          FUN_000317b0(iVar8,uVar4,0,10);\n          pcVar19 = pcVar19 + -1;\n          *pcVar19 = extraout_v1_01 + '0';\n          uVar29 = FUN_00031340(iVar8,uVar4,0,10);\n        } while (iVar8 != 0);\n      }" { (do_statement "do {\n          iVar8 = (int)(uVar29 >> 0x20);\n          uVar4 = (uint)uVar29;\n          FUN_000317b0(iVar8,uVar4,0,10);\n          pcVar19 = pcVar19 + -1;\n          *pcVar19 = extraout_v1_01 + '0';\n          uVar29 = FUN_00031340(iVar8,uVar4,0,10);\n        } while (iVar8 != 0);" do (compound_statement "{\n          iVar8 = (int)(uVar29 >> 0x20);\n          uVar4 = (uint)uVar29;\n          FUN_000317b0(iVar8,uVar4,0,10);\n          pcVar19 = pcVar19 + -1;\n          *pcVar19 = extraout_v1_01 + '0';\n          uVar29 = FUN_00031340(iVar8,uVar4,0,10);\n        }" { (expression_statement "iVar8 = (int)(uVar29 >> 0x20);" (assignment_expression "iVar8 = (int)(uVar29 >> 0x20)" identifier = (cast_expression "(int)(uVar29 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar29 >> 0x20)" ( (binary_expression "uVar29 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "uVar4 = (uint)uVar29;" (assignment_expression "uVar4 = (uint)uVar29" identifier = (cast_expression "(uint)uVar29" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "FUN_000317b0(iVar8,uVar4,0,10);" (call_expression "FUN_000317b0(iVar8,uVar4,0,10)" identifier (argument_list "(iVar8,uVar4,0,10)" ( identifier , identifier , number_literal , number_literal ))) ;) (expression_statement "pcVar19 = pcVar19 + -1;" (assignment_expression "pcVar19 = pcVar19 + -1" identifier = (binary_expression "pcVar19 + -1" identifier + number_literal)) ;) (expression_statement "*pcVar19 = extraout_v1_01 + '0';" (assignment_expression "*pcVar19 = extraout_v1_01 + '0'" (pointer_expression "*pcVar19" * identifier) = (binary_expression "extraout_v1_01 + '0'" identifier + (char_literal "'0'" ' character '))) ;) (expression_statement "uVar29 = FUN_00031340(iVar8,uVar4,0,10);" (assignment_expression "uVar29 = FUN_00031340(iVar8,uVar4,0,10)" identifier = (call_expression "FUN_00031340(iVar8,uVar4,0,10)" identifier (argument_list "(iVar8,uVar4,0,10)" ( identifier , identifier , number_literal , number_literal )))) ;) }) while (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) ;) }) while (parenthesized_expression "(9 < uVar4)" ( (binary_expression "9 < uVar4" number_literal < identifier) )) ;)) }) (else_clause "else {\nLAB_000223ec:\n      pcVar19 = pcVar15;\n      if ((uVar4 != 0) || ((int)(uVar6 + uVar7) < 1)) goto LAB_00022428;\nLAB_000223fc:\n      puVar20 = PTR_memcpy_00049600;\n      uVar29 = uVar29 + 1;\n      pcVar19 = pcVar15;\n      if (((param_4 & 0x10) == 0) ||\n         ((((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)) || (iVar13 == 8))))\n      goto LAB_00022428;\n      iVar13 = iVar13 + 1;\n      if ((param_4 & 8) == 0) {\n        pcVar15[-1] = '0';\n        pcVar15 = pcVar15 + ~local_70;\n        (*(code *)puVar20)(pcVar15,local_68);\n      }\n      pcVar19 = pcVar15 + -1;\n      pcVar15[-1] = '1';\n    }" else (compound_statement "{\nLAB_000223ec:\n      pcVar19 = pcVar15;\n      if ((uVar4 != 0) || ((int)(uVar6 + uVar7) < 1)) goto LAB_00022428;\nLAB_000223fc:\n      puVar20 = PTR_memcpy_00049600;\n      uVar29 = uVar29 + 1;\n      pcVar19 = pcVar15;\n      if (((param_4 & 0x10) == 0) ||\n         ((((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)) || (iVar13 == 8))))\n      goto LAB_00022428;\n      iVar13 = iVar13 + 1;\n      if ((param_4 & 8) == 0) {\n        pcVar15[-1] = '0';\n        pcVar15 = pcVar15 + ~local_70;\n        (*(code *)puVar20)(pcVar15,local_68);\n      }\n      pcVar19 = pcVar15 + -1;\n      pcVar15[-1] = '1';\n    }" { (labeled_statement "LAB_000223ec:\n      pcVar19 = pcVar15;" statement_identifier : (expression_statement "pcVar19 = pcVar15;" (assignment_expression "pcVar19 = pcVar15" identifier = identifier) ;)) (if_statement "if ((uVar4 != 0) || ((int)(uVar6 + uVar7) < 1)) goto LAB_00022428;" if (parenthesized_expression "((uVar4 != 0) || ((int)(uVar6 + uVar7) < 1))" ( (binary_expression "(uVar4 != 0) || ((int)(uVar6 + uVar7) < 1)" (parenthesized_expression "(uVar4 != 0)" ( (binary_expression "uVar4 != 0" identifier != number_literal) )) || (parenthesized_expression "((int)(uVar6 + uVar7) < 1)" ( (binary_expression "(int)(uVar6 + uVar7) < 1" (cast_expression "(int)(uVar6 + uVar7)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar6 + uVar7)" ( (binary_expression "uVar6 + uVar7" identifier + identifier) ))) < number_literal) ))) )) (goto_statement "goto LAB_00022428;" goto statement_identifier ;)) (labeled_statement "LAB_000223fc:\n      puVar20 = PTR_memcpy_00049600;" statement_identifier : (expression_statement "puVar20 = PTR_memcpy_00049600;" (assignment_expression "puVar20 = PTR_memcpy_00049600" identifier = identifier) ;)) (expression_statement "uVar29 = uVar29 + 1;" (assignment_expression "uVar29 = uVar29 + 1" identifier = (binary_expression "uVar29 + 1" identifier + number_literal)) ;) (expression_statement "pcVar19 = pcVar15;" (assignment_expression "pcVar19 = pcVar15" identifier = identifier) ;) (if_statement "if (((param_4 & 0x10) == 0) ||\n         ((((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)) || (iVar13 == 8))))\n      goto LAB_00022428;" if (parenthesized_expression "(((param_4 & 0x10) == 0) ||\n         ((((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)) || (iVar13 == 8))))" ( (binary_expression "((param_4 & 0x10) == 0) ||\n         ((((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)) || (iVar13 == 8)))" (parenthesized_expression "((param_4 & 0x10) == 0)" ( (binary_expression "(param_4 & 0x10) == 0" (parenthesized_expression "(param_4 & 0x10)" ( (binary_expression "param_4 & 0x10" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "((((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)) || (iVar13 == 8)))" ( (parenthesized_expression "(((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)) || (iVar13 == 8))" ( (binary_expression "((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)) || (iVar13 == 8)" (parenthesized_expression "((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29))" ( (binary_expression "(int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)" (binary_expression "(int)(uVar29 >> 0x20) != 0" (cast_expression "(int)(uVar29 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar29 >> 0x20)" ( (binary_expression "uVar29 >> 0x20" identifier >> number_literal) ))) != number_literal) || (parenthesized_expression "(uVar16 != (uint)uVar29)" ( (binary_expression "uVar16 != (uint)uVar29" identifier != (cast_expression "(uint)uVar29" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) )) || (parenthesized_expression "(iVar13 == 8)" ( (binary_expression "iVar13 == 8" identifier == number_literal) ))) )) ))) )) (goto_statement "goto LAB_00022428;" goto statement_identifier ;)) (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;) (if_statement "if ((param_4 & 8) == 0) {\n        pcVar15[-1] = '0';\n        pcVar15 = pcVar15 + ~local_70;\n        (*(code *)puVar20)(pcVar15,local_68);\n      }" if (parenthesized_expression "((param_4 & 8) == 0)" ( (binary_expression "(param_4 & 8) == 0" (parenthesized_expression "(param_4 & 8)" ( (binary_expression "param_4 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        pcVar15[-1] = '0';\n        pcVar15 = pcVar15 + ~local_70;\n        (*(code *)puVar20)(pcVar15,local_68);\n      }" { (expression_statement "pcVar15[-1] = '0';" (assignment_expression "pcVar15[-1] = '0'" (subscript_expression "pcVar15[-1]" identifier [ number_literal ]) = (char_literal "'0'" ' character ')) ;) (expression_statement "pcVar15 = pcVar15 + ~local_70;" (assignment_expression "pcVar15 = pcVar15 + ~local_70" identifier = (binary_expression "pcVar15 + ~local_70" identifier + (unary_expression "~local_70" ~ identifier))) ;) (expression_statement "(*(code *)puVar20)(pcVar15,local_68);" (call_expression "(*(code *)puVar20)(pcVar15,local_68)" (parenthesized_expression "(*(code *)puVar20)" ( (pointer_expression "*(code *)puVar20" * (cast_expression "(code *)puVar20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar15,local_68)" ( identifier , identifier ))) ;) })) (expression_statement "pcVar19 = pcVar15 + -1;" (assignment_expression "pcVar19 = pcVar15 + -1" identifier = (binary_expression "pcVar15 + -1" identifier + number_literal)) ;) (expression_statement "pcVar15[-1] = '1';" (assignment_expression "pcVar15[-1] = '1'" (subscript_expression "pcVar15[-1]" identifier [ number_literal ]) = (char_literal "'1'" ' character ')) ;) }))) }) (else_clause "else {\n    lVar25 = FUN_000317b0(param_5,param_6,param_7,param_8);\n    if (lVar25 == 0) {\n      lVar25 = FUN_00031340(param_5,param_6,param_7,param_8);\n      uVar29 = lVar25 * CONCAT44(param_1,param_2);\n      lVar25 = FUN_00031340((int)(uVar29 >> 0x20),(int)uVar29,(int)((ulonglong)lVar25 >> 0x20));\n      if (lVar25 == CONCAT44(param_1,param_2)) {\n        uVar7 = 0;\n        uVar6 = 0;\n        goto LAB_000223b4;\n      }\n    }\nLAB_00021ca0:\n    dVar22 = (double)FUN_000309d0(param_5,param_6);\n    dVar23 = (double)FUN_000309d0(param_7,param_8);\n    dVar22 = dVar22 / dVar23;\n    dVar23 = (double)FUN_000309d0(param_1,param_2);\n    puVar20 = PTR_LAB_00049218;\n    dVar22 = dVar22 * dVar23;\n    if ((param_4 & 0x10) == 0) {\n      dVar23 = dVar22;\n      if (((param_4 & 3) != 1) && (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760))) {\n        uVar28 = FUN_00030930(dVar22);\n        iVar13 = (int)((ulonglong)uVar28 >> 0x20);\n        uVar4 = (uint)uVar28;\n        dVar23 = (double)FUN_000309d0(iVar13,uVar4);\n        if (((param_4 & 3) == 0) && (dVar22 != dVar23)) {\n          dVar23 = (double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13);\n        }\n      }\n      (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23);\n      iVar13 = -1;\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }\n    else {\n      iVar13 = 0;\n      dVar23 = (double)uVar16;\n      do {\n        dVar24 = dVar23;\n        dVar23 = dVar24 * (double)uVar16;\n        iVar13 = iVar13 + 1;\n        if (dVar22 < dVar23) break;\n      } while (iVar13 != 8);\n      dVar22 = dVar22 / dVar24;\n      uVar6 = (uVar10 == 0) + 1 + local_70 + 1;\n      if (uVar4 == 1) {\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        if (uVar7 <= uVar6) goto LAB_0002232c;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        dVar23 = dVar22 * dVar24;\n      }\n      else {\n        dVar23 = dVar22;\n        if (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar22);\n          dVar23 = dVar22;\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar23 != dVar22)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        dVar22 = dVar23;\n        if (uVar6 < uVar7) {\n          dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar23 = dVar22 * dVar24;\n          puVar20 = PTR_LAB_00049218;\n          if (uVar4 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar23 < *(double *)(puVar20 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar23);\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar22 != dVar23)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n          dVar23 = dVar22;\n          dVar24 = *(double *)(puVar2 + 0x6768);\n        }\n      }\nLAB_0002207c:\n      (*(code *)PTR___sprintf_chk_00049454)\n                (param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23 / dVar24);\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }\nLAB_00021d4c:\n    pcVar19 = local_88 + -uVar7;\n    (*(code *)PTR_memmove_00049610)(pcVar19,param_3,uVar7);\n    pcVar15 = pcVar19 + uVar4;\n  }" else (compound_statement "{\n    lVar25 = FUN_000317b0(param_5,param_6,param_7,param_8);\n    if (lVar25 == 0) {\n      lVar25 = FUN_00031340(param_5,param_6,param_7,param_8);\n      uVar29 = lVar25 * CONCAT44(param_1,param_2);\n      lVar25 = FUN_00031340((int)(uVar29 >> 0x20),(int)uVar29,(int)((ulonglong)lVar25 >> 0x20));\n      if (lVar25 == CONCAT44(param_1,param_2)) {\n        uVar7 = 0;\n        uVar6 = 0;\n        goto LAB_000223b4;\n      }\n    }\nLAB_00021ca0:\n    dVar22 = (double)FUN_000309d0(param_5,param_6);\n    dVar23 = (double)FUN_000309d0(param_7,param_8);\n    dVar22 = dVar22 / dVar23;\n    dVar23 = (double)FUN_000309d0(param_1,param_2);\n    puVar20 = PTR_LAB_00049218;\n    dVar22 = dVar22 * dVar23;\n    if ((param_4 & 0x10) == 0) {\n      dVar23 = dVar22;\n      if (((param_4 & 3) != 1) && (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760))) {\n        uVar28 = FUN_00030930(dVar22);\n        iVar13 = (int)((ulonglong)uVar28 >> 0x20);\n        uVar4 = (uint)uVar28;\n        dVar23 = (double)FUN_000309d0(iVar13,uVar4);\n        if (((param_4 & 3) == 0) && (dVar22 != dVar23)) {\n          dVar23 = (double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13);\n        }\n      }\n      (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23);\n      iVar13 = -1;\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }\n    else {\n      iVar13 = 0;\n      dVar23 = (double)uVar16;\n      do {\n        dVar24 = dVar23;\n        dVar23 = dVar24 * (double)uVar16;\n        iVar13 = iVar13 + 1;\n        if (dVar22 < dVar23) break;\n      } while (iVar13 != 8);\n      dVar22 = dVar22 / dVar24;\n      uVar6 = (uVar10 == 0) + 1 + local_70 + 1;\n      if (uVar4 == 1) {\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        if (uVar7 <= uVar6) goto LAB_0002232c;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        dVar23 = dVar22 * dVar24;\n      }\n      else {\n        dVar23 = dVar22;\n        if (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar22);\n          dVar23 = dVar22;\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar23 != dVar22)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        dVar22 = dVar23;\n        if (uVar6 < uVar7) {\n          dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar23 = dVar22 * dVar24;\n          puVar20 = PTR_LAB_00049218;\n          if (uVar4 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar23 < *(double *)(puVar20 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar23);\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar22 != dVar23)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n          dVar23 = dVar22;\n          dVar24 = *(double *)(puVar2 + 0x6768);\n        }\n      }\nLAB_0002207c:\n      (*(code *)PTR___sprintf_chk_00049454)\n                (param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23 / dVar24);\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }\nLAB_00021d4c:\n    pcVar19 = local_88 + -uVar7;\n    (*(code *)PTR_memmove_00049610)(pcVar19,param_3,uVar7);\n    pcVar15 = pcVar19 + uVar4;\n  }" { (expression_statement "lVar25 = FUN_000317b0(param_5,param_6,param_7,param_8);" (assignment_expression "lVar25 = FUN_000317b0(param_5,param_6,param_7,param_8)" identifier = (call_expression "FUN_000317b0(param_5,param_6,param_7,param_8)" identifier (argument_list "(param_5,param_6,param_7,param_8)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (lVar25 == 0) {\n      lVar25 = FUN_00031340(param_5,param_6,param_7,param_8);\n      uVar29 = lVar25 * CONCAT44(param_1,param_2);\n      lVar25 = FUN_00031340((int)(uVar29 >> 0x20),(int)uVar29,(int)((ulonglong)lVar25 >> 0x20));\n      if (lVar25 == CONCAT44(param_1,param_2)) {\n        uVar7 = 0;\n        uVar6 = 0;\n        goto LAB_000223b4;\n      }\n    }" if (parenthesized_expression "(lVar25 == 0)" ( (binary_expression "lVar25 == 0" identifier == number_literal) )) (compound_statement "{\n      lVar25 = FUN_00031340(param_5,param_6,param_7,param_8);\n      uVar29 = lVar25 * CONCAT44(param_1,param_2);\n      lVar25 = FUN_00031340((int)(uVar29 >> 0x20),(int)uVar29,(int)((ulonglong)lVar25 >> 0x20));\n      if (lVar25 == CONCAT44(param_1,param_2)) {\n        uVar7 = 0;\n        uVar6 = 0;\n        goto LAB_000223b4;\n      }\n    }" { (expression_statement "lVar25 = FUN_00031340(param_5,param_6,param_7,param_8);" (assignment_expression "lVar25 = FUN_00031340(param_5,param_6,param_7,param_8)" identifier = (call_expression "FUN_00031340(param_5,param_6,param_7,param_8)" identifier (argument_list "(param_5,param_6,param_7,param_8)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "uVar29 = lVar25 * CONCAT44(param_1,param_2);" (assignment_expression "uVar29 = lVar25 * CONCAT44(param_1,param_2)" identifier = (binary_expression "lVar25 * CONCAT44(param_1,param_2)" identifier * (call_expression "CONCAT44(param_1,param_2)" identifier (argument_list "(param_1,param_2)" ( identifier , identifier ))))) ;) (expression_statement "lVar25 = FUN_00031340((int)(uVar29 >> 0x20),(int)uVar29,(int)((ulonglong)lVar25 >> 0x20));" (assignment_expression "lVar25 = FUN_00031340((int)(uVar29 >> 0x20),(int)uVar29,(int)((ulonglong)lVar25 >> 0x20))" identifier = (call_expression "FUN_00031340((int)(uVar29 >> 0x20),(int)uVar29,(int)((ulonglong)lVar25 >> 0x20))" identifier (argument_list "((int)(uVar29 >> 0x20),(int)uVar29,(int)((ulonglong)lVar25 >> 0x20))" ( (cast_expression "(int)(uVar29 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar29 >> 0x20)" ( (binary_expression "uVar29 >> 0x20" identifier >> number_literal) ))) , (cast_expression "(int)uVar29" ( (type_descriptor "int" primitive_type) ) identifier) , (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) ))) )))) ;) (if_statement "if (lVar25 == CONCAT44(param_1,param_2)) {\n        uVar7 = 0;\n        uVar6 = 0;\n        goto LAB_000223b4;\n      }" if (parenthesized_expression "(lVar25 == CONCAT44(param_1,param_2))" ( (binary_expression "lVar25 == CONCAT44(param_1,param_2)" identifier == (call_expression "CONCAT44(param_1,param_2)" identifier (argument_list "(param_1,param_2)" ( identifier , identifier )))) )) (compound_statement "{\n        uVar7 = 0;\n        uVar6 = 0;\n        goto LAB_000223b4;\n      }" { (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000223b4;" goto statement_identifier ;) })) })) (labeled_statement "LAB_00021ca0:\n    dVar22 = (double)FUN_000309d0(param_5,param_6);" statement_identifier : (expression_statement "dVar22 = (double)FUN_000309d0(param_5,param_6);" (assignment_expression "dVar22 = (double)FUN_000309d0(param_5,param_6)" identifier = (cast_expression "(double)FUN_000309d0(param_5,param_6)" ( (type_descriptor "double" primitive_type) ) (call_expression "FUN_000309d0(param_5,param_6)" identifier (argument_list "(param_5,param_6)" ( identifier , identifier ))))) ;)) (expression_statement "dVar23 = (double)FUN_000309d0(param_7,param_8);" (assignment_expression "dVar23 = (double)FUN_000309d0(param_7,param_8)" identifier = (cast_expression "(double)FUN_000309d0(param_7,param_8)" ( (type_descriptor "double" primitive_type) ) (call_expression "FUN_000309d0(param_7,param_8)" identifier (argument_list "(param_7,param_8)" ( identifier , identifier ))))) ;) (expression_statement "dVar22 = dVar22 / dVar23;" (assignment_expression "dVar22 = dVar22 / dVar23" identifier = (binary_expression "dVar22 / dVar23" identifier / identifier)) ;) (expression_statement "dVar23 = (double)FUN_000309d0(param_1,param_2);" (assignment_expression "dVar23 = (double)FUN_000309d0(param_1,param_2)" identifier = (cast_expression "(double)FUN_000309d0(param_1,param_2)" ( (type_descriptor "double" primitive_type) ) (call_expression "FUN_000309d0(param_1,param_2)" identifier (argument_list "(param_1,param_2)" ( identifier , identifier ))))) ;) (expression_statement "puVar20 = PTR_LAB_00049218;" (assignment_expression "puVar20 = PTR_LAB_00049218" identifier = identifier) ;) (expression_statement "dVar22 = dVar22 * dVar23;" (assignment_expression "dVar22 = dVar22 * dVar23" identifier = (binary_expression "dVar22 * dVar23" identifier * identifier)) ;) (if_statement "if ((param_4 & 0x10) == 0) {\n      dVar23 = dVar22;\n      if (((param_4 & 3) != 1) && (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760))) {\n        uVar28 = FUN_00030930(dVar22);\n        iVar13 = (int)((ulonglong)uVar28 >> 0x20);\n        uVar4 = (uint)uVar28;\n        dVar23 = (double)FUN_000309d0(iVar13,uVar4);\n        if (((param_4 & 3) == 0) && (dVar22 != dVar23)) {\n          dVar23 = (double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13);\n        }\n      }\n      (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23);\n      iVar13 = -1;\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }\n    else {\n      iVar13 = 0;\n      dVar23 = (double)uVar16;\n      do {\n        dVar24 = dVar23;\n        dVar23 = dVar24 * (double)uVar16;\n        iVar13 = iVar13 + 1;\n        if (dVar22 < dVar23) break;\n      } while (iVar13 != 8);\n      dVar22 = dVar22 / dVar24;\n      uVar6 = (uVar10 == 0) + 1 + local_70 + 1;\n      if (uVar4 == 1) {\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        if (uVar7 <= uVar6) goto LAB_0002232c;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        dVar23 = dVar22 * dVar24;\n      }\n      else {\n        dVar23 = dVar22;\n        if (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar22);\n          dVar23 = dVar22;\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar23 != dVar22)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        dVar22 = dVar23;\n        if (uVar6 < uVar7) {\n          dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar23 = dVar22 * dVar24;\n          puVar20 = PTR_LAB_00049218;\n          if (uVar4 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar23 < *(double *)(puVar20 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar23);\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar22 != dVar23)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n          dVar23 = dVar22;\n          dVar24 = *(double *)(puVar2 + 0x6768);\n        }\n      }\nLAB_0002207c:\n      (*(code *)PTR___sprintf_chk_00049454)\n                (param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23 / dVar24);\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }" if (parenthesized_expression "((param_4 & 0x10) == 0)" ( (binary_expression "(param_4 & 0x10) == 0" (parenthesized_expression "(param_4 & 0x10)" ( (binary_expression "param_4 & 0x10" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      dVar23 = dVar22;\n      if (((param_4 & 3) != 1) && (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760))) {\n        uVar28 = FUN_00030930(dVar22);\n        iVar13 = (int)((ulonglong)uVar28 >> 0x20);\n        uVar4 = (uint)uVar28;\n        dVar23 = (double)FUN_000309d0(iVar13,uVar4);\n        if (((param_4 & 3) == 0) && (dVar22 != dVar23)) {\n          dVar23 = (double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13);\n        }\n      }\n      (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23);\n      iVar13 = -1;\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }" { (expression_statement "dVar23 = dVar22;" (assignment_expression "dVar23 = dVar22" identifier = identifier) ;) (if_statement "if (((param_4 & 3) != 1) && (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760))) {\n        uVar28 = FUN_00030930(dVar22);\n        iVar13 = (int)((ulonglong)uVar28 >> 0x20);\n        uVar4 = (uint)uVar28;\n        dVar23 = (double)FUN_000309d0(iVar13,uVar4);\n        if (((param_4 & 3) == 0) && (dVar22 != dVar23)) {\n          dVar23 = (double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13);\n        }\n      }" if (parenthesized_expression "(((param_4 & 3) != 1) && (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)))" ( (binary_expression "((param_4 & 3) != 1) && (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760))" (parenthesized_expression "((param_4 & 3) != 1)" ( (binary_expression "(param_4 & 3) != 1" (parenthesized_expression "(param_4 & 3)" ( (binary_expression "param_4 & 3" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "(dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760))" ( (binary_expression "dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)" identifier < (pointer_expression "*(double *)(PTR_LAB_00049218 + 0x6760)" * (cast_expression "(double *)(PTR_LAB_00049218 + 0x6760)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00049218 + 0x6760)" ( (binary_expression "PTR_LAB_00049218 + 0x6760" identifier + number_literal) ))))) ))) )) (compound_statement "{\n        uVar28 = FUN_00030930(dVar22);\n        iVar13 = (int)((ulonglong)uVar28 >> 0x20);\n        uVar4 = (uint)uVar28;\n        dVar23 = (double)FUN_000309d0(iVar13,uVar4);\n        if (((param_4 & 3) == 0) && (dVar22 != dVar23)) {\n          dVar23 = (double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13);\n        }\n      }" { (expression_statement "uVar28 = FUN_00030930(dVar22);" (assignment_expression "uVar28 = FUN_00030930(dVar22)" identifier = (call_expression "FUN_00030930(dVar22)" identifier (argument_list "(dVar22)" ( identifier )))) ;) (expression_statement "iVar13 = (int)((ulonglong)uVar28 >> 0x20);" (assignment_expression "iVar13 = (int)((ulonglong)uVar28 >> 0x20)" identifier = (cast_expression "(int)((ulonglong)uVar28 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar28 >> 0x20)" ( (binary_expression "(ulonglong)uVar28 >> 0x20" (cast_expression "(ulonglong)uVar28" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar4 = (uint)uVar28;" (assignment_expression "uVar4 = (uint)uVar28" identifier = (cast_expression "(uint)uVar28" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "dVar23 = (double)FUN_000309d0(iVar13,uVar4);" (assignment_expression "dVar23 = (double)FUN_000309d0(iVar13,uVar4)" identifier = (cast_expression "(double)FUN_000309d0(iVar13,uVar4)" ( (type_descriptor "double" primitive_type) ) (call_expression "FUN_000309d0(iVar13,uVar4)" identifier (argument_list "(iVar13,uVar4)" ( identifier , identifier ))))) ;) (if_statement "if (((param_4 & 3) == 0) && (dVar22 != dVar23)) {\n          dVar23 = (double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13);\n        }" if (parenthesized_expression "(((param_4 & 3) == 0) && (dVar22 != dVar23))" ( (binary_expression "((param_4 & 3) == 0) && (dVar22 != dVar23)" (parenthesized_expression "((param_4 & 3) == 0)" ( (binary_expression "(param_4 & 3) == 0" (parenthesized_expression "(param_4 & 3)" ( (binary_expression "param_4 & 3" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(dVar22 != dVar23)" ( (binary_expression "dVar22 != dVar23" identifier != identifier) ))) )) (compound_statement "{\n          dVar23 = (double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13);\n        }" { (expression_statement "dVar23 = (double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13);" (assignment_expression "dVar23 = (double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13)" identifier = (cast_expression "(double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13)" ( (type_descriptor "double" primitive_type) ) (call_expression "FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13)" identifier (argument_list "((uint)(uVar4 + 1 < uVar4) + iVar13)" ( (binary_expression "(uint)(uVar4 + 1 < uVar4) + iVar13" (call_expression "(uint)(uVar4 + 1 < uVar4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar4 + 1 < uVar4)" ( (binary_expression "uVar4 + 1 < uVar4" (binary_expression "uVar4 + 1" identifier + number_literal) < identifier) ))) + identifier) ))))) ;) })) })) (expression_statement "(*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23);" (call_expression "(*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23)" (parenthesized_expression "(*(code *)PTR___sprintf_chk_00049454)" ( (pointer_expression "*(code *)PTR___sprintf_chk_00049454" * (cast_expression "(code *)PTR___sprintf_chk_00049454" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23)" ( identifier , number_literal , number_literal , (binary_expression "PTR_LAB_00049218 + 0x6700" identifier + number_literal) , identifier ))) ;) (expression_statement "iVar13 = -1;" (assignment_expression "iVar13 = -1" identifier = number_literal) ;) (expression_statement "uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);" (assignment_expression "uVar7 = (*(code *)PTR_strlen_0004953c)(param_3)" identifier = (call_expression "(*(code *)PTR_strlen_0004953c)(param_3)" (parenthesized_expression "(*(code *)PTR_strlen_0004953c)" ( (pointer_expression "*(code *)PTR_strlen_0004953c" * (cast_expression "(code *)PTR_strlen_0004953c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3)" ( identifier )))) ;) (expression_statement "uVar4 = uVar7;" (assignment_expression "uVar4 = uVar7" identifier = identifier) ;) }) (else_clause "else {\n      iVar13 = 0;\n      dVar23 = (double)uVar16;\n      do {\n        dVar24 = dVar23;\n        dVar23 = dVar24 * (double)uVar16;\n        iVar13 = iVar13 + 1;\n        if (dVar22 < dVar23) break;\n      } while (iVar13 != 8);\n      dVar22 = dVar22 / dVar24;\n      uVar6 = (uVar10 == 0) + 1 + local_70 + 1;\n      if (uVar4 == 1) {\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        if (uVar7 <= uVar6) goto LAB_0002232c;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        dVar23 = dVar22 * dVar24;\n      }\n      else {\n        dVar23 = dVar22;\n        if (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar22);\n          dVar23 = dVar22;\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar23 != dVar22)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        dVar22 = dVar23;\n        if (uVar6 < uVar7) {\n          dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar23 = dVar22 * dVar24;\n          puVar20 = PTR_LAB_00049218;\n          if (uVar4 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar23 < *(double *)(puVar20 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar23);\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar22 != dVar23)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n          dVar23 = dVar22;\n          dVar24 = *(double *)(puVar2 + 0x6768);\n        }\n      }\nLAB_0002207c:\n      (*(code *)PTR___sprintf_chk_00049454)\n                (param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23 / dVar24);\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }" else (compound_statement "{\n      iVar13 = 0;\n      dVar23 = (double)uVar16;\n      do {\n        dVar24 = dVar23;\n        dVar23 = dVar24 * (double)uVar16;\n        iVar13 = iVar13 + 1;\n        if (dVar22 < dVar23) break;\n      } while (iVar13 != 8);\n      dVar22 = dVar22 / dVar24;\n      uVar6 = (uVar10 == 0) + 1 + local_70 + 1;\n      if (uVar4 == 1) {\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        if (uVar7 <= uVar6) goto LAB_0002232c;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        dVar23 = dVar22 * dVar24;\n      }\n      else {\n        dVar23 = dVar22;\n        if (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar22);\n          dVar23 = dVar22;\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar23 != dVar22)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        dVar22 = dVar23;\n        if (uVar6 < uVar7) {\n          dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar23 = dVar22 * dVar24;\n          puVar20 = PTR_LAB_00049218;\n          if (uVar4 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar23 < *(double *)(puVar20 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar23);\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar22 != dVar23)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n          dVar23 = dVar22;\n          dVar24 = *(double *)(puVar2 + 0x6768);\n        }\n      }\nLAB_0002207c:\n      (*(code *)PTR___sprintf_chk_00049454)\n                (param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23 / dVar24);\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }" { (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (expression_statement "dVar23 = (double)uVar16;" (assignment_expression "dVar23 = (double)uVar16" identifier = (cast_expression "(double)uVar16" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (do_statement "do {\n        dVar24 = dVar23;\n        dVar23 = dVar24 * (double)uVar16;\n        iVar13 = iVar13 + 1;\n        if (dVar22 < dVar23) break;\n      } while (iVar13 != 8);" do (compound_statement "{\n        dVar24 = dVar23;\n        dVar23 = dVar24 * (double)uVar16;\n        iVar13 = iVar13 + 1;\n        if (dVar22 < dVar23) break;\n      }" { (expression_statement "dVar24 = dVar23;" (assignment_expression "dVar24 = dVar23" identifier = identifier) ;) (expression_statement "dVar23 = dVar24 * (double)uVar16;" (assignment_expression "dVar23 = dVar24 * (double)uVar16" identifier = (binary_expression "dVar24 * (double)uVar16" identifier * (cast_expression "(double)uVar16" ( (type_descriptor "double" primitive_type) ) identifier))) ;) (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;) (if_statement "if (dVar22 < dVar23) break;" if (parenthesized_expression "(dVar22 < dVar23)" ( (binary_expression "dVar22 < dVar23" identifier < identifier) )) (break_statement "break;" break ;)) }) while (parenthesized_expression "(iVar13 != 8)" ( (binary_expression "iVar13 != 8" identifier != number_literal) )) ;) (expression_statement "dVar22 = dVar22 / dVar24;" (assignment_expression "dVar22 = dVar22 / dVar24" identifier = (binary_expression "dVar22 / dVar24" identifier / identifier)) ;) (expression_statement "uVar6 = (uVar10 == 0) + 1 + local_70 + 1;" (assignment_expression "uVar6 = (uVar10 == 0) + 1 + local_70 + 1" identifier = (binary_expression "(uVar10 == 0) + 1 + local_70 + 1" (binary_expression "(uVar10 == 0) + 1 + local_70" (binary_expression "(uVar10 == 0) + 1" (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) + number_literal) + identifier) + number_literal)) ;) (if_statement "if (uVar4 == 1) {\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        if (uVar7 <= uVar6) goto LAB_0002232c;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        dVar23 = dVar22 * dVar24;\n      }\n      else {\n        dVar23 = dVar22;\n        if (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar22);\n          dVar23 = dVar22;\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar23 != dVar22)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        dVar22 = dVar23;\n        if (uVar6 < uVar7) {\n          dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar23 = dVar22 * dVar24;\n          puVar20 = PTR_LAB_00049218;\n          if (uVar4 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar23 < *(double *)(puVar20 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar23);\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar22 != dVar23)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n          dVar23 = dVar22;\n          dVar24 = *(double *)(puVar2 + 0x6768);\n        }\n      }" if (parenthesized_expression "(uVar4 == 1)" ( (binary_expression "uVar4 == 1" identifier == number_literal) )) (compound_statement "{\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        if (uVar7 <= uVar6) goto LAB_0002232c;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        dVar23 = dVar22 * dVar24;\n      }" { (expression_statement "(*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;" (call_expression "(*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)" (parenthesized_expression "(*(code *)PTR___sprintf_chk_00049454)" ( (pointer_expression "*(code *)PTR___sprintf_chk_00049454" * (cast_expression "(code *)PTR___sprintf_chk_00049454" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)" ( identifier , number_literal , number_literal , (binary_expression "PTR_LAB_00049218 + 0x6708" identifier + number_literal) , identifier ))) ;) (expression_statement "uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);" (assignment_expression "uVar7 = (*(code *)PTR_strlen_0004953c)(param_3)" identifier = (call_expression "(*(code *)PTR_strlen_0004953c)(param_3)" (parenthesized_expression "(*(code *)PTR_strlen_0004953c)" ( (pointer_expression "*(code *)PTR_strlen_0004953c" * (cast_expression "(code *)PTR_strlen_0004953c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3)" ( identifier )))) ;) (if_statement "if (uVar7 <= uVar6) goto LAB_0002232c;" if (parenthesized_expression "(uVar7 <= uVar6)" ( (binary_expression "uVar7 <= uVar6" identifier <= identifier) )) (goto_statement "goto LAB_0002232c;" goto statement_identifier ;)) (expression_statement "dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);" (assignment_expression "dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768)" identifier = (pointer_expression "*(double *)(PTR_LAB_00049218 + 0x6768)" * (cast_expression "(double *)(PTR_LAB_00049218 + 0x6768)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00049218 + 0x6768)" ( (binary_expression "PTR_LAB_00049218 + 0x6768" identifier + number_literal) ))))) ;) (expression_statement "dVar23 = dVar22 * dVar24;" (assignment_expression "dVar23 = dVar22 * dVar24" identifier = (binary_expression "dVar22 * dVar24" identifier * identifier)) ;) }) (else_clause "else {\n        dVar23 = dVar22;\n        if (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar22);\n          dVar23 = dVar22;\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar23 != dVar22)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        dVar22 = dVar23;\n        if (uVar6 < uVar7) {\n          dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar23 = dVar22 * dVar24;\n          puVar20 = PTR_LAB_00049218;\n          if (uVar4 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar23 < *(double *)(puVar20 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar23);\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar22 != dVar23)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n          dVar23 = dVar22;\n          dVar24 = *(double *)(puVar2 + 0x6768);\n        }\n      }" else (compound_statement "{\n        dVar23 = dVar22;\n        if (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar22);\n          dVar23 = dVar22;\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar23 != dVar22)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        dVar22 = dVar23;\n        if (uVar6 < uVar7) {\n          dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar23 = dVar22 * dVar24;\n          puVar20 = PTR_LAB_00049218;\n          if (uVar4 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar23 < *(double *)(puVar20 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar23);\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar22 != dVar23)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n          dVar23 = dVar22;\n          dVar24 = *(double *)(puVar2 + 0x6768);\n        }\n      }" { (expression_statement "dVar23 = dVar22;" (assignment_expression "dVar23 = dVar22" identifier = identifier) ;) (if_statement "if (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar22);\n          dVar23 = dVar22;\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar23 != dVar22)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n        }" if (parenthesized_expression "(dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760))" ( (binary_expression "dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)" identifier < (pointer_expression "*(double *)(PTR_LAB_00049218 + 0x6760)" * (cast_expression "(double *)(PTR_LAB_00049218 + 0x6760)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00049218 + 0x6760)" ( (binary_expression "PTR_LAB_00049218 + 0x6760" identifier + number_literal) ))))) )) (compound_statement "{\n          lVar25 = FUN_00030930(dVar22);\n          dVar23 = dVar22;\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar23 != dVar22)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n        }" { (expression_statement "lVar25 = FUN_00030930(dVar22);" (assignment_expression "lVar25 = FUN_00030930(dVar22)" identifier = (call_expression "FUN_00030930(dVar22)" identifier (argument_list "(dVar22)" ( identifier )))) ;) (expression_statement "dVar23 = dVar22;" (assignment_expression "dVar23 = dVar22" identifier = identifier) ;) (expression_statement "dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);" (assignment_expression "dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25)" identifier = (cast_expression "(double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25)" ( (type_descriptor "double" primitive_type) ) (call_expression "FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25)" identifier (argument_list "((int)((ulonglong)lVar25 >> 0x20),(int)lVar25)" ( (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) ))) , (cast_expression "(int)lVar25" ( (type_descriptor "int" primitive_type) ) identifier) ))))) ;) (if_statement "if ((uVar4 == 0) && (dVar23 != dVar22)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }" if (parenthesized_expression "((uVar4 == 0) && (dVar23 != dVar22))" ( (binary_expression "(uVar4 == 0) && (dVar23 != dVar22)" (parenthesized_expression "(uVar4 == 0)" ( (binary_expression "uVar4 == 0" identifier == number_literal) )) && (parenthesized_expression "(dVar23 != dVar22)" ( (binary_expression "dVar23 != dVar22" identifier != identifier) ))) )) (compound_statement "{\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }" { (expression_statement "dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));" (assignment_expression "dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20))" identifier = (cast_expression "(double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20))" ( (type_descriptor "double" primitive_type) ) (call_expression "FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20))" identifier (argument_list "((int)((ulonglong)(lVar25 + 1) >> 0x20))" ( (cast_expression "(int)((ulonglong)(lVar25 + 1) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(lVar25 + 1) >> 0x20)" ( (binary_expression "(ulonglong)(lVar25 + 1) >> 0x20" (call_expression "(ulonglong)(lVar25 + 1)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(lVar25 + 1)" ( (binary_expression "lVar25 + 1" identifier + number_literal) ))) >> number_literal) ))) ))))) ;) })) })) (expression_statement "(*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;" (call_expression "(*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)" (parenthesized_expression "(*(code *)PTR___sprintf_chk_00049454)" ( (pointer_expression "*(code *)PTR___sprintf_chk_00049454" * (cast_expression "(code *)PTR___sprintf_chk_00049454" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)" ( identifier , number_literal , number_literal , (binary_expression "PTR_LAB_00049218 + 0x6708" identifier + number_literal) , identifier ))) ;) (expression_statement "uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);" (assignment_expression "uVar7 = (*(code *)PTR_strlen_0004953c)(param_3)" identifier = (call_expression "(*(code *)PTR_strlen_0004953c)(param_3)" (parenthesized_expression "(*(code *)PTR_strlen_0004953c)" ( (pointer_expression "*(code *)PTR_strlen_0004953c" * (cast_expression "(code *)PTR_strlen_0004953c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3)" ( identifier )))) ;) (expression_statement "dVar22 = dVar23;" (assignment_expression "dVar22 = dVar23" identifier = identifier) ;) (if_statement "if (uVar6 < uVar7) {\n          dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar23 = dVar22 * dVar24;\n          puVar20 = PTR_LAB_00049218;\n          if (uVar4 == 1) goto LAB_0002207c;\n        }" if (parenthesized_expression "(uVar6 < uVar7)" ( (binary_expression "uVar6 < uVar7" identifier < identifier) )) (compound_statement "{\n          dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }" { (expression_statement "dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);" (assignment_expression "dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768)" identifier = (binary_expression "dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768)" identifier * (pointer_expression "*(double *)(PTR_LAB_00049218 + 0x6768)" * (cast_expression "(double *)(PTR_LAB_00049218 + 0x6768)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00049218 + 0x6768)" ( (binary_expression "PTR_LAB_00049218 + 0x6768" identifier + number_literal) )))))) ;) }) (else_clause "else {\nLAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar23 = dVar22 * dVar24;\n          puVar20 = PTR_LAB_00049218;\n          if (uVar4 == 1) goto LAB_0002207c;\n        }" else (compound_statement "{\nLAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar23 = dVar22 * dVar24;\n          puVar20 = PTR_LAB_00049218;\n          if (uVar4 == 1) goto LAB_0002207c;\n        }" { (labeled_statement "LAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }" statement_identifier : (if_statement "if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }" if (parenthesized_expression "(((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0'))" ( (binary_expression "((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')" (parenthesized_expression "((param_4 & 8) == 0)" ( (binary_expression "(param_4 & 8) == 0" (parenthesized_expression "(param_4 & 8)" ( (binary_expression "param_4 & 8" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "(*(char *)(param_3 + uVar7 + -1) != '0')" ( (binary_expression "*(char *)(param_3 + uVar7 + -1) != '0'" (pointer_expression "*(char *)(param_3 + uVar7 + -1)" * (cast_expression "(char *)(param_3 + uVar7 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + uVar7 + -1)" ( (binary_expression "param_3 + uVar7 + -1" (binary_expression "param_3 + uVar7" identifier + identifier) + number_literal) )))) != (char_literal "'0'" ' character ')) ))) )) (compound_statement "{\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }" { (expression_statement "uVar4 = uVar7 - (local_70 + 1);" (assignment_expression "uVar4 = uVar7 - (local_70 + 1)" identifier = (binary_expression "uVar7 - (local_70 + 1)" identifier - (parenthesized_expression "(local_70 + 1)" ( (binary_expression "local_70 + 1" identifier + number_literal) )))) ;) (goto_statement "goto LAB_00021d4c;" goto statement_identifier ;) }))) (expression_statement "dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);" (assignment_expression "dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768)" identifier = (pointer_expression "*(double *)(PTR_LAB_00049218 + 0x6768)" * (cast_expression "(double *)(PTR_LAB_00049218 + 0x6768)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00049218 + 0x6768)" ( (binary_expression "PTR_LAB_00049218 + 0x6768" identifier + number_literal) ))))) ;) (expression_statement "dVar23 = dVar22 * dVar24;" (assignment_expression "dVar23 = dVar22 * dVar24" identifier = (binary_expression "dVar22 * dVar24" identifier * identifier)) ;) (expression_statement "puVar20 = PTR_LAB_00049218;" (assignment_expression "puVar20 = PTR_LAB_00049218" identifier = identifier) ;) (if_statement "if (uVar4 == 1) goto LAB_0002207c;" if (parenthesized_expression "(uVar4 == 1)" ( (binary_expression "uVar4 == 1" identifier == number_literal) )) (goto_statement "goto LAB_0002207c;" goto statement_identifier ;)) }))) (expression_statement "puVar2 = PTR_LAB_00049218;" (assignment_expression "puVar2 = PTR_LAB_00049218" identifier = identifier) ;) (expression_statement "dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);" (assignment_expression "dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768)" identifier = (pointer_expression "*(double *)(PTR_LAB_00049218 + 0x6768)" * (cast_expression "(double *)(PTR_LAB_00049218 + 0x6768)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00049218 + 0x6768)" ( (binary_expression "PTR_LAB_00049218 + 0x6768" identifier + number_literal) ))))) ;) (if_statement "if (dVar23 < *(double *)(puVar20 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar23);\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar22 != dVar23)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n          dVar23 = dVar22;\n          dVar24 = *(double *)(puVar2 + 0x6768);\n        }" if (parenthesized_expression "(dVar23 < *(double *)(puVar20 + 0x6760))" ( (binary_expression "dVar23 < *(double *)(puVar20 + 0x6760)" identifier < (pointer_expression "*(double *)(puVar20 + 0x6760)" * (cast_expression "(double *)(puVar20 + 0x6760)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x6760)" ( (binary_expression "puVar20 + 0x6760" identifier + number_literal) ))))) )) (compound_statement "{\n          lVar25 = FUN_00030930(dVar23);\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar22 != dVar23)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n          dVar23 = dVar22;\n          dVar24 = *(double *)(puVar2 + 0x6768);\n        }" { (expression_statement "lVar25 = FUN_00030930(dVar23);" (assignment_expression "lVar25 = FUN_00030930(dVar23)" identifier = (call_expression "FUN_00030930(dVar23)" identifier (argument_list "(dVar23)" ( identifier )))) ;) (expression_statement "dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);" (assignment_expression "dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25)" identifier = (cast_expression "(double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25)" ( (type_descriptor "double" primitive_type) ) (call_expression "FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25)" identifier (argument_list "((int)((ulonglong)lVar25 >> 0x20),(int)lVar25)" ( (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) ))) , (cast_expression "(int)lVar25" ( (type_descriptor "int" primitive_type) ) identifier) ))))) ;) (if_statement "if ((uVar4 == 0) && (dVar22 != dVar23)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }" if (parenthesized_expression "((uVar4 == 0) && (dVar22 != dVar23))" ( (binary_expression "(uVar4 == 0) && (dVar22 != dVar23)" (parenthesized_expression "(uVar4 == 0)" ( (binary_expression "uVar4 == 0" identifier == number_literal) )) && (parenthesized_expression "(dVar22 != dVar23)" ( (binary_expression "dVar22 != dVar23" identifier != identifier) ))) )) (compound_statement "{\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }" { (expression_statement "dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));" (assignment_expression "dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20))" identifier = (cast_expression "(double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20))" ( (type_descriptor "double" primitive_type) ) (call_expression "FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20))" identifier (argument_list "((int)((ulonglong)(lVar25 + 1) >> 0x20))" ( (cast_expression "(int)((ulonglong)(lVar25 + 1) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(lVar25 + 1) >> 0x20)" ( (binary_expression "(ulonglong)(lVar25 + 1) >> 0x20" (call_expression "(ulonglong)(lVar25 + 1)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(lVar25 + 1)" ( (binary_expression "lVar25 + 1" identifier + number_literal) ))) >> number_literal) ))) ))))) ;) })) (expression_statement "dVar23 = dVar22;" (assignment_expression "dVar23 = dVar22" identifier = identifier) ;) (expression_statement "dVar24 = *(double *)(puVar2 + 0x6768);" (assignment_expression "dVar24 = *(double *)(puVar2 + 0x6768)" identifier = (pointer_expression "*(double *)(puVar2 + 0x6768)" * (cast_expression "(double *)(puVar2 + 0x6768)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0x6768)" ( (binary_expression "puVar2 + 0x6768" identifier + number_literal) ))))) ;) })) }))) (labeled_statement "LAB_0002207c:\n      (*(code *)PTR___sprintf_chk_00049454)\n                (param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23 / dVar24);" statement_identifier : (expression_statement "(*(code *)PTR___sprintf_chk_00049454)\n                (param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23 / dVar24);" (call_expression "(*(code *)PTR___sprintf_chk_00049454)\n                (param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23 / dVar24)" (parenthesized_expression "(*(code *)PTR___sprintf_chk_00049454)" ( (pointer_expression "*(code *)PTR___sprintf_chk_00049454" * (cast_expression "(code *)PTR___sprintf_chk_00049454" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23 / dVar24)" ( identifier , number_literal , number_literal , (binary_expression "PTR_LAB_00049218 + 0x6700" identifier + number_literal) , (binary_expression "dVar23 / dVar24" identifier / identifier) ))) ;)) (expression_statement "uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);" (assignment_expression "uVar7 = (*(code *)PTR_strlen_0004953c)(param_3)" identifier = (call_expression "(*(code *)PTR_strlen_0004953c)(param_3)" (parenthesized_expression "(*(code *)PTR_strlen_0004953c)" ( (pointer_expression "*(code *)PTR_strlen_0004953c" * (cast_expression "(code *)PTR_strlen_0004953c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3)" ( identifier )))) ;) (expression_statement "uVar4 = uVar7;" (assignment_expression "uVar4 = uVar7" identifier = identifier) ;) }))) (labeled_statement "LAB_00021d4c:\n    pcVar19 = local_88 + -uVar7;" statement_identifier : (expression_statement "pcVar19 = local_88 + -uVar7;" (assignment_expression "pcVar19 = local_88 + -uVar7" identifier = (binary_expression "local_88 + -uVar7" identifier + (unary_expression "-uVar7" - identifier))) ;)) (expression_statement "(*(code *)PTR_memmove_00049610)(pcVar19,param_3,uVar7);" (call_expression "(*(code *)PTR_memmove_00049610)(pcVar19,param_3,uVar7)" (parenthesized_expression "(*(code *)PTR_memmove_00049610)" ( (pointer_expression "*(code *)PTR_memmove_00049610" * (cast_expression "(code *)PTR_memmove_00049610" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar19,param_3,uVar7)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar15 = pcVar19 + uVar4;" (assignment_expression "pcVar15 = pcVar19 + uVar4" identifier = (binary_expression "pcVar19 + uVar4" identifier + identifier)) ;) }))) (if_statement "if ((param_4 & 4) != 0) {\n    uVar6 = (int)pcVar15 - (int)pcVar19;\n    iVar8 = (*(code *)PTR_strlen_0004953c)(local_7c);\n    (*(code *)PTR___memcpy_chk_00049558)(auStack_60,pcVar19,uVar6,0x29);\n    uVar4 = 0xffffffff;\n    while( true ) {\n      uVar7 = (uint)*pbVar17;\n      if (uVar7 != 0) {\n        uVar4 = uVar7;\n        if (0x7e < uVar7) {\n          uVar4 = uVar6;\n        }\n        pbVar17 = pbVar17 + 1;\n      }\n      if (uVar6 < uVar4) break;\n      uVar6 = uVar6 - uVar4;\n      pcVar19 = pcVar15 + -uVar4;\n      (*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60 + uVar6,uVar4);\n      if (uVar6 == 0) goto LAB_00021d7c;\n      pcVar15 = pcVar19 + -iVar8;\n      (*(code *)PTR_memcpy_00049600)(pcVar15,local_7c,iVar8);\n    }\n    pcVar19 = pcVar15 + -uVar6;\n    (*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60,uVar6);\n  }" if (parenthesized_expression "((param_4 & 4) != 0)" ( (binary_expression "(param_4 & 4) != 0" (parenthesized_expression "(param_4 & 4)" ( (binary_expression "param_4 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    uVar6 = (int)pcVar15 - (int)pcVar19;\n    iVar8 = (*(code *)PTR_strlen_0004953c)(local_7c);\n    (*(code *)PTR___memcpy_chk_00049558)(auStack_60,pcVar19,uVar6,0x29);\n    uVar4 = 0xffffffff;\n    while( true ) {\n      uVar7 = (uint)*pbVar17;\n      if (uVar7 != 0) {\n        uVar4 = uVar7;\n        if (0x7e < uVar7) {\n          uVar4 = uVar6;\n        }\n        pbVar17 = pbVar17 + 1;\n      }\n      if (uVar6 < uVar4) break;\n      uVar6 = uVar6 - uVar4;\n      pcVar19 = pcVar15 + -uVar4;\n      (*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60 + uVar6,uVar4);\n      if (uVar6 == 0) goto LAB_00021d7c;\n      pcVar15 = pcVar19 + -iVar8;\n      (*(code *)PTR_memcpy_00049600)(pcVar15,local_7c,iVar8);\n    }\n    pcVar19 = pcVar15 + -uVar6;\n    (*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60,uVar6);\n  }" { (expression_statement "uVar6 = (int)pcVar15 - (int)pcVar19;" (assignment_expression "uVar6 = (int)pcVar15 - (int)pcVar19" identifier = (binary_expression "(int)pcVar15 - (int)pcVar19" (cast_expression "(int)pcVar15" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar19" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "iVar8 = (*(code *)PTR_strlen_0004953c)(local_7c);" (assignment_expression "iVar8 = (*(code *)PTR_strlen_0004953c)(local_7c)" identifier = (call_expression "(*(code *)PTR_strlen_0004953c)(local_7c)" (parenthesized_expression "(*(code *)PTR_strlen_0004953c)" ( (pointer_expression "*(code *)PTR_strlen_0004953c" * (cast_expression "(code *)PTR_strlen_0004953c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_7c)" ( identifier )))) ;) (expression_statement "(*(code *)PTR___memcpy_chk_00049558)(auStack_60,pcVar19,uVar6,0x29);" (call_expression "(*(code *)PTR___memcpy_chk_00049558)(auStack_60,pcVar19,uVar6,0x29)" (parenthesized_expression "(*(code *)PTR___memcpy_chk_00049558)" ( (pointer_expression "*(code *)PTR___memcpy_chk_00049558" * (cast_expression "(code *)PTR___memcpy_chk_00049558" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_60,pcVar19,uVar6,0x29)" ( identifier , identifier , identifier , number_literal ))) ;) (expression_statement "uVar4 = 0xffffffff;" (assignment_expression "uVar4 = 0xffffffff" identifier = number_literal) ;) (while_statement "while( true ) {\n      uVar7 = (uint)*pbVar17;\n      if (uVar7 != 0) {\n        uVar4 = uVar7;\n        if (0x7e < uVar7) {\n          uVar4 = uVar6;\n        }\n        pbVar17 = pbVar17 + 1;\n      }\n      if (uVar6 < uVar4) break;\n      uVar6 = uVar6 - uVar4;\n      pcVar19 = pcVar15 + -uVar4;\n      (*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60 + uVar6,uVar4);\n      if (uVar6 == 0) goto LAB_00021d7c;\n      pcVar15 = pcVar19 + -iVar8;\n      (*(code *)PTR_memcpy_00049600)(pcVar15,local_7c,iVar8);\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      uVar7 = (uint)*pbVar17;\n      if (uVar7 != 0) {\n        uVar4 = uVar7;\n        if (0x7e < uVar7) {\n          uVar4 = uVar6;\n        }\n        pbVar17 = pbVar17 + 1;\n      }\n      if (uVar6 < uVar4) break;\n      uVar6 = uVar6 - uVar4;\n      pcVar19 = pcVar15 + -uVar4;\n      (*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60 + uVar6,uVar4);\n      if (uVar6 == 0) goto LAB_00021d7c;\n      pcVar15 = pcVar19 + -iVar8;\n      (*(code *)PTR_memcpy_00049600)(pcVar15,local_7c,iVar8);\n    }" { (expression_statement "uVar7 = (uint)*pbVar17;" (assignment_expression "uVar7 = (uint)*pbVar17" identifier = (binary_expression "(uint)*pbVar17" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if (uVar7 != 0) {\n        uVar4 = uVar7;\n        if (0x7e < uVar7) {\n          uVar4 = uVar6;\n        }\n        pbVar17 = pbVar17 + 1;\n      }" if (parenthesized_expression "(uVar7 != 0)" ( (binary_expression "uVar7 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar4 = uVar7;\n        if (0x7e < uVar7) {\n          uVar4 = uVar6;\n        }\n        pbVar17 = pbVar17 + 1;\n      }" { (expression_statement "uVar4 = uVar7;" (assignment_expression "uVar4 = uVar7" identifier = identifier) ;) (if_statement "if (0x7e < uVar7) {\n          uVar4 = uVar6;\n        }" if (parenthesized_expression "(0x7e < uVar7)" ( (binary_expression "0x7e < uVar7" number_literal < identifier) )) (compound_statement "{\n          uVar4 = uVar6;\n        }" { (expression_statement "uVar4 = uVar6;" (assignment_expression "uVar4 = uVar6" identifier = identifier) ;) })) (expression_statement "pbVar17 = pbVar17 + 1;" (assignment_expression "pbVar17 = pbVar17 + 1" identifier = (binary_expression "pbVar17 + 1" identifier + number_literal)) ;) })) (if_statement "if (uVar6 < uVar4) break;" if (parenthesized_expression "(uVar6 < uVar4)" ( (binary_expression "uVar6 < uVar4" identifier < identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar6 = uVar6 - uVar4;" (assignment_expression "uVar6 = uVar6 - uVar4" identifier = (binary_expression "uVar6 - uVar4" identifier - identifier)) ;) (expression_statement "pcVar19 = pcVar15 + -uVar4;" (assignment_expression "pcVar19 = pcVar15 + -uVar4" identifier = (binary_expression "pcVar15 + -uVar4" identifier + (unary_expression "-uVar4" - identifier))) ;) (expression_statement "(*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60 + uVar6,uVar4);" (call_expression "(*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60 + uVar6,uVar4)" (parenthesized_expression "(*(code *)PTR_memcpy_00049600)" ( (pointer_expression "*(code *)PTR_memcpy_00049600" * (cast_expression "(code *)PTR_memcpy_00049600" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar19,auStack_60 + uVar6,uVar4)" ( identifier , (binary_expression "auStack_60 + uVar6" identifier + identifier) , identifier ))) ;) (if_statement "if (uVar6 == 0) goto LAB_00021d7c;" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00021d7c;" goto statement_identifier ;)) (expression_statement "pcVar15 = pcVar19 + -iVar8;" (assignment_expression "pcVar15 = pcVar19 + -iVar8" identifier = (binary_expression "pcVar19 + -iVar8" identifier + (unary_expression "-iVar8" - identifier))) ;) (expression_statement "(*(code *)PTR_memcpy_00049600)(pcVar15,local_7c,iVar8);" (call_expression "(*(code *)PTR_memcpy_00049600)(pcVar15,local_7c,iVar8)" (parenthesized_expression "(*(code *)PTR_memcpy_00049600)" ( (pointer_expression "*(code *)PTR_memcpy_00049600" * (cast_expression "(code *)PTR_memcpy_00049600" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar15,local_7c,iVar8)" ( identifier , identifier , identifier ))) ;) })) (expression_statement "pcVar19 = pcVar15 + -uVar6;" (assignment_expression "pcVar19 = pcVar15 + -uVar6" identifier = (binary_expression "pcVar15 + -uVar6" identifier + (unary_expression "-uVar6" - identifier))) ;) (expression_statement "(*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60,uVar6);" (call_expression "(*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60,uVar6)" (parenthesized_expression "(*(code *)PTR_memcpy_00049600)" ( (pointer_expression "*(code *)PTR_memcpy_00049600" * (cast_expression "(code *)PTR_memcpy_00049600" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar19,auStack_60,uVar6)" ( identifier , identifier , identifier ))) ;) })) (labeled_statement "LAB_00021d7c:\n  if ((param_4 & 0x80) == 0) goto LAB_00021da4;" statement_identifier : (if_statement "if ((param_4 & 0x80) == 0) goto LAB_00021da4;" if (parenthesized_expression "((param_4 & 0x80) == 0)" ( (binary_expression "(param_4 & 0x80) == 0" (parenthesized_expression "(param_4 & 0x80)" ( (binary_expression "param_4 & 0x80" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00021da4;" goto statement_identifier ;))) (if_statement "if ((iVar13 == -1) && ((param_7 != 0 || (iVar13 = 0, 1 < param_8)))) {\n    iVar13 = 1;\n    uVar6 = 1;\n    uVar4 = 0;\n    do {\n      uVar29 = (ulonglong)uVar6;\n      uVar6 = (uint)(uVar29 * uVar16);\n      uVar4 = uVar16 * uVar4 + (int)(uVar29 * uVar16 >> 0x20);\n      if ((param_7 <= uVar4) && ((param_7 != uVar4 || (param_8 <= uVar6)))) break;\n      iVar13 = iVar13 + 1;\n    } while (iVar13 != 8);\n    if ((param_4 & 0x40) != 0) {\nLAB_000221fc:\n      local_88 = (char *)(param_3 + 0x288);\n      *(undefined1 *)(param_3 + 0x287) = 0x20;\n      goto LAB_00022208;\n    }\nLAB_00022210:\n    if ((uVar10 == 0) && (iVar13 == 1)) {\n      cVar9 = 'k';\n    }\n    else {\n      cVar9 = PTR_LAB_00049218[iVar13 + 0x6748];\n    }\n    pcVar15 = local_88 + 1;\n    *local_88 = cVar9;\n  }\n  else {\n    if ((param_4 & 0x100) == 0 && iVar13 == 0) goto LAB_00021da4;\n    if ((param_4 & 0x40) != 0) goto LAB_000221fc;\nLAB_00022208:\n    pcVar15 = local_88;\n    if (iVar13 != 0) goto LAB_00022210;\n  }" if (parenthesized_expression "((iVar13 == -1) && ((param_7 != 0 || (iVar13 = 0, 1 < param_8))))" ( (binary_expression "(iVar13 == -1) && ((param_7 != 0 || (iVar13 = 0, 1 < param_8)))" (parenthesized_expression "(iVar13 == -1)" ( (binary_expression "iVar13 == -1" identifier == number_literal) )) && (parenthesized_expression "((param_7 != 0 || (iVar13 = 0, 1 < param_8)))" ( (parenthesized_expression "(param_7 != 0 || (iVar13 = 0, 1 < param_8))" ( (binary_expression "param_7 != 0 || (iVar13 = 0, 1 < param_8)" (binary_expression "param_7 != 0" identifier != number_literal) || (parenthesized_expression "(iVar13 = 0, 1 < param_8)" ( (comma_expression "iVar13 = 0, 1 < param_8" (assignment_expression "iVar13 = 0" identifier = number_literal) , (binary_expression "1 < param_8" number_literal < identifier)) ))) )) ))) )) (compound_statement "{\n    iVar13 = 1;\n    uVar6 = 1;\n    uVar4 = 0;\n    do {\n      uVar29 = (ulonglong)uVar6;\n      uVar6 = (uint)(uVar29 * uVar16);\n      uVar4 = uVar16 * uVar4 + (int)(uVar29 * uVar16 >> 0x20);\n      if ((param_7 <= uVar4) && ((param_7 != uVar4 || (param_8 <= uVar6)))) break;\n      iVar13 = iVar13 + 1;\n    } while (iVar13 != 8);\n    if ((param_4 & 0x40) != 0) {\nLAB_000221fc:\n      local_88 = (char *)(param_3 + 0x288);\n      *(undefined1 *)(param_3 + 0x287) = 0x20;\n      goto LAB_00022208;\n    }\nLAB_00022210:\n    if ((uVar10 == 0) && (iVar13 == 1)) {\n      cVar9 = 'k';\n    }\n    else {\n      cVar9 = PTR_LAB_00049218[iVar13 + 0x6748];\n    }\n    pcVar15 = local_88 + 1;\n    *local_88 = cVar9;\n  }" { (expression_statement "iVar13 = 1;" (assignment_expression "iVar13 = 1" identifier = number_literal) ;) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" identifier = number_literal) ;) (do_statement "do {\n      uVar29 = (ulonglong)uVar6;\n      uVar6 = (uint)(uVar29 * uVar16);\n      uVar4 = uVar16 * uVar4 + (int)(uVar29 * uVar16 >> 0x20);\n      if ((param_7 <= uVar4) && ((param_7 != uVar4 || (param_8 <= uVar6)))) break;\n      iVar13 = iVar13 + 1;\n    } while (iVar13 != 8);" do (compound_statement "{\n      uVar29 = (ulonglong)uVar6;\n      uVar6 = (uint)(uVar29 * uVar16);\n      uVar4 = uVar16 * uVar4 + (int)(uVar29 * uVar16 >> 0x20);\n      if ((param_7 <= uVar4) && ((param_7 != uVar4 || (param_8 <= uVar6)))) break;\n      iVar13 = iVar13 + 1;\n    }" { (expression_statement "uVar29 = (ulonglong)uVar6;" (assignment_expression "uVar29 = (ulonglong)uVar6" identifier = (cast_expression "(ulonglong)uVar6" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) ;) (expression_statement "uVar6 = (uint)(uVar29 * uVar16);" (assignment_expression "uVar6 = (uint)(uVar29 * uVar16)" identifier = (call_expression "(uint)(uVar29 * uVar16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar29 * uVar16)" ( (binary_expression "uVar29 * uVar16" identifier * identifier) )))) ;) (expression_statement "uVar4 = uVar16 * uVar4 + (int)(uVar29 * uVar16 >> 0x20);" (assignment_expression "uVar4 = uVar16 * uVar4 + (int)(uVar29 * uVar16 >> 0x20)" identifier = (binary_expression "uVar16 * uVar4 + (int)(uVar29 * uVar16 >> 0x20)" (binary_expression "uVar16 * uVar4" identifier * identifier) + (cast_expression "(int)(uVar29 * uVar16 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar29 * uVar16 >> 0x20)" ( (binary_expression "uVar29 * uVar16 >> 0x20" (binary_expression "uVar29 * uVar16" identifier * identifier) >> number_literal) ))))) ;) (if_statement "if ((param_7 <= uVar4) && ((param_7 != uVar4 || (param_8 <= uVar6)))) break;" if (parenthesized_expression "((param_7 <= uVar4) && ((param_7 != uVar4 || (param_8 <= uVar6))))" ( (binary_expression "(param_7 <= uVar4) && ((param_7 != uVar4 || (param_8 <= uVar6)))" (parenthesized_expression "(param_7 <= uVar4)" ( (binary_expression "param_7 <= uVar4" identifier <= identifier) )) && (parenthesized_expression "((param_7 != uVar4 || (param_8 <= uVar6)))" ( (parenthesized_expression "(param_7 != uVar4 || (param_8 <= uVar6))" ( (binary_expression "param_7 != uVar4 || (param_8 <= uVar6)" (binary_expression "param_7 != uVar4" identifier != identifier) || (parenthesized_expression "(param_8 <= uVar6)" ( (binary_expression "param_8 <= uVar6" identifier <= identifier) ))) )) ))) )) (break_statement "break;" break ;)) (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar13 != 8)" ( (binary_expression "iVar13 != 8" identifier != number_literal) )) ;) (if_statement "if ((param_4 & 0x40) != 0) {\nLAB_000221fc:\n      local_88 = (char *)(param_3 + 0x288);\n      *(undefined1 *)(param_3 + 0x287) = 0x20;\n      goto LAB_00022208;\n    }" if (parenthesized_expression "((param_4 & 0x40) != 0)" ( (binary_expression "(param_4 & 0x40) != 0" (parenthesized_expression "(param_4 & 0x40)" ( (binary_expression "param_4 & 0x40" identifier & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_000221fc:\n      local_88 = (char *)(param_3 + 0x288);\n      *(undefined1 *)(param_3 + 0x287) = 0x20;\n      goto LAB_00022208;\n    }" { (labeled_statement "LAB_000221fc:\n      local_88 = (char *)(param_3 + 0x288);" statement_identifier : (expression_statement "local_88 = (char *)(param_3 + 0x288);" (assignment_expression "local_88 = (char *)(param_3 + 0x288)" identifier = (cast_expression "(char *)(param_3 + 0x288)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x288)" ( (binary_expression "param_3 + 0x288" identifier + number_literal) )))) ;)) (expression_statement "*(undefined1 *)(param_3 + 0x287) = 0x20;" (assignment_expression "*(undefined1 *)(param_3 + 0x287) = 0x20" (pointer_expression "*(undefined1 *)(param_3 + 0x287)" * (cast_expression "(undefined1 *)(param_3 + 0x287)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x287)" ( (binary_expression "param_3 + 0x287" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_00022208;" goto statement_identifier ;) })) (labeled_statement "LAB_00022210:\n    if ((uVar10 == 0) && (iVar13 == 1)) {\n      cVar9 = 'k';\n    }\n    else {\n      cVar9 = PTR_LAB_00049218[iVar13 + 0x6748];\n    }" statement_identifier : (if_statement "if ((uVar10 == 0) && (iVar13 == 1)) {\n      cVar9 = 'k';\n    }\n    else {\n      cVar9 = PTR_LAB_00049218[iVar13 + 0x6748];\n    }" if (parenthesized_expression "((uVar10 == 0) && (iVar13 == 1))" ( (binary_expression "(uVar10 == 0) && (iVar13 == 1)" (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar13 == 1)" ( (binary_expression "iVar13 == 1" identifier == number_literal) ))) )) (compound_statement "{\n      cVar9 = 'k';\n    }" { (expression_statement "cVar9 = 'k';" (assignment_expression "cVar9 = 'k'" identifier = (char_literal "'k'" ' character ')) ;) }) (else_clause "else {\n      cVar9 = PTR_LAB_00049218[iVar13 + 0x6748];\n    }" else (compound_statement "{\n      cVar9 = PTR_LAB_00049218[iVar13 + 0x6748];\n    }" { (expression_statement "cVar9 = PTR_LAB_00049218[iVar13 + 0x6748];" (assignment_expression "cVar9 = PTR_LAB_00049218[iVar13 + 0x6748]" identifier = (subscript_expression "PTR_LAB_00049218[iVar13 + 0x6748]" identifier [ (binary_expression "iVar13 + 0x6748" identifier + number_literal) ])) ;) })))) (expression_statement "pcVar15 = local_88 + 1;" (assignment_expression "pcVar15 = local_88 + 1" identifier = (binary_expression "local_88 + 1" identifier + number_literal)) ;) (expression_statement "*local_88 = cVar9;" (assignment_expression "*local_88 = cVar9" (pointer_expression "*local_88" * identifier) = identifier) ;) }) (else_clause "else {\n    if ((param_4 & 0x100) == 0 && iVar13 == 0) goto LAB_00021da4;\n    if ((param_4 & 0x40) != 0) goto LAB_000221fc;\nLAB_00022208:\n    pcVar15 = local_88;\n    if (iVar13 != 0) goto LAB_00022210;\n  }" else (compound_statement "{\n    if ((param_4 & 0x100) == 0 && iVar13 == 0) goto LAB_00021da4;\n    if ((param_4 & 0x40) != 0) goto LAB_000221fc;\nLAB_00022208:\n    pcVar15 = local_88;\n    if (iVar13 != 0) goto LAB_00022210;\n  }" { (if_statement "if ((param_4 & 0x100) == 0 && iVar13 == 0) goto LAB_00021da4;" if (parenthesized_expression "((param_4 & 0x100) == 0 && iVar13 == 0)" ( (binary_expression "(param_4 & 0x100) == 0 && iVar13 == 0" (binary_expression "(param_4 & 0x100) == 0" (parenthesized_expression "(param_4 & 0x100)" ( (binary_expression "param_4 & 0x100" identifier & number_literal) )) == number_literal) && (binary_expression "iVar13 == 0" identifier == number_literal)) )) (goto_statement "goto LAB_00021da4;" goto statement_identifier ;)) (if_statement "if ((param_4 & 0x40) != 0) goto LAB_000221fc;" if (parenthesized_expression "((param_4 & 0x40) != 0)" ( (binary_expression "(param_4 & 0x40) != 0" (parenthesized_expression "(param_4 & 0x40)" ( (binary_expression "param_4 & 0x40" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000221fc;" goto statement_identifier ;)) (labeled_statement "LAB_00022208:\n    pcVar15 = local_88;" statement_identifier : (expression_statement "pcVar15 = local_88;" (assignment_expression "pcVar15 = local_88" identifier = identifier) ;)) (if_statement "if (iVar13 != 0) goto LAB_00022210;" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00022210;" goto statement_identifier ;)) }))) (expression_statement "local_88 = pcVar15;" (assignment_expression "local_88 = pcVar15" identifier = identifier) ;) (if_statement "if ((param_4 & 0x100) != 0) {\n    pcVar11 = pcVar15 + 1;\n    local_88 = pcVar11;\n    if ((uVar10 != 0) && (iVar13 != 0)) {\n      local_88 = pcVar15 + 2;\n      *pcVar15 = 'i';\n      pcVar15 = pcVar11;\n    }\n    *pcVar15 = 'B';\n  }" if (parenthesized_expression "((param_4 & 0x100) != 0)" ( (binary_expression "(param_4 & 0x100) != 0" (parenthesized_expression "(param_4 & 0x100)" ( (binary_expression "param_4 & 0x100" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    pcVar11 = pcVar15 + 1;\n    local_88 = pcVar11;\n    if ((uVar10 != 0) && (iVar13 != 0)) {\n      local_88 = pcVar15 + 2;\n      *pcVar15 = 'i';\n      pcVar15 = pcVar11;\n    }\n    *pcVar15 = 'B';\n  }" { (expression_statement "pcVar11 = pcVar15 + 1;" (assignment_expression "pcVar11 = pcVar15 + 1" identifier = (binary_expression "pcVar15 + 1" identifier + number_literal)) ;) (expression_statement "local_88 = pcVar11;" (assignment_expression "local_88 = pcVar11" identifier = identifier) ;) (if_statement "if ((uVar10 != 0) && (iVar13 != 0)) {\n      local_88 = pcVar15 + 2;\n      *pcVar15 = 'i';\n      pcVar15 = pcVar11;\n    }" if (parenthesized_expression "((uVar10 != 0) && (iVar13 != 0))" ( (binary_expression "(uVar10 != 0) && (iVar13 != 0)" (parenthesized_expression "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) ))) )) (compound_statement "{\n      local_88 = pcVar15 + 2;\n      *pcVar15 = 'i';\n      pcVar15 = pcVar11;\n    }" { (expression_statement "local_88 = pcVar15 + 2;" (assignment_expression "local_88 = pcVar15 + 2" identifier = (binary_expression "pcVar15 + 2" identifier + number_literal)) ;) (expression_statement "*pcVar15 = 'i';" (assignment_expression "*pcVar15 = 'i'" (pointer_expression "*pcVar15" * identifier) = (char_literal "'i'" ' character ')) ;) (expression_statement "pcVar15 = pcVar11;" (assignment_expression "pcVar15 = pcVar11" identifier = identifier) ;) })) (expression_statement "*pcVar15 = 'B';" (assignment_expression "*pcVar15 = 'B'" (pointer_expression "*pcVar15" * identifier) = (char_literal "'B'" ' character ')) ;) })) (labeled_statement "LAB_00021da4:\n  while( true ) {\n    *local_88 = '\0';\n    if (local_34 == *(int *)puVar3) break;\n    local_88 = (char *)(*(code *)PTR___stack_chk_fail_000495d0)();\n  }" statement_identifier : (while_statement "while( true ) {\n    *local_88 = '\0';\n    if (local_34 == *(int *)puVar3) break;\n    local_88 = (char *)(*(code *)PTR___stack_chk_fail_000495d0)();\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    *local_88 = '\0';\n    if (local_34 == *(int *)puVar3) break;\n    local_88 = (char *)(*(code *)PTR___stack_chk_fail_000495d0)();\n  }" { (expression_statement "*local_88 = '\0';" (assignment_expression "*local_88 = '\0'" (pointer_expression "*local_88" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (local_34 == *(int *)puVar3) break;" if (parenthesized_expression "(local_34 == *(int *)puVar3)" ( (binary_expression "local_34 == *(int *)puVar3" identifier == (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (break_statement "break;" break ;)) (expression_statement "local_88 = (char *)(*(code *)PTR___stack_chk_fail_000495d0)();" (assignment_expression "local_88 = (char *)(*(code *)PTR___stack_chk_fail_000495d0)()" identifier = (cast_expression "(char *)(*(code *)PTR___stack_chk_fail_000495d0)()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___stack_chk_fail_000495d0)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000495d0)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000495d0" * (cast_expression "(code *)PTR___stack_chk_fail_000495d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) }))) (return_statement "return pcVar19;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) )))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT - LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) (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 = (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 < IDENT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == IDENT) && (parenthesized_expression ( (binary_expression IDENT < IDENT) ))) )) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression IDENT == LIT)) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) , (binary_expression IDENT != LIT)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression IDENT * LIT) >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT * LIT) < (binary_expression IDENT * LIT)) ))) + (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) | (binary_expression IDENT << LIT)) ))) + IDENT) )) * LIT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT * LIT) , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT << LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT * LIT) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == IDENT) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < IDENT) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) )))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT << LIT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT >> LIT) ))) != LIT) )) || (parenthesized_expression ( (binary_expression IDENT <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * LIT) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT / IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT % IDENT) )) * LIT) + (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT >> LIT) ))) == LIT) )) && (parenthesized_expression ( (binary_expression IDENT < IDENT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression LIT < (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) + IDENT))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT < IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( IDENT )) || (parenthesized_expression ( (binary_expression IDENT != 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 = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (char_literal ' character '))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) - IDENT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT != LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (char_literal ' character '))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (char_literal ' character ')) ;) (goto_statement goto statement_identifier ;) }))) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (break_statement break ;) })) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) + IDENT) != LIT) )) + IDENT) )))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (do_statement do (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + (char_literal ' character '))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , LIT )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) }) while (parenthesized_expression ( (binary_expression LIT < IDENT) )) ;)) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) ))) < LIT) ))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT >> LIT) ))) != LIT) || (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' character ')) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (unary_expression ~ IDENT))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' character ')) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT >> LIT) ))) , (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (call_expression IDENT (argument_list ( IDENT , IDENT )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT / IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression IDENT != IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT + LIT) < IDENT) ))) + IDENT) ))))) ;) })) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , LIT , (binary_expression IDENT + LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (break_statement break ;)) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT / IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) + LIT) + IDENT) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , LIT , (binary_expression IDENT + LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto 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 = (binary_expression IDENT * IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (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 { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression IDENT != IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) >> LIT) ))) ))))) ;) })) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , LIT , (binary_expression IDENT + LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) != (char_literal ' character ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (goto_statement goto 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 = (binary_expression IDENT * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = 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 IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression IDENT != IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) >> LIT) ))) ))))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) }))) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , LIT , (binary_expression IDENT + LIT) , (binary_expression IDENT / IDENT) ))) ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (unary_expression - IDENT))) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (unary_expression - IDENT))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + IDENT) , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (unary_expression - IDENT))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (unary_expression - IDENT))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression LIT < IDENT)) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * IDENT) + (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT * IDENT) >> LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != IDENT) || (parenthesized_expression ( (binary_expression IDENT <= IDENT) ))) )) ))) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (char_literal ' character ')) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression IDENT + LIT) ])) ;) })))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) && (binary_expression IDENT == LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' character ')) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' character ')) ;) })) (labeled_statement statement_identifier : (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) }))) (return_statement return IDENT ;) })))
(function_definition "char * human_readable(undefined4 param_1,undefined4 param_2,int param_3,uint param_4,uint param_5,\n                     uint param_6,uint param_7,uint param_8)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  uint uVar4;\n  undefined4 *puVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  char cVar9;\n  uint uVar10;\n  uint extraout_v1;\n  char extraout_v1_01;\n  int extraout_v1_00;\n  char *pcVar11;\n  uint uVar12;\n  int iVar13;\n  uint uVar14;\n  char *pcVar15;\n  uint uVar16;\n  byte *pbVar17;\n  undefined4 uVar18;\n  char *pcVar19;\n  undefined *puVar20;\n  uint uVar21;\n  double dVar22;\n  double dVar23;\n  double dVar24;\n  longlong lVar25;\n  ulonglong uVar26;\n  longlong lVar27;\n  undefined8 uVar28;\n  ulonglong uVar29;\n  char *local_88;\n  undefined *local_7c;\n  uint local_70;\n  undefined *local_68;\n  undefined1 auStack_60 [44];\n  int local_34;\n  \n  puVar3 = PTR___stack_chk_guard_000495fc;\n  uVar10 = param_4 & 0x20;\n  uVar16 = 0x400;\n  local_34 = *(int *)PTR___stack_chk_guard_000495fc;\n  uVar4 = param_4 & 3;\n  if (uVar10 == 0) {\n    uVar16 = 1000;\n  }\n  puVar5 = (undefined4 *)(*(code *)PTR_localeconv_000494b4)();\n  local_68 = (undefined *)*puVar5;\n  local_70 = (*(code *)PTR_strlen_0004953c)(local_68);\n  if (0xf < local_70 - 1) {\n    local_70 = 1;\n    local_68 = PTR_LAB_00049218 + 0x6104;\n  }\n  local_7c = (undefined *)puVar5[1];\n  pbVar17 = (byte *)puVar5[2];\n  uVar6 = (*(code *)PTR_strlen_0004953c)();\n  if (0x10 < uVar6) {\n    local_7c = PTR_LAB_00049218 + 0x7ea8;\n  }\n  local_88 = (char *)(param_3 + 0x287);\n  if ((param_5 < param_7) || ((param_7 == param_5 && (param_6 < param_8)))) {\n    if ((param_5 == 0 && param_6 == 0) ||\n       (lVar25 = FUN_000317b0(param_7,param_8,param_5,param_6), lVar25 != 0)) goto LAB_00021ca0;\n    uVar26 = FUN_00031340(param_7,param_8,param_5,param_6);\n    uVar7 = (uint)(uVar26 >> 0x20);\n    uVar12 = (uint)uVar26;\n    uVar28 = FUN_000317b0(param_1,param_2,uVar7,uVar12);\n    iVar13 = (int)((ulonglong)uVar28 >> 0x20);\n    uVar6 = (uint)uVar28;\n    uVar21 = uVar6 * 5 >> 0x1f |\n             ((uint)(uVar6 * 5 < uVar6 * 4) + (uVar6 >> 0x1e | iVar13 << 2) + iVar13) * 2;\n    lVar27 = FUN_000317b0(uVar21,uVar6 * 10,uVar7,uVar12);\n    lVar25 = lVar27 << 1;\n    uVar14 = (uint)((ulonglong)lVar25 >> 0x20);\n    uVar29 = FUN_00031340(param_1,param_2,uVar7,uVar12);\n    FUN_00031340(uVar21,uVar6 * 10,uVar7,uVar12);\n    uVar6 = extraout_v1;\n    if ((uVar14 < uVar7) || ((uVar7 == uVar14 && ((uint)lVar25 < uVar12)))) {\n      uVar7 = (uint)(lVar25 != 0);\n    }\n    else if (uVar26 < (ulonglong)(lVar27 << 1)) {\n      uVar7 = 3;\n    }\n    else {\n      uVar7 = 2;\n    }\nLAB_000223b4:\n    pcVar15 = local_88;\n    if ((param_4 & 0x10) == 0) {\n      iVar13 = -1;\n    }\n    else {\n      iVar13 = 0;\n      if (((int)(uVar29 >> 0x20) != 0) || (uVar16 <= (uint)uVar29)) {\n        iVar13 = 0;\n        do {\n          uVar18 = (undefined4)(uVar29 >> 0x20);\n          FUN_000317b0(uVar18,(int)uVar29,0,uVar16);\n          uVar12 = extraout_v1_00 * 10 + uVar6;\n          if (uVar16 == 0) {\n            trap(7);\n          }\n          uVar6 = uVar12 / uVar16;\n          uVar14 = (uVar12 % uVar16) * 2 + ((int)uVar7 >> 1);\n          uVar29 = FUN_00031340(uVar18,(int)uVar29,0,uVar16);\n          puVar20 = PTR_memcpy_00049600;\n          uVar12 = (uint)uVar29;\n          uVar21 = uVar7 + uVar14;\n          if (uVar14 < uVar16) {\n            uVar7 = (uint)(uVar21 != 0);\n          }\n          else {\n            uVar7 = 2;\n            if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }\n          }\n          iVar13 = iVar13 + 1;\n          if (((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16)) {\n            if (uVar12 < 10) {\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }\n            break;\n          }\n        } while (iVar13 != 8);\n      }\n    }\n    if (uVar4 == 1) {\n      pcVar19 = local_88;\n      if (5 < (int)((((uint)uVar29 & 1) + uVar7 != 0) + uVar6)) goto LAB_000223fc;\nLAB_00022428:\n      do {\n        do {\n          iVar8 = (int)(uVar29 >> 0x20);\n          uVar4 = (uint)uVar29;\n          FUN_000317b0(iVar8,uVar4,0,10);\n          pcVar19 = pcVar19 + -1;\n          *pcVar19 = extraout_v1_01 + '0';\n          uVar29 = FUN_00031340(iVar8,uVar4,0,10);\n        } while (iVar8 != 0);\n      } while (9 < uVar4);\n    }\n    else {\nLAB_000223ec:\n      pcVar19 = pcVar15;\n      if ((uVar4 != 0) || ((int)(uVar6 + uVar7) < 1)) goto LAB_00022428;\nLAB_000223fc:\n      puVar20 = PTR_memcpy_00049600;\n      uVar29 = uVar29 + 1;\n      pcVar19 = pcVar15;\n      if (((param_4 & 0x10) == 0) ||\n         ((((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)) || (iVar13 == 8))))\n      goto LAB_00022428;\n      iVar13 = iVar13 + 1;\n      if ((param_4 & 8) == 0) {\n        pcVar15[-1] = '0';\n        pcVar15 = pcVar15 + ~local_70;\n        (*(code *)puVar20)(pcVar15,local_68);\n      }\n      pcVar19 = pcVar15 + -1;\n      pcVar15[-1] = '1';\n    }\n  }\n  else {\n    lVar25 = FUN_000317b0(param_5,param_6,param_7,param_8);\n    if (lVar25 == 0) {\n      lVar25 = FUN_00031340(param_5,param_6,param_7,param_8);\n      uVar29 = lVar25 * CONCAT44(param_1,param_2);\n      lVar25 = FUN_00031340((int)(uVar29 >> 0x20),(int)uVar29,(int)((ulonglong)lVar25 >> 0x20));\n      if (lVar25 == CONCAT44(param_1,param_2)) {\n        uVar7 = 0;\n        uVar6 = 0;\n        goto LAB_000223b4;\n      }\n    }\nLAB_00021ca0:\n    dVar22 = (double)FUN_000309d0(param_5,param_6);\n    dVar23 = (double)FUN_000309d0(param_7,param_8);\n    dVar22 = dVar22 / dVar23;\n    dVar23 = (double)FUN_000309d0(param_1,param_2);\n    puVar20 = PTR_LAB_00049218;\n    dVar22 = dVar22 * dVar23;\n    if ((param_4 & 0x10) == 0) {\n      dVar23 = dVar22;\n      if (((param_4 & 3) != 1) && (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760))) {\n        uVar28 = FUN_00030930(dVar22);\n        iVar13 = (int)((ulonglong)uVar28 >> 0x20);\n        uVar4 = (uint)uVar28;\n        dVar23 = (double)FUN_000309d0(iVar13,uVar4);\n        if (((param_4 & 3) == 0) && (dVar22 != dVar23)) {\n          dVar23 = (double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13);\n        }\n      }\n      (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23);\n      iVar13 = -1;\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }\n    else {\n      iVar13 = 0;\n      dVar23 = (double)uVar16;\n      do {\n        dVar24 = dVar23;\n        dVar23 = dVar24 * (double)uVar16;\n        iVar13 = iVar13 + 1;\n        if (dVar22 < dVar23) break;\n      } while (iVar13 != 8);\n      dVar22 = dVar22 / dVar24;\n      uVar6 = (uVar10 == 0) + 1 + local_70 + 1;\n      if (uVar4 == 1) {\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        if (uVar7 <= uVar6) goto LAB_0002232c;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        dVar23 = dVar22 * dVar24;\n      }\n      else {\n        dVar23 = dVar22;\n        if (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar22);\n          dVar23 = dVar22;\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar23 != dVar22)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        dVar22 = dVar23;\n        if (uVar6 < uVar7) {\n          dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar23 = dVar22 * dVar24;\n          puVar20 = PTR_LAB_00049218;\n          if (uVar4 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar23 < *(double *)(puVar20 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar23);\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar22 != dVar23)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n          dVar23 = dVar22;\n          dVar24 = *(double *)(puVar2 + 0x6768);\n        }\n      }\nLAB_0002207c:\n      (*(code *)PTR___sprintf_chk_00049454)\n                (param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23 / dVar24);\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }\nLAB_00021d4c:\n    pcVar19 = local_88 + -uVar7;\n    (*(code *)PTR_memmove_00049610)(pcVar19,param_3,uVar7);\n    pcVar15 = pcVar19 + uVar4;\n  }\n  if ((param_4 & 4) != 0) {\n    uVar6 = (int)pcVar15 - (int)pcVar19;\n    iVar8 = (*(code *)PTR_strlen_0004953c)(local_7c);\n    (*(code *)PTR___memcpy_chk_00049558)(auStack_60,pcVar19,uVar6,0x29);\n    uVar4 = 0xffffffff;\n    while( true ) {\n      uVar7 = (uint)*pbVar17;\n      if (uVar7 != 0) {\n        uVar4 = uVar7;\n        if (0x7e < uVar7) {\n          uVar4 = uVar6;\n        }\n        pbVar17 = pbVar17 + 1;\n      }\n      if (uVar6 < uVar4) break;\n      uVar6 = uVar6 - uVar4;\n      pcVar19 = pcVar15 + -uVar4;\n      (*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60 + uVar6,uVar4);\n      if (uVar6 == 0) goto LAB_00021d7c;\n      pcVar15 = pcVar19 + -iVar8;\n      (*(code *)PTR_memcpy_00049600)(pcVar15,local_7c,iVar8);\n    }\n    pcVar19 = pcVar15 + -uVar6;\n    (*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60,uVar6);\n  }\nLAB_00021d7c:\n  if ((param_4 & 0x80) == 0) goto LAB_00021da4;\n  if ((iVar13 == -1) && ((param_7 != 0 || (iVar13 = 0, 1 < param_8)))) {\n    iVar13 = 1;\n    uVar6 = 1;\n    uVar4 = 0;\n    do {\n      uVar29 = (ulonglong)uVar6;\n      uVar6 = (uint)(uVar29 * uVar16);\n      uVar4 = uVar16 * uVar4 + (int)(uVar29 * uVar16 >> 0x20);\n      if ((param_7 <= uVar4) && ((param_7 != uVar4 || (param_8 <= uVar6)))) break;\n      iVar13 = iVar13 + 1;\n    } while (iVar13 != 8);\n    if ((param_4 & 0x40) != 0) {\nLAB_000221fc:\n      local_88 = (char *)(param_3 + 0x288);\n      *(undefined1 *)(param_3 + 0x287) = 0x20;\n      goto LAB_00022208;\n    }\nLAB_00022210:\n    if ((uVar10 == 0) && (iVar13 == 1)) {\n      cVar9 = 'k';\n    }\n    else {\n      cVar9 = PTR_LAB_00049218[iVar13 + 0x6748];\n    }\n    pcVar15 = local_88 + 1;\n    *local_88 = cVar9;\n  }\n  else {\n    if ((param_4 & 0x100) == 0 && iVar13 == 0) goto LAB_00021da4;\n    if ((param_4 & 0x40) != 0) goto LAB_000221fc;\nLAB_00022208:\n    pcVar15 = local_88;\n    if (iVar13 != 0) goto LAB_00022210;\n  }\n  local_88 = pcVar15;\n  if ((param_4 & 0x100) != 0) {\n    pcVar11 = pcVar15 + 1;\n    local_88 = pcVar11;\n    if ((uVar10 != 0) && (iVar13 != 0)) {\n      local_88 = pcVar15 + 2;\n      *pcVar15 = 'i';\n      pcVar15 = pcVar11;\n    }\n    *pcVar15 = 'B';\n  }\nLAB_00021da4:\n  while( true ) {\n    *local_88 = '\0';\n    if (local_34 == *(int *)puVar3) break;\n    local_88 = (char *)(*(code *)PTR___stack_chk_fail_000495d0)();\n  }\n  return pcVar19;\n}" (primitive_type "char") (pointer_declarator "* human_readable(undefined4 param_1,undefined4 param_2,int param_3,uint param_4,uint param_5,\n                     uint param_6,uint param_7,uint param_8)" (* "*") (function_declarator "human_readable(undefined4 param_1,undefined4 param_2,int param_3,uint param_4,uint param_5,\n                     uint param_6,uint param_7,uint param_8)" (identifier "human_readable") (parameter_list "(undefined4 param_1,undefined4 param_2,int param_3,uint param_4,uint param_5,\n                     uint param_6,uint param_7,uint param_8)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) (, ",") (parameter_declaration "uint param_4" (type_identifier "uint") (identifier "param_4")) (, ",") (parameter_declaration "uint param_5" (type_identifier "uint") (identifier "param_5")) (, ",") (parameter_declaration "uint param_6" (type_identifier "uint") (identifier "param_6")) (, ",") (parameter_declaration "uint param_7" (type_identifier "uint") (identifier "param_7")) (, ",") (parameter_declaration "uint param_8" (type_identifier "uint") (identifier "param_8")) () ")")))) (compound_statement "{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  uint uVar4;\n  undefined4 *puVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  char cVar9;\n  uint uVar10;\n  uint extraout_v1;\n  char extraout_v1_01;\n  int extraout_v1_00;\n  char *pcVar11;\n  uint uVar12;\n  int iVar13;\n  uint uVar14;\n  char *pcVar15;\n  uint uVar16;\n  byte *pbVar17;\n  undefined4 uVar18;\n  char *pcVar19;\n  undefined *puVar20;\n  uint uVar21;\n  double dVar22;\n  double dVar23;\n  double dVar24;\n  longlong lVar25;\n  ulonglong uVar26;\n  longlong lVar27;\n  undefined8 uVar28;\n  ulonglong uVar29;\n  char *local_88;\n  undefined *local_7c;\n  uint local_70;\n  undefined *local_68;\n  undefined1 auStack_60 [44];\n  int local_34;\n  \n  puVar3 = PTR___stack_chk_guard_000495fc;\n  uVar10 = param_4 & 0x20;\n  uVar16 = 0x400;\n  local_34 = *(int *)PTR___stack_chk_guard_000495fc;\n  uVar4 = param_4 & 3;\n  if (uVar10 == 0) {\n    uVar16 = 1000;\n  }\n  puVar5 = (undefined4 *)(*(code *)PTR_localeconv_000494b4)();\n  local_68 = (undefined *)*puVar5;\n  local_70 = (*(code *)PTR_strlen_0004953c)(local_68);\n  if (0xf < local_70 - 1) {\n    local_70 = 1;\n    local_68 = PTR_LAB_00049218 + 0x6104;\n  }\n  local_7c = (undefined *)puVar5[1];\n  pbVar17 = (byte *)puVar5[2];\n  uVar6 = (*(code *)PTR_strlen_0004953c)();\n  if (0x10 < uVar6) {\n    local_7c = PTR_LAB_00049218 + 0x7ea8;\n  }\n  local_88 = (char *)(param_3 + 0x287);\n  if ((param_5 < param_7) || ((param_7 == param_5 && (param_6 < param_8)))) {\n    if ((param_5 == 0 && param_6 == 0) ||\n       (lVar25 = FUN_000317b0(param_7,param_8,param_5,param_6), lVar25 != 0)) goto LAB_00021ca0;\n    uVar26 = FUN_00031340(param_7,param_8,param_5,param_6);\n    uVar7 = (uint)(uVar26 >> 0x20);\n    uVar12 = (uint)uVar26;\n    uVar28 = FUN_000317b0(param_1,param_2,uVar7,uVar12);\n    iVar13 = (int)((ulonglong)uVar28 >> 0x20);\n    uVar6 = (uint)uVar28;\n    uVar21 = uVar6 * 5 >> 0x1f |\n             ((uint)(uVar6 * 5 < uVar6 * 4) + (uVar6 >> 0x1e | iVar13 << 2) + iVar13) * 2;\n    lVar27 = FUN_000317b0(uVar21,uVar6 * 10,uVar7,uVar12);\n    lVar25 = lVar27 << 1;\n    uVar14 = (uint)((ulonglong)lVar25 >> 0x20);\n    uVar29 = FUN_00031340(param_1,param_2,uVar7,uVar12);\n    FUN_00031340(uVar21,uVar6 * 10,uVar7,uVar12);\n    uVar6 = extraout_v1;\n    if ((uVar14 < uVar7) || ((uVar7 == uVar14 && ((uint)lVar25 < uVar12)))) {\n      uVar7 = (uint)(lVar25 != 0);\n    }\n    else if (uVar26 < (ulonglong)(lVar27 << 1)) {\n      uVar7 = 3;\n    }\n    else {\n      uVar7 = 2;\n    }\nLAB_000223b4:\n    pcVar15 = local_88;\n    if ((param_4 & 0x10) == 0) {\n      iVar13 = -1;\n    }\n    else {\n      iVar13 = 0;\n      if (((int)(uVar29 >> 0x20) != 0) || (uVar16 <= (uint)uVar29)) {\n        iVar13 = 0;\n        do {\n          uVar18 = (undefined4)(uVar29 >> 0x20);\n          FUN_000317b0(uVar18,(int)uVar29,0,uVar16);\n          uVar12 = extraout_v1_00 * 10 + uVar6;\n          if (uVar16 == 0) {\n            trap(7);\n          }\n          uVar6 = uVar12 / uVar16;\n          uVar14 = (uVar12 % uVar16) * 2 + ((int)uVar7 >> 1);\n          uVar29 = FUN_00031340(uVar18,(int)uVar29,0,uVar16);\n          puVar20 = PTR_memcpy_00049600;\n          uVar12 = (uint)uVar29;\n          uVar21 = uVar7 + uVar14;\n          if (uVar14 < uVar16) {\n            uVar7 = (uint)(uVar21 != 0);\n          }\n          else {\n            uVar7 = 2;\n            if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }\n          }\n          iVar13 = iVar13 + 1;\n          if (((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16)) {\n            if (uVar12 < 10) {\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }\n            break;\n          }\n        } while (iVar13 != 8);\n      }\n    }\n    if (uVar4 == 1) {\n      pcVar19 = local_88;\n      if (5 < (int)((((uint)uVar29 & 1) + uVar7 != 0) + uVar6)) goto LAB_000223fc;\nLAB_00022428:\n      do {\n        do {\n          iVar8 = (int)(uVar29 >> 0x20);\n          uVar4 = (uint)uVar29;\n          FUN_000317b0(iVar8,uVar4,0,10);\n          pcVar19 = pcVar19 + -1;\n          *pcVar19 = extraout_v1_01 + '0';\n          uVar29 = FUN_00031340(iVar8,uVar4,0,10);\n        } while (iVar8 != 0);\n      } while (9 < uVar4);\n    }\n    else {\nLAB_000223ec:\n      pcVar19 = pcVar15;\n      if ((uVar4 != 0) || ((int)(uVar6 + uVar7) < 1)) goto LAB_00022428;\nLAB_000223fc:\n      puVar20 = PTR_memcpy_00049600;\n      uVar29 = uVar29 + 1;\n      pcVar19 = pcVar15;\n      if (((param_4 & 0x10) == 0) ||\n         ((((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)) || (iVar13 == 8))))\n      goto LAB_00022428;\n      iVar13 = iVar13 + 1;\n      if ((param_4 & 8) == 0) {\n        pcVar15[-1] = '0';\n        pcVar15 = pcVar15 + ~local_70;\n        (*(code *)puVar20)(pcVar15,local_68);\n      }\n      pcVar19 = pcVar15 + -1;\n      pcVar15[-1] = '1';\n    }\n  }\n  else {\n    lVar25 = FUN_000317b0(param_5,param_6,param_7,param_8);\n    if (lVar25 == 0) {\n      lVar25 = FUN_00031340(param_5,param_6,param_7,param_8);\n      uVar29 = lVar25 * CONCAT44(param_1,param_2);\n      lVar25 = FUN_00031340((int)(uVar29 >> 0x20),(int)uVar29,(int)((ulonglong)lVar25 >> 0x20));\n      if (lVar25 == CONCAT44(param_1,param_2)) {\n        uVar7 = 0;\n        uVar6 = 0;\n        goto LAB_000223b4;\n      }\n    }\nLAB_00021ca0:\n    dVar22 = (double)FUN_000309d0(param_5,param_6);\n    dVar23 = (double)FUN_000309d0(param_7,param_8);\n    dVar22 = dVar22 / dVar23;\n    dVar23 = (double)FUN_000309d0(param_1,param_2);\n    puVar20 = PTR_LAB_00049218;\n    dVar22 = dVar22 * dVar23;\n    if ((param_4 & 0x10) == 0) {\n      dVar23 = dVar22;\n      if (((param_4 & 3) != 1) && (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760))) {\n        uVar28 = FUN_00030930(dVar22);\n        iVar13 = (int)((ulonglong)uVar28 >> 0x20);\n        uVar4 = (uint)uVar28;\n        dVar23 = (double)FUN_000309d0(iVar13,uVar4);\n        if (((param_4 & 3) == 0) && (dVar22 != dVar23)) {\n          dVar23 = (double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13);\n        }\n      }\n      (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23);\n      iVar13 = -1;\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }\n    else {\n      iVar13 = 0;\n      dVar23 = (double)uVar16;\n      do {\n        dVar24 = dVar23;\n        dVar23 = dVar24 * (double)uVar16;\n        iVar13 = iVar13 + 1;\n        if (dVar22 < dVar23) break;\n      } while (iVar13 != 8);\n      dVar22 = dVar22 / dVar24;\n      uVar6 = (uVar10 == 0) + 1 + local_70 + 1;\n      if (uVar4 == 1) {\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        if (uVar7 <= uVar6) goto LAB_0002232c;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        dVar23 = dVar22 * dVar24;\n      }\n      else {\n        dVar23 = dVar22;\n        if (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar22);\n          dVar23 = dVar22;\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar23 != dVar22)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        dVar22 = dVar23;\n        if (uVar6 < uVar7) {\n          dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar23 = dVar22 * dVar24;\n          puVar20 = PTR_LAB_00049218;\n          if (uVar4 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar23 < *(double *)(puVar20 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar23);\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar22 != dVar23)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n          dVar23 = dVar22;\n          dVar24 = *(double *)(puVar2 + 0x6768);\n        }\n      }\nLAB_0002207c:\n      (*(code *)PTR___sprintf_chk_00049454)\n                (param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23 / dVar24);\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }\nLAB_00021d4c:\n    pcVar19 = local_88 + -uVar7;\n    (*(code *)PTR_memmove_00049610)(pcVar19,param_3,uVar7);\n    pcVar15 = pcVar19 + uVar4;\n  }\n  if ((param_4 & 4) != 0) {\n    uVar6 = (int)pcVar15 - (int)pcVar19;\n    iVar8 = (*(code *)PTR_strlen_0004953c)(local_7c);\n    (*(code *)PTR___memcpy_chk_00049558)(auStack_60,pcVar19,uVar6,0x29);\n    uVar4 = 0xffffffff;\n    while( true ) {\n      uVar7 = (uint)*pbVar17;\n      if (uVar7 != 0) {\n        uVar4 = uVar7;\n        if (0x7e < uVar7) {\n          uVar4 = uVar6;\n        }\n        pbVar17 = pbVar17 + 1;\n      }\n      if (uVar6 < uVar4) break;\n      uVar6 = uVar6 - uVar4;\n      pcVar19 = pcVar15 + -uVar4;\n      (*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60 + uVar6,uVar4);\n      if (uVar6 == 0) goto LAB_00021d7c;\n      pcVar15 = pcVar19 + -iVar8;\n      (*(code *)PTR_memcpy_00049600)(pcVar15,local_7c,iVar8);\n    }\n    pcVar19 = pcVar15 + -uVar6;\n    (*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60,uVar6);\n  }\nLAB_00021d7c:\n  if ((param_4 & 0x80) == 0) goto LAB_00021da4;\n  if ((iVar13 == -1) && ((param_7 != 0 || (iVar13 = 0, 1 < param_8)))) {\n    iVar13 = 1;\n    uVar6 = 1;\n    uVar4 = 0;\n    do {\n      uVar29 = (ulonglong)uVar6;\n      uVar6 = (uint)(uVar29 * uVar16);\n      uVar4 = uVar16 * uVar4 + (int)(uVar29 * uVar16 >> 0x20);\n      if ((param_7 <= uVar4) && ((param_7 != uVar4 || (param_8 <= uVar6)))) break;\n      iVar13 = iVar13 + 1;\n    } while (iVar13 != 8);\n    if ((param_4 & 0x40) != 0) {\nLAB_000221fc:\n      local_88 = (char *)(param_3 + 0x288);\n      *(undefined1 *)(param_3 + 0x287) = 0x20;\n      goto LAB_00022208;\n    }\nLAB_00022210:\n    if ((uVar10 == 0) && (iVar13 == 1)) {\n      cVar9 = 'k';\n    }\n    else {\n      cVar9 = PTR_LAB_00049218[iVar13 + 0x6748];\n    }\n    pcVar15 = local_88 + 1;\n    *local_88 = cVar9;\n  }\n  else {\n    if ((param_4 & 0x100) == 0 && iVar13 == 0) goto LAB_00021da4;\n    if ((param_4 & 0x40) != 0) goto LAB_000221fc;\nLAB_00022208:\n    pcVar15 = local_88;\n    if (iVar13 != 0) goto LAB_00022210;\n  }\n  local_88 = pcVar15;\n  if ((param_4 & 0x100) != 0) {\n    pcVar11 = pcVar15 + 1;\n    local_88 = pcVar11;\n    if ((uVar10 != 0) && (iVar13 != 0)) {\n      local_88 = pcVar15 + 2;\n      *pcVar15 = 'i';\n      pcVar15 = pcVar11;\n    }\n    *pcVar15 = 'B';\n  }\nLAB_00021da4:\n  while( true ) {\n    *local_88 = '\0';\n    if (local_34 == *(int *)puVar3) break;\n    local_88 = (char *)(*(code *)PTR___stack_chk_fail_000495d0)();\n  }\n  return pcVar19;\n}" ({ "{") (declaration "bool bVar1;" (primitive_type "bool") (identifier "bVar1") (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "undefined4 *puVar5;" (type_identifier "undefined4") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "char cVar9;" (primitive_type "char") (identifier "cVar9") (; ";")) (declaration "uint uVar10;" (type_identifier "uint") (identifier "uVar10") (; ";")) (declaration "uint extraout_v1;" (type_identifier "uint") (identifier "extraout_v1") (; ";")) (declaration "char extraout_v1_01;" (primitive_type "char") (identifier "extraout_v1_01") (; ";")) (declaration "int extraout_v1_00;" (primitive_type "int") (identifier "extraout_v1_00") (; ";")) (declaration "char *pcVar11;" (primitive_type "char") (pointer_declarator "*pcVar11" (* "*") (identifier "pcVar11")) (; ";")) (declaration "uint uVar12;" (type_identifier "uint") (identifier "uVar12") (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (declaration "uint uVar14;" (type_identifier "uint") (identifier "uVar14") (; ";")) (declaration "char *pcVar15;" (primitive_type "char") (pointer_declarator "*pcVar15" (* "*") (identifier "pcVar15")) (; ";")) (declaration "uint uVar16;" (type_identifier "uint") (identifier "uVar16") (; ";")) (declaration "byte *pbVar17;" (type_identifier "byte") (pointer_declarator "*pbVar17" (* "*") (identifier "pbVar17")) (; ";")) (declaration "undefined4 uVar18;" (type_identifier "undefined4") (identifier "uVar18") (; ";")) (declaration "char *pcVar19;" (primitive_type "char") (pointer_declarator "*pcVar19" (* "*") (identifier "pcVar19")) (; ";")) (declaration "undefined *puVar20;" (type_identifier "undefined") (pointer_declarator "*puVar20" (* "*") (identifier "puVar20")) (; ";")) (declaration "uint uVar21;" (type_identifier "uint") (identifier "uVar21") (; ";")) (declaration "double dVar22;" (primitive_type "double") (identifier "dVar22") (; ";")) (declaration "double dVar23;" (primitive_type "double") (identifier "dVar23") (; ";")) (declaration "double dVar24;" (primitive_type "double") (identifier "dVar24") (; ";")) (declaration "longlong lVar25;" (type_identifier "longlong") (identifier "lVar25") (; ";")) (declaration "ulonglong uVar26;" (type_identifier "ulonglong") (identifier "uVar26") (; ";")) (declaration "longlong lVar27;" (type_identifier "longlong") (identifier "lVar27") (; ";")) (declaration "undefined8 uVar28;" (type_identifier "undefined8") (identifier "uVar28") (; ";")) (declaration "ulonglong uVar29;" (type_identifier "ulonglong") (identifier "uVar29") (; ";")) (declaration "char *local_88;" (primitive_type "char") (pointer_declarator "*local_88" (* "*") (identifier "local_88")) (; ";")) (declaration "undefined *local_7c;" (type_identifier "undefined") (pointer_declarator "*local_7c" (* "*") (identifier "local_7c")) (; ";")) (declaration "uint local_70;" (type_identifier "uint") (identifier "local_70") (; ";")) (declaration "undefined *local_68;" (type_identifier "undefined") (pointer_declarator "*local_68" (* "*") (identifier "local_68")) (; ";")) (declaration "undefined1 auStack_60 [44];" (type_identifier "undefined1") (array_declarator "auStack_60 [44]" (identifier "auStack_60") ([ "[") (number_literal "44") (] "]")) (; ";")) (declaration "int local_34;" (primitive_type "int") (identifier "local_34") (; ";")) (expression_statement "puVar3 = PTR___stack_chk_guard_000495fc;" (assignment_expression "puVar3 = PTR___stack_chk_guard_000495fc" (identifier "puVar3") (= "=") (identifier "PTR___stack_chk_guard_000495fc")) (; ";")) (expression_statement "uVar10 = param_4 & 0x20;" (assignment_expression "uVar10 = param_4 & 0x20" (identifier "uVar10") (= "=") (binary_expression "param_4 & 0x20" (identifier "param_4") (& "&") (number_literal "0x20"))) (; ";")) (expression_statement "uVar16 = 0x400;" (assignment_expression "uVar16 = 0x400" (identifier "uVar16") (= "=") (number_literal "0x400")) (; ";")) (expression_statement "local_34 = *(int *)PTR___stack_chk_guard_000495fc;" (assignment_expression "local_34 = *(int *)PTR___stack_chk_guard_000495fc" (identifier "local_34") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_000495fc" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_000495fc" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_000495fc")))) (; ";")) (expression_statement "uVar4 = param_4 & 3;" (assignment_expression "uVar4 = param_4 & 3" (identifier "uVar4") (= "=") (binary_expression "param_4 & 3" (identifier "param_4") (& "&") (number_literal "3"))) (; ";")) (if_statement "if (uVar10 == 0) {\n    uVar16 = 1000;\n  }" (if "if") (parenthesized_expression "(uVar10 == 0)" (( "(") (binary_expression "uVar10 == 0" (identifier "uVar10") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar16 = 1000;\n  }" ({ "{") (expression_statement "uVar16 = 1000;" (assignment_expression "uVar16 = 1000" (identifier "uVar16") (= "=") (number_literal "1000")) (; ";")) (} "}"))) (expression_statement "puVar5 = (undefined4 *)(*(code *)PTR_localeconv_000494b4)();" (assignment_expression "puVar5 = (undefined4 *)(*(code *)PTR_localeconv_000494b4)()" (identifier "puVar5") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR_localeconv_000494b4)()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_localeconv_000494b4)()" (parenthesized_expression "(*(code *)PTR_localeconv_000494b4)" (( "(") (pointer_expression "*(code *)PTR_localeconv_000494b4" (* "*") (cast_expression "(code *)PTR_localeconv_000494b4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_localeconv_000494b4"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "local_68 = (undefined *)*puVar5;" (assignment_expression "local_68 = (undefined *)*puVar5" (identifier "local_68") (= "=") (cast_expression "(undefined *)*puVar5" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")))) (; ";")) (expression_statement "local_70 = (*(code *)PTR_strlen_0004953c)(local_68);" (assignment_expression "local_70 = (*(code *)PTR_strlen_0004953c)(local_68)" (identifier "local_70") (= "=") (call_expression "(*(code *)PTR_strlen_0004953c)(local_68)" (parenthesized_expression "(*(code *)PTR_strlen_0004953c)" (( "(") (pointer_expression "*(code *)PTR_strlen_0004953c" (* "*") (cast_expression "(code *)PTR_strlen_0004953c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_0004953c"))) () ")")) (argument_list "(local_68)" (( "(") (identifier "local_68") () ")")))) (; ";")) (if_statement "if (0xf < local_70 - 1) {\n    local_70 = 1;\n    local_68 = PTR_LAB_00049218 + 0x6104;\n  }" (if "if") (parenthesized_expression "(0xf < local_70 - 1)" (( "(") (binary_expression "0xf < local_70 - 1" (number_literal "0xf") (< "<") (binary_expression "local_70 - 1" (identifier "local_70") (- "-") (number_literal "1"))) () ")")) (compound_statement "{\n    local_70 = 1;\n    local_68 = PTR_LAB_00049218 + 0x6104;\n  }" ({ "{") (expression_statement "local_70 = 1;" (assignment_expression "local_70 = 1" (identifier "local_70") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_68 = PTR_LAB_00049218 + 0x6104;" (assignment_expression "local_68 = PTR_LAB_00049218 + 0x6104" (identifier "local_68") (= "=") (binary_expression "PTR_LAB_00049218 + 0x6104" (identifier "PTR_LAB_00049218") (+ "+") (number_literal "0x6104"))) (; ";")) (} "}"))) (expression_statement "local_7c = (undefined *)puVar5[1];" (assignment_expression "local_7c = (undefined *)puVar5[1]" (identifier "local_7c") (= "=") (cast_expression "(undefined *)puVar5[1]" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "pbVar17 = (byte *)puVar5[2];" (assignment_expression "pbVar17 = (byte *)puVar5[2]" (identifier "pbVar17") (= "=") (cast_expression "(byte *)puVar5[2]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar5[2]" (identifier "puVar5") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "uVar6 = (*(code *)PTR_strlen_0004953c)();" (assignment_expression "uVar6 = (*(code *)PTR_strlen_0004953c)()" (identifier "uVar6") (= "=") (call_expression "(*(code *)PTR_strlen_0004953c)()" (parenthesized_expression "(*(code *)PTR_strlen_0004953c)" (( "(") (pointer_expression "*(code *)PTR_strlen_0004953c" (* "*") (cast_expression "(code *)PTR_strlen_0004953c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_0004953c"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (0x10 < uVar6) {\n    local_7c = PTR_LAB_00049218 + 0x7ea8;\n  }" (if "if") (parenthesized_expression "(0x10 < uVar6)" (( "(") (binary_expression "0x10 < uVar6" (number_literal "0x10") (< "<") (identifier "uVar6")) () ")")) (compound_statement "{\n    local_7c = PTR_LAB_00049218 + 0x7ea8;\n  }" ({ "{") (expression_statement "local_7c = PTR_LAB_00049218 + 0x7ea8;" (assignment_expression "local_7c = PTR_LAB_00049218 + 0x7ea8" (identifier "local_7c") (= "=") (binary_expression "PTR_LAB_00049218 + 0x7ea8" (identifier "PTR_LAB_00049218") (+ "+") (number_literal "0x7ea8"))) (; ";")) (} "}"))) (expression_statement "local_88 = (char *)(param_3 + 0x287);" (assignment_expression "local_88 = (char *)(param_3 + 0x287)" (identifier "local_88") (= "=") (cast_expression "(char *)(param_3 + 0x287)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x287)" (( "(") (binary_expression "param_3 + 0x287" (identifier "param_3") (+ "+") (number_literal "0x287")) () ")")))) (; ";")) (if_statement "if ((param_5 < param_7) || ((param_7 == param_5 && (param_6 < param_8)))) {\n    if ((param_5 == 0 && param_6 == 0) ||\n       (lVar25 = FUN_000317b0(param_7,param_8,param_5,param_6), lVar25 != 0)) goto LAB_00021ca0;\n    uVar26 = FUN_00031340(param_7,param_8,param_5,param_6);\n    uVar7 = (uint)(uVar26 >> 0x20);\n    uVar12 = (uint)uVar26;\n    uVar28 = FUN_000317b0(param_1,param_2,uVar7,uVar12);\n    iVar13 = (int)((ulonglong)uVar28 >> 0x20);\n    uVar6 = (uint)uVar28;\n    uVar21 = uVar6 * 5 >> 0x1f |\n             ((uint)(uVar6 * 5 < uVar6 * 4) + (uVar6 >> 0x1e | iVar13 << 2) + iVar13) * 2;\n    lVar27 = FUN_000317b0(uVar21,uVar6 * 10,uVar7,uVar12);\n    lVar25 = lVar27 << 1;\n    uVar14 = (uint)((ulonglong)lVar25 >> 0x20);\n    uVar29 = FUN_00031340(param_1,param_2,uVar7,uVar12);\n    FUN_00031340(uVar21,uVar6 * 10,uVar7,uVar12);\n    uVar6 = extraout_v1;\n    if ((uVar14 < uVar7) || ((uVar7 == uVar14 && ((uint)lVar25 < uVar12)))) {\n      uVar7 = (uint)(lVar25 != 0);\n    }\n    else if (uVar26 < (ulonglong)(lVar27 << 1)) {\n      uVar7 = 3;\n    }\n    else {\n      uVar7 = 2;\n    }\nLAB_000223b4:\n    pcVar15 = local_88;\n    if ((param_4 & 0x10) == 0) {\n      iVar13 = -1;\n    }\n    else {\n      iVar13 = 0;\n      if (((int)(uVar29 >> 0x20) != 0) || (uVar16 <= (uint)uVar29)) {\n        iVar13 = 0;\n        do {\n          uVar18 = (undefined4)(uVar29 >> 0x20);\n          FUN_000317b0(uVar18,(int)uVar29,0,uVar16);\n          uVar12 = extraout_v1_00 * 10 + uVar6;\n          if (uVar16 == 0) {\n            trap(7);\n          }\n          uVar6 = uVar12 / uVar16;\n          uVar14 = (uVar12 % uVar16) * 2 + ((int)uVar7 >> 1);\n          uVar29 = FUN_00031340(uVar18,(int)uVar29,0,uVar16);\n          puVar20 = PTR_memcpy_00049600;\n          uVar12 = (uint)uVar29;\n          uVar21 = uVar7 + uVar14;\n          if (uVar14 < uVar16) {\n            uVar7 = (uint)(uVar21 != 0);\n          }\n          else {\n            uVar7 = 2;\n            if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }\n          }\n          iVar13 = iVar13 + 1;\n          if (((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16)) {\n            if (uVar12 < 10) {\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }\n            break;\n          }\n        } while (iVar13 != 8);\n      }\n    }\n    if (uVar4 == 1) {\n      pcVar19 = local_88;\n      if (5 < (int)((((uint)uVar29 & 1) + uVar7 != 0) + uVar6)) goto LAB_000223fc;\nLAB_00022428:\n      do {\n        do {\n          iVar8 = (int)(uVar29 >> 0x20);\n          uVar4 = (uint)uVar29;\n          FUN_000317b0(iVar8,uVar4,0,10);\n          pcVar19 = pcVar19 + -1;\n          *pcVar19 = extraout_v1_01 + '0';\n          uVar29 = FUN_00031340(iVar8,uVar4,0,10);\n        } while (iVar8 != 0);\n      } while (9 < uVar4);\n    }\n    else {\nLAB_000223ec:\n      pcVar19 = pcVar15;\n      if ((uVar4 != 0) || ((int)(uVar6 + uVar7) < 1)) goto LAB_00022428;\nLAB_000223fc:\n      puVar20 = PTR_memcpy_00049600;\n      uVar29 = uVar29 + 1;\n      pcVar19 = pcVar15;\n      if (((param_4 & 0x10) == 0) ||\n         ((((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)) || (iVar13 == 8))))\n      goto LAB_00022428;\n      iVar13 = iVar13 + 1;\n      if ((param_4 & 8) == 0) {\n        pcVar15[-1] = '0';\n        pcVar15 = pcVar15 + ~local_70;\n        (*(code *)puVar20)(pcVar15,local_68);\n      }\n      pcVar19 = pcVar15 + -1;\n      pcVar15[-1] = '1';\n    }\n  }\n  else {\n    lVar25 = FUN_000317b0(param_5,param_6,param_7,param_8);\n    if (lVar25 == 0) {\n      lVar25 = FUN_00031340(param_5,param_6,param_7,param_8);\n      uVar29 = lVar25 * CONCAT44(param_1,param_2);\n      lVar25 = FUN_00031340((int)(uVar29 >> 0x20),(int)uVar29,(int)((ulonglong)lVar25 >> 0x20));\n      if (lVar25 == CONCAT44(param_1,param_2)) {\n        uVar7 = 0;\n        uVar6 = 0;\n        goto LAB_000223b4;\n      }\n    }\nLAB_00021ca0:\n    dVar22 = (double)FUN_000309d0(param_5,param_6);\n    dVar23 = (double)FUN_000309d0(param_7,param_8);\n    dVar22 = dVar22 / dVar23;\n    dVar23 = (double)FUN_000309d0(param_1,param_2);\n    puVar20 = PTR_LAB_00049218;\n    dVar22 = dVar22 * dVar23;\n    if ((param_4 & 0x10) == 0) {\n      dVar23 = dVar22;\n      if (((param_4 & 3) != 1) && (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760))) {\n        uVar28 = FUN_00030930(dVar22);\n        iVar13 = (int)((ulonglong)uVar28 >> 0x20);\n        uVar4 = (uint)uVar28;\n        dVar23 = (double)FUN_000309d0(iVar13,uVar4);\n        if (((param_4 & 3) == 0) && (dVar22 != dVar23)) {\n          dVar23 = (double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13);\n        }\n      }\n      (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23);\n      iVar13 = -1;\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }\n    else {\n      iVar13 = 0;\n      dVar23 = (double)uVar16;\n      do {\n        dVar24 = dVar23;\n        dVar23 = dVar24 * (double)uVar16;\n        iVar13 = iVar13 + 1;\n        if (dVar22 < dVar23) break;\n      } while (iVar13 != 8);\n      dVar22 = dVar22 / dVar24;\n      uVar6 = (uVar10 == 0) + 1 + local_70 + 1;\n      if (uVar4 == 1) {\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        if (uVar7 <= uVar6) goto LAB_0002232c;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        dVar23 = dVar22 * dVar24;\n      }\n      else {\n        dVar23 = dVar22;\n        if (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar22);\n          dVar23 = dVar22;\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar23 != dVar22)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        dVar22 = dVar23;\n        if (uVar6 < uVar7) {\n          dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar23 = dVar22 * dVar24;\n          puVar20 = PTR_LAB_00049218;\n          if (uVar4 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar23 < *(double *)(puVar20 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar23);\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar22 != dVar23)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n          dVar23 = dVar22;\n          dVar24 = *(double *)(puVar2 + 0x6768);\n        }\n      }\nLAB_0002207c:\n      (*(code *)PTR___sprintf_chk_00049454)\n                (param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23 / dVar24);\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }\nLAB_00021d4c:\n    pcVar19 = local_88 + -uVar7;\n    (*(code *)PTR_memmove_00049610)(pcVar19,param_3,uVar7);\n    pcVar15 = pcVar19 + uVar4;\n  }" (if "if") (parenthesized_expression "((param_5 < param_7) || ((param_7 == param_5 && (param_6 < param_8))))" (( "(") (binary_expression "(param_5 < param_7) || ((param_7 == param_5 && (param_6 < param_8)))" (parenthesized_expression "(param_5 < param_7)" (( "(") (binary_expression "param_5 < param_7" (identifier "param_5") (< "<") (identifier "param_7")) () ")")) (|| "||") (parenthesized_expression "((param_7 == param_5 && (param_6 < param_8)))" (( "(") (parenthesized_expression "(param_7 == param_5 && (param_6 < param_8))" (( "(") (binary_expression "param_7 == param_5 && (param_6 < param_8)" (binary_expression "param_7 == param_5" (identifier "param_7") (== "==") (identifier "param_5")) (&& "&&") (parenthesized_expression "(param_6 < param_8)" (( "(") (binary_expression "param_6 < param_8" (identifier "param_6") (< "<") (identifier "param_8")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n    if ((param_5 == 0 && param_6 == 0) ||\n       (lVar25 = FUN_000317b0(param_7,param_8,param_5,param_6), lVar25 != 0)) goto LAB_00021ca0;\n    uVar26 = FUN_00031340(param_7,param_8,param_5,param_6);\n    uVar7 = (uint)(uVar26 >> 0x20);\n    uVar12 = (uint)uVar26;\n    uVar28 = FUN_000317b0(param_1,param_2,uVar7,uVar12);\n    iVar13 = (int)((ulonglong)uVar28 >> 0x20);\n    uVar6 = (uint)uVar28;\n    uVar21 = uVar6 * 5 >> 0x1f |\n             ((uint)(uVar6 * 5 < uVar6 * 4) + (uVar6 >> 0x1e | iVar13 << 2) + iVar13) * 2;\n    lVar27 = FUN_000317b0(uVar21,uVar6 * 10,uVar7,uVar12);\n    lVar25 = lVar27 << 1;\n    uVar14 = (uint)((ulonglong)lVar25 >> 0x20);\n    uVar29 = FUN_00031340(param_1,param_2,uVar7,uVar12);\n    FUN_00031340(uVar21,uVar6 * 10,uVar7,uVar12);\n    uVar6 = extraout_v1;\n    if ((uVar14 < uVar7) || ((uVar7 == uVar14 && ((uint)lVar25 < uVar12)))) {\n      uVar7 = (uint)(lVar25 != 0);\n    }\n    else if (uVar26 < (ulonglong)(lVar27 << 1)) {\n      uVar7 = 3;\n    }\n    else {\n      uVar7 = 2;\n    }\nLAB_000223b4:\n    pcVar15 = local_88;\n    if ((param_4 & 0x10) == 0) {\n      iVar13 = -1;\n    }\n    else {\n      iVar13 = 0;\n      if (((int)(uVar29 >> 0x20) != 0) || (uVar16 <= (uint)uVar29)) {\n        iVar13 = 0;\n        do {\n          uVar18 = (undefined4)(uVar29 >> 0x20);\n          FUN_000317b0(uVar18,(int)uVar29,0,uVar16);\n          uVar12 = extraout_v1_00 * 10 + uVar6;\n          if (uVar16 == 0) {\n            trap(7);\n          }\n          uVar6 = uVar12 / uVar16;\n          uVar14 = (uVar12 % uVar16) * 2 + ((int)uVar7 >> 1);\n          uVar29 = FUN_00031340(uVar18,(int)uVar29,0,uVar16);\n          puVar20 = PTR_memcpy_00049600;\n          uVar12 = (uint)uVar29;\n          uVar21 = uVar7 + uVar14;\n          if (uVar14 < uVar16) {\n            uVar7 = (uint)(uVar21 != 0);\n          }\n          else {\n            uVar7 = 2;\n            if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }\n          }\n          iVar13 = iVar13 + 1;\n          if (((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16)) {\n            if (uVar12 < 10) {\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }\n            break;\n          }\n        } while (iVar13 != 8);\n      }\n    }\n    if (uVar4 == 1) {\n      pcVar19 = local_88;\n      if (5 < (int)((((uint)uVar29 & 1) + uVar7 != 0) + uVar6)) goto LAB_000223fc;\nLAB_00022428:\n      do {\n        do {\n          iVar8 = (int)(uVar29 >> 0x20);\n          uVar4 = (uint)uVar29;\n          FUN_000317b0(iVar8,uVar4,0,10);\n          pcVar19 = pcVar19 + -1;\n          *pcVar19 = extraout_v1_01 + '0';\n          uVar29 = FUN_00031340(iVar8,uVar4,0,10);\n        } while (iVar8 != 0);\n      } while (9 < uVar4);\n    }\n    else {\nLAB_000223ec:\n      pcVar19 = pcVar15;\n      if ((uVar4 != 0) || ((int)(uVar6 + uVar7) < 1)) goto LAB_00022428;\nLAB_000223fc:\n      puVar20 = PTR_memcpy_00049600;\n      uVar29 = uVar29 + 1;\n      pcVar19 = pcVar15;\n      if (((param_4 & 0x10) == 0) ||\n         ((((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)) || (iVar13 == 8))))\n      goto LAB_00022428;\n      iVar13 = iVar13 + 1;\n      if ((param_4 & 8) == 0) {\n        pcVar15[-1] = '0';\n        pcVar15 = pcVar15 + ~local_70;\n        (*(code *)puVar20)(pcVar15,local_68);\n      }\n      pcVar19 = pcVar15 + -1;\n      pcVar15[-1] = '1';\n    }\n  }" ({ "{") (if_statement "if ((param_5 == 0 && param_6 == 0) ||\n       (lVar25 = FUN_000317b0(param_7,param_8,param_5,param_6), lVar25 != 0)) goto LAB_00021ca0;" (if "if") (parenthesized_expression "((param_5 == 0 && param_6 == 0) ||\n       (lVar25 = FUN_000317b0(param_7,param_8,param_5,param_6), lVar25 != 0))" (( "(") (binary_expression "(param_5 == 0 && param_6 == 0) ||\n       (lVar25 = FUN_000317b0(param_7,param_8,param_5,param_6), lVar25 != 0)" (parenthesized_expression "(param_5 == 0 && param_6 == 0)" (( "(") (binary_expression "param_5 == 0 && param_6 == 0" (binary_expression "param_5 == 0" (identifier "param_5") (== "==") (number_literal "0")) (&& "&&") (binary_expression "param_6 == 0" (identifier "param_6") (== "==") (number_literal "0"))) () ")")) (|| "||") (parenthesized_expression "(lVar25 = FUN_000317b0(param_7,param_8,param_5,param_6), lVar25 != 0)" (( "(") (comma_expression "lVar25 = FUN_000317b0(param_7,param_8,param_5,param_6), lVar25 != 0" (assignment_expression "lVar25 = FUN_000317b0(param_7,param_8,param_5,param_6)" (identifier "lVar25") (= "=") (call_expression "FUN_000317b0(param_7,param_8,param_5,param_6)" (identifier "FUN_000317b0") (argument_list "(param_7,param_8,param_5,param_6)" (( "(") (identifier "param_7") (, ",") (identifier "param_8") (, ",") (identifier "param_5") (, ",") (identifier "param_6") () ")")))) (, ",") (binary_expression "lVar25 != 0" (identifier "lVar25") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_00021ca0;" (goto "goto") (statement_identifier "LAB_00021ca0") (; ";"))) (expression_statement "uVar26 = FUN_00031340(param_7,param_8,param_5,param_6);" (assignment_expression "uVar26 = FUN_00031340(param_7,param_8,param_5,param_6)" (identifier "uVar26") (= "=") (call_expression "FUN_00031340(param_7,param_8,param_5,param_6)" (identifier "FUN_00031340") (argument_list "(param_7,param_8,param_5,param_6)" (( "(") (identifier "param_7") (, ",") (identifier "param_8") (, ",") (identifier "param_5") (, ",") (identifier "param_6") () ")")))) (; ";")) (expression_statement "uVar7 = (uint)(uVar26 >> 0x20);" (assignment_expression "uVar7 = (uint)(uVar26 >> 0x20)" (identifier "uVar7") (= "=") (call_expression "(uint)(uVar26 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar26 >> 0x20)" (( "(") (binary_expression "uVar26 >> 0x20" (identifier "uVar26") (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "uVar12 = (uint)uVar26;" (assignment_expression "uVar12 = (uint)uVar26" (identifier "uVar12") (= "=") (cast_expression "(uint)uVar26" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar26"))) (; ";")) (expression_statement "uVar28 = FUN_000317b0(param_1,param_2,uVar7,uVar12);" (assignment_expression "uVar28 = FUN_000317b0(param_1,param_2,uVar7,uVar12)" (identifier "uVar28") (= "=") (call_expression "FUN_000317b0(param_1,param_2,uVar7,uVar12)" (identifier "FUN_000317b0") (argument_list "(param_1,param_2,uVar7,uVar12)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "uVar7") (, ",") (identifier "uVar12") () ")")))) (; ";")) (expression_statement "iVar13 = (int)((ulonglong)uVar28 >> 0x20);" (assignment_expression "iVar13 = (int)((ulonglong)uVar28 >> 0x20)" (identifier "iVar13") (= "=") (cast_expression "(int)((ulonglong)uVar28 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar28 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar28 >> 0x20" (cast_expression "(ulonglong)uVar28" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar28")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "uVar6 = (uint)uVar28;" (assignment_expression "uVar6 = (uint)uVar28" (identifier "uVar6") (= "=") (cast_expression "(uint)uVar28" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar28"))) (; ";")) (expression_statement "uVar21 = uVar6 * 5 >> 0x1f |\n             ((uint)(uVar6 * 5 < uVar6 * 4) + (uVar6 >> 0x1e | iVar13 << 2) + iVar13) * 2;" (assignment_expression "uVar21 = uVar6 * 5 >> 0x1f |\n             ((uint)(uVar6 * 5 < uVar6 * 4) + (uVar6 >> 0x1e | iVar13 << 2) + iVar13) * 2" (identifier "uVar21") (= "=") (binary_expression "uVar6 * 5 >> 0x1f |\n             ((uint)(uVar6 * 5 < uVar6 * 4) + (uVar6 >> 0x1e | iVar13 << 2) + iVar13) * 2" (binary_expression "uVar6 * 5 >> 0x1f" (binary_expression "uVar6 * 5" (identifier "uVar6") (* "*") (number_literal "5")) (>> ">>") (number_literal "0x1f")) (| "|") (binary_expression "((uint)(uVar6 * 5 < uVar6 * 4) + (uVar6 >> 0x1e | iVar13 << 2) + iVar13) * 2" (parenthesized_expression "((uint)(uVar6 * 5 < uVar6 * 4) + (uVar6 >> 0x1e | iVar13 << 2) + iVar13)" (( "(") (binary_expression "(uint)(uVar6 * 5 < uVar6 * 4) + (uVar6 >> 0x1e | iVar13 << 2) + iVar13" (binary_expression "(uint)(uVar6 * 5 < uVar6 * 4) + (uVar6 >> 0x1e | iVar13 << 2)" (call_expression "(uint)(uVar6 * 5 < uVar6 * 4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar6 * 5 < uVar6 * 4)" (( "(") (binary_expression "uVar6 * 5 < uVar6 * 4" (binary_expression "uVar6 * 5" (identifier "uVar6") (* "*") (number_literal "5")) (< "<") (binary_expression "uVar6 * 4" (identifier "uVar6") (* "*") (number_literal "4"))) () ")"))) (+ "+") (parenthesized_expression "(uVar6 >> 0x1e | iVar13 << 2)" (( "(") (binary_expression "uVar6 >> 0x1e | iVar13 << 2" (binary_expression "uVar6 >> 0x1e" (identifier "uVar6") (>> ">>") (number_literal "0x1e")) (| "|") (binary_expression "iVar13 << 2" (identifier "iVar13") (<< "<<") (number_literal "2"))) () ")"))) (+ "+") (identifier "iVar13")) () ")")) (* "*") (number_literal "2")))) (; ";")) (expression_statement "lVar27 = FUN_000317b0(uVar21,uVar6 * 10,uVar7,uVar12);" (assignment_expression "lVar27 = FUN_000317b0(uVar21,uVar6 * 10,uVar7,uVar12)" (identifier "lVar27") (= "=") (call_expression "FUN_000317b0(uVar21,uVar6 * 10,uVar7,uVar12)" (identifier "FUN_000317b0") (argument_list "(uVar21,uVar6 * 10,uVar7,uVar12)" (( "(") (identifier "uVar21") (, ",") (binary_expression "uVar6 * 10" (identifier "uVar6") (* "*") (number_literal "10")) (, ",") (identifier "uVar7") (, ",") (identifier "uVar12") () ")")))) (; ";")) (expression_statement "lVar25 = lVar27 << 1;" (assignment_expression "lVar25 = lVar27 << 1" (identifier "lVar25") (= "=") (binary_expression "lVar27 << 1" (identifier "lVar27") (<< "<<") (number_literal "1"))) (; ";")) (expression_statement "uVar14 = (uint)((ulonglong)lVar25 >> 0x20);" (assignment_expression "uVar14 = (uint)((ulonglong)lVar25 >> 0x20)" (identifier "uVar14") (= "=") (call_expression "(uint)((ulonglong)lVar25 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)lVar25 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar25 >> 0x20" (cast_expression "(ulonglong)lVar25" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar25")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "uVar29 = FUN_00031340(param_1,param_2,uVar7,uVar12);" (assignment_expression "uVar29 = FUN_00031340(param_1,param_2,uVar7,uVar12)" (identifier "uVar29") (= "=") (call_expression "FUN_00031340(param_1,param_2,uVar7,uVar12)" (identifier "FUN_00031340") (argument_list "(param_1,param_2,uVar7,uVar12)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "uVar7") (, ",") (identifier "uVar12") () ")")))) (; ";")) (expression_statement "FUN_00031340(uVar21,uVar6 * 10,uVar7,uVar12);" (call_expression "FUN_00031340(uVar21,uVar6 * 10,uVar7,uVar12)" (identifier "FUN_00031340") (argument_list "(uVar21,uVar6 * 10,uVar7,uVar12)" (( "(") (identifier "uVar21") (, ",") (binary_expression "uVar6 * 10" (identifier "uVar6") (* "*") (number_literal "10")) (, ",") (identifier "uVar7") (, ",") (identifier "uVar12") () ")"))) (; ";")) (expression_statement "uVar6 = extraout_v1;" (assignment_expression "uVar6 = extraout_v1" (identifier "uVar6") (= "=") (identifier "extraout_v1")) (; ";")) (if_statement "if ((uVar14 < uVar7) || ((uVar7 == uVar14 && ((uint)lVar25 < uVar12)))) {\n      uVar7 = (uint)(lVar25 != 0);\n    }\n    else if (uVar26 < (ulonglong)(lVar27 << 1)) {\n      uVar7 = 3;\n    }\n    else {\n      uVar7 = 2;\n    }" (if "if") (parenthesized_expression "((uVar14 < uVar7) || ((uVar7 == uVar14 && ((uint)lVar25 < uVar12))))" (( "(") (binary_expression "(uVar14 < uVar7) || ((uVar7 == uVar14 && ((uint)lVar25 < uVar12)))" (parenthesized_expression "(uVar14 < uVar7)" (( "(") (binary_expression "uVar14 < uVar7" (identifier "uVar14") (< "<") (identifier "uVar7")) () ")")) (|| "||") (parenthesized_expression "((uVar7 == uVar14 && ((uint)lVar25 < uVar12)))" (( "(") (parenthesized_expression "(uVar7 == uVar14 && ((uint)lVar25 < uVar12))" (( "(") (binary_expression "uVar7 == uVar14 && ((uint)lVar25 < uVar12)" (binary_expression "uVar7 == uVar14" (identifier "uVar7") (== "==") (identifier "uVar14")) (&& "&&") (parenthesized_expression "((uint)lVar25 < uVar12)" (( "(") (binary_expression "(uint)lVar25 < uVar12" (cast_expression "(uint)lVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "lVar25")) (< "<") (identifier "uVar12")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n      uVar7 = (uint)(lVar25 != 0);\n    }" ({ "{") (expression_statement "uVar7 = (uint)(lVar25 != 0);" (assignment_expression "uVar7 = (uint)(lVar25 != 0)" (identifier "uVar7") (= "=") (call_expression "(uint)(lVar25 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(lVar25 != 0)" (( "(") (binary_expression "lVar25 != 0" (identifier "lVar25") (!= "!=") (number_literal "0")) () ")")))) (; ";")) (} "}")) (else_clause "else if (uVar26 < (ulonglong)(lVar27 << 1)) {\n      uVar7 = 3;\n    }\n    else {\n      uVar7 = 2;\n    }" (else "else") (if_statement "if (uVar26 < (ulonglong)(lVar27 << 1)) {\n      uVar7 = 3;\n    }\n    else {\n      uVar7 = 2;\n    }" (if "if") (parenthesized_expression "(uVar26 < (ulonglong)(lVar27 << 1))" (( "(") (binary_expression "uVar26 < (ulonglong)(lVar27 << 1)" (identifier "uVar26") (< "<") (call_expression "(ulonglong)(lVar27 << 1)" (parenthesized_expression "(ulonglong)" (( "(") (identifier "ulonglong") () ")")) (argument_list "(lVar27 << 1)" (( "(") (binary_expression "lVar27 << 1" (identifier "lVar27") (<< "<<") (number_literal "1")) () ")")))) () ")")) (compound_statement "{\n      uVar7 = 3;\n    }" ({ "{") (expression_statement "uVar7 = 3;" (assignment_expression "uVar7 = 3" (identifier "uVar7") (= "=") (number_literal "3")) (; ";")) (} "}")) (else_clause "else {\n      uVar7 = 2;\n    }" (else "else") (compound_statement "{\n      uVar7 = 2;\n    }" ({ "{") (expression_statement "uVar7 = 2;" (assignment_expression "uVar7 = 2" (identifier "uVar7") (= "=") (number_literal "2")) (; ";")) (} "}")))))) (labeled_statement "LAB_000223b4:\n    pcVar15 = local_88;" (statement_identifier "LAB_000223b4") (: ":") (expression_statement "pcVar15 = local_88;" (assignment_expression "pcVar15 = local_88" (identifier "pcVar15") (= "=") (identifier "local_88")) (; ";"))) (if_statement "if ((param_4 & 0x10) == 0) {\n      iVar13 = -1;\n    }\n    else {\n      iVar13 = 0;\n      if (((int)(uVar29 >> 0x20) != 0) || (uVar16 <= (uint)uVar29)) {\n        iVar13 = 0;\n        do {\n          uVar18 = (undefined4)(uVar29 >> 0x20);\n          FUN_000317b0(uVar18,(int)uVar29,0,uVar16);\n          uVar12 = extraout_v1_00 * 10 + uVar6;\n          if (uVar16 == 0) {\n            trap(7);\n          }\n          uVar6 = uVar12 / uVar16;\n          uVar14 = (uVar12 % uVar16) * 2 + ((int)uVar7 >> 1);\n          uVar29 = FUN_00031340(uVar18,(int)uVar29,0,uVar16);\n          puVar20 = PTR_memcpy_00049600;\n          uVar12 = (uint)uVar29;\n          uVar21 = uVar7 + uVar14;\n          if (uVar14 < uVar16) {\n            uVar7 = (uint)(uVar21 != 0);\n          }\n          else {\n            uVar7 = 2;\n            if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }\n          }\n          iVar13 = iVar13 + 1;\n          if (((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16)) {\n            if (uVar12 < 10) {\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }\n            break;\n          }\n        } while (iVar13 != 8);\n      }\n    }" (if "if") (parenthesized_expression "((param_4 & 0x10) == 0)" (( "(") (binary_expression "(param_4 & 0x10) == 0" (parenthesized_expression "(param_4 & 0x10)" (( "(") (binary_expression "param_4 & 0x10" (identifier "param_4") (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar13 = -1;\n    }" ({ "{") (expression_statement "iVar13 = -1;" (assignment_expression "iVar13 = -1" (identifier "iVar13") (= "=") (number_literal "-1")) (; ";")) (} "}")) (else_clause "else {\n      iVar13 = 0;\n      if (((int)(uVar29 >> 0x20) != 0) || (uVar16 <= (uint)uVar29)) {\n        iVar13 = 0;\n        do {\n          uVar18 = (undefined4)(uVar29 >> 0x20);\n          FUN_000317b0(uVar18,(int)uVar29,0,uVar16);\n          uVar12 = extraout_v1_00 * 10 + uVar6;\n          if (uVar16 == 0) {\n            trap(7);\n          }\n          uVar6 = uVar12 / uVar16;\n          uVar14 = (uVar12 % uVar16) * 2 + ((int)uVar7 >> 1);\n          uVar29 = FUN_00031340(uVar18,(int)uVar29,0,uVar16);\n          puVar20 = PTR_memcpy_00049600;\n          uVar12 = (uint)uVar29;\n          uVar21 = uVar7 + uVar14;\n          if (uVar14 < uVar16) {\n            uVar7 = (uint)(uVar21 != 0);\n          }\n          else {\n            uVar7 = 2;\n            if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }\n          }\n          iVar13 = iVar13 + 1;\n          if (((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16)) {\n            if (uVar12 < 10) {\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }\n            break;\n          }\n        } while (iVar13 != 8);\n      }\n    }" (else "else") (compound_statement "{\n      iVar13 = 0;\n      if (((int)(uVar29 >> 0x20) != 0) || (uVar16 <= (uint)uVar29)) {\n        iVar13 = 0;\n        do {\n          uVar18 = (undefined4)(uVar29 >> 0x20);\n          FUN_000317b0(uVar18,(int)uVar29,0,uVar16);\n          uVar12 = extraout_v1_00 * 10 + uVar6;\n          if (uVar16 == 0) {\n            trap(7);\n          }\n          uVar6 = uVar12 / uVar16;\n          uVar14 = (uVar12 % uVar16) * 2 + ((int)uVar7 >> 1);\n          uVar29 = FUN_00031340(uVar18,(int)uVar29,0,uVar16);\n          puVar20 = PTR_memcpy_00049600;\n          uVar12 = (uint)uVar29;\n          uVar21 = uVar7 + uVar14;\n          if (uVar14 < uVar16) {\n            uVar7 = (uint)(uVar21 != 0);\n          }\n          else {\n            uVar7 = 2;\n            if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }\n          }\n          iVar13 = iVar13 + 1;\n          if (((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16)) {\n            if (uVar12 < 10) {\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }\n            break;\n          }\n        } while (iVar13 != 8);\n      }\n    }" ({ "{") (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" (identifier "iVar13") (= "=") (number_literal "0")) (; ";")) (if_statement "if (((int)(uVar29 >> 0x20) != 0) || (uVar16 <= (uint)uVar29)) {\n        iVar13 = 0;\n        do {\n          uVar18 = (undefined4)(uVar29 >> 0x20);\n          FUN_000317b0(uVar18,(int)uVar29,0,uVar16);\n          uVar12 = extraout_v1_00 * 10 + uVar6;\n          if (uVar16 == 0) {\n            trap(7);\n          }\n          uVar6 = uVar12 / uVar16;\n          uVar14 = (uVar12 % uVar16) * 2 + ((int)uVar7 >> 1);\n          uVar29 = FUN_00031340(uVar18,(int)uVar29,0,uVar16);\n          puVar20 = PTR_memcpy_00049600;\n          uVar12 = (uint)uVar29;\n          uVar21 = uVar7 + uVar14;\n          if (uVar14 < uVar16) {\n            uVar7 = (uint)(uVar21 != 0);\n          }\n          else {\n            uVar7 = 2;\n            if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }\n          }\n          iVar13 = iVar13 + 1;\n          if (((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16)) {\n            if (uVar12 < 10) {\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }\n            break;\n          }\n        } while (iVar13 != 8);\n      }" (if "if") (parenthesized_expression "(((int)(uVar29 >> 0x20) != 0) || (uVar16 <= (uint)uVar29))" (( "(") (binary_expression "((int)(uVar29 >> 0x20) != 0) || (uVar16 <= (uint)uVar29)" (parenthesized_expression "((int)(uVar29 >> 0x20) != 0)" (( "(") (binary_expression "(int)(uVar29 >> 0x20) != 0" (cast_expression "(int)(uVar29 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uVar29 >> 0x20)" (( "(") (binary_expression "uVar29 >> 0x20" (identifier "uVar29") (>> ">>") (number_literal "0x20")) () ")"))) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(uVar16 <= (uint)uVar29)" (( "(") (binary_expression "uVar16 <= (uint)uVar29" (identifier "uVar16") (<= "<=") (cast_expression "(uint)uVar29" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar29"))) () ")"))) () ")")) (compound_statement "{\n        iVar13 = 0;\n        do {\n          uVar18 = (undefined4)(uVar29 >> 0x20);\n          FUN_000317b0(uVar18,(int)uVar29,0,uVar16);\n          uVar12 = extraout_v1_00 * 10 + uVar6;\n          if (uVar16 == 0) {\n            trap(7);\n          }\n          uVar6 = uVar12 / uVar16;\n          uVar14 = (uVar12 % uVar16) * 2 + ((int)uVar7 >> 1);\n          uVar29 = FUN_00031340(uVar18,(int)uVar29,0,uVar16);\n          puVar20 = PTR_memcpy_00049600;\n          uVar12 = (uint)uVar29;\n          uVar21 = uVar7 + uVar14;\n          if (uVar14 < uVar16) {\n            uVar7 = (uint)(uVar21 != 0);\n          }\n          else {\n            uVar7 = 2;\n            if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }\n          }\n          iVar13 = iVar13 + 1;\n          if (((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16)) {\n            if (uVar12 < 10) {\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }\n            break;\n          }\n        } while (iVar13 != 8);\n      }" ({ "{") (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" (identifier "iVar13") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n          uVar18 = (undefined4)(uVar29 >> 0x20);\n          FUN_000317b0(uVar18,(int)uVar29,0,uVar16);\n          uVar12 = extraout_v1_00 * 10 + uVar6;\n          if (uVar16 == 0) {\n            trap(7);\n          }\n          uVar6 = uVar12 / uVar16;\n          uVar14 = (uVar12 % uVar16) * 2 + ((int)uVar7 >> 1);\n          uVar29 = FUN_00031340(uVar18,(int)uVar29,0,uVar16);\n          puVar20 = PTR_memcpy_00049600;\n          uVar12 = (uint)uVar29;\n          uVar21 = uVar7 + uVar14;\n          if (uVar14 < uVar16) {\n            uVar7 = (uint)(uVar21 != 0);\n          }\n          else {\n            uVar7 = 2;\n            if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }\n          }\n          iVar13 = iVar13 + 1;\n          if (((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16)) {\n            if (uVar12 < 10) {\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }\n            break;\n          }\n        } while (iVar13 != 8);" (do "do") (compound_statement "{\n          uVar18 = (undefined4)(uVar29 >> 0x20);\n          FUN_000317b0(uVar18,(int)uVar29,0,uVar16);\n          uVar12 = extraout_v1_00 * 10 + uVar6;\n          if (uVar16 == 0) {\n            trap(7);\n          }\n          uVar6 = uVar12 / uVar16;\n          uVar14 = (uVar12 % uVar16) * 2 + ((int)uVar7 >> 1);\n          uVar29 = FUN_00031340(uVar18,(int)uVar29,0,uVar16);\n          puVar20 = PTR_memcpy_00049600;\n          uVar12 = (uint)uVar29;\n          uVar21 = uVar7 + uVar14;\n          if (uVar14 < uVar16) {\n            uVar7 = (uint)(uVar21 != 0);\n          }\n          else {\n            uVar7 = 2;\n            if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }\n          }\n          iVar13 = iVar13 + 1;\n          if (((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16)) {\n            if (uVar12 < 10) {\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }\n            break;\n          }\n        }" ({ "{") (expression_statement "uVar18 = (undefined4)(uVar29 >> 0x20);" (assignment_expression "uVar18 = (undefined4)(uVar29 >> 0x20)" (identifier "uVar18") (= "=") (call_expression "(undefined4)(uVar29 >> 0x20)" (parenthesized_expression "(undefined4)" (( "(") (identifier "undefined4") () ")")) (argument_list "(uVar29 >> 0x20)" (( "(") (binary_expression "uVar29 >> 0x20" (identifier "uVar29") (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "FUN_000317b0(uVar18,(int)uVar29,0,uVar16);" (call_expression "FUN_000317b0(uVar18,(int)uVar29,0,uVar16)" (identifier "FUN_000317b0") (argument_list "(uVar18,(int)uVar29,0,uVar16)" (( "(") (identifier "uVar18") (, ",") (cast_expression "(int)uVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar29")) (, ",") (number_literal "0") (, ",") (identifier "uVar16") () ")"))) (; ";")) (expression_statement "uVar12 = extraout_v1_00 * 10 + uVar6;" (assignment_expression "uVar12 = extraout_v1_00 * 10 + uVar6" (identifier "uVar12") (= "=") (binary_expression "extraout_v1_00 * 10 + uVar6" (binary_expression "extraout_v1_00 * 10" (identifier "extraout_v1_00") (* "*") (number_literal "10")) (+ "+") (identifier "uVar6"))) (; ";")) (if_statement "if (uVar16 == 0) {\n            trap(7);\n          }" (if "if") (parenthesized_expression "(uVar16 == 0)" (( "(") (binary_expression "uVar16 == 0" (identifier "uVar16") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            trap(7);\n          }" ({ "{") (expression_statement "trap(7);" (call_expression "trap(7)" (identifier "trap") (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar6 = uVar12 / uVar16;" (assignment_expression "uVar6 = uVar12 / uVar16" (identifier "uVar6") (= "=") (binary_expression "uVar12 / uVar16" (identifier "uVar12") (/ "/") (identifier "uVar16"))) (; ";")) (expression_statement "uVar14 = (uVar12 % uVar16) * 2 + ((int)uVar7 >> 1);" (assignment_expression "uVar14 = (uVar12 % uVar16) * 2 + ((int)uVar7 >> 1)" (identifier "uVar14") (= "=") (binary_expression "(uVar12 % uVar16) * 2 + ((int)uVar7 >> 1)" (binary_expression "(uVar12 % uVar16) * 2" (parenthesized_expression "(uVar12 % uVar16)" (( "(") (binary_expression "uVar12 % uVar16" (identifier "uVar12") (% "%") (identifier "uVar16")) () ")")) (* "*") (number_literal "2")) (+ "+") (parenthesized_expression "((int)uVar7 >> 1)" (( "(") (binary_expression "(int)uVar7 >> 1" (cast_expression "(int)uVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar7")) (>> ">>") (number_literal "1")) () ")")))) (; ";")) (expression_statement "uVar29 = FUN_00031340(uVar18,(int)uVar29,0,uVar16);" (assignment_expression "uVar29 = FUN_00031340(uVar18,(int)uVar29,0,uVar16)" (identifier "uVar29") (= "=") (call_expression "FUN_00031340(uVar18,(int)uVar29,0,uVar16)" (identifier "FUN_00031340") (argument_list "(uVar18,(int)uVar29,0,uVar16)" (( "(") (identifier "uVar18") (, ",") (cast_expression "(int)uVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar29")) (, ",") (number_literal "0") (, ",") (identifier "uVar16") () ")")))) (; ";")) (expression_statement "puVar20 = PTR_memcpy_00049600;" (assignment_expression "puVar20 = PTR_memcpy_00049600" (identifier "puVar20") (= "=") (identifier "PTR_memcpy_00049600")) (; ";")) (expression_statement "uVar12 = (uint)uVar29;" (assignment_expression "uVar12 = (uint)uVar29" (identifier "uVar12") (= "=") (cast_expression "(uint)uVar29" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar29"))) (; ";")) (expression_statement "uVar21 = uVar7 + uVar14;" (assignment_expression "uVar21 = uVar7 + uVar14" (identifier "uVar21") (= "=") (binary_expression "uVar7 + uVar14" (identifier "uVar7") (+ "+") (identifier "uVar14"))) (; ";")) (if_statement "if (uVar14 < uVar16) {\n            uVar7 = (uint)(uVar21 != 0);\n          }\n          else {\n            uVar7 = 2;\n            if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }\n          }" (if "if") (parenthesized_expression "(uVar14 < uVar16)" (( "(") (binary_expression "uVar14 < uVar16" (identifier "uVar14") (< "<") (identifier "uVar16")) () ")")) (compound_statement "{\n            uVar7 = (uint)(uVar21 != 0);\n          }" ({ "{") (expression_statement "uVar7 = (uint)(uVar21 != 0);" (assignment_expression "uVar7 = (uint)(uVar21 != 0)" (identifier "uVar7") (= "=") (call_expression "(uint)(uVar21 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar21 != 0)" (( "(") (binary_expression "uVar21 != 0" (identifier "uVar21") (!= "!=") (number_literal "0")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n            uVar7 = 2;\n            if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }\n          }" (else "else") (compound_statement "{\n            uVar7 = 2;\n            if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }\n          }" ({ "{") (expression_statement "uVar7 = 2;" (assignment_expression "uVar7 = 2" (identifier "uVar7") (= "=") (number_literal "2")) (; ";")) (if_statement "if (uVar16 < uVar21) {\n              uVar7 = 3;\n            }" (if "if") (parenthesized_expression "(uVar16 < uVar21)" (( "(") (binary_expression "uVar16 < uVar21" (identifier "uVar16") (< "<") (identifier "uVar21")) () ")")) (compound_statement "{\n              uVar7 = 3;\n            }" ({ "{") (expression_statement "uVar7 = 3;" (assignment_expression "uVar7 = 3" (identifier "uVar7") (= "=") (number_literal "3")) (; ";")) (} "}"))) (} "}")))) (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" (identifier "iVar13") (= "=") (binary_expression "iVar13 + 1" (identifier "iVar13") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16)) {\n            if (uVar12 < 10) {\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }\n            break;\n          }" (if "if") (parenthesized_expression "(((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16))" (( "(") (binary_expression "((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16)" (parenthesized_expression "((int)(uVar29 >> 0x20) == 0)" (( "(") (binary_expression "(int)(uVar29 >> 0x20) == 0" (cast_expression "(int)(uVar29 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uVar29 >> 0x20)" (( "(") (binary_expression "uVar29 >> 0x20" (identifier "uVar29") (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(uVar12 < uVar16)" (( "(") (binary_expression "uVar12 < uVar16" (identifier "uVar12") (< "<") (identifier "uVar16")) () ")"))) () ")")) (compound_statement "{\n            if (uVar12 < 10) {\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }\n            break;\n          }" ({ "{") (if_statement "if (uVar12 < 10) {\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }" (if "if") (parenthesized_expression "(uVar12 < 10)" (( "(") (binary_expression "uVar12 < 10" (identifier "uVar12") (< "<") (number_literal "10")) () ")")) (compound_statement "{\n              if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }\nLAB_000226d4:\n              uVar6 = 0;\n              pcVar19 = pcVar15;\n              if (uVar4 == 1) goto LAB_00022428;\n              goto LAB_000223ec;\n            }" ({ "{") (if_statement "if (uVar4 == 1) {\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }\n              else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }" (if "if") (parenthesized_expression "(uVar4 == 1)" (( "(") (binary_expression "uVar4 == 1" (identifier "uVar4") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n                bVar1 = 2 < (uVar6 & 1) + uVar7;\nLAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;\n                uVar14 = uVar12 + 1;\n                if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }\n                cVar9 = (char)uVar6 + '1';\nLAB_000226a4:\n                uVar7 = 0;\n                *(char *)(param_3 + 0x286) = cVar9;\n                pcVar15 = (char *)((param_3 + 0x286) - local_70);\n                (*(code *)puVar20)(pcVar15,local_68,local_70);\n              }" ({ "{") (expression_statement "bVar1 = 2 < (uVar6 & 1) + uVar7;" (assignment_expression "bVar1 = 2 < (uVar6 & 1) + uVar7" (identifier "bVar1") (= "=") (binary_expression "2 < (uVar6 & 1) + uVar7" (number_literal "2") (< "<") (binary_expression "(uVar6 & 1) + uVar7" (parenthesized_expression "(uVar6 & 1)" (( "(") (binary_expression "uVar6 & 1" (identifier "uVar6") (& "&") (number_literal "1")) () ")")) (+ "+") (identifier "uVar7")))) (; ";")) (labeled_statement "LAB_000226fc:\n                if (!bVar1) goto LAB_0002268c;" (statement_identifier "LAB_000226fc") (: ":") (if_statement "if (!bVar1) goto LAB_0002268c;" (if "if") (parenthesized_expression "(!bVar1)" (( "(") (unary_expression "!bVar1" (! "!") (identifier "bVar1")) () ")")) (goto_statement "goto LAB_0002268c;" (goto "goto") (statement_identifier "LAB_0002268c") (; ";")))) (expression_statement "uVar14 = uVar12 + 1;" (assignment_expression "uVar14 = uVar12 + 1" (identifier "uVar14") (= "=") (binary_expression "uVar12 + 1" (identifier "uVar12") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (uVar6 == 9) {\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }" (if "if") (parenthesized_expression "(uVar6 == 9)" (( "(") (binary_expression "uVar6 == 9" (identifier "uVar6") (== "==") (number_literal "9")) () ")")) (compound_statement "{\n                  bVar1 = uVar14 < uVar12;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }\n                  uVar7 = 0;\n                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);\n                  goto LAB_000226d4;\n                }" ({ "{") (expression_statement "bVar1 = uVar14 < uVar12;" (assignment_expression "bVar1 = uVar14 < uVar12" (identifier "bVar1") (= "=") (binary_expression "uVar14 < uVar12" (identifier "uVar14") (< "<") (identifier "uVar12"))) (; ";")) (expression_statement "uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);" (assignment_expression "uVar29 = (ulonglong)CONCAT14(bVar1,uVar14)" (identifier "uVar29") (= "=") (cast_expression "(ulonglong)CONCAT14(bVar1,uVar14)" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (call_expression "CONCAT14(bVar1,uVar14)" (identifier "CONCAT14") (argument_list "(bVar1,uVar14)" (( "(") (identifier "bVar1") (, ",") (identifier "uVar14") () ")"))))) (; ";")) (if_statement "if ((bVar1) || (uVar14 != 10)) {\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }" (if "if") (parenthesized_expression "((bVar1) || (uVar14 != 10))" (( "(") (binary_expression "(bVar1) || (uVar14 != 10)" (parenthesized_expression "(bVar1)" (( "(") (identifier "bVar1") () ")")) (|| "||") (parenthesized_expression "(uVar14 != 10)" (( "(") (binary_expression "uVar14 != 10" (identifier "uVar14") (!= "!=") (number_literal "10")) () ")"))) () ")")) (compound_statement "{\n                    uVar7 = 0;\n                    goto LAB_00022694;\n                  }" ({ "{") (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" (identifier "uVar7") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_00022694;" (goto "goto") (statement_identifier "LAB_00022694") (; ";")) (} "}"))) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" (identifier "uVar7") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);" (assignment_expression "uVar29 = (ulonglong)CONCAT14(bVar1,uVar14)" (identifier "uVar29") (= "=") (cast_expression "(ulonglong)CONCAT14(bVar1,uVar14)" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (call_expression "CONCAT14(bVar1,uVar14)" (identifier "CONCAT14") (argument_list "(bVar1,uVar14)" (( "(") (identifier "bVar1") (, ",") (identifier "uVar14") () ")"))))) (; ";")) (goto_statement "goto LAB_000226d4;" (goto "goto") (statement_identifier "LAB_000226d4") (; ";")) (} "}"))) (expression_statement "cVar9 = (char)uVar6 + '1';" (assignment_expression "cVar9 = (char)uVar6 + '1'" (identifier "cVar9") (= "=") (binary_expression "(char)uVar6 + '1'" (cast_expression "(char)uVar6" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar6")) (+ "+") (char_literal "'1'" (' "'") (character "1") (' "'")))) (; ";")) (labeled_statement "LAB_000226a4:\n                uVar7 = 0;" (statement_identifier "LAB_000226a4") (: ":") (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" (identifier "uVar7") (= "=") (number_literal "0")) (; ";"))) (expression_statement "*(char *)(param_3 + 0x286) = cVar9;" (assignment_expression "*(char *)(param_3 + 0x286) = cVar9" (pointer_expression "*(char *)(param_3 + 0x286)" (* "*") (cast_expression "(char *)(param_3 + 0x286)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x286)" (( "(") (binary_expression "param_3 + 0x286" (identifier "param_3") (+ "+") (number_literal "0x286")) () ")")))) (= "=") (identifier "cVar9")) (; ";")) (expression_statement "pcVar15 = (char *)((param_3 + 0x286) - local_70);" (assignment_expression "pcVar15 = (char *)((param_3 + 0x286) - local_70)" (identifier "pcVar15") (= "=") (cast_expression "(char *)((param_3 + 0x286) - local_70)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((param_3 + 0x286) - local_70)" (( "(") (binary_expression "(param_3 + 0x286) - local_70" (parenthesized_expression "(param_3 + 0x286)" (( "(") (binary_expression "param_3 + 0x286" (identifier "param_3") (+ "+") (number_literal "0x286")) () ")")) (- "-") (identifier "local_70")) () ")")))) (; ";")) (expression_statement "(*(code *)puVar20)(pcVar15,local_68,local_70);" (call_expression "(*(code *)puVar20)(pcVar15,local_68,local_70)" (parenthesized_expression "(*(code *)puVar20)" (( "(") (pointer_expression "*(code *)puVar20" (* "*") (cast_expression "(code *)puVar20" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar20"))) () ")")) (argument_list "(pcVar15,local_68,local_70)" (( "(") (identifier "pcVar15") (, ",") (identifier "local_68") (, ",") (identifier "local_70") () ")"))) (; ";")) (} "}")) (else_clause "else {\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }" (else "else") (compound_statement "{\n                bVar1 = uVar7 != 0;\n                if (uVar4 == 0) goto LAB_000226fc;\nLAB_0002268c:\n                cVar9 = (char)uVar6 + '0';\n                if (uVar6 != 0) goto LAB_000226a4;\nLAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }\n              }" ({ "{") (expression_statement "bVar1 = uVar7 != 0;" (assignment_expression "bVar1 = uVar7 != 0" (identifier "bVar1") (= "=") (binary_expression "uVar7 != 0" (identifier "uVar7") (!= "!=") (number_literal "0"))) (; ";")) (if_statement "if (uVar4 == 0) goto LAB_000226fc;" (if "if") (parenthesized_expression "(uVar4 == 0)" (( "(") (binary_expression "uVar4 == 0" (identifier "uVar4") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000226fc;" (goto "goto") (statement_identifier "LAB_000226fc") (; ";"))) (labeled_statement "LAB_0002268c:\n                cVar9 = (char)uVar6 + '0';" (statement_identifier "LAB_0002268c") (: ":") (expression_statement "cVar9 = (char)uVar6 + '0';" (assignment_expression "cVar9 = (char)uVar6 + '0'" (identifier "cVar9") (= "=") (binary_expression "(char)uVar6 + '0'" (cast_expression "(char)uVar6" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar6")) (+ "+") (char_literal "'0'" (' "'") (character "0") (' "'")))) (; ";"))) (if_statement "if (uVar6 != 0) goto LAB_000226a4;" (if "if") (parenthesized_expression "(uVar6 != 0)" (( "(") (binary_expression "uVar6 != 0" (identifier "uVar6") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000226a4;" (goto "goto") (statement_identifier "LAB_000226a4") (; ";"))) (labeled_statement "LAB_00022694:\n                if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }" (statement_identifier "LAB_00022694") (: ":") (if_statement "if ((param_4 & 8) == 0) {\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }" (if "if") (parenthesized_expression "((param_4 & 8) == 0)" (( "(") (binary_expression "(param_4 & 8) == 0" (parenthesized_expression "(param_4 & 8)" (( "(") (binary_expression "param_4 & 8" (identifier "param_4") (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  cVar9 = '0';\n                  goto LAB_000226a4;\n                }" ({ "{") (expression_statement "cVar9 = '0';" (assignment_expression "cVar9 = '0'" (identifier "cVar9") (= "=") (char_literal "'0'" (' "'") (character "0") (' "'"))) (; ";")) (goto_statement "goto LAB_000226a4;" (goto "goto") (statement_identifier "LAB_000226a4") (; ";")) (} "}")))) (} "}")))) (labeled_statement "LAB_000226d4:\n              uVar6 = 0;" (statement_identifier "LAB_000226d4") (: ":") (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" (identifier "uVar6") (= "=") (number_literal "0")) (; ";"))) (expression_statement "pcVar19 = pcVar15;" (assignment_expression "pcVar19 = pcVar15" (identifier "pcVar19") (= "=") (identifier "pcVar15")) (; ";")) (if_statement "if (uVar4 == 1) goto LAB_00022428;" (if "if") (parenthesized_expression "(uVar4 == 1)" (( "(") (binary_expression "uVar4 == 1" (identifier "uVar4") (== "==") (number_literal "1")) () ")")) (goto_statement "goto LAB_00022428;" (goto "goto") (statement_identifier "LAB_00022428") (; ";"))) (goto_statement "goto LAB_000223ec;" (goto "goto") (statement_identifier "LAB_000223ec") (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (} "}")) (while "while") (parenthesized_expression "(iVar13 != 8)" (( "(") (binary_expression "iVar13 != 8" (identifier "iVar13") (!= "!=") (number_literal "8")) () ")")) (; ";")) (} "}"))) (} "}")))) (if_statement "if (uVar4 == 1) {\n      pcVar19 = local_88;\n      if (5 < (int)((((uint)uVar29 & 1) + uVar7 != 0) + uVar6)) goto LAB_000223fc;\nLAB_00022428:\n      do {\n        do {\n          iVar8 = (int)(uVar29 >> 0x20);\n          uVar4 = (uint)uVar29;\n          FUN_000317b0(iVar8,uVar4,0,10);\n          pcVar19 = pcVar19 + -1;\n          *pcVar19 = extraout_v1_01 + '0';\n          uVar29 = FUN_00031340(iVar8,uVar4,0,10);\n        } while (iVar8 != 0);\n      } while (9 < uVar4);\n    }\n    else {\nLAB_000223ec:\n      pcVar19 = pcVar15;\n      if ((uVar4 != 0) || ((int)(uVar6 + uVar7) < 1)) goto LAB_00022428;\nLAB_000223fc:\n      puVar20 = PTR_memcpy_00049600;\n      uVar29 = uVar29 + 1;\n      pcVar19 = pcVar15;\n      if (((param_4 & 0x10) == 0) ||\n         ((((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)) || (iVar13 == 8))))\n      goto LAB_00022428;\n      iVar13 = iVar13 + 1;\n      if ((param_4 & 8) == 0) {\n        pcVar15[-1] = '0';\n        pcVar15 = pcVar15 + ~local_70;\n        (*(code *)puVar20)(pcVar15,local_68);\n      }\n      pcVar19 = pcVar15 + -1;\n      pcVar15[-1] = '1';\n    }" (if "if") (parenthesized_expression "(uVar4 == 1)" (( "(") (binary_expression "uVar4 == 1" (identifier "uVar4") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n      pcVar19 = local_88;\n      if (5 < (int)((((uint)uVar29 & 1) + uVar7 != 0) + uVar6)) goto LAB_000223fc;\nLAB_00022428:\n      do {\n        do {\n          iVar8 = (int)(uVar29 >> 0x20);\n          uVar4 = (uint)uVar29;\n          FUN_000317b0(iVar8,uVar4,0,10);\n          pcVar19 = pcVar19 + -1;\n          *pcVar19 = extraout_v1_01 + '0';\n          uVar29 = FUN_00031340(iVar8,uVar4,0,10);\n        } while (iVar8 != 0);\n      } while (9 < uVar4);\n    }" ({ "{") (expression_statement "pcVar19 = local_88;" (assignment_expression "pcVar19 = local_88" (identifier "pcVar19") (= "=") (identifier "local_88")) (; ";")) (if_statement "if (5 < (int)((((uint)uVar29 & 1) + uVar7 != 0) + uVar6)) goto LAB_000223fc;" (if "if") (parenthesized_expression "(5 < (int)((((uint)uVar29 & 1) + uVar7 != 0) + uVar6))" (( "(") (binary_expression "5 < (int)((((uint)uVar29 & 1) + uVar7 != 0) + uVar6)" (number_literal "5") (< "<") (cast_expression "(int)((((uint)uVar29 & 1) + uVar7 != 0) + uVar6)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((((uint)uVar29 & 1) + uVar7 != 0) + uVar6)" (( "(") (binary_expression "(((uint)uVar29 & 1) + uVar7 != 0) + uVar6" (parenthesized_expression "(((uint)uVar29 & 1) + uVar7 != 0)" (( "(") (binary_expression "((uint)uVar29 & 1) + uVar7 != 0" (binary_expression "((uint)uVar29 & 1) + uVar7" (parenthesized_expression "((uint)uVar29 & 1)" (( "(") (binary_expression "(uint)uVar29 & 1" (cast_expression "(uint)uVar29" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar29")) (& "&") (number_literal "1")) () ")")) (+ "+") (identifier "uVar7")) (!= "!=") (number_literal "0")) () ")")) (+ "+") (identifier "uVar6")) () ")")))) () ")")) (goto_statement "goto LAB_000223fc;" (goto "goto") (statement_identifier "LAB_000223fc") (; ";"))) (labeled_statement "LAB_00022428:\n      do {\n        do {\n          iVar8 = (int)(uVar29 >> 0x20);\n          uVar4 = (uint)uVar29;\n          FUN_000317b0(iVar8,uVar4,0,10);\n          pcVar19 = pcVar19 + -1;\n          *pcVar19 = extraout_v1_01 + '0';\n          uVar29 = FUN_00031340(iVar8,uVar4,0,10);\n        } while (iVar8 != 0);\n      } while (9 < uVar4);" (statement_identifier "LAB_00022428") (: ":") (do_statement "do {\n        do {\n          iVar8 = (int)(uVar29 >> 0x20);\n          uVar4 = (uint)uVar29;\n          FUN_000317b0(iVar8,uVar4,0,10);\n          pcVar19 = pcVar19 + -1;\n          *pcVar19 = extraout_v1_01 + '0';\n          uVar29 = FUN_00031340(iVar8,uVar4,0,10);\n        } while (iVar8 != 0);\n      } while (9 < uVar4);" (do "do") (compound_statement "{\n        do {\n          iVar8 = (int)(uVar29 >> 0x20);\n          uVar4 = (uint)uVar29;\n          FUN_000317b0(iVar8,uVar4,0,10);\n          pcVar19 = pcVar19 + -1;\n          *pcVar19 = extraout_v1_01 + '0';\n          uVar29 = FUN_00031340(iVar8,uVar4,0,10);\n        } while (iVar8 != 0);\n      }" ({ "{") (do_statement "do {\n          iVar8 = (int)(uVar29 >> 0x20);\n          uVar4 = (uint)uVar29;\n          FUN_000317b0(iVar8,uVar4,0,10);\n          pcVar19 = pcVar19 + -1;\n          *pcVar19 = extraout_v1_01 + '0';\n          uVar29 = FUN_00031340(iVar8,uVar4,0,10);\n        } while (iVar8 != 0);" (do "do") (compound_statement "{\n          iVar8 = (int)(uVar29 >> 0x20);\n          uVar4 = (uint)uVar29;\n          FUN_000317b0(iVar8,uVar4,0,10);\n          pcVar19 = pcVar19 + -1;\n          *pcVar19 = extraout_v1_01 + '0';\n          uVar29 = FUN_00031340(iVar8,uVar4,0,10);\n        }" ({ "{") (expression_statement "iVar8 = (int)(uVar29 >> 0x20);" (assignment_expression "iVar8 = (int)(uVar29 >> 0x20)" (identifier "iVar8") (= "=") (cast_expression "(int)(uVar29 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uVar29 >> 0x20)" (( "(") (binary_expression "uVar29 >> 0x20" (identifier "uVar29") (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "uVar4 = (uint)uVar29;" (assignment_expression "uVar4 = (uint)uVar29" (identifier "uVar4") (= "=") (cast_expression "(uint)uVar29" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar29"))) (; ";")) (expression_statement "FUN_000317b0(iVar8,uVar4,0,10);" (call_expression "FUN_000317b0(iVar8,uVar4,0,10)" (identifier "FUN_000317b0") (argument_list "(iVar8,uVar4,0,10)" (( "(") (identifier "iVar8") (, ",") (identifier "uVar4") (, ",") (number_literal "0") (, ",") (number_literal "10") () ")"))) (; ";")) (expression_statement "pcVar19 = pcVar19 + -1;" (assignment_expression "pcVar19 = pcVar19 + -1" (identifier "pcVar19") (= "=") (binary_expression "pcVar19 + -1" (identifier "pcVar19") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "*pcVar19 = extraout_v1_01 + '0';" (assignment_expression "*pcVar19 = extraout_v1_01 + '0'" (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) (= "=") (binary_expression "extraout_v1_01 + '0'" (identifier "extraout_v1_01") (+ "+") (char_literal "'0'" (' "'") (character "0") (' "'")))) (; ";")) (expression_statement "uVar29 = FUN_00031340(iVar8,uVar4,0,10);" (assignment_expression "uVar29 = FUN_00031340(iVar8,uVar4,0,10)" (identifier "uVar29") (= "=") (call_expression "FUN_00031340(iVar8,uVar4,0,10)" (identifier "FUN_00031340") (argument_list "(iVar8,uVar4,0,10)" (( "(") (identifier "iVar8") (, ",") (identifier "uVar4") (, ",") (number_literal "0") (, ",") (number_literal "10") () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(9 < uVar4)" (( "(") (binary_expression "9 < uVar4" (number_literal "9") (< "<") (identifier "uVar4")) () ")")) (; ";"))) (} "}")) (else_clause "else {\nLAB_000223ec:\n      pcVar19 = pcVar15;\n      if ((uVar4 != 0) || ((int)(uVar6 + uVar7) < 1)) goto LAB_00022428;\nLAB_000223fc:\n      puVar20 = PTR_memcpy_00049600;\n      uVar29 = uVar29 + 1;\n      pcVar19 = pcVar15;\n      if (((param_4 & 0x10) == 0) ||\n         ((((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)) || (iVar13 == 8))))\n      goto LAB_00022428;\n      iVar13 = iVar13 + 1;\n      if ((param_4 & 8) == 0) {\n        pcVar15[-1] = '0';\n        pcVar15 = pcVar15 + ~local_70;\n        (*(code *)puVar20)(pcVar15,local_68);\n      }\n      pcVar19 = pcVar15 + -1;\n      pcVar15[-1] = '1';\n    }" (else "else") (compound_statement "{\nLAB_000223ec:\n      pcVar19 = pcVar15;\n      if ((uVar4 != 0) || ((int)(uVar6 + uVar7) < 1)) goto LAB_00022428;\nLAB_000223fc:\n      puVar20 = PTR_memcpy_00049600;\n      uVar29 = uVar29 + 1;\n      pcVar19 = pcVar15;\n      if (((param_4 & 0x10) == 0) ||\n         ((((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)) || (iVar13 == 8))))\n      goto LAB_00022428;\n      iVar13 = iVar13 + 1;\n      if ((param_4 & 8) == 0) {\n        pcVar15[-1] = '0';\n        pcVar15 = pcVar15 + ~local_70;\n        (*(code *)puVar20)(pcVar15,local_68);\n      }\n      pcVar19 = pcVar15 + -1;\n      pcVar15[-1] = '1';\n    }" ({ "{") (labeled_statement "LAB_000223ec:\n      pcVar19 = pcVar15;" (statement_identifier "LAB_000223ec") (: ":") (expression_statement "pcVar19 = pcVar15;" (assignment_expression "pcVar19 = pcVar15" (identifier "pcVar19") (= "=") (identifier "pcVar15")) (; ";"))) (if_statement "if ((uVar4 != 0) || ((int)(uVar6 + uVar7) < 1)) goto LAB_00022428;" (if "if") (parenthesized_expression "((uVar4 != 0) || ((int)(uVar6 + uVar7) < 1))" (( "(") (binary_expression "(uVar4 != 0) || ((int)(uVar6 + uVar7) < 1)" (parenthesized_expression "(uVar4 != 0)" (( "(") (binary_expression "uVar4 != 0" (identifier "uVar4") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((int)(uVar6 + uVar7) < 1)" (( "(") (binary_expression "(int)(uVar6 + uVar7) < 1" (cast_expression "(int)(uVar6 + uVar7)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uVar6 + uVar7)" (( "(") (binary_expression "uVar6 + uVar7" (identifier "uVar6") (+ "+") (identifier "uVar7")) () ")"))) (< "<") (number_literal "1")) () ")"))) () ")")) (goto_statement "goto LAB_00022428;" (goto "goto") (statement_identifier "LAB_00022428") (; ";"))) (labeled_statement "LAB_000223fc:\n      puVar20 = PTR_memcpy_00049600;" (statement_identifier "LAB_000223fc") (: ":") (expression_statement "puVar20 = PTR_memcpy_00049600;" (assignment_expression "puVar20 = PTR_memcpy_00049600" (identifier "puVar20") (= "=") (identifier "PTR_memcpy_00049600")) (; ";"))) (expression_statement "uVar29 = uVar29 + 1;" (assignment_expression "uVar29 = uVar29 + 1" (identifier "uVar29") (= "=") (binary_expression "uVar29 + 1" (identifier "uVar29") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar19 = pcVar15;" (assignment_expression "pcVar19 = pcVar15" (identifier "pcVar19") (= "=") (identifier "pcVar15")) (; ";")) (if_statement "if (((param_4 & 0x10) == 0) ||\n         ((((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)) || (iVar13 == 8))))\n      goto LAB_00022428;" (if "if") (parenthesized_expression "(((param_4 & 0x10) == 0) ||\n         ((((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)) || (iVar13 == 8))))" (( "(") (binary_expression "((param_4 & 0x10) == 0) ||\n         ((((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)) || (iVar13 == 8)))" (parenthesized_expression "((param_4 & 0x10) == 0)" (( "(") (binary_expression "(param_4 & 0x10) == 0" (parenthesized_expression "(param_4 & 0x10)" (( "(") (binary_expression "param_4 & 0x10" (identifier "param_4") (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)) || (iVar13 == 8)))" (( "(") (parenthesized_expression "(((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)) || (iVar13 == 8))" (( "(") (binary_expression "((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)) || (iVar13 == 8)" (parenthesized_expression "((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29))" (( "(") (binary_expression "(int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)" (binary_expression "(int)(uVar29 >> 0x20) != 0" (cast_expression "(int)(uVar29 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uVar29 >> 0x20)" (( "(") (binary_expression "uVar29 >> 0x20" (identifier "uVar29") (>> ">>") (number_literal "0x20")) () ")"))) (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "(uVar16 != (uint)uVar29)" (( "(") (binary_expression "uVar16 != (uint)uVar29" (identifier "uVar16") (!= "!=") (cast_expression "(uint)uVar29" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar29"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(iVar13 == 8)" (( "(") (binary_expression "iVar13 == 8" (identifier "iVar13") (== "==") (number_literal "8")) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_00022428;" (goto "goto") (statement_identifier "LAB_00022428") (; ";"))) (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" (identifier "iVar13") (= "=") (binary_expression "iVar13 + 1" (identifier "iVar13") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if ((param_4 & 8) == 0) {\n        pcVar15[-1] = '0';\n        pcVar15 = pcVar15 + ~local_70;\n        (*(code *)puVar20)(pcVar15,local_68);\n      }" (if "if") (parenthesized_expression "((param_4 & 8) == 0)" (( "(") (binary_expression "(param_4 & 8) == 0" (parenthesized_expression "(param_4 & 8)" (( "(") (binary_expression "param_4 & 8" (identifier "param_4") (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        pcVar15[-1] = '0';\n        pcVar15 = pcVar15 + ~local_70;\n        (*(code *)puVar20)(pcVar15,local_68);\n      }" ({ "{") (expression_statement "pcVar15[-1] = '0';" (assignment_expression "pcVar15[-1] = '0'" (subscript_expression "pcVar15[-1]" (identifier "pcVar15") ([ "[") (number_literal "-1") (] "]")) (= "=") (char_literal "'0'" (' "'") (character "0") (' "'"))) (; ";")) (expression_statement "pcVar15 = pcVar15 + ~local_70;" (assignment_expression "pcVar15 = pcVar15 + ~local_70" (identifier "pcVar15") (= "=") (binary_expression "pcVar15 + ~local_70" (identifier "pcVar15") (+ "+") (unary_expression "~local_70" (~ "~") (identifier "local_70")))) (; ";")) (expression_statement "(*(code *)puVar20)(pcVar15,local_68);" (call_expression "(*(code *)puVar20)(pcVar15,local_68)" (parenthesized_expression "(*(code *)puVar20)" (( "(") (pointer_expression "*(code *)puVar20" (* "*") (cast_expression "(code *)puVar20" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar20"))) () ")")) (argument_list "(pcVar15,local_68)" (( "(") (identifier "pcVar15") (, ",") (identifier "local_68") () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar19 = pcVar15 + -1;" (assignment_expression "pcVar19 = pcVar15 + -1" (identifier "pcVar19") (= "=") (binary_expression "pcVar15 + -1" (identifier "pcVar15") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "pcVar15[-1] = '1';" (assignment_expression "pcVar15[-1] = '1'" (subscript_expression "pcVar15[-1]" (identifier "pcVar15") ([ "[") (number_literal "-1") (] "]")) (= "=") (char_literal "'1'" (' "'") (character "1") (' "'"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n    lVar25 = FUN_000317b0(param_5,param_6,param_7,param_8);\n    if (lVar25 == 0) {\n      lVar25 = FUN_00031340(param_5,param_6,param_7,param_8);\n      uVar29 = lVar25 * CONCAT44(param_1,param_2);\n      lVar25 = FUN_00031340((int)(uVar29 >> 0x20),(int)uVar29,(int)((ulonglong)lVar25 >> 0x20));\n      if (lVar25 == CONCAT44(param_1,param_2)) {\n        uVar7 = 0;\n        uVar6 = 0;\n        goto LAB_000223b4;\n      }\n    }\nLAB_00021ca0:\n    dVar22 = (double)FUN_000309d0(param_5,param_6);\n    dVar23 = (double)FUN_000309d0(param_7,param_8);\n    dVar22 = dVar22 / dVar23;\n    dVar23 = (double)FUN_000309d0(param_1,param_2);\n    puVar20 = PTR_LAB_00049218;\n    dVar22 = dVar22 * dVar23;\n    if ((param_4 & 0x10) == 0) {\n      dVar23 = dVar22;\n      if (((param_4 & 3) != 1) && (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760))) {\n        uVar28 = FUN_00030930(dVar22);\n        iVar13 = (int)((ulonglong)uVar28 >> 0x20);\n        uVar4 = (uint)uVar28;\n        dVar23 = (double)FUN_000309d0(iVar13,uVar4);\n        if (((param_4 & 3) == 0) && (dVar22 != dVar23)) {\n          dVar23 = (double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13);\n        }\n      }\n      (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23);\n      iVar13 = -1;\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }\n    else {\n      iVar13 = 0;\n      dVar23 = (double)uVar16;\n      do {\n        dVar24 = dVar23;\n        dVar23 = dVar24 * (double)uVar16;\n        iVar13 = iVar13 + 1;\n        if (dVar22 < dVar23) break;\n      } while (iVar13 != 8);\n      dVar22 = dVar22 / dVar24;\n      uVar6 = (uVar10 == 0) + 1 + local_70 + 1;\n      if (uVar4 == 1) {\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        if (uVar7 <= uVar6) goto LAB_0002232c;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        dVar23 = dVar22 * dVar24;\n      }\n      else {\n        dVar23 = dVar22;\n        if (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar22);\n          dVar23 = dVar22;\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar23 != dVar22)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        dVar22 = dVar23;\n        if (uVar6 < uVar7) {\n          dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar23 = dVar22 * dVar24;\n          puVar20 = PTR_LAB_00049218;\n          if (uVar4 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar23 < *(double *)(puVar20 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar23);\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar22 != dVar23)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n          dVar23 = dVar22;\n          dVar24 = *(double *)(puVar2 + 0x6768);\n        }\n      }\nLAB_0002207c:\n      (*(code *)PTR___sprintf_chk_00049454)\n                (param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23 / dVar24);\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }\nLAB_00021d4c:\n    pcVar19 = local_88 + -uVar7;\n    (*(code *)PTR_memmove_00049610)(pcVar19,param_3,uVar7);\n    pcVar15 = pcVar19 + uVar4;\n  }" (else "else") (compound_statement "{\n    lVar25 = FUN_000317b0(param_5,param_6,param_7,param_8);\n    if (lVar25 == 0) {\n      lVar25 = FUN_00031340(param_5,param_6,param_7,param_8);\n      uVar29 = lVar25 * CONCAT44(param_1,param_2);\n      lVar25 = FUN_00031340((int)(uVar29 >> 0x20),(int)uVar29,(int)((ulonglong)lVar25 >> 0x20));\n      if (lVar25 == CONCAT44(param_1,param_2)) {\n        uVar7 = 0;\n        uVar6 = 0;\n        goto LAB_000223b4;\n      }\n    }\nLAB_00021ca0:\n    dVar22 = (double)FUN_000309d0(param_5,param_6);\n    dVar23 = (double)FUN_000309d0(param_7,param_8);\n    dVar22 = dVar22 / dVar23;\n    dVar23 = (double)FUN_000309d0(param_1,param_2);\n    puVar20 = PTR_LAB_00049218;\n    dVar22 = dVar22 * dVar23;\n    if ((param_4 & 0x10) == 0) {\n      dVar23 = dVar22;\n      if (((param_4 & 3) != 1) && (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760))) {\n        uVar28 = FUN_00030930(dVar22);\n        iVar13 = (int)((ulonglong)uVar28 >> 0x20);\n        uVar4 = (uint)uVar28;\n        dVar23 = (double)FUN_000309d0(iVar13,uVar4);\n        if (((param_4 & 3) == 0) && (dVar22 != dVar23)) {\n          dVar23 = (double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13);\n        }\n      }\n      (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23);\n      iVar13 = -1;\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }\n    else {\n      iVar13 = 0;\n      dVar23 = (double)uVar16;\n      do {\n        dVar24 = dVar23;\n        dVar23 = dVar24 * (double)uVar16;\n        iVar13 = iVar13 + 1;\n        if (dVar22 < dVar23) break;\n      } while (iVar13 != 8);\n      dVar22 = dVar22 / dVar24;\n      uVar6 = (uVar10 == 0) + 1 + local_70 + 1;\n      if (uVar4 == 1) {\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        if (uVar7 <= uVar6) goto LAB_0002232c;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        dVar23 = dVar22 * dVar24;\n      }\n      else {\n        dVar23 = dVar22;\n        if (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar22);\n          dVar23 = dVar22;\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar23 != dVar22)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        dVar22 = dVar23;\n        if (uVar6 < uVar7) {\n          dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar23 = dVar22 * dVar24;\n          puVar20 = PTR_LAB_00049218;\n          if (uVar4 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar23 < *(double *)(puVar20 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar23);\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar22 != dVar23)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n          dVar23 = dVar22;\n          dVar24 = *(double *)(puVar2 + 0x6768);\n        }\n      }\nLAB_0002207c:\n      (*(code *)PTR___sprintf_chk_00049454)\n                (param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23 / dVar24);\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }\nLAB_00021d4c:\n    pcVar19 = local_88 + -uVar7;\n    (*(code *)PTR_memmove_00049610)(pcVar19,param_3,uVar7);\n    pcVar15 = pcVar19 + uVar4;\n  }" ({ "{") (expression_statement "lVar25 = FUN_000317b0(param_5,param_6,param_7,param_8);" (assignment_expression "lVar25 = FUN_000317b0(param_5,param_6,param_7,param_8)" (identifier "lVar25") (= "=") (call_expression "FUN_000317b0(param_5,param_6,param_7,param_8)" (identifier "FUN_000317b0") (argument_list "(param_5,param_6,param_7,param_8)" (( "(") (identifier "param_5") (, ",") (identifier "param_6") (, ",") (identifier "param_7") (, ",") (identifier "param_8") () ")")))) (; ";")) (if_statement "if (lVar25 == 0) {\n      lVar25 = FUN_00031340(param_5,param_6,param_7,param_8);\n      uVar29 = lVar25 * CONCAT44(param_1,param_2);\n      lVar25 = FUN_00031340((int)(uVar29 >> 0x20),(int)uVar29,(int)((ulonglong)lVar25 >> 0x20));\n      if (lVar25 == CONCAT44(param_1,param_2)) {\n        uVar7 = 0;\n        uVar6 = 0;\n        goto LAB_000223b4;\n      }\n    }" (if "if") (parenthesized_expression "(lVar25 == 0)" (( "(") (binary_expression "lVar25 == 0" (identifier "lVar25") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      lVar25 = FUN_00031340(param_5,param_6,param_7,param_8);\n      uVar29 = lVar25 * CONCAT44(param_1,param_2);\n      lVar25 = FUN_00031340((int)(uVar29 >> 0x20),(int)uVar29,(int)((ulonglong)lVar25 >> 0x20));\n      if (lVar25 == CONCAT44(param_1,param_2)) {\n        uVar7 = 0;\n        uVar6 = 0;\n        goto LAB_000223b4;\n      }\n    }" ({ "{") (expression_statement "lVar25 = FUN_00031340(param_5,param_6,param_7,param_8);" (assignment_expression "lVar25 = FUN_00031340(param_5,param_6,param_7,param_8)" (identifier "lVar25") (= "=") (call_expression "FUN_00031340(param_5,param_6,param_7,param_8)" (identifier "FUN_00031340") (argument_list "(param_5,param_6,param_7,param_8)" (( "(") (identifier "param_5") (, ",") (identifier "param_6") (, ",") (identifier "param_7") (, ",") (identifier "param_8") () ")")))) (; ";")) (expression_statement "uVar29 = lVar25 * CONCAT44(param_1,param_2);" (assignment_expression "uVar29 = lVar25 * CONCAT44(param_1,param_2)" (identifier "uVar29") (= "=") (binary_expression "lVar25 * CONCAT44(param_1,param_2)" (identifier "lVar25") (* "*") (call_expression "CONCAT44(param_1,param_2)" (identifier "CONCAT44") (argument_list "(param_1,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") () ")"))))) (; ";")) (expression_statement "lVar25 = FUN_00031340((int)(uVar29 >> 0x20),(int)uVar29,(int)((ulonglong)lVar25 >> 0x20));" (assignment_expression "lVar25 = FUN_00031340((int)(uVar29 >> 0x20),(int)uVar29,(int)((ulonglong)lVar25 >> 0x20))" (identifier "lVar25") (= "=") (call_expression "FUN_00031340((int)(uVar29 >> 0x20),(int)uVar29,(int)((ulonglong)lVar25 >> 0x20))" (identifier "FUN_00031340") (argument_list "((int)(uVar29 >> 0x20),(int)uVar29,(int)((ulonglong)lVar25 >> 0x20))" (( "(") (cast_expression "(int)(uVar29 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uVar29 >> 0x20)" (( "(") (binary_expression "uVar29 >> 0x20" (identifier "uVar29") (>> ">>") (number_literal "0x20")) () ")"))) (, ",") (cast_expression "(int)uVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar29")) (, ",") (cast_expression "(int)((ulonglong)lVar25 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)lVar25 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar25 >> 0x20" (cast_expression "(ulonglong)lVar25" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar25")) (>> ">>") (number_literal "0x20")) () ")"))) () ")")))) (; ";")) (if_statement "if (lVar25 == CONCAT44(param_1,param_2)) {\n        uVar7 = 0;\n        uVar6 = 0;\n        goto LAB_000223b4;\n      }" (if "if") (parenthesized_expression "(lVar25 == CONCAT44(param_1,param_2))" (( "(") (binary_expression "lVar25 == CONCAT44(param_1,param_2)" (identifier "lVar25") (== "==") (call_expression "CONCAT44(param_1,param_2)" (identifier "CONCAT44") (argument_list "(param_1,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") () ")")))) () ")")) (compound_statement "{\n        uVar7 = 0;\n        uVar6 = 0;\n        goto LAB_000223b4;\n      }" ({ "{") (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" (identifier "uVar7") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" (identifier "uVar6") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_000223b4;" (goto "goto") (statement_identifier "LAB_000223b4") (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_00021ca0:\n    dVar22 = (double)FUN_000309d0(param_5,param_6);" (statement_identifier "LAB_00021ca0") (: ":") (expression_statement "dVar22 = (double)FUN_000309d0(param_5,param_6);" (assignment_expression "dVar22 = (double)FUN_000309d0(param_5,param_6)" (identifier "dVar22") (= "=") (cast_expression "(double)FUN_000309d0(param_5,param_6)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "FUN_000309d0(param_5,param_6)" (identifier "FUN_000309d0") (argument_list "(param_5,param_6)" (( "(") (identifier "param_5") (, ",") (identifier "param_6") () ")"))))) (; ";"))) (expression_statement "dVar23 = (double)FUN_000309d0(param_7,param_8);" (assignment_expression "dVar23 = (double)FUN_000309d0(param_7,param_8)" (identifier "dVar23") (= "=") (cast_expression "(double)FUN_000309d0(param_7,param_8)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "FUN_000309d0(param_7,param_8)" (identifier "FUN_000309d0") (argument_list "(param_7,param_8)" (( "(") (identifier "param_7") (, ",") (identifier "param_8") () ")"))))) (; ";")) (expression_statement "dVar22 = dVar22 / dVar23;" (assignment_expression "dVar22 = dVar22 / dVar23" (identifier "dVar22") (= "=") (binary_expression "dVar22 / dVar23" (identifier "dVar22") (/ "/") (identifier "dVar23"))) (; ";")) (expression_statement "dVar23 = (double)FUN_000309d0(param_1,param_2);" (assignment_expression "dVar23 = (double)FUN_000309d0(param_1,param_2)" (identifier "dVar23") (= "=") (cast_expression "(double)FUN_000309d0(param_1,param_2)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "FUN_000309d0(param_1,param_2)" (identifier "FUN_000309d0") (argument_list "(param_1,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") () ")"))))) (; ";")) (expression_statement "puVar20 = PTR_LAB_00049218;" (assignment_expression "puVar20 = PTR_LAB_00049218" (identifier "puVar20") (= "=") (identifier "PTR_LAB_00049218")) (; ";")) (expression_statement "dVar22 = dVar22 * dVar23;" (assignment_expression "dVar22 = dVar22 * dVar23" (identifier "dVar22") (= "=") (binary_expression "dVar22 * dVar23" (identifier "dVar22") (* "*") (identifier "dVar23"))) (; ";")) (if_statement "if ((param_4 & 0x10) == 0) {\n      dVar23 = dVar22;\n      if (((param_4 & 3) != 1) && (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760))) {\n        uVar28 = FUN_00030930(dVar22);\n        iVar13 = (int)((ulonglong)uVar28 >> 0x20);\n        uVar4 = (uint)uVar28;\n        dVar23 = (double)FUN_000309d0(iVar13,uVar4);\n        if (((param_4 & 3) == 0) && (dVar22 != dVar23)) {\n          dVar23 = (double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13);\n        }\n      }\n      (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23);\n      iVar13 = -1;\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }\n    else {\n      iVar13 = 0;\n      dVar23 = (double)uVar16;\n      do {\n        dVar24 = dVar23;\n        dVar23 = dVar24 * (double)uVar16;\n        iVar13 = iVar13 + 1;\n        if (dVar22 < dVar23) break;\n      } while (iVar13 != 8);\n      dVar22 = dVar22 / dVar24;\n      uVar6 = (uVar10 == 0) + 1 + local_70 + 1;\n      if (uVar4 == 1) {\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        if (uVar7 <= uVar6) goto LAB_0002232c;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        dVar23 = dVar22 * dVar24;\n      }\n      else {\n        dVar23 = dVar22;\n        if (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar22);\n          dVar23 = dVar22;\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar23 != dVar22)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        dVar22 = dVar23;\n        if (uVar6 < uVar7) {\n          dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar23 = dVar22 * dVar24;\n          puVar20 = PTR_LAB_00049218;\n          if (uVar4 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar23 < *(double *)(puVar20 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar23);\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar22 != dVar23)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n          dVar23 = dVar22;\n          dVar24 = *(double *)(puVar2 + 0x6768);\n        }\n      }\nLAB_0002207c:\n      (*(code *)PTR___sprintf_chk_00049454)\n                (param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23 / dVar24);\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }" (if "if") (parenthesized_expression "((param_4 & 0x10) == 0)" (( "(") (binary_expression "(param_4 & 0x10) == 0" (parenthesized_expression "(param_4 & 0x10)" (( "(") (binary_expression "param_4 & 0x10" (identifier "param_4") (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      dVar23 = dVar22;\n      if (((param_4 & 3) != 1) && (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760))) {\n        uVar28 = FUN_00030930(dVar22);\n        iVar13 = (int)((ulonglong)uVar28 >> 0x20);\n        uVar4 = (uint)uVar28;\n        dVar23 = (double)FUN_000309d0(iVar13,uVar4);\n        if (((param_4 & 3) == 0) && (dVar22 != dVar23)) {\n          dVar23 = (double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13);\n        }\n      }\n      (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23);\n      iVar13 = -1;\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }" ({ "{") (expression_statement "dVar23 = dVar22;" (assignment_expression "dVar23 = dVar22" (identifier "dVar23") (= "=") (identifier "dVar22")) (; ";")) (if_statement "if (((param_4 & 3) != 1) && (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760))) {\n        uVar28 = FUN_00030930(dVar22);\n        iVar13 = (int)((ulonglong)uVar28 >> 0x20);\n        uVar4 = (uint)uVar28;\n        dVar23 = (double)FUN_000309d0(iVar13,uVar4);\n        if (((param_4 & 3) == 0) && (dVar22 != dVar23)) {\n          dVar23 = (double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13);\n        }\n      }" (if "if") (parenthesized_expression "(((param_4 & 3) != 1) && (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)))" (( "(") (binary_expression "((param_4 & 3) != 1) && (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760))" (parenthesized_expression "((param_4 & 3) != 1)" (( "(") (binary_expression "(param_4 & 3) != 1" (parenthesized_expression "(param_4 & 3)" (( "(") (binary_expression "param_4 & 3" (identifier "param_4") (& "&") (number_literal "3")) () ")")) (!= "!=") (number_literal "1")) () ")")) (&& "&&") (parenthesized_expression "(dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760))" (( "(") (binary_expression "dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)" (identifier "dVar22") (< "<") (pointer_expression "*(double *)(PTR_LAB_00049218 + 0x6760)" (* "*") (cast_expression "(double *)(PTR_LAB_00049218 + 0x6760)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00049218 + 0x6760)" (( "(") (binary_expression "PTR_LAB_00049218 + 0x6760" (identifier "PTR_LAB_00049218") (+ "+") (number_literal "0x6760")) () ")"))))) () ")"))) () ")")) (compound_statement "{\n        uVar28 = FUN_00030930(dVar22);\n        iVar13 = (int)((ulonglong)uVar28 >> 0x20);\n        uVar4 = (uint)uVar28;\n        dVar23 = (double)FUN_000309d0(iVar13,uVar4);\n        if (((param_4 & 3) == 0) && (dVar22 != dVar23)) {\n          dVar23 = (double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13);\n        }\n      }" ({ "{") (expression_statement "uVar28 = FUN_00030930(dVar22);" (assignment_expression "uVar28 = FUN_00030930(dVar22)" (identifier "uVar28") (= "=") (call_expression "FUN_00030930(dVar22)" (identifier "FUN_00030930") (argument_list "(dVar22)" (( "(") (identifier "dVar22") () ")")))) (; ";")) (expression_statement "iVar13 = (int)((ulonglong)uVar28 >> 0x20);" (assignment_expression "iVar13 = (int)((ulonglong)uVar28 >> 0x20)" (identifier "iVar13") (= "=") (cast_expression "(int)((ulonglong)uVar28 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar28 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar28 >> 0x20" (cast_expression "(ulonglong)uVar28" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar28")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "uVar4 = (uint)uVar28;" (assignment_expression "uVar4 = (uint)uVar28" (identifier "uVar4") (= "=") (cast_expression "(uint)uVar28" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar28"))) (; ";")) (expression_statement "dVar23 = (double)FUN_000309d0(iVar13,uVar4);" (assignment_expression "dVar23 = (double)FUN_000309d0(iVar13,uVar4)" (identifier "dVar23") (= "=") (cast_expression "(double)FUN_000309d0(iVar13,uVar4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "FUN_000309d0(iVar13,uVar4)" (identifier "FUN_000309d0") (argument_list "(iVar13,uVar4)" (( "(") (identifier "iVar13") (, ",") (identifier "uVar4") () ")"))))) (; ";")) (if_statement "if (((param_4 & 3) == 0) && (dVar22 != dVar23)) {\n          dVar23 = (double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13);\n        }" (if "if") (parenthesized_expression "(((param_4 & 3) == 0) && (dVar22 != dVar23))" (( "(") (binary_expression "((param_4 & 3) == 0) && (dVar22 != dVar23)" (parenthesized_expression "((param_4 & 3) == 0)" (( "(") (binary_expression "(param_4 & 3) == 0" (parenthesized_expression "(param_4 & 3)" (( "(") (binary_expression "param_4 & 3" (identifier "param_4") (& "&") (number_literal "3")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(dVar22 != dVar23)" (( "(") (binary_expression "dVar22 != dVar23" (identifier "dVar22") (!= "!=") (identifier "dVar23")) () ")"))) () ")")) (compound_statement "{\n          dVar23 = (double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13);\n        }" ({ "{") (expression_statement "dVar23 = (double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13);" (assignment_expression "dVar23 = (double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13)" (identifier "dVar23") (= "=") (cast_expression "(double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13)" (identifier "FUN_000309d0") (argument_list "((uint)(uVar4 + 1 < uVar4) + iVar13)" (( "(") (binary_expression "(uint)(uVar4 + 1 < uVar4) + iVar13" (call_expression "(uint)(uVar4 + 1 < uVar4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar4 + 1 < uVar4)" (( "(") (binary_expression "uVar4 + 1 < uVar4" (binary_expression "uVar4 + 1" (identifier "uVar4") (+ "+") (number_literal "1")) (< "<") (identifier "uVar4")) () ")"))) (+ "+") (identifier "iVar13")) () ")"))))) (; ";")) (} "}"))) (} "}"))) (expression_statement "(*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23);" (call_expression "(*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23)" (parenthesized_expression "(*(code *)PTR___sprintf_chk_00049454)" (( "(") (pointer_expression "*(code *)PTR___sprintf_chk_00049454" (* "*") (cast_expression "(code *)PTR___sprintf_chk_00049454" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___sprintf_chk_00049454"))) () ")")) (argument_list "(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23)" (( "(") (identifier "param_3") (, ",") (number_literal "1") (, ",") (number_literal "0xffffffff") (, ",") (binary_expression "PTR_LAB_00049218 + 0x6700" (identifier "PTR_LAB_00049218") (+ "+") (number_literal "0x6700")) (, ",") (identifier "dVar23") () ")"))) (; ";")) (expression_statement "iVar13 = -1;" (assignment_expression "iVar13 = -1" (identifier "iVar13") (= "=") (number_literal "-1")) (; ";")) (expression_statement "uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);" (assignment_expression "uVar7 = (*(code *)PTR_strlen_0004953c)(param_3)" (identifier "uVar7") (= "=") (call_expression "(*(code *)PTR_strlen_0004953c)(param_3)" (parenthesized_expression "(*(code *)PTR_strlen_0004953c)" (( "(") (pointer_expression "*(code *)PTR_strlen_0004953c" (* "*") (cast_expression "(code *)PTR_strlen_0004953c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_0004953c"))) () ")")) (argument_list "(param_3)" (( "(") (identifier "param_3") () ")")))) (; ";")) (expression_statement "uVar4 = uVar7;" (assignment_expression "uVar4 = uVar7" (identifier "uVar4") (= "=") (identifier "uVar7")) (; ";")) (} "}")) (else_clause "else {\n      iVar13 = 0;\n      dVar23 = (double)uVar16;\n      do {\n        dVar24 = dVar23;\n        dVar23 = dVar24 * (double)uVar16;\n        iVar13 = iVar13 + 1;\n        if (dVar22 < dVar23) break;\n      } while (iVar13 != 8);\n      dVar22 = dVar22 / dVar24;\n      uVar6 = (uVar10 == 0) + 1 + local_70 + 1;\n      if (uVar4 == 1) {\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        if (uVar7 <= uVar6) goto LAB_0002232c;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        dVar23 = dVar22 * dVar24;\n      }\n      else {\n        dVar23 = dVar22;\n        if (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar22);\n          dVar23 = dVar22;\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar23 != dVar22)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        dVar22 = dVar23;\n        if (uVar6 < uVar7) {\n          dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar23 = dVar22 * dVar24;\n          puVar20 = PTR_LAB_00049218;\n          if (uVar4 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar23 < *(double *)(puVar20 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar23);\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar22 != dVar23)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n          dVar23 = dVar22;\n          dVar24 = *(double *)(puVar2 + 0x6768);\n        }\n      }\nLAB_0002207c:\n      (*(code *)PTR___sprintf_chk_00049454)\n                (param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23 / dVar24);\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }" (else "else") (compound_statement "{\n      iVar13 = 0;\n      dVar23 = (double)uVar16;\n      do {\n        dVar24 = dVar23;\n        dVar23 = dVar24 * (double)uVar16;\n        iVar13 = iVar13 + 1;\n        if (dVar22 < dVar23) break;\n      } while (iVar13 != 8);\n      dVar22 = dVar22 / dVar24;\n      uVar6 = (uVar10 == 0) + 1 + local_70 + 1;\n      if (uVar4 == 1) {\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        if (uVar7 <= uVar6) goto LAB_0002232c;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        dVar23 = dVar22 * dVar24;\n      }\n      else {\n        dVar23 = dVar22;\n        if (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar22);\n          dVar23 = dVar22;\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar23 != dVar22)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        dVar22 = dVar23;\n        if (uVar6 < uVar7) {\n          dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar23 = dVar22 * dVar24;\n          puVar20 = PTR_LAB_00049218;\n          if (uVar4 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar23 < *(double *)(puVar20 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar23);\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar22 != dVar23)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n          dVar23 = dVar22;\n          dVar24 = *(double *)(puVar2 + 0x6768);\n        }\n      }\nLAB_0002207c:\n      (*(code *)PTR___sprintf_chk_00049454)\n                (param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23 / dVar24);\n      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n      uVar4 = uVar7;\n    }" ({ "{") (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" (identifier "iVar13") (= "=") (number_literal "0")) (; ";")) (expression_statement "dVar23 = (double)uVar16;" (assignment_expression "dVar23 = (double)uVar16" (identifier "dVar23") (= "=") (cast_expression "(double)uVar16" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "uVar16"))) (; ";")) (do_statement "do {\n        dVar24 = dVar23;\n        dVar23 = dVar24 * (double)uVar16;\n        iVar13 = iVar13 + 1;\n        if (dVar22 < dVar23) break;\n      } while (iVar13 != 8);" (do "do") (compound_statement "{\n        dVar24 = dVar23;\n        dVar23 = dVar24 * (double)uVar16;\n        iVar13 = iVar13 + 1;\n        if (dVar22 < dVar23) break;\n      }" ({ "{") (expression_statement "dVar24 = dVar23;" (assignment_expression "dVar24 = dVar23" (identifier "dVar24") (= "=") (identifier "dVar23")) (; ";")) (expression_statement "dVar23 = dVar24 * (double)uVar16;" (assignment_expression "dVar23 = dVar24 * (double)uVar16" (identifier "dVar23") (= "=") (binary_expression "dVar24 * (double)uVar16" (identifier "dVar24") (* "*") (cast_expression "(double)uVar16" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "uVar16")))) (; ";")) (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" (identifier "iVar13") (= "=") (binary_expression "iVar13 + 1" (identifier "iVar13") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (dVar22 < dVar23) break;" (if "if") (parenthesized_expression "(dVar22 < dVar23)" (( "(") (binary_expression "dVar22 < dVar23" (identifier "dVar22") (< "<") (identifier "dVar23")) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}")) (while "while") (parenthesized_expression "(iVar13 != 8)" (( "(") (binary_expression "iVar13 != 8" (identifier "iVar13") (!= "!=") (number_literal "8")) () ")")) (; ";")) (expression_statement "dVar22 = dVar22 / dVar24;" (assignment_expression "dVar22 = dVar22 / dVar24" (identifier "dVar22") (= "=") (binary_expression "dVar22 / dVar24" (identifier "dVar22") (/ "/") (identifier "dVar24"))) (; ";")) (expression_statement "uVar6 = (uVar10 == 0) + 1 + local_70 + 1;" (assignment_expression "uVar6 = (uVar10 == 0) + 1 + local_70 + 1" (identifier "uVar6") (= "=") (binary_expression "(uVar10 == 0) + 1 + local_70 + 1" (binary_expression "(uVar10 == 0) + 1 + local_70" (binary_expression "(uVar10 == 0) + 1" (parenthesized_expression "(uVar10 == 0)" (( "(") (binary_expression "uVar10 == 0" (identifier "uVar10") (== "==") (number_literal "0")) () ")")) (+ "+") (number_literal "1")) (+ "+") (identifier "local_70")) (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (uVar4 == 1) {\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        if (uVar7 <= uVar6) goto LAB_0002232c;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        dVar23 = dVar22 * dVar24;\n      }\n      else {\n        dVar23 = dVar22;\n        if (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar22);\n          dVar23 = dVar22;\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar23 != dVar22)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        dVar22 = dVar23;\n        if (uVar6 < uVar7) {\n          dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar23 = dVar22 * dVar24;\n          puVar20 = PTR_LAB_00049218;\n          if (uVar4 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar23 < *(double *)(puVar20 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar23);\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar22 != dVar23)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n          dVar23 = dVar22;\n          dVar24 = *(double *)(puVar2 + 0x6768);\n        }\n      }" (if "if") (parenthesized_expression "(uVar4 == 1)" (( "(") (binary_expression "uVar4 == 1" (identifier "uVar4") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        if (uVar7 <= uVar6) goto LAB_0002232c;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        dVar23 = dVar22 * dVar24;\n      }" ({ "{") (expression_statement "(*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;" (call_expression "(*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)" (parenthesized_expression "(*(code *)PTR___sprintf_chk_00049454)" (( "(") (pointer_expression "*(code *)PTR___sprintf_chk_00049454" (* "*") (cast_expression "(code *)PTR___sprintf_chk_00049454" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___sprintf_chk_00049454"))) () ")")) (argument_list "(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)" (( "(") (identifier "param_3") (, ",") (number_literal "1") (, ",") (number_literal "0xffffffff") (, ",") (binary_expression "PTR_LAB_00049218 + 0x6708" (identifier "PTR_LAB_00049218") (+ "+") (number_literal "0x6708")) (, ",") (identifier "dVar22") () ")"))) (; ";")) (expression_statement "uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);" (assignment_expression "uVar7 = (*(code *)PTR_strlen_0004953c)(param_3)" (identifier "uVar7") (= "=") (call_expression "(*(code *)PTR_strlen_0004953c)(param_3)" (parenthesized_expression "(*(code *)PTR_strlen_0004953c)" (( "(") (pointer_expression "*(code *)PTR_strlen_0004953c" (* "*") (cast_expression "(code *)PTR_strlen_0004953c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_0004953c"))) () ")")) (argument_list "(param_3)" (( "(") (identifier "param_3") () ")")))) (; ";")) (if_statement "if (uVar7 <= uVar6) goto LAB_0002232c;" (if "if") (parenthesized_expression "(uVar7 <= uVar6)" (( "(") (binary_expression "uVar7 <= uVar6" (identifier "uVar7") (<= "<=") (identifier "uVar6")) () ")")) (goto_statement "goto LAB_0002232c;" (goto "goto") (statement_identifier "LAB_0002232c") (; ";"))) (expression_statement "dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);" (assignment_expression "dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768)" (identifier "dVar24") (= "=") (pointer_expression "*(double *)(PTR_LAB_00049218 + 0x6768)" (* "*") (cast_expression "(double *)(PTR_LAB_00049218 + 0x6768)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00049218 + 0x6768)" (( "(") (binary_expression "PTR_LAB_00049218 + 0x6768" (identifier "PTR_LAB_00049218") (+ "+") (number_literal "0x6768")) () ")"))))) (; ";")) (expression_statement "dVar23 = dVar22 * dVar24;" (assignment_expression "dVar23 = dVar22 * dVar24" (identifier "dVar23") (= "=") (binary_expression "dVar22 * dVar24" (identifier "dVar22") (* "*") (identifier "dVar24"))) (; ";")) (} "}")) (else_clause "else {\n        dVar23 = dVar22;\n        if (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar22);\n          dVar23 = dVar22;\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar23 != dVar22)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        dVar22 = dVar23;\n        if (uVar6 < uVar7) {\n          dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar23 = dVar22 * dVar24;\n          puVar20 = PTR_LAB_00049218;\n          if (uVar4 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar23 < *(double *)(puVar20 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar23);\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar22 != dVar23)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n          dVar23 = dVar22;\n          dVar24 = *(double *)(puVar2 + 0x6768);\n        }\n      }" (else "else") (compound_statement "{\n        dVar23 = dVar22;\n        if (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar22);\n          dVar23 = dVar22;\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar23 != dVar22)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n        }\n        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;\n        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);\n        dVar22 = dVar23;\n        if (uVar6 < uVar7) {\n          dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar23 = dVar22 * dVar24;\n          puVar20 = PTR_LAB_00049218;\n          if (uVar4 == 1) goto LAB_0002207c;\n        }\n        puVar2 = PTR_LAB_00049218;\n        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n        if (dVar23 < *(double *)(puVar20 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar23);\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar22 != dVar23)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n          dVar23 = dVar22;\n          dVar24 = *(double *)(puVar2 + 0x6768);\n        }\n      }" ({ "{") (expression_statement "dVar23 = dVar22;" (assignment_expression "dVar23 = dVar22" (identifier "dVar23") (= "=") (identifier "dVar22")) (; ";")) (if_statement "if (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar22);\n          dVar23 = dVar22;\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar23 != dVar22)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n        }" (if "if") (parenthesized_expression "(dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760))" (( "(") (binary_expression "dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)" (identifier "dVar22") (< "<") (pointer_expression "*(double *)(PTR_LAB_00049218 + 0x6760)" (* "*") (cast_expression "(double *)(PTR_LAB_00049218 + 0x6760)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00049218 + 0x6760)" (( "(") (binary_expression "PTR_LAB_00049218 + 0x6760" (identifier "PTR_LAB_00049218") (+ "+") (number_literal "0x6760")) () ")"))))) () ")")) (compound_statement "{\n          lVar25 = FUN_00030930(dVar22);\n          dVar23 = dVar22;\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar23 != dVar22)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n        }" ({ "{") (expression_statement "lVar25 = FUN_00030930(dVar22);" (assignment_expression "lVar25 = FUN_00030930(dVar22)" (identifier "lVar25") (= "=") (call_expression "FUN_00030930(dVar22)" (identifier "FUN_00030930") (argument_list "(dVar22)" (( "(") (identifier "dVar22") () ")")))) (; ";")) (expression_statement "dVar23 = dVar22;" (assignment_expression "dVar23 = dVar22" (identifier "dVar23") (= "=") (identifier "dVar22")) (; ";")) (expression_statement "dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);" (assignment_expression "dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25)" (identifier "dVar22") (= "=") (cast_expression "(double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25)" (identifier "FUN_000309d0") (argument_list "((int)((ulonglong)lVar25 >> 0x20),(int)lVar25)" (( "(") (cast_expression "(int)((ulonglong)lVar25 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)lVar25 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar25 >> 0x20" (cast_expression "(ulonglong)lVar25" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar25")) (>> ">>") (number_literal "0x20")) () ")"))) (, ",") (cast_expression "(int)lVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar25")) () ")"))))) (; ";")) (if_statement "if ((uVar4 == 0) && (dVar23 != dVar22)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }" (if "if") (parenthesized_expression "((uVar4 == 0) && (dVar23 != dVar22))" (( "(") (binary_expression "(uVar4 == 0) && (dVar23 != dVar22)" (parenthesized_expression "(uVar4 == 0)" (( "(") (binary_expression "uVar4 == 0" (identifier "uVar4") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(dVar23 != dVar22)" (( "(") (binary_expression "dVar23 != dVar22" (identifier "dVar23") (!= "!=") (identifier "dVar22")) () ")"))) () ")")) (compound_statement "{\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }" ({ "{") (expression_statement "dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));" (assignment_expression "dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20))" (identifier "dVar22") (= "=") (cast_expression "(double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20))" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20))" (identifier "FUN_000309d0") (argument_list "((int)((ulonglong)(lVar25 + 1) >> 0x20))" (( "(") (cast_expression "(int)((ulonglong)(lVar25 + 1) >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)(lVar25 + 1) >> 0x20)" (( "(") (binary_expression "(ulonglong)(lVar25 + 1) >> 0x20" (call_expression "(ulonglong)(lVar25 + 1)" (parenthesized_expression "(ulonglong)" (( "(") (identifier "ulonglong") () ")")) (argument_list "(lVar25 + 1)" (( "(") (binary_expression "lVar25 + 1" (identifier "lVar25") (+ "+") (number_literal "1")) () ")"))) (>> ">>") (number_literal "0x20")) () ")"))) () ")"))))) (; ";")) (} "}"))) (} "}"))) (expression_statement "(*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)\n        ;" (call_expression "(*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)" (parenthesized_expression "(*(code *)PTR___sprintf_chk_00049454)" (( "(") (pointer_expression "*(code *)PTR___sprintf_chk_00049454" (* "*") (cast_expression "(code *)PTR___sprintf_chk_00049454" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___sprintf_chk_00049454"))) () ")")) (argument_list "(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)" (( "(") (identifier "param_3") (, ",") (number_literal "1") (, ",") (number_literal "0xffffffff") (, ",") (binary_expression "PTR_LAB_00049218 + 0x6708" (identifier "PTR_LAB_00049218") (+ "+") (number_literal "0x6708")) (, ",") (identifier "dVar22") () ")"))) (; ";")) (expression_statement "uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);" (assignment_expression "uVar7 = (*(code *)PTR_strlen_0004953c)(param_3)" (identifier "uVar7") (= "=") (call_expression "(*(code *)PTR_strlen_0004953c)(param_3)" (parenthesized_expression "(*(code *)PTR_strlen_0004953c)" (( "(") (pointer_expression "*(code *)PTR_strlen_0004953c" (* "*") (cast_expression "(code *)PTR_strlen_0004953c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_0004953c"))) () ")")) (argument_list "(param_3)" (( "(") (identifier "param_3") () ")")))) (; ";")) (expression_statement "dVar22 = dVar23;" (assignment_expression "dVar22 = dVar23" (identifier "dVar22") (= "=") (identifier "dVar23")) (; ";")) (if_statement "if (uVar6 < uVar7) {\n          dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }\n        else {\nLAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar23 = dVar22 * dVar24;\n          puVar20 = PTR_LAB_00049218;\n          if (uVar4 == 1) goto LAB_0002207c;\n        }" (if "if") (parenthesized_expression "(uVar6 < uVar7)" (( "(") (binary_expression "uVar6 < uVar7" (identifier "uVar6") (< "<") (identifier "uVar7")) () ")")) (compound_statement "{\n          dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);\n        }" ({ "{") (expression_statement "dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);" (assignment_expression "dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768)" (identifier "dVar23") (= "=") (binary_expression "dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768)" (identifier "dVar23") (* "*") (pointer_expression "*(double *)(PTR_LAB_00049218 + 0x6768)" (* "*") (cast_expression "(double *)(PTR_LAB_00049218 + 0x6768)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00049218 + 0x6768)" (( "(") (binary_expression "PTR_LAB_00049218 + 0x6768" (identifier "PTR_LAB_00049218") (+ "+") (number_literal "0x6768")) () ")")))))) (; ";")) (} "}")) (else_clause "else {\nLAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar23 = dVar22 * dVar24;\n          puVar20 = PTR_LAB_00049218;\n          if (uVar4 == 1) goto LAB_0002207c;\n        }" (else "else") (compound_statement "{\nLAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }\n          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);\n          dVar23 = dVar22 * dVar24;\n          puVar20 = PTR_LAB_00049218;\n          if (uVar4 == 1) goto LAB_0002207c;\n        }" ({ "{") (labeled_statement "LAB_0002232c:\n          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }" (statement_identifier "LAB_0002232c") (: ":") (if_statement "if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }" (if "if") (parenthesized_expression "(((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0'))" (( "(") (binary_expression "((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')" (parenthesized_expression "((param_4 & 8) == 0)" (( "(") (binary_expression "(param_4 & 8) == 0" (parenthesized_expression "(param_4 & 8)" (( "(") (binary_expression "param_4 & 8" (identifier "param_4") (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(*(char *)(param_3 + uVar7 + -1) != '0')" (( "(") (binary_expression "*(char *)(param_3 + uVar7 + -1) != '0'" (pointer_expression "*(char *)(param_3 + uVar7 + -1)" (* "*") (cast_expression "(char *)(param_3 + uVar7 + -1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + uVar7 + -1)" (( "(") (binary_expression "param_3 + uVar7 + -1" (binary_expression "param_3 + uVar7" (identifier "param_3") (+ "+") (identifier "uVar7")) (+ "+") (number_literal "-1")) () ")")))) (!= "!=") (char_literal "'0'" (' "'") (character "0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n            uVar4 = uVar7 - (local_70 + 1);\n            goto LAB_00021d4c;\n          }" ({ "{") (expression_statement "uVar4 = uVar7 - (local_70 + 1);" (assignment_expression "uVar4 = uVar7 - (local_70 + 1)" (identifier "uVar4") (= "=") (binary_expression "uVar7 - (local_70 + 1)" (identifier "uVar7") (- "-") (parenthesized_expression "(local_70 + 1)" (( "(") (binary_expression "local_70 + 1" (identifier "local_70") (+ "+") (number_literal "1")) () ")")))) (; ";")) (goto_statement "goto LAB_00021d4c;" (goto "goto") (statement_identifier "LAB_00021d4c") (; ";")) (} "}")))) (expression_statement "dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);" (assignment_expression "dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768)" (identifier "dVar24") (= "=") (pointer_expression "*(double *)(PTR_LAB_00049218 + 0x6768)" (* "*") (cast_expression "(double *)(PTR_LAB_00049218 + 0x6768)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00049218 + 0x6768)" (( "(") (binary_expression "PTR_LAB_00049218 + 0x6768" (identifier "PTR_LAB_00049218") (+ "+") (number_literal "0x6768")) () ")"))))) (; ";")) (expression_statement "dVar23 = dVar22 * dVar24;" (assignment_expression "dVar23 = dVar22 * dVar24" (identifier "dVar23") (= "=") (binary_expression "dVar22 * dVar24" (identifier "dVar22") (* "*") (identifier "dVar24"))) (; ";")) (expression_statement "puVar20 = PTR_LAB_00049218;" (assignment_expression "puVar20 = PTR_LAB_00049218" (identifier "puVar20") (= "=") (identifier "PTR_LAB_00049218")) (; ";")) (if_statement "if (uVar4 == 1) goto LAB_0002207c;" (if "if") (parenthesized_expression "(uVar4 == 1)" (( "(") (binary_expression "uVar4 == 1" (identifier "uVar4") (== "==") (number_literal "1")) () ")")) (goto_statement "goto LAB_0002207c;" (goto "goto") (statement_identifier "LAB_0002207c") (; ";"))) (} "}")))) (expression_statement "puVar2 = PTR_LAB_00049218;" (assignment_expression "puVar2 = PTR_LAB_00049218" (identifier "puVar2") (= "=") (identifier "PTR_LAB_00049218")) (; ";")) (expression_statement "dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);" (assignment_expression "dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768)" (identifier "dVar24") (= "=") (pointer_expression "*(double *)(PTR_LAB_00049218 + 0x6768)" (* "*") (cast_expression "(double *)(PTR_LAB_00049218 + 0x6768)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00049218 + 0x6768)" (( "(") (binary_expression "PTR_LAB_00049218 + 0x6768" (identifier "PTR_LAB_00049218") (+ "+") (number_literal "0x6768")) () ")"))))) (; ";")) (if_statement "if (dVar23 < *(double *)(puVar20 + 0x6760)) {\n          lVar25 = FUN_00030930(dVar23);\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar22 != dVar23)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n          dVar23 = dVar22;\n          dVar24 = *(double *)(puVar2 + 0x6768);\n        }" (if "if") (parenthesized_expression "(dVar23 < *(double *)(puVar20 + 0x6760))" (( "(") (binary_expression "dVar23 < *(double *)(puVar20 + 0x6760)" (identifier "dVar23") (< "<") (pointer_expression "*(double *)(puVar20 + 0x6760)" (* "*") (cast_expression "(double *)(puVar20 + 0x6760)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x6760)" (( "(") (binary_expression "puVar20 + 0x6760" (identifier "puVar20") (+ "+") (number_literal "0x6760")) () ")"))))) () ")")) (compound_statement "{\n          lVar25 = FUN_00030930(dVar23);\n          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);\n          if ((uVar4 == 0) && (dVar22 != dVar23)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }\n          dVar23 = dVar22;\n          dVar24 = *(double *)(puVar2 + 0x6768);\n        }" ({ "{") (expression_statement "lVar25 = FUN_00030930(dVar23);" (assignment_expression "lVar25 = FUN_00030930(dVar23)" (identifier "lVar25") (= "=") (call_expression "FUN_00030930(dVar23)" (identifier "FUN_00030930") (argument_list "(dVar23)" (( "(") (identifier "dVar23") () ")")))) (; ";")) (expression_statement "dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);" (assignment_expression "dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25)" (identifier "dVar22") (= "=") (cast_expression "(double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25)" (identifier "FUN_000309d0") (argument_list "((int)((ulonglong)lVar25 >> 0x20),(int)lVar25)" (( "(") (cast_expression "(int)((ulonglong)lVar25 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)lVar25 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar25 >> 0x20" (cast_expression "(ulonglong)lVar25" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar25")) (>> ">>") (number_literal "0x20")) () ")"))) (, ",") (cast_expression "(int)lVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar25")) () ")"))))) (; ";")) (if_statement "if ((uVar4 == 0) && (dVar22 != dVar23)) {\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }" (if "if") (parenthesized_expression "((uVar4 == 0) && (dVar22 != dVar23))" (( "(") (binary_expression "(uVar4 == 0) && (dVar22 != dVar23)" (parenthesized_expression "(uVar4 == 0)" (( "(") (binary_expression "uVar4 == 0" (identifier "uVar4") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(dVar22 != dVar23)" (( "(") (binary_expression "dVar22 != dVar23" (identifier "dVar22") (!= "!=") (identifier "dVar23")) () ")"))) () ")")) (compound_statement "{\n            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));\n          }" ({ "{") (expression_statement "dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));" (assignment_expression "dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20))" (identifier "dVar22") (= "=") (cast_expression "(double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20))" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20))" (identifier "FUN_000309d0") (argument_list "((int)((ulonglong)(lVar25 + 1) >> 0x20))" (( "(") (cast_expression "(int)((ulonglong)(lVar25 + 1) >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)(lVar25 + 1) >> 0x20)" (( "(") (binary_expression "(ulonglong)(lVar25 + 1) >> 0x20" (call_expression "(ulonglong)(lVar25 + 1)" (parenthesized_expression "(ulonglong)" (( "(") (identifier "ulonglong") () ")")) (argument_list "(lVar25 + 1)" (( "(") (binary_expression "lVar25 + 1" (identifier "lVar25") (+ "+") (number_literal "1")) () ")"))) (>> ">>") (number_literal "0x20")) () ")"))) () ")"))))) (; ";")) (} "}"))) (expression_statement "dVar23 = dVar22;" (assignment_expression "dVar23 = dVar22" (identifier "dVar23") (= "=") (identifier "dVar22")) (; ";")) (expression_statement "dVar24 = *(double *)(puVar2 + 0x6768);" (assignment_expression "dVar24 = *(double *)(puVar2 + 0x6768)" (identifier "dVar24") (= "=") (pointer_expression "*(double *)(puVar2 + 0x6768)" (* "*") (cast_expression "(double *)(puVar2 + 0x6768)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 0x6768)" (( "(") (binary_expression "puVar2 + 0x6768" (identifier "puVar2") (+ "+") (number_literal "0x6768")) () ")"))))) (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_0002207c:\n      (*(code *)PTR___sprintf_chk_00049454)\n                (param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23 / dVar24);" (statement_identifier "LAB_0002207c") (: ":") (expression_statement "(*(code *)PTR___sprintf_chk_00049454)\n                (param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23 / dVar24);" (call_expression "(*(code *)PTR___sprintf_chk_00049454)\n                (param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23 / dVar24)" (parenthesized_expression "(*(code *)PTR___sprintf_chk_00049454)" (( "(") (pointer_expression "*(code *)PTR___sprintf_chk_00049454" (* "*") (cast_expression "(code *)PTR___sprintf_chk_00049454" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___sprintf_chk_00049454"))) () ")")) (argument_list "(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23 / dVar24)" (( "(") (identifier "param_3") (, ",") (number_literal "1") (, ",") (number_literal "0xffffffff") (, ",") (binary_expression "PTR_LAB_00049218 + 0x6700" (identifier "PTR_LAB_00049218") (+ "+") (number_literal "0x6700")) (, ",") (binary_expression "dVar23 / dVar24" (identifier "dVar23") (/ "/") (identifier "dVar24")) () ")"))) (; ";"))) (expression_statement "uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);" (assignment_expression "uVar7 = (*(code *)PTR_strlen_0004953c)(param_3)" (identifier "uVar7") (= "=") (call_expression "(*(code *)PTR_strlen_0004953c)(param_3)" (parenthesized_expression "(*(code *)PTR_strlen_0004953c)" (( "(") (pointer_expression "*(code *)PTR_strlen_0004953c" (* "*") (cast_expression "(code *)PTR_strlen_0004953c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_0004953c"))) () ")")) (argument_list "(param_3)" (( "(") (identifier "param_3") () ")")))) (; ";")) (expression_statement "uVar4 = uVar7;" (assignment_expression "uVar4 = uVar7" (identifier "uVar4") (= "=") (identifier "uVar7")) (; ";")) (} "}")))) (labeled_statement "LAB_00021d4c:\n    pcVar19 = local_88 + -uVar7;" (statement_identifier "LAB_00021d4c") (: ":") (expression_statement "pcVar19 = local_88 + -uVar7;" (assignment_expression "pcVar19 = local_88 + -uVar7" (identifier "pcVar19") (= "=") (binary_expression "local_88 + -uVar7" (identifier "local_88") (+ "+") (unary_expression "-uVar7" (- "-") (identifier "uVar7")))) (; ";"))) (expression_statement "(*(code *)PTR_memmove_00049610)(pcVar19,param_3,uVar7);" (call_expression "(*(code *)PTR_memmove_00049610)(pcVar19,param_3,uVar7)" (parenthesized_expression "(*(code *)PTR_memmove_00049610)" (( "(") (pointer_expression "*(code *)PTR_memmove_00049610" (* "*") (cast_expression "(code *)PTR_memmove_00049610" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memmove_00049610"))) () ")")) (argument_list "(pcVar19,param_3,uVar7)" (( "(") (identifier "pcVar19") (, ",") (identifier "param_3") (, ",") (identifier "uVar7") () ")"))) (; ";")) (expression_statement "pcVar15 = pcVar19 + uVar4;" (assignment_expression "pcVar15 = pcVar19 + uVar4" (identifier "pcVar15") (= "=") (binary_expression "pcVar19 + uVar4" (identifier "pcVar19") (+ "+") (identifier "uVar4"))) (; ";")) (} "}")))) (if_statement "if ((param_4 & 4) != 0) {\n    uVar6 = (int)pcVar15 - (int)pcVar19;\n    iVar8 = (*(code *)PTR_strlen_0004953c)(local_7c);\n    (*(code *)PTR___memcpy_chk_00049558)(auStack_60,pcVar19,uVar6,0x29);\n    uVar4 = 0xffffffff;\n    while( true ) {\n      uVar7 = (uint)*pbVar17;\n      if (uVar7 != 0) {\n        uVar4 = uVar7;\n        if (0x7e < uVar7) {\n          uVar4 = uVar6;\n        }\n        pbVar17 = pbVar17 + 1;\n      }\n      if (uVar6 < uVar4) break;\n      uVar6 = uVar6 - uVar4;\n      pcVar19 = pcVar15 + -uVar4;\n      (*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60 + uVar6,uVar4);\n      if (uVar6 == 0) goto LAB_00021d7c;\n      pcVar15 = pcVar19 + -iVar8;\n      (*(code *)PTR_memcpy_00049600)(pcVar15,local_7c,iVar8);\n    }\n    pcVar19 = pcVar15 + -uVar6;\n    (*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60,uVar6);\n  }" (if "if") (parenthesized_expression "((param_4 & 4) != 0)" (( "(") (binary_expression "(param_4 & 4) != 0" (parenthesized_expression "(param_4 & 4)" (( "(") (binary_expression "param_4 & 4" (identifier "param_4") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    uVar6 = (int)pcVar15 - (int)pcVar19;\n    iVar8 = (*(code *)PTR_strlen_0004953c)(local_7c);\n    (*(code *)PTR___memcpy_chk_00049558)(auStack_60,pcVar19,uVar6,0x29);\n    uVar4 = 0xffffffff;\n    while( true ) {\n      uVar7 = (uint)*pbVar17;\n      if (uVar7 != 0) {\n        uVar4 = uVar7;\n        if (0x7e < uVar7) {\n          uVar4 = uVar6;\n        }\n        pbVar17 = pbVar17 + 1;\n      }\n      if (uVar6 < uVar4) break;\n      uVar6 = uVar6 - uVar4;\n      pcVar19 = pcVar15 + -uVar4;\n      (*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60 + uVar6,uVar4);\n      if (uVar6 == 0) goto LAB_00021d7c;\n      pcVar15 = pcVar19 + -iVar8;\n      (*(code *)PTR_memcpy_00049600)(pcVar15,local_7c,iVar8);\n    }\n    pcVar19 = pcVar15 + -uVar6;\n    (*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60,uVar6);\n  }" ({ "{") (expression_statement "uVar6 = (int)pcVar15 - (int)pcVar19;" (assignment_expression "uVar6 = (int)pcVar15 - (int)pcVar19" (identifier "uVar6") (= "=") (binary_expression "(int)pcVar15 - (int)pcVar19" (cast_expression "(int)pcVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar15")) (- "-") (cast_expression "(int)pcVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar19")))) (; ";")) (expression_statement "iVar8 = (*(code *)PTR_strlen_0004953c)(local_7c);" (assignment_expression "iVar8 = (*(code *)PTR_strlen_0004953c)(local_7c)" (identifier "iVar8") (= "=") (call_expression "(*(code *)PTR_strlen_0004953c)(local_7c)" (parenthesized_expression "(*(code *)PTR_strlen_0004953c)" (( "(") (pointer_expression "*(code *)PTR_strlen_0004953c" (* "*") (cast_expression "(code *)PTR_strlen_0004953c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_0004953c"))) () ")")) (argument_list "(local_7c)" (( "(") (identifier "local_7c") () ")")))) (; ";")) (expression_statement "(*(code *)PTR___memcpy_chk_00049558)(auStack_60,pcVar19,uVar6,0x29);" (call_expression "(*(code *)PTR___memcpy_chk_00049558)(auStack_60,pcVar19,uVar6,0x29)" (parenthesized_expression "(*(code *)PTR___memcpy_chk_00049558)" (( "(") (pointer_expression "*(code *)PTR___memcpy_chk_00049558" (* "*") (cast_expression "(code *)PTR___memcpy_chk_00049558" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___memcpy_chk_00049558"))) () ")")) (argument_list "(auStack_60,pcVar19,uVar6,0x29)" (( "(") (identifier "auStack_60") (, ",") (identifier "pcVar19") (, ",") (identifier "uVar6") (, ",") (number_literal "0x29") () ")"))) (; ";")) (expression_statement "uVar4 = 0xffffffff;" (assignment_expression "uVar4 = 0xffffffff" (identifier "uVar4") (= "=") (number_literal "0xffffffff")) (; ";")) (while_statement "while( true ) {\n      uVar7 = (uint)*pbVar17;\n      if (uVar7 != 0) {\n        uVar4 = uVar7;\n        if (0x7e < uVar7) {\n          uVar4 = uVar6;\n        }\n        pbVar17 = pbVar17 + 1;\n      }\n      if (uVar6 < uVar4) break;\n      uVar6 = uVar6 - uVar4;\n      pcVar19 = pcVar15 + -uVar4;\n      (*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60 + uVar6,uVar4);\n      if (uVar6 == 0) goto LAB_00021d7c;\n      pcVar15 = pcVar19 + -iVar8;\n      (*(code *)PTR_memcpy_00049600)(pcVar15,local_7c,iVar8);\n    }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n      uVar7 = (uint)*pbVar17;\n      if (uVar7 != 0) {\n        uVar4 = uVar7;\n        if (0x7e < uVar7) {\n          uVar4 = uVar6;\n        }\n        pbVar17 = pbVar17 + 1;\n      }\n      if (uVar6 < uVar4) break;\n      uVar6 = uVar6 - uVar4;\n      pcVar19 = pcVar15 + -uVar4;\n      (*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60 + uVar6,uVar4);\n      if (uVar6 == 0) goto LAB_00021d7c;\n      pcVar15 = pcVar19 + -iVar8;\n      (*(code *)PTR_memcpy_00049600)(pcVar15,local_7c,iVar8);\n    }" ({ "{") (expression_statement "uVar7 = (uint)*pbVar17;" (assignment_expression "uVar7 = (uint)*pbVar17" (identifier "uVar7") (= "=") (binary_expression "(uint)*pbVar17" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar17"))) (; ";")) (if_statement "if (uVar7 != 0) {\n        uVar4 = uVar7;\n        if (0x7e < uVar7) {\n          uVar4 = uVar6;\n        }\n        pbVar17 = pbVar17 + 1;\n      }" (if "if") (parenthesized_expression "(uVar7 != 0)" (( "(") (binary_expression "uVar7 != 0" (identifier "uVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar4 = uVar7;\n        if (0x7e < uVar7) {\n          uVar4 = uVar6;\n        }\n        pbVar17 = pbVar17 + 1;\n      }" ({ "{") (expression_statement "uVar4 = uVar7;" (assignment_expression "uVar4 = uVar7" (identifier "uVar4") (= "=") (identifier "uVar7")) (; ";")) (if_statement "if (0x7e < uVar7) {\n          uVar4 = uVar6;\n        }" (if "if") (parenthesized_expression "(0x7e < uVar7)" (( "(") (binary_expression "0x7e < uVar7" (number_literal "0x7e") (< "<") (identifier "uVar7")) () ")")) (compound_statement "{\n          uVar4 = uVar6;\n        }" ({ "{") (expression_statement "uVar4 = uVar6;" (assignment_expression "uVar4 = uVar6" (identifier "uVar4") (= "=") (identifier "uVar6")) (; ";")) (} "}"))) (expression_statement "pbVar17 = pbVar17 + 1;" (assignment_expression "pbVar17 = pbVar17 + 1" (identifier "pbVar17") (= "=") (binary_expression "pbVar17 + 1" (identifier "pbVar17") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if (uVar6 < uVar4) break;" (if "if") (parenthesized_expression "(uVar6 < uVar4)" (( "(") (binary_expression "uVar6 < uVar4" (identifier "uVar6") (< "<") (identifier "uVar4")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar6 = uVar6 - uVar4;" (assignment_expression "uVar6 = uVar6 - uVar4" (identifier "uVar6") (= "=") (binary_expression "uVar6 - uVar4" (identifier "uVar6") (- "-") (identifier "uVar4"))) (; ";")) (expression_statement "pcVar19 = pcVar15 + -uVar4;" (assignment_expression "pcVar19 = pcVar15 + -uVar4" (identifier "pcVar19") (= "=") (binary_expression "pcVar15 + -uVar4" (identifier "pcVar15") (+ "+") (unary_expression "-uVar4" (- "-") (identifier "uVar4")))) (; ";")) (expression_statement "(*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60 + uVar6,uVar4);" (call_expression "(*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60 + uVar6,uVar4)" (parenthesized_expression "(*(code *)PTR_memcpy_00049600)" (( "(") (pointer_expression "*(code *)PTR_memcpy_00049600" (* "*") (cast_expression "(code *)PTR_memcpy_00049600" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memcpy_00049600"))) () ")")) (argument_list "(pcVar19,auStack_60 + uVar6,uVar4)" (( "(") (identifier "pcVar19") (, ",") (binary_expression "auStack_60 + uVar6" (identifier "auStack_60") (+ "+") (identifier "uVar6")) (, ",") (identifier "uVar4") () ")"))) (; ";")) (if_statement "if (uVar6 == 0) goto LAB_00021d7c;" (if "if") (parenthesized_expression "(uVar6 == 0)" (( "(") (binary_expression "uVar6 == 0" (identifier "uVar6") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00021d7c;" (goto "goto") (statement_identifier "LAB_00021d7c") (; ";"))) (expression_statement "pcVar15 = pcVar19 + -iVar8;" (assignment_expression "pcVar15 = pcVar19 + -iVar8" (identifier "pcVar15") (= "=") (binary_expression "pcVar19 + -iVar8" (identifier "pcVar19") (+ "+") (unary_expression "-iVar8" (- "-") (identifier "iVar8")))) (; ";")) (expression_statement "(*(code *)PTR_memcpy_00049600)(pcVar15,local_7c,iVar8);" (call_expression "(*(code *)PTR_memcpy_00049600)(pcVar15,local_7c,iVar8)" (parenthesized_expression "(*(code *)PTR_memcpy_00049600)" (( "(") (pointer_expression "*(code *)PTR_memcpy_00049600" (* "*") (cast_expression "(code *)PTR_memcpy_00049600" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memcpy_00049600"))) () ")")) (argument_list "(pcVar15,local_7c,iVar8)" (( "(") (identifier "pcVar15") (, ",") (identifier "local_7c") (, ",") (identifier "iVar8") () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar19 = pcVar15 + -uVar6;" (assignment_expression "pcVar19 = pcVar15 + -uVar6" (identifier "pcVar19") (= "=") (binary_expression "pcVar15 + -uVar6" (identifier "pcVar15") (+ "+") (unary_expression "-uVar6" (- "-") (identifier "uVar6")))) (; ";")) (expression_statement "(*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60,uVar6);" (call_expression "(*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60,uVar6)" (parenthesized_expression "(*(code *)PTR_memcpy_00049600)" (( "(") (pointer_expression "*(code *)PTR_memcpy_00049600" (* "*") (cast_expression "(code *)PTR_memcpy_00049600" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memcpy_00049600"))) () ")")) (argument_list "(pcVar19,auStack_60,uVar6)" (( "(") (identifier "pcVar19") (, ",") (identifier "auStack_60") (, ",") (identifier "uVar6") () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_00021d7c:\n  if ((param_4 & 0x80) == 0) goto LAB_00021da4;" (statement_identifier "LAB_00021d7c") (: ":") (if_statement "if ((param_4 & 0x80) == 0) goto LAB_00021da4;" (if "if") (parenthesized_expression "((param_4 & 0x80) == 0)" (( "(") (binary_expression "(param_4 & 0x80) == 0" (parenthesized_expression "(param_4 & 0x80)" (( "(") (binary_expression "param_4 & 0x80" (identifier "param_4") (& "&") (number_literal "0x80")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00021da4;" (goto "goto") (statement_identifier "LAB_00021da4") (; ";")))) (if_statement "if ((iVar13 == -1) && ((param_7 != 0 || (iVar13 = 0, 1 < param_8)))) {\n    iVar13 = 1;\n    uVar6 = 1;\n    uVar4 = 0;\n    do {\n      uVar29 = (ulonglong)uVar6;\n      uVar6 = (uint)(uVar29 * uVar16);\n      uVar4 = uVar16 * uVar4 + (int)(uVar29 * uVar16 >> 0x20);\n      if ((param_7 <= uVar4) && ((param_7 != uVar4 || (param_8 <= uVar6)))) break;\n      iVar13 = iVar13 + 1;\n    } while (iVar13 != 8);\n    if ((param_4 & 0x40) != 0) {\nLAB_000221fc:\n      local_88 = (char *)(param_3 + 0x288);\n      *(undefined1 *)(param_3 + 0x287) = 0x20;\n      goto LAB_00022208;\n    }\nLAB_00022210:\n    if ((uVar10 == 0) && (iVar13 == 1)) {\n      cVar9 = 'k';\n    }\n    else {\n      cVar9 = PTR_LAB_00049218[iVar13 + 0x6748];\n    }\n    pcVar15 = local_88 + 1;\n    *local_88 = cVar9;\n  }\n  else {\n    if ((param_4 & 0x100) == 0 && iVar13 == 0) goto LAB_00021da4;\n    if ((param_4 & 0x40) != 0) goto LAB_000221fc;\nLAB_00022208:\n    pcVar15 = local_88;\n    if (iVar13 != 0) goto LAB_00022210;\n  }" (if "if") (parenthesized_expression "((iVar13 == -1) && ((param_7 != 0 || (iVar13 = 0, 1 < param_8))))" (( "(") (binary_expression "(iVar13 == -1) && ((param_7 != 0 || (iVar13 = 0, 1 < param_8)))" (parenthesized_expression "(iVar13 == -1)" (( "(") (binary_expression "iVar13 == -1" (identifier "iVar13") (== "==") (number_literal "-1")) () ")")) (&& "&&") (parenthesized_expression "((param_7 != 0 || (iVar13 = 0, 1 < param_8)))" (( "(") (parenthesized_expression "(param_7 != 0 || (iVar13 = 0, 1 < param_8))" (( "(") (binary_expression "param_7 != 0 || (iVar13 = 0, 1 < param_8)" (binary_expression "param_7 != 0" (identifier "param_7") (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "(iVar13 = 0, 1 < param_8)" (( "(") (comma_expression "iVar13 = 0, 1 < param_8" (assignment_expression "iVar13 = 0" (identifier "iVar13") (= "=") (number_literal "0")) (, ",") (binary_expression "1 < param_8" (number_literal "1") (< "<") (identifier "param_8"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n    iVar13 = 1;\n    uVar6 = 1;\n    uVar4 = 0;\n    do {\n      uVar29 = (ulonglong)uVar6;\n      uVar6 = (uint)(uVar29 * uVar16);\n      uVar4 = uVar16 * uVar4 + (int)(uVar29 * uVar16 >> 0x20);\n      if ((param_7 <= uVar4) && ((param_7 != uVar4 || (param_8 <= uVar6)))) break;\n      iVar13 = iVar13 + 1;\n    } while (iVar13 != 8);\n    if ((param_4 & 0x40) != 0) {\nLAB_000221fc:\n      local_88 = (char *)(param_3 + 0x288);\n      *(undefined1 *)(param_3 + 0x287) = 0x20;\n      goto LAB_00022208;\n    }\nLAB_00022210:\n    if ((uVar10 == 0) && (iVar13 == 1)) {\n      cVar9 = 'k';\n    }\n    else {\n      cVar9 = PTR_LAB_00049218[iVar13 + 0x6748];\n    }\n    pcVar15 = local_88 + 1;\n    *local_88 = cVar9;\n  }" ({ "{") (expression_statement "iVar13 = 1;" (assignment_expression "iVar13 = 1" (identifier "iVar13") (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" (identifier "uVar6") (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" (identifier "uVar4") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n      uVar29 = (ulonglong)uVar6;\n      uVar6 = (uint)(uVar29 * uVar16);\n      uVar4 = uVar16 * uVar4 + (int)(uVar29 * uVar16 >> 0x20);\n      if ((param_7 <= uVar4) && ((param_7 != uVar4 || (param_8 <= uVar6)))) break;\n      iVar13 = iVar13 + 1;\n    } while (iVar13 != 8);" (do "do") (compound_statement "{\n      uVar29 = (ulonglong)uVar6;\n      uVar6 = (uint)(uVar29 * uVar16);\n      uVar4 = uVar16 * uVar4 + (int)(uVar29 * uVar16 >> 0x20);\n      if ((param_7 <= uVar4) && ((param_7 != uVar4 || (param_8 <= uVar6)))) break;\n      iVar13 = iVar13 + 1;\n    }" ({ "{") (expression_statement "uVar29 = (ulonglong)uVar6;" (assignment_expression "uVar29 = (ulonglong)uVar6" (identifier "uVar29") (= "=") (cast_expression "(ulonglong)uVar6" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar6"))) (; ";")) (expression_statement "uVar6 = (uint)(uVar29 * uVar16);" (assignment_expression "uVar6 = (uint)(uVar29 * uVar16)" (identifier "uVar6") (= "=") (call_expression "(uint)(uVar29 * uVar16)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar29 * uVar16)" (( "(") (binary_expression "uVar29 * uVar16" (identifier "uVar29") (* "*") (identifier "uVar16")) () ")")))) (; ";")) (expression_statement "uVar4 = uVar16 * uVar4 + (int)(uVar29 * uVar16 >> 0x20);" (assignment_expression "uVar4 = uVar16 * uVar4 + (int)(uVar29 * uVar16 >> 0x20)" (identifier "uVar4") (= "=") (binary_expression "uVar16 * uVar4 + (int)(uVar29 * uVar16 >> 0x20)" (binary_expression "uVar16 * uVar4" (identifier "uVar16") (* "*") (identifier "uVar4")) (+ "+") (cast_expression "(int)(uVar29 * uVar16 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uVar29 * uVar16 >> 0x20)" (( "(") (binary_expression "uVar29 * uVar16 >> 0x20" (binary_expression "uVar29 * uVar16" (identifier "uVar29") (* "*") (identifier "uVar16")) (>> ">>") (number_literal "0x20")) () ")"))))) (; ";")) (if_statement "if ((param_7 <= uVar4) && ((param_7 != uVar4 || (param_8 <= uVar6)))) break;" (if "if") (parenthesized_expression "((param_7 <= uVar4) && ((param_7 != uVar4 || (param_8 <= uVar6))))" (( "(") (binary_expression "(param_7 <= uVar4) && ((param_7 != uVar4 || (param_8 <= uVar6)))" (parenthesized_expression "(param_7 <= uVar4)" (( "(") (binary_expression "param_7 <= uVar4" (identifier "param_7") (<= "<=") (identifier "uVar4")) () ")")) (&& "&&") (parenthesized_expression "((param_7 != uVar4 || (param_8 <= uVar6)))" (( "(") (parenthesized_expression "(param_7 != uVar4 || (param_8 <= uVar6))" (( "(") (binary_expression "param_7 != uVar4 || (param_8 <= uVar6)" (binary_expression "param_7 != uVar4" (identifier "param_7") (!= "!=") (identifier "uVar4")) (|| "||") (parenthesized_expression "(param_8 <= uVar6)" (( "(") (binary_expression "param_8 <= uVar6" (identifier "param_8") (<= "<=") (identifier "uVar6")) () ")"))) () ")")) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" (identifier "iVar13") (= "=") (binary_expression "iVar13 + 1" (identifier "iVar13") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar13 != 8)" (( "(") (binary_expression "iVar13 != 8" (identifier "iVar13") (!= "!=") (number_literal "8")) () ")")) (; ";")) (if_statement "if ((param_4 & 0x40) != 0) {\nLAB_000221fc:\n      local_88 = (char *)(param_3 + 0x288);\n      *(undefined1 *)(param_3 + 0x287) = 0x20;\n      goto LAB_00022208;\n    }" (if "if") (parenthesized_expression "((param_4 & 0x40) != 0)" (( "(") (binary_expression "(param_4 & 0x40) != 0" (parenthesized_expression "(param_4 & 0x40)" (( "(") (binary_expression "param_4 & 0x40" (identifier "param_4") (& "&") (number_literal "0x40")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000221fc:\n      local_88 = (char *)(param_3 + 0x288);\n      *(undefined1 *)(param_3 + 0x287) = 0x20;\n      goto LAB_00022208;\n    }" ({ "{") (labeled_statement "LAB_000221fc:\n      local_88 = (char *)(param_3 + 0x288);" (statement_identifier "LAB_000221fc") (: ":") (expression_statement "local_88 = (char *)(param_3 + 0x288);" (assignment_expression "local_88 = (char *)(param_3 + 0x288)" (identifier "local_88") (= "=") (cast_expression "(char *)(param_3 + 0x288)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x288)" (( "(") (binary_expression "param_3 + 0x288" (identifier "param_3") (+ "+") (number_literal "0x288")) () ")")))) (; ";"))) (expression_statement "*(undefined1 *)(param_3 + 0x287) = 0x20;" (assignment_expression "*(undefined1 *)(param_3 + 0x287) = 0x20" (pointer_expression "*(undefined1 *)(param_3 + 0x287)" (* "*") (cast_expression "(undefined1 *)(param_3 + 0x287)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x287)" (( "(") (binary_expression "param_3 + 0x287" (identifier "param_3") (+ "+") (number_literal "0x287")) () ")")))) (= "=") (number_literal "0x20")) (; ";")) (goto_statement "goto LAB_00022208;" (goto "goto") (statement_identifier "LAB_00022208") (; ";")) (} "}"))) (labeled_statement "LAB_00022210:\n    if ((uVar10 == 0) && (iVar13 == 1)) {\n      cVar9 = 'k';\n    }\n    else {\n      cVar9 = PTR_LAB_00049218[iVar13 + 0x6748];\n    }" (statement_identifier "LAB_00022210") (: ":") (if_statement "if ((uVar10 == 0) && (iVar13 == 1)) {\n      cVar9 = 'k';\n    }\n    else {\n      cVar9 = PTR_LAB_00049218[iVar13 + 0x6748];\n    }" (if "if") (parenthesized_expression "((uVar10 == 0) && (iVar13 == 1))" (( "(") (binary_expression "(uVar10 == 0) && (iVar13 == 1)" (parenthesized_expression "(uVar10 == 0)" (( "(") (binary_expression "uVar10 == 0" (identifier "uVar10") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar13 == 1)" (( "(") (binary_expression "iVar13 == 1" (identifier "iVar13") (== "==") (number_literal "1")) () ")"))) () ")")) (compound_statement "{\n      cVar9 = 'k';\n    }" ({ "{") (expression_statement "cVar9 = 'k';" (assignment_expression "cVar9 = 'k'" (identifier "cVar9") (= "=") (char_literal "'k'" (' "'") (character "k") (' "'"))) (; ";")) (} "}")) (else_clause "else {\n      cVar9 = PTR_LAB_00049218[iVar13 + 0x6748];\n    }" (else "else") (compound_statement "{\n      cVar9 = PTR_LAB_00049218[iVar13 + 0x6748];\n    }" ({ "{") (expression_statement "cVar9 = PTR_LAB_00049218[iVar13 + 0x6748];" (assignment_expression "cVar9 = PTR_LAB_00049218[iVar13 + 0x6748]" (identifier "cVar9") (= "=") (subscript_expression "PTR_LAB_00049218[iVar13 + 0x6748]" (identifier "PTR_LAB_00049218") ([ "[") (binary_expression "iVar13 + 0x6748" (identifier "iVar13") (+ "+") (number_literal "0x6748")) (] "]"))) (; ";")) (} "}"))))) (expression_statement "pcVar15 = local_88 + 1;" (assignment_expression "pcVar15 = local_88 + 1" (identifier "pcVar15") (= "=") (binary_expression "local_88 + 1" (identifier "local_88") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*local_88 = cVar9;" (assignment_expression "*local_88 = cVar9" (pointer_expression "*local_88" (* "*") (identifier "local_88")) (= "=") (identifier "cVar9")) (; ";")) (} "}")) (else_clause "else {\n    if ((param_4 & 0x100) == 0 && iVar13 == 0) goto LAB_00021da4;\n    if ((param_4 & 0x40) != 0) goto LAB_000221fc;\nLAB_00022208:\n    pcVar15 = local_88;\n    if (iVar13 != 0) goto LAB_00022210;\n  }" (else "else") (compound_statement "{\n    if ((param_4 & 0x100) == 0 && iVar13 == 0) goto LAB_00021da4;\n    if ((param_4 & 0x40) != 0) goto LAB_000221fc;\nLAB_00022208:\n    pcVar15 = local_88;\n    if (iVar13 != 0) goto LAB_00022210;\n  }" ({ "{") (if_statement "if ((param_4 & 0x100) == 0 && iVar13 == 0) goto LAB_00021da4;" (if "if") (parenthesized_expression "((param_4 & 0x100) == 0 && iVar13 == 0)" (( "(") (binary_expression "(param_4 & 0x100) == 0 && iVar13 == 0" (binary_expression "(param_4 & 0x100) == 0" (parenthesized_expression "(param_4 & 0x100)" (( "(") (binary_expression "param_4 & 0x100" (identifier "param_4") (& "&") (number_literal "0x100")) () ")")) (== "==") (number_literal "0")) (&& "&&") (binary_expression "iVar13 == 0" (identifier "iVar13") (== "==") (number_literal "0"))) () ")")) (goto_statement "goto LAB_00021da4;" (goto "goto") (statement_identifier "LAB_00021da4") (; ";"))) (if_statement "if ((param_4 & 0x40) != 0) goto LAB_000221fc;" (if "if") (parenthesized_expression "((param_4 & 0x40) != 0)" (( "(") (binary_expression "(param_4 & 0x40) != 0" (parenthesized_expression "(param_4 & 0x40)" (( "(") (binary_expression "param_4 & 0x40" (identifier "param_4") (& "&") (number_literal "0x40")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000221fc;" (goto "goto") (statement_identifier "LAB_000221fc") (; ";"))) (labeled_statement "LAB_00022208:\n    pcVar15 = local_88;" (statement_identifier "LAB_00022208") (: ":") (expression_statement "pcVar15 = local_88;" (assignment_expression "pcVar15 = local_88" (identifier "pcVar15") (= "=") (identifier "local_88")) (; ";"))) (if_statement "if (iVar13 != 0) goto LAB_00022210;" (if "if") (parenthesized_expression "(iVar13 != 0)" (( "(") (binary_expression "iVar13 != 0" (identifier "iVar13") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00022210;" (goto "goto") (statement_identifier "LAB_00022210") (; ";"))) (} "}")))) (expression_statement "local_88 = pcVar15;" (assignment_expression "local_88 = pcVar15" (identifier "local_88") (= "=") (identifier "pcVar15")) (; ";")) (if_statement "if ((param_4 & 0x100) != 0) {\n    pcVar11 = pcVar15 + 1;\n    local_88 = pcVar11;\n    if ((uVar10 != 0) && (iVar13 != 0)) {\n      local_88 = pcVar15 + 2;\n      *pcVar15 = 'i';\n      pcVar15 = pcVar11;\n    }\n    *pcVar15 = 'B';\n  }" (if "if") (parenthesized_expression "((param_4 & 0x100) != 0)" (( "(") (binary_expression "(param_4 & 0x100) != 0" (parenthesized_expression "(param_4 & 0x100)" (( "(") (binary_expression "param_4 & 0x100" (identifier "param_4") (& "&") (number_literal "0x100")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    pcVar11 = pcVar15 + 1;\n    local_88 = pcVar11;\n    if ((uVar10 != 0) && (iVar13 != 0)) {\n      local_88 = pcVar15 + 2;\n      *pcVar15 = 'i';\n      pcVar15 = pcVar11;\n    }\n    *pcVar15 = 'B';\n  }" ({ "{") (expression_statement "pcVar11 = pcVar15 + 1;" (assignment_expression "pcVar11 = pcVar15 + 1" (identifier "pcVar11") (= "=") (binary_expression "pcVar15 + 1" (identifier "pcVar15") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_88 = pcVar11;" (assignment_expression "local_88 = pcVar11" (identifier "local_88") (= "=") (identifier "pcVar11")) (; ";")) (if_statement "if ((uVar10 != 0) && (iVar13 != 0)) {\n      local_88 = pcVar15 + 2;\n      *pcVar15 = 'i';\n      pcVar15 = pcVar11;\n    }" (if "if") (parenthesized_expression "((uVar10 != 0) && (iVar13 != 0))" (( "(") (binary_expression "(uVar10 != 0) && (iVar13 != 0)" (parenthesized_expression "(uVar10 != 0)" (( "(") (binary_expression "uVar10 != 0" (identifier "uVar10") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar13 != 0)" (( "(") (binary_expression "iVar13 != 0" (identifier "iVar13") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      local_88 = pcVar15 + 2;\n      *pcVar15 = 'i';\n      pcVar15 = pcVar11;\n    }" ({ "{") (expression_statement "local_88 = pcVar15 + 2;" (assignment_expression "local_88 = pcVar15 + 2" (identifier "local_88") (= "=") (binary_expression "pcVar15 + 2" (identifier "pcVar15") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "*pcVar15 = 'i';" (assignment_expression "*pcVar15 = 'i'" (pointer_expression "*pcVar15" (* "*") (identifier "pcVar15")) (= "=") (char_literal "'i'" (' "'") (character "i") (' "'"))) (; ";")) (expression_statement "pcVar15 = pcVar11;" (assignment_expression "pcVar15 = pcVar11" (identifier "pcVar15") (= "=") (identifier "pcVar11")) (; ";")) (} "}"))) (expression_statement "*pcVar15 = 'B';" (assignment_expression "*pcVar15 = 'B'" (pointer_expression "*pcVar15" (* "*") (identifier "pcVar15")) (= "=") (char_literal "'B'" (' "'") (character "B") (' "'"))) (; ";")) (} "}"))) (labeled_statement "LAB_00021da4:\n  while( true ) {\n    *local_88 = '\0';\n    if (local_34 == *(int *)puVar3) break;\n    local_88 = (char *)(*(code *)PTR___stack_chk_fail_000495d0)();\n  }" (statement_identifier "LAB_00021da4") (: ":") (while_statement "while( true ) {\n    *local_88 = '\0';\n    if (local_34 == *(int *)puVar3) break;\n    local_88 = (char *)(*(code *)PTR___stack_chk_fail_000495d0)();\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    *local_88 = '\0';\n    if (local_34 == *(int *)puVar3) break;\n    local_88 = (char *)(*(code *)PTR___stack_chk_fail_000495d0)();\n  }" ({ "{") (expression_statement "*local_88 = '\0';" (assignment_expression "*local_88 = '\0'" (pointer_expression "*local_88" (* "*") (identifier "local_88")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (if_statement "if (local_34 == *(int *)puVar3) break;" (if "if") (parenthesized_expression "(local_34 == *(int *)puVar3)" (( "(") (binary_expression "local_34 == *(int *)puVar3" (identifier "local_34") (== "==") (pointer_expression "*(int *)puVar3" (* "*") (cast_expression "(int *)puVar3" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar3")))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "local_88 = (char *)(*(code *)PTR___stack_chk_fail_000495d0)();" (assignment_expression "local_88 = (char *)(*(code *)PTR___stack_chk_fail_000495d0)()" (identifier "local_88") (= "=") (cast_expression "(char *)(*(code *)PTR___stack_chk_fail_000495d0)()" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___stack_chk_fail_000495d0)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000495d0)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_000495d0" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_000495d0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_000495d0"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (} "}")))) (return_statement "return pcVar19;" (return "return") (identifier "pcVar19") (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier))))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) 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: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator 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: (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: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (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: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list)))) (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: (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: (identifier) right: (identifier))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier) (identifier))))) (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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (identifier)))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (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: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) (number_literal) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (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 (call_expression function: (identifier) arguments: (argument_list (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) (number_literal) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (identifier))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (unary_expression argument: (identifier))) consequence: (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (identifier)) right: (parenthesized_expression (binary_expression left: (identifier) 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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (character))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) 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))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (character)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_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 (expression_statement (assignment_expression left: (identifier) right: (char_literal (character)))) (goto_statement label: (statement_identifier)))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))) (break_statement)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (identifier)) right: (number_literal))) right: (identifier)))))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (do_statement body: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (char_literal (character))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal) (number_literal)))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier)))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) right: (number_literal))))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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 (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (character)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (unary_expression argument: (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (character)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (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 (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (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: (identifier) right: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)))) right: (identifier))))))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (break_statement))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (identifier)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (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: (identifier) right: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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 (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))))))))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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))))))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_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: (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: (identifier)) right: (number_literal))))) right: (char_literal (character)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (goto_statement label: (statement_identifier))))) (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: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (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 (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))))))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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)))))))))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (unary_expression argument: (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (unary_expression argument: (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (identifier)) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (unary_expression argument: (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (unary_expression argument: (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier)))))) (labeled_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: (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (number_literal) right: (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: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (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 (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (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: (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))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (char_literal (character))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (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: (pointer_expression argument: (identifier)) right: (identifier)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) 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: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))))) (labeled_statement label: (statement_identifier) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))) (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: (identifier))))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list)))))))) (return_statement (identifier)))))

/* WARNING: Removing unreachable block (ram,0x00021f3c) */

char * MASKED(undefined4 param_1,undefined4 param_2,int param_3,uint param_4,uint param_5,
                     uint param_6,uint param_7,uint param_8)

{
  bool bVar1;
  undefined *puVar2;
  undefined *puVar3;
  uint uVar4;
  undefined4 *puVar5;
  uint uVar6;
  uint uVar7;
  int iVar8;
  char cVar9;
  uint uVar10;
  uint extraout_v1;
  char extraout_v1_01;
  int extraout_v1_00;
  char *pcVar11;
  uint uVar12;
  int iVar13;
  uint uVar14;
  char *pcVar15;
  uint uVar16;
  byte *pbVar17;
  undefined4 uVar18;
  char *pcVar19;
  undefined *puVar20;
  uint uVar21;
  double dVar22;
  double dVar23;
  double dVar24;
  longlong lVar25;
  ulonglong uVar26;
  longlong lVar27;
  undefined8 uVar28;
  ulonglong uVar29;
  char *local_88;
  undefined *local_7c;
  uint local_70;
  undefined *local_68;
  undefined1 auStack_60 [44];
  int local_34;
  
  puVar3 = PTR___stack_chk_guard_000495fc;
  uVar10 = param_4 & 0x20;
  uVar16 = 0x400;
  local_34 = *(int *)PTR___stack_chk_guard_000495fc;
  uVar4 = param_4 & 3;
  if (uVar10 == 0) {
    uVar16 = 1000;
  }
  puVar5 = (undefined4 *)(*(code *)PTR_localeconv_000494b4)();
  local_68 = (undefined *)*puVar5;
  local_70 = (*(code *)PTR_strlen_0004953c)(local_68);
  if (0xf < local_70 - 1) {
    local_70 = 1;
    local_68 = PTR_LAB_00049218 + 0x6104;
  }
  local_7c = (undefined *)puVar5[1];
  pbVar17 = (byte *)puVar5[2];
  uVar6 = (*(code *)PTR_strlen_0004953c)();
  if (0x10 < uVar6) {
    local_7c = PTR_LAB_00049218 + 0x7ea8;
  }
  local_88 = (char *)(param_3 + 0x287);
  if ((param_5 < param_7) || ((param_7 == param_5 && (param_6 < param_8)))) {
    if ((param_5 == 0 && param_6 == 0) ||
       (lVar25 = FUN_000317b0(param_7,param_8,param_5,param_6), lVar25 != 0)) goto LAB_00021ca0;
    uVar26 = FUN_00031340(param_7,param_8,param_5,param_6);
    uVar7 = (uint)(uVar26 >> 0x20);
    uVar12 = (uint)uVar26;
    uVar28 = FUN_000317b0(param_1,param_2,uVar7,uVar12);
    iVar13 = (int)((ulonglong)uVar28 >> 0x20);
    uVar6 = (uint)uVar28;
    uVar21 = uVar6 * 5 >> 0x1f |
             ((uint)(uVar6 * 5 < uVar6 * 4) + (uVar6 >> 0x1e | iVar13 << 2) + iVar13) * 2;
    lVar27 = FUN_000317b0(uVar21,uVar6 * 10,uVar7,uVar12);
    lVar25 = lVar27 << 1;
    uVar14 = (uint)((ulonglong)lVar25 >> 0x20);
    uVar29 = FUN_00031340(param_1,param_2,uVar7,uVar12);
    FUN_00031340(uVar21,uVar6 * 10,uVar7,uVar12);
    uVar6 = extraout_v1;
    if ((uVar14 < uVar7) || ((uVar7 == uVar14 && ((uint)lVar25 < uVar12)))) {
      uVar7 = (uint)(lVar25 != 0);
    }
    else if (uVar26 < (ulonglong)(lVar27 << 1)) {
      uVar7 = 3;
    }
    else {
      uVar7 = 2;
    }
LAB_000223b4:
    pcVar15 = local_88;
    if ((param_4 & 0x10) == 0) {
      iVar13 = -1;
    }
    else {
      iVar13 = 0;
      if (((int)(uVar29 >> 0x20) != 0) || (uVar16 <= (uint)uVar29)) {
        iVar13 = 0;
        do {
          uVar18 = (undefined4)(uVar29 >> 0x20);
          FUN_000317b0(uVar18,(int)uVar29,0,uVar16);
          uVar12 = extraout_v1_00 * 10 + uVar6;
          if (uVar16 == 0) {
            trap(7);
          }
          uVar6 = uVar12 / uVar16;
          uVar14 = (uVar12 % uVar16) * 2 + ((int)uVar7 >> 1);
          uVar29 = FUN_00031340(uVar18,(int)uVar29,0,uVar16);
          puVar20 = PTR_memcpy_00049600;
          uVar12 = (uint)uVar29;
          uVar21 = uVar7 + uVar14;
          if (uVar14 < uVar16) {
            uVar7 = (uint)(uVar21 != 0);
          }
          else {
            uVar7 = 2;
            if (uVar16 < uVar21) {
              uVar7 = 3;
            }
          }
          iVar13 = iVar13 + 1;
          if (((int)(uVar29 >> 0x20) == 0) && (uVar12 < uVar16)) {
            if (uVar12 < 10) {
              if (uVar4 == 1) {
                bVar1 = 2 < (uVar6 & 1) + uVar7;
LAB_000226fc:
                if (!bVar1) goto LAB_0002268c;
                uVar14 = uVar12 + 1;
                if (uVar6 == 9) {
                  bVar1 = uVar14 < uVar12;
                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);
                  if ((bVar1) || (uVar14 != 10)) {
                    uVar7 = 0;
                    goto LAB_00022694;
                  }
                  uVar7 = 0;
                  uVar29 = (ulonglong)CONCAT14(bVar1,uVar14);
                  goto LAB_000226d4;
                }
                cVar9 = (char)uVar6 + '1';
LAB_000226a4:
                uVar7 = 0;
                *(char *)(param_3 + 0x286) = cVar9;
                pcVar15 = (char *)((param_3 + 0x286) - local_70);
                (*(code *)puVar20)(pcVar15,local_68,local_70);
              }
              else {
                bVar1 = uVar7 != 0;
                if (uVar4 == 0) goto LAB_000226fc;
LAB_0002268c:
                cVar9 = (char)uVar6 + '0';
                if (uVar6 != 0) goto LAB_000226a4;
LAB_00022694:
                if ((param_4 & 8) == 0) {
                  cVar9 = '0';
                  goto LAB_000226a4;
                }
              }
LAB_000226d4:
              uVar6 = 0;
              pcVar19 = pcVar15;
              if (uVar4 == 1) goto LAB_00022428;
              goto LAB_000223ec;
            }
            break;
          }
        } while (iVar13 != 8);
      }
    }
    if (uVar4 == 1) {
      pcVar19 = local_88;
      if (5 < (int)((((uint)uVar29 & 1) + uVar7 != 0) + uVar6)) goto LAB_000223fc;
LAB_00022428:
      do {
        do {
          iVar8 = (int)(uVar29 >> 0x20);
          uVar4 = (uint)uVar29;
          FUN_000317b0(iVar8,uVar4,0,10);
          pcVar19 = pcVar19 + -1;
          *pcVar19 = extraout_v1_01 + '0';
          uVar29 = FUN_00031340(iVar8,uVar4,0,10);
        } while (iVar8 != 0);
      } while (9 < uVar4);
    }
    else {
LAB_000223ec:
      pcVar19 = pcVar15;
      if ((uVar4 != 0) || ((int)(uVar6 + uVar7) < 1)) goto LAB_00022428;
LAB_000223fc:
      puVar20 = PTR_memcpy_00049600;
      uVar29 = uVar29 + 1;
      pcVar19 = pcVar15;
      if (((param_4 & 0x10) == 0) ||
         ((((int)(uVar29 >> 0x20) != 0 || (uVar16 != (uint)uVar29)) || (iVar13 == 8))))
      goto LAB_00022428;
      iVar13 = iVar13 + 1;
      if ((param_4 & 8) == 0) {
        pcVar15[-1] = '0';
        pcVar15 = pcVar15 + ~local_70;
        (*(code *)puVar20)(pcVar15,local_68);
      }
      pcVar19 = pcVar15 + -1;
      pcVar15[-1] = '1';
    }
  }
  else {
    lVar25 = FUN_000317b0(param_5,param_6,param_7,param_8);
    if (lVar25 == 0) {
      lVar25 = FUN_00031340(param_5,param_6,param_7,param_8);
      uVar29 = lVar25 * CONCAT44(param_1,param_2);
      lVar25 = FUN_00031340((int)(uVar29 >> 0x20),(int)uVar29,(int)((ulonglong)lVar25 >> 0x20));
      if (lVar25 == CONCAT44(param_1,param_2)) {
        uVar7 = 0;
        uVar6 = 0;
        goto LAB_000223b4;
      }
    }
LAB_00021ca0:
    dVar22 = (double)FUN_000309d0(param_5,param_6);
    dVar23 = (double)FUN_000309d0(param_7,param_8);
    dVar22 = dVar22 / dVar23;
    dVar23 = (double)FUN_000309d0(param_1,param_2);
    puVar20 = PTR_LAB_00049218;
    dVar22 = dVar22 * dVar23;
    if ((param_4 & 0x10) == 0) {
      dVar23 = dVar22;
      if (((param_4 & 3) != 1) && (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760))) {
        uVar28 = FUN_00030930(dVar22);
        iVar13 = (int)((ulonglong)uVar28 >> 0x20);
        uVar4 = (uint)uVar28;
        dVar23 = (double)FUN_000309d0(iVar13,uVar4);
        if (((param_4 & 3) == 0) && (dVar22 != dVar23)) {
          dVar23 = (double)FUN_000309d0((uint)(uVar4 + 1 < uVar4) + iVar13);
        }
      }
      (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23);
      iVar13 = -1;
      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);
      uVar4 = uVar7;
    }
    else {
      iVar13 = 0;
      dVar23 = (double)uVar16;
      do {
        dVar24 = dVar23;
        dVar23 = dVar24 * (double)uVar16;
        iVar13 = iVar13 + 1;
        if (dVar22 < dVar23) break;
      } while (iVar13 != 8);
      dVar22 = dVar22 / dVar24;
      uVar6 = (uVar10 == 0) + 1 + local_70 + 1;
      if (uVar4 == 1) {
        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)
        ;
        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);
        if (uVar7 <= uVar6) goto LAB_0002232c;
        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);
        dVar23 = dVar22 * dVar24;
      }
      else {
        dVar23 = dVar22;
        if (dVar22 < *(double *)(PTR_LAB_00049218 + 0x6760)) {
          lVar25 = FUN_00030930(dVar22);
          dVar23 = dVar22;
          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);
          if ((uVar4 == 0) && (dVar23 != dVar22)) {
            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));
          }
        }
        (*(code *)PTR___sprintf_chk_00049454)(param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6708,dVar22)
        ;
        uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);
        dVar22 = dVar23;
        if (uVar6 < uVar7) {
          dVar23 = dVar23 * *(double *)(PTR_LAB_00049218 + 0x6768);
        }
        else {
LAB_0002232c:
          if (((param_4 & 8) == 0) || (*(char *)(param_3 + uVar7 + -1) != '0')) {
            uVar4 = uVar7 - (local_70 + 1);
            goto LAB_00021d4c;
          }
          dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);
          dVar23 = dVar22 * dVar24;
          puVar20 = PTR_LAB_00049218;
          if (uVar4 == 1) goto LAB_0002207c;
        }
        puVar2 = PTR_LAB_00049218;
        dVar24 = *(double *)(PTR_LAB_00049218 + 0x6768);
        if (dVar23 < *(double *)(puVar20 + 0x6760)) {
          lVar25 = FUN_00030930(dVar23);
          dVar22 = (double)FUN_000309d0((int)((ulonglong)lVar25 >> 0x20),(int)lVar25);
          if ((uVar4 == 0) && (dVar22 != dVar23)) {
            dVar22 = (double)FUN_000309d0((int)((ulonglong)(lVar25 + 1) >> 0x20));
          }
          dVar23 = dVar22;
          dVar24 = *(double *)(puVar2 + 0x6768);
        }
      }
LAB_0002207c:
      (*(code *)PTR___sprintf_chk_00049454)
                (param_3,1,0xffffffff,PTR_LAB_00049218 + 0x6700,dVar23 / dVar24);
      uVar7 = (*(code *)PTR_strlen_0004953c)(param_3);
      uVar4 = uVar7;
    }
LAB_00021d4c:
    pcVar19 = local_88 + -uVar7;
    (*(code *)PTR_memmove_00049610)(pcVar19,param_3,uVar7);
    pcVar15 = pcVar19 + uVar4;
  }
  if ((param_4 & 4) != 0) {
    uVar6 = (int)pcVar15 - (int)pcVar19;
    iVar8 = (*(code *)PTR_strlen_0004953c)(local_7c);
    (*(code *)PTR___memcpy_chk_00049558)(auStack_60,pcVar19,uVar6,0x29);
    uVar4 = 0xffffffff;
    while( true ) {
      uVar7 = (uint)*pbVar17;
      if (uVar7 != 0) {
        uVar4 = uVar7;
        if (0x7e < uVar7) {
          uVar4 = uVar6;
        }
        pbVar17 = pbVar17 + 1;
      }
      if (uVar6 < uVar4) break;
      uVar6 = uVar6 - uVar4;
      pcVar19 = pcVar15 + -uVar4;
      (*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60 + uVar6,uVar4);
      if (uVar6 == 0) goto LAB_00021d7c;
      pcVar15 = pcVar19 + -iVar8;
      (*(code *)PTR_memcpy_00049600)(pcVar15,local_7c,iVar8);
    }
    pcVar19 = pcVar15 + -uVar6;
    (*(code *)PTR_memcpy_00049600)(pcVar19,auStack_60,uVar6);
  }
LAB_00021d7c:
  if ((param_4 & 0x80) == 0) goto LAB_00021da4;
  if ((iVar13 == -1) && ((param_7 != 0 || (iVar13 = 0, 1 < param_8)))) {
    iVar13 = 1;
    uVar6 = 1;
    uVar4 = 0;
    do {
      uVar29 = (ulonglong)uVar6;
      uVar6 = (uint)(uVar29 * uVar16);
      uVar4 = uVar16 * uVar4 + (int)(uVar29 * uVar16 >> 0x20);
      if ((param_7 <= uVar4) && ((param_7 != uVar4 || (param_8 <= uVar6)))) break;
      iVar13 = iVar13 + 1;
    } while (iVar13 != 8);
    if ((param_4 & 0x40) != 0) {
LAB_000221fc:
      local_88 = (char *)(param_3 + 0x288);
      *(undefined1 *)(param_3 + 0x287) = 0x20;
      goto LAB_00022208;
    }
LAB_00022210:
    if ((uVar10 == 0) && (iVar13 == 1)) {
      cVar9 = 'k';
    }
    else {
      cVar9 = PTR_LAB_00049218[iVar13 + 0x6748];
    }
    pcVar15 = local_88 + 1;
    *local_88 = cVar9;
  }
  else {
    if ((param_4 & 0x100) == 0 && iVar13 == 0) goto LAB_00021da4;
    if ((param_4 & 0x40) != 0) goto LAB_000221fc;
LAB_00022208:
    pcVar15 = local_88;
    if (iVar13 != 0) goto LAB_00022210;
  }
  local_88 = pcVar15;
  if ((param_4 & 0x100) != 0) {
    pcVar11 = pcVar15 + 1;
    local_88 = pcVar11;
    if ((uVar10 != 0) && (iVar13 != 0)) {
      local_88 = pcVar15 + 2;
      *pcVar15 = 'i';
      pcVar15 = pcVar11;
    }
    *pcVar15 = 'B';
  }
LAB_00021da4:
  while( true ) {
    *local_88 = '\0';
    if (local_34 == *(int *)puVar3) break;
    local_88 = (char *)(*(code *)PTR___stack_chk_fail_000495d0)();
  }
  return pcVar19;
}

