
/* WARNING: Function: __x86.get_pc_thunk.bp replaced with injection: get_pc_thunk.bp */
/* WARNING: Unknown calling convention */

void columns_get_preferred_height_for_width(GtkWidget *widget,gint width,gint *min,gint *nat)

{
  GTypeClass *pGVar1;
  gint *pgVar2;
  int iVar3;
  undefined4 uVar4;
  undefined4 uVar5;
  int iVar6;
  undefined4 *puVar7;
  gint gVar8;
  int *piVar9;
  int *piVar10;
  int *piVar11;
  GType GVar12;
  int iVar13;
  int iVar14;
  ColumnsChild *child;
  int iVar15;
  int in_GS_OFFSET;
  int local_54;
  int *local_50;
  int local_48;
  int *local_44;
  gint ret;
  int local_20;
  
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  if (widget == (GtkWidget *)0x0) {
    g_return_if_fail_warning(0,"columns_get_preferred_height_for_width",0x8768e);
  }
  else {
    if (columns_type_57509 == 0) {
      uVar4 = gtk_container_get_type();
      columns_type_57509 = g_type_register_static(uVar4,0x800a6,columns_info_57510,0);
    }
    GVar12 = columns_type_57509;
    pGVar1 = (widget->parent_instance).g_type_instance.g_class;
    if (((pGVar1 == (GTypeClass *)0x0) || (pGVar1->g_type != columns_type_57509)) &&
       (iVar3 = g_type_check_instance_is_a(widget,columns_type_57509), iVar3 == 0)) {
      g_return_if_fail_warning(0,"columns_get_preferred_height_for_width",0x8769d);
    }
    else {
      uVar4 = gtk_container_get_type();
      if (GVar12 == 0) {
        GVar12 = g_type_register_static(uVar4,0x800a6,columns_info_57510,0);
        columns_type_57509 = GVar12;
      }
      iVar3 = g_type_check_instance_cast(widget,GVar12);
      uVar5 = g_type_check_instance_cast(iVar3,uVar4);
      iVar6 = gtk_container_get_border_width(uVar5);
      puVar7 = (undefined4 *)g_malloc(8);
      *puVar7 = 0;
      iVar6 = width + iVar6 * -2;
      puVar7[1] = iVar6 + *(int *)(iVar3 + 0x1c);
      local_50 = *(int **)(iVar3 + 0x14);
      if ((local_50 != (int *)0x0) &&
         (child = (ColumnsChild *)*local_50, child != (ColumnsChild *)0x0)) {
        local_54 = 1;
        do {
          if (child->widget == (GtkWidget *)0x0) {
            local_54 = child->ncols;
            pgVar2 = child->percentages;
            puVar7 = (undefined4 *)g_realloc_n(puVar7,local_54 + 1,4);
            *puVar7 = 0;
            if (local_54 < 1) goto LAB_0004f2f6;
            iVar15 = 0;
            iVar14 = 0;
            do {
              iVar15 = iVar15 + pgVar2[iVar14];
              puVar7[iVar14 + 1] = ((iVar6 + *(int *)(iVar3 + 0x1c)) * iVar15) / 100;
              iVar14 = iVar14 + 1;
            } while (local_54 != iVar14);
            local_50 = (int *)local_50[1];
          }
          else {
            iVar14 = gtk_widget_get_visible(child->widget);
            if (iVar14 != 0) {
              gVar8 = columns_gtk3_get_nat_width(child);
              iVar14 = child->colspan;
              iVar15 = child->colstart;
              if (iVar14 == 0) {
                iVar14 = local_54 - iVar15;
              }
              iVar13 = puVar7[iVar15];
              child->x = iVar13;
              if (child->force_left == 0) {
                gVar8 = (puVar7[iVar14 + iVar15] - iVar13) - *(int *)(iVar3 + 0x1c);
              }
              child->w = gVar8;
            }
LAB_0004f2f6:
            local_50 = (int *)local_50[1];
          }
        } while ((local_50 != (int *)0x0) &&
                (child = (ColumnsChild *)*local_50, child != (ColumnsChild *)0x0));
      }
      g_free(puVar7);
      if (min != (gint *)0x0) {
        local_50 = *(int **)(iVar3 + 0x1c);
        piVar9 = (int *)g_malloc(4);
        *piVar9 = 0;
        local_44 = *(int **)(iVar3 + 0x14);
        if ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0)) {
          local_48 = 1;
          do {
            if (*piVar10 == 0) {
              if (1 < local_48) {
                iVar6 = *piVar9;
                piVar11 = piVar9 + 1;
                do {
                  iVar14 = *piVar11;
                  if (iVar6 < iVar14) {
                    *piVar9 = iVar14;
                    iVar6 = iVar14;
                  }
                  piVar11 = piVar11 + 1;
                } while (piVar9 + local_48 != piVar11);
              }
              local_48 = piVar10[5];
              piVar9 = (int *)g_realloc_n(piVar9,local_48,4);
              piVar10 = piVar9 + 1;
              if (1 < local_48) {
                do {
                  piVar11 = piVar10 + 1;
                  *piVar10 = *piVar9;
                  piVar10 = piVar11;
                } while (piVar9 + local_48 != piVar11);
              }
LAB_0004f400:
              local_44 = (int *)local_44[1];
            }
            else {
              iVar6 = gtk_widget_get_visible(*piVar10);
              if (iVar6 == 0) goto LAB_0004f400;
              gtk_widget_get_preferred_height_for_width(*piVar10,piVar10[9],&ret,0);
              gVar8 = ret;
              puVar7 = (undefined4 *)piVar10[4];
              local_54 = ret;
              if ((puVar7 != (undefined4 *)0x0) &&
                 (gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],&ret,0),
                 local_54 = ret, ret <= gVar8)) {
                local_54 = gVar8;
              }
              iVar6 = piVar10[2];
              if (iVar6 == 0) {
                iVar6 = local_48 - piVar10[1];
              }
              iVar14 = *(int *)(iVar3 + 0x1c);
              if (iVar6 < 1) {
                local_54 = local_54 + iVar14;
              }
              else {
                iVar15 = 0;
                piVar11 = piVar9 + piVar10[1];
                do {
                  if (iVar15 < *piVar11) {
                    iVar15 = *piVar11;
                  }
                  piVar11 = piVar11 + 1;
                } while (piVar9 + piVar10[1] + iVar6 != piVar11);
                iVar13 = 1;
                local_54 = iVar15 + local_54 + iVar14;
                piVar9[piVar10[1]] = local_54;
                if (iVar6 != 1) {
                  do {
                    iVar14 = piVar10[1] + iVar13;
                    iVar13 = iVar13 + 1;
                    piVar9[iVar14] = local_54;
                  } while (iVar6 != iVar13);
                }
                iVar14 = *(int *)(iVar3 + 0x1c);
              }
              piVar10 = (int *)(local_54 - iVar14);
              if (local_54 - iVar14 <= (int)local_50) {
                piVar10 = local_50;
              }
              local_44 = (int *)local_44[1];
              local_50 = piVar10;
            }
          } while ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0));
        }
        uVar5 = g_type_check_instance_cast(iVar3,uVar4);
        iVar6 = gtk_container_get_border_width(uVar5);
        g_free(piVar9);
        *min = (int)local_50 + iVar6 * 2;
      }
      if (nat != (gint *)0x0) {
        local_50 = *(int **)(iVar3 + 0x1c);
        piVar9 = (int *)g_malloc(4);
        *piVar9 = 0;
        local_44 = *(int **)(iVar3 + 0x14);
        if ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0)) {
          local_48 = 1;
          do {
            if (*piVar10 == 0) {
              if (1 < local_48) {
                iVar6 = *piVar9;
                piVar11 = piVar9 + 1;
                do {
                  iVar14 = *piVar11;
                  if (iVar6 < iVar14) {
                    *piVar9 = iVar14;
                    iVar6 = iVar14;
                  }
                  piVar11 = piVar11 + 1;
                } while (piVar11 != piVar9 + local_48);
              }
              local_48 = piVar10[5];
              piVar9 = (int *)g_realloc_n(piVar9,local_48,4);
              piVar10 = piVar9 + 1;
              if (1 < local_48) {
                do {
                  piVar11 = piVar10 + 1;
                  *piVar10 = *piVar9;
                  piVar10 = piVar11;
                } while (piVar9 + local_48 != piVar11);
              }
LAB_0004f5b8:
              local_44 = (int *)local_44[1];
            }
            else {
              iVar6 = gtk_widget_get_visible(*piVar10);
              if (iVar6 == 0) goto LAB_0004f5b8;
              gtk_widget_get_preferred_height_for_width(*piVar10,piVar10[9],0,&ret);
              gVar8 = ret;
              puVar7 = (undefined4 *)piVar10[4];
              local_54 = ret;
              if ((puVar7 != (undefined4 *)0x0) &&
                 (gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],0,&ret),
                 local_54 = ret, ret <= gVar8)) {
                local_54 = gVar8;
              }
              iVar6 = piVar10[2];
              if (iVar6 == 0) {
                iVar6 = local_48 - piVar10[1];
              }
              iVar14 = *(int *)(iVar3 + 0x1c);
              if (iVar6 < 1) {
                local_54 = local_54 + iVar14;
              }
              else {
                iVar15 = 0;
                piVar11 = piVar9 + piVar10[1];
                do {
                  if (iVar15 < *piVar11) {
                    iVar15 = *piVar11;
                  }
                  piVar11 = piVar11 + 1;
                } while (piVar9 + piVar10[1] + iVar6 != piVar11);
                iVar13 = 1;
                local_54 = iVar15 + local_54 + iVar14;
                piVar9[piVar10[1]] = local_54;
                if (iVar6 != 1) {
                  do {
                    iVar14 = piVar10[1] + iVar13;
                    iVar13 = iVar13 + 1;
                    piVar9[iVar14] = local_54;
                  } while (iVar6 != iVar13);
                }
                iVar14 = *(int *)(iVar3 + 0x1c);
              }
              piVar10 = (int *)(local_54 - iVar14);
              if (local_54 - iVar14 <= (int)local_50) {
                piVar10 = local_50;
              }
              local_44 = (int *)local_44[1];
              local_50 = piVar10;
            }
          } while ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0));
        }
        uVar4 = g_type_check_instance_cast(iVar3,uVar4);
        iVar3 = gtk_container_get_border_width(uVar4);
        g_free(piVar9);
        *nat = (int)local_50 + iVar3 * 2;
      }
    }
  }
  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    __stack_chk_fail_local();
  }
  return;
}



void FUN_0004f180(int *param_1,int param_2,int *param_3,int *param_4)

{
  int iVar1;
  undefined4 uVar2;
  int iVar3;
  undefined4 uVar4;
  undefined4 *puVar5;
  int *piVar6;
  int *piVar7;
  int *piVar8;
  int iVar9;
  int iVar10;
  int unaff_EBP;
  int iVar11;
  int in_GS_OFFSET;
  int local_54;
  int *local_50;
  int local_48;
  int *local_44;
  int local_24;
  int local_20;
  
  FUN_0001af2e();
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  if (param_1 == (int *)0x0) {
    g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38508);
  }
  else {
    iVar3 = *(int *)(unaff_EBP + 0x66f4a);
    if (iVar3 == 0) {
      uVar2 = gtk_container_get_type();
      iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);
      *(int *)(unaff_EBP + 0x66f4a) = iVar3;
    }
    if ((((int *)*param_1 == (int *)0x0) || (*(int *)*param_1 != iVar3)) &&
       (iVar1 = g_type_check_instance_is_a(param_1,iVar3), iVar1 == 0)) {
      g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38517);
    }
    else {
      uVar2 = gtk_container_get_type();
      if (iVar3 == 0) {
        iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);
        *(int *)(unaff_EBP + 0x66f4a) = iVar3;
      }
      iVar3 = g_type_check_instance_cast(param_1,iVar3);
      uVar4 = g_type_check_instance_cast(iVar3,uVar2);
      iVar1 = gtk_container_get_border_width(uVar4);
      puVar5 = (undefined4 *)g_malloc(8);
      *puVar5 = 0;
      param_2 = param_2 + iVar1 * -2;
      puVar5[1] = param_2 + *(int *)(iVar3 + 0x1c);
      local_50 = *(int **)(iVar3 + 0x14);
      if ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0)) {
        local_54 = 1;
        do {
          if (*piVar6 == 0) {
            local_54 = piVar6[5];
            iVar1 = piVar6[6];
            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);
            *puVar5 = 0;
            if (local_54 < 1) goto LAB_0004f2f6;
            iVar11 = 0;
            iVar10 = 0;
            do {
              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);
              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;
              iVar10 = iVar10 + 1;
            } while (local_54 != iVar10);
            local_50 = (int *)local_50[1];
          }
          else {
            iVar1 = gtk_widget_get_visible(*piVar6);
            if (iVar1 != 0) {
              iVar11 = FUN_0004d190();
              iVar1 = piVar6[2];
              iVar10 = piVar6[1];
              if (iVar1 == 0) {
                iVar1 = local_54 - iVar10;
              }
              iVar9 = puVar5[iVar10];
              piVar6[7] = iVar9;
              if (piVar6[3] == 0) {
                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);
              }
              piVar6[9] = iVar11;
            }
LAB_0004f2f6:
            local_50 = (int *)local_50[1];
          }
        } while ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0));
      }
      g_free(puVar5);
      if (param_3 != (int *)0x0) {
        local_50 = *(int **)(iVar3 + 0x1c);
        piVar6 = (int *)g_malloc(4);
        *piVar6 = 0;
        local_44 = *(int **)(iVar3 + 0x14);
        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {
          local_48 = 1;
          do {
            if (*piVar7 == 0) {
              if (1 < local_48) {
                iVar1 = *piVar6;
                piVar8 = piVar6 + 1;
                do {
                  iVar10 = *piVar8;
                  if (iVar1 < iVar10) {
                    *piVar6 = iVar10;
                    iVar1 = iVar10;
                  }
                  piVar8 = piVar8 + 1;
                } while (piVar6 + local_48 != piVar8);
              }
              local_48 = piVar7[5];
              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);
              piVar7 = piVar6 + 1;
              if (1 < local_48) {
                do {
                  piVar8 = piVar7 + 1;
                  *piVar7 = *piVar6;
                  piVar7 = piVar8;
                } while (piVar6 + local_48 != piVar8);
              }
LAB_0004f400:
              local_44 = (int *)local_44[1];
            }
            else {
              iVar1 = gtk_widget_get_visible(*piVar7);
              if (iVar1 == 0) goto LAB_0004f400;
              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);
              iVar1 = local_24;
              puVar5 = (undefined4 *)piVar7[4];
              local_54 = local_24;
              if ((puVar5 != (undefined4 *)0x0) &&
                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),
                 local_54 = local_24, local_24 <= iVar1)) {
                local_54 = iVar1;
              }
              iVar1 = piVar7[2];
              if (iVar1 == 0) {
                iVar1 = local_48 - piVar7[1];
              }
              iVar10 = *(int *)(iVar3 + 0x1c);
              if (iVar1 < 1) {
                local_54 = local_54 + iVar10;
              }
              else {
                iVar11 = 0;
                piVar8 = piVar6 + piVar7[1];
                do {
                  if (iVar11 < *piVar8) {
                    iVar11 = *piVar8;
                  }
                  piVar8 = piVar8 + 1;
                } while (piVar6 + piVar7[1] + iVar1 != piVar8);
                iVar9 = 1;
                local_54 = iVar11 + local_54 + iVar10;
                piVar6[piVar7[1]] = local_54;
                if (iVar1 != 1) {
                  do {
                    iVar10 = piVar7[1] + iVar9;
                    iVar9 = iVar9 + 1;
                    piVar6[iVar10] = local_54;
                  } while (iVar1 != iVar9);
                }
                iVar10 = *(int *)(iVar3 + 0x1c);
              }
              piVar7 = (int *)(local_54 - iVar10);
              if (local_54 - iVar10 <= (int)local_50) {
                piVar7 = local_50;
              }
              local_44 = (int *)local_44[1];
              local_50 = piVar7;
            }
          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));
        }
        uVar4 = g_type_check_instance_cast(iVar3,uVar2);
        iVar1 = gtk_container_get_border_width(uVar4);
        g_free(piVar6);
        *param_3 = (int)local_50 + iVar1 * 2;
      }
      if (param_4 != (int *)0x0) {
        local_50 = *(int **)(iVar3 + 0x1c);
        piVar6 = (int *)g_malloc(4);
        *piVar6 = 0;
        local_44 = *(int **)(iVar3 + 0x14);
        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {
          local_48 = 1;
          do {
            if (*piVar7 == 0) {
              if (1 < local_48) {
                iVar1 = *piVar6;
                piVar8 = piVar6 + 1;
                do {
                  iVar10 = *piVar8;
                  if (iVar1 < iVar10) {
                    *piVar6 = iVar10;
                    iVar1 = iVar10;
                  }
                  piVar8 = piVar8 + 1;
                } while (piVar8 != piVar6 + local_48);
              }
              local_48 = piVar7[5];
              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);
              piVar7 = piVar6 + 1;
              if (1 < local_48) {
                do {
                  piVar8 = piVar7 + 1;
                  *piVar7 = *piVar6;
                  piVar7 = piVar8;
                } while (piVar6 + local_48 != piVar8);
              }
LAB_0004f5b8:
              local_44 = (int *)local_44[1];
            }
            else {
              iVar1 = gtk_widget_get_visible(*piVar7);
              if (iVar1 == 0) goto LAB_0004f5b8;
              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);
              iVar1 = local_24;
              puVar5 = (undefined4 *)piVar7[4];
              local_54 = local_24;
              if ((puVar5 != (undefined4 *)0x0) &&
                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),
                 local_54 = local_24, local_24 <= iVar1)) {
                local_54 = iVar1;
              }
              iVar1 = piVar7[2];
              if (iVar1 == 0) {
                iVar1 = local_48 - piVar7[1];
              }
              iVar10 = *(int *)(iVar3 + 0x1c);
              if (iVar1 < 1) {
                local_54 = local_54 + iVar10;
              }
              else {
                iVar11 = 0;
                piVar8 = piVar6 + piVar7[1];
                do {
                  if (iVar11 < *piVar8) {
                    iVar11 = *piVar8;
                  }
                  piVar8 = piVar8 + 1;
                } while (piVar6 + piVar7[1] + iVar1 != piVar8);
                iVar9 = 1;
                local_54 = iVar11 + local_54 + iVar10;
                piVar6[piVar7[1]] = local_54;
                if (iVar1 != 1) {
                  do {
                    iVar10 = piVar7[1] + iVar9;
                    iVar9 = iVar9 + 1;
                    piVar6[iVar10] = local_54;
                  } while (iVar1 != iVar9);
                }
                iVar10 = *(int *)(iVar3 + 0x1c);
              }
              piVar7 = (int *)(local_54 - iVar10);
              if (local_54 - iVar10 <= (int)local_50) {
                piVar7 = local_50;
              }
              local_44 = (int *)local_44[1];
              local_50 = piVar7;
            }
          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));
        }
        uVar2 = g_type_check_instance_cast(iVar3,uVar2);
        iVar3 = gtk_container_get_border_width(uVar2);
        g_free(piVar6);
        *param_4 = (int)local_50 + iVar3 * 2;
      }
    }
  }
  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    FUN_0006c950();
  }
  return;
}


PUSH EBP
CALL 0x0001af2e
ADD EBP,0x6665e
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0x4c
MOV EAX,dword ptr [ESP + 0x68]
MOV EDI,dword ptr [ESP + 0x60]
MOV dword ptr [ESP + 0x20],EAX
MOV EAX,dword ptr [ESP + 0x6c]
MOV dword ptr [ESP + 0x24],EAX
MOV EAX,GS:[0x14]
MOV dword ptr [ESP + 0x3c],EAX
XOR EAX,EAX
TEST EDI,EDI
JZ 0x0004f7f0
MOV ESI,dword ptr [EBP + 0x8ec]
TEST ESI,ESI
JZ 0x0004f818
MOV EAX,dword ptr [EDI]
TEST EAX,EAX
JZ 0x0004f1d2
CMP dword ptr [EAX],ESI
JZ 0x0004f220
SUB ESP,0x8
MOV EBX,EBP
PUSH ESI
PUSH EDI
CALL 0x00019520
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0004f220
SUB ESP,0x4
LEA EAX,[EBP + 0xfffd1eb9]
PUSH EAX
LEA EAX,[EBP + 0xfffd213c]
PUSH EAX
PUSH 0x0
CALL 0x00018250
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x3c]
XOR EAX,dword ptr GS:[0x14]
JNZ 0x0004f893
ADD ESP,0x4c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EBX,EBP
CALL 0x00018a70
MOV dword ptr [ESP + 0x10],EAX
TEST ESI,ESI
JZ 0x0004f848
SUB ESP,0x8
MOV EBX,EBP
PUSH ESI
PUSH EDI
CALL 0x00018580
POP EDX
POP ECX
PUSH dword ptr [ESP + 0x18]
MOV dword ptr [ESP + 0x10],EAX
PUSH EAX
CALL 0x00018580
MOV dword ptr [ESP],EAX
CALL 0x00018f20
MOV dword ptr [ESP],0x8
MOV EDI,EAX
CALL 0x00018b90
ADD EDI,EDI
MOV ECX,dword ptr [ESP + 0x14]
MOV dword ptr [EAX],0x0
MOV ESI,EAX
MOV EAX,dword ptr [ESP + 0x74]
SUB EAX,EDI
MOV dword ptr [ESP + 0x28],EAX
ADD EAX,dword ptr [ECX + 0x1c]
MOV dword ptr [ESI + 0x4],EAX
MOV EAX,dword ptr [ECX + 0x14]
MOV dword ptr [ESP + 0x1c],EAX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0004f398
MOV EDI,dword ptr [EAX]
TEST EDI,EDI
JZ 0x0004f398
MOV dword ptr [ESP + 0x8],0x1
JMP 0x0004f313
SUB ESP,0xc
MOV EBX,EBP
PUSH EAX
CALL 0x00018df0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0004f2f6
MOV EAX,EDI
CALL 0x0004d190
MOV EDX,dword ptr [EDI + 0x8]
MOV ECX,dword ptr [EDI + 0x4]
TEST EDX,EDX
JNZ 0x0004f2d9
MOV EDX,dword ptr [ESP + 0x8]
SUB EDX,ECX
MOV EBX,dword ptr [ESI + ECX*0x4]
CMP dword ptr [EDI + 0xc],0x0
MOV dword ptr [EDI + 0x1c],EBX
JNZ 0x0004f2f3
ADD EDX,ECX
MOV EAX,dword ptr [ESI + EDX*0x4]
SUB EAX,EBX
MOV EBX,dword ptr [ESP + 0x4]
SUB EAX,dword ptr [EBX + 0x1c]
MOV dword ptr [EDI + 0x24],EAX
MOV EAX,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [EAX + 0x4]
MOV dword ptr [ESP + 0xc],EAX
TEST EAX,EAX
JZ 0x0004f398
MOV EDI,dword ptr [EAX]
TEST EDI,EDI
JZ 0x0004f398
MOV EAX,dword ptr [EDI]
TEST EAX,EAX
JNZ 0x0004f2b0
MOV EAX,dword ptr [EDI + 0x14]
MOV EDI,dword ptr [EDI + 0x18]
SUB ESP,0x4
MOV EBX,EBP
MOV dword ptr [ESP + 0xc],EAX
MOV dword ptr [ESP + 0x18],EDI
MOV EDI,EAX
LEA EAX,[EAX + 0x1]
PUSH 0x4
PUSH EAX
PUSH ESI
CALL 0x00019770
ADD ESP,0x10
MOV ESI,EAX
MOV dword ptr [EAX],0x0
TEST EDI,EDI
JLE 0x0004f2f6
XOR EDI,EDI
XOR EBX,EBX
LEA ESI,[ESI]
MOV EAX,dword ptr [ESP + 0x14]
MOV ECX,dword ptr [ESP + 0x18]
ADD EDI,dword ptr [EAX + EBX*0x4]
MOV EAX,dword ptr [ESP + 0x4]
ADD ECX,dword ptr [EAX + 0x1c]
MOV EAX,0x51eb851f
IMUL ECX,EDI
IMUL ECX
SAR ECX,0x1f
SAR EDX,0x5
SUB EDX,ECX
MOV dword ptr [ESI + EBX*0x4 + 0x4],EDX
ADD EBX,0x1
CMP dword ptr [ESP + 0x8],EBX
JNZ 0x0004f350
MOV EAX,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [EAX + 0x4]
MOV dword ptr [ESP + 0xc],EAX
TEST EAX,EAX
JNZ 0x0004f309
LEA ESI,[ESI]
SUB ESP,0xc
MOV EBX,EBP
PUSH ESI
CALL 0x000192b0
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x20]
TEST EDX,EDX
JZ 0x0004f552
MOV ESI,dword ptr [ESP + 0x4]
SUB ESP,0xc
MOV EAX,dword ptr [ESI + 0x1c]
MOV dword ptr [ESP + 0x18],EAX
PUSH 0x4
CALL 0x00018b90
MOV EDI,EAX
MOV dword ptr [EAX],0x0
MOV EAX,dword ptr [ESI + 0x14]
MOV dword ptr [ESP + 0x28],EAX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0004f520
MOV ESI,dword ptr [EAX]
TEST ESI,ESI
JZ 0x0004f520
LEA EAX,[ESP + 0x38]
MOV dword ptr [ESP + 0x14],0x1
MOV dword ptr [ESP + 0x1c],EAX
JMP 0x0004f41d
MOV EAX,dword ptr [ESP + 0x18]
MOV EAX,dword ptr [EAX + 0x4]
MOV dword ptr [ESP + 0x18],EAX
TEST EAX,EAX
JZ 0x0004f520
MOV ESI,dword ptr [EAX]
TEST ESI,ESI
JZ 0x0004f520
MOV EAX,dword ptr [ESI]
TEST EAX,EAX
JZ 0x0004f780
SUB ESP,0xc
MOV EBX,EBP
PUSH EAX
CALL 0x00018df0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0004f400
PUSH 0x0
PUSH dword ptr [ESP + 0x20]
PUSH dword ptr [ESI + 0x24]
PUSH dword ptr [ESI]
CALL 0x000199c0
MOV EBX,dword ptr [ESP + 0x48]
MOV EAX,dword ptr [ESI + 0x10]
MOV dword ptr [ESP + 0x18],EBX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0004f481
PUSH 0x0
MOV EBX,EBP
PUSH dword ptr [ESP + 0x20]
PUSH dword ptr [EAX + 0x24]
PUSH dword ptr [EAX]
CALL 0x000199c0
MOV EAX,dword ptr [ESP + 0x48]
ADD ESP,0x10
MOV EBX,dword ptr [ESP + 0x8]
CMP EBX,EAX
CMOVGE EAX,EBX
MOV dword ptr [ESP + 0x8],EAX
MOV EAX,dword ptr [ESI + 0x8]
TEST EAX,EAX
JNZ 0x0004f48f
MOV EAX,dword ptr [ESP + 0x14]
SUB EAX,dword ptr [ESI + 0x4]
MOV ECX,dword ptr [ESP + 0x4]
MOV EBX,dword ptr [ECX + 0x1c]
TEST EAX,EAX
JLE 0x0004f878
MOV EDX,dword ptr [ESI + 0x4]
LEA ECX,[EDI + EDX*0x4]
ADD EDX,EAX
MOV dword ptr [ESP + 0x2c],ECX
LEA EDX,[EDI + EDX*0x4]
MOV dword ptr [ESP + 0x28],EDX
XOR EDX,EDX
LEA ESI,[ESI]
NOP
CMP EDX,dword ptr [ECX]
CMOVL EDX,dword ptr [ECX]
ADD ECX,0x4
CMP dword ptr [ESP + 0x28],ECX
JNZ 0x0004f4b8
ADD EDX,dword ptr [ESP + 0x8]
MOV ECX,0x1
ADD EDX,EBX
MOV EBX,dword ptr [ESP + 0x2c]
MOV dword ptr [EBX],EDX
CMP EAX,0x1
JZ 0x0004f4ef
LEA ESI,[ESI]
MOV EBX,dword ptr [ESI + 0x4]
ADD EBX,ECX
ADD ECX,0x1
MOV dword ptr [EDI + EBX*0x4],EDX
CMP EAX,ECX
JNZ 0x0004f4e0
MOV EAX,dword ptr [ESP + 0x4]
MOV EBX,dword ptr [EAX + 0x1c]
MOV EAX,dword ptr [ESP + 0xc]
SUB EDX,EBX
CMP EAX,EDX
CMOVGE EDX,EAX
MOV EAX,dword ptr [ESP + 0x18]
MOV EAX,dword ptr [EAX + 0x4]
MOV dword ptr [ESP + 0xc],EDX
MOV dword ptr [ESP + 0x18],EAX
TEST EAX,EAX
JNZ 0x0004f413
LEA ESI,[ESI]
NOP
SUB ESP,0x8
MOV EBX,EBP
PUSH dword ptr [ESP + 0x18]
PUSH dword ptr [ESP + 0x10]
CALL 0x00018580
MOV dword ptr [ESP],EAX
CALL 0x00018f20
MOV ESI,dword ptr [ESP + 0x1c]
MOV dword ptr [ESP],EDI
LEA ESI,[ESI + EAX*0x2]
CALL 0x000192b0
MOV EAX,dword ptr [ESP + 0x30]
ADD ESP,0x10
MOV dword ptr [EAX],ESI
MOV EAX,dword ptr [ESP + 0x24]
TEST EAX,EAX
JZ 0x0004f200
MOV ESI,dword ptr [ESP + 0x4]
SUB ESP,0xc
MOV EBX,EBP
MOV EAX,dword ptr [ESI + 0x1c]
MOV dword ptr [ESP + 0x18],EAX
PUSH 0x4
CALL 0x00018b90
MOV EDI,EAX
MOV dword ptr [EAX],0x0
MOV EAX,dword ptr [ESI + 0x14]
MOV dword ptr [ESP + 0x28],EAX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0004f6d2
MOV ESI,dword ptr [EAX]
TEST ESI,ESI
JZ 0x0004f6d2
LEA EAX,[ESP + 0x38]
MOV dword ptr [ESP + 0x14],0x1
MOV dword ptr [ESP + 0x1c],EAX
MOV EAX,EDI
MOV EDI,ESI
MOV ESI,EAX
JMP 0x0004f5d5
MOV EAX,dword ptr [ESP + 0x18]
MOV EAX,dword ptr [EAX + 0x4]
MOV dword ptr [ESP + 0x18],EAX
TEST EAX,EAX
JZ 0x0004f6d0
MOV EDI,dword ptr [EAX]
TEST EDI,EDI
JZ 0x0004f6d0
MOV EAX,dword ptr [EDI]
TEST EAX,EAX
JZ 0x0004f710
SUB ESP,0xc
MOV EBX,EBP
PUSH EAX
CALL 0x00018df0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0004f5b8
PUSH dword ptr [ESP + 0x1c]
PUSH 0x0
PUSH dword ptr [EDI + 0x24]
PUSH dword ptr [EDI]
CALL 0x000199c0
MOV ECX,dword ptr [ESP + 0x48]
MOV EAX,dword ptr [EDI + 0x10]
MOV dword ptr [ESP + 0x18],ECX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0004f637
PUSH dword ptr [ESP + 0x1c]
PUSH 0x0
PUSH dword ptr [EAX + 0x24]
PUSH dword ptr [EAX]
CALL 0x000199c0
MOV EAX,dword ptr [ESP + 0x48]
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x8]
CMP ECX,EAX
CMOVGE EAX,ECX
MOV dword ptr [ESP + 0x8],EAX
MOV EDX,dword ptr [EDI + 0x8]
TEST EDX,EDX
JNZ 0x0004f645
MOV EDX,dword ptr [ESP + 0x14]
SUB EDX,dword ptr [EDI + 0x4]
MOV EAX,dword ptr [ESP + 0x4]
MOV EBX,dword ptr [EAX + 0x1c]
TEST EDX,EDX
JLE 0x0004f888
MOV EAX,dword ptr [EDI + 0x4]
LEA ECX,[ESI + EAX*0x4]
ADD EAX,EDX
MOV dword ptr [ESP + 0x28],ECX
LEA EAX,[ESI + EAX*0x4]
MOV dword ptr [ESP + 0x20],EAX
XOR EAX,EAX
LEA ESI,[ESI]
CMP EAX,dword ptr [ECX]
CMOVL EAX,dword ptr [ECX]
ADD ECX,0x4
CMP dword ptr [ESP + 0x20],ECX
JNZ 0x0004f670
ADD EAX,dword ptr [ESP + 0x8]
MOV ECX,0x1
ADD EAX,EBX
MOV EBX,dword ptr [ESP + 0x28]
MOV dword ptr [EBX],EAX
CMP EDX,0x1
JZ 0x0004f6a7
LEA ESI,[ESI]
MOV EBX,dword ptr [EDI + 0x4]
ADD EBX,ECX
ADD ECX,0x1
MOV dword ptr [ESI + EBX*0x4],EAX
CMP EDX,ECX
JNZ 0x0004f698
MOV EBX,dword ptr [ESP + 0x4]
MOV EBX,dword ptr [EBX + 0x1c]
SUB EAX,EBX
MOV EBX,dword ptr [ESP + 0xc]
CMP EBX,EAX
CMOVGE EAX,EBX
MOV dword ptr [ESP + 0xc],EAX
MOV EAX,dword ptr [ESP + 0x18]
MOV EAX,dword ptr [EAX + 0x4]
MOV dword ptr [ESP + 0x18],EAX
TEST EAX,EAX
JNZ 0x0004f5cb
MOV EDI,ESI
SUB ESP,0x8
MOV EBX,EBP
PUSH dword ptr [ESP + 0x18]
PUSH dword ptr [ESP + 0x10]
CALL 0x00018580
MOV dword ptr [ESP],EAX
CALL 0x00018f20
MOV ESI,dword ptr [ESP + 0x1c]
MOV dword ptr [ESP],EDI
LEA ESI,[ESI + EAX*0x2]
CALL 0x000192b0
MOV EAX,dword ptr [ESP + 0x34]
ADD ESP,0x10
MOV dword ptr [EAX],ESI
JMP 0x0004f200
CMP dword ptr [ESP + 0x14],0x1
JLE 0x0004f739
MOV EDX,dword ptr [ESP + 0x14]
MOV ECX,dword ptr [ESI]
LEA EAX,[ESI + 0x4]
LEA EBX,[ESI + EDX*0x4]
LEA ESI,[ESI]
NOP
MOV EDX,dword ptr [EAX]
CMP EDX,ECX
JLE 0x0004f732
MOV dword ptr [ESI],EDX
MOV ECX,EDX
ADD EAX,0x4
CMP EAX,EBX
JNZ 0x0004f728
MOV EDX,dword ptr [EDI + 0x14]
SUB ESP,0x4
MOV EBX,EBP
MOV dword ptr [ESP + 0x18],EDX
MOV EDI,EDX
PUSH 0x4
PUSH EDX
PUSH ESI
CALL 0x00019770
ADD ESP,0x10
MOV ESI,EAX
LEA EAX,[EAX + 0x4]
LEA ECX,[ESI + EDI*0x4]
CMP EDI,0x1
JLE 0x0004f5b8
LEA ESI,[ESI]
MOV EDX,dword ptr [ESI]
ADD EAX,0x4
MOV dword ptr [EAX + -0x4],EDX
CMP ECX,EAX
JNZ 0x0004f768
JMP 0x0004f5b8
CMP dword ptr [ESP + 0x14],0x1
JLE 0x0004f7a9
MOV EDX,dword ptr [ESP + 0x14]
MOV ECX,dword ptr [EDI]
LEA EAX,[EDI + 0x4]
LEA EBX,[EDI + EDX*0x4]
LEA ESI,[ESI]
NOP
MOV EDX,dword ptr [EAX]
CMP EDX,ECX
JLE 0x0004f7a2
MOV dword ptr [EDI],EDX
MOV ECX,EDX
ADD EAX,0x4
CMP EBX,EAX
JNZ 0x0004f798
MOV ESI,dword ptr [ESI + 0x14]
SUB ESP,0x4
MOV EBX,EBP
MOV dword ptr [ESP + 0x18],ESI
PUSH 0x4
PUSH ESI
PUSH EDI
CALL 0x00019770
ADD ESP,0x10
MOV EDI,EAX
LEA EAX,[EAX + 0x4]
LEA ECX,[EDI + ESI*0x4]
CMP ESI,0x1
JLE 0x0004f400
LEA ESI,[ESI]
MOV EDX,dword ptr [EDI]
ADD EAX,0x4
MOV dword ptr [EAX + -0x4],EDX
CMP ECX,EAX
JNZ 0x0004f7d8
JMP 0x0004f400
SUB ESP,0x4
LEA EAX,[EBP + 0xfffd1eaa]
MOV EBX,EBP
PUSH EAX
LEA EAX,[EBP + 0xfffd213c]
PUSH EAX
PUSH 0x0
CALL 0x00018250
ADD ESP,0x10
JMP 0x0004f200
MOV EBX,EBP
CALL 0x00018a70
LEA EDX,[EBP + 0xfffff4fc]
PUSH 0x0
PUSH EDX
LEA EDX,[EBP + 0xfffca8c2]
PUSH EDX
PUSH EAX
CALL 0x000181a0
ADD ESP,0x10
MOV ESI,EAX
MOV dword ptr [EBP + 0x8ec],EAX
JMP 0x0004f1c8
LEA EAX,[EBP + 0xfffff4fc]
PUSH 0x0
PUSH EAX
LEA EAX,[EBP + 0xfffca8c2]
PUSH EAX
PUSH dword ptr [ESP + 0x1c]
CALL 0x000181a0
ADD ESP,0x10
MOV ESI,EAX
MOV dword ptr [EBP + 0x8ec],EAX
JMP 0x0004f233
MOV EDX,dword ptr [ESP + 0x8]
ADD EDX,EBX
JMP 0x0004f4f6
MOV EAX,dword ptr [ESP + 0x8]
ADD EAX,EBX
JMP 0x0004f6ae
CALL 0x0006c950
(translation_unit "void FUN_0004f180(int *param_1,int param_2,int *param_3,int *param_4)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  undefined4 *puVar5;\n  int *piVar6;\n  int *piVar7;\n  int *piVar8;\n  int iVar9;\n  int iVar10;\n  int unaff_EBP;\n  int iVar11;\n  int in_GS_OFFSET;\n  int local_54;\n  int *local_50;\n  int local_48;\n  int *local_44;\n  int local_24;\n  int local_20;\n  \n  FUN_0001af2e();\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == (int *)0x0) {\n    g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38508);\n  }\n  else {\n    iVar3 = *(int *)(unaff_EBP + 0x66f4a);\n    if (iVar3 == 0) {\n      uVar2 = gtk_container_get_type();\n      iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n      *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n    }\n    if ((((int *)*param_1 == (int *)0x0) || (*(int *)*param_1 != iVar3)) &&\n       (iVar1 = g_type_check_instance_is_a(param_1,iVar3), iVar1 == 0)) {\n      g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38517);\n    }\n    else {\n      uVar2 = gtk_container_get_type();\n      if (iVar3 == 0) {\n        iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n        *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n      }\n      iVar3 = g_type_check_instance_cast(param_1,iVar3);\n      uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n      iVar1 = gtk_container_get_border_width(uVar4);\n      puVar5 = (undefined4 *)g_malloc(8);\n      *puVar5 = 0;\n      param_2 = param_2 + iVar1 * -2;\n      puVar5[1] = param_2 + *(int *)(iVar3 + 0x1c);\n      local_50 = *(int **)(iVar3 + 0x14);\n      if ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0)) {\n        local_54 = 1;\n        do {\n          if (*piVar6 == 0) {\n            local_54 = piVar6[5];\n            iVar1 = piVar6[6];\n            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);\n            *puVar5 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar11 = 0;\n            iVar10 = 0;\n            do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0));\n      }\n      g_free(puVar5);\n      if (param_3 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar1 = gtk_container_get_border_width(uVar4);\n        g_free(piVar6);\n        *param_3 = (int)local_50 + iVar1 * 2;\n      }\n      if (param_4 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar2 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar3 = gtk_container_get_border_width(uVar2);\n        g_free(piVar6);\n        *param_4 = (int)local_50 + iVar3 * 2;\n      }\n    }\n  }\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0006c950();\n  }\n  return;\n}\n\n" (function_definition "void FUN_0004f180(int *param_1,int param_2,int *param_3,int *param_4)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  undefined4 *puVar5;\n  int *piVar6;\n  int *piVar7;\n  int *piVar8;\n  int iVar9;\n  int iVar10;\n  int unaff_EBP;\n  int iVar11;\n  int in_GS_OFFSET;\n  int local_54;\n  int *local_50;\n  int local_48;\n  int *local_44;\n  int local_24;\n  int local_20;\n  \n  FUN_0001af2e();\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == (int *)0x0) {\n    g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38508);\n  }\n  else {\n    iVar3 = *(int *)(unaff_EBP + 0x66f4a);\n    if (iVar3 == 0) {\n      uVar2 = gtk_container_get_type();\n      iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n      *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n    }\n    if ((((int *)*param_1 == (int *)0x0) || (*(int *)*param_1 != iVar3)) &&\n       (iVar1 = g_type_check_instance_is_a(param_1,iVar3), iVar1 == 0)) {\n      g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38517);\n    }\n    else {\n      uVar2 = gtk_container_get_type();\n      if (iVar3 == 0) {\n        iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n        *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n      }\n      iVar3 = g_type_check_instance_cast(param_1,iVar3);\n      uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n      iVar1 = gtk_container_get_border_width(uVar4);\n      puVar5 = (undefined4 *)g_malloc(8);\n      *puVar5 = 0;\n      param_2 = param_2 + iVar1 * -2;\n      puVar5[1] = param_2 + *(int *)(iVar3 + 0x1c);\n      local_50 = *(int **)(iVar3 + 0x14);\n      if ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0)) {\n        local_54 = 1;\n        do {\n          if (*piVar6 == 0) {\n            local_54 = piVar6[5];\n            iVar1 = piVar6[6];\n            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);\n            *puVar5 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar11 = 0;\n            iVar10 = 0;\n            do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0));\n      }\n      g_free(puVar5);\n      if (param_3 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar1 = gtk_container_get_border_width(uVar4);\n        g_free(piVar6);\n        *param_3 = (int)local_50 + iVar1 * 2;\n      }\n      if (param_4 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar2 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar3 = gtk_container_get_border_width(uVar2);\n        g_free(piVar6);\n        *param_4 = (int)local_50 + iVar3 * 2;\n      }\n    }\n  }\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0006c950();\n  }\n  return;\n}" primitive_type (function_declarator "FUN_0004f180(int *param_1,int param_2,int *param_3,int *param_4)" identifier (parameter_list "(int *param_1,int param_2,int *param_3,int *param_4)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "int *param_4" primitive_type (pointer_declarator "*param_4" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  undefined4 uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  undefined4 *puVar5;\n  int *piVar6;\n  int *piVar7;\n  int *piVar8;\n  int iVar9;\n  int iVar10;\n  int unaff_EBP;\n  int iVar11;\n  int in_GS_OFFSET;\n  int local_54;\n  int *local_50;\n  int local_48;\n  int *local_44;\n  int local_24;\n  int local_20;\n  \n  FUN_0001af2e();\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == (int *)0x0) {\n    g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38508);\n  }\n  else {\n    iVar3 = *(int *)(unaff_EBP + 0x66f4a);\n    if (iVar3 == 0) {\n      uVar2 = gtk_container_get_type();\n      iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n      *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n    }\n    if ((((int *)*param_1 == (int *)0x0) || (*(int *)*param_1 != iVar3)) &&\n       (iVar1 = g_type_check_instance_is_a(param_1,iVar3), iVar1 == 0)) {\n      g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38517);\n    }\n    else {\n      uVar2 = gtk_container_get_type();\n      if (iVar3 == 0) {\n        iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n        *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n      }\n      iVar3 = g_type_check_instance_cast(param_1,iVar3);\n      uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n      iVar1 = gtk_container_get_border_width(uVar4);\n      puVar5 = (undefined4 *)g_malloc(8);\n      *puVar5 = 0;\n      param_2 = param_2 + iVar1 * -2;\n      puVar5[1] = param_2 + *(int *)(iVar3 + 0x1c);\n      local_50 = *(int **)(iVar3 + 0x14);\n      if ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0)) {\n        local_54 = 1;\n        do {\n          if (*piVar6 == 0) {\n            local_54 = piVar6[5];\n            iVar1 = piVar6[6];\n            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);\n            *puVar5 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar11 = 0;\n            iVar10 = 0;\n            do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0));\n      }\n      g_free(puVar5);\n      if (param_3 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar1 = gtk_container_get_border_width(uVar4);\n        g_free(piVar6);\n        *param_3 = (int)local_50 + iVar1 * 2;\n      }\n      if (param_4 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar2 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar3 = gtk_container_get_border_width(uVar2);\n        g_free(piVar6);\n        *param_4 = (int)local_50 + iVar3 * 2;\n      }\n    }\n  }\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0006c950();\n  }\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int unaff_EBP;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "int local_54;" primitive_type identifier ;) (declaration "int *local_50;" primitive_type (pointer_declarator "*local_50" * identifier) ;) (declaration "int local_48;" primitive_type identifier ;) (declaration "int *local_44;" primitive_type (pointer_declarator "*local_44" * identifier) ;) (declaration "int local_24;" primitive_type identifier ;) (declaration "int local_20;" primitive_type identifier ;) (expression_statement "FUN_0001af2e();" (call_expression "FUN_0001af2e()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (param_1 == (int *)0x0) {\n    g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38508);\n  }\n  else {\n    iVar3 = *(int *)(unaff_EBP + 0x66f4a);\n    if (iVar3 == 0) {\n      uVar2 = gtk_container_get_type();\n      iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n      *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n    }\n    if ((((int *)*param_1 == (int *)0x0) || (*(int *)*param_1 != iVar3)) &&\n       (iVar1 = g_type_check_instance_is_a(param_1,iVar3), iVar1 == 0)) {\n      g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38517);\n    }\n    else {\n      uVar2 = gtk_container_get_type();\n      if (iVar3 == 0) {\n        iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n        *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n      }\n      iVar3 = g_type_check_instance_cast(param_1,iVar3);\n      uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n      iVar1 = gtk_container_get_border_width(uVar4);\n      puVar5 = (undefined4 *)g_malloc(8);\n      *puVar5 = 0;\n      param_2 = param_2 + iVar1 * -2;\n      puVar5[1] = param_2 + *(int *)(iVar3 + 0x1c);\n      local_50 = *(int **)(iVar3 + 0x14);\n      if ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0)) {\n        local_54 = 1;\n        do {\n          if (*piVar6 == 0) {\n            local_54 = piVar6[5];\n            iVar1 = piVar6[6];\n            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);\n            *puVar5 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar11 = 0;\n            iVar10 = 0;\n            do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0));\n      }\n      g_free(puVar5);\n      if (param_3 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar1 = gtk_container_get_border_width(uVar4);\n        g_free(piVar6);\n        *param_3 = (int)local_50 + iVar1 * 2;\n      }\n      if (param_4 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar2 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar3 = gtk_container_get_border_width(uVar2);\n        g_free(piVar6);\n        *param_4 = (int)local_50 + iVar3 * 2;\n      }\n    }\n  }" if (parenthesized_expression "(param_1 == (int *)0x0)" ( (binary_expression "param_1 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38508);\n  }" { (expression_statement "g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38508);" (call_expression "g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38508)" identifier (argument_list "(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38508)" ( number_literal , (binary_expression "unaff_EBP + 0x3879a" identifier + number_literal) , (binary_expression "unaff_EBP + 0x38508" identifier + number_literal) ))) ;) }) (else_clause "else {\n    iVar3 = *(int *)(unaff_EBP + 0x66f4a);\n    if (iVar3 == 0) {\n      uVar2 = gtk_container_get_type();\n      iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n      *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n    }\n    if ((((int *)*param_1 == (int *)0x0) || (*(int *)*param_1 != iVar3)) &&\n       (iVar1 = g_type_check_instance_is_a(param_1,iVar3), iVar1 == 0)) {\n      g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38517);\n    }\n    else {\n      uVar2 = gtk_container_get_type();\n      if (iVar3 == 0) {\n        iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n        *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n      }\n      iVar3 = g_type_check_instance_cast(param_1,iVar3);\n      uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n      iVar1 = gtk_container_get_border_width(uVar4);\n      puVar5 = (undefined4 *)g_malloc(8);\n      *puVar5 = 0;\n      param_2 = param_2 + iVar1 * -2;\n      puVar5[1] = param_2 + *(int *)(iVar3 + 0x1c);\n      local_50 = *(int **)(iVar3 + 0x14);\n      if ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0)) {\n        local_54 = 1;\n        do {\n          if (*piVar6 == 0) {\n            local_54 = piVar6[5];\n            iVar1 = piVar6[6];\n            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);\n            *puVar5 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar11 = 0;\n            iVar10 = 0;\n            do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0));\n      }\n      g_free(puVar5);\n      if (param_3 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar1 = gtk_container_get_border_width(uVar4);\n        g_free(piVar6);\n        *param_3 = (int)local_50 + iVar1 * 2;\n      }\n      if (param_4 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar2 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar3 = gtk_container_get_border_width(uVar2);\n        g_free(piVar6);\n        *param_4 = (int)local_50 + iVar3 * 2;\n      }\n    }\n  }" else (compound_statement "{\n    iVar3 = *(int *)(unaff_EBP + 0x66f4a);\n    if (iVar3 == 0) {\n      uVar2 = gtk_container_get_type();\n      iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n      *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n    }\n    if ((((int *)*param_1 == (int *)0x0) || (*(int *)*param_1 != iVar3)) &&\n       (iVar1 = g_type_check_instance_is_a(param_1,iVar3), iVar1 == 0)) {\n      g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38517);\n    }\n    else {\n      uVar2 = gtk_container_get_type();\n      if (iVar3 == 0) {\n        iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n        *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n      }\n      iVar3 = g_type_check_instance_cast(param_1,iVar3);\n      uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n      iVar1 = gtk_container_get_border_width(uVar4);\n      puVar5 = (undefined4 *)g_malloc(8);\n      *puVar5 = 0;\n      param_2 = param_2 + iVar1 * -2;\n      puVar5[1] = param_2 + *(int *)(iVar3 + 0x1c);\n      local_50 = *(int **)(iVar3 + 0x14);\n      if ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0)) {\n        local_54 = 1;\n        do {\n          if (*piVar6 == 0) {\n            local_54 = piVar6[5];\n            iVar1 = piVar6[6];\n            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);\n            *puVar5 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar11 = 0;\n            iVar10 = 0;\n            do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0));\n      }\n      g_free(puVar5);\n      if (param_3 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar1 = gtk_container_get_border_width(uVar4);\n        g_free(piVar6);\n        *param_3 = (int)local_50 + iVar1 * 2;\n      }\n      if (param_4 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar2 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar3 = gtk_container_get_border_width(uVar2);\n        g_free(piVar6);\n        *param_4 = (int)local_50 + iVar3 * 2;\n      }\n    }\n  }" { (expression_statement "iVar3 = *(int *)(unaff_EBP + 0x66f4a);" (assignment_expression "iVar3 = *(int *)(unaff_EBP + 0x66f4a)" identifier = (pointer_expression "*(int *)(unaff_EBP + 0x66f4a)" * (cast_expression "(int *)(unaff_EBP + 0x66f4a)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x66f4a)" ( (binary_expression "unaff_EBP + 0x66f4a" identifier + number_literal) ))))) ;) (if_statement "if (iVar3 == 0) {\n      uVar2 = gtk_container_get_type();\n      iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n      *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar2 = gtk_container_get_type();\n      iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n      *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n    }" { (expression_statement "uVar2 = gtk_container_get_type();" (assignment_expression "uVar2 = gtk_container_get_type()" identifier = (call_expression "gtk_container_get_type()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);" (assignment_expression "iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0)" identifier = (call_expression "g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0)" identifier (argument_list "(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0)" ( identifier , (binary_expression "unaff_EBP + 0x30f20" identifier + number_literal) , (binary_expression "unaff_EBP + 0x65b5a" identifier + number_literal) , number_literal )))) ;) (expression_statement "*(int *)(unaff_EBP + 0x66f4a) = iVar3;" (assignment_expression "*(int *)(unaff_EBP + 0x66f4a) = iVar3" (pointer_expression "*(int *)(unaff_EBP + 0x66f4a)" * (cast_expression "(int *)(unaff_EBP + 0x66f4a)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x66f4a)" ( (binary_expression "unaff_EBP + 0x66f4a" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if ((((int *)*param_1 == (int *)0x0) || (*(int *)*param_1 != iVar3)) &&\n       (iVar1 = g_type_check_instance_is_a(param_1,iVar3), iVar1 == 0)) {\n      g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38517);\n    }\n    else {\n      uVar2 = gtk_container_get_type();\n      if (iVar3 == 0) {\n        iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n        *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n      }\n      iVar3 = g_type_check_instance_cast(param_1,iVar3);\n      uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n      iVar1 = gtk_container_get_border_width(uVar4);\n      puVar5 = (undefined4 *)g_malloc(8);\n      *puVar5 = 0;\n      param_2 = param_2 + iVar1 * -2;\n      puVar5[1] = param_2 + *(int *)(iVar3 + 0x1c);\n      local_50 = *(int **)(iVar3 + 0x14);\n      if ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0)) {\n        local_54 = 1;\n        do {\n          if (*piVar6 == 0) {\n            local_54 = piVar6[5];\n            iVar1 = piVar6[6];\n            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);\n            *puVar5 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar11 = 0;\n            iVar10 = 0;\n            do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0));\n      }\n      g_free(puVar5);\n      if (param_3 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar1 = gtk_container_get_border_width(uVar4);\n        g_free(piVar6);\n        *param_3 = (int)local_50 + iVar1 * 2;\n      }\n      if (param_4 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar2 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar3 = gtk_container_get_border_width(uVar2);\n        g_free(piVar6);\n        *param_4 = (int)local_50 + iVar3 * 2;\n      }\n    }" if (parenthesized_expression "((((int *)*param_1 == (int *)0x0) || (*(int *)*param_1 != iVar3)) &&\n       (iVar1 = g_type_check_instance_is_a(param_1,iVar3), iVar1 == 0))" ( (binary_expression "(((int *)*param_1 == (int *)0x0) || (*(int *)*param_1 != iVar3)) &&\n       (iVar1 = g_type_check_instance_is_a(param_1,iVar3), iVar1 == 0)" (parenthesized_expression "(((int *)*param_1 == (int *)0x0) || (*(int *)*param_1 != iVar3))" ( (binary_expression "((int *)*param_1 == (int *)0x0) || (*(int *)*param_1 != iVar3)" (parenthesized_expression "((int *)*param_1 == (int *)0x0)" ( (binary_expression "(int *)*param_1 == (int *)0x0" (cast_expression "(int *)*param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier)) == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*(int *)*param_1 != iVar3)" ( (binary_expression "*(int *)*param_1 != iVar3" (pointer_expression "*(int *)*param_1" * (cast_expression "(int *)*param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier))) != identifier) ))) )) && (parenthesized_expression "(iVar1 = g_type_check_instance_is_a(param_1,iVar3), iVar1 == 0)" ( (comma_expression "iVar1 = g_type_check_instance_is_a(param_1,iVar3), iVar1 == 0" (assignment_expression "iVar1 = g_type_check_instance_is_a(param_1,iVar3)" identifier = (call_expression "g_type_check_instance_is_a(param_1,iVar3)" identifier (argument_list "(param_1,iVar3)" ( identifier , identifier )))) , (binary_expression "iVar1 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n      g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38517);\n    }" { (expression_statement "g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38517);" (call_expression "g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38517)" identifier (argument_list "(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38517)" ( number_literal , (binary_expression "unaff_EBP + 0x3879a" identifier + number_literal) , (binary_expression "unaff_EBP + 0x38517" identifier + number_literal) ))) ;) }) (else_clause "else {\n      uVar2 = gtk_container_get_type();\n      if (iVar3 == 0) {\n        iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n        *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n      }\n      iVar3 = g_type_check_instance_cast(param_1,iVar3);\n      uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n      iVar1 = gtk_container_get_border_width(uVar4);\n      puVar5 = (undefined4 *)g_malloc(8);\n      *puVar5 = 0;\n      param_2 = param_2 + iVar1 * -2;\n      puVar5[1] = param_2 + *(int *)(iVar3 + 0x1c);\n      local_50 = *(int **)(iVar3 + 0x14);\n      if ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0)) {\n        local_54 = 1;\n        do {\n          if (*piVar6 == 0) {\n            local_54 = piVar6[5];\n            iVar1 = piVar6[6];\n            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);\n            *puVar5 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar11 = 0;\n            iVar10 = 0;\n            do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0));\n      }\n      g_free(puVar5);\n      if (param_3 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar1 = gtk_container_get_border_width(uVar4);\n        g_free(piVar6);\n        *param_3 = (int)local_50 + iVar1 * 2;\n      }\n      if (param_4 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar2 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar3 = gtk_container_get_border_width(uVar2);\n        g_free(piVar6);\n        *param_4 = (int)local_50 + iVar3 * 2;\n      }\n    }" else (compound_statement "{\n      uVar2 = gtk_container_get_type();\n      if (iVar3 == 0) {\n        iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n        *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n      }\n      iVar3 = g_type_check_instance_cast(param_1,iVar3);\n      uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n      iVar1 = gtk_container_get_border_width(uVar4);\n      puVar5 = (undefined4 *)g_malloc(8);\n      *puVar5 = 0;\n      param_2 = param_2 + iVar1 * -2;\n      puVar5[1] = param_2 + *(int *)(iVar3 + 0x1c);\n      local_50 = *(int **)(iVar3 + 0x14);\n      if ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0)) {\n        local_54 = 1;\n        do {\n          if (*piVar6 == 0) {\n            local_54 = piVar6[5];\n            iVar1 = piVar6[6];\n            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);\n            *puVar5 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar11 = 0;\n            iVar10 = 0;\n            do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0));\n      }\n      g_free(puVar5);\n      if (param_3 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar1 = gtk_container_get_border_width(uVar4);\n        g_free(piVar6);\n        *param_3 = (int)local_50 + iVar1 * 2;\n      }\n      if (param_4 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar2 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar3 = gtk_container_get_border_width(uVar2);\n        g_free(piVar6);\n        *param_4 = (int)local_50 + iVar3 * 2;\n      }\n    }" { (expression_statement "uVar2 = gtk_container_get_type();" (assignment_expression "uVar2 = gtk_container_get_type()" identifier = (call_expression "gtk_container_get_type()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar3 == 0) {\n        iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n        *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n        *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n      }" { (expression_statement "iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);" (assignment_expression "iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0)" identifier = (call_expression "g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0)" identifier (argument_list "(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0)" ( identifier , (binary_expression "unaff_EBP + 0x30f20" identifier + number_literal) , (binary_expression "unaff_EBP + 0x65b5a" identifier + number_literal) , number_literal )))) ;) (expression_statement "*(int *)(unaff_EBP + 0x66f4a) = iVar3;" (assignment_expression "*(int *)(unaff_EBP + 0x66f4a) = iVar3" (pointer_expression "*(int *)(unaff_EBP + 0x66f4a)" * (cast_expression "(int *)(unaff_EBP + 0x66f4a)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x66f4a)" ( (binary_expression "unaff_EBP + 0x66f4a" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "iVar3 = g_type_check_instance_cast(param_1,iVar3);" (assignment_expression "iVar3 = g_type_check_instance_cast(param_1,iVar3)" identifier = (call_expression "g_type_check_instance_cast(param_1,iVar3)" identifier (argument_list "(param_1,iVar3)" ( identifier , identifier )))) ;) (expression_statement "uVar4 = g_type_check_instance_cast(iVar3,uVar2);" (assignment_expression "uVar4 = g_type_check_instance_cast(iVar3,uVar2)" identifier = (call_expression "g_type_check_instance_cast(iVar3,uVar2)" identifier (argument_list "(iVar3,uVar2)" ( identifier , identifier )))) ;) (expression_statement "iVar1 = gtk_container_get_border_width(uVar4);" (assignment_expression "iVar1 = gtk_container_get_border_width(uVar4)" identifier = (call_expression "gtk_container_get_border_width(uVar4)" identifier (argument_list "(uVar4)" ( identifier )))) ;) (expression_statement "puVar5 = (undefined4 *)g_malloc(8);" (assignment_expression "puVar5 = (undefined4 *)g_malloc(8)" identifier = (cast_expression "(undefined4 *)g_malloc(8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "g_malloc(8)" identifier (argument_list "(8)" ( number_literal ))))) ;) (expression_statement "*puVar5 = 0;" (assignment_expression "*puVar5 = 0" (pointer_expression "*puVar5" * identifier) = number_literal) ;) (expression_statement "param_2 = param_2 + iVar1 * -2;" (assignment_expression "param_2 = param_2 + iVar1 * -2" identifier = (binary_expression "param_2 + iVar1 * -2" identifier + (binary_expression "iVar1 * -2" identifier * number_literal))) ;) (expression_statement "puVar5[1] = param_2 + *(int *)(iVar3 + 0x1c);" (assignment_expression "puVar5[1] = param_2 + *(int *)(iVar3 + 0x1c)" (subscript_expression "puVar5[1]" identifier [ number_literal ]) = (binary_expression "param_2 + *(int *)(iVar3 + 0x1c)" identifier + (pointer_expression "*(int *)(iVar3 + 0x1c)" * (cast_expression "(int *)(iVar3 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x1c)" ( (binary_expression "iVar3 + 0x1c" identifier + number_literal) )))))) ;) (expression_statement "local_50 = *(int **)(iVar3 + 0x14);" (assignment_expression "local_50 = *(int **)(iVar3 + 0x14)" identifier = (pointer_expression "*(int **)(iVar3 + 0x14)" * (cast_expression "(int **)(iVar3 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x14)" ( (binary_expression "iVar3 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0)) {\n        local_54 = 1;\n        do {\n          if (*piVar6 == 0) {\n            local_54 = piVar6[5];\n            iVar1 = piVar6[6];\n            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);\n            *puVar5 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar11 = 0;\n            iVar10 = 0;\n            do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0));\n      }" if (parenthesized_expression "((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0))" ( (binary_expression "(local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0)" (parenthesized_expression "(local_50 != (int *)0x0)" ( (binary_expression "local_50 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(piVar6 = (int *)*local_50, piVar6 != (int *)0x0)" ( (comma_expression "piVar6 = (int *)*local_50, piVar6 != (int *)0x0" (assignment_expression "piVar6 = (int *)*local_50" identifier = (cast_expression "(int *)*local_50" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_50" * identifier))) , (binary_expression "piVar6 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n        local_54 = 1;\n        do {\n          if (*piVar6 == 0) {\n            local_54 = piVar6[5];\n            iVar1 = piVar6[6];\n            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);\n            *puVar5 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar11 = 0;\n            iVar10 = 0;\n            do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0));\n      }" { (expression_statement "local_54 = 1;" (assignment_expression "local_54 = 1" identifier = number_literal) ;) (do_statement "do {\n          if (*piVar6 == 0) {\n            local_54 = piVar6[5];\n            iVar1 = piVar6[6];\n            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);\n            *puVar5 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar11 = 0;\n            iVar10 = 0;\n            do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0));" do (compound_statement "{\n          if (*piVar6 == 0) {\n            local_54 = piVar6[5];\n            iVar1 = piVar6[6];\n            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);\n            *puVar5 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar11 = 0;\n            iVar10 = 0;\n            do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        }" { (if_statement "if (*piVar6 == 0) {\n            local_54 = piVar6[5];\n            iVar1 = piVar6[6];\n            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);\n            *puVar5 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar11 = 0;\n            iVar10 = 0;\n            do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }" if (parenthesized_expression "(*piVar6 == 0)" ( (binary_expression "*piVar6 == 0" (pointer_expression "*piVar6" * identifier) == number_literal) )) (compound_statement "{\n            local_54 = piVar6[5];\n            iVar1 = piVar6[6];\n            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);\n            *puVar5 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar11 = 0;\n            iVar10 = 0;\n            do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);\n            local_50 = (int *)local_50[1];\n          }" { (expression_statement "local_54 = piVar6[5];" (assignment_expression "local_54 = piVar6[5]" identifier = (subscript_expression "piVar6[5]" identifier [ number_literal ])) ;) (expression_statement "iVar1 = piVar6[6];" (assignment_expression "iVar1 = piVar6[6]" identifier = (subscript_expression "piVar6[6]" identifier [ number_literal ])) ;) (expression_statement "puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);" (assignment_expression "puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4)" identifier = (cast_expression "(undefined4 *)g_realloc_n(puVar5,local_54 + 1,4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "g_realloc_n(puVar5,local_54 + 1,4)" identifier (argument_list "(puVar5,local_54 + 1,4)" ( identifier , (binary_expression "local_54 + 1" identifier + number_literal) , number_literal ))))) ;) (expression_statement "*puVar5 = 0;" (assignment_expression "*puVar5 = 0" (pointer_expression "*puVar5" * identifier) = number_literal) ;) (if_statement "if (local_54 < 1) goto LAB_0004f2f6;" if (parenthesized_expression "(local_54 < 1)" ( (binary_expression "local_54 < 1" identifier < number_literal) )) (goto_statement "goto LAB_0004f2f6;" goto statement_identifier ;)) (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (do_statement "do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);" do (compound_statement "{\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            }" { (expression_statement "iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);" (assignment_expression "iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4)" identifier = (binary_expression "iVar11 + *(int *)(iVar1 + iVar10 * 4)" identifier + (pointer_expression "*(int *)(iVar1 + iVar10 * 4)" * (cast_expression "(int *)(iVar1 + iVar10 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + iVar10 * 4)" ( (binary_expression "iVar1 + iVar10 * 4" identifier + (binary_expression "iVar10 * 4" identifier * number_literal)) )))))) ;) (expression_statement "puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;" (assignment_expression "puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100" (subscript_expression "puVar5[iVar10 + 1]" identifier [ (binary_expression "iVar10 + 1" identifier + number_literal) ]) = (binary_expression "((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100" (parenthesized_expression "((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11)" ( (binary_expression "(param_2 + *(int *)(iVar3 + 0x1c)) * iVar11" (parenthesized_expression "(param_2 + *(int *)(iVar3 + 0x1c))" ( (binary_expression "param_2 + *(int *)(iVar3 + 0x1c)" identifier + (pointer_expression "*(int *)(iVar3 + 0x1c)" * (cast_expression "(int *)(iVar3 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x1c)" ( (binary_expression "iVar3 + 0x1c" identifier + number_literal) ))))) )) * identifier) )) / number_literal)) ;) (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_54 != iVar10)" ( (binary_expression "local_54 != iVar10" identifier != identifier) )) ;) (expression_statement "local_50 = (int *)local_50[1];" (assignment_expression "local_50 = (int *)local_50[1]" identifier = (cast_expression "(int *)local_50[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_50[1]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }" else (compound_statement "{\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }" { (expression_statement "iVar1 = gtk_widget_get_visible(*piVar6);" (assignment_expression "iVar1 = gtk_widget_get_visible(*piVar6)" identifier = (call_expression "gtk_widget_get_visible(*piVar6)" identifier (argument_list "(*piVar6)" ( (pointer_expression "*piVar6" * identifier) )))) ;) (if_statement "if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }" { (expression_statement "iVar11 = FUN_0004d190();" (assignment_expression "iVar11 = FUN_0004d190()" identifier = (call_expression "FUN_0004d190()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar1 = piVar6[2];" (assignment_expression "iVar1 = piVar6[2]" identifier = (subscript_expression "piVar6[2]" identifier [ number_literal ])) ;) (expression_statement "iVar10 = piVar6[1];" (assignment_expression "iVar10 = piVar6[1]" identifier = (subscript_expression "piVar6[1]" identifier [ number_literal ])) ;) (if_statement "if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n                iVar1 = local_54 - iVar10;\n              }" { (expression_statement "iVar1 = local_54 - iVar10;" (assignment_expression "iVar1 = local_54 - iVar10" identifier = (binary_expression "local_54 - iVar10" identifier - identifier)) ;) })) (expression_statement "iVar9 = puVar5[iVar10];" (assignment_expression "iVar9 = puVar5[iVar10]" identifier = (subscript_expression "puVar5[iVar10]" identifier [ identifier ])) ;) (expression_statement "piVar6[7] = iVar9;" (assignment_expression "piVar6[7] = iVar9" (subscript_expression "piVar6[7]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }" if (parenthesized_expression "(piVar6[3] == 0)" ( (binary_expression "piVar6[3] == 0" (subscript_expression "piVar6[3]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }" { (expression_statement "iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);" (assignment_expression "iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c)" identifier = (binary_expression "(puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c)" (parenthesized_expression "(puVar5[iVar1 + iVar10] - iVar9)" ( (binary_expression "puVar5[iVar1 + iVar10] - iVar9" (subscript_expression "puVar5[iVar1 + iVar10]" identifier [ (binary_expression "iVar1 + iVar10" identifier + identifier) ]) - identifier) )) - (pointer_expression "*(int *)(iVar3 + 0x1c)" * (cast_expression "(int *)(iVar3 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x1c)" ( (binary_expression "iVar3 + 0x1c" identifier + number_literal) )))))) ;) })) (expression_statement "piVar6[9] = iVar11;" (assignment_expression "piVar6[9] = iVar11" (subscript_expression "piVar6[9]" identifier [ number_literal ]) = identifier) ;) })) (labeled_statement "LAB_0004f2f6:\n            local_50 = (int *)local_50[1];" statement_identifier : (expression_statement "local_50 = (int *)local_50[1];" (assignment_expression "local_50 = (int *)local_50[1]" identifier = (cast_expression "(int *)local_50[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_50[1]" identifier [ number_literal ]))) ;)) }))) }) while (parenthesized_expression "((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0))" ( (binary_expression "(local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0)" (parenthesized_expression "(local_50 != (int *)0x0)" ( (binary_expression "local_50 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(piVar6 = (int *)*local_50, piVar6 != (int *)0x0)" ( (comma_expression "piVar6 = (int *)*local_50, piVar6 != (int *)0x0" (assignment_expression "piVar6 = (int *)*local_50" identifier = (cast_expression "(int *)*local_50" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_50" * identifier))) , (binary_expression "piVar6 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) ;) })) (expression_statement "g_free(puVar5);" (call_expression "g_free(puVar5)" identifier (argument_list "(puVar5)" ( identifier ))) ;) (if_statement "if (param_3 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar1 = gtk_container_get_border_width(uVar4);\n        g_free(piVar6);\n        *param_3 = (int)local_50 + iVar1 * 2;\n      }" if (parenthesized_expression "(param_3 != (int *)0x0)" ( (binary_expression "param_3 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar1 = gtk_container_get_border_width(uVar4);\n        g_free(piVar6);\n        *param_3 = (int)local_50 + iVar1 * 2;\n      }" { (expression_statement "local_50 = *(int **)(iVar3 + 0x1c);" (assignment_expression "local_50 = *(int **)(iVar3 + 0x1c)" identifier = (pointer_expression "*(int **)(iVar3 + 0x1c)" * (cast_expression "(int **)(iVar3 + 0x1c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x1c)" ( (binary_expression "iVar3 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "piVar6 = (int *)g_malloc(4);" (assignment_expression "piVar6 = (int *)g_malloc(4)" identifier = (cast_expression "(int *)g_malloc(4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "g_malloc(4)" identifier (argument_list "(4)" ( number_literal ))))) ;) (expression_statement "*piVar6 = 0;" (assignment_expression "*piVar6 = 0" (pointer_expression "*piVar6" * identifier) = number_literal) ;) (expression_statement "local_44 = *(int **)(iVar3 + 0x14);" (assignment_expression "local_44 = *(int **)(iVar3 + 0x14)" identifier = (pointer_expression "*(int **)(iVar3 + 0x14)" * (cast_expression "(int **)(iVar3 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x14)" ( (binary_expression "iVar3 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }" if (parenthesized_expression "((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0))" ( (binary_expression "(local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)" (parenthesized_expression "(local_44 != (int *)0x0)" ( (binary_expression "local_44 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(piVar7 = (int *)*local_44, piVar7 != (int *)0x0)" ( (comma_expression "piVar7 = (int *)*local_44, piVar7 != (int *)0x0" (assignment_expression "piVar7 = (int *)*local_44" identifier = (cast_expression "(int *)*local_44" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_44" * identifier))) , (binary_expression "piVar7 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }" { (expression_statement "local_48 = 1;" (assignment_expression "local_48 = 1" identifier = number_literal) ;) (do_statement "do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));" do (compound_statement "{\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          }" { (if_statement "if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }" if (parenthesized_expression "(*piVar7 == 0)" ( (binary_expression "*piVar7 == 0" (pointer_expression "*piVar7" * identifier) == number_literal) )) (compound_statement "{\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }" { (if_statement "if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }" if (parenthesized_expression "(1 < local_48)" ( (binary_expression "1 < local_48" number_literal < identifier) )) (compound_statement "{\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }" { (expression_statement "iVar1 = *piVar6;" (assignment_expression "iVar1 = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "piVar8 = piVar6 + 1;" (assignment_expression "piVar8 = piVar6 + 1" identifier = (binary_expression "piVar6 + 1" identifier + number_literal)) ;) (do_statement "do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);" do (compound_statement "{\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                }" { (expression_statement "iVar10 = *piVar8;" (assignment_expression "iVar10 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (if_statement "if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }" if (parenthesized_expression "(iVar1 < iVar10)" ( (binary_expression "iVar1 < iVar10" identifier < identifier) )) (compound_statement "{\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }" { (expression_statement "*piVar6 = iVar10;" (assignment_expression "*piVar6 = iVar10" (pointer_expression "*piVar6" * identifier) = identifier) ;) (expression_statement "iVar1 = iVar10;" (assignment_expression "iVar1 = iVar10" identifier = identifier) ;) })) (expression_statement "piVar8 = piVar8 + 1;" (assignment_expression "piVar8 = piVar8 + 1" identifier = (binary_expression "piVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar6 + local_48 != piVar8)" ( (binary_expression "piVar6 + local_48 != piVar8" (binary_expression "piVar6 + local_48" identifier + identifier) != identifier) )) ;) })) (expression_statement "local_48 = piVar7[5];" (assignment_expression "local_48 = piVar7[5]" identifier = (subscript_expression "piVar7[5]" identifier [ number_literal ])) ;) (expression_statement "piVar6 = (int *)g_realloc_n(piVar6,local_48,4);" (assignment_expression "piVar6 = (int *)g_realloc_n(piVar6,local_48,4)" identifier = (cast_expression "(int *)g_realloc_n(piVar6,local_48,4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "g_realloc_n(piVar6,local_48,4)" identifier (argument_list "(piVar6,local_48,4)" ( identifier , identifier , number_literal ))))) ;) (expression_statement "piVar7 = piVar6 + 1;" (assignment_expression "piVar7 = piVar6 + 1" identifier = (binary_expression "piVar6 + 1" identifier + number_literal)) ;) (if_statement "if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }" if (parenthesized_expression "(1 < local_48)" ( (binary_expression "1 < local_48" number_literal < identifier) )) (compound_statement "{\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }" { (do_statement "do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);" do (compound_statement "{\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                }" { (expression_statement "piVar8 = piVar7 + 1;" (assignment_expression "piVar8 = piVar7 + 1" identifier = (binary_expression "piVar7 + 1" identifier + number_literal)) ;) (expression_statement "*piVar7 = *piVar6;" (assignment_expression "*piVar7 = *piVar6" (pointer_expression "*piVar7" * identifier) = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "piVar7 = piVar8;" (assignment_expression "piVar7 = piVar8" identifier = identifier) ;) }) while (parenthesized_expression "(piVar6 + local_48 != piVar8)" ( (binary_expression "piVar6 + local_48 != piVar8" (binary_expression "piVar6 + local_48" identifier + identifier) != identifier) )) ;) })) (labeled_statement "LAB_0004f400:\n              local_44 = (int *)local_44[1];" statement_identifier : (expression_statement "local_44 = (int *)local_44[1];" (assignment_expression "local_44 = (int *)local_44[1]" identifier = (cast_expression "(int *)local_44[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_44[1]" identifier [ number_literal ]))) ;)) }) (else_clause "else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }" else (compound_statement "{\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }" { (expression_statement "iVar1 = gtk_widget_get_visible(*piVar7);" (assignment_expression "iVar1 = gtk_widget_get_visible(*piVar7)" identifier = (call_expression "gtk_widget_get_visible(*piVar7)" identifier (argument_list "(*piVar7)" ( (pointer_expression "*piVar7" * identifier) )))) ;) (if_statement "if (iVar1 == 0) goto LAB_0004f400;" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004f400;" goto statement_identifier ;)) (expression_statement "gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);" (call_expression "gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0)" identifier (argument_list "(*piVar7,piVar7[9],&local_24,0)" ( (pointer_expression "*piVar7" * identifier) , (subscript_expression "piVar7[9]" identifier [ number_literal ]) , (pointer_expression "&local_24" & identifier) , number_literal ))) ;) (expression_statement "iVar1 = local_24;" (assignment_expression "iVar1 = local_24" identifier = identifier) ;) (expression_statement "puVar5 = (undefined4 *)piVar7[4];" (assignment_expression "puVar5 = (undefined4 *)piVar7[4]" identifier = (cast_expression "(undefined4 *)piVar7[4]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar7[4]" identifier [ number_literal ]))) ;) (expression_statement "local_54 = local_24;" (assignment_expression "local_54 = local_24" identifier = identifier) ;) (if_statement "if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }" if (parenthesized_expression "((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1))" ( (binary_expression "(puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)" (parenthesized_expression "(puVar5 != (undefined4 *)0x0)" ( (binary_expression "puVar5 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)" ( (comma_expression "gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1" (call_expression "gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0)" identifier (argument_list "(*puVar5,puVar5[9],&local_24,0)" ( (pointer_expression "*puVar5" * identifier) , (subscript_expression "puVar5[9]" identifier [ number_literal ]) , (pointer_expression "&local_24" & identifier) , number_literal ))) , (comma_expression "local_54 = local_24, local_24 <= iVar1" (assignment_expression "local_54 = local_24" identifier = identifier) , (binary_expression "local_24 <= iVar1" identifier <= identifier))) ))) )) (compound_statement "{\n                local_54 = iVar1;\n              }" { (expression_statement "local_54 = iVar1;" (assignment_expression "local_54 = iVar1" identifier = identifier) ;) })) (expression_statement "iVar1 = piVar7[2];" (assignment_expression "iVar1 = piVar7[2]" identifier = (subscript_expression "piVar7[2]" identifier [ number_literal ])) ;) (if_statement "if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n                iVar1 = local_48 - piVar7[1];\n              }" { (expression_statement "iVar1 = local_48 - piVar7[1];" (assignment_expression "iVar1 = local_48 - piVar7[1]" identifier = (binary_expression "local_48 - piVar7[1]" identifier - (subscript_expression "piVar7[1]" identifier [ number_literal ]))) ;) })) (expression_statement "iVar10 = *(int *)(iVar3 + 0x1c);" (assignment_expression "iVar10 = *(int *)(iVar3 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar3 + 0x1c)" * (cast_expression "(int *)(iVar3 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x1c)" ( (binary_expression "iVar3 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }" if (parenthesized_expression "(iVar1 < 1)" ( (binary_expression "iVar1 < 1" identifier < number_literal) )) (compound_statement "{\n                local_54 = local_54 + iVar10;\n              }" { (expression_statement "local_54 = local_54 + iVar10;" (assignment_expression "local_54 = local_54 + iVar10" identifier = (binary_expression "local_54 + iVar10" identifier + identifier)) ;) }) (else_clause "else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }" else (compound_statement "{\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }" { (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (expression_statement "piVar8 = piVar6 + piVar7[1];" (assignment_expression "piVar8 = piVar6 + piVar7[1]" identifier = (binary_expression "piVar6 + piVar7[1]" identifier + (subscript_expression "piVar7[1]" identifier [ number_literal ]))) ;) (do_statement "do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);" do (compound_statement "{\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                }" { (if_statement "if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }" if (parenthesized_expression "(iVar11 < *piVar8)" ( (binary_expression "iVar11 < *piVar8" identifier < (pointer_expression "*piVar8" * identifier)) )) (compound_statement "{\n                    iVar11 = *piVar8;\n                  }" { (expression_statement "iVar11 = *piVar8;" (assignment_expression "iVar11 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) })) (expression_statement "piVar8 = piVar8 + 1;" (assignment_expression "piVar8 = piVar8 + 1" identifier = (binary_expression "piVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar6 + piVar7[1] + iVar1 != piVar8)" ( (binary_expression "piVar6 + piVar7[1] + iVar1 != piVar8" (binary_expression "piVar6 + piVar7[1] + iVar1" (binary_expression "piVar6 + piVar7[1]" identifier + (subscript_expression "piVar7[1]" identifier [ number_literal ])) + identifier) != identifier) )) ;) (expression_statement "iVar9 = 1;" (assignment_expression "iVar9 = 1" identifier = number_literal) ;) (expression_statement "local_54 = iVar11 + local_54 + iVar10;" (assignment_expression "local_54 = iVar11 + local_54 + iVar10" identifier = (binary_expression "iVar11 + local_54 + iVar10" (binary_expression "iVar11 + local_54" identifier + identifier) + identifier)) ;) (expression_statement "piVar6[piVar7[1]] = local_54;" (assignment_expression "piVar6[piVar7[1]] = local_54" (subscript_expression "piVar6[piVar7[1]]" identifier [ (subscript_expression "piVar7[1]" identifier [ number_literal ]) ]) = identifier) ;) (if_statement "if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }" if (parenthesized_expression "(iVar1 != 1)" ( (binary_expression "iVar1 != 1" identifier != number_literal) )) (compound_statement "{\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }" { (do_statement "do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);" do (compound_statement "{\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  }" { (expression_statement "iVar10 = piVar7[1] + iVar9;" (assignment_expression "iVar10 = piVar7[1] + iVar9" identifier = (binary_expression "piVar7[1] + iVar9" (subscript_expression "piVar7[1]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "piVar6[iVar10] = local_54;" (assignment_expression "piVar6[iVar10] = local_54" (subscript_expression "piVar6[iVar10]" identifier [ identifier ]) = identifier) ;) }) while (parenthesized_expression "(iVar1 != iVar9)" ( (binary_expression "iVar1 != iVar9" identifier != identifier) )) ;) })) (expression_statement "iVar10 = *(int *)(iVar3 + 0x1c);" (assignment_expression "iVar10 = *(int *)(iVar3 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar3 + 0x1c)" * (cast_expression "(int *)(iVar3 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x1c)" ( (binary_expression "iVar3 + 0x1c" identifier + number_literal) ))))) ;) }))) (expression_statement "piVar7 = (int *)(local_54 - iVar10);" (assignment_expression "piVar7 = (int *)(local_54 - iVar10)" identifier = (cast_expression "(int *)(local_54 - iVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_54 - iVar10)" ( (binary_expression "local_54 - iVar10" identifier - identifier) )))) ;) (if_statement "if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }" if (parenthesized_expression "(local_54 - iVar10 <= (int)local_50)" ( (binary_expression "local_54 - iVar10 <= (int)local_50" (binary_expression "local_54 - iVar10" identifier - identifier) <= (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                piVar7 = local_50;\n              }" { (expression_statement "piVar7 = local_50;" (assignment_expression "piVar7 = local_50" identifier = identifier) ;) })) (expression_statement "local_44 = (int *)local_44[1];" (assignment_expression "local_44 = (int *)local_44[1]" identifier = (cast_expression "(int *)local_44[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_44[1]" identifier [ number_literal ]))) ;) (expression_statement "local_50 = piVar7;" (assignment_expression "local_50 = piVar7" identifier = identifier) ;) }))) }) while (parenthesized_expression "((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0))" ( (binary_expression "(local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)" (parenthesized_expression "(local_44 != (int *)0x0)" ( (binary_expression "local_44 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(piVar7 = (int *)*local_44, piVar7 != (int *)0x0)" ( (comma_expression "piVar7 = (int *)*local_44, piVar7 != (int *)0x0" (assignment_expression "piVar7 = (int *)*local_44" identifier = (cast_expression "(int *)*local_44" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_44" * identifier))) , (binary_expression "piVar7 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) ;) })) (expression_statement "uVar4 = g_type_check_instance_cast(iVar3,uVar2);" (assignment_expression "uVar4 = g_type_check_instance_cast(iVar3,uVar2)" identifier = (call_expression "g_type_check_instance_cast(iVar3,uVar2)" identifier (argument_list "(iVar3,uVar2)" ( identifier , identifier )))) ;) (expression_statement "iVar1 = gtk_container_get_border_width(uVar4);" (assignment_expression "iVar1 = gtk_container_get_border_width(uVar4)" identifier = (call_expression "gtk_container_get_border_width(uVar4)" identifier (argument_list "(uVar4)" ( identifier )))) ;) (expression_statement "g_free(piVar6);" (call_expression "g_free(piVar6)" identifier (argument_list "(piVar6)" ( identifier ))) ;) (expression_statement "*param_3 = (int)local_50 + iVar1 * 2;" (assignment_expression "*param_3 = (int)local_50 + iVar1 * 2" (pointer_expression "*param_3" * identifier) = (binary_expression "(int)local_50 + iVar1 * 2" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar1 * 2" identifier * number_literal))) ;) })) (if_statement "if (param_4 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar2 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar3 = gtk_container_get_border_width(uVar2);\n        g_free(piVar6);\n        *param_4 = (int)local_50 + iVar3 * 2;\n      }" if (parenthesized_expression "(param_4 != (int *)0x0)" ( (binary_expression "param_4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar2 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar3 = gtk_container_get_border_width(uVar2);\n        g_free(piVar6);\n        *param_4 = (int)local_50 + iVar3 * 2;\n      }" { (expression_statement "local_50 = *(int **)(iVar3 + 0x1c);" (assignment_expression "local_50 = *(int **)(iVar3 + 0x1c)" identifier = (pointer_expression "*(int **)(iVar3 + 0x1c)" * (cast_expression "(int **)(iVar3 + 0x1c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x1c)" ( (binary_expression "iVar3 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "piVar6 = (int *)g_malloc(4);" (assignment_expression "piVar6 = (int *)g_malloc(4)" identifier = (cast_expression "(int *)g_malloc(4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "g_malloc(4)" identifier (argument_list "(4)" ( number_literal ))))) ;) (expression_statement "*piVar6 = 0;" (assignment_expression "*piVar6 = 0" (pointer_expression "*piVar6" * identifier) = number_literal) ;) (expression_statement "local_44 = *(int **)(iVar3 + 0x14);" (assignment_expression "local_44 = *(int **)(iVar3 + 0x14)" identifier = (pointer_expression "*(int **)(iVar3 + 0x14)" * (cast_expression "(int **)(iVar3 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x14)" ( (binary_expression "iVar3 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }" if (parenthesized_expression "((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0))" ( (binary_expression "(local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)" (parenthesized_expression "(local_44 != (int *)0x0)" ( (binary_expression "local_44 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(piVar7 = (int *)*local_44, piVar7 != (int *)0x0)" ( (comma_expression "piVar7 = (int *)*local_44, piVar7 != (int *)0x0" (assignment_expression "piVar7 = (int *)*local_44" identifier = (cast_expression "(int *)*local_44" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_44" * identifier))) , (binary_expression "piVar7 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }" { (expression_statement "local_48 = 1;" (assignment_expression "local_48 = 1" identifier = number_literal) ;) (do_statement "do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));" do (compound_statement "{\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          }" { (if_statement "if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }" if (parenthesized_expression "(*piVar7 == 0)" ( (binary_expression "*piVar7 == 0" (pointer_expression "*piVar7" * identifier) == number_literal) )) (compound_statement "{\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }" { (if_statement "if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }" if (parenthesized_expression "(1 < local_48)" ( (binary_expression "1 < local_48" number_literal < identifier) )) (compound_statement "{\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }" { (expression_statement "iVar1 = *piVar6;" (assignment_expression "iVar1 = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "piVar8 = piVar6 + 1;" (assignment_expression "piVar8 = piVar6 + 1" identifier = (binary_expression "piVar6 + 1" identifier + number_literal)) ;) (do_statement "do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);" do (compound_statement "{\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                }" { (expression_statement "iVar10 = *piVar8;" (assignment_expression "iVar10 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (if_statement "if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }" if (parenthesized_expression "(iVar1 < iVar10)" ( (binary_expression "iVar1 < iVar10" identifier < identifier) )) (compound_statement "{\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }" { (expression_statement "*piVar6 = iVar10;" (assignment_expression "*piVar6 = iVar10" (pointer_expression "*piVar6" * identifier) = identifier) ;) (expression_statement "iVar1 = iVar10;" (assignment_expression "iVar1 = iVar10" identifier = identifier) ;) })) (expression_statement "piVar8 = piVar8 + 1;" (assignment_expression "piVar8 = piVar8 + 1" identifier = (binary_expression "piVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar8 != piVar6 + local_48)" ( (binary_expression "piVar8 != piVar6 + local_48" identifier != (binary_expression "piVar6 + local_48" identifier + identifier)) )) ;) })) (expression_statement "local_48 = piVar7[5];" (assignment_expression "local_48 = piVar7[5]" identifier = (subscript_expression "piVar7[5]" identifier [ number_literal ])) ;) (expression_statement "piVar6 = (int *)g_realloc_n(piVar6,local_48,4);" (assignment_expression "piVar6 = (int *)g_realloc_n(piVar6,local_48,4)" identifier = (cast_expression "(int *)g_realloc_n(piVar6,local_48,4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "g_realloc_n(piVar6,local_48,4)" identifier (argument_list "(piVar6,local_48,4)" ( identifier , identifier , number_literal ))))) ;) (expression_statement "piVar7 = piVar6 + 1;" (assignment_expression "piVar7 = piVar6 + 1" identifier = (binary_expression "piVar6 + 1" identifier + number_literal)) ;) (if_statement "if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }" if (parenthesized_expression "(1 < local_48)" ( (binary_expression "1 < local_48" number_literal < identifier) )) (compound_statement "{\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }" { (do_statement "do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);" do (compound_statement "{\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                }" { (expression_statement "piVar8 = piVar7 + 1;" (assignment_expression "piVar8 = piVar7 + 1" identifier = (binary_expression "piVar7 + 1" identifier + number_literal)) ;) (expression_statement "*piVar7 = *piVar6;" (assignment_expression "*piVar7 = *piVar6" (pointer_expression "*piVar7" * identifier) = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "piVar7 = piVar8;" (assignment_expression "piVar7 = piVar8" identifier = identifier) ;) }) while (parenthesized_expression "(piVar6 + local_48 != piVar8)" ( (binary_expression "piVar6 + local_48 != piVar8" (binary_expression "piVar6 + local_48" identifier + identifier) != identifier) )) ;) })) (labeled_statement "LAB_0004f5b8:\n              local_44 = (int *)local_44[1];" statement_identifier : (expression_statement "local_44 = (int *)local_44[1];" (assignment_expression "local_44 = (int *)local_44[1]" identifier = (cast_expression "(int *)local_44[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_44[1]" identifier [ number_literal ]))) ;)) }) (else_clause "else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }" else (compound_statement "{\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }" { (expression_statement "iVar1 = gtk_widget_get_visible(*piVar7);" (assignment_expression "iVar1 = gtk_widget_get_visible(*piVar7)" identifier = (call_expression "gtk_widget_get_visible(*piVar7)" identifier (argument_list "(*piVar7)" ( (pointer_expression "*piVar7" * identifier) )))) ;) (if_statement "if (iVar1 == 0) goto LAB_0004f5b8;" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004f5b8;" goto statement_identifier ;)) (expression_statement "gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);" (call_expression "gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24)" identifier (argument_list "(*piVar7,piVar7[9],0,&local_24)" ( (pointer_expression "*piVar7" * identifier) , (subscript_expression "piVar7[9]" identifier [ number_literal ]) , number_literal , (pointer_expression "&local_24" & identifier) ))) ;) (expression_statement "iVar1 = local_24;" (assignment_expression "iVar1 = local_24" identifier = identifier) ;) (expression_statement "puVar5 = (undefined4 *)piVar7[4];" (assignment_expression "puVar5 = (undefined4 *)piVar7[4]" identifier = (cast_expression "(undefined4 *)piVar7[4]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar7[4]" identifier [ number_literal ]))) ;) (expression_statement "local_54 = local_24;" (assignment_expression "local_54 = local_24" identifier = identifier) ;) (if_statement "if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }" if (parenthesized_expression "((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1))" ( (binary_expression "(puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)" (parenthesized_expression "(puVar5 != (undefined4 *)0x0)" ( (binary_expression "puVar5 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)" ( (comma_expression "gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1" (call_expression "gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24)" identifier (argument_list "(*puVar5,puVar5[9],0,&local_24)" ( (pointer_expression "*puVar5" * identifier) , (subscript_expression "puVar5[9]" identifier [ number_literal ]) , number_literal , (pointer_expression "&local_24" & identifier) ))) , (comma_expression "local_54 = local_24, local_24 <= iVar1" (assignment_expression "local_54 = local_24" identifier = identifier) , (binary_expression "local_24 <= iVar1" identifier <= identifier))) ))) )) (compound_statement "{\n                local_54 = iVar1;\n              }" { (expression_statement "local_54 = iVar1;" (assignment_expression "local_54 = iVar1" identifier = identifier) ;) })) (expression_statement "iVar1 = piVar7[2];" (assignment_expression "iVar1 = piVar7[2]" identifier = (subscript_expression "piVar7[2]" identifier [ number_literal ])) ;) (if_statement "if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n                iVar1 = local_48 - piVar7[1];\n              }" { (expression_statement "iVar1 = local_48 - piVar7[1];" (assignment_expression "iVar1 = local_48 - piVar7[1]" identifier = (binary_expression "local_48 - piVar7[1]" identifier - (subscript_expression "piVar7[1]" identifier [ number_literal ]))) ;) })) (expression_statement "iVar10 = *(int *)(iVar3 + 0x1c);" (assignment_expression "iVar10 = *(int *)(iVar3 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar3 + 0x1c)" * (cast_expression "(int *)(iVar3 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x1c)" ( (binary_expression "iVar3 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }" if (parenthesized_expression "(iVar1 < 1)" ( (binary_expression "iVar1 < 1" identifier < number_literal) )) (compound_statement "{\n                local_54 = local_54 + iVar10;\n              }" { (expression_statement "local_54 = local_54 + iVar10;" (assignment_expression "local_54 = local_54 + iVar10" identifier = (binary_expression "local_54 + iVar10" identifier + identifier)) ;) }) (else_clause "else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }" else (compound_statement "{\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }" { (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (expression_statement "piVar8 = piVar6 + piVar7[1];" (assignment_expression "piVar8 = piVar6 + piVar7[1]" identifier = (binary_expression "piVar6 + piVar7[1]" identifier + (subscript_expression "piVar7[1]" identifier [ number_literal ]))) ;) (do_statement "do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);" do (compound_statement "{\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                }" { (if_statement "if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }" if (parenthesized_expression "(iVar11 < *piVar8)" ( (binary_expression "iVar11 < *piVar8" identifier < (pointer_expression "*piVar8" * identifier)) )) (compound_statement "{\n                    iVar11 = *piVar8;\n                  }" { (expression_statement "iVar11 = *piVar8;" (assignment_expression "iVar11 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) })) (expression_statement "piVar8 = piVar8 + 1;" (assignment_expression "piVar8 = piVar8 + 1" identifier = (binary_expression "piVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar6 + piVar7[1] + iVar1 != piVar8)" ( (binary_expression "piVar6 + piVar7[1] + iVar1 != piVar8" (binary_expression "piVar6 + piVar7[1] + iVar1" (binary_expression "piVar6 + piVar7[1]" identifier + (subscript_expression "piVar7[1]" identifier [ number_literal ])) + identifier) != identifier) )) ;) (expression_statement "iVar9 = 1;" (assignment_expression "iVar9 = 1" identifier = number_literal) ;) (expression_statement "local_54 = iVar11 + local_54 + iVar10;" (assignment_expression "local_54 = iVar11 + local_54 + iVar10" identifier = (binary_expression "iVar11 + local_54 + iVar10" (binary_expression "iVar11 + local_54" identifier + identifier) + identifier)) ;) (expression_statement "piVar6[piVar7[1]] = local_54;" (assignment_expression "piVar6[piVar7[1]] = local_54" (subscript_expression "piVar6[piVar7[1]]" identifier [ (subscript_expression "piVar7[1]" identifier [ number_literal ]) ]) = identifier) ;) (if_statement "if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }" if (parenthesized_expression "(iVar1 != 1)" ( (binary_expression "iVar1 != 1" identifier != number_literal) )) (compound_statement "{\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }" { (do_statement "do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);" do (compound_statement "{\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  }" { (expression_statement "iVar10 = piVar7[1] + iVar9;" (assignment_expression "iVar10 = piVar7[1] + iVar9" identifier = (binary_expression "piVar7[1] + iVar9" (subscript_expression "piVar7[1]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "piVar6[iVar10] = local_54;" (assignment_expression "piVar6[iVar10] = local_54" (subscript_expression "piVar6[iVar10]" identifier [ identifier ]) = identifier) ;) }) while (parenthesized_expression "(iVar1 != iVar9)" ( (binary_expression "iVar1 != iVar9" identifier != identifier) )) ;) })) (expression_statement "iVar10 = *(int *)(iVar3 + 0x1c);" (assignment_expression "iVar10 = *(int *)(iVar3 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar3 + 0x1c)" * (cast_expression "(int *)(iVar3 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x1c)" ( (binary_expression "iVar3 + 0x1c" identifier + number_literal) ))))) ;) }))) (expression_statement "piVar7 = (int *)(local_54 - iVar10);" (assignment_expression "piVar7 = (int *)(local_54 - iVar10)" identifier = (cast_expression "(int *)(local_54 - iVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_54 - iVar10)" ( (binary_expression "local_54 - iVar10" identifier - identifier) )))) ;) (if_statement "if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }" if (parenthesized_expression "(local_54 - iVar10 <= (int)local_50)" ( (binary_expression "local_54 - iVar10 <= (int)local_50" (binary_expression "local_54 - iVar10" identifier - identifier) <= (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                piVar7 = local_50;\n              }" { (expression_statement "piVar7 = local_50;" (assignment_expression "piVar7 = local_50" identifier = identifier) ;) })) (expression_statement "local_44 = (int *)local_44[1];" (assignment_expression "local_44 = (int *)local_44[1]" identifier = (cast_expression "(int *)local_44[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_44[1]" identifier [ number_literal ]))) ;) (expression_statement "local_50 = piVar7;" (assignment_expression "local_50 = piVar7" identifier = identifier) ;) }))) }) while (parenthesized_expression "((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0))" ( (binary_expression "(local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)" (parenthesized_expression "(local_44 != (int *)0x0)" ( (binary_expression "local_44 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(piVar7 = (int *)*local_44, piVar7 != (int *)0x0)" ( (comma_expression "piVar7 = (int *)*local_44, piVar7 != (int *)0x0" (assignment_expression "piVar7 = (int *)*local_44" identifier = (cast_expression "(int *)*local_44" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_44" * identifier))) , (binary_expression "piVar7 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) ;) })) (expression_statement "uVar2 = g_type_check_instance_cast(iVar3,uVar2);" (assignment_expression "uVar2 = g_type_check_instance_cast(iVar3,uVar2)" identifier = (call_expression "g_type_check_instance_cast(iVar3,uVar2)" identifier (argument_list "(iVar3,uVar2)" ( identifier , identifier )))) ;) (expression_statement "iVar3 = gtk_container_get_border_width(uVar2);" (assignment_expression "iVar3 = gtk_container_get_border_width(uVar2)" identifier = (call_expression "gtk_container_get_border_width(uVar2)" identifier (argument_list "(uVar2)" ( identifier )))) ;) (expression_statement "g_free(piVar6);" (call_expression "g_free(piVar6)" identifier (argument_list "(piVar6)" ( identifier ))) ;) (expression_statement "*param_4 = (int)local_50 + iVar3 * 2;" (assignment_expression "*param_4 = (int)local_50 + iVar3 * 2" (pointer_expression "*param_4" * identifier) = (binary_expression "(int)local_50 + iVar3 * 2" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar3 * 2" identifier * number_literal))) ;) })) }))) }))) (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0006c950();\n  }" if (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_0006c950();\n  }" { comment (expression_statement "FUN_0006c950();" (call_expression "FUN_0006c950()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bp replaced with injection: get_pc_thunk.bp */\n/* WARNING: Unknown calling convention */\n\nvoid columns_get_preferred_height_for_width(GtkWidget *widget,gint width,gint *min,gint *nat)\n\n{\n  GTypeClass *pGVar1;\n  gint *pgVar2;\n  int iVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  int iVar6;\n  undefined4 *puVar7;\n  gint gVar8;\n  int *piVar9;\n  int *piVar10;\n  int *piVar11;\n  GType GVar12;\n  int iVar13;\n  int iVar14;\n  ColumnsChild *child;\n  int iVar15;\n  int in_GS_OFFSET;\n  int local_54;\n  int *local_50;\n  int local_48;\n  int *local_44;\n  gint ret;\n  int local_20;\n  \n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (widget == (GtkWidget *)0x0) {\n    g_return_if_fail_warning(0,"columns_get_preferred_height_for_width",0x8768e);\n  }\n  else {\n    if (columns_type_57509 == 0) {\n      uVar4 = gtk_container_get_type();\n      columns_type_57509 = g_type_register_static(uVar4,0x800a6,columns_info_57510,0);\n    }\n    GVar12 = columns_type_57509;\n    pGVar1 = (widget->parent_instance).g_type_instance.g_class;\n    if (((pGVar1 == (GTypeClass *)0x0) || (pGVar1->g_type != columns_type_57509)) &&\n       (iVar3 = g_type_check_instance_is_a(widget,columns_type_57509), iVar3 == 0)) {\n      g_return_if_fail_warning(0,"columns_get_preferred_height_for_width",0x8769d);\n    }\n    else {\n      uVar4 = gtk_container_get_type();\n      if (GVar12 == 0) {\n        GVar12 = g_type_register_static(uVar4,0x800a6,columns_info_57510,0);\n        columns_type_57509 = GVar12;\n      }\n      iVar3 = g_type_check_instance_cast(widget,GVar12);\n      uVar5 = g_type_check_instance_cast(iVar3,uVar4);\n      iVar6 = gtk_container_get_border_width(uVar5);\n      puVar7 = (undefined4 *)g_malloc(8);\n      *puVar7 = 0;\n      iVar6 = width + iVar6 * -2;\n      puVar7[1] = iVar6 + *(int *)(iVar3 + 0x1c);\n      local_50 = *(int **)(iVar3 + 0x14);\n      if ((local_50 != (int *)0x0) &&\n         (child = (ColumnsChild *)*local_50, child != (ColumnsChild *)0x0)) {\n        local_54 = 1;\n        do {\n          if (child->widget == (GtkWidget *)0x0) {\n            local_54 = child->ncols;\n            pgVar2 = child->percentages;\n            puVar7 = (undefined4 *)g_realloc_n(puVar7,local_54 + 1,4);\n            *puVar7 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar15 = 0;\n            iVar14 = 0;\n            do {\n              iVar15 = iVar15 + pgVar2[iVar14];\n              puVar7[iVar14 + 1] = ((iVar6 + *(int *)(iVar3 + 0x1c)) * iVar15) / 100;\n              iVar14 = iVar14 + 1;\n            } while (local_54 != iVar14);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar14 = gtk_widget_get_visible(child->widget);\n            if (iVar14 != 0) {\n              gVar8 = columns_gtk3_get_nat_width(child);\n              iVar14 = child->colspan;\n              iVar15 = child->colstart;\n              if (iVar14 == 0) {\n                iVar14 = local_54 - iVar15;\n              }\n              iVar13 = puVar7[iVar15];\n              child->x = iVar13;\n              if (child->force_left == 0) {\n                gVar8 = (puVar7[iVar14 + iVar15] - iVar13) - *(int *)(iVar3 + 0x1c);\n              }\n              child->w = gVar8;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) &&\n                (child = (ColumnsChild *)*local_50, child != (ColumnsChild *)0x0));\n      }\n      g_free(puVar7);\n      if (min != (gint *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar9 = (int *)g_malloc(4);\n        *piVar9 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar10 == 0) {\n              if (1 < local_48) {\n                iVar6 = *piVar9;\n                piVar11 = piVar9 + 1;\n                do {\n                  iVar14 = *piVar11;\n                  if (iVar6 < iVar14) {\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + local_48 != piVar11);\n              }\n              local_48 = piVar10[5];\n              piVar9 = (int *)g_realloc_n(piVar9,local_48,4);\n              piVar10 = piVar9 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar11 = piVar10 + 1;\n                  *piVar10 = *piVar9;\n                  piVar10 = piVar11;\n                } while (piVar9 + local_48 != piVar11);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar6 = gtk_widget_get_visible(*piVar10);\n              if (iVar6 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar10,piVar10[9],&ret,0);\n              gVar8 = ret;\n              puVar7 = (undefined4 *)piVar10[4];\n              local_54 = ret;\n              if ((puVar7 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],&ret,0),\n                 local_54 = ret, ret <= gVar8)) {\n                local_54 = gVar8;\n              }\n              iVar6 = piVar10[2];\n              if (iVar6 == 0) {\n                iVar6 = local_48 - piVar10[1];\n              }\n              iVar14 = *(int *)(iVar3 + 0x1c);\n              if (iVar6 < 1) {\n                local_54 = local_54 + iVar14;\n              }\n              else {\n                iVar15 = 0;\n                piVar11 = piVar9 + piVar10[1];\n                do {\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + piVar10[1] + iVar6 != piVar11);\n                iVar13 = 1;\n                local_54 = iVar15 + local_54 + iVar14;\n                piVar9[piVar10[1]] = local_54;\n                if (iVar6 != 1) {\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }\n                iVar14 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar10 = (int *)(local_54 - iVar14);\n              if (local_54 - iVar14 <= (int)local_50) {\n                piVar10 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar10;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0));\n        }\n        uVar5 = g_type_check_instance_cast(iVar3,uVar4);\n        iVar6 = gtk_container_get_border_width(uVar5);\n        g_free(piVar9);\n        *min = (int)local_50 + iVar6 * 2;\n      }\n      if (nat != (gint *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar9 = (int *)g_malloc(4);\n        *piVar9 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar10 == 0) {\n              if (1 < local_48) {\n                iVar6 = *piVar9;\n                piVar11 = piVar9 + 1;\n                do {\n                  iVar14 = *piVar11;\n                  if (iVar6 < iVar14) {\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar11 != piVar9 + local_48);\n              }\n              local_48 = piVar10[5];\n              piVar9 = (int *)g_realloc_n(piVar9,local_48,4);\n              piVar10 = piVar9 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar11 = piVar10 + 1;\n                  *piVar10 = *piVar9;\n                  piVar10 = piVar11;\n                } while (piVar9 + local_48 != piVar11);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar6 = gtk_widget_get_visible(*piVar10);\n              if (iVar6 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar10,piVar10[9],0,&ret);\n              gVar8 = ret;\n              puVar7 = (undefined4 *)piVar10[4];\n              local_54 = ret;\n              if ((puVar7 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],0,&ret),\n                 local_54 = ret, ret <= gVar8)) {\n                local_54 = gVar8;\n              }\n              iVar6 = piVar10[2];\n              if (iVar6 == 0) {\n                iVar6 = local_48 - piVar10[1];\n              }\n              iVar14 = *(int *)(iVar3 + 0x1c);\n              if (iVar6 < 1) {\n                local_54 = local_54 + iVar14;\n              }\n              else {\n                iVar15 = 0;\n                piVar11 = piVar9 + piVar10[1];\n                do {\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + piVar10[1] + iVar6 != piVar11);\n                iVar13 = 1;\n                local_54 = iVar15 + local_54 + iVar14;\n                piVar9[piVar10[1]] = local_54;\n                if (iVar6 != 1) {\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }\n                iVar14 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar10 = (int *)(local_54 - iVar14);\n              if (local_54 - iVar14 <= (int)local_50) {\n                piVar10 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar10;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0));\n        }\n        uVar4 = g_type_check_instance_cast(iVar3,uVar4);\n        iVar3 = gtk_container_get_border_width(uVar4);\n        g_free(piVar9);\n        *nat = (int)local_50 + iVar3 * 2;\n      }\n    }\n  }\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return;\n}\n\n" comment comment (function_definition "void columns_get_preferred_height_for_width(GtkWidget *widget,gint width,gint *min,gint *nat)\n\n{\n  GTypeClass *pGVar1;\n  gint *pgVar2;\n  int iVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  int iVar6;\n  undefined4 *puVar7;\n  gint gVar8;\n  int *piVar9;\n  int *piVar10;\n  int *piVar11;\n  GType GVar12;\n  int iVar13;\n  int iVar14;\n  ColumnsChild *child;\n  int iVar15;\n  int in_GS_OFFSET;\n  int local_54;\n  int *local_50;\n  int local_48;\n  int *local_44;\n  gint ret;\n  int local_20;\n  \n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (widget == (GtkWidget *)0x0) {\n    g_return_if_fail_warning(0,"columns_get_preferred_height_for_width",0x8768e);\n  }\n  else {\n    if (columns_type_57509 == 0) {\n      uVar4 = gtk_container_get_type();\n      columns_type_57509 = g_type_register_static(uVar4,0x800a6,columns_info_57510,0);\n    }\n    GVar12 = columns_type_57509;\n    pGVar1 = (widget->parent_instance).g_type_instance.g_class;\n    if (((pGVar1 == (GTypeClass *)0x0) || (pGVar1->g_type != columns_type_57509)) &&\n       (iVar3 = g_type_check_instance_is_a(widget,columns_type_57509), iVar3 == 0)) {\n      g_return_if_fail_warning(0,"columns_get_preferred_height_for_width",0x8769d);\n    }\n    else {\n      uVar4 = gtk_container_get_type();\n      if (GVar12 == 0) {\n        GVar12 = g_type_register_static(uVar4,0x800a6,columns_info_57510,0);\n        columns_type_57509 = GVar12;\n      }\n      iVar3 = g_type_check_instance_cast(widget,GVar12);\n      uVar5 = g_type_check_instance_cast(iVar3,uVar4);\n      iVar6 = gtk_container_get_border_width(uVar5);\n      puVar7 = (undefined4 *)g_malloc(8);\n      *puVar7 = 0;\n      iVar6 = width + iVar6 * -2;\n      puVar7[1] = iVar6 + *(int *)(iVar3 + 0x1c);\n      local_50 = *(int **)(iVar3 + 0x14);\n      if ((local_50 != (int *)0x0) &&\n         (child = (ColumnsChild *)*local_50, child != (ColumnsChild *)0x0)) {\n        local_54 = 1;\n        do {\n          if (child->widget == (GtkWidget *)0x0) {\n            local_54 = child->ncols;\n            pgVar2 = child->percentages;\n            puVar7 = (undefined4 *)g_realloc_n(puVar7,local_54 + 1,4);\n            *puVar7 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar15 = 0;\n            iVar14 = 0;\n            do {\n              iVar15 = iVar15 + pgVar2[iVar14];\n              puVar7[iVar14 + 1] = ((iVar6 + *(int *)(iVar3 + 0x1c)) * iVar15) / 100;\n              iVar14 = iVar14 + 1;\n            } while (local_54 != iVar14);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar14 = gtk_widget_get_visible(child->widget);\n            if (iVar14 != 0) {\n              gVar8 = columns_gtk3_get_nat_width(child);\n              iVar14 = child->colspan;\n              iVar15 = child->colstart;\n              if (iVar14 == 0) {\n                iVar14 = local_54 - iVar15;\n              }\n              iVar13 = puVar7[iVar15];\n              child->x = iVar13;\n              if (child->force_left == 0) {\n                gVar8 = (puVar7[iVar14 + iVar15] - iVar13) - *(int *)(iVar3 + 0x1c);\n              }\n              child->w = gVar8;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) &&\n                (child = (ColumnsChild *)*local_50, child != (ColumnsChild *)0x0));\n      }\n      g_free(puVar7);\n      if (min != (gint *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar9 = (int *)g_malloc(4);\n        *piVar9 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar10 == 0) {\n              if (1 < local_48) {\n                iVar6 = *piVar9;\n                piVar11 = piVar9 + 1;\n                do {\n                  iVar14 = *piVar11;\n                  if (iVar6 < iVar14) {\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + local_48 != piVar11);\n              }\n              local_48 = piVar10[5];\n              piVar9 = (int *)g_realloc_n(piVar9,local_48,4);\n              piVar10 = piVar9 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar11 = piVar10 + 1;\n                  *piVar10 = *piVar9;\n                  piVar10 = piVar11;\n                } while (piVar9 + local_48 != piVar11);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar6 = gtk_widget_get_visible(*piVar10);\n              if (iVar6 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar10,piVar10[9],&ret,0);\n              gVar8 = ret;\n              puVar7 = (undefined4 *)piVar10[4];\n              local_54 = ret;\n              if ((puVar7 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],&ret,0),\n                 local_54 = ret, ret <= gVar8)) {\n                local_54 = gVar8;\n              }\n              iVar6 = piVar10[2];\n              if (iVar6 == 0) {\n                iVar6 = local_48 - piVar10[1];\n              }\n              iVar14 = *(int *)(iVar3 + 0x1c);\n              if (iVar6 < 1) {\n                local_54 = local_54 + iVar14;\n              }\n              else {\n                iVar15 = 0;\n                piVar11 = piVar9 + piVar10[1];\n                do {\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + piVar10[1] + iVar6 != piVar11);\n                iVar13 = 1;\n                local_54 = iVar15 + local_54 + iVar14;\n                piVar9[piVar10[1]] = local_54;\n                if (iVar6 != 1) {\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }\n                iVar14 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar10 = (int *)(local_54 - iVar14);\n              if (local_54 - iVar14 <= (int)local_50) {\n                piVar10 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar10;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0));\n        }\n        uVar5 = g_type_check_instance_cast(iVar3,uVar4);\n        iVar6 = gtk_container_get_border_width(uVar5);\n        g_free(piVar9);\n        *min = (int)local_50 + iVar6 * 2;\n      }\n      if (nat != (gint *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar9 = (int *)g_malloc(4);\n        *piVar9 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar10 == 0) {\n              if (1 < local_48) {\n                iVar6 = *piVar9;\n                piVar11 = piVar9 + 1;\n                do {\n                  iVar14 = *piVar11;\n                  if (iVar6 < iVar14) {\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar11 != piVar9 + local_48);\n              }\n              local_48 = piVar10[5];\n              piVar9 = (int *)g_realloc_n(piVar9,local_48,4);\n              piVar10 = piVar9 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar11 = piVar10 + 1;\n                  *piVar10 = *piVar9;\n                  piVar10 = piVar11;\n                } while (piVar9 + local_48 != piVar11);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar6 = gtk_widget_get_visible(*piVar10);\n              if (iVar6 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar10,piVar10[9],0,&ret);\n              gVar8 = ret;\n              puVar7 = (undefined4 *)piVar10[4];\n              local_54 = ret;\n              if ((puVar7 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],0,&ret),\n                 local_54 = ret, ret <= gVar8)) {\n                local_54 = gVar8;\n              }\n              iVar6 = piVar10[2];\n              if (iVar6 == 0) {\n                iVar6 = local_48 - piVar10[1];\n              }\n              iVar14 = *(int *)(iVar3 + 0x1c);\n              if (iVar6 < 1) {\n                local_54 = local_54 + iVar14;\n              }\n              else {\n                iVar15 = 0;\n                piVar11 = piVar9 + piVar10[1];\n                do {\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + piVar10[1] + iVar6 != piVar11);\n                iVar13 = 1;\n                local_54 = iVar15 + local_54 + iVar14;\n                piVar9[piVar10[1]] = local_54;\n                if (iVar6 != 1) {\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }\n                iVar14 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar10 = (int *)(local_54 - iVar14);\n              if (local_54 - iVar14 <= (int)local_50) {\n                piVar10 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar10;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0));\n        }\n        uVar4 = g_type_check_instance_cast(iVar3,uVar4);\n        iVar3 = gtk_container_get_border_width(uVar4);\n        g_free(piVar9);\n        *nat = (int)local_50 + iVar3 * 2;\n      }\n    }\n  }\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return;\n}" primitive_type (function_declarator "columns_get_preferred_height_for_width(GtkWidget *widget,gint width,gint *min,gint *nat)" identifier (parameter_list "(GtkWidget *widget,gint width,gint *min,gint *nat)" ( (parameter_declaration "GtkWidget *widget" type_identifier (pointer_declarator "*widget" * identifier)) , (parameter_declaration "gint width" type_identifier identifier) , (parameter_declaration "gint *min" type_identifier (pointer_declarator "*min" * identifier)) , (parameter_declaration "gint *nat" type_identifier (pointer_declarator "*nat" * identifier)) ))) (compound_statement "{\n  GTypeClass *pGVar1;\n  gint *pgVar2;\n  int iVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  int iVar6;\n  undefined4 *puVar7;\n  gint gVar8;\n  int *piVar9;\n  int *piVar10;\n  int *piVar11;\n  GType GVar12;\n  int iVar13;\n  int iVar14;\n  ColumnsChild *child;\n  int iVar15;\n  int in_GS_OFFSET;\n  int local_54;\n  int *local_50;\n  int local_48;\n  int *local_44;\n  gint ret;\n  int local_20;\n  \n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (widget == (GtkWidget *)0x0) {\n    g_return_if_fail_warning(0,"columns_get_preferred_height_for_width",0x8768e);\n  }\n  else {\n    if (columns_type_57509 == 0) {\n      uVar4 = gtk_container_get_type();\n      columns_type_57509 = g_type_register_static(uVar4,0x800a6,columns_info_57510,0);\n    }\n    GVar12 = columns_type_57509;\n    pGVar1 = (widget->parent_instance).g_type_instance.g_class;\n    if (((pGVar1 == (GTypeClass *)0x0) || (pGVar1->g_type != columns_type_57509)) &&\n       (iVar3 = g_type_check_instance_is_a(widget,columns_type_57509), iVar3 == 0)) {\n      g_return_if_fail_warning(0,"columns_get_preferred_height_for_width",0x8769d);\n    }\n    else {\n      uVar4 = gtk_container_get_type();\n      if (GVar12 == 0) {\n        GVar12 = g_type_register_static(uVar4,0x800a6,columns_info_57510,0);\n        columns_type_57509 = GVar12;\n      }\n      iVar3 = g_type_check_instance_cast(widget,GVar12);\n      uVar5 = g_type_check_instance_cast(iVar3,uVar4);\n      iVar6 = gtk_container_get_border_width(uVar5);\n      puVar7 = (undefined4 *)g_malloc(8);\n      *puVar7 = 0;\n      iVar6 = width + iVar6 * -2;\n      puVar7[1] = iVar6 + *(int *)(iVar3 + 0x1c);\n      local_50 = *(int **)(iVar3 + 0x14);\n      if ((local_50 != (int *)0x0) &&\n         (child = (ColumnsChild *)*local_50, child != (ColumnsChild *)0x0)) {\n        local_54 = 1;\n        do {\n          if (child->widget == (GtkWidget *)0x0) {\n            local_54 = child->ncols;\n            pgVar2 = child->percentages;\n            puVar7 = (undefined4 *)g_realloc_n(puVar7,local_54 + 1,4);\n            *puVar7 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar15 = 0;\n            iVar14 = 0;\n            do {\n              iVar15 = iVar15 + pgVar2[iVar14];\n              puVar7[iVar14 + 1] = ((iVar6 + *(int *)(iVar3 + 0x1c)) * iVar15) / 100;\n              iVar14 = iVar14 + 1;\n            } while (local_54 != iVar14);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar14 = gtk_widget_get_visible(child->widget);\n            if (iVar14 != 0) {\n              gVar8 = columns_gtk3_get_nat_width(child);\n              iVar14 = child->colspan;\n              iVar15 = child->colstart;\n              if (iVar14 == 0) {\n                iVar14 = local_54 - iVar15;\n              }\n              iVar13 = puVar7[iVar15];\n              child->x = iVar13;\n              if (child->force_left == 0) {\n                gVar8 = (puVar7[iVar14 + iVar15] - iVar13) - *(int *)(iVar3 + 0x1c);\n              }\n              child->w = gVar8;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) &&\n                (child = (ColumnsChild *)*local_50, child != (ColumnsChild *)0x0));\n      }\n      g_free(puVar7);\n      if (min != (gint *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar9 = (int *)g_malloc(4);\n        *piVar9 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar10 == 0) {\n              if (1 < local_48) {\n                iVar6 = *piVar9;\n                piVar11 = piVar9 + 1;\n                do {\n                  iVar14 = *piVar11;\n                  if (iVar6 < iVar14) {\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + local_48 != piVar11);\n              }\n              local_48 = piVar10[5];\n              piVar9 = (int *)g_realloc_n(piVar9,local_48,4);\n              piVar10 = piVar9 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar11 = piVar10 + 1;\n                  *piVar10 = *piVar9;\n                  piVar10 = piVar11;\n                } while (piVar9 + local_48 != piVar11);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar6 = gtk_widget_get_visible(*piVar10);\n              if (iVar6 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar10,piVar10[9],&ret,0);\n              gVar8 = ret;\n              puVar7 = (undefined4 *)piVar10[4];\n              local_54 = ret;\n              if ((puVar7 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],&ret,0),\n                 local_54 = ret, ret <= gVar8)) {\n                local_54 = gVar8;\n              }\n              iVar6 = piVar10[2];\n              if (iVar6 == 0) {\n                iVar6 = local_48 - piVar10[1];\n              }\n              iVar14 = *(int *)(iVar3 + 0x1c);\n              if (iVar6 < 1) {\n                local_54 = local_54 + iVar14;\n              }\n              else {\n                iVar15 = 0;\n                piVar11 = piVar9 + piVar10[1];\n                do {\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + piVar10[1] + iVar6 != piVar11);\n                iVar13 = 1;\n                local_54 = iVar15 + local_54 + iVar14;\n                piVar9[piVar10[1]] = local_54;\n                if (iVar6 != 1) {\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }\n                iVar14 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar10 = (int *)(local_54 - iVar14);\n              if (local_54 - iVar14 <= (int)local_50) {\n                piVar10 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar10;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0));\n        }\n        uVar5 = g_type_check_instance_cast(iVar3,uVar4);\n        iVar6 = gtk_container_get_border_width(uVar5);\n        g_free(piVar9);\n        *min = (int)local_50 + iVar6 * 2;\n      }\n      if (nat != (gint *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar9 = (int *)g_malloc(4);\n        *piVar9 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar10 == 0) {\n              if (1 < local_48) {\n                iVar6 = *piVar9;\n                piVar11 = piVar9 + 1;\n                do {\n                  iVar14 = *piVar11;\n                  if (iVar6 < iVar14) {\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar11 != piVar9 + local_48);\n              }\n              local_48 = piVar10[5];\n              piVar9 = (int *)g_realloc_n(piVar9,local_48,4);\n              piVar10 = piVar9 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar11 = piVar10 + 1;\n                  *piVar10 = *piVar9;\n                  piVar10 = piVar11;\n                } while (piVar9 + local_48 != piVar11);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar6 = gtk_widget_get_visible(*piVar10);\n              if (iVar6 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar10,piVar10[9],0,&ret);\n              gVar8 = ret;\n              puVar7 = (undefined4 *)piVar10[4];\n              local_54 = ret;\n              if ((puVar7 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],0,&ret),\n                 local_54 = ret, ret <= gVar8)) {\n                local_54 = gVar8;\n              }\n              iVar6 = piVar10[2];\n              if (iVar6 == 0) {\n                iVar6 = local_48 - piVar10[1];\n              }\n              iVar14 = *(int *)(iVar3 + 0x1c);\n              if (iVar6 < 1) {\n                local_54 = local_54 + iVar14;\n              }\n              else {\n                iVar15 = 0;\n                piVar11 = piVar9 + piVar10[1];\n                do {\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + piVar10[1] + iVar6 != piVar11);\n                iVar13 = 1;\n                local_54 = iVar15 + local_54 + iVar14;\n                piVar9[piVar10[1]] = local_54;\n                if (iVar6 != 1) {\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }\n                iVar14 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar10 = (int *)(local_54 - iVar14);\n              if (local_54 - iVar14 <= (int)local_50) {\n                piVar10 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar10;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0));\n        }\n        uVar4 = g_type_check_instance_cast(iVar3,uVar4);\n        iVar3 = gtk_container_get_border_width(uVar4);\n        g_free(piVar9);\n        *nat = (int)local_50 + iVar3 * 2;\n      }\n    }\n  }\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return;\n}" { (declaration "GTypeClass *pGVar1;" type_identifier (pointer_declarator "*pGVar1" * identifier) ;) (declaration "gint *pgVar2;" type_identifier (pointer_declarator "*pgVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "gint gVar8;" type_identifier identifier ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "GType GVar12;" type_identifier identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "ColumnsChild *child;" type_identifier (pointer_declarator "*child" * identifier) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "int local_54;" primitive_type identifier ;) (declaration "int *local_50;" primitive_type (pointer_declarator "*local_50" * identifier) ;) (declaration "int local_48;" primitive_type identifier ;) (declaration "int *local_44;" primitive_type (pointer_declarator "*local_44" * identifier) ;) (declaration "gint ret;" type_identifier identifier ;) (declaration "int local_20;" primitive_type identifier ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (widget == (GtkWidget *)0x0) {\n    g_return_if_fail_warning(0,"columns_get_preferred_height_for_width",0x8768e);\n  }\n  else {\n    if (columns_type_57509 == 0) {\n      uVar4 = gtk_container_get_type();\n      columns_type_57509 = g_type_register_static(uVar4,0x800a6,columns_info_57510,0);\n    }\n    GVar12 = columns_type_57509;\n    pGVar1 = (widget->parent_instance).g_type_instance.g_class;\n    if (((pGVar1 == (GTypeClass *)0x0) || (pGVar1->g_type != columns_type_57509)) &&\n       (iVar3 = g_type_check_instance_is_a(widget,columns_type_57509), iVar3 == 0)) {\n      g_return_if_fail_warning(0,"columns_get_preferred_height_for_width",0x8769d);\n    }\n    else {\n      uVar4 = gtk_container_get_type();\n      if (GVar12 == 0) {\n        GVar12 = g_type_register_static(uVar4,0x800a6,columns_info_57510,0);\n        columns_type_57509 = GVar12;\n      }\n      iVar3 = g_type_check_instance_cast(widget,GVar12);\n      uVar5 = g_type_check_instance_cast(iVar3,uVar4);\n      iVar6 = gtk_container_get_border_width(uVar5);\n      puVar7 = (undefined4 *)g_malloc(8);\n      *puVar7 = 0;\n      iVar6 = width + iVar6 * -2;\n      puVar7[1] = iVar6 + *(int *)(iVar3 + 0x1c);\n      local_50 = *(int **)(iVar3 + 0x14);\n      if ((local_50 != (int *)0x0) &&\n         (child = (ColumnsChild *)*local_50, child != (ColumnsChild *)0x0)) {\n        local_54 = 1;\n        do {\n          if (child->widget == (GtkWidget *)0x0) {\n            local_54 = child->ncols;\n            pgVar2 = child->percentages;\n            puVar7 = (undefined4 *)g_realloc_n(puVar7,local_54 + 1,4);\n            *puVar7 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar15 = 0;\n            iVar14 = 0;\n            do {\n              iVar15 = iVar15 + pgVar2[iVar14];\n              puVar7[iVar14 + 1] = ((iVar6 + *(int *)(iVar3 + 0x1c)) * iVar15) / 100;\n              iVar14 = iVar14 + 1;\n            } while (local_54 != iVar14);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar14 = gtk_widget_get_visible(child->widget);\n            if (iVar14 != 0) {\n              gVar8 = columns_gtk3_get_nat_width(child);\n              iVar14 = child->colspan;\n              iVar15 = child->colstart;\n              if (iVar14 == 0) {\n                iVar14 = local_54 - iVar15;\n              }\n              iVar13 = puVar7[iVar15];\n              child->x = iVar13;\n              if (child->force_left == 0) {\n                gVar8 = (puVar7[iVar14 + iVar15] - iVar13) - *(int *)(iVar3 + 0x1c);\n              }\n              child->w = gVar8;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) &&\n                (child = (ColumnsChild *)*local_50, child != (ColumnsChild *)0x0));\n      }\n      g_free(puVar7);\n      if (min != (gint *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar9 = (int *)g_malloc(4);\n        *piVar9 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar10 == 0) {\n              if (1 < local_48) {\n                iVar6 = *piVar9;\n                piVar11 = piVar9 + 1;\n                do {\n                  iVar14 = *piVar11;\n                  if (iVar6 < iVar14) {\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + local_48 != piVar11);\n              }\n              local_48 = piVar10[5];\n              piVar9 = (int *)g_realloc_n(piVar9,local_48,4);\n              piVar10 = piVar9 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar11 = piVar10 + 1;\n                  *piVar10 = *piVar9;\n                  piVar10 = piVar11;\n                } while (piVar9 + local_48 != piVar11);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar6 = gtk_widget_get_visible(*piVar10);\n              if (iVar6 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar10,piVar10[9],&ret,0);\n              gVar8 = ret;\n              puVar7 = (undefined4 *)piVar10[4];\n              local_54 = ret;\n              if ((puVar7 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],&ret,0),\n                 local_54 = ret, ret <= gVar8)) {\n                local_54 = gVar8;\n              }\n              iVar6 = piVar10[2];\n              if (iVar6 == 0) {\n                iVar6 = local_48 - piVar10[1];\n              }\n              iVar14 = *(int *)(iVar3 + 0x1c);\n              if (iVar6 < 1) {\n                local_54 = local_54 + iVar14;\n              }\n              else {\n                iVar15 = 0;\n                piVar11 = piVar9 + piVar10[1];\n                do {\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + piVar10[1] + iVar6 != piVar11);\n                iVar13 = 1;\n                local_54 = iVar15 + local_54 + iVar14;\n                piVar9[piVar10[1]] = local_54;\n                if (iVar6 != 1) {\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }\n                iVar14 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar10 = (int *)(local_54 - iVar14);\n              if (local_54 - iVar14 <= (int)local_50) {\n                piVar10 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar10;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0));\n        }\n        uVar5 = g_type_check_instance_cast(iVar3,uVar4);\n        iVar6 = gtk_container_get_border_width(uVar5);\n        g_free(piVar9);\n        *min = (int)local_50 + iVar6 * 2;\n      }\n      if (nat != (gint *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar9 = (int *)g_malloc(4);\n        *piVar9 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar10 == 0) {\n              if (1 < local_48) {\n                iVar6 = *piVar9;\n                piVar11 = piVar9 + 1;\n                do {\n                  iVar14 = *piVar11;\n                  if (iVar6 < iVar14) {\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar11 != piVar9 + local_48);\n              }\n              local_48 = piVar10[5];\n              piVar9 = (int *)g_realloc_n(piVar9,local_48,4);\n              piVar10 = piVar9 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar11 = piVar10 + 1;\n                  *piVar10 = *piVar9;\n                  piVar10 = piVar11;\n                } while (piVar9 + local_48 != piVar11);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar6 = gtk_widget_get_visible(*piVar10);\n              if (iVar6 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar10,piVar10[9],0,&ret);\n              gVar8 = ret;\n              puVar7 = (undefined4 *)piVar10[4];\n              local_54 = ret;\n              if ((puVar7 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],0,&ret),\n                 local_54 = ret, ret <= gVar8)) {\n                local_54 = gVar8;\n              }\n              iVar6 = piVar10[2];\n              if (iVar6 == 0) {\n                iVar6 = local_48 - piVar10[1];\n              }\n              iVar14 = *(int *)(iVar3 + 0x1c);\n              if (iVar6 < 1) {\n                local_54 = local_54 + iVar14;\n              }\n              else {\n                iVar15 = 0;\n                piVar11 = piVar9 + piVar10[1];\n                do {\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + piVar10[1] + iVar6 != piVar11);\n                iVar13 = 1;\n                local_54 = iVar15 + local_54 + iVar14;\n                piVar9[piVar10[1]] = local_54;\n                if (iVar6 != 1) {\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }\n                iVar14 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar10 = (int *)(local_54 - iVar14);\n              if (local_54 - iVar14 <= (int)local_50) {\n                piVar10 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar10;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0));\n        }\n        uVar4 = g_type_check_instance_cast(iVar3,uVar4);\n        iVar3 = gtk_container_get_border_width(uVar4);\n        g_free(piVar9);\n        *nat = (int)local_50 + iVar3 * 2;\n      }\n    }\n  }" if (parenthesized_expression "(widget == (GtkWidget *)0x0)" ( (binary_expression "widget == (GtkWidget *)0x0" identifier == (cast_expression "(GtkWidget *)0x0" ( (type_descriptor "GtkWidget *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    g_return_if_fail_warning(0,"columns_get_preferred_height_for_width",0x8768e);\n  }" { (expression_statement "g_return_if_fail_warning(0,"columns_get_preferred_height_for_width",0x8768e);" (call_expression "g_return_if_fail_warning(0,"columns_get_preferred_height_for_width",0x8768e)" identifier (argument_list "(0,"columns_get_preferred_height_for_width",0x8768e)" ( number_literal , (string_literal ""columns_get_preferred_height_for_width"" " string_content ") , number_literal ))) ;) }) (else_clause "else {\n    if (columns_type_57509 == 0) {\n      uVar4 = gtk_container_get_type();\n      columns_type_57509 = g_type_register_static(uVar4,0x800a6,columns_info_57510,0);\n    }\n    GVar12 = columns_type_57509;\n    pGVar1 = (widget->parent_instance).g_type_instance.g_class;\n    if (((pGVar1 == (GTypeClass *)0x0) || (pGVar1->g_type != columns_type_57509)) &&\n       (iVar3 = g_type_check_instance_is_a(widget,columns_type_57509), iVar3 == 0)) {\n      g_return_if_fail_warning(0,"columns_get_preferred_height_for_width",0x8769d);\n    }\n    else {\n      uVar4 = gtk_container_get_type();\n      if (GVar12 == 0) {\n        GVar12 = g_type_register_static(uVar4,0x800a6,columns_info_57510,0);\n        columns_type_57509 = GVar12;\n      }\n      iVar3 = g_type_check_instance_cast(widget,GVar12);\n      uVar5 = g_type_check_instance_cast(iVar3,uVar4);\n      iVar6 = gtk_container_get_border_width(uVar5);\n      puVar7 = (undefined4 *)g_malloc(8);\n      *puVar7 = 0;\n      iVar6 = width + iVar6 * -2;\n      puVar7[1] = iVar6 + *(int *)(iVar3 + 0x1c);\n      local_50 = *(int **)(iVar3 + 0x14);\n      if ((local_50 != (int *)0x0) &&\n         (child = (ColumnsChild *)*local_50, child != (ColumnsChild *)0x0)) {\n        local_54 = 1;\n        do {\n          if (child->widget == (GtkWidget *)0x0) {\n            local_54 = child->ncols;\n            pgVar2 = child->percentages;\n            puVar7 = (undefined4 *)g_realloc_n(puVar7,local_54 + 1,4);\n            *puVar7 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar15 = 0;\n            iVar14 = 0;\n            do {\n              iVar15 = iVar15 + pgVar2[iVar14];\n              puVar7[iVar14 + 1] = ((iVar6 + *(int *)(iVar3 + 0x1c)) * iVar15) / 100;\n              iVar14 = iVar14 + 1;\n            } while (local_54 != iVar14);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar14 = gtk_widget_get_visible(child->widget);\n            if (iVar14 != 0) {\n              gVar8 = columns_gtk3_get_nat_width(child);\n              iVar14 = child->colspan;\n              iVar15 = child->colstart;\n              if (iVar14 == 0) {\n                iVar14 = local_54 - iVar15;\n              }\n              iVar13 = puVar7[iVar15];\n              child->x = iVar13;\n              if (child->force_left == 0) {\n                gVar8 = (puVar7[iVar14 + iVar15] - iVar13) - *(int *)(iVar3 + 0x1c);\n              }\n              child->w = gVar8;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) &&\n                (child = (ColumnsChild *)*local_50, child != (ColumnsChild *)0x0));\n      }\n      g_free(puVar7);\n      if (min != (gint *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar9 = (int *)g_malloc(4);\n        *piVar9 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar10 == 0) {\n              if (1 < local_48) {\n                iVar6 = *piVar9;\n                piVar11 = piVar9 + 1;\n                do {\n                  iVar14 = *piVar11;\n                  if (iVar6 < iVar14) {\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + local_48 != piVar11);\n              }\n              local_48 = piVar10[5];\n              piVar9 = (int *)g_realloc_n(piVar9,local_48,4);\n              piVar10 = piVar9 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar11 = piVar10 + 1;\n                  *piVar10 = *piVar9;\n                  piVar10 = piVar11;\n                } while (piVar9 + local_48 != piVar11);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar6 = gtk_widget_get_visible(*piVar10);\n              if (iVar6 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar10,piVar10[9],&ret,0);\n              gVar8 = ret;\n              puVar7 = (undefined4 *)piVar10[4];\n              local_54 = ret;\n              if ((puVar7 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],&ret,0),\n                 local_54 = ret, ret <= gVar8)) {\n                local_54 = gVar8;\n              }\n              iVar6 = piVar10[2];\n              if (iVar6 == 0) {\n                iVar6 = local_48 - piVar10[1];\n              }\n              iVar14 = *(int *)(iVar3 + 0x1c);\n              if (iVar6 < 1) {\n                local_54 = local_54 + iVar14;\n              }\n              else {\n                iVar15 = 0;\n                piVar11 = piVar9 + piVar10[1];\n                do {\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + piVar10[1] + iVar6 != piVar11);\n                iVar13 = 1;\n                local_54 = iVar15 + local_54 + iVar14;\n                piVar9[piVar10[1]] = local_54;\n                if (iVar6 != 1) {\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }\n                iVar14 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar10 = (int *)(local_54 - iVar14);\n              if (local_54 - iVar14 <= (int)local_50) {\n                piVar10 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar10;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0));\n        }\n        uVar5 = g_type_check_instance_cast(iVar3,uVar4);\n        iVar6 = gtk_container_get_border_width(uVar5);\n        g_free(piVar9);\n        *min = (int)local_50 + iVar6 * 2;\n      }\n      if (nat != (gint *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar9 = (int *)g_malloc(4);\n        *piVar9 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar10 == 0) {\n              if (1 < local_48) {\n                iVar6 = *piVar9;\n                piVar11 = piVar9 + 1;\n                do {\n                  iVar14 = *piVar11;\n                  if (iVar6 < iVar14) {\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar11 != piVar9 + local_48);\n              }\n              local_48 = piVar10[5];\n              piVar9 = (int *)g_realloc_n(piVar9,local_48,4);\n              piVar10 = piVar9 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar11 = piVar10 + 1;\n                  *piVar10 = *piVar9;\n                  piVar10 = piVar11;\n                } while (piVar9 + local_48 != piVar11);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar6 = gtk_widget_get_visible(*piVar10);\n              if (iVar6 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar10,piVar10[9],0,&ret);\n              gVar8 = ret;\n              puVar7 = (undefined4 *)piVar10[4];\n              local_54 = ret;\n              if ((puVar7 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],0,&ret),\n                 local_54 = ret, ret <= gVar8)) {\n                local_54 = gVar8;\n              }\n              iVar6 = piVar10[2];\n              if (iVar6 == 0) {\n                iVar6 = local_48 - piVar10[1];\n              }\n              iVar14 = *(int *)(iVar3 + 0x1c);\n              if (iVar6 < 1) {\n                local_54 = local_54 + iVar14;\n              }\n              else {\n                iVar15 = 0;\n                piVar11 = piVar9 + piVar10[1];\n                do {\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + piVar10[1] + iVar6 != piVar11);\n                iVar13 = 1;\n                local_54 = iVar15 + local_54 + iVar14;\n                piVar9[piVar10[1]] = local_54;\n                if (iVar6 != 1) {\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }\n                iVar14 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar10 = (int *)(local_54 - iVar14);\n              if (local_54 - iVar14 <= (int)local_50) {\n                piVar10 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar10;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0));\n        }\n        uVar4 = g_type_check_instance_cast(iVar3,uVar4);\n        iVar3 = gtk_container_get_border_width(uVar4);\n        g_free(piVar9);\n        *nat = (int)local_50 + iVar3 * 2;\n      }\n    }\n  }" else (compound_statement "{\n    if (columns_type_57509 == 0) {\n      uVar4 = gtk_container_get_type();\n      columns_type_57509 = g_type_register_static(uVar4,0x800a6,columns_info_57510,0);\n    }\n    GVar12 = columns_type_57509;\n    pGVar1 = (widget->parent_instance).g_type_instance.g_class;\n    if (((pGVar1 == (GTypeClass *)0x0) || (pGVar1->g_type != columns_type_57509)) &&\n       (iVar3 = g_type_check_instance_is_a(widget,columns_type_57509), iVar3 == 0)) {\n      g_return_if_fail_warning(0,"columns_get_preferred_height_for_width",0x8769d);\n    }\n    else {\n      uVar4 = gtk_container_get_type();\n      if (GVar12 == 0) {\n        GVar12 = g_type_register_static(uVar4,0x800a6,columns_info_57510,0);\n        columns_type_57509 = GVar12;\n      }\n      iVar3 = g_type_check_instance_cast(widget,GVar12);\n      uVar5 = g_type_check_instance_cast(iVar3,uVar4);\n      iVar6 = gtk_container_get_border_width(uVar5);\n      puVar7 = (undefined4 *)g_malloc(8);\n      *puVar7 = 0;\n      iVar6 = width + iVar6 * -2;\n      puVar7[1] = iVar6 + *(int *)(iVar3 + 0x1c);\n      local_50 = *(int **)(iVar3 + 0x14);\n      if ((local_50 != (int *)0x0) &&\n         (child = (ColumnsChild *)*local_50, child != (ColumnsChild *)0x0)) {\n        local_54 = 1;\n        do {\n          if (child->widget == (GtkWidget *)0x0) {\n            local_54 = child->ncols;\n            pgVar2 = child->percentages;\n            puVar7 = (undefined4 *)g_realloc_n(puVar7,local_54 + 1,4);\n            *puVar7 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar15 = 0;\n            iVar14 = 0;\n            do {\n              iVar15 = iVar15 + pgVar2[iVar14];\n              puVar7[iVar14 + 1] = ((iVar6 + *(int *)(iVar3 + 0x1c)) * iVar15) / 100;\n              iVar14 = iVar14 + 1;\n            } while (local_54 != iVar14);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar14 = gtk_widget_get_visible(child->widget);\n            if (iVar14 != 0) {\n              gVar8 = columns_gtk3_get_nat_width(child);\n              iVar14 = child->colspan;\n              iVar15 = child->colstart;\n              if (iVar14 == 0) {\n                iVar14 = local_54 - iVar15;\n              }\n              iVar13 = puVar7[iVar15];\n              child->x = iVar13;\n              if (child->force_left == 0) {\n                gVar8 = (puVar7[iVar14 + iVar15] - iVar13) - *(int *)(iVar3 + 0x1c);\n              }\n              child->w = gVar8;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) &&\n                (child = (ColumnsChild *)*local_50, child != (ColumnsChild *)0x0));\n      }\n      g_free(puVar7);\n      if (min != (gint *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar9 = (int *)g_malloc(4);\n        *piVar9 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar10 == 0) {\n              if (1 < local_48) {\n                iVar6 = *piVar9;\n                piVar11 = piVar9 + 1;\n                do {\n                  iVar14 = *piVar11;\n                  if (iVar6 < iVar14) {\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + local_48 != piVar11);\n              }\n              local_48 = piVar10[5];\n              piVar9 = (int *)g_realloc_n(piVar9,local_48,4);\n              piVar10 = piVar9 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar11 = piVar10 + 1;\n                  *piVar10 = *piVar9;\n                  piVar10 = piVar11;\n                } while (piVar9 + local_48 != piVar11);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar6 = gtk_widget_get_visible(*piVar10);\n              if (iVar6 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar10,piVar10[9],&ret,0);\n              gVar8 = ret;\n              puVar7 = (undefined4 *)piVar10[4];\n              local_54 = ret;\n              if ((puVar7 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],&ret,0),\n                 local_54 = ret, ret <= gVar8)) {\n                local_54 = gVar8;\n              }\n              iVar6 = piVar10[2];\n              if (iVar6 == 0) {\n                iVar6 = local_48 - piVar10[1];\n              }\n              iVar14 = *(int *)(iVar3 + 0x1c);\n              if (iVar6 < 1) {\n                local_54 = local_54 + iVar14;\n              }\n              else {\n                iVar15 = 0;\n                piVar11 = piVar9 + piVar10[1];\n                do {\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + piVar10[1] + iVar6 != piVar11);\n                iVar13 = 1;\n                local_54 = iVar15 + local_54 + iVar14;\n                piVar9[piVar10[1]] = local_54;\n                if (iVar6 != 1) {\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }\n                iVar14 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar10 = (int *)(local_54 - iVar14);\n              if (local_54 - iVar14 <= (int)local_50) {\n                piVar10 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar10;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0));\n        }\n        uVar5 = g_type_check_instance_cast(iVar3,uVar4);\n        iVar6 = gtk_container_get_border_width(uVar5);\n        g_free(piVar9);\n        *min = (int)local_50 + iVar6 * 2;\n      }\n      if (nat != (gint *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar9 = (int *)g_malloc(4);\n        *piVar9 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar10 == 0) {\n              if (1 < local_48) {\n                iVar6 = *piVar9;\n                piVar11 = piVar9 + 1;\n                do {\n                  iVar14 = *piVar11;\n                  if (iVar6 < iVar14) {\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar11 != piVar9 + local_48);\n              }\n              local_48 = piVar10[5];\n              piVar9 = (int *)g_realloc_n(piVar9,local_48,4);\n              piVar10 = piVar9 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar11 = piVar10 + 1;\n                  *piVar10 = *piVar9;\n                  piVar10 = piVar11;\n                } while (piVar9 + local_48 != piVar11);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar6 = gtk_widget_get_visible(*piVar10);\n              if (iVar6 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar10,piVar10[9],0,&ret);\n              gVar8 = ret;\n              puVar7 = (undefined4 *)piVar10[4];\n              local_54 = ret;\n              if ((puVar7 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],0,&ret),\n                 local_54 = ret, ret <= gVar8)) {\n                local_54 = gVar8;\n              }\n              iVar6 = piVar10[2];\n              if (iVar6 == 0) {\n                iVar6 = local_48 - piVar10[1];\n              }\n              iVar14 = *(int *)(iVar3 + 0x1c);\n              if (iVar6 < 1) {\n                local_54 = local_54 + iVar14;\n              }\n              else {\n                iVar15 = 0;\n                piVar11 = piVar9 + piVar10[1];\n                do {\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + piVar10[1] + iVar6 != piVar11);\n                iVar13 = 1;\n                local_54 = iVar15 + local_54 + iVar14;\n                piVar9[piVar10[1]] = local_54;\n                if (iVar6 != 1) {\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }\n                iVar14 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar10 = (int *)(local_54 - iVar14);\n              if (local_54 - iVar14 <= (int)local_50) {\n                piVar10 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar10;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0));\n        }\n        uVar4 = g_type_check_instance_cast(iVar3,uVar4);\n        iVar3 = gtk_container_get_border_width(uVar4);\n        g_free(piVar9);\n        *nat = (int)local_50 + iVar3 * 2;\n      }\n    }\n  }" { (if_statement "if (columns_type_57509 == 0) {\n      uVar4 = gtk_container_get_type();\n      columns_type_57509 = g_type_register_static(uVar4,0x800a6,columns_info_57510,0);\n    }" if (parenthesized_expression "(columns_type_57509 == 0)" ( (binary_expression "columns_type_57509 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar4 = gtk_container_get_type();\n      columns_type_57509 = g_type_register_static(uVar4,0x800a6,columns_info_57510,0);\n    }" { (expression_statement "uVar4 = gtk_container_get_type();" (assignment_expression "uVar4 = gtk_container_get_type()" identifier = (call_expression "gtk_container_get_type()" identifier (argument_list "()" ( )))) ;) (expression_statement "columns_type_57509 = g_type_register_static(uVar4,0x800a6,columns_info_57510,0);" (assignment_expression "columns_type_57509 = g_type_register_static(uVar4,0x800a6,columns_info_57510,0)" identifier = (call_expression "g_type_register_static(uVar4,0x800a6,columns_info_57510,0)" identifier (argument_list "(uVar4,0x800a6,columns_info_57510,0)" ( identifier , number_literal , identifier , number_literal )))) ;) })) (expression_statement "GVar12 = columns_type_57509;" (assignment_expression "GVar12 = columns_type_57509" identifier = identifier) ;) (expression_statement "pGVar1 = (widget->parent_instance).g_type_instance.g_class;" (assignment_expression "pGVar1 = (widget->parent_instance).g_type_instance.g_class" identifier = (field_expression "(widget->parent_instance).g_type_instance.g_class" (field_expression "(widget->parent_instance).g_type_instance" (parenthesized_expression "(widget->parent_instance)" ( (field_expression "widget->parent_instance" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (((pGVar1 == (GTypeClass *)0x0) || (pGVar1->g_type != columns_type_57509)) &&\n       (iVar3 = g_type_check_instance_is_a(widget,columns_type_57509), iVar3 == 0)) {\n      g_return_if_fail_warning(0,"columns_get_preferred_height_for_width",0x8769d);\n    }\n    else {\n      uVar4 = gtk_container_get_type();\n      if (GVar12 == 0) {\n        GVar12 = g_type_register_static(uVar4,0x800a6,columns_info_57510,0);\n        columns_type_57509 = GVar12;\n      }\n      iVar3 = g_type_check_instance_cast(widget,GVar12);\n      uVar5 = g_type_check_instance_cast(iVar3,uVar4);\n      iVar6 = gtk_container_get_border_width(uVar5);\n      puVar7 = (undefined4 *)g_malloc(8);\n      *puVar7 = 0;\n      iVar6 = width + iVar6 * -2;\n      puVar7[1] = iVar6 + *(int *)(iVar3 + 0x1c);\n      local_50 = *(int **)(iVar3 + 0x14);\n      if ((local_50 != (int *)0x0) &&\n         (child = (ColumnsChild *)*local_50, child != (ColumnsChild *)0x0)) {\n        local_54 = 1;\n        do {\n          if (child->widget == (GtkWidget *)0x0) {\n            local_54 = child->ncols;\n            pgVar2 = child->percentages;\n            puVar7 = (undefined4 *)g_realloc_n(puVar7,local_54 + 1,4);\n            *puVar7 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar15 = 0;\n            iVar14 = 0;\n            do {\n              iVar15 = iVar15 + pgVar2[iVar14];\n              puVar7[iVar14 + 1] = ((iVar6 + *(int *)(iVar3 + 0x1c)) * iVar15) / 100;\n              iVar14 = iVar14 + 1;\n            } while (local_54 != iVar14);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar14 = gtk_widget_get_visible(child->widget);\n            if (iVar14 != 0) {\n              gVar8 = columns_gtk3_get_nat_width(child);\n              iVar14 = child->colspan;\n              iVar15 = child->colstart;\n              if (iVar14 == 0) {\n                iVar14 = local_54 - iVar15;\n              }\n              iVar13 = puVar7[iVar15];\n              child->x = iVar13;\n              if (child->force_left == 0) {\n                gVar8 = (puVar7[iVar14 + iVar15] - iVar13) - *(int *)(iVar3 + 0x1c);\n              }\n              child->w = gVar8;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) &&\n                (child = (ColumnsChild *)*local_50, child != (ColumnsChild *)0x0));\n      }\n      g_free(puVar7);\n      if (min != (gint *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar9 = (int *)g_malloc(4);\n        *piVar9 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar10 == 0) {\n              if (1 < local_48) {\n                iVar6 = *piVar9;\n                piVar11 = piVar9 + 1;\n                do {\n                  iVar14 = *piVar11;\n                  if (iVar6 < iVar14) {\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + local_48 != piVar11);\n              }\n              local_48 = piVar10[5];\n              piVar9 = (int *)g_realloc_n(piVar9,local_48,4);\n              piVar10 = piVar9 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar11 = piVar10 + 1;\n                  *piVar10 = *piVar9;\n                  piVar10 = piVar11;\n                } while (piVar9 + local_48 != piVar11);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar6 = gtk_widget_get_visible(*piVar10);\n              if (iVar6 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar10,piVar10[9],&ret,0);\n              gVar8 = ret;\n              puVar7 = (undefined4 *)piVar10[4];\n              local_54 = ret;\n              if ((puVar7 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],&ret,0),\n                 local_54 = ret, ret <= gVar8)) {\n                local_54 = gVar8;\n              }\n              iVar6 = piVar10[2];\n              if (iVar6 == 0) {\n                iVar6 = local_48 - piVar10[1];\n              }\n              iVar14 = *(int *)(iVar3 + 0x1c);\n              if (iVar6 < 1) {\n                local_54 = local_54 + iVar14;\n              }\n              else {\n                iVar15 = 0;\n                piVar11 = piVar9 + piVar10[1];\n                do {\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + piVar10[1] + iVar6 != piVar11);\n                iVar13 = 1;\n                local_54 = iVar15 + local_54 + iVar14;\n                piVar9[piVar10[1]] = local_54;\n                if (iVar6 != 1) {\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }\n                iVar14 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar10 = (int *)(local_54 - iVar14);\n              if (local_54 - iVar14 <= (int)local_50) {\n                piVar10 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar10;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0));\n        }\n        uVar5 = g_type_check_instance_cast(iVar3,uVar4);\n        iVar6 = gtk_container_get_border_width(uVar5);\n        g_free(piVar9);\n        *min = (int)local_50 + iVar6 * 2;\n      }\n      if (nat != (gint *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar9 = (int *)g_malloc(4);\n        *piVar9 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar10 == 0) {\n              if (1 < local_48) {\n                iVar6 = *piVar9;\n                piVar11 = piVar9 + 1;\n                do {\n                  iVar14 = *piVar11;\n                  if (iVar6 < iVar14) {\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar11 != piVar9 + local_48);\n              }\n              local_48 = piVar10[5];\n              piVar9 = (int *)g_realloc_n(piVar9,local_48,4);\n              piVar10 = piVar9 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar11 = piVar10 + 1;\n                  *piVar10 = *piVar9;\n                  piVar10 = piVar11;\n                } while (piVar9 + local_48 != piVar11);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar6 = gtk_widget_get_visible(*piVar10);\n              if (iVar6 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar10,piVar10[9],0,&ret);\n              gVar8 = ret;\n              puVar7 = (undefined4 *)piVar10[4];\n              local_54 = ret;\n              if ((puVar7 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],0,&ret),\n                 local_54 = ret, ret <= gVar8)) {\n                local_54 = gVar8;\n              }\n              iVar6 = piVar10[2];\n              if (iVar6 == 0) {\n                iVar6 = local_48 - piVar10[1];\n              }\n              iVar14 = *(int *)(iVar3 + 0x1c);\n              if (iVar6 < 1) {\n                local_54 = local_54 + iVar14;\n              }\n              else {\n                iVar15 = 0;\n                piVar11 = piVar9 + piVar10[1];\n                do {\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + piVar10[1] + iVar6 != piVar11);\n                iVar13 = 1;\n                local_54 = iVar15 + local_54 + iVar14;\n                piVar9[piVar10[1]] = local_54;\n                if (iVar6 != 1) {\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }\n                iVar14 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar10 = (int *)(local_54 - iVar14);\n              if (local_54 - iVar14 <= (int)local_50) {\n                piVar10 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar10;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0));\n        }\n        uVar4 = g_type_check_instance_cast(iVar3,uVar4);\n        iVar3 = gtk_container_get_border_width(uVar4);\n        g_free(piVar9);\n        *nat = (int)local_50 + iVar3 * 2;\n      }\n    }" if (parenthesized_expression "(((pGVar1 == (GTypeClass *)0x0) || (pGVar1->g_type != columns_type_57509)) &&\n       (iVar3 = g_type_check_instance_is_a(widget,columns_type_57509), iVar3 == 0))" ( (binary_expression "((pGVar1 == (GTypeClass *)0x0) || (pGVar1->g_type != columns_type_57509)) &&\n       (iVar3 = g_type_check_instance_is_a(widget,columns_type_57509), iVar3 == 0)" (parenthesized_expression "((pGVar1 == (GTypeClass *)0x0) || (pGVar1->g_type != columns_type_57509))" ( (binary_expression "(pGVar1 == (GTypeClass *)0x0) || (pGVar1->g_type != columns_type_57509)" (parenthesized_expression "(pGVar1 == (GTypeClass *)0x0)" ( (binary_expression "pGVar1 == (GTypeClass *)0x0" identifier == (cast_expression "(GTypeClass *)0x0" ( (type_descriptor "GTypeClass *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(pGVar1->g_type != columns_type_57509)" ( (binary_expression "pGVar1->g_type != columns_type_57509" (field_expression "pGVar1->g_type" identifier -> field_identifier) != identifier) ))) )) && (parenthesized_expression "(iVar3 = g_type_check_instance_is_a(widget,columns_type_57509), iVar3 == 0)" ( (comma_expression "iVar3 = g_type_check_instance_is_a(widget,columns_type_57509), iVar3 == 0" (assignment_expression "iVar3 = g_type_check_instance_is_a(widget,columns_type_57509)" identifier = (call_expression "g_type_check_instance_is_a(widget,columns_type_57509)" identifier (argument_list "(widget,columns_type_57509)" ( identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n      g_return_if_fail_warning(0,"columns_get_preferred_height_for_width",0x8769d);\n    }" { (expression_statement "g_return_if_fail_warning(0,"columns_get_preferred_height_for_width",0x8769d);" (call_expression "g_return_if_fail_warning(0,"columns_get_preferred_height_for_width",0x8769d)" identifier (argument_list "(0,"columns_get_preferred_height_for_width",0x8769d)" ( number_literal , (string_literal ""columns_get_preferred_height_for_width"" " string_content ") , number_literal ))) ;) }) (else_clause "else {\n      uVar4 = gtk_container_get_type();\n      if (GVar12 == 0) {\n        GVar12 = g_type_register_static(uVar4,0x800a6,columns_info_57510,0);\n        columns_type_57509 = GVar12;\n      }\n      iVar3 = g_type_check_instance_cast(widget,GVar12);\n      uVar5 = g_type_check_instance_cast(iVar3,uVar4);\n      iVar6 = gtk_container_get_border_width(uVar5);\n      puVar7 = (undefined4 *)g_malloc(8);\n      *puVar7 = 0;\n      iVar6 = width + iVar6 * -2;\n      puVar7[1] = iVar6 + *(int *)(iVar3 + 0x1c);\n      local_50 = *(int **)(iVar3 + 0x14);\n      if ((local_50 != (int *)0x0) &&\n         (child = (ColumnsChild *)*local_50, child != (ColumnsChild *)0x0)) {\n        local_54 = 1;\n        do {\n          if (child->widget == (GtkWidget *)0x0) {\n            local_54 = child->ncols;\n            pgVar2 = child->percentages;\n            puVar7 = (undefined4 *)g_realloc_n(puVar7,local_54 + 1,4);\n            *puVar7 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar15 = 0;\n            iVar14 = 0;\n            do {\n              iVar15 = iVar15 + pgVar2[iVar14];\n              puVar7[iVar14 + 1] = ((iVar6 + *(int *)(iVar3 + 0x1c)) * iVar15) / 100;\n              iVar14 = iVar14 + 1;\n            } while (local_54 != iVar14);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar14 = gtk_widget_get_visible(child->widget);\n            if (iVar14 != 0) {\n              gVar8 = columns_gtk3_get_nat_width(child);\n              iVar14 = child->colspan;\n              iVar15 = child->colstart;\n              if (iVar14 == 0) {\n                iVar14 = local_54 - iVar15;\n              }\n              iVar13 = puVar7[iVar15];\n              child->x = iVar13;\n              if (child->force_left == 0) {\n                gVar8 = (puVar7[iVar14 + iVar15] - iVar13) - *(int *)(iVar3 + 0x1c);\n              }\n              child->w = gVar8;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) &&\n                (child = (ColumnsChild *)*local_50, child != (ColumnsChild *)0x0));\n      }\n      g_free(puVar7);\n      if (min != (gint *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar9 = (int *)g_malloc(4);\n        *piVar9 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar10 == 0) {\n              if (1 < local_48) {\n                iVar6 = *piVar9;\n                piVar11 = piVar9 + 1;\n                do {\n                  iVar14 = *piVar11;\n                  if (iVar6 < iVar14) {\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + local_48 != piVar11);\n              }\n              local_48 = piVar10[5];\n              piVar9 = (int *)g_realloc_n(piVar9,local_48,4);\n              piVar10 = piVar9 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar11 = piVar10 + 1;\n                  *piVar10 = *piVar9;\n                  piVar10 = piVar11;\n                } while (piVar9 + local_48 != piVar11);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar6 = gtk_widget_get_visible(*piVar10);\n              if (iVar6 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar10,piVar10[9],&ret,0);\n              gVar8 = ret;\n              puVar7 = (undefined4 *)piVar10[4];\n              local_54 = ret;\n              if ((puVar7 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],&ret,0),\n                 local_54 = ret, ret <= gVar8)) {\n                local_54 = gVar8;\n              }\n              iVar6 = piVar10[2];\n              if (iVar6 == 0) {\n                iVar6 = local_48 - piVar10[1];\n              }\n              iVar14 = *(int *)(iVar3 + 0x1c);\n              if (iVar6 < 1) {\n                local_54 = local_54 + iVar14;\n              }\n              else {\n                iVar15 = 0;\n                piVar11 = piVar9 + piVar10[1];\n                do {\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + piVar10[1] + iVar6 != piVar11);\n                iVar13 = 1;\n                local_54 = iVar15 + local_54 + iVar14;\n                piVar9[piVar10[1]] = local_54;\n                if (iVar6 != 1) {\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }\n                iVar14 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar10 = (int *)(local_54 - iVar14);\n              if (local_54 - iVar14 <= (int)local_50) {\n                piVar10 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar10;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0));\n        }\n        uVar5 = g_type_check_instance_cast(iVar3,uVar4);\n        iVar6 = gtk_container_get_border_width(uVar5);\n        g_free(piVar9);\n        *min = (int)local_50 + iVar6 * 2;\n      }\n      if (nat != (gint *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar9 = (int *)g_malloc(4);\n        *piVar9 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar10 == 0) {\n              if (1 < local_48) {\n                iVar6 = *piVar9;\n                piVar11 = piVar9 + 1;\n                do {\n                  iVar14 = *piVar11;\n                  if (iVar6 < iVar14) {\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar11 != piVar9 + local_48);\n              }\n              local_48 = piVar10[5];\n              piVar9 = (int *)g_realloc_n(piVar9,local_48,4);\n              piVar10 = piVar9 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar11 = piVar10 + 1;\n                  *piVar10 = *piVar9;\n                  piVar10 = piVar11;\n                } while (piVar9 + local_48 != piVar11);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar6 = gtk_widget_get_visible(*piVar10);\n              if (iVar6 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar10,piVar10[9],0,&ret);\n              gVar8 = ret;\n              puVar7 = (undefined4 *)piVar10[4];\n              local_54 = ret;\n              if ((puVar7 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],0,&ret),\n                 local_54 = ret, ret <= gVar8)) {\n                local_54 = gVar8;\n              }\n              iVar6 = piVar10[2];\n              if (iVar6 == 0) {\n                iVar6 = local_48 - piVar10[1];\n              }\n              iVar14 = *(int *)(iVar3 + 0x1c);\n              if (iVar6 < 1) {\n                local_54 = local_54 + iVar14;\n              }\n              else {\n                iVar15 = 0;\n                piVar11 = piVar9 + piVar10[1];\n                do {\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + piVar10[1] + iVar6 != piVar11);\n                iVar13 = 1;\n                local_54 = iVar15 + local_54 + iVar14;\n                piVar9[piVar10[1]] = local_54;\n                if (iVar6 != 1) {\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }\n                iVar14 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar10 = (int *)(local_54 - iVar14);\n              if (local_54 - iVar14 <= (int)local_50) {\n                piVar10 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar10;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0));\n        }\n        uVar4 = g_type_check_instance_cast(iVar3,uVar4);\n        iVar3 = gtk_container_get_border_width(uVar4);\n        g_free(piVar9);\n        *nat = (int)local_50 + iVar3 * 2;\n      }\n    }" else (compound_statement "{\n      uVar4 = gtk_container_get_type();\n      if (GVar12 == 0) {\n        GVar12 = g_type_register_static(uVar4,0x800a6,columns_info_57510,0);\n        columns_type_57509 = GVar12;\n      }\n      iVar3 = g_type_check_instance_cast(widget,GVar12);\n      uVar5 = g_type_check_instance_cast(iVar3,uVar4);\n      iVar6 = gtk_container_get_border_width(uVar5);\n      puVar7 = (undefined4 *)g_malloc(8);\n      *puVar7 = 0;\n      iVar6 = width + iVar6 * -2;\n      puVar7[1] = iVar6 + *(int *)(iVar3 + 0x1c);\n      local_50 = *(int **)(iVar3 + 0x14);\n      if ((local_50 != (int *)0x0) &&\n         (child = (ColumnsChild *)*local_50, child != (ColumnsChild *)0x0)) {\n        local_54 = 1;\n        do {\n          if (child->widget == (GtkWidget *)0x0) {\n            local_54 = child->ncols;\n            pgVar2 = child->percentages;\n            puVar7 = (undefined4 *)g_realloc_n(puVar7,local_54 + 1,4);\n            *puVar7 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar15 = 0;\n            iVar14 = 0;\n            do {\n              iVar15 = iVar15 + pgVar2[iVar14];\n              puVar7[iVar14 + 1] = ((iVar6 + *(int *)(iVar3 + 0x1c)) * iVar15) / 100;\n              iVar14 = iVar14 + 1;\n            } while (local_54 != iVar14);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar14 = gtk_widget_get_visible(child->widget);\n            if (iVar14 != 0) {\n              gVar8 = columns_gtk3_get_nat_width(child);\n              iVar14 = child->colspan;\n              iVar15 = child->colstart;\n              if (iVar14 == 0) {\n                iVar14 = local_54 - iVar15;\n              }\n              iVar13 = puVar7[iVar15];\n              child->x = iVar13;\n              if (child->force_left == 0) {\n                gVar8 = (puVar7[iVar14 + iVar15] - iVar13) - *(int *)(iVar3 + 0x1c);\n              }\n              child->w = gVar8;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) &&\n                (child = (ColumnsChild *)*local_50, child != (ColumnsChild *)0x0));\n      }\n      g_free(puVar7);\n      if (min != (gint *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar9 = (int *)g_malloc(4);\n        *piVar9 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar10 == 0) {\n              if (1 < local_48) {\n                iVar6 = *piVar9;\n                piVar11 = piVar9 + 1;\n                do {\n                  iVar14 = *piVar11;\n                  if (iVar6 < iVar14) {\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + local_48 != piVar11);\n              }\n              local_48 = piVar10[5];\n              piVar9 = (int *)g_realloc_n(piVar9,local_48,4);\n              piVar10 = piVar9 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar11 = piVar10 + 1;\n                  *piVar10 = *piVar9;\n                  piVar10 = piVar11;\n                } while (piVar9 + local_48 != piVar11);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar6 = gtk_widget_get_visible(*piVar10);\n              if (iVar6 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar10,piVar10[9],&ret,0);\n              gVar8 = ret;\n              puVar7 = (undefined4 *)piVar10[4];\n              local_54 = ret;\n              if ((puVar7 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],&ret,0),\n                 local_54 = ret, ret <= gVar8)) {\n                local_54 = gVar8;\n              }\n              iVar6 = piVar10[2];\n              if (iVar6 == 0) {\n                iVar6 = local_48 - piVar10[1];\n              }\n              iVar14 = *(int *)(iVar3 + 0x1c);\n              if (iVar6 < 1) {\n                local_54 = local_54 + iVar14;\n              }\n              else {\n                iVar15 = 0;\n                piVar11 = piVar9 + piVar10[1];\n                do {\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + piVar10[1] + iVar6 != piVar11);\n                iVar13 = 1;\n                local_54 = iVar15 + local_54 + iVar14;\n                piVar9[piVar10[1]] = local_54;\n                if (iVar6 != 1) {\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }\n                iVar14 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar10 = (int *)(local_54 - iVar14);\n              if (local_54 - iVar14 <= (int)local_50) {\n                piVar10 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar10;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0));\n        }\n        uVar5 = g_type_check_instance_cast(iVar3,uVar4);\n        iVar6 = gtk_container_get_border_width(uVar5);\n        g_free(piVar9);\n        *min = (int)local_50 + iVar6 * 2;\n      }\n      if (nat != (gint *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar9 = (int *)g_malloc(4);\n        *piVar9 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar10 == 0) {\n              if (1 < local_48) {\n                iVar6 = *piVar9;\n                piVar11 = piVar9 + 1;\n                do {\n                  iVar14 = *piVar11;\n                  if (iVar6 < iVar14) {\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar11 != piVar9 + local_48);\n              }\n              local_48 = piVar10[5];\n              piVar9 = (int *)g_realloc_n(piVar9,local_48,4);\n              piVar10 = piVar9 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar11 = piVar10 + 1;\n                  *piVar10 = *piVar9;\n                  piVar10 = piVar11;\n                } while (piVar9 + local_48 != piVar11);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar6 = gtk_widget_get_visible(*piVar10);\n              if (iVar6 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar10,piVar10[9],0,&ret);\n              gVar8 = ret;\n              puVar7 = (undefined4 *)piVar10[4];\n              local_54 = ret;\n              if ((puVar7 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],0,&ret),\n                 local_54 = ret, ret <= gVar8)) {\n                local_54 = gVar8;\n              }\n              iVar6 = piVar10[2];\n              if (iVar6 == 0) {\n                iVar6 = local_48 - piVar10[1];\n              }\n              iVar14 = *(int *)(iVar3 + 0x1c);\n              if (iVar6 < 1) {\n                local_54 = local_54 + iVar14;\n              }\n              else {\n                iVar15 = 0;\n                piVar11 = piVar9 + piVar10[1];\n                do {\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + piVar10[1] + iVar6 != piVar11);\n                iVar13 = 1;\n                local_54 = iVar15 + local_54 + iVar14;\n                piVar9[piVar10[1]] = local_54;\n                if (iVar6 != 1) {\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }\n                iVar14 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar10 = (int *)(local_54 - iVar14);\n              if (local_54 - iVar14 <= (int)local_50) {\n                piVar10 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar10;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0));\n        }\n        uVar4 = g_type_check_instance_cast(iVar3,uVar4);\n        iVar3 = gtk_container_get_border_width(uVar4);\n        g_free(piVar9);\n        *nat = (int)local_50 + iVar3 * 2;\n      }\n    }" { (expression_statement "uVar4 = gtk_container_get_type();" (assignment_expression "uVar4 = gtk_container_get_type()" identifier = (call_expression "gtk_container_get_type()" identifier (argument_list "()" ( )))) ;) (if_statement "if (GVar12 == 0) {\n        GVar12 = g_type_register_static(uVar4,0x800a6,columns_info_57510,0);\n        columns_type_57509 = GVar12;\n      }" if (parenthesized_expression "(GVar12 == 0)" ( (binary_expression "GVar12 == 0" identifier == number_literal) )) (compound_statement "{\n        GVar12 = g_type_register_static(uVar4,0x800a6,columns_info_57510,0);\n        columns_type_57509 = GVar12;\n      }" { (expression_statement "GVar12 = g_type_register_static(uVar4,0x800a6,columns_info_57510,0);" (assignment_expression "GVar12 = g_type_register_static(uVar4,0x800a6,columns_info_57510,0)" identifier = (call_expression "g_type_register_static(uVar4,0x800a6,columns_info_57510,0)" identifier (argument_list "(uVar4,0x800a6,columns_info_57510,0)" ( identifier , number_literal , identifier , number_literal )))) ;) (expression_statement "columns_type_57509 = GVar12;" (assignment_expression "columns_type_57509 = GVar12" identifier = identifier) ;) })) (expression_statement "iVar3 = g_type_check_instance_cast(widget,GVar12);" (assignment_expression "iVar3 = g_type_check_instance_cast(widget,GVar12)" identifier = (call_expression "g_type_check_instance_cast(widget,GVar12)" identifier (argument_list "(widget,GVar12)" ( identifier , identifier )))) ;) (expression_statement "uVar5 = g_type_check_instance_cast(iVar3,uVar4);" (assignment_expression "uVar5 = g_type_check_instance_cast(iVar3,uVar4)" identifier = (call_expression "g_type_check_instance_cast(iVar3,uVar4)" identifier (argument_list "(iVar3,uVar4)" ( identifier , identifier )))) ;) (expression_statement "iVar6 = gtk_container_get_border_width(uVar5);" (assignment_expression "iVar6 = gtk_container_get_border_width(uVar5)" identifier = (call_expression "gtk_container_get_border_width(uVar5)" identifier (argument_list "(uVar5)" ( identifier )))) ;) (expression_statement "puVar7 = (undefined4 *)g_malloc(8);" (assignment_expression "puVar7 = (undefined4 *)g_malloc(8)" identifier = (cast_expression "(undefined4 *)g_malloc(8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "g_malloc(8)" identifier (argument_list "(8)" ( number_literal ))))) ;) (expression_statement "*puVar7 = 0;" (assignment_expression "*puVar7 = 0" (pointer_expression "*puVar7" * identifier) = number_literal) ;) (expression_statement "iVar6 = width + iVar6 * -2;" (assignment_expression "iVar6 = width + iVar6 * -2" identifier = (binary_expression "width + iVar6 * -2" identifier + (binary_expression "iVar6 * -2" identifier * number_literal))) ;) (expression_statement "puVar7[1] = iVar6 + *(int *)(iVar3 + 0x1c);" (assignment_expression "puVar7[1] = iVar6 + *(int *)(iVar3 + 0x1c)" (subscript_expression "puVar7[1]" identifier [ number_literal ]) = (binary_expression "iVar6 + *(int *)(iVar3 + 0x1c)" identifier + (pointer_expression "*(int *)(iVar3 + 0x1c)" * (cast_expression "(int *)(iVar3 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x1c)" ( (binary_expression "iVar3 + 0x1c" identifier + number_literal) )))))) ;) (expression_statement "local_50 = *(int **)(iVar3 + 0x14);" (assignment_expression "local_50 = *(int **)(iVar3 + 0x14)" identifier = (pointer_expression "*(int **)(iVar3 + 0x14)" * (cast_expression "(int **)(iVar3 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x14)" ( (binary_expression "iVar3 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if ((local_50 != (int *)0x0) &&\n         (child = (ColumnsChild *)*local_50, child != (ColumnsChild *)0x0)) {\n        local_54 = 1;\n        do {\n          if (child->widget == (GtkWidget *)0x0) {\n            local_54 = child->ncols;\n            pgVar2 = child->percentages;\n            puVar7 = (undefined4 *)g_realloc_n(puVar7,local_54 + 1,4);\n            *puVar7 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar15 = 0;\n            iVar14 = 0;\n            do {\n              iVar15 = iVar15 + pgVar2[iVar14];\n              puVar7[iVar14 + 1] = ((iVar6 + *(int *)(iVar3 + 0x1c)) * iVar15) / 100;\n              iVar14 = iVar14 + 1;\n            } while (local_54 != iVar14);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar14 = gtk_widget_get_visible(child->widget);\n            if (iVar14 != 0) {\n              gVar8 = columns_gtk3_get_nat_width(child);\n              iVar14 = child->colspan;\n              iVar15 = child->colstart;\n              if (iVar14 == 0) {\n                iVar14 = local_54 - iVar15;\n              }\n              iVar13 = puVar7[iVar15];\n              child->x = iVar13;\n              if (child->force_left == 0) {\n                gVar8 = (puVar7[iVar14 + iVar15] - iVar13) - *(int *)(iVar3 + 0x1c);\n              }\n              child->w = gVar8;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) &&\n                (child = (ColumnsChild *)*local_50, child != (ColumnsChild *)0x0));\n      }" if (parenthesized_expression "((local_50 != (int *)0x0) &&\n         (child = (ColumnsChild *)*local_50, child != (ColumnsChild *)0x0))" ( (binary_expression "(local_50 != (int *)0x0) &&\n         (child = (ColumnsChild *)*local_50, child != (ColumnsChild *)0x0)" (parenthesized_expression "(local_50 != (int *)0x0)" ( (binary_expression "local_50 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(child = (ColumnsChild *)*local_50, child != (ColumnsChild *)0x0)" ( (comma_expression "child = (ColumnsChild *)*local_50, child != (ColumnsChild *)0x0" (assignment_expression "child = (ColumnsChild *)*local_50" identifier = (cast_expression "(ColumnsChild *)*local_50" ( (type_descriptor "ColumnsChild *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_50" * identifier))) , (binary_expression "child != (ColumnsChild *)0x0" identifier != (cast_expression "(ColumnsChild *)0x0" ( (type_descriptor "ColumnsChild *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n        local_54 = 1;\n        do {\n          if (child->widget == (GtkWidget *)0x0) {\n            local_54 = child->ncols;\n            pgVar2 = child->percentages;\n            puVar7 = (undefined4 *)g_realloc_n(puVar7,local_54 + 1,4);\n            *puVar7 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar15 = 0;\n            iVar14 = 0;\n            do {\n              iVar15 = iVar15 + pgVar2[iVar14];\n              puVar7[iVar14 + 1] = ((iVar6 + *(int *)(iVar3 + 0x1c)) * iVar15) / 100;\n              iVar14 = iVar14 + 1;\n            } while (local_54 != iVar14);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar14 = gtk_widget_get_visible(child->widget);\n            if (iVar14 != 0) {\n              gVar8 = columns_gtk3_get_nat_width(child);\n              iVar14 = child->colspan;\n              iVar15 = child->colstart;\n              if (iVar14 == 0) {\n                iVar14 = local_54 - iVar15;\n              }\n              iVar13 = puVar7[iVar15];\n              child->x = iVar13;\n              if (child->force_left == 0) {\n                gVar8 = (puVar7[iVar14 + iVar15] - iVar13) - *(int *)(iVar3 + 0x1c);\n              }\n              child->w = gVar8;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) &&\n                (child = (ColumnsChild *)*local_50, child != (ColumnsChild *)0x0));\n      }" { (expression_statement "local_54 = 1;" (assignment_expression "local_54 = 1" identifier = number_literal) ;) (do_statement "do {\n          if (child->widget == (GtkWidget *)0x0) {\n            local_54 = child->ncols;\n            pgVar2 = child->percentages;\n            puVar7 = (undefined4 *)g_realloc_n(puVar7,local_54 + 1,4);\n            *puVar7 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar15 = 0;\n            iVar14 = 0;\n            do {\n              iVar15 = iVar15 + pgVar2[iVar14];\n              puVar7[iVar14 + 1] = ((iVar6 + *(int *)(iVar3 + 0x1c)) * iVar15) / 100;\n              iVar14 = iVar14 + 1;\n            } while (local_54 != iVar14);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar14 = gtk_widget_get_visible(child->widget);\n            if (iVar14 != 0) {\n              gVar8 = columns_gtk3_get_nat_width(child);\n              iVar14 = child->colspan;\n              iVar15 = child->colstart;\n              if (iVar14 == 0) {\n                iVar14 = local_54 - iVar15;\n              }\n              iVar13 = puVar7[iVar15];\n              child->x = iVar13;\n              if (child->force_left == 0) {\n                gVar8 = (puVar7[iVar14 + iVar15] - iVar13) - *(int *)(iVar3 + 0x1c);\n              }\n              child->w = gVar8;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) &&\n                (child = (ColumnsChild *)*local_50, child != (ColumnsChild *)0x0));" do (compound_statement "{\n          if (child->widget == (GtkWidget *)0x0) {\n            local_54 = child->ncols;\n            pgVar2 = child->percentages;\n            puVar7 = (undefined4 *)g_realloc_n(puVar7,local_54 + 1,4);\n            *puVar7 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar15 = 0;\n            iVar14 = 0;\n            do {\n              iVar15 = iVar15 + pgVar2[iVar14];\n              puVar7[iVar14 + 1] = ((iVar6 + *(int *)(iVar3 + 0x1c)) * iVar15) / 100;\n              iVar14 = iVar14 + 1;\n            } while (local_54 != iVar14);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar14 = gtk_widget_get_visible(child->widget);\n            if (iVar14 != 0) {\n              gVar8 = columns_gtk3_get_nat_width(child);\n              iVar14 = child->colspan;\n              iVar15 = child->colstart;\n              if (iVar14 == 0) {\n                iVar14 = local_54 - iVar15;\n              }\n              iVar13 = puVar7[iVar15];\n              child->x = iVar13;\n              if (child->force_left == 0) {\n                gVar8 = (puVar7[iVar14 + iVar15] - iVar13) - *(int *)(iVar3 + 0x1c);\n              }\n              child->w = gVar8;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        }" { (if_statement "if (child->widget == (GtkWidget *)0x0) {\n            local_54 = child->ncols;\n            pgVar2 = child->percentages;\n            puVar7 = (undefined4 *)g_realloc_n(puVar7,local_54 + 1,4);\n            *puVar7 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar15 = 0;\n            iVar14 = 0;\n            do {\n              iVar15 = iVar15 + pgVar2[iVar14];\n              puVar7[iVar14 + 1] = ((iVar6 + *(int *)(iVar3 + 0x1c)) * iVar15) / 100;\n              iVar14 = iVar14 + 1;\n            } while (local_54 != iVar14);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar14 = gtk_widget_get_visible(child->widget);\n            if (iVar14 != 0) {\n              gVar8 = columns_gtk3_get_nat_width(child);\n              iVar14 = child->colspan;\n              iVar15 = child->colstart;\n              if (iVar14 == 0) {\n                iVar14 = local_54 - iVar15;\n              }\n              iVar13 = puVar7[iVar15];\n              child->x = iVar13;\n              if (child->force_left == 0) {\n                gVar8 = (puVar7[iVar14 + iVar15] - iVar13) - *(int *)(iVar3 + 0x1c);\n              }\n              child->w = gVar8;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }" if (parenthesized_expression "(child->widget == (GtkWidget *)0x0)" ( (binary_expression "child->widget == (GtkWidget *)0x0" (field_expression "child->widget" identifier -> field_identifier) == (cast_expression "(GtkWidget *)0x0" ( (type_descriptor "GtkWidget *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            local_54 = child->ncols;\n            pgVar2 = child->percentages;\n            puVar7 = (undefined4 *)g_realloc_n(puVar7,local_54 + 1,4);\n            *puVar7 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar15 = 0;\n            iVar14 = 0;\n            do {\n              iVar15 = iVar15 + pgVar2[iVar14];\n              puVar7[iVar14 + 1] = ((iVar6 + *(int *)(iVar3 + 0x1c)) * iVar15) / 100;\n              iVar14 = iVar14 + 1;\n            } while (local_54 != iVar14);\n            local_50 = (int *)local_50[1];\n          }" { (expression_statement "local_54 = child->ncols;" (assignment_expression "local_54 = child->ncols" identifier = (field_expression "child->ncols" identifier -> field_identifier)) ;) (expression_statement "pgVar2 = child->percentages;" (assignment_expression "pgVar2 = child->percentages" identifier = (field_expression "child->percentages" identifier -> field_identifier)) ;) (expression_statement "puVar7 = (undefined4 *)g_realloc_n(puVar7,local_54 + 1,4);" (assignment_expression "puVar7 = (undefined4 *)g_realloc_n(puVar7,local_54 + 1,4)" identifier = (cast_expression "(undefined4 *)g_realloc_n(puVar7,local_54 + 1,4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "g_realloc_n(puVar7,local_54 + 1,4)" identifier (argument_list "(puVar7,local_54 + 1,4)" ( identifier , (binary_expression "local_54 + 1" identifier + number_literal) , number_literal ))))) ;) (expression_statement "*puVar7 = 0;" (assignment_expression "*puVar7 = 0" (pointer_expression "*puVar7" * identifier) = number_literal) ;) (if_statement "if (local_54 < 1) goto LAB_0004f2f6;" if (parenthesized_expression "(local_54 < 1)" ( (binary_expression "local_54 < 1" identifier < number_literal) )) (goto_statement "goto LAB_0004f2f6;" goto statement_identifier ;)) (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" identifier = number_literal) ;) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (do_statement "do {\n              iVar15 = iVar15 + pgVar2[iVar14];\n              puVar7[iVar14 + 1] = ((iVar6 + *(int *)(iVar3 + 0x1c)) * iVar15) / 100;\n              iVar14 = iVar14 + 1;\n            } while (local_54 != iVar14);" do (compound_statement "{\n              iVar15 = iVar15 + pgVar2[iVar14];\n              puVar7[iVar14 + 1] = ((iVar6 + *(int *)(iVar3 + 0x1c)) * iVar15) / 100;\n              iVar14 = iVar14 + 1;\n            }" { (expression_statement "iVar15 = iVar15 + pgVar2[iVar14];" (assignment_expression "iVar15 = iVar15 + pgVar2[iVar14]" identifier = (binary_expression "iVar15 + pgVar2[iVar14]" identifier + (subscript_expression "pgVar2[iVar14]" identifier [ identifier ]))) ;) (expression_statement "puVar7[iVar14 + 1] = ((iVar6 + *(int *)(iVar3 + 0x1c)) * iVar15) / 100;" (assignment_expression "puVar7[iVar14 + 1] = ((iVar6 + *(int *)(iVar3 + 0x1c)) * iVar15) / 100" (subscript_expression "puVar7[iVar14 + 1]" identifier [ (binary_expression "iVar14 + 1" identifier + number_literal) ]) = (binary_expression "((iVar6 + *(int *)(iVar3 + 0x1c)) * iVar15) / 100" (parenthesized_expression "((iVar6 + *(int *)(iVar3 + 0x1c)) * iVar15)" ( (binary_expression "(iVar6 + *(int *)(iVar3 + 0x1c)) * iVar15" (parenthesized_expression "(iVar6 + *(int *)(iVar3 + 0x1c))" ( (binary_expression "iVar6 + *(int *)(iVar3 + 0x1c)" identifier + (pointer_expression "*(int *)(iVar3 + 0x1c)" * (cast_expression "(int *)(iVar3 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x1c)" ( (binary_expression "iVar3 + 0x1c" identifier + number_literal) ))))) )) * identifier) )) / number_literal)) ;) (expression_statement "iVar14 = iVar14 + 1;" (assignment_expression "iVar14 = iVar14 + 1" identifier = (binary_expression "iVar14 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_54 != iVar14)" ( (binary_expression "local_54 != iVar14" identifier != identifier) )) ;) (expression_statement "local_50 = (int *)local_50[1];" (assignment_expression "local_50 = (int *)local_50[1]" identifier = (cast_expression "(int *)local_50[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_50[1]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n            iVar14 = gtk_widget_get_visible(child->widget);\n            if (iVar14 != 0) {\n              gVar8 = columns_gtk3_get_nat_width(child);\n              iVar14 = child->colspan;\n              iVar15 = child->colstart;\n              if (iVar14 == 0) {\n                iVar14 = local_54 - iVar15;\n              }\n              iVar13 = puVar7[iVar15];\n              child->x = iVar13;\n              if (child->force_left == 0) {\n                gVar8 = (puVar7[iVar14 + iVar15] - iVar13) - *(int *)(iVar3 + 0x1c);\n              }\n              child->w = gVar8;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }" else (compound_statement "{\n            iVar14 = gtk_widget_get_visible(child->widget);\n            if (iVar14 != 0) {\n              gVar8 = columns_gtk3_get_nat_width(child);\n              iVar14 = child->colspan;\n              iVar15 = child->colstart;\n              if (iVar14 == 0) {\n                iVar14 = local_54 - iVar15;\n              }\n              iVar13 = puVar7[iVar15];\n              child->x = iVar13;\n              if (child->force_left == 0) {\n                gVar8 = (puVar7[iVar14 + iVar15] - iVar13) - *(int *)(iVar3 + 0x1c);\n              }\n              child->w = gVar8;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }" { (expression_statement "iVar14 = gtk_widget_get_visible(child->widget);" (assignment_expression "iVar14 = gtk_widget_get_visible(child->widget)" identifier = (call_expression "gtk_widget_get_visible(child->widget)" identifier (argument_list "(child->widget)" ( (field_expression "child->widget" identifier -> field_identifier) )))) ;) (if_statement "if (iVar14 != 0) {\n              gVar8 = columns_gtk3_get_nat_width(child);\n              iVar14 = child->colspan;\n              iVar15 = child->colstart;\n              if (iVar14 == 0) {\n                iVar14 = local_54 - iVar15;\n              }\n              iVar13 = puVar7[iVar15];\n              child->x = iVar13;\n              if (child->force_left == 0) {\n                gVar8 = (puVar7[iVar14 + iVar15] - iVar13) - *(int *)(iVar3 + 0x1c);\n              }\n              child->w = gVar8;\n            }" if (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) (compound_statement "{\n              gVar8 = columns_gtk3_get_nat_width(child);\n              iVar14 = child->colspan;\n              iVar15 = child->colstart;\n              if (iVar14 == 0) {\n                iVar14 = local_54 - iVar15;\n              }\n              iVar13 = puVar7[iVar15];\n              child->x = iVar13;\n              if (child->force_left == 0) {\n                gVar8 = (puVar7[iVar14 + iVar15] - iVar13) - *(int *)(iVar3 + 0x1c);\n              }\n              child->w = gVar8;\n            }" { (expression_statement "gVar8 = columns_gtk3_get_nat_width(child);" (assignment_expression "gVar8 = columns_gtk3_get_nat_width(child)" identifier = (call_expression "columns_gtk3_get_nat_width(child)" identifier (argument_list "(child)" ( identifier )))) ;) (expression_statement "iVar14 = child->colspan;" (assignment_expression "iVar14 = child->colspan" identifier = (field_expression "child->colspan" identifier -> field_identifier)) ;) (expression_statement "iVar15 = child->colstart;" (assignment_expression "iVar15 = child->colstart" identifier = (field_expression "child->colstart" identifier -> field_identifier)) ;) (if_statement "if (iVar14 == 0) {\n                iVar14 = local_54 - iVar15;\n              }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n                iVar14 = local_54 - iVar15;\n              }" { (expression_statement "iVar14 = local_54 - iVar15;" (assignment_expression "iVar14 = local_54 - iVar15" identifier = (binary_expression "local_54 - iVar15" identifier - identifier)) ;) })) (expression_statement "iVar13 = puVar7[iVar15];" (assignment_expression "iVar13 = puVar7[iVar15]" identifier = (subscript_expression "puVar7[iVar15]" identifier [ identifier ])) ;) (expression_statement "child->x = iVar13;" (assignment_expression "child->x = iVar13" (field_expression "child->x" identifier -> field_identifier) = identifier) ;) (if_statement "if (child->force_left == 0) {\n                gVar8 = (puVar7[iVar14 + iVar15] - iVar13) - *(int *)(iVar3 + 0x1c);\n              }" if (parenthesized_expression "(child->force_left == 0)" ( (binary_expression "child->force_left == 0" (field_expression "child->force_left" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n                gVar8 = (puVar7[iVar14 + iVar15] - iVar13) - *(int *)(iVar3 + 0x1c);\n              }" { (expression_statement "gVar8 = (puVar7[iVar14 + iVar15] - iVar13) - *(int *)(iVar3 + 0x1c);" (assignment_expression "gVar8 = (puVar7[iVar14 + iVar15] - iVar13) - *(int *)(iVar3 + 0x1c)" identifier = (binary_expression "(puVar7[iVar14 + iVar15] - iVar13) - *(int *)(iVar3 + 0x1c)" (parenthesized_expression "(puVar7[iVar14 + iVar15] - iVar13)" ( (binary_expression "puVar7[iVar14 + iVar15] - iVar13" (subscript_expression "puVar7[iVar14 + iVar15]" identifier [ (binary_expression "iVar14 + iVar15" identifier + identifier) ]) - identifier) )) - (pointer_expression "*(int *)(iVar3 + 0x1c)" * (cast_expression "(int *)(iVar3 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x1c)" ( (binary_expression "iVar3 + 0x1c" identifier + number_literal) )))))) ;) })) (expression_statement "child->w = gVar8;" (assignment_expression "child->w = gVar8" (field_expression "child->w" identifier -> field_identifier) = identifier) ;) })) (labeled_statement "LAB_0004f2f6:\n            local_50 = (int *)local_50[1];" statement_identifier : (expression_statement "local_50 = (int *)local_50[1];" (assignment_expression "local_50 = (int *)local_50[1]" identifier = (cast_expression "(int *)local_50[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_50[1]" identifier [ number_literal ]))) ;)) }))) }) while (parenthesized_expression "((local_50 != (int *)0x0) &&\n                (child = (ColumnsChild *)*local_50, child != (ColumnsChild *)0x0))" ( (binary_expression "(local_50 != (int *)0x0) &&\n                (child = (ColumnsChild *)*local_50, child != (ColumnsChild *)0x0)" (parenthesized_expression "(local_50 != (int *)0x0)" ( (binary_expression "local_50 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(child = (ColumnsChild *)*local_50, child != (ColumnsChild *)0x0)" ( (comma_expression "child = (ColumnsChild *)*local_50, child != (ColumnsChild *)0x0" (assignment_expression "child = (ColumnsChild *)*local_50" identifier = (cast_expression "(ColumnsChild *)*local_50" ( (type_descriptor "ColumnsChild *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_50" * identifier))) , (binary_expression "child != (ColumnsChild *)0x0" identifier != (cast_expression "(ColumnsChild *)0x0" ( (type_descriptor "ColumnsChild *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) ;) })) (expression_statement "g_free(puVar7);" (call_expression "g_free(puVar7)" identifier (argument_list "(puVar7)" ( identifier ))) ;) (if_statement "if (min != (gint *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar9 = (int *)g_malloc(4);\n        *piVar9 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar10 == 0) {\n              if (1 < local_48) {\n                iVar6 = *piVar9;\n                piVar11 = piVar9 + 1;\n                do {\n                  iVar14 = *piVar11;\n                  if (iVar6 < iVar14) {\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + local_48 != piVar11);\n              }\n              local_48 = piVar10[5];\n              piVar9 = (int *)g_realloc_n(piVar9,local_48,4);\n              piVar10 = piVar9 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar11 = piVar10 + 1;\n                  *piVar10 = *piVar9;\n                  piVar10 = piVar11;\n                } while (piVar9 + local_48 != piVar11);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar6 = gtk_widget_get_visible(*piVar10);\n              if (iVar6 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar10,piVar10[9],&ret,0);\n              gVar8 = ret;\n              puVar7 = (undefined4 *)piVar10[4];\n              local_54 = ret;\n              if ((puVar7 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],&ret,0),\n                 local_54 = ret, ret <= gVar8)) {\n                local_54 = gVar8;\n              }\n              iVar6 = piVar10[2];\n              if (iVar6 == 0) {\n                iVar6 = local_48 - piVar10[1];\n              }\n              iVar14 = *(int *)(iVar3 + 0x1c);\n              if (iVar6 < 1) {\n                local_54 = local_54 + iVar14;\n              }\n              else {\n                iVar15 = 0;\n                piVar11 = piVar9 + piVar10[1];\n                do {\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + piVar10[1] + iVar6 != piVar11);\n                iVar13 = 1;\n                local_54 = iVar15 + local_54 + iVar14;\n                piVar9[piVar10[1]] = local_54;\n                if (iVar6 != 1) {\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }\n                iVar14 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar10 = (int *)(local_54 - iVar14);\n              if (local_54 - iVar14 <= (int)local_50) {\n                piVar10 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar10;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0));\n        }\n        uVar5 = g_type_check_instance_cast(iVar3,uVar4);\n        iVar6 = gtk_container_get_border_width(uVar5);\n        g_free(piVar9);\n        *min = (int)local_50 + iVar6 * 2;\n      }" if (parenthesized_expression "(min != (gint *)0x0)" ( (binary_expression "min != (gint *)0x0" identifier != (cast_expression "(gint *)0x0" ( (type_descriptor "gint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar9 = (int *)g_malloc(4);\n        *piVar9 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar10 == 0) {\n              if (1 < local_48) {\n                iVar6 = *piVar9;\n                piVar11 = piVar9 + 1;\n                do {\n                  iVar14 = *piVar11;\n                  if (iVar6 < iVar14) {\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + local_48 != piVar11);\n              }\n              local_48 = piVar10[5];\n              piVar9 = (int *)g_realloc_n(piVar9,local_48,4);\n              piVar10 = piVar9 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar11 = piVar10 + 1;\n                  *piVar10 = *piVar9;\n                  piVar10 = piVar11;\n                } while (piVar9 + local_48 != piVar11);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar6 = gtk_widget_get_visible(*piVar10);\n              if (iVar6 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar10,piVar10[9],&ret,0);\n              gVar8 = ret;\n              puVar7 = (undefined4 *)piVar10[4];\n              local_54 = ret;\n              if ((puVar7 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],&ret,0),\n                 local_54 = ret, ret <= gVar8)) {\n                local_54 = gVar8;\n              }\n              iVar6 = piVar10[2];\n              if (iVar6 == 0) {\n                iVar6 = local_48 - piVar10[1];\n              }\n              iVar14 = *(int *)(iVar3 + 0x1c);\n              if (iVar6 < 1) {\n                local_54 = local_54 + iVar14;\n              }\n              else {\n                iVar15 = 0;\n                piVar11 = piVar9 + piVar10[1];\n                do {\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + piVar10[1] + iVar6 != piVar11);\n                iVar13 = 1;\n                local_54 = iVar15 + local_54 + iVar14;\n                piVar9[piVar10[1]] = local_54;\n                if (iVar6 != 1) {\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }\n                iVar14 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar10 = (int *)(local_54 - iVar14);\n              if (local_54 - iVar14 <= (int)local_50) {\n                piVar10 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar10;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0));\n        }\n        uVar5 = g_type_check_instance_cast(iVar3,uVar4);\n        iVar6 = gtk_container_get_border_width(uVar5);\n        g_free(piVar9);\n        *min = (int)local_50 + iVar6 * 2;\n      }" { (expression_statement "local_50 = *(int **)(iVar3 + 0x1c);" (assignment_expression "local_50 = *(int **)(iVar3 + 0x1c)" identifier = (pointer_expression "*(int **)(iVar3 + 0x1c)" * (cast_expression "(int **)(iVar3 + 0x1c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x1c)" ( (binary_expression "iVar3 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "piVar9 = (int *)g_malloc(4);" (assignment_expression "piVar9 = (int *)g_malloc(4)" identifier = (cast_expression "(int *)g_malloc(4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "g_malloc(4)" identifier (argument_list "(4)" ( number_literal ))))) ;) (expression_statement "*piVar9 = 0;" (assignment_expression "*piVar9 = 0" (pointer_expression "*piVar9" * identifier) = number_literal) ;) (expression_statement "local_44 = *(int **)(iVar3 + 0x14);" (assignment_expression "local_44 = *(int **)(iVar3 + 0x14)" identifier = (pointer_expression "*(int **)(iVar3 + 0x14)" * (cast_expression "(int **)(iVar3 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x14)" ( (binary_expression "iVar3 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar10 == 0) {\n              if (1 < local_48) {\n                iVar6 = *piVar9;\n                piVar11 = piVar9 + 1;\n                do {\n                  iVar14 = *piVar11;\n                  if (iVar6 < iVar14) {\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + local_48 != piVar11);\n              }\n              local_48 = piVar10[5];\n              piVar9 = (int *)g_realloc_n(piVar9,local_48,4);\n              piVar10 = piVar9 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar11 = piVar10 + 1;\n                  *piVar10 = *piVar9;\n                  piVar10 = piVar11;\n                } while (piVar9 + local_48 != piVar11);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar6 = gtk_widget_get_visible(*piVar10);\n              if (iVar6 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar10,piVar10[9],&ret,0);\n              gVar8 = ret;\n              puVar7 = (undefined4 *)piVar10[4];\n              local_54 = ret;\n              if ((puVar7 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],&ret,0),\n                 local_54 = ret, ret <= gVar8)) {\n                local_54 = gVar8;\n              }\n              iVar6 = piVar10[2];\n              if (iVar6 == 0) {\n                iVar6 = local_48 - piVar10[1];\n              }\n              iVar14 = *(int *)(iVar3 + 0x1c);\n              if (iVar6 < 1) {\n                local_54 = local_54 + iVar14;\n              }\n              else {\n                iVar15 = 0;\n                piVar11 = piVar9 + piVar10[1];\n                do {\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + piVar10[1] + iVar6 != piVar11);\n                iVar13 = 1;\n                local_54 = iVar15 + local_54 + iVar14;\n                piVar9[piVar10[1]] = local_54;\n                if (iVar6 != 1) {\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }\n                iVar14 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar10 = (int *)(local_54 - iVar14);\n              if (local_54 - iVar14 <= (int)local_50) {\n                piVar10 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar10;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0));\n        }" if (parenthesized_expression "((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0))" ( (binary_expression "(local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0)" (parenthesized_expression "(local_44 != (int *)0x0)" ( (binary_expression "local_44 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(piVar10 = (int *)*local_44, piVar10 != (int *)0x0)" ( (comma_expression "piVar10 = (int *)*local_44, piVar10 != (int *)0x0" (assignment_expression "piVar10 = (int *)*local_44" identifier = (cast_expression "(int *)*local_44" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_44" * identifier))) , (binary_expression "piVar10 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n          local_48 = 1;\n          do {\n            if (*piVar10 == 0) {\n              if (1 < local_48) {\n                iVar6 = *piVar9;\n                piVar11 = piVar9 + 1;\n                do {\n                  iVar14 = *piVar11;\n                  if (iVar6 < iVar14) {\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + local_48 != piVar11);\n              }\n              local_48 = piVar10[5];\n              piVar9 = (int *)g_realloc_n(piVar9,local_48,4);\n              piVar10 = piVar9 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar11 = piVar10 + 1;\n                  *piVar10 = *piVar9;\n                  piVar10 = piVar11;\n                } while (piVar9 + local_48 != piVar11);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar6 = gtk_widget_get_visible(*piVar10);\n              if (iVar6 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar10,piVar10[9],&ret,0);\n              gVar8 = ret;\n              puVar7 = (undefined4 *)piVar10[4];\n              local_54 = ret;\n              if ((puVar7 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],&ret,0),\n                 local_54 = ret, ret <= gVar8)) {\n                local_54 = gVar8;\n              }\n              iVar6 = piVar10[2];\n              if (iVar6 == 0) {\n                iVar6 = local_48 - piVar10[1];\n              }\n              iVar14 = *(int *)(iVar3 + 0x1c);\n              if (iVar6 < 1) {\n                local_54 = local_54 + iVar14;\n              }\n              else {\n                iVar15 = 0;\n                piVar11 = piVar9 + piVar10[1];\n                do {\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + piVar10[1] + iVar6 != piVar11);\n                iVar13 = 1;\n                local_54 = iVar15 + local_54 + iVar14;\n                piVar9[piVar10[1]] = local_54;\n                if (iVar6 != 1) {\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }\n                iVar14 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar10 = (int *)(local_54 - iVar14);\n              if (local_54 - iVar14 <= (int)local_50) {\n                piVar10 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar10;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0));\n        }" { (expression_statement "local_48 = 1;" (assignment_expression "local_48 = 1" identifier = number_literal) ;) (do_statement "do {\n            if (*piVar10 == 0) {\n              if (1 < local_48) {\n                iVar6 = *piVar9;\n                piVar11 = piVar9 + 1;\n                do {\n                  iVar14 = *piVar11;\n                  if (iVar6 < iVar14) {\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + local_48 != piVar11);\n              }\n              local_48 = piVar10[5];\n              piVar9 = (int *)g_realloc_n(piVar9,local_48,4);\n              piVar10 = piVar9 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar11 = piVar10 + 1;\n                  *piVar10 = *piVar9;\n                  piVar10 = piVar11;\n                } while (piVar9 + local_48 != piVar11);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar6 = gtk_widget_get_visible(*piVar10);\n              if (iVar6 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar10,piVar10[9],&ret,0);\n              gVar8 = ret;\n              puVar7 = (undefined4 *)piVar10[4];\n              local_54 = ret;\n              if ((puVar7 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],&ret,0),\n                 local_54 = ret, ret <= gVar8)) {\n                local_54 = gVar8;\n              }\n              iVar6 = piVar10[2];\n              if (iVar6 == 0) {\n                iVar6 = local_48 - piVar10[1];\n              }\n              iVar14 = *(int *)(iVar3 + 0x1c);\n              if (iVar6 < 1) {\n                local_54 = local_54 + iVar14;\n              }\n              else {\n                iVar15 = 0;\n                piVar11 = piVar9 + piVar10[1];\n                do {\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + piVar10[1] + iVar6 != piVar11);\n                iVar13 = 1;\n                local_54 = iVar15 + local_54 + iVar14;\n                piVar9[piVar10[1]] = local_54;\n                if (iVar6 != 1) {\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }\n                iVar14 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar10 = (int *)(local_54 - iVar14);\n              if (local_54 - iVar14 <= (int)local_50) {\n                piVar10 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar10;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0));" do (compound_statement "{\n            if (*piVar10 == 0) {\n              if (1 < local_48) {\n                iVar6 = *piVar9;\n                piVar11 = piVar9 + 1;\n                do {\n                  iVar14 = *piVar11;\n                  if (iVar6 < iVar14) {\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + local_48 != piVar11);\n              }\n              local_48 = piVar10[5];\n              piVar9 = (int *)g_realloc_n(piVar9,local_48,4);\n              piVar10 = piVar9 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar11 = piVar10 + 1;\n                  *piVar10 = *piVar9;\n                  piVar10 = piVar11;\n                } while (piVar9 + local_48 != piVar11);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar6 = gtk_widget_get_visible(*piVar10);\n              if (iVar6 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar10,piVar10[9],&ret,0);\n              gVar8 = ret;\n              puVar7 = (undefined4 *)piVar10[4];\n              local_54 = ret;\n              if ((puVar7 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],&ret,0),\n                 local_54 = ret, ret <= gVar8)) {\n                local_54 = gVar8;\n              }\n              iVar6 = piVar10[2];\n              if (iVar6 == 0) {\n                iVar6 = local_48 - piVar10[1];\n              }\n              iVar14 = *(int *)(iVar3 + 0x1c);\n              if (iVar6 < 1) {\n                local_54 = local_54 + iVar14;\n              }\n              else {\n                iVar15 = 0;\n                piVar11 = piVar9 + piVar10[1];\n                do {\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + piVar10[1] + iVar6 != piVar11);\n                iVar13 = 1;\n                local_54 = iVar15 + local_54 + iVar14;\n                piVar9[piVar10[1]] = local_54;\n                if (iVar6 != 1) {\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }\n                iVar14 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar10 = (int *)(local_54 - iVar14);\n              if (local_54 - iVar14 <= (int)local_50) {\n                piVar10 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar10;\n            }\n          }" { (if_statement "if (*piVar10 == 0) {\n              if (1 < local_48) {\n                iVar6 = *piVar9;\n                piVar11 = piVar9 + 1;\n                do {\n                  iVar14 = *piVar11;\n                  if (iVar6 < iVar14) {\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + local_48 != piVar11);\n              }\n              local_48 = piVar10[5];\n              piVar9 = (int *)g_realloc_n(piVar9,local_48,4);\n              piVar10 = piVar9 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar11 = piVar10 + 1;\n                  *piVar10 = *piVar9;\n                  piVar10 = piVar11;\n                } while (piVar9 + local_48 != piVar11);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar6 = gtk_widget_get_visible(*piVar10);\n              if (iVar6 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar10,piVar10[9],&ret,0);\n              gVar8 = ret;\n              puVar7 = (undefined4 *)piVar10[4];\n              local_54 = ret;\n              if ((puVar7 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],&ret,0),\n                 local_54 = ret, ret <= gVar8)) {\n                local_54 = gVar8;\n              }\n              iVar6 = piVar10[2];\n              if (iVar6 == 0) {\n                iVar6 = local_48 - piVar10[1];\n              }\n              iVar14 = *(int *)(iVar3 + 0x1c);\n              if (iVar6 < 1) {\n                local_54 = local_54 + iVar14;\n              }\n              else {\n                iVar15 = 0;\n                piVar11 = piVar9 + piVar10[1];\n                do {\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + piVar10[1] + iVar6 != piVar11);\n                iVar13 = 1;\n                local_54 = iVar15 + local_54 + iVar14;\n                piVar9[piVar10[1]] = local_54;\n                if (iVar6 != 1) {\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }\n                iVar14 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar10 = (int *)(local_54 - iVar14);\n              if (local_54 - iVar14 <= (int)local_50) {\n                piVar10 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar10;\n            }" if (parenthesized_expression "(*piVar10 == 0)" ( (binary_expression "*piVar10 == 0" (pointer_expression "*piVar10" * identifier) == number_literal) )) (compound_statement "{\n              if (1 < local_48) {\n                iVar6 = *piVar9;\n                piVar11 = piVar9 + 1;\n                do {\n                  iVar14 = *piVar11;\n                  if (iVar6 < iVar14) {\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + local_48 != piVar11);\n              }\n              local_48 = piVar10[5];\n              piVar9 = (int *)g_realloc_n(piVar9,local_48,4);\n              piVar10 = piVar9 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar11 = piVar10 + 1;\n                  *piVar10 = *piVar9;\n                  piVar10 = piVar11;\n                } while (piVar9 + local_48 != piVar11);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }" { (if_statement "if (1 < local_48) {\n                iVar6 = *piVar9;\n                piVar11 = piVar9 + 1;\n                do {\n                  iVar14 = *piVar11;\n                  if (iVar6 < iVar14) {\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + local_48 != piVar11);\n              }" if (parenthesized_expression "(1 < local_48)" ( (binary_expression "1 < local_48" number_literal < identifier) )) (compound_statement "{\n                iVar6 = *piVar9;\n                piVar11 = piVar9 + 1;\n                do {\n                  iVar14 = *piVar11;\n                  if (iVar6 < iVar14) {\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + local_48 != piVar11);\n              }" { (expression_statement "iVar6 = *piVar9;" (assignment_expression "iVar6 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (expression_statement "piVar11 = piVar9 + 1;" (assignment_expression "piVar11 = piVar9 + 1" identifier = (binary_expression "piVar9 + 1" identifier + number_literal)) ;) (do_statement "do {\n                  iVar14 = *piVar11;\n                  if (iVar6 < iVar14) {\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + local_48 != piVar11);" do (compound_statement "{\n                  iVar14 = *piVar11;\n                  if (iVar6 < iVar14) {\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }\n                  piVar11 = piVar11 + 1;\n                }" { (expression_statement "iVar14 = *piVar11;" (assignment_expression "iVar14 = *piVar11" identifier = (pointer_expression "*piVar11" * identifier)) ;) (if_statement "if (iVar6 < iVar14) {\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }" if (parenthesized_expression "(iVar6 < iVar14)" ( (binary_expression "iVar6 < iVar14" identifier < identifier) )) (compound_statement "{\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }" { (expression_statement "*piVar9 = iVar14;" (assignment_expression "*piVar9 = iVar14" (pointer_expression "*piVar9" * identifier) = identifier) ;) (expression_statement "iVar6 = iVar14;" (assignment_expression "iVar6 = iVar14" identifier = identifier) ;) })) (expression_statement "piVar11 = piVar11 + 1;" (assignment_expression "piVar11 = piVar11 + 1" identifier = (binary_expression "piVar11 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar9 + local_48 != piVar11)" ( (binary_expression "piVar9 + local_48 != piVar11" (binary_expression "piVar9 + local_48" identifier + identifier) != identifier) )) ;) })) (expression_statement "local_48 = piVar10[5];" (assignment_expression "local_48 = piVar10[5]" identifier = (subscript_expression "piVar10[5]" identifier [ number_literal ])) ;) (expression_statement "piVar9 = (int *)g_realloc_n(piVar9,local_48,4);" (assignment_expression "piVar9 = (int *)g_realloc_n(piVar9,local_48,4)" identifier = (cast_expression "(int *)g_realloc_n(piVar9,local_48,4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "g_realloc_n(piVar9,local_48,4)" identifier (argument_list "(piVar9,local_48,4)" ( identifier , identifier , number_literal ))))) ;) (expression_statement "piVar10 = piVar9 + 1;" (assignment_expression "piVar10 = piVar9 + 1" identifier = (binary_expression "piVar9 + 1" identifier + number_literal)) ;) (if_statement "if (1 < local_48) {\n                do {\n                  piVar11 = piVar10 + 1;\n                  *piVar10 = *piVar9;\n                  piVar10 = piVar11;\n                } while (piVar9 + local_48 != piVar11);\n              }" if (parenthesized_expression "(1 < local_48)" ( (binary_expression "1 < local_48" number_literal < identifier) )) (compound_statement "{\n                do {\n                  piVar11 = piVar10 + 1;\n                  *piVar10 = *piVar9;\n                  piVar10 = piVar11;\n                } while (piVar9 + local_48 != piVar11);\n              }" { (do_statement "do {\n                  piVar11 = piVar10 + 1;\n                  *piVar10 = *piVar9;\n                  piVar10 = piVar11;\n                } while (piVar9 + local_48 != piVar11);" do (compound_statement "{\n                  piVar11 = piVar10 + 1;\n                  *piVar10 = *piVar9;\n                  piVar10 = piVar11;\n                }" { (expression_statement "piVar11 = piVar10 + 1;" (assignment_expression "piVar11 = piVar10 + 1" identifier = (binary_expression "piVar10 + 1" identifier + number_literal)) ;) (expression_statement "*piVar10 = *piVar9;" (assignment_expression "*piVar10 = *piVar9" (pointer_expression "*piVar10" * identifier) = (pointer_expression "*piVar9" * identifier)) ;) (expression_statement "piVar10 = piVar11;" (assignment_expression "piVar10 = piVar11" identifier = identifier) ;) }) while (parenthesized_expression "(piVar9 + local_48 != piVar11)" ( (binary_expression "piVar9 + local_48 != piVar11" (binary_expression "piVar9 + local_48" identifier + identifier) != identifier) )) ;) })) (labeled_statement "LAB_0004f400:\n              local_44 = (int *)local_44[1];" statement_identifier : (expression_statement "local_44 = (int *)local_44[1];" (assignment_expression "local_44 = (int *)local_44[1]" identifier = (cast_expression "(int *)local_44[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_44[1]" identifier [ number_literal ]))) ;)) }) (else_clause "else {\n              iVar6 = gtk_widget_get_visible(*piVar10);\n              if (iVar6 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar10,piVar10[9],&ret,0);\n              gVar8 = ret;\n              puVar7 = (undefined4 *)piVar10[4];\n              local_54 = ret;\n              if ((puVar7 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],&ret,0),\n                 local_54 = ret, ret <= gVar8)) {\n                local_54 = gVar8;\n              }\n              iVar6 = piVar10[2];\n              if (iVar6 == 0) {\n                iVar6 = local_48 - piVar10[1];\n              }\n              iVar14 = *(int *)(iVar3 + 0x1c);\n              if (iVar6 < 1) {\n                local_54 = local_54 + iVar14;\n              }\n              else {\n                iVar15 = 0;\n                piVar11 = piVar9 + piVar10[1];\n                do {\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + piVar10[1] + iVar6 != piVar11);\n                iVar13 = 1;\n                local_54 = iVar15 + local_54 + iVar14;\n                piVar9[piVar10[1]] = local_54;\n                if (iVar6 != 1) {\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }\n                iVar14 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar10 = (int *)(local_54 - iVar14);\n              if (local_54 - iVar14 <= (int)local_50) {\n                piVar10 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar10;\n            }" else (compound_statement "{\n              iVar6 = gtk_widget_get_visible(*piVar10);\n              if (iVar6 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar10,piVar10[9],&ret,0);\n              gVar8 = ret;\n              puVar7 = (undefined4 *)piVar10[4];\n              local_54 = ret;\n              if ((puVar7 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],&ret,0),\n                 local_54 = ret, ret <= gVar8)) {\n                local_54 = gVar8;\n              }\n              iVar6 = piVar10[2];\n              if (iVar6 == 0) {\n                iVar6 = local_48 - piVar10[1];\n              }\n              iVar14 = *(int *)(iVar3 + 0x1c);\n              if (iVar6 < 1) {\n                local_54 = local_54 + iVar14;\n              }\n              else {\n                iVar15 = 0;\n                piVar11 = piVar9 + piVar10[1];\n                do {\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + piVar10[1] + iVar6 != piVar11);\n                iVar13 = 1;\n                local_54 = iVar15 + local_54 + iVar14;\n                piVar9[piVar10[1]] = local_54;\n                if (iVar6 != 1) {\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }\n                iVar14 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar10 = (int *)(local_54 - iVar14);\n              if (local_54 - iVar14 <= (int)local_50) {\n                piVar10 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar10;\n            }" { (expression_statement "iVar6 = gtk_widget_get_visible(*piVar10);" (assignment_expression "iVar6 = gtk_widget_get_visible(*piVar10)" identifier = (call_expression "gtk_widget_get_visible(*piVar10)" identifier (argument_list "(*piVar10)" ( (pointer_expression "*piVar10" * identifier) )))) ;) (if_statement "if (iVar6 == 0) goto LAB_0004f400;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004f400;" goto statement_identifier ;)) (expression_statement "gtk_widget_get_preferred_height_for_width(*piVar10,piVar10[9],&ret,0);" (call_expression "gtk_widget_get_preferred_height_for_width(*piVar10,piVar10[9],&ret,0)" identifier (argument_list "(*piVar10,piVar10[9],&ret,0)" ( (pointer_expression "*piVar10" * identifier) , (subscript_expression "piVar10[9]" identifier [ number_literal ]) , (pointer_expression "&ret" & identifier) , number_literal ))) ;) (expression_statement "gVar8 = ret;" (assignment_expression "gVar8 = ret" identifier = identifier) ;) (expression_statement "puVar7 = (undefined4 *)piVar10[4];" (assignment_expression "puVar7 = (undefined4 *)piVar10[4]" identifier = (cast_expression "(undefined4 *)piVar10[4]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar10[4]" identifier [ number_literal ]))) ;) (expression_statement "local_54 = ret;" (assignment_expression "local_54 = ret" identifier = identifier) ;) (if_statement "if ((puVar7 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],&ret,0),\n                 local_54 = ret, ret <= gVar8)) {\n                local_54 = gVar8;\n              }" if (parenthesized_expression "((puVar7 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],&ret,0),\n                 local_54 = ret, ret <= gVar8))" ( (binary_expression "(puVar7 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],&ret,0),\n                 local_54 = ret, ret <= gVar8)" (parenthesized_expression "(puVar7 != (undefined4 *)0x0)" ( (binary_expression "puVar7 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],&ret,0),\n                 local_54 = ret, ret <= gVar8)" ( (comma_expression "gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],&ret,0),\n                 local_54 = ret, ret <= gVar8" (call_expression "gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],&ret,0)" identifier (argument_list "(*puVar7,puVar7[9],&ret,0)" ( (pointer_expression "*puVar7" * identifier) , (subscript_expression "puVar7[9]" identifier [ number_literal ]) , (pointer_expression "&ret" & identifier) , number_literal ))) , (comma_expression "local_54 = ret, ret <= gVar8" (assignment_expression "local_54 = ret" identifier = identifier) , (binary_expression "ret <= gVar8" identifier <= identifier))) ))) )) (compound_statement "{\n                local_54 = gVar8;\n              }" { (expression_statement "local_54 = gVar8;" (assignment_expression "local_54 = gVar8" identifier = identifier) ;) })) (expression_statement "iVar6 = piVar10[2];" (assignment_expression "iVar6 = piVar10[2]" identifier = (subscript_expression "piVar10[2]" identifier [ number_literal ])) ;) (if_statement "if (iVar6 == 0) {\n                iVar6 = local_48 - piVar10[1];\n              }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n                iVar6 = local_48 - piVar10[1];\n              }" { (expression_statement "iVar6 = local_48 - piVar10[1];" (assignment_expression "iVar6 = local_48 - piVar10[1]" identifier = (binary_expression "local_48 - piVar10[1]" identifier - (subscript_expression "piVar10[1]" identifier [ number_literal ]))) ;) })) (expression_statement "iVar14 = *(int *)(iVar3 + 0x1c);" (assignment_expression "iVar14 = *(int *)(iVar3 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar3 + 0x1c)" * (cast_expression "(int *)(iVar3 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x1c)" ( (binary_expression "iVar3 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (iVar6 < 1) {\n                local_54 = local_54 + iVar14;\n              }\n              else {\n                iVar15 = 0;\n                piVar11 = piVar9 + piVar10[1];\n                do {\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + piVar10[1] + iVar6 != piVar11);\n                iVar13 = 1;\n                local_54 = iVar15 + local_54 + iVar14;\n                piVar9[piVar10[1]] = local_54;\n                if (iVar6 != 1) {\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }\n                iVar14 = *(int *)(iVar3 + 0x1c);\n              }" if (parenthesized_expression "(iVar6 < 1)" ( (binary_expression "iVar6 < 1" identifier < number_literal) )) (compound_statement "{\n                local_54 = local_54 + iVar14;\n              }" { (expression_statement "local_54 = local_54 + iVar14;" (assignment_expression "local_54 = local_54 + iVar14" identifier = (binary_expression "local_54 + iVar14" identifier + identifier)) ;) }) (else_clause "else {\n                iVar15 = 0;\n                piVar11 = piVar9 + piVar10[1];\n                do {\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + piVar10[1] + iVar6 != piVar11);\n                iVar13 = 1;\n                local_54 = iVar15 + local_54 + iVar14;\n                piVar9[piVar10[1]] = local_54;\n                if (iVar6 != 1) {\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }\n                iVar14 = *(int *)(iVar3 + 0x1c);\n              }" else (compound_statement "{\n                iVar15 = 0;\n                piVar11 = piVar9 + piVar10[1];\n                do {\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + piVar10[1] + iVar6 != piVar11);\n                iVar13 = 1;\n                local_54 = iVar15 + local_54 + iVar14;\n                piVar9[piVar10[1]] = local_54;\n                if (iVar6 != 1) {\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }\n                iVar14 = *(int *)(iVar3 + 0x1c);\n              }" { (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" identifier = number_literal) ;) (expression_statement "piVar11 = piVar9 + piVar10[1];" (assignment_expression "piVar11 = piVar9 + piVar10[1]" identifier = (binary_expression "piVar9 + piVar10[1]" identifier + (subscript_expression "piVar10[1]" identifier [ number_literal ]))) ;) (do_statement "do {\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + piVar10[1] + iVar6 != piVar11);" do (compound_statement "{\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                }" { (if_statement "if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }" if (parenthesized_expression "(iVar15 < *piVar11)" ( (binary_expression "iVar15 < *piVar11" identifier < (pointer_expression "*piVar11" * identifier)) )) (compound_statement "{\n                    iVar15 = *piVar11;\n                  }" { (expression_statement "iVar15 = *piVar11;" (assignment_expression "iVar15 = *piVar11" identifier = (pointer_expression "*piVar11" * identifier)) ;) })) (expression_statement "piVar11 = piVar11 + 1;" (assignment_expression "piVar11 = piVar11 + 1" identifier = (binary_expression "piVar11 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar9 + piVar10[1] + iVar6 != piVar11)" ( (binary_expression "piVar9 + piVar10[1] + iVar6 != piVar11" (binary_expression "piVar9 + piVar10[1] + iVar6" (binary_expression "piVar9 + piVar10[1]" identifier + (subscript_expression "piVar10[1]" identifier [ number_literal ])) + identifier) != identifier) )) ;) (expression_statement "iVar13 = 1;" (assignment_expression "iVar13 = 1" identifier = number_literal) ;) (expression_statement "local_54 = iVar15 + local_54 + iVar14;" (assignment_expression "local_54 = iVar15 + local_54 + iVar14" identifier = (binary_expression "iVar15 + local_54 + iVar14" (binary_expression "iVar15 + local_54" identifier + identifier) + identifier)) ;) (expression_statement "piVar9[piVar10[1]] = local_54;" (assignment_expression "piVar9[piVar10[1]] = local_54" (subscript_expression "piVar9[piVar10[1]]" identifier [ (subscript_expression "piVar10[1]" identifier [ number_literal ]) ]) = identifier) ;) (if_statement "if (iVar6 != 1) {\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }" if (parenthesized_expression "(iVar6 != 1)" ( (binary_expression "iVar6 != 1" identifier != number_literal) )) (compound_statement "{\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }" { (do_statement "do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);" do (compound_statement "{\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  }" { (expression_statement "iVar14 = piVar10[1] + iVar13;" (assignment_expression "iVar14 = piVar10[1] + iVar13" identifier = (binary_expression "piVar10[1] + iVar13" (subscript_expression "piVar10[1]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;) (expression_statement "piVar9[iVar14] = local_54;" (assignment_expression "piVar9[iVar14] = local_54" (subscript_expression "piVar9[iVar14]" identifier [ identifier ]) = identifier) ;) }) while (parenthesized_expression "(iVar6 != iVar13)" ( (binary_expression "iVar6 != iVar13" identifier != identifier) )) ;) })) (expression_statement "iVar14 = *(int *)(iVar3 + 0x1c);" (assignment_expression "iVar14 = *(int *)(iVar3 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar3 + 0x1c)" * (cast_expression "(int *)(iVar3 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x1c)" ( (binary_expression "iVar3 + 0x1c" identifier + number_literal) ))))) ;) }))) (expression_statement "piVar10 = (int *)(local_54 - iVar14);" (assignment_expression "piVar10 = (int *)(local_54 - iVar14)" identifier = (cast_expression "(int *)(local_54 - iVar14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_54 - iVar14)" ( (binary_expression "local_54 - iVar14" identifier - identifier) )))) ;) (if_statement "if (local_54 - iVar14 <= (int)local_50) {\n                piVar10 = local_50;\n              }" if (parenthesized_expression "(local_54 - iVar14 <= (int)local_50)" ( (binary_expression "local_54 - iVar14 <= (int)local_50" (binary_expression "local_54 - iVar14" identifier - identifier) <= (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                piVar10 = local_50;\n              }" { (expression_statement "piVar10 = local_50;" (assignment_expression "piVar10 = local_50" identifier = identifier) ;) })) (expression_statement "local_44 = (int *)local_44[1];" (assignment_expression "local_44 = (int *)local_44[1]" identifier = (cast_expression "(int *)local_44[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_44[1]" identifier [ number_literal ]))) ;) (expression_statement "local_50 = piVar10;" (assignment_expression "local_50 = piVar10" identifier = identifier) ;) }))) }) while (parenthesized_expression "((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0))" ( (binary_expression "(local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0)" (parenthesized_expression "(local_44 != (int *)0x0)" ( (binary_expression "local_44 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(piVar10 = (int *)*local_44, piVar10 != (int *)0x0)" ( (comma_expression "piVar10 = (int *)*local_44, piVar10 != (int *)0x0" (assignment_expression "piVar10 = (int *)*local_44" identifier = (cast_expression "(int *)*local_44" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_44" * identifier))) , (binary_expression "piVar10 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) ;) })) (expression_statement "uVar5 = g_type_check_instance_cast(iVar3,uVar4);" (assignment_expression "uVar5 = g_type_check_instance_cast(iVar3,uVar4)" identifier = (call_expression "g_type_check_instance_cast(iVar3,uVar4)" identifier (argument_list "(iVar3,uVar4)" ( identifier , identifier )))) ;) (expression_statement "iVar6 = gtk_container_get_border_width(uVar5);" (assignment_expression "iVar6 = gtk_container_get_border_width(uVar5)" identifier = (call_expression "gtk_container_get_border_width(uVar5)" identifier (argument_list "(uVar5)" ( identifier )))) ;) (expression_statement "g_free(piVar9);" (call_expression "g_free(piVar9)" identifier (argument_list "(piVar9)" ( identifier ))) ;) (expression_statement "*min = (int)local_50 + iVar6 * 2;" (assignment_expression "*min = (int)local_50 + iVar6 * 2" (pointer_expression "*min" * identifier) = (binary_expression "(int)local_50 + iVar6 * 2" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar6 * 2" identifier * number_literal))) ;) })) (if_statement "if (nat != (gint *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar9 = (int *)g_malloc(4);\n        *piVar9 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar10 == 0) {\n              if (1 < local_48) {\n                iVar6 = *piVar9;\n                piVar11 = piVar9 + 1;\n                do {\n                  iVar14 = *piVar11;\n                  if (iVar6 < iVar14) {\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar11 != piVar9 + local_48);\n              }\n              local_48 = piVar10[5];\n              piVar9 = (int *)g_realloc_n(piVar9,local_48,4);\n              piVar10 = piVar9 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar11 = piVar10 + 1;\n                  *piVar10 = *piVar9;\n                  piVar10 = piVar11;\n                } while (piVar9 + local_48 != piVar11);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar6 = gtk_widget_get_visible(*piVar10);\n              if (iVar6 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar10,piVar10[9],0,&ret);\n              gVar8 = ret;\n              puVar7 = (undefined4 *)piVar10[4];\n              local_54 = ret;\n              if ((puVar7 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],0,&ret),\n                 local_54 = ret, ret <= gVar8)) {\n                local_54 = gVar8;\n              }\n              iVar6 = piVar10[2];\n              if (iVar6 == 0) {\n                iVar6 = local_48 - piVar10[1];\n              }\n              iVar14 = *(int *)(iVar3 + 0x1c);\n              if (iVar6 < 1) {\n                local_54 = local_54 + iVar14;\n              }\n              else {\n                iVar15 = 0;\n                piVar11 = piVar9 + piVar10[1];\n                do {\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + piVar10[1] + iVar6 != piVar11);\n                iVar13 = 1;\n                local_54 = iVar15 + local_54 + iVar14;\n                piVar9[piVar10[1]] = local_54;\n                if (iVar6 != 1) {\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }\n                iVar14 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar10 = (int *)(local_54 - iVar14);\n              if (local_54 - iVar14 <= (int)local_50) {\n                piVar10 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar10;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0));\n        }\n        uVar4 = g_type_check_instance_cast(iVar3,uVar4);\n        iVar3 = gtk_container_get_border_width(uVar4);\n        g_free(piVar9);\n        *nat = (int)local_50 + iVar3 * 2;\n      }" if (parenthesized_expression "(nat != (gint *)0x0)" ( (binary_expression "nat != (gint *)0x0" identifier != (cast_expression "(gint *)0x0" ( (type_descriptor "gint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar9 = (int *)g_malloc(4);\n        *piVar9 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar10 == 0) {\n              if (1 < local_48) {\n                iVar6 = *piVar9;\n                piVar11 = piVar9 + 1;\n                do {\n                  iVar14 = *piVar11;\n                  if (iVar6 < iVar14) {\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar11 != piVar9 + local_48);\n              }\n              local_48 = piVar10[5];\n              piVar9 = (int *)g_realloc_n(piVar9,local_48,4);\n              piVar10 = piVar9 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar11 = piVar10 + 1;\n                  *piVar10 = *piVar9;\n                  piVar10 = piVar11;\n                } while (piVar9 + local_48 != piVar11);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar6 = gtk_widget_get_visible(*piVar10);\n              if (iVar6 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar10,piVar10[9],0,&ret);\n              gVar8 = ret;\n              puVar7 = (undefined4 *)piVar10[4];\n              local_54 = ret;\n              if ((puVar7 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],0,&ret),\n                 local_54 = ret, ret <= gVar8)) {\n                local_54 = gVar8;\n              }\n              iVar6 = piVar10[2];\n              if (iVar6 == 0) {\n                iVar6 = local_48 - piVar10[1];\n              }\n              iVar14 = *(int *)(iVar3 + 0x1c);\n              if (iVar6 < 1) {\n                local_54 = local_54 + iVar14;\n              }\n              else {\n                iVar15 = 0;\n                piVar11 = piVar9 + piVar10[1];\n                do {\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + piVar10[1] + iVar6 != piVar11);\n                iVar13 = 1;\n                local_54 = iVar15 + local_54 + iVar14;\n                piVar9[piVar10[1]] = local_54;\n                if (iVar6 != 1) {\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }\n                iVar14 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar10 = (int *)(local_54 - iVar14);\n              if (local_54 - iVar14 <= (int)local_50) {\n                piVar10 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar10;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0));\n        }\n        uVar4 = g_type_check_instance_cast(iVar3,uVar4);\n        iVar3 = gtk_container_get_border_width(uVar4);\n        g_free(piVar9);\n        *nat = (int)local_50 + iVar3 * 2;\n      }" { (expression_statement "local_50 = *(int **)(iVar3 + 0x1c);" (assignment_expression "local_50 = *(int **)(iVar3 + 0x1c)" identifier = (pointer_expression "*(int **)(iVar3 + 0x1c)" * (cast_expression "(int **)(iVar3 + 0x1c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x1c)" ( (binary_expression "iVar3 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "piVar9 = (int *)g_malloc(4);" (assignment_expression "piVar9 = (int *)g_malloc(4)" identifier = (cast_expression "(int *)g_malloc(4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "g_malloc(4)" identifier (argument_list "(4)" ( number_literal ))))) ;) (expression_statement "*piVar9 = 0;" (assignment_expression "*piVar9 = 0" (pointer_expression "*piVar9" * identifier) = number_literal) ;) (expression_statement "local_44 = *(int **)(iVar3 + 0x14);" (assignment_expression "local_44 = *(int **)(iVar3 + 0x14)" identifier = (pointer_expression "*(int **)(iVar3 + 0x14)" * (cast_expression "(int **)(iVar3 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x14)" ( (binary_expression "iVar3 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar10 == 0) {\n              if (1 < local_48) {\n                iVar6 = *piVar9;\n                piVar11 = piVar9 + 1;\n                do {\n                  iVar14 = *piVar11;\n                  if (iVar6 < iVar14) {\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar11 != piVar9 + local_48);\n              }\n              local_48 = piVar10[5];\n              piVar9 = (int *)g_realloc_n(piVar9,local_48,4);\n              piVar10 = piVar9 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar11 = piVar10 + 1;\n                  *piVar10 = *piVar9;\n                  piVar10 = piVar11;\n                } while (piVar9 + local_48 != piVar11);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar6 = gtk_widget_get_visible(*piVar10);\n              if (iVar6 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar10,piVar10[9],0,&ret);\n              gVar8 = ret;\n              puVar7 = (undefined4 *)piVar10[4];\n              local_54 = ret;\n              if ((puVar7 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],0,&ret),\n                 local_54 = ret, ret <= gVar8)) {\n                local_54 = gVar8;\n              }\n              iVar6 = piVar10[2];\n              if (iVar6 == 0) {\n                iVar6 = local_48 - piVar10[1];\n              }\n              iVar14 = *(int *)(iVar3 + 0x1c);\n              if (iVar6 < 1) {\n                local_54 = local_54 + iVar14;\n              }\n              else {\n                iVar15 = 0;\n                piVar11 = piVar9 + piVar10[1];\n                do {\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + piVar10[1] + iVar6 != piVar11);\n                iVar13 = 1;\n                local_54 = iVar15 + local_54 + iVar14;\n                piVar9[piVar10[1]] = local_54;\n                if (iVar6 != 1) {\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }\n                iVar14 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar10 = (int *)(local_54 - iVar14);\n              if (local_54 - iVar14 <= (int)local_50) {\n                piVar10 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar10;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0));\n        }" if (parenthesized_expression "((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0))" ( (binary_expression "(local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0)" (parenthesized_expression "(local_44 != (int *)0x0)" ( (binary_expression "local_44 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(piVar10 = (int *)*local_44, piVar10 != (int *)0x0)" ( (comma_expression "piVar10 = (int *)*local_44, piVar10 != (int *)0x0" (assignment_expression "piVar10 = (int *)*local_44" identifier = (cast_expression "(int *)*local_44" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_44" * identifier))) , (binary_expression "piVar10 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n          local_48 = 1;\n          do {\n            if (*piVar10 == 0) {\n              if (1 < local_48) {\n                iVar6 = *piVar9;\n                piVar11 = piVar9 + 1;\n                do {\n                  iVar14 = *piVar11;\n                  if (iVar6 < iVar14) {\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar11 != piVar9 + local_48);\n              }\n              local_48 = piVar10[5];\n              piVar9 = (int *)g_realloc_n(piVar9,local_48,4);\n              piVar10 = piVar9 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar11 = piVar10 + 1;\n                  *piVar10 = *piVar9;\n                  piVar10 = piVar11;\n                } while (piVar9 + local_48 != piVar11);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar6 = gtk_widget_get_visible(*piVar10);\n              if (iVar6 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar10,piVar10[9],0,&ret);\n              gVar8 = ret;\n              puVar7 = (undefined4 *)piVar10[4];\n              local_54 = ret;\n              if ((puVar7 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],0,&ret),\n                 local_54 = ret, ret <= gVar8)) {\n                local_54 = gVar8;\n              }\n              iVar6 = piVar10[2];\n              if (iVar6 == 0) {\n                iVar6 = local_48 - piVar10[1];\n              }\n              iVar14 = *(int *)(iVar3 + 0x1c);\n              if (iVar6 < 1) {\n                local_54 = local_54 + iVar14;\n              }\n              else {\n                iVar15 = 0;\n                piVar11 = piVar9 + piVar10[1];\n                do {\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + piVar10[1] + iVar6 != piVar11);\n                iVar13 = 1;\n                local_54 = iVar15 + local_54 + iVar14;\n                piVar9[piVar10[1]] = local_54;\n                if (iVar6 != 1) {\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }\n                iVar14 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar10 = (int *)(local_54 - iVar14);\n              if (local_54 - iVar14 <= (int)local_50) {\n                piVar10 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar10;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0));\n        }" { (expression_statement "local_48 = 1;" (assignment_expression "local_48 = 1" identifier = number_literal) ;) (do_statement "do {\n            if (*piVar10 == 0) {\n              if (1 < local_48) {\n                iVar6 = *piVar9;\n                piVar11 = piVar9 + 1;\n                do {\n                  iVar14 = *piVar11;\n                  if (iVar6 < iVar14) {\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar11 != piVar9 + local_48);\n              }\n              local_48 = piVar10[5];\n              piVar9 = (int *)g_realloc_n(piVar9,local_48,4);\n              piVar10 = piVar9 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar11 = piVar10 + 1;\n                  *piVar10 = *piVar9;\n                  piVar10 = piVar11;\n                } while (piVar9 + local_48 != piVar11);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar6 = gtk_widget_get_visible(*piVar10);\n              if (iVar6 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar10,piVar10[9],0,&ret);\n              gVar8 = ret;\n              puVar7 = (undefined4 *)piVar10[4];\n              local_54 = ret;\n              if ((puVar7 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],0,&ret),\n                 local_54 = ret, ret <= gVar8)) {\n                local_54 = gVar8;\n              }\n              iVar6 = piVar10[2];\n              if (iVar6 == 0) {\n                iVar6 = local_48 - piVar10[1];\n              }\n              iVar14 = *(int *)(iVar3 + 0x1c);\n              if (iVar6 < 1) {\n                local_54 = local_54 + iVar14;\n              }\n              else {\n                iVar15 = 0;\n                piVar11 = piVar9 + piVar10[1];\n                do {\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + piVar10[1] + iVar6 != piVar11);\n                iVar13 = 1;\n                local_54 = iVar15 + local_54 + iVar14;\n                piVar9[piVar10[1]] = local_54;\n                if (iVar6 != 1) {\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }\n                iVar14 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar10 = (int *)(local_54 - iVar14);\n              if (local_54 - iVar14 <= (int)local_50) {\n                piVar10 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar10;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0));" do (compound_statement "{\n            if (*piVar10 == 0) {\n              if (1 < local_48) {\n                iVar6 = *piVar9;\n                piVar11 = piVar9 + 1;\n                do {\n                  iVar14 = *piVar11;\n                  if (iVar6 < iVar14) {\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar11 != piVar9 + local_48);\n              }\n              local_48 = piVar10[5];\n              piVar9 = (int *)g_realloc_n(piVar9,local_48,4);\n              piVar10 = piVar9 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar11 = piVar10 + 1;\n                  *piVar10 = *piVar9;\n                  piVar10 = piVar11;\n                } while (piVar9 + local_48 != piVar11);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar6 = gtk_widget_get_visible(*piVar10);\n              if (iVar6 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar10,piVar10[9],0,&ret);\n              gVar8 = ret;\n              puVar7 = (undefined4 *)piVar10[4];\n              local_54 = ret;\n              if ((puVar7 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],0,&ret),\n                 local_54 = ret, ret <= gVar8)) {\n                local_54 = gVar8;\n              }\n              iVar6 = piVar10[2];\n              if (iVar6 == 0) {\n                iVar6 = local_48 - piVar10[1];\n              }\n              iVar14 = *(int *)(iVar3 + 0x1c);\n              if (iVar6 < 1) {\n                local_54 = local_54 + iVar14;\n              }\n              else {\n                iVar15 = 0;\n                piVar11 = piVar9 + piVar10[1];\n                do {\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + piVar10[1] + iVar6 != piVar11);\n                iVar13 = 1;\n                local_54 = iVar15 + local_54 + iVar14;\n                piVar9[piVar10[1]] = local_54;\n                if (iVar6 != 1) {\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }\n                iVar14 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar10 = (int *)(local_54 - iVar14);\n              if (local_54 - iVar14 <= (int)local_50) {\n                piVar10 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar10;\n            }\n          }" { (if_statement "if (*piVar10 == 0) {\n              if (1 < local_48) {\n                iVar6 = *piVar9;\n                piVar11 = piVar9 + 1;\n                do {\n                  iVar14 = *piVar11;\n                  if (iVar6 < iVar14) {\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar11 != piVar9 + local_48);\n              }\n              local_48 = piVar10[5];\n              piVar9 = (int *)g_realloc_n(piVar9,local_48,4);\n              piVar10 = piVar9 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar11 = piVar10 + 1;\n                  *piVar10 = *piVar9;\n                  piVar10 = piVar11;\n                } while (piVar9 + local_48 != piVar11);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar6 = gtk_widget_get_visible(*piVar10);\n              if (iVar6 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar10,piVar10[9],0,&ret);\n              gVar8 = ret;\n              puVar7 = (undefined4 *)piVar10[4];\n              local_54 = ret;\n              if ((puVar7 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],0,&ret),\n                 local_54 = ret, ret <= gVar8)) {\n                local_54 = gVar8;\n              }\n              iVar6 = piVar10[2];\n              if (iVar6 == 0) {\n                iVar6 = local_48 - piVar10[1];\n              }\n              iVar14 = *(int *)(iVar3 + 0x1c);\n              if (iVar6 < 1) {\n                local_54 = local_54 + iVar14;\n              }\n              else {\n                iVar15 = 0;\n                piVar11 = piVar9 + piVar10[1];\n                do {\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + piVar10[1] + iVar6 != piVar11);\n                iVar13 = 1;\n                local_54 = iVar15 + local_54 + iVar14;\n                piVar9[piVar10[1]] = local_54;\n                if (iVar6 != 1) {\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }\n                iVar14 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar10 = (int *)(local_54 - iVar14);\n              if (local_54 - iVar14 <= (int)local_50) {\n                piVar10 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar10;\n            }" if (parenthesized_expression "(*piVar10 == 0)" ( (binary_expression "*piVar10 == 0" (pointer_expression "*piVar10" * identifier) == number_literal) )) (compound_statement "{\n              if (1 < local_48) {\n                iVar6 = *piVar9;\n                piVar11 = piVar9 + 1;\n                do {\n                  iVar14 = *piVar11;\n                  if (iVar6 < iVar14) {\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar11 != piVar9 + local_48);\n              }\n              local_48 = piVar10[5];\n              piVar9 = (int *)g_realloc_n(piVar9,local_48,4);\n              piVar10 = piVar9 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar11 = piVar10 + 1;\n                  *piVar10 = *piVar9;\n                  piVar10 = piVar11;\n                } while (piVar9 + local_48 != piVar11);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }" { (if_statement "if (1 < local_48) {\n                iVar6 = *piVar9;\n                piVar11 = piVar9 + 1;\n                do {\n                  iVar14 = *piVar11;\n                  if (iVar6 < iVar14) {\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar11 != piVar9 + local_48);\n              }" if (parenthesized_expression "(1 < local_48)" ( (binary_expression "1 < local_48" number_literal < identifier) )) (compound_statement "{\n                iVar6 = *piVar9;\n                piVar11 = piVar9 + 1;\n                do {\n                  iVar14 = *piVar11;\n                  if (iVar6 < iVar14) {\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar11 != piVar9 + local_48);\n              }" { (expression_statement "iVar6 = *piVar9;" (assignment_expression "iVar6 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (expression_statement "piVar11 = piVar9 + 1;" (assignment_expression "piVar11 = piVar9 + 1" identifier = (binary_expression "piVar9 + 1" identifier + number_literal)) ;) (do_statement "do {\n                  iVar14 = *piVar11;\n                  if (iVar6 < iVar14) {\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar11 != piVar9 + local_48);" do (compound_statement "{\n                  iVar14 = *piVar11;\n                  if (iVar6 < iVar14) {\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }\n                  piVar11 = piVar11 + 1;\n                }" { (expression_statement "iVar14 = *piVar11;" (assignment_expression "iVar14 = *piVar11" identifier = (pointer_expression "*piVar11" * identifier)) ;) (if_statement "if (iVar6 < iVar14) {\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }" if (parenthesized_expression "(iVar6 < iVar14)" ( (binary_expression "iVar6 < iVar14" identifier < identifier) )) (compound_statement "{\n                    *piVar9 = iVar14;\n                    iVar6 = iVar14;\n                  }" { (expression_statement "*piVar9 = iVar14;" (assignment_expression "*piVar9 = iVar14" (pointer_expression "*piVar9" * identifier) = identifier) ;) (expression_statement "iVar6 = iVar14;" (assignment_expression "iVar6 = iVar14" identifier = identifier) ;) })) (expression_statement "piVar11 = piVar11 + 1;" (assignment_expression "piVar11 = piVar11 + 1" identifier = (binary_expression "piVar11 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar11 != piVar9 + local_48)" ( (binary_expression "piVar11 != piVar9 + local_48" identifier != (binary_expression "piVar9 + local_48" identifier + identifier)) )) ;) })) (expression_statement "local_48 = piVar10[5];" (assignment_expression "local_48 = piVar10[5]" identifier = (subscript_expression "piVar10[5]" identifier [ number_literal ])) ;) (expression_statement "piVar9 = (int *)g_realloc_n(piVar9,local_48,4);" (assignment_expression "piVar9 = (int *)g_realloc_n(piVar9,local_48,4)" identifier = (cast_expression "(int *)g_realloc_n(piVar9,local_48,4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "g_realloc_n(piVar9,local_48,4)" identifier (argument_list "(piVar9,local_48,4)" ( identifier , identifier , number_literal ))))) ;) (expression_statement "piVar10 = piVar9 + 1;" (assignment_expression "piVar10 = piVar9 + 1" identifier = (binary_expression "piVar9 + 1" identifier + number_literal)) ;) (if_statement "if (1 < local_48) {\n                do {\n                  piVar11 = piVar10 + 1;\n                  *piVar10 = *piVar9;\n                  piVar10 = piVar11;\n                } while (piVar9 + local_48 != piVar11);\n              }" if (parenthesized_expression "(1 < local_48)" ( (binary_expression "1 < local_48" number_literal < identifier) )) (compound_statement "{\n                do {\n                  piVar11 = piVar10 + 1;\n                  *piVar10 = *piVar9;\n                  piVar10 = piVar11;\n                } while (piVar9 + local_48 != piVar11);\n              }" { (do_statement "do {\n                  piVar11 = piVar10 + 1;\n                  *piVar10 = *piVar9;\n                  piVar10 = piVar11;\n                } while (piVar9 + local_48 != piVar11);" do (compound_statement "{\n                  piVar11 = piVar10 + 1;\n                  *piVar10 = *piVar9;\n                  piVar10 = piVar11;\n                }" { (expression_statement "piVar11 = piVar10 + 1;" (assignment_expression "piVar11 = piVar10 + 1" identifier = (binary_expression "piVar10 + 1" identifier + number_literal)) ;) (expression_statement "*piVar10 = *piVar9;" (assignment_expression "*piVar10 = *piVar9" (pointer_expression "*piVar10" * identifier) = (pointer_expression "*piVar9" * identifier)) ;) (expression_statement "piVar10 = piVar11;" (assignment_expression "piVar10 = piVar11" identifier = identifier) ;) }) while (parenthesized_expression "(piVar9 + local_48 != piVar11)" ( (binary_expression "piVar9 + local_48 != piVar11" (binary_expression "piVar9 + local_48" identifier + identifier) != identifier) )) ;) })) (labeled_statement "LAB_0004f5b8:\n              local_44 = (int *)local_44[1];" statement_identifier : (expression_statement "local_44 = (int *)local_44[1];" (assignment_expression "local_44 = (int *)local_44[1]" identifier = (cast_expression "(int *)local_44[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_44[1]" identifier [ number_literal ]))) ;)) }) (else_clause "else {\n              iVar6 = gtk_widget_get_visible(*piVar10);\n              if (iVar6 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar10,piVar10[9],0,&ret);\n              gVar8 = ret;\n              puVar7 = (undefined4 *)piVar10[4];\n              local_54 = ret;\n              if ((puVar7 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],0,&ret),\n                 local_54 = ret, ret <= gVar8)) {\n                local_54 = gVar8;\n              }\n              iVar6 = piVar10[2];\n              if (iVar6 == 0) {\n                iVar6 = local_48 - piVar10[1];\n              }\n              iVar14 = *(int *)(iVar3 + 0x1c);\n              if (iVar6 < 1) {\n                local_54 = local_54 + iVar14;\n              }\n              else {\n                iVar15 = 0;\n                piVar11 = piVar9 + piVar10[1];\n                do {\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + piVar10[1] + iVar6 != piVar11);\n                iVar13 = 1;\n                local_54 = iVar15 + local_54 + iVar14;\n                piVar9[piVar10[1]] = local_54;\n                if (iVar6 != 1) {\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }\n                iVar14 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar10 = (int *)(local_54 - iVar14);\n              if (local_54 - iVar14 <= (int)local_50) {\n                piVar10 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar10;\n            }" else (compound_statement "{\n              iVar6 = gtk_widget_get_visible(*piVar10);\n              if (iVar6 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar10,piVar10[9],0,&ret);\n              gVar8 = ret;\n              puVar7 = (undefined4 *)piVar10[4];\n              local_54 = ret;\n              if ((puVar7 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],0,&ret),\n                 local_54 = ret, ret <= gVar8)) {\n                local_54 = gVar8;\n              }\n              iVar6 = piVar10[2];\n              if (iVar6 == 0) {\n                iVar6 = local_48 - piVar10[1];\n              }\n              iVar14 = *(int *)(iVar3 + 0x1c);\n              if (iVar6 < 1) {\n                local_54 = local_54 + iVar14;\n              }\n              else {\n                iVar15 = 0;\n                piVar11 = piVar9 + piVar10[1];\n                do {\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + piVar10[1] + iVar6 != piVar11);\n                iVar13 = 1;\n                local_54 = iVar15 + local_54 + iVar14;\n                piVar9[piVar10[1]] = local_54;\n                if (iVar6 != 1) {\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }\n                iVar14 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar10 = (int *)(local_54 - iVar14);\n              if (local_54 - iVar14 <= (int)local_50) {\n                piVar10 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar10;\n            }" { (expression_statement "iVar6 = gtk_widget_get_visible(*piVar10);" (assignment_expression "iVar6 = gtk_widget_get_visible(*piVar10)" identifier = (call_expression "gtk_widget_get_visible(*piVar10)" identifier (argument_list "(*piVar10)" ( (pointer_expression "*piVar10" * identifier) )))) ;) (if_statement "if (iVar6 == 0) goto LAB_0004f5b8;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004f5b8;" goto statement_identifier ;)) (expression_statement "gtk_widget_get_preferred_height_for_width(*piVar10,piVar10[9],0,&ret);" (call_expression "gtk_widget_get_preferred_height_for_width(*piVar10,piVar10[9],0,&ret)" identifier (argument_list "(*piVar10,piVar10[9],0,&ret)" ( (pointer_expression "*piVar10" * identifier) , (subscript_expression "piVar10[9]" identifier [ number_literal ]) , number_literal , (pointer_expression "&ret" & identifier) ))) ;) (expression_statement "gVar8 = ret;" (assignment_expression "gVar8 = ret" identifier = identifier) ;) (expression_statement "puVar7 = (undefined4 *)piVar10[4];" (assignment_expression "puVar7 = (undefined4 *)piVar10[4]" identifier = (cast_expression "(undefined4 *)piVar10[4]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar10[4]" identifier [ number_literal ]))) ;) (expression_statement "local_54 = ret;" (assignment_expression "local_54 = ret" identifier = identifier) ;) (if_statement "if ((puVar7 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],0,&ret),\n                 local_54 = ret, ret <= gVar8)) {\n                local_54 = gVar8;\n              }" if (parenthesized_expression "((puVar7 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],0,&ret),\n                 local_54 = ret, ret <= gVar8))" ( (binary_expression "(puVar7 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],0,&ret),\n                 local_54 = ret, ret <= gVar8)" (parenthesized_expression "(puVar7 != (undefined4 *)0x0)" ( (binary_expression "puVar7 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],0,&ret),\n                 local_54 = ret, ret <= gVar8)" ( (comma_expression "gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],0,&ret),\n                 local_54 = ret, ret <= gVar8" (call_expression "gtk_widget_get_preferred_height_for_width(*puVar7,puVar7[9],0,&ret)" identifier (argument_list "(*puVar7,puVar7[9],0,&ret)" ( (pointer_expression "*puVar7" * identifier) , (subscript_expression "puVar7[9]" identifier [ number_literal ]) , number_literal , (pointer_expression "&ret" & identifier) ))) , (comma_expression "local_54 = ret, ret <= gVar8" (assignment_expression "local_54 = ret" identifier = identifier) , (binary_expression "ret <= gVar8" identifier <= identifier))) ))) )) (compound_statement "{\n                local_54 = gVar8;\n              }" { (expression_statement "local_54 = gVar8;" (assignment_expression "local_54 = gVar8" identifier = identifier) ;) })) (expression_statement "iVar6 = piVar10[2];" (assignment_expression "iVar6 = piVar10[2]" identifier = (subscript_expression "piVar10[2]" identifier [ number_literal ])) ;) (if_statement "if (iVar6 == 0) {\n                iVar6 = local_48 - piVar10[1];\n              }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n                iVar6 = local_48 - piVar10[1];\n              }" { (expression_statement "iVar6 = local_48 - piVar10[1];" (assignment_expression "iVar6 = local_48 - piVar10[1]" identifier = (binary_expression "local_48 - piVar10[1]" identifier - (subscript_expression "piVar10[1]" identifier [ number_literal ]))) ;) })) (expression_statement "iVar14 = *(int *)(iVar3 + 0x1c);" (assignment_expression "iVar14 = *(int *)(iVar3 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar3 + 0x1c)" * (cast_expression "(int *)(iVar3 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x1c)" ( (binary_expression "iVar3 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (iVar6 < 1) {\n                local_54 = local_54 + iVar14;\n              }\n              else {\n                iVar15 = 0;\n                piVar11 = piVar9 + piVar10[1];\n                do {\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + piVar10[1] + iVar6 != piVar11);\n                iVar13 = 1;\n                local_54 = iVar15 + local_54 + iVar14;\n                piVar9[piVar10[1]] = local_54;\n                if (iVar6 != 1) {\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }\n                iVar14 = *(int *)(iVar3 + 0x1c);\n              }" if (parenthesized_expression "(iVar6 < 1)" ( (binary_expression "iVar6 < 1" identifier < number_literal) )) (compound_statement "{\n                local_54 = local_54 + iVar14;\n              }" { (expression_statement "local_54 = local_54 + iVar14;" (assignment_expression "local_54 = local_54 + iVar14" identifier = (binary_expression "local_54 + iVar14" identifier + identifier)) ;) }) (else_clause "else {\n                iVar15 = 0;\n                piVar11 = piVar9 + piVar10[1];\n                do {\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + piVar10[1] + iVar6 != piVar11);\n                iVar13 = 1;\n                local_54 = iVar15 + local_54 + iVar14;\n                piVar9[piVar10[1]] = local_54;\n                if (iVar6 != 1) {\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }\n                iVar14 = *(int *)(iVar3 + 0x1c);\n              }" else (compound_statement "{\n                iVar15 = 0;\n                piVar11 = piVar9 + piVar10[1];\n                do {\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + piVar10[1] + iVar6 != piVar11);\n                iVar13 = 1;\n                local_54 = iVar15 + local_54 + iVar14;\n                piVar9[piVar10[1]] = local_54;\n                if (iVar6 != 1) {\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }\n                iVar14 = *(int *)(iVar3 + 0x1c);\n              }" { (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" identifier = number_literal) ;) (expression_statement "piVar11 = piVar9 + piVar10[1];" (assignment_expression "piVar11 = piVar9 + piVar10[1]" identifier = (binary_expression "piVar9 + piVar10[1]" identifier + (subscript_expression "piVar10[1]" identifier [ number_literal ]))) ;) (do_statement "do {\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                } while (piVar9 + piVar10[1] + iVar6 != piVar11);" do (compound_statement "{\n                  if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }\n                  piVar11 = piVar11 + 1;\n                }" { (if_statement "if (iVar15 < *piVar11) {\n                    iVar15 = *piVar11;\n                  }" if (parenthesized_expression "(iVar15 < *piVar11)" ( (binary_expression "iVar15 < *piVar11" identifier < (pointer_expression "*piVar11" * identifier)) )) (compound_statement "{\n                    iVar15 = *piVar11;\n                  }" { (expression_statement "iVar15 = *piVar11;" (assignment_expression "iVar15 = *piVar11" identifier = (pointer_expression "*piVar11" * identifier)) ;) })) (expression_statement "piVar11 = piVar11 + 1;" (assignment_expression "piVar11 = piVar11 + 1" identifier = (binary_expression "piVar11 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar9 + piVar10[1] + iVar6 != piVar11)" ( (binary_expression "piVar9 + piVar10[1] + iVar6 != piVar11" (binary_expression "piVar9 + piVar10[1] + iVar6" (binary_expression "piVar9 + piVar10[1]" identifier + (subscript_expression "piVar10[1]" identifier [ number_literal ])) + identifier) != identifier) )) ;) (expression_statement "iVar13 = 1;" (assignment_expression "iVar13 = 1" identifier = number_literal) ;) (expression_statement "local_54 = iVar15 + local_54 + iVar14;" (assignment_expression "local_54 = iVar15 + local_54 + iVar14" identifier = (binary_expression "iVar15 + local_54 + iVar14" (binary_expression "iVar15 + local_54" identifier + identifier) + identifier)) ;) (expression_statement "piVar9[piVar10[1]] = local_54;" (assignment_expression "piVar9[piVar10[1]] = local_54" (subscript_expression "piVar9[piVar10[1]]" identifier [ (subscript_expression "piVar10[1]" identifier [ number_literal ]) ]) = identifier) ;) (if_statement "if (iVar6 != 1) {\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }" if (parenthesized_expression "(iVar6 != 1)" ( (binary_expression "iVar6 != 1" identifier != number_literal) )) (compound_statement "{\n                  do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);\n                }" { (do_statement "do {\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  } while (iVar6 != iVar13);" do (compound_statement "{\n                    iVar14 = piVar10[1] + iVar13;\n                    iVar13 = iVar13 + 1;\n                    piVar9[iVar14] = local_54;\n                  }" { (expression_statement "iVar14 = piVar10[1] + iVar13;" (assignment_expression "iVar14 = piVar10[1] + iVar13" identifier = (binary_expression "piVar10[1] + iVar13" (subscript_expression "piVar10[1]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;) (expression_statement "piVar9[iVar14] = local_54;" (assignment_expression "piVar9[iVar14] = local_54" (subscript_expression "piVar9[iVar14]" identifier [ identifier ]) = identifier) ;) }) while (parenthesized_expression "(iVar6 != iVar13)" ( (binary_expression "iVar6 != iVar13" identifier != identifier) )) ;) })) (expression_statement "iVar14 = *(int *)(iVar3 + 0x1c);" (assignment_expression "iVar14 = *(int *)(iVar3 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar3 + 0x1c)" * (cast_expression "(int *)(iVar3 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x1c)" ( (binary_expression "iVar3 + 0x1c" identifier + number_literal) ))))) ;) }))) (expression_statement "piVar10 = (int *)(local_54 - iVar14);" (assignment_expression "piVar10 = (int *)(local_54 - iVar14)" identifier = (cast_expression "(int *)(local_54 - iVar14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_54 - iVar14)" ( (binary_expression "local_54 - iVar14" identifier - identifier) )))) ;) (if_statement "if (local_54 - iVar14 <= (int)local_50) {\n                piVar10 = local_50;\n              }" if (parenthesized_expression "(local_54 - iVar14 <= (int)local_50)" ( (binary_expression "local_54 - iVar14 <= (int)local_50" (binary_expression "local_54 - iVar14" identifier - identifier) <= (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                piVar10 = local_50;\n              }" { (expression_statement "piVar10 = local_50;" (assignment_expression "piVar10 = local_50" identifier = identifier) ;) })) (expression_statement "local_44 = (int *)local_44[1];" (assignment_expression "local_44 = (int *)local_44[1]" identifier = (cast_expression "(int *)local_44[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_44[1]" identifier [ number_literal ]))) ;) (expression_statement "local_50 = piVar10;" (assignment_expression "local_50 = piVar10" identifier = identifier) ;) }))) }) while (parenthesized_expression "((local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0))" ( (binary_expression "(local_44 != (int *)0x0) && (piVar10 = (int *)*local_44, piVar10 != (int *)0x0)" (parenthesized_expression "(local_44 != (int *)0x0)" ( (binary_expression "local_44 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(piVar10 = (int *)*local_44, piVar10 != (int *)0x0)" ( (comma_expression "piVar10 = (int *)*local_44, piVar10 != (int *)0x0" (assignment_expression "piVar10 = (int *)*local_44" identifier = (cast_expression "(int *)*local_44" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_44" * identifier))) , (binary_expression "piVar10 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) ;) })) (expression_statement "uVar4 = g_type_check_instance_cast(iVar3,uVar4);" (assignment_expression "uVar4 = g_type_check_instance_cast(iVar3,uVar4)" identifier = (call_expression "g_type_check_instance_cast(iVar3,uVar4)" identifier (argument_list "(iVar3,uVar4)" ( identifier , identifier )))) ;) (expression_statement "iVar3 = gtk_container_get_border_width(uVar4);" (assignment_expression "iVar3 = gtk_container_get_border_width(uVar4)" identifier = (call_expression "gtk_container_get_border_width(uVar4)" identifier (argument_list "(uVar4)" ( identifier )))) ;) (expression_statement "g_free(piVar9);" (call_expression "g_free(piVar9)" identifier (argument_list "(piVar9)" ( identifier ))) ;) (expression_statement "*nat = (int)local_50 + iVar3 * 2;" (assignment_expression "*nat = (int)local_50 + iVar3 * 2" (pointer_expression "*nat" * identifier) = (binary_expression "(int)local_50 + iVar3 * 2" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar3 * 2" identifier * number_literal))) ;) })) }))) }))) (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" if (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" { comment (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return;" return ;) })))
(translation_unit "void FUN_0004f180(int *param_1,int param_2,int *param_3,int *param_4)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  undefined4 *puVar5;\n  int *piVar6;\n  int *piVar7;\n  int *piVar8;\n  int iVar9;\n  int iVar10;\n  int unaff_EBP;\n  int iVar11;\n  int in_GS_OFFSET;\n  int local_54;\n  int *local_50;\n  int local_48;\n  int *local_44;\n  int local_24;\n  int local_20;\n  \n  FUN_0001af2e();\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == (int *)0x0) {\n    g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38508);\n  }\n  else {\n    iVar3 = *(int *)(unaff_EBP + 0x66f4a);\n    if (iVar3 == 0) {\n      uVar2 = gtk_container_get_type();\n      iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n      *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n    }\n    if ((((int *)*param_1 == (int *)0x0) || (*(int *)*param_1 != iVar3)) &&\n       (iVar1 = g_type_check_instance_is_a(param_1,iVar3), iVar1 == 0)) {\n      g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38517);\n    }\n    else {\n      uVar2 = gtk_container_get_type();\n      if (iVar3 == 0) {\n        iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n        *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n      }\n      iVar3 = g_type_check_instance_cast(param_1,iVar3);\n      uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n      iVar1 = gtk_container_get_border_width(uVar4);\n      puVar5 = (undefined4 *)g_malloc(8);\n      *puVar5 = 0;\n      param_2 = param_2 + iVar1 * -2;\n      puVar5[1] = param_2 + *(int *)(iVar3 + 0x1c);\n      local_50 = *(int **)(iVar3 + 0x14);\n      if ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0)) {\n        local_54 = 1;\n        do {\n          if (*piVar6 == 0) {\n            local_54 = piVar6[5];\n            iVar1 = piVar6[6];\n            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);\n            *puVar5 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar11 = 0;\n            iVar10 = 0;\n            do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0));\n      }\n      g_free(puVar5);\n      if (param_3 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar1 = gtk_container_get_border_width(uVar4);\n        g_free(piVar6);\n        *param_3 = (int)local_50 + iVar1 * 2;\n      }\n      if (param_4 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar2 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar3 = gtk_container_get_border_width(uVar2);\n        g_free(piVar6);\n        *param_4 = (int)local_50 + iVar3 * 2;\n      }\n    }\n  }\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0006c950();\n  }\n  return;\n}\n\n" (function_definition "void FUN_0004f180(int *param_1,int param_2,int *param_3,int *param_4)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  undefined4 *puVar5;\n  int *piVar6;\n  int *piVar7;\n  int *piVar8;\n  int iVar9;\n  int iVar10;\n  int unaff_EBP;\n  int iVar11;\n  int in_GS_OFFSET;\n  int local_54;\n  int *local_50;\n  int local_48;\n  int *local_44;\n  int local_24;\n  int local_20;\n  \n  FUN_0001af2e();\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == (int *)0x0) {\n    g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38508);\n  }\n  else {\n    iVar3 = *(int *)(unaff_EBP + 0x66f4a);\n    if (iVar3 == 0) {\n      uVar2 = gtk_container_get_type();\n      iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n      *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n    }\n    if ((((int *)*param_1 == (int *)0x0) || (*(int *)*param_1 != iVar3)) &&\n       (iVar1 = g_type_check_instance_is_a(param_1,iVar3), iVar1 == 0)) {\n      g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38517);\n    }\n    else {\n      uVar2 = gtk_container_get_type();\n      if (iVar3 == 0) {\n        iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n        *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n      }\n      iVar3 = g_type_check_instance_cast(param_1,iVar3);\n      uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n      iVar1 = gtk_container_get_border_width(uVar4);\n      puVar5 = (undefined4 *)g_malloc(8);\n      *puVar5 = 0;\n      param_2 = param_2 + iVar1 * -2;\n      puVar5[1] = param_2 + *(int *)(iVar3 + 0x1c);\n      local_50 = *(int **)(iVar3 + 0x14);\n      if ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0)) {\n        local_54 = 1;\n        do {\n          if (*piVar6 == 0) {\n            local_54 = piVar6[5];\n            iVar1 = piVar6[6];\n            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);\n            *puVar5 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar11 = 0;\n            iVar10 = 0;\n            do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0));\n      }\n      g_free(puVar5);\n      if (param_3 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar1 = gtk_container_get_border_width(uVar4);\n        g_free(piVar6);\n        *param_3 = (int)local_50 + iVar1 * 2;\n      }\n      if (param_4 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar2 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar3 = gtk_container_get_border_width(uVar2);\n        g_free(piVar6);\n        *param_4 = (int)local_50 + iVar3 * 2;\n      }\n    }\n  }\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0006c950();\n  }\n  return;\n}" primitive_type (function_declarator "FUN_0004f180(int *param_1,int param_2,int *param_3,int *param_4)" identifier (parameter_list "(int *param_1,int param_2,int *param_3,int *param_4)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "int *param_4" primitive_type (pointer_declarator "*param_4" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  undefined4 uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  undefined4 *puVar5;\n  int *piVar6;\n  int *piVar7;\n  int *piVar8;\n  int iVar9;\n  int iVar10;\n  int unaff_EBP;\n  int iVar11;\n  int in_GS_OFFSET;\n  int local_54;\n  int *local_50;\n  int local_48;\n  int *local_44;\n  int local_24;\n  int local_20;\n  \n  FUN_0001af2e();\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == (int *)0x0) {\n    g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38508);\n  }\n  else {\n    iVar3 = *(int *)(unaff_EBP + 0x66f4a);\n    if (iVar3 == 0) {\n      uVar2 = gtk_container_get_type();\n      iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n      *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n    }\n    if ((((int *)*param_1 == (int *)0x0) || (*(int *)*param_1 != iVar3)) &&\n       (iVar1 = g_type_check_instance_is_a(param_1,iVar3), iVar1 == 0)) {\n      g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38517);\n    }\n    else {\n      uVar2 = gtk_container_get_type();\n      if (iVar3 == 0) {\n        iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n        *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n      }\n      iVar3 = g_type_check_instance_cast(param_1,iVar3);\n      uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n      iVar1 = gtk_container_get_border_width(uVar4);\n      puVar5 = (undefined4 *)g_malloc(8);\n      *puVar5 = 0;\n      param_2 = param_2 + iVar1 * -2;\n      puVar5[1] = param_2 + *(int *)(iVar3 + 0x1c);\n      local_50 = *(int **)(iVar3 + 0x14);\n      if ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0)) {\n        local_54 = 1;\n        do {\n          if (*piVar6 == 0) {\n            local_54 = piVar6[5];\n            iVar1 = piVar6[6];\n            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);\n            *puVar5 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar11 = 0;\n            iVar10 = 0;\n            do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0));\n      }\n      g_free(puVar5);\n      if (param_3 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar1 = gtk_container_get_border_width(uVar4);\n        g_free(piVar6);\n        *param_3 = (int)local_50 + iVar1 * 2;\n      }\n      if (param_4 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar2 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar3 = gtk_container_get_border_width(uVar2);\n        g_free(piVar6);\n        *param_4 = (int)local_50 + iVar3 * 2;\n      }\n    }\n  }\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0006c950();\n  }\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int unaff_EBP;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "int local_54;" primitive_type identifier ;) (declaration "int *local_50;" primitive_type (pointer_declarator "*local_50" * identifier) ;) (declaration "int local_48;" primitive_type identifier ;) (declaration "int *local_44;" primitive_type (pointer_declarator "*local_44" * identifier) ;) (declaration "int local_24;" primitive_type identifier ;) (declaration "int local_20;" primitive_type identifier ;) (expression_statement "FUN_0001af2e();" (call_expression "FUN_0001af2e()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (param_1 == (int *)0x0) {\n    g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38508);\n  }\n  else {\n    iVar3 = *(int *)(unaff_EBP + 0x66f4a);\n    if (iVar3 == 0) {\n      uVar2 = gtk_container_get_type();\n      iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n      *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n    }\n    if ((((int *)*param_1 == (int *)0x0) || (*(int *)*param_1 != iVar3)) &&\n       (iVar1 = g_type_check_instance_is_a(param_1,iVar3), iVar1 == 0)) {\n      g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38517);\n    }\n    else {\n      uVar2 = gtk_container_get_type();\n      if (iVar3 == 0) {\n        iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n        *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n      }\n      iVar3 = g_type_check_instance_cast(param_1,iVar3);\n      uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n      iVar1 = gtk_container_get_border_width(uVar4);\n      puVar5 = (undefined4 *)g_malloc(8);\n      *puVar5 = 0;\n      param_2 = param_2 + iVar1 * -2;\n      puVar5[1] = param_2 + *(int *)(iVar3 + 0x1c);\n      local_50 = *(int **)(iVar3 + 0x14);\n      if ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0)) {\n        local_54 = 1;\n        do {\n          if (*piVar6 == 0) {\n            local_54 = piVar6[5];\n            iVar1 = piVar6[6];\n            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);\n            *puVar5 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar11 = 0;\n            iVar10 = 0;\n            do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0));\n      }\n      g_free(puVar5);\n      if (param_3 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar1 = gtk_container_get_border_width(uVar4);\n        g_free(piVar6);\n        *param_3 = (int)local_50 + iVar1 * 2;\n      }\n      if (param_4 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar2 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar3 = gtk_container_get_border_width(uVar2);\n        g_free(piVar6);\n        *param_4 = (int)local_50 + iVar3 * 2;\n      }\n    }\n  }" if (parenthesized_expression "(param_1 == (int *)0x0)" ( (binary_expression "param_1 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38508);\n  }" { (expression_statement "g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38508);" (call_expression "g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38508)" identifier (argument_list "(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38508)" ( number_literal , (binary_expression "unaff_EBP + 0x3879a" identifier + number_literal) , (binary_expression "unaff_EBP + 0x38508" identifier + number_literal) ))) ;) }) (else_clause "else {\n    iVar3 = *(int *)(unaff_EBP + 0x66f4a);\n    if (iVar3 == 0) {\n      uVar2 = gtk_container_get_type();\n      iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n      *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n    }\n    if ((((int *)*param_1 == (int *)0x0) || (*(int *)*param_1 != iVar3)) &&\n       (iVar1 = g_type_check_instance_is_a(param_1,iVar3), iVar1 == 0)) {\n      g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38517);\n    }\n    else {\n      uVar2 = gtk_container_get_type();\n      if (iVar3 == 0) {\n        iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n        *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n      }\n      iVar3 = g_type_check_instance_cast(param_1,iVar3);\n      uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n      iVar1 = gtk_container_get_border_width(uVar4);\n      puVar5 = (undefined4 *)g_malloc(8);\n      *puVar5 = 0;\n      param_2 = param_2 + iVar1 * -2;\n      puVar5[1] = param_2 + *(int *)(iVar3 + 0x1c);\n      local_50 = *(int **)(iVar3 + 0x14);\n      if ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0)) {\n        local_54 = 1;\n        do {\n          if (*piVar6 == 0) {\n            local_54 = piVar6[5];\n            iVar1 = piVar6[6];\n            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);\n            *puVar5 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar11 = 0;\n            iVar10 = 0;\n            do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0));\n      }\n      g_free(puVar5);\n      if (param_3 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar1 = gtk_container_get_border_width(uVar4);\n        g_free(piVar6);\n        *param_3 = (int)local_50 + iVar1 * 2;\n      }\n      if (param_4 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar2 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar3 = gtk_container_get_border_width(uVar2);\n        g_free(piVar6);\n        *param_4 = (int)local_50 + iVar3 * 2;\n      }\n    }\n  }" else (compound_statement "{\n    iVar3 = *(int *)(unaff_EBP + 0x66f4a);\n    if (iVar3 == 0) {\n      uVar2 = gtk_container_get_type();\n      iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n      *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n    }\n    if ((((int *)*param_1 == (int *)0x0) || (*(int *)*param_1 != iVar3)) &&\n       (iVar1 = g_type_check_instance_is_a(param_1,iVar3), iVar1 == 0)) {\n      g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38517);\n    }\n    else {\n      uVar2 = gtk_container_get_type();\n      if (iVar3 == 0) {\n        iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n        *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n      }\n      iVar3 = g_type_check_instance_cast(param_1,iVar3);\n      uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n      iVar1 = gtk_container_get_border_width(uVar4);\n      puVar5 = (undefined4 *)g_malloc(8);\n      *puVar5 = 0;\n      param_2 = param_2 + iVar1 * -2;\n      puVar5[1] = param_2 + *(int *)(iVar3 + 0x1c);\n      local_50 = *(int **)(iVar3 + 0x14);\n      if ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0)) {\n        local_54 = 1;\n        do {\n          if (*piVar6 == 0) {\n            local_54 = piVar6[5];\n            iVar1 = piVar6[6];\n            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);\n            *puVar5 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar11 = 0;\n            iVar10 = 0;\n            do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0));\n      }\n      g_free(puVar5);\n      if (param_3 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar1 = gtk_container_get_border_width(uVar4);\n        g_free(piVar6);\n        *param_3 = (int)local_50 + iVar1 * 2;\n      }\n      if (param_4 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar2 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar3 = gtk_container_get_border_width(uVar2);\n        g_free(piVar6);\n        *param_4 = (int)local_50 + iVar3 * 2;\n      }\n    }\n  }" { (expression_statement "iVar3 = *(int *)(unaff_EBP + 0x66f4a);" (assignment_expression "iVar3 = *(int *)(unaff_EBP + 0x66f4a)" identifier = (pointer_expression "*(int *)(unaff_EBP + 0x66f4a)" * (cast_expression "(int *)(unaff_EBP + 0x66f4a)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x66f4a)" ( (binary_expression "unaff_EBP + 0x66f4a" identifier + number_literal) ))))) ;) (if_statement "if (iVar3 == 0) {\n      uVar2 = gtk_container_get_type();\n      iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n      *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar2 = gtk_container_get_type();\n      iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n      *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n    }" { (expression_statement "uVar2 = gtk_container_get_type();" (assignment_expression "uVar2 = gtk_container_get_type()" identifier = (call_expression "gtk_container_get_type()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);" (assignment_expression "iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0)" identifier = (call_expression "g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0)" identifier (argument_list "(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0)" ( identifier , (binary_expression "unaff_EBP + 0x30f20" identifier + number_literal) , (binary_expression "unaff_EBP + 0x65b5a" identifier + number_literal) , number_literal )))) ;) (expression_statement "*(int *)(unaff_EBP + 0x66f4a) = iVar3;" (assignment_expression "*(int *)(unaff_EBP + 0x66f4a) = iVar3" (pointer_expression "*(int *)(unaff_EBP + 0x66f4a)" * (cast_expression "(int *)(unaff_EBP + 0x66f4a)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x66f4a)" ( (binary_expression "unaff_EBP + 0x66f4a" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if ((((int *)*param_1 == (int *)0x0) || (*(int *)*param_1 != iVar3)) &&\n       (iVar1 = g_type_check_instance_is_a(param_1,iVar3), iVar1 == 0)) {\n      g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38517);\n    }\n    else {\n      uVar2 = gtk_container_get_type();\n      if (iVar3 == 0) {\n        iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n        *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n      }\n      iVar3 = g_type_check_instance_cast(param_1,iVar3);\n      uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n      iVar1 = gtk_container_get_border_width(uVar4);\n      puVar5 = (undefined4 *)g_malloc(8);\n      *puVar5 = 0;\n      param_2 = param_2 + iVar1 * -2;\n      puVar5[1] = param_2 + *(int *)(iVar3 + 0x1c);\n      local_50 = *(int **)(iVar3 + 0x14);\n      if ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0)) {\n        local_54 = 1;\n        do {\n          if (*piVar6 == 0) {\n            local_54 = piVar6[5];\n            iVar1 = piVar6[6];\n            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);\n            *puVar5 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar11 = 0;\n            iVar10 = 0;\n            do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0));\n      }\n      g_free(puVar5);\n      if (param_3 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar1 = gtk_container_get_border_width(uVar4);\n        g_free(piVar6);\n        *param_3 = (int)local_50 + iVar1 * 2;\n      }\n      if (param_4 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar2 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar3 = gtk_container_get_border_width(uVar2);\n        g_free(piVar6);\n        *param_4 = (int)local_50 + iVar3 * 2;\n      }\n    }" if (parenthesized_expression "((((int *)*param_1 == (int *)0x0) || (*(int *)*param_1 != iVar3)) &&\n       (iVar1 = g_type_check_instance_is_a(param_1,iVar3), iVar1 == 0))" ( (binary_expression "(((int *)*param_1 == (int *)0x0) || (*(int *)*param_1 != iVar3)) &&\n       (iVar1 = g_type_check_instance_is_a(param_1,iVar3), iVar1 == 0)" (parenthesized_expression "(((int *)*param_1 == (int *)0x0) || (*(int *)*param_1 != iVar3))" ( (binary_expression "((int *)*param_1 == (int *)0x0) || (*(int *)*param_1 != iVar3)" (parenthesized_expression "((int *)*param_1 == (int *)0x0)" ( (binary_expression "(int *)*param_1 == (int *)0x0" (cast_expression "(int *)*param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier)) == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*(int *)*param_1 != iVar3)" ( (binary_expression "*(int *)*param_1 != iVar3" (pointer_expression "*(int *)*param_1" * (cast_expression "(int *)*param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier))) != identifier) ))) )) && (parenthesized_expression "(iVar1 = g_type_check_instance_is_a(param_1,iVar3), iVar1 == 0)" ( (comma_expression "iVar1 = g_type_check_instance_is_a(param_1,iVar3), iVar1 == 0" (assignment_expression "iVar1 = g_type_check_instance_is_a(param_1,iVar3)" identifier = (call_expression "g_type_check_instance_is_a(param_1,iVar3)" identifier (argument_list "(param_1,iVar3)" ( identifier , identifier )))) , (binary_expression "iVar1 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n      g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38517);\n    }" { (expression_statement "g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38517);" (call_expression "g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38517)" identifier (argument_list "(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38517)" ( number_literal , (binary_expression "unaff_EBP + 0x3879a" identifier + number_literal) , (binary_expression "unaff_EBP + 0x38517" identifier + number_literal) ))) ;) }) (else_clause "else {\n      uVar2 = gtk_container_get_type();\n      if (iVar3 == 0) {\n        iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n        *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n      }\n      iVar3 = g_type_check_instance_cast(param_1,iVar3);\n      uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n      iVar1 = gtk_container_get_border_width(uVar4);\n      puVar5 = (undefined4 *)g_malloc(8);\n      *puVar5 = 0;\n      param_2 = param_2 + iVar1 * -2;\n      puVar5[1] = param_2 + *(int *)(iVar3 + 0x1c);\n      local_50 = *(int **)(iVar3 + 0x14);\n      if ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0)) {\n        local_54 = 1;\n        do {\n          if (*piVar6 == 0) {\n            local_54 = piVar6[5];\n            iVar1 = piVar6[6];\n            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);\n            *puVar5 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar11 = 0;\n            iVar10 = 0;\n            do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0));\n      }\n      g_free(puVar5);\n      if (param_3 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar1 = gtk_container_get_border_width(uVar4);\n        g_free(piVar6);\n        *param_3 = (int)local_50 + iVar1 * 2;\n      }\n      if (param_4 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar2 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar3 = gtk_container_get_border_width(uVar2);\n        g_free(piVar6);\n        *param_4 = (int)local_50 + iVar3 * 2;\n      }\n    }" else (compound_statement "{\n      uVar2 = gtk_container_get_type();\n      if (iVar3 == 0) {\n        iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n        *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n      }\n      iVar3 = g_type_check_instance_cast(param_1,iVar3);\n      uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n      iVar1 = gtk_container_get_border_width(uVar4);\n      puVar5 = (undefined4 *)g_malloc(8);\n      *puVar5 = 0;\n      param_2 = param_2 + iVar1 * -2;\n      puVar5[1] = param_2 + *(int *)(iVar3 + 0x1c);\n      local_50 = *(int **)(iVar3 + 0x14);\n      if ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0)) {\n        local_54 = 1;\n        do {\n          if (*piVar6 == 0) {\n            local_54 = piVar6[5];\n            iVar1 = piVar6[6];\n            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);\n            *puVar5 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar11 = 0;\n            iVar10 = 0;\n            do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0));\n      }\n      g_free(puVar5);\n      if (param_3 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar1 = gtk_container_get_border_width(uVar4);\n        g_free(piVar6);\n        *param_3 = (int)local_50 + iVar1 * 2;\n      }\n      if (param_4 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar2 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar3 = gtk_container_get_border_width(uVar2);\n        g_free(piVar6);\n        *param_4 = (int)local_50 + iVar3 * 2;\n      }\n    }" { (expression_statement "uVar2 = gtk_container_get_type();" (assignment_expression "uVar2 = gtk_container_get_type()" identifier = (call_expression "gtk_container_get_type()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar3 == 0) {\n        iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n        *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n        *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n      }" { (expression_statement "iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);" (assignment_expression "iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0)" identifier = (call_expression "g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0)" identifier (argument_list "(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0)" ( identifier , (binary_expression "unaff_EBP + 0x30f20" identifier + number_literal) , (binary_expression "unaff_EBP + 0x65b5a" identifier + number_literal) , number_literal )))) ;) (expression_statement "*(int *)(unaff_EBP + 0x66f4a) = iVar3;" (assignment_expression "*(int *)(unaff_EBP + 0x66f4a) = iVar3" (pointer_expression "*(int *)(unaff_EBP + 0x66f4a)" * (cast_expression "(int *)(unaff_EBP + 0x66f4a)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x66f4a)" ( (binary_expression "unaff_EBP + 0x66f4a" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "iVar3 = g_type_check_instance_cast(param_1,iVar3);" (assignment_expression "iVar3 = g_type_check_instance_cast(param_1,iVar3)" identifier = (call_expression "g_type_check_instance_cast(param_1,iVar3)" identifier (argument_list "(param_1,iVar3)" ( identifier , identifier )))) ;) (expression_statement "uVar4 = g_type_check_instance_cast(iVar3,uVar2);" (assignment_expression "uVar4 = g_type_check_instance_cast(iVar3,uVar2)" identifier = (call_expression "g_type_check_instance_cast(iVar3,uVar2)" identifier (argument_list "(iVar3,uVar2)" ( identifier , identifier )))) ;) (expression_statement "iVar1 = gtk_container_get_border_width(uVar4);" (assignment_expression "iVar1 = gtk_container_get_border_width(uVar4)" identifier = (call_expression "gtk_container_get_border_width(uVar4)" identifier (argument_list "(uVar4)" ( identifier )))) ;) (expression_statement "puVar5 = (undefined4 *)g_malloc(8);" (assignment_expression "puVar5 = (undefined4 *)g_malloc(8)" identifier = (cast_expression "(undefined4 *)g_malloc(8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "g_malloc(8)" identifier (argument_list "(8)" ( number_literal ))))) ;) (expression_statement "*puVar5 = 0;" (assignment_expression "*puVar5 = 0" (pointer_expression "*puVar5" * identifier) = number_literal) ;) (expression_statement "param_2 = param_2 + iVar1 * -2;" (assignment_expression "param_2 = param_2 + iVar1 * -2" identifier = (binary_expression "param_2 + iVar1 * -2" identifier + (binary_expression "iVar1 * -2" identifier * number_literal))) ;) (expression_statement "puVar5[1] = param_2 + *(int *)(iVar3 + 0x1c);" (assignment_expression "puVar5[1] = param_2 + *(int *)(iVar3 + 0x1c)" (subscript_expression "puVar5[1]" identifier [ number_literal ]) = (binary_expression "param_2 + *(int *)(iVar3 + 0x1c)" identifier + (pointer_expression "*(int *)(iVar3 + 0x1c)" * (cast_expression "(int *)(iVar3 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x1c)" ( (binary_expression "iVar3 + 0x1c" identifier + number_literal) )))))) ;) (expression_statement "local_50 = *(int **)(iVar3 + 0x14);" (assignment_expression "local_50 = *(int **)(iVar3 + 0x14)" identifier = (pointer_expression "*(int **)(iVar3 + 0x14)" * (cast_expression "(int **)(iVar3 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x14)" ( (binary_expression "iVar3 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0)) {\n        local_54 = 1;\n        do {\n          if (*piVar6 == 0) {\n            local_54 = piVar6[5];\n            iVar1 = piVar6[6];\n            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);\n            *puVar5 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar11 = 0;\n            iVar10 = 0;\n            do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0));\n      }" if (parenthesized_expression "((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0))" ( (binary_expression "(local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0)" (parenthesized_expression "(local_50 != (int *)0x0)" ( (binary_expression "local_50 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(piVar6 = (int *)*local_50, piVar6 != (int *)0x0)" ( (comma_expression "piVar6 = (int *)*local_50, piVar6 != (int *)0x0" (assignment_expression "piVar6 = (int *)*local_50" identifier = (cast_expression "(int *)*local_50" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_50" * identifier))) , (binary_expression "piVar6 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n        local_54 = 1;\n        do {\n          if (*piVar6 == 0) {\n            local_54 = piVar6[5];\n            iVar1 = piVar6[6];\n            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);\n            *puVar5 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar11 = 0;\n            iVar10 = 0;\n            do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0));\n      }" { (expression_statement "local_54 = 1;" (assignment_expression "local_54 = 1" identifier = number_literal) ;) (do_statement "do {\n          if (*piVar6 == 0) {\n            local_54 = piVar6[5];\n            iVar1 = piVar6[6];\n            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);\n            *puVar5 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar11 = 0;\n            iVar10 = 0;\n            do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0));" do (compound_statement "{\n          if (*piVar6 == 0) {\n            local_54 = piVar6[5];\n            iVar1 = piVar6[6];\n            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);\n            *puVar5 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar11 = 0;\n            iVar10 = 0;\n            do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        }" { (if_statement "if (*piVar6 == 0) {\n            local_54 = piVar6[5];\n            iVar1 = piVar6[6];\n            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);\n            *puVar5 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar11 = 0;\n            iVar10 = 0;\n            do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }" if (parenthesized_expression "(*piVar6 == 0)" ( (binary_expression "*piVar6 == 0" (pointer_expression "*piVar6" * identifier) == number_literal) )) (compound_statement "{\n            local_54 = piVar6[5];\n            iVar1 = piVar6[6];\n            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);\n            *puVar5 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar11 = 0;\n            iVar10 = 0;\n            do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);\n            local_50 = (int *)local_50[1];\n          }" { (expression_statement "local_54 = piVar6[5];" (assignment_expression "local_54 = piVar6[5]" identifier = (subscript_expression "piVar6[5]" identifier [ number_literal ])) ;) (expression_statement "iVar1 = piVar6[6];" (assignment_expression "iVar1 = piVar6[6]" identifier = (subscript_expression "piVar6[6]" identifier [ number_literal ])) ;) (expression_statement "puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);" (assignment_expression "puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4)" identifier = (cast_expression "(undefined4 *)g_realloc_n(puVar5,local_54 + 1,4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "g_realloc_n(puVar5,local_54 + 1,4)" identifier (argument_list "(puVar5,local_54 + 1,4)" ( identifier , (binary_expression "local_54 + 1" identifier + number_literal) , number_literal ))))) ;) (expression_statement "*puVar5 = 0;" (assignment_expression "*puVar5 = 0" (pointer_expression "*puVar5" * identifier) = number_literal) ;) (if_statement "if (local_54 < 1) goto LAB_0004f2f6;" if (parenthesized_expression "(local_54 < 1)" ( (binary_expression "local_54 < 1" identifier < number_literal) )) (goto_statement "goto LAB_0004f2f6;" goto statement_identifier ;)) (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (do_statement "do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);" do (compound_statement "{\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            }" { (expression_statement "iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);" (assignment_expression "iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4)" identifier = (binary_expression "iVar11 + *(int *)(iVar1 + iVar10 * 4)" identifier + (pointer_expression "*(int *)(iVar1 + iVar10 * 4)" * (cast_expression "(int *)(iVar1 + iVar10 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + iVar10 * 4)" ( (binary_expression "iVar1 + iVar10 * 4" identifier + (binary_expression "iVar10 * 4" identifier * number_literal)) )))))) ;) (expression_statement "puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;" (assignment_expression "puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100" (subscript_expression "puVar5[iVar10 + 1]" identifier [ (binary_expression "iVar10 + 1" identifier + number_literal) ]) = (binary_expression "((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100" (parenthesized_expression "((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11)" ( (binary_expression "(param_2 + *(int *)(iVar3 + 0x1c)) * iVar11" (parenthesized_expression "(param_2 + *(int *)(iVar3 + 0x1c))" ( (binary_expression "param_2 + *(int *)(iVar3 + 0x1c)" identifier + (pointer_expression "*(int *)(iVar3 + 0x1c)" * (cast_expression "(int *)(iVar3 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x1c)" ( (binary_expression "iVar3 + 0x1c" identifier + number_literal) ))))) )) * identifier) )) / number_literal)) ;) (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_54 != iVar10)" ( (binary_expression "local_54 != iVar10" identifier != identifier) )) ;) (expression_statement "local_50 = (int *)local_50[1];" (assignment_expression "local_50 = (int *)local_50[1]" identifier = (cast_expression "(int *)local_50[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_50[1]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }" else (compound_statement "{\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }" { (expression_statement "iVar1 = gtk_widget_get_visible(*piVar6);" (assignment_expression "iVar1 = gtk_widget_get_visible(*piVar6)" identifier = (call_expression "gtk_widget_get_visible(*piVar6)" identifier (argument_list "(*piVar6)" ( (pointer_expression "*piVar6" * identifier) )))) ;) (if_statement "if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }" { (expression_statement "iVar11 = FUN_0004d190();" (assignment_expression "iVar11 = FUN_0004d190()" identifier = (call_expression "FUN_0004d190()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar1 = piVar6[2];" (assignment_expression "iVar1 = piVar6[2]" identifier = (subscript_expression "piVar6[2]" identifier [ number_literal ])) ;) (expression_statement "iVar10 = piVar6[1];" (assignment_expression "iVar10 = piVar6[1]" identifier = (subscript_expression "piVar6[1]" identifier [ number_literal ])) ;) (if_statement "if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n                iVar1 = local_54 - iVar10;\n              }" { (expression_statement "iVar1 = local_54 - iVar10;" (assignment_expression "iVar1 = local_54 - iVar10" identifier = (binary_expression "local_54 - iVar10" identifier - identifier)) ;) })) (expression_statement "iVar9 = puVar5[iVar10];" (assignment_expression "iVar9 = puVar5[iVar10]" identifier = (subscript_expression "puVar5[iVar10]" identifier [ identifier ])) ;) (expression_statement "piVar6[7] = iVar9;" (assignment_expression "piVar6[7] = iVar9" (subscript_expression "piVar6[7]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }" if (parenthesized_expression "(piVar6[3] == 0)" ( (binary_expression "piVar6[3] == 0" (subscript_expression "piVar6[3]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }" { (expression_statement "iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);" (assignment_expression "iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c)" identifier = (binary_expression "(puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c)" (parenthesized_expression "(puVar5[iVar1 + iVar10] - iVar9)" ( (binary_expression "puVar5[iVar1 + iVar10] - iVar9" (subscript_expression "puVar5[iVar1 + iVar10]" identifier [ (binary_expression "iVar1 + iVar10" identifier + identifier) ]) - identifier) )) - (pointer_expression "*(int *)(iVar3 + 0x1c)" * (cast_expression "(int *)(iVar3 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x1c)" ( (binary_expression "iVar3 + 0x1c" identifier + number_literal) )))))) ;) })) (expression_statement "piVar6[9] = iVar11;" (assignment_expression "piVar6[9] = iVar11" (subscript_expression "piVar6[9]" identifier [ number_literal ]) = identifier) ;) })) (labeled_statement "LAB_0004f2f6:\n            local_50 = (int *)local_50[1];" statement_identifier : (expression_statement "local_50 = (int *)local_50[1];" (assignment_expression "local_50 = (int *)local_50[1]" identifier = (cast_expression "(int *)local_50[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_50[1]" identifier [ number_literal ]))) ;)) }))) }) while (parenthesized_expression "((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0))" ( (binary_expression "(local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0)" (parenthesized_expression "(local_50 != (int *)0x0)" ( (binary_expression "local_50 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(piVar6 = (int *)*local_50, piVar6 != (int *)0x0)" ( (comma_expression "piVar6 = (int *)*local_50, piVar6 != (int *)0x0" (assignment_expression "piVar6 = (int *)*local_50" identifier = (cast_expression "(int *)*local_50" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_50" * identifier))) , (binary_expression "piVar6 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) ;) })) (expression_statement "g_free(puVar5);" (call_expression "g_free(puVar5)" identifier (argument_list "(puVar5)" ( identifier ))) ;) (if_statement "if (param_3 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar1 = gtk_container_get_border_width(uVar4);\n        g_free(piVar6);\n        *param_3 = (int)local_50 + iVar1 * 2;\n      }" if (parenthesized_expression "(param_3 != (int *)0x0)" ( (binary_expression "param_3 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar1 = gtk_container_get_border_width(uVar4);\n        g_free(piVar6);\n        *param_3 = (int)local_50 + iVar1 * 2;\n      }" { (expression_statement "local_50 = *(int **)(iVar3 + 0x1c);" (assignment_expression "local_50 = *(int **)(iVar3 + 0x1c)" identifier = (pointer_expression "*(int **)(iVar3 + 0x1c)" * (cast_expression "(int **)(iVar3 + 0x1c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x1c)" ( (binary_expression "iVar3 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "piVar6 = (int *)g_malloc(4);" (assignment_expression "piVar6 = (int *)g_malloc(4)" identifier = (cast_expression "(int *)g_malloc(4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "g_malloc(4)" identifier (argument_list "(4)" ( number_literal ))))) ;) (expression_statement "*piVar6 = 0;" (assignment_expression "*piVar6 = 0" (pointer_expression "*piVar6" * identifier) = number_literal) ;) (expression_statement "local_44 = *(int **)(iVar3 + 0x14);" (assignment_expression "local_44 = *(int **)(iVar3 + 0x14)" identifier = (pointer_expression "*(int **)(iVar3 + 0x14)" * (cast_expression "(int **)(iVar3 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x14)" ( (binary_expression "iVar3 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }" if (parenthesized_expression "((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0))" ( (binary_expression "(local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)" (parenthesized_expression "(local_44 != (int *)0x0)" ( (binary_expression "local_44 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(piVar7 = (int *)*local_44, piVar7 != (int *)0x0)" ( (comma_expression "piVar7 = (int *)*local_44, piVar7 != (int *)0x0" (assignment_expression "piVar7 = (int *)*local_44" identifier = (cast_expression "(int *)*local_44" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_44" * identifier))) , (binary_expression "piVar7 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }" { (expression_statement "local_48 = 1;" (assignment_expression "local_48 = 1" identifier = number_literal) ;) (do_statement "do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));" do (compound_statement "{\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          }" { (if_statement "if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }" if (parenthesized_expression "(*piVar7 == 0)" ( (binary_expression "*piVar7 == 0" (pointer_expression "*piVar7" * identifier) == number_literal) )) (compound_statement "{\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }" { (if_statement "if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }" if (parenthesized_expression "(1 < local_48)" ( (binary_expression "1 < local_48" number_literal < identifier) )) (compound_statement "{\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }" { (expression_statement "iVar1 = *piVar6;" (assignment_expression "iVar1 = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "piVar8 = piVar6 + 1;" (assignment_expression "piVar8 = piVar6 + 1" identifier = (binary_expression "piVar6 + 1" identifier + number_literal)) ;) (do_statement "do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);" do (compound_statement "{\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                }" { (expression_statement "iVar10 = *piVar8;" (assignment_expression "iVar10 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (if_statement "if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }" if (parenthesized_expression "(iVar1 < iVar10)" ( (binary_expression "iVar1 < iVar10" identifier < identifier) )) (compound_statement "{\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }" { (expression_statement "*piVar6 = iVar10;" (assignment_expression "*piVar6 = iVar10" (pointer_expression "*piVar6" * identifier) = identifier) ;) (expression_statement "iVar1 = iVar10;" (assignment_expression "iVar1 = iVar10" identifier = identifier) ;) })) (expression_statement "piVar8 = piVar8 + 1;" (assignment_expression "piVar8 = piVar8 + 1" identifier = (binary_expression "piVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar6 + local_48 != piVar8)" ( (binary_expression "piVar6 + local_48 != piVar8" (binary_expression "piVar6 + local_48" identifier + identifier) != identifier) )) ;) })) (expression_statement "local_48 = piVar7[5];" (assignment_expression "local_48 = piVar7[5]" identifier = (subscript_expression "piVar7[5]" identifier [ number_literal ])) ;) (expression_statement "piVar6 = (int *)g_realloc_n(piVar6,local_48,4);" (assignment_expression "piVar6 = (int *)g_realloc_n(piVar6,local_48,4)" identifier = (cast_expression "(int *)g_realloc_n(piVar6,local_48,4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "g_realloc_n(piVar6,local_48,4)" identifier (argument_list "(piVar6,local_48,4)" ( identifier , identifier , number_literal ))))) ;) (expression_statement "piVar7 = piVar6 + 1;" (assignment_expression "piVar7 = piVar6 + 1" identifier = (binary_expression "piVar6 + 1" identifier + number_literal)) ;) (if_statement "if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }" if (parenthesized_expression "(1 < local_48)" ( (binary_expression "1 < local_48" number_literal < identifier) )) (compound_statement "{\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }" { (do_statement "do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);" do (compound_statement "{\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                }" { (expression_statement "piVar8 = piVar7 + 1;" (assignment_expression "piVar8 = piVar7 + 1" identifier = (binary_expression "piVar7 + 1" identifier + number_literal)) ;) (expression_statement "*piVar7 = *piVar6;" (assignment_expression "*piVar7 = *piVar6" (pointer_expression "*piVar7" * identifier) = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "piVar7 = piVar8;" (assignment_expression "piVar7 = piVar8" identifier = identifier) ;) }) while (parenthesized_expression "(piVar6 + local_48 != piVar8)" ( (binary_expression "piVar6 + local_48 != piVar8" (binary_expression "piVar6 + local_48" identifier + identifier) != identifier) )) ;) })) (labeled_statement "LAB_0004f400:\n              local_44 = (int *)local_44[1];" statement_identifier : (expression_statement "local_44 = (int *)local_44[1];" (assignment_expression "local_44 = (int *)local_44[1]" identifier = (cast_expression "(int *)local_44[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_44[1]" identifier [ number_literal ]))) ;)) }) (else_clause "else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }" else (compound_statement "{\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }" { (expression_statement "iVar1 = gtk_widget_get_visible(*piVar7);" (assignment_expression "iVar1 = gtk_widget_get_visible(*piVar7)" identifier = (call_expression "gtk_widget_get_visible(*piVar7)" identifier (argument_list "(*piVar7)" ( (pointer_expression "*piVar7" * identifier) )))) ;) (if_statement "if (iVar1 == 0) goto LAB_0004f400;" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004f400;" goto statement_identifier ;)) (expression_statement "gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);" (call_expression "gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0)" identifier (argument_list "(*piVar7,piVar7[9],&local_24,0)" ( (pointer_expression "*piVar7" * identifier) , (subscript_expression "piVar7[9]" identifier [ number_literal ]) , (pointer_expression "&local_24" & identifier) , number_literal ))) ;) (expression_statement "iVar1 = local_24;" (assignment_expression "iVar1 = local_24" identifier = identifier) ;) (expression_statement "puVar5 = (undefined4 *)piVar7[4];" (assignment_expression "puVar5 = (undefined4 *)piVar7[4]" identifier = (cast_expression "(undefined4 *)piVar7[4]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar7[4]" identifier [ number_literal ]))) ;) (expression_statement "local_54 = local_24;" (assignment_expression "local_54 = local_24" identifier = identifier) ;) (if_statement "if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }" if (parenthesized_expression "((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1))" ( (binary_expression "(puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)" (parenthesized_expression "(puVar5 != (undefined4 *)0x0)" ( (binary_expression "puVar5 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)" ( (comma_expression "gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1" (call_expression "gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0)" identifier (argument_list "(*puVar5,puVar5[9],&local_24,0)" ( (pointer_expression "*puVar5" * identifier) , (subscript_expression "puVar5[9]" identifier [ number_literal ]) , (pointer_expression "&local_24" & identifier) , number_literal ))) , (comma_expression "local_54 = local_24, local_24 <= iVar1" (assignment_expression "local_54 = local_24" identifier = identifier) , (binary_expression "local_24 <= iVar1" identifier <= identifier))) ))) )) (compound_statement "{\n                local_54 = iVar1;\n              }" { (expression_statement "local_54 = iVar1;" (assignment_expression "local_54 = iVar1" identifier = identifier) ;) })) (expression_statement "iVar1 = piVar7[2];" (assignment_expression "iVar1 = piVar7[2]" identifier = (subscript_expression "piVar7[2]" identifier [ number_literal ])) ;) (if_statement "if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n                iVar1 = local_48 - piVar7[1];\n              }" { (expression_statement "iVar1 = local_48 - piVar7[1];" (assignment_expression "iVar1 = local_48 - piVar7[1]" identifier = (binary_expression "local_48 - piVar7[1]" identifier - (subscript_expression "piVar7[1]" identifier [ number_literal ]))) ;) })) (expression_statement "iVar10 = *(int *)(iVar3 + 0x1c);" (assignment_expression "iVar10 = *(int *)(iVar3 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar3 + 0x1c)" * (cast_expression "(int *)(iVar3 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x1c)" ( (binary_expression "iVar3 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }" if (parenthesized_expression "(iVar1 < 1)" ( (binary_expression "iVar1 < 1" identifier < number_literal) )) (compound_statement "{\n                local_54 = local_54 + iVar10;\n              }" { (expression_statement "local_54 = local_54 + iVar10;" (assignment_expression "local_54 = local_54 + iVar10" identifier = (binary_expression "local_54 + iVar10" identifier + identifier)) ;) }) (else_clause "else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }" else (compound_statement "{\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }" { (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (expression_statement "piVar8 = piVar6 + piVar7[1];" (assignment_expression "piVar8 = piVar6 + piVar7[1]" identifier = (binary_expression "piVar6 + piVar7[1]" identifier + (subscript_expression "piVar7[1]" identifier [ number_literal ]))) ;) (do_statement "do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);" do (compound_statement "{\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                }" { (if_statement "if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }" if (parenthesized_expression "(iVar11 < *piVar8)" ( (binary_expression "iVar11 < *piVar8" identifier < (pointer_expression "*piVar8" * identifier)) )) (compound_statement "{\n                    iVar11 = *piVar8;\n                  }" { (expression_statement "iVar11 = *piVar8;" (assignment_expression "iVar11 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) })) (expression_statement "piVar8 = piVar8 + 1;" (assignment_expression "piVar8 = piVar8 + 1" identifier = (binary_expression "piVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar6 + piVar7[1] + iVar1 != piVar8)" ( (binary_expression "piVar6 + piVar7[1] + iVar1 != piVar8" (binary_expression "piVar6 + piVar7[1] + iVar1" (binary_expression "piVar6 + piVar7[1]" identifier + (subscript_expression "piVar7[1]" identifier [ number_literal ])) + identifier) != identifier) )) ;) (expression_statement "iVar9 = 1;" (assignment_expression "iVar9 = 1" identifier = number_literal) ;) (expression_statement "local_54 = iVar11 + local_54 + iVar10;" (assignment_expression "local_54 = iVar11 + local_54 + iVar10" identifier = (binary_expression "iVar11 + local_54 + iVar10" (binary_expression "iVar11 + local_54" identifier + identifier) + identifier)) ;) (expression_statement "piVar6[piVar7[1]] = local_54;" (assignment_expression "piVar6[piVar7[1]] = local_54" (subscript_expression "piVar6[piVar7[1]]" identifier [ (subscript_expression "piVar7[1]" identifier [ number_literal ]) ]) = identifier) ;) (if_statement "if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }" if (parenthesized_expression "(iVar1 != 1)" ( (binary_expression "iVar1 != 1" identifier != number_literal) )) (compound_statement "{\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }" { (do_statement "do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);" do (compound_statement "{\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  }" { (expression_statement "iVar10 = piVar7[1] + iVar9;" (assignment_expression "iVar10 = piVar7[1] + iVar9" identifier = (binary_expression "piVar7[1] + iVar9" (subscript_expression "piVar7[1]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "piVar6[iVar10] = local_54;" (assignment_expression "piVar6[iVar10] = local_54" (subscript_expression "piVar6[iVar10]" identifier [ identifier ]) = identifier) ;) }) while (parenthesized_expression "(iVar1 != iVar9)" ( (binary_expression "iVar1 != iVar9" identifier != identifier) )) ;) })) (expression_statement "iVar10 = *(int *)(iVar3 + 0x1c);" (assignment_expression "iVar10 = *(int *)(iVar3 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar3 + 0x1c)" * (cast_expression "(int *)(iVar3 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x1c)" ( (binary_expression "iVar3 + 0x1c" identifier + number_literal) ))))) ;) }))) (expression_statement "piVar7 = (int *)(local_54 - iVar10);" (assignment_expression "piVar7 = (int *)(local_54 - iVar10)" identifier = (cast_expression "(int *)(local_54 - iVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_54 - iVar10)" ( (binary_expression "local_54 - iVar10" identifier - identifier) )))) ;) (if_statement "if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }" if (parenthesized_expression "(local_54 - iVar10 <= (int)local_50)" ( (binary_expression "local_54 - iVar10 <= (int)local_50" (binary_expression "local_54 - iVar10" identifier - identifier) <= (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                piVar7 = local_50;\n              }" { (expression_statement "piVar7 = local_50;" (assignment_expression "piVar7 = local_50" identifier = identifier) ;) })) (expression_statement "local_44 = (int *)local_44[1];" (assignment_expression "local_44 = (int *)local_44[1]" identifier = (cast_expression "(int *)local_44[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_44[1]" identifier [ number_literal ]))) ;) (expression_statement "local_50 = piVar7;" (assignment_expression "local_50 = piVar7" identifier = identifier) ;) }))) }) while (parenthesized_expression "((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0))" ( (binary_expression "(local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)" (parenthesized_expression "(local_44 != (int *)0x0)" ( (binary_expression "local_44 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(piVar7 = (int *)*local_44, piVar7 != (int *)0x0)" ( (comma_expression "piVar7 = (int *)*local_44, piVar7 != (int *)0x0" (assignment_expression "piVar7 = (int *)*local_44" identifier = (cast_expression "(int *)*local_44" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_44" * identifier))) , (binary_expression "piVar7 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) ;) })) (expression_statement "uVar4 = g_type_check_instance_cast(iVar3,uVar2);" (assignment_expression "uVar4 = g_type_check_instance_cast(iVar3,uVar2)" identifier = (call_expression "g_type_check_instance_cast(iVar3,uVar2)" identifier (argument_list "(iVar3,uVar2)" ( identifier , identifier )))) ;) (expression_statement "iVar1 = gtk_container_get_border_width(uVar4);" (assignment_expression "iVar1 = gtk_container_get_border_width(uVar4)" identifier = (call_expression "gtk_container_get_border_width(uVar4)" identifier (argument_list "(uVar4)" ( identifier )))) ;) (expression_statement "g_free(piVar6);" (call_expression "g_free(piVar6)" identifier (argument_list "(piVar6)" ( identifier ))) ;) (expression_statement "*param_3 = (int)local_50 + iVar1 * 2;" (assignment_expression "*param_3 = (int)local_50 + iVar1 * 2" (pointer_expression "*param_3" * identifier) = (binary_expression "(int)local_50 + iVar1 * 2" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar1 * 2" identifier * number_literal))) ;) })) (if_statement "if (param_4 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar2 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar3 = gtk_container_get_border_width(uVar2);\n        g_free(piVar6);\n        *param_4 = (int)local_50 + iVar3 * 2;\n      }" if (parenthesized_expression "(param_4 != (int *)0x0)" ( (binary_expression "param_4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar2 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar3 = gtk_container_get_border_width(uVar2);\n        g_free(piVar6);\n        *param_4 = (int)local_50 + iVar3 * 2;\n      }" { (expression_statement "local_50 = *(int **)(iVar3 + 0x1c);" (assignment_expression "local_50 = *(int **)(iVar3 + 0x1c)" identifier = (pointer_expression "*(int **)(iVar3 + 0x1c)" * (cast_expression "(int **)(iVar3 + 0x1c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x1c)" ( (binary_expression "iVar3 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "piVar6 = (int *)g_malloc(4);" (assignment_expression "piVar6 = (int *)g_malloc(4)" identifier = (cast_expression "(int *)g_malloc(4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "g_malloc(4)" identifier (argument_list "(4)" ( number_literal ))))) ;) (expression_statement "*piVar6 = 0;" (assignment_expression "*piVar6 = 0" (pointer_expression "*piVar6" * identifier) = number_literal) ;) (expression_statement "local_44 = *(int **)(iVar3 + 0x14);" (assignment_expression "local_44 = *(int **)(iVar3 + 0x14)" identifier = (pointer_expression "*(int **)(iVar3 + 0x14)" * (cast_expression "(int **)(iVar3 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x14)" ( (binary_expression "iVar3 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }" if (parenthesized_expression "((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0))" ( (binary_expression "(local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)" (parenthesized_expression "(local_44 != (int *)0x0)" ( (binary_expression "local_44 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(piVar7 = (int *)*local_44, piVar7 != (int *)0x0)" ( (comma_expression "piVar7 = (int *)*local_44, piVar7 != (int *)0x0" (assignment_expression "piVar7 = (int *)*local_44" identifier = (cast_expression "(int *)*local_44" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_44" * identifier))) , (binary_expression "piVar7 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }" { (expression_statement "local_48 = 1;" (assignment_expression "local_48 = 1" identifier = number_literal) ;) (do_statement "do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));" do (compound_statement "{\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          }" { (if_statement "if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }" if (parenthesized_expression "(*piVar7 == 0)" ( (binary_expression "*piVar7 == 0" (pointer_expression "*piVar7" * identifier) == number_literal) )) (compound_statement "{\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }" { (if_statement "if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }" if (parenthesized_expression "(1 < local_48)" ( (binary_expression "1 < local_48" number_literal < identifier) )) (compound_statement "{\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }" { (expression_statement "iVar1 = *piVar6;" (assignment_expression "iVar1 = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "piVar8 = piVar6 + 1;" (assignment_expression "piVar8 = piVar6 + 1" identifier = (binary_expression "piVar6 + 1" identifier + number_literal)) ;) (do_statement "do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);" do (compound_statement "{\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                }" { (expression_statement "iVar10 = *piVar8;" (assignment_expression "iVar10 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (if_statement "if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }" if (parenthesized_expression "(iVar1 < iVar10)" ( (binary_expression "iVar1 < iVar10" identifier < identifier) )) (compound_statement "{\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }" { (expression_statement "*piVar6 = iVar10;" (assignment_expression "*piVar6 = iVar10" (pointer_expression "*piVar6" * identifier) = identifier) ;) (expression_statement "iVar1 = iVar10;" (assignment_expression "iVar1 = iVar10" identifier = identifier) ;) })) (expression_statement "piVar8 = piVar8 + 1;" (assignment_expression "piVar8 = piVar8 + 1" identifier = (binary_expression "piVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar8 != piVar6 + local_48)" ( (binary_expression "piVar8 != piVar6 + local_48" identifier != (binary_expression "piVar6 + local_48" identifier + identifier)) )) ;) })) (expression_statement "local_48 = piVar7[5];" (assignment_expression "local_48 = piVar7[5]" identifier = (subscript_expression "piVar7[5]" identifier [ number_literal ])) ;) (expression_statement "piVar6 = (int *)g_realloc_n(piVar6,local_48,4);" (assignment_expression "piVar6 = (int *)g_realloc_n(piVar6,local_48,4)" identifier = (cast_expression "(int *)g_realloc_n(piVar6,local_48,4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "g_realloc_n(piVar6,local_48,4)" identifier (argument_list "(piVar6,local_48,4)" ( identifier , identifier , number_literal ))))) ;) (expression_statement "piVar7 = piVar6 + 1;" (assignment_expression "piVar7 = piVar6 + 1" identifier = (binary_expression "piVar6 + 1" identifier + number_literal)) ;) (if_statement "if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }" if (parenthesized_expression "(1 < local_48)" ( (binary_expression "1 < local_48" number_literal < identifier) )) (compound_statement "{\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }" { (do_statement "do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);" do (compound_statement "{\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                }" { (expression_statement "piVar8 = piVar7 + 1;" (assignment_expression "piVar8 = piVar7 + 1" identifier = (binary_expression "piVar7 + 1" identifier + number_literal)) ;) (expression_statement "*piVar7 = *piVar6;" (assignment_expression "*piVar7 = *piVar6" (pointer_expression "*piVar7" * identifier) = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "piVar7 = piVar8;" (assignment_expression "piVar7 = piVar8" identifier = identifier) ;) }) while (parenthesized_expression "(piVar6 + local_48 != piVar8)" ( (binary_expression "piVar6 + local_48 != piVar8" (binary_expression "piVar6 + local_48" identifier + identifier) != identifier) )) ;) })) (labeled_statement "LAB_0004f5b8:\n              local_44 = (int *)local_44[1];" statement_identifier : (expression_statement "local_44 = (int *)local_44[1];" (assignment_expression "local_44 = (int *)local_44[1]" identifier = (cast_expression "(int *)local_44[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_44[1]" identifier [ number_literal ]))) ;)) }) (else_clause "else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }" else (compound_statement "{\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }" { (expression_statement "iVar1 = gtk_widget_get_visible(*piVar7);" (assignment_expression "iVar1 = gtk_widget_get_visible(*piVar7)" identifier = (call_expression "gtk_widget_get_visible(*piVar7)" identifier (argument_list "(*piVar7)" ( (pointer_expression "*piVar7" * identifier) )))) ;) (if_statement "if (iVar1 == 0) goto LAB_0004f5b8;" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004f5b8;" goto statement_identifier ;)) (expression_statement "gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);" (call_expression "gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24)" identifier (argument_list "(*piVar7,piVar7[9],0,&local_24)" ( (pointer_expression "*piVar7" * identifier) , (subscript_expression "piVar7[9]" identifier [ number_literal ]) , number_literal , (pointer_expression "&local_24" & identifier) ))) ;) (expression_statement "iVar1 = local_24;" (assignment_expression "iVar1 = local_24" identifier = identifier) ;) (expression_statement "puVar5 = (undefined4 *)piVar7[4];" (assignment_expression "puVar5 = (undefined4 *)piVar7[4]" identifier = (cast_expression "(undefined4 *)piVar7[4]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar7[4]" identifier [ number_literal ]))) ;) (expression_statement "local_54 = local_24;" (assignment_expression "local_54 = local_24" identifier = identifier) ;) (if_statement "if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }" if (parenthesized_expression "((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1))" ( (binary_expression "(puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)" (parenthesized_expression "(puVar5 != (undefined4 *)0x0)" ( (binary_expression "puVar5 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)" ( (comma_expression "gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1" (call_expression "gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24)" identifier (argument_list "(*puVar5,puVar5[9],0,&local_24)" ( (pointer_expression "*puVar5" * identifier) , (subscript_expression "puVar5[9]" identifier [ number_literal ]) , number_literal , (pointer_expression "&local_24" & identifier) ))) , (comma_expression "local_54 = local_24, local_24 <= iVar1" (assignment_expression "local_54 = local_24" identifier = identifier) , (binary_expression "local_24 <= iVar1" identifier <= identifier))) ))) )) (compound_statement "{\n                local_54 = iVar1;\n              }" { (expression_statement "local_54 = iVar1;" (assignment_expression "local_54 = iVar1" identifier = identifier) ;) })) (expression_statement "iVar1 = piVar7[2];" (assignment_expression "iVar1 = piVar7[2]" identifier = (subscript_expression "piVar7[2]" identifier [ number_literal ])) ;) (if_statement "if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n                iVar1 = local_48 - piVar7[1];\n              }" { (expression_statement "iVar1 = local_48 - piVar7[1];" (assignment_expression "iVar1 = local_48 - piVar7[1]" identifier = (binary_expression "local_48 - piVar7[1]" identifier - (subscript_expression "piVar7[1]" identifier [ number_literal ]))) ;) })) (expression_statement "iVar10 = *(int *)(iVar3 + 0x1c);" (assignment_expression "iVar10 = *(int *)(iVar3 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar3 + 0x1c)" * (cast_expression "(int *)(iVar3 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x1c)" ( (binary_expression "iVar3 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }" if (parenthesized_expression "(iVar1 < 1)" ( (binary_expression "iVar1 < 1" identifier < number_literal) )) (compound_statement "{\n                local_54 = local_54 + iVar10;\n              }" { (expression_statement "local_54 = local_54 + iVar10;" (assignment_expression "local_54 = local_54 + iVar10" identifier = (binary_expression "local_54 + iVar10" identifier + identifier)) ;) }) (else_clause "else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }" else (compound_statement "{\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }" { (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (expression_statement "piVar8 = piVar6 + piVar7[1];" (assignment_expression "piVar8 = piVar6 + piVar7[1]" identifier = (binary_expression "piVar6 + piVar7[1]" identifier + (subscript_expression "piVar7[1]" identifier [ number_literal ]))) ;) (do_statement "do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);" do (compound_statement "{\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                }" { (if_statement "if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }" if (parenthesized_expression "(iVar11 < *piVar8)" ( (binary_expression "iVar11 < *piVar8" identifier < (pointer_expression "*piVar8" * identifier)) )) (compound_statement "{\n                    iVar11 = *piVar8;\n                  }" { (expression_statement "iVar11 = *piVar8;" (assignment_expression "iVar11 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) })) (expression_statement "piVar8 = piVar8 + 1;" (assignment_expression "piVar8 = piVar8 + 1" identifier = (binary_expression "piVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar6 + piVar7[1] + iVar1 != piVar8)" ( (binary_expression "piVar6 + piVar7[1] + iVar1 != piVar8" (binary_expression "piVar6 + piVar7[1] + iVar1" (binary_expression "piVar6 + piVar7[1]" identifier + (subscript_expression "piVar7[1]" identifier [ number_literal ])) + identifier) != identifier) )) ;) (expression_statement "iVar9 = 1;" (assignment_expression "iVar9 = 1" identifier = number_literal) ;) (expression_statement "local_54 = iVar11 + local_54 + iVar10;" (assignment_expression "local_54 = iVar11 + local_54 + iVar10" identifier = (binary_expression "iVar11 + local_54 + iVar10" (binary_expression "iVar11 + local_54" identifier + identifier) + identifier)) ;) (expression_statement "piVar6[piVar7[1]] = local_54;" (assignment_expression "piVar6[piVar7[1]] = local_54" (subscript_expression "piVar6[piVar7[1]]" identifier [ (subscript_expression "piVar7[1]" identifier [ number_literal ]) ]) = identifier) ;) (if_statement "if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }" if (parenthesized_expression "(iVar1 != 1)" ( (binary_expression "iVar1 != 1" identifier != number_literal) )) (compound_statement "{\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }" { (do_statement "do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);" do (compound_statement "{\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  }" { (expression_statement "iVar10 = piVar7[1] + iVar9;" (assignment_expression "iVar10 = piVar7[1] + iVar9" identifier = (binary_expression "piVar7[1] + iVar9" (subscript_expression "piVar7[1]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "piVar6[iVar10] = local_54;" (assignment_expression "piVar6[iVar10] = local_54" (subscript_expression "piVar6[iVar10]" identifier [ identifier ]) = identifier) ;) }) while (parenthesized_expression "(iVar1 != iVar9)" ( (binary_expression "iVar1 != iVar9" identifier != identifier) )) ;) })) (expression_statement "iVar10 = *(int *)(iVar3 + 0x1c);" (assignment_expression "iVar10 = *(int *)(iVar3 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar3 + 0x1c)" * (cast_expression "(int *)(iVar3 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x1c)" ( (binary_expression "iVar3 + 0x1c" identifier + number_literal) ))))) ;) }))) (expression_statement "piVar7 = (int *)(local_54 - iVar10);" (assignment_expression "piVar7 = (int *)(local_54 - iVar10)" identifier = (cast_expression "(int *)(local_54 - iVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_54 - iVar10)" ( (binary_expression "local_54 - iVar10" identifier - identifier) )))) ;) (if_statement "if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }" if (parenthesized_expression "(local_54 - iVar10 <= (int)local_50)" ( (binary_expression "local_54 - iVar10 <= (int)local_50" (binary_expression "local_54 - iVar10" identifier - identifier) <= (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                piVar7 = local_50;\n              }" { (expression_statement "piVar7 = local_50;" (assignment_expression "piVar7 = local_50" identifier = identifier) ;) })) (expression_statement "local_44 = (int *)local_44[1];" (assignment_expression "local_44 = (int *)local_44[1]" identifier = (cast_expression "(int *)local_44[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_44[1]" identifier [ number_literal ]))) ;) (expression_statement "local_50 = piVar7;" (assignment_expression "local_50 = piVar7" identifier = identifier) ;) }))) }) while (parenthesized_expression "((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0))" ( (binary_expression "(local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)" (parenthesized_expression "(local_44 != (int *)0x0)" ( (binary_expression "local_44 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(piVar7 = (int *)*local_44, piVar7 != (int *)0x0)" ( (comma_expression "piVar7 = (int *)*local_44, piVar7 != (int *)0x0" (assignment_expression "piVar7 = (int *)*local_44" identifier = (cast_expression "(int *)*local_44" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_44" * identifier))) , (binary_expression "piVar7 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) ;) })) (expression_statement "uVar2 = g_type_check_instance_cast(iVar3,uVar2);" (assignment_expression "uVar2 = g_type_check_instance_cast(iVar3,uVar2)" identifier = (call_expression "g_type_check_instance_cast(iVar3,uVar2)" identifier (argument_list "(iVar3,uVar2)" ( identifier , identifier )))) ;) (expression_statement "iVar3 = gtk_container_get_border_width(uVar2);" (assignment_expression "iVar3 = gtk_container_get_border_width(uVar2)" identifier = (call_expression "gtk_container_get_border_width(uVar2)" identifier (argument_list "(uVar2)" ( identifier )))) ;) (expression_statement "g_free(piVar6);" (call_expression "g_free(piVar6)" identifier (argument_list "(piVar6)" ( identifier ))) ;) (expression_statement "*param_4 = (int)local_50 + iVar3 * 2;" (assignment_expression "*param_4 = (int)local_50 + iVar3 * 2" (pointer_expression "*param_4" * identifier) = (binary_expression "(int)local_50 + iVar3 * 2" (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar3 * 2" identifier * number_literal))) ;) })) }))) }))) (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0006c950();\n  }" if (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n    FUN_0006c950();\n  }" { (expression_statement "FUN_0006c950();" (call_expression "FUN_0006c950()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * 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 (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (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 == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) != IDENT) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (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 + (binary_expression IDENT * LIT)) )))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) * IDENT) )) / LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_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 = (subscript_expression IDENT [ IDENT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression IDENT + IDENT) ]) - IDENT) )) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;)) }))) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) != IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) != IDENT) )) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * IDENT) , (subscript_expression IDENT [ LIT ]) , (pointer_expression & IDENT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (call_expression IDENT (argument_list ( (pointer_expression * IDENT) , (subscript_expression IDENT [ LIT ]) , (pointer_expression & IDENT) , LIT ))) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT <= IDENT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (subscript_expression IDENT [ LIT ]))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + (subscript_expression IDENT [ LIT ])) + IDENT) != IDENT) )) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (subscript_expression IDENT [ LIT ]) ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT - IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - IDENT) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + IDENT)) )) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) != IDENT) )) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * IDENT) , (subscript_expression IDENT [ LIT ]) , LIT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (call_expression IDENT (argument_list ( (pointer_expression * IDENT) , (subscript_expression IDENT [ LIT ]) , LIT , (pointer_expression & IDENT) ))) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT <= IDENT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (subscript_expression IDENT [ LIT ]))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + (subscript_expression IDENT [ LIT ])) + IDENT) != IDENT) )) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (subscript_expression IDENT [ LIT ]) ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT - IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - IDENT) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (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 (call_expression IDENT (argument_list ( ))) ;) })) (return_statement return ;) })))
(function_definition "void FUN_0004f180(int *param_1,int param_2,int *param_3,int *param_4)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  undefined4 *puVar5;\n  int *piVar6;\n  int *piVar7;\n  int *piVar8;\n  int iVar9;\n  int iVar10;\n  int unaff_EBP;\n  int iVar11;\n  int in_GS_OFFSET;\n  int local_54;\n  int *local_50;\n  int local_48;\n  int *local_44;\n  int local_24;\n  int local_20;\n  \n  FUN_0001af2e();\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == (int *)0x0) {\n    g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38508);\n  }\n  else {\n    iVar3 = *(int *)(unaff_EBP + 0x66f4a);\n    if (iVar3 == 0) {\n      uVar2 = gtk_container_get_type();\n      iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n      *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n    }\n    if ((((int *)*param_1 == (int *)0x0) || (*(int *)*param_1 != iVar3)) &&\n       (iVar1 = g_type_check_instance_is_a(param_1,iVar3), iVar1 == 0)) {\n      g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38517);\n    }\n    else {\n      uVar2 = gtk_container_get_type();\n      if (iVar3 == 0) {\n        iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n        *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n      }\n      iVar3 = g_type_check_instance_cast(param_1,iVar3);\n      uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n      iVar1 = gtk_container_get_border_width(uVar4);\n      puVar5 = (undefined4 *)g_malloc(8);\n      *puVar5 = 0;\n      param_2 = param_2 + iVar1 * -2;\n      puVar5[1] = param_2 + *(int *)(iVar3 + 0x1c);\n      local_50 = *(int **)(iVar3 + 0x14);\n      if ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0)) {\n        local_54 = 1;\n        do {\n          if (*piVar6 == 0) {\n            local_54 = piVar6[5];\n            iVar1 = piVar6[6];\n            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);\n            *puVar5 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar11 = 0;\n            iVar10 = 0;\n            do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0));\n      }\n      g_free(puVar5);\n      if (param_3 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar1 = gtk_container_get_border_width(uVar4);\n        g_free(piVar6);\n        *param_3 = (int)local_50 + iVar1 * 2;\n      }\n      if (param_4 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar2 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar3 = gtk_container_get_border_width(uVar2);\n        g_free(piVar6);\n        *param_4 = (int)local_50 + iVar3 * 2;\n      }\n    }\n  }\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0006c950();\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_0004f180(int *param_1,int param_2,int *param_3,int *param_4)" (identifier "FUN_0004f180") (parameter_list "(int *param_1,int param_2,int *param_3,int *param_4)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "int *param_3" (primitive_type "int") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "int *param_4" (primitive_type "int") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) () ")"))) (compound_statement "{\n  int iVar1;\n  undefined4 uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  undefined4 *puVar5;\n  int *piVar6;\n  int *piVar7;\n  int *piVar8;\n  int iVar9;\n  int iVar10;\n  int unaff_EBP;\n  int iVar11;\n  int in_GS_OFFSET;\n  int local_54;\n  int *local_50;\n  int local_48;\n  int *local_44;\n  int local_24;\n  int local_20;\n  \n  FUN_0001af2e();\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == (int *)0x0) {\n    g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38508);\n  }\n  else {\n    iVar3 = *(int *)(unaff_EBP + 0x66f4a);\n    if (iVar3 == 0) {\n      uVar2 = gtk_container_get_type();\n      iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n      *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n    }\n    if ((((int *)*param_1 == (int *)0x0) || (*(int *)*param_1 != iVar3)) &&\n       (iVar1 = g_type_check_instance_is_a(param_1,iVar3), iVar1 == 0)) {\n      g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38517);\n    }\n    else {\n      uVar2 = gtk_container_get_type();\n      if (iVar3 == 0) {\n        iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n        *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n      }\n      iVar3 = g_type_check_instance_cast(param_1,iVar3);\n      uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n      iVar1 = gtk_container_get_border_width(uVar4);\n      puVar5 = (undefined4 *)g_malloc(8);\n      *puVar5 = 0;\n      param_2 = param_2 + iVar1 * -2;\n      puVar5[1] = param_2 + *(int *)(iVar3 + 0x1c);\n      local_50 = *(int **)(iVar3 + 0x14);\n      if ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0)) {\n        local_54 = 1;\n        do {\n          if (*piVar6 == 0) {\n            local_54 = piVar6[5];\n            iVar1 = piVar6[6];\n            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);\n            *puVar5 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar11 = 0;\n            iVar10 = 0;\n            do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0));\n      }\n      g_free(puVar5);\n      if (param_3 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar1 = gtk_container_get_border_width(uVar4);\n        g_free(piVar6);\n        *param_3 = (int)local_50 + iVar1 * 2;\n      }\n      if (param_4 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar2 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar3 = gtk_container_get_border_width(uVar2);\n        g_free(piVar6);\n        *param_4 = (int)local_50 + iVar3 * 2;\n      }\n    }\n  }\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0006c950();\n  }\n  return;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "undefined4 *puVar5;" (type_identifier "undefined4") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "int *piVar6;" (primitive_type "int") (pointer_declarator "*piVar6" (* "*") (identifier "piVar6")) (; ";")) (declaration "int *piVar7;" (primitive_type "int") (pointer_declarator "*piVar7" (* "*") (identifier "piVar7")) (; ";")) (declaration "int *piVar8;" (primitive_type "int") (pointer_declarator "*piVar8" (* "*") (identifier "piVar8")) (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "int unaff_EBP;" (primitive_type "int") (identifier "unaff_EBP") (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "int local_54;" (primitive_type "int") (identifier "local_54") (; ";")) (declaration "int *local_50;" (primitive_type "int") (pointer_declarator "*local_50" (* "*") (identifier "local_50")) (; ";")) (declaration "int local_48;" (primitive_type "int") (identifier "local_48") (; ";")) (declaration "int *local_44;" (primitive_type "int") (pointer_declarator "*local_44" (* "*") (identifier "local_44")) (; ";")) (declaration "int local_24;" (primitive_type "int") (identifier "local_24") (; ";")) (declaration "int local_20;" (primitive_type "int") (identifier "local_20") (; ";")) (expression_statement "FUN_0001af2e();" (call_expression "FUN_0001af2e()" (identifier "FUN_0001af2e") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (= "=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (param_1 == (int *)0x0) {\n    g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38508);\n  }\n  else {\n    iVar3 = *(int *)(unaff_EBP + 0x66f4a);\n    if (iVar3 == 0) {\n      uVar2 = gtk_container_get_type();\n      iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n      *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n    }\n    if ((((int *)*param_1 == (int *)0x0) || (*(int *)*param_1 != iVar3)) &&\n       (iVar1 = g_type_check_instance_is_a(param_1,iVar3), iVar1 == 0)) {\n      g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38517);\n    }\n    else {\n      uVar2 = gtk_container_get_type();\n      if (iVar3 == 0) {\n        iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n        *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n      }\n      iVar3 = g_type_check_instance_cast(param_1,iVar3);\n      uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n      iVar1 = gtk_container_get_border_width(uVar4);\n      puVar5 = (undefined4 *)g_malloc(8);\n      *puVar5 = 0;\n      param_2 = param_2 + iVar1 * -2;\n      puVar5[1] = param_2 + *(int *)(iVar3 + 0x1c);\n      local_50 = *(int **)(iVar3 + 0x14);\n      if ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0)) {\n        local_54 = 1;\n        do {\n          if (*piVar6 == 0) {\n            local_54 = piVar6[5];\n            iVar1 = piVar6[6];\n            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);\n            *puVar5 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar11 = 0;\n            iVar10 = 0;\n            do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0));\n      }\n      g_free(puVar5);\n      if (param_3 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar1 = gtk_container_get_border_width(uVar4);\n        g_free(piVar6);\n        *param_3 = (int)local_50 + iVar1 * 2;\n      }\n      if (param_4 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar2 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar3 = gtk_container_get_border_width(uVar2);\n        g_free(piVar6);\n        *param_4 = (int)local_50 + iVar3 * 2;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(param_1 == (int *)0x0)" (( "(") (binary_expression "param_1 == (int *)0x0" (identifier "param_1") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38508);\n  }" ({ "{") (expression_statement "g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38508);" (call_expression "g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38508)" (identifier "g_return_if_fail_warning") (argument_list "(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38508)" (( "(") (number_literal "0") (, ",") (binary_expression "unaff_EBP + 0x3879a" (identifier "unaff_EBP") (+ "+") (number_literal "0x3879a")) (, ",") (binary_expression "unaff_EBP + 0x38508" (identifier "unaff_EBP") (+ "+") (number_literal "0x38508")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n    iVar3 = *(int *)(unaff_EBP + 0x66f4a);\n    if (iVar3 == 0) {\n      uVar2 = gtk_container_get_type();\n      iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n      *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n    }\n    if ((((int *)*param_1 == (int *)0x0) || (*(int *)*param_1 != iVar3)) &&\n       (iVar1 = g_type_check_instance_is_a(param_1,iVar3), iVar1 == 0)) {\n      g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38517);\n    }\n    else {\n      uVar2 = gtk_container_get_type();\n      if (iVar3 == 0) {\n        iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n        *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n      }\n      iVar3 = g_type_check_instance_cast(param_1,iVar3);\n      uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n      iVar1 = gtk_container_get_border_width(uVar4);\n      puVar5 = (undefined4 *)g_malloc(8);\n      *puVar5 = 0;\n      param_2 = param_2 + iVar1 * -2;\n      puVar5[1] = param_2 + *(int *)(iVar3 + 0x1c);\n      local_50 = *(int **)(iVar3 + 0x14);\n      if ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0)) {\n        local_54 = 1;\n        do {\n          if (*piVar6 == 0) {\n            local_54 = piVar6[5];\n            iVar1 = piVar6[6];\n            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);\n            *puVar5 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar11 = 0;\n            iVar10 = 0;\n            do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0));\n      }\n      g_free(puVar5);\n      if (param_3 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar1 = gtk_container_get_border_width(uVar4);\n        g_free(piVar6);\n        *param_3 = (int)local_50 + iVar1 * 2;\n      }\n      if (param_4 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar2 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar3 = gtk_container_get_border_width(uVar2);\n        g_free(piVar6);\n        *param_4 = (int)local_50 + iVar3 * 2;\n      }\n    }\n  }" (else "else") (compound_statement "{\n    iVar3 = *(int *)(unaff_EBP + 0x66f4a);\n    if (iVar3 == 0) {\n      uVar2 = gtk_container_get_type();\n      iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n      *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n    }\n    if ((((int *)*param_1 == (int *)0x0) || (*(int *)*param_1 != iVar3)) &&\n       (iVar1 = g_type_check_instance_is_a(param_1,iVar3), iVar1 == 0)) {\n      g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38517);\n    }\n    else {\n      uVar2 = gtk_container_get_type();\n      if (iVar3 == 0) {\n        iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n        *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n      }\n      iVar3 = g_type_check_instance_cast(param_1,iVar3);\n      uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n      iVar1 = gtk_container_get_border_width(uVar4);\n      puVar5 = (undefined4 *)g_malloc(8);\n      *puVar5 = 0;\n      param_2 = param_2 + iVar1 * -2;\n      puVar5[1] = param_2 + *(int *)(iVar3 + 0x1c);\n      local_50 = *(int **)(iVar3 + 0x14);\n      if ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0)) {\n        local_54 = 1;\n        do {\n          if (*piVar6 == 0) {\n            local_54 = piVar6[5];\n            iVar1 = piVar6[6];\n            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);\n            *puVar5 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar11 = 0;\n            iVar10 = 0;\n            do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0));\n      }\n      g_free(puVar5);\n      if (param_3 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar1 = gtk_container_get_border_width(uVar4);\n        g_free(piVar6);\n        *param_3 = (int)local_50 + iVar1 * 2;\n      }\n      if (param_4 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar2 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar3 = gtk_container_get_border_width(uVar2);\n        g_free(piVar6);\n        *param_4 = (int)local_50 + iVar3 * 2;\n      }\n    }\n  }" ({ "{") (expression_statement "iVar3 = *(int *)(unaff_EBP + 0x66f4a);" (assignment_expression "iVar3 = *(int *)(unaff_EBP + 0x66f4a)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(unaff_EBP + 0x66f4a)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x66f4a)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x66f4a)" (( "(") (binary_expression "unaff_EBP + 0x66f4a" (identifier "unaff_EBP") (+ "+") (number_literal "0x66f4a")) () ")"))))) (; ";")) (if_statement "if (iVar3 == 0) {\n      uVar2 = gtk_container_get_type();\n      iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n      *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n    }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar2 = gtk_container_get_type();\n      iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n      *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n    }" ({ "{") (expression_statement "uVar2 = gtk_container_get_type();" (assignment_expression "uVar2 = gtk_container_get_type()" (identifier "uVar2") (= "=") (call_expression "gtk_container_get_type()" (identifier "gtk_container_get_type") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);" (assignment_expression "iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0)" (identifier "iVar3") (= "=") (call_expression "g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0)" (identifier "g_type_register_static") (argument_list "(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0)" (( "(") (identifier "uVar2") (, ",") (binary_expression "unaff_EBP + 0x30f20" (identifier "unaff_EBP") (+ "+") (number_literal "0x30f20")) (, ",") (binary_expression "unaff_EBP + 0x65b5a" (identifier "unaff_EBP") (+ "+") (number_literal "0x65b5a")) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "*(int *)(unaff_EBP + 0x66f4a) = iVar3;" (assignment_expression "*(int *)(unaff_EBP + 0x66f4a) = iVar3" (pointer_expression "*(int *)(unaff_EBP + 0x66f4a)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x66f4a)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x66f4a)" (( "(") (binary_expression "unaff_EBP + 0x66f4a" (identifier "unaff_EBP") (+ "+") (number_literal "0x66f4a")) () ")")))) (= "=") (identifier "iVar3")) (; ";")) (} "}"))) (if_statement "if ((((int *)*param_1 == (int *)0x0) || (*(int *)*param_1 != iVar3)) &&\n       (iVar1 = g_type_check_instance_is_a(param_1,iVar3), iVar1 == 0)) {\n      g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38517);\n    }\n    else {\n      uVar2 = gtk_container_get_type();\n      if (iVar3 == 0) {\n        iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n        *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n      }\n      iVar3 = g_type_check_instance_cast(param_1,iVar3);\n      uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n      iVar1 = gtk_container_get_border_width(uVar4);\n      puVar5 = (undefined4 *)g_malloc(8);\n      *puVar5 = 0;\n      param_2 = param_2 + iVar1 * -2;\n      puVar5[1] = param_2 + *(int *)(iVar3 + 0x1c);\n      local_50 = *(int **)(iVar3 + 0x14);\n      if ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0)) {\n        local_54 = 1;\n        do {\n          if (*piVar6 == 0) {\n            local_54 = piVar6[5];\n            iVar1 = piVar6[6];\n            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);\n            *puVar5 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar11 = 0;\n            iVar10 = 0;\n            do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0));\n      }\n      g_free(puVar5);\n      if (param_3 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar1 = gtk_container_get_border_width(uVar4);\n        g_free(piVar6);\n        *param_3 = (int)local_50 + iVar1 * 2;\n      }\n      if (param_4 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar2 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar3 = gtk_container_get_border_width(uVar2);\n        g_free(piVar6);\n        *param_4 = (int)local_50 + iVar3 * 2;\n      }\n    }" (if "if") (parenthesized_expression "((((int *)*param_1 == (int *)0x0) || (*(int *)*param_1 != iVar3)) &&\n       (iVar1 = g_type_check_instance_is_a(param_1,iVar3), iVar1 == 0))" (( "(") (binary_expression "(((int *)*param_1 == (int *)0x0) || (*(int *)*param_1 != iVar3)) &&\n       (iVar1 = g_type_check_instance_is_a(param_1,iVar3), iVar1 == 0)" (parenthesized_expression "(((int *)*param_1 == (int *)0x0) || (*(int *)*param_1 != iVar3))" (( "(") (binary_expression "((int *)*param_1 == (int *)0x0) || (*(int *)*param_1 != iVar3)" (parenthesized_expression "((int *)*param_1 == (int *)0x0)" (( "(") (binary_expression "(int *)*param_1 == (int *)0x0" (cast_expression "(int *)*param_1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(*(int *)*param_1 != iVar3)" (( "(") (binary_expression "*(int *)*param_1 != iVar3" (pointer_expression "*(int *)*param_1" (* "*") (cast_expression "(int *)*param_1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_1" (* "*") (identifier "param_1")))) (!= "!=") (identifier "iVar3")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(iVar1 = g_type_check_instance_is_a(param_1,iVar3), iVar1 == 0)" (( "(") (comma_expression "iVar1 = g_type_check_instance_is_a(param_1,iVar3), iVar1 == 0" (assignment_expression "iVar1 = g_type_check_instance_is_a(param_1,iVar3)" (identifier "iVar1") (= "=") (call_expression "g_type_check_instance_is_a(param_1,iVar3)" (identifier "g_type_check_instance_is_a") (argument_list "(param_1,iVar3)" (( "(") (identifier "param_1") (, ",") (identifier "iVar3") () ")")))) (, ",") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n      g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38517);\n    }" ({ "{") (expression_statement "g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38517);" (call_expression "g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38517)" (identifier "g_return_if_fail_warning") (argument_list "(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38517)" (( "(") (number_literal "0") (, ",") (binary_expression "unaff_EBP + 0x3879a" (identifier "unaff_EBP") (+ "+") (number_literal "0x3879a")) (, ",") (binary_expression "unaff_EBP + 0x38517" (identifier "unaff_EBP") (+ "+") (number_literal "0x38517")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n      uVar2 = gtk_container_get_type();\n      if (iVar3 == 0) {\n        iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n        *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n      }\n      iVar3 = g_type_check_instance_cast(param_1,iVar3);\n      uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n      iVar1 = gtk_container_get_border_width(uVar4);\n      puVar5 = (undefined4 *)g_malloc(8);\n      *puVar5 = 0;\n      param_2 = param_2 + iVar1 * -2;\n      puVar5[1] = param_2 + *(int *)(iVar3 + 0x1c);\n      local_50 = *(int **)(iVar3 + 0x14);\n      if ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0)) {\n        local_54 = 1;\n        do {\n          if (*piVar6 == 0) {\n            local_54 = piVar6[5];\n            iVar1 = piVar6[6];\n            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);\n            *puVar5 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar11 = 0;\n            iVar10 = 0;\n            do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0));\n      }\n      g_free(puVar5);\n      if (param_3 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar1 = gtk_container_get_border_width(uVar4);\n        g_free(piVar6);\n        *param_3 = (int)local_50 + iVar1 * 2;\n      }\n      if (param_4 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar2 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar3 = gtk_container_get_border_width(uVar2);\n        g_free(piVar6);\n        *param_4 = (int)local_50 + iVar3 * 2;\n      }\n    }" (else "else") (compound_statement "{\n      uVar2 = gtk_container_get_type();\n      if (iVar3 == 0) {\n        iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n        *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n      }\n      iVar3 = g_type_check_instance_cast(param_1,iVar3);\n      uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n      iVar1 = gtk_container_get_border_width(uVar4);\n      puVar5 = (undefined4 *)g_malloc(8);\n      *puVar5 = 0;\n      param_2 = param_2 + iVar1 * -2;\n      puVar5[1] = param_2 + *(int *)(iVar3 + 0x1c);\n      local_50 = *(int **)(iVar3 + 0x14);\n      if ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0)) {\n        local_54 = 1;\n        do {\n          if (*piVar6 == 0) {\n            local_54 = piVar6[5];\n            iVar1 = piVar6[6];\n            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);\n            *puVar5 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar11 = 0;\n            iVar10 = 0;\n            do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0));\n      }\n      g_free(puVar5);\n      if (param_3 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar1 = gtk_container_get_border_width(uVar4);\n        g_free(piVar6);\n        *param_3 = (int)local_50 + iVar1 * 2;\n      }\n      if (param_4 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar2 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar3 = gtk_container_get_border_width(uVar2);\n        g_free(piVar6);\n        *param_4 = (int)local_50 + iVar3 * 2;\n      }\n    }" ({ "{") (expression_statement "uVar2 = gtk_container_get_type();" (assignment_expression "uVar2 = gtk_container_get_type()" (identifier "uVar2") (= "=") (call_expression "gtk_container_get_type()" (identifier "gtk_container_get_type") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n        iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n        *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n      }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);\n        *(int *)(unaff_EBP + 0x66f4a) = iVar3;\n      }" ({ "{") (expression_statement "iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);" (assignment_expression "iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0)" (identifier "iVar3") (= "=") (call_expression "g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0)" (identifier "g_type_register_static") (argument_list "(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0)" (( "(") (identifier "uVar2") (, ",") (binary_expression "unaff_EBP + 0x30f20" (identifier "unaff_EBP") (+ "+") (number_literal "0x30f20")) (, ",") (binary_expression "unaff_EBP + 0x65b5a" (identifier "unaff_EBP") (+ "+") (number_literal "0x65b5a")) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "*(int *)(unaff_EBP + 0x66f4a) = iVar3;" (assignment_expression "*(int *)(unaff_EBP + 0x66f4a) = iVar3" (pointer_expression "*(int *)(unaff_EBP + 0x66f4a)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x66f4a)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x66f4a)" (( "(") (binary_expression "unaff_EBP + 0x66f4a" (identifier "unaff_EBP") (+ "+") (number_literal "0x66f4a")) () ")")))) (= "=") (identifier "iVar3")) (; ";")) (} "}"))) (expression_statement "iVar3 = g_type_check_instance_cast(param_1,iVar3);" (assignment_expression "iVar3 = g_type_check_instance_cast(param_1,iVar3)" (identifier "iVar3") (= "=") (call_expression "g_type_check_instance_cast(param_1,iVar3)" (identifier "g_type_check_instance_cast") (argument_list "(param_1,iVar3)" (( "(") (identifier "param_1") (, ",") (identifier "iVar3") () ")")))) (; ";")) (expression_statement "uVar4 = g_type_check_instance_cast(iVar3,uVar2);" (assignment_expression "uVar4 = g_type_check_instance_cast(iVar3,uVar2)" (identifier "uVar4") (= "=") (call_expression "g_type_check_instance_cast(iVar3,uVar2)" (identifier "g_type_check_instance_cast") (argument_list "(iVar3,uVar2)" (( "(") (identifier "iVar3") (, ",") (identifier "uVar2") () ")")))) (; ";")) (expression_statement "iVar1 = gtk_container_get_border_width(uVar4);" (assignment_expression "iVar1 = gtk_container_get_border_width(uVar4)" (identifier "iVar1") (= "=") (call_expression "gtk_container_get_border_width(uVar4)" (identifier "gtk_container_get_border_width") (argument_list "(uVar4)" (( "(") (identifier "uVar4") () ")")))) (; ";")) (expression_statement "puVar5 = (undefined4 *)g_malloc(8);" (assignment_expression "puVar5 = (undefined4 *)g_malloc(8)" (identifier "puVar5") (= "=") (cast_expression "(undefined4 *)g_malloc(8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "g_malloc(8)" (identifier "g_malloc") (argument_list "(8)" (( "(") (number_literal "8") () ")"))))) (; ";")) (expression_statement "*puVar5 = 0;" (assignment_expression "*puVar5 = 0" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_2 = param_2 + iVar1 * -2;" (assignment_expression "param_2 = param_2 + iVar1 * -2" (identifier "param_2") (= "=") (binary_expression "param_2 + iVar1 * -2" (identifier "param_2") (+ "+") (binary_expression "iVar1 * -2" (identifier "iVar1") (* "*") (number_literal "-2")))) (; ";")) (expression_statement "puVar5[1] = param_2 + *(int *)(iVar3 + 0x1c);" (assignment_expression "puVar5[1] = param_2 + *(int *)(iVar3 + 0x1c)" (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "param_2 + *(int *)(iVar3 + 0x1c)" (identifier "param_2") (+ "+") (pointer_expression "*(int *)(iVar3 + 0x1c)" (* "*") (cast_expression "(int *)(iVar3 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x1c)" (( "(") (binary_expression "iVar3 + 0x1c" (identifier "iVar3") (+ "+") (number_literal "0x1c")) () ")")))))) (; ";")) (expression_statement "local_50 = *(int **)(iVar3 + 0x14);" (assignment_expression "local_50 = *(int **)(iVar3 + 0x14)" (identifier "local_50") (= "=") (pointer_expression "*(int **)(iVar3 + 0x14)" (* "*") (cast_expression "(int **)(iVar3 + 0x14)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x14)" (( "(") (binary_expression "iVar3 + 0x14" (identifier "iVar3") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0)) {\n        local_54 = 1;\n        do {\n          if (*piVar6 == 0) {\n            local_54 = piVar6[5];\n            iVar1 = piVar6[6];\n            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);\n            *puVar5 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar11 = 0;\n            iVar10 = 0;\n            do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0));\n      }" (if "if") (parenthesized_expression "((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0))" (( "(") (binary_expression "(local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0)" (parenthesized_expression "(local_50 != (int *)0x0)" (( "(") (binary_expression "local_50 != (int *)0x0" (identifier "local_50") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(piVar6 = (int *)*local_50, piVar6 != (int *)0x0)" (( "(") (comma_expression "piVar6 = (int *)*local_50, piVar6 != (int *)0x0" (assignment_expression "piVar6 = (int *)*local_50" (identifier "piVar6") (= "=") (cast_expression "(int *)*local_50" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_50" (* "*") (identifier "local_50")))) (, ",") (binary_expression "piVar6 != (int *)0x0" (identifier "piVar6") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n        local_54 = 1;\n        do {\n          if (*piVar6 == 0) {\n            local_54 = piVar6[5];\n            iVar1 = piVar6[6];\n            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);\n            *puVar5 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar11 = 0;\n            iVar10 = 0;\n            do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0));\n      }" ({ "{") (expression_statement "local_54 = 1;" (assignment_expression "local_54 = 1" (identifier "local_54") (= "=") (number_literal "1")) (; ";")) (do_statement "do {\n          if (*piVar6 == 0) {\n            local_54 = piVar6[5];\n            iVar1 = piVar6[6];\n            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);\n            *puVar5 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar11 = 0;\n            iVar10 = 0;\n            do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        } while ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0));" (do "do") (compound_statement "{\n          if (*piVar6 == 0) {\n            local_54 = piVar6[5];\n            iVar1 = piVar6[6];\n            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);\n            *puVar5 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar11 = 0;\n            iVar10 = 0;\n            do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }\n        }" ({ "{") (if_statement "if (*piVar6 == 0) {\n            local_54 = piVar6[5];\n            iVar1 = piVar6[6];\n            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);\n            *puVar5 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar11 = 0;\n            iVar10 = 0;\n            do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);\n            local_50 = (int *)local_50[1];\n          }\n          else {\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }" (if "if") (parenthesized_expression "(*piVar6 == 0)" (( "(") (binary_expression "*piVar6 == 0" (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            local_54 = piVar6[5];\n            iVar1 = piVar6[6];\n            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);\n            *puVar5 = 0;\n            if (local_54 < 1) goto LAB_0004f2f6;\n            iVar11 = 0;\n            iVar10 = 0;\n            do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);\n            local_50 = (int *)local_50[1];\n          }" ({ "{") (expression_statement "local_54 = piVar6[5];" (assignment_expression "local_54 = piVar6[5]" (identifier "local_54") (= "=") (subscript_expression "piVar6[5]" (identifier "piVar6") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "iVar1 = piVar6[6];" (assignment_expression "iVar1 = piVar6[6]" (identifier "iVar1") (= "=") (subscript_expression "piVar6[6]" (identifier "piVar6") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);" (assignment_expression "puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4)" (identifier "puVar5") (= "=") (cast_expression "(undefined4 *)g_realloc_n(puVar5,local_54 + 1,4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "g_realloc_n(puVar5,local_54 + 1,4)" (identifier "g_realloc_n") (argument_list "(puVar5,local_54 + 1,4)" (( "(") (identifier "puVar5") (, ",") (binary_expression "local_54 + 1" (identifier "local_54") (+ "+") (number_literal "1")) (, ",") (number_literal "4") () ")"))))) (; ";")) (expression_statement "*puVar5 = 0;" (assignment_expression "*puVar5 = 0" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (local_54 < 1) goto LAB_0004f2f6;" (if "if") (parenthesized_expression "(local_54 < 1)" (( "(") (binary_expression "local_54 < 1" (identifier "local_54") (< "<") (number_literal "1")) () ")")) (goto_statement "goto LAB_0004f2f6;" (goto "goto") (statement_identifier "LAB_0004f2f6") (; ";"))) (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" (identifier "iVar11") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" (identifier "iVar10") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            } while (local_54 != iVar10);" (do "do") (compound_statement "{\n              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);\n              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;\n              iVar10 = iVar10 + 1;\n            }" ({ "{") (expression_statement "iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);" (assignment_expression "iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4)" (identifier "iVar11") (= "=") (binary_expression "iVar11 + *(int *)(iVar1 + iVar10 * 4)" (identifier "iVar11") (+ "+") (pointer_expression "*(int *)(iVar1 + iVar10 * 4)" (* "*") (cast_expression "(int *)(iVar1 + iVar10 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + iVar10 * 4)" (( "(") (binary_expression "iVar1 + iVar10 * 4" (identifier "iVar1") (+ "+") (binary_expression "iVar10 * 4" (identifier "iVar10") (* "*") (number_literal "4"))) () ")")))))) (; ";")) (expression_statement "puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;" (assignment_expression "puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100" (subscript_expression "puVar5[iVar10 + 1]" (identifier "puVar5") ([ "[") (binary_expression "iVar10 + 1" (identifier "iVar10") (+ "+") (number_literal "1")) (] "]")) (= "=") (binary_expression "((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100" (parenthesized_expression "((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11)" (( "(") (binary_expression "(param_2 + *(int *)(iVar3 + 0x1c)) * iVar11" (parenthesized_expression "(param_2 + *(int *)(iVar3 + 0x1c))" (( "(") (binary_expression "param_2 + *(int *)(iVar3 + 0x1c)" (identifier "param_2") (+ "+") (pointer_expression "*(int *)(iVar3 + 0x1c)" (* "*") (cast_expression "(int *)(iVar3 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x1c)" (( "(") (binary_expression "iVar3 + 0x1c" (identifier "iVar3") (+ "+") (number_literal "0x1c")) () ")"))))) () ")")) (* "*") (identifier "iVar11")) () ")")) (/ "/") (number_literal "100"))) (; ";")) (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" (identifier "iVar10") (= "=") (binary_expression "iVar10 + 1" (identifier "iVar10") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_54 != iVar10)" (( "(") (binary_expression "local_54 != iVar10" (identifier "local_54") (!= "!=") (identifier "iVar10")) () ")")) (; ";")) (expression_statement "local_50 = (int *)local_50[1];" (assignment_expression "local_50 = (int *)local_50[1]" (identifier "local_50") (= "=") (cast_expression "(int *)local_50[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_50[1]" (identifier "local_50") ([ "[") (number_literal "1") (] "]")))) (; ";")) (} "}")) (else_clause "else {\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }" (else "else") (compound_statement "{\n            iVar1 = gtk_widget_get_visible(*piVar6);\n            if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }\nLAB_0004f2f6:\n            local_50 = (int *)local_50[1];\n          }" ({ "{") (expression_statement "iVar1 = gtk_widget_get_visible(*piVar6);" (assignment_expression "iVar1 = gtk_widget_get_visible(*piVar6)" (identifier "iVar1") (= "=") (call_expression "gtk_widget_get_visible(*piVar6)" (identifier "gtk_widget_get_visible") (argument_list "(*piVar6)" (( "(") (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) () ")")))) (; ";")) (if_statement "if (iVar1 != 0) {\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              iVar11 = FUN_0004d190();\n              iVar1 = piVar6[2];\n              iVar10 = piVar6[1];\n              if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }\n              iVar9 = puVar5[iVar10];\n              piVar6[7] = iVar9;\n              if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }\n              piVar6[9] = iVar11;\n            }" ({ "{") (expression_statement "iVar11 = FUN_0004d190();" (assignment_expression "iVar11 = FUN_0004d190()" (identifier "iVar11") (= "=") (call_expression "FUN_0004d190()" (identifier "FUN_0004d190") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar1 = piVar6[2];" (assignment_expression "iVar1 = piVar6[2]" (identifier "iVar1") (= "=") (subscript_expression "piVar6[2]" (identifier "piVar6") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "iVar10 = piVar6[1];" (assignment_expression "iVar10 = piVar6[1]" (identifier "iVar10") (= "=") (subscript_expression "piVar6[1]" (identifier "piVar6") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (iVar1 == 0) {\n                iVar1 = local_54 - iVar10;\n              }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                iVar1 = local_54 - iVar10;\n              }" ({ "{") (expression_statement "iVar1 = local_54 - iVar10;" (assignment_expression "iVar1 = local_54 - iVar10" (identifier "iVar1") (= "=") (binary_expression "local_54 - iVar10" (identifier "local_54") (- "-") (identifier "iVar10"))) (; ";")) (} "}"))) (expression_statement "iVar9 = puVar5[iVar10];" (assignment_expression "iVar9 = puVar5[iVar10]" (identifier "iVar9") (= "=") (subscript_expression "puVar5[iVar10]" (identifier "puVar5") ([ "[") (identifier "iVar10") (] "]"))) (; ";")) (expression_statement "piVar6[7] = iVar9;" (assignment_expression "piVar6[7] = iVar9" (subscript_expression "piVar6[7]" (identifier "piVar6") ([ "[") (number_literal "7") (] "]")) (= "=") (identifier "iVar9")) (; ";")) (if_statement "if (piVar6[3] == 0) {\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }" (if "if") (parenthesized_expression "(piVar6[3] == 0)" (( "(") (binary_expression "piVar6[3] == 0" (subscript_expression "piVar6[3]" (identifier "piVar6") ([ "[") (number_literal "3") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);\n              }" ({ "{") (expression_statement "iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);" (assignment_expression "iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c)" (identifier "iVar11") (= "=") (binary_expression "(puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c)" (parenthesized_expression "(puVar5[iVar1 + iVar10] - iVar9)" (( "(") (binary_expression "puVar5[iVar1 + iVar10] - iVar9" (subscript_expression "puVar5[iVar1 + iVar10]" (identifier "puVar5") ([ "[") (binary_expression "iVar1 + iVar10" (identifier "iVar1") (+ "+") (identifier "iVar10")) (] "]")) (- "-") (identifier "iVar9")) () ")")) (- "-") (pointer_expression "*(int *)(iVar3 + 0x1c)" (* "*") (cast_expression "(int *)(iVar3 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x1c)" (( "(") (binary_expression "iVar3 + 0x1c" (identifier "iVar3") (+ "+") (number_literal "0x1c")) () ")")))))) (; ";")) (} "}"))) (expression_statement "piVar6[9] = iVar11;" (assignment_expression "piVar6[9] = iVar11" (subscript_expression "piVar6[9]" (identifier "piVar6") ([ "[") (number_literal "9") (] "]")) (= "=") (identifier "iVar11")) (; ";")) (} "}"))) (labeled_statement "LAB_0004f2f6:\n            local_50 = (int *)local_50[1];" (statement_identifier "LAB_0004f2f6") (: ":") (expression_statement "local_50 = (int *)local_50[1];" (assignment_expression "local_50 = (int *)local_50[1]" (identifier "local_50") (= "=") (cast_expression "(int *)local_50[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_50[1]" (identifier "local_50") ([ "[") (number_literal "1") (] "]")))) (; ";"))) (} "}")))) (} "}")) (while "while") (parenthesized_expression "((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0))" (( "(") (binary_expression "(local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0)" (parenthesized_expression "(local_50 != (int *)0x0)" (( "(") (binary_expression "local_50 != (int *)0x0" (identifier "local_50") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(piVar6 = (int *)*local_50, piVar6 != (int *)0x0)" (( "(") (comma_expression "piVar6 = (int *)*local_50, piVar6 != (int *)0x0" (assignment_expression "piVar6 = (int *)*local_50" (identifier "piVar6") (= "=") (cast_expression "(int *)*local_50" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_50" (* "*") (identifier "local_50")))) (, ",") (binary_expression "piVar6 != (int *)0x0" (identifier "piVar6") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (; ";")) (} "}"))) (expression_statement "g_free(puVar5);" (call_expression "g_free(puVar5)" (identifier "g_free") (argument_list "(puVar5)" (( "(") (identifier "puVar5") () ")"))) (; ";")) (if_statement "if (param_3 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar1 = gtk_container_get_border_width(uVar4);\n        g_free(piVar6);\n        *param_3 = (int)local_50 + iVar1 * 2;\n      }" (if "if") (parenthesized_expression "(param_3 != (int *)0x0)" (( "(") (binary_expression "param_3 != (int *)0x0" (identifier "param_3") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar4 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar1 = gtk_container_get_border_width(uVar4);\n        g_free(piVar6);\n        *param_3 = (int)local_50 + iVar1 * 2;\n      }" ({ "{") (expression_statement "local_50 = *(int **)(iVar3 + 0x1c);" (assignment_expression "local_50 = *(int **)(iVar3 + 0x1c)" (identifier "local_50") (= "=") (pointer_expression "*(int **)(iVar3 + 0x1c)" (* "*") (cast_expression "(int **)(iVar3 + 0x1c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x1c)" (( "(") (binary_expression "iVar3 + 0x1c" (identifier "iVar3") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "piVar6 = (int *)g_malloc(4);" (assignment_expression "piVar6 = (int *)g_malloc(4)" (identifier "piVar6") (= "=") (cast_expression "(int *)g_malloc(4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "g_malloc(4)" (identifier "g_malloc") (argument_list "(4)" (( "(") (number_literal "4") () ")"))))) (; ";")) (expression_statement "*piVar6 = 0;" (assignment_expression "*piVar6 = 0" (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_44 = *(int **)(iVar3 + 0x14);" (assignment_expression "local_44 = *(int **)(iVar3 + 0x14)" (identifier "local_44") (= "=") (pointer_expression "*(int **)(iVar3 + 0x14)" (* "*") (cast_expression "(int **)(iVar3 + 0x14)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x14)" (( "(") (binary_expression "iVar3 + 0x14" (identifier "iVar3") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }" (if "if") (parenthesized_expression "((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0))" (( "(") (binary_expression "(local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)" (parenthesized_expression "(local_44 != (int *)0x0)" (( "(") (binary_expression "local_44 != (int *)0x0" (identifier "local_44") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(piVar7 = (int *)*local_44, piVar7 != (int *)0x0)" (( "(") (comma_expression "piVar7 = (int *)*local_44, piVar7 != (int *)0x0" (assignment_expression "piVar7 = (int *)*local_44" (identifier "piVar7") (= "=") (cast_expression "(int *)*local_44" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_44" (* "*") (identifier "local_44")))) (, ",") (binary_expression "piVar7 != (int *)0x0" (identifier "piVar7") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }" ({ "{") (expression_statement "local_48 = 1;" (assignment_expression "local_48 = 1" (identifier "local_48") (= "=") (number_literal "1")) (; ";")) (do_statement "do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));" (do "do") (compound_statement "{\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          }" ({ "{") (if_statement "if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }" (if "if") (parenthesized_expression "(*piVar7 == 0)" (( "(") (binary_expression "*piVar7 == 0" (pointer_expression "*piVar7" (* "*") (identifier "piVar7")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f400:\n              local_44 = (int *)local_44[1];\n            }" ({ "{") (if_statement "if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }" (if "if") (parenthesized_expression "(1 < local_48)" (( "(") (binary_expression "1 < local_48" (number_literal "1") (< "<") (identifier "local_48")) () ")")) (compound_statement "{\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);\n              }" ({ "{") (expression_statement "iVar1 = *piVar6;" (assignment_expression "iVar1 = *piVar6" (identifier "iVar1") (= "=") (pointer_expression "*piVar6" (* "*") (identifier "piVar6"))) (; ";")) (expression_statement "piVar8 = piVar6 + 1;" (assignment_expression "piVar8 = piVar6 + 1" (identifier "piVar8") (= "=") (binary_expression "piVar6 + 1" (identifier "piVar6") (+ "+") (number_literal "1"))) (; ";")) (do_statement "do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + local_48 != piVar8);" (do "do") (compound_statement "{\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                }" ({ "{") (expression_statement "iVar10 = *piVar8;" (assignment_expression "iVar10 = *piVar8" (identifier "iVar10") (= "=") (pointer_expression "*piVar8" (* "*") (identifier "piVar8"))) (; ";")) (if_statement "if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }" (if "if") (parenthesized_expression "(iVar1 < iVar10)" (( "(") (binary_expression "iVar1 < iVar10" (identifier "iVar1") (< "<") (identifier "iVar10")) () ")")) (compound_statement "{\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }" ({ "{") (expression_statement "*piVar6 = iVar10;" (assignment_expression "*piVar6 = iVar10" (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (= "=") (identifier "iVar10")) (; ";")) (expression_statement "iVar1 = iVar10;" (assignment_expression "iVar1 = iVar10" (identifier "iVar1") (= "=") (identifier "iVar10")) (; ";")) (} "}"))) (expression_statement "piVar8 = piVar8 + 1;" (assignment_expression "piVar8 = piVar8 + 1" (identifier "piVar8") (= "=") (binary_expression "piVar8 + 1" (identifier "piVar8") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar6 + local_48 != piVar8)" (( "(") (binary_expression "piVar6 + local_48 != piVar8" (binary_expression "piVar6 + local_48" (identifier "piVar6") (+ "+") (identifier "local_48")) (!= "!=") (identifier "piVar8")) () ")")) (; ";")) (} "}"))) (expression_statement "local_48 = piVar7[5];" (assignment_expression "local_48 = piVar7[5]" (identifier "local_48") (= "=") (subscript_expression "piVar7[5]" (identifier "piVar7") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "piVar6 = (int *)g_realloc_n(piVar6,local_48,4);" (assignment_expression "piVar6 = (int *)g_realloc_n(piVar6,local_48,4)" (identifier "piVar6") (= "=") (cast_expression "(int *)g_realloc_n(piVar6,local_48,4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "g_realloc_n(piVar6,local_48,4)" (identifier "g_realloc_n") (argument_list "(piVar6,local_48,4)" (( "(") (identifier "piVar6") (, ",") (identifier "local_48") (, ",") (number_literal "4") () ")"))))) (; ";")) (expression_statement "piVar7 = piVar6 + 1;" (assignment_expression "piVar7 = piVar6 + 1" (identifier "piVar7") (= "=") (binary_expression "piVar6 + 1" (identifier "piVar6") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }" (if "if") (parenthesized_expression "(1 < local_48)" (( "(") (binary_expression "1 < local_48" (number_literal "1") (< "<") (identifier "local_48")) () ")")) (compound_statement "{\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }" ({ "{") (do_statement "do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);" (do "do") (compound_statement "{\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                }" ({ "{") (expression_statement "piVar8 = piVar7 + 1;" (assignment_expression "piVar8 = piVar7 + 1" (identifier "piVar8") (= "=") (binary_expression "piVar7 + 1" (identifier "piVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*piVar7 = *piVar6;" (assignment_expression "*piVar7 = *piVar6" (pointer_expression "*piVar7" (* "*") (identifier "piVar7")) (= "=") (pointer_expression "*piVar6" (* "*") (identifier "piVar6"))) (; ";")) (expression_statement "piVar7 = piVar8;" (assignment_expression "piVar7 = piVar8" (identifier "piVar7") (= "=") (identifier "piVar8")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar6 + local_48 != piVar8)" (( "(") (binary_expression "piVar6 + local_48 != piVar8" (binary_expression "piVar6 + local_48" (identifier "piVar6") (+ "+") (identifier "local_48")) (!= "!=") (identifier "piVar8")) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_0004f400:\n              local_44 = (int *)local_44[1];" (statement_identifier "LAB_0004f400") (: ":") (expression_statement "local_44 = (int *)local_44[1];" (assignment_expression "local_44 = (int *)local_44[1]" (identifier "local_44") (= "=") (cast_expression "(int *)local_44[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_44[1]" (identifier "local_44") ([ "[") (number_literal "1") (] "]")))) (; ";"))) (} "}")) (else_clause "else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }" (else "else") (compound_statement "{\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f400;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }" ({ "{") (expression_statement "iVar1 = gtk_widget_get_visible(*piVar7);" (assignment_expression "iVar1 = gtk_widget_get_visible(*piVar7)" (identifier "iVar1") (= "=") (call_expression "gtk_widget_get_visible(*piVar7)" (identifier "gtk_widget_get_visible") (argument_list "(*piVar7)" (( "(") (pointer_expression "*piVar7" (* "*") (identifier "piVar7")) () ")")))) (; ";")) (if_statement "if (iVar1 == 0) goto LAB_0004f400;" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0004f400;" (goto "goto") (statement_identifier "LAB_0004f400") (; ";"))) (expression_statement "gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);" (call_expression "gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0)" (identifier "gtk_widget_get_preferred_height_for_width") (argument_list "(*piVar7,piVar7[9],&local_24,0)" (( "(") (pointer_expression "*piVar7" (* "*") (identifier "piVar7")) (, ",") (subscript_expression "piVar7[9]" (identifier "piVar7") ([ "[") (number_literal "9") (] "]")) (, ",") (pointer_expression "&local_24" (& "&") (identifier "local_24")) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "iVar1 = local_24;" (assignment_expression "iVar1 = local_24" (identifier "iVar1") (= "=") (identifier "local_24")) (; ";")) (expression_statement "puVar5 = (undefined4 *)piVar7[4];" (assignment_expression "puVar5 = (undefined4 *)piVar7[4]" (identifier "puVar5") (= "=") (cast_expression "(undefined4 *)piVar7[4]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar7[4]" (identifier "piVar7") ([ "[") (number_literal "4") (] "]")))) (; ";")) (expression_statement "local_54 = local_24;" (assignment_expression "local_54 = local_24" (identifier "local_54") (= "=") (identifier "local_24")) (; ";")) (if_statement "if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }" (if "if") (parenthesized_expression "((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1))" (( "(") (binary_expression "(puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)" (parenthesized_expression "(puVar5 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar5 != (undefined4 *)0x0" (identifier "puVar5") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1)" (( "(") (comma_expression "gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),\n                 local_54 = local_24, local_24 <= iVar1" (call_expression "gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0)" (identifier "gtk_widget_get_preferred_height_for_width") (argument_list "(*puVar5,puVar5[9],&local_24,0)" (( "(") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (, ",") (subscript_expression "puVar5[9]" (identifier "puVar5") ([ "[") (number_literal "9") (] "]")) (, ",") (pointer_expression "&local_24" (& "&") (identifier "local_24")) (, ",") (number_literal "0") () ")"))) (, ",") (comma_expression "local_54 = local_24, local_24 <= iVar1" (assignment_expression "local_54 = local_24" (identifier "local_54") (= "=") (identifier "local_24")) (, ",") (binary_expression "local_24 <= iVar1" (identifier "local_24") (<= "<=") (identifier "iVar1")))) () ")"))) () ")")) (compound_statement "{\n                local_54 = iVar1;\n              }" ({ "{") (expression_statement "local_54 = iVar1;" (assignment_expression "local_54 = iVar1" (identifier "local_54") (= "=") (identifier "iVar1")) (; ";")) (} "}"))) (expression_statement "iVar1 = piVar7[2];" (assignment_expression "iVar1 = piVar7[2]" (identifier "iVar1") (= "=") (subscript_expression "piVar7[2]" (identifier "piVar7") ([ "[") (number_literal "2") (] "]"))) (; ";")) (if_statement "if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                iVar1 = local_48 - piVar7[1];\n              }" ({ "{") (expression_statement "iVar1 = local_48 - piVar7[1];" (assignment_expression "iVar1 = local_48 - piVar7[1]" (identifier "iVar1") (= "=") (binary_expression "local_48 - piVar7[1]" (identifier "local_48") (- "-") (subscript_expression "piVar7[1]" (identifier "piVar7") ([ "[") (number_literal "1") (] "]")))) (; ";")) (} "}"))) (expression_statement "iVar10 = *(int *)(iVar3 + 0x1c);" (assignment_expression "iVar10 = *(int *)(iVar3 + 0x1c)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(iVar3 + 0x1c)" (* "*") (cast_expression "(int *)(iVar3 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x1c)" (( "(") (binary_expression "iVar3 + 0x1c" (identifier "iVar3") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }" (if "if") (parenthesized_expression "(iVar1 < 1)" (( "(") (binary_expression "iVar1 < 1" (identifier "iVar1") (< "<") (number_literal "1")) () ")")) (compound_statement "{\n                local_54 = local_54 + iVar10;\n              }" ({ "{") (expression_statement "local_54 = local_54 + iVar10;" (assignment_expression "local_54 = local_54 + iVar10" (identifier "local_54") (= "=") (binary_expression "local_54 + iVar10" (identifier "local_54") (+ "+") (identifier "iVar10"))) (; ";")) (} "}")) (else_clause "else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }" (else "else") (compound_statement "{\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }" ({ "{") (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" (identifier "iVar11") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar8 = piVar6 + piVar7[1];" (assignment_expression "piVar8 = piVar6 + piVar7[1]" (identifier "piVar8") (= "=") (binary_expression "piVar6 + piVar7[1]" (identifier "piVar6") (+ "+") (subscript_expression "piVar7[1]" (identifier "piVar7") ([ "[") (number_literal "1") (] "]")))) (; ";")) (do_statement "do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);" (do "do") (compound_statement "{\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                }" ({ "{") (if_statement "if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }" (if "if") (parenthesized_expression "(iVar11 < *piVar8)" (( "(") (binary_expression "iVar11 < *piVar8" (identifier "iVar11") (< "<") (pointer_expression "*piVar8" (* "*") (identifier "piVar8"))) () ")")) (compound_statement "{\n                    iVar11 = *piVar8;\n                  }" ({ "{") (expression_statement "iVar11 = *piVar8;" (assignment_expression "iVar11 = *piVar8" (identifier "iVar11") (= "=") (pointer_expression "*piVar8" (* "*") (identifier "piVar8"))) (; ";")) (} "}"))) (expression_statement "piVar8 = piVar8 + 1;" (assignment_expression "piVar8 = piVar8 + 1" (identifier "piVar8") (= "=") (binary_expression "piVar8 + 1" (identifier "piVar8") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar6 + piVar7[1] + iVar1 != piVar8)" (( "(") (binary_expression "piVar6 + piVar7[1] + iVar1 != piVar8" (binary_expression "piVar6 + piVar7[1] + iVar1" (binary_expression "piVar6 + piVar7[1]" (identifier "piVar6") (+ "+") (subscript_expression "piVar7[1]" (identifier "piVar7") ([ "[") (number_literal "1") (] "]"))) (+ "+") (identifier "iVar1")) (!= "!=") (identifier "piVar8")) () ")")) (; ";")) (expression_statement "iVar9 = 1;" (assignment_expression "iVar9 = 1" (identifier "iVar9") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_54 = iVar11 + local_54 + iVar10;" (assignment_expression "local_54 = iVar11 + local_54 + iVar10" (identifier "local_54") (= "=") (binary_expression "iVar11 + local_54 + iVar10" (binary_expression "iVar11 + local_54" (identifier "iVar11") (+ "+") (identifier "local_54")) (+ "+") (identifier "iVar10"))) (; ";")) (expression_statement "piVar6[piVar7[1]] = local_54;" (assignment_expression "piVar6[piVar7[1]] = local_54" (subscript_expression "piVar6[piVar7[1]]" (identifier "piVar6") ([ "[") (subscript_expression "piVar7[1]" (identifier "piVar7") ([ "[") (number_literal "1") (] "]")) (] "]")) (= "=") (identifier "local_54")) (; ";")) (if_statement "if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }" (if "if") (parenthesized_expression "(iVar1 != 1)" (( "(") (binary_expression "iVar1 != 1" (identifier "iVar1") (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }" ({ "{") (do_statement "do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);" (do "do") (compound_statement "{\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  }" ({ "{") (expression_statement "iVar10 = piVar7[1] + iVar9;" (assignment_expression "iVar10 = piVar7[1] + iVar9" (identifier "iVar10") (= "=") (binary_expression "piVar7[1] + iVar9" (subscript_expression "piVar7[1]" (identifier "piVar7") ([ "[") (number_literal "1") (] "]")) (+ "+") (identifier "iVar9"))) (; ";")) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" (identifier "iVar9") (= "=") (binary_expression "iVar9 + 1" (identifier "iVar9") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar6[iVar10] = local_54;" (assignment_expression "piVar6[iVar10] = local_54" (subscript_expression "piVar6[iVar10]" (identifier "piVar6") ([ "[") (identifier "iVar10") (] "]")) (= "=") (identifier "local_54")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar1 != iVar9)" (( "(") (binary_expression "iVar1 != iVar9" (identifier "iVar1") (!= "!=") (identifier "iVar9")) () ")")) (; ";")) (} "}"))) (expression_statement "iVar10 = *(int *)(iVar3 + 0x1c);" (assignment_expression "iVar10 = *(int *)(iVar3 + 0x1c)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(iVar3 + 0x1c)" (* "*") (cast_expression "(int *)(iVar3 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x1c)" (( "(") (binary_expression "iVar3 + 0x1c" (identifier "iVar3") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (} "}")))) (expression_statement "piVar7 = (int *)(local_54 - iVar10);" (assignment_expression "piVar7 = (int *)(local_54 - iVar10)" (identifier "piVar7") (= "=") (cast_expression "(int *)(local_54 - iVar10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_54 - iVar10)" (( "(") (binary_expression "local_54 - iVar10" (identifier "local_54") (- "-") (identifier "iVar10")) () ")")))) (; ";")) (if_statement "if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }" (if "if") (parenthesized_expression "(local_54 - iVar10 <= (int)local_50)" (( "(") (binary_expression "local_54 - iVar10 <= (int)local_50" (binary_expression "local_54 - iVar10" (identifier "local_54") (- "-") (identifier "iVar10")) (<= "<=") (cast_expression "(int)local_50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_50"))) () ")")) (compound_statement "{\n                piVar7 = local_50;\n              }" ({ "{") (expression_statement "piVar7 = local_50;" (assignment_expression "piVar7 = local_50" (identifier "piVar7") (= "=") (identifier "local_50")) (; ";")) (} "}"))) (expression_statement "local_44 = (int *)local_44[1];" (assignment_expression "local_44 = (int *)local_44[1]" (identifier "local_44") (= "=") (cast_expression "(int *)local_44[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_44[1]" (identifier "local_44") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "local_50 = piVar7;" (assignment_expression "local_50 = piVar7" (identifier "local_50") (= "=") (identifier "piVar7")) (; ";")) (} "}")))) (} "}")) (while "while") (parenthesized_expression "((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0))" (( "(") (binary_expression "(local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)" (parenthesized_expression "(local_44 != (int *)0x0)" (( "(") (binary_expression "local_44 != (int *)0x0" (identifier "local_44") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(piVar7 = (int *)*local_44, piVar7 != (int *)0x0)" (( "(") (comma_expression "piVar7 = (int *)*local_44, piVar7 != (int *)0x0" (assignment_expression "piVar7 = (int *)*local_44" (identifier "piVar7") (= "=") (cast_expression "(int *)*local_44" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_44" (* "*") (identifier "local_44")))) (, ",") (binary_expression "piVar7 != (int *)0x0" (identifier "piVar7") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (; ";")) (} "}"))) (expression_statement "uVar4 = g_type_check_instance_cast(iVar3,uVar2);" (assignment_expression "uVar4 = g_type_check_instance_cast(iVar3,uVar2)" (identifier "uVar4") (= "=") (call_expression "g_type_check_instance_cast(iVar3,uVar2)" (identifier "g_type_check_instance_cast") (argument_list "(iVar3,uVar2)" (( "(") (identifier "iVar3") (, ",") (identifier "uVar2") () ")")))) (; ";")) (expression_statement "iVar1 = gtk_container_get_border_width(uVar4);" (assignment_expression "iVar1 = gtk_container_get_border_width(uVar4)" (identifier "iVar1") (= "=") (call_expression "gtk_container_get_border_width(uVar4)" (identifier "gtk_container_get_border_width") (argument_list "(uVar4)" (( "(") (identifier "uVar4") () ")")))) (; ";")) (expression_statement "g_free(piVar6);" (call_expression "g_free(piVar6)" (identifier "g_free") (argument_list "(piVar6)" (( "(") (identifier "piVar6") () ")"))) (; ";")) (expression_statement "*param_3 = (int)local_50 + iVar1 * 2;" (assignment_expression "*param_3 = (int)local_50 + iVar1 * 2" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (binary_expression "(int)local_50 + iVar1 * 2" (cast_expression "(int)local_50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_50")) (+ "+") (binary_expression "iVar1 * 2" (identifier "iVar1") (* "*") (number_literal "2")))) (; ";")) (} "}"))) (if_statement "if (param_4 != (int *)0x0) {\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar2 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar3 = gtk_container_get_border_width(uVar2);\n        g_free(piVar6);\n        *param_4 = (int)local_50 + iVar3 * 2;\n      }" (if "if") (parenthesized_expression "(param_4 != (int *)0x0)" (( "(") (binary_expression "param_4 != (int *)0x0" (identifier "param_4") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        local_50 = *(int **)(iVar3 + 0x1c);\n        piVar6 = (int *)g_malloc(4);\n        *piVar6 = 0;\n        local_44 = *(int **)(iVar3 + 0x14);\n        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }\n        uVar2 = g_type_check_instance_cast(iVar3,uVar2);\n        iVar3 = gtk_container_get_border_width(uVar2);\n        g_free(piVar6);\n        *param_4 = (int)local_50 + iVar3 * 2;\n      }" ({ "{") (expression_statement "local_50 = *(int **)(iVar3 + 0x1c);" (assignment_expression "local_50 = *(int **)(iVar3 + 0x1c)" (identifier "local_50") (= "=") (pointer_expression "*(int **)(iVar3 + 0x1c)" (* "*") (cast_expression "(int **)(iVar3 + 0x1c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x1c)" (( "(") (binary_expression "iVar3 + 0x1c" (identifier "iVar3") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "piVar6 = (int *)g_malloc(4);" (assignment_expression "piVar6 = (int *)g_malloc(4)" (identifier "piVar6") (= "=") (cast_expression "(int *)g_malloc(4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "g_malloc(4)" (identifier "g_malloc") (argument_list "(4)" (( "(") (number_literal "4") () ")"))))) (; ";")) (expression_statement "*piVar6 = 0;" (assignment_expression "*piVar6 = 0" (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_44 = *(int **)(iVar3 + 0x14);" (assignment_expression "local_44 = *(int **)(iVar3 + 0x14)" (identifier "local_44") (= "=") (pointer_expression "*(int **)(iVar3 + 0x14)" (* "*") (cast_expression "(int **)(iVar3 + 0x14)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x14)" (( "(") (binary_expression "iVar3 + 0x14" (identifier "iVar3") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }" (if "if") (parenthesized_expression "((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0))" (( "(") (binary_expression "(local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)" (parenthesized_expression "(local_44 != (int *)0x0)" (( "(") (binary_expression "local_44 != (int *)0x0" (identifier "local_44") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(piVar7 = (int *)*local_44, piVar7 != (int *)0x0)" (( "(") (comma_expression "piVar7 = (int *)*local_44, piVar7 != (int *)0x0" (assignment_expression "piVar7 = (int *)*local_44" (identifier "piVar7") (= "=") (cast_expression "(int *)*local_44" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_44" (* "*") (identifier "local_44")))) (, ",") (binary_expression "piVar7 != (int *)0x0" (identifier "piVar7") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n          local_48 = 1;\n          do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));\n        }" ({ "{") (expression_statement "local_48 = 1;" (assignment_expression "local_48 = 1" (identifier "local_48") (= "=") (number_literal "1")) (; ";")) (do_statement "do {\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));" (do "do") (compound_statement "{\n            if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }\n          }" ({ "{") (if_statement "if (*piVar7 == 0) {\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }\n            else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }" (if "if") (parenthesized_expression "(*piVar7 == 0)" (( "(") (binary_expression "*piVar7 == 0" (pointer_expression "*piVar7" (* "*") (identifier "piVar7")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }\n              local_48 = piVar7[5];\n              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);\n              piVar7 = piVar6 + 1;\n              if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }\nLAB_0004f5b8:\n              local_44 = (int *)local_44[1];\n            }" ({ "{") (if_statement "if (1 < local_48) {\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }" (if "if") (parenthesized_expression "(1 < local_48)" (( "(") (binary_expression "1 < local_48" (number_literal "1") (< "<") (identifier "local_48")) () ")")) (compound_statement "{\n                iVar1 = *piVar6;\n                piVar8 = piVar6 + 1;\n                do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);\n              }" ({ "{") (expression_statement "iVar1 = *piVar6;" (assignment_expression "iVar1 = *piVar6" (identifier "iVar1") (= "=") (pointer_expression "*piVar6" (* "*") (identifier "piVar6"))) (; ";")) (expression_statement "piVar8 = piVar6 + 1;" (assignment_expression "piVar8 = piVar6 + 1" (identifier "piVar8") (= "=") (binary_expression "piVar6 + 1" (identifier "piVar6") (+ "+") (number_literal "1"))) (; ";")) (do_statement "do {\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar8 != piVar6 + local_48);" (do "do") (compound_statement "{\n                  iVar10 = *piVar8;\n                  if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }\n                  piVar8 = piVar8 + 1;\n                }" ({ "{") (expression_statement "iVar10 = *piVar8;" (assignment_expression "iVar10 = *piVar8" (identifier "iVar10") (= "=") (pointer_expression "*piVar8" (* "*") (identifier "piVar8"))) (; ";")) (if_statement "if (iVar1 < iVar10) {\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }" (if "if") (parenthesized_expression "(iVar1 < iVar10)" (( "(") (binary_expression "iVar1 < iVar10" (identifier "iVar1") (< "<") (identifier "iVar10")) () ")")) (compound_statement "{\n                    *piVar6 = iVar10;\n                    iVar1 = iVar10;\n                  }" ({ "{") (expression_statement "*piVar6 = iVar10;" (assignment_expression "*piVar6 = iVar10" (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (= "=") (identifier "iVar10")) (; ";")) (expression_statement "iVar1 = iVar10;" (assignment_expression "iVar1 = iVar10" (identifier "iVar1") (= "=") (identifier "iVar10")) (; ";")) (} "}"))) (expression_statement "piVar8 = piVar8 + 1;" (assignment_expression "piVar8 = piVar8 + 1" (identifier "piVar8") (= "=") (binary_expression "piVar8 + 1" (identifier "piVar8") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar8 != piVar6 + local_48)" (( "(") (binary_expression "piVar8 != piVar6 + local_48" (identifier "piVar8") (!= "!=") (binary_expression "piVar6 + local_48" (identifier "piVar6") (+ "+") (identifier "local_48"))) () ")")) (; ";")) (} "}"))) (expression_statement "local_48 = piVar7[5];" (assignment_expression "local_48 = piVar7[5]" (identifier "local_48") (= "=") (subscript_expression "piVar7[5]" (identifier "piVar7") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "piVar6 = (int *)g_realloc_n(piVar6,local_48,4);" (assignment_expression "piVar6 = (int *)g_realloc_n(piVar6,local_48,4)" (identifier "piVar6") (= "=") (cast_expression "(int *)g_realloc_n(piVar6,local_48,4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "g_realloc_n(piVar6,local_48,4)" (identifier "g_realloc_n") (argument_list "(piVar6,local_48,4)" (( "(") (identifier "piVar6") (, ",") (identifier "local_48") (, ",") (number_literal "4") () ")"))))) (; ";")) (expression_statement "piVar7 = piVar6 + 1;" (assignment_expression "piVar7 = piVar6 + 1" (identifier "piVar7") (= "=") (binary_expression "piVar6 + 1" (identifier "piVar6") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (1 < local_48) {\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }" (if "if") (parenthesized_expression "(1 < local_48)" (( "(") (binary_expression "1 < local_48" (number_literal "1") (< "<") (identifier "local_48")) () ")")) (compound_statement "{\n                do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);\n              }" ({ "{") (do_statement "do {\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                } while (piVar6 + local_48 != piVar8);" (do "do") (compound_statement "{\n                  piVar8 = piVar7 + 1;\n                  *piVar7 = *piVar6;\n                  piVar7 = piVar8;\n                }" ({ "{") (expression_statement "piVar8 = piVar7 + 1;" (assignment_expression "piVar8 = piVar7 + 1" (identifier "piVar8") (= "=") (binary_expression "piVar7 + 1" (identifier "piVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*piVar7 = *piVar6;" (assignment_expression "*piVar7 = *piVar6" (pointer_expression "*piVar7" (* "*") (identifier "piVar7")) (= "=") (pointer_expression "*piVar6" (* "*") (identifier "piVar6"))) (; ";")) (expression_statement "piVar7 = piVar8;" (assignment_expression "piVar7 = piVar8" (identifier "piVar7") (= "=") (identifier "piVar8")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar6 + local_48 != piVar8)" (( "(") (binary_expression "piVar6 + local_48 != piVar8" (binary_expression "piVar6 + local_48" (identifier "piVar6") (+ "+") (identifier "local_48")) (!= "!=") (identifier "piVar8")) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_0004f5b8:\n              local_44 = (int *)local_44[1];" (statement_identifier "LAB_0004f5b8") (: ":") (expression_statement "local_44 = (int *)local_44[1];" (assignment_expression "local_44 = (int *)local_44[1]" (identifier "local_44") (= "=") (cast_expression "(int *)local_44[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_44[1]" (identifier "local_44") ([ "[") (number_literal "1") (] "]")))) (; ";"))) (} "}")) (else_clause "else {\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }" (else "else") (compound_statement "{\n              iVar1 = gtk_widget_get_visible(*piVar7);\n              if (iVar1 == 0) goto LAB_0004f5b8;\n              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);\n              iVar1 = local_24;\n              puVar5 = (undefined4 *)piVar7[4];\n              local_54 = local_24;\n              if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }\n              iVar1 = piVar7[2];\n              if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }\n              iVar10 = *(int *)(iVar3 + 0x1c);\n              if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }\n              piVar7 = (int *)(local_54 - iVar10);\n              if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }\n              local_44 = (int *)local_44[1];\n              local_50 = piVar7;\n            }" ({ "{") (expression_statement "iVar1 = gtk_widget_get_visible(*piVar7);" (assignment_expression "iVar1 = gtk_widget_get_visible(*piVar7)" (identifier "iVar1") (= "=") (call_expression "gtk_widget_get_visible(*piVar7)" (identifier "gtk_widget_get_visible") (argument_list "(*piVar7)" (( "(") (pointer_expression "*piVar7" (* "*") (identifier "piVar7")) () ")")))) (; ";")) (if_statement "if (iVar1 == 0) goto LAB_0004f5b8;" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0004f5b8;" (goto "goto") (statement_identifier "LAB_0004f5b8") (; ";"))) (expression_statement "gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);" (call_expression "gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24)" (identifier "gtk_widget_get_preferred_height_for_width") (argument_list "(*piVar7,piVar7[9],0,&local_24)" (( "(") (pointer_expression "*piVar7" (* "*") (identifier "piVar7")) (, ",") (subscript_expression "piVar7[9]" (identifier "piVar7") ([ "[") (number_literal "9") (] "]")) (, ",") (number_literal "0") (, ",") (pointer_expression "&local_24" (& "&") (identifier "local_24")) () ")"))) (; ";")) (expression_statement "iVar1 = local_24;" (assignment_expression "iVar1 = local_24" (identifier "iVar1") (= "=") (identifier "local_24")) (; ";")) (expression_statement "puVar5 = (undefined4 *)piVar7[4];" (assignment_expression "puVar5 = (undefined4 *)piVar7[4]" (identifier "puVar5") (= "=") (cast_expression "(undefined4 *)piVar7[4]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar7[4]" (identifier "piVar7") ([ "[") (number_literal "4") (] "]")))) (; ";")) (expression_statement "local_54 = local_24;" (assignment_expression "local_54 = local_24" (identifier "local_54") (= "=") (identifier "local_24")) (; ";")) (if_statement "if ((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)) {\n                local_54 = iVar1;\n              }" (if "if") (parenthesized_expression "((puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1))" (( "(") (binary_expression "(puVar5 != (undefined4 *)0x0) &&\n                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)" (parenthesized_expression "(puVar5 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar5 != (undefined4 *)0x0" (identifier "puVar5") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1)" (( "(") (comma_expression "gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),\n                 local_54 = local_24, local_24 <= iVar1" (call_expression "gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24)" (identifier "gtk_widget_get_preferred_height_for_width") (argument_list "(*puVar5,puVar5[9],0,&local_24)" (( "(") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (, ",") (subscript_expression "puVar5[9]" (identifier "puVar5") ([ "[") (number_literal "9") (] "]")) (, ",") (number_literal "0") (, ",") (pointer_expression "&local_24" (& "&") (identifier "local_24")) () ")"))) (, ",") (comma_expression "local_54 = local_24, local_24 <= iVar1" (assignment_expression "local_54 = local_24" (identifier "local_54") (= "=") (identifier "local_24")) (, ",") (binary_expression "local_24 <= iVar1" (identifier "local_24") (<= "<=") (identifier "iVar1")))) () ")"))) () ")")) (compound_statement "{\n                local_54 = iVar1;\n              }" ({ "{") (expression_statement "local_54 = iVar1;" (assignment_expression "local_54 = iVar1" (identifier "local_54") (= "=") (identifier "iVar1")) (; ";")) (} "}"))) (expression_statement "iVar1 = piVar7[2];" (assignment_expression "iVar1 = piVar7[2]" (identifier "iVar1") (= "=") (subscript_expression "piVar7[2]" (identifier "piVar7") ([ "[") (number_literal "2") (] "]"))) (; ";")) (if_statement "if (iVar1 == 0) {\n                iVar1 = local_48 - piVar7[1];\n              }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                iVar1 = local_48 - piVar7[1];\n              }" ({ "{") (expression_statement "iVar1 = local_48 - piVar7[1];" (assignment_expression "iVar1 = local_48 - piVar7[1]" (identifier "iVar1") (= "=") (binary_expression "local_48 - piVar7[1]" (identifier "local_48") (- "-") (subscript_expression "piVar7[1]" (identifier "piVar7") ([ "[") (number_literal "1") (] "]")))) (; ";")) (} "}"))) (expression_statement "iVar10 = *(int *)(iVar3 + 0x1c);" (assignment_expression "iVar10 = *(int *)(iVar3 + 0x1c)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(iVar3 + 0x1c)" (* "*") (cast_expression "(int *)(iVar3 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x1c)" (( "(") (binary_expression "iVar3 + 0x1c" (identifier "iVar3") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if (iVar1 < 1) {\n                local_54 = local_54 + iVar10;\n              }\n              else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }" (if "if") (parenthesized_expression "(iVar1 < 1)" (( "(") (binary_expression "iVar1 < 1" (identifier "iVar1") (< "<") (number_literal "1")) () ")")) (compound_statement "{\n                local_54 = local_54 + iVar10;\n              }" ({ "{") (expression_statement "local_54 = local_54 + iVar10;" (assignment_expression "local_54 = local_54 + iVar10" (identifier "local_54") (= "=") (binary_expression "local_54 + iVar10" (identifier "local_54") (+ "+") (identifier "iVar10"))) (; ";")) (} "}")) (else_clause "else {\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }" (else "else") (compound_statement "{\n                iVar11 = 0;\n                piVar8 = piVar6 + piVar7[1];\n                do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);\n                iVar9 = 1;\n                local_54 = iVar11 + local_54 + iVar10;\n                piVar6[piVar7[1]] = local_54;\n                if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }\n                iVar10 = *(int *)(iVar3 + 0x1c);\n              }" ({ "{") (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" (identifier "iVar11") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar8 = piVar6 + piVar7[1];" (assignment_expression "piVar8 = piVar6 + piVar7[1]" (identifier "piVar8") (= "=") (binary_expression "piVar6 + piVar7[1]" (identifier "piVar6") (+ "+") (subscript_expression "piVar7[1]" (identifier "piVar7") ([ "[") (number_literal "1") (] "]")))) (; ";")) (do_statement "do {\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                } while (piVar6 + piVar7[1] + iVar1 != piVar8);" (do "do") (compound_statement "{\n                  if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }\n                  piVar8 = piVar8 + 1;\n                }" ({ "{") (if_statement "if (iVar11 < *piVar8) {\n                    iVar11 = *piVar8;\n                  }" (if "if") (parenthesized_expression "(iVar11 < *piVar8)" (( "(") (binary_expression "iVar11 < *piVar8" (identifier "iVar11") (< "<") (pointer_expression "*piVar8" (* "*") (identifier "piVar8"))) () ")")) (compound_statement "{\n                    iVar11 = *piVar8;\n                  }" ({ "{") (expression_statement "iVar11 = *piVar8;" (assignment_expression "iVar11 = *piVar8" (identifier "iVar11") (= "=") (pointer_expression "*piVar8" (* "*") (identifier "piVar8"))) (; ";")) (} "}"))) (expression_statement "piVar8 = piVar8 + 1;" (assignment_expression "piVar8 = piVar8 + 1" (identifier "piVar8") (= "=") (binary_expression "piVar8 + 1" (identifier "piVar8") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar6 + piVar7[1] + iVar1 != piVar8)" (( "(") (binary_expression "piVar6 + piVar7[1] + iVar1 != piVar8" (binary_expression "piVar6 + piVar7[1] + iVar1" (binary_expression "piVar6 + piVar7[1]" (identifier "piVar6") (+ "+") (subscript_expression "piVar7[1]" (identifier "piVar7") ([ "[") (number_literal "1") (] "]"))) (+ "+") (identifier "iVar1")) (!= "!=") (identifier "piVar8")) () ")")) (; ";")) (expression_statement "iVar9 = 1;" (assignment_expression "iVar9 = 1" (identifier "iVar9") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_54 = iVar11 + local_54 + iVar10;" (assignment_expression "local_54 = iVar11 + local_54 + iVar10" (identifier "local_54") (= "=") (binary_expression "iVar11 + local_54 + iVar10" (binary_expression "iVar11 + local_54" (identifier "iVar11") (+ "+") (identifier "local_54")) (+ "+") (identifier "iVar10"))) (; ";")) (expression_statement "piVar6[piVar7[1]] = local_54;" (assignment_expression "piVar6[piVar7[1]] = local_54" (subscript_expression "piVar6[piVar7[1]]" (identifier "piVar6") ([ "[") (subscript_expression "piVar7[1]" (identifier "piVar7") ([ "[") (number_literal "1") (] "]")) (] "]")) (= "=") (identifier "local_54")) (; ";")) (if_statement "if (iVar1 != 1) {\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }" (if "if") (parenthesized_expression "(iVar1 != 1)" (( "(") (binary_expression "iVar1 != 1" (identifier "iVar1") (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n                  do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);\n                }" ({ "{") (do_statement "do {\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  } while (iVar1 != iVar9);" (do "do") (compound_statement "{\n                    iVar10 = piVar7[1] + iVar9;\n                    iVar9 = iVar9 + 1;\n                    piVar6[iVar10] = local_54;\n                  }" ({ "{") (expression_statement "iVar10 = piVar7[1] + iVar9;" (assignment_expression "iVar10 = piVar7[1] + iVar9" (identifier "iVar10") (= "=") (binary_expression "piVar7[1] + iVar9" (subscript_expression "piVar7[1]" (identifier "piVar7") ([ "[") (number_literal "1") (] "]")) (+ "+") (identifier "iVar9"))) (; ";")) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" (identifier "iVar9") (= "=") (binary_expression "iVar9 + 1" (identifier "iVar9") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar6[iVar10] = local_54;" (assignment_expression "piVar6[iVar10] = local_54" (subscript_expression "piVar6[iVar10]" (identifier "piVar6") ([ "[") (identifier "iVar10") (] "]")) (= "=") (identifier "local_54")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar1 != iVar9)" (( "(") (binary_expression "iVar1 != iVar9" (identifier "iVar1") (!= "!=") (identifier "iVar9")) () ")")) (; ";")) (} "}"))) (expression_statement "iVar10 = *(int *)(iVar3 + 0x1c);" (assignment_expression "iVar10 = *(int *)(iVar3 + 0x1c)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(iVar3 + 0x1c)" (* "*") (cast_expression "(int *)(iVar3 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x1c)" (( "(") (binary_expression "iVar3 + 0x1c" (identifier "iVar3") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (} "}")))) (expression_statement "piVar7 = (int *)(local_54 - iVar10);" (assignment_expression "piVar7 = (int *)(local_54 - iVar10)" (identifier "piVar7") (= "=") (cast_expression "(int *)(local_54 - iVar10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_54 - iVar10)" (( "(") (binary_expression "local_54 - iVar10" (identifier "local_54") (- "-") (identifier "iVar10")) () ")")))) (; ";")) (if_statement "if (local_54 - iVar10 <= (int)local_50) {\n                piVar7 = local_50;\n              }" (if "if") (parenthesized_expression "(local_54 - iVar10 <= (int)local_50)" (( "(") (binary_expression "local_54 - iVar10 <= (int)local_50" (binary_expression "local_54 - iVar10" (identifier "local_54") (- "-") (identifier "iVar10")) (<= "<=") (cast_expression "(int)local_50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_50"))) () ")")) (compound_statement "{\n                piVar7 = local_50;\n              }" ({ "{") (expression_statement "piVar7 = local_50;" (assignment_expression "piVar7 = local_50" (identifier "piVar7") (= "=") (identifier "local_50")) (; ";")) (} "}"))) (expression_statement "local_44 = (int *)local_44[1];" (assignment_expression "local_44 = (int *)local_44[1]" (identifier "local_44") (= "=") (cast_expression "(int *)local_44[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_44[1]" (identifier "local_44") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "local_50 = piVar7;" (assignment_expression "local_50 = piVar7" (identifier "local_50") (= "=") (identifier "piVar7")) (; ";")) (} "}")))) (} "}")) (while "while") (parenthesized_expression "((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0))" (( "(") (binary_expression "(local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)" (parenthesized_expression "(local_44 != (int *)0x0)" (( "(") (binary_expression "local_44 != (int *)0x0" (identifier "local_44") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(piVar7 = (int *)*local_44, piVar7 != (int *)0x0)" (( "(") (comma_expression "piVar7 = (int *)*local_44, piVar7 != (int *)0x0" (assignment_expression "piVar7 = (int *)*local_44" (identifier "piVar7") (= "=") (cast_expression "(int *)*local_44" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_44" (* "*") (identifier "local_44")))) (, ",") (binary_expression "piVar7 != (int *)0x0" (identifier "piVar7") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (; ";")) (} "}"))) (expression_statement "uVar2 = g_type_check_instance_cast(iVar3,uVar2);" (assignment_expression "uVar2 = g_type_check_instance_cast(iVar3,uVar2)" (identifier "uVar2") (= "=") (call_expression "g_type_check_instance_cast(iVar3,uVar2)" (identifier "g_type_check_instance_cast") (argument_list "(iVar3,uVar2)" (( "(") (identifier "iVar3") (, ",") (identifier "uVar2") () ")")))) (; ";")) (expression_statement "iVar3 = gtk_container_get_border_width(uVar2);" (assignment_expression "iVar3 = gtk_container_get_border_width(uVar2)" (identifier "iVar3") (= "=") (call_expression "gtk_container_get_border_width(uVar2)" (identifier "gtk_container_get_border_width") (argument_list "(uVar2)" (( "(") (identifier "uVar2") () ")")))) (; ";")) (expression_statement "g_free(piVar6);" (call_expression "g_free(piVar6)" (identifier "g_free") (argument_list "(piVar6)" (( "(") (identifier "piVar6") () ")"))) (; ";")) (expression_statement "*param_4 = (int)local_50 + iVar3 * 2;" (assignment_expression "*param_4 = (int)local_50 + iVar3 * 2" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (= "=") (binary_expression "(int)local_50 + iVar3 * 2" (cast_expression "(int)local_50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_50")) (+ "+") (binary_expression "iVar3 * 2" (identifier "iVar3") (* "*") (number_literal "2")))) (; ";")) (} "}"))) (} "}")))) (} "}")))) (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0006c950();\n  }" (if "if") (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (!= "!=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n                    \n    FUN_0006c950();\n  }" ({ "{") (expression_statement "FUN_0006c950();" (call_expression "FUN_0006c950()" (identifier "FUN_0006c950") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bp replaced with injection: get_pc_thunk.bp */
/* WARNING: Unknown calling convention */

void function_1(type_1 *var_2,type_2 var_14,type_2 *var_26,type_2 *var_36)

{
  type_3 *var_7;
  type_2 *pgVar2;
  int var_9;
  type_4 uVar4;
  type_4 uVar5;
  int var_15;
  type_4 *var_33;
  type_2 var_35;
  int *var_30;
  int *var_28;
  int *var_31;
  type_5 var_10;
  int var_24;
  int var_21;
  type_6 *var_17;
  int var_20;
  int var_1;
  int var_19;
  int *var_16;
  int var_29;
  int *var_27;
  type_2 var_34;
  int var_37;
  
  var_37 = *(int *)(var_1 + 0x14);
  if (var_2 == (type_1 *)0x0) {
    var_3(0,"columns_get_preferred_height_for_width",0x8768e);
  }
  else {
    if (var_4 == 0) {
      uVar4 = var_5();
      var_4 = var_6(uVar4,0x800a6,columns_info_57510,0);
    }
    var_10 = var_4;
    var_7 = (var_2->parent_instance).g_type_instance.g_class;
    if (((var_7 == (type_3 *)0x0) || (var_7->g_type != var_4)) &&
       (var_9 = var_8(var_2,var_4), var_9 == 0)) {
      var_3(0,"columns_get_preferred_height_for_width",0x8769d);
    }
    else {
      uVar4 = var_5();
      if (var_10 == 0) {
        var_10 = var_6(uVar4,0x800a6,columns_info_57510,0);
        var_4 = var_10;
      }
      var_9 = var_11(var_2,var_10);
      uVar5 = var_11(var_9,uVar4);
      var_15 = var_12(uVar5);
      var_33 = (type_4 *)var_13(8);
      *var_33 = 0;
      var_15 = var_14 + var_15 * -2;
      var_33[1] = var_15 + *(int *)(var_9 + 0x1c);
      var_16 = *(int **)(var_9 + 0x14);
      if ((var_16 != (int *)0x0) &&
         (var_17 = (type_6 *)*var_16, var_17 != (type_6 *)0x0)) {
        var_19 = 1;
        do {
          if (var_17->var_2 == (type_1 *)0x0) {
            var_19 = var_17->ncols;
            pgVar2 = var_17->percentages;
            var_33 = (type_4 *)var_18(var_33,var_19 + 1,4);
            *var_33 = 0;
            if (var_19 < 1) goto LAB_0004f2f6;
            var_20 = 0;
            var_21 = 0;
            do {
              var_20 = var_20 + pgVar2[var_21];
              var_33[var_21 + 1] = ((var_15 + *(int *)(var_9 + 0x1c)) * var_20) / 100;
              var_21 = var_21 + 1;
            } while (var_19 != var_21);
            var_16 = (int *)var_16[1];
          }
          else {
            var_21 = var_22(var_17->var_2);
            if (var_21 != 0) {
              var_35 = var_23(var_17);
              var_21 = var_17->colspan;
              var_20 = var_17->colstart;
              if (var_21 == 0) {
                var_21 = var_19 - var_20;
              }
              var_24 = var_33[var_20];
              var_17->x = var_24;
              if (var_17->force_left == 0) {
                var_35 = (var_33[var_21 + var_20] - var_24) - *(int *)(var_9 + 0x1c);
              }
              var_17->w = var_35;
            }
LAB_0004f2f6:
            var_16 = (int *)var_16[1];
          }
        } while ((var_16 != (int *)0x0) &&
                (var_17 = (type_6 *)*var_16, var_17 != (type_6 *)0x0));
      }
      var_25(var_33);
      if (var_26 != (type_2 *)0x0) {
        var_16 = *(int **)(var_9 + 0x1c);
        var_30 = (int *)var_13(4);
        *var_30 = 0;
        var_27 = *(int **)(var_9 + 0x14);
        if ((var_27 != (int *)0x0) && (var_28 = (int *)*var_27, var_28 != (int *)0x0)) {
          var_29 = 1;
          do {
            if (*var_28 == 0) {
              if (1 < var_29) {
                var_15 = *var_30;
                var_31 = var_30 + 1;
                do {
                  var_21 = *var_31;
                  if (var_15 < var_21) {
                    *var_30 = var_21;
                    var_15 = var_21;
                  }
                  var_31 = var_31 + 1;
                } while (var_30 + var_29 != var_31);
              }
              var_29 = var_28[5];
              var_30 = (int *)var_18(var_30,var_29,4);
              var_28 = var_30 + 1;
              if (1 < var_29) {
                do {
                  var_31 = var_28 + 1;
                  *var_28 = *var_30;
                  var_28 = var_31;
                } while (var_30 + var_29 != var_31);
              }
LAB_0004f400:
              var_27 = (int *)var_27[1];
            }
            else {
              var_15 = var_22(*var_28);
              if (var_15 == 0) goto LAB_0004f400;
              var_32(*var_28,var_28[9],&var_34,0);
              var_35 = var_34;
              var_33 = (type_4 *)var_28[4];
              var_19 = var_34;
              if ((var_33 != (type_4 *)0x0) &&
                 (var_32(*var_33,var_33[9],&var_34,0),
                 var_19 = var_34, var_34 <= var_35)) {
                var_19 = var_35;
              }
              var_15 = var_28[2];
              if (var_15 == 0) {
                var_15 = var_29 - var_28[1];
              }
              var_21 = *(int *)(var_9 + 0x1c);
              if (var_15 < 1) {
                var_19 = var_19 + var_21;
              }
              else {
                var_20 = 0;
                var_31 = var_30 + var_28[1];
                do {
                  if (var_20 < *var_31) {
                    var_20 = *var_31;
                  }
                  var_31 = var_31 + 1;
                } while (var_30 + var_28[1] + var_15 != var_31);
                var_24 = 1;
                var_19 = var_20 + var_19 + var_21;
                var_30[var_28[1]] = var_19;
                if (var_15 != 1) {
                  do {
                    var_21 = var_28[1] + var_24;
                    var_24 = var_24 + 1;
                    var_30[var_21] = var_19;
                  } while (var_15 != var_24);
                }
                var_21 = *(int *)(var_9 + 0x1c);
              }
              var_28 = (int *)(var_19 - var_21);
              if (var_19 - var_21 <= (int)var_16) {
                var_28 = var_16;
              }
              var_27 = (int *)var_27[1];
              var_16 = var_28;
            }
          } while ((var_27 != (int *)0x0) && (var_28 = (int *)*var_27, var_28 != (int *)0x0));
        }
        uVar5 = var_11(var_9,uVar4);
        var_15 = var_12(uVar5);
        var_25(var_30);
        *var_26 = (int)var_16 + var_15 * 2;
      }
      if (var_36 != (type_2 *)0x0) {
        var_16 = *(int **)(var_9 + 0x1c);
        var_30 = (int *)var_13(4);
        *var_30 = 0;
        var_27 = *(int **)(var_9 + 0x14);
        if ((var_27 != (int *)0x0) && (var_28 = (int *)*var_27, var_28 != (int *)0x0)) {
          var_29 = 1;
          do {
            if (*var_28 == 0) {
              if (1 < var_29) {
                var_15 = *var_30;
                var_31 = var_30 + 1;
                do {
                  var_21 = *var_31;
                  if (var_15 < var_21) {
                    *var_30 = var_21;
                    var_15 = var_21;
                  }
                  var_31 = var_31 + 1;
                } while (var_31 != var_30 + var_29);
              }
              var_29 = var_28[5];
              var_30 = (int *)var_18(var_30,var_29,4);
              var_28 = var_30 + 1;
              if (1 < var_29) {
                do {
                  var_31 = var_28 + 1;
                  *var_28 = *var_30;
                  var_28 = var_31;
                } while (var_30 + var_29 != var_31);
              }
LAB_0004f5b8:
              var_27 = (int *)var_27[1];
            }
            else {
              var_15 = var_22(*var_28);
              if (var_15 == 0) goto LAB_0004f5b8;
              var_32(*var_28,var_28[9],0,&var_34);
              var_35 = var_34;
              var_33 = (type_4 *)var_28[4];
              var_19 = var_34;
              if ((var_33 != (type_4 *)0x0) &&
                 (var_32(*var_33,var_33[9],0,&var_34),
                 var_19 = var_34, var_34 <= var_35)) {
                var_19 = var_35;
              }
              var_15 = var_28[2];
              if (var_15 == 0) {
                var_15 = var_29 - var_28[1];
              }
              var_21 = *(int *)(var_9 + 0x1c);
              if (var_15 < 1) {
                var_19 = var_19 + var_21;
              }
              else {
                var_20 = 0;
                var_31 = var_30 + var_28[1];
                do {
                  if (var_20 < *var_31) {
                    var_20 = *var_31;
                  }
                  var_31 = var_31 + 1;
                } while (var_30 + var_28[1] + var_15 != var_31);
                var_24 = 1;
                var_19 = var_20 + var_19 + var_21;
                var_30[var_28[1]] = var_19;
                if (var_15 != 1) {
                  do {
                    var_21 = var_28[1] + var_24;
                    var_24 = var_24 + 1;
                    var_30[var_21] = var_19;
                  } while (var_15 != var_24);
                }
                var_21 = *(int *)(var_9 + 0x1c);
              }
              var_28 = (int *)(var_19 - var_21);
              if (var_19 - var_21 <= (int)var_16) {
                var_28 = var_16;
              }
              var_27 = (int *)var_27[1];
              var_16 = var_28;
            }
          } while ((var_27 != (int *)0x0) && (var_28 = (int *)*var_27, var_28 != (int *)0x0));
        }
        uVar4 = var_11(var_9,uVar4);
        var_9 = var_12(uVar4);
        var_25(var_30);
        *var_36 = (int)var_16 + var_9 * 2;
      }
    }
  }
  if (var_37 != *(int *)(var_1 + 0x14)) {
                    /* WARNING: Subroutine does not return */
    var_38();
  }
  return;
}


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

void MASKED(int *param_1,int param_2,int *param_3,int *param_4)

{
  int iVar1;
  undefined4 uVar2;
  int iVar3;
  undefined4 uVar4;
  undefined4 *puVar5;
  int *piVar6;
  int *piVar7;
  int *piVar8;
  int iVar9;
  int iVar10;
  int unaff_EBP;
  int iVar11;
  int in_GS_OFFSET;
  int local_54;
  int *local_50;
  int local_48;
  int *local_44;
  int local_24;
  int local_20;
  
  FUN_0001af2e();
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  if (param_1 == (int *)0x0) {
    g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38508);
  }
  else {
    iVar3 = *(int *)(unaff_EBP + 0x66f4a);
    if (iVar3 == 0) {
      uVar2 = gtk_container_get_type();
      iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);
      *(int *)(unaff_EBP + 0x66f4a) = iVar3;
    }
    if ((((int *)*param_1 == (int *)0x0) || (*(int *)*param_1 != iVar3)) &&
       (iVar1 = g_type_check_instance_is_a(param_1,iVar3), iVar1 == 0)) {
      g_return_if_fail_warning(0,unaff_EBP + 0x3879a,unaff_EBP + 0x38517);
    }
    else {
      uVar2 = gtk_container_get_type();
      if (iVar3 == 0) {
        iVar3 = g_type_register_static(uVar2,unaff_EBP + 0x30f20,unaff_EBP + 0x65b5a,0);
        *(int *)(unaff_EBP + 0x66f4a) = iVar3;
      }
      iVar3 = g_type_check_instance_cast(param_1,iVar3);
      uVar4 = g_type_check_instance_cast(iVar3,uVar2);
      iVar1 = gtk_container_get_border_width(uVar4);
      puVar5 = (undefined4 *)g_malloc(8);
      *puVar5 = 0;
      param_2 = param_2 + iVar1 * -2;
      puVar5[1] = param_2 + *(int *)(iVar3 + 0x1c);
      local_50 = *(int **)(iVar3 + 0x14);
      if ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0)) {
        local_54 = 1;
        do {
          if (*piVar6 == 0) {
            local_54 = piVar6[5];
            iVar1 = piVar6[6];
            puVar5 = (undefined4 *)g_realloc_n(puVar5,local_54 + 1,4);
            *puVar5 = 0;
            if (local_54 < 1) goto LAB_0004f2f6;
            iVar11 = 0;
            iVar10 = 0;
            do {
              iVar11 = iVar11 + *(int *)(iVar1 + iVar10 * 4);
              puVar5[iVar10 + 1] = ((param_2 + *(int *)(iVar3 + 0x1c)) * iVar11) / 100;
              iVar10 = iVar10 + 1;
            } while (local_54 != iVar10);
            local_50 = (int *)local_50[1];
          }
          else {
            iVar1 = gtk_widget_get_visible(*piVar6);
            if (iVar1 != 0) {
              iVar11 = FUN_0004d190();
              iVar1 = piVar6[2];
              iVar10 = piVar6[1];
              if (iVar1 == 0) {
                iVar1 = local_54 - iVar10;
              }
              iVar9 = puVar5[iVar10];
              piVar6[7] = iVar9;
              if (piVar6[3] == 0) {
                iVar11 = (puVar5[iVar1 + iVar10] - iVar9) - *(int *)(iVar3 + 0x1c);
              }
              piVar6[9] = iVar11;
            }
LAB_0004f2f6:
            local_50 = (int *)local_50[1];
          }
        } while ((local_50 != (int *)0x0) && (piVar6 = (int *)*local_50, piVar6 != (int *)0x0));
      }
      g_free(puVar5);
      if (param_3 != (int *)0x0) {
        local_50 = *(int **)(iVar3 + 0x1c);
        piVar6 = (int *)g_malloc(4);
        *piVar6 = 0;
        local_44 = *(int **)(iVar3 + 0x14);
        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {
          local_48 = 1;
          do {
            if (*piVar7 == 0) {
              if (1 < local_48) {
                iVar1 = *piVar6;
                piVar8 = piVar6 + 1;
                do {
                  iVar10 = *piVar8;
                  if (iVar1 < iVar10) {
                    *piVar6 = iVar10;
                    iVar1 = iVar10;
                  }
                  piVar8 = piVar8 + 1;
                } while (piVar6 + local_48 != piVar8);
              }
              local_48 = piVar7[5];
              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);
              piVar7 = piVar6 + 1;
              if (1 < local_48) {
                do {
                  piVar8 = piVar7 + 1;
                  *piVar7 = *piVar6;
                  piVar7 = piVar8;
                } while (piVar6 + local_48 != piVar8);
              }
LAB_0004f400:
              local_44 = (int *)local_44[1];
            }
            else {
              iVar1 = gtk_widget_get_visible(*piVar7);
              if (iVar1 == 0) goto LAB_0004f400;
              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],&local_24,0);
              iVar1 = local_24;
              puVar5 = (undefined4 *)piVar7[4];
              local_54 = local_24;
              if ((puVar5 != (undefined4 *)0x0) &&
                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],&local_24,0),
                 local_54 = local_24, local_24 <= iVar1)) {
                local_54 = iVar1;
              }
              iVar1 = piVar7[2];
              if (iVar1 == 0) {
                iVar1 = local_48 - piVar7[1];
              }
              iVar10 = *(int *)(iVar3 + 0x1c);
              if (iVar1 < 1) {
                local_54 = local_54 + iVar10;
              }
              else {
                iVar11 = 0;
                piVar8 = piVar6 + piVar7[1];
                do {
                  if (iVar11 < *piVar8) {
                    iVar11 = *piVar8;
                  }
                  piVar8 = piVar8 + 1;
                } while (piVar6 + piVar7[1] + iVar1 != piVar8);
                iVar9 = 1;
                local_54 = iVar11 + local_54 + iVar10;
                piVar6[piVar7[1]] = local_54;
                if (iVar1 != 1) {
                  do {
                    iVar10 = piVar7[1] + iVar9;
                    iVar9 = iVar9 + 1;
                    piVar6[iVar10] = local_54;
                  } while (iVar1 != iVar9);
                }
                iVar10 = *(int *)(iVar3 + 0x1c);
              }
              piVar7 = (int *)(local_54 - iVar10);
              if (local_54 - iVar10 <= (int)local_50) {
                piVar7 = local_50;
              }
              local_44 = (int *)local_44[1];
              local_50 = piVar7;
            }
          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));
        }
        uVar4 = g_type_check_instance_cast(iVar3,uVar2);
        iVar1 = gtk_container_get_border_width(uVar4);
        g_free(piVar6);
        *param_3 = (int)local_50 + iVar1 * 2;
      }
      if (param_4 != (int *)0x0) {
        local_50 = *(int **)(iVar3 + 0x1c);
        piVar6 = (int *)g_malloc(4);
        *piVar6 = 0;
        local_44 = *(int **)(iVar3 + 0x14);
        if ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0)) {
          local_48 = 1;
          do {
            if (*piVar7 == 0) {
              if (1 < local_48) {
                iVar1 = *piVar6;
                piVar8 = piVar6 + 1;
                do {
                  iVar10 = *piVar8;
                  if (iVar1 < iVar10) {
                    *piVar6 = iVar10;
                    iVar1 = iVar10;
                  }
                  piVar8 = piVar8 + 1;
                } while (piVar8 != piVar6 + local_48);
              }
              local_48 = piVar7[5];
              piVar6 = (int *)g_realloc_n(piVar6,local_48,4);
              piVar7 = piVar6 + 1;
              if (1 < local_48) {
                do {
                  piVar8 = piVar7 + 1;
                  *piVar7 = *piVar6;
                  piVar7 = piVar8;
                } while (piVar6 + local_48 != piVar8);
              }
LAB_0004f5b8:
              local_44 = (int *)local_44[1];
            }
            else {
              iVar1 = gtk_widget_get_visible(*piVar7);
              if (iVar1 == 0) goto LAB_0004f5b8;
              gtk_widget_get_preferred_height_for_width(*piVar7,piVar7[9],0,&local_24);
              iVar1 = local_24;
              puVar5 = (undefined4 *)piVar7[4];
              local_54 = local_24;
              if ((puVar5 != (undefined4 *)0x0) &&
                 (gtk_widget_get_preferred_height_for_width(*puVar5,puVar5[9],0,&local_24),
                 local_54 = local_24, local_24 <= iVar1)) {
                local_54 = iVar1;
              }
              iVar1 = piVar7[2];
              if (iVar1 == 0) {
                iVar1 = local_48 - piVar7[1];
              }
              iVar10 = *(int *)(iVar3 + 0x1c);
              if (iVar1 < 1) {
                local_54 = local_54 + iVar10;
              }
              else {
                iVar11 = 0;
                piVar8 = piVar6 + piVar7[1];
                do {
                  if (iVar11 < *piVar8) {
                    iVar11 = *piVar8;
                  }
                  piVar8 = piVar8 + 1;
                } while (piVar6 + piVar7[1] + iVar1 != piVar8);
                iVar9 = 1;
                local_54 = iVar11 + local_54 + iVar10;
                piVar6[piVar7[1]] = local_54;
                if (iVar1 != 1) {
                  do {
                    iVar10 = piVar7[1] + iVar9;
                    iVar9 = iVar9 + 1;
                    piVar6[iVar10] = local_54;
                  } while (iVar1 != iVar9);
                }
                iVar10 = *(int *)(iVar3 + 0x1c);
              }
              piVar7 = (int *)(local_54 - iVar10);
              if (local_54 - iVar10 <= (int)local_50) {
                piVar7 = local_50;
              }
              local_44 = (int *)local_44[1];
              local_50 = piVar7;
            }
          } while ((local_44 != (int *)0x0) && (piVar7 = (int *)*local_44, piVar7 != (int *)0x0));
        }
        uVar2 = g_type_check_instance_cast(iVar3,uVar2);
        iVar3 = gtk_container_get_border_width(uVar2);
        g_free(piVar6);
        *param_4 = (int)local_50 + iVar3 * 2;
      }
    }
  }
  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    FUN_0006c950();
  }
  return;
}

